Home | History | Annotate | Download | only in WebKit2
      1 2011-04-19  Anders Carlsson  <andersca (a] apple.com>
      2 
      3         Reviewed by Sam Weinig.
      4 
      5         UI process thinks the page is unresponsive when a plug-in is showing a context menu
      6         https://bugs.webkit.org/show_bug.cgi?id=58943
      7         <rdar://problem/9299901>
      8 
      9         Change the HandleMouseEvent message to have a delayed reply and make the PluginControllerProxy
     10         respond to it immediately, before even passing the event to the plug-in. Since it doesn't matter
     11         for mouse events whether the plug-in handled them or not we can do this.
     12 
     13         Another solution could have been to make handleMouseEvent an asynchronous message, but that could
     14         mess up the message ordering so this seemed like the least intrusive change.
     15 
     16         * PluginProcess/PluginControllerProxy.cpp:
     17         (WebKit::PluginControllerProxy::handleMouseEvent):
     18         * PluginProcess/PluginControllerProxy.h:
     19         * PluginProcess/PluginControllerProxy.messages.in:
     20 
     21 2011-04-19  Anders Carlsson  <andersca (a] apple.com>
     22 
     23         Reviewed by Dan Bernstein.
     24 
     25         Terminate hung plug-in processes after 45 seconds
     26         https://bugs.webkit.org/show_bug.cgi?id=58932
     27         <rdar://problem/8083219>
     28 
     29         * UIProcess/Plugins/PluginProcessManager.cpp:
     30         (WebKit::PluginProcessManager::pluginSyncMessageSendTimedOut):
     31         Find the plug-in process proxy and terminate it.
     32 
     33         (WebKit::PluginProcessManager::pluginProcessWithPath):
     34         Add new helper function.
     35 
     36         (WebKit::PluginProcessManager::getOrCreatePluginProcess):
     37         Call pluginProcessWithPath.
     38 
     39         * UIProcess/Plugins/PluginProcessProxy.cpp:
     40         (WebKit::PluginProcessProxy::terminate):
     41         Terminate the process.
     42 
     43         * UIProcess/Plugins/PluginProcessProxy.h:
     44         * UIProcess/WebProcessProxy.cpp:
     45         (WebKit::WebProcessProxy::pluginSyncMessageSendTimedOut):
     46         Call PluginProcessManager::pluginSyncMessageSendTimedOut.
     47 
     48         * UIProcess/WebProcessProxy.h:
     49         * UIProcess/WebProcessProxy.messages.in:
     50         Add PluginSyncMessageSendTimedOut message.
     51 
     52         * WebProcess/Plugins/PluginProcessConnection.cpp:
     53         (WebKit::defaultSyncMessageTimeout):
     54         (WebKit::PluginProcessConnection::PluginProcessConnection):
     55         Set a sync message timeout on the plug-in process connection.
     56 
     57         (WebKit::PluginProcessConnection::syncMessageSendTimedOut):
     58         Send a message to the web process proxy.
     59 
     60 2011-04-19  Alexey Proskuryakov  <ap (a] apple.com>
     61 
     62         Reviewed by Adele Peterson.
     63 
     64         WebKit2: Merge SelectionState and TextInputState
     65         https://bugs.webkit.org/show_bug.cgi?id=58919
     66 
     67         Combined TextInputState and EditorState in one structure, which is updated whenever we get
     68         a chance to. There is no sense to keep possibly stale SelectionState data when we have already
     69         requested the most recent data synchronously.
     70 
     71         This also simplifies the code, as we don't need to pass the state around in a separate variable.
     72 
     73         * GNUmakefile.am:
     74         * Scripts/webkit2/messages.py:
     75         * Shared/EditorState.h: Copied from Source/WebKit2/Shared/SelectionState.h.
     76         (WebKit::EditorState::EditorState):
     77         * Shared/SelectionState.h: Removed.
     78         * Shared/mac/TextInputState.h: Removed.
     79         * UIProcess/API/mac/PageClientImpl.h:
     80         * UIProcess/API/mac/PageClientImpl.mm:
     81         (WebKit::PageClientImpl::interpretKeyEvent):
     82         * UIProcess/API/mac/WKView.mm:
     83         (-[WKView validRequestorForSendType:returnType:]):
     84         (-[WKView validateUserInterfaceItem:]):
     85         (-[WKView shouldDelayWindowOrderingForEvent:]):
     86         (-[WKView doCommandBySelector:]):
     87         (-[WKView insertText:replacementRange:]):
     88         (-[WKView _handleStyleKeyEquivalent:]):
     89         (-[WKView _executeSavedKeypressCommands]):
     90         (-[WKView inputContext]):
     91         (-[WKView hasMarkedText]):
     92         (-[WKView unmarkText]):
     93         (-[WKView setMarkedText:selectedRange:replacementRange:]):
     94         (-[WKView attributedSubstringForProposedRange:actualRange:]):
     95         (-[WKView _interpretKeyEvent:savingCommandsTo:WebCore::]):
     96         (-[WKView _updateSecureInputState]):
     97         * UIProcess/API/mac/WKViewInternal.h:
     98         * UIProcess/PageClient.h:
     99         * UIProcess/WebPageProxy.cpp:
    100         (WebKit::WebPageProxy::editorStateChanged):
    101         * UIProcess/WebPageProxy.h:
    102         (WebKit::WebPageProxy::editorState):
    103         (WebKit::WebPageProxy::hasSelectedRange):
    104         (WebKit::WebPageProxy::isContentEditable):
    105         * UIProcess/WebPageProxy.messages.in:
    106         * UIProcess/mac/WebPageProxyMac.mm:
    107         (WebKit::WebPageProxy::setComposition):
    108         (WebKit::WebPageProxy::confirmComposition):
    109         (WebKit::WebPageProxy::insertText):
    110         (WebKit::WebPageProxy::executeKeypressCommands):
    111         (WebKit::WebPageProxy::writeSelectionToPasteboard):
    112         (WebKit::WebPageProxy::readSelectionFromPasteboard):
    113         (WebKit::WebPageProxy::interpretQueuedKeyEvent):
    114         * UIProcess/win/WebView.cpp:
    115         (WebKit::WebView::compositionSelectionChanged):
    116         (WebKit::WebView::onIMEComposition):
    117         (WebKit::WebView::onIMEEndComposition):
    118         (WebKit::WebView::onIMERequestCharPosition):
    119         (WebKit::WebView::onIMERequest):
    120         * WebKit2.xcodeproj/project.pbxproj:
    121         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
    122         (WebKit::WebEditorClient::respondToChangedSelection):
    123         * WebProcess/WebPage/WebPage.cpp:
    124         (WebKit::WebPage::editorState):
    125         * WebProcess/WebPage/WebPage.h:
    126         * WebProcess/WebPage/WebPage.messages.in:
    127         * WebProcess/WebPage/mac/WebPageMac.mm:
    128         (WebKit::WebPage::handleEditingKeyboardEvent):
    129         (WebKit::WebPage::setComposition):
    130         (WebKit::WebPage::confirmComposition):
    131         (WebKit::WebPage::insertText):
    132         (WebKit::WebPage::executeKeypressCommands):
    133         * win/WebKit2.vcproj:
    134 
    135 2011-04-19  Alexey Proskuryakov  <ap (a] apple.com>
    136 
    137         Reviewed by Timothy Hatcher.
    138 
    139         100% reproducible crash when right-clicking any element in Web Inspector on any page
    140         https://bugs.webkit.org/show_bug.cgi?id=58822
    141 
    142         Web Inspector changes selection from JavaScript, and checks in UI process are insufficient
    143         when selection is changing asynchronously.
    144 
    145         * WebProcess/WebPage/mac/WebPageMac.mm:
    146         (WebKit::WebPage::writeSelectionToPasteboard): Check that there is a selection, matching WK1
    147         and UI process side. Perhaps the check should really be in WebCore, but for now, it's a
    148         WebKit responsibility.
    149         (WebKit::WebPage::readSelectionFromPasteboard): Same check, for no other reason but consistency.
    150 
    151 2011-04-19  Anders Carlsson  <andersca (a] apple.com>
    152 
    153         Reviewed by Sam Weinig.
    154 
    155         Add syncMessageSendTimedOut CoreIPC Connection::Client member function
    156         https://bugs.webkit.org/show_bug.cgi?id=58928
    157 
    158         * Platform/CoreIPC/Connection.cpp:
    159         (CoreIPC::Connection::waitForSyncReply):
    160         Call syncMessageSendTimedOut.
    161 
    162         * Platform/CoreIPC/Connection.h:
    163         Add syncMessageSendTimedOut to Connection::Client.
    164 
    165         * PluginProcess/PluginProcess.cpp:
    166         * PluginProcess/PluginProcess.h:
    167         * PluginProcess/WebProcessConnection.cpp:
    168         * PluginProcess/WebProcessConnection.h:
    169         * UIProcess/Plugins/PluginProcessProxy.cpp:
    170         * UIProcess/Plugins/PluginProcessProxy.h:
    171         * UIProcess/WebProcessProxy.cpp:
    172         * UIProcess/WebProcessProxy.h:
    173         * WebProcess/Plugins/PluginProcessConnection.cpp:
    174         * WebProcess/Plugins/PluginProcessConnection.h:
    175         * WebProcess/WebProcess.cpp:
    176         * WebProcess/WebProcess.h:
    177         Add syncMessageSendTimedOut stubs.
    178 
    179 2011-04-19  Anders Carlsson  <andersca (a] apple.com>
    180 
    181         Reviewed by Alexey Proskuryakov.
    182 
    183         Replace the didFailToSendSyncMessage Connection::Client function with a flag
    184         https://bugs.webkit.org/show_bug.cgi?id=58923
    185 
    186         * Platform/CoreIPC/Connection.cpp:
    187         (CoreIPC::Connection::Connection):
    188         Initialize m_shouldExitOnSyncMessageSendFailure to false.
    189 
    190         (CoreIPC::Connection::setShouldExitOnSyncMessageSendFailure):
    191         Set m_didCloseOnConnectionWorkQueueCallback.
    192 
    193         (CoreIPC::Connection::sendSyncMessage):
    194         Call didFailToSendSyncMessage if we fail to send the sync message for some reason.
    195 
    196         (CoreIPC::Connection::didFailToSendSyncMessage):
    197         if m_shouldExitOnSyncMessageSendFailure is true, exit.
    198 
    199         * Platform/CoreIPC/Connection.h:
    200         Remove didFailToSendSyncMessage from Connection::Client.
    201 
    202         * PluginProcess/PluginProcess.cpp:
    203         * PluginProcess/PluginProcess.h:
    204         Remove didFailToSendSyncMessage.
    205 
    206         * WebProcess/WebProcess.cpp:
    207         (WebKit::WebProcess::initialize):
    208         * WebProcess/WebProcess.h:
    209         Remove didFailToSendSyncMessage. Call setShouldExitOnSyncMessageSendFailure on our
    210         UI process connection.
    211 
    212 2011-04-19  Anders Carlsson  <andersca (a] apple.com>
    213 
    214         Reviewed by Sam Weinig.
    215 
    216         Add a way to set the default sync message timeout for a CoreIPC connection
    217         https://bugs.webkit.org/show_bug.cgi?id=58908
    218 
    219         * Platform/CoreIPC/Connection.cpp:
    220         (CoreIPC::Connection::Connection):
    221         Initialize m_defaultSyncMessageTimeout.
    222 
    223         (CoreIPC::Connection::setDefaultSyncMessageTimeout):
    224         Set the m_defaultSyncMessageTimeout member variable.
    225 
    226         (CoreIPC::Connection::waitForSyncReply):
    227         Handle the timeout being one of our two special magic values.
    228 
    229         * Platform/CoreIPC/Connection.h:
    230         Add a DefaultTimeout constant and change the NoTimeout constant to be -1.
    231 
    232 2011-04-19  Vsevolod Vlasov  <vsevik (a] chromium.org>
    233 
    234         Reviewed by Pavel Feldman.
    235 
    236         Web Inspector: Rename lengthReceived to encodedDataLength/dataLength
    237         https://bugs.webkit.org/show_bug.cgi?id=58883
    238 
    239         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
    240         (WebKit::WebFrameLoaderClient::dispatchDidReceiveContentLength):
    241         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
    242 
    243 2011-04-19  Andreas Kling  <andreas.kling (a] nokia.com>
    244 
    245         Reviewed by Antonio Gomes.
    246 
    247         WebKit2: Typo fix in WebPopupMenu::Type.
    248         https://bugs.webkit.org/show_bug.cgi?id=58891
    249 
    250         Fixed a typo, Seperator -> Separator.
    251         Also removed m_ prefix on an argument variable name.
    252 
    253         * Shared/WebPopupItem.h:
    254         * UIProcess/mac/WebPopupMenuProxyMac.mm:
    255         (WebKit::WebPopupMenuProxyMac::populate):
    256         * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
    257         (WebKit::WebPopupMenu::populateItems):
    258 
    259 2011-04-19  Jon Honeycutt  <jhoneycutt (a] apple.com>
    260 
    261         WKContextDownloadURLRequest() should return a WKDownloadRef
    262         https://bugs.webkit.org/show_bug.cgi?id=58867
    263         Part of <rdar://problem/8931717>
    264 
    265         Reviewed by Steve Falkenburg.
    266 
    267         * UIProcess/API/C/WKContext.cpp:
    268         (WKContextDownloadURLRequest):
    269         Return the result of calling WebContext::download().
    270 
    271         * UIProcess/API/C/WKContext.h:
    272         Updated return type of WKContextDownloadURLRequest().
    273 
    274         * UIProcess/WebContext.cpp:
    275         (WebKit::WebContext::download):
    276         Return the DownloadProxy returned by createDownloadProxy().
    277         (WebKit::WebContext::createDownloadProxy):
    278         Return the DownloadProxy.
    279 
    280         * UIProcess/WebContext.h:
    281         Changed return type of download() and createDownloadProxy().
    282 
    283         * UIProcess/WebPageProxy.cpp:
    284         (WebKit::WebPageProxy::receivedPolicyDecision):
    285         Call the DownloadProxy's downloadID() function to get the ID.
    286 
    287 2011-04-18  Jia Pu  <jpu (a] apple.com>
    288 
    289         Reviewed by Mark Rowe.
    290 
    291         WebKit needs to stop importing <AppKit/NSTextChecker.h>
    292         https://bugs.webkit.org/show_bug.cgi?id=58798
    293         <rdar://problem/9294938>
    294 
    295         Use public header <AppKit/NSSpellChecker.h> instead.
    296 
    297         * UIProcess/mac/CorrectionPanel.h:
    298         * UIProcess/mac/CorrectionPanel.mm:
    299         (correctionIndicatorType):
    300         (WebKit::CorrectionPanel::show):
    301         (WebKit::CorrectionPanel::dismissInternal):
    302         (WebKit::CorrectionPanel::handleAcceptedReplacement):
    303         * UIProcess/mac/TextCheckerMac.mm:
    304         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
    305 
    306 2011-04-05  Jer Noble  <jer.noble (a] apple.com>
    307 
    308         Reviewed by Sam Weinig.
    309 
    310         WebKit2: WKTR should support WebKit2 full screen APIs
    311         https://bugs.webkit.org/show_bug.cgi?id=56318
    312 
    313         Add a new WKBundlePage API for Full Screen events, and move some of the implementation
    314         of WebFullScreenManager into the new InjectedBundlePageFullScreenClient class, so that
    315         the default behavior can be overridden by a WKBundlePageFullScreenClient.
    316 
    317         * WebKit2.xcodeproj/project.pbxproj:
    318         * WebProcess/FullScreen/WebFullScreenManager.cpp:
    319         (WebKit::WebFullScreenManager::supportsFullScreen): Moved contents into InjectedBundlePageFullScreenClient.
    320         (WebKit::WebFullScreenManager::enterFullScreenForElement): Ditto.
    321         (WebKit::WebFullScreenManager::exitFullScreenForElement): Ditto.
    322         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
    323         (WKBundlePageSetFullScreenClient): Added.
    324         (WKBundlePageWillEnterFullScreenForElement): Added.
    325         (WKBundlePageDidEnterFullScreenForElement): Added.
    326         (WKBundlePageWillExitFullScreenForElement): Added.
    327         (WKBundlePageDidExitFullScreenForElement): Added.
    328         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
    329         * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.cpp: Added.
    330         (WebKit::InjectedBundlePageFullScreenClient::supportsFullScreen): Added. 
    331         (WebKit::InjectedBundlePageFullScreenClient::enterFullScreenForElement): Added.
    332         (WebKit::InjectedBundlePageFullScreenClient::exitFullScreenForElement): Added.
    333         * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h: Added.
    334         * WebProcess/WebPage/WebPage.cpp:
    335         (WebKit::WebPage::initializeInjectedBundleFullScreenClient): Added.
    336         * WebProcess/WebPage/WebPage.h:
    337         (WebKit::WebPage::injectedBundleFullScreenClient): Added.
    338 
    339 2011-04-18  Alexey Proskuryakov  <ap (a] apple.com>
    340 
    341         Reviewed by Maciej Stachowiak.
    342 
    343         Re-add a null check lost in r83081
    344         https://bugs.webkit.org/show_bug.cgi?id=58846
    345 
    346         * WebProcess/WebPage/mac/WebPageMac.mm:
    347         (WebKit::WebPage::getSelectedRange):
    348 
    349 2011-04-18  Andreas Kling  <kling (a] webkit.org>
    350 
    351         Reviewed by Kenneth Rohde Christiansen.
    352 
    353         [Qt][WK2] Clean up tool-tip/status-bar confusion.
    354         https://bugs.webkit.org/show_bug.cgi?id=58844
    355 
    356         Tool-tips were incorrectly hooked up to the status bar text.
    357         Chrome::setStatusbarText() now correctly causes the QWKPage::statusBarMessage() signal.
    358 
    359         New API:
    360         - QWKPage::toolTipChanged(const QString& toolTip) [signal]
    361 
    362         QGraphicsWKView will automatically listen for this and set its own toolTip().
    363 
    364         * UIProcess/API/qt/ClientImpl.cpp:
    365         (qt_wk_setStatusText):
    366         * UIProcess/API/qt/ClientImpl.h:
    367         * UIProcess/API/qt/qgraphicswkview.cpp:
    368         (QGraphicsWKView::QGraphicsWKView):
    369         (QGraphicsWKViewPrivate::onToolTipChanged):
    370         * UIProcess/API/qt/qgraphicswkview.h:
    371         * UIProcess/API/qt/qwkpage.cpp:
    372         (QWKPagePrivate::toolTipChanged):
    373         (QWKPage::QWKPage):
    374         * UIProcess/API/qt/qwkpage.h:
    375 
    376 2011-04-18  Maciej Stachowiak  <mjs (a] apple.com>
    377 
    378         Reviewed by Dan Bernstein.
    379 
    380         sandbox violation for ~/Library/Dictionaries
    381         https://bugs.webkit.org/show_bug.cgi?id=58841
    382         <rdar://problem/9294770>
    383 
    384         * WebProcess/com.apple.WebProcess.sb: Add to sandbox profile.
    385         No obvious harm from allowing this, though it's not 100% clear
    386         why it's needed.
    387 
    388 2011-04-18  Anders Carlsson  <andersca (a] apple.com>
    389 
    390         Try to fix the Windows build.
    391 
    392         * Scripts/webkit2/messages.py:
    393 
    394 2011-04-18  Anders Carlsson  <andersca (a] apple.com>
    395 
    396         Reviewed by Dan Bernstein.
    397 
    398         Get rid of WebProcessProxyLegacyMessage
    399         https://bugs.webkit.org/show_bug.cgi?id=58825
    400 
    401         * GNUmakefile.am:
    402         * Platform/CoreIPC/MessageID.h:
    403         * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h: Removed.
    404         * UIProcess/WebProcessProxy.cpp:
    405         * WebKit2.xcodeproj/project.pbxproj:
    406         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
    407         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
    408         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
    409         * WebProcess/WebPage/WebPage.cpp:
    410         * win/WebKit2.vcproj:
    411 
    412 2011-04-18  Anders Carlsson  <andersca (a] apple.com>
    413 
    414         Fix build.
    415 
    416         * UIProcess/Plugins/PluginInfoStore.h:
    417 
    418 2011-04-18  Anders Carlsson  <andersca (a] apple.com>
    419 
    420         Reviewed by Sam Weinig.
    421 
    422         Use the message generator for the GetPluginProcessConnection message
    423         https://bugs.webkit.org/show_bug.cgi?id=58815
    424 
    425         * Platform/CoreIPC/HandleMessage.h:
    426         (CoreIPC::callMemberFunction):
    427         (CoreIPC::handleMessageDelayed):
    428         Add helper functions.
    429 
    430         * UIProcess/Plugins/PluginInfoStore.h:
    431         Mark class noncopyable.
    432 
    433         * UIProcess/Plugins/PluginProcessManager.cpp:
    434         (WebKit::PluginProcessManager::getPluginProcessConnection):
    435         This now takes a delayed reply.
    436 
    437         * UIProcess/Plugins/PluginProcessProxy.cpp:
    438         (WebKit::PluginProcessProxy::getPluginProcessConnection):
    439         This now takes a delayed reply.
    440 
    441         (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
    442         (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
    443         Call DelayedReply::send.
    444 
    445         * UIProcess/WebProcessProxy.cpp:
    446         (WebKit::WebProcessProxy::getPluginProcessConnection):
    447         This now takes a delayed reply.
    448         
    449         (WebKit::WebProcessProxy::didReceiveSyncMessage):
    450         No need to handle this message here.
    451 
    452         * UIProcess/WebProcessProxy.messages.in:
    453         Add GetPluginProcessConnection message.
    454 
    455         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
    456         (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
    457         Don't use deprecatedSendSync.
    458 
    459 2011-04-18  Anders Carlsson  <andersca (a] apple.com>
    460 
    461         Reviewed by Adam Roben.
    462 
    463         Finish implementing delayed sync replies in the CoreIPC message generator
    464         https://bugs.webkit.org/show_bug.cgi?id=58814
    465 
    466         Put the DelayedReply function definitions in the .cpp file and fix bugs found by
    467         actually trying to compile the generated files.
    468 
    469         * Scripts/webkit2/messages.py:
    470         * Scripts/webkit2/messages_unittest.py:
    471 
    472 2011-04-18  Anders Carlsson  <andersca (a] apple.com>
    473 
    474         Reviewed by Adam Roben.
    475 
    476         Reproducible crash in Find on Page, on pages that use accelerated compositing
    477         https://bugs.webkit.org/show_bug.cgi?id=58793
    478         <rdar://problem/9295870>
    479 
    480         Move the call to PageOverlay::setNeedsDisplay() back to WebPage::installPageOverlay;
    481         it needs to be called after we've told the drawing area that a page overlay has been installed.
    482 
    483         * WebProcess/WebPage/PageOverlay.cpp:
    484         (WebKit::PageOverlay::setPage):
    485         * WebProcess/WebPage/WebPage.cpp:
    486         (WebKit::WebPage::installPageOverlay):
    487 
    488 2011-04-18  Jeff Miller  <jeffm (a] apple.com>
    489 
    490         Reviewed by Timothy Hatcher.
    491 
    492         WKFrameLoadState should be a uint32_t to match our API conventions
    493         https://bugs.webkit.org/show_bug.cgi?id=58785
    494 
    495         * UIProcess/API/C/WKFrame.h: typedef WKFrameLoadState as a uint32_t and define its values as an anonymous enum.
    496 
    497 2011-04-18  Carlos Garcia Campos  <cgarcia (a] igalia.com>
    498 
    499         Unreviewed. Fix WebKit2 GTK build after 84017.
    500 
    501         * GNUmakefile.am:
    502         * Shared/NativeWebMouseEvent.h:
    503         (WebKit::NativeWebMouseEvent::nativeEvent):
    504         * Shared/gtk/NativeWebMouseEventGtk.cpp: Copied from Source/WebKit2/Shared/NativeWebMouseEvent.h.
    505         (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
    506         * UIProcess/gtk/WebView.cpp:
    507         (WebKit::WebView::handleMouseEvent):
    508 
    509 2011-04-17  David Kilzer  <ddkilzer (a] apple.com>
    510 
    511         <http://webkit.org/b/58463> Switch HTTP pipelining from user default to private setting
    512         <rdar://problem/9268729>
    513 
    514         Reviewed by Dan Bernstein.
    515 
    516         This replaces support for the WebKitEnableHTTPPipelining user
    517         default with methods on the WebCore::ResourceRequest class in
    518         WebCore, the WebView class in WebKit1, and the WebContext class
    519         in WebKit2.  It also removes support for the
    520         WebKitForceHTTPPipeliningPriorityHigh user default which was not
    521         needed.
    522 
    523         * UIProcess/API/C/WKContext.cpp:
    524         (_WKContextSetHTTPPipeliningEnabled): Added.
    525         * UIProcess/API/C/WKContextPrivate.h:
    526         (_WKContextSetHTTPPipeliningEnabled): Added declaration.
    527         * UIProcess/WebContext.cpp:
    528         (WebKit::WebContext::setHTTPPipeliningEnabled): Added.
    529         (WebKit::WebContext::httpPipeliningEnabled): Added.
    530         * UIProcess/WebContext.h:
    531         (WebKit::WebContext::setHTTPPipeliningEnabled): Added declaration.
    532         (WebKit::WebContext::httpPipeliningEnabled): Added declaration.
    533 
    534 2011-04-17  Sam Weinig  <sam (a] webkit.org>
    535 
    536         Reviewed by Geoffrey Garen.
    537 
    538         Make more strings in WebKit2 localizable
    539         https://bugs.webkit.org/show_bug.cgi?id=58757
    540 
    541         * UIProcess/API/mac/PDFViewController.mm:
    542         (-[WKPDFView menuForEvent:]):
    543         * UIProcess/API/mac/PageClientImpl.mm:
    544         (WebKit::PageClientImpl::setViewportArguments):
    545         (WebKit::PageClientImpl::registerEditCommand):
    546         * UIProcess/WebEditCommandProxy.cpp:
    547         (WebKit::WebEditCommandProxy::nameForEditAction):
    548         * UIProcess/WebEditCommandProxy.h:
    549         Use WebCore's localization macro to make more strings localizable.
    550 
    551 2011-04-17  Patrick Gansterer  <paroga (a] webkit.org>
    552 
    553         Reviewed by Adam Barth.
    554 
    555         Rename PLATFORM(CA) to USE(CA)
    556         https://bugs.webkit.org/show_bug.cgi?id=58742
    557 
    558         * WebProcess/WebPage/LayerTreeHost.cpp:
    559         * WebProcess/WebPage/win/LayerTreeHostWin.cpp:
    560         (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
    561 
    562 2011-04-17  Patrick Gansterer  <paroga (a] webkit.org>
    563 
    564         Reviewed by Adam Barth.
    565 
    566         Rename PLATFORM(CG) to USE(CG)
    567         https://bugs.webkit.org/show_bug.cgi?id=58729
    568 
    569         * Shared/ShareableBitmap.h:
    570         * Shared/WebCoreArgumentCoders.cpp:
    571         * Shared/WebCoreArgumentCoders.h:
    572         * Shared/WebGraphicsContext.cpp:
    573         (WebKit::WebGraphicsContext::WebGraphicsContext):
    574         * Shared/WebGraphicsContext.h:
    575         * Shared/win/PlatformCertificateInfo.cpp:
    576         (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
    577         * UIProcess/win/WebView.cpp:
    578         (WebKit::WebView::setFindIndicator):
    579         * WebProcess/WebPage/WebPage.cpp:
    580         (WebKit::WebPage::drawRectToPDF):
    581         (WebKit::WebPage::drawPagesToPDF):
    582         * WebProcess/WebPage/win/WebPageWin.cpp:
    583         (WebKit::WebPage::platformPreferencesDidChange):
    584         * config.h:
    585 
    586 2011-04-16  Anders Carlsson  <andersca (a] apple.com>
    587 
    588         Reviewed by Sam Weinig.
    589 
    590         Crash when NPP_Write returns -1 when writing the manual stream
    591         https://bugs.webkit.org/show_bug.cgi?id=58735
    592         <rdar://problem/9124993>
    593 
    594         If NPP_Write returns -1 we must cancel the stream.
    595 
    596         * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
    597         (WebKit::NetscapePluginStream::deliverDataToPlugin):
    598 
    599 2011-04-16  Sam Weinig  <sam (a] webkit.org>
    600 
    601         Reviewed by Simon Fraser.
    602 
    603         Pages in the PageCache don't have the correct visited link coloring after being restored
    604         https://bugs.webkit.org/show_bug.cgi?id=58721
    605 
    606         * WebProcess/WebProcess.cpp:
    607         (WebKit::WebProcess::visitedLinkStateChanged):
    608         (WebKit::WebProcess::allVisitedLinkStateChanged):
    609         Mark all pages in the page cache as needing visited link style recalc
    610         whenever visited link information changes.
    611 
    612 2011-04-15  Daniel Bates  <dbates (a] webkit.org>
    613 
    614         Attempt to fix the Qt Linux Release build after changeset 84064 <http://trac.webkit.org/changeset/84064>
    615         (https://bugs.webkit.org/show_bug.cgi?id=58686).
    616 
    617         * UIProcess/API/qt/qwkpage_p.h: Remove takeFocus().
    618 
    619 2011-04-15  Shishir Agrawal  <shishir (a] chromium.org>
    620 
    621         Reviewed by James Robinson.
    622 
    623         Add a flag to guard Page Visibility API changes.
    624         https://bugs.webkit.org/show_bug.cgi?id=58464
    625 
    626         * Configurations/FeatureDefines.xcconfig:
    627 
    628 2011-04-15  Jeff Miller  <jeffm (a] apple.com>
    629 
    630         Reviewed by Sam Weinig.
    631 
    632         Add takeFocus callback to WKPageUIClient
    633         https://bugs.webkit.org/show_bug.cgi?id=58686
    634 
    635         On Windows, we need to handle moving focus out of the web view in the client, so add a takeFocus callback to WKPageUIClient
    636         and stop handling taking focus in the framework in WKView.mm on the Mac.
    637 
    638         * UIProcess/API/C/WKPage.h: Added WKFocusDirection enum and takeFocus to WKPageUIClient.
    639         * UIProcess/API/mac/PageClientImpl.h: Removed takeFocus().
    640         * UIProcess/API/mac/PageClientImpl.mm: Removed takeFocus().
    641         * UIProcess/API/mac/WKView.mm: Removed _takeFocus().
    642         * UIProcess/API/mac/WKViewInternal.h: Removed _takeFocus().
    643         * UIProcess/API/qt/ClientImpl.cpp:
    644         (qt_wk_takeFocus): Added.
    645         * UIProcess/API/qt/ClientImpl.h: Added qt_wk_takeFocus.
    646         * UIProcess/API/qt/qwkpage.cpp: Remove takeFocus().
    647         (QWKPage::QWKPage): Added takeFocus() callback.
    648         * UIProcess/PageClient.h: Removed takeFocus().
    649         * UIProcess/WebPageProxy.cpp:
    650         (WebKit::WebPageProxy::takeFocus): Call m_uiClient to take focus.
    651         * UIProcess/WebPageProxy.h: Pass FocusDirection as a uint32_t to takeFocus().
    652         * UIProcess/WebPageProxy.messages.in: Pass FocusDirection as a uint32_t in TakeFocus message.
    653         * UIProcess/WebUIClient.cpp:
    654         (WebKit::WebUIClient::takeFocus): Added.
    655         * UIProcess/WebUIClient.h: Added takeFocus().
    656         * UIProcess/win/WebView.cpp: Removed takeFocus(), which was never implemented on Windows.
    657         * UIProcess/win/WebView.h: Removed takeFocus().
    658         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
    659         (WebKit::WebChromeClient::takeFocus): Pass FocusDirection as a uint32_t in TakeFocus message.
    660 
    661 2011-04-15  Alexey Proskuryakov  <ap (a] apple.com>
    662 
    663         Reviewed by Sam Weinig.
    664 
    665         WebKit2: Stop using deprecated NSInputManager
    666         https://bugs.webkit.org/show_bug.cgi?id=58709
    667 
    668         Changed all mouse related functions to give NSInputContext a chance to handle the event,
    669         added logging. Removed -rightMouseMoved: method, which was added by accident.
    670 
    671         * UIProcess/API/mac/WKView.mm:
    672         (-[WKView mouseMoved:]):
    673         (-[WKView mouseDown:]):
    674         (-[WKView mouseUp:]):
    675         (-[WKView mouseDragged:]):
    676 
    677 2011-04-15  Jon Honeycutt  <jhoneycutt (a] apple.com>
    678 
    679         Potential crash getting a JS wrapper.
    680 
    681         <rdar://problem/8988741>
    682 
    683         Reviewed by Brian Weinstein.
    684 
    685         * WebProcess/WebPage/WebFrame.cpp:
    686         (WebKit::WebFrame::jsWrapperForWorld):
    687         Ensure that we have a valid m_coreFrame, because it can be cleared by
    688         invalidate().
    689 
    690 2011-04-08  Luiz Agostini  <luiz.agostini (a] openbossa.org>
    691 
    692         Reviewed by Kenneth Rohde Christiansen.
    693 
    694         [Qt] QWebPage MIME type handling inconsistency with other web browsers
    695         https://bugs.webkit.org/show_bug.cgi?id=46968
    696 
    697         Implementing mime type sniffing based on
    698         http://tools.ietf.org/html/draft-abarth-mime-sniff-06.
    699 
    700         * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
    701         (WebCore::WebFrameNetworkingContext::WebFrameNetworkingContext):
    702         (WebCore::WebFrameNetworkingContext::MIMESniffingEnabled):
    703         * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h:
    704 
    705 2011-04-15  Oliver Hunt  <oliver (a] apple.com>
    706 
    707         GC allocate Structure
    708         https://bugs.webkit.org/show_bug.cgi?id=58483
    709 
    710         Rolling r83894 r83827 r83810 r83809 r83808 back in with
    711         a workaround for the gcc bug seen by the gtk bots
    712 
    713         * WebProcess/Plugins/Netscape/JSNPMethod.h:
    714         (WebKit::JSNPMethod::createStructure):
    715         * WebProcess/Plugins/Netscape/JSNPObject.h:
    716         (WebKit::JSNPObject::createStructure):
    717 
    718 2011-04-15  Anders Carlsson  <andersca (a] apple.com>
    719 
    720         Reviewed by Sam Weinig.
    721 
    722         Add API to get the bundle page overlay fade in fraction.
    723 
    724         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
    725         (WKBundlePageOverlayFractionFadedIn):
    726         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
    727 
    728 2011-04-15  Anders Carlsson  <andersca (a] apple.com>
    729 
    730         Reviewed by Dan Bernstein.
    731 
    732         Fade the find page overlay
    733         https://bugs.webkit.org/show_bug.cgi?id=58697
    734 
    735         * WebProcess/WebPage/FindController.cpp:
    736         Make the color components floats.
    737 
    738         (WebKit::overlayBackgroundColor):
    739         (WebKit::holeShadowColor):
    740         (WebKit::holeFillColor):
    741         Add helper functions for returning the colors given the fraction faded in.
    742 
    743         (WebKit::FindController::drawRect):
    744         Use the new helper functions.
    745 
    746         * WebProcess/WebPage/WebPage.cpp:
    747         (WebKit::WebPage::installPageOverlay):
    748         Start the fade animation unless we're replacing an already existing page overlay
    749         with another.
    750 
    751 2011-04-15  Anders Carlsson  <andersca (a] apple.com>
    752 
    753         Fix Windows build.
    754 
    755         * WebProcess/WebPage/PageOverlay.cpp:
    756         (WebKit::PageOverlay::fadeAnimationTimerFired):
    757 
    758 2011-04-15  Anders Carlsson  <andersca (a] apple.com>
    759 
    760         Reviewed by Sam Weinig.
    761 
    762         Add the ability for PageOverlays to fade in and out
    763         https://bugs.webkit.org/show_bug.cgi?id=58694
    764 
    765         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
    766         (WKBundlePageUninstallPageOverlay):
    767         WebPage::uninstallPageOverlay now takes a boolean. Default to false for now.
    768 
    769         * WebProcess/WebPage/FindController.cpp:
    770         (WebKit::FindController::findString):
    771         Pass false to uninstallPageOverlay.
    772 
    773         (WebKit::FindController::hideFindUI):
    774         Pass true to uninstallPageOverlay.
    775         
    776         * WebProcess/WebPage/PageOverlay.cpp:
    777         (WebKit::PageOverlay::PageOverlay):
    778         Initialize new member variables.
    779 
    780         (WebKit::PageOverlay::bounds):
    781         Get rid of an unnecessary webPage() getter.
    782 
    783         (WebKit::PageOverlay::setPage):
    784         Stop the animation timer.
    785 
    786         (WebKit::PageOverlay::startFadeInAnimation):
    787         Update m_fractionFadedIn and call startFadeAnimation.
    788 
    789         (WebKit::PageOverlay::startFadeOutAnimation):
    790         Ditto.
    791         
    792         (WebKit::PageOverlay::startFadeAnimation):
    793         Initialize m_fadeAnimationStartTime and start the fade animation timer.
    794 
    795         (WebKit::PageOverlay::fadeAnimationTimerFired):
    796         Update m_fractionFadedIn and call setNeedsDisplay().
    797 
    798         * WebProcess/WebPage/PageOverlay.h:
    799         * WebProcess/WebPage/WebPage.cpp:
    800         (WebKit::WebPage::uninstallPageOverlay):
    801         If fadeOut is true, tell the page overlay to start the fade out animation.
    802         When the fade animation is complete, the page overlay will uninstall itself.
    803 
    804 2011-04-15  Brian Weinstein  <bweinstein (a] apple.com>
    805 
    806         Reviewed by Adam Roben.
    807 
    808         Views should be made visible before painting in WM_PRINTCLIENT messages
    809         https://bugs.webkit.org/show_bug.cgi?id=58676
    810         <rdar://problem/9279211>
    811 
    812         * UIProcess/win/WebView.cpp:
    813         (WebKit::WebView::onPrintClientEvent): If our view isn't currently visible set it to visible
    814             before painting, then reset it back to not visible after painting.
    815         (WebKit::WebView::onShowWindowEvent): Call setIsVisible instead of duplicating logic.
    816         (WebKit::WebView::setIsVisible): Set the m_isVisible flag and call viewStateDidChange.
    817         * UIProcess/win/WebView.h:
    818 
    819 2011-04-15  Jon Lee  <jonlee (a] apple.com>
    820 
    821         Reviewed by Anders Carlsson.
    822 
    823         onClick does not function with <select> elements in WebKit2
    824         https://bugs.webkit.org/show_bug.cgi?id=57904
    825         <rdar://problem/9217757>
    826 
    827         Reviewed by Anders Carlsson.
    828 
    829         * Shared/NativeWebMouseEvent.h: Copied from Source/WebKit2/UIProcess/WebPopupMenuProxy.h.
    830         (WebKit::NativeWebMouseEvent::nativeEvent):
    831         * Shared/mac/NativeWebMouseEventMac.mm: Added.
    832         (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
    833         * Shared/qt/NativeWebMouseEventQt.cpp: Copied from Source/WebKit2/UIProcess/WebPopupMenuProxy.h.
    834         (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
    835         * Shared/win/NativeWebMouseEventWin.cpp: Copied from Source/WebKit2/UIProcess/WebPopupMenuProxy.h.
    836         (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
    837         * UIProcess/API/mac/WKView.mm:
    838         (-[WKView mouseMoved:]):
    839         (-[WKView _mouseHandler:]): Pre-compiler mouse handler calls need to use the new NativeWebMouseEvent class
    840         * UIProcess/API/qt/qwkpage.cpp:
    841         (QWKPagePrivate::mouseMoveEvent):
    842         (QWKPagePrivate::mousePressEvent):
    843         (QWKPagePrivate::mouseReleaseEvent):
    844         (QWKPagePrivate::mouseDoubleClickEvent):
    845         * UIProcess/WebPageProxy.cpp:
    846         (WebKit::WebPageProxy::handleMouseEvent): keep track of mouse down event in order to be able to send a fake mouse up event on the select element
    847         (WebKit::WebPageProxy::currentMouseDownEvent): for access by the popup menu proxy to dispatch the fake mouse up event
    848         (WebKit::WebPageProxy::didReceiveEvent): clear out the cached mouse down event
    849         (WebKit::WebPageProxy::processDidCrash): clear out the cached events since we assume that didReceiveEvent did not called prior to the crash
    850         * UIProcess/WebPageProxy.h:
    851         * UIProcess/WebPopupMenuProxy.h:
    852         * UIProcess/mac/WebPopupMenuProxyMac.mm:
    853         (WebKit::WebPopupMenuProxyMac::showPopupMenu): after notifying the popup menu client that the value changed, fake mouse up and mouse move events are posted
    854         * UIProcess/win/WebPopupMenuProxyWin.cpp:
    855         (WebKit::WebPopupMenuProxyWin::showPopupMenu): after notifying the popup menu client that the value changed, fake mouse up and mouse move events are posted
    856         * UIProcess/win/WebView.cpp:
    857         (WebKit::WebView::onMouseEvent):
    858         * WebKit2.pro:
    859         * WebKit2.xcodeproj/project.pbxproj:
    860         * win/WebKit2.vcproj:
    861 
    862 2011-04-15  Alexey Proskuryakov  <ap (a] apple.com>
    863 
    864         Qt build fix.
    865 
    866         * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::selectionStateChanged): Wrap the variable
    867         in PLATFORM(MAC), too, as it's unused on other platforms.
    868 
    869 2011-04-15  Brady Eidson  <beidson (a] apple.com>
    870 
    871         Reviewed by Dan Bernstein.
    872 
    873         <rdar://problem/9287880> and https://bugs.webkit.org/show_bug.cgi?id=58596
    874         WK2: Past searches not remembered for <input type=search results="5" autosave="foo">
    875 
    876         Add SaveRecentSearches and LoadRecentSearches messages:
    877         * UIProcess/WebPageProxy.messages.in:
    878         * UIProcess/WebPageProxy.h:
    879 
    880         Message up to the UIProcess for the save/load operations:
    881         * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
    882         (WebKit::WebSearchPopupMenu::saveRecentSearches):
    883         (WebKit::WebSearchPopupMenu::loadRecentSearches):
    884         * WebProcess/WebCoreSupport/WebPopupMenu.h:
    885         (WebKit::WebPopupMenu::page):
    886 
    887         Save the values to disk CFPreference-style:
    888         * UIProcess/cf/WebPageProxyCF.cpp:
    889         (WebKit::autosaveKey):
    890         (WebKit::WebPageProxy::saveRecentSearches):
    891         (WebKit::WebPageProxy::loadRecentSearches):
    892 
    893         Stubbed out for non-CF platforms:
    894         * UIProcess/gtk/WebPageProxyGtk.cpp:
    895         (WebKit::WebPageProxy::saveRecentSearches):
    896         (WebKit::WebPageProxy::loadRecentSearches):
    897         * UIProcess/qt/WebPageProxyQt.cpp:
    898         (WebKit::WebPageProxy::saveRecentSearches):
    899         (WebKit::WebPageProxy::loadRecentSearches):
    900 
    901 2011-04-14  Alexey Proskuryakov  <ap (a] apple.com>
    902 
    903         Reviewed by Dan Bernstein.
    904 
    905         WebKit2: Password field input does not switch to ASCII-compatible source
    906         https://bugs.webkit.org/show_bug.cgi?id=58583
    907         <rdar://problem/9059651>
    908 
    909         The implementation is more modern than what we have in WK1. Instead of returning a null
    910         input context (as in non-editable content), we now set page context's properties.
    911 
    912         * UIProcess/PageClient.h:
    913         * UIProcess/API/mac/PageClientImpl.h:
    914         * UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::updateSecureInputState):
    915         Forward updateSecureInputState() call from WebPageProxy to WKView.
    916 
    917         * UIProcess/API/mac/WKView.mm:
    918         (-[WKView dealloc]): ASSERT that we didn't somehow leave secure input events enabled.
    919         (-[WKView becomeFirstResponder]): Update secure event mode.
    920         (-[WKView resignFirstResponder]): Disable secure event mode.
    921         (-[WKView setMarkedText:selectedRange:replacementRange:]): Prevent most advanced editing
    922         behaviors in password fields, matching NSSecureTextInputField.
    923         (-[WKView attributedSubstringForProposedRange:actualRange:]): Disable TSM Document Access
    924         in password fields. There is also a check in web process, but it doest't hurt to check twice.
    925         (-[WKView _windowDidBecomeKey:]): Call _updateSecureInputState.
    926         (-[WKView _windowDidResignKey:]): Call _updateSecureInputState.
    927         (-[WKView _updateSecureInputState]): Update secure event mode and allowed input sources.
    928 
    929         * UIProcess/API/mac/WKViewInternal.h: Added _updateSecureInputState.
    930 
    931         * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::selectionStateChanged): Update secure
    932         input state when going in or out a password field.
    933 
    934 2011-04-14  Jer Noble  <jer.noble (a] apple.com>
    935 
    936         Reviewed by Eric Carlson.
    937 
    938         REGRESSION: Rendering in <video> element appears to render quickly to catch up if it has been playing in a background tab
    939         https://bugs.webkit.org/show_bug.cgi?id=58637
    940 
    941         Notify AVFoundation that no one will be rendering when the view or window moves off screen.
    942 
    943         * UIProcess/API/mac/PageClientImpl.mm:
    944         (WebKit::PageClientImpl::isViewVisible): Return false if the view's window is not visible.
    945         * UIProcess/API/mac/WKView.mm:
    946         (-[WKView addWindowObserversForWindow:]): Observe orderOut and orderIn events.
    947         (-[WKView removeWindowObservers]): Ditto.
    948         (-[WKView _windowDidOrderOffScreen:]): Added.
    949         (-[WKView _windowDidOrderOnScreen:]): Added.
    950         * WebProcess/WebPage/DrawingAreaImpl.cpp:
    951         (WebKit::DrawingAreaImpl::suspendPainting): Call LayerTreeHost::pauseRendering.
    952         (WebKit::DrawingAreaImpl::resumePainting): Call LayerTreeHost::resumeRendering.
    953         * WebProcess/WebPage/LayerTreeHost.h:
    954         (WebKit::LayerTreeHost::pauseRendering): Added stub.
    955         (WebKit::LayerTreeHost::resumeRendering): Added stub.
    956         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
    957         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
    958         (WebKit::LayerTreeHostCAMac::pauseRendering): Added. Post a notification with our
    959             intention to stop rendering.
    960         (WebKit::LayerTreeHostCAMac::resumeRendering): Added. Post a notification with our
    961             intention to start rendering.
    962 
    963 2011-04-15  Jessie Berlin  <jberlin (a] apple.com>
    964 
    965         Reviewed by Sam Weinig.
    966 
    967         WebKit2: Need a way to keep the WebProcess alive for testing purposes.
    968         https://bugs.webkit.org/show_bug.cgi?id=58592
    969 
    970         * UIProcess/API/C/WKContext.cpp:
    971         (WKContextDisableProcessTermination):
    972         (WKContextEnableProcessTermination):
    973         * UIProcess/API/C/WKContextPrivate.h:
    974 
    975         * UIProcess/WebContext.cpp:
    976         (WebKit::WebContext::WebContext):
    977         Initialize m_processTerminationEnabled to true.
    978         (WebKit::WebContext::enableProcessTermination):
    979         Set m_processTerminationEnabled to true, and try to terminate the web process.
    980         (WebKit::WebContext::shouldTerminate):
    981         If !m_processTerminationEnabled, return false.
    982         * UIProcess/WebContext.h:
    983         (WebKit::WebContext::disableProcessTermination):
    984         Set m_processTerminationEnabled to false;
    985 
    986 2011-04-15  Nancy Piedra  <nancy.piedra (a] nokia.com>
    987 
    988         Reviewed by Laszlo Gombos.
    989 
    990         [Qt][Symbian] Need to export ViewportAttributes class
    991         https://bugs.webkit.org/show_bug.cgi?id=58651
    992 
    993         On Symbian, if the ViewportAttributes class is not exported we get
    994         linking errors.
    995 
    996         Since this is a compilation issue, no new tests added.
    997 
    998         * UIProcess/API/qt/qwkpage.h:
    999 
   1000 2011-04-15  Anna Cavender  <annacc (a] chromium.org>
   1001 
   1002         Reviewed by Eric Carlson.
   1003 
   1004         Renaming TRACK feature define to VIDEO_TRACK
   1005         https://bugs.webkit.org/show_bug.cgi?id=53556
   1006 
   1007         * Configurations/FeatureDefines.xcconfig:
   1008 
   1009 2011-04-14  Anders Carlsson  <andersca (a] apple.com>
   1010 
   1011         Reviewed by Sam Weinig.
   1012 
   1013         Select All context menu item doesn't work in Flash
   1014         https://bugs.webkit.org/show_bug.cgi?id=58615
   1015         <rdar://problem/9225761>
   1016 
   1017         In some cases, -[NSWindow isKeyWindow] will return false even if
   1018         a window is the key window, so we have to compare our window
   1019         against -[NSApplication keyWindow].
   1020 
   1021         * UIProcess/API/mac/PageClientImpl.mm:
   1022         (WebKit::PageClientImpl::isViewWindowActive):
   1023 
   1024 2011-04-14  Sam Weinig  <sam (a] webkit.org>
   1025 
   1026         Reviewed by Anders Carlsson.
   1027 
   1028         Add CFPreference based backend for WebKit2 preferences
   1029         https://bugs.webkit.org/show_bug.cgi?id=58605
   1030 
   1031         * UIProcess/cf/WebPreferencesCF.cpp:
   1032         (WebKit::cfStringFromWebCoreString):
   1033         (WebKit::makeKey):
   1034         (WebKit::setStringValueIfInUserDefaults):
   1035         (WebKit::setBoolValueIfInUserDefaults):
   1036         (WebKit::setUInt32ValueIfInUserDefaults):
   1037         (WebKit::setDoubleValueIfInUserDefaults):
   1038         (WebKit::WebPreferences::platformInitializeStore):
   1039         (WebKit::WebPreferences::platformUpdateStringValueForKey):
   1040         (WebKit::WebPreferences::platformUpdateBoolValueForKey):
   1041         (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
   1042         (WebKit::WebPreferences::platformUpdateDoubleValueForKey):
   1043         Implement platform functions using CFPreferences API.
   1044 
   1045 2011-04-14  Brady Eidson  <beidson (a] apple.com>
   1046 
   1047         Reviewed by Sam Weinig.
   1048 
   1049         <rdar://problem/8665102> and https://bugs.webkit.org/show_bug.cgi?id=58595
   1050         Menu is not displayed for <input type=search results="5">
   1051 
   1052         * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
   1053         (WebKit::WebSearchPopupMenu::enabled): Return true, like all good search popup menus should.
   1054 
   1055         * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm:
   1056         (WebKit::WebPopupMenu::setUpPlatformData): Remember the shouldPopOver-ness.
   1057 
   1058         * Shared/PlatformPopupMenuData.cpp:
   1059         (WebKit::PlatformPopupMenuData::encode): Remember the shouldPopOver-ness.
   1060         (WebKit::PlatformPopupMenuData::decode): Remember the shouldPopOver-ness.
   1061         * Shared/PlatformPopupMenuData.h:
   1062 
   1063         * UIProcess/mac/WebPopupMenuProxyMac.mm:
   1064         (WebKit::WebPopupMenuProxyMac::showPopupMenu): Use the shouldPopOver-ness to adjust display position.
   1065 
   1066 2011-04-14  Anders Carlsson  <andersca (a] apple.com>
   1067 
   1068         Reviewed by Dan Bernstein.
   1069 
   1070         Crash in NetscapePluginModule::tryGetSitesWithData when NPP_GetSitesWithData returns null
   1071         https://bugs.webkit.org/show_bug.cgi?id=58578
   1072         <rdar://problem/9275201>
   1073 
   1074         It's OK for NPP_GetSitesWithData to return null.
   1075 
   1076         * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
   1077         (WebKit::NetscapePluginModule::tryGetSitesWithData):
   1078 
   1079 2011-04-14  Sam Weinig  <sam (a] webkit.org>
   1080 
   1081         Reviewed by Anders Carlsson.
   1082 
   1083         Make creating WebPreferences lazy
   1084         https://bugs.webkit.org/show_bug.cgi?id=58570
   1085 
   1086         * UIProcess/WebPageGroup.cpp:
   1087         (WebKit::WebPageGroup::WebPageGroup):
   1088         (WebKit::WebPageGroup::~WebPageGroup):
   1089         (WebKit::WebPageGroup::setPreferences):
   1090         (WebKit::WebPageGroup::preferences):
   1091         * UIProcess/WebPageGroup.h:
   1092         Don't create the WebPreference object until it is requested.
   1093 
   1094 2011-04-14  Pratik Solanki  <psolanki (a] apple.com>
   1095 
   1096         Reviewed by David Kilzer.
   1097 
   1098         Set minimum priority for fast lane connections
   1099         https://bugs.webkit.org/show_bug.cgi?id=58353
   1100 
   1101         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
   1102         (InitWebCoreSystemInterface): Support for new WKSI method WKSetHTTPPipeliningMinimumFastLanePriority.
   1103 
   1104 2011-04-14  Anders Carlsson  <andersca (a] apple.com>
   1105 
   1106         Clang warning fixes.
   1107 
   1108         * UIProcess/API/mac/PageClientImpl.h:
   1109         * UIProcess/mac/TextCheckerMac.mm:
   1110         * WebProcess/Downloads/mac/DownloadMac.mm:
   1111 
   1112 2011-04-14  Jessie Berlin  <jberlin (a] apple.com>
   1113 
   1114         Reviewed by Timothy Hatcher.
   1115 
   1116         WebKit2: Add an option for a PageGroup to be invisible to the History Client.
   1117         https://bugs.webkit.org/show_bug.cgi?id=58547
   1118 
   1119         * Shared/WebPageGroupData.cpp:
   1120         (WebKit::WebPageGroupData::encode):
   1121         (WebKit::WebPageGroupData::decode):
   1122         * Shared/WebPageGroupData.h:
   1123 
   1124         * UIProcess/WebInspectorProxy.cpp:
   1125         (WebKit::WebInspectorProxy::inspectorPageGroup):
   1126         The Web Inspector should not be visible to the History Client, because its HTML-based nature
   1127         should not be exposed through the API.
   1128 
   1129         * UIProcess/WebPageGroup.cpp:
   1130         (WebKit::WebPageGroup::create):
   1131         (WebKit::WebPageGroup::WebPageGroup):
   1132         * UIProcess/WebPageGroup.h:
   1133 
   1134         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
   1135         (WebKit::WebFrameLoaderClient::updateGlobalHistory):
   1136         Do not send the message to the WebContent for the history client.
   1137         (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
   1138         Ditto.
   1139         (WebKit::WebFrameLoaderClient::setTitle):
   1140         Ditto.
   1141 
   1142         * WebProcess/WebPage/WebPageGroupProxy.h:
   1143         (WebKit::WebPageGroupProxy::isVisibleToHistoryClient):
   1144 
   1145 2011-04-14  Balazs Kelemen  <kbalazs (a] webkit.org>
   1146 
   1147         Reviewed by Andreas Kling.
   1148 
   1149         [Qt][WK2] Make Qt port compiling with ENABLE_PLUGIN_PROCESS=1
   1150         https://bugs.webkit.org/show_bug.cgi?id=55719
   1151 
   1152         Guard functionality related to complex text and implementations
   1153         that rely on MachPort with PLATFORM(MAC).
   1154         Based on Oleg Romashin's patch.
   1155 
   1156         * PluginProcess/PluginControllerProxy.cpp:
   1157         * PluginProcess/PluginControllerProxy.messages.in:
   1158         * PluginProcess/PluginProcess.cpp:
   1159         (WebKit::PluginProcess::createWebProcessConnection):
   1160         * PluginProcess/WebProcessConnection.cpp:
   1161         (WebKit::WebProcessConnection::createPlugin):
   1162         * Shared/Plugins/PluginProcessCreationParameters.cpp:
   1163         (WebKit::PluginProcessCreationParameters::decode): Fix bad C++ that
   1164         does not compile with gcc-linux.
   1165         * UIProcess/Plugins/PluginProcessProxy.cpp:
   1166         (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
   1167         (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
   1168         * UIProcess/Plugins/PluginProcessProxy.h:
   1169         * UIProcess/Plugins/PluginProcessProxy.messages.in:
   1170         * WebKit2.pro: Move implementation that does not need external
   1171         visibility from WebKit2API.pri. Adding the headers as well.
   1172         * WebKit2API.pri:
   1173         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
   1174         (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
   1175         * WebProcess/WebPage/WebPage.cpp:
   1176 
   1177 2011-04-13  James Robinson  <jamesr (a] chromium.org>
   1178 
   1179         Reviewed by Simon Fraser.
   1180 
   1181         Allow setting composited backing stores for scrollbars and scroll corners
   1182         https://bugs.webkit.org/show_bug.cgi?id=57202
   1183 
   1184         Update WebPopupMenuProxyWin to reflect ScrollableArea interface changes.
   1185 
   1186         * UIProcess/win/WebPopupMenuProxyWin.h:
   1187         (WebKit::WebPopupMenuProxyWin::invalidateScrollCornerRect):
   1188         (WebKit::WebPopupMenuProxyWin::scrollCornerPresent):
   1189         (WebKit::WebPopupMenuProxyWin::scrollCornerRect):
   1190 
   1191 2011-04-13  Jon Lee  <jonlee (a] apple.com>
   1192 
   1193         Reviewed by Maciej Stachowiak.
   1194 
   1195         REGRESSION(r81880): Paste menu is disabled for many edit fields (yahoo and google search, yahoo mail msg, forms, etc)
   1196         https://bugs.webkit.org/show_bug.cgi?id=58284
   1197         <rdar://problem/9246149>
   1198 
   1199         * WebProcess/WebPage/WebPage.cpp:
   1200         (WebKit::WebPage::setFocused): Check for whether we are not supposed to be focused AND whether our platform behavior dictates to clear out the selection
   1201 
   1202 2011-04-13  Dan Bernstein  <mitz (a] apple.com>
   1203 
   1204         Reviewed by Sam Weinig.
   1205 
   1206         Fixed a bug where WKView changed the cursor when the mouse was moving over other views.
   1207 
   1208         * UIProcess/API/mac/WKView.mm:
   1209         (-[WKView mouseMoved:]): If getting this message because this view is the first responder,
   1210         ignore it unless it is inside the visible rect.
   1211 
   1212 2011-04-13  Enrica Casucci  <enrica (a] apple.com>
   1213 
   1214         Reviewed by Dan Bernstein.
   1215 
   1216         Should not rely on WKEditableLinkBehavior being in synch
   1217         with WebCore::EditableLinkBehavior.
   1218         https://bugs.webkit.org/show_bug.cgi?id=58473
   1219 
   1220         Adding conversion routines.
   1221 
   1222         * UIProcess/API/C/WKAPICast.h:
   1223         (WebKit::toAPI):
   1224         (WebKit::toEditableLinkBehavior):
   1225         * UIProcess/API/C/WKPreferences.cpp:
   1226         (WKPreferencesSetEditableLinkBehavior):
   1227         (WKPreferencesGetEditableLinkBehavior):
   1228 
   1229 2011-04-13  Anders Carlsson  <andersca (a] apple.com>
   1230 
   1231         Reviewed by Dan Bernstein.
   1232 
   1233         After closing the last window, re-opening my last visited website is over 2X slower
   1234         https://bugs.webkit.org/show_bug.cgi?id=58488
   1235         <rdar://problem/9233518>
   1236 
   1237         Give the web process a 60 second termination timeout.
   1238 
   1239         * WebProcess/WebProcess.cpp:
   1240         (WebKit::WebProcess::WebProcess):
   1241 
   1242 2011-04-13  Anders Carlsson  <andersca (a] apple.com>
   1243 
   1244         Reviewed by Adam Roben.
   1245 
   1246         Convert WebProcess over to using disableTermination/enableTermination
   1247         https://bugs.webkit.org/show_bug.cgi?id=58485
   1248 
   1249         * PluginProcess/PluginProcess.cpp:
   1250         (WebKit::PluginProcess::getSitesWithData):
   1251         (WebKit::PluginProcess::clearSiteData):
   1252         Use the LocalTerminationDisabler RAII class.
   1253 
   1254         * Shared/ChildProcess.h:
   1255         (WebKit::ChildProcess::LocalTerminationDisabler::LocalTerminationDisabler):
   1256         (WebKit::ChildProcess::LocalTerminationDisabler::~LocalTerminationDisabler):
   1257         Add RAII class for calling disableTermination/enableTermination.
   1258 
   1259         * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
   1260         (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
   1261         (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
   1262         (WebKit::WebApplicationCacheManager::deleteAllEntries):
   1263         Use the LocalTerminationDisabler RAII class.
   1264 
   1265         * WebProcess/Cookies/WebCookieManager.cpp:
   1266         (WebKit::WebCookieManager::getHostnamesWithCookies):
   1267         (WebKit::WebCookieManager::deleteCookiesForHostname):
   1268         (WebKit::WebCookieManager::deleteAllCookies):
   1269         (WebKit::WebCookieManager::startObservingCookieChanges):
   1270         (WebKit::WebCookieManager::setHTTPCookieAcceptPolicy):
   1271         (WebKit::WebCookieManager::getHTTPCookieAcceptPolicy):
   1272         Use the LocalTerminationDisabler RAII class.
   1273 
   1274         * WebProcess/Downloads/Download.cpp:
   1275         (WebKit::Download::Download):
   1276         Call disableTermination().
   1277 
   1278         (WebKit::Download::~Download):
   1279         Call enableTermination().
   1280 
   1281         * WebProcess/Downloads/DownloadManager.cpp:
   1282         (WebKit::DownloadManager::downloadFinished):
   1283         Remove call to terminateIfPossible.
   1284 
   1285         * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
   1286         (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
   1287         (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
   1288         (WebKit::WebKeyValueStorageManager::deleteAllEntries):
   1289         Use the LocalTerminationDisabler RAII class.
   1290         
   1291         * WebProcess/MediaCache/WebMediaCacheManager.cpp:
   1292         (WebKit::WebMediaCacheManager::getHostnamesWithMediaCache):
   1293         (WebKit::WebMediaCacheManager::clearCacheForHostname):
   1294         (WebKit::WebMediaCacheManager::clearCacheForAllHostnames):
   1295         Use the LocalTerminationDisabler RAII class.
   1296         
   1297         * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
   1298         (WebKit::WebResourceCacheManager::getCacheOrigins):
   1299         (WebKit::WebResourceCacheManager::clearCacheForOrigin):
   1300         (WebKit::WebResourceCacheManager::clearCacheForAllOrigins):
   1301         Use the LocalTerminationDisabler RAII class.
   1302         
   1303         * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
   1304         (WebKit::WebDatabaseManager::getDatabasesByOrigin):
   1305         (WebKit::WebDatabaseManager::getDatabaseOrigins):
   1306         (WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin):
   1307         (WebKit::WebDatabaseManager::deleteDatabasesForOrigin):
   1308         (WebKit::WebDatabaseManager::deleteAllDatabases):
   1309         (WebKit::WebDatabaseManager::setQuotaForOrigin):
   1310         Use the LocalTerminationDisabler RAII class.
   1311         
   1312         * WebProcess/WebProcess.cpp:
   1313         (WebKit::WebProcess::createWebPage):
   1314         Call disableTermination().
   1315 
   1316         (WebKit::WebProcess::removeWebPage):
   1317         Call enableTermination().
   1318 
   1319         (WebKit::WebProcess::shouldTerminate):
   1320         Move logic from terminateIfPossible over here.
   1321 
   1322         (WebKit::WebProcess::terminate):
   1323         Move logic from terminateIfPossible over here.
   1324 
   1325         (WebKit::WebProcess::getSitesWithPluginData):
   1326         (WebKit::WebProcess::clearPluginSiteData):
   1327         Use the LocalTerminationDisabler RAII class.
   1328 
   1329         * WebProcess/WebProcess.h:
   1330         Publically inherit from ChildProcess, LocalTerminationDisabler needs to be accessible
   1331         from the WebProcess class.
   1332 
   1333 2011-04-13  Steve Falkenburg  <sfalken (a] apple.com>
   1334 
   1335         Reviewed by Adam Roben.
   1336 
   1337         Follow-up to: WebKit2 will load two copies of the same plugin, but should not
   1338         https://bugs.webkit.org/show_bug.cgi?id=49075
   1339         
   1340         Use pathGetFileName instead of Win32 PathFindFileNameW.
   1341 
   1342         * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
   1343         (WebKit::PluginInfoStore::shouldUsePlugin):
   1344 
   1345 2011-04-13  Sam Weinig  <sam (a] webkit.org>
   1346 
   1347         Reviewed by Gavin Barraclough.
   1348 
   1349         WebKit2 doesn't keep overlay scrollers shown while scroll gesture held
   1350         <rdar://problem/9260518>
   1351 
   1352         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
   1353         (InitWebCoreSystemInterface):
   1354         Initialize new WKSI functions.
   1355 
   1356 2011-04-13  Steve Falkenburg  <sfalken (a] apple.com>
   1357 
   1358         Reviewed by Oliver Hunt.
   1359 
   1360         WebKit2 will load two copies of the same plugin, but should not
   1361         https://bugs.webkit.org/show_bug.cgi?id=49075
   1362         <rdar://problem/8635947>
   1363 
   1364         * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
   1365         (WebKit::PluginInfoStore::shouldUsePlugin): Don't use a plug-in if we've already allowed a plug-in with the same filename.
   1366 
   1367 2011-04-13  Timothy Hatcher  <timothy (a] apple.com>
   1368 
   1369         Hide the dictionary panel when navigating or crashing.
   1370 
   1371         <rdar://problem/9261202>
   1372 
   1373         Reviewed by Sam Weinig.
   1374 
   1375         * UIProcess/API/mac/PageClientImpl.h:
   1376         * UIProcess/API/mac/PageClientImpl.mm:
   1377         (WebKit::PageClientImpl::dismissDictionaryLookupPanel): Added. Call WKHideWordDefinitionWindow.
   1378         * UIProcess/PageClient.h:
   1379         * UIProcess/WebPageProxy.cpp:
   1380         (WebKit::WebPageProxy::didCommitLoadForFrame): Call PageClient::dismissDictionaryLookupPanel.
   1381         (WebKit::WebPageProxy::processDidCrash): Call dismissCorrectionPanel and PageClient::dismissDictionaryLookupPanel.
   1382 
   1383 2011-04-13  Anders Carlsson  <andersca (a] apple.com>
   1384 
   1385         Reviewed by Adam Roben.
   1386 
   1387         Add support for disabling/enabling termination to ChildProcess
   1388         https://bugs.webkit.org/show_bug.cgi?id=58476
   1389 
   1390         Add ChildProcess::disableTermination and ChildProcess::enableTermination and convert
   1391         the PluginProcess class over to using them.
   1392 
   1393         * PluginProcess/PluginProcess.cpp:
   1394         (WebKit::PluginProcess::PluginProcess):
   1395         The child process now takes a terminationTimeout argument. Get rid of the shutdown timer.
   1396 
   1397         (WebKit::PluginProcess::removeWebProcessConnection):
   1398         Call enableTermination().
   1399 
   1400         (WebKit::PluginProcess::shouldTerminate):
   1401         Always return true.
   1402 
   1403         (WebKit::PluginProcess::createWebProcessConnection):
   1404         Call disableTermination().
   1405 
   1406         (WebKit::PluginProcess::getSitesWithData):
   1407         Call disableTermination()/enableTermination().
   1408 
   1409         (WebKit::PluginProcess::clearSiteData):
   1410         Ditto.
   1411 
   1412         * Shared/ChildProcess.cpp:
   1413         (WebKit::ChildProcess::disableTermination):
   1414         Increment the counter and stop the timer.
   1415 
   1416         (WebKit::ChildProcess::enableTermination):
   1417         Decrement the counter; if it's zero, start the timer.
   1418 
   1419         (WebKit::ChildProcess::terminationTimerFired):
   1420         Call shouldTerminate(). If it returns true, call terminate().
   1421 
   1422         (WebKit::ChildProcess::terminate):
   1423         Call RunLoop::quit().
   1424 
   1425         * WebProcess/WebProcess.cpp:
   1426         (WebKit::WebProcess::WebProcess):
   1427         Just initialize the termination timeout to 0 for now.
   1428 
   1429         (WebKit::WebProcess::shouldTerminate):
   1430         Always return true; this isn't used yet.
   1431 
   1432         * WebProcess/WebProcess.h:
   1433 
   1434 2011-04-13  Enrica Casucci  <enrica (a] apple.com>
   1435 
   1436         Reviewed by Dan Bernstein.
   1437 
   1438         REGRESSION: Links are clickable when a contentEditable is set to true.
   1439         https://bugs.webkit.org/show_bug.cgi?id=58473
   1440         <rdar://problem/9256793>
   1441         
   1442         Added support for editable link behavior property.
   1443 
   1444         * Shared/WebPreferencesStore.cpp:
   1445         * Shared/WebPreferencesStore.h:
   1446         * UIProcess/API/C/WKPreferences.cpp:
   1447         (WKPreferencesSetEditableLinkBehavior):
   1448         (WKPreferencesGetEditableLinkBehavior):
   1449         * UIProcess/API/C/WKPreferencesPrivate.h:
   1450         * WebProcess/WebPage/WebPage.cpp:
   1451         (WebKit::WebPage::updatePreferences):
   1452 
   1453 2011-04-12  Alexey Proskuryakov  <ap (a] apple.com>
   1454 
   1455         Reviewed by Oliver Hunt.
   1456 
   1457         REGRESSION (WebKit2): Input methods are active in non-editable content
   1458         https://bugs.webkit.org/show_bug.cgi?id=58404
   1459         <rdar://problem/9275940>
   1460 
   1461         * UIProcess/API/mac/WKView.mm:
   1462         (-[WKView insertText:]): Re-add the old variant of this function, because it's not only part
   1463         of deprecated NSTextInput protocol, but it's also part of NSResponder, and it's called when
   1464         the input context in nil.
   1465         (-[WKView inputContext]): Return nil when not in editable content.
   1466 
   1467 2011-04-12  Brady Eidson  <beidson (a] apple.com>
   1468 
   1469         Reviewed by Maciej Stachowiak.
   1470 
   1471         <rdar://problem/9029193> and https://bugs.webkit.org/show_bug.cgi?id=58406
   1472         Bringing up the context menu on a link might also follow the link.
   1473 
   1474         This patch adds a flag that is set just before the WebProcess tells the UIProcess to show a context menu.
   1475 
   1476         As long as this flag is set, the WebProcess will ignore any other mouse events that might have queued up
   1477         by the time the UIProcess gets around to showing the menu.
   1478 
   1479         After the UIProcess is done showing the menu, it messages back telling the WebProcess to clear the flag
   1480         and resume normal MouseEvent handling.
   1481 
   1482         * UIProcess/WebPageProxy.cpp:
   1483         (WebKit::WebPageProxy::showContextMenu): No matter what internalShowContextMenu does, always notify
   1484           the WebProcess that any context menu is now hidden.
   1485         (WebKit::WebPageProxy::internalShowContextMenu):
   1486         * UIProcess/WebPageProxy.h:
   1487 
   1488         * WebProcess/WebPage/WebContextMenu.cpp:
   1489         (WebKit::WebContextMenu::show): Since we're telling the UIProcess to show the menu, tell the WebPage a
   1490           context menu is showing so it will stop handling mouse events.
   1491 
   1492         * WebProcess/WebPage/WebPage.cpp:
   1493         (WebKit::WebPage::WebPage):
   1494         (WebKit::WebPage::mouseEvent): Don't try to handle mouse events if a context menu is flagged as showing.
   1495 
   1496         Add accessors to twiddle the "context menu showing" flag:
   1497         * WebProcess/WebPage/WebPage.h:
   1498         (WebKit::WebPage::contextMenuShowing):
   1499         (WebKit::WebPage::contextMenuHidden):
   1500         * WebProcess/WebPage/WebPage.messages.in: Add the ContextMenuHidden message.
   1501 
   1502 2011-04-12  Sam Weinig  <sam (a] webkit.org>
   1503 
   1504         Reviewed by Maciej Stachowiak.
   1505 
   1506         Quarantine related sandbox denial when downloading files
   1507         <rdar://problem/9203736>
   1508 
   1509         * WebProcess/com.apple.WebProcess.sb:
   1510 
   1511 2011-04-12  Sam Weinig  <sam (a] webkit.org>
   1512 
   1513         Reviewed by Anders Carlsson.
   1514 
   1515         Sandbox violations dragging an image to the desktop.
   1516         <rdar://problem/9261834>
   1517 
   1518         * WebProcess/com.apple.WebProcess.sb:
   1519 
   1520 2011-04-12  Sam Weinig  <sam (a] webkit.org>
   1521 
   1522         Reviewed by Cameron Zwarich.
   1523 
   1524         Sandbox violations trying to access ~/Library/Keyboard Layouts and ~/Library/Input Methods
   1525         <rdar://problem/8973159> 
   1526 
   1527         * WebProcess/com.apple.WebProcess.sb:
   1528 
   1529 2011-04-12  Enrica Casucci  <enrica (a] apple.com>
   1530 
   1531         Reviewed by Alexey Proskuryakov and Sam Weinig.
   1532 
   1533         Implement non-activating clicks to allow dragging out of a background window.
   1534         https://bugs.webkit.org/show_bug.cgi?id=55053
   1535         <rdar://problem/9042197>
   1536 
   1537         Added methods to WKView to support non activating click. Unfortunately both
   1538         methods require a synchronous call to the WebProcess to decide what to do.
   1539         acceptFirstMouse is called only if shouldDelayWindowOrderingForEvent returns
   1540         true. In order to minimize the number of synchronous calls, we send the request
   1541         only if our window is not the key window.
   1542 
   1543         * UIProcess/API/mac/WKView.mm:
   1544         (-[WKView acceptsFirstMouse:]):
   1545         (-[WKView shouldDelayWindowOrderingForEvent:]):
   1546         * UIProcess/WebPageProxy.h:
   1547         * UIProcess/mac/WebPageProxyMac.mm:
   1548         (WebKit::WebPageProxy::shouldDelayWindowOrderingForEvent):
   1549         (WebKit::WebPageProxy::acceptsFirstMouse):
   1550         * WebProcess/WebPage/WebPage.h:
   1551         * WebProcess/WebPage/WebPage.messages.in:
   1552         * WebProcess/WebPage/mac/WebPageMac.mm:
   1553         (WebKit::WebPage::shouldDelayWindowOrderingEvent):
   1554         (WebKit::WebPage::acceptsFirstMouse):
   1555 
   1556 2011-04-12  Alexey Proskuryakov  <ap (a] apple.com>
   1557 
   1558         Reviewed by Oliver Hunt.
   1559 
   1560         Crash when serializing a null AttributedString
   1561         https://bugs.webkit.org/show_bug.cgi?id=58393
   1562         <rdar://problem/9275326>
   1563 
   1564         * Shared/mac/AttributedString.mm:
   1565         (WebKit::AttributedString::encode):
   1566         (WebKit::AttributedString::decode):
   1567         Prefix the serialized value with an isNull tag.
   1568 
   1569 2011-04-12  Enrica Casucci  <enrica (a] apple.com>
   1570 
   1571         Reviewed by Alexey Proskuryakov.
   1572 
   1573         Infinite recursion in WebHTMLView executeSavedKeypressCommands.
   1574         https://bugs.webkit.org/show_bug.cgi?id=58382
   1575         <rdar://problem/9239370>
   1576 
   1577         Execution of some editing commands could trigger a call to selectedRange that
   1578         internally calls executeSavedKeypressCommands creating an infinite recursion.
   1579 
   1580         * UIProcess/API/mac/WKView.mm:
   1581         (-[WKView _executeSavedKeypressCommands]): Added flag to avoid recursion.
   1582         (-[WKView _interpretKeyEvent:withCachedTextInputState:savingCommandsTo:WebCore::]):
   1583         Added flag initialization.
   1584 
   1585 2011-04-12  Chris Marrin  <cmarrin (a] apple.com>
   1586 
   1587         Reviewed by Simon Fraser.
   1588 
   1589         Page tears and stutters in WebKit2 when page is > 2048 pixels wide
   1590         https://bugs.webkit.org/show_bug.cgi?id=58330
   1591 
   1592         Turn off tiling for nonCompositedContentLayer to avoid tearing when
   1593         scrolling very wide (> 2048) windows.
   1594 
   1595         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
   1596         (WebKit::LayerTreeHostCA::initialize):
   1597 
   1598 2011-04-12  Anders Carlsson  <andersca (a] apple.com>
   1599 
   1600         Reviewed by Adam Roben.
   1601 
   1602         Assertion in DrawingAreaImpl::resumePainting() (m_isPaintingSuspended) when clicking a link at twitter.com
   1603         https://bugs.webkit.org/show_bug.cgi?id=58377
   1604         <rdar://problem/8976531>
   1605 
   1606         Remove the assertion.
   1607 
   1608         * WebProcess/WebPage/DrawingAreaImpl.cpp:
   1609         (WebKit::DrawingAreaImpl::resumePainting):
   1610 
   1611 2011-04-11  Stephanie Lewis  <slewis (a] apple.com>
   1612 
   1613         Reviewed by Oliver Hunt.
   1614 
   1615         https://bugs.webkit.org/show_bug.cgi?id=58280
   1616         <rdar://problem/9252824> javascript in an inconsistent state due to serialization returning an un-handled exception
   1617         Change use of SerializedScriptValue::Create to use the same api as the rest of WebKit2.  This has the benefit
   1618         of handling any exceptions so Javascript is not in an inconsistent state.
   1619 
   1620         * Shared/API/c/WKSerializedScriptValue.h: fix a typo
   1621         * WebProcess/WebPage/WebPage.cpp:
   1622         (WebKit::WebPage::runJavaScriptInMainFrame):
   1623 
   1624 2011-04-12  Jeff Miller  <jeffm (a] apple.com>
   1625 
   1626         Reviewed by Adam Roben.
   1627 
   1628         WebKit2: Pressing Tab in Web Inspector's console does not cycle through completion options
   1629         https://bugs.webkit.org/show_bug.cgi?id=56020
   1630 
   1631         Safari was always calling TranslateMessage() on key events since it has no way to know whether
   1632         WebKit handled the event without a PageUIClient (which Safari only installs on pages inside
   1633         a Safari window), which was generating a WM_CHAR message containing the tab in this case.  The fix
   1634         is for Safari to never call TranslateMessage() on key events outside of a Safari window, but this
   1635         means the WebPageProxy needs to do this for unhandled key events if there is no didNotHandleKeyEvent
   1636         callback in the PageUIClient.
   1637 
   1638         * UIProcess/WebPageProxy.cpp:
   1639         (WebKit::WebPageProxy::didReceiveEvent): Call TranslateMessage() on Windows for unhandled key events that can't be handled by the PageUIClient.
   1640         * UIProcess/WebUIClient.cpp:
   1641         (WebKit::WebUIClient::canNotHandleKeyEvent): Added.
   1642         * UIProcess/WebUIClient.h: Added canNotHandleKeyEvent().
   1643 
   1644 2011-04-12  Alice Liu  <alice.liu (a] apple.com>
   1645 
   1646         Reviewed by Sam Weinig.
   1647 
   1648         https://bugs.webkit.org/show_bug.cgi?id=58292
   1649         Provide new setting to allow site icon loading despite disabling automatic image loading in general.
   1650 
   1651         * Shared/WebPreferencesStore.h: Add macro for setting default value.
   1652         * UIProcess/API/C/WKPreferences.cpp:
   1653         (WKPreferencesSetLoadsSiteIconsIgnoringImageLoadingPreference): Added setter.
   1654         (WKPreferencesGetLoadsSiteIconsIgnoringImageLoadingPreference): Added getter.
   1655         * UIProcess/API/C/WKPreferences.h:
   1656         * WebProcess/WebPage/WebPage.cpp:
   1657         (WebKit::WebPage::updatePreferences): Add to list of WebCore settings that get propagated to WebKit preferences.
   1658 
   1659 2011-04-12  Jessie Berlin  <jberlin (a] apple.com>
   1660 
   1661         Reviewed by Anders Carlsson.
   1662 
   1663         WebKit2: Spelling and Grammar Checking: Make sure to remove the markings from the document
   1664         when spelling and/or grammar checking is disabled.
   1665         https://bugs.webkit.org/show_bug.cgi?id=58350
   1666 
   1667         * UIProcess/API/mac/WKView.mm:
   1668         (-[WKView toggleContinuousSpellChecking:]):
   1669         Move the call to unmark the errors to the WebProcess.
   1670         (-[WKView setGrammarCheckingEnabled:]):
   1671         Ditto.
   1672         (-[WKView toggleGrammarChecking:]):
   1673         Ditto.
   1674 
   1675         * UIProcess/WebPageProxy.cpp:
   1676         Remove unused functions.
   1677         * UIProcess/WebPageProxy.h:
   1678         Ditto.
   1679         * WebProcess/WebPage/WebPage.messages.in:
   1680         Ditto.
   1681         * WebProcess/WebPage/WebPage.h:
   1682 
   1683         * WebProcess/WebProcess.cpp:
   1684         (WebKit::WebProcess::setTextCheckerState):
   1685         If grammar or spelling checking is disabled, unmark all the pages.
   1686         Doing it here allows makes it possible to unmark all pages in a cross-platform way that is
   1687         triggered both by selecting the the context menu items and by any other methods of updating
   1688         the enabled / disabled state.
   1689 
   1690 2011-04-12  Anders Carlsson  <andersca (a] apple.com>
   1691 
   1692         Reviewed by Sam Weinig.
   1693 
   1694         Cisco Meeting Center will not download or launch from Safari
   1695         https://bugs.webkit.org/show_bug.cgi?id=58366
   1696         <rdar://problem/8987139>
   1697 
   1698         It's OK if a plug-in has less (or more) MIME type descriptions than actual MIME types.
   1699         
   1700         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
   1701         (WebKit::getPluginInfoFromCarbonResources):
   1702 
   1703 2011-04-12  Anders Carlsson  <andersca (a] apple.com>
   1704 
   1705         Reviewed by Sam Weinig.
   1706 
   1707         Call PluginControllerProxy::platformGeometryDidChange before Plugin::geometryDidChange
   1708         https://bugs.webkit.org/show_bug.cgi?id=58361
   1709 
   1710         Since Plugin::geometryDidChange ends up calling plug-in code it can resize the plug-in which causes
   1711         platformGeometryDidChange to be called with the wrong rect.
   1712 
   1713         * PluginProcess/PluginControllerProxy.cpp:
   1714         (WebKit::PluginControllerProxy::geometryDidChange):
   1715         Call platformGeometryDidChange.
   1716 
   1717         * PluginProcess/PluginControllerProxy.h:
   1718         * PluginProcess/mac/PluginControllerProxyMac.mm:
   1719         (WebKit::PluginControllerProxy::platformGeometryDidChange):
   1720         Remove the parameters to platformGeometryDidChange and just use m_frameRect instead.
   1721 
   1722 2011-04-12  Anders Carlsson  <andersca (a] apple.com>
   1723 
   1724         Reviewed by Sam Weinig.
   1725 
   1726         Move three Mac specific functions to PluginControllerProxyMac.mm.
   1727         
   1728 2011-04-12  Anders Carlsson  <andersca (a] apple.com>
   1729 
   1730         Reviewed by Sam Weinig.
   1731 
   1732         Cache the window and plug-in element NPObjects
   1733         https://bugs.webkit.org/show_bug.cgi?id=58355
   1734 
   1735         * PluginProcess/PluginControllerProxy.cpp:
   1736         (WebKit::PluginControllerProxy::PluginControllerProxy):
   1737         (WebKit::PluginControllerProxy::~PluginControllerProxy):
   1738         (WebKit::PluginControllerProxy::windowScriptNPObject):
   1739         (WebKit::PluginControllerProxy::pluginElementNPObject):
   1740         * PluginProcess/PluginControllerProxy.h:
   1741 
   1742 2011-04-12  Alejandro G. Castro  <alex (a] igalia.com>
   1743 
   1744         Fixed GTK compilation after r83454.
   1745 
   1746         * UIProcess/gtk/WebView.cpp:
   1747         (WebKit::WebView::findStringInCustomRepresentation):
   1748         (WebKit::WebView::countStringMatchesInCustomRepresentation):
   1749         * UIProcess/gtk/WebView.h:
   1750 
   1751 2011-04-11  Daniel Bates  <dbates (a] webkit.org>
   1752 
   1753         Attempt to fix the Qt Linux Release build after changeset 83550 <http://trac.webkit.org/changeset/83550>
   1754         (https://bugs.webkit.org/show_bug.cgi?id=54159).
   1755 
   1756         * WebKit2API.pri: Append UIProcess/API/C/WKResourceCacheManager.cpp to the list WEBKIT2_API_SOURCES.
   1757 
   1758 2011-04-11  Sam Weinig  <sam (a] webkit.org>
   1759 
   1760         Reviewed by Anders Carlsson.
   1761 
   1762         Move focus management out of WebKit via  the UIClient
   1763         <rdar://problem/8784068>
   1764         https://bugs.webkit.org/show_bug.cgi?id=58278
   1765 
   1766         * UIProcess/API/C/WKPage.h:
   1767         * UIProcess/API/mac/PageClientImpl.h:
   1768         * UIProcess/API/mac/PageClientImpl.mm:
   1769         * UIProcess/API/qt/qwkpage.cpp:
   1770         (QWKPage::QWKPage):
   1771         * UIProcess/API/qt/qwkpage_p.h:
   1772         * UIProcess/PageClient.h:
   1773         * UIProcess/WebPageProxy.cpp:
   1774         (WebKit::WebPageProxy::setFocus):
   1775         * UIProcess/WebUIClient.cpp:
   1776         (WebKit::WebUIClient::focus):
   1777         (WebKit::WebUIClient::unfocus):
   1778         * UIProcess/WebUIClient.h:
   1779         * UIProcess/gtk/WebView.cpp:
   1780         * UIProcess/gtk/WebView.h:
   1781         * UIProcess/win/WebView.h:
   1782         Remove PageClient::setFocus() in favor of WebUIClient::focus and WebUIClient::unfocus. 
   1783 
   1784 2011-04-11  Alexey Proskuryakov  <ap (a] apple.com>
   1785 
   1786         Reviewed by Maciej Stachowiak.
   1787 
   1788         WebKit2: Cannot use Ctrl-Delete as a custom keyboard shortcut
   1789         https://bugs.webkit.org/show_bug.cgi?id=58265
   1790         <rdar://problem/9221468>
   1791 
   1792         * WebProcess/WebPage/WebPage.cpp:
   1793         (WebKit::WebPage::keyEvent): Added a comment explaining that doing work after DOM event
   1794         dispatch isn't great.
   1795         * WebProcess/WebPage/mac/WebPageMac.mm:
   1796         (WebKit::WebPage::performNonEditingBehaviorForSelector): Added a comment explaining how this
   1797         might be moved down to WebCore.
   1798         (WebKit::WebPage::performDefaultBehaviorForKeyEvent): This is now empty, since both Space
   1799         and Backspace behaviors are implemented in WebCore.
   1800 
   1801 2011-04-11  Anders Carlsson  <andersca (a] apple.com>
   1802 
   1803         Try to fix the Windows build.
   1804 
   1805         * UIProcess/win/WebInspectorProxyWin.cpp:
   1806         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
   1807 
   1808 2011-04-11  Alexey Proskuryakov  <ap (a] apple.com>
   1809 
   1810         Reviewed by Dan Bernstein.
   1811 
   1812         REGRESSION (r83081): Esc key no longer removes current Kotoeri text operation
   1813         https://bugs.webkit.org/show_bug.cgi?id=58274
   1814         <rdar://problem/9263683>
   1815 
   1816         * WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::getMarkedRange): Wrap the returned
   1817         temporary in RefPtr.
   1818 
   1819 2011-04-11  Anders Carlsson  <andersca (a] apple.com>
   1820 
   1821         Reviewed by Sam Weinig.
   1822 
   1823         Remove m_urlAtProcessExit from WebPageProxy
   1824         https://bugs.webkit.org/show_bug.cgi?id=58275
   1825 
   1826         Get rid of m_urlAtProcessExit and replace some zeros with nullptrs.
   1827 
   1828         * UIProcess/WebPageProxy.cpp:
   1829         (WebKit::WebPageProxy::processDidCrash):
   1830         * UIProcess/WebPageProxy.h:
   1831 
   1832 2011-04-11  Anders Carlsson  <andersca (a] apple.com>
   1833 
   1834         Reviewed by Adam Roben.
   1835 
   1836         Remove the WebContext member variable from WebPageProxy
   1837         https://bugs.webkit.org/show_bug.cgi?id=58271
   1838         <rdar://problem/9148125>
   1839 
   1840         * UIProcess/API/C/WKPage.cpp:
   1841         (WKPageGetContext):
   1842         * UIProcess/WebPageProxy.cpp:
   1843         (WebKit::WebPageProxy::create):
   1844         (WebKit::WebPageProxy::WebPageProxy):
   1845         (WebKit::WebPageProxy::process):
   1846         (WebKit::WebPageProxy::reattachToWebProcess):
   1847         (WebKit::WebPageProxy::canShowMIMEType):
   1848         (WebKit::WebPageProxy::receivedPolicyDecision):
   1849         (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
   1850         (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
   1851         (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
   1852         (WebKit::WebPageProxy::didCommitLoadForFrame):
   1853         (WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
   1854         (WebKit::WebPageProxy::didFinishLoadForFrame):
   1855         (WebKit::WebPageProxy::didFailLoadForFrame):
   1856         (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
   1857         (WebKit::WebPageProxy::didReceiveTitleForFrame):
   1858         (WebKit::WebPageProxy::didFirstLayoutForFrame):
   1859         (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
   1860         (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
   1861         (WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
   1862         (WebKit::WebPageProxy::didRunInsecureContentForFrame):
   1863         (WebKit::WebPageProxy::decidePolicyForNavigationAction):
   1864         (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
   1865         (WebKit::WebPageProxy::decidePolicyForResponse):
   1866         (WebKit::WebPageProxy::unableToImplementPolicy):
   1867         (WebKit::WebPageProxy::willSubmitForm):
   1868         (WebKit::WebPageProxy::mouseDidMoveOverElement):
   1869         (WebKit::WebPageProxy::showContextMenu):
   1870         (WebKit::WebPageProxy::contextMenuItemSelected):
   1871         * UIProcess/WebPageProxy.h:
   1872         * UIProcess/WebProcessProxy.cpp:
   1873         (WebKit::WebProcessProxy::createWebPage):
   1874         * UIProcess/mac/WebInspectorProxyMac.mm:
   1875         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
   1876 
   1877 2011-04-11  Eric Carlson  <eric.carlson (a] apple.com>
   1878 
   1879         Reviewed by Adam Roben.
   1880 
   1881         Ignore context change callbacks when not on the main thread
   1882         https://bugs.webkit.org/show_bug.cgi?id=58256
   1883         <rdar://problem/9266090>
   1884 
   1885         * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp:
   1886         (WebKit::LayerTreeHostCAWin::contextDidChangeCallback): Do nothing when not called
   1887             on the main thread. This should only happen when no changes have actually 
   1888             been committed to the context, eg. when a video frame has been added to an image
   1889             queue, so return without triggering animations etc.
   1890 
   1891 2011-04-11  Anders Carlsson  <andersca (a] apple.com>
   1892 
   1893         Reviewed by Sam Weinig.
   1894 
   1895         First step towards simplifying WebPageProxy/WebProcessProxy/WebContext ownership
   1896         https://bugs.webkit.org/show_bug.cgi?id=58266
   1897         <rdar://problem/9148125>
   1898 
   1899         With this patch, the WKView holds a strong reference to a WebPageProxy. The 
   1900         WebPageProxy in turn holds a strong reference to its WebProcessProxy. Finally,
   1901         The WebProcessProxy holds a strong reference to its WebContext.
   1902 
   1903         The WebContext holds a strong reference to the running WebProcessProxy which results
   1904         in a reference cycle that's broken when the web process exits.
   1905 
   1906         The reason for is to avoid crashes where WebPageProxy::process() returns null if the web process
   1907         has crashed but has not yet been relaunched.
   1908 
   1909         * UIProcess/WebContext.cpp:
   1910         (WebKit::WebContext::disconnectProcess):
   1911         Add comment.
   1912 
   1913         (WebKit::WebContext::createWebPage):
   1914         Return a PassRefPtr.
   1915 
   1916         (WebKit::WebContext::relaunchProcessIfNecessary):
   1917         Change this to return a WebPageProxy.
   1918 
   1919         * UIProcess/WebPageProxy.cpp:
   1920         (WebKit::WebPageProxy::create):
   1921         This now takes a PassRefPtr<WebProcessProxy>.
   1922 
   1923         (WebKit::WebPageProxy::WebPageProxy):
   1924         Ditto.
   1925 
   1926         (WebKit::WebPageProxy::~WebPageProxy):
   1927         Call close() if necessary.
   1928 
   1929         (WebKit::WebPageProxy::reattachToWebProcess):
   1930         Replace the current process with the new process.
   1931 
   1932         * UIProcess/WebProcessProxy.cpp:
   1933         (WebKit::WebProcessProxy::create):
   1934         Take a PassRefPtr<WebContext>.
   1935         
   1936         (WebKit::WebProcessProxy::WebProcessProxy):
   1937         Ditto.
   1938 
   1939         (WebKit::WebProcessProxy::webPage):
   1940         Remove .get() now that the page map uses weak references.
   1941 
   1942         (WebKit::WebProcessProxy::createWebPage):
   1943         This now returns the created web page proxy.
   1944 
   1945 2011-04-11  Adam Roben  <aroben (a] apple.com>
   1946 
   1947         Dispatch sent messages to windows owned by the web process when waiting a sync CoreIPC reply
   1948 
   1949         On Windows, windowed plugins' HWNDs are created as children of the WKView's window. This
   1950         creates a cross-process window hierarchy, which in turn attaches the input states of the UI
   1951         process's and web process's main threads (as if ::AttachThreadInput has been called). Having
   1952         the input states attached means that changes to the input state (e.g., changing the focus
   1953         window) can result in synchronous window messages being sent between the processes. This can
   1954         result in deadlocks if the UI process changes the input state while handling a synchronous
   1955         CoreIPC message from the web process. Since the web process isn't running its message loop
   1956         while waiting for the reply, it never processes the messages Windows is sending it from the
   1957         UI process.
   1958 
   1959         The solution taken in this patch is to continue to dispatch sent (not posted) messages to
   1960         windows created by the web process while waiting for a sync CoreIPC reply. Someday we can
   1961         hopefully reduce the number of cases in which the UI process modifies the thread's input
   1962         state while handling a synchronous message; see the bug for details.
   1963 
   1964         Fixes <http://webkit.org/b/58239> <rdar://problem/8769302> REGRESSION (WebKit2): Deadlock
   1965         clicking Flash plugin
   1966 
   1967         Reviewed by Anders Carlsson.
   1968 
   1969         * Platform/CoreIPC/BinarySemaphore.h:
   1970         (CoreIPC::BinarySemaphore::event): Added. Simple getter to expose the underlying event
   1971         HANDLE.
   1972 
   1973         * Platform/CoreIPC/Connection.cpp:
   1974         (CoreIPC::Connection::SyncMessageState::waitWhileDispatchingSentMessages): New Windows-only
   1975         function that is used instead of wait() so that sent messages will continue to be
   1976         dispatched.
   1977         (CoreIPC::Connection::waitForSyncReply): Use waitWhileDispatchingSentMessages instead of
   1978         wait on Windows. Our Client gives us the set of windows that need to have windows delivered
   1979         to them.
   1980 
   1981         * Platform/CoreIPC/Connection.h: Added new
   1982         windowsToReceiveSentMessagesWhileWaitingForSyncReply function to Client.
   1983 
   1984         * Platform/RunLoop.h: Added new dispatchSentMessagesUntil function to be used while waiting
   1985         for a sync CoreIPC reply.
   1986 
   1987         * Platform/win/RunLoopWin.cpp:
   1988         (RunLoop::dispatchSentMessagesUntil): Added. If we have no windows to dispatch messages to,
   1989         then just wait on the semaphore. Otherwise spin a ::MsgWaitForMultipleObjectsEx loop to
   1990         detect when the semaphore is signaled, the timeout elapses, or sent messages are available,
   1991         and handle each case appropriately.
   1992 
   1993         * UIProcess/WebProcessProxy.h: Added new CoreIPC::Connection::Client function.
   1994 
   1995         * UIProcess/win/WebProcessProxyWin.cpp: Added.
   1996         (WebKit::WebProcessProxy::windowsToReceiveSentMessagesWhileWaitingForSyncReply): Just return
   1997         an empty Vector. The web process never modifies the thread's input state while responding to
   1998         a synchronous message, so we don't have anything to worry about here.
   1999 
   2000         * WebProcess/WebProcess.h: Added new CoreIPC::Connection::Client function.
   2001 
   2002         * WebProcess/win/WebProcessWin.cpp:
   2003         (WebKit::addWindowToVectorIfOwnedByCurrentThread): New helper function to be called by
   2004         ::EnumThreadWindows/::EnumChildWindows. Does what it says.
   2005         (WebKit::WebProcess::windowsToReceiveSentMessagesWhileWaitingForSyncReply): Added. Returns
   2006         all top-level windows created by this thread, descendants of those windows created by this
   2007         thread, and descendants of WKViews' windows created by this thread.
   2008 
   2009         * win/WebKit2.vcproj: Added WebProcessProxyWin.cpp.
   2010 
   2011 2011-04-11  Jessie Berlin  <jberlin (a] apple.com>
   2012 
   2013         Reviewed by Anders Carlsson.
   2014 
   2015         WebKit2: Implement TextChecker on Windows
   2016         https://bugs.webkit.org/show_bug.cgi?id=57862
   2017 
   2018         Part 7: Implement getGuessesForWord, learnWord, and ignoreWord.
   2019 
   2020         * UIProcess/API/C/win/WKTextChecker.cpp:
   2021         (WKTextCheckerChangeSpellingToWord):
   2022         * UIProcess/API/C/win/WKTextChecker.h:
   2023 
   2024         * UIProcess/WebPageProxy.cpp:
   2025         (WebKit::WebPageProxy::changeSpellingToWord):
   2026         Make this function const since it does not modify the WebPageProxy and making it const
   2027         allows WebTextChecker::changeSpellingToWord to take a const WebPageProxy.
   2028         (WebKit::WebPageProxy::learnWord):
   2029         * UIProcess/WebPageProxy.h:
   2030 
   2031         * UIProcess/TextChecker.h:
   2032         * UIProcess/win/TextCheckerWin.cpp:
   2033         (WebKit::TextChecker::getGuessesForWord):
   2034         Ask the TextCheckerClient for the guesses.
   2035         (WebKit::TextChecker::learnWord):
   2036         Tell the TextCheckerClient.
   2037         (WebKit::TextChecker::ignoreWord):
   2038         Ditto.
   2039         * UIProcess/gtk/TextCheckerGtk.cpp:
   2040         (WebKit::TextChecker::learnWord):
   2041         Add an unused param that is necessary for Windows.
   2042         * UIProcess/mac/TextCheckerMac.mm:
   2043         (WebKit::TextChecker::learnWord):
   2044         Ditto.
   2045         * UIProcess/qt/TextCheckerQt.cpp:
   2046         (WebKit::TextChecker::learnWord):
   2047         Ditto.
   2048 
   2049         * UIProcess/win/WebTextChecker.cpp:
   2050         (WebKit::WebTextChecker::changeSpellingToWord):
   2051         Tell the page.
   2052         * UIProcess/win/WebTextChecker.h:
   2053 
   2054         * UIProcess/win/WebTextCheckerClient.cpp:
   2055         (WebKit::WebTextCheckerClient::guessesForWord):
   2056         (WebKit::WebTextCheckerClient::learnWord):
   2057         (WebKit::WebTextCheckerClient::ignoreWord):
   2058         * UIProcess/win/WebTextCheckerClient.h:
   2059 
   2060 2011-04-11  Anders Carlsson  <andersca (a] apple.com>
   2061 
   2062         Reviewed by Sam Weinig.
   2063 
   2064         Remove unused WebProcessProxy functions
   2065         https://bugs.webkit.org/show_bug.cgi?id=58262
   2066 
   2067         * UIProcess/WebProcessProxy.cpp:
   2068         * UIProcess/WebProcessProxy.h:
   2069 
   2070 2011-04-11  Anders Carlsson  <andersca (a] apple.com>
   2071 
   2072         Reviewed by Sam Weinig.
   2073 
   2074         Crash in WebPageProxy::countStringMatches
   2075         https://bugs.webkit.org/show_bug.cgi?id=58255
   2076         <rdar://problem/9243837>
   2077 
   2078         * UIProcess/WebPageProxy.cpp:
   2079         (WebKit::WebPageProxy::countStringMatches):
   2080         Return early if the page is not valid.
   2081 
   2082 2011-04-11  Sam Weinig  <sam (a] webkit.org>
   2083 
   2084         Reviewed by Anders Carlsson.
   2085 
   2086         WebKit2: links dont update to look visited
   2087         <rdar://problem/8806254>
   2088         https://bugs.webkit.org/show_bug.cgi?id=58252
   2089 
   2090         * WebProcess/WebProcess.cpp:
   2091         (WebKit::WebProcess::visitedLinkStateChanged):
   2092         (WebKit::WebProcess::allVisitedLinkStateChanged):
   2093         * WebProcess/WebProcess.h:
   2094         Remove use of vestigial sharedPageGroup and instead iterate set of
   2095         page groups in use by the process.
   2096 
   2097 2011-04-11  Brian Weinstein  <bweinstein (a] apple.com>
   2098 
   2099         Reviewed by Adam Roben.
   2100 
   2101         WebKit2: Windows 7 Gestures Window Bounce shouldn't require a sync message
   2102         https://bugs.webkit.org/show_bug.cgi?id=58167
   2103         <rdar://problem/9259813>
   2104         
   2105         Instead of making GestureDidScroll sync, have WebPageWin call from WebProcess ->
   2106         UIProcess when the gesture causes the page to scroll to the beginning or the
   2107         end of the document.
   2108 
   2109         * UIProcess/PageClient.h:
   2110         * UIProcess/WebPageProxy.cpp:
   2111         (WebKit::WebPageProxy::gestureDidScroll): Not a sync message anymore.
   2112         (WebKit::WebPageProxy::setGestureScrollingLimitReached): Tell the page client that the gesture
   2113             scrolling limnit was reached.
   2114         * UIProcess/WebPageProxy.h:
   2115         * UIProcess/WebPageProxy.messages.in: Add a new message.
   2116         * UIProcess/win/WebView.cpp:
   2117         (WebKit::WebView::WebView): Initialize new variable.
   2118         (WebKit::WebView::onGesture): Use the state of the member variable, not the response from
   2119             the sync message.
   2120         * UIProcess/win/WebView.h:
   2121         (WebKit::WebView::setGestureScrollingLimitReached):
   2122         * WebProcess/WebPage/WebPage.h:
   2123         * WebProcess/WebPage/WebPage.messages.in:
   2124         * WebProcess/WebPage/win/WebPageWin.cpp:
   2125         (WebKit::scrollbarAtTopOfBottomOrDocument): Returns whether or not the scrollbar is at the
   2126             top or bottom of the document.
   2127         (WebKit::WebPage::gestureDidScroll): Track whether or not we started at the beginning
   2128             or end of the document, and whether or not we ended at the beginning or end of the document,
   2129             and send a message if the value changed.
   2130 
   2131 2011-04-04  Jer Noble  <jer.noble (a] apple.com>
   2132 
   2133         Reviewed by Maciej Stachowiak.
   2134 
   2135         WK2: PDF: Find in page
   2136         https://bugs.webkit.org/show_bug.cgi?id=57765
   2137 
   2138         Support searching text within PDF documents.  Find requests must be routed from the
   2139         WebPageProxy, through the PageClient, and to the WKView, where they can be passed to 
   2140         the PDFViewController.
   2141 
   2142         * UIProcess/API/mac/PDFViewController.h:
   2143         * UIProcess/API/mac/PDFViewController.mm:
   2144         (_PDFSelectionsAreEqual): Copied from WebPDFView.
   2145         (-[WKPDFView _nextMatchFor:direction:caseSensitive:wrap:fromSelection:startInSelection:]): Copied from WebPDFView.
   2146         (-[WKPDFView _countMatches:caseSensitive:]): Added.
   2147         (WebKit::PDFViewController::findString): Added.
   2148         (WebKit::PDFViewController::countStringMatches): Added.
   2149         * UIProcess/PageClient.h:
   2150         * UIProcess/API/mac/PageClientImpl.h:
   2151         * UIProcess/API/mac/PageClientImpl.mm:
   2152         (WebKit::PageClientImpl::findStringInCustomRepresentation): Added.
   2153         (WebKit::PageClientImpl::countStringMatchesInCustomRepresentation): Added.
   2154         * UIProcess/API/mac/WKViewInternal.h:
   2155         * UIProcess/API/mac/WKView.mm:
   2156         (-[WKView _findStringInCustomRepresentation:withFindOptions:maxMatchCount:]): Added.
   2157         (-[WKView _countStringMatchesInCustomRepresentation:withFindOptions:maxMatchCount:]): Added.
   2158         * UIProcess/WebPageProxy.h: Moved a number of find-related functions from private: to public: so
   2159             they could be called from PDFViewController.
   2160         * UIProcess/WebPageProxy.cpp:
   2161         (WebKit::WebPageProxy::findString): Added. 
   2162         (WebKit::WebPageProxy::countStringMatches): Added.
   2163         * UIProcess/win/WebView.cpp:
   2164         (WebKit::WebView::findStringInCustomRepresentation): Added stub.
   2165         (WebKit::WebView::countStringMatchesInCustomRepresentation): Ditto.
   2166         * UIProcess/win/WebView.h:
   2167         * UIProcess/API/qt/qwkpage_p.h:
   2168         (QWKPagePrivate::findStringInCustomRepresentation): Added stub.
   2169         (QWKPagePrivate::countStringMatchesInCustomRepresentation): Added stub.
   2170 
   2171 2011-04-11  Jessie Berlin  <jberlin (a] apple.com>
   2172 
   2173         Reviewed by Anders Carlsson.
   2174 
   2175         WebKit2: Implement TextChecker on Windows
   2176         https://bugs.webkit.org/show_bug.cgi?id=57862
   2177 
   2178         Part 6: Update the Spelling UI with the spelling and grammar mistakes.
   2179 
   2180         * UIProcess/API/C/win/WKAPICastWin.h:
   2181         (WebKit::toAPI):
   2182         Make it possible to go from a WebCore::GrammarDetail to a WebGrammarDetail.
   2183  
   2184         * UIProcess/API/C/win/WKGrammarDetail.cpp:
   2185         (WKGrammarDetailCreate):
   2186         (WKGrammarDetailGetLocation):
   2187         (WKGrammarDetailGetLength):
   2188         (WKGrammarDetailCopyGuesses):
   2189         (WKGrammarDetailCopyUserDescription):
   2190         * UIProcess/API/C/win/WKGrammarDetail.h:
   2191 
   2192         * UIProcess/API/C/win/WKTextChecker.cpp:
   2193         (WKTextCheckerCheckSpelling):
   2194         Tell the WebTextChecker.
   2195         * UIProcess/API/C/win/WKTextChecker.h:
   2196 
   2197         * UIProcess/WebPageProxy.cpp:
   2198         (WebKit::WebPageProxy::contextMenuItemSelected):
   2199         If the show/hide spelling UI is selected and the spelling UI is not showing, make sure to
   2200         advance to the next misspelling (in this case, the first).
   2201         This behavior matches that in WebCore and WKView.mm.
   2202         (WebKit::WebPageProxy::advanceToNextMisspelling):
   2203         Make this function const since it does not modify the WebPageProxy and making it const
   2204         allows WebTextChecker::checkSpelling to take a const WebPageProxy.
   2205         (WebKit::WebPageProxy::spellDocumentTag):
   2206         (WebKit::WebPageProxy::updateSpellingUIWithMisspelledWord):
   2207         (WebKit::WebPageProxy::updateSpellingUIWithGrammarString):
   2208         * UIProcess/WebPageProxy.h:
   2209 
   2210         * UIProcess/TextChecker.h:
   2211         * UIProcess/win/TextCheckerWin.cpp:
   2212         (WebKit::TextChecker::uniqueSpellDocumentTag):
   2213         Tell the TextCheckerClient which WebPageProxy this tag is for.
   2214         (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
   2215         Tell the TextCheckerClient.
   2216         (WebKit::TextChecker::updateSpellingUIWithGrammarString):
   2217         Ditto.
   2218         * UIProcess/mac/TextCheckerMac.mm:
   2219         (WebKit::TextChecker::uniqueSpellDocumentTag):
   2220         Add the new argument that is unused by this port.
   2221         (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
   2222         Ditto.
   2223         (WebKit::TextChecker::updateSpellingUIWithGrammarString):
   2224         Ditto.
   2225         * UIProcess/gtk/TextCheckerGtk.cpp:
   2226         (WebKit::TextChecker::uniqueSpellDocumentTag):
   2227         Ditto.
   2228         (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
   2229         Ditto.
   2230         (WebKit::TextChecker::updateSpellingUIWithGrammarString):
   2231         Ditto.
   2232         * UIProcess/qt/TextCheckerQt.cpp:
   2233         (WebKit::TextChecker::uniqueSpellDocumentTag):
   2234         Ditto.
   2235         (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
   2236         Ditto.
   2237         (WebKit::TextChecker::updateSpellingUIWithGrammarString):
   2238         Ditto.
   2239 
   2240         * UIProcess/win/WebGrammarDetail.cpp:
   2241         (WebKit::WebGrammarDetail::create):
   2242         (WebKit::WebGrammarDetail::WebGrammarDetail):
   2243         (WebKit::WebGrammarDetail::guesses):
   2244         * UIProcess/win/WebGrammarDetail.h:
   2245         (WebKit::WebGrammarDetail::location):
   2246         (WebKit::WebGrammarDetail::length):
   2247         (WebKit::WebGrammarDetail::userDescription):
   2248 
   2249         * UIProcess/win/WebTextChecker.cpp:
   2250         (WebKit::WebTextChecker::checkSpelling):
   2251         Tell the page to advance to the next misspelling. This matches the WK1 WebView.cpp logic.
   2252 
   2253         * UIProcess/win/WebTextChecker.h:
   2254         * UIProcess/win/WebTextCheckerClient.cpp:
   2255         (WebKit::WebTextCheckerClient::uniqueSpellDocumentTag):
   2256         (WebKit::WebTextCheckerClient::toggleSpellingUIIsShowing):
   2257         (WebKit::WebTextCheckerClient::updateSpellingUIWithMisspelledWord):
   2258         (WebKit::WebTextCheckerClient::updateSpellingUIWithGrammarString):
   2259         * UIProcess/win/WebTextCheckerClient.h:
   2260 
   2261 2011-04-10  Maciej Stachowiak  <mjs (a] apple.com>
   2262 
   2263         Not reviewed.
   2264 
   2265         Remove extra inadvertantly commiteed changes from last change.
   2266 
   2267         * WebProcess/com.apple.WebProcess.sb:
   2268 
   2269 2011-04-10  Maciej Stachowiak  <mjs (a] apple.com>
   2270 
   2271         Reviewed by Dan Bernstein.
   2272 
   2273         REGRESSION: WebProcess spews sandboxing violations for outbound network traffic
   2274         https://bugs.webkit.org/show_bug.cgi?id=58215
   2275         <rdar://problem/9251695>
   2276         
   2277         * WebProcess/com.apple.WebProcess.sb: Restore some previously removed rules.
   2278 
   2279 2011-04-10  Kimmo Kinnunen  <kimmo.t.kinnunen (a] nokia.com>
   2280 
   2281         Reviewed by Eric Seidel.
   2282 
   2283         Require no undefined symbols during compilation.
   2284 
   2285         [Qt] [WK2] WebKitTestRunner, QtWebProcess and WTRInjectBundle should fail to compile when there's undefined symbols
   2286         https://bugs.webkit.org/show_bug.cgi?id=54896
   2287         
   2288         Add -Wl,--no-undefined to catch missing symbols early.
   2289 
   2290         * WebProcess.pro:
   2291 
   2292 2011-04-09  Geoffrey Garen  <ggaren (a] apple.com>
   2293 
   2294         Not reviewed.
   2295         
   2296         Try recommitting some things svn left out of my last commit.
   2297 
   2298         * WebProcess/Plugins/Netscape/NPJSObject.h:
   2299 
   2300 2011-04-09  Geoffrey Garen  <ggaren (a] apple.com>
   2301 
   2302         Not reviewed.
   2303         
   2304         Try recommitting some things svn left out of my last commit.
   2305 
   2306         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
   2307         (WebKit::NPRuntimeObjectMap::evaluate):
   2308 
   2309 2011-04-08  Alexey Proskuryakov  <ap (a] apple.com>
   2310 
   2311         Reviewed by Darin Adler.
   2312 
   2313         WebKit2: Safari doesn't respect cmd-arrows (and variations) as custom keyboard shortcuts
   2314         https://bugs.webkit.org/show_bug.cgi?id=58175
   2315         <rdar://problem/9060555>
   2316 
   2317         The problem is that command handling should be different for events that come as keyDown:
   2318         and those that come as performKeyEquivalent:. WebKit1 only tries custom "key bindings"
   2319         when handling a keyDown:, letting a performKeyEquivalent: run through the whole responder
   2320         chain first.
   2321 
   2322         This would be very difficult to implement in WebKit2 because of how it re-sends the same
   2323         event after web process handling. Luckily, we can both fix the bug and make the behavior
   2324         more robust by not hardcoding key combinations.
   2325 
   2326         * WebProcess/WebPage/WebPage.h: Edit performNonEditingBehaviorForSelector.
   2327         * WebProcess/WebPage/mac/WebPageMac.mm:
   2328         (WebKit::WebPage::executeKeypressCommandsInternal): When executing commands, also try
   2329         executing editor commands in their non-editing meaning, which is usually scrolling.
   2330         (WebKit::WebPage::performNonEditingBehaviorForSelector): Naive implementation with a chain
   2331         of ifs, which is hopefully ok performance-wise for a dozen check.
   2332         (WebKit::WebPage::performDefaultBehaviorForKeyEvent): Only kept two commands here that I
   2333         couldn't easily move.
   2334 
   2335 2011-04-08  Jessie Berlin  <jberlin (a] apple.com>
   2336 
   2337         Reviewed by Anders Carlsson.
   2338 
   2339         WebKit2: Show the substitutions panel on Mac and make sure the menu items titles are
   2340         updated correctly.
   2341         https://bugs.webkit.org/show_bug.cgi?id=58179
   2342 
   2343         * UIProcess/API/mac/WKView.mm:
   2344         (-[WKView validateUserInterfaceItem:]):
   2345         The title of the context menu item should be opposite of whether or not the spelling panel
   2346         is visible.
   2347 
   2348         * UIProcess/WebPageProxy.cpp:
   2349         (WebKit::WebPageProxy::contextMenuItemSelected):
   2350         If the "Show/Hide" Substitutions item is selected, call toggleSubstitutionsPanelIsShowing.
   2351         (WebKit::WebPageProxy::substitutionsPanelIsShowing):
   2352         Ask the TextChecker.
   2353         * UIProcess/WebPageProxy.h:
   2354         * UIProcess/WebPageProxy.messages.in:
   2355 
   2356         * UIProcess/TextChecker.h:
   2357         * UIProcess/mac/TextCheckerMac.mm:
   2358         (WebKit::TextChecker::substitutionsPanelIsShowing):
   2359         As the shared NSSpellChecker if the substitutionsPanel is visible.
   2360         (WebKit::TextChecker::toggleSubstitutionsPanelIsShowing):
   2361         Order the substitutionsPanel out or front (copied from WKView.mm).
   2362 
   2363         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
   2364         (WebKit::WebEditorClient::substitutionsPanelIsShowing):
   2365         Send a sync message to the UI process to find out.
   2366         It needs to be sync because the editor code relies on the value returned.
   2367 
   2368 2011-04-08  Dan Bernstein  <mitz (a] apple.com>
   2369 
   2370         Reviewed by Adele Peterson.
   2371 
   2372         Fixed a bug where right-to-left frames incorrectly reported that they were pinned to the left
   2373         when they were actually not.
   2374 
   2375         * WebProcess/WebPage/WebPage.cpp:
   2376         (WebKit::WebPage::didChangeScrollOffsetForMainFrame): Do not assume that the minimum scroll offset
   2377         is zero, because it is not.
   2378 
   2379 2011-04-08  Anders Carlsson  <andersca (a] apple.com>
   2380 
   2381         Fix the Windows build.
   2382 
   2383         * UIProcess/win/WebView.cpp:
   2384         (WebKit::WebView::Drop):
   2385 
   2386 2011-04-08  Jessie Berlin  <jberlin (a] apple.com>
   2387 
   2388         Reviewed by Anders Carlsson.
   2389 
   2390         WebKit2: Implement TextChecker on Windows
   2391         https://bugs.webkit.org/show_bug.cgi?id=57862
   2392 
   2393         Part 5: Implement the code show and hide the Spelling UI via the context menu item (both
   2394         Windows and Mac).
   2395 
   2396         * UIProcess/API/C/win/WKTextChecker.h:
   2397         Add the new WKTextCheckerClient funtions.
   2398 
   2399         * UIProcess/API/mac/WKView.mm:
   2400         (-[WKView validateUserInterfaceItem:]):
   2401         The title of the context menu item should be opposite of whether or not the spelling panel
   2402         is visible.
   2403 
   2404         * UIProcess/WebPageProxy.cpp:
   2405         (WebKit::WebPageProxy::contextMenuItemSelected):
   2406         If the "Show/Hide Spelling and Grammar" item is selected, call toggleSpellingUIIsShowing.
   2407         (WebKit::WebPageProxy::spellingUIIsShowing):
   2408         Call through to TextChecker.
   2409         * UIProcess/WebPageProxy.h:
   2410         * UIProcess/WebPageProxy.messages.in:
   2411 
   2412         * UIProcess/TextChecker.h:
   2413        * UIProcess/win/TextCheckerWin.cpp:
   2414         (WebKit::TextChecker::spellingUIIsShowing):
   2415         Call the TextCheckerClient.
   2416         (WebKit::TextChecker::toggleSpellingUIIsShowing):
   2417         Ditto.
   2418         * UIProcess/mac/TextCheckerMac.mm:
   2419         (WebKit::TextChecker::spellingUIIsShowing):
   2420         Ask the shared NSSpellChecker if the spellingPanel is visible.
   2421         (WebKit::TextChecker::toggleSpellingUIIsShowing):
   2422         Order the spellingPanel out or front (copied from WKView.mm).
   2423         * UIProcess/qt/TextCheckerQt.cpp:
   2424         (WebKit::TextChecker::spellingUIIsShowing):
   2425         Call notImplemented.
   2426         (WebKit::TextChecker::toggleSpellingUIIsShowing):
   2427         Ditto.
   2428         * UIProcess/gtk/TextCheckerGtk.cpp:
   2429         (WebKit::TextChecker::spellingUIIsShowing):
   2430         Ditto.
   2431         (WebKit::TextChecker::toggleSpellingUIIsShowing):
   2432         Ditto.
   2433  
   2434         * UIProcess/win/WebTextCheckerClient.cpp:
   2435         (WebKit::WebTextCheckerClient::spellingUIIsShowing):
   2436         Call the client.
   2437         (WebKit::WebTextCheckerClient::toggleSpellingUIIsShowing):
   2438         Ditto.
   2439         * UIProcess/win/WebTextCheckerClient.h:
   2440 
   2441         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
   2442         (WebKit::WebEditorClient::spellingUIIsShowing):
   2443         Send a sync message to the UI process to find out.
   2444         It needs to be sync because the Editor code relies on the value returned.
   2445 
   2446 2011-04-08  Anders Carlsson  <andersca (a] apple.com>
   2447 
   2448         Reviewed by Dan Bernstein.
   2449 
   2450         Sandboxing doesn't work if a local file is dropped on the content area
   2451         https://bugs.webkit.org/show_bug.cgi?id=58177
   2452         <rdar://problem/9019253>
   2453 
   2454         When performing a drag and the dragging pasteboard contains a local file, create a
   2455         sandbox extension and pass it along. If we end up loading the file, the sandbox extension
   2456         tracker will consume the extension.
   2457 
   2458         * UIProcess/API/mac/WKView.mm:
   2459         (maybeCreateSandboxExtensionFromPasteboard):
   2460         Add helper function.
   2461 
   2462         (-[WKView performDragOperation:]):
   2463         Create a sandbox extension handle and pass it to performDrag.
   2464 
   2465         * UIProcess/WebPageProxy.cpp:
   2466         (WebKit::WebPageProxy::dragEntered):
   2467         (WebKit::WebPageProxy::dragUpdated):
   2468         (WebKit::WebPageProxy::dragExited):
   2469         Pass an empty sandbox extension handle to performDragControllerAction.
   2470 
   2471         (WebKit::WebPageProxy::performDrag):
   2472         Pass the sandbox extension handle along to performDragControllerAction.
   2473 
   2474         (WebKit::WebPageProxy::performDragControllerAction):
   2475         Send along the sandbox extension handle.
   2476 
   2477         * WebProcess/WebCoreSupport/WebDragClient.cpp:
   2478         (WebKit::WebDragClient::willPerformDragDestinationAction):
   2479         If the destination action is a load action, call WebPage::willPerformLoadDragDestinationAction.
   2480 
   2481         * WebProcess/WebPage/WebPage.cpp:
   2482         (WebKit::WebPage::performDragControllerAction):
   2483         Create a sandbox extension.
   2484 
   2485         (WebKit::WebPage::willPerformLoadDragDestinationAction):
   2486         If we have a sandbox extension, pass it along to the sandbox extension tracker.
   2487 
   2488         (WebKit::WebPage::SandboxExtensionTracker::willPerformLoadDragDestinationAction):
   2489         Call setPendingProvisionalSandboxExtension.
   2490 
   2491         (WebKit::WebPage::SandboxExtensionTracker::beginLoad):
   2492         Call setPendingProvisionalSandboxExtension.
   2493 
   2494         (WebKit::WebPage::SandboxExtensionTracker::setPendingProvisionalSandboxExtension):
   2495         Factor code from beginLoad out into a separate function.
   2496 
   2497         * WebProcess/WebPage/WebPage.messages.in:
   2498         PerformDragControllerAction now takes a sandbox extension handle.
   2499 
   2500 2011-04-08  Alice Liu  <alice.liu (a] apple.com>
   2501 
   2502         Reviewed by Adam Roben.
   2503 
   2504         https://bugs.webkit.org/show_bug.cgi?id=58151
   2505         Crash after closing a Webview, in WebKit!WebCore::WindowMessageBroadcaster::SubclassedWndProc
   2506 
   2507         * UIProcess/win/WebView.cpp:
   2508         (WebKit::WebView::close):
   2509         Resolve a difference between old WebKit WebView and WebKit2 WebView by destroying and clearing
   2510         out WebKit2 WebView's HWND when closing. Not doing so was causing the WebView to remain in the
   2511         list of WindowMessageBroadcaster listeners, and after closing the WebView, WindowMessageBroadcaster
   2512         would message a dead WebView and crash.
   2513 
   2514 2011-04-08  Anders Carlsson  <andersca (a] apple.com>
   2515 
   2516         Reviewed by Adam Roben.
   2517 
   2518         Make the drag operations be different functions
   2519         https://bugs.webkit.org/show_bug.cgi?id=58169
   2520 
   2521         Since we want performDrag to take a sandbox extension, separate the four
   2522         drag operations out into different functions. No functionality change.
   2523 
   2524         * UIProcess/API/mac/WKView.mm:
   2525         (-[WKView draggingEntered:]):
   2526         (-[WKView draggingUpdated:]):
   2527         (-[WKView draggingExited:]):
   2528         (-[WKView performDragOperation:]):
   2529         * UIProcess/WebPageProxy.cpp:
   2530         (WebKit::WebPageProxy::dragEntered):
   2531         (WebKit::WebPageProxy::dragUpdated):
   2532         (WebKit::WebPageProxy::dragExited):
   2533         (WebKit::WebPageProxy::performDrag):
   2534         * UIProcess/WebPageProxy.h:
   2535         * UIProcess/win/WebView.cpp:
   2536         (WebKit::WebView::DragEnter):
   2537         (WebKit::WebView::DragOver):
   2538         (WebKit::WebView::DragLeave):
   2539         (WebKit::WebView::Drop):
   2540 
   2541 2011-04-08  Anders Carlsson  <andersca (a] apple.com>
   2542 
   2543         Reviewed by Adam Roben.
   2544 
   2545         Parse 'DispatchOnConnectionQueue' in messages.in files
   2546         https://bugs.webkit.org/show_bug.cgi?id=58168
   2547 
   2548         Handle parsing multiple, space-separated attributes in .messages.in files. Keep track of
   2549         'DispatchOnConnectionQueue' and rename 'delayed' to 'Delayed'.
   2550 
   2551         * Scripts/webkit2/messages.py:
   2552         * Scripts/webkit2/messages_unittest.py:
   2553 
   2554 2011-04-08  Alpha Lam  <hclam (a] chromium.org>
   2555 
   2556         Unreviewed, rolling out r83335.
   2557         http://trac.webkit.org/changeset/83335
   2558         https://bugs.webkit.org/show_bug.cgi?id=53556
   2559 
   2560         GTK and QT bots are broken
   2561 
   2562         * Configurations/FeatureDefines.xcconfig:
   2563 
   2564 2011-04-07  Anna Cavender  <annacc (a] chromium.org>
   2565 
   2566         Reviewed by Eric Carlson.
   2567 
   2568         Setup ENABLE(TRACK) feature define
   2569         https://bugs.webkit.org/show_bug.cgi?id=53556
   2570 
   2571         * Configurations/FeatureDefines.xcconfig:
   2572 
   2573 2011-04-07  Alexey Proskuryakov  <ap (a] apple.com>
   2574 
   2575         Reviewed by Darin Alder.
   2576 
   2577         REGRESSION (WebKit2): AppKit thinks that web views don't support DocumentAccess
   2578         https://bugs.webkit.org/show_bug.cgi?id=58102
   2579         <rdar://problem/9223246>
   2580 
   2581         * UIProcess/API/mac/WKView.h:
   2582         * UIProcess/API/mac/WKView.mm:
   2583         (-[WKView doCommandBySelector:]):
   2584         (-[WKView insertText:replacementRange:]):
   2585         (-[WKView validAttributesForMarkedText]):
   2586         (-[WKView setMarkedText:selectedRange:replacementRange:]):
   2587         (-[WKView attributedSubstringForProposedRange:actualRange:]):
   2588         (-[WKView firstRectForCharacterRange:actualRange:]):
   2589         Switch to NSTextInputClient, opting out of optimizations and optional features for now.
   2590 
   2591 2011-04-08  Siddharth Mathur  <siddharth.mathur (a] nokia.com>
   2592 
   2593         Reviewed by Martin Robinson.
   2594 
   2595         [Qt][WK2][Symbian] Remove use of stack arrays with variable size
   2596         https://bugs.webkit.org/show_bug.cgi?id=57877
   2597 
   2598         For better compiler portability, use new/delete for arrays when size
   2599         isn't known at compile time. Also fix one compiler warning about bitshift
   2600         operations on signed integer
   2601         * Platform/CoreIPC/unix/ConnectionUnix.cpp:
   2602         (CoreIPC::Connection::readyReadHandler):
   2603         (CoreIPC::Connection::sendOutgoingMessage):
   2604 
   2605 2011-04-08  Martin Robinson  <mrobinson (a] igalia.com>
   2606 
   2607         Reviewed by Xan Lopez.
   2608 
   2609         [GTK] Fix the WebKit2 build for older versions of GTK+
   2610         https://bugs.webkit.org/show_bug.cgi?id=58095
   2611 
   2612         * UIProcess/gtk/ChunkedUpdateDrawingAreaProxyGtk.cpp: Include the GtkVersioning.h header.
   2613 
   2614 2011-04-07  Balazs Kelemen  <kbalazs (a] webkit.org>
   2615 
   2616         Reviewed by Kenneth Rohde Christiansen.
   2617 
   2618         [WK2][Qt][GTK] Introduce common use flag for the shared UNIX domain socket IPC implementation
   2619         https://bugs.webkit.org/show_bug.cgi?id=58030
   2620 
   2621         Replace "PLATFORM(QT) || PLATFORM(GTK)" conditions in IPC code with
   2622         USE(UNIX_DOMAIN_SOCKETS).
   2623 
   2624         * Platform/CoreIPC/Attachment.h:
   2625         * Platform/CoreIPC/Connection.h:
   2626         * Platform/SharedMemory.h:
   2627 
   2628 2011-04-07  Anders Carlsson  <andersca (a] apple.com>
   2629 
   2630         Reviewed by Simon Fraser.
   2631 
   2632         Clicks not recognized on http://www.nibblestutorials.net/ which uses Silverlight
   2633         https://bugs.webkit.org/show_bug.cgi?id=58108
   2634         <rdar://problem/9167611>
   2635 
   2636         Change platformHandleMouseEvent to return true, which means that the plug-in has handled the
   2637         event. Some plug-ins (like Silverlight) will return false from NPP_HandleEvent even though the
   2638         event has been handled. In this case it lead to a very subtle bug where the plug-in element would
   2639         lose focus right after a mouse down even had been sent.
   2640 
   2641         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
   2642         (WebKit::NetscapePlugin::platformHandleMouseEvent):
   2643 
   2644 2011-04-07  Adam Roben  <aroben (a] apple.com>
   2645 
   2646         Pass NPP_SetWindow a null window handle during plugin destruction on non-Mac platforms
   2647 
   2648         This matches WebKit1.
   2649 
   2650         Fixes <http://webkit.org/b/47009> WebKit2 needs to call NPP_SetWindow when destroying a
   2651         plugin
   2652 
   2653         Reviewed by Anders Carlsson.
   2654 
   2655         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
   2656         (WebKit::NetscapePlugin::destroy): Null out our NPWindow's window handle and pass it to
   2657         NPP_SetWindow (unless we're on Mac).
   2658 
   2659 2011-04-08  Jamie Cooley  <james.cooley (a] nokia.com>
   2660 
   2661         Reviewed by Benjamin Poulain.
   2662 
   2663         [Qt][WK2] Make sure qwkhistory.h is copied into includes/WebKit2
   2664         https://bugs.webkit.org/show_bug.cgi?id=57945
   2665 
   2666         * UIProcess/API/qt/WKView.h:
   2667         * UIProcess/API/qt/qwkhistory.h:
   2668 
   2669 2011-04-08  Carlos Garcia Campos  <cgarcia (a] igalia.com>
   2670 
   2671         Reviewed by Martin Robinson.
   2672 
   2673         [GTK] Do not destroy WorkQueue event sources unless they have been cancelled
   2674         https://bugs.webkit.org/show_bug.cgi?id=57611
   2675 
   2676         * Platform/WorkQueue.h:
   2677         * Platform/gtk/WorkQueueGtk.cpp:
   2678         (WorkQueue::EventSource::EventSource): Remove unused member
   2679         m_dispatchSource.
   2680         (WorkQueue::EventSource::executeEventSource): Make it return void
   2681         instead of boolean since we are always ignoring the return value.
   2682         (WorkQueue::EventSource::performWork): Return FALSE from the
   2683         callback only when the source has been cancelled (condition = 0)
   2684         to make sure it's destroyed when the even source handler is
   2685         unregistered.
   2686         (WorkQueue::registerEventSourceHandler): Use GRefPtr for the
   2687         source, to avoid leaking it.
   2688         (WorkQueue::scheduleWorkOnSource): Receive the source callback as
   2689         parameter so that it can be used by scheduleWorkOnTermination() too.
   2690         (WorkQueue::scheduleWork):
   2691         (WorkQueue::scheduleWorkAfterDelay):
   2692         (WorkQueue::scheduleWorkOnTermination): Use
   2693         scheduleWorkOnSource().
   2694 
   2695 2011-04-08  Carlos Garcia Campos  <cgarcia (a] igalia.com>
   2696 
   2697         Reviewed by Martin Robinson.
   2698 
   2699         [GTK] Close connection when web process finishes
   2700         https://bugs.webkit.org/show_bug.cgi?id=57540
   2701 
   2702         * Platform/CoreIPC/Connection.h:
   2703         * Platform/CoreIPC/unix/ConnectionUnix.cpp:
   2704         * Platform/PlatformProcessIdentifier.h: Use GPid as process
   2705         identifier.
   2706         * Platform/WorkQueue.h:
   2707         * Platform/gtk/WorkQueueGtk.cpp:
   2708         (WorkQueue::EventSource::EventSource): Add cancellable parameter.
   2709         (WorkQueue::EventSource::cancel): New method to cancel the source.
   2710         (WorkQueue::EventSource::performWorkOnTermination): New method to
   2711         execute a work item called when child process has finished.
   2712         (WorkQueue::registerEventSourceHandler): Create a GCancellable for
   2713         the socket source.
   2714         (WorkQueue::unregisterEventSourceHandler): Cancel the source
   2715         instead of destroying it, this will cause the source to trigger
   2716         with condition = 0, which makes the callback return FALSE and the
   2717         source is destroyed.
   2718         (WorkQueue::scheduleWorkOnSource): Pass NULL as cancellable for
   2719         idle and timeout sources.
   2720         (WorkQueue::scheduleWorkOnTermination): Create a child watch
   2721         source to monitor the child process.
   2722         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
   2723         (WebKit::ProcessLauncher::launchProcess): Use GPid instead of int
   2724         as process identifier.
   2725         * UIProcess/WebProcessProxy.cpp:
   2726         (WebKit::WebProcessProxy::didFinishLaunching): Call
   2727         WorkQueue::scheduleWorkOnTermination() for GTK platform too when
   2728         web process has been launched.
   2729 
   2730 2011-04-08  Carlos Garcia Campos  <cgarcia (a] igalia.com>
   2731 
   2732         Reviewed by Martin Robinson.
   2733 
   2734         [GTK] Implement scheduleWorkAfterDelay() in WorkQueueGtk
   2735         https://bugs.webkit.org/show_bug.cgi?id=57434
   2736 
   2737         * Platform/WorkQueue.h:
   2738         * Platform/gtk/WorkQueueGtk.cpp:
   2739         (WorkQueue::EventSource::executeEventSource): This new method
   2740         contains the common code to execute a work item.
   2741         (WorkQueue::EventSource::performWorkOnce): Use
   2742         executeEventSource() to execute the work item.
   2743         (WorkQueue::EventSource::performWork): Use executeEventSource() to
   2744         execute the work item.
   2745         (WorkQueue::registerEventSourceHandler): Use a GSocket instead of
   2746         a GIOChannel since the API is newer and allows us to pass a
   2747         cancellable object to be able to cancel the source.
   2748         (WorkQueue::scheduleWorkOnSource): This new method contains the
   2749         common code to attach a source to a context. It doesn't use a lock
   2750         anymore, since g_source_attach() uses its own mutex internally.
   2751         (WorkQueue::scheduleWork): Use an idle source instead of a timeout
   2752         one, changing the priority to G_PRIORITY_DEFAULT.
   2753         (WorkQueue::scheduleWorkAfterDelay): Implement it using a timeout
   2754         source with the given delay.
   2755 
   2756 2011-04-08  Carlos Garcia Campos  <cgarcia (a] igalia.com>
   2757 
   2758         Reviewed by Martin Robinson.
   2759 
   2760         [GTK] Use glib API instead of fork + execl in ProcessLauncherGtk
   2761         https://bugs.webkit.org/show_bug.cgi?id=57234
   2762 
   2763         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
   2764         (WebKit::childSetupFunction): close the socket and use prctl()
   2765         when platform is Linux to kill the child process when the parent
   2766         finishes.
   2767         (WebKit::ProcessLauncher::launchProcess): Use g_spawn_async() to
   2768         launch the web process.
   2769 
   2770 2011-04-07  Geoffrey Garen  <ggaren (a] apple.com>
   2771 
   2772         Some Handle<T> cleanup
   2773         https://bugs.webkit.org/show_bug.cgi?id=58109
   2774 
   2775         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
   2776         (WebKit::NPJSObject::NPJSObject): Updated for new null constructor.
   2777 
   2778 2011-04-07  Jessie Berlin  <jberlin (a] apple.com>
   2779 
   2780         Max build fix.
   2781 
   2782         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
   2783         (WebKit::WebEditorClient::checkSpellingOfString):
   2784         Do not risk an overflow.
   2785         (WebKit::WebEditorClient::checkGrammarOfString):
   2786         Ditto.
   2787 
   2788 2011-04-07  Jessie Berlin  <jberlin (a] apple.com>
   2789 
   2790         Reviewed by Brian Weinstein.
   2791 
   2792         WebKit2: Implement TextChecker on Windows
   2793         https://bugs.webkit.org/show_bug.cgi?id=57862
   2794 
   2795         Part 4: Implement checkGrammarOfString.
   2796 
   2797         * Scripts/webkit2/messages.py:
   2798         The generated files should include TextCheckerClient.h for WebCore::GrammarDetail.
   2799 
   2800         * Shared/API/c/win/WKBaseWin.h:
   2801         * Shared/APIObject.h:
   2802         * UIProcess/API/C/win/WKAPICastWin.h:
   2803 
   2804         * UIProcess/API/C/win/WKGrammarDetail.cpp: Added.
   2805         (WKGrammarDetailGetTypeID):
   2806         (WKGrammarDetailCreate):
   2807         * UIProcess/API/C/win/WKGrammarDetail.h: Added.
   2808 
   2809         * UIProcess/API/C/win/WKTextChecker.h:
   2810         Add the checkGrammarOfString WKTextCheckerClient function.
   2811 
   2812         * UIProcess/WebPageProxy.cpp:
   2813         (WebKit::WebPageProxy::checkGrammarOfString):
   2814         * UIProcess/WebPageProxy.h:
   2815         * UIProcess/WebPageProxy.messages.in:
   2816 
   2817         * UIProcess/TextChecker.h:
   2818         * UIProcess/win/TextCheckerWin.cpp:
   2819         (WebKit::TextChecker::checkGrammarOfString):
   2820         Call the TextCheckerClient.
   2821         * UIProcess/mac/TextCheckerMac.mm:
   2822         (WebKit::TextChecker::checkSpellingOfString):
   2823         Add a comment about this not being used on Mac.
   2824         (WebKit::TextChecker::checkGrammarOfString):
   2825         Ditto, and call notImplemented.
   2826         * UIProcess/gtk/TextCheckerGtk.cpp:
   2827         (WebKit::TextChecker::checkGrammarOfString):
   2828         Call notImplemented.
   2829         * UIProcess/qt/TextCheckerQt.cpp:
   2830         (WebKit::TextChecker::checkGrammarOfString):
   2831         Ditto.
   2832 
   2833         * UIProcess/win/WebGrammarDetail.cpp: Added.
   2834         (WebKit::WebGrammarDetail::create):
   2835         (WebKit::WebGrammarDetail::WebGrammarDetail):
   2836         Initialize the underlying WebCore::GrammarDetail.
   2837         * UIProcess/win/WebGrammarDetail.h: Added.
   2838         (WebKit::WebGrammarDetail::grammarDetail):
   2839         (WebKit::WebGrammarDetail::type):
   2840 
   2841         * UIProcess/win/WebTextCheckerClient.cpp:
   2842         (WebKit::WebTextCheckerClient::checkGrammarOfString):
   2843         Populate the Vector of WebCore::GrammarDetails with the WebGrammarDetails.
   2844         * UIProcess/win/WebTextCheckerClient.h:
   2845 
   2846         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
   2847         (WebKit::WebEditorClient::checkSpellingOfString):
   2848         Use WTF::notFound as the initial value for resultLocation.
   2849         (WebKit::WebEditorClient::checkGrammarOfString):
   2850         Send a sync message to the UI Process (similar to checkSpellingOfString and checkTextOfParagraph).
   2851 
   2852         * win/WebKit2.vcproj:
   2853         Add WKGrammarDetail.h/.cpp and WebGrammarDetail.h/.cpp.
   2854         * win/WebKit2Generated.make:
   2855         Copy over WKGrammarDetail.h.
   2856 
   2857 2011-04-07  Enrica Casucci  <enrica (a] apple.com>
   2858 
   2859         Reviewed by Oliver Hunt.
   2860 
   2861         REGRESSION(WebKit2): execCommand('undo') doesn't work (Windows).
   2862         https://bugs.webkit.org/show_bug.cgi?id=58056
   2863         <rdar://problem/8862023>
   2864         
   2865         Adding support for execCommand('undo') and execCommand('redo')
   2866         in WebKit2 for Windows.
   2867 
   2868         * UIProcess/API/C/win/WKView.h:
   2869         * UIProcess/win/WebUndoClient.cpp:
   2870         (WebKit::WebUndoClient::canUndoRedo):
   2871         (WebKit::WebUndoClient::executeUndoRedo):
   2872         * UIProcess/win/WebUndoClient.h:
   2873         * UIProcess/win/WebView.cpp:
   2874         (WebKit::WebView::canUndoRedo):
   2875         (WebKit::WebView::executeUndoRedo):
   2876 
   2877 2011-04-07  Andrew Scherkus  <scherkus (a] chromium.org>
   2878 
   2879         Revert ENABLE_TRACK patch due to compile failures.
   2880 
   2881         * Configurations/FeatureDefines.xcconfig:
   2882 
   2883 2011-04-07  Martin Robinson  <mrobinson (a] igalia.com>
   2884 
   2885         Fix the WebKit2 GTK+ build for older versions of GTK+.
   2886 
   2887         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Include the GtkVersioning.h header.
   2888 
   2889 2011-04-07   Amruth Raj  <amruthraj (a] motorola.com> and Martin Robinson  <mrobinson (a] igalia.com>
   2890 
   2891         Reviewed by Kenneth Rohde Christiansen.
   2892 
   2893         [GTK] Implement SharedMemory for WebKit2
   2894         https://bugs.webkit.org/show_bug.cgi?id=49791
   2895 
   2896         Share the SharedMemory, Attachment and Connection implementations with the Qt port.
   2897         Both implementation are, in fact, general Unix implementations using standard Unix
   2898         domain sockets and sendmsg / recvmsg. This should reduce the amount of duplicated code
   2899         greatly and lay the groundwork for GTK+/Qt implementations for other operating systems.
   2900 
   2901         * GNUmakefile.am: Replaced GTK+ versions of files with the Unix ones.
   2902         * Platform/CoreIPC/ArgumentDecoder.cpp: Extended Qt #ifdefs to include GTK.
   2903         (CoreIPC::ArgumentDecoder::~ArgumentDecoder):
   2904         * Platform/CoreIPC/ArgumentEncoder.cpp: Ditto.
   2905         (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
   2906         * Platform/CoreIPC/Attachment.h: Ditto.
   2907         * Platform/CoreIPC/Connection.h: Combined the GTK+ and Qt sections.
   2908         * Platform/CoreIPC/unix/AttachmentUnix.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/qt/AttachmentQt.cpp.
   2909         * Platform/CoreIPC/unix/ConnectionUnix.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/qt/ConnectionQt.cpp.
   2910         * Platform/unix/SharedMemoryUnix.cpp: Renamed from Source/WebKit2/Platform/qt/SharedMemoryQt.cpp.
   2911         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
   2912         (WebKit::ProcessLauncher::launchProcess): Use SOCK_DGRAM instead of SOCK_STREAM to match Qt.
   2913         * WebKit2.pro: Updated source list to reflect file renaming.
   2914 
   2915 2011-04-07  Alexey Proskuryakov  <ap (a] apple.com>
   2916 
   2917         Reviewed by Brian Weinstein.
   2918 
   2919         REGRESSION (r83081): Use of deallocated memory in WebEditorClient::respondToChangedSelection()
   2920         https://bugs.webkit.org/show_bug.cgi?id=58082
   2921 
   2922         * WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::WebEditorClient::respondToChangedSelection):
   2923         Now that the Range is used outside the full expression where it's created, it needs to be
   2924         protected with RefPtr.
   2925 
   2926 2011-04-07  Mark Rowe  <mrowe (a] apple.com>
   2927 
   2928         Reviewed by Dan Bernstein.
   2929 
   2930         <rdar://problem/9251566> WebBackForwardList::createCFDictionaryRepresentation's current item index
   2931         doesn't account for items removed by filter callback.
   2932 
   2933         * UIProcess/cf/WebBackForwardListCF.cpp:
   2934         (WebKit::WebBackForwardList::createCFDictionaryRepresentation): Update the current item index
   2935         when we omit an item due to the filter callback.
   2936 
   2937 2011-04-07  Alexey Proskuryakov  <ap (a] apple.com>
   2938 
   2939         Reviewed by Anders Carlsson.
   2940 
   2941         REGRESSION (WebKit2): Reverse conversion doesn't work in Kotoeri
   2942         https://bugs.webkit.org/show_bug.cgi?id=58066
   2943         <rdar://problem/8965302>
   2944 
   2945         * Scripts/webkit2/messages.py:
   2946         * Shared/mac/AttributedString.h: Added.
   2947         * Shared/mac/AttributedString.mm: Added.
   2948         (WebKit::AttributedString::encode):
   2949         (WebKit::AttributedString::decode):
   2950         Added an class that wraps NSAttributedString. As far as I can tell, one can't pass a CF
   2951         or NS object to another process without wrapping it in a C++ one.
   2952         
   2953         * Shared/mac/ArgumentCodersMac.h: Added.
   2954         * Shared/mac/ArgumentCodersMac.mm: Added.
   2955         Added coders for Foundation objects, similar to ArgumentCodersCF. There are two reasons why
   2956         these are needed:
   2957         1) Even though most Foundation objects are toll free bridged with CF, CFGetTypeID() doesn't
   2958         work properly for them (I've been just getting 1).
   2959         2) NSColor isn't toll free bridged to CF.
   2960         This adds just the types necessary for editing NSAttributedString (and I don't yet know what
   2961         happens with attachments).
   2962 
   2963         * UIProcess/API/mac/WKView.mm: (-[WKView attributedSubstringFromRange:]):
   2964         * UIProcess/WebPageProxy.h:
   2965         * UIProcess/mac/WebPageProxyMac.mm:
   2966         (WebKit::WebPageProxy::getAttributedSubstringFromRange):
   2967         * WebKit2.xcodeproj/project.pbxproj:
   2968         * WebProcess/WebPage/WebPage.h:
   2969         * WebProcess/WebPage/WebPage.messages.in:
   2970         Boilerplate code for making a sync call to web process.
   2971 
   2972         * WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::getAttributedSubstringFromRange):
   2973         Ported from WebHTMLView.
   2974 
   2975 2011-04-07  Jeff Miller  <jeffm (a] apple.com>
   2976 
   2977         Mac build fix.
   2978 
   2979         * Shared/WebString.h:
   2980         (WebKit::WebString::getCharacters): Add explict cast when using std::min().
   2981 
   2982 2011-04-07  Jeff Miller  <jeffm (a] apple.com>
   2983 
   2984         Reviewed by Adam Roben.
   2985 
   2986         Replace WKStringGetCharactersPtr() with WKStringGetCharacters()
   2987         https://bugs.webkit.org/show_bug.cgi?id=58058
   2988         
   2989         WKStringGetCharactersPtr() exposes the internal implementation of WKString, so change this to WKStringGetCharacters(), which makes a UTF-16 copy.
   2990 
   2991         * Shared/API/c/WKString.cpp:
   2992         (WKStringGetCharacters): Added, replaces WKStringGetCharactersPtr().
   2993         * Shared/API/c/WKString.h: Replaced WKStringGetCharactersPtr() with WKStringGetCharacters().
   2994         * Shared/WebString.h:
   2995         (WebKit::WebString::getCharacters): Added.
   2996 
   2997 2011-04-07  Brian Weinstein  <bweinstein (a] apple.com>
   2998 
   2999         Reviewed by Adam Roben.
   3000 
   3001         WebKit2: Support window bounce when panning.
   3002         https://bugs.webkit.org/show_bug.cgi?id=58065
   3003         <rdar://problem/9244367>
   3004         
   3005         Make gestureDidScroll synchronous, as once we scroll, we need to know
   3006         whether or not we are at the beginning or end of the scrollable document.
   3007         
   3008         If we are at either end of the scrollable document, we call the Windows 7
   3009         API to bounce the window to give an indication that you are past an end
   3010         of the document.
   3011 
   3012         * UIProcess/WebPageProxy.cpp:
   3013         (WebKit::WebPageProxy::gestureDidScroll): Pass a boolean for the reply, and return it.
   3014         * UIProcess/WebPageProxy.h:
   3015         * UIProcess/win/WebView.cpp:
   3016         (WebKit::WebView::WebView): Inititalize a new variable.
   3017         (WebKit::WebView::onGesture): Once we send the message to scroll, check if have gone to
   3018             an end of the document, and if we have, bounce the window.
   3019         * UIProcess/win/WebView.h:
   3020         * WebProcess/WebPage/WebPage.h:
   3021         * WebProcess/WebPage/WebPage.messages.in: GestureDidScroll is now sync.
   3022         * WebProcess/WebPage/win/WebPageWin.cpp:
   3023         (WebKit::WebPage::gestureDidScroll): When we are done scrolling, check if we have a vertical
   3024             scrollbar and if we are at the beginning or the end of the scrollable document.
   3025 
   3026 2011-04-07  Chang Shu  <cshu (a] webkit.org>
   3027 
   3028         Reviewed by Darin Adler.
   3029 
   3030         WebKitTestRunner needs layoutTestController.isPageBoxVisible
   3031         https://bugs.webkit.org/show_bug.cgi?id=42695
   3032 
   3033         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
   3034         (WKBundleIsPageBoxVisible):
   3035         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
   3036         * WebProcess/InjectedBundle/InjectedBundle.cpp:
   3037         (WebKit::InjectedBundle::isPageBoxVisible):
   3038         * WebProcess/InjectedBundle/InjectedBundle.h:
   3039 
   3040 2011-04-07  Enrica Casucci  <enrica (a] apple.com>
   3041 
   3042         Reviewed by Oliver Hunt.
   3043 
   3044         REGRESSION(WebKit2): execCommand('undo') doesn't work (Mac).
   3045         https://bugs.webkit.org/show_bug.cgi?id=58055
   3046         <rdar://problem/8862023>
   3047         
   3048         Adding support for execCommand('undo') and execCommand('redo')
   3049         in WebKit2 for Mac.
   3050 
   3051         * UIProcess/API/mac/PageClientImpl.h:
   3052         * UIProcess/API/mac/PageClientImpl.mm:
   3053         (WebKit::PageClientImpl::canUndoRedo): Added interaction with undomanager.
   3054         (WebKit::PageClientImpl::executeUndoRedo): Added interaction with undomanager.
   3055         
   3056         Added new empty PageClient methods for other platforms.
   3057         * UIProcess/API/qt/qwkpage.cpp:
   3058         (QWKPagePrivate::canUndoRedo):
   3059         (QWKPagePrivate::executeUndoRedo):
   3060         * UIProcess/API/qt/qwkpage_p.h:
   3061         * UIProcess/PageClient.h:
   3062         * UIProcess/gtk/WebView.cpp:
   3063         (WebKit::WebView::canUndoRedo):
   3064         (WebKit::WebView::executeUndoRedo):
   3065         * UIProcess/gtk/WebView.h:
   3066         * UIProcess/win/WebView.cpp:
   3067         (WebKit::WebView::canUndoRedo):
   3068         (WebKit::WebView::executeUndoRedo):
   3069         * UIProcess/win/WebView.h:
   3070 
   3071         * UIProcess/WebEditCommandProxy.cpp:
   3072         (WebKit::WebEditCommandProxy::unapply): Added flag to allow dispatching
   3073         of asychronous messages while waiting for a sync message reply.
   3074         (WebKit::WebEditCommandProxy::reapply): Same as above.
   3075         * UIProcess/WebPageProxy.cpp:
   3076         (WebKit::WebPageProxy::canUndoRedo):
   3077         (WebKit::WebPageProxy::executeUndoRedo):
   3078         * UIProcess/WebPageProxy.h:
   3079         * UIProcess/WebPageProxy.messages.in:
   3080         * WebProcess/WebCoreSupport/WebEditorClient.cpp: Added missing implementation.
   3081         (WebKit::WebEditorClient::canUndo):
   3082         (WebKit::WebEditorClient::canRedo):
   3083         (WebKit::WebEditorClient::undo):
   3084         (WebKit::WebEditorClient::redo):
   3085 
   3086 2011-04-07  Brady Eidson  <beidson (a] apple.com>
   3087 
   3088         Reviewed by Maciej Stachowiak.
   3089 
   3090         <rdar://problem/9250368> and https://bugs.webkit.org/show_bug.cgi?id=58062
   3091 
   3092         * UIProcess/API/C/WKIconDatabase.cpp:
   3093         (WKIconDatabaseClose):
   3094         * UIProcess/API/C/WKIconDatabase.h:
   3095         
   3096         * UIProcess/WebIconDatabase.cpp:
   3097         (WebKit::WebIconDatabase::close):
   3098         * UIProcess/WebIconDatabase.h:
   3099 
   3100 2011-04-07  Jessie Berlin  <jberlin (a] apple.com>
   3101 
   3102         Reviewed by Adam Roben.
   3103 
   3104         WebKit2: Implement TextChecker on Windows
   3105         https://bugs.webkit.org/show_bug.cgi?id=57862
   3106  
   3107         Part 3: Implement checkSpellingOfString
   3108 
   3109         In WebCore, checkTextOfParagraph is only defined and used on platforms where
   3110         WTF_USE_UNIFIED_TEXT_CHECKING is defined (which right now is only non-Leopard and non-Tiger
   3111         Mac builds).
   3112  
   3113         On other platforms, checkSpellingOfString and checkGrammarOfString (coming in a separate
   3114         patch in an attempt to keep things easier to review) are used.
   3115 
   3116         * UIProcess/API/C/win/WKTextChecker.h:
   3117         * UIProcess/TextChecker.h:
   3118         Surround checkTextOfParagraph by #if USE(UNIFIED_TEXT_CHECKING) and add
   3119         checkSpellingOfString.
   3120 
   3121         * UIProcess/WebPageProxy.cpp:
   3122         (WebKit::WebPageProxy::checkTextOfParagraph):
   3123         Surround this by #if USE(UNIFIED_TEXT_CHECKING).
   3124         (WebKit::WebPageProxy::checkSpellingOfString):
   3125         Call through to the client.
   3126         * UIProcess/WebPageProxy.h:
   3127         * UIProcess/WebPageProxy.messages.in:
   3128         Surround checkTextOfParagraph by #if USE(UNIFIED_TEXT_CHECKING) and add
   3129         checkSpellingOfString.
   3130 
   3131         * UIProcess/win/TextCheckerWin.cpp:
   3132         (WebKit::TextChecker::checkSpellingOfString):
   3133         Call through to the WebTextCheckerClient.
   3134         * UIProcess/mac/TextCheckerMac.mm:
   3135         (WebKit::TextChecker::checkTextOfParagraph):
   3136         Surround this by #if USE(UNIFIED_TEXT_CHECKING) for clarity.
   3137         (WebKit::TextChecker::checkSpellingOfString):
   3138         Add a call to notImplemented.
   3139         * UIProcess/qt/TextCheckerQt.cpp:
   3140         (WebKit::TextChecker::checkSpellingOfString):
   3141         Ditto, and remove the implementation for checkTextOfParagraph.
   3142         * UIProcess/gtk/TextCheckerGtk.cpp:
   3143         (WebKit::TextChecker::checkSpellingOfString):
   3144         Ditto.
   3145 
   3146         * UIProcess/win/WebTextCheckerClient.cpp:
   3147         (WebKit::WebTextCheckerClient::checkSpellingOfString):
   3148         * UIProcess/win/WebTextCheckerClient.h:
   3149 
   3150         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
   3151         (WebKit::WebEditorClient::checkSpellingOfString):
   3152         Send a sync message to the UI Process (similar to the sync message used for
   3153         checkTextOfParagraph).
   3154 
   3155 2011-04-07  Siddharth Mathur  <siddharth.mathur (a] nokia.com>
   3156 
   3157         Reviewed by Laszlo Gombos.
   3158 
   3159         [Qt][WK2][Symbian] Temporary build fix until native Symbian IPC is done. Implement fake socketpair() as it's not available. 
   3160         https://bugs.webkit.org/show_bug.cgi?id=57877
   3161 
   3162         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
   3163         (WebKit::socketpair): socketpair() which returns -1
   3164 
   3165 2011-04-07  Michael Saboff  <msaboff (a] apple.com>
   3166 
   3167         Reviewed by Maciej Stachowiak.
   3168 
   3169         WebKit2: Memory leak in decodeResourceError
   3170         https://bugs.webkit.org/show_bug.cgi?id=58004
   3171 
   3172         Release the local NSError after it is used to create a ResourceError
   3173         object assigned to the reference argument.
   3174 
   3175         * Shared/mac/WebCoreArgumentCodersMac.mm:
   3176         (CoreIPC::decodeResourceError):
   3177 
   3178 2011-04-07  Maciej Stachowiak  <mjs (a] apple.com>
   3179 
   3180         Reviewed by Adam Barth.
   3181 
   3182         Remove temporary WebProcess sandbox rules that are unnecessary now that plugins are in their own process
   3183         https://bugs.webkit.org/show_bug.cgi?id=58023
   3184 
   3185         * WebProcess/com.apple.WebProcess.sb:
   3186 
   3187 2011-04-07  Maciej Stachowiak  <mjs (a] apple.com>
   3188 
   3189         Reviewed by Dan Bernstein.
   3190 
   3191         Remove some no longer needed WebProcess sandbox allowances
   3192         https://bugs.webkit.org/show_bug.cgi?id=58015
   3193         <rdar://problem/9232592>
   3194 
   3195         * WebProcess/com.apple.WebProcess.sb: Remove no-longer needed extra network
   3196         and launching privileges, since the bugs that required them are fixed.
   3197 
   3198 2011-04-06  Chang Shu  <cshu (a] webkit.org>
   3199 
   3200         Reviewed by Darin Adler.
   3201 
   3202         WebKitTestRunner needs layoutTestController.pageSizeAndMarginsInPixels
   3203         https://bugs.webkit.org/show_bug.cgi?id=57984
   3204 
   3205         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
   3206         (WKBundlePageSizeAndMarginsInPixels):
   3207         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
   3208         * WebProcess/InjectedBundle/InjectedBundle.cpp:
   3209         (WebKit::InjectedBundle::pageSizeAndMarginsInPixels):
   3210         * WebProcess/InjectedBundle/InjectedBundle.h:
   3211 
   3212 2011-04-06  Siddharth Mathur  <siddharth.mathur (a] nokia.com>
   3213 
   3214         Reviewed by Benjamin Poulain.
   3215 
   3216         [Qt][WK2][Symbian] Remove use of stack arrays with variable size
   3217         https://bugs.webkit.org/show_bug.cgi?id=57877
   3218         
   3219         For better compiler portability, use new/delete for arrays when size
   3220         isn't known at compile time. Also fix one compiler warning about bitshift
   3221         operations on signed integers. 
   3222         * Platform/CoreIPC/qt/ConnectionQt.cpp: 
   3223         (CoreIPC::Connection::readyReadHandler): 
   3224         (CoreIPC::Connection::sendOutgoingMessage):
   3225 
   3226 2011-04-06  Brian Weinstein  <bweinstein (a] apple.com>
   3227 
   3228         Reviewed by Adam Roben.
   3229 
   3230         WebKit2: Support Windows 7 Gestures
   3231         https://bugs.webkit.org/show_bug.cgi?id=49824
   3232         <rdar://problem/8689728>
   3233         
   3234         Port code from WebKit1 -> WebKit2 to handle Windows 7 gestures.
   3235         
   3236         The UIProcess gets a WM_GESTURENOTIFY message, it sends a sync message to the WebProcess to ask
   3237         if we should allow panning. The WebProcess checks if we're in a scrollable area, and the mouse
   3238         isn't over a scrollbar.
   3239 
   3240         The UIProcess then gets a WM_GESTURE message, and if it is a pan gesture, it sends a message to
   3241         the WebProcess to scroll by the amount fingers have moved since the last WM_GESTURE messeage. The
   3242         X and Y are reversed because panning up -> moving the page down, and vice versa.
   3243 
   3244         * UIProcess/WebPageProxy.cpp:
   3245         (WebKit::WebPageProxy::gestureWillBegin): Send a sync message to the WebProcess
   3246             to initialize the gesture. The WebProcess returns whether or not we can start a pan
   3247             gesture from where we are.
   3248         (WebKit::WebPageProxy::gestureDidScroll): Send a message to the WebProcess to scroll by
   3249             pan gesture.
   3250         (WebKit::WebPageProxy::gestureDidEnd): Send a message to the WebProcess that the gesture has ended.
   3251         * UIProcess/WebPageProxy.h:
   3252         * UIProcess/win/WebView.cpp:
   3253         (WebKit::WebView::wndProc): Add WM_GESTURE and WM_GESTURENOTIFY handlers.
   3254         (WebKit::WebView::WebView): Initialize two new variables.
   3255         (WebKit::WebView::onGestureNotify): Figure out which gestures we should support based on where
   3256             the gesture is beginning.
   3257         (WebKit::WebView::onGesture): Support starting a gesture, ending a gesture, and panning.
   3258         * UIProcess/win/WebView.h:
   3259         * WebProcess/WebPage/WebPage.h:
   3260         * WebProcess/WebPage/WebPage.messages.in: Add messages needed for gestures.
   3261         * WebProcess/WebPage/win/WebPageWin.cpp:
   3262         (WebKit::WebPage::gestureWillBegin): Set the node that the gesture started on (so we 
   3263             know which layer to scroll if the user pans), and determine whether or not we should allow
   3264             panning. If the page can't scroll, or the user is on a scrollbar, disallow panning.
   3265         (WebKit::WebPage::gestureDidScroll): Scroll the enclosing layer of the element the gesture
   3266             started on.
   3267         (WebKit::WebPage::gestureDidEnd): Clear the node the gesture started on.
   3268 
   3269 2011-04-06  Jeff Miller  <jeffm (a] apple.com>
   3270 
   3271         Reviewed by Adam Roben.
   3272 
   3273         Add WKStringGetCharactersPtr() and WKStringGetLength() to WebKit2 C API
   3274         https://bugs.webkit.org/show_bug.cgi?id=57989
   3275         
   3276         Note that WKChar, which is returned by WKStringGetCharactersPtr(), is defined the same way we define JSChar in JSStringRef.h.
   3277 
   3278         * Shared/API/c/WKString.cpp:
   3279         (WKStringGetLength): Added.
   3280         (WKStringGetCharactersPtr): Added.
   3281         * Shared/API/c/WKString.h: Define WKChar and added WKStringGetLength() and WKStringGetCharactersPtr().
   3282         * Shared/WebString.h:
   3283         (WebKit::WebString::length): Added.
   3284         (WebKit::WebString::characters): Added.
   3285 
   3286 2011-04-06  Anders Carlsson  <andersca (a] apple.com>
   3287 
   3288         Reviewed by Oliver Hunt.
   3289 
   3290         Dock stays in front of Hulu.com full screen video output
   3291         https://bugs.webkit.org/show_bug.cgi?id=57988
   3292         <rdar://problem/9216260>
   3293 
   3294         Instead of using -[NSMenu setMenuBarVisible:] to toggle full screen, use
   3295         -[NSApp setPresentationOptions:]. Also, make the UI process the front most app before
   3296         setting the presentation options when exiting full screen, otherwise the dock won't
   3297         be restored correctly.
   3298 
   3299         * PluginProcess/mac/PluginProcessShim.mm:
   3300         Remove some shim functions that aren't needed.
   3301 
   3302         * UIProcess/Plugins/PluginProcessProxy.cpp:
   3303         (WebKit::PluginProcessProxy::PluginProcessProxy):
   3304         Initialize m_preFullscreenAppPresentationOptions.
   3305 
   3306         * UIProcess/Plugins/PluginProcessProxy.h:
   3307         Add m_preFullscreenAppPresentationOptions.
   3308 
   3309         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
   3310         (WebKit::PluginProcessProxy::enterFullscreen):
   3311         Change the presentation options for the app.
   3312 
   3313         (WebKit::PluginProcessProxy::exitFullscreen):
   3314         Restore the presentation options.
   3315 
   3316 2011-04-06  Mark Rowe  <mrowe (a] apple.com>
   3317 
   3318         Reviewed by Darin Adler.
   3319 
   3320         Expose the original URL of a WKBackForwardListItem.
   3321 
   3322         Needed for <rdar://problem/9074651>.
   3323 
   3324         * UIProcess/API/C/WKBackForwardListItem.cpp:
   3325         (WKBackForwardListItemCopyOriginalURL):
   3326         * UIProcess/API/C/WKBackForwardListItem.h:
   3327 
   3328 2011-04-06  Brady Eidson  <beidson (a] apple.com>
   3329 
   3330         Reviewed by Anders Carlsson.
   3331 
   3332         https://bugs.webkit.org/show_bug.cgi?id=57973 and https://bugs.webkit.org/show_bug.cgi?id=57973
   3333         WK2 icon database should be able to get a CGImage of a specific size
   3334 
   3335         * UIProcess/API/C/cg/WKIconDatabaseCG.cpp:
   3336         (WKIconDatabaseTryGetCGImageForURL): Change this API to take a requested size, and find the first matching
   3337           CGImage in the icon.
   3338         * UIProcess/API/C/cg/WKIconDatabaseCG.h:
   3339 
   3340 2011-04-06  Jessie Berlin  <jberlin (a] apple.com>
   3341 
   3342         Reviewed by Anders Carlsson.
   3343 
   3344         WebKit2: Implement TextChecker on Windows
   3345         https://bugs.webkit.org/show_bug.cgi?id=57862
   3346 
   3347         Part 2: Implement uniqueSpellDocumentTag and closeSpellDocumentWithTag.
   3348 
   3349         * UIProcess/API/C/win/WKTextChecker.h:
   3350         * UIProcess/win/TextCheckerWin.cpp:
   3351         (WebKit::TextChecker::uniqueSpellDocumentTag):
   3352         (WebKit::TextChecker::closeSpellDocumentWithTag):
   3353         * UIProcess/win/WebTextCheckerClient.cpp:
   3354         (WebKit::WebTextCheckerClient::uniqueSpellDocumentTag):
   3355         (WebKit::WebTextCheckerClient::closeSpellDocumentWithTag):
   3356         * UIProcess/win/WebTextCheckerClient.h:
   3357 
   3358 2011-04-06  Robert Sesek  <rsesek (a] chromium.org>
   3359 
   3360         Reviewed by Alexey Proskuryakov.
   3361 
   3362         Move code duplicated between the WebKit/mac and WebKit2 down to WebCore because Chromium will need it too
   3363         https://bugs.webkit.org/show_bug.cgi?id=54969
   3364 
   3365         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
   3366         (WebKit::WebEditorClient::respondToChangedSelection): Moved duplicated code to WebCore
   3367         * WebProcess/WebPage/mac/WebPageMac.mm: Moved duplicated code to WebCore
   3368         (WebKit::WebPage::getMarkedRange):
   3369         (WebKit::WebPage::getSelectedRange):
   3370         (WebKit::WebPage::characterIndexForPoint):
   3371         (WebKit::WebPage::performDictionaryLookupAtLocation):
   3372 
   3373 2011-04-06  Chang Shu  <cshu (a] webkit.org>
   3374 
   3375         Reviewed by Darin Adler.
   3376 
   3377         WebKitTestRunner needs layoutTestController.pageNumberForElementById
   3378         https://bugs.webkit.org/show_bug.cgi?id=42329
   3379 
   3380         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
   3381         (WKBundlePageNumberForElementById):
   3382         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
   3383         * WebProcess/InjectedBundle/InjectedBundle.cpp:
   3384         (WebKit::InjectedBundle::pageNumberForElementById):
   3385         * WebProcess/InjectedBundle/InjectedBundle.h:
   3386 
   3387 2011-04-05  Enrica Casucci  <enrica (a] apple.com>
   3388 
   3389         Reviewed by Darin Adler.
   3390 
   3391         REGRESSION: Drag & Drop Gmail Attachments doesn't work.
   3392         https://bugs.webkit.org/show_bug.cgi?id=57909
   3393         <rdar://problem/9103220>
   3394 
   3395         Added _hitTest method to support drag and drop when the drag types cannot be matched.
   3396         This is the case for elements that do not place content
   3397         in the drag pasteboard automatically when the drag start (i.e. dragging a DIV element).
   3398                
   3399         * UIProcess/API/mac/WKView.mm:
   3400         (-[WKView _hitTest:dragTypes:]): Added.
   3401 
   3402 2011-04-06  Csaba Osztrogonc  <ossy (a] webkit.org>
   3403 
   3404         Reviewed by Darin Adler.
   3405 
   3406         Fix using UNUSED_PARAM introduced in r82907
   3407         https://bugs.webkit.org/show_bug.cgi?id=57940
   3408 
   3409         * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
   3410         (WebKit::WebResourceCacheManager::clearCacheForOrigin):
   3411 
   3412 2011-04-06  Jessie Berlin  <jberlin (a] apple.com>
   3413 
   3414         Reviewed by Anders Carlsson.
   3415 
   3416         WebKit2: Implement TextChecker on Windows
   3417         https://bugs.webkit.org/show_bug.cgi?id=57862
   3418 
   3419         Part 1: Get and set the state.
   3420 
   3421         * Shared/API/c/win/WKBaseWin.h:
   3422         * Shared/APIObject.h:
   3423         * UIProcess/API/C/win/WKAPICastWin.h:
   3424  
   3425         * UIProcess/API/C/win/WKTextChecker.cpp: Added.
   3426         (WKTextCheckerSetClient):
   3427         (WKTextCheckerContinuousSpellCheckingEnabledStateChanged):
   3428         (WKTextCheckerGrammarCheckingEnabledStateChanged):
   3429         * UIProcess/API/C/win/WKTextChecker.h: Added.
   3430  
   3431         * UIProcess/TextChecker.h:
   3432         * UIProcess/win/TextCheckerWin.cpp:
   3433         (WebKit::TextChecker::state):
   3434         Do the initalization for the state only once so that it is not necessary to call the client
   3435         every time the state is requested.
   3436         (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
   3437         Call the client.
   3438         (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
   3439         Update the state and tell the client.
   3440         (WebKit::TextChecker::setGrammarCheckingEnabled):
   3441         Ditto.
   3442         (WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
   3443         Update the state.
   3444         (WebKit::TextChecker::grammarCheckingEnabledStateChanged):
   3445         Update the state.
   3446 
   3447         * UIProcess/win/WebTextChecker.cpp: Added.
   3448         (WebKit::WebTextChecker::shared):
   3449         Make the WebTextChecker available globally.
   3450         (WebKit::WebTextChecker::WebTextChecker):
   3451         (WebKit::WebTextChecker::setClient):
   3452         (WebKit::updateStateForAllWebProcesses):
   3453         (WebKit::WebTextChecker::continuousSpellCheckingEnabledStateChanged):
   3454         Tell the TextChecker that the state has changed, and then tell the
   3455         WebProcessProxies to send the new state to the WebProcesses.
   3456         (WebKit::WebTextChecker::grammarCheckingEnabledStateChanged):
   3457         Ditto.
   3458         * UIProcess/win/WebTextChecker.h: Added.
   3459         (WebKit::WebTextChecker::client):
   3460         (WebKit::WebTextChecker::type):
   3461 
   3462         * UIProcess/win/WebTextCheckerClient.cpp: Added.
   3463         (WebKit::WebTextCheckerClient::continuousSpellCheckingAllowed):
   3464         (WebKit::WebTextCheckerClient::continuousSpellCheckingEnabled):
   3465         (WebKit::WebTextCheckerClient::setContinuousSpellCheckingEnabled):
   3466         (WebKit::WebTextCheckerClient::grammarCheckingEnabled):
   3467         (WebKit::WebTextCheckerClient::setGrammarCheckingEnabled):
   3468         * UIProcess/win/WebTextCheckerClient.h: Added.
   3469  
   3470         * win/WebKit2.vcproj:
   3471         Add WKTextChecker.h/.cpp, WebTextChecker.h/.cpp, and WebTextCheckerClient.h/.cpp.
   3472         * win/WebKit2Generated.make:
   3473         Copy over WKTextChecker.h.
   3474 
   3475 2011-04-05  Chang Shu  <cshu (a] webkit.org>
   3476 
   3477         Reviewed by Darin Adler.
   3478 
   3479         WebKitTestRunner needs layoutTestController.numberOfPages
   3480         https://bugs.webkit.org/show_bug.cgi?id=42694
   3481 
   3482         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
   3483         (WKBundleNumberOfPages):
   3484         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
   3485         * WebProcess/InjectedBundle/InjectedBundle.cpp:
   3486         (WebKit::InjectedBundle::numberOfPages):
   3487         * WebProcess/InjectedBundle/InjectedBundle.h:
   3488 
   3489 2011-04-05  Darin Adler  <darin (a] apple.com>
   3490 
   3491         Reviewed by Alexey Proskuryakov.
   3492 
   3493         [Mac] WebKit2: Escape key does not stop page loads when focus is on the web page
   3494         https://bugs.webkit.org/show_bug.cgi?id=57893
   3495         <rdar://problem/9130486>
   3496 
   3497         * UIProcess/API/mac/PageClientImpl.h: Added executeSavedCommandBySelector.
   3498         * UIProcess/API/mac/PageClientImpl.mm: Renamed internal Objective-C classes to use
   3499         the WebKit2 Objective-C class prefix, WK, rather than the WebKit1 Objective-C class
   3500         prefix, Web. Removed some unneeded explicit WebKit namespace prefixes.
   3501         (-[WKEditCommandObjC initWithWebEditCommandProxy:]): Removed unneeded WebKit
   3502         namespace prefix.
   3503         (-[WKEditCommandObjC command]): Ditto.
   3504         (-[WKEditorUndoTargetObjC undoEditing:]): Updated for new class name.
   3505         (-[WKEditorUndoTargetObjC redoEditing:]): Ditto.
   3506         (WebKit::PageClientImpl::PageClientImpl): Ditto.
   3507         (WebKit::PageClientImpl::registerEditCommand): Ditto.
   3508         (WebKit::PageClientImpl::executeSavedCommandBySelector): Added.
   3509 
   3510         * UIProcess/API/mac/WKView.mm: Renamed internal Objective-C categories to use the
   3511         WebKit2 Objective-C prefix, WK, rather than the WebKit1 Objective-C prefix, Web,
   3512         or no prefix at all. Tweaked use of extern "C" a little.
   3513         (-[WKView doCommandBySelector:]): Tweaked the comment.
   3514         (-[WKView _executeSavedCommandBySelector:]): Added. For use when command is not handled
   3515         by WebCore.
   3516         (-[WKResponderChainSink initWithResponderChain:]): Added. Based on the
   3517         WebResponderChainSink class in WebKit1.
   3518         (-[WKResponderChainSink detach]): Added.
   3519         (-[WKResponderChainSink didReceiveUnhandledCommand]): Added.
   3520         (-[WKResponderChainSink noResponderFor:]): Added.
   3521         (-[WKResponderChainSink doCommandBySelector:]): Added.
   3522         (-[WKResponderChainSink tryToPerform:with:]): Added.
   3523 
   3524         * UIProcess/API/mac/WKViewInternal.h: Added declaration of _executeSavedCommandBySelector:
   3525         method. Also removed unneeded includes.
   3526 
   3527         * UIProcess/PageClient.h: Added executeSavedCommandBySelector.
   3528         * UIProcess/WebPageProxy.h: Added executeSavedCommandBySelector.
   3529         * UIProcess/WebPageProxy.messages.in: Added ExecuteSavedCommandBySelector.
   3530 
   3531         * UIProcess/mac/WebFullScreenManagerProxyMac.mm: Updated includes.
   3532 
   3533         * UIProcess/mac/WebPageProxyMac.mm:
   3534         (WebKit::WebPageProxy::executeSavedCommandBySelector): Added.
   3535 
   3536         * WebProcess/WebPage/mac/WebPageMac.mm:
   3537         (WebKit::WebPage::executeKeypressCommandsInternal): Send the synchronous
   3538         ExecuteSavedCommandBySelector message when a command is not handled by WebCore.
   3539 
   3540 2011-04-05  Anders Carlsson  <andersca (a] apple.com>
   3541 
   3542         Reviewed by Alexey Proskuryakov.
   3543 
   3544         Some plug-in content is displayed upside down in Unity plug-in
   3545         https://bugs.webkit.org/show_bug.cgi?id=57895
   3546         <rdar://problem/9212003>
   3547 
   3548         Create the flipped geometry layer in the web process instead of the plug-in process,
   3549         which matches what we do in WebKit1.
   3550 
   3551         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
   3552         (WebKit::NetscapePlugin::platformPostInitialize):
   3553         * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
   3554         (WebKit::PluginProxy::pluginLayer):
   3555 
   3556 2011-04-05  Anders Carlsson  <andersca (a] apple.com>
   3557 
   3558         Reviewed by Darin Adler.
   3559 
   3560         Assertion failure when navigating quickly between file URLs
   3561         https://bugs.webkit.org/show_bug.cgi?id=57884
   3562         <rdar://problem/9080559>
   3563 
   3564         Remove bogus assertion. The pending provisional sandbox extension can be
   3565         non-null if the current provisional load fails because we're about to load a new
   3566         page that also has a sandbox extension.
   3567 
   3568         * WebProcess/WebPage/WebPage.cpp:
   3569         (WebKit::WebPage::SandboxExtensionTracker::didFailProvisionalLoad):
   3570 
   3571 2011-04-05  Anders Carlsson  <andersca (a] apple.com>
   3572 
   3573         Reviewed by Adam Roben.
   3574 
   3575         Grant the web process access to ~/Library/Preferences/com.apple.universalaccess.plist
   3576         https://bugs.webkit.org/show_bug.cgi?id=57879
   3577 
   3578         The web process needs access to the unviersal access preferences to determine if full keyboard
   3579         access is enabled. I've filed <rdar://problem/9237619> which tracks reading this preference in the UI
   3580         process and sending it over to the web process whenever it changes.
   3581 
   3582         * WebProcess/com.apple.WebProcess.sb:
   3583 
   3584 2011-04-05  Dean Jackson  <dino (a] apple.com>
   3585 
   3586         Reviewed by Simon Fraser.
   3587 
   3588         Add parentheses around && within || to avoid clang warning.
   3589 
   3590         * WebProcess/WebPage/DrawingAreaImpl.cpp:
   3591         (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState):
   3592 
   3593 2011-04-05  Anders Carlsson  <andersca (a] apple.com>
   3594 
   3595         Reviewed by Adam Roben.
   3596 
   3597         Add two more entries to the sandbox profile
   3598         https://bugs.webkit.org/show_bug.cgi?id=57875
   3599 
   3600         Allow read-access to /Library/Dictionaries since WebCore::nextBreakablePosition
   3601         ends up calling into ICU which accesses the dictionary.
   3602 
   3603         Allow Mach access to com.apple.networkd since it's used by CFNetwork.
   3604 
   3605         * WebProcess/com.apple.WebProcess.sb:
   3606 
   3607 2011-04-05  Anders Carlsson  <andersca (a] apple.com>
   3608 
   3609         Reviewed by Oliver Hunt.
   3610 
   3611         Invalidate callbacks if the WebPageProxy is no longer valid
   3612         https://bugs.webkit.org/show_bug.cgi?id=57873
   3613         <rdar://problem/9059717>
   3614 
   3615         Audit all function calls that take callbacks and make sure to invalidate the callbacks
   3616         if the web page is no longer valid.
   3617 
   3618         * UIProcess/WebPageProxy.cpp:
   3619         (WebKit::WebPageProxy::runJavaScriptInMainFrame):
   3620         (WebKit::WebPageProxy::getRenderTreeExternalRepresentation):
   3621         (WebKit::WebPageProxy::getSourceForFrame):
   3622         (WebKit::WebPageProxy::getContentsAsString):
   3623         (WebKit::WebPageProxy::getSelectionOrContentsAsString):
   3624         (WebKit::WebPageProxy::getMainResourceDataOfFrame):
   3625         (WebKit::WebPageProxy::getResourceDataFromFrame):
   3626         (WebKit::WebPageProxy::getWebArchiveOfFrame):
   3627         (WebKit::WebPageProxy::forceRepaint):
   3628         (WebKit::WebPageProxy::computePagesForPrinting):
   3629         (WebKit::WebPageProxy::drawRectToPDF):
   3630         (WebKit::WebPageProxy::drawPagesToPDF):
   3631 
   3632 2011-04-05  Adam Roben  <aroben (a] apple.com>
   3633 
   3634         Disable accelerated compositing on Windows machines that don't support it
   3635 
   3636         This includes machines without the necessary graphics hardware, and machines without
   3637         WebKitQuartzCoreAdditions (like the Windows 7 Release (WebKit2 Tests) bots).
   3638 
   3639         Fixes <http://webkit.org/b/57870> REGRESSION (r82960): Lots of tests crashing in
   3640         DrawingAreaImpl::enterAcceleratedCompositingMode on Windows 7 Release (WebKit2 Tests)
   3641 
   3642         Reviewed by Anders Carlsson.
   3643 
   3644         * WebProcess/WebPage/LayerTreeHost.h:
   3645         (WebKit::LayerTreeHost::supportsAcceleratedCompositing): Added. On platforms other than
   3646         Windows, this always returns true.
   3647 
   3648         * WebProcess/WebPage/WebPage.cpp:
   3649         (WebKit::WebPage::updatePreferences): Only enable accelerated compositing-related
   3650         preferences if the machine supports accelerated compositing.
   3651 
   3652         * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp:
   3653         (WebKit::LayerTreeHostCAWin::supportsAcceleratedCompositing): Added. Creates a view, asks it
   3654         if it can draw, and returns the result.
   3655 
   3656         * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.h: Added supportsAcceleratedCompositing.
   3657 
   3658         * WebProcess/WebPage/win/LayerTreeHostWin.cpp: Added.
   3659         (WebKit::LayerTreeHost::supportsAcceleratedCompositing): Added. Calls through to
   3660         LayerTreeHostCAWin in configurations that support that class. Otherwise just returns false.
   3661 
   3662         * win/WebKit2.vcproj: Added LayerTreeHostWin.cpp. Let VS reorder some other files.
   3663 
   3664 2011-04-05  Adam Roben  <aroben (a] apple.com>
   3665 
   3666         Make accelerated compositing work in WebKit2 on Windows
   3667 
   3668         LayerTreeHostCAWin uses WKCACFView to render each frame to an image, then has
   3669         DrawingAreaImpl send that image over to the UI process (just like it does for
   3670         non-accelerated rendering). It's unfortunate that this requires reading every frame back
   3671         from the GPU into system memory. More efficient solutions can be explored in the future.
   3672 
   3673         Fixes <http://webkit.org/b/45567>.
   3674 
   3675         Reviewed by Anders Carlsson.
   3676 
   3677         * DerivedSources.make: Added $(WebKit2) to the VPATH so that DerivedSources.make can be
   3678         found when used as a target dependency. Added rules to generate a HeaderDetection.h file on
   3679         Windows. If we can find WebKitQuartzCoreAdditions headers, we define HAVE_WKQCA in
   3680         HeaderDetection.h.
   3681 
   3682         * WebProcess/WebPage/DrawingAreaImpl.cpp:
   3683         (WebKit::DrawingAreaImpl::setLayerHostNeedsDisplay):
   3684         * WebProcess/WebPage/DrawingAreaImpl.h:
   3685         Added setLayerHostNeedsDisplay. Lets the layer host tell the DrawingAreaImpl that it has a
   3686         new frame to render. This should only be called by layer hosts that participate in
   3687         DrawingAreaImpl's display mechanism.
   3688 
   3689         * WebProcess/WebPage/LayerTreeHost.cpp:
   3690         (WebKit::LayerTreeHost::create): Only try to instantiate LayerTreeHostCAWin if we have
   3691         WebKitQuartzCoreAdditions, since it depends on that library.
   3692 
   3693         * WebProcess/WebPage/WebPage.cpp:
   3694         (WebKit::WebPage::updatePreferences): Removed code that forced accelerated compositing to be
   3695         disabled on Windows.
   3696 
   3697         * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp:
   3698         (WebKit::registerDummyWindowClass): Registers the window class we use for the dummy window.
   3699         (WebKit::createDummyWindow): Creates the dummy window we pass to WKCACFView so that D3D can
   3700         determine the display mode, etc. (The window is never shown on screen.)
   3701         (WebKit::LayerTreeHostCAWin::LayerTreeHostCAWin): Initialize new members.
   3702         (WebKit::LayerTreeHostCAWin::platformInitialize): Create our dummy window and view and
   3703         associate the two. We set ourselves as the view's context's user data so that
   3704         PlatformCALayer can get our AbstractCACFLayerTreeHost pointer as needed.
   3705         (WebKit::LayerTreeHostCAWin::invalidate): Cancel any pending flushes, tear down our view,
   3706         and destroy the dummy window if no other layer host is using it.
   3707         (WebKit::LayerTreeHostCAWin::scheduleLayerFlush): Ask LayerChangesFlusher to call us back
   3708         soon to perform the flush.
   3709         (WebKit::LayerTreeHostCAWin::participatesInDisplay): Added. Returns true, since we render
   3710         each frame to an image.
   3711         (WebKit::LayerTreeHostCAWin::needsDisplay): Added. Returns true if it's now time to
   3712         displayReturns true if it's now time to display.
   3713         (WebKit::LayerTreeHostCAWin::timeUntilNextDisplay): Added. Returns how many seconds remain
   3714         before we need to display again.
   3715         (WebKit::size): Added. Helper function to get the size of a WKCACFImage.
   3716         (WebKit::toShareableBitmap): Added. Helper function to convert a WKCACFImage to a
   3717         ShareableBitmap.
   3718         (WebKit::LayerTreeHostCAWin::display): Added. Renders the next frame to an image and stuffs
   3719         the image into the UpdateInfo struct.
   3720         (WebKit::LayerTreeHostCAWin::sizeDidChange): Added. Tells the view about the new size.
   3721         (WebKit::LayerTreeHostCAWin::forceRepaint): Added. Flushes any pending changes to the view.
   3722         (WebKit::LayerTreeHostCAWin::contextDidChangeCallback): Added. WKCACFView calls this
   3723         whenever any changes made to the view or its layer tree have been flushed. Just calls
   3724         through to contextDidChange.
   3725         (WebKit::LayerTreeHostCAWin::contextDidChange): Added. Tells layers that they've started
   3726         animating, and tells the DrawingAreaImpl that we need to display again.
   3727         (WebKit::LayerTreeHostCAWin::rootLayer): Added. Gets the root layer's PlatformCALayer.
   3728         (WebKit::LayerTreeHostCAWin::addPendingAnimatedLayer): Added. Stores the layer so that we
   3729         can tell it animations have started the next time we get a contextDidChange callback.
   3730         (WebKit::LayerTreeHostCAWin::layerTreeDidChange): Added. Schedules a flush, unless we're
   3731         already in the process of flushing. This code came from WebCore::WKCACFViewLayerTreeHost.
   3732         (WebKit::LayerTreeHostCAWin::flushPendingLayerChangesNow): Added. Performs the flush. This
   3733         code was adapted from WebCore::WKCACFViewLayerTreeHost.
   3734 
   3735         * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.h: Wrapped this whole header in HAVE(WKQCA),
   3736         since this class only works when WebKitQuartzCoreAdditions is available. Added a bunch of
   3737         new members.
   3738 
   3739 2011-04-04  Adam Roben  <aroben (a] apple.com>
   3740 
   3741         Add a way for LayerTreeHost to participate in DrawingAreaImpl's normal display mechanism
   3742 
   3743         When LayerTreeHost participates in display, it renders each frame into a bitmap.
   3744         DrawingAreaImpl sends the bitmap to the UI process in an Update message, just like in
   3745         non-accelerated compositing mode. The UI process never knows that accelerated compositing is
   3746         going on. (When LayerTreeHost does not participate in display, as on Mac, it is responsible
   3747         for getting bits from the web process to the UI process.)
   3748 
   3749         No LayerTreeHost uses this mechanism (yet). This patch should cause no change in behavior.
   3750 
   3751         Fixes <http://webkit.org/b/57792> LayerTreeHost needs a way to render frames to a bitmap
   3752 
   3753         Reviewed by Anders Carlsson.
   3754 
   3755         * WebProcess/WebPage/DrawingAreaImpl.cpp:
   3756         (WebKit::DrawingAreaImpl::forceRepaint): If the layer tree host participates in display,
   3757         perform a display (like in the non-accelerated case).
   3758         (WebKit::DrawingAreaImpl::layerHostDidFlushLayers): Don't send an
   3759         EnterAcceleratedCompositing message to the UI process if the layer tree host participates in
   3760         display. In that case, the UI process doesn't even need to know we're using accelerated
   3761         compositing in the web process.
   3762         (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState): Go through the normal display
   3763         mechanism if we have a layer tree host that participates in display.
   3764         (WebKit::DrawingAreaImpl::didUpdate): Don't ignore DidUpdate messages when we have a layer
   3765         tree host that participates in display.
   3766         (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode): If the new layer tree host
   3767         participates in display, let the display timer continue to run and continue to expect
   3768         DidUpdate messages so that we don't interrupt the normal display mechanism. We still clear
   3769         out m_dirtyRegion, m_scrollRect, and m_scrollOffset, though, because the layer tree host is
   3770         still responsible for keeping track of those things even when it participates in display.
   3771         (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): If the outgoing layer tree host
   3772         was participating in display, just send another Update message instead of an
   3773         ExitAcceleratedCompositing message, since the UI process never even knew we were using
   3774         accelerated compositing.
   3775         (WebKit::DrawingAreaImpl::displayTimerFired): If we have a layer tree host that's
   3776         participating in display, ask it when it next needs to display when scheduling our timer.
   3777 
   3778         (WebKit::DrawingAreaImpl::scheduleDisplay):
   3779         (WebKit::DrawingAreaImpl::display):
   3780         If we have a layer tree host that's participating in display, it will keep track of its own
   3781         dirty region, so ask it if it needs display rather than checking our own dirty region.
   3782 
   3783         (WebKit::DrawingAreaImpl::display): If we have a layer tree host that's participating in
   3784         display, don't bail out. Instead, tell it to display rather than asking the page to paint.
   3785         Moved the setting of updateInfo.viewSize earlier so that it will be set even when the layer
   3786         tree host is displaying. Other changes are just due to indentation.
   3787 
   3788         * WebProcess/WebPage/LayerTreeHost.h:
   3789         (WebKit::LayerTreeHost::participatesInDisplay):
   3790         (WebKit::LayerTreeHost::needsDisplay):
   3791         (WebKit::LayerTreeHost::timeUntilNextDisplay):
   3792         (WebKit::LayerTreeHost::display):
   3793         Stubbed out these functions. Derived classes can override them to participate in display.
   3794 
   3795 2011-04-04  MORITA Hajime  <morrita (a] google.com>
   3796 
   3797         Reviewed by Ryosuke Niwa.
   3798 
   3799         [Refactoring] SpellCheckingResult should be replaced with TextCheckingResult
   3800         https://bugs.webkit.org/show_bug.cgi?id=56085
   3801         
   3802         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
   3803         (WebKit::WebEditorClient::requestCheckingOfString):
   3804         * WebProcess/WebCoreSupport/WebEditorClient.h:
   3805         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
   3806         (WebKit::WebEditorClient::checkTextOfParagraph):
   3807 
   3808 2011-04-05  Alejandro G. Castro  <alex (a] igalia.com>
   3809 
   3810         Another compilation fix after r82929 horrible patch merge.
   3811 
   3812         * UIProcess/WebPageProxy.messages.in:
   3813 
   3814 2011-04-05  Alejandro G. Castro  <alex (a] igalia.com>
   3815 
   3816         Fix compilation error after r82929.
   3817 
   3818         * WebProcess/WebPage/WebPage.h:
   3819 
   3820 2011-04-05  Amruth Raj  <amruthraj (a] motorola.com>, Ravi Phaneendra Kasibhatla  <ravi.kasibhatla (a] motorola.com> and Alejandro G. Castro  <alex (a] igalia.com>
   3821 
   3822         Reviewed by Martin Robinson.
   3823 
   3824         [GTK] Implement WebPage class for WebKit2
   3825         https://bugs.webkit.org/show_bug.cgi?id=54230
   3826 
   3827         Added functions to handle the generation of commands from the
   3828         keycodes.
   3829 
   3830         * GNUmakefile.am:
   3831         * Scripts/webkit2/messages.py:
   3832         * UIProcess/PageClient.h:
   3833         * UIProcess/WebPageProxy.h:
   3834         * UIProcess/WebPageProxy.messages.in:
   3835         * UIProcess/gtk/WebPageProxyGtk.cpp:
   3836         (WebKit::WebPageProxy::getEditorCommandsForKeyEvent):
   3837         * UIProcess/gtk/WebView.cpp:
   3838         (WebKit::backspaceCallback):
   3839         (WebKit::selectAllCallback):
   3840         (WebKit::cutClipboardCallback):
   3841         (WebKit::copyClipboardCallback):
   3842         (WebKit::pasteClipboardCallback):
   3843         (WebKit::toggleOverwriteCallback):
   3844         (WebKit::popupMenuCallback):
   3845         (WebKit::showHelpCallback):
   3846         (WebKit::deleteFromCursorCallback):
   3847         (WebKit::moveCursorCallback):
   3848         (WebKit::WebView::WebView):
   3849         (WebKit::WebView::getEditorCommandsForKeyEvent):
   3850         * UIProcess/gtk/WebView.h:
   3851         (WebKit::WebView::addPendingEditorCommand):
   3852         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
   3853         * WebProcess/WebCoreSupport/WebEditorClient.h:
   3854         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp: Added.
   3855         (WebKit::WebEditorClient::getEditorCommandsForKeyEvent):
   3856         (WebKit::WebEditorClient::executePendingEditorCommands):
   3857         (WebKit::WebEditorClient::handleKeyboardEvent):
   3858         (WebKit::WebEditorClient::handleInputMethodKeydown):
   3859         * WebProcess/WebPage/WebPage.cpp:
   3860         * WebProcess/WebPage/WebPage.h:
   3861         * WebProcess/WebPage/gtk/WebPageGtk.cpp: Added.
   3862         (WebKit::WebPage::platformInitialize):
   3863         (WebKit::WebPage::platformPreferencesDidChange):
   3864         (WebKit::scroll):
   3865         (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
   3866         (WebKit::WebPage::platformHasLocalDataForURL):
   3867         (WebKit::WebPage::cachedResponseMIMETypeForURL):
   3868         (WebKit::WebPage::platformCanHandleRequest):
   3869 
   3870 2011-04-05  Csaba Osztrogonc  <ossy (a] webkit.org>
   3871 
   3872         Remove duplicate API from WKContext
   3873         <rdar://problem/8727879>
   3874         https://bugs.webkit.org/show_bug.cgi?id=57815
   3875 
   3876         Unreviewed buildfix after r82906.
   3877 
   3878         Add UNUSED_PARAM to resourceCachesToClear, because
   3879         it is only used within #if USE(CFURLCACHE) guard.
   3880 
   3881         * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
   3882         (WebKit::WebResourceCacheManager::clearCacheForOrigin):
   3883 
   3884 2011-04-04  Sam Weinig  <sam (a] webkit.org>
   3885 
   3886         Reviewed by Brian Weinstein.
   3887 
   3888         Remove duplicate API from WKContext
   3889         <rdar://problem/8727879>
   3890         https://bugs.webkit.org/show_bug.cgi?id=57815
   3891 
   3892         - Remove WKContextClearResourceCaches and WKContextClearApplicationCache in favor
   3893           of their more modern counterparts WKResourceCacheManagerClearCacheForAllOrigins
   3894           and WKApplicationCacheManagerDeleteAllEntries.
   3895 
   3896         - Expand clearing functionality of WKResourceCacheManager by adding type of resources
   3897           to clear.
   3898 
   3899         * Shared/WebProcessCreationParameters.cpp:
   3900         (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
   3901         (WebKit::WebProcessCreationParameters::encode):
   3902         (WebKit::WebProcessCreationParameters::decode):
   3903         * Shared/WebProcessCreationParameters.h:
   3904         Remove clearing bools.
   3905 
   3906         * UIProcess/API/C/WKAPICast.h:
   3907         (WebKit::toResourceCachesToClear):
   3908         Update for new name of enum.
   3909 
   3910         * UIProcess/API/C/WKContext.cpp:
   3911         * UIProcess/API/C/WKContext.h:
   3912         Remove WKContextClearResourceCaches and WKContextClearApplicationCache.
   3913 
   3914         * UIProcess/API/C/WKResourceCacheManager.cpp:
   3915         (WKResourceCacheManagerClearCacheForOrigin):
   3916         (WKResourceCacheManagerClearCacheForAllOrigins):
   3917         * UIProcess/API/C/WKResourceCacheManager.h:
   3918         Add WKResourceCachesToClear enum and use it in the clearing functions.
   3919 
   3920         * UIProcess/WebContext.cpp:
   3921         (WebKit::WebContext::WebContext):
   3922         (WebKit::WebContext::ensureWebProcess):
   3923         * UIProcess/WebContext.h:
   3924         * WebProcess/WebProcess.messages.in:
   3925         Remove clearing functions and setting of bools for clear on launch.
   3926 
   3927         * UIProcess/WebFullScreenManagerProxy.cpp:
   3928         Remove unnecessary #include.
   3929 
   3930         * UIProcess/WebResourceCacheManagerProxy.cpp:
   3931         (WebKit::WebResourceCacheManagerProxy::clearCacheForOrigin):
   3932         (WebKit::WebResourceCacheManagerProxy::clearCacheForAllOrigins):
   3933         * UIProcess/WebResourceCacheManagerProxy.h:
   3934         * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
   3935         (WebKit::WebResourceCacheManager::clearCacheForOrigin):
   3936         (WebKit::WebResourceCacheManager::clearCacheForAllOrigins):
   3937         * WebProcess/ResourceCache/WebResourceCacheManager.h:
   3938         * WebProcess/ResourceCache/WebResourceCacheManager.messages.in:
   3939         Add enum parameter describing what type of caches to clear.
   3940 
   3941         * WebProcess/WebProcess.cpp:
   3942         (WebKit::WebProcess::initializeWebProcess):
   3943         (WebKit::WebProcess::clearResourceCaches):
   3944         * WebProcess/WebProcess.h:
   3945         No longer need to use opaque type now that it is not a message receiver.
   3946 
   3947 2011-04-04  David Kilzer  <ddkilzer (a] apple.com>
   3948 
   3949         <http://webkit.org/b/57384> CFNetwork and WebCore load priorities should match
   3950 
   3951         Reviewed by Alexey Proskuryakov.
   3952 
   3953         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
   3954         (InitWebCoreSystemInterface): Added initialization for
   3955         wkSetHTTPPipeliningMaximumPriority().
   3956 
   3957 2011-04-04  Anders Carlsson  <andersca (a] apple.com>
   3958 
   3959         Reviewed by Darin Adler.
   3960 
   3961         Send NPCocoaEventFlagsChanged events
   3962         https://bugs.webkit.org/show_bug.cgi?id=57811
   3963         <rdar://problem/9215600>
   3964 
   3965         * Shared/WebEvent.h:
   3966         (WebKit::WebEvent::capsLockKey):
   3967         Add CapsLock modifier and getter.
   3968 
   3969         * Shared/mac/WebEventFactory.mm:
   3970         (WebKit::modifiersForEvent):
   3971         Check for NSAlphaShiftKeyMask and set the CapsLockKey modifier.
   3972 
   3973         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
   3974         (WebKit::modifierFlags):
   3975         Check for CapsLockKey and set NSAlphaShiftKeyMask.
   3976 
   3977         (WebKit::isFlagsChangedEvent):
   3978         Return whether a given event is a Cocoa flags changed event.
   3979 
   3980         (WebKit::initializeKeyboardEvent):
   3981         If this is a flags changed event, set the event type to NPCocoaEventFlagsChanged.
   3982 
   3983 2011-04-04  Anders Carlsson  <andersca (a] apple.com>
   3984 
   3985         Reviewed by Darin Adler.
   3986 
   3987         Don't discard the backing stores of WKViews in the key window
   3988         https://bugs.webkit.org/show_bug.cgi?id=57808
   3989         <rdar://problem/9110793>
   3990         <rdar://problem/9194284>
   3991         <rdar://problem/9222216>
   3992 
   3993         * UIProcess/DrawingAreaProxy.h:
   3994         (WebKit::DrawingAreaProxy::setBackingStoreIsDiscardable):
   3995         Add empty stub.
   3996 
   3997         * UIProcess/DrawingAreaProxyImpl.cpp:
   3998         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
   3999         Initialize m_isBackingStoreDiscardable to true.
   4000 
   4001         (WebKit::DrawingAreaProxyImpl::setBackingStoreIsDiscardable):
   4002         Set m_isBackingStoreDiscardable and schedule or stop the discard backing store timer.
   4003 
   4004         (WebKit::DrawingAreaProxyImpl::discardBackingStoreSoon):
   4005         Don't start the timer if m_isBackingStoreDiscardable is false.
   4006 
   4007         * UIProcess/DrawingAreaProxyImpl.h:
   4008         Add m_isBackingStoreDiscardable.
   4009 
   4010         * UIProcess/WebPageProxy.cpp:
   4011         (WebKit::WebPageProxy::viewStateDidChange):
   4012         Mark the backing store as discardable if the view is hidden or if the containing window
   4013         is not active.
   4014 
   4015 2011-04-04  Jade Han  <jade.han (a] nokia.com>
   4016 
   4017         Reviewed by Csaba Osztrogonc.
   4018 
   4019         Symbian build fix.
   4020         https://bugs.webkit.org/show_bug.cgi?id=54977
   4021 
   4022         * config.h:
   4023 
   4024 2011-04-04  Brady Eidson  <beidson (a] apple.com>
   4025 
   4026         Rubberstamped by Adam Roben.
   4027 
   4028         Add WKIconDatabase* headers to the WebKit2 export for Windows:
   4029         * win/WebKit2Generated.make:
   4030 
   4031 2011-04-04  Anders Carlsson  <andersca (a] apple.com>
   4032 
   4033         Reviewed by Dan Bernstein.
   4034 
   4035         Get rid of WebContext::process() in more places
   4036         https://bugs.webkit.org/show_bug.cgi?id=57787
   4037 
   4038         Migrate calls to WebContext::process() over to sendToAllProcesses and
   4039         sendToAllProcessesRelaunchingThemIfNecessary.
   4040 
   4041         Add FIXMEs for things that need to be fixed in order to support multiple web processes.
   4042                 
   4043         * UIProcess/Downloads/DownloadProxy.cpp:
   4044         (WebKit::DownloadProxy::cancel):
   4045         * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
   4046         (WebKit::WebPluginSiteDataManager::getSitesWithData):
   4047         (WebKit::WebPluginSiteDataManager::clearSiteData):
   4048         * UIProcess/VisitedLinkProvider.cpp:
   4049         (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
   4050         * UIProcess/WebApplicationCacheManagerProxy.cpp:
   4051         (WebKit::WebApplicationCacheManagerProxy::getApplicationCacheOrigins):
   4052         (WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin):
   4053         (WebKit::WebApplicationCacheManagerProxy::deleteAllEntries):
   4054         * UIProcess/WebCookieManagerProxy.cpp:
   4055         (WebKit::WebCookieManagerProxy::getHostnamesWithCookies):
   4056         (WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
   4057         * UIProcess/WebDatabaseManagerProxy.cpp:
   4058         (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin):
   4059         (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
   4060         (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
   4061         (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
   4062         (WebKit::WebDatabaseManagerProxy::deleteAllDatabases):
   4063         (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):
   4064         * UIProcess/WebGeolocationManagerProxy.cpp:
   4065         (WebKit::WebGeolocationManagerProxy::providerDidChangePosition):
   4066         (WebKit::WebGeolocationManagerProxy::providerDidFailToDeterminePosition):
   4067         * UIProcess/WebIconDatabase.cpp:
   4068         (WebKit::WebIconDatabase::getLoadDecisionForIconURL):
   4069         (WebKit::WebIconDatabase::didFinishURLImport):
   4070         * UIProcess/WebKeyValueStorageManagerProxy.cpp:
   4071         (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins):
   4072         (WebKit::WebKeyValueStorageManagerProxy::deleteEntriesForOrigin):
   4073         (WebKit::WebKeyValueStorageManagerProxy::deleteAllEntries):
   4074         * UIProcess/WebMediaCacheManagerProxy.cpp:
   4075         (WebKit::WebMediaCacheManagerProxy::getHostnamesWithMediaCache):
   4076         (WebKit::WebMediaCacheManagerProxy::clearCacheForHostname):
   4077         (WebKit::WebMediaCacheManagerProxy::clearCacheForAllHostnames):
   4078         * UIProcess/WebResourceCacheManagerProxy.cpp:
   4079         (WebKit::WebResourceCacheManagerProxy::getCacheOrigins):
   4080         (WebKit::WebResourceCacheManagerProxy::clearCacheForOrigin):
   4081         (WebKit::WebResourceCacheManagerProxy::clearCacheForAllOrigins):
   4082 
   4083 2011-04-04  Alexey Proskuryakov  <ap (a] apple.com>
   4084 
   4085         Reviewed by Dan Bernstein.
   4086 
   4087         REGRESSION (WebKit2): Caps-Lock indicator sometimes doesn't appear in WebKit2
   4088         https://bugs.webkit.org/show_bug.cgi?id=51230
   4089         <rdar://problem/8780989>
   4090 
   4091         <rdar://problem/9015250> REGRESSION (WebKit2): Key events not fired for modifier keys
   4092 
   4093         * UIProcess/API/mac/WKView.mm:
   4094         (-[WKView flagsChanged:]): Ported from WebHTMLView.
   4095         (-[WKView _interpretKeyEvent:withCachedTextInputState:savingCommandsTo:WebCore::]):
   4096         AppKit isn't happy about attempts to interpret NSFlagsChanged, but WK2 lacked the check.
   4097 
   4098 2011-04-04  Steve Falkenburg  <sfalken (a] apple.com>
   4099 
   4100         Reviewed by Adam Roben.
   4101 
   4102         Remove unused AnalyzeWithLargeStack code from Windows build files
   4103         https://bugs.webkit.org/show_bug.cgi?id=57771
   4104         
   4105         This was used for us to build with prefast automatically,
   4106         but it is out-of-date and hasn't been used for some time.
   4107         Removing completely for now.
   4108 
   4109         * win/WebKitPreBuild.cmd:
   4110 
   4111 2011-04-04  Anders Carlsson  <andersca (a] apple.com>
   4112 
   4113         Attempt to fix the Windows build.
   4114 
   4115         * UIProcess/win/WebContextWin.cpp:
   4116         (WebKit::WebContext::setShouldPaintNativeControls):
   4117 
   4118 2011-04-04  Anders Carlsson  <andersca (a] apple.com>
   4119 
   4120         Reviewed by Adam Roben.
   4121 
   4122         Make it easier to send a message to all processes in a context
   4123         https://bugs.webkit.org/show_bug.cgi?id=57776
   4124 
   4125         Add WebContext::sendToAllProcesses and WebContext::sendToAllProcessesRelaunchingThemIfNecessary
   4126         as a first step towards getting rid of WebContext::process() and getting rid of a class of crashers
   4127         where WebContext::process() is null.
   4128 
   4129         * UIProcess/WebContext.cpp:
   4130         (WebKit::WebContext::initializeHistoryClient):
   4131         (WebKit::WebContext::languageChanged):
   4132         (WebKit::WebContext::setAlwaysUsesComplexTextCodePath):
   4133         (WebKit::WebContext::registerURLSchemeAsEmptyDocument):
   4134         (WebKit::WebContext::registerURLSchemeAsSecure):
   4135         (WebKit::WebContext::setDomainRelaxationForbiddenForURLScheme):
   4136         (WebKit::WebContext::setCacheModel):
   4137         (WebKit::WebContext::setDefaultRequestTimeoutInterval):
   4138         (WebKit::WebContext::clearResourceCaches):
   4139         (WebKit::WebContext::clearApplicationCache):
   4140         (WebKit::WebContext::setEnhancedAccessibility):
   4141         (WebKit::WebContext::startMemorySampler):
   4142         Use sendToAllProcesses.
   4143 
   4144         (WebKit::WebContext::stopMemorySampler):
   4145         Use sendToAllProcesses. This is a slight policy change where we now create a sandbox extension even
   4146         if there's no process around. Since this is a debugging tool it seems OK to do this.
   4147 
   4148         * UIProcess/WebContext.h:
   4149         Get rid of hasValidProcess.
   4150 
   4151         (WebKit::WebContext::sendToAllProcesses):
   4152         If we have a process and we can send messages to it, then do so.
   4153 
   4154         (WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary):
   4155         Relaunch the web process and send the message.
   4156 
   4157         * UIProcess/WebCookieManagerProxy.cpp:
   4158         (WebKit::WebCookieManagerProxy::deleteCookiesForHostname):
   4159         (WebKit::WebCookieManagerProxy::deleteAllCookies):
   4160         (WebKit::WebCookieManagerProxy::startObservingCookieChanges):
   4161         (WebKit::WebCookieManagerProxy::stopObservingCookieChanges):
   4162         (WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
   4163         Use sendToAllProcesses and sendToAllProcessesRelaunchingThemIfNecessary.
   4164 
   4165 2011-04-04  Adam Roben  <aroben (a] apple.com>
   4166 
   4167         Move a teensy bit of non-Mac-specific code up to LayerTreeHostCA
   4168 
   4169         Fixes <http://webkit.org/b/57774> LayerTreeHostCA should know how to flip the root layer
   4170 
   4171         Reviewed by Anders Carlsson.
   4172 
   4173         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
   4174         (WebKit::LayerTreeHostCA::initialize): Cross-platformized and moved some code here...
   4175 
   4176         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
   4177         (WebKit::LayerTreeHostCAMac::platformInitialize): ...from here.
   4178 
   4179 2011-04-01  Enrica Casucci  <enrica (a] apple.com>
   4180 
   4181         Reviewed by Darin Adler.
   4182 
   4183         WK2: Reproducible crash when dragging out of or over Safari window.
   4184         https://bugs.webkit.org/show_bug.cgi?id=57654
   4185         <rdar://problem/9139755>
   4186         
   4187         AppKit does not retain the owner given to the pasteboard, therefore we
   4188         need to give the ownership of the retained pointer to NSPasteboard.
   4189         Also, dragImage will release the NSFilePromiseDragSource object, therefore
   4190         we retain it before calling dragImage to be able to control its lifetime.
   4191         
   4192         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
   4193         (WebKit::WebDragClient::declareAndWriteDragImage): Passing ownership
   4194         of the pointer to AppKit when providing the owner pointer to the NSPasteboard
   4195         object.
   4196         * WebProcess/WebPage/mac/WebPageMac.mm:
   4197         (WebKit::WebPage::platformDragEnded): Retaining the NSFilePromiseDragSource
   4198         since dragImage will release it.
   4199 
   4200 2011-03-30  Jer Noble  <jer.noble (a] apple.com>
   4201 
   4202         Reviewed by Dan Bernstein.
   4203 
   4204         WebKit2: No "open in preview" contextual menu item for PDFs
   4205         https://bugs.webkit.org/show_bug.cgi?id=57527
   4206 
   4207         Add support for opening a PDF in the associated application from the
   4208         context menu.
   4209 
   4210         * UIProcess/API/mac/PDFViewController.mm:
   4211         (_applicationInfoForMIMEType): Added, copied from WebKit/WebPDFView.mm
   4212         (-[WKPDFView _openWithFinder:]): Added.
   4213         (-[WKPDFView hitTest:]): Added, copied from WebKit/WebPDFView.mm.
   4214         (-[WKPDFView menuForEvent:]): Added, adapted from WebKit/WebPDFVie.mm.
   4215         (-[WKPDFView validateUserInterfaceItem:]): Added.
   4216 
   4217 2011-04-04  Chang Shu  <cshu (a] webkit.org>
   4218 
   4219         Reviewed by Darin Adler.
   4220 
   4221         WebKitTestRunner needs layoutTestController.setAllowFileAccessFromFileURLs
   4222         https://bugs.webkit.org/show_bug.cgi?id=57572
   4223 
   4224         * Shared/WebPreferencesStore.cpp:
   4225         (WebKit::WebPreferencesStore::decode):
   4226         (WebKit::WebPreferencesStore::overrideAllowFileAccessFromFileURLsForTestRunner):
   4227         * Shared/WebPreferencesStore.h:
   4228         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
   4229         (WKBundleSetAllowFileAccessFromFileURLs):
   4230         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
   4231         * WebProcess/InjectedBundle/InjectedBundle.cpp:
   4232         (WebKit::InjectedBundle::setAllowFileAccessFromFileURLs):
   4233         * WebProcess/InjectedBundle/InjectedBundle.h:
   4234 
   4235 2011-04-04  Brady Eidson  <beidson (a] apple.com>
   4236 
   4237         Reviewed by Darin Adler.
   4238 
   4239         https://bugs.webkit.org/show_bug.cgi?id=57683
   4240         Flesh out WK2 Icon Database API
   4241 
   4242         For now the new API will add a client interface where the WK1 version used NSNotifications.
   4243 
   4244         If we decide we'd like the granularity of specific callback functions later, 
   4245         they can easily be added on.
   4246 
   4247         Project file nonsense:
   4248         * GNUmakefile.am:
   4249         * WebKit2.pro:
   4250         * WebKit2.xcodeproj/project.pbxproj:
   4251         * win/WebKit2.vcproj:
   4252 
   4253         Add a WKIconDatabaseClient and some new API:
   4254         * UIProcess/API/C/WKIconDatabase.cpp:
   4255         (WKIconDatabaseSetIconDatabaseClient):
   4256         (WKIconDatabaseRemoveAllIcons):
   4257         (WKIconDatabaseCheckIntegrityBeforeOpening):
   4258         * UIProcess/API/C/WKIconDatabase.h:
   4259         * UIProcess/API/C/cg/WKIconDatabaseCG.cpp:
   4260         (WKIconDatabaseTryGetCGImageForURL): Renamed to "try" for subtle clarification.
   4261         * UIProcess/API/C/cg/WKIconDatabaseCG.h:
   4262 
   4263         Implementations for the new APIs:
   4264         * UIProcess/WebIconDatabase.cpp:
   4265         (WebKit::WebIconDatabase::retainIconForPageURL): Remove excessive logging.
   4266         (WebKit::WebIconDatabase::releaseIconForPageURL): Ditto.
   4267         (WebKit::WebIconDatabase::imageForPageURL):
   4268         (WebKit::WebIconDatabase::removeAllIcons):
   4269         (WebKit::WebIconDatabase::checkIntegrityBeforeOpening):
   4270         (WebKit::WebIconDatabase::initializeIconDatabaseClient):
   4271         (WebKit::WebIconDatabase::didImportIconURLForPageURL): Dispatch a client callback,
   4272           much like the WK1 API uses notifications.
   4273         (WebKit::WebIconDatabase::didImportIconDataForPageURL): Ditto.
   4274         (WebKit::WebIconDatabase::didChangeIconForPageURL): Ditto.
   4275         (WebKit::WebIconDatabase::didRemoveAllIcons): Ditto.
   4276         * UIProcess/WebIconDatabase.h:
   4277         * UIProcess/WebIconDatabaseClient.cpp: Added.
   4278         (WebKit::WebIconDatabaseClient::didChangeIconForPageURL):
   4279         (WebKit::WebIconDatabaseClient::didRemoveAllIcons):
   4280         * UIProcess/WebIconDatabaseClient.h: Added.
   4281 
   4282 2011-04-04  Carlos Garcia Campos  <cgarcia (a] igalia.com>
   4283 
   4284         Reviewed by Martin Robinson.
   4285 
   4286         [GTK] Main loop sources are leaked in RunLoopGtk
   4287         https://bugs.webkit.org/show_bug.cgi?id=57618
   4288 
   4289         * Platform/RunLoop.h:
   4290         (RunLoop::TimerBase::isRepeating):
   4291         * Platform/gtk/RunLoopGtk.cpp:
   4292         (RunLoop::~RunLoop): Make sure main loop is currently running
   4293         before calling g_main_loop_quit(), RunLoop::stop() might have been
   4294         called.
   4295         (RunLoop::wakeUp): Use an idle source with default priority
   4296         instead of a timeout one with a 0 interval.
   4297         (RunLoop::TimerBase::clearTimerSource): New method to clear the
   4298         timer.
   4299         (RunLoop::TimerBase::destroyNotifyCallback): Destroy notify
   4300         callback called when the source is destroyed to clear the timer.
   4301         (RunLoop::TimerBase::timerFiredCallback): Use the same callback for
   4302         repeating and no repeating timers.
   4303         (RunLoop::TimerBase::start): g_source_attach() increments the
   4304         source reference counter, so use GRefPtr to make sure the source
   4305         is freed.
   4306         (RunLoop::TimerBase::stop): Use clearTimerSource().
   4307 
   4308 2011-04-03  Dan Bernstein  <mitz (a] apple.com>
   4309 
   4310         Build fix.
   4311 
   4312         * Shared/DictionaryPopupInfo.cpp:
   4313         (WebKit::DictionaryPopupInfo::encode):
   4314         (WebKit::DictionaryPopupInfo::decode):
   4315         * Shared/DictionaryPopupInfo.h:
   4316 
   4317 2011-04-03  Dan Bernstein  <mitz (a] apple.com>
   4318 
   4319         Reviewed by Maciej Stachowiak.
   4320 
   4321         <rdar://problem/9227839> REGRESSION: Reproducible crash in Snow Leopard when trying to show the Dictionary panel or application
   4322         https://bugs.webkit.org/show_bug.cgi?id=57739
   4323 
   4324         * Shared/DictionaryPopupInfo.cpp:
   4325         (WebKit::DictionaryPopupInfo::encode): Do not encode the options dictionary on Snow Leopard.
   4326         (WebKit::DictionaryPopupInfo::decode): Do not decode the options dictionary on Snow Leopard.
   4327         * Shared/DictionaryPopupInfo.h: Removed the options member variable on Snow Leopard.
   4328         * Shared/Plugins/PluginQuirks.h:
   4329         * WebProcess/WebPage/mac/WebPageMac.mm:
   4330         (WebKit::WebPage::performDictionaryLookupForRange): Do not set the options member variable on
   4331         Snow Leopard.
   4332 
   4333 2011-04-02  Sam Weinig  <sam (a] webkit.org>
   4334 
   4335         Reviewed by Beth Dakin.
   4336 
   4337         https://bugs.webkit.org/show_bug.cgi?id=57605
   4338         Frame::pageScaleFactor() should not affect getBoundingClientRect() or 
   4339         getClientRects()
   4340         -and corresponding-
   4341         <rdar://problem/9194541>
   4342 
   4343         Add DRT support for the scaleWebView SPI.
   4344         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
   4345         (WKBundlePageSetScaleAtOrigin):
   4346         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
   4347 
   4348 2011-04-02  Sam Weinig  <sam (a] webkit.org>
   4349 
   4350         Reviewed by Oliver Hunt.
   4351 
   4352         "Search in Spotlight" broken in WebKit2
   4353         https://bugs.webkit.org/show_bug.cgi?id=57712
   4354 
   4355         Proxy spotlight searching to the UIProcess.
   4356 
   4357         * UIProcess/WebPageProxy.messages.in:
   4358         Add new message. Re-organize messages to put all mac specific ones together.
   4359 
   4360         * UIProcess/WebPageProxy.h:
   4361         * UIProcess/mac/WebPageProxyMac.mm:
   4362         (WebKit::WebPageProxy::speak):
   4363         (WebKit::WebPageProxy::searchWithSpotlight):
   4364         Moved code to trigger spotlight here. Use WTF::String -> NSString conversion function
   4365         instead of relying on the built in conversion since it doesn't always work in the UIProcess.
   4366 
   4367         * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
   4368         (WebKit::WebContextMenuClient::searchWithSpotlight):
   4369         Post message to the UIProcess to do the searching.
   4370 
   4371 2011-04-02  Jeff Miller  <jeffm (a] apple.com>
   4372 
   4373         Reviewed by Dan Bernstein.
   4374 
   4375         WebKit2: Specify the certificate store in WKBundleSetClientCertificate()
   4376         https://bugs.webkit.org/show_bug.cgi?id=57707
   4377 
   4378         Include the name of the system certificate store that the client certificate came from in WKBundleSetClientCertificate().
   4379 
   4380         The PCCERT_CONTEXT for the client certificate we create from the message from the UI process doesn't contain enough information to actually use it in a request, we need to get the real certificate from the certificate store (which is typically the "MY" store).
   4381 
   4382         * WebProcess/InjectedBundle/API/c/win/WKBundlePrivateWin.cpp:
   4383         (WKBundleSetClientCertificate): Add certificateSystemStoreName to parameters.
   4384         * WebProcess/InjectedBundle/API/c/win/WKBundlePrivateWin.h: Add certificateSystemStoreName to WKBundleSetClientCertificate() parameters.
   4385         * WebProcess/InjectedBundle/InjectedBundle.h: Add certificateSystemStoreName to setClientCertificate() parameters.
   4386         * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
   4387         (WebKit::InjectedBundle::setClientCertificate): Read the real certificate from the certificate store.
   4388 
   4389 2011-04-02  Sam Weinig  <sam (a] webkit.org>
   4390 
   4391         Reviewed by Dan Bernstein.
   4392 
   4393         Implement WKBundleFrameHasHorizontalScrollbar/WKBundleFrameHasVerticalScrollbar
   4394         <rdar://problem/9225772>
   4395         https://bugs.webkit.org/show_bug.cgi?id=57709
   4396 
   4397         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
   4398         (WKBundleFrameHasHorizontalScrollbar):
   4399         (WKBundleFrameHasVerticalScrollbar):
   4400         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
   4401         * WebProcess/WebPage/WebFrame.cpp:
   4402         (WebKit::WebFrame::hasHorizontalScrollbar):
   4403         (WebKit::WebFrame::hasVerticalScrollbar):
   4404         * WebProcess/WebPage/WebFrame.h:
   4405 
   4406 2011-04-01  Jon Lee  <jonlee (a] apple.com>
   4407 
   4408         Reviewed by Darin Adler.
   4409 
   4410         WebKit2: Type-to-select doesn't work in open <select> menu (53023)
   4411         https://bugs.webkit.org/show_bug.cgi?id=53023
   4412         <rdar://problem/8907678>
   4413 
   4414         * UIProcess/WebPageProxy.h:
   4415         * UIProcess/WebPageProxy.messages.in: adding new setPopupMenuSelectedIndex message for windows platform
   4416         * UIProcess/win/WebPageProxyWin.cpp:
   4417         (WebKit::WebPageProxy::setPopupMenuSelectedIndex):
   4418         * UIProcess/win/WebPopupMenuProxyWin.h: moving setFocusedIndex() into public method
   4419         * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
   4420         (WebKit::WebPopupMenu::updateFromElement): send message back to UIProcess to update the selected element
   4421 
   4422 2011-04-01  Alexey Proskuryakov  <ap (a] apple.com>
   4423 
   4424         Reviewed by Darin Adler.
   4425 
   4426         REGRESSION: Assertion failure when executing a complex custom key binding
   4427         https://bugs.webkit.org/show_bug.cgi?id=57681
   4428 
   4429         Also completes a fix for
   4430         <rdar://problem/9063782> WebKit2: Text fields in Safari don't honor custom key bindings
   4431 
   4432         * UIProcess/API/mac/WKView.mm: (-[WKView hasMarkedText]): There is no need to execute saved
   4433         commands when they can't possibly change the result.
   4434 
   4435 2011-04-01  Brian Weinstein  <bweinstein (a] apple.com>
   4436 
   4437         Reviewed by Anders Carlsson.
   4438 
   4439         Crash when calling WebPageProxy::setMemoryCacheClientCallsEnabled with an invalid Web Process
   4440         https://bugs.webkit.org/show_bug.cgi?id=57680
   4441         <rdar://problem/9202909>
   4442 
   4443         * UIProcess/WebPageProxy.cpp:
   4444         (WebKit::WebPageProxy::setMemoryCacheClientCallsEnabled): Add an isValid check before sending
   4445             the message.
   4446 
   4447 2011-03-31  Jer Noble  <jer.noble (a] apple.com>
   4448 
   4449         Reviewed by Dan Bernstein.
   4450 
   4451         WebKit2: Save as PDF in Safari provides Untitled as default file name
   4452         https://bugs.webkit.org/show_bug.cgi?id=57529
   4453 
   4454         Set the NSPrintOperation's jobTitle to the printing frame's title.
   4455 
   4456         * UIProcess/API/mac/WKView.mm:
   4457         (-[WKView printOperationWithPrintInfo:forFrame:]):
   4458 
   4459 2011-04-01  Jer Noble  <jer.noble (a] apple.com>
   4460 
   4461         Reviewed by Darin Adler.
   4462 
   4463         WebKit2: Link from PDF opens in a new tab instead of in the same tab
   4464         https://bugs.webkit.org/show_bug.cgi?id=57528
   4465 
   4466         Notify the WebProcess that a link has been clicked so that the normal policy
   4467         lookup can occur.
   4468 
   4469         * Shared/WebEvent.cpp:
   4470         (WebKit::WebEvent::WebEvent): Initialize ivars in the default constructor.
   4471         * Shared/WebEvent.h: Add WebEvent::NoType to Type enum.
   4472         * Shared/WebMouseEvent.cpp: 
   4473         (WebKit::WebMouseEvent::WebMouseEvent): Ditto.
   4474         * UIProcess/API/mac/PDFViewController.mm:
   4475         (-[WKPDFView PDFViewWillClickOnLink:withURL:]): Handle the delegate
   4476             function and override the PDFView default behavior.
   4477         * UIProcess/WebPageProxy.cpp:
   4478         (WebKit::WebPageProxy::didReceiveEvent): Handle the new WebEvent::NoType enum.
   4479         (WebKit::WebPageProxy::linkClicked): Added.  Send event through to WebPage.
   4480         * UIProcess/WebPageProxy.h:
   4481         * WebProcess/WebPage/WebPage.cpp:
   4482         (WebKit::WebPage::linkClicked): Added.  Call loadFrameRequest().
   4483         * WebProcess/WebPage/WebPage.h:
   4484         * WebProcess/WebPage/WebPage.messages.in: Added LinkClicked.
   4485 
   4486 2011-04-01  Sam Weinig  <sam (a] webkit.org>
   4487 
   4488         Reviewed by Adam "Keyword Slasher" Roben.
   4489 
   4490         Remove unnecessary static keyword.
   4491 
   4492         * UIProcess/API/cpp/WKRetainPtr.h:
   4493         (WebKit::adoptWK):
   4494 
   4495 2011-04-01  Sam Weinig  <sam (a] webkit.org>
   4496 
   4497         Reviewed by Adam Roben.
   4498 
   4499         Add adoptWK to WKRetainPtr.h
   4500         https://bugs.webkit.org/show_bug.cgi?id=57670
   4501 
   4502         * UIProcess/API/cpp/WKRetainPtr.h:
   4503         (WebKit::adoptWK):
   4504         Add shared implementation of adoptWK. Previously both WebKitTestRunner
   4505         and TestWebKitAPI had separate versions of it.
   4506 
   4507 2011-04-01  Anders Carlsson  <andersca (a] apple.com>
   4508 
   4509         Reviewed by Sam Weinig.
   4510 
   4511         Shockwave plug-in doesn't accept mouse events
   4512         https://bugs.webkit.org/show_bug.cgi?id=57653
   4513         <rdar://problem/8483273>
   4514 
   4515         Add a missing break.
   4516 
   4517         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
   4518         (WebKit::NetscapePlugin::convertPoint):
   4519 
   4520 2011-04-01  Sam Weinig  <sam (a] webkit.org>
   4521 
   4522         Reviewed by Anders Carlsson.
   4523 
   4524         WebKitTestRunner needs layoutTestController.shadowRoot
   4525         https://bugs.webkit.org/show_bug.cgi?id=57661
   4526 
   4527         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
   4528         (WKBundleNodeHandleGetRenderRect):
   4529         (WKBundleNodeHandleGetElementBounds):
   4530         (WKBundleNodeHandleCopyElementShadowRoot):
   4531         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
   4532         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
   4533         (WebKit::InjectedBundleNodeHandle::elementShadowRoot):
   4534         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
   4535         Add accessor for the shadowRoot of an element in the bundle.
   4536 
   4537 2011-04-01  Alexey Proskuryakov  <ap (a] apple.com>
   4538 
   4539         Reviewed by Darin Adler.
   4540 
   4541         Make WebKit2 text input handling more like WebKit1
   4542         https://bugs.webkit.org/show_bug.cgi?id=57649
   4543 
   4544         We now send more sync messages from UI process to Web process for NSTextInput protocol
   4545         methods. Some of the exchanges are avoided by pre-calculating the responses before asking
   4546         UI process to interpret key events, and also with each sync message sent during
   4547         interpretation, and which could change the state.
   4548 
   4549         * Platform/CoreIPC/HandleMessage.h: (CoreIPC::callMemberFunction): Added a missing
   4550         specialization for a function with 6 arguments and 2 returned values.
   4551 
   4552         * Scripts/webkit2/messages.py: Added TextInputState to struct list.
   4553 
   4554         * Shared/WebCoreArgumentCoders.h: Fixed a bug in CompositionUnderline encoding, which only
   4555         encoded a part of Color field, and didn't match decoder.
   4556 
   4557         * Shared/mac/TextInputState.h: Added. This is state that's needed for IM machinery and that
   4558         we don't want to send sync messages for. This is similar to SelectionState, but the latter
   4559         is only updated asynchronously, and is thus less reliable.
   4560 
   4561         * UIProcess/API/mac/PageClientImpl.h: We don't "intercept", we "interpret".
   4562 
   4563         * UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::interpretKeyEvent): Pass
   4564         current text input state, and don't expect anything input method related in return, as input
   4565         methods are now sync.
   4566 
   4567         * UIProcess/API/mac/WKView.mm:
   4568         (-[WKView doCommandBySelector:]):
   4569         (-[WKView insertText:]):
   4570         (-[WKView keyDown:]):
   4571         (-[WKView _executeSavedKeypressCommands]):
   4572         (-[WKView inputContext]):
   4573         (-[WKView selectedRange]):
   4574         (-[WKView hasMarkedText]):
   4575         (-[WKView unmarkText]):
   4576         (-[WKView setMarkedText:selectedRange:]):
   4577         (-[WKView markedRange]):
   4578         (-[WKView attributedSubstringFromRange:]):
   4579         (-[WKView characterIndexForPoint:]):
   4580         (-[WKView firstRectForCharacterRange:]):
   4581         (-[WKView _interpretKeyEvent:withCachedTextInputState:savingCommandsTo:WebCore::]):
   4582         * UIProcess/API/mac/WKViewInternal.h:
   4583         * UIProcess/PageClient.h:
   4584         * UIProcess/WebPageProxy.h:
   4585         * UIProcess/WebPageProxy.messages.in:
   4586         * UIProcess/mac/WebPageProxyMac.mm:
   4587         (WebKit::WebPageProxy::setComposition):
   4588         (WebKit::WebPageProxy::confirmComposition):
   4589         (WebKit::WebPageProxy::insertText):
   4590         (WebKit::WebPageProxy::getSelectedRange):
   4591         (WebKit::WebPageProxy::executeKeypressCommands):
   4592         (WebKit::WebPageProxy::interpretQueuedKeyEvent):
   4593         * WebKit2.xcodeproj/project.pbxproj:
   4594         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
   4595         (WebKit::WebEditorClient::handleKeyboardEvent):
   4596         (WebKit::WebEditorClient::handleInputMethodKeydown):
   4597         * WebProcess/WebPage/WebPage.cpp:
   4598         (WebKit::WebPage::WebPage):
   4599         * WebProcess/WebPage/WebPage.h:
   4600         (WebKit::WebPage::viewFrameInWindowCoordinates):
   4601         * WebProcess/WebPage/WebPage.messages.in:
   4602         * WebProcess/WebPage/mac/WebPageMac.mm:
   4603         (WebKit::createSelectorExceptionMap):
   4604         (WebKit::commandNameForSelectorName):
   4605         (WebKit::currentTextInputState):
   4606         (WebKit::frameForEvent):
   4607         (WebKit::WebPage::executeKeypressCommandsInternal):
   4608         (WebKit::WebPage::handleEditingKeyboardEvent):
   4609         (WebKit::WebPage::setComposition):
   4610         (WebKit::WebPage::confirmComposition):
   4611         (WebKit::WebPage::insertText):
   4612         (WebKit::WebPage::getSelectedRange):
   4613         (WebKit::convertToRange):
   4614         (WebKit::WebPage::executeKeypressCommands):
   4615         (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
   4616         Rewrote to be more like WebKit1.
   4617 
   4618 2011-04-01  Chang Shu  <cshu (a] webkit.org>
   4619 
   4620         Reviewed by Darin Adler.
   4621 
   4622         WebKitTestRunner needs layoutTestController.setDatabaseQuota
   4623         https://bugs.webkit.org/show_bug.cgi?id=57568
   4624 
   4625         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
   4626         (WKBundleSetDatabaseQuota):
   4627         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
   4628         * WebProcess/InjectedBundle/InjectedBundle.cpp:
   4629         (WebKit::InjectedBundle::setDatabaseQuota):
   4630         * WebProcess/InjectedBundle/InjectedBundle.h:
   4631         * WebProcess/WebCoreSupport/WebDatabaseManager.h:
   4632 
   4633 2011-04-01  Timothy Hatcher  <timothy (a] apple.com>
   4634 
   4635         Make momentum scroll event latching work in WebKit2 on Mac.
   4636 
   4637         <rdar://problem/8751861>
   4638 
   4639         Reviewed by Darin Adler.
   4640 
   4641         * Shared/mac/WebEventFactory.mm:
   4642         (WebKit::momentumPhaseForEvent): Return a phase on older Mac system by using WKGetNSEventMomentumPhase.
   4643         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
   4644         (InitWebCoreSystemInterface): Remove IsLatchingWheelEvent, add GetNSEventMomentumPhase.
   4645 
   4646 2011-04-01  Alexey Proskuryakov  <ap (a] apple.com>
   4647 
   4648         Reviewed by Anders Carlsson.
   4649 
   4650         Assertion failure (type == event.type()) after a web process crash
   4651         https://bugs.webkit.org/show_bug.cgi?id=56228
   4652         <rdar://problem/8806106>
   4653 
   4654         This partially un-confuses the UI process about key processing state after a web process
   4655         crash. It may not be pefect yet - sending a KeyUp to a new process that never saw a KeyDown
   4656         seems weird.
   4657 
   4658         * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::processDidCrash):
   4659 
   4660 2011-04-01  Adam Roben  <aroben (a] apple.com>
   4661 
   4662         Cairo build fix
   4663 
   4664         * WebProcess/WebPage/LayerTreeHost.cpp: Only pull in the LayerTreeHostCA derived classes for
   4665         PLATFORM(CA) ports.
   4666 
   4667 2011-03-31  Adam Roben  <aroben (a] apple.com>
   4668 
   4669         Split LayerTreeHostCA into a base class and derived Mac and Win classes
   4670 
   4671         This will make it easier to customize the Mac and Windows implementations without adding too
   4672         many #ifdefs.
   4673 
   4674         Fixes <http://webkit.org/b/57606> Windows and Mac should use separate LayerTreeHost classes
   4675 
   4676         Reviewed by Anders Carlsson.
   4677 
   4678         * WebKit2.xcodeproj/project.pbxproj: Added LayerTreeHostCAMac.h.
   4679 
   4680         * WebProcess/WebPage/LayerTreeHost.cpp:
   4681         (WebKit::LayerTreeHost::create): Create a LayerTreeHostCAMac on Mac, and LayerTreeHostCAWin
   4682         on Windows.
   4683 
   4684         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
   4685         (WebKit::LayerTreeHostCA::LayerTreeHostCA): Moved some code from here...
   4686         (WebKit::LayerTreeHostCA::initialize): ...to here. This function will be called after the
   4687         constructor returns, and thus can safely call functions that are pure virtual in this class
   4688         and its base class. We now pass our LayerTreeContext to platformInitialize so that our
   4689         derived classes can initialize it.
   4690         (WebKit::LayerTreeHostCA::~LayerTreeHostCA): Removed Mac-specific code.
   4691 
   4692         (WebKit::LayerTreeHostCA::invalidate):
   4693         (WebKit::LayerTreeHostCA::sizeDidChange):
   4694         (WebKit::LayerTreeHostCA::forceRepaint):
   4695         (WebKit::LayerTreeHostCA::didPerformScheduledLayerFlush):
   4696         Removed platform* calls. Derived classes can just override these functions to do what they
   4697         need.
   4698 
   4699         * WebProcess/WebPage/ca/LayerTreeHostCA.h: Removed Mac-specific pieces. Made some functions
   4700         virtual so that derived classes can override them.
   4701 
   4702         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h: Added.
   4703 
   4704         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
   4705         (WebKit::LayerTreeHostCAMac::create): Create and initialize a host.
   4706         (WebKit::LayerTreeHostCAMac::LayerTreeHostCAMac): Simple constructor.
   4707         (WebKit::LayerTreeHostCAMac::~LayerTreeHostCAMac): Moved code here from LayerTreeHostCA
   4708         destructor.
   4709         (WebKit::LayerTreeHostCAMac::platformInitialize): Removed direct uses of LayerTreeHostCA
   4710         data members.
   4711 
   4712         (WebKit::LayerTreeHostCAMac::invalidate):
   4713         (WebKit::LayerTreeHostCAMac::sizeDidChange):
   4714         (WebKit::LayerTreeHostCAMac::forceRepaint):
   4715         (WebKit::LayerTreeHostCAMac::didPerformScheduledLayerFlush):
   4716         Renamed from platform*. Now call up to the base class.
   4717 
   4718         (WebKit::LayerTreeHostCAMac::flushPendingLayerChangesRunLoopObserverCallback): Updated type.
   4719 
   4720         * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp:
   4721         (WebKit::LayerTreeHostCAWin::create): Create and initialize a host.
   4722 
   4723         (WebKit::LayerTreeHostCAWin::LayerTreeHostCAWin):
   4724         (WebKit::LayerTreeHostCAWin::~LayerTreeHostCAWin):
   4725         (WebKit::LayerTreeHostCAWin::platformInitialize):
   4726         (WebKit::LayerTreeHostCAWin::scheduleLayerFlush):
   4727         Stubbed out.
   4728 
   4729         * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.h: Added.
   4730 
   4731         * win/WebKit2.vcproj: Added LayerTreeHostCAWin.h
   4732 
   4733         * win/WebKit2Apple.vsprops: Added WebProcess/WebPage/ca/win to the include path.
   4734 
   4735 2011-03-31  Brent Fulgham  <bfulgham (a] webkit.org>
   4736 
   4737         Unreviewed WinCairo build fix after r82632.
   4738 
   4739         * UIProcess/DrawingAreaProxyImpl.cpp:
   4740         (WebKit::DrawingAreaProxyImpl::visibilityDidChange):
   4741 
   4742 2011-03-31  Adam Roben  <aroben (a] apple.com>
   4743 
   4744         Add SharedMemory::adopt, which can take ownership of an existing file mapping object
   4745 
   4746         Fixes <http://webkit.org/b/57599> Need a way to wrap an existing file mapping object in a
   4747         SharedMemory
   4748 
   4749         Reviewed by Anders Carlsson.
   4750 
   4751         * Platform/SharedMemory.h: Added adopt.
   4752 
   4753         * Platform/win/SharedMemoryWin.cpp:
   4754         (WebKit::SharedMemory::create): Moved code to adopt the HANDLE from here...
   4755         (WebKit::SharedMemory::adopt): ...to here.
   4756 
   4757 2011-03-31  Chang Shu  <cshu (a] webkit.org>
   4758 
   4759         Reviewed by Darin Adler.
   4760 
   4761         WebKitTestRunner needs layoutTestController.clearAllDatabases
   4762         https://bugs.webkit.org/show_bug.cgi?id=42540
   4763 
   4764         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
   4765         (WKBundleClearAllDatabases):
   4766         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
   4767         * WebProcess/InjectedBundle/InjectedBundle.cpp:
   4768         (WebKit::InjectedBundle::clearAllDatabases):
   4769         * WebProcess/InjectedBundle/InjectedBundle.h:
   4770         * WebProcess/WebCoreSupport/WebDatabaseManager.h:
   4771 
   4772 2011-03-31  Anders Carlsson  <andersca (a] apple.com>
   4773 
   4774         Reviewed by Sam Weinig.
   4775 
   4776         Add some more media related things to the sandbox profile.
   4777 
   4778         * WebProcess/com.apple.WebProcess.sb:
   4779 
   4780 2011-03-31  Anders Carlsson  <andersca (a] apple.com>
   4781 
   4782         Reviewed by Dan Bernstein.
   4783 
   4784         Tabbed pages redraw unnecessarily when activated
   4785         https://bugs.webkit.org/show_bug.cgi?id=57589
   4786         <rdar://problem/9218258>
   4787 
   4788         * UIProcess/DrawingAreaProxyImpl.cpp:
   4789         (WebKit::DrawingAreaProxyImpl::visibilityDidChange):
   4790         If we become visible and have no backing store, make sure to call backingStoreStateDidChange
   4791         so that the next time we're asked to paint we'll wait for something to paint.
   4792 
   4793         (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
   4794         Remove now redundant call to backingStoreStateDidChange.
   4795 
   4796 2011-03-31  Sam Weinig  <sam (a] webkit.org>
   4797 
   4798         Reviewed by Anders Carlsson.
   4799 
   4800         Sandbox violations when playing back HTML5 video on YouTube
   4801         <rdar://problem/8950692>
   4802 
   4803         * WebProcess/com.apple.WebProcess.sb:
   4804 
   4805 2011-03-31  Darin Adler  <darin (a] apple.com>
   4806 
   4807         Reviewed by Sam Weinig.
   4808 
   4809         Implement mouseDown, mouseUp, and mouseMoveTo in WebKitTestRunner
   4810         https://bugs.webkit.org/show_bug.cgi?id=57573
   4811 
   4812         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
   4813         (WKBundlePageSimulateMouseDown): Added.
   4814         (WKBundlePageSimulateMouseUp): Added.
   4815         (WKBundlePageSimulateMouseMotion): Added.
   4816         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Added above functions.
   4817         * WebProcess/WebPage/WebPage.cpp:
   4818         (WebKit::WebPage::simulateMouseDown): Added.
   4819         (WebKit::WebPage::simulateMouseUp): Added.
   4820         (WebKit::WebPage::simulateMouseMotion): Added.
   4821         * WebProcess/WebPage/WebPage.h: Added above functions.
   4822 
   4823 2011-03-31  Sam Weinig  <sam (a] webkit.org>
   4824 
   4825         Reviewed by Anders Carlsson.
   4826 
   4827         Rename WebCore's UI_STRING to WEB_UI_STRING to not overlap with WebKit API
   4828         https://bugs.webkit.org/show_bug.cgi?id=57582
   4829 
   4830         * PluginProcess/mac/PluginProcessMac.mm:
   4831         (WebKit::PluginProcess::platformInitialize):
   4832         * UIProcess/mac/WebInspectorProxyMac.mm:
   4833         (WebKit::WebInspectorProxy::platformInspectedURLChanged):
   4834         * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
   4835         * WebProcess/mac/WebProcessMac.mm:
   4836         (WebKit::WebProcess::platformInitializeWebProcess):
   4837 
   4838 2011-03-31  Adam Roben  <aroben (a] apple.com>
   4839 
   4840         Specify both FILE_MAP_READ and FILE_MAP_WRITE when creating a read-write SharedMemory object
   4841 
   4842         When passed to ::MapViewOfFile, FILE_MAP_WRITE implies FILE_MAP_READ, but other file mapping
   4843         APIs don't work that way. This bug wasn't causing any problems in practice, but it would
   4844         have prevented us from creating a DIB that wraps a SharedMemory object (which I noticed
   4845         while working on another bug).
   4846 
   4847         Fixes <http://webkit.org/b/57576> File mappings used by read-write SharedMemory objects
   4848         aren't correctly marked as read-write after being sent over a CoreIPC::Connection
   4849 
   4850         Reviewed by Brian Weinstein.
   4851 
   4852         * Platform/win/SharedMemoryWin.cpp:
   4853         (WebKit::accessRights): Specify FILE_MAP_READ in addition to FILE_MAP_WRITE for read-write
   4854         SharedMemory.
   4855 
   4856 2011-03-31  Adam Roben  <aroben (a] apple.com>
   4857 
   4858         Quote the executable path we pass to ::CreateProcessW
   4859 
   4860         This will ensure that spaces in the path will be interpreted correctly.
   4861 
   4862         Fixes <http://webkit.org/b/57569> Web process sometimes fails to launch when there are
   4863         spaces in its path
   4864 
   4865         Reviewed by Steve Falkenburg.
   4866 
   4867         * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
   4868         (WebKit::ProcessLauncher::launchProcess): Surround the executable path in quotes.
   4869 
   4870 2011-03-31  Alexey Proskuryakov  <ap (a] apple.com>
   4871 
   4872         Patch by John Harvey, reviewed and tweaked by me.
   4873 
   4874         <rdar://problem/8644403> Should notify TSM that plug-ins would show a bottom input window for marked text.
   4875 
   4876         * UIProcess/API/mac/WKTextInputWindowController.mm:
   4877         (-[WKTextInputPanel _interpretKeyEvent:string:]):
   4878 
   4879 2011-03-31  Anders Carlsson  <andersca (a] apple.com>
   4880 
   4881         Reviewed by John Sullivan, Darin Adler, Dan Bernstein and Sam Weinig.
   4882 
   4883         If a user doesn't have a Database/LocalStorage directory, it can't be created (sandbox violations)
   4884         https://bugs.webkit.org/show_bug.cgi?id=57561
   4885         <rdar://problem/9127411>
   4886 
   4887         Ensure that any readwrite sandbox directories actually exist before entering the sandbox.
   4888 
   4889         * WebProcess/mac/WebProcessMac.mm:
   4890         (WebKit::appendReadwriteSandboxDirectory):
   4891 
   4892 2011-03-31  John Sullivan  <sullivan (a] apple.com>
   4893 
   4894         Reviewed by Darin Adler and Adam Roben.
   4895 
   4896         <rdar://problem/9214824> Find client not told when WKPageCountStringMatches exceeds maximum
   4897         https://bugs.webkit.org/show_bug.cgi?id=57552
   4898 
   4899         * WebProcess/WebPage/FindController.cpp:
   4900         (WebKit::FindController::countStringMatches):
   4901         Use the same technique as findString() to report kWKMoreThanMaximumMatchCount when appropriate.
   4902         (WebKit::FindController::findString):
   4903         Convert numeric_limits::max() to max() - 1 to avoid overflow case.
   4904 
   4905 2011-03-31  Evan Martin  <evan (a] chromium.org>
   4906 
   4907         Reviewed by Eric Seidel.
   4908 
   4909         <title> should support dir attribute
   4910         https://bugs.webkit.org/show_bug.cgi?id=50961
   4911 
   4912         Update to new FrameLoaderClient interface.
   4913 
   4914         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
   4915         (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
   4916         (WebKit::WebFrameLoaderClient::setTitle):
   4917         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
   4918 
   4919 2011-03-31  Balazs Kelemen  <kbalazs (a] webkit.org>
   4920 
   4921         Reviewed by Csaba Osztrogonc.
   4922 
   4923         [WK2] Introduce an option for no NPAPI support
   4924         https://bugs.webkit.org/show_bug.cgi?id=55828
   4925 
   4926         Stub out NPAPI support for platform and OS combinations that are
   4927         not supported yet. Ancestor patch was made by Laszlo Gombos.
   4928 
   4929         * GNUmakefile.am: Add NetscapePluginModuleNone.cpp and NetscapePluginNone.cpp
   4930         to the build system.
   4931 
   4932         * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
   4933         Remove the sanity check because from now all combinations that
   4934         don't have an explicitly set plugin architecture fall into
   4935         the PLUGIN_ARCHITECTURE(UNSUPPORTED) category and has a stubbed
   4936         implementation.
   4937 
   4938         * Shared/Plugins/Netscape/NetscapePluginModuleNone.cpp: Added.
   4939         Stubbed implementation.
   4940         (WebKit::NetscapePluginModule::getPluginInfo):
   4941         (WebKit::NetscapePluginModule::determineQuirks):
   4942 
   4943         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: Guard with
   4944         PLUGIN_ARCHITECTURE(X11).
   4945 
   4946         * WebKit2.pro: Add NetscapePluginModuleNone.cpp and NetscapePluginNone.cpp
   4947         to the build system.
   4948 
   4949         * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp: Added.
   4950         Stubbed implementation
   4951         (WebKit::NetscapePlugin::platformPostInitialize):
   4952         (WebKit::NetscapePlugin::platformDestroy):
   4953         (WebKit::NetscapePlugin::platformInvalidate):
   4954         (WebKit::NetscapePlugin::platformGeometryDidChange):
   4955         (WebKit::NetscapePlugin::platformPaint):
   4956         (WebKit::NetscapePlugin::platformHandleMouseEvent):
   4957         (WebKit::NetscapePlugin::platformHandleWheelEvent):
   4958         (WebKit::NetscapePlugin::platformSetFocus):
   4959         (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
   4960         (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
   4961         (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
   4962 
   4963         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Guard with
   4964         PLUGIN_ARCHITECTURE(X11)
   4965 
   4966         * config.h: Introduce PLUGIN_ARCHITECTURE(UNSUPPORTED) as another
   4967         option. Make platform and OS combinations that are not supported
   4968         yet fall into this. Don't use Q_WS_X11 to test the window system
   4969         for Qt because it is not defined without including <QtGlobal>.
   4970         No clue about how could it work so far.
   4971 
   4972 2011-03-31  Vamshikrishna.Yellenki  <vamshi (a] motorola.com> and Alejandro G. Castro  <alex (a] igalia.com>
   4973 
   4974         Reviewed by Martin Robinson.
   4975 
   4976         Implement MiniBrowser for Gtk port.
   4977         https://bugs.webkit.org/show_bug.cgi?id=48512
   4978 
   4979         * Shared/API/c/gtk/WKBaseGtk.h: Add the stdbool.h include.
   4980 
   4981 2011-03-30  Dan Bernstein  <mitz (a] apple.com>
   4982 
   4983         Reviewed by Maciej Stachowiak.
   4984 
   4985         <rdar://problem/9005982> Flash of white when a WKView with composited content moves on-screen
   4986         https://bugs.webkit.org/show_bug.cgi?id=57522
   4987 
   4988         * UIProcess/DrawingAreaProxyImpl.cpp:
   4989         (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode): Invalidate the current
   4990         backing store state, so that we get an update as soon as the page enters compositing mode
   4991         next.
   4992         * WebProcess/WebPage/DrawingAreaImpl.cpp:
   4993         (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState): Added a call to
   4994         LayerTreeHost::forceRepaint() in order to flush and synchronize the layers
   4995         before sending the update message to the UI process.
   4996 
   4997 2011-03-30  Sam Weinig  <sam (a] webkit.org>
   4998 
   4999         Reviewed by Anders Carlsson.
   5000 
   5001         Sandbox violations if you navigate a file URL via something other than a click
   5002         <rdar://problem/9016086>
   5003         https://bugs.webkit.org/show_bug.cgi?id=57519
   5004 
   5005         * WebProcess/WebPage/WebPage.cpp:
   5006         (WebKit::shouldReuseCommittedSandboxExtension):
   5007         Remove unnecessary restriction on extension reuse. Any type of file to file navigation
   5008         should be allowed.
   5009 
   5010 2011-03-30  Anders Carlsson  <andersca (a] apple.com>
   5011 
   5012         Reviewed by Sam Weinig.
   5013 
   5014         Clean up the sandbox parameter code
   5015         https://bugs.webkit.org/show_bug.cgi?id=57518
   5016 
   5017         * Shared/WebProcessCreationParameters.h:
   5018         Make nsURLCachePath and uiProcessBundleResourcePath Strings to match the other paths we send over.
   5019 
   5020         * UIProcess/mac/WebContextMac.mm:
   5021         (WebKit::WebContext::platformInitializeWebProcess):
   5022         nsURLCachePath and uiProcessBundleResourcePath are now Strings.
   5023 
   5024         * WebProcess/mac/WebProcessMac.mm:
   5025         (WebKit::appendSandboxParameterPathInternal):
   5026         (WebKit::appendReadwriteConfDirectory):
   5027         (WebKit::appendReadonlySandboxDirectory):
   5028         (WebKit::appendReadwriteSandboxDirectory):
   5029         (WebKit::initializeSandbox):
   5030         Make it more clear whether the directories we're adding are readonly or readwrite. No functionality change.
   5031         
   5032         (WebKit::WebProcess::platformInitializeWebProcess):
   5033         nsURLCachePath is now a string.
   5034 
   5035 2011-03-30  Anders Carlsson  <andersca (a] apple.com>
   5036 
   5037         Reviewed by Sam Weinig.
   5038 
   5039         Downloading a file fails due to a sandbox violation if the destination path is a symlink
   5040         https://bugs.webkit.org/show_bug.cgi?id=57517
   5041         <rdar://problem/8943865>
   5042 
   5043         Make sure to resolve any symlinks in the given path when creating a sandbox extension handle.
   5044         Note that we can't use realpath or -[NSString stringByResolvingSymlinksInPath], because those calls
   5045         will fail if the pointed to file doesn't exist.
   5046 
   5047         * Shared/mac/SandboxExtensionMac.mm:
   5048         (WebKit::resolveSymlinksInPath):
   5049         New function that resolves all the symlinks in the given path.
   5050 
   5051         (WebKit::SandboxExtension::createHandle):
   5052         Call resolveSymlinksInPath on the resulting path.
   5053 
   5054 2011-03-30  Steve Falkenburg  <sfalken (a] apple.com>
   5055 
   5056         Reviewed by Adam Roben.
   5057 
   5058         Share most vsprops between Release and Production builds in releaseproduction.vsprops
   5059         https://bugs.webkit.org/show_bug.cgi?id=57508
   5060 
   5061         * win/WebKit2Production.vsprops:
   5062         * win/WebKit2Release.vsprops:
   5063         * win/WebKit2ReleaseCairoCFLite.vsprops:
   5064         * win/WebKit2WebProcessProduction.vsprops:
   5065         * win/WebKit2WebProcessRelease.vsprops:
   5066         * win/WebKit2WebProcessReleaseCairoCFLite.vsprops:
   5067 
   5068 2011-03-30  Ivan Krsti  <ike (a] apple.com>
   5069 
   5070         Reviewed by Oliver Hunt.
   5071 
   5072         Ensure consistent, readable working directory for WebProcess before entering sandbox
   5073         <rdar://problem/8951176>
   5074 
   5075         * WebProcess/mac/WebProcessMac.mm:
   5076         (WebKit::WebProcess::platformInitializeWebProcess):
   5077 
   5078 2011-03-30  Sam Weinig  <sam (a] webkit.org>
   5079 
   5080         Reviewed by Brady Eidson.
   5081 
   5082         WebKit2: Attempting to view css file from url causes it to download
   5083         <rdar://problem/9102611>
   5084         https://bugs.webkit.org/show_bug.cgi?id=57501
   5085 
   5086         * UIProcess/WebPageProxy.cpp:
   5087         (WebKit::WebPageProxy::canShowMIMEType):
   5088         Match WebKit1 by allowing any MIME type that starts with "text/"
   5089         except the ones we explicitly blacklist.
   5090 
   5091 2011-03-30  Steve Falkenburg  <sfalken (a] apple.com>
   5092 
   5093         Reviewed by Adam Roben.
   5094 
   5095         Update Windows production build logic for new production configurations
   5096         https://bugs.webkit.org/show_bug.cgi?id=57494
   5097 
   5098         * win/WebKit2.make:
   5099         * win/WebKit2Production.vsprops:
   5100         * win/WebKit2WebProcessProduction.vsprops:
   5101 
   5102 2011-03-30  Steve Falkenburg  <sfalken (a] apple.com>
   5103 
   5104         Reviewed by Adam Roben.
   5105 
   5106         Rename Windows configuration Release_LTCG to Production for clarity
   5107         https://bugs.webkit.org/show_bug.cgi?id=57465
   5108 
   5109         * win/WebKit2.submit.sln:
   5110         * win/WebKit2.vcproj:
   5111         * win/WebKit2Generated.vcproj:
   5112         * win/WebKit2Production.vsprops: Copied from Source/WebKit2/win/WebKit2ReleaseLTCG.vsprops.
   5113         * win/WebKit2ReleaseLTCG.vsprops: Removed.
   5114         * win/WebKit2WebProcess.vcproj:
   5115         * win/WebKit2WebProcessProduction.vsprops: Copied from Source/WebKit2/win/WebKit2WebProcessReleaseLTCG.vsprops.
   5116         * win/WebKit2WebProcessReleaseLTCG.vsprops: Removed.
   5117 
   5118 2011-03-30  Jer Noble  <jer.noble (a] apple.com>
   5119 
   5120         Reviewed by Dan Bernstein.
   5121 
   5122         WebKit2: WebProcess is using 89%, while viewing a PDF
   5123         https://bugs.webkit.org/show_bug.cgi?id=57471
   5124 
   5125         Break a never ending display/update cycle between the UIProcess and the WebProcess
   5126         by clearing the dirty region when a page has a custom representation (like a PDF).
   5127         Also, avoid the issue where possible by not setting the dirty region in the same case.
   5128 
   5129         * WebProcess/WebPage/DrawingAreaImpl.cpp:
   5130         (WebKit::DrawingAreaImpl::setNeedsDisplay): Bail early if mainFrameHasCustomRepresentation().
   5131         (WebKit::DrawingAreaImpl::scroll): Ditto.
   5132         (WebKit::DrawingAreaImpl::display): Both bail early and clear m_dirtyRegion if 
   5133             mainFrameHasCustomRepresentation().
   5134 
   5135 2011-03-30  Sam Weinig  <sam (a] webkit.org>
   5136 
   5137         Fix Snow Leopard build.
   5138 
   5139         * UIProcess/mac/WebContextMenuProxyMac.mm:
   5140         (WebKit::WebContextMenuProxyMac::showContextMenu):
   5141 
   5142 2011-03-30  Sam Weinig  <sam (a] webkit.org>
   5143 
   5144         Reviewed by Anders Carlsson.
   5145 
   5146         WebKit2 contextual menu looks different than the rest of the OS
   5147         <rdar://problem/9172935>
   5148         https://bugs.webkit.org/show_bug.cgi?id=57475
   5149 
   5150         * UIProcess/mac/WebContextMenuProxyMac.mm:
   5151         (WebKit::WebContextMenuProxyMac::showContextMenu):
   5152         Use correct SPI for showing a context menu. The dummy view is also
   5153         not necessary, so remove it.
   5154 
   5155 2011-03-30  Anders Carlsson  <andersca (a] apple.com>
   5156 
   5157         Reviewed by Sam Weinig.
   5158 
   5159         Crash when NPN_Evaluate removes the plug-in frame
   5160         https://bugs.webkit.org/show_bug.cgi?id=57474
   5161         <rdar://problem/9191396>
   5162 
   5163         Get a reference to the frame since it can be nulled out if running the JavaScript code
   5164         causes the plug-in's containing frame to be removed from the frame tree.
   5165 
   5166         * WebProcess/Plugins/PluginView.cpp:
   5167         (WebKit::PluginView::evaluate):
   5168 
   5169 2011-03-30  Sam Weinig  <sam (a] webkit.org>
   5170 
   5171         Reviewed by Anders Carlsson.
   5172 
   5173         Add default localization strategy that can be shared by WebKit1 and WebKit2
   5174         https://bugs.webkit.org/show_bug.cgi?id=57406
   5175 
   5176         * Shared/WebLocalizableStrings.h: Removed.
   5177         Removed in favor of using WebCore/LocalizedStrings.h directly.
   5178 
   5179         * PluginProcess/mac/PluginProcessMac.mm:
   5180         * UIProcess/API/mac/WKView.mm:
   5181         * UIProcess/mac/WebInspectorProxyMac.mm:
   5182         * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
   5183         * WebProcess/mac/WebProcessMac.mm:
   5184         Use WebCore/LocalizedStrings.h directly.
   5185 
   5186         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
   5187         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
   5188         Remove localization strategy override in favor of using new default implementation.
   5189 
   5190         * GNUmakefile.am:
   5191         * WebKit2.pro:
   5192         * WebKit2.xcodeproj/project.pbxproj:
   5193         * win/WebKit2.vcproj:
   5194         Remove WebLocalizableStrings.h
   5195 
   5196 2011-03-30  Anders Carlsson  <andersca (a] apple.com>
   5197 
   5198         Reviewed by Adam Roben.
   5199 
   5200         Assertion failure in plug-in process when calling WKPluginSiteDataManagerGetSitesWithData
   5201         https://bugs.webkit.org/show_bug.cgi?id=57468
   5202         <rdar://problem/9199089>
   5203 
   5204         Call decrementLoadCount from removeWebProcessConnection instead of startShutdownTimerIfNecessary,
   5205         otherwise we'll get a load count underflow when a connection is never created.
   5206 
   5207         * PluginProcess/PluginProcess.cpp:
   5208         (WebKit::PluginProcess::removeWebProcessConnection):
   5209         (WebKit::PluginProcess::createWebProcessConnection):
   5210         (WebKit::PluginProcess::startShutdownTimerIfNecessary):
   5211 
   5212 2011-03-30  Jessie Berlin  <jberlin (a] apple.com>
   5213 
   5214         Reviewed by Anders Carlsson.
   5215 
   5216         WebKit2: Make sure to try to terminate the Web Process when any work that might require the
   5217         Web Process to be relaunched is done
   5218         https://bugs.webkit.org/show_bug.cgi?id=57462
   5219 
   5220         For the ManagerProxies in the UIProcess, only return true from shouldTerminate if there are
   5221         no more callbacks waiting to be invoked.
   5222 
   5223         For the the Managers in the WebProcess, call WebProcess::shared().terminateIfPossible() when
   5224         any work called for by a ManagerProxy function that called relaunchProcessIfNecessary is
   5225         finished.
   5226 
   5227         * UIProcess/WebContext.cpp:
   5228         (WebKit::WebContext::shouldTerminate):
   5229         Check with each of the ManagerProxies.
   5230 
   5231         * UIProcess/WebApplicationCacheManagerProxy.cpp:
   5232         (WebKit::WebApplicationCacheManagerProxy::shouldTerminate):
   5233         * UIProcess/WebApplicationCacheManagerProxy.h:
   5234         * UIProcess/WebCookieManagerProxy.cpp:
   5235         (WebKit::WebCookieManagerProxy::shouldTerminate):
   5236         * UIProcess/WebCookieManagerProxy.h:
   5237         * UIProcess/WebDatabaseManagerProxy.cpp:
   5238         (WebKit::WebDatabaseManagerProxy::shouldTerminate):
   5239         * UIProcess/WebDatabaseManagerProxy.h:
   5240         * UIProcess/WebKeyValueStorageManagerProxy.cpp:
   5241         (WebKit::WebKeyValueStorageManagerProxy::shouldTerminate):
   5242         * UIProcess/WebKeyValueStorageManagerProxy.h:
   5243         * UIProcess/WebMediaCacheManagerProxy.cpp:
   5244         (WebKit::WebMediaCacheManagerProxy::shouldTerminate):
   5245         * UIProcess/WebMediaCacheManagerProxy.h:
   5246         * UIProcess/WebResourceCacheManagerProxy.cpp:
   5247         (WebKit::WebResourceCacheManagerProxy::shouldTerminate):
   5248         * UIProcess/WebResourceCacheManagerProxy.h:
   5249 
   5250         * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
   5251         (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
   5252         (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
   5253         (WebKit::WebApplicationCacheManager::deleteAllEntries):
   5254         * WebProcess/Cookies/WebCookieManager.cpp:
   5255         (WebKit::WebCookieManager::getHostnamesWithCookies):
   5256         (WebKit::WebCookieManager::deleteCookiesForHostname):
   5257         (WebKit::WebCookieManager::deleteAllCookies):
   5258         (WebKit::WebCookieManager::startObservingCookieChanges):
   5259         (WebKit::WebCookieManager::setHTTPCookieAcceptPolicy):
   5260         (WebKit::WebCookieManager::getHTTPCookieAcceptPolicy):
   5261         * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
   5262         (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
   5263         (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
   5264         (WebKit::WebKeyValueStorageManager::deleteAllEntries):
   5265         * WebProcess/MediaCache/WebMediaCacheManager.cpp:
   5266         (WebKit::WebMediaCacheManager::getHostnamesWithMediaCache):
   5267         (WebKit::WebMediaCacheManager::clearCacheForHostname):
   5268         (WebKit::WebMediaCacheManager::clearCacheForAllHostnames):
   5269         * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
   5270         (WebKit::WebResourceCacheManager::getCacheOrigins):
   5271         (WebKit::WebResourceCacheManager::clearCacheForOrigin):
   5272         (WebKit::WebResourceCacheManager::clearCacheForAllOrigins):
   5273         * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
   5274         (WebKit::WebDatabaseManager::getDatabasesByOrigin):
   5275         (WebKit::WebDatabaseManager::getDatabaseOrigins):
   5276         (WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin):
   5277         (WebKit::WebDatabaseManager::deleteDatabasesForOrigin):
   5278         (WebKit::WebDatabaseManager::deleteAllDatabases):
   5279         (WebKit::WebDatabaseManager::setQuotaForOrigin):
   5280 
   5281 2011-03-30  Adam Roben  <aroben (a] apple.com>
   5282 
   5283         Mac build fix after r82442
   5284 
   5285         * WebProcess/Plugins/PluginProxy.cpp:
   5286         (WebKit::PluginProxy::geometryDidChange): Added a missing argument.
   5287 
   5288 2011-03-29  Adam Roben  <aroben (a] apple.com>
   5289 
   5290         Add a way to specify that a ShareableBitmap has no alpha channel
   5291 
   5292         Before this patch, all ShareableBitmaps had an alpha channel. With this patch, all
   5293         ShareableBitmaps *still* have an alpha channel. But now there's a way to specify you don't
   5294         want one (which will be used in the future)!
   5295 
   5296         Fixes <http://webkit.org/b/57388> Need a way to specify that a ShareableBitmap has no alpha
   5297         channel
   5298 
   5299         Reviewed by Anders Carlsson.
   5300 
   5301         * Shared/ShareableBitmap.cpp:
   5302         (WebKit::ShareableBitmap::Handle::Handle): Moved here from the header file, and added
   5303         initialization of m_flags.
   5304 
   5305         (WebKit::ShareableBitmap::Handle::encode):
   5306         (WebKit::ShareableBitmap::Handle::decode):
   5307         Encode/decode m_flags.
   5308 
   5309         (WebKit::ShareableBitmap::create):
   5310         (WebKit::ShareableBitmap::createShareable):
   5311         Pass along the new Flags argument.
   5312 
   5313         (WebKit::ShareableBitmap::createHandle): Store our Flags on the Handle.
   5314         (WebKit::ShareableBitmap::ShareableBitmap): Store the Flags in m_flags.
   5315 
   5316         * Shared/ShareableBitmap.h: Added Flag, Flags, and m_flags, and added a Flags argument to
   5317         some create functions.
   5318 
   5319         * Shared/WebCoreArgumentCoders.cpp:
   5320         (CoreIPC::encodeImage):
   5321         * Shared/WebImage.cpp:
   5322         (WebKit::WebImage::create):
   5323         Specify that we want a bitmap that supports alpha to maintain current behavior.
   5324 
   5325         * Shared/cg/ShareableBitmapCG.cpp:
   5326         (WebKit::bitmapInfo): New helper function. Includes an alpha channel only if specified in
   5327         the flags.
   5328 
   5329         (WebKit::ShareableBitmap::createGraphicsContext):
   5330         (WebKit::ShareableBitmap::makeCGImage):
   5331         Use the new helper function.
   5332 
   5333         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
   5334         (WebKit::NetscapePlugin::snapshot):
   5335         * WebProcess/Plugins/PluginProxy.cpp:
   5336         (WebKit::PluginProxy::geometryDidChange):
   5337         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
   5338         (WebKit::convertImageToBitmap):
   5339         * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
   5340         (WebKit::WebPopupMenu::setUpPlatformData):
   5341         * WebProcess/WebPage/DrawingAreaImpl.cpp:
   5342         (WebKit::DrawingAreaImpl::display):
   5343         * WebProcess/WebPage/FindController.cpp:
   5344         (WebKit::FindController::updateFindIndicator):
   5345         Specify that we want a bitmap that supports alpha to maintain current behavior.
   5346 
   5347 2011-03-29  Adam Roben  <aroben (a] apple.com>
   5348 
   5349         Add ShareableBitmap::Handle
   5350 
   5351         This object is used for encoding/decoding a ShareableBitmap via CoreIPC. It currently just
   5352         encapsulates a SharedMemory::Handle (which is what we were using previously) and the image's
   5353         size (which means callers no longer need to deal with the size explicitly), but in the
   5354         future could be used to store more information about the bitmap.
   5355 
   5356         This should cause no behavior changes.
   5357 
   5358         Fixes <http://webkit.org/b/57397> ShareableBitmap needs its own Handle type
   5359 
   5360         Reviewed by Anders Carlsson.
   5361 
   5362         * PluginProcess/PluginControllerProxy.cpp:
   5363         (WebKit::PluginControllerProxy::geometryDidChange): No longer need to pass a size to create,
   5364         since the Handle records the size.
   5365         (WebKit::PluginControllerProxy::snapshot): No longer need the bufferSize argument, since the
   5366         Handle records the size.
   5367 
   5368         * PluginProcess/PluginControllerProxy.h:
   5369         * PluginProcess/PluginControllerProxy.messages.in:
   5370         Updated Handle types and removed unnecessary size argument to Snapshot.
   5371 
   5372         * Shared/PlatformPopupMenuData.cpp:
   5373         (WebKit::PlatformPopupMenuData::encode):
   5374         (WebKit::PlatformPopupMenuData::decode):
   5375         * Shared/PlatformPopupMenuData.h:
   5376         Changed to use ShareableBitmap::Handle and removed m_backingStoreSize, which is now stored
   5377         in the Handles.
   5378 
   5379         * Shared/ShareableBitmap.cpp:
   5380         (WebKit::ShareableBitmap::Handle::encode):
   5381         (WebKit::ShareableBitmap::Handle::decode):
   5382         Simple encode/decode functions.
   5383 
   5384         (WebKit::ShareableBitmap::create): Get the size from the Handle instead of as a separate
   5385         argument.
   5386         (WebKit::ShareableBitmap::createHandle): Store our size in the Handle.
   5387 
   5388         * Shared/ShareableBitmap.h: Added ShareableBitmap::Handle and made some functions use it.
   5389 
   5390         * Shared/UpdateInfo.h: Changed to use ShareableBitmap::Handle.
   5391 
   5392         * Shared/UserMessageCoders.h:
   5393         (WebKit::UserMessageEncoder::baseEncode):
   5394         (WebKit::UserMessageDecoder::baseDecode):
   5395         * Shared/WebCoreArgumentCoders.cpp:
   5396         (CoreIPC::encodeImage):
   5397         (CoreIPC::decodeImage):
   5398         Use the size stored in the Handle instead of encoding/decoding one separately.
   5399 
   5400         * UIProcess/API/mac/PageClientImpl.h:
   5401         * UIProcess/API/mac/PageClientImpl.mm:
   5402         (WebKit::PageClientImpl::setDragImage):
   5403         Removed the unnecessary imageSize argument. We can get it from the image itself.
   5404 
   5405         * UIProcess/BackingStore.cpp:
   5406         (WebKit::BackingStore::incorporateUpdate):
   5407         * UIProcess/FindIndicator.cpp:
   5408         (WebKit::FindIndicator::create):
   5409         No longer need to pass a size when creating a ShareableBitmap from a Handle.
   5410 
   5411         * UIProcess/FindIndicator.h: Changed to use ShareableBitmap::Handle.
   5412 
   5413         * UIProcess/PageClient.h: Removed unnecessary imageSize argument from setDragImage.
   5414 
   5415         * UIProcess/WebPageProxy.cpp:
   5416         (WebKit::WebPageProxy::setFindIndicator):
   5417         * UIProcess/WebPageProxy.h:
   5418         * UIProcess/WebPageProxy.messages.in:
   5419         * UIProcess/mac/WebPageProxyMac.mm:
   5420         (WebKit::WebPageProxy::setDragImage):
   5421         * WebProcess/Plugins/PluginProxy.cpp:
   5422         (WebKit::PluginProxy::snapshot):
   5423         (WebKit::PluginProxy::geometryDidChange):
   5424         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
   5425         (WebKit::WebDragClient::startDrag):
   5426         Changed to use ShareableBitmap::Handle and removed now-unnecessary size arguments (since we
   5427         can get the size from the Handle).
   5428 
   5429         * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
   5430         (WebKit::WebPopupMenu::setUpPlatformData): Don't need to store the backing store size in the
   5431         data anymore; the Handles will make sure it reaches the other process.
   5432 
   5433         * WebProcess/WebPage/FindController.cpp:
   5434         (WebKit::FindController::updateFindIndicator):
   5435         (WebKit::FindController::hideFindIndicator):
   5436         Changed to use ShareableBitmap::Handle.
   5437 
   5438 2011-03-30  Alejandro G. Castro  <alex (a] igalia.com>
   5439 
   5440         Fix GTK build after r81980.
   5441 
   5442         * GNUmakefile.am:
   5443 
   5444 2011-03-29  Beth Dakin  <bdakin (a] apple.com>
   5445 
   5446         Reviewed by Maciej Stachowiak.
   5447 
   5448         Fix for https://bugs.webkit.org/show_bug.cgi?id=57408 
   5449         webkit-min-device-pixel-ratio media query doesn't work post-SnowLeopard 
   5450         -and corresponding-
   5451         <rdar://problem/8665411>
   5452 
   5453         * Shared/WebPageCreationParameters.cpp:
   5454         (WebKit::WebPageCreationParameters::encode):
   5455         (WebKit::WebPageCreationParameters::decode):
   5456         * Shared/WebPageCreationParameters.h:
   5457         * UIProcess/API/mac/PageClientImpl.h:
   5458         * UIProcess/API/mac/PageClientImpl.mm:
   5459         (WebKit::PageClientImpl::userSpaceScaleFactor):
   5460         * UIProcess/API/qt/qwkpage_p.h:
   5461         (QWKPagePrivate::userSpaceScaleFactor):
   5462         * UIProcess/PageClient.h:
   5463         * UIProcess/WebPageProxy.cpp:
   5464         (WebKit::WebPageProxy::creationParameters):
   5465         * UIProcess/gtk/WebView.h:
   5466         (WebKit::WebView::userSpaceScaleFactor):
   5467         * UIProcess/win/WebView.h:
   5468         (WebKit::WebView::userSpaceScaleFactor):
   5469         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
   5470         (WebKit::WebChromeClient::scaleFactor):
   5471         * WebProcess/WebPage/WebPage.cpp:
   5472         (WebKit::WebPage::WebPage):
   5473         * WebProcess/WebPage/WebPage.h:
   5474         (WebKit::WebPage::userSpaceScaleFactor):
   5475 
   5476 2011-03-29  Brent Fulgham  <bfulgham (a] webkit.org>
   5477 
   5478         Unreviewed WinCairo build fix.
   5479 
   5480         Bring DownloadCurl implementation stubs in line with current
   5481         CFNetwork API.
   5482 
   5483         * WebProcess/Downloads/curl/DownloadCurl.cpp:
   5484         (WebKit::Download::receivedCredential):
   5485         (WebKit::Download::receivedRequestToContinueWithoutCredential):
   5486         (WebKit::Download::receivedCancellation):
   5487 
   5488 2011-03-29  Chris Fleizach  <cfleizach (a] apple.com>
   5489 
   5490         Reviewed by Darin Adler.
   5491 
   5492         AX: WK2: When creating the window remote token, use what's returned from accessibility
   5493         https://bugs.webkit.org/show_bug.cgi?id=57398
   5494 
   5495         This will allow a specific WKView to override what's used for the window attribute of the
   5496         HTML elements.
   5497 
   5498         * UIProcess/API/mac/WKView.mm:
   5499         (-[WKView viewDidMoveToWindow]):
   5500 
   5501 2011-03-29  Jeff Miller  <jeffm (a] apple.com>
   5502 
   5503         Reviewed by Sam Weinig.
   5504 
   5505         Make Windows-only InjectedBundle functions platform-specific
   5506         https://bugs.webkit.org/show_bug.cgi?id=57385
   5507         
   5508         Added files for Windows-specific WKBundle functions.
   5509         Removed stub wrappers for InjectedBundle::setHostAllowsAnyHTTPSCertificate() and InjectedBundle::setClientCertificate() from non-Windows platforms.
   5510 
   5511         * WebProcess/InjectedBundle/API/c/WKBundle.cpp: Moved WKBundleSetHostAllowsAnyHTTPSCertificate() and WKBundleSetClientCertificate() to WKBundlePrivateWin.cpp.
   5512         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Moved WKBundleSetHostAllowsAnyHTTPSCertificate() and WKBundleSetClientCertificate() to WKBundlePrivateWin.h.
   5513         * WebProcess/InjectedBundle/API/c/win: Added.
   5514         * WebProcess/InjectedBundle/API/c/win/WKBundlePrivateWin.cpp: Added.
   5515         (WKBundleSetHostAllowsAnyHTTPSCertificate): Moved from WKBundle.cpp.
   5516         (WKBundleSetClientCertificate): Moved from WKBundle.cpp.
   5517         * WebProcess/InjectedBundle/API/c/win/WKBundlePrivateWin.h: Added.
   5518         * WebProcess/InjectedBundle/InjectedBundle.h: setHostAllowsAnyHTTPSCertificate() and setClientCertificate() are Windows-only.
   5519         * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp: Removed setHostAllowsAnyHTTPSCertificate() and setClientCertificate().
   5520         * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: Removed setHostAllowsAnyHTTPSCertificate() and setClientCertificate().
   5521         * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp: Removed setHostAllowsAnyHTTPSCertificate() and setClientCertificate().
   5522         * win/WebKit2.vcproj: Added WKBundlePrivateWin.cpp and WKBundlePrivateWin.h.
   5523         * win/WebKit2Generated.make: Copy WKBundlePrivateWin.h.
   5524 
   5525 2011-03-29  Anders Carlsson  <andersca (a] apple.com>
   5526 
   5527         Fix Windows build.
   5528 
   5529         * WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
   5530         (WebKit::Download::receivedCredential):
   5531         (WebKit::Download::receivedRequestToContinueWithoutCredential):
   5532         (WebKit::Download::receivedCancellation):
   5533 
   5534 2011-03-29  Anders Carlsson  <andersca (a] apple.com>
   5535 
   5536         Reviewed by Sam Weinig.
   5537 
   5538         Downloads: Authentication support
   5539         https://bugs.webkit.org/show_bug.cgi?id=57403
   5540         <rdar://problem/8691166>
   5541 
   5542         * UIProcess/API/C/WKContext.h:
   5543         Add didReceiveAuthenticationChallenge callback.
   5544 
   5545         * UIProcess/Downloads/DownloadProxy.cpp:
   5546         (WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
   5547         Call the download client.
   5548 
   5549         * UIProcess/Downloads/DownloadProxy.messages.in:
   5550         Add DidReceiveAuthenticationChallenge message.
   5551 
   5552         * UIProcess/WebDownloadClient.cpp:
   5553         (WebKit::WebDownloadClient::didReceiveAuthenticationChallenge):
   5554         Call the client callback function.
   5555 
   5556         * UIProcess/WebDownloadClient.h:
   5557         * WebProcess/Authentication/AuthenticationManager.cpp:
   5558         (WebKit::AuthenticationManager::didReceiveAuthenticationChallenge):
   5559         Send the DidReceiveAuthenticationChallenge message to the download proxy.
   5560 
   5561         (WebKit::AuthenticationManager::useCredentialForChallenge):
   5562         (WebKit::AuthenticationManager::continueWithoutCredentialForChallenge):
   5563         (WebKit::AuthenticationManager::cancelChallenge):
   5564         If the authentication client is null, call the static download member functions.
   5565 
   5566         * WebProcess/Authentication/AuthenticationManager.h:
   5567         * WebProcess/Downloads/Download.cpp:
   5568         (WebKit::Download::didReceiveAuthenticationChallenge):
   5569         Call the authentication manager.
   5570 
   5571         * WebProcess/Downloads/Download.h:
   5572         * WebProcess/Downloads/mac/DownloadMac.mm:
   5573         (WebKit::Download::receivedCredential):
   5574         (WebKit::Download::receivedRequestToContinueWithoutCredential):
   5575         (WebKit::Download::receivedCancellation):
   5576         Call the right sender methods.
   5577 
   5578         (-[WKDownloadAsDelegate download:didReceiveAuthenticationChallenge:]):
   5579         (-[WKDownloadAsDelegate downloadShouldUseCredentialStorage:]):
   5580         Call the right Download member functions.
   5581 
   5582         * WebProcess/Downloads/qt/DownloadQt.cpp:
   5583         (WebKit::Download::receivedCredential):
   5584         (WebKit::Download::receivedRequestToContinueWithoutCredential):
   5585         (WebKit::Download::receivedCancellation):
   5586         * WebProcess/Downloads/soup/DownloadSoup.cpp:
   5587         (WebKit::Download::receivedCredential):
   5588         (WebKit::Download::receivedRequestToContinueWithoutCredential):
   5589         (WebKit::Download::receivedCancellation):
   5590         Add stubs.
   5591 
   5592 2011-03-29  Anders Carlsson  <andersca (a] apple.com>
   5593 
   5594         Reviewed by Sam Weinig.
   5595 
   5596         AuthenticationChallengeProxy objects should be associated with processes, not pages
   5597         https://bugs.webkit.org/show_bug.cgi?id=57401
   5598 
   5599         * UIProcess/Authentication/AuthenticationChallengeProxy.cpp:
   5600         (WebKit::AuthenticationChallengeProxy::AuthenticationChallengeProxy):
   5601         (WebKit::AuthenticationChallengeProxy::~AuthenticationChallengeProxy):
   5602         (WebKit::AuthenticationChallengeProxy::useCredential):
   5603         (WebKit::AuthenticationChallengeProxy::cancel):
   5604         * UIProcess/Authentication/AuthenticationChallengeProxy.h:
   5605         (WebKit::AuthenticationChallengeProxy::create):
   5606         * UIProcess/WebPageProxy.cpp:
   5607         (WebKit::WebPageProxy::didReceiveAuthenticationChallenge):
   5608 
   5609 2011-03-29  Sam Weinig  <sam (a] webkit.org>
   5610 
   5611         Reviewed by Anders Carlsson.
   5612 
   5613         Use LocalizedStrings.h as a bottleneck for localized strings instead of
   5614         using UI_STRING.
   5615 
   5616         * UIProcess/API/mac/WKView.mm:
   5617         (-[WKView validateUserInterfaceItem:]):
   5618         Call existing localization functions instead of using UI_STRING.
   5619 
   5620         (-[WKView _getTextInputState:selectionEnd:underlines:]):
   5621         Remove unnecessary WebCore:: prefix.
   5622 
   5623 2011-03-29  Chang Shu  <cshu (a] webkit.org>
   5624 
   5625         Reviewed by Kenneth Rohde Christiansen.
   5626 
   5627         WebKitTestRunner needs layoutTestController.setAllowUniversalAccessFromFileURLs
   5628         https://bugs.webkit.org/show_bug.cgi?id=42692
   5629 
   5630         * Shared/WebPreferencesStore.cpp:
   5631         (WebKit::WebPreferencesStore::decode):
   5632         (WebKit::WebPreferencesStore::overrideAllowUniversalAccessFromFileURLsForTestRunner):
   5633         * Shared/WebPreferencesStore.h:
   5634         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
   5635         (WKBundleOverrideAllowUniversalAccessFromFileURLsForTestRunner):
   5636         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
   5637         * WebProcess/InjectedBundle/InjectedBundle.cpp:
   5638         (WebKit::InjectedBundle::overrideAllowUniversalAccessFromFileURLsForTestRunner):
   5639         * WebProcess/InjectedBundle/InjectedBundle.h:
   5640 
   5641 2011-03-29  Timothy Hatcher  <timothy (a] apple.com>
   5642 
   5643         Update the order of the context menu to better match AppKit on Mac.
   5644 
   5645         <rdar://problem/9054893>
   5646 
   5647         Reviewed by John Sullivan.
   5648 
   5649         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
   5650         (WebKit::WebPlatformStrategies::contextMenuItemTagLookUpInDictionary): Added argument for selected string.
   5651         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
   5652 
   5653 2011-03-29  Jeff Miller  <jeffm (a] apple.com>
   5654 
   5655         Fix formatting of WebKit2.vcproj after r82283.
   5656 
   5657         * win/WebKit2.vcproj:
   5658 
   5659 2011-03-29  Martin Robinson  <mrobinson (a] igalia.com>
   5660 
   5661         [GTK] Build failed with GDK_KEY_KP_Space was not declared in this scope
   5662         https://bugs.webkit.org/show_bug.cgi?id=55314
   5663 
   5664         Build fix for older versions of GTK+. Use the deprecated names for GDK key
   5665         defines and include GtkVersioning.h to allow building on newer versions
   5666         of GTK+.
   5667 
   5668         * Shared/gtk/WebEventFactory.cpp:
   5669         (WebKit::isGdkKeyCodeFromKeyPad): Update key defines.
   5670 
   5671 2011-03-29  Steve Falkenburg  <sfalken (a] apple.com>
   5672 
   5673         Reviewed by Darin Adler.
   5674 
   5675         Use per-configuration vsprops in WebKit to avoid WebKitVSPropsRedirectionDir removal by MSVC IDE
   5676         https://bugs.webkit.org/show_bug.cgi?id=57383
   5677 
   5678         Visual Studio's IDE was removing instances of $(WebKitVSPropsRedirectionDir) from
   5679         InheritedPropertySheet rules in our vcproj files when the vcproj was edited from within
   5680         the IDE. To avoid this, add a separate vsprops file for each project configuration that
   5681         contains the required inherited property sheets.
   5682 
   5683         * win/WebKit2.vcproj:
   5684         * win/WebKit2Debug.vsprops: Added.
   5685         * win/WebKit2DebugAll.vsprops: Added.
   5686         * win/WebKit2DebugCairoCFLite.vsprops: Added.
   5687         * win/WebKit2Release.vsprops: Added.
   5688         * win/WebKit2ReleaseCairoCFLite.vsprops: Added.
   5689         * win/WebKit2ReleaseLTCG.vsprops: Added.
   5690         * win/WebKit2WebProcess.vcproj:
   5691         * win/WebKit2WebProcessDebug.vsprops: Added.
   5692         * win/WebKit2WebProcessDebugAll.vsprops: Added.
   5693         * win/WebKit2WebProcessDebugCairoCFLite.vsprops: Added.
   5694         * win/WebKit2WebProcessRelease.vsprops: Added.
   5695         * win/WebKit2WebProcessReleaseCairoCFLite.vsprops: Added.
   5696         * win/WebKit2WebProcessReleaseLTCG.vsprops: Added.
   5697 
   5698 2011-03-29  Jessie Berlin  <jberlin (a] apple.com>
   5699 
   5700         Reviewed by Anders Carlsson.
   5701 
   5702         WebKit2: The WebProcess should be relaunched if necessary when WebKit2 is asked for
   5703         information about Cookies, Databases, Local Storage, etc.
   5704         https://bugs.webkit.org/show_bug.cgi?id=57374
   5705 
   5706         Instead of bailing when the WebProcess is not valid, call relaunchProcessIfNecessary().
   5707 
   5708         * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
   5709         (WebKit::WebPluginSiteDataManager::getSitesWithData):
   5710         (WebKit::WebPluginSiteDataManager::clearSiteData):
   5711         * UIProcess/WebApplicationCacheManagerProxy.cpp:
   5712         (WebKit::WebApplicationCacheManagerProxy::getApplicationCacheOrigins):
   5713         (WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin):
   5714         (WebKit::WebApplicationCacheManagerProxy::deleteAllEntries):
   5715         * UIProcess/WebCookieManagerProxy.cpp:
   5716         (WebKit::WebCookieManagerProxy::getHostnamesWithCookies):
   5717         (WebKit::WebCookieManagerProxy::deleteCookiesForHostname):
   5718         (WebKit::WebCookieManagerProxy::deleteAllCookies):
   5719         (WebKit::WebCookieManagerProxy::startObservingCookieChanges):
   5720         (WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
   5721         (WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
   5722         * UIProcess/WebDatabaseManagerProxy.cpp:
   5723         (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin):
   5724         (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
   5725         (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
   5726         (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
   5727         (WebKit::WebDatabaseManagerProxy::deleteAllDatabases):
   5728         (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):
   5729         * UIProcess/WebKeyValueStorageManagerProxy.cpp:
   5730         (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins):
   5731         (WebKit::WebKeyValueStorageManagerProxy::deleteEntriesForOrigin):
   5732         (WebKit::WebKeyValueStorageManagerProxy::deleteAllEntries):
   5733         * UIProcess/WebMediaCacheManagerProxy.cpp:
   5734         (WebKit::WebMediaCacheManagerProxy::getHostnamesWithMediaCache):
   5735         (WebKit::WebMediaCacheManagerProxy::clearCacheForHostname):
   5736         (WebKit::WebMediaCacheManagerProxy::clearCacheForAllHostnames):
   5737         * UIProcess/WebResourceCacheManagerProxy.cpp:
   5738         (WebKit::WebResourceCacheManagerProxy::getCacheOrigins):
   5739         (WebKit::WebResourceCacheManagerProxy::clearCacheForOrigin):
   5740         (WebKit::WebResourceCacheManagerProxy::clearCacheForAllOrigins):
   5741 
   5742 2011-03-29  Jeff Miller  <jeffm (a] apple.com>
   5743 
   5744         Reviewed by Darin Adler.
   5745 
   5746         WebKit2: Support setting the client certificate on Windows
   5747         https://bugs.webkit.org/show_bug.cgi?id=57368
   5748         
   5749         Allow setting the client certificate for a host via the injected bundle.
   5750         This requires the ability for Webkit2 Windows clients to create a WKCertificateInfo from a PCCERT_CONTEXT so they can send it to the web process.
   5751 
   5752         * Shared/API/c/win/WKCertificateInfoWin.cpp:
   5753         (WKCertificateInfoCreateWithCertificate): Added.
   5754         * Shared/API/c/win/WKCertificateInfoWin.h: Added WKCertificateInfoCreateWithCertificate().
   5755         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
   5756         (WKBundleSetClientCertificate): Added.
   5757         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Added WKBundleSetClientCertificate().
   5758         * WebProcess/InjectedBundle/InjectedBundle.h: Added setClientCertificate().
   5759         * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
   5760         (WebKit::InjectedBundle::setClientCertificate): Added, should never be called.
   5761         * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
   5762         (WebKit::InjectedBundle::setClientCertificate): Added, should never be called.
   5763         * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
   5764         (WebKit::InjectedBundle::setClientCertificate): Added, should never be called.
   5765         * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
   5766         (WebKit::InjectedBundle::setClientCertificate): Added.
   5767 
   5768 2011-03-29  Timothy Hatcher  <timothy (a] apple.com>
   5769 
   5770         Make WebKit2 work with update-webkit-localizable-strings.
   5771 
   5772         https://webkit.org/b/57354
   5773 
   5774         Reviewed by Sam Weinig.
   5775 
   5776         * PluginProcess/mac/PluginProcessMac.mm: Remove UI_STRING macro. Use WebLocalizableStrings.h.
   5777         * Shared/WebLocalizableStrings.h: Added.
   5778         * UIProcess/API/mac/WKView.mm: Remove UI_STRING macro. Use WebLocalizableStrings.h.
   5779         * UIProcess/mac/WebInspectorProxyMac.mm:
   5780         (WebKit::WebInspectorProxy::platformInspectedURLChanged): Use UI_STRING. Remove FIXME.
   5781         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Remove UI_STRING macros.
   5782         Use WebLocalizableStrings.h.
   5783         * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
   5784         (registerErrors): Remove UI_STRING macro. Use WebLocalizableStrings.h.
   5785         * WebProcess/mac/WebProcessMac.mm:
   5786         (WebKit::WebProcess::platformInitializeWebProcess): Use UI_STRING. Remove FIXME.
   5787 
   5788         * GNUmakefile.am: Added Shared/WebLocalizableStrings.h.
   5789         * WebKit2.pro: Ditto.
   5790         * WebKit2.xcodeproj/project.pbxproj: Ditto.
   5791         * win/WebKit2.vcproj: Ditto.
   5792 
   5793 2011-03-29  Jeff Miller  <jeffm (a] apple.com>
   5794 
   5795         Reviewed by Darin Adler.
   5796 
   5797         CoreIPC::decodeResourceError() leaks a CFDataRef
   5798         https://bugs.webkit.org/show_bug.cgi?id=57366
   5799 
   5800         * Shared/win/WebCoreArgumentCodersWin.cpp:
   5801         (CoreIPC::decodeResourceError): Don't leak the result of WebCore::copyCertificateToData(), since the ResourceError will retain it.
   5802 
   5803 2011-03-29  Anders Carlsson  <andersca (a] apple.com>
   5804 
   5805         Reviewed by Sam Weinig.
   5806 
   5807         Allow the AppleConnect plug-in to use the QuickDraw drawing model
   5808         https://bugs.webkit.org/show_bug.cgi?id=57365
   5809         <rdar://problem/8712320>
   5810 
   5811         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
   5812         (WebKit::NetscapePluginModule::determineQuirks):
   5813         * Shared/Plugins/PluginQuirks.h:
   5814         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
   5815         (WebKit::NetscapePlugin::platformPostInitialize):
   5816 
   5817 2011-03-29  Darin Adler  <darin (a] apple.com>
   5818 
   5819         Reviewed by Adam Roben.
   5820 
   5821         WebKit2 bundle page needs to offer generated file hooks
   5822         https://bugs.webkit.org/show_bug.cgi?id=57279
   5823 
   5824         * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Added shouldGenerateFileForUpload and
   5825         generateFileForUpload callback pointers.
   5826 
   5827         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.cpp:
   5828         (WebKit::InjectedBundlePageUIClient::shouldGenerateFileForUpload): Added.
   5829         (WebKit::InjectedBundlePageUIClient::generateFileForUpload): Added.
   5830         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: Added functions above.
   5831 
   5832         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
   5833         (WebKit::WebChromeClient::shouldReplaceWithGeneratedFileForUpload): Implemented by
   5834         calling the functions above.
   5835         (WebKit::WebChromeClient::generateReplacementFile): Ditto.
   5836 
   5837 2011-03-29  Anders Carlsson  <andersca (a] apple.com>
   5838 
   5839         Reviewed by Darin Adler.
   5840 
   5841         Assertion failure in plug-in process with clang-built 32/64-bit WebKit2
   5842         https://bugs.webkit.org/show_bug.cgi?id=57359
   5843 
   5844         Don't use __alignof when encoding and decoding scalar types.
   5845         
   5846         Darwin 32-bit, double and unsigned long long are 4-byte aligned but on 64-bit they're
   5847         8-byte aligned which causes problems when doing IPC between 32-bit and 64-bit processes.
   5848         GCC is buggy and returns 8, but clang is correct and returns 4. Use sizeof instead which we know
   5849         is equal to or greater than the alignment.
   5850 
   5851         * Platform/CoreIPC/ArgumentDecoder.cpp:
   5852         (CoreIPC::ArgumentDecoder::decodeBool):
   5853         (CoreIPC::ArgumentDecoder::decodeUInt32):
   5854         (CoreIPC::ArgumentDecoder::decodeUInt64):
   5855         (CoreIPC::ArgumentDecoder::decodeInt32):
   5856         (CoreIPC::ArgumentDecoder::decodeInt64):
   5857         (CoreIPC::ArgumentDecoder::decodeFloat):
   5858         (CoreIPC::ArgumentDecoder::decodeDouble):
   5859         * Platform/CoreIPC/ArgumentEncoder.cpp:
   5860         (CoreIPC::ArgumentEncoder::encodeBool):
   5861         (CoreIPC::ArgumentEncoder::encodeUInt32):
   5862         (CoreIPC::ArgumentEncoder::encodeUInt64):
   5863         (CoreIPC::ArgumentEncoder::encodeInt32):
   5864         (CoreIPC::ArgumentEncoder::encodeInt64):
   5865         (CoreIPC::ArgumentEncoder::encodeFloat):
   5866         (CoreIPC::ArgumentEncoder::encodeDouble):
   5867 
   5868 2011-03-29  Brent Fulgham  <bfulgham (a] webkit.org>
   5869 
   5870         Unreviewed build fix after r81928.
   5871 
   5872         * win/WebKit2.vcproj: Don't build CG-specific icon routines
   5873         for WinCairo port.
   5874 
   5875 2011-03-29  Sam Weinig  <sam (a] webkit.org>
   5876 
   5877         Reviewed by Anders Carlsson.
   5878 
   5879         Reproducible crash running under libgmalloc, in -[WKView(Internal) removeTrackingRect:] --&gt; objc_assign_ivar_non_gc
   5880         <rdar://problem/9193352>
   5881         https://bugs.webkit.org/show_bug.cgi?id=57358
   5882 
   5883         -[WKView removeTrackingRect] can be called from below -[WKView dealloc] after we have
   5884         destroyed _data. So, nil out _data after releasing it and nil check it appropriately.
   5885         
   5886         * UIProcess/API/mac/WKView.mm:
   5887         (-[WKView dealloc]):
   5888         Nil out _data after releasing it.
   5889 
   5890         (-[WKView removeTrackingRect:]):
   5891         Add early return for nil _data.
   5892 
   5893 2011-03-29  Jeff Miller  <jeffm (a] apple.com>
   5894 
   5895         Reviewed by Jon Honeycutt.
   5896 
   5897         Add WebCore::copyCertificateToData() on Windows
   5898         https://bugs.webkit.org/show_bug.cgi?id=57296
   5899         
   5900         Remove duplicate code that implemented this functionality in WebCoreArgumentCodersWin.cpp and use WebCore::copyCertificateToData() instead. 
   5901 
   5902         * Shared/win/WebCoreArgumentCodersWin.cpp:
   5903         (CoreIPC::decodeResourceError): Use WebCore::copyCertificateToData().
   5904 
   5905 2011-03-29  Balazs Kelemen  <kbalazs (a] webkit.org>
   5906 
   5907         Unreviewed build fix (64 bit gcc).
   5908 
   5909         GCC does not accept uint64_t formatted as %lli.
   5910 
   5911         * UIProcess/WebIconDatabase.cpp:
   5912         (WebKit::WebIconDatabase::getLoadDecisionForIconURL): Add explicit cast to long long.
   5913 
   5914 2011-03-28  Maciej Stachowiak  <mjs (a] apple.com>
   5915 
   5916         Reviewed by Dan Bernstein.
   5917 
   5918         WKPageGetSourceForFrame and WKPageGetContentsAsString should throw an error in case of a race with page loading
   5919         https://bugs.webkit.org/show_bug.cgi?id=57305
   5920         <rdar://problem/8738060>, <rdar://problem/8780168>
   5921 
   5922         * UIProcess/WebPageProxy.cpp:
   5923         (WebKit::WebPageProxy::close): Clear m_loadDependentStringCallbackIDs
   5924         (WebKit::WebPageProxy::getSourceForFrame): track the callback as load dependent
   5925         (WebKit::WebPageProxy::getContentsAsString): ditto
   5926         (WebKit::WebPageProxy::clearLoadDependentCallbacks): Invalidate all load dependent callbacks
   5927         (WebKit::WebPageProxy::didCommitLoadForFrame): Call clearLoadDependentCallbacks
   5928         (WebKit::WebPageProxy::didFailLoadForFrame): ditto
   5929         (WebKit::WebPageProxy::stringCallback): Remove callback from load dependent set if appropriate
   5930         (WebKit::WebPageProxy::processDidCrash): Clear m_loadDependentStringCallbackIDs
   5931         * UIProcess/WebPageProxy.h: Add m_loadDependentStringCallbackIDs hash set.
   5932 
   5933 2011-03-28  Patrick Gansterer  <paroga (a] webkit.org>
   5934 
   5935         Reviewed by Darin Adler.
   5936 
   5937         Use String instead of CString as return value of openTemporaryFile
   5938         https://bugs.webkit.org/show_bug.cgi?id=55332
   5939 
   5940         * Shared/WebMemorySampler.cpp:
   5941         (WebKit::WebMemorySampler::initializeTempLogFile):
   5942         * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
   5943         (WebKit::NetscapePluginStream::stop):
   5944         * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
   5945 
   5946 2011-03-28  Brian Weinstein  <bweinstein (a] apple.com>
   5947 
   5948         Reviewed by Jon Honeycutt.
   5949 
   5950         WebKit2: Downloads started with DownloadCFNet::start never start
   5951         https://bugs.webkit.org/show_bug.cgi?id=57268
   5952 
   5953         * WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
   5954         (WebKit::Download::start): Call CFURLDownloadStart on the download we create.
   5955 
   5956 2011-03-28  Anders Carlsson  <andersca (a] apple.com>
   5957 
   5958         Fix Windows build.
   5959 
   5960         * Shared/ShareableBitmap.h:
   5961 
   5962 2011-03-28  Anders Carlsson  <andersca (a] apple.com>
   5963 
   5964         Reviewed by Sam Weinig.
   5965 
   5966         Beep when pressing a menu key equivalent when a plug-in has focus
   5967         https://bugs.webkit.org/show_bug.cgi?id=57264
   5968         <rdar://problem/8935597>
   5969 
   5970         We don't want the WKTextInputWindowController inputContext to be involved in interpretKeyEvents.
   5971 
   5972         * UIProcess/API/mac/WKView.mm:
   5973         (-[WKView inputContext]):
   5974 
   5975 2011-03-28  Anders Carlsson  <andersca (a] apple.com>
   5976 
   5977         Reviewed by Sam Weinig.
   5978 
   5979         CGImageRefs must hold a strong reference to underlying data
   5980         https://bugs.webkit.org/show_bug.cgi?id=57263
   5981         <rdar://problem/9146179>
   5982 
   5983         Make paintBitmapContext use CGBitmapContextCreateImage, which creates a copy-on-write copy
   5984         of the bitmap data. Also, add ShareableBitmap::makeCGImageCopy which does the same thing, and
   5985         ShareableBitmap::makeCGImage in the cases where we know that the ShareableBitmap data will never change.
   5986 
   5987         * Platform/cg/CGUtilities.cpp:
   5988         (WebKit::paintImage):
   5989         Factor image painting code out into a separate function.
   5990 
   5991         (WebKit::paintBitmapContext):
   5992         Call paintImage.
   5993 
   5994         * Shared/API/c/cg/WKImageCG.cpp:
   5995         (WKImagemakeCGImage):
   5996         Use ShareableBitmap::makeCGImageCopy.
   5997 
   5998         * Shared/ShareableBitmap.h:
   5999         * Shared/cg/ShareableBitmapCG.cpp:
   6000         (WebKit::ShareableBitmap::createGraphicsContext):
   6001         (WebKit::ShareableBitmap::paint):
   6002         (WebKit::ShareableBitmap::makeCGImageCopy):
   6003         (WebKit::ShareableBitmap::makeCGImage):
   6004         (WebKit::ShareableBitmap::releaseBitmapContextData):
   6005         (WebKit::ShareableBitmap::releaseDataProviderData):
   6006         Add makeCGImage and makeCGImageCopy.
   6007 
   6008         * Shared/cg/WebCoreArgumentCodersCG.cpp:
   6009         (CoreIPC::createImage):
   6010         Use ShareableBitmap::makeCGImage.
   6011         
   6012         * UIProcess/API/mac/PageClientImpl.mm:
   6013         (WebKit::PageClientImpl::setDragImage):
   6014         Use ShareableBitmap::makeCGImage and plug a CGImageRef leak.
   6015 
   6016 2011-03-28  Alexey Proskuryakov  <ap (a] apple.com>
   6017 
   6018         Build fix.
   6019 
   6020         * UIProcess/API/mac/WKView.mm: (-[WKView keyDown:]): It's not "event" in this function, it's
   6021         "theEvent".
   6022 
   6023 2011-03-28  Alexey Proskuryakov  <ap (a] apple.com>
   6024 
   6025         Reviewed by Darin Adler.
   6026 
   6027         https://bugs.webkit.org/show_bug.cgi?id=57260
   6028         Clean up text input code a little
   6029 
   6030         * UIProcess/API/mac/WKView.mm:
   6031         (-[WKView doCommandBySelector:]): This NSTextInput protocol method lacked a LOG() call.
   6032         (-[WKView keyDown:]): Added (possibly useless) event protection to match performKeyEquivalent:
   6033         and also WebKit1.
   6034 
   6035         * WebProcess/WebPage/mac/WebPageMac.mm: Removed an obsolete comment.
   6036 
   6037 2011-03-28  Jeff Miller  <jeffm (a] apple.com>
   6038 
   6039         Reviewed by Adam Roben.
   6040 
   6041         ResourceError::certificate() should return a PCCERT_CONTEXT
   6042         https://bugs.webkit.org/show_bug.cgi?id=57262
   6043 
   6044         * Shared/win/PlatformCertificateInfo.cpp:
   6045         (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): Don't assert if no PCCERT_CONTEXT is specified.
   6046         * Shared/win/WebCoreArgumentCodersWin.cpp:
   6047         (CoreIPC::encodeResourceError): Removed unneeded code now that ResourceError::certificate() returns a PCCERT_CONTEXT.
   6048 
   6049 2011-03-28  Jeff Miller  <jeffm (a] apple.com>
   6050 
   6051         Rubber-stamped by Adam Roben.
   6052 
   6053         Remove unused CFErrorRef.
   6054 
   6055         * Shared/win/WebCoreArgumentCodersWin.cpp:
   6056         (CoreIPC::encodeResourceError): Remove unused CFErrorRef.
   6057 
   6058 2011-03-28  Jeff Miller  <jeffm (a] apple.com>
   6059 
   6060         Reviewed by Adam Roben.
   6061 
   6062         Include certificate when sending a WebCore::ResourceError to UI process on Windows
   6063         https://bugs.webkit.org/show_bug.cgi?id=57195
   6064         
   6065         Add support for sending the certificate with the WebCore::ResourceError.
   6066 
   6067         * Shared/win/WebCoreArgumentCodersWin.cpp:
   6068         (CoreIPC::encodeResourceError): Encode certificate data.
   6069         (CoreIPC::deallocCertContext): Added.
   6070         (CoreIPC::createCertContextDeallocator): Added.
   6071         (CoreIPC::copyCert): Added.
   6072         (CoreIPC::decodeResourceError): Decode certificate data.
   6073 
   6074 2011-03-27  Andy Estes  <aestes (a] apple.com>
   6075 
   6076         Reviewed by Maciej Stachowiak.
   6077 
   6078         Correctly get a plug-in's MIME type when it uses WebPluginMIMETypesFilename
   6079         https://bugs.webkit.org/show_bug.cgi?id=57205
   6080         
   6081         If the plug-in's Info.plist uses WebPluginMIMETypesFilename to specify
   6082         plug-in MIME types, WebKit has to check for a property list file in
   6083         ~/Library/Preferences for the MIME type dictionary.
   6084 
   6085         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
   6086         (WebKit::getMIMETypesFromPluginBundle): If the bundle's Info dictionary
   6087         has the key WebPluginMIMETypesFilename, open the property list
   6088         specified by that key's value and return the MIME type dictionary from
   6089         there. Otherwise, return the MIME type dictionary specified by the key
   6090         WebPluginMIMETypes.
   6091         (WebKit::getPluginInfoFromPropertyLists): Call
   6092         getMIMETypesFromPluginBundle().
   6093 
   6094 2011-03-27  Jer Noble  <jer.noble (a] apple.com>
   6095 
   6096         Reviewed by Maciej Stachowiak.
   6097 
   6098         Full Screen: disable keyboard access by default
   6099         https://bugs.webkit.org/show_bug.cgi?id=56684
   6100 
   6101         Take into account whether keyboard access was requested when deciding whether full
   6102         screen mode is supported.
   6103 
   6104         * UIProcess/WebFullScreenManagerProxy.cpp:
   6105         (WebKit::WebFullScreenManagerProxy::supportsFullScreen):
   6106         * UIProcess/WebFullScreenManagerProxy.h:
   6107         * UIProcess/WebFullScreenManagerProxy.messages.in:
   6108         * WebProcess/FullScreen/WebFullScreenManager.cpp:
   6109         (WebKit::WebFullScreenManager::supportsFullScreen):
   6110         * WebProcess/FullScreen/WebFullScreenManager.h:
   6111         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
   6112         (WebKit::WebChromeClient::supportsFullScreenForElement):
   6113         * WebProcess/WebCoreSupport/WebChromeClient.h:
   6114 
   6115 2011-03-27  Anders Carlsson  <andersca (a] apple.com>
   6116 
   6117         Reviewed by Sam Weinig.
   6118 
   6119         Dock doesn't come back after leaving fullscreen on Hulu
   6120         https://bugs.webkit.org/show_bug.cgi?id=57189
   6121         <rdar://problem/9192413>
   6122 
   6123         Port some code over from the old WebKit1 plug-in host.
   6124 
   6125         * PluginProcess/mac/PluginProcessShim.mm:
   6126         (WebKit::shimShowMenuBar):
   6127         (WebKit::shimHideMenuBar):
   6128         (WebKit::shimIsMenuBarVisible):
   6129 
   6130 2011-03-27  Anders Carlsson  <andersca (a] apple.com>
   6131 
   6132         Reviewed by Sam Weinig.
   6133 
   6134         Keep a strong reference to the connection to avoid crashes.
   6135 
   6136         * Platform/CoreIPC/Connection.cpp:
   6137 
   6138 2011-03-26  Jeff Miller  <jeffm (a] apple.com>
   6139 
   6140         Reviewed by Sam Weinig.
   6141 
   6142         WKErrorCopyCFError() doesn't actually return a copy of the CFErrorRef
   6143         https://bugs.webkit.org/show_bug.cgi?id=57172
   6144 
   6145         * Shared/API/c/cf/WKErrorCF.cpp:
   6146         (WKErrorCopyCFError): Use RetainPtr<> and leakRef() to return a real copy.
   6147 
   6148 2011-03-26  Maciej Stachowiak  <mjs (a] apple.com>
   6149 
   6150         Revert inadvertently committed changes.
   6151 
   6152         * WebProcess/com.apple.WebProcess.sb:
   6153 
   6154 2011-03-26  Jer Noble  <jer.noble (a] apple.com>
   6155 
   6156         Reviewed by Eric Carlson.
   6157 
   6158         Enable the Full Screen API by default in WebKit/mac and WebKit2
   6159         https://bugs.webkit.org/show_bug.cgi?id=56956
   6160 
   6161         * Shared/WebPreferencesStore.h: Default the fullScreenEnabled preference to true.
   6162 
   6163 2011-03-26  Jeff Miller  <jeffm (a] apple.com>
   6164 
   6165         Reviewed by Steve Falkenburg.
   6166 
   6167         Add PlatformCertificateInfo::PlatformCertificateInfo(PCCERT_CONTEXT) constructor on Windows
   6168         https://bugs.webkit.org/show_bug.cgi?id=57152
   6169         
   6170         We're going to need to create a PlatformCertificateInfo with a single certificate on Windows to support client certificates.
   6171         Also, stop relying on the fact that the Win32 API CertDuplicateCertificateContext() currently returns the same PCCERT_CONTEXT that you pass to it, since that may change in the future.
   6172 
   6173         * Shared/win/PlatformCertificateInfo.cpp:
   6174         (WebKit::PlatformCertificateInfo::PlatformCertificateInfo): Added PlatformCertificateInfo(PCCERT_CONTEXT) construtor. Use return value from CertDuplicateCertificateContext().
   6175         (WebKit::PlatformCertificateInfo::operator=): Use return value from CertDuplicateCertificateContext().
   6176         * Shared/win/PlatformCertificateInfo.h: Added PlatformCertificateInfo(PCCERT_CONTEXT) construtor.
   6177 
   6178 2011-03-26  Anders Carlsson  <andersca (a] apple.com>
   6179 
   6180         Reviewed by Sam Weinig.
   6181 
   6182         Graphic corruption appeared with Silverlight contents while resizing window
   6183         https://bugs.webkit.org/show_bug.cgi?id=57167
   6184         <rdar://problem/9094052>
   6185 
   6186         Pass DispatchMessageEvenWhenWaitingForSyncReply when sending GeometryDidChange messages since that will guarantee
   6187         that those messages will be handled before PaintEntirePlugin messages which prevents the PaintEntirePlugin handler from
   6188         painting into the wrong backing store.
   6189 
   6190         * WebProcess/Plugins/PluginProxy.cpp:
   6191         (WebKit::PluginProxy::geometryDidChange):
   6192 
   6193 2011-03-26  Sam Weinig  <sam (a] webkit.org>
   6194 
   6195         Reviewed by Anders Carlsson.
   6196 
   6197         Web process considered unresponsive (SPOD shown) when displaying a JavaScript alert() as a result of a click
   6198         <rdar://problem/9067557>
   6199         https://bugs.webkit.org/show_bug.cgi?id=57166
   6200 
   6201         * UIProcess/WebPageProxy.cpp:
   6202         (WebKit::WebPageProxy::runJavaScriptAlert):
   6203         (WebKit::WebPageProxy::runJavaScriptConfirm):
   6204         (WebKit::WebPageProxy::runJavaScriptPrompt):
   6205         Invalidate the responsiveness timer before calling out to the client.
   6206 
   6207 2011-03-26  Anders Carlsson  <andersca (a] apple.com>
   6208 
   6209         Reviewed by Sam Weinig.
   6210 
   6211         ASSERTION FAILED: m_operationInProgress == NoOperation loading nytimes.com
   6212         https://bugs.webkit.org/show_bug.cgi?id=57165
   6213         <rdar://problem/9024311>
   6214 
   6215         The assertion fired because during GC, the web process sends a synchronous NPObjectMessageReceiver::Deallocate
   6216         message to the plug-in process. Since this is a synchronous message, the web process needs to process incoming synchronous
   6217         messages. While waiting, we get an incoming PluginProxy::Evaluate message from the plug-in. This causes JavaScript to run
   6218         during GC which is very bad.
   6219 
   6220         The fix for this is to add a flag on the connection that will cause synchronous messages sent by the connection (in this case the
   6221         plug-in process) to not be processed while the other side (the web process) is waiting for a synchronous reply _unless_ the connection
   6222         is actually processing a synchronous message. (The last part is to avoid deadlocks).
   6223 
   6224         Since the call to NPN_Evaluate by the plug-in (that ends up sending the PluginProxy::Evaluate message) comes from a run loop timer firing,
   6225         it's OK to wait for it to be processed by the web process when it returns to the run loop.
   6226 
   6227         * Platform/CoreIPC/Connection.cpp:
   6228         (CoreIPC::Connection::Connection):
   6229         Initialize m_onlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage and m_inDispatchMessageMarkedDispatchWhenWaitingForSyncReplyCount.
   6230 
   6231         (CoreIPC::Connection::setOnlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage):
   6232         Set m_onlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage.
   6233 
   6234         (CoreIPC::Connection::sendMessage):
   6235         Don't add the MessageID::DispatchMessageWhenWaitingForSyncReply flag when the right flags has been set on the connection, and it's not processing a synchronous message.
   6236 
   6237         (CoreIPC::Connection::dispatchMessage):
   6238         Increment and decrement m_inDispatchMessageMarkedDispatchWhenWaitingForSyncReplyCount accordingly.
   6239 
   6240         * PluginProcess/WebProcessConnection.cpp:
   6241         (WebKit::WebProcessConnection::WebProcessConnection):
   6242         Call setOnlySendMessagesAsDispatchWhenWaitingForSyncReplyWhenProcessingSuchAMessage on the connection.
   6243 
   6244 2011-03-26  Sam Weinig  <sam (a] webkit.org>
   6245 
   6246         Rollout r82042 (If a user doesn't have a Database/LocalStorage directory, it can't be created (sandbox violations))
   6247 
   6248         -[NSString stringByResolvingSymlinksInPath] does not do what we needed for paths within /private.
   6249         This caused all SSL sites to stop working.
   6250 
   6251         * WebProcess/mac/WebProcessMac.mm:
   6252         (WebKit::appendSandboxParameterPath):
   6253         (WebKit::initializeSandbox):
   6254 
   6255 2011-03-26  Sam Weinig  <sam (a] webkit.org>
   6256 
   6257         Reviewed by Anders Carlsson.
   6258 
   6259         If a user doesn't have a Database/LocalStorage directory, it can't be created (sandbox violations)
   6260         <rdar://problem/9127411>
   6261         https://bugs.webkit.org/show_bug.cgi?id=57164
   6262 
   6263         * WebProcess/mac/WebProcessMac.mm:
   6264         (WebKit::appendSandboxParameterPath):
   6265         (WebKit::initializeSandbox):
   6266         Use -[NSString stringByResolvingSymlinksInPath] instead of realpath to ensure we can resolve
   6267         symlinks even if the file/directory doesn't exist yet.
   6268 
   6269 2011-03-26  Anders Carlsson  <andersca (a] apple.com>
   6270 
   6271         Reviewed by Sam Weinig.
   6272 
   6273         Factor processing of incoming sync replies out into processIncomingSyncReply
   6274         https://bugs.webkit.org/show_bug.cgi?id=57161
   6275 
   6276         * Platform/CoreIPC/Connection.cpp:
   6277         (CoreIPC::Connection::sendSyncMessage):
   6278         Pass DispatchMessageEvenWhenWaitingForSyncReply to sendMessage.
   6279 
   6280         (CoreIPC::Connection::processIncomingSyncReply):
   6281         Move code from processIncomingMessage to here.
   6282 
   6283         (CoreIPC::Connection::processIncomingMessage):
   6284         Call processIncomingSyncReply.
   6285 
   6286 2011-03-26  Sam Weinig  <sam (a] webkit.org>
   6287 
   6288         Reviewed by Anders Carlsson.
   6289 
   6290         WebKit2: Assert in CoreIPC::typeFromCFTypeRef() when loading a site with an invalid certificate
   6291         <rdar://problem/9188041>
   6292         https://bugs.webkit.org/show_bug.cgi?id=57159
   6293 
   6294         * Shared/cf/ArgumentCodersCF.cpp:
   6295         (CoreIPC::typeFromCFTypeRef):
   6296         (CoreIPC::encode):
   6297         (CoreIPC::decode):
   6298         * Shared/cf/ArgumentCodersCF.h:
   6299         Add encoding/decoding for SecCertificateRef type.
   6300 
   6301         * Shared/mac/PlatformCertificateInfo.mm:
   6302         (WebKit::PlatformCertificateInfo::encode):
   6303         (WebKit::PlatformCertificateInfo::decode):
   6304         Use ArgumentCodersCF now that it knows how to encode/decode SecCertificateRefs.
   6305 
   6306 2011-03-26  Anders Carlsson  <andersca (a] apple.com>
   6307 
   6308         Reviewed by Sam Weinig.
   6309 
   6310         Handle synchronous replies coming in out of order
   6311         https://bugs.webkit.org/show_bug.cgi?id=57158
   6312 
   6313         When processing an incoming reply, don't assume that it belongs to the last sent synchronous request.
   6314         Instead, iterate over the m_pendingSyncReplies vector backwards looking for the corresponding request.
   6315 
   6316         * Platform/CoreIPC/Connection.cpp:
   6317         (CoreIPC::Connection::processIncomingMessage):
   6318 
   6319 2011-03-26  Anders Carlsson  <andersca (a] apple.com>
   6320 
   6321         Reviewed by Sam Weinig.
   6322 
   6323         Fix a possible deadlock when two synchronous messages are sent at the same time
   6324         https://bugs.webkit.org/show_bug.cgi?id=57155
   6325 
   6326         Simplify code and fix a possible (although highly improbable) dead lock.
   6327 
   6328         * Platform/CoreIPC/Connection.cpp:
   6329         Make SyncMessageState atomically ref counted since it can be ref()'ed from the connection queue.
   6330         Get rid of m_waitForSyncReplyCount and add m_didScheduleDispatchMessagesWork.
   6331 
   6332         (CoreIPC::Connection::SyncMessageState::SyncMessageState):
   6333         Initialize m_didScheduleDispatchMessagesWork to false.
   6334 
   6335         (CoreIPC::Connection::SyncMessageState::processIncomingMessage):
   6336         if m_didScheduleDispatchMessagesWork is false, schedule a call to dispatchMessageAndResetDidScheduleDispatchMessagesWork
   6337         on the client run loop.
   6338 
   6339         (CoreIPC::Connection::SyncMessageState::dispatchMessageAndResetDidScheduleDispatchMessagesWork):
   6340         Dispatch messages and set m_didScheduleDispatchMessagesWork back to false.
   6341 
   6342         (CoreIPC::Connection::sendSyncMessage):
   6343         Remove calls to beginWaitForSyncReply and endWaitForSyncReply.
   6344 
   6345 2011-03-25  Sam Weinig  <sam (a] webkit.org>
   6346 
   6347         Reviewed by Adele Peterson.
   6348 
   6349         WKPageLoadAlternateHTMLString doesn't re-spawn a dead WebProcess, but should
   6350         <rdar://problem/9191493>
   6351         https://bugs.webkit.org/show_bug.cgi?id=57134
   6352 
   6353         Make all load functions respawn a dead WebProcess for consistency.
   6354 
   6355         * UIProcess/WebPageProxy.cpp:
   6356         (WebKit::WebPageProxy::loadHTMLString):
   6357         Respawn a dead WebProcess.
   6358 
   6359         (WebKit::WebPageProxy::loadAlternateHTMLString):
   6360         Respawn a dead WebProcess.
   6361 
   6362         (WebKit::WebPageProxy::loadPlainTextString):
   6363         Respawn a dead WebProcess.
   6364 
   6365         (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
   6366         * UIProcess/WebPageProxy.h:
   6367         * UIProcess/WebPageProxy.messages.in:
   6368         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
   6369         (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
   6370         * WebProcess/WebPage/WebPage.cpp:
   6371         (WebKit::WebPage::loadAlternateHTMLString):
   6372         Since we may no longer always have a main frame when calling WKPageLoadAlternateHTMLString,
   6373         set the unreachable URL, if there is one, on provisional load.
   6374 
   6375 2011-03-25  Anders Carlsson  <andersca (a] apple.com>
   6376 
   6377         Reviewed by Sam Weinig.
   6378 
   6379         PluginView's call to invalidateContentsAndWindow() in invalidateRect() is wrong for plug-ins which paint into compositing layers
   6380         https://bugs.webkit.org/show_bug.cgi?id=57133
   6381         <rdar://problem/9029442>
   6382 
   6383         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
   6384         (WebKit::NetscapePlugin::platformInvalidate):
   6385         Return true under the Core Animation drawing model, since that prevents the plug-in from calling PluginController::invalidate.
   6386 
   6387         * WebProcess/Plugins/PluginView.cpp:
   6388         (WebKit::PluginView::invalidateRect):
   6389         Don't call invalidateContentsAndWindow() if the plug-in has a Core Animation layer.
   6390 
   6391 2011-03-25  Brady Eidson  <beidson (a] apple.com>
   6392 
   6393         Reviewed by Sam Weinig.
   6394 
   6395         <rdar://problem/8648311> and https://bugs.webkit.org/show_bug.cgi?id=56425
   6396         WebKit2 IconDatabase and API
   6397 
   6398         This gets a basic, usable API in place.
   6399         Enhancements can come in other bugs as they're needed.
   6400 
   6401         * UIProcess/API/C/WKIconDatabase.cpp:
   6402         (WKIconDatabaseRetainIconForURL):
   6403         (WKIconDatabaseReleaseIconForURL):
   6404         (WKIconDatabaseEnableDatabaseCleanup):
   6405         * UIProcess/API/C/WKIconDatabase.h:
   6406         
   6407         The first actual accessor for an "icon for a URL" is for a CGImageRef:
   6408         * UIProcess/API/C/cg: Added.
   6409         * UIProcess/API/C/cg/WKIconDatabaseCG.cpp: Added.
   6410         (WKIconDatabaseGetCGImageForURL):
   6411         * UIProcess/API/C/cg/WKIconDatabaseCG.h: Added.
   6412         
   6413         Expose relevant methods to support the above API:
   6414         * UIProcess/WebIconDatabase.cpp:
   6415         (WebKit::WebIconDatabase::WebIconDatabase): New IconDatabases will have cleanup disabled from the start,
   6416           and require a single call to "enableDatabaseCleanup" to allow cleanup.
   6417         (WebKit::WebIconDatabase::setDatabasePath):
   6418         (WebKit::WebIconDatabase::enableDatabaseCleanup):
   6419         (WebKit::WebIconDatabase::imageForPageURL):
   6420         * UIProcess/WebIconDatabase.h:
   6421         
   6422         Project file stuff:
   6423         * WebKit2.xcodeproj/project.pbxproj:
   6424         * win/WebKit2.vcproj:
   6425 
   6426 2011-03-25  Jeff Miller  <jeffm (a] apple.com>
   6427 
   6428         Reviewed by Darin Adler.
   6429 
   6430         Add CoreIPC::encodeResourceError() and CoreIPC::decodeResourceError() for all platforms
   6431         https://bugs.webkit.org/show_bug.cgi?id=57125
   6432         
   6433         Currently, these are only implemented on the Mac, but we're going to need them for Windows as well, so we might as well make them always platform-specific.
   6434         In this patch, just replicate the existing common non-Mac implementation in WebCoreArgumentCoders.h to platform-specific files.
   6435 
   6436         * Shared/WebCoreArgumentCoders.h: Move non-Mac implementations of encodeResourceError() and decodeResourceError() to common files.
   6437         * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
   6438         (CoreIPC::encodeResourceError): Added.
   6439         (CoreIPC::decodeResourceError): Added.
   6440         * Shared/qt/WebCoreArgumentCodersQt.cpp:
   6441         (CoreIPC::encodeResourceError): Added.
   6442         (CoreIPC::decodeResourceError): Added.
   6443         * Shared/win/WebCoreArgumentCodersWin.cpp:
   6444         (CoreIPC::encodeResourceError): Added.
   6445         (CoreIPC::decodeResourceError): Added.
   6446 
   6447 2011-03-25  Andy Estes  <aestes (a] apple.com>
   6448 
   6449         Reviewed by Adele Peterson.
   6450 
   6451         REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
   6452         https://bugs.webkit.org/show_bug.cgi?id=49016
   6453 
   6454         Update objectContentType() implementation to handle the
   6455         shouldPreferPlugInsForImages flag.
   6456 
   6457         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
   6458         (WebKit::WebFrameLoaderClient::objectContentType):
   6459         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
   6460 
   6461 2011-03-25  Brent Fulgham  <bfulgham (a] webkit.org>
   6462 
   6463         Unreviewed build correction.
   6464 
   6465         Add stubs for WK2 cookie handling with cURL.
   6466 
   6467         * WebProcess/Cookies/curl: Added.
   6468         * WebProcess/Cookies/curl/WebCookieManagerCurl.cpp: Added.
   6469         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
   6470         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
   6471         * win/WebKit2.vcproj:
   6472 
   6473 2011-03-25  Steve Falkenburg  <sfalken (a] apple.com>
   6474 
   6475         Reviewed by Brian Weinstein.
   6476 
   6477         Microsoft Windows Presentation Foundation (WPF) plug-in complains about missing xpcom.dll
   6478         https://bugs.webkit.org/show_bug.cgi?id=57119
   6479         <rdar://problem/9054148>
   6480 
   6481         This plug-in from Microsoft links against xpcom.dll, which is a Firefox-specific DLL
   6482         not available in WebKit. The plug-in is fairly widespread, since it was included in
   6483         a Windows Update push at one point.
   6484 
   6485         * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
   6486         (WebKit::PluginInfoStore::shouldUsePlugin): Blacklist npwpf.dll.
   6487 
   6488 2011-03-25  Jessie Berlin  <jberlin (a] apple.com>
   6489 
   6490         Reviewed by Anders Carlsson.
   6491 
   6492         WebKit2: Need to be able to set and get the Cookie Storage Policy.
   6493         https://bugs.webkit.org/show_bug.cgi?id=50780
   6494 
   6495         Part 2: Make it possible to set the initial policy on Windows.
   6496 
   6497         In WebKit1, we read the initial policy on Windows from WebPreferences at startup.
   6498         Since that is not possible in WebKit2, make it possible to specify the initial policy
   6499         as a creation parameter to the WebProcess.
   6500 
   6501         * Shared/WebProcessCreationParameters.cpp:
   6502         (WebKit::WebProcessCreationParameters::encode):
   6503         Encode initialHTTPCookieAcceptPolicy on Windows.
   6504         (WebKit::WebProcessCreationParameters::decode):
   6505         Decode initialHTTPCookieAcceptPolicy on Windows.
   6506         * Shared/WebProcessCreationParameters.h:
   6507 
   6508         * UIProcess/API/C/win/WKContextPrivateWin.h:
   6509         * UIProcess/API/C/win/WKContextWin.cpp:
   6510         (WKContextSetInitialHTTPCookieAcceptPolicy):
   6511         Call through to WebContext.
   6512 
   6513         * UIProcess/WebContext.cpp:
   6514         (WebKit::WebContext::WebContext):
   6515         Give the initial policy a default of "Always".
   6516         * UIProcess/WebContext.h:
   6517         (WebKit::WebContext::setInitialHTTPCookieAcceptPolicy):
   6518         * UIProcess/win/WebContextWin.cpp:
   6519         (WebKit::WebContext::platformInitializeWebProcess):
   6520         Set the initial policy on Windows.
   6521 
   6522         * WebProcess/Cookies/WebCookieManager.h:
   6523         Make setHTTPCookieAcceptPolicy public so that it can be called from WebProcessWin.
   6524 
   6525         * WebProcess/win/WebProcessWin.cpp:
   6526         (WebKit::WebProcess::platformInitializeWebProcess):
   6527         Tell the WebCookieManager about the initial policy.
   6528 
   6529 2011-03-25  Jessie Berlin  <jberlin (a] apple.com>
   6530 
   6531         Reviewed by Sam Weinig.
   6532 
   6533         WebKit2: Need to be able to set and get the Cookie Storage Policy.
   6534         https://bugs.webkit.org/show_bug.cgi?id=50780
   6535 
   6536         * Shared/HTTPCookieAcceptPolicy.h: Added.
   6537 
   6538         * UIProcess/API/C/WKAPICast.h:
   6539         (WebKit::toHTTPCookieAcceptPolicy):
   6540         (WebKit::toAPI):
   6541 
   6542         * UIProcess/API/C/WKCookieManager.cpp:
   6543         (WKCookieManagerSetHTTPCookieAcceptPolicy):
   6544         Call through to WebCookieManagerProxy.
   6545         (WKCookieManagerGetHTTPCookieAcceptPolicy):
   6546         Ditto.
   6547         * UIProcess/API/C/WKCookieManager.h:
   6548 
   6549         * UIProcess/WebCookieManagerProxy.cpp:
   6550         (WebKit::WebCookieManagerProxy::invalidate):
   6551         Invalidate the get http cookie accept policy callbacks.
   6552         (WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
   6553         Send a message to the Web Process with the new value.
   6554         (WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
   6555         Keep track of the callback and send a message to the Web Process.
   6556         (WebKit::WebCookieManagerProxy::didGetHTTPCookieAcceptPolicy):
   6557         Invoke the callback.
   6558         * UIProcess/mac/WebCookieManagerProxyMac.mm: Added.
   6559         (WebKit::WebCookieManagerProxy::persistHTTPCookieAcceptPolicy):
   6560         On Mac, also set the policy in the UI Process because the sandboxed Web Process cannot
   6561         persist the policy.
   6562         * UIProcess/WebCookieManagerProxy.h:
   6563         * UIProcess/WebCookieManagerProxy.messages.in:
   6564 
   6565         * WebKit2.pri:
   6566         * WebKit2.pro:
   6567         * WebKit2.xcodeproj/project.pbxproj:
   6568         * win/WebKit2.vcproj:
   6569         * win/WebKit2Common.vsprops:
   6570 
   6571         * WebProcess/Cookies/WebCookieManager.cpp:
   6572         (WebKit::WebCookieManager::setHTTPCookieAcceptPolicy):
   6573         Call platformSetHTTPCookieAcceptPolicy.
   6574         (WebKit::WebCookieManager::getHTTPCookieAcceptPolicy):
   6575         Send the result of platformGetHTTPCookieAcceptPolicy to the UI Process.
   6576         * WebProcess/Cookies/WebCookieManager.h:
   6577         * WebProcess/Cookies/WebCookieManager.messages.in:
   6578 
   6579         * WebProcess/Cookies/cf: Added.
   6580         * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp: Added.
   6581         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
   6582         Set the policy on both the default cookie storage and any Private Browsing cookie storage.
   6583         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
   6584         * WebProcess/Cookies/mac: Added.
   6585         * WebProcess/Cookies/mac/WebCookieManagerMac.mm: Added.
   6586         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
   6587         Set the policy on the default cookie storage and add a FIXME to set it on any Private
   6588         Browsing cookie storage.
   6589         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
   6590 
   6591         * WebProcess/Cookies/gtk: Added.
   6592         * WebProcess/Cookies/gtk/WebCookieManagerGtk.cpp: Added.
   6593         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
   6594         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
   6595         * WebProcess/Cookies/qt: Added.
   6596         * WebProcess/Cookies/qt/WebCookieManagerQt.cpp: Added.
   6597         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
   6598         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
   6599 
   6600 2011-03-25  Brian Weinstein  <bweinstein (a] apple.com>
   6601 
   6602         Reviewed by Alexey Proskuryakov.
   6603 
   6604         REGRESSION(r79227): CFURLCache not initialized correctly in WebKit2
   6605         https://bugs.webkit.org/show_bug.cgi?id=57109
   6606         <rdar://problem/9184590>
   6607         
   6608         Check for a trailing Windows path separator, not a Unix path separator.
   6609 
   6610         * UIProcess/win/WebContextWin.cpp:
   6611         (WebKit::WebContext::platformInitializeWebProcess):
   6612 
   6613 2011-03-25  Benjamin Poulain  <benjamin.poulain (a] nokia.com>
   6614 
   6615         Reviewed by Andreas Kling.
   6616 
   6617         [Qt] QtWebKit will not compile with QT_ASCII_CAST_WARNINGS enabled
   6618         https://bugs.webkit.org/show_bug.cgi?id=57087
   6619 
   6620         Use explicit conversion for string to avoid depending on the default codec
   6621         installed by the user code.
   6622 
   6623         * Platform/qt/SharedMemoryQt.cpp:
   6624         (WebKit::SharedMemory::create):
   6625         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
   6626         (WebKit::initializeGTK):
   6627         * UIProcess/API/qt/tests/qgraphicswkview/tst_qgraphicswkview.cpp:
   6628         (tst_QGraphicsWKView::loadEmptyPage):
   6629         (tst_QGraphicsWKView::loadEmptyUrl):
   6630         * UIProcess/API/qt/tests/qwkpage/tst_qwkpage.cpp:
   6631         (tst_QWKPage::loadEmptyUrl):
   6632         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
   6633         (WebKit::ProcessLauncher::launchProcess):
   6634         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
   6635         (WebKit::getPluginDisplay):
   6636         * WebProcess/qt/WebProcessMainQt.cpp:
   6637         (WebKit::EnvHttpProxyFactory::initializeFromEnvironment):
   6638         (WebKit::WebProcessMainQt):
   6639 
   6640 2011-03-25  Brent Fulgham  <bfulgham (a] webkit.org>
   6641 
   6642         Correct project file missing $(WebKitVSPropsRedirectionDir)s
   6643         after r81924.
   6644 
   6645         * win/WebKit2.vcproj: Restore lost $(WebKitVSPropsRedirectionDir)
   6646 
   6647 2011-03-25  Alejandro G. Castro  <alex (a] igalia.com>
   6648 
   6649         Reviewed by Martin Robinson.
   6650 
   6651         [WK2] Consider .c files in the generate-forwarding-headers script
   6652         https://bugs.webkit.org/show_bug.cgi?id=56680
   6653 
   6654         * Scripts/generate-forwarding-headers.pl:
   6655 
   6656 2011-03-24  Sheriff Bot  <webkit.review.bot (a] gmail.com>
   6657 
   6658         Unreviewed, rolling out r81916 and r81917.
   6659         http://trac.webkit.org/changeset/81916
   6660         http://trac.webkit.org/changeset/81917
   6661         https://bugs.webkit.org/show_bug.cgi?id=57071
   6662 
   6663         broke a test on platforms that do not have QuickTime installed
   6664         (Requested by estes on #webkit).
   6665 
   6666         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
   6667         (WebKit::WebFrameLoaderClient::objectContentType):
   6668         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
   6669 
   6670 2011-03-24  Brady Eidson  <beidson (a] apple.com>
   6671 
   6672         Reviewed by Darin Adler.
   6673 
   6674         https://bugs.webkit.org/show_bug.cgi?id=57069
   6675         Add WKIconDatabase api to the project files, and expose accessor on WKContext.
   6676 
   6677         Project file stuffs:
   6678         * GNUmakefile.am:
   6679         * WebKit2.xcodeproj/project.pbxproj:
   6680         * win/WebKit2.vcproj:
   6681 
   6682         * Shared/API/c/WKBase.h:
   6683         * UIProcess/API/C/WKAPICast.h:
   6684 
   6685         * UIProcess/API/C/WKContext.cpp:
   6686         (WKContextGetIconDatabase):
   6687         * UIProcess/API/C/WKContext.h:
   6688 
   6689         * UIProcess/API/C/WKIconDatabase.cpp: Added.
   6690         (WKIconDatabaseGetTypeID):
   6691         * UIProcess/API/C/WKIconDatabase.h: Added.
   6692 
   6693         * UIProcess/WebContext.h:
   6694         (WebKit::WebContext::iconDatabase):
   6695 
   6696 2011-03-24  Brent Fulgham  <bfulgham (a] webkit.org>
   6697 
   6698         Build correction.
   6699 
   6700         Disable the CA Layer stuff when building with Cairo.
   6701 
   6702         * win/WebKit2.vcproj:
   6703 
   6704 2011-03-24  Brady Eidson  <beidson (a] apple.com>
   6705 
   6706         Reviewed by Sam Weinig.
   6707 
   6708         https://bugs.webkit.org/show_bug.cgi?id=57058
   6709         Hookup the UIProcess WebIconDatabase to a WebCore::IconDatabase as its implementation
   6710 
   6711         * UIProcess/WebIconDatabase.cpp:
   6712         (WebKit::WebIconDatabase::WebIconDatabase):
   6713         (WebKit::WebIconDatabase::setDatabasePath): Create a new WebCore::IconDatabase and open it to this path.
   6714         (WebKit::WebIconDatabase::retainIconForPageURL): Actually retain the url, using the impl.
   6715         (WebKit::WebIconDatabase::releaseIconForPageURL): Actually release the url, using the impl.
   6716         (WebKit::WebIconDatabase::setIconURLForPageURL): Actually set the url, using the impl.
   6717         (WebKit::WebIconDatabase::setIconDataForIconURL): Actually set the data, using the impl.
   6718         (WebKit::WebIconDatabase::getLoadDecisionForIconURL): Actually ask for a load decision to call back with.
   6719         (WebKit::WebIconDatabase::performImport):
   6720         (WebKit::WebIconDatabase::didImportIconURLForPageURL):
   6721         (WebKit::WebIconDatabase::didImportIconDataForPageURL):
   6722         (WebKit::WebIconDatabase::didChangeIconForPageURL):
   6723         (WebKit::WebIconDatabase::didRemoveAllIcons):
   6724         (WebKit::WebIconDatabase::didFinishURLImport): Notify all the pending callbacks what their load decisions
   6725           are now that they're available.
   6726         * UIProcess/WebIconDatabase.h:
   6727 
   6728         Add an IconDatabase logging channel:
   6729         * Platform/Logging.cpp:
   6730         (WebKit::initializeLogChannelsIfNecessary):
   6731         * Platform/Logging.h:
   6732 
   6733         * UIProcess/WebContext.cpp:
   6734         (WebKit::WebContext::setIconDatabasePath): Pass the new path on to the WebIconDatabase, possibly
   6735           opening it.
   6736         * UIProcess/WebContext.h:
   6737 
   6738 2011-03-24  Andy Estes  <aestes (a] apple.com>
   6739 
   6740         Reviewed by Darin Adler.
   6741 
   6742         REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
   6743         https://bugs.webkit.org/show_bug.cgi?id=49016
   6744 
   6745         Update objectContentType() implementation to handle the
   6746         shouldPreferPlugInsForImages flag.
   6747 
   6748         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
   6749         (WebKit::WebFrameLoaderClient::objectContentType):
   6750         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
   6751 
   6752 2011-03-24  Adam Roben  <aroben (a] apple.com>
   6753 
   6754         Start compiling LayerTreeHostCA on Windows
   6755 
   6756         Fixes <http://webkit.org/b/57060> WebKit2.vcproj should compile LayerTreeHostCA
   6757 
   6758         Reviewed by Anders Carlsson.
   6759 
   6760         * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp: Added.
   6761         (WebKit::LayerTreeHostCA::platformInitialize):
   6762         (WebKit::LayerTreeHostCA::scheduleLayerFlush):
   6763         (WebKit::LayerTreeHostCA::platformInvalidate):
   6764         (WebKit::LayerTreeHostCA::platformSizeDidChange):
   6765         (WebKit::LayerTreeHostCA::platformForceRepaint):
   6766         (WebKit::LayerTreeHostCA::platformDidPerformScheduledLayerFlush):
   6767         Stubbed out.
   6768 
   6769         * win/WebKit2.vcproj: Added new files. Let VS reorder existing files.
   6770 
   6771         * win/WebKit2Apple.vsprops: Added WebProcess\WebPage\ca to the include path.
   6772 
   6773 2011-03-24  Jer Noble  <jer.noble (a] apple.com>
   6774 
   6775         Unreviewed build fix.
   6776 
   6777         Remove reference to LayerTreeHostMac.h from WebFullScreenManagerMac.mm.
   6778 
   6779         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
   6780 
   6781 2011-03-24  Adam Roben  <aroben (a] apple.com>
   6782 
   6783         Split Mac-specific parts of LayerTreeHostCA into LayerTreeHostCAMac.mm
   6784 
   6785         Fixes <http://webkit.org/b/57046> LayerTreeHostMac's code should be shareable with Windows
   6786 
   6787         Reviewed by Anders Carlsson.
   6788 
   6789         * WebKit2.xcodeproj/project.pbxproj:
   6790 
   6791         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/ca/LayerTreeHostCA.mm.
   6792         (WebKit::LayerTreeHostCA::LayerTreeHostCA): Moved some Mac-specific code to
   6793         LayerTreeHostCAMac.mm.
   6794         (WebKit::LayerTreeHostCA::~LayerTreeHostCA): Wrapped some Mac-specific code in
   6795         PLATFORM(MAC).
   6796 
   6797         (WebKit::LayerTreeHostCA::invalidate):
   6798         (WebKit::LayerTreeHostCA::sizeDidChange):
   6799         (WebKit::LayerTreeHostCA::forceRepaint):
   6800         Moved some Mac-specific code to LayerTreeHostCAMac.mm.
   6801 
   6802         (WebKit::LayerTreeHostCA::performScheduledLayerFlush): Renamed from
   6803         flushPendingLayerChangesRunLoopObserverCallback. Moved some code from here...
   6804         (WebKit::LayerTreeHostCA::didPerformScheduledLayerFlush): ...to here. Moved some
   6805         Mac-specific code to LayerTreeHostCAMac.mm.
   6806 
   6807         * WebProcess/WebPage/ca/LayerTreeHostCA.h: Added new functions, wrapped some Mac-specific
   6808         declarations in PLATFORM(MAC).
   6809 
   6810         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm: Added.
   6811         (WebKit::LayerTreeHostCA::platformInitialize):
   6812         (WebKit::LayerTreeHostCA::scheduleLayerFlush):
   6813         (WebKit::LayerTreeHostCA::platformInvalidate):
   6814         (WebKit::LayerTreeHostCA::platformSizeDidChange):
   6815         (WebKit::LayerTreeHostCA::platformForceRepaint):
   6816         (WebKit::LayerTreeHostCA::flushPendingLayerChangesRunLoopObserverCallback):
   6817         (WebKit::LayerTreeHostCA::platformDidPerformScheduledLayerFlush):
   6818         Code was extracted from LayerTreeHostCA.cpp.
   6819 
   6820 2011-03-24  Adam Roben  <aroben (a] apple.com>
   6821 
   6822         Rename LayerTreeHostMac to LayerTreeHostCA
   6823 
   6824         This is the first step toward sharing code with Windows.
   6825 
   6826         Fixes <http://webkit.org/b/57051>.
   6827 
   6828         Reviewed by Anders Carlsson.
   6829 
   6830         * WebKit2.xcodeproj/project.pbxproj:
   6831         * WebProcess/WebPage/LayerTreeHost.cpp:
   6832         (WebKit::LayerTreeHost::create):
   6833         Updated for rename.
   6834 
   6835         * WebProcess/WebPage/ca/LayerTreeHostCA.h: Renamed from Source/WebKit2/WebProcess/WebPage/mac/LayerTreeHostMac.h.
   6836         * WebProcess/WebPage/ca/LayerTreeHostCA.mm: Renamed from Source/WebKit2/WebProcess/WebPage/mac/LayerTreeHostMac.mm.
   6837 
   6838 2011-03-17  Jer Noble  <jer.noble (a] apple.com>
   6839 
   6840         Reviewed by Maciej Stachowiak.
   6841 
   6842         WebKit2: Cancelling full screen early leaves full screen window up.
   6843         https://bugs.webkit.org/show_bug.cgi?id=56589
   6844 
   6845         No new tests, as WebKitTestRunner does not currently support the new Full Screen API.
   6846 
   6847         Notify the UIProcess when it needs to tear down its layer hosting view, turn off
   6848         the background layer when not in accelerated rendering mode and don't swap out 
   6849         the web view unnecessarily 
   6850 
   6851         * UIProcess/mac/WKFullScreenWindowController.mm:
   6852         (-[WKFullScreenWindowController beganExitFullScreenAnimation]): Check before swapping _webView.
   6853         (-[WKFullScreenWindowController enterAcceleratedCompositingMode:]): Add the _layerHostingView
   6854             to the full screen window's animationView, not its contentsView.
   6855         (-[WKFullScreenWindowController exitAcceleratedCompositingMode]): Hide the background layer.
   6856         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
   6857         (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer): If given a null rootLayer, tell
   6858             the client to exit accelerated mode.
   6859 
   6860 2011-03-24  Enrica Casucci  <enrica (a] apple.com>
   6861 
   6862         Reviewed by Alexey Proskuryakov.
   6863 
   6864         WebKit2:Services menu item to convert selected Simplified/Traditional Chinese Text is not working.
   6865         https://bugs.webkit.org/show_bug.cgi?id=56975
   6866         <rdar://problem/8915066>
   6867         
   6868         Adding missing entry point to support Mac OS X services in WebKit2.
   6869 
   6870         * UIProcess/API/mac/WKView.mm:
   6871         (-[WKView readSelectionFromPasteboard:]): Added.
   6872         * UIProcess/WebPageProxy.h:
   6873         * UIProcess/mac/WebPageProxyMac.mm:
   6874         (WebKit::WebPageProxy::readSelectionFromPasteboard): Added.
   6875         * WebProcess/WebPage/WebPage.h:
   6876         * WebProcess/WebPage/WebPage.messages.in: Added synchronous
   6877         message.
   6878         * WebProcess/WebPage/mac/WebPageMac.mm:
   6879         (WebKit::WebPage::readSelectionFromPasteboard): Added.
   6880 
   6881 2011-03-24  Jia Pu  <jpu (a] apple.com>
   6882 
   6883         Reviewed by Darin Adler.
   6884 
   6885         Dismissed reversion suggestion is incorrectly learned.
   6886         https://bugs.webkit.org/show_bug.cgi?id=57039
   6887 
   6888         CorrectionPanel should always use [NSSpellChecker dismissCorrectionBubbleForView].
   6889         [NSSpellChecker cancelCorrectionBubbleForView] is reserved for situation where correction panel
   6890         is dismissed explicitly by ESC key or clicking the dimiss button. Misusing these causes
   6891         incorrect automatic learning.
   6892 
   6893         * UIProcess/mac/CorrectionPanel.mm:
   6894         (WebKit::CorrectionPanel::dismissInternal):
   6895 
   6896 2011-03-24  Brian Weinstein  <bweinstein (a] apple.com>
   6897 
   6898         Reviewed by Adam Roben.
   6899 
   6900         WebKit2: Add Trackpoint driver hack to support IBM trackpads
   6901         https://bugs.webkit.org/show_bug.cgi?id=49830
   6902         <rdar://problem/8705951>
   6903 
   6904         Copy code from WebKit1 to WebKit2 to handle initializing fake scrollbars so 
   6905         IBM machines with a trackpad send us WM_VSCROLL and WM_HSCROLL messages.
   6906 
   6907         Listen for the WM_VSCROLL and WM_HSCROLL messages, and turn the values into
   6908         ScrollDirection and ScrollGranularity, and send a scroll command to the
   6909         WebProcess.
   6910 
   6911         * UIProcess/WebPageProxy.cpp:
   6912         (WebKit::WebPageProxy::scrollBy): Send a message to the WebProcess.
   6913         * UIProcess/WebPageProxy.h:
   6914         * UIProcess/win/WebView.cpp:
   6915         (WebKit::WebView::wndProc): Add WM_VSCROLL and WM_HSCROLL message handling.
   6916         (WebKit::WebView::initialize): Call shouldInitializeTrackPointHack.
   6917         (WebKit::WebView::onHorizontalScroll): Turn wParam into a ScrollDirection and ScrollGranularity. 
   6918         (WebKit::WebView::onVerticalScroll): Ditto.
   6919         (WebKit::WebView::shouldInitializeTrackPointHack): Check the registry for keys that indicate
   6920             the machine has a IBM Trackpoint driver.
   6921         * UIProcess/win/WebView.h:
   6922         * WebProcess/WebPage/WebPage.cpp:
   6923         (WebKit::WebPage::scrollBy): Call scroll method.
   6924         (WebKit::WebPage::scroll): Moved from WebPageMac and WebPageWin.
   6925         (WebKit::WebPage::logicalScroll): Ditto.
   6926         * WebProcess/WebPage/WebPage.h:
   6927         * WebProcess/WebPage/WebPage.messages.in: Add a new scrollBy message. 
   6928         * WebProcess/WebPage/mac/WebPageMac.mm: Remove scroll and logicalScroll, they are now in WebPage.cpp.
   6929         * WebProcess/WebPage/win/WebPageWin.cpp: Ditto.
   6930 
   6931 2011-03-24  Sam Weinig  <sam (a] webkit.org>
   6932 
   6933         Reviewed by Darin Adler.
   6934 
   6935         Dictionary text extraction is not correctly detecting word boundaries on bing.com
   6936         <rdar://problem/9078569>
   6937         https://bugs.webkit.org/show_bug.cgi?id=56995
   6938 
   6939         * Shared/DictionaryPopupInfo.cpp:
   6940         (WebKit::DictionaryPopupInfo::encode):
   6941         (WebKit::DictionaryPopupInfo::decode):
   6942         * Shared/DictionaryPopupInfo.h:
   6943         Add options dictionary.
   6944 
   6945         * UIProcess/API/mac/PageClientImpl.mm:
   6946         (WebKit::PageClientImpl::didPerformDictionaryLookup):
   6947         Add path that can pass options through.
   6948 
   6949         * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
   6950         (WebKit::WebContextMenuClient::lookUpInDictionary):
   6951         Use the new performDictionaryLookupForSelection which can extract context
   6952         if supported.
   6953 
   6954         * WebProcess/WebPage/WebPage.h:
   6955         * WebProcess/WebPage/mac/WebPageMac.mm:
   6956         (WebKit::characterRangeAtPositionForPoint):
   6957         (WebKit::characterRangeAtPoint):
   6958         Split functionality out of characterRangeAtPoint and into 
   6959         characterRangeAtPositionForPoint to avoid doing duplicate work 
   6960         if you already have the position.
   6961 
   6962         (WebKit::isPositionInRange):
   6963         (WebKit::shouldUseSelection):
   6964         Add predicate to determine if we should use the selection instead
   6965         of expanding to find the word we are over.
   6966 
   6967         (WebKit::WebPage::performDictionaryLookupAtLocation):
   6968         If available, use the surrounding paragraph as context to get better extraction
   6969         and to get lexicographical information about the word. Also, clean up and use 
   6970         editing APIs to make the code more concise and understandable.
   6971 
   6972         (WebKit::WebPage::performDictionaryLookupForSelection):
   6973         Use similar logic as in performDictionaryLookupAtLocation to extract additional
   6974         details from a selection for use in the dictionary popup.
   6975 
   6976         (WebKit::WebPage::performDictionaryLookupForRange):
   6977         Pass options to WebProcess if available.
   6978 
   6979 2011-03-24  Jon Lee  <jonlee (a] apple.com>
   6980 
   6981         Reviewed by Darin Adler.
   6982 
   6983         WebKit2: Tabbing from the last focused field to a non-webpage element leaves the selection in a weird state
   6984         <rdar://problem/8553962>
   6985 
   6986         * WebProcess/WebPage/WebPage.cpp:
   6987         (WebKit::WebPage::setFocused): When the page loses focus, clear out any selection in the frame
   6988 
   6989 2011-03-24  Brian Weinstein  <bweinstein (a] apple.com>
   6990 
   6991         Rubber-stamped by Sam Weinig.
   6992 
   6993         Fix a typo in the VK_LEFT case of performDefaultBehaviorForKeyEvent.
   6994 
   6995         * WebProcess/WebPage/mac/WebPageMac.mm:
   6996         (WebKit::WebPage::performDefaultBehaviorForKeyEvent): It should be a logical or,
   6997             not a bitwise or.
   6998 
   6999 2011-03-24  Jeff Miller  <jeffm (a] apple.com>
   7000 
   7001         Fix typo - USE(CF_NETWORK) should be USE(CFNETWORK).
   7002 
   7003         * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
   7004         (WebKit::InjectedBundle::setHostAllowsAnyHTTPSCertificate): USE(CF_NETWORK) should be USE(CFNETWORK)
   7005 
   7006 2011-03-23  Jia Pu  <jpu (a] apple.com>
   7007 
   7008         Reviewed by Darin Adler.
   7009 
   7010         Hook up new AppKit autocorrection UI with WK2.
   7011         https://bugs.webkit.org/show_bug.cgi?id=56055
   7012         <rdar://problem/8947463>
   7013 
   7014         Please see WebCore/ChangeLog for detail.
   7015 
   7016         The calls to AppKit are implemented in PageClientImpl. Other changes are necessary for the
   7017         plumbing work.
   7018 
   7019         * UIProcess/API/mac/PageClientImpl.h:
   7020         * UIProcess/API/mac/PageClientImpl.mm:
   7021         (WebKit::PageClientImpl::showCorrectionPanel):
   7022         (WebKit::PageClientImpl::dismissCorrectionPanel):
   7023         (WebKit::PageClientImpl::dismissCorrectionPanelSoon):
   7024         (WebKit::PageClientImpl::recordAutocorrectionResponse):
   7025         * UIProcess/API/mac/WKView.mm:
   7026         (-[WKView spellCheckerDocumentTag]):
   7027         (-[WKView handleCorrectionPanelResult:]):
   7028         * UIProcess/API/mac/WKViewPrivate.h:
   7029         * UIProcess/PageClient.h:
   7030         * UIProcess/WebPageProxy.cpp:
   7031         (WebKit::WebPageProxy::didCommitLoadForFrame):
   7032         (WebKit::WebPageProxy::showCorrectionPanel):
   7033         (WebKit::WebPageProxy::dismissCorrectionPanel):
   7034         (WebKit::WebPageProxy::dismissCorrectionPanelSoon):
   7035         (WebKit::WebPageProxy::recordAutocorrectionResponse):
   7036         (WebKit::WebPageProxy::handleCorrectionPanelResult):
   7037         * UIProcess/WebPageProxy.h:
   7038         * UIProcess/WebPageProxy.messages.in:
   7039         * UIProcess/mac/CorrectionPanel.h: Added.
   7040         (WebKit::CorrectionPanel::isShowing):
   7041         * UIProcess/mac/CorrectionPanel.mm: Added.
   7042         (correctionBubbleType):
   7043         (WebKit::CorrectionPanel::CorrectionPanel):
   7044         (WebKit::CorrectionPanel::~CorrectionPanel):
   7045         (WebKit::CorrectionPanel::show):
   7046         (WebKit::CorrectionPanel::dismiss):
   7047         (WebKit::CorrectionPanel::dismissSoon):
   7048         (WebKit::CorrectionPanel::dismissInternal):
   7049         (WebKit::CorrectionPanel::recordAutocorrectionResponse):
   7050         * WebKit2.xcodeproj/project.pbxproj:
   7051         * WebProcess/WebCoreSupport/WebEditorClient.h:
   7052         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
   7053         (WebKit::WebEditorClient::showCorrectionPanel):
   7054         (WebKit::WebEditorClient::dismissCorrectionPanel):
   7055         (WebKit::WebEditorClient::dismissCorrectionPanelSoon):
   7056         (WebKit::WebEditorClient::recordAutocorrectionResponse):
   7057         * WebProcess/WebPage/WebPage.cpp:
   7058         (WebKit::WebPage::handleCorrectionPanelResult):
   7059         * WebProcess/WebPage/WebPage.h:
   7060         * WebProcess/WebPage/WebPage.messages.in:
   7061 
   7062 2011-03-23  Brian Weinstein  <bweinstein (a] apple.com>
   7063 
   7064         Reviewed by Maciej Stachowiak.
   7065 
   7066         WebKit2: Need API to manage the Media Cache
   7067         https://bugs.webkit.org/show_bug.cgi?id=56878
   7068         <rdar://problem/9082503>
   7069 
   7070         Call through to HTMLMediaElement functions to manage the WebCore media cache.
   7071 
   7072         * WebProcess/MediaCache/WebMediaCacheManager.cpp:
   7073         (WebKit::WebMediaCacheManager::getHostnamesWithMediaCache):
   7074         (WebKit::WebMediaCacheManager::clearCacheForHostname):
   7075         (WebKit::WebMediaCacheManager::clearCacheForAllHostnames):
   7076 
   7077 2011-03-23  Jeff Miller  <jeffm (a] apple.com>
   7078 
   7079         Reviewed by Darin Adler.
   7080 
   7081         Add WKBundleSetHostAllowsAnyHTTPSCertificate() for Windows
   7082         https://bugs.webkit.org/show_bug.cgi?id=56972
   7083         
   7084         This is the WebKit2 equivalent to the WebKit1 API IWebMutableURLRequest::setAllowsAnyHTTPSCertificate().
   7085 
   7086         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
   7087         (WKBundleSetHostAllowsAnyHTTPSCertificate): Added.
   7088         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Added WKBundleSetHostAllowsAnyHTTPSCertificate().
   7089         * WebProcess/InjectedBundle/InjectedBundle.h: Added setHostAllowsAnyHTTPSCertificate().
   7090         * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
   7091         (WebKit::InjectedBundle::setHostAllowsAnyHTTPSCertificate): Added, should never be called.
   7092         * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
   7093         (WebKit::InjectedBundle::setHostAllowsAnyHTTPSCertificate): Added, should never be called.
   7094         * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
   7095         (WebKit::InjectedBundle::setHostAllowsAnyHTTPSCertificate): Added, should never be called.
   7096         * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
   7097         (WebKit::InjectedBundle::setHostAllowsAnyHTTPSCertificate): Added.
   7098 
   7099 2011-03-23  Sam Weinig  <sam (a] webkit.org>
   7100 
   7101         Reviewed by Anders Carlsson.
   7102 
   7103         Roll out r81593 Need WebKit2 API for creating a page with a specific main frame name
   7104 
   7105         This API is not necessary.
   7106 
   7107         * Shared/WebPageCreationParameters.cpp:
   7108         (WebKit::WebPageCreationParameters::encode):
   7109         (WebKit::WebPageCreationParameters::decode):
   7110         * Shared/WebPageCreationParameters.h:
   7111         * UIProcess/API/mac/WKView.h:
   7112         * UIProcess/API/mac/WKView.mm:
   7113         (-[WKView initWithFrame:]):
   7114         (-[WKView initWithFrame:contextRef:]):
   7115         (-[WKView initWithFrame:contextRef:pageGroupRef:]):
   7116         * UIProcess/WebPageProxy.cpp:
   7117         (WebKit::WebPageProxy::creationParameters):
   7118         * UIProcess/WebPageProxy.h:
   7119         * WebProcess/WebPage/WebFrame.cpp:
   7120         (WebKit::WebFrame::createMainFrame):
   7121         * WebProcess/WebPage/WebFrame.h:
   7122         * WebProcess/WebPage/WebPage.cpp:
   7123         (WebKit::WebPage::WebPage):
   7124 
   7125 2011-03-23  Balazs Kelemen  <kbalazs (a] webkit.org>
   7126 
   7127         Reviewed by Andreas Kling.
   7128 
   7129         [WK2] Handle keyboard and mouse events on X11
   7130         https://bugs.webkit.org/show_bug.cgi?id=56103
   7131 
   7132         Propagate keyboard and mouse events to the plugin
   7133         as XEvent's.
   7134 
   7135         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
   7136         (WebKit::initializeXEvent):
   7137         (WebKit::xTimeStamp):
   7138         (WebKit::xKeyModifiers):
   7139         (WebKit::setCommonMouseEventFields):
   7140         (WebKit::setXMotionEventFields):
   7141         (WebKit::setXButtonEventFields):
   7142         (WebKit::setXCrossingEventFields):
   7143         (WebKit::NetscapePlugin::platformHandleMouseEvent):
   7144         (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
   7145         (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
   7146         (WebKit::setXKeyEventFields):
   7147         (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
   7148 
   7149 2011-03-23  Anders Carlsson  <andersca (a] apple.com>
   7150 
   7151         Reviewed by Sam Weinig.
   7152 
   7153         Connection::SyncMessageState::processIncomingMessage should ignore whether the message is sync or not
   7154         https://bugs.webkit.org/show_bug.cgi?id=56954
   7155 
   7156         This is so we'll eventually be able to send sync messages that aren't processed immediately if the 
   7157         destination is waiting for a reply to another synchronous message.
   7158 
   7159         * Platform/CoreIPC/Connection.cpp:
   7160         (CoreIPC::Connection::SyncMessageState::processIncomingMessage):
   7161         Only check for the DispatchMessageWhenWaitingForSyncReply flag.
   7162 
   7163         (CoreIPC::Connection::sendSyncMessage):
   7164         Add both DispatchMessageWhenWaitingForSyncReply and SyncMessage to the message ID.
   7165 
   7166         * Platform/CoreIPC/Connection.h:
   7167         (CoreIPC::Connection::sendSync):        
   7168         (CoreIPC::Connection::deprecatedSendSync):
   7169         No need to add SyncMessage here anymore.
   7170 
   7171 2011-03-23  Brian Weinstein  <bweinstein (a] apple.com>
   7172 
   7173         Qt Build Fix.
   7174 
   7175         * DerivedSources.pro:
   7176 
   7177 2011-03-22  Brian Weinstein  <bweinstein (a] apple.com>
   7178 
   7179         Reviewed by Darin Adler.
   7180 
   7181         WebKit2: Need API to manage the Media Cache
   7182         https://bugs.webkit.org/show_bug.cgi?id=56878
   7183         <rdar://problem/9082503>
   7184 
   7185         Project File Fun:
   7186         * GNUmakefile.am:
   7187         * WebKit2.pri:
   7188         * WebKit2.pro:
   7189         * WebKit2.xcodeproj/project.pbxproj:
   7190         * win/WebKit2.vcproj:
   7191         * win/WebKit2Common.vsprops:
   7192         * win/WebKit2Generated.make:
   7193         
   7194         Derived Sources and API fun:
   7195         * DerivedSources.make:
   7196         * DerivedSources.pro:
   7197         * Platform/CoreIPC/MessageID.h:
   7198         * Shared/API/c/WKBase.h:
   7199         * Shared/APIObject.h:
   7200         * UIProcess/API/C/WKAPICast.h:
   7201         
   7202         * UIProcess/WebProcessProxy.cpp:
   7203         (WebKit::WebProcessProxy::didReceiveMessage): Add a case for MediaCache messages.
   7204         * WebProcess/WebProcess.cpp:
   7205         (WebKit::WebProcess::didReceiveMessage): Ditto.
   7206         
   7207         * UIProcess/WebContext.cpp:
   7208         (WebKit::WebContext::WebContext): Initialize the WebMediaCacheManagerProxy member variable.
   7209         (WebKit::WebContext::~WebContext): Invalidate the WebMediaCacheManagerProxy.
   7210         (WebKit::WebContext::disconnectProcess): Ditto.
   7211         (WebKit::WebContext::didReceiveMessage): Add a case for MediaCache messages.
   7212         * UIProcess/WebContext.h:
   7213         (WebKit::WebContext::mediaCacheManagerProxy):
   7214 
   7215         * UIProcess/API/C/WKContext.cpp:
   7216         (WKContextGetMediaCacheManager): Returns the context's WebMediaCacheManager.
   7217         * UIProcess/API/C/WKContext.h:
   7218 
   7219         * UIProcess/API/C/WKMediaCacheManager.cpp: Added.
   7220         (WKMediaCacheManagerGetTypeID): Returns the WebMediaCacheManagerProxy type.
   7221         (WKMediaCacheManagerGetHostnamesWithMediaCache): Calls down to the WebMediaCacheManagerProxy.
   7222         (WKMediaCacheManagerClearCacheForHostname): Ditto.
   7223         (WKMediaCacheManagerClearCacheForAllHostnames): Ditto.
   7224         * UIProcess/API/C/WKMediaCacheManager.h: Added.
   7225 
   7226         * UIProcess/WebMediaCacheManagerProxy.cpp: Added.
   7227         (WebKit::WebMediaCacheManagerProxy::create):
   7228         (WebKit::WebMediaCacheManagerProxy::WebMediaCacheManagerProxy):
   7229         (WebKit::WebMediaCacheManagerProxy::~WebMediaCacheManagerProxy):
   7230         (WebKit::WebMediaCacheManagerProxy::invalidate):
   7231         (WebKit::WebMediaCacheManagerProxy::didReceiveMessage):
   7232         (WebKit::WebMediaCacheManagerProxy::getHostnamesWithMediaCache): Call through to the WebProcess.
   7233         (WebKit::WebMediaCacheManagerProxy::didGetHostnamesWithMediaCache): Process the WebProcess response,
   7234             and call the callback.
   7235         (WebKit::WebMediaCacheManagerProxy::clearCacheForHostname): Call through to the WebProcess.
   7236         (WebKit::WebMediaCacheManagerProxy::clearCacheForAllHostnames): Call through to the WebProcess.
   7237         * UIProcess/WebMediaCacheManagerProxy.h: Added.
   7238         (WebKit::WebMediaCacheManagerProxy::clearContext):
   7239         (WebKit::WebMediaCacheManagerProxy::type):
   7240         * UIProcess/WebMediaCacheManagerProxy.messages.in: Added.
   7241 
   7242         * WebProcess/MediaCache: Added.
   7243         * WebProcess/MediaCache/WebMediaCacheManager.cpp: Added.
   7244         (WebKit::WebMediaCacheManager::shared):
   7245         (WebKit::WebMediaCacheManager::WebMediaCacheManager):
   7246         (WebKit::WebMediaCacheManager::didReceiveMessage):
   7247         (WebKit::WebMediaCacheManager::getHostnamesWithMediaCache): Added a FIXME to call through to WebCore.
   7248         (WebKit::WebMediaCacheManager::clearCacheForHostname): Ditto.
   7249         (WebKit::WebMediaCacheManager::clearCacheForAllHostnames): Ditto.
   7250         * WebProcess/MediaCache/WebMediaCacheManager.h: Added.
   7251         * WebProcess/MediaCache/WebMediaCacheManager.messages.in: Added.
   7252 
   7253 2011-03-22  Brady Eidson  <beidson (a] apple.com>
   7254 
   7255         Reviewed by Sam Weinig.
   7256 
   7257         Add asynchronous load decision call to WebKit2 IconDatabase
   7258         https://bugs.webkit.org/show_bug.cgi?id=56887
   7259 
   7260         * UIProcess/WebIconDatabase.cpp:
   7261         (WebKit::WebIconDatabase::getLoadDecisionForIconURL): In the future, get the actual load decision from the database.
   7262           For now, always message "IconLoadNo" back to the WebProcess.
   7263         * UIProcess/WebIconDatabase.h:
   7264         * UIProcess/WebIconDatabase.messages.in:
   7265         
   7266         * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
   7267         (WebKit::WebIconDatabaseProxy::loadDecisionForIconURL): Message the UIProcess for the load decision.
   7268         (WebKit::WebIconDatabaseProxy::receivedIconLoadDecision): Callback into WebCore with the received load decision.
   7269         * WebProcess/IconDatabase/WebIconDatabaseProxy.h:
   7270         * WebProcess/IconDatabase/WebIconDatabaseProxy.messages.in:
   7271 
   7272 2011-03-23  Chris Fleizach  <cfleizach (a] apple.com>
   7273 
   7274         Reviewed by Darin Adler.
   7275 
   7276         REGRESSION: WK2: AX: PDF in Safari no longer accessible.
   7277         https://bugs.webkit.org/show_bug.cgi?id=56849
   7278 
   7279         The WKView needs to know when to return the WKPDFView and when to return
   7280         the remote web process connection.
   7281 
   7282         * UIProcess/API/mac/PDFViewController.h:
   7283         (WebKit::PDFViewController::pdfView):
   7284         * UIProcess/API/mac/WKView.mm:
   7285         (-[WKView accessibilityFocusedUIElement]):
   7286         (-[WKView accessibilityHitTest:]):
   7287         (-[WKView accessibilityAttributeValue:]):
   7288 
   7289 2011-03-21  Stephanie Lewis  <slewis (a] apple.com>
   7290 
   7291         Reviewed by Simon Fraser.
   7292 
   7293         https://bugs.webkit.org/show_bug.cgi?id=56798
   7294         Wrap autorelease pools around calls that can have pathological memory growth on Membuster.  
   7295         Only wrap the main runloop because some background threads are not expected to call into 
   7296         objc and an autorelease pool could mask bugs.
   7297 
   7298         * Platform/mac/RunLoopMac.mm:
   7299         (RunLoop::performWork):
   7300         (RunLoop::TimerBase::timerFired):
   7301         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
   7302         (WebKit::LayerTreeHostMac::flushPendingLayerChangesRunLoopObserverCallback):
   7303 
   7304 2011-03-22  Anders Carlsson  <andersca (a] apple.com>
   7305 
   7306         Reviewed by Sam Weinig.
   7307 
   7308         OBJECT element with DivX source is always downloaded
   7309         https://bugs.webkit.org/show_bug.cgi?id=56879
   7310 
   7311         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
   7312         (WebKit::getPluginInfoFromPropertyLists):
   7313         Always try to split every element in the "WebPluginExtensions" array, since the DivX plug-in
   7314         specifies multiple file extensions in a single element.
   7315         
   7316         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
   7317         (WebKit::pluginSupportsExtension):
   7318         Add a new helper function.
   7319 
   7320         (WebKit::WebFrameLoaderClient::objectContentType):
   7321         If we can't find the MIME for an extension, explicitly check if there's a plugin that claims to
   7322         handle the given extension.
   7323 
   7324 2011-03-22  Brady Eidson  <beidson (a] apple.com>
   7325 
   7326         Reviewed by Sam Weinig.
   7327 
   7328         Rename the synchronous icon database messages to be prefixed with "synchronous"
   7329 
   7330         * UIProcess/WebIconDatabase.cpp:
   7331         (WebKit::WebIconDatabase::synchronousIconDataForPageURL):
   7332         (WebKit::WebIconDatabase::synchronousIconURLForPageURL):
   7333         (WebKit::WebIconDatabase::synchronousIconDataKnownForIconURL):
   7334         (WebKit::WebIconDatabase::synchronousLoadDecisionForIconURL):
   7335         * UIProcess/WebIconDatabase.h:
   7336         * UIProcess/WebIconDatabase.messages.in:
   7337 
   7338         * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
   7339         (WebKit::WebIconDatabaseProxy::synchronousIconForPageURL):
   7340 
   7341 2011-03-22  Sam Weinig  <sam (a] webkit.org>
   7342 
   7343         Rubber-stamped by Anders Carlsson.
   7344 
   7345         Loading a new tab does not dismiss Lookup
   7346         <rdar://problem/9138391> 
   7347 
   7348         * UIProcess/API/mac/WKView.mm:
   7349         (-[WKView viewDidMoveToWindow]):
   7350         Hide the dictionary popup when moving the WKView out of a window.
   7351 
   7352 2011-03-22  Anders Carlsson  <andersca (a] apple.com>
   7353 
   7354         Reviewed by Sam Weinig.
   7355 
   7356         Microsoft Silverlight playback shows artifacts
   7357         https://bugs.webkit.org/show_bug.cgi?id=56863
   7358         <rdar://problem/9103136>
   7359 
   7360         * PluginProcess/PluginControllerProxy.cpp:
   7361         (WebKit::PluginControllerProxy::paint):
   7362         If the plug-in is transparent, clear the dirty rect before painting.
   7363 
   7364         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
   7365         (WebKit::NetscapePluginModule::determineQuirks):
   7366         Add the MakeTransparentIfBackgroundAttributeExists quirk for Silverlight plug-ins.
   7367 
   7368         * Shared/Plugins/PluginQuirks.h:
   7369         Add MakeTransparentIfBackgroundAttributeExists quirk.
   7370 
   7371         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
   7372         (WebKit::NPN_SetValue):
   7373         Handle NPPVpluginTransparentBool.
   7374 
   7375         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
   7376         (WebKit::NetscapePlugin::NetscapePlugin):
   7377         Initialize m_isTransparent to false.
   7378 
   7379         (WebKit::NetscapePlugin::setIsTransparent):
   7380         Set m_isTransparent.
   7381 
   7382         (WebKit::NetscapePlugin::initialize):
   7383         If the plug-in has the MakeTransparentIfBackgroundAttributeExists quirk, make it transparent
   7384         if there's a 'background' attribute.
   7385 
   7386         (WebKit::NetscapePlugin::isTransparent):
   7387         Add getter.
   7388 
   7389         * WebProcess/Plugins/Plugin.h:
   7390         Add isTransparent().
   7391 
   7392         * WebProcess/Plugins/PluginProxy.cpp:
   7393         (WebKit::PluginProxy::paint):
   7394         Always copy the plug-in backing store to the plug-in proxy backing store.
   7395 
   7396         (WebKit::PluginProxy::isTransparent):
   7397         Add getter that should never be called.
   7398 
   7399         (WebKit::PluginProxy::update):
   7400         Always copy the plug-in backing store to the plug-in proxy backing store.
   7401 
   7402 2011-03-22  Anders Carlsson  <andersca (a] apple.com>
   7403 
   7404         Reviewed by Sam Weinig.
   7405 
   7406         Crash when calling PluginProxy::evaluate on a destroyed plug-in
   7407         https://bugs.webkit.org/show_bug.cgi?id=56848
   7408         <rdar://problem/9168975>
   7409 
   7410         Return early if the NPObject doesn't exist anymore.
   7411 
   7412         * WebProcess/Plugins/PluginProxy.cpp:
   7413         (WebKit::PluginProxy::evaluate):
   7414 
   7415 2011-03-22  Sam Weinig  <sam (a] webkit.org>
   7416 
   7417         Reviewed by Adam Roben.
   7418 
   7419         WebKit2: Cannot make a selection past the end of the visible page (no autoscrolling)
   7420         <rdar://problem/8823874>
   7421         https://bugs.webkit.org/show_bug.cgi?id=56847
   7422 
   7423         * Shared/mac/WebEventFactory.mm:
   7424         (WebKit::currentMouseButton):
   7425         (WebKit::mouseButtonForEvent):
   7426         Add mouse button for mouseEnter/Exit events. [NSEvent buttonNumber] doesn't seem to give the right result
   7427         for these events, but getting the currentMouseButton does work.
   7428 
   7429 2011-03-21  Brady Eidson  <beidson (a] apple.com>
   7430 
   7431         Fix Mac release builds after https://bugs.webkit.org/show_bug.cgi?id=56783
   7432 
   7433         * Platform/mac/Logging.mac.mm:
   7434 
   7435 2011-03-21  Brady Eidson  <beidson (a] apple.com>
   7436 
   7437         Reviewed by Brian Weinstein.
   7438 
   7439         https://bugs.webkit.org/show_bug.cgi?id=56783
   7440         Actually hook up WebKit2 logging on Mac.
   7441 
   7442         * Platform/Logging.cpp:
   7443         (WebKit::initializeLogChannel):
   7444         * Platform/Logging.h:
   7445         * Platform/mac/Logging.mac.mm: Added.
   7446         (WebKit::initializeLogChannel):
   7447  
   7448        * UIProcess/WebContext.cpp:
   7449         (WebKit::WebContext::WebContext): Initialize logging if necessary.
   7450 
   7451         * WebKit2.xcodeproj/project.pbxproj:
   7452 
   7453 2011-03-21  Alexey Proskuryakov  <ap (a] apple.com>
   7454 
   7455         Reviewed by Darin Adler.
   7456 
   7457         REGRESSION (r81269): WebKit2 gets into an infinite recursion after an unhandled command key
   7458         https://bugs.webkit.org/show_bug.cgi?id=56782
   7459         <rdar://problem/9151993>
   7460 
   7461         * UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::doneWithKeyEvent):
   7462         Factored out code for resending an event and moved it to WKView.
   7463 
   7464         * UIProcess/API/mac/WKView.mm:
   7465         (-[WKView performKeyEquivalent:]): Don't zero out _keyDownEventBeingResent, it's easier
   7466         to just do that in _resendKeyDownEvent:.
   7467         (-[WKView keyDown:]): Ditto.
   7468         (-[WKView _resendKeyDownEvent:]): Moved from PageClientImpl.mm. Added an assertion that we
   7469         are not already resending an event - it would be too confusing if we ever had to do that,
   7470         but looks like this never happens.
   7471 
   7472         * UIProcess/API/mac/WKViewInternal.h: Exposed _resendKeyDownEvent.
   7473 
   7474 2011-03-21  Anders Carlsson  <andersca (a] apple.com>
   7475 
   7476         Reviewed by Sam Weinig.
   7477 
   7478         QT plug-in fails to load contextual menu
   7479         https://bugs.webkit.org/show_bug.cgi?id=56777
   7480         <rdar://problem/8979033>
   7481 
   7482         Open a Carbon resource map and make it the current map when calling NP_Initialize.
   7483 
   7484         * Platform/Module.cpp:
   7485         (WebKit::Module::Module):
   7486         Initialize m_bundleResourceMap to -1.
   7487 
   7488         * Platform/Module.h:
   7489         Add m_bundleResourceMap.
   7490 
   7491         * Platform/mac/ModuleMac.mm:
   7492         (WebKit::Module::unload):
   7493         Close the resource map.
   7494 
   7495         (WebKit::Module::bundleResourceMap):
   7496         Open a resource map if necessary.
   7497 
   7498         * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
   7499         (WebKit::NetscapePluginModule::tryLoad):
   7500         Get the resource map and make it current before calling NP_Initialize.
   7501 
   7502 2011-03-21  Anders Carlsson  <andersca (a] apple.com>
   7503 
   7504         Reviewed by Sam Weinig.
   7505 
   7506         Plug-in process crashes if it fails to load a plug-in module
   7507         https://bugs.webkit.org/show_bug.cgi?id=56775
   7508 
   7509         * PluginProcess/PluginControllerProxy.cpp:
   7510         (WebKit::PluginControllerProxy::initialize):
   7511         If NetscapePlugin::create returns null, call removePluginControllerProxy with a null plug-in.
   7512 
   7513         * PluginProcess/WebProcessConnection.cpp:
   7514         (WebKit::WebProcessConnection::removePluginControllerProxy):
   7515         Remove an incorrect assertion. Don't invalidate the remote object map if the plug-in is null.
   7516 
   7517 2011-03-21  Anders Carlsson  <andersca (a] apple.com>
   7518 
   7519         Reviewed by Sam Weinig.
   7520 
   7521         QT plug-in loads controller at top of movie not bottom
   7522         https://bugs.webkit.org/show_bug.cgi?id=56764
   7523         <rdar://problem/8979037>
   7524 
   7525         Create a layer with geometryFlipped set and add the plug-in layer as a sublayer,
   7526         matching WebKit1.
   7527 
   7528         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
   7529         (WebKit::NetscapePlugin::platformPostInitialize):
   7530 
   7531 2011-03-21  Sam Weinig  <sam (a] webkit.org>
   7532 
   7533         Reviewed by Anders Carlsson.
   7534 
   7535         WebKit2 needs preferences to change security knobs
   7536         https://bugs.webkit.org/show_bug.cgi?id=56762
   7537 
   7538         Add preferences for WebSecurityEnabled, UniversalAccessFromFileURLsAllowed
   7539         and FileAccessFromFileURLsAllowed.
   7540 
   7541         * Shared/WebPreferencesStore.h:
   7542         * UIProcess/API/C/WKPreferences.cpp:
   7543         (WKPreferencesSetWebSecurityEnabled):
   7544         (WKPreferencesGetWebSecurityEnabled):
   7545         (WKPreferencesSetUniversalAccessFromFileURLsAllowed):
   7546         (WKPreferencesGetUniversalAccessFromFileURLsAllowed):
   7547         (WKPreferencesSetFileAccessFromFileURLsAllowed):
   7548         (WKPreferencesGetFileAccessFromFileURLsAllowed):
   7549         * UIProcess/API/C/WKPreferencesPrivate.h:
   7550         * WebProcess/WebPage/WebPage.cpp:
   7551         (WebKit::WebPage::updatePreferences):
   7552 
   7553 2011-03-21  Sam Weinig  <sam (a] webkit.org>
   7554 
   7555         Reviewed by Anders Carlsson.
   7556 
   7557         Remove old DrawingArea and LayerHostingView code from WKView.
   7558 
   7559         * UIProcess/API/mac/WKView.mm:
   7560         (-[WKView drawRect:]):
   7561         (-[WKView hitTest:]):
   7562         (-[WKView WebKit::]):
   7563 
   7564 2011-03-21  Sam Weinig  <sam (a] webkit.org>
   7565 
   7566         Reviewed by Anders Carlsson.
   7567 
   7568         Need WebKit2 API for creating a page with a specific main frame name
   7569         https://bugs.webkit.org/show_bug.cgi?id=56759
   7570 
   7571         * Shared/WebPageCreationParameters.cpp:
   7572         (WebKit::WebPageCreationParameters::encode):
   7573         (WebKit::WebPageCreationParameters::decode):
   7574         * Shared/WebPageCreationParameters.h:
   7575         Add mainFrameName to creation parameters.
   7576 
   7577         * UIProcess/API/mac/WKView.h:
   7578         * UIProcess/API/mac/WKView.mm:
   7579         (-[WKView initWithFrame:]):
   7580         (-[WKView initWithFrame:contextRef:]):
   7581         (-[WKView initWithFrame:contextRef:pageGroupRef:]):
   7582         (-[WKView initWithFrame:contextRef:pageGroupRef:mainFrameName:]):
   7583         Add new initializer which takes a main frame name.
   7584 
   7585         * UIProcess/WebPageProxy.cpp:
   7586         (WebKit::WebPageProxy::setMainFrameName):
   7587         (WebKit::WebPageProxy::creationParameters):
   7588         * UIProcess/WebPageProxy.h:
   7589         Store the main frame name for initialization/re-initialization.
   7590 
   7591         * WebProcess/WebPage/WebFrame.cpp:
   7592         (WebKit::WebFrame::createMainFrame):
   7593         * WebProcess/WebPage/WebFrame.h:
   7594         * WebProcess/WebPage/WebPage.cpp:
   7595         (WebKit::WebPage::WebPage):
   7596         Pass the name to main frame creation.
   7597 
   7598 2011-03-20  Bill Budge  <bbudge (a] chromium.org>
   7599 
   7600         Reviewed by Adam Barth.
   7601 
   7602         Rename ThreadSafeShared to ThreadSafeRefCounted
   7603         https://bugs.webkit.org/show_bug.cgi?id=56714
   7604 
   7605         No new tests. Exposes no new functionality.
   7606 
   7607         * Platform/CoreIPC/Connection.h:
   7608         * Platform/WorkQueue.h:
   7609         * Platform/win/WorkQueueWin.cpp:
   7610         * UIProcess/Launcher/ProcessLauncher.h:
   7611         * UIProcess/Launcher/ThreadLauncher.h:
   7612 
   7613 2011-03-19  Anton D'Auria  <adauria (a] apple.com>
   7614 
   7615         Reviewed by Alexey Proskuryakov.
   7616 
   7617         ApplicationCacheGroup is not obsolete after being deleted via ApplicationCacheStorage::deleteEntriesForOrigin
   7618         https://bugs.webkit.org/show_bug.cgi?id=56415
   7619 
   7620         * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp: calling ApplicationCacheGroup::deleteCacheGroupsForOrigin
   7621         instead of ApplicationCacheStorage::deleteEntriesForOrigin.
   7622         (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
   7623 
   7624 2011-03-18  Sam Weinig  <sam (a] webkit.org>
   7625 
   7626         Attempt to fix the WinCairo build.
   7627 
   7628         * win/WebKit2.vcproj:
   7629 
   7630 2011-03-18  Anders Carlsson  <andersca (a] apple.com>
   7631 
   7632         Reviewed by Dan Bernstein.
   7633 
   7634         Empty gray page after going back from a PDF
   7635         https://bugs.webkit.org/show_bug.cgi?id=56694
   7636         <rdar://problem/8811854>
   7637 
   7638         Update m_frameHasCustomRepresentation when loading a page that's in the page cache.
   7639 
   7640         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
   7641         (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
   7642 
   7643 2011-03-18  Anders Carlsson  <andersca (a] apple.com>
   7644 
   7645         Reviewed by Sam Weinig.
   7646 
   7647         Crash when sending a sync message ends up invalidating the connection
   7648         https://bugs.webkit.org/show_bug.cgi?id=56686
   7649         <rdar://problem/9048781>
   7650 
   7651         Guard against a null client.
   7652 
   7653         * Platform/CoreIPC/Connection.cpp:
   7654         (CoreIPC::Connection::sendSyncMessage):
   7655 
   7656 2011-03-18  Balazs Kelemen  <kbalazs (a] webkit.org>
   7657 
   7658         Reviewed by Benjamin Poulain.
   7659 
   7660         [Qt][WK2] Need a way to debug the web process after the UI process dies
   7661         https://bugs.webkit.org/show_bug.cgi?id=56116
   7662 
   7663         Allow the web process to outlive it's parent process
   7664         in debug builds if the QT_WEBKIT_KEEP_ALIVE_WEB_PROCESS
   7665         environment variable is set.
   7666 
   7667         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
   7668         (WebKit::QtWebProcess::setupChildProcess): Used getenv
   7669         since the prctl call is already in a Linux-only block
   7670         and the implementation in this file is a candidate
   7671         for sharing across ports in the future.
   7672 
   7673 2011-03-18  Darin Adler  <darin (a] apple.com>
   7674 
   7675         Reviewed by Anders Carlsson.
   7676 
   7677         Command-period does not stop load when page has focus in WebKit2
   7678         https://bugs.webkit.org/show_bug.cgi?id=56601
   7679 
   7680         * UIProcess/API/mac/WKView.mm:
   7681         (-[WKView doCommandBySelector:]): If called outside interpretKeyEvents,
   7682         call through to super.
   7683         (-[WKView insertText:]): Assert that we are inside interpretKeyEvents.
   7684         (-[WKView unmarkText]): Ditto.
   7685         (-[WKView setMarkedText:selectedRange:]): Ditto.
   7686         (-[WKView _interceptKeyEvent:]): Set a flag to indicate we are inside
   7687         interpretKeyEvents for use by the above.
   7688 
   7689 2011-03-18  Brady Eidson  <beidson (a] apple.com>
   7690 
   7691         Reviewed by Sam Weinig.
   7692 
   7693         https://bugs.webkit.org/show_bug.cgi?id=56425
   7694         More groundwork for WebKit2 IconDatabase
   7695 
   7696         -Update the synchronous method names to be prefixed with "synchronous."
   7697         -Add empty implementations for the asynchronous accessors.
   7698 
   7699         * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
   7700         (WebKit::WebIconDatabaseProxy::setEnabled):
   7701         (WebKit::WebIconDatabaseProxy::synchronousIconForPageURL):
   7702         (WebKit::WebIconDatabaseProxy::synchronousIconURLForPageURL):
   7703         (WebKit::WebIconDatabaseProxy::synchronousIconDataKnownForIconURL):
   7704         (WebKit::WebIconDatabaseProxy::synchronousLoadDecisionForIconURL):
   7705         (WebKit::WebIconDatabaseProxy::supportsAsynchronousMode):
   7706         (WebKit::WebIconDatabaseProxy::loadDecisionForIconURL):
   7707         (WebKit::WebIconDatabaseProxy::iconDataForIconURL):
   7708         * WebProcess/IconDatabase/WebIconDatabaseProxy.h:
   7709 
   7710 2011-03-18  Alejandro G. Castro  <alex (a] igalia.com>
   7711 
   7712         Reviewed by Martin Robinson.
   7713 
   7714         Fixed compilation after r80925.
   7715 
   7716         * GNUmakefile.am:
   7717         * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp: Added.
   7718         (WebKit::WebFullScreenManagerProxy::enterFullScreen):
   7719         (WebKit::WebFullScreenManagerProxy::exitFullScreen):
   7720         (WebKit::WebFullScreenManagerProxy::beganEnterFullScreenAnimation):
   7721         (WebKit::WebFullScreenManagerProxy::finishedEnterFullScreenAnimation):
   7722         (WebKit::WebFullScreenManagerProxy::beganExitFullScreenAnimation):
   7723         (WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation):
   7724         (WebKit::WebFullScreenManagerProxy::enterAcceleratedCompositingMode):
   7725         (WebKit::WebFullScreenManagerProxy::exitAcceleratedCompositingMode):
   7726         (WebKit::WebFullScreenManagerProxy::getFullScreenRect):
   7727         * WebProcess/FullScreen/gtk/WebFullScreenManagerGtk.cpp: Added.
   7728         (WebKit::WebFullScreenManagerGtk::WebFullScreenManagerGtk):
   7729         (WebKit::WebFullScreenManager::create):
   7730         (WebKit::WebFullScreenManagerGtk::setRootFullScreenLayer):
   7731         (WebKit::WebFullScreenManagerGtk::beginEnterFullScreenAnimation):
   7732         (WebKit::WebFullScreenManagerGtk::beginExitFullScreenAnimation):
   7733         * WebProcess/FullScreen/gtk/WebFullScreenManagerGtk.h: Added.
   7734 
   7735 2011-03-18  Alejandro G. Castro  <alex (a] igalia.com>
   7736 
   7737         Unreviewed, fixed compilation after r81208.
   7738 
   7739         * GNUmakefile.am:
   7740 
   7741 2011-03-18  John Sullivan  <sullivan (a] apple.com>
   7742 
   7743         Reviewed by Dan Bernstein.
   7744 
   7745         https://bugs.webkit.org/show_bug.cgi?id=56645
   7746         Assertion fires when hidden Find-on-Page matches are encountered in WebKit2
   7747 
   7748         * WebProcess/WebPage/FindController.cpp:
   7749         (WebKit::FindController::updateFindIndicator):
   7750         Bail out if the selection rect is empty, before trying to generate an appropriately-sized
   7751         bitmap. (Previously it was bailing out afterwards, but encountering an assertion in debug
   7752         builds along the way.)
   7753 
   7754 2011-03-18  Mark Rowe  <mrowe (a] apple.com>
   7755 
   7756         Rubber-stamped by Jon Honeycutt.
   7757 
   7758         <rdar://problem/9153929> PluginProcess fails to launch due to PluginProcessShim.dylib building for 64-bit only
   7759 
   7760         Fix a bogus change from r81392 that made PluginProcessShim.xcconfig import DebugRelease.xcconfig.
   7761         As its name suggests, DebugRelease.xcconfig is only applicable for the debug and release configurations.
   7762         It overrides the valid build architectures and also restricts the build to only the active architecture.
   7763         
   7764         * Configurations/PluginProcessShim.xcconfig: Import BaseTarget.xcconfig instead. This is what
   7765         each target-specific .xcconfig file should import.
   7766 
   7767 2011-03-17  Mark Rowe  <mrowe (a] apple.com>
   7768 
   7769         Fix the build.
   7770 
   7771         * WebKit2.xcodeproj/project.pbxproj:
   7772 
   7773 2011-03-17  Anders Carlsson  <andersca (a] apple.com>
   7774 
   7775         Reviewed by Sam Weinig.
   7776 
   7777         Implement PluginProcessProxy::setFullscreenWindowIsShowing
   7778         https://bugs.webkit.org/show_bug.cgi?id=56618
   7779 
   7780         * UIProcess/Plugins/PluginProcessProxy.cpp:
   7781         (WebKit::PluginProcessProxy::PluginProcessProxy):
   7782         Initialize m_fullscreenWindowIsShowing.
   7783 
   7784         (WebKit::PluginProcessProxy::didClose):
   7785         if m_fullscreenWindowIsShowing is true, call exitFullscreen.
   7786 
   7787         * UIProcess/Plugins/PluginProcessProxy.h:
   7788         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
   7789         (WebKit::PluginProcessProxy::getPluginProcessSerialNumber):
   7790         Add helper function for getting a PSN for the plug-in process.
   7791 
   7792         (WebKit::PluginProcessProxy::makePluginProcessTheFrontProcess):
   7793         Make the plug-in process the front process.
   7794 
   7795         (WebKit::PluginProcessProxy::makeUIProcessTheFrontProcess):
   7796         Make the current process (the UI process) the front process.
   7797 
   7798         (WebKit::PluginProcessProxy::setFullscreenWindowIsShowing):
   7799         Call enterFullscreen or exitFullscreen.
   7800 
   7801         (WebKit::PluginProcessProxy::enterFullscreen):
   7802         Make the plug-in process the front process and hide the menu bar.
   7803 
   7804         (WebKit::PluginProcessProxy::exitFullscreen):
   7805         Show the menu bar and if necessary make the UI process the front process.
   7806 
   7807         (WebKit::PluginProcessProxy::endModal):
   7808         call makeUIProcessTheFrontProcess.
   7809 
   7810         (WebKit::PluginProcessProxy::applicationDidBecomeActive):
   7811         Call makePluginProcessTheFrontProcess.
   7812 
   7813 2011-03-17  Adam Roben  <aroben (a] apple.com>
   7814 
   7815         Make bidi text in <select> menus in WebKit2 on Windows match WebKit1
   7816 
   7817         Fixes <http://webkit.org/b/56614> 3 <select> bidi tests failing on Windows 7 Release
   7818         (WebKit2 Tests)
   7819 
   7820         Reviewed by Sam Weinig.
   7821 
   7822         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
   7823         (WebKit::WebChromeClient::selectItemWritingDirectionIsNatural):
   7824         (WebKit::WebChromeClient::selectItemAlignmentFollowsMenuWritingDirection):
   7825         On Windows, return the same values we return in WebKit1.
   7826 
   7827 2011-03-17  Anders Carlsson  <andersca (a] apple.com>
   7828 
   7829         Reviewed by Sam Weinig.
   7830 
   7831         Implement PluginProcessProxy::setModalWindowIsShowing
   7832         https://bugs.webkit.org/show_bug.cgi?id=56615
   7833 
   7834         * UIProcess/Plugins/PluginProcessProxy.cpp:
   7835         (WebKit::PluginProcessProxy::PluginProcessProxy):
   7836         Initialize m_modalWindowIsShowing.
   7837 
   7838         (WebKit::PluginProcessProxy::didClose):
   7839         If m_modalWindowIsShowing is true, we must call endModal.
   7840 
   7841         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
   7842         (-[WKPlaceholderModalWindow _wantsUserAttention]):
   7843         Add a WKPlaceholderModalWindow.
   7844 
   7845         (WebKit::PluginProcessProxy::setModalWindowIsShowing):
   7846         Call beginModal or endModal depending on whether we're showing a modal window or not.
   7847 
   7848         (WebKit::PluginProcessProxy::beginModal):
   7849         Create a fake window and start a nested run loop. Listen for NSApplicationWillBecomeActiveNotification notifications.
   7850 
   7851         (WebKit::PluginProcessProxy::endModal):
   7852         Tear down the window and the run loop.
   7853 
   7854         (WebKit::PluginProcessProxy::applicationDidBecomeActive):
   7855         Make sure that the plug-in process is frontmost.
   7856 
   7857 2011-03-17  Jeff Miller  <jeffm (a] apple.com>
   7858 
   7859         Reviewed by Adam Roben.
   7860 
   7861         Web page shouldn't swallow alt-key combinations on Windows
   7862         https://bugs.webkit.org/show_bug.cgi?id=56612
   7863         
   7864         Make Alt+Left Arrow and Alt+Right Arrow go back and forward, but make
   7865         sure any alt-key combinations bubble up to the client.
   7866 
   7867         * WebProcess/WebPage/win/WebPageWin.cpp:
   7868         (WebKit::WebPage::performDefaultBehaviorForKeyEvent): Make Alt+Left Arrow and Alt+Right Arrow go back and forward, ignore any other alt-key combinations.
   7869 
   7870 2011-03-17  Anders Carlsson  <andersca (a] apple.com>
   7871 
   7872         Reviewed by Sam Weinig.
   7873 
   7874         Send SetModalWindowIsShowing and SetFullscreenWindowIsShowing messages to the UI process
   7875         https://bugs.webkit.org/show_bug.cgi?id=56610
   7876 
   7877         * PluginProcess/mac/PluginProcessMac.mm:
   7878         (WebKit::FullscreenWindowTracker::FullscreenWindowTracker):
   7879         Add fullscreen window tracker class.
   7880 
   7881         (WebKit::rectCoversAnyScreen):
   7882         Return whether the given rect covers any screen.
   7883 
   7884         (WebKit::windowCoversAnyScreen):
   7885         Return whether the given window covers any screen.
   7886 
   7887         (WebKit::FullscreenWindowTracker::windowShown):
   7888         If we're showing a fullscreen window, call PluginProcess::setFullscreenWindowIsShowing.
   7889 
   7890         (WebKit::FullscreenWindowTracker::windowHidden):
   7891         If we're hiding the last fullscreen window, call PluginProcess::setFullscreenWindowIsShowing.
   7892 
   7893         (WebKit::cocoaWindowShown):
   7894         (WebKit::cocoaWindowHidden):
   7895         (WebKit::carbonWindowShown):
   7896         (WebKit::carbonWindowHidden):
   7897         Call the window tracking functions.
   7898 
   7899         (WebKit::setModal):
   7900         Call PluginProcess::setModalWindowIsShowing.
   7901 
   7902         (WebKit::PluginProcess::setModalWindowIsShowing):
   7903         (WebKit::PluginProcess::setFullscreenWindowIsShowing):
   7904         Send CoreIPC messages.
   7905 
   7906         * UIProcess/Plugins/PluginProcessProxy.h:
   7907         * UIProcess/Plugins/PluginProcessProxy.messages.in:
   7908         Add new messages.
   7909 
   7910         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
   7911         (WebKit::PluginProcessProxy::setModalWindowIsShowing):
   7912         (WebKit::PluginProcessProxy::setFullscreenWindowIsShowing):
   7913         Add stubs.
   7914 
   7915 2011-03-17  Sam Weinig  <sam (a] webkit.org>
   7916 
   7917         Reviewed by Brady Eidson.
   7918 
   7919         Allow passing a certificate chain as a user message
   7920         <rdar://problem/8951709>
   7921         https://bugs.webkit.org/show_bug.cgi?id=56605
   7922 
   7923         * Shared/API/c/mac/WKCertificateInfoMac.h:
   7924         * Shared/API/c/mac/WKCertificateInfoMac.mm:
   7925         (WKCertificateInfoCreateWithCertficateChain):
   7926         Added. Creates a WKCertificate from a certificate chain.
   7927 
   7928         * Shared/UserMessageCoders.h:
   7929         (WebKit::UserMessageEncoder::baseEncode):
   7930         (WebKit::UserMessageDecoder::baseDecode):
   7931         Add encoding/decoding of WebCertificateInfo.
   7932 
   7933 2011-03-17  Anders Carlsson  <andersca (a] apple.com>
   7934 
   7935         Reviewed by Sam Weinig.
   7936 
   7937         Add PluginProcessShim hooks for when windows are shown and hidden
   7938         https://bugs.webkit.org/show_bug.cgi?id=56597
   7939 
   7940         * Configurations/PluginProcessShim.xcconfig:
   7941         Add HEADER_SEARCH_PATHS so we can find WebKitSystemInterface.h.
   7942 
   7943         * PluginProcess/mac/PluginProcessMac.mm:
   7944         (WebKit::cocoaWindowShown):
   7945         (WebKit::cocoaWindowHidden):
   7946         (WebKit::carbonWindowShown):
   7947         (WebKit::carbonWindowHidden):
   7948         (WebKit::setModal):
   7949         (WebKit::PluginProcess::initializeShim):
   7950         Add empty stubs.
   7951 
   7952         * PluginProcess/mac/PluginProcessShim.h:
   7953         * PluginProcess/mac/PluginProcessShim.mm:
   7954         (WebKit::beginModal):
   7955         (WebKit::endModal):
   7956         Keep a modal count and call setModal accordingly.
   7957 
   7958         (WebKit::shim_NSApplication_RunModalForWindow):
   7959         (WebKit::shimModalDialog):
   7960         (WebKit::shimAlert):
   7961         Call beginModal/endModal.
   7962 
   7963         (WebKit::shimShowWindow):
   7964         (WebKit::shimHideWindow):
   7965         Call the shim functions.
   7966         
   7967         (WebKit::WebKitPluginProcessShimInitialize):
   7968         Listen for notifications and call the necessary shim functions.
   7969 
   7970         * WebKit2.xcodeproj/project.pbxproj:
   7971         Link the plug-in process shim with AppKit and QuartzCore and WKSI.
   7972 
   7973 2011-03-17  Jeff Miller  <jeffm (a] apple.com>
   7974 
   7975         Use a consistent set of file patterns in the svn:ignore property for all .xcodeproj directories, specifically:
   7976         
   7977         *.mode*
   7978         *.pbxuser
   7979         *.perspective*
   7980         project.xcworkspace
   7981         xcuserdata
   7982 
   7983         * WebKit2.xcodeproj: Modified property svn:ignore.
   7984 
   7985 2011-03-17  Sam Weinig  <sam (a] webkit.org>
   7986 
   7987         Reviewed by Anders Carlsson.
   7988 
   7989         WKErrors need the PeerCertificateChain for certificate errors
   7990         <rdar://problem/8951784>
   7991         https://bugs.webkit.org/show_bug.cgi?id=56592
   7992 
   7993         * Shared/WebCoreArgumentCoders.h:
   7994         Special case encoding/decoding of ResourceErrors for the mac.
   7995 
   7996         * Shared/mac/PlatformCertificateInfo.h:
   7997         * Shared/mac/PlatformCertificateInfo.mm:
   7998         (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
   7999         Add constructor that take the PeerCertificateChain as CFArrayRef.
   8000 
   8001         * Shared/mac/WebCoreArgumentCodersMac.mm:
   8002         (CoreIPC::encodeResourceError):
   8003         (CoreIPC::decodeResourceError):
   8004         Add encode/decode for ResourceError using the underlying NSError
   8005         and encoding/decoding as much of the userInfo as we know how to.
   8006         Right now this includes all string values and the PeerCertificateChain.
   8007 
   8008 2011-03-17  John Sullivan  <sullivan (a] apple.com>
   8009 
   8010         Reviewed by Adam Roben.
   8011 
   8012         https://bugs.webkit.org/show_bug.cgi?id=56574
   8013         Dealloc'ing a WKView can leave a stale reference to it in NSWindow
   8014 
   8015         * UIProcess/API/mac/WKView.mm:
   8016         (-[WKView viewWillMoveToWindow:]):
   8017         Clear the outgoing window's growBoxOwner if it is this view.
   8018 
   8019 2011-03-17  Anders Carlsson  <andersca (a] apple.com>
   8020 
   8021         Rubber-stamped by John Sullivan.
   8022 
   8023         Rename PluginProcessShim.cpp to PluginProcessShim.mm.
   8024 
   8025         * PluginProcess/mac/PluginProcessShim.cpp: Removed.
   8026         * PluginProcess/mac/PluginProcessShim.mm: Copied from PluginProcess/mac/PluginProcessShim.cpp.
   8027         * WebKit2.xcodeproj/project.pbxproj:
   8028 
   8029 2011-03-17  Anders Carlsson  <andersca (a] apple.com>
   8030 
   8031         Reviewed by Darin Adler.
   8032 
   8033         Invalidate all NPObjects for a plug-in when that plug-in is destroyed
   8034         https://bugs.webkit.org/show_bug.cgi?id=56511
   8035         <rdar://problem/8993491>
   8036 
   8037         Before this change, we would invalidate NPObjectProxy objects and delete NPObjectMessageReceiver
   8038         objects when the last plug-in of a certain type was destroyed. Doing so caused us to hold on to memory
   8039         which we don't need, and could also lead to crashes if the NPObjectMessageReceiver would get a message and
   8040         tried to invoke it on a already deallocated NPObject.
   8041 
   8042         * PluginProcess/PluginControllerProxy.cpp:
   8043         (WebKit::PluginControllerProxy::initialize):
   8044         If we fail to initialize, call removePluginControllerProxy instead of having WebProcessConnection do so.
   8045 
   8046         (WebKit::PluginControllerProxy::destroy):
   8047         Pass the plug-in to removePluginControllerProxy.
   8048 
   8049         * PluginProcess/WebProcessConnection.cpp:
   8050         (WebKit::WebProcessConnection::removePluginControllerProxy):
   8051         Call NPRemoteObjectMap::pluginDestroyed when the plug-in has been destroyed.
   8052 
   8053         (WebKit::WebProcessConnection::createPlugin):
   8054         Don't call removePluginControllerProxy if the plug-in fails to initialize. PluginControllerProxy::initialize now
   8055         takes care of doing this.
   8056 
   8057         * Shared/Plugins/NPObjectMessageReceiver.cpp:
   8058         (WebKit::NPObjectMessageReceiver::NPObjectMessageReceiver):
   8059         (WebKit::NPObjectMessageReceiver::~NPObjectMessageReceiver):
   8060         * Shared/Plugins/NPObjectMessageReceiver.h:
   8061         Remove m_shouldReleaseObjectWhenInvalidating, we now know that no NPObjects will have been deallocated
   8062         by the time the NPObjectMessageReceiver is destroyed.
   8063 
   8064         (WebKit::NPObjectMessageReceiver::plugin):
   8065         Add getter.
   8066         
   8067         * Shared/Plugins/NPObjectProxy.h:
   8068         (WebKit::NPObjectProxy::plugin):
   8069         Add getter.
   8070         
   8071         * Shared/Plugins/NPRemoteObjectMap.cpp:
   8072         (WebKit::NPRemoteObjectMap::NPRemoteObjectMap):
   8073         Remove m_isInvalidating.
   8074 
   8075         (WebKit::NPRemoteObjectMap::npObjectProxyDestroyed):
   8076         Simplify code.
   8077 
   8078         (WebKit::NPRemoteObjectMap::pluginDestroyed):
   8079         Rename invalidate to pluginDestroyed. Only invalidate/delete objects that belong to the given plug-in.
   8080 
   8081         * Shared/Plugins/NPRemoteObjectMap.h:
   8082         Remove m_isInvalidating.
   8083         
   8084         * WebProcess/Plugins/PluginProcessConnection.cpp:
   8085         (WebKit::PluginProcessConnection::removePluginProxy):
   8086         Call NPRemoteObjectMap::pluginDestroyed when the plug-in has been destroyed.
   8087 
   8088 2011-03-17  Oleg Romashin  <oleg.romashin (a] nokia.com>
   8089 
   8090         Reviewed by Anders Carlsson.
   8091 
   8092         Teach WebKit2 messages.py generator to ifdef headers include
   8093         which are related to ifdef-ed methods/types
   8094         https://bugs.webkit.org/show_bug.cgi?id=55658
   8095 
   8096         * Scripts/webkit2/messages.py:
   8097         * Scripts/webkit2/messages_unittest.py:
   8098 
   8099 2011-03-16  Joseph Pecoraro  <joepeck (a] webkit.org>
   8100 
   8101         Reviewed by Kenneth Rohde Christiansen.
   8102 
   8103         Viewport no longer allows an auto value for "user-scalable"
   8104         https://bugs.webkit.org/show_bug.cgi?id=55416
   8105 
   8106         Make the default value for userScalable be true.
   8107 
   8108         * UIProcess/API/qt/qwkpage.cpp:
   8109         (QWKPage::viewportAttributesForSize):
   8110 
   8111 2011-03-16  Anders Carlsson  <andersca (a] apple.com>
   8112 
   8113         Reviewed by Dan Bernstein.
   8114 
   8115         NPObjectProxy and NPObjectMessageReceiver objects should know their Plugin object
   8116         https://bugs.webkit.org/show_bug.cgi?id=56506
   8117 
   8118         * PluginProcess/PluginControllerProxy.cpp:
   8119         (WebKit::PluginControllerProxy::windowScriptNPObject):
   8120         (WebKit::PluginControllerProxy::pluginElementNPObject):
   8121         (WebKit::PluginControllerProxy::evaluate):
   8122         (WebKit::PluginControllerProxy::getPluginScriptableNPObject):
   8123         * Shared/Plugins/NPObjectMessageReceiver.cpp:
   8124         (WebKit::NPObjectMessageReceiver::create):
   8125         (WebKit::NPObjectMessageReceiver::NPObjectMessageReceiver):
   8126         (WebKit::NPObjectMessageReceiver::invoke):
   8127         (WebKit::NPObjectMessageReceiver::invokeDefault):
   8128         (WebKit::NPObjectMessageReceiver::getProperty):
   8129         (WebKit::NPObjectMessageReceiver::setProperty):
   8130         (WebKit::NPObjectMessageReceiver::construct):
   8131         * Shared/Plugins/NPObjectMessageReceiver.h:
   8132         * Shared/Plugins/NPObjectProxy.cpp:
   8133         (WebKit::NPObjectProxy::create):
   8134         (WebKit::NPObjectProxy::NPObjectProxy):
   8135         (WebKit::NPObjectProxy::invalidate):
   8136         (WebKit::NPObjectProxy::initialize):
   8137         (WebKit::NPObjectProxy::invoke):
   8138         (WebKit::NPObjectProxy::invokeDefault):
   8139         (WebKit::NPObjectProxy::getProperty):
   8140         (WebKit::NPObjectProxy::setProperty):
   8141         (WebKit::NPObjectProxy::construct):
   8142         * Shared/Plugins/NPObjectProxy.h:
   8143         * Shared/Plugins/NPRemoteObjectMap.cpp:
   8144         (WebKit::NPRemoteObjectMap::createNPObjectProxy):
   8145         (WebKit::NPRemoteObjectMap::registerNPObject):
   8146         (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
   8147         (WebKit::NPRemoteObjectMap::npVariantDataToNPVariant):
   8148         * Shared/Plugins/NPRemoteObjectMap.h:
   8149         * WebProcess/Plugins/PluginProxy.cpp:
   8150         (WebKit::PluginProxy::pluginScriptableNPObject):
   8151         (WebKit::PluginProxy::getWindowScriptNPObject):
   8152         (WebKit::PluginProxy::getPluginElementNPObject):
   8153         (WebKit::PluginProxy::evaluate):
   8154 
   8155 2011-03-16  Beth Dakin  <bdakin (a] apple.com>
   8156 
   8157         Reviewed by Darin Adler.
   8158 
   8159         Fix for https://bugs.webkit.org/show_bug.cgi?id=54987 Crash beneath 
   8160         WebPageProxy::viewWillStartLiveResize when resizing window after web process 
   8161         crashed
   8162         -and corresponding-
   8163         <rdar://problem/9037685>
   8164 
   8165         Just need simple isValid() checks here. 
   8166         * UIProcess/WebPageProxy.cpp:
   8167         (WebKit::WebPageProxy::initializeUIClient):
   8168         (WebKit::WebPageProxy::viewWillStartLiveResize):
   8169         (WebKit::WebPageProxy::viewWillEndLiveResize):
   8170 
   8171 2011-03-16  Damian Kaleta  <dkaleta (a] apple.com>
   8172 
   8173         Reviewed by Kevin Decker.
   8174 
   8175         Add a user default that will force all plugins to opt in to non-executable data
   8176         https://bugs.webkit.org/show_bug.cgi?id=56487
   8177         <rdar://problem/9109095>
   8178 
   8179         * UIProcess/Plugins/PluginProcessProxy.cpp:
   8180         (WebKit::PluginProcessProxy::PluginProcessProxy):
   8181         * UIProcess/Plugins/PluginProcessProxy.h:
   8182         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
   8183         (WebKit::PluginProcessProxy::pluginNeedsExecutableHeap):
   8184 
   8185 2011-03-16  Chris Fleizach  <cfleizach (a] apple.com>
   8186 
   8187         Reviewed by Darin Adler.
   8188 
   8189         WK2: Need to propagate enhanced accessibility flag from UI -> web process
   8190         https://bugs.webkit.org/show_bug.cgi?id=56379
   8191 
   8192         Support sending the enhanced accessibility flag between processes.
   8193 
   8194         * UIProcess/WebContext.cpp:
   8195         (WebKit::WebContext::~WebContext):
   8196         (WebKit::WebContext::setEnhancedAccessibility):
   8197         * UIProcess/WebContext.h:
   8198         * UIProcess/gtk/WebContextGtk.cpp:
   8199         (WebKit::WebContet::platformInvalidateContext):
   8200         * UIProcess/mac/WebContextMac.mm:
   8201         (WebKit::WebContext::platformInitializeWebProcess):
   8202         (WebKit::WebContext::platformInvalidateContext):
   8203         * UIProcess/qt/WebContextQt.cpp:
   8204         (WebKit::WebContext::platformInvalidateContext):
   8205         * UIProcess/win/WebContextWin.cpp:
   8206         (WebKit::WebContext::platformInvalidateContext):
   8207         * WebProcess/WebProcess.cpp:
   8208         (WebKit::WebProcess::setEnhancedAccessibility):
   8209         * WebProcess/WebProcess.h:
   8210         * WebProcess/WebProcess.messages.in:
   8211 
   8212 2011-03-15  Oliver Hunt  <oliver (a] apple.com>
   8213 
   8214         Reviewed by Geoffrey Garen.
   8215 
   8216         Make Structure creation require a JSGlobalData
   8217         https://bugs.webkit.org/show_bug.cgi?id=56438
   8218 
   8219         Mechanical change to make all Structure creation use a JSGlobalData&.
   8220 
   8221         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
   8222         (WebKit::JSNPMethod::JSNPMethod):
   8223         * WebProcess/Plugins/Netscape/JSNPMethod.h:
   8224         (WebKit::JSNPMethod::createStructure):
   8225         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
   8226         (WebKit::JSNPObject::JSNPObject):
   8227         * WebProcess/Plugins/Netscape/JSNPObject.h:
   8228         (WebKit::JSNPObject::createStructure):
   8229 
   8230 2011-03-16  Alexey Proskuryakov  <ap (a] apple.com>
   8231 
   8232         Reviewed by Dan Bernstein.
   8233 
   8234         WebKit2: Sometimes Command-[ opens a new tab and loads the back page in it
   8235         https://bugs.webkit.org/show_bug.cgi?id=56477
   8236         <rdar://problem/8806664>
   8237 
   8238         * UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::doneWithKeyEvent):
   8239         Set NSApplication current event when re-dispatching a key event that returned from the web
   8240         process unhandled. That way, code that looks at current event modifiers won't be confused.
   8241 
   8242 2011-03-16  Sam Weinig  <sam (a] webkit.org>
   8243 
   8244         Reviewed by Adam Roben.
   8245 
   8246         Add WebKit2 API to figure out if an input or textarea was edited
   8247         https://bugs.webkit.org/show_bug.cgi?id=56474
   8248 
   8249         Expose WKBundleNodeHandleGetHTMLInputElementLastChangeWasUserEdit and
   8250         WKBundleNodeHandleGetHTMLTextAreaElementLastChangeWasUserEdit. Next time,
   8251         I will work on giving these functions longer names.
   8252 
   8253         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
   8254         (WKBundleNodeHandleGetHTMLInputElementLastChangeWasUserEdit):
   8255         (WKBundleNodeHandleGetHTMLTextAreaElementLastChangeWasUserEdit):
   8256         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
   8257         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
   8258         (WebKit::InjectedBundleNodeHandle::htmlInputElementLastChangeWasUserEdit):
   8259         (WebKit::InjectedBundleNodeHandle::htmlTextAreaElementLastChangeWasUserEdit):
   8260         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
   8261 
   8262 2011-03-16  Brady Eidson  <beidson (a] apple.com>
   8263 
   8264         Reviewed by Adam Roben.
   8265 
   8266         https://bugs.webkit.org/show_bug.cgi?id=56467
   8267         IconDatabase-related crash seen in WK2 tests
   8268 
   8269         * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
   8270         (WebKit::WebIconDatabaseProxy::setIconDataForIconURL): The IconLoader might set a null data for an icon, so handle that case.
   8271 
   8272 2011-03-16  Benjamin Poulain  <benjamin.poulain (a] nokia.com>
   8273 
   8274         Reviewed by Kenneth Rohde Christiansen.
   8275 
   8276         [Qt][WK2] Loading an empty URL crashes
   8277         https://bugs.webkit.org/show_bug.cgi?id=55501
   8278 
   8279         A null WKURLRef is created in the API of WebKit 2 when converting a null string. The code
   8280         of WKPageLoadURL assume the WKPageRef is not null which causes crashes if it is.
   8281 
   8282         This patch uses the converter toWTFString() to pass from WKPageRef to WTFString. This converter
   8283         ensure the returned string is a valid null string.
   8284 
   8285         Tested through the Qt API tests.
   8286 
   8287         * UIProcess/API/C/WKPage.cpp:
   8288         (WKPageLoadURL):
   8289         * UIProcess/API/qt/tests/qgraphicswkview/tst_qgraphicswkview.cpp:
   8290         (tst_QGraphicsWKView::loadEmptyUrl):
   8291         * UIProcess/API/qt/tests/qwkpage/qwkpage.pro: Added.
   8292         * UIProcess/API/qt/tests/qwkpage/tst_qwkpage.cpp: Added.
   8293         (tst_QWKPage::init):
   8294         (tst_QWKPage::cleanup):
   8295         (tst_QWKPage::loadEmptyUrl):
   8296         * UIProcess/API/qt/tests/tests.pro:
   8297 
   8298 2011-03-15  Brady Eidson  <beidson (a] apple.com>
   8299 
   8300         Reviewed by Sam Weinig.
   8301 
   8302         https://bugs.webkit.org/show_bug.cgi?id=56425
   8303         WebKit2 icon database.
   8304 
   8305         Project file paperwork:
   8306         * DerivedSources.make:
   8307         * DerivedSources.pro:
   8308         * GNUmakefile.am:
   8309         * WebKit2.pri:
   8310         * WebKit2.pro:
   8311         * WebKit2.xcodeproj/project.pbxproj:
   8312         * win/WebKit2.vcproj:
   8313         * win/WebKit2Common.vsprops:
   8314         * Scripts/webkit2/messages.py: Special-case capitalization for messages that start with "URL" to be lowercased
   8315           to "url" instead of "uRL".
   8316 
   8317         Add messaging-related stuff:
   8318         * Platform/CoreIPC/MessageID.h:
   8319         * UIProcess/WebIconDatabase.messages.in: Added.
   8320         * WebProcess/IconDatabase/WebIconDatabaseProxy.messages.in: Added.
   8321         * UIProcess/WebProcessProxy.cpp:
   8322         (WebKit::WebProcessProxy::didReceiveMessage):
   8323         (WebKit::WebProcessProxy::didReceiveSyncMessage):
   8324 
   8325         Prep to make WebIconDatabase an API object:
   8326         * Shared/APIObject.h:
   8327 
   8328         Add an "icon DB is enabled" flag to WebProcessCreationParameters:
   8329         * Shared/WebProcessCreationParameters.cpp:
   8330         (WebKit::WebProcessCreationParameters::encode):
   8331         (WebKit::WebProcessCreationParameters::decode):
   8332         * Shared/WebProcessCreationParameters.h:
   8333 
   8334         Add SPI for client apps to set the icon database path:
   8335         * UIProcess/API/C/WKContext.cpp:
   8336         (WKContextSetIconDatabasePath):
   8337         * UIProcess/API/C/WKContextPrivate.h:
   8338         * UIProcess/WebContext.h:
   8339         (WebKit::WebContext::setIconDatabasePath):
   8340 
   8341         Hook up initialization, clearing, and messaging for the icon database:
   8342         * UIProcess/WebContext.cpp:
   8343         (WebKit::WebContext::WebContext):
   8344         (WebKit::WebContext::~WebContext):
   8345         (WebKit::WebContext::ensureWebProcess):
   8346         (WebKit::WebContext::didReceiveMessage):
   8347         (WebKit::WebContext::didReceiveSyncMessage):
   8348         (WebKit::WebContext::iconDatabasePath):
   8349         * UIProcess/gtk/WebContextGtk.cpp:
   8350         (WebKit::WebContext::platformDefaultIconDatabasePath):
   8351         * UIProcess/mac/WebContextMac.mm:
   8352         (WebKit::WebContext::platformDefaultIconDatabasePath):
   8353         * UIProcess/qt/WebContextQt.cpp:
   8354         (WebKit::WebContext::platformDefaultIconDatabasePath):
   8355         * UIProcess/win/WebContextWin.cpp:
   8356         (WebKit::WebContext::platformDefaultIconDatabasePath):
   8357 
   8358         Add the UIProcess-side IconDatabase. It will be the "actual database" as well as the API object:
   8359         * UIProcess/WebIconDatabase.cpp: Added.
   8360         (WebKit::WebIconDatabase::create):
   8361         (WebKit::WebIconDatabase::~WebIconDatabase):
   8362         (WebKit::WebIconDatabase::WebIconDatabase):
   8363         (WebKit::WebIconDatabase::invalidate):
   8364         (WebKit::WebIconDatabase::retainIconForPageURL):
   8365         (WebKit::WebIconDatabase::releaseIconForPageURL):
   8366         (WebKit::WebIconDatabase::setIconURLForPageURL):
   8367         (WebKit::WebIconDatabase::setIconDataForIconURL):
   8368         (WebKit::WebIconDatabase::iconDataForPageURL):
   8369         (WebKit::WebIconDatabase::iconURLForPageURL):
   8370         (WebKit::WebIconDatabase::iconDataKnownForIconURL):
   8371         (WebKit::WebIconDatabase::loadDecisionForIconURL):
   8372         (WebKit::WebIconDatabase::didReceiveMessage):
   8373         (WebKit::WebIconDatabase::didReceiveSyncMessage):
   8374         * UIProcess/WebIconDatabase.h: Added.
   8375         (WebKit::WebIconDatabase::clearContext):
   8376         (WebKit::WebIconDatabase::type):
   8377 
   8378         Add the WebProcess-side IconDatabaseProxy. It acts as the WebCore IconDatabase and operates via messaging:
   8379         * WebProcess/IconDatabase: Added.
   8380         * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp: Added.
   8381         (WebKit::WebIconDatabaseProxy::~WebIconDatabaseProxy):
   8382         (WebKit::WebIconDatabaseProxy::WebIconDatabaseProxy):
   8383         (WebKit::WebIconDatabaseProxy::isEnabled):
   8384         (WebKit::WebIconDatabaseProxy::setEnabled):
   8385         (WebKit::WebIconDatabaseProxy::iconForPageURL):
   8386         (WebKit::WebIconDatabaseProxy::retainIconForPageURL):
   8387         (WebKit::WebIconDatabaseProxy::releaseIconForPageURL):
   8388         (WebKit::WebIconDatabaseProxy::iconURLForPageURL):
   8389         (WebKit::WebIconDatabaseProxy::iconDataKnownForIconURL):
   8390         (WebKit::WebIconDatabaseProxy::loadDecisionForIconURL):
   8391         (WebKit::WebIconDatabaseProxy::setIconURLForPageURL):
   8392         (WebKit::WebIconDatabaseProxy::setIconDataForIconURL):
   8393         (WebKit::WebIconDatabaseProxy::urlImportFinished):
   8394         (WebKit::WebIconDatabaseProxy::didReceiveMessage):
   8395         * WebProcess/IconDatabase/WebIconDatabaseProxy.h: Added.
   8396 
   8397         Hook up initialization and messaging for the icon database proxy:
   8398         * WebProcess/WebProcess.cpp:
   8399         (WebKit::WebProcess::WebProcess):
   8400         (WebKit::WebProcess::initializeWebProcess):
   8401         (WebKit::WebProcess::didReceiveMessage):
   8402         * WebProcess/WebProcess.h:
   8403 
   8404 2011-03-15  Sam Weinig  <sam (a] webkit.org>
   8405 
   8406         Reviewed by Anders Carlsson.
   8407 
   8408         WebKit2: False SPOD cursor when context menu is open
   8409         <rdar://problem/9029154>
   8410         https://bugs.webkit.org/show_bug.cgi?id=56433
   8411 
   8412         * UIProcess/WebPageProxy.cpp:
   8413         (WebKit::WebPageProxy::showContextMenu):
   8414         Update to match showPopupMenu idiomatically, and stop the responsivenessTimer
   8415         since the act of showing the context menu could spin a nested runloop.
   8416 
   8417         * UIProcess/mac/WebContextMenuProxyMac.mm:
   8418         (WebKit::WebContextMenuProxyMac::showContextMenu):
   8419         * UIProcess/qt/WebContextMenuProxyQt.cpp:
   8420         (WebKit::WebContextMenuProxyQt::showContextMenu):
   8421         * UIProcess/win/WebContextMenuProxyWin.cpp:
   8422         (WebKit::WebContextMenuProxyWin::showContextMenu):
   8423         Move isEmpty() check to implementations, since we don't want to show
   8424         this in any case, not just the one where we check it.
   8425 
   8426 2011-03-15  Siddharth Mathur  <siddharth.mathur (a] nokia.com>
   8427 
   8428         Reviewed by Laszlo Gombos.
   8429 
   8430         [Qt][Symbian][WK2] Fix exporting and importing the WebProcessMainQt symbol
   8431         https://bugs.webkit.org/show_bug.cgi?id=56417
   8432 
   8433         Use the Q_DECL_EXPORT and Q_DECL_IMPORT macros directly to make sure
   8434         the symbol is always exported/imported.
   8435 
   8436         * WebProcess/qt/WebProcessMainQt.cpp:
   8437         (WebKit::WebProcessMainQt):
   8438         * qt/MainQt.cpp:
   8439 
   8440 2011-03-15  Alexey Proskuryakov  <ap (a] apple.com>
   8441 
   8442         Reviewed by Darin Adler.
   8443 
   8444         REGRESSION (WebKit2): keygen element doesn't work
   8445         https://bugs.webkit.org/show_bug.cgi?id=56402
   8446         <rdar://problem/9006545>
   8447 
   8448         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
   8449         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
   8450         Added strings used by keygen.
   8451 
   8452         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: Initialize a WebCore pointer to
   8453         a function used by keygen.
   8454 
   8455 2011-03-15  Beth Dakin  <bdakin (a] apple.com>
   8456 
   8457         Reviewed by Simon Fraser.
   8458 
   8459         WebKit2 part of <rdar://problem/9075624> Overlay scrollbars slow down PLT by 6%
   8460 
   8461         New WebKitystemInterface function to force the scrollbars to flash
   8462         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
   8463         (InitWebCoreSystemInterface):
   8464 
   8465 2011-03-15  Anders Carlsson  <andersca (a] apple.com>
   8466 
   8467         Reviewed by Sam Weinig.
   8468 
   8469         Make sure that NP_Shutdown is always the last NPP function called
   8470         https://bugs.webkit.org/show_bug.cgi?id=56391
   8471         <rdar://problem/8989902>
   8472 
   8473         Make sure to always increment the load count whenever a web process connection
   8474         is opened to a plug-in process, and decrement it when the last web process connection
   8475         goes away.
   8476 
   8477         * PluginProcess/PluginProcess.cpp:
   8478         (WebKit::PluginProcess::createWebProcessConnection):
   8479         (WebKit::PluginProcess::startShutdownTimerIfNecessary):
   8480         * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
   8481         * Shared/Plugins/Netscape/NetscapePluginModule.h:
   8482         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
   8483         (WebKit::NetscapePlugin::NetscapePlugin):
   8484         (WebKit::NetscapePlugin::~NetscapePlugin):
   8485 
   8486 2011-03-15  Martin Robinson  <mrobinson (a] igalia.com>
   8487 
   8488         Reviewed by Adam Barth.
   8489 
   8490         [GTK] [WebKit2] The UIProcess never changes the mouse cursor
   8491         https://bugs.webkit.org/show_bug.cgi?id=56333
   8492 
   8493         Add an implementation for WebView::addCursor for WebKit2 GTK+. This allows
   8494         the cursor to change as the user mouses around the page. There is currently
   8495         no test infrastructure to track cursor changes.
   8496 
   8497         * UIProcess/gtk/WebView.cpp:
   8498         (WebKit::WebView::setCursor): Ported implementation from WebKit1.
   8499 
   8500 2011-03-15  Kevin Ollivier  <kevino (a] theolliviers.com>
   8501 
   8502         Reviewed by Darin Adler.
   8503 
   8504         Introduce WTF_USE_EXPORT_MACROS, which will allow us to put shared library import/export
   8505         info into the headers rather than in export symbol definition files, but disable it on 
   8506         all platforms initially so we can deal with port build issues one port at a time.
   8507         
   8508         https://bugs.webkit.org/show_bug.cgi?id=27551
   8509 
   8510         * config.h:
   8511 
   8512 2011-03-14  Alexey Proskuryakov  <ap (a] apple.com>
   8513 
   8514         Reviewed by Darin Adler.
   8515 
   8516         REGRESSION: Print preview is blank when selecting multiple pages per sheet
   8517         https://bugs.webkit.org/show_bug.cgi?id=56341
   8518         <rdar://problem/8991382>
   8519 
   8520         * UIProcess/API/mac/WKPrintingView.mm: (pageDidDrawToPDF): Don't reset latest expected
   8521         callback number after receiving a different one. We only update preview after receiving
   8522         the latest expected page data (and the assumption is that AppKit will ask for pages in
   8523         natural order for N-up).
   8524 
   8525 2011-03-14  Adam Roben  <aroben (a] apple.com>
   8526 
   8527         Make WKBundlePageCanHandleRequest return true for empty document URLs
   8528 
   8529         Reviewed by Sam Weinig.
   8530 
   8531         * WebProcess/WebPage/WebPage.cpp:
   8532         (WebKit::WebPage::canHandleRequest): Return true for any URL schemes that are handled as
   8533         empty documents, and defer to the platform for everything else.
   8534 
   8535         * WebProcess/WebPage/WebPage.h: Added platformCanHandleRequest.
   8536 
   8537         * WebProcess/WebPage/mac/WebPageMac.mm:
   8538         (WebKit::WebPage::platformCanHandleRequest):
   8539         * WebProcess/WebPage/qt/WebPageQt.cpp:
   8540         (WebKit::WebPage::platformCanHandleRequest):
   8541         * WebProcess/WebPage/win/WebPageWin.cpp:
   8542         (WebKit::WebPage::platformCanHandleRequest):
   8543         Renamed from canHandleRequest.
   8544 
   8545 2011-03-14  Chris Fleizach  <cfleizach (a] apple.com>
   8546 
   8547         Reviewed by Beth Dakin.
   8548 
   8549         CrashTracer: 60 crashes in WebProcess at com.apple.WebKit2: -[AccessibilityWebPageObject accessibilityHitTest:] + 248
   8550         https://bugs.webkit.org/show_bug.cgi?id=56336
   8551 
   8552         Crash trace indicates a nil pointer access in one of these m_page->mainFrame()->coreFrame()->view()
   8553         pointers.
   8554 
   8555         * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm:
   8556         (-[AccessibilityWebPageObject accessibilityHitTest:]):
   8557 
   8558 2011-03-14  Alice Liu  <alice.liu (a] apple.com>
   8559 
   8560         Reviewed by Sam Weinig.
   8561 
   8562         Provide API for creating WKImage from CGImageRef
   8563         https://bugs.webkit.org/show_bug.cgi?id=56159
   8564 
   8565         Add function for creating a WKImage from CGImage data.
   8566         * Shared/API/c/cg/WKImageCG.cpp:
   8567         (WKImageCreateFromCGImage): Added. Creates a graphics context for the bitmap-backed image and draws into it. 
   8568         * Shared/API/c/cg/WKImageCG.h:
   8569 
   8570 2011-03-14  Balazs Kelemen  <kbalazs (a] webkit.org>
   8571 
   8572         Reviewed by Adam Roben.
   8573 
   8574         [Qt][WK2]Unbreak InjectedBundle on Qt
   8575         https://bugs.webkit.org/show_bug.cgi?id=54109
   8576 
   8577         Add API's to WKURL and WKString to satisfy
   8578         WebKitTestRunner's needs.
   8579 
   8580         * Shared/API/c/WKString.cpp:
   8581         (WKStringIsEqualToUTF8CStringIgnoringCase):
   8582         * Shared/API/c/WKString.h:
   8583         * Shared/API/c/WKURL.cpp:
   8584         (WKURLCopyHostName):
   8585         (WKURLCopyScheme):
   8586         * Shared/API/c/WKURL.h:
   8587         * Shared/WebString.h:
   8588         (WebKit::WebString::equalToUTF8StringIgnoringCase):
   8589         * Shared/WebURL.h: Added OwnPtr<KURL> member to be able
   8590         to lazily parse the URL and store the result.
   8591         (WebKit::WebURL::host):
   8592         (WebKit::WebURL::protocol):
   8593         (WebKit::WebURL::parseURLIfNecessary):
   8594         * win/WebKit2.def: Revert the symbol exports that were
   8595         needed to use KURL in WebKitTestRunner.
   8596 
   8597 2011-03-14  Jeff Miller  <jeffm (a] apple.com>
   8598 
   8599         Reviewed by Adam Roben.
   8600 
   8601         Add WKViewSetScrollOffsetOnNextResize() to C API on Windows
   8602         https://bugs.webkit.org/show_bug.cgi?id=56340
   8603 
   8604         * UIProcess/API/C/win/WKView.cpp:
   8605         (WKViewSetScrollOffsetOnNextResize): Added.
   8606         * UIProcess/API/C/win/WKView.h: Added WKViewSetScrollOffsetOnNextResize().
   8607         * UIProcess/win/WebView.cpp:
   8608         (WebKit::WebView::onSizeEvent): Apply any scroll offset when setting the drawing area size.
   8609         (WebKit::WebView::setScrollOffsetOnNextResize): Added.
   8610         * UIProcess/win/WebView.h: Added setScrollOffsetOnNextResize().
   8611 
   8612 2011-03-14  Brian Weinstein  <bweinstein (a] apple.com>
   8613 
   8614         Reviewed by Adam Roben and Gavin Barraclough.
   8615 
   8616         FileSystemWin.cpp needs listDirectory() implementation
   8617         https://bugs.webkit.org/show_bug.cgi?id=56331
   8618         <rdar://problem/9126635>
   8619         
   8620         Move PathWalker down into WebCore, and call the PathWalker in WebCore
   8621         (that now has a second argument, the pattern to take).
   8622 
   8623         * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
   8624         (WebKit::PluginInfoStore::pluginPathsInDirectory):
   8625 
   8626 2011-03-14  Sam Weinig  <sam (a] webkit.org>
   8627 
   8628         Reviewed by Darin Adler.
   8629 
   8630         WebKit2: No icon shown for <input type=file>
   8631         <rdar://problem/8988982>
   8632         https://bugs.webkit.org/show_bug.cgi?id=54288
   8633 
   8634         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
   8635         (WebKit::WebChromeClient::chooseIconForFiles):
   8636         Add implementation for chooseIconForFiles which calls down to Icon::createIconForFiles.
   8637 
   8638 2011-03-14  Brady Eidson  <beidson (a] apple.com>
   8639 
   8640         Reviewed by Dan Bernstein.
   8641 
   8642         <rdar://problem/8762095> and https://bugs.webkit.org/show_bug.cgi?id=55172
   8643         Need WK2 API to view/manage origins with LocalStorage
   8644 
   8645         Hookup the existing API stubs to the WebCore implementations:
   8646         * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
   8647         (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
   8648         (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
   8649         (WebKit::WebKeyValueStorageManager::deleteAllEntries):
   8650 
   8651 2011-03-13  Brady Eidson  <beidson (a] apple.com>
   8652 
   8653         Reviewed by Sam Weinig.
   8654 
   8655         <rdar://problem/9127270> and https://bugs.webkit.org/show_bug.cgi?id=56282
   8656 
   8657         Pass the path along with creation parameters:
   8658         * Shared/WebProcessCreationParameters.cpp:
   8659         (WebKit::WebProcessCreationParameters::encode):
   8660         (WebKit::WebProcessCreationParameters::decode):
   8661         * Shared/WebProcessCreationParameters.h:
   8662 
   8663         Add SPI to set the path:
   8664         * UIProcess/API/C/WKContext.cpp:
   8665         (WKContextSetLocalStorageDirectory):
   8666         * UIProcess/API/C/WKContextPrivate.h:
   8667 
   8668         Pass the path along in the process creation parameters:
   8669         * UIProcess/WebContext.cpp:
   8670         (WebKit::WebContext::ensureWebProcess):
   8671         (WebKit::WebContext::localStorageDirectory):
   8672         * UIProcess/WebContext.h:
   8673         (WebKit::WebContext::setLocalStorageDirectory):
   8674 
   8675         * UIProcess/gtk/WebContextGtk.cpp:
   8676         (WebKit::WebContext::platformDefaultLocalStorageDirectory):
   8677         * UIProcess/mac/WebContextMac.mm:
   8678         (WebKit::WebContext::platformDefaultLocalStorageDirectory):
   8679         * UIProcess/qt/WebContextQt.cpp:
   8680         (WebKit::WebContext::platformDefaultLocalStorageDirectory):
   8681         * UIProcess/win/WebContextWin.cpp:
   8682         (WebKit::WebContext::platformDefaultLocalStorageDirectory):
   8683 
   8684         Include the path with settings updates, because WebCore needs it set on the Settings object:
   8685         * WebProcess/WebPage/WebPage.cpp:
   8686         (WebKit::WebPage::updatePreferences):
   8687 
   8688         * WebProcess/WebProcess.cpp:
   8689         (WebKit::WebProcess::initializeWebProcess):
   8690         * WebProcess/WebProcess.h:
   8691         (WebKit::WebProcess::localStorageDirectory):
   8692 
   8693         Sandboxing stuff:
   8694         * WebProcess/com.apple.WebProcess.sb:
   8695         * WebProcess/mac/WebProcessMac.mm:
   8696         (WebKit::initializeSandbox):
   8697 
   8698 2011-03-12  Jer Noble  <jer.noble (a] apple.com>
   8699 
   8700         Reviewed by Mark Rowe.
   8701 
   8702         WebKit2: Build WKFullScreenWindowController cleanly in 32-bit.
   8703         https://bugs.webkit.org/show_bug.cgi?id=56260
   8704 
   8705         Include <Carbon/Carbon.h> instead of <HIToolbox/MacApplication.h>.
   8706 
   8707         * UIProcess/mac/WKFullScreenWindowController.mm:
   8708 
   8709 2011-03-13  Sam Weinig  <sam (a] webkit.org>
   8710 
   8711         Reviewed by Anders Carlsson.
   8712 
   8713         Add ability to create a WKErrorRef
   8714         <rdar://problem/9115768>
   8715         https://bugs.webkit.org/show_bug.cgi?id=56279
   8716 
   8717         * Shared/API/c/cf/WKErrorCF.cpp: Added.
   8718         (WKErrorCreateWithCFError):
   8719         (WKErrorCopyCFError):
   8720         * Shared/API/c/cf/WKErrorCF.h: Added.
   8721         Add new API to create a WKErrorRef from a CFErrorRef
   8722         and vice-versa.
   8723 
   8724         * WebKit2.xcodeproj/project.pbxproj:
   8725         * win/WebKit2.vcproj:
   8726         * win/WebKit2Generated.make:
   8727         Add new files.
   8728 
   8729 2011-03-13  Pratik Solanki  <psolanki (a] apple.com>
   8730 
   8731         Reviewed by Brady Eidson.
   8732 
   8733         Make adjustMIMETypeIfNecessary use CFNetwork directly
   8734         https://bugs.webkit.org/show_bug.cgi?id=55912
   8735 
   8736         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
   8737         (InitWebCoreSystemInterface): Support for new WKSI functions.
   8738 
   8739 2011-03-13  Dan Bernstein  <mitz (a] apple.com>
   8740 
   8741         Reviewed by Darin Adler.
   8742 
   8743         WebPageProxy cleanup
   8744         https://bugs.webkit.org/show_bug.cgi?id=56267
   8745 
   8746         * UIProcess/WebPageProxy.cpp: Moved all Mac-only function implementations from
   8747         here to WebPageProxyMac.mm.
   8748         * UIProcess/WebPageProxy.h: Cleaned up #includes.
   8749         * UIProcess/mac/WebPageProxyMac.mm: Moved all Mac-only function implementations
   8750         here.
   8751         (WebKit::WebPageProxy::updateWindowIsVisible):
   8752         (WebKit::WebPageProxy::windowAndViewFramesChanged):
   8753         (WebKit::WebPageProxy::getMarkedRange):
   8754         (WebKit::WebPageProxy::characterIndexForPoint):
   8755         (WebKit::WebPageProxy::firstRectForCharacterRange):
   8756         (WebKit::WebPageProxy::writeSelectionToPasteboard):
   8757         (WebKit::WebPageProxy::setDragImage):
   8758         (WebKit::WebPageProxy::performDictionaryLookupAtLocation):
   8759         (WebKit::WebPageProxy::interpretKeyEvent):
   8760         (WebKit::WebPageProxy::sendComplexTextInputToPlugin):
   8761         (WebKit::WebPageProxy::uppercaseWord):
   8762         (WebKit::WebPageProxy::lowercaseWord):
   8763         (WebKit::WebPageProxy::capitalizeWord):
   8764         (WebKit::WebPageProxy::setSmartInsertDeleteEnabled):
   8765         (WebKit::WebPageProxy::didPerformDictionaryLookup):
   8766         (WebKit::WebPageProxy::registerWebProcessAccessibilityToken):
   8767         (WebKit::WebPageProxy::registerUIProcessAccessibilityTokens):
   8768         (WebKit::WebPageProxy::setComplexTextInputEnabled):
   8769 
   8770 2011-03-13  Dan Bernstein  <mitz (a] apple.com>
   8771 
   8772         Reviewed by Darin Adler.
   8773 
   8774         <rdar://problem/8949683> WebKit2: Drag image is offset when the page is scrolled down
   8775         https://bugs.webkit.org/show_bug.cgi?id=56265
   8776 
   8777         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
   8778         (WebKit::WebDragClient::startDrag): Send the location in view coordinates rather than
   8779         document coordinates.
   8780 
   8781 2011-03-13  Dan Bernstein  <mitz (a] apple.com>
   8782 
   8783         Reviewed by Mark Rowe.
   8784 
   8785         Fix a crash when dragging.
   8786 
   8787         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
   8788         (WebKit::convertImageToBitmap): Retain the saved context.
   8789 
   8790 2011-03-12  Darin Adler  <darin (a] apple.com>
   8791 
   8792         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
   8793         (WebKit::WebDragClient::startDrag): Fixed typo in a comment.
   8794 
   8795 2011-03-11  Darin Adler  <darin (a] apple.com>
   8796 
   8797         Reviewed by Sam Weinig.
   8798 
   8799         Dragging image to desktop gives webloc instead of image file in WebKit2
   8800         https://bugs.webkit.org/show_bug.cgi?id=56193
   8801 
   8802         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
   8803         (WebKit::convertImageToBitmap): Added. Factored out from startDrag to
   8804         make the startDrag code clearer.
   8805         (WebKit::WebDragClient::startDrag): Streamlined code a bit.
   8806         (WebKit::cachedImage): Added. Helper for function below.
   8807         (WebKit::arrayForURLsWithTitles): Added. Helper for function below.
   8808         (WebKit::WebDragClient::declareAndWriteDragImage): Added code to handle file
   8809         promises and removed a log of uneeded code.
   8810         (-[WKPasteboardFilePromiseOwner copyDropDirectory]): Added.
   8811         (promisedDataClient): Added.
   8812         (-[WKPasteboardOwner clearImage]): Added.
   8813         (-[WKPasteboardOwner initWithImage:]): Added.
   8814         (-[WKPasteboardOwner dealloc]): Added.
   8815         (-[WKPasteboardOwner finalize]): Added.
   8816         (-[WKPasteboardOwner pasteboard:provideDataForType:]): Added.
   8817         (-[WKPasteboardOwner pasteboardChangedOwner:]): Added.
   8818         (matchesExtensionOrEquivalent): Added.
   8819         (-[WKPasteboardOwner namesOfPromisedFilesDroppedAtDestination:]): Added.
   8820         Much of the new code above came from the WebKit1 drag code.
   8821 
   8822         * WebProcess/WebPage/WebPage.cpp:
   8823         (WebKit::WebPage::dragEnded): Added call to Mac-only platformDragEnded.
   8824         * WebProcess/WebPage/WebPage.h: Added Mac-only platformDragEnded and m_dragSource.
   8825         * WebProcess/WebPage/mac/WebPageMac.mm:
   8826         (WebKit::WebPage::setDragSource): Added.
   8827         (WebKit::WebPage::platformDragEnded): Added.
   8828 
   8829 2011-03-12  Mark Rowe  <mrowe (a] apple.com>
   8830 
   8831         Fix the 32-bit build.
   8832 
   8833         This involves hacking around some HIToolbox headers that do things of dubious correctness,
   8834         and fixing the usual CGRect vs NSRect issues.
   8835         
   8836         * UIProcess/mac/WKFullScreenWindowController.mm:
   8837         (-[WKFullScreenWindowController enterFullScreen:]): NSRect is not CGRect.
   8838         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
   8839         (WebKit::WebFullScreenManagerMac::beginExitFullScreenAnimation): Ditto.
   8840 
   8841 2011-03-12  Anders Carlsson  <andersca (a] apple.com>
   8842 
   8843         Reviewed by Sam Weinig.
   8844 
   8845         * WebProcess/WebPage/WebFrame.cpp:
   8846         (WebKit::WebFrame::url):
   8847         Get the URL from the loader, not from the document.
   8848 
   8849         (WebKit::WebFrame::suggestedFilenameForResourceWithURL):
   8850         Return the correct suggested filename for the main resource.
   8851 
   8852         (WebKit::WebFrame::mimeTypeForResourceWithURL):
   8853         Return the correct mime type for the main resource.
   8854 
   8855 2011-03-12  Anders Carlsson  <andersca (a] apple.com>
   8856 
   8857         Reviewed by Sam Weinig.
   8858 
   8859         Should be able to download a PDF to the Downloads folder
   8860         https://bugs.webkit.org/show_bug.cgi?id=56256
   8861 
   8862         * UIProcess/API/C/WKPage.h:
   8863         Add WKPageSaveDataToFileInDownloadsFolderCallback to the UI client.
   8864 
   8865         * UIProcess/API/mac/PDFViewController.h:
   8866         * UIProcess/API/mac/PDFViewController.mm:
   8867         (-[WKPDFView _applyPDFPreferences]):
   8868         (-[WKPDFView _updatePreferences:]):
   8869         Use new PDFViewController::page getter.
   8870 
   8871         (-[WKPDFView PDFViewSavePDFToDownloadFolder:]):
   8872         Call PDFViewController::savePDFToDownloadsFolder.
   8873 
   8874         (WebKit::releaseCFData):
   8875         (WebKit::PDFViewController::savePDFToDownloadsFolder):
   8876         Create a WebData that wraps the CFData, then pass it along to
   8877         WebPageProxy::saveDataToFileInDownloadsFolder.
   8878 
   8879         * UIProcess/WebPageProxy.cpp:
   8880         (WebKit::WebPageProxy::saveDataToFileInDownloadsFolder):
   8881         Call WebUIClient::saveDataToFileInDownloadsFolder.
   8882 
   8883         (WebKit::WebUIClient::saveDataToFileInDownloadsFolder):
   8884         * UIProcess/WebUIClient.h:
   8885         Call the UI client callback function.
   8886 
   8887 2011-03-12  Anders Carlsson  <andersca (a] apple.com>
   8888 
   8889         Reviewed by Sam Weinig.
   8890 
   8891         WebData should be able to wrap already existing data
   8892         https://bugs.webkit.org/show_bug.cgi?id=56254
   8893 
   8894         * Shared/WebData.h:
   8895         (WebKit::WebData::createWithoutCopying):
   8896         (WebKit::WebData::create):
   8897         (WebKit::WebData::~WebData):
   8898         (WebKit::WebData::bytes):
   8899         (WebKit::WebData::size):
   8900         (WebKit::WebData::WebData):
   8901         (WebKit::WebData::fastFreeBytes):
   8902 
   8903 2011-03-12  Jer Noble  <jer.noble (a] apple.com>
   8904 
   8905         Reviewed by Eric Carlson.
   8906 
   8907         WebKit2: Initialize the WebFullScreenManagerProxy with a WKView
   8908         https://bugs.webkit.org/show_bug.cgi?id=56250
   8909 
   8910         * UIProcess/API/mac/WKView.mm:
   8911         (-[WKView initWithFrame:contextRef:pageGroupRef:]): Call fullScreenManager()->setView(self).
   8912 
   8913 2011-03-11  Jer Noble  <jer.noble (a] apple.com>
   8914 
   8915         Reviewed by Anders Carlsson.
   8916 
   8917         Add full screen animation code to WebFullScreenManager.
   8918         https://bugs.webkit.org/show_bug.cgi?id=56220
   8919 
   8920         * WebProcess/FullScreen/WebFullScreenManager.cpp: .
   8921         (WebKit::WebFullScreenManager::~WebFullScreenManager): Added.
   8922         (WebKit::WebFullScreenManager::exitFullScreenForElement): Remove ASSERTs.
   8923         (WebKit::WebFullScreenManager::willEnterFullScreen): Set the full screen renderer's background color.
   8924         (WebKit::WebFullScreenManager::didEnterFullScreen): Ditto.
   8925         (WebKit::WebFullScreenManager::willExitFullScreen): Ditto.
   8926         (WebKit::WebFullScreenManager::didExitFullScreen): Ditto.
   8927         * WebProcess/FullScreen/WebFullScreenManager.h: Make a few functions pure virtual to be implemented in a 
   8928             concrete subclass.
   8929         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h: Added.
   8930         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm: Added.
   8931         (-[WebFullScreenManagerAnimationListener initWithManager:WebKit::began:finished:]): Listener for CAAnimations.
   8932         (-[WebFullScreenManagerAnimationListener animationDidStart:]): Added.
   8933         (-[WebFullScreenManagerAnimationListener animationDidStop:finished:]): Added.
   8934         (-[WebFullScreenManagerAnimationListener invalidate]): Added.
   8935         (WebKit::WebFullScreenManager::create): Now creates a WebFullScreenManagerMac.
   8936         (WebKit::WebFullScreenManagerMac::create): Added.
   8937         (WebKit::WebFullScreenManagerMac::WebFullScreenManagerMac): Added.
   8938         (WebKit::WebFullScreenManagerMac::~WebFullScreenManagerMac): Added.
   8939         (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer): Set up the remote layer host.
   8940         (WebKit::WebFullScreenManagerMac::beginEnterFullScreenAnimation): Create a CATransform3D
   8941             which will animate the full screen renderer from its initial position to its final one.
   8942         (WebKit::WebFullScreenManagerMac::beginExitFullScreenAnimation): Ditto.
   8943 
   8944 2011-03-11  Jer Noble  <jer.noble (a] apple.com>
   8945 
   8946         Reviewed by Anders Carlsson.
   8947 
   8948         Hook up new WKFullScreenWindowController functions to WebFullScreenManagerProxy
   8949         https://bugs.webkit.org/show_bug.cgi?id=56218
   8950 
   8951         * UIProcess/WebFullScreenManagerProxy.cpp:
   8952         * UIProcess/mac/WebFullScreenManagerProxyMac.mm: Added.
   8953         (WebKit::WebFullScreenManagerProxy::enterFullScreen): Call into WKFullScreenWindowController.
   8954         (WebKit::WebFullScreenManagerProxy::exitFullScreen): Ditto.
   8955         (WebKit::WebFullScreenManagerProxy::beganEnterFullScreenAnimation): Ditto.
   8956         (WebKit::WebFullScreenManagerProxy::finishedEnterFullScreenAnimation): Ditto.
   8957         (WebKit::WebFullScreenManagerProxy::beganExitFullScreenAnimation): Ditto.
   8958         (WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation): Ditto.
   8959         (WebKit::WebFullScreenManagerProxy::enterAcceleratedCompositingMode): Ditto.
   8960         (WebKit::WebFullScreenManagerProxy::exitAcceleratedCompositingMode): Ditto.
   8961         (WebKit::WebFullScreenManagerProxy::getFullScreenRect): Ditto.
   8962         * UIProcess/API/mac/WKView.mm:
   8963         (-[WKView fullScreenWindowController]): Lazily instantiate a WKFullScreenWindowController.
   8964         * UIProcess/API/mac/WKViewInternal.h:
   8965 
   8966 2011-03-11  Jer Noble  <jer.noble (a] apple.com>
   8967 
   8968         Reviewed by Anders Carlsson.
   8969 
   8970         Add the WKFullScreenWindowController, mostly cribbed from WebKit's WebFullScreenController.
   8971 
   8972         [WebKit2] Implement a full screen window controller
   8973         https://bugs.webkit.org/show_bug.cgi?id=56210
   8974 
   8975         * UIProcess/mac/WKFullScreenWindowController.h: Added.
   8976         * UIProcess/mac/WKFullScreenWindowController.mm: Added.
   8977         (-[WKFullScreenWindowController init]): Remove the _mediaEventListener.
   8978         (-[WKFullScreenWindowController dealloc]): Make sure to cancel previous async requests.
   8979         (-[WKFullScreenWindowController windowDidLoad]): Remove the Tiger protection.
   8980         (-[WKFullScreenWindowController webView]): Type change.
   8981         (-[WKFullScreenWindowController setWebView:]): Type change.
   8982         (-[WKFullScreenWindowController applicationDidResignActive:]): Case changes.
   8983         (-[WKFullScreenWindowController applicationDidChangeScreenParameters:]): Case changes.
   8984         (-[WKFullScreenWindowController enterFullScreen:]): Removed most of the animation code
   8985             which will reappear in WebFullScreenManager.
   8986         (-[WKFullScreenWindowController beganEnterFullScreenAnimation]): Added.
   8987         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Added.
   8988         (-[WKFullScreenWindowController exitFullScreen]): Ditto to enterFullScreen.
   8989         (-[WKFullScreenWindowController beganExitFullScreenAnimation]): Added.
   8990         (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Added.
   8991         (-[WKFullScreenWindowController enterAcceleratedCompositingMode:WebKit::]): Set up the
   8992             layer tree host.
   8993         (-[WKFullScreenWindowController exitAcceleratedCompositingMode]): Tear down same.
   8994         (-[WKFullScreenWindowController getFullScreenRect:WebCore::]): Added.
   8995         (-[WKFullScreenWindowController _updateMenuAndDockForFullScreen]): Case changes.
   8996         (-[WKFullScreenWindowController _disableIdleDisplaySleep]): Ditto.
   8997         (-[WKFullScreenWindowController _enableIdleDisplaySleep]): Ditto.
   8998         (-[WKFullScreenWindowController _disableIdleSystemSleep]): Ditto.
   8999         (-[WKFullScreenWindowController _enableIdleSystemSleep]): Ditto.
   9000         (-[WKFullScreenWindowController _enableTickleTimer]): Ditto.
   9001         (-[WKFullScreenWindowController _disableTickleTimer]): Ditto.
   9002         (-[WKFullScreenWindowController _tickleTimerFired]): Ditto.
   9003         (-[WKFullScreenWindowController _updatePowerAssertions]): Use _isPlaying ivar.
   9004         (-[WKFullScreenWindowController _manager]): Added.
   9005         (-[WKFullScreenWindowController _requestExit]): Case changes.
   9006         (-[WKFullScreenWindowController _requestExitFullScreenWithAnimation:]): Ditto.
   9007         (-[WKFullScreenWindowController _swapView:with:]): Added.
   9008         (-[WKFullScreenWindowController _fullScreenWindow]): Case changes.
   9009         (-[WKFullScreenWindow initWithContentRect:styleMask:backing:defer:]): Geometry no
   9010             longer needs to be flipped.
   9011         (-[WKFullScreenWindow cancelOperation:]): Case changes.
   9012 
   9013 2011-03-11  Jer Noble  <jer.noble (a] apple.com>
   9014 
   9015         Reviewed by Anders Carlsson.
   9016 
   9017         Create new interface stubs to support full screen mode in WebKit2.
   9018 
   9019         WebKit2: Plumb new full screen animation APIs through WebKit2.
   9020         https://bugs.webkit.org/show_bug.cgi?id=55993
   9021 
   9022         * UIProcess/WebFullScreenManagerProxy.cpp:
   9023         (WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy): Added.
   9024         (WebKit::WebFullScreenManagerProxy::invalidate): Clear m_webView.
   9025         (WebKit::WebFullScreenManagerProxy::setWebView): Set m_webView.
   9026         (WebKit::WebFullScreenManagerProxy::beginEnterFullScreenAnimation): Added.
   9027         (WebKit::WebFullScreenManagerProxy::beginExitFullScreenAnimation): Added.
   9028         (WebKit::WebFullScreenManagerProxy::beganEnterFullScreenAnimation): Added stub.
   9029         (WebKit::WebFullScreenManagerProxy::finishedEnterFullScreenAnimation): Added stub.
   9030         (WebKit::WebFullScreenManagerProxy::beganExitFullScreenAnimation): Added stub.
   9031         (WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation): Added stub.
   9032         (WebKit::WebFullScreenManagerProxy::enterAcceleratedCompositingMode): Added stub.
   9033         (WebKit::WebFullScreenManagerProxy::exitAcceleratedCompositingMode): Added stub.
   9034         (WebKit::WebFullScreenManagerProxy::getFullScreenRect): Added stub.
   9035         * UIProcess/WebFullScreenManagerProxy.h:
   9036         * UIProcess/WebFullScreenManagerProxy.messages.in: Added new message definitions.
   9037         * UIProcess/WebPageProxy.cpp: Moved include of WebFullScreenManagerProxy.h into source file.
   9038         * UIProcess/WebPageProxy.h: Ditto.
   9039         * WebProcess/FullScreen/WebFullScreenManager.cpp:
   9040         (WebKit::WebFullScreenManager::element): Added.
   9041         (WebKit::WebFullScreenManager::supportsFullScreen): Send message through WebPage.
   9042         (WebKit::WebFullScreenManager::enterFullScreenForElement): Ditto.
   9043         (WebKit::WebFullScreenManager::exitFullScreenForElement): Ditto.
   9044         (WebKit::WebFullScreenManager::beganEnterFullScreenAnimation): Added..
   9045         (WebKit::WebFullScreenManager::finishedEnterFullScreenAnimation): Added.
   9046         (WebKit::WebFullScreenManager::beganExitFullScreenAnimation): Added.
   9047         (WebKit::WebFullScreenManager::finishedExitFullScreenAnimation): Added.
   9048         (WebKit::WebFullScreenManager::setRootFullScreenLayer): Added stub.
   9049         (WebKit::WebFullScreenManager::getFullScreenRect): Added.
   9050         (WebKit::WebFullScreenManager::beginEnterFullScreenAnimation): Added stub.
   9051         (WebKit::WebFullScreenManager::beginExitFullScreenAnimation): Added stub.
   9052         * WebProcess/FullScreen/WebFullScreenManager.h:
   9053         * WebProcess/FullScreen/WebFullScreenManager.messages.in: Added new message definitions.
   9054         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
   9055         (WebKit::WebChromeClient::setRootFullScreenLayer): Added.
   9056         * WebProcess/WebCoreSupport/WebChromeClient.h:
   9057 
   9058 2011-03-11  Alice Liu  <alice.liu (a] apple.com>
   9059 
   9060         Reviewed by Sam Weinig.
   9061 
   9062         Support encoding /decoding WebData in usermessages
   9063         https://bugs.webkit.org/show_bug.cgi?id=56158
   9064 
   9065         Added encoding/decoding for APIObject::TypeData
   9066         * Shared/UserMessageCoders.h:
   9067         (WebKit::UserMessageEncoder::baseEncode):
   9068         (WebKit::UserMessageDecoder::baseDecode):
   9069 
   9070 2011-03-11  Alice Liu  <alice.liu (a] apple.com>
   9071 
   9072         Reviewed by Sam Weinig.
   9073 
   9074         Add api for "remove" to WKMutableDictionary
   9075         https://bugs.webkit.org/show_bug.cgi?id=56157
   9076 
   9077         * Shared/API/c/WKMutableDictionary.cpp:
   9078         (WKDictionaryRemoveItem): Added; call remove on MutableDictionary impl.
   9079         * Shared/API/c/WKMutableDictionary.h:
   9080         * Shared/MutableDictionary.cpp:
   9081         (WebKit::MutableDictionary::remove): Added; call remove on the underlying hashmap.
   9082         * Shared/MutableDictionary.h:
   9083 
   9084 2011-03-11  Sheriff Bot  <webkit.review.bot (a] gmail.com>
   9085 
   9086         Unreviewed, rolling out r80899 and r80912.
   9087         http://trac.webkit.org/changeset/80899
   9088         http://trac.webkit.org/changeset/80912
   9089         https://bugs.webkit.org/show_bug.cgi?id=56236
   9090 
   9091         Caused animation tests to crash on Snow Leopard WebKit2
   9092         (Requested by rniwa on #webkit).
   9093 
   9094         * Shared/ShareableBitmap.cpp:
   9095         (WebKit::ShareableBitmap::create):
   9096         (WebKit::ShareableBitmap::createShareable):
   9097         (WebKit::ShareableBitmap::resize):
   9098         * Shared/ShareableBitmap.h:
   9099         (WebKit::ShareableBitmap::numBytesForSize):
   9100         (WebKit::ShareableBitmap::sizeInBytes):
   9101         * UIProcess/DrawingAreaProxyImpl.cpp:
   9102         (WebKit::DrawingAreaProxyImpl::update):
   9103         * WebKit2.xcodeproj/project.pbxproj:
   9104         * WebProcess/WebPage/DrawingArea.h:
   9105         (WebKit::DrawingArea::didUpdate):
   9106         * WebProcess/WebPage/DrawingArea.messages.in:
   9107         * WebProcess/WebPage/DrawingAreaImpl.cpp:
   9108         (WebKit::DrawingAreaImpl::~DrawingAreaImpl):
   9109         (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState):
   9110         (WebKit::DrawingAreaImpl::didUpdate):
   9111         (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
   9112         (WebKit::DrawingAreaImpl::display):
   9113         * WebProcess/WebPage/DrawingAreaImpl.h:
   9114         * WebProcess/WebPage/SharedMemoryCache.cpp: Removed.
   9115         * WebProcess/WebPage/SharedMemoryCache.h: Removed.
   9116         * win/WebKit2.vcproj:
   9117 
   9118 2011-03-11  Brian Weinstein  <bweinstein (a] apple.com>
   9119 
   9120         Windows build fix. Add SharedMemoryCache to the vcproj.
   9121 
   9122         * win/WebKit2.vcproj:
   9123 
   9124 2011-03-11  Alexey Proskuryakov  <ap (a] apple.com>
   9125 
   9126         Reviewed by Sam Weinig.
   9127 
   9128         https://bugs.webkit.org/show_bug.cgi?id=56222
   9129         A window remains frozen if web process crashes during printing
   9130 
   9131         * UIProcess/API/mac/PageClientImpl.h:
   9132         * UIProcess/API/mac/PageClientImpl.mm:
   9133         * UIProcess/PageClient.h:
   9134         * UIProcess/WebPageProxy.cpp:
   9135         (WebKit::WebPageProxy::setComplexTextInputEnabled):
   9136         * UIProcess/WebPageProxy.h:
   9137         Moved setAutodisplay code into WKPrintingView.
   9138 
   9139         * UIProcess/API/mac/WKPrintingView.h:
   9140         * UIProcess/API/mac/WKView.mm:
   9141         (-[WKView printOperationWithPrintInfo:forFrame:]):
   9142         Keep a reference to the actual WKView, so that we can manipulate how it displays, even if
   9143         page goes away.
   9144 
   9145         * UIProcess/API/mac/WKPrintingView.mm:
   9146         (-[WKPrintingView initWithFrameProxy:WebKit::view:]):
   9147         (-[WKPrintingView _setAutodisplay:]):
   9148         (-[WKPrintingView _suspendAutodisplay]):
   9149         (-[WKPrintingView _delayedResumeAutodisplayTimerFired]):
   9150         Move setAutodisplay here.
   9151 
   9152 2011-03-11  Anders Carlsson  <andersca (a] apple.com>
   9153 
   9154         Reviewed by Sam Weinig.
   9155 
   9156         Add a shared memory cache to the web process
   9157         https://bugs.webkit.org/show_bug.cgi?id=56232
   9158 
   9159         Add a very simple shared memory cache to the web process, so that we don't have to allocate and
   9160         free memory over and over when painting.
   9161 
   9162         * Shared/ShareableBitmap.cpp:
   9163         (WebKit::ShareableBitmap::create):
   9164         (WebKit::ShareableBitmap::createShareable):
   9165         (WebKit::ShareableBitmap::resize):
   9166         * Shared/ShareableBitmap.h:
   9167         (WebKit::ShareableBitmap::numBytesNeededForBitmapSize):
   9168         (WebKit::ShareableBitmap::sizeInBytes):
   9169         Rename numBytesForSize to numBytesNeededForBitmapSize.
   9170 
   9171         * UIProcess/DrawingAreaProxyImpl.cpp:
   9172         (WebKit::DrawingAreaProxyImpl::update):
   9173         Always send back a DidUpdate message, even if we didn't use the update info.
   9174         This is needed so that the web process knows when the UI process is done with the shared memory inside
   9175         the update info struct.
   9176 
   9177         * WebKit2.xcodeproj/project.pbxproj:
   9178         Add new files.
   9179 
   9180         * WebProcess/WebPage/DrawingArea.h:
   9181         (WebKit::DrawingArea::didUpdate):
   9182         * WebProcess/WebPage/DrawingArea.messages.in:
   9183         DidUpdate now takes a boolean.
   9184 
   9185         * WebProcess/WebPage/DrawingAreaImpl.cpp:
   9186         (WebKit::sharedMemoryCache):
   9187         Add shared memory cache.
   9188 
   9189         (WebKit::DrawingAreaImpl::~DrawingAreaImpl):
   9190         Return the shared memory to the cache.
   9191 
   9192         (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState):
   9193         display now takes an extra boolean.
   9194 
   9195         (WebKit::DrawingAreaImpl::didUpdate):
   9196         Return the shared memory to the cache.
   9197 
   9198         (WebKit::DrawingAreaImpl::display):
   9199         If useSharedMemoryCache is true, get shared memory from the cache.
   9200 
   9201         * WebProcess/WebPage/SharedMemoryCache.cpp: Added.
   9202         (WebKit::SharedMemoryCache::acquireSharedMemory):
   9203         If the memory we currently hold on to is big enough, return it.
   9204 
   9205         (WebKit::SharedMemoryCache::releaseSharedMemory):
   9206         If we're already holding on to shared memory, evict it if the returned
   9207         shared memory object is bigger than the one we currently hold.
   9208 
   9209         (WebKit::SharedMemoryCache::clearCacheTimerFired):
   9210         Null out the shared memory object.
   9211 
   9212 2011-03-11  Jessie Berlin  <jberlin (a] apple.com>
   9213 
   9214         Reviewed by Adam Roben.
   9215 
   9216         Crash calling WebContext::clearResourceCaches(InMemoryResourceCachesOnly) before the Web
   9217         Process has finished launching.
   9218         https://bugs.webkit.org/show_bug.cgi?id=56208
   9219 
   9220         Only send the message if the Web Process is valid.
   9221 
   9222         * UIProcess/WebContext.cpp:
   9223         (WebKit::WebContext::clearResourceCaches):
   9224 
   9225 2011-03-11  Anders Carlsson  <andersca (a] apple.com>
   9226 
   9227         Reviewed by Dan Bernstein.
   9228 
   9229         Don't paint more than 60 times per second
   9230         https://bugs.webkit.org/show_bug.cgi?id=56206
   9231         <rdar://problem/9085989>
   9232 
   9233         * WebProcess/WebPage/DrawingAreaImpl.cpp:
   9234         (WebKit::DrawingAreaImpl::DrawingAreaImpl):
   9235         Initialize m_lastDisplayTime to 0. Change the display timer to call displayTimerFired.
   9236 
   9237         (WebKit::DrawingAreaImpl::didUpdate):
   9238         Call displayTimerFired instead of display.
   9239 
   9240         (WebKit::DrawingAreaImpl::displayTimerFired):
   9241         If we're asked to paint again less than 1/60th of a second after we've already painted,
   9242         defer painting.
   9243 
   9244         (WebKit::DrawingAreaImpl::display):
   9245         Update m_lastDisplayTime.
   9246 
   9247 2011-03-11  Mark Rowe  <mrowe (a] apple.com>
   9248 
   9249         Reviewed by Alice Liu.
   9250 
   9251         <rdar://problem/9120161> WKPageRestoreFromSessionState does not set the pending API request URL.
   9252 
   9253         * UIProcess/cf/WebPageProxyCF.cpp:
   9254         (WebKit::WebPageProxy::restoreFromSessionStateData): If we're navigating to a back/forward item
   9255         as part of the restoration, call setPendingAPIRequestURL. When there's a provisional URL this will
   9256         be done by our call to loadURL elsewhere in the function.
   9257 
   9258 2011-03-10  Alexey Proskuryakov  <ap (a] apple.com>
   9259 
   9260         Reviewed by Jon Honeycutt.
   9261 
   9262         WebKit2 UI process crashes if web process crashes while computing page rects for printing
   9263         https://bugs.webkit.org/show_bug.cgi?id=56160
   9264         <rdar://problem/9027410>
   9265 
   9266         * UIProcess/API/mac/WKPrintingView.mm:
   9267         (-[WKPrintingView _suspendAutodisplay]): Added a null check for page, matching one that
   9268         we have when resuming autodisplay.
   9269         (-[WKPrintingView _delayedResumeAutodisplayTimerFired]): Added a FIXME.
   9270         (pageDidComputePageRects): Sanitize results coming from the web process (and avoid crashing
   9271         when there is a communication error, so results are all null).
   9272         (-[WKPrintingView knowsPageRange:]): If there is no page any more, we can't tell how many
   9273         pages it had.
   9274         (-[WKPrintingView rectForPage:]): Handle the case where we are neither calculating pages
   9275         nor knowing them, as it happens when the web process crashes.        
   9276 
   9277 2011-03-10  Mark Rowe  <mrowe (a] apple.com>
   9278 
   9279         Rubber-stamped by Sam Weinig.
   9280 
   9281         Part of <rdar://problem/8728860> WebKit2 needs to be made localizable
   9282 
   9283         The presence of CFBundleDevelopmentRegion in the application's Info.plist prevents
   9284         the default localization that we set during launch from being respected.
   9285 
   9286         * PluginProcess/Info.plist: Remove CFBundleDevelopmentRegion.
   9287         * WebProcess/Info.plist: Ditto.
   9288 
   9289 2011-03-10  Martin Robinson  <mrobinson (a] igalia.com>
   9290 
   9291         Build for WebKit2 GTK+ after r80714.
   9292 
   9293         * GNUmakefile.am: Update source list.
   9294         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: 
   9295         (WebKit::x11Display): Add missing semicolon.
   9296 
   9297 2011-03-10  Chris Fleizach  <cfleizach (a] apple.com>
   9298 
   9299         Reviewed by Darin Adler.
   9300 
   9301         REGRESSION (WebKit2): VoiceOver focus no longer follows keyboard focus
   9302         https://bugs.webkit.org/show_bug.cgi?id=55959
   9303 
   9304         NSApplication has to return the focused element within the app in order
   9305         for NSAccessibilityHandleFocusChanged() to work. The default implementation
   9306         relies on keyWindow. Consequently, in WK2, the WebProcess must override that method
   9307         to return the appropriate focused element within the WebProcess, since
   9308         there is no keyWindow.
   9309 
   9310         * WebKit2.xcodeproj/project.pbxproj:
   9311         * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm:
   9312         (-[AccessibilityWebPageObject accessibilityFocusedUIElement]):
   9313         * WebProcess/WebProcess.cpp:
   9314         (WebKit::WebProcess::focusedWebPage):
   9315         * WebProcess/WebProcess.h:
   9316         * WebProcess/mac/NSApplicationOverride.mm: Added.
   9317         (-[NSApplication accessibilityFocusedUIElement]):
   9318 
   9319 2011-03-10  Oleg Romashin  <romaxa (a] gmail.com>
   9320 
   9321         Reviewed by Andreas Kling.
   9322 
   9323         Make Qt port compiling with ENABLE_PLUGIN_PROCESS=1, part3
   9324         Solving conflict of Qt and Xlib includes
   9325 
   9326         * Shared/Plugins/NPIdentifierData.cpp:
   9327         * Shared/Plugins/NPIdentifierData.h:
   9328         * Shared/Plugins/NPObjectProxy.cpp:
   9329         * Shared/Plugins/NPVariantData.h:
   9330 
   9331 2011-03-10  Sam Weinig  <sam (a] webkit.org>
   9332 
   9333         Reviewed by Mark Rowe.
   9334 
   9335         - Fix plugins in release and production builds.
   9336 
   9337         * WebKit2.xcodeproj/project.pbxproj:
   9338         Make sure to base the PluginProcess target on the correct xcconfig file
   9339         in all configurations.
   9340 
   9341 2011-03-09  Matthew Delaney  <mdelaney (a] apple.com>
   9342 
   9343         Reviewed by Simon Fraser.
   9344 
   9345         Plumb through settings for accelerated drawing for canvas
   9346         https://bugs.webkit.org/show_bug.cgi?id=56039
   9347 
   9348         * Shared/WebPreferencesStore.h:
   9349         * UIProcess/API/C/WKPreferences.cpp:
   9350         * UIProcess/API/C/WKPreferencesPrivate.h:
   9351         * WebProcess/WebPage/WebPage.cpp:
   9352 
   9353 2011-03-10  Jessie Berlin  <jberlin (a] apple.com>
   9354 
   9355         Reviewed by Oliver Hunt and Brian Weinstein.
   9356 
   9357         WebKit2: Need a way to clear only the in-memory resource caches
   9358         https://bugs.webkit.org/show_bug.cgi?id=56022
   9359 
   9360         Add a parameter to WKContextClearResourceCaches to specify whether to clear all the caches
   9361         or just the memory caches.
   9362 
   9363         * Shared/ResourceCachesToClear.h: Added.
   9364         * UIProcess/API/C/WKAPICast.h:
   9365         (WebKit::toResourceCachesToClear):
   9366 
   9367         * UIProcess/API/C/WKContext.cpp:
   9368         (WKContextClearResourceCaches):
   9369         Add the new parameter.
   9370         * UIProcess/API/C/WKContext.h:
   9371         * UIProcess/WebContext.cpp:
   9372         (WebKit::WebContext::clearResourceCaches):
   9373         Ditto.
   9374         * UIProcess/WebContext.h:
   9375 
   9376         * WebProcess/WebProcess.cpp:
   9377         (WebKit::WebProcess::clearResourceCaches):
   9378         Pass the new parameter through to the platform-specific functions.
   9379         * WebProcess/WebProcess.h:
   9380         Add the new parameter and give it a default of AllResourceCaches.
   9381         * WebProcess/WebProcess.messages.in:
   9382         Ditto.
   9383         * WebProcess/gtk/WebProcessGtk.cpp:
   9384         (WebKit::WebProcess::platformClearResourceCaches):
   9385         Ditto.
   9386         * WebProcess/qt/WebProcessQt.cpp:
   9387         (WebKit::WebProcess::platformClearResourceCaches):
   9388         Ditto.
   9389         * WebProcess/win/WebProcessWin.cpp:
   9390         (WebKit::WebProcess::platformClearResourceCaches):
   9391         When told to clear only the in-memory caches, return early so as not to clear the CFNetwork
   9392         disk cache.
   9393         * WebProcess/mac/WebProcessMac.mm:
   9394         (WebKit::WebProcess::platformClearResourceCaches):
   9395         Ditto.
   9396 
   9397         * WebKit2.xcodeproj/project.pbxproj:
   9398         Add ResourceCachesToClear.h
   9399         * win/WebKit2.vcproj:
   9400         Ditto.
   9401 
   9402 2011-03-10  Jeff Miller  <jeffm (a] apple.com>
   9403 
   9404         Reviewed by Adam Roben.
   9405 
   9406         WKViewRegisterEditCommandCallback should use WKViewUndoType
   9407         https://bugs.webkit.org/show_bug.cgi?id=56120
   9408 
   9409         * UIProcess/API/C/win/WKView.h: Change undoOrRedo parameter in WKViewRegisterEditCommandCallback to be WKViewUndoType.
   9410 
   9411 2011-03-10  Gustavo Noronha Silva  <gustavo.noronha (a] collabora.co.uk>
   9412 
   9413         Reviewed by Kenneth Rohde Christiansen.
   9414 
   9415         Tiled backing store's delegated scroll request uses incorrect convention
   9416         https://bugs.webkit.org/show_bug.cgi?id=56011
   9417 
   9418         Adapt all of the internal API to match the delta to point
   9419         conversion at the WebCore side.
   9420 
   9421         * UIProcess/API/qt/qwkpage.cpp:
   9422         (QWKPagePrivate::pageDidRequestScroll):
   9423         * UIProcess/API/qt/qwkpage_p.h:
   9424         * UIProcess/PageClient.h:
   9425         * UIProcess/WebPageProxy.cpp:
   9426         (WebKit::WebPageProxy::pageDidRequestScroll):
   9427         * UIProcess/WebPageProxy.h:
   9428         * UIProcess/WebPageProxy.messages.in:
   9429         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
   9430         (WebKit::WebChromeClient::delegatedScrollRequested):
   9431         * WebProcess/WebCoreSupport/WebChromeClient.h:
   9432         * WebProcess/WebPage/WebPage.cpp:
   9433         (WebKit::WebPage::pageDidRequestScroll):
   9434         * WebProcess/WebPage/WebPage.h:
   9435 
   9436 2011-03-10  Balazs Kelemen  <kbalazs (a] webkit.org>
   9437 
   9438         Reviewed by Andreas Kling.
   9439 
   9440         [WK2] Make non-transparent windowless plugins paint on X11
   9441         https://bugs.webkit.org/show_bug.cgi?id=55660
   9442 
   9443         Implement painting for non-transparent windowless X11 plugins.
   9444         The essence of the logic has been adapted from WebCore.
   9445         The implementation is stubbed for GTK and working only on Qt
   9446         but it should be really easy to finish it for GTK.
   9447 
   9448         * WebKit2.pro:
   9449         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
   9450         (WebKit::NPN_GetValue): Handle X11 specific values that are necessary.
   9451         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
   9452         (WebKit::NetscapePlugin::NetscapePlugin): Initialize the X11 specific
   9453         members that has been added.
   9454         (WebKit::NetscapePlugin::callSetWindow): Always set the x and y coordinates
   9455         of the NP_Window to 0 on X11 since we are using a backings store as the
   9456         painting area for the plugin.
   9457         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
   9458         * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp: Removed in favour
   9459         of a common implementation for X11.
   9460         * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp: Ditto.
   9461         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Added.
   9462         (WebKit::getPluginDisplay):
   9463 
   9464         Platform specific static getters.
   9465         (WebKit::x11Display):
   9466         (WebKit::displayDepth):
   9467         (WebKit::rootWindowID):
   9468         (WebKit::x11Screen):
   9469 
   9470         (WebKit::NetscapePlugin::platformPostInitialize): Set up the visual
   9471         settings and the colormap for the plugin.
   9472         (WebKit::NetscapePlugin::platformDestroy):
   9473         (WebKit::NetscapePlugin::platformInvalidate): Remained stub.
   9474         (WebKit::NetscapePlugin::platformGeometryDidChange): Create a new
   9475         pixmap that fits the geometry.
   9476         (WebKit::NetscapePlugin::platformPaint): Propagate a paint event
   9477         to the plugin, sync with it if necessary and draw the pixmap to
   9478         the screen.
   9479         (WebKit::toNP): Remained stub.
   9480         (WebKit::NetscapePlugin::platformHandleMouseEvent): Remained stub.
   9481         (WebKit::NetscapePlugin::platformHandleWheelEvent): Remained stub.
   9482         (WebKit::NetscapePlugin::platformSetFocus): Remained stub.
   9483         (WebKit::NetscapePlugin::platformHandleMouseEnterEvent): Remained stub.
   9484         (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent): Remained stub.
   9485         (WebKit::NetscapePlugin::platformHandleKeyboardEvent): Remained stub.
   9486         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
   9487         (WebKit::WebFrameLoaderClient::createPlugin): Hack. Inject wmode=opaque
   9488         key-value pair to the plugin parameters to force Flash to act in
   9489         non-transparent windowless mode. Qt also doing this in WebCore.
   9490 
   9491 2011-03-09  Peter Kasting  <pkasting (a] google.com>
   9492 
   9493         Reviewed by Mihai Parparita.
   9494 
   9495         Unify Windows version checks.
   9496         https://bugs.webkit.org/show_bug.cgi?id=55979
   9497 
   9498         * UIProcess/win/WebPageProxyWin.cpp:
   9499         (WebKit::WebPageProxy::standardUserAgent):
   9500 
   9501 2011-03-09  Adele Peterson  <adele (a] apple.com>
   9502 
   9503         Reviewed by Anders Carlsson.
   9504 
   9505         Fix for https://bugs.webkit.org/show_bug.cgi?id=56068
   9506         <rdar://problem/9058245> WebKit2: Can't uncheck 'Spelling and Grammar' contextual items
   9507 
   9508         * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::contextMenuItemSelected):
   9509         Add cases for ContextMenuItemTagCorrectSpellingAutomatically, ContextMenuItemTagCheckSpellingWhileTyping, 
   9510         and ContextMenuItemTagCheckGrammarWithSpelling
   9511 
   9512 2011-03-09  Alexey Proskuryakov  <ap (a] apple.com>
   9513 
   9514         Reviewed by Dan Bernstein.
   9515 
   9516         Frequent crashes when printing in WebPageProxy::setAutodisplay
   9517         https://bugs.webkit.org/show_bug.cgi?id=56057
   9518         <rdar://problem/9053290>
   9519 
   9520         * UIProcess/API/mac/WKPrintingView.mm: (-[WKPrintingView _delayedResumeAutodisplayTimerFired]):
   9521         Null check the page, there is no reason for it to still exist.
   9522 
   9523 2011-03-09  Brent Fulgham  <bfulgham (a] webkit.org>
   9524 
   9525         Unreviewed build correction.
   9526 
   9527         * UIProcess/DrawingAreaProxy.messages.in: Exclude the other
   9528           method using LayerTreeContext for non-accelerated composition case.
   9529 
   9530 2011-03-09  Sam Weinig  <sam (a] webkit.org>
   9531 
   9532         Reviewed by Anders Carlsson.
   9533 
   9534         Change plugins to use their own executable on Mac OS X
   9535         https://bugs.webkit.org/show_bug.cgi?id=55991
   9536 
   9537         * Configurations/PluginProcess.xcconfig: Copied from Source/WebKit2/Configurations/WebProcess.xcconfig.
   9538         * PluginProcess/Info.plist: Copied from Source/WebKit2/WebProcess/Info.plist.
   9539         Add files necessary for adding PluginProcess.app.
   9540 
   9541         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
   9542         (WebKit::ProcessLauncher::launchProcess):
   9543         Launch the PluginProcess.app when launching a plugin process.
   9544 
   9545         * WebKit2.xcodeproj/project.pbxproj:
   9546         Add new executable and new files, removes some unneeded copying
   9547         and duplicate compiling of files.
   9548 
   9549         * WebProcess/Info.plist:
   9550         Sorted.
   9551 
   9552 2011-03-09  Jessie Berlin  <jberlin (a] apple.com>
   9553 
   9554         Reviewed by Adam Roben.
   9555 
   9556         Use the Cookie Storage from the Private Browsing Storage Session directly
   9557         https://bugs.webkit.org/show_bug.cgi?id=55986
   9558 
   9559         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
   9560         (InitWebCoreSystemInterface):
   9561 
   9562 2011-03-09  Alejandro G. Castro  <alex (a] igalia.com>
   9563 
   9564         Fix compilation after r80596, add soup Download stubs.
   9565 
   9566         * GNUmakefile.am:
   9567         * WebProcess/Downloads/soup/DownloadSoup.cpp: Added.
   9568         (WebKit::Download::start):
   9569         (WebKit::Download::startWithHandle):
   9570         (WebKit::Download::cancel):
   9571         (WebKit::Download::platformInvalidate):
   9572         (WebKit::Download::didDecideDestination):
   9573         (WebKit::Download::platformDidFinish):
   9574 
   9575 2011-03-09  Alejandro G. Castro  <alex (a] igalia.com>
   9576 
   9577         Fix GTK+ compilation after r80619. Add WebFullScreenManager.
   9578 
   9579         * GNUmakefile.am:
   9580 
   9581 2011-03-08  Jer Noble  <jer.noble (a] apple.com>
   9582 
   9583         Reviewed by Sam Weinig.
   9584 
   9585         WebKit2: Plumb through the FULLSCREEN_API Chrome client calls
   9586         https://bugs.webkit.org/show_bug.cgi?id=55273
   9587 
   9588         The FULLSCREEN_API Chrome client calls need to be plumbed through from the 
   9589         WebProcess to the UIProcess.  To do this, WebFullScreenManager (and Proxy)
   9590         classes have been added to WebPage.
   9591 
   9592         * DerivedSources.make: Added rules necessary to build DerivedSources for new .in files.
   9593         * DerivedSources.pro: Ditto.
   9594         * Platform/CoreIPC/MessageID.h: Added message types for WebFullScreenManager.
   9595         * Shared/API/c/WKBase.h: Added WKFullScreenManagerRef.
   9596         * Shared/APIObject.h: Added APIType for WebFullScreenManager.
   9597         * UIProcess/WebFullScreenManagerProxy.cpp: Added.
   9598         * UIProcess/WebFullScreenManagerProxy.h: Added.
   9599         * UIProcess/WebFullScreenManagerProxy.messages.in: Added.
   9600         * UIProcess/WebPageProxy.cpp:
   9601         (WebKit::WebPageProxy::close): Invalidate and clear m_fullScreenManager.
   9602         (WebKit::WebPageProxy::processDidCrash): Ditto.
   9603         (WebKit::WebPageProxy::didReceiveMessage): Pass messages on to WebFullScreenManagerProxy.
   9604         (WebKit::WebPageProxy::didReceiveSyncMessage): Ditto.
   9605         (WebKit::WebPageProxy::fullScreenManager): Added. Lazy instantiation of m_fullScreenManager.
   9606         * UIProcess/WebPageProxy.h:
   9607         * UIProcess/WebPageProxy.messages.in:
   9608         * UIProcess/WebUIClient.cpp:
   9609         * UIProcess/WebUIClient.h:
   9610         * WebKit2.xcodeproj/project.pbxproj: Added references to new classes in project file.
   9611         * WebKit2.pro: Ditto.
   9612         * win/WebKit2.vcproj: Ditto.
   9613         * WebKit2.pri: Added new directories to include file path.
   9614         * win/WebKit2Common.vsprops: Ditto.
   9615         * WebProcess/FullScreen/WebFullScreenManager.cpp: Added.
   9616         * WebProcess/FullScreen/WebFullScreenManager.h: Added.
   9617         * WebProcess/FullScreen/WebFullScreenManager.messages.in: Added.
   9618         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
   9619         (WebKit::WebChromeClient::supportsFullScreenForElement): Pass through to WebFullScreenManager.
   9620         (WebKit::WebChromeClient::enterFullScreenForElement): Ditto.
   9621         (WebKit::WebChromeClient::exitFullScreenForElement): Ditto.
   9622         * WebProcess/WebPage/WebPage.cpp:
   9623         (WebKit::WebPage::close): Invalidate and clear m_fullScreenManager.
   9624         (WebKit::WebPage::fullScreenManager): Lazy instantiation of m_fullScreenManager.
   9625         (WebKit::WebPage::didReceiveMessage): Pass messages through to WebFullScreenManager.
   9626         * WebProcess/WebPage/WebPage.h:
   9627 
   9628 2011-03-08  Jer Noble  <jer.noble (a] apple.com>
   9629 
   9630         Reviewed by Sam Weinig.
   9631 
   9632         WebKit2: Plumb through the "supportsFullScreen" preference.
   9633         https://bugs.webkit.org/show_bug.cgi?id=55261
   9634 
   9635         The "supportsFullScreen" preference needs to be plumbed through from
   9636         the UIProcess to the WebProcess.
   9637 
   9638         * Shared/WebPreferencesStore.h: Add a new macro entry.
   9639         * UIProcess/API/C/WKPreferences.cpp: Implement preferences getter and setter.
   9640         (WKPreferencesSetFullScreenEnabled):
   9641         (WKPreferencesGetFullScreenEnabled):
   9642         * UIProcess/API/C/WKPreferences.h:
   9643         * WebProcess/WebPage/WebPage.cpp:
   9644         (WebKit::WebPage::updatePreferences): Sync the fullScreenEnabled setting through to
   9645             the settings object.
   9646 
   9647 2011-03-08  Jeff Miller  <jeffm (a] apple.com>
   9648 
   9649         Reviewed by Adele Peterson.
   9650 
   9651         WebKit2: Implement Windows glue for Undo/Redo
   9652         https://bugs.webkit.org/show_bug.cgi?id=55961
   9653         
   9654         Expose Undo/Redo infrastructure through WKView on Windows by
   9655         adding an undo client as well as APIs to reapply and unapply
   9656         an edit command.
   9657 
   9658         * UIProcess/API/C/win/WKView.cpp:
   9659         (WKViewSetViewUndoClient): Added.
   9660         (WKViewReapplyEditCommand): Added.
   9661         (WKViewUnapplyEditCommand): Added.
   9662         * UIProcess/API/C/win/WKView.h: Added WKViewUndoClient, WKViewSetViewUndoClient(), and WKViewUnapplyEditCommand().
   9663         * UIProcess/WebPageProxy.cpp:
   9664         (WebKit::WebPageProxy::isValidEditCommand): Added, used to validated an edit command from a WKView API.
   9665         * UIProcess/WebPageProxy.h: Added isValidEditCommand().
   9666         * UIProcess/win/WebUndoClient.cpp: Added, APIClient for WKViewUndoClient. 
   9667         (WebKit::WebUndoClient::registerEditCommand): Added.
   9668         (WebKit::WebUndoClient::clearAllEditCommands): Added.
   9669         * UIProcess/win/WebUndoClient.h: Added, APIClient for WKViewUndoClient.
   9670         * UIProcess/win/WebView.cpp:
   9671         (WebKit::WebView::initializeUndoClient): Added.
   9672         (WebKit::WebView::close): Clear out undo client.
   9673         (WebKit::WebView::registerEditCommand): Implemented to call through to WKViewUndoClient.
   9674         (WebKit::WebView::clearAllEditCommands): Implmented to call through to WKViewUndoClient.
   9675         (WebKit::WebView::reapplyEditCommand): Added.
   9676         (WebKit::WebView::unapplyEditCommand): Added.
   9677         * UIProcess/win/WebView.h: Added undo client support.
   9678         * win/WebKit2.vcproj: Added WebUndoClient.cpp and WebUndoClient.h.
   9679 
   9680 2011-03-08  Jeff Miller  <jeffm (a] apple.com>
   9681 
   9682         Reviewed by Sam Weinig.
   9683 
   9684         WebKit2: Expose WebEditCommandProxy in the C API on Windows
   9685         https://bugs.webkit.org/show_bug.cgi?id=55962
   9686         
   9687         Make WebEditCommandProxy a subclass of APIObject, and define
   9688         WKEditCommandRef as the type that will be exposed through the C API.
   9689 
   9690         * Shared/API/c/win/WKBaseWin.h: Add WKEditCommandRef.
   9691         * Shared/APIObject.h: Add platform-specific TypeEditCommandProxy.
   9692         * UIProcess/API/C/win/WKAPICastWin.h: Add API mapping for WKEditCommandRef.
   9693         * UIProcess/WebEditCommandProxy.h: Subclass WebEditCommandProxy from APIObject.
   9694         (WebKit::WebEditCommandProxy::type): Added.
   9695 
   9696 2011-03-08  Jeff Miller  <jeffm (a] apple.com>
   9697 
   9698         Reviewed by Oliver Hunt.
   9699 
   9700         WebKit2: Redo is broken
   9701         https://bugs.webkit.org/show_bug.cgi?id=55978
   9702         
   9703         WebEditCommandProxy::unapply() and WebEditCommandProxy::reapply() were registering the wrong edit command when an undo or redo happens.
   9704         For example, when we unapply(), we should register a Redo command, not an Undo command.
   9705 
   9706         * UIProcess/WebEditCommandProxy.cpp:
   9707         (WebKit::WebEditCommandProxy::unapply): Register a Redo command, not an Undo command.
   9708         (WebKit::WebEditCommandProxy::reapply): Register an Undo command, not a Redo command.
   9709 
   9710 2011-03-08  Brent Fulgham  <bfulgham (a] webkit.org>
   9711 
   9712         Reviewed by Adam Roben.
   9713 
   9714         https://bugs.webkit.org/show_bug.cgi?id=55977
   9715         Refine CF/CFNet distinctions for better code sharing.
   9716         1. Rename Downloads/cf/win/DownloadCFNetWin.cpp to DownloadCFWin.cpp
   9717            since it does not use any CFNETWORK features.
   9718         2. Create new cfnet directory.
   9719         3. Move Downloads/cf/DownloadCFNet.cpp to Downloads/cfnet
   9720         4. Update project file.
   9721 
   9722         * WebProcess/Downloads/cf/DownloadCFNet.cpp: Removed.
   9723         * WebProcess/Downloads/cf/win/DownloadCFNetWin.cpp: Removed.
   9724         * WebProcess/Downloads/cf/win/DownloadCFWin.cpp: Copied from WebProcess/Downloads/cf/win/DownloadCFNetWin.cpp.
   9725         * WebProcess/Downloads/cfnet: Added.
   9726         * WebProcess/Downloads/cfnet/DownloadCFNet.cpp: Copied from WebProcess/Downloads/cf/DownloadCFNet.cpp.
   9727         * win/WebKit2.vcproj:
   9728 
   9729 2011-03-08  Mark Rowe  <mrowe (a] apple.com>
   9730 
   9731         Reviewed by Brady Eidson.
   9732 
   9733         <http://webkit.org/b/55976> Provisional URL should be loaded when restoring session state even if there are back / forward list entries.
   9734 
   9735         * UIProcess/cf/WebPageProxyCF.cpp:
   9736         (WebKit::WebPageProxy::restoreFromSessionStateData): If there's a provisional URL that we will load then restore the session state
   9737         without navigating to the current item.
   9738         * WebProcess/WebPage/WebPage.messages.in: Expose the ability to restore the session state without navigating to the current item.
   9739 
   9740 2011-03-08  Brent Fulgham  <bfulgham (a] webkit.org>
   9741 
   9742         Reviewed by Anders Carlsson.
   9743 
   9744         https://bugs.webkit.org/show_bug.cgi?id=55956
   9745         WebKit2 Changes to correct WinCairo port build
   9746 
   9747         * Shared/LayerTreeContext.h: Don't exclude CoreIPC declarations for non-accelerated
   9748           compositing case.
   9749         * UIProcess/DrawingAreaProxy.h: Add "stdint.h" include needed for Cairo build.
   9750         * UIProcess/DrawingAreaProxyImpl.cpp: Exclude accelerated compositing code for
   9751           WinCairo build.
   9752         (WebKit::DrawingAreaProxyImpl::~DrawingAreaProxyImpl):
   9753         (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState):
   9754         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
   9755         (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
   9756         (WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState):
   9757         (WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidUpdateBackingStoreState):
   9758         * UIProcess/DrawingAreaProxyImpl.h: Exclude declarations for code only used when
   9759           accelerated compositing is enabled.
   9760         (WebKit::DrawingAreaProxyImpl::isInAcceleratedCompositingMode):
   9761         * UIProcess/win/WebView.cpp: Protect CG-specific drawing code.
   9762         (WebKit::WebView::setFindIndicator):
   9763         * WebProcess/Downloads/Download.h: Allow CFLite implentation to share overwrite flag,
   9764           as well as destination and bundle paths.
   9765         * WebProcess/Downloads/curl/DownloadCurl.cpp: Remove stub (to share CFNet implementation
   9766           of file handling.  This will be moved to a common area in a future patch.)
   9767         * WebProcess/WebPage/DrawingAreaImpl.cpp: Exclude accelerated-compositing paths.
   9768         (WebKit::DrawingAreaImpl::layerHostDidFlushLayers):
   9769         (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState):
   9770         (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
   9771         * WebProcess/WebPage/WebPage.cpp: Protect CG-specific drawing code.
   9772         (WebKit::WebPage::drawRectToPDF):
   9773         (WebKit::WebPage::drawPagesToPDF):
   9774         * win/WebKit2.vcproj: Exclude unused LayerTreeContext from WinCairo
   9775 
   9776 2011-03-08  Ivan Krsti  <ike (a] apple.com>
   9777 
   9778         Reviewed by Sam Weinig.
   9779 
   9780         Re-fix: can't paste from 3rd party text editor into WebKit2 window
   9781         <rdar://problem/8978624>
   9782 
   9783         * WebProcess/com.apple.WebProcess.sb:
   9784 
   9785 2011-03-08  Martin Robinson  <mrobinson (a] igalia.com>
   9786 
   9787         Fix the WebKit2 compilation after r80578.
   9788 
   9789         * UIProcess/gtk/WebView.cpp:
   9790         (WebKit::WebView::setFocus): Added.
   9791         * UIProcess/gtk/WebView.h:
   9792 
   9793 2011-03-08  Jessie Berlin  <jberlin (a] apple.com>
   9794 
   9795         Reviewed by Anders Carlsson.
   9796 
   9797         Crash in CFNetwork visiting google.com
   9798         https://bugs.webkit.org/show_bug.cgi?id=55958
   9799 
   9800         * Shared/API/c/cf/WKURLResponseCF.cpp:
   9801         (WKURLResponseCopyCFURLResponse):
   9802         If the response to copy is null, return 0;
   9803 
   9804 2011-03-08  John Sullivan  <sullivan (a] apple.com>
   9805 
   9806         Reverted the patch for https://bugs.webkit.org/show_bug.cgi?id=55940
   9807         
   9808         The patch was insufficient, and it wasn't useful for the intended client use either.
   9809 
   9810         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
   9811         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
   9812         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
   9813 
   9814 2011-03-08  Alejandro G. Castro  <alex (a] igalia.com>
   9815 
   9816         Unreviewed, fixed GTK+ compilation after r80569.
   9817 
   9818         * UIProcess/gtk/WebView.cpp:
   9819         (WebKit::WebView::windowToScreen):
   9820         * UIProcess/gtk/WebView.h:
   9821 
   9822 2011-03-08  Chris Fleizach  <cfleizach (a] apple.com>
   9823 
   9824         Reviewed by Sam Weinig.
   9825 
   9826         WK2: Cannot set focus on an element when focus is outside of WKView
   9827         https://bugs.webkit.org/show_bug.cgi?id=55281
   9828 
   9829         * UIProcess/API/mac/PageClientImpl.h:
   9830         * UIProcess/API/mac/PageClientImpl.mm:
   9831         (WebKit::PageClientImpl::setFocus):
   9832         * UIProcess/API/qt/qwkpage_p.h:
   9833         (QWKPagePrivate::setFocus):
   9834         * UIProcess/PageClient.h:
   9835         * UIProcess/WebPageProxy.cpp:
   9836         (WebKit::WebPageProxy::setFocus):
   9837         * UIProcess/WebPageProxy.h:
   9838         * UIProcess/WebPageProxy.messages.in:
   9839         * UIProcess/win/WebView.h:
   9840         (WebKit::WebView::setFocus):
   9841         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
   9842         (WebKit::WebChromeClient::focus):
   9843         (WebKit::WebChromeClient::unfocus):
   9844 
   9845 2011-03-08  Jeff Miller  <jeffm (a] apple.com>
   9846 
   9847         Unreviewed, fix last change so WKBaseWin.h is in alphabetical order in the project XML.
   9848 
   9849         * win/WebKit2.vcproj: Move WKBaseWin.h to be in alphabetical order.
   9850 
   9851 2011-03-08  Jeff Miller  <jeffm (a] apple.com>
   9852 
   9853         Reviewed by Darin Adler.
   9854 
   9855         Remove Source/WebKit2/UIProcess/API/C/win/WKBaseWin.h
   9856         https://bugs.webkit.org/show_bug.cgi?id=55952
   9857 
   9858         * UIProcess/API/C/win/WKBaseWin.h: Removed.
   9859         * win/WebKit2.vcproj: Refer to the Shared version of WKBaseWin.h instead of the one in UIProcess.
   9860 
   9861 2011-03-08  Alejandro G. Castro  <alex (a] igalia.com>
   9862 
   9863         Reviewed by Martin Robinson.
   9864 
   9865         [GTK] Add new files to compilation after r77974
   9866         https://bugs.webkit.org/show_bug.cgi?id=54076
   9867 
   9868         The commit added new code to allow passing context to policy
   9869         delegate methods, we also added dummy ResourceRequest and
   9870         ResourceResponse decoders until we implement them.
   9871 
   9872         * GNUmakefile.am:
   9873         * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
   9874         (CoreIPC::decodeResourceRequest):
   9875         (CoreIPC::decodeResourceResponse):
   9876 
   9877 2011-03-08  Chris Fleizach  <cfleizach (a] apple.com>
   9878 
   9879         Reviewed by Darin Adler.
   9880 
   9881         AX: Webkit2 not sending UAZoomFocusChanged notifications
   9882         https://bugs.webkit.org/show_bug.cgi?id=55916
   9883 
   9884         Needed to implement the windowToScreen() method so that the right frame
   9885         could be calculated to send for zoom focus changes.
   9886 
   9887         * UIProcess/API/mac/PageClientImpl.h:
   9888         * UIProcess/API/mac/PageClientImpl.mm:
   9889         (WebKit::PageClientImpl::windowToScreen):
   9890         * UIProcess/API/qt/qwkpage.cpp:
   9891         (QWKPagePrivate::windowToScreen):
   9892         * UIProcess/API/qt/qwkpage_p.h:
   9893         * UIProcess/PageClient.h:
   9894         * UIProcess/WebPageProxy.cpp:
   9895         (WebKit::WebPageProxy::windowToScreen):
   9896         * UIProcess/WebPageProxy.h:
   9897         * UIProcess/WebPageProxy.messages.in:
   9898         * UIProcess/win/WebView.cpp:
   9899         (WebKit::WebView::windowToScreen):
   9900         * UIProcess/win/WebView.h:
   9901         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
   9902         (WebKit::WebChromeClient::windowToScreen):
   9903         * WebProcess/WebPage/WebPage.cpp:
   9904         (WebKit::WebPage::windowToScreen):
   9905         * WebProcess/WebPage/WebPage.h:
   9906 
   9907 2011-03-08  John Sullivan  <sullivan (a] apple.com>
   9908 
   9909         Reviewed by Darin Adler.
   9910 
   9911         https://bugs.webkit.org/show_bug.cgi?id=55940
   9912         WebKit2 should support Ignore policy from injected bundle client
   9913 
   9914         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
   9915         Added WKBundlePagePolicyActionIgnore.
   9916         
   9917         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
   9918         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
   9919         If the injected bundle client returns WKBundlePagePolicyActionIgnore, convert it
   9920         to the loader's PolicyIgnore.
   9921 
   9922 2011-03-08  Laszlo Gombos  <laszlo.1.gombos (a] nokia.com>
   9923 
   9924         Reviewed by Kenneth Rohde Christiansen.
   9925 
   9926         [Qt] [Symbian] [WK2] Fix building WebKit 2 API tests
   9927         https://bugs.webkit.org/show_bug.cgi?id=55876
   9928 
   9929         Make sure TESTS_SOURCE_DIR is set for Symbian the same way
   9930         as it is for WK1.
   9931 
   9932         * UIProcess/API/qt/tests/qgraphicswkview/tst_qgraphicswkview.cpp:
   9933         (tst_QGraphicsWKView::loadEmptyPage):
   9934         * UIProcess/API/qt/tests/tests.pri:
   9935 
   9936 2011-03-07  Damian Kaleta  <dkaleta (a] apple.com>
   9937 
   9938         Reviewed by Anders Carlsson.
   9939 
   9940         QuickTime plugin should opt in to a 32-bit non-executable heap
   9941         https://bugs.webkit.org/show_bug.cgi?id=55704
   9942         <rdar://problem/8105706>
   9943 
   9944         * UIProcess/Plugins/PluginProcessProxy.cpp:
   9945         (WebKit::pluginNeedsExecutableHeap): Decides per plugin if it should opt-in to a 32-bit non-executable heap.
   9946         By default it should opt-out.
   9947         (WebKit::PluginProcessProxy::PluginProcessProxy):
   9948 
   9949 2011-03-07  Sam Weinig  <sam (a] webkit.org>
   9950 
   9951         Reviewed by Anders Carlsson.
   9952 
   9953         Add unableToImplementPolicy callback for WebKit2 policy client
   9954         <rdar://problem/9071902>
   9955         https://bugs.webkit.org/show_bug.cgi?id=55884
   9956 
   9957         * UIProcess/API/C/WKPage.h:
   9958         * UIProcess/WebPageProxy.cpp:
   9959         (WebKit::WebPageProxy::unableToImplementPolicy):
   9960         * UIProcess/WebPageProxy.h:
   9961         * UIProcess/WebPageProxy.messages.in:
   9962         * UIProcess/WebPolicyClient.cpp:
   9963         (WebKit::WebPolicyClient::unableToImplementPolicy):
   9964         * UIProcess/WebPolicyClient.h:
   9965         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
   9966         * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:
   9967         (WebKit::InjectedBundlePagePolicyClient::unableToImplementPolicy):
   9968         * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h:
   9969         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
   9970         (WebKit::WebFrameLoaderClient::dispatchUnableToImplementPolicy):
   9971         Pipe unableToImplementPolicy through both the bundle and the main WebKit2 API.
   9972 
   9973 2011-03-07  Sam Weinig  <sam (a] webkit.org>
   9974 
   9975         Reviewed by Anders Carlsson.
   9976 
   9977         Replace WebKit2's decidePolicyForMIMEType with decidePolicyForResponse
   9978         https://bugs.webkit.org/show_bug.cgi?id=55827
   9979 
   9980         - Renamed FrameLoaderClient::dispatchDecidePolicyForMIMEType to dispatchDecidePolicyForResponse
   9981           and pass the entire response, instead of just the MIMEType.
   9982         - Updated both UIProcess API and bundle API to also be based on the whole response, not just the
   9983           MIMEType.
   9984 
   9985         * UIProcess/API/C/WKPage.h:
   9986         * UIProcess/WebPageProxy.cpp:
   9987         (WebKit::WebPageProxy::decidePolicyForResponse):
   9988         * UIProcess/WebPageProxy.h:
   9989         * UIProcess/WebPageProxy.messages.in:
   9990         * UIProcess/WebPolicyClient.cpp:
   9991         (WebKit::WebPolicyClient::decidePolicyForResponse):
   9992         * UIProcess/WebPolicyClient.h:
   9993         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
   9994         * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:
   9995         (WebKit::InjectedBundlePagePolicyClient::decidePolicyForResponse):
   9996         * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h:
   9997         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
   9998         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
   9999         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
   10000 
   10001 2011-03-06  Jessie Berlin  <jberlin (a] apple.com>
   10002 
   10003         Reviewed by Sam Weinig.
   10004 
   10005         WebKit2: Use CFNetwork Sessions API.
   10006         https://bugs.webkit.org/show_bug.cgi?id=55435.
   10007 
   10008         When Private Browsing is enabled, use cookies from a in-memory cookie storage based on the
   10009         Private Browsing Storage Session.
   10010 
   10011         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
   10012         (InitWebCoreSystemInterface):
   10013         Add support for using the new WKSI functions in WebCore.
   10014 
   10015 2011-03-06  Oleg Romashin  <romaxa (a] gmail.com>
   10016 
   10017         Reviewed by Kenneth Rohde Christiansen.
   10018 
   10019         [Qt][WK2] Make Qt port compiling with ENABLE_PLUGIN_PROCESS=1, part1
   10020         Adding dummy Qt files for Plugin Process implementation,
   10021         Adding missing sources into Qt pro files
   10022         https://bugs.webkit.org/show_bug.cgi?id=55719
   10023 
   10024         * DerivedSources.pro:
   10025         * PluginProcess/qt: Added.
   10026         * PluginProcess/qt/PluginControllerProxyQt.cpp: Added.
   10027         (WebKit::PluginControllerProxy::platformInitialize):
   10028         (WebKit::PluginControllerProxy::platformDestroy):
   10029         (WebKit::PluginControllerProxy::platformGeometryDidChange):
   10030         * PluginProcess/qt/PluginProcessMainQt.cpp: Added.
   10031         (WebKit::PluginProcessMain):
   10032         * PluginProcess/qt/PluginProcessQt.cpp: Added.
   10033         (WebKit::PluginProcess::platformInitialize):
   10034         * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp: Added.
   10035         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
   10036         * WebKit2.pri:
   10037         * WebKit2.pro:
   10038         * WebKit2API.pri:
   10039         * WebProcess/Plugins/Netscape/qt/PluginProxyQt.cpp: Added.
   10040         (WebKit::PluginProxy::needsBackingStore):
   10041 
   10042 2011-03-05  Sam Weinig  <sam (a] webkit.org>
   10043 
   10044         Reviewed by Dan Bernstein.
   10045 
   10046         Remove unneeded onPageClose function from DrawingArea
   10047         https://bugs.webkit.org/show_bug.cgi?id=55836
   10048 
   10049         * WebProcess/WebPage/DrawingArea.h:
   10050         Remove empty function.
   10051 
   10052         * WebProcess/WebPage/WebPage.cpp:
   10053         (WebKit::WebPage::close):
   10054         Remove only called
   10055 
   10056 2011-03-04  Jon Honeycutt  <jhoneycutt (a] apple.com>
   10057 
   10058         WK2 Mac build fix.
   10059 
   10060         * UIProcess/API/C/WKPage.cpp:
   10061         (WKPageComputePagesForPrinting):
   10062         (WKPageBeginPrinting):
   10063 
   10064         * UIProcess/API/C/WKPagePrivate.h:
   10065 
   10066 2011-03-04  Jon Honeycutt  <jhoneycutt (a] apple.com>
   10067 
   10068         WK2 Mac build fix.
   10069 
   10070         * UIProcess/API/C/WKPagePrivate.h:
   10071 
   10072 2011-03-04  Jon Honeycutt  <jhoneycutt (a] apple.com>
   10073 
   10074         WK2 needs printing support on Windows
   10075         https://bugs.webkit.org/show_bug.cgi?id=55800
   10076         <rdar://problem/8903808>
   10077 
   10078         Reviewed by Darin Adler.
   10079 
   10080         * UIProcess/API/C/WKPage.cpp:
   10081         (ComputedPagesContext::ComputedPagesContext):
   10082         (computedPagesCallback):
   10083         From the Vector of WebCore::IntRects, build up a Vector of WKRects.
   10084         Call the callback, passing these rects and the scale factor.
   10085         (printInfoFromWKPrintInfo):
   10086         Return a PrintInfo structure from the WKPrintInfo.
   10087         (WKPageComputePagesForPrinting):
   10088         Call WebPageProxy::computePagesForPrinting(). Pass
   10089         computedPagesCallback as the callback function, so that we can
   10090         translate the WebCore rect type to WKRect before calling the caller's
   10091         callback function.
   10092         (WKPageBeginPrinting):
   10093         Call WebPageProxy::beginPrinting().
   10094         (WKPageDrawPagesToPDF):
   10095         Call WebPageProxy::drawPagesToPDF().
   10096 
   10097         * UIProcess/API/C/WKPagePrivate.h:
   10098         Declare the WKPrintInfo type and new functions.
   10099 
   10100         * UIProcess/WebPageProxy.cpp:
   10101         Compile this code on Windows.
   10102 
   10103         * UIProcess/WebPageProxy.h:
   10104         Ditto.
   10105 
   10106         * UIProcess/win/WebView.cpp:
   10107         (WebKit::WebView::paint):
   10108         We're painting the window; leave printing mode.
   10109 
   10110         * WebProcess/WebPage/WebPage.cpp:
   10111         Compile this code on Windows.
   10112 
   10113         * WebProcess/WebPage/WebPage.h:
   10114         Ditto.
   10115 
   10116         * WebProcess/WebPage/WebPage.messages.in:
   10117         Ditto.
   10118 
   10119 2011-03-04  Steve Falkenburg  <sfalken (a] apple.com>
   10120 
   10121         Reviewed by Darin Adler.
   10122 
   10123         Adopt VersionStamper tool for Windows WebKit DLLs
   10124         https://bugs.webkit.org/show_bug.cgi?id=55784
   10125         <rdar://problem/9021320>
   10126 
   10127         We now use a tool to stamp the version number onto the Apple WebKit DLLs
   10128         during the post-build step.
   10129 
   10130         Fetch the WebKit version from a string resource instead of the version resource.
   10131 
   10132         * UIProcess/win/WebPageProxyWin.cpp:
   10133         (WebKit::userVisibleWebKitVersionString): Fetch version from a string resource.
   10134         * win/WebKit2.rc: Removed version, added stringtable.
   10135         * win/WebKit2WebProcess.rc: Removed.
   10136         * win/WebKit2WebProcess.vcproj:
   10137         * win/WebKit2WebProcessPostBuild.cmd: Don't run autoversion script. It isn't used in this project.
   10138         * win/WebKit2WebProcessPreBuild.cmd: Stamp version.
   10139         * win/WebKitPostBuild.cmd: Stamp version.
   10140 
   10141 2011-03-04  Jeff Miller  <jeffm (a] apple.com>
   10142 
   10143         Reviewed by Darin Adler.
   10144 
   10145         Add WKPageValidateCommand()
   10146         https://bugs.webkit.org/show_bug.cgi?id=55793
   10147         
   10148         On the Mac, validation of edit menu commands is handled within WebKit2 in WKView.mm.
   10149         However, on Windows we need to do this in the client, so expose this functionality
   10150         in the API via WKPageValidateCommand().
   10151         
   10152         Change the Mac implementation to call WebPageProxy::validateCommand() with a callback
   10153         to match this new API, so it no longer has to go through PageClient to get notified
   10154         when a command is validated.  This makes PageClient::setEditCommandState() obsolete,
   10155         so I removed the stub implementations in qt and gtk as well.
   10156 
   10157         * UIProcess/API/C/WKPage.cpp:
   10158         (WKPageValidateCommand): Added.
   10159         * UIProcess/API/C/WKPage.h: Added WKPageValidateCommand().
   10160         * UIProcess/API/mac/PageClientImpl.h: Removed setEditCommandState().
   10161         * UIProcess/API/mac/PageClientImpl.mm: Removed setEditCommandState().
   10162         * UIProcess/API/mac/WKView.mm:
   10163         (validateCommandCallback): Added.
   10164         (-[WKView validateUserInterfaceItem:]): Pass callback to validateCommand().
   10165         * UIProcess/API/qt/qwkpage.cpp: Removed setEditCommandState().
   10166         * UIProcess/API/qt/qwkpage_p.h: Removed setEditCommandState().
   10167         * UIProcess/PageClient.h: Removed setEditCommandState().
   10168         * UIProcess/WebPageProxy.cpp: Removed didValidateCommand().
   10169         (WebKit::WebPageProxy::validateCommand): This now takes a callback.
   10170         (WebKit::WebPageProxy::validateCommandCallback): Added.
   10171         (WebKit::WebPageProxy::processDidCrash): Invalidate m_validateCommandCallbacks.
   10172         * UIProcess/WebPageProxy.h: Removed didValidateCommand(), validateCommand() now takes a callback.
   10173         (WebKit::ValidateCommandCallback::create): Added.
   10174         (WebKit::ValidateCommandCallback::~ValidateCommandCallback): Added.
   10175         (WebKit::ValidateCommandCallback::performCallbackWithReturnValue): Added.
   10176         (WebKit::ValidateCommandCallback::invalidate): Added.
   10177         (WebKit::ValidateCommandCallback::ValidateCommandCallback): Added.
   10178         * UIProcess/WebPageProxy.messages.in: Removed DidValidateCommand, added ValidateCommandCallback.
   10179         * UIProcess/gtk/WebView.cpp: Removed setEditCommandState().
   10180         * UIProcess/gtk/WebView.h: Removed setEditCommandState().
   10181         * UIProcess/win/WebView.cpp: Removed setEditCommandState().
   10182         * UIProcess/win/WebView.h: Removed setEditCommandState().
   10183         * WebProcess/WebPage/WebPage.cpp:
   10184         (WebKit::WebPage::validateCommand): This now takes a callbackID.
   10185         * WebProcess/WebPage/WebPage.h: validateCommand now takes a callbackID.
   10186         * WebProcess/WebPage/WebPage.messages.in: ValidateCommand now takes a callbackID.
   10187 
   10188 2011-03-04  Brian Weinstein  <bweinstein (a] apple.com>
   10189 
   10190         Reviewed by Darin Adler.
   10191 
   10192         Reference-counting for WKBundlePageResourceLoadClient::willSendRequestForFrame seems unclear/wrong
   10193         https://bugs.webkit.org/show_bug.cgi?id=53919
   10194         <rdar://problem/8966020>
   10195         
   10196         Adopt the result of m_client.willSendRequestForFrame (which will be leaked by the client).
   10197 
   10198         * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
   10199         (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):
   10200 
   10201 2011-03-04  Darin Adler  <darin (a] apple.com>
   10202 
   10203         Reviewed by Mark Rowe.
   10204 
   10205         WebKit2 session state should include even loads too new to be in the back/forward list
   10206         https://bugs.webkit.org/show_bug.cgi?id=55781
   10207         part of <rdar://problem/8968847>
   10208 
   10209         * UIProcess/cf/WebPageProxyCF.cpp:
   10210         (WebKit::WebPageProxy::sessionStateData): Save URLs that are early enough in the loading
   10211         process to not be included in the back/forward list yet: The pending API request URL and
   10212         the provisional URL.
   10213         (WebKit::WebPageProxy::restoreFromSessionStateData): Call loadURL if the back/forward
   10214         list is not restored and a URL is present. Later we can improve the way we handle the
   10215         case where we have both a back/forward list and a URL.
   10216 
   10217 2011-03-04  Jessie Berlin  <jberlin (a] apple.com>
   10218 
   10219         Reviewed by Darin Adler.
   10220 
   10221         WebKit2: Use CFNetwork Sessions API.
   10222         https://bugs.webkit.org/show_bug.cgi?id=55435.
   10223 
   10224         Add in the CFURLSTORAGESESSIONS guards that I incorrectly left out because the code was
   10225         contained within guards that made USE(CFURLSTORAGESESSIONS) always be true.
   10226 
   10227         * UIProcess/mac/WebContextMac.mm:
   10228         (WebKit::WebContext::platformInitializeWebProcess):
   10229         * UIProcess/win/WebContextWin.cpp:
   10230         (WebKit::WebContext::platformInitializeWebProcess):
   10231 
   10232 2011-03-04  Jessie Berlin  <jberlin (a] apple.com>
   10233 
   10234         Reviewed by Maciej Stachowiak.
   10235 
   10236         WebKit2: Use CFNetwork Sessions API.
   10237         https://bugs.webkit.org/show_bug.cgi?id=55435.
   10238 
   10239         When Private Browsing is enabled, get the cached url response from the cache associated with
   10240         the Private Browsing Storage Session.
   10241 
   10242         * WebProcess/WebPage/mac/WebPageMac.mm:
   10243         (WebKit::WebPage::platformHasLocalDataForURL):
   10244         If Private Browsing is enabled, call into WKSI to get the response.
   10245         (WebKit::WebPage::cachedResponseMIMETypeForURL):
   10246         Ditto.
   10247         * WebProcess/WebPage/win/WebPageWin.cpp:
   10248         (WebKit::WebPage::platformHasLocalDataForURL):
   10249         If Private Browsing is enabled, call into WKSI to get the CFURLCacheRef.
   10250         (WebKit::WebPage::cachedResponseMIMETypeForURL):
   10251         Ditto.
   10252 
   10253 2011-03-04  Jeff Miller  <jeffm (a] apple.com>
   10254 
   10255         Reviewed by Darin Adler.
   10256 
   10257         Move WKViewExecuteCommand() to WKPageExecuteCommand()
   10258         https://bugs.webkit.org/show_bug.cgi?id=55744
   10259         
   10260         Executing a command operates on a page, so it makes more sense for it to be in WKPage.
   10261         This also makes it available on all platforms, not just Windows.
   10262 
   10263         * UIProcess/API/C/WKPage.cpp:
   10264         (WKPageExecuteCommand): Added.
   10265         * UIProcess/API/C/WKPage.h: Add WKPageExecuteCommand().
   10266         * UIProcess/API/C/win/WKView.cpp: Remove WKViewExecuteCommand().
   10267         * UIProcess/API/C/win/WKView.h: Remove WKViewExecuteCommand().
   10268 
   10269 2011-03-04  Dan Bernstein  <mitz (a] apple.com>
   10270 
   10271         LLVM Compiler build fix.
   10272 
   10273         * WebProcess/WebPage/WebPage.cpp:
   10274         (WebKit::WebPage::runJavaScriptInMainFrame):
   10275 
   10276 2011-03-03  Timothy Hatcher  <timothy (a] apple.com>
   10277 
   10278         Make the WKPageRunJavaScriptFunction callback take a WKSerializedScriptValueRef.
   10279 
   10280         https://webkit.org/b/55623
   10281 
   10282         Reviewed by Darin Adler.
   10283 
   10284         * UIProcess/API/C/WKPage.cpp:
   10285         (WKPageRunJavaScriptInMainFrame): Use ScriptValueCallback.
   10286         (callRunJavaScriptBlockAndRelease): Use WKSerializedScriptValueRef.
   10287         * UIProcess/API/C/WKPage.h: Use WKSerializedScriptValueRef.
   10288         * UIProcess/WebPageProxy.cpp:
   10289         (WebKit::WebPageProxy::close): Call invalidateCallbackMap for m_scriptValueCallbacks.
   10290         (WebKit::WebPageProxy::runJavaScriptInMainFrame): Take a ScriptValueCallback.
   10291         (WebKit::WebPageProxy::scriptValueCallback): Added. Create a WebSerializedScriptValue
   10292         from the DataReference before calling the callback.
   10293         (WebKit::WebPageProxy::processDidCrash): Call invalidateCallbackMap for m_scriptValueCallbacks.
   10294         * UIProcess/WebPageProxy.h: Added ScriptValueCallback and m_scriptValueCallbacks.
   10295         * UIProcess/WebPageProxy.messages.in: Added ScriptValueCallback.
   10296         * WebProcess/WebPage/WebPage.cpp:
   10297         (WebKit::WebPage::runJavaScriptInMainFrame): Create a DataReference from a WebCore::SerializedScriptValue.
   10298         And use ScriptValueCallback to send the message back.
   10299 
   10300 2011-03-03  Brian Weinstein  <bweinstein (a] apple.com>
   10301 
   10302         Reviewed by Adam Roben.
   10303 
   10304         Cleanup from https://bugs.webkit.org/show_bug.cgi?id=55427.
   10305         
   10306         Call WebCore::startObservingCookieChanges and WebCore::stopObservingCookieChanges
   10307         on all platforms, and stub the functions on platforms that don't implement them.
   10308 
   10309         * WebProcess/Cookies/WebCookieManager.cpp:
   10310         (WebKit::WebCookieManager::startObservingCookieChanges):
   10311         (WebKit::WebCookieManager::stopObservingCookieChanges):
   10312 
   10313 2011-03-03  Jeff Miller  <jeffm (a] apple.com>
   10314 
   10315         Reviewed by Darin Adler.
   10316 
   10317         Refactor classes in GenericCallback.h
   10318         https://bugs.webkit.org/show_bug.cgi?id=55732
   10319         
   10320         Since we're going to need to add additional callback classes, make a CallbackBase class that manages
   10321         the context and the callback ID.  The existing callback classes (VoidCallback, GenericCallback, and
   10322         ComputedPagesCallback) now all derive from CallbackBase.
   10323         
   10324         Fix bug in VoidCallback where we meant to implement the destructor, but we were implementing the default
   10325         constructor instead (we forgot the leading ~).
   10326  
   10327         * UIProcess/GenericCallback.h:
   10328         (WebKit::CallbackBase::~CallbackBase):
   10329         (WebKit::CallbackBase::callbackID):
   10330         (WebKit::CallbackBase::CallbackBase):
   10331         (WebKit::CallbackBase::context):
   10332         (WebKit::CallbackBase::generateCallbackID):
   10333         (WebKit::VoidCallback::~VoidCallback):
   10334         (WebKit::VoidCallback::performCallback):
   10335         (WebKit::VoidCallback::invalidate):
   10336         (WebKit::VoidCallback::VoidCallback):
   10337         (WebKit::GenericCallback::create):
   10338         (WebKit::GenericCallback::~GenericCallback):
   10339         (WebKit::GenericCallback::performCallbackWithReturnValue):
   10340         (WebKit::GenericCallback::invalidate):
   10341         (WebKit::GenericCallback::GenericCallback):
   10342         (WebKit::ComputedPagesCallback::create):
   10343         (WebKit::ComputedPagesCallback::~ComputedPagesCallback):
   10344         (WebKit::ComputedPagesCallback::performCallbackWithReturnValue):
   10345         (WebKit::ComputedPagesCallback::invalidate):
   10346         (WebKit::ComputedPagesCallback::ComputedPagesCallback):
   10347 
   10348 2011-03-03  Adam Roben  <aroben (a] apple.com>
   10349 
   10350         Don't assume the web process has had a chance to paint before the view has to paint
   10351 
   10352         Fixes <http://webkit.org/b/55739> REGRESSION (r80307): Lots of tests crashing in
   10353         BackingStore::paint
   10354 
   10355         Reviewed by Anders Carlsson.
   10356 
   10357         * UIProcess/DrawingAreaProxyImpl.cpp:
   10358         (WebKit::DrawingAreaProxyImpl::paint): Bail if the web process hasn't had a chance to paint
   10359         yet.
   10360 
   10361 2011-03-03  Adam Roben  <aroben (a] apple.com>
   10362 
   10363         Throw away DrawingAreaProxyImpl's backing store after not painting for 5 seconds
   10364 
   10365         The intent is to save memory for views that aren't painting.
   10366 
   10367         Fixes <http://webkit.org/b/51262> <rdar://problem/8782537> WebPageProxy should delete its
   10368         backing store after not painting for a while
   10369 
   10370         Reviewed by Anders Carlsson.
   10371 
   10372         * UIProcess/DrawingAreaProxyImpl.cpp:
   10373         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): Initialize our timer.
   10374         (WebKit::DrawingAreaProxyImpl::paint): Don't bail if we don't have a backing store (but do
   10375         bail if we're in accelerated compositing mode); we might have thrown it away to save memory
   10376         but now are being asked to paint by the view. The existing code in this function will handle
   10377         getting a new backing store if possible by blocking for a little while to try to receive a
   10378         DidUpdateBackingStoreState message. Added an assertion that we do have a backing store if we
   10379         don't have any outstanding UpdateBackingStoreState requests. After painting, call
   10380         discardBackingStoreSoon to update our timer.
   10381         (WebKit::DrawingAreaProxyImpl::discardBackingStoreSoon): Set the timer for 5 seconds in the
   10382         future.
   10383         (WebKit::DrawingAreaProxyImpl::discardBackingStore): Throw away the backing store, and tell
   10384         the web process we'll need a full backing store update on the next paint.
   10385 
   10386         * UIProcess/DrawingAreaProxyImpl.h: Added m_discardBackingStoreTimer.
   10387 
   10388 2011-03-03  Adam Roben  <aroben (a] apple.com>
   10389 
   10390         Add a way to tell the web process to perform a full backing store update on its next paint
   10391 
   10392         Messages::DrawingArea::UpdateBackingStoreState now takes a boolean specifying whether the
   10393         full backing store update should happen immediately or should be deferred until the next
   10394         paint or compositing mode change occurs. The deferred update isn't used yet, but will be
   10395         used when we start throwing away backing stores to save memory.
   10396 
   10397         Fixes <http://webkit.org/b/55730> UI process needs a way to tell the web process its backing
   10398         store needs a full update on the next paint
   10399 
   10400         Reviewed by Anders Carlsson.
   10401 
   10402         * UIProcess/DrawingAreaProxyImpl.cpp:
   10403         (WebKit::DrawingAreaProxyImpl::paint): If we have an outstanding backing store state change
   10404         request, tell the web process to perform the backing store update right away, in case we
   10405         previously told it it could defer the update.
   10406         (WebKit::DrawingAreaProxyImpl::sizeDidChange): Specify that we need an immediate backing
   10407         store update.
   10408         (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState): We can no longer assert that we
   10409         were waiting for a DidUpdateBackingStoreState message when we receive one, as it's possible
   10410         for the web process to decide to send us this message on its own (if we asked it to do a
   10411         deferred backing store update and then it needed to paint some part of the page). Specify
   10412         that we need an immediate backing store update if the web process hasn't updated to our
   10413         latest state, as we're about to draw potentially out-of-date bits to the screen and want to
   10414         get the right bits as soon as possible. Also added a FIXME about a potential optimization.
   10415         (WebKit::DrawingAreaProxyImpl::backingStoreStateDidChange): Added a RespondImmediatelyOrNot
   10416         parameter, which is just passed through to sendUpdateBackingStoreState.
   10417         (WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState): Added a RespondImmediatelyOrNot
   10418         parameter that is used to specify to the web process whether to perform the full backing
   10419         store update immediately. We now only wait for a DidUpdateBackingStoreState message (and
   10420         thus suppress any more UpdateBackingStoreState messages until one is received) when we ask
   10421         the web process for an immediate response; otherwise we could end up accidentally calling
   10422         waitForAndDispatchDidUpdateBackingStoreState when the web process hasn't been told to send
   10423         us such a message.
   10424 
   10425         * UIProcess/DrawingAreaProxyImpl.h: Added RespondImmediatelyOrNot.
   10426 
   10427         * WebProcess/WebPage/DrawingArea.h:
   10428         (WebKit::DrawingArea::updateBackingStoreState): Added respondImmediately argument.
   10429 
   10430         * WebProcess/WebPage/DrawingArea.messages.in: Added respondImmediately argument to
   10431         UpdateBackingStoreState message.
   10432 
   10433         * WebProcess/WebPage/DrawingAreaImpl.cpp:
   10434         (WebKit::DrawingAreaImpl::DrawingAreaImpl): Initialize new member that's used to track
   10435         whether we should send a DidUpdateBackingStoreState message instead of an Update or
   10436         compositing mode change message. This will be set to true when a deferred backing store
   10437         update is pending.
   10438         (WebKit::DrawingAreaImpl::layerHostDidFlushLayers): If a deferred update is pending, send a
   10439         DidUpdateBackingStoreState message instead of a compositing mode change message.
   10440         (WebKit::DrawingAreaImpl::updateBackingStoreState): Added respondImmediately argument. If
   10441         we've already been told about this state ID (as can happen when the UI process decides it
   10442         needs an immediate update to a state that it previously requested a deferred update to),
   10443         don't bother updating the page's size, etc. In addition, if we've already sent a
   10444         DidUpdateBackingStoreState message for this state, we don't have to do anything at all.
   10445         Moved code to send the DidUpdateBackingStoreState message from here...
   10446         (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState): ...to here.
   10447         (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): Always update our dirty region,
   10448         even if painting is suspended or we're in the process of updating the backing store state.
   10449         It causes no harm and simplifies the code. If a deferred update is pending, send a
   10450         DidUpdateBackingStoreState message instead of a compositing mode change message. Also
   10451         removed a redundant if.
   10452         (WebKit::DrawingAreaImpl::display): Added an assertion that this isn't called while updating
   10453         backing store state, as otherwise we might end up sending two DidUpdateBackingStoreState
   10454         messages. If a deferred update is pending, send a DidUpdateBackingStoreState message instead
   10455         of an Update message.
   10456 
   10457         * WebProcess/WebPage/DrawingAreaImpl.h: Updated updateBackingStoreState to match the base
   10458         class. Added sendDidUpdateBackingStoreState and m_shouldSendDidUpdateBackingStoreState.
   10459 
   10460 2011-03-03  Andy Estes  <aestes (a] apple.com>
   10461 
   10462         Reviewed by Darin Adler.
   10463 
   10464         When displaying the missing plug-in sheet, pass the 'pluginspage'
   10465         attribute to the UI process.
   10466         https://bugs.webkit.org/show_bug.cgi?id=55553
   10467 
   10468         * UIProcess/API/C/WKPage.h: Add pluginsPageURL as the third argument to
   10469         missingPluginButtonClicked.
   10470         * UIProcess/WebPageProxy.cpp:
   10471         (WebKit::WebPageProxy::missingPluginButtonClicked): Ditto.
   10472         * UIProcess/WebPageProxy.h: Ditto.
   10473         * UIProcess/WebPageProxy.messages.in: Ditto.
   10474         * UIProcess/WebUIClient.cpp:
   10475         (WebKit::WebUIClient::missingPluginButtonClicked): Ditto.
   10476         * UIProcess/WebUIClient.h: Ditto.
   10477         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
   10478         (WebKit::WebChromeClient::missingPluginButtonClicked): Get the value of
   10479         pluginspageAttr.
   10480 
   10481 2011-03-03  Alexey Proskuryakov  <ap (a] apple.com>
   10482 
   10483         Suggested by Dan Bernstein.
   10484 
   10485         Move "const" around "NSString *", so that it suddenly begins to make sense.
   10486 
   10487         * WebProcess/mac/FullKeyboardAccessWatcher.mm:
   10488 
   10489 2011-03-03  Jeff Miller  <jeffm (a] apple.com>
   10490 
   10491         Reviewed by Anders Carlsson.
   10492 
   10493         WebKit2: Add WKViewRef API for executing edit commands
   10494         https://bugs.webkit.org/show_bug.cgi?id=49829
   10495 
   10496         Added WKViewExecuteCommand() and documented some of the WebCore EditorCommand strings.
   10497 
   10498         * UIProcess/API/C/win/WKView.cpp:
   10499         (WKViewExecuteCommand): Added.
   10500         * UIProcess/API/C/win/WKView.h: Added WKViewExecuteCommand() and comment block with WebCore EditorCommand strings.
   10501 
   10502 2011-03-03  Jessie Berlin  <jberlin (a] apple.com>
   10503 
   10504         Reviewed by Adam Roben.
   10505 
   10506         WebKit2: Use CFNetwork Sessions API.
   10507         https://bugs.webkit.org/show_bug.cgi?id=55435
   10508 
   10509         Set the Private Browsing Storage Session on requests when Private Browsing is enabled.
   10510 
   10511         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
   10512         (InitWebCoreSystemInterface):
   10513         Support using WKCopyRequestWithStorageSession in WebCore.
   10514 
   10515 2011-03-03  Adam Roben  <aroben (a] apple.com>
   10516 
   10517         Don't try to paint outside the page's bounds
   10518 
   10519         When the page is resized smaller, we would allocate a ShareableBitmap at the old, larger
   10520         size, even though we only needed to paint at the new, smaller size.
   10521 
   10522         The assertion added in this patch will fire during the WebKit2/ResizeViewWhileHidden API
   10523         test if this fix gets broken in the future.
   10524 
   10525         Fixes <http://webkit.org/b/55715> DrawingAreaImpl allocates more memory than necessary when
   10526         the page is resized smaller
   10527 
   10528         Reviewed by Anders Carlsson.
   10529 
   10530         * WebProcess/WebPage/DrawingAreaImpl.cpp:
   10531         (WebKit::DrawingAreaImpl::updateBackingStoreState): Update our dirty region even if painting
   10532         is suspended (but still refrain from updating it when in accelerated compositing mode).
   10533         Rather than unite our existing dirty region with the page's new bounds, overwrite our dirty
   10534         region with the page's new bounds. This prevents us from accumulating a dirty region that is
   10535         larger than the page in the case where the page is being resized smaller.
   10536         (WebKit::DrawingAreaImpl::display): Added an assertion that we're not trying to paint
   10537         outside of the page's bounds.
   10538 
   10539 2011-03-03  Maciej Stachowiak  <mjs (a] apple.com>
   10540 
   10541         Reviewed by Brady Eidson.
   10542 
   10543         WebProcess is calling CFURLCacheRemoveAllCachedResponses when loading, results in origin-load for all resources
   10544         https://bugs.webkit.org/show_bug.cgi?id=55701
   10545         <rdar://problem/9074017>
   10546 
   10547         * Shared/WebProcessCreationParameters.cpp:
   10548         (WebKit::WebProcessCreationParameters::WebProcessCreationParameters): Initialize cache-clearing
   10549         flag parameters to false.
   10550         (WebKit::WebProcessCreationParameters::encode): Serialize them properly.
   10551         (WebKit::WebProcessCreationParameters::decode): And deserialize.
   10552 
   10553 2011-03-03  Alexey Proskuryakov  <ap (a] apple.com>
   10554 
   10555         Reviewed by Darin Adler.
   10556 
   10557         REGRESSION (WebKit2): Tab keys no longer observe Full Keyboard Access
   10558         https://bugs.webkit.org/show_bug.cgi?id=55633
   10559         <rdar://problem/8963023>
   10560 
   10561         * WebKit2.xcodeproj/project.pbxproj:
   10562         * WebProcess/mac/FullKeyboardAccessWatcher.h: Added.
   10563         * WebProcess/mac/FullKeyboardAccessWatcher.mm: Added.
   10564         (-[FullKeyboardAccessWatcher retrieveKeyboardUIModeFromPreferences:]):
   10565         (-[FullKeyboardAccessWatcher init]):
   10566         (+[FullKeyboardAccessWatcher fullKeyboardAccessEnabled]):
   10567         Get the current state of full keyboard access, listening for change notifications.
   10568 
   10569         * WebProcess/WebProcess.h:  Added fullKeyboardAccessEnabled().
   10570 
   10571         * WebProcess/WebProcess.cpp: (WebKit::WebProcess::fullKeyboardAccessEnabled):
   10572         WebKit1 also doesn't implement this on platforms other than Mac.
   10573 
   10574         * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::fullKeyboardAccessEnabled):
   10575         Just ask FullKeyboardAccessWatcher.
   10576 
   10577         * WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::keyboardUIMode):
   10578         * WebProcess/WebCoreSupport/WebChromeClient.h:
   10579         Added keyboardUIMode(), removed tabsToLinks().
   10580 
   10581         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::keyboardUIMode):
   10582         * WebProcess/WebPage/WebPage.h:
   10583         Generate keyboard UI mode from tabToLinks preference and current state of FKA.
   10584 
   10585 2011-03-03  Sam Weinig  <sam (a] webkit.org>
   10586 
   10587         Reviewed by Anders Carlsson.
   10588 
   10589         Give the Bundle's policy client the option of deciding the policy
   10590         https://bugs.webkit.org/show_bug.cgi?id=55699
   10591 
   10592         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
   10593         Add WKBundlePagePolicyAction enum and make it the return value of
   10594         the WKBundlePagePolicyClient functions.
   10595 
   10596         * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp:
   10597         (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNavigationAction):
   10598         (WebKit::InjectedBundlePagePolicyClient::decidePolicyForNewWindowAction):
   10599         (WebKit::InjectedBundlePagePolicyClient::decidePolicyForMIMEType):
   10600         * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h:
   10601         Pass the return value back to the caller. For unimplemented functions, return WKBundlePagePolicyActionPassThrough.
   10602 
   10603         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
   10604         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType):
   10605         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
   10606         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
   10607         Call the policy function early if the bundle handles it.
   10608 
   10609 2011-03-02  Brian Weinstein  <bweinstein (a] apple.com>
   10610 
   10611         Reviewed by Adam Roben.
   10612 
   10613         Rest of WebKit2: Need a way to send notifications to client when cookies change
   10614         https://bugs.webkit.org/show_bug.cgi?id=55427
   10615         <rdar://problem/9056027>
   10616         
   10617         This patch adds the communication from the WebProcess <-> UIProcess about starting/stopping
   10618         listening for cookies changing, and adds a mechanism for the WebProcess to notify the UIProcess
   10619         when the cookies have changed. The WebProcess sends a message to the UIProcess when the cookies
   10620         change, and the UIProcess passes this along to the WebCookieManagerProxyClient.
   10621 
   10622         * UIProcess/API/C/WKCookieManager.cpp:
   10623         (WKCookieManagerSetClient): Call through to WebCookieManagerProxy.
   10624         (WKCookieManagerStartObservingCookieChanges): Ditto.
   10625         (WKCookieManagerStopObservingCookieChanges): Ditto.
   10626 
   10627         * UIProcess/API/C/WKCookieManager.h: Add new functions and a WKCookieManagerClient
   10628             which is responsible for cookiesDidChange.
   10629 
   10630         * UIProcess/WebCookieManagerProxy.cpp:
   10631         (WebKit::WebCookieManagerProxy::initializeClient):
   10632         (WebKit::WebCookieManagerProxy::startObservingCookieChanges): Send the message down to the web process.
   10633         (WebKit::WebCookieManagerProxy::stopObservingCookieChanges): Ditto.
   10634         (WebKit::WebCookieManagerProxy::cookiesDidChange): Tell the WKCookieManagerClient the cookies were
   10635             modified.
   10636         * UIProcess/WebCookieManagerProxy.h:
   10637         * UIProcess/WebCookieManagerProxy.messages.in: Add new messages.
   10638 
   10639         * UIProcess/WebCookieManagerProxyClient.cpp: Added.
   10640         (WebKit::WebCookieManagerProxyClient::cookiesDidChange): Calls through to the client saying that
   10641             cookies changed.
   10642         * UIProcess/WebCookieManagerProxyClient.h: Added.
   10643     
   10644         * WebProcess/Cookies/WebCookieManager.cpp:
   10645         (WebKit::WebCookieManager::startObservingCookieChanges): Call through to WebCore::startObservingCookieChanges
   10646             (on platforms that support it).
   10647         (WebKit::WebCookieManager::stopObservingCookieChanges): Ditto (for stopObservingCookieChanges).
   10648         (WebKit::WebCookieManager::dispatchDidModifyCookies): Send a message to the UI process that cookies changed.
   10649         * WebProcess/Cookies/WebCookieManager.h:
   10650         * WebProcess/Cookies/WebCookieManager.messages.in:
   10651         
   10652         Add new files.
   10653         * WebKit2.pro:
   10654         * WebKit2.xcodeproj/project.pbxproj:
   10655         * GNUmakefile.am:
   10656         * win/WebKit2.vcproj:
   10657 
   10658 2011-03-03  Anders Carlsson  <andersca (a] apple.com>
   10659 
   10660         Reviewed by Darin Adler.
   10661 
   10662         Remove CanRunBeforeUnloadConfirmPanel sync message
   10663         https://bugs.webkit.org/show_bug.cgi?id=55689
   10664 
   10665         * Shared/WebPageCreationParameters.cpp:
   10666         (WebKit::WebPageCreationParameters::encode):
   10667         (WebKit::WebPageCreationParameters::decode):
   10668         Encode and decode canRunBeforeUnloadConfirmPanel, as well as canRunModal, which wasn't
   10669         being encoded/decoded.
   10670 
   10671         * Shared/WebPageCreationParameters.h:
   10672         Add canRunBeforeUnloadConfirmPanel.
   10673 
   10674         * UIProcess/WebPageProxy.cpp:
   10675         (WebKit::WebPageProxy::initializeUIClient):
   10676         Send SetCanRunBeforeUnloadConfirmPanel and SetCanRunModal messages.
   10677 
   10678         (WebKit::WebPageProxy::creationParameters):
   10679         Initialize parameters.canRunBeforeUnloadConfirmPanel.
   10680 
   10681         * UIProcess/WebPageProxy.messages.in:
   10682         Remove CanRunBeforeUnloadConfirmPanel message.
   10683 
   10684         * UIProcess/WebUIClient.cpp:
   10685         (WebKit::WebUIClient::canRunBeforeUnloadConfirmPanel):
   10686         * UIProcess/WebUIClient.h:
   10687         Make canRunBeforeUnloadConfirmPanel const.
   10688 
   10689         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
   10690         (WebKit::WebChromeClient::canRunBeforeUnloadConfirmPanel):
   10691         Ask the web page instead of sending a synchronous message.
   10692 
   10693         * WebProcess/WebPage/WebPage.cpp:
   10694         (WebKit::WebPage::WebPage):
   10695         Initialize m_canRunBeforeUnloadConfirmPanel.
   10696 
   10697         * WebProcess/WebPage/WebPage.h:
   10698         (WebKit::WebPage::canRunBeforeUnloadConfirmPanel):
   10699         (WebKit::WebPage::setCanRunBeforeUnloadConfirmPanel):
   10700         Add getter and setter for m_canRunBeforeUnloadConfirmPanel.
   10701 
   10702         (WebKit::WebPage::setCanRunModal):
   10703         Add setter for m_canRunModal.
   10704 
   10705         * WebProcess/WebPage/WebPage.messages.in:
   10706         Add SetCanRunBeforeUnloadConfirmPanel and SetCanRunModal messages.
   10707 
   10708 2011-03-03  Adam Roben  <aroben (a] apple.com>
   10709 
   10710         Create the CFBundleRef for WebKit.dll on Windows if needed
   10711 
   10712         WebKit part of <http://webkit.org/b/55672> <rdar://problem/9080867> All inspector tests time
   10713         out or crash on Windows 7 Release (WebKit2 Tests)
   10714 
   10715         Reviewed by Darin Adler.
   10716 
   10717         * Shared/win/WebKitBundle.cpp: Added.
   10718         (WebKit::createWebKitBundle): Returns a pre-existing bundle, if possible, otherwise creates
   10719         and returns a new bundle.
   10720         (WebKit::webKitBundle): Creates and caches a bundle, and returns it.
   10721 
   10722         * Shared/win/WebKitBundle.h: Added.
   10723 
   10724         * UIProcess/win/WebInspectorProxyWin.cpp:
   10725         (WebKit::WebInspectorProxy::inspectorPageURL):
   10726         * WebProcess/WebPage/win/WebInspectorWin.cpp:
   10727         (WebKit::WebInspector::localizedStringsURL):
   10728         Changed to use webKitBundle() to ensure that the bundle has been created.
   10729 
   10730         * win/WebKit2.vcproj: Added new files.
   10731 
   10732 2011-03-03  Peter Kasting  <pkasting (a] google.com>
   10733 
   10734         Reviewed by James Robinson.
   10735 
   10736         Drop redundant "Windows; " from the Windows-specific User Agent string.
   10737         https://bugs.webkit.org/show_bug.cgi?id=54567
   10738 
   10739         * UIProcess/win/WebPageProxyWin.cpp:
   10740         (WebKit::WebPageProxy::standardUserAgent):
   10741 
   10742 2011-03-02  Sheriff Bot  <webkit.review.bot (a] gmail.com>
   10743 
   10744         Unreviewed, rolling out r80188.
   10745         http://trac.webkit.org/changeset/80188
   10746         https://bugs.webkit.org/show_bug.cgi?id=55647
   10747 
   10748         Broke the WebKit API tests. (Requested by xenon on #webkit).
   10749 
   10750         * UIProcess/API/C/WKPage.cpp:
   10751         (WKPageRunJavaScriptInMainFrame):
   10752         (callRunJavaScriptBlockAndRelease):
   10753         * UIProcess/API/C/WKPage.h:
   10754         * UIProcess/WebPageProxy.cpp:
   10755         (WebKit::WebPageProxy::close):
   10756         (WebKit::WebPageProxy::runJavaScriptInMainFrame):
   10757         (WebKit::WebPageProxy::processDidCrash):
   10758         * UIProcess/WebPageProxy.h:
   10759         * UIProcess/WebPageProxy.messages.in:
   10760         * WebProcess/WebPage/WebPage.cpp:
   10761         (WebKit::WebPage::runJavaScriptInMainFrame):
   10762 
   10763 2011-03-02  Jeff Miller  <jeffm (a] apple.com>
   10764 
   10765         Reviewed by Darin Adler.
   10766 
   10767         Rename WebKit::WebPage::validateMenuItem() to validateCommand()
   10768         https://bugs.webkit.org/show_bug.cgi?id=55636
   10769         
   10770         Since this method can validate more than menu items, validateCommand() is a better name.  Also rename various messages and WebKit::WebPageProxy::didValidateMenuItem() to didValidateCommand().
   10771 
   10772         * UIProcess/API/mac/WKView.mm:
   10773         (-[WKView validateUserInterfaceItem:]): Call validateCommand() instead of validateMenuItem().
   10774         * UIProcess/WebPageProxy.cpp:
   10775         (WebKit::WebPageProxy::validateCommand): Renamed from validateMenuItem().
   10776         (WebKit::WebPageProxy::didValidateCommand): Renamed from didValidateMenuItem().
   10777         * UIProcess/WebPageProxy.h:
   10778         * UIProcess/WebPageProxy.messages.in: Renamed DidValidateMenuItem to DidValidateCommand.
   10779         * WebProcess/WebPage/WebPage.cpp:
   10780         (WebKit::WebPage::validateCommand): Renamed from validateMenuItem().
   10781         * WebProcess/WebPage/WebPage.h:
   10782         * WebProcess/WebPage/WebPage.messages.in: Renamed ValidateMenuItem to ValidateCommand.
   10783 
   10784 2011-03-02  Anders Carlsson  <andersca (a] apple.com>
   10785 
   10786         Reviewed by Sam Weinig.
   10787 
   10788         WKPageSetMemoryCacheClientCallsEnabled doesn't persist if web process crashes
   10789         https://bugs.webkit.org/show_bug.cgi?id=55635
   10790 
   10791         * Shared/WebPageCreationParameters.cpp:
   10792         (WebKit::WebPageCreationParameters::encode):
   10793         (WebKit::WebPageCreationParameters::decode):
   10794         Encode and decode areMemoryCacheClientCallsEnabled.
   10795 
   10796         * Shared/WebPageCreationParameters.h:
   10797         Add areMemoryCacheClientCallsEnabled member variable.
   10798 
   10799         * UIProcess/WebPageProxy.cpp:
   10800         (WebKit::WebPageProxy::WebPageProxy):
   10801         Initialize m_areMemoryCacheClientCallsEnabled.
   10802 
   10803         (WebKit::WebPageProxy::setMemoryCacheClientCallsEnabled):
   10804         Update m_areMemoryCacheClientCallsEnabled. Send a message if necessary.
   10805 
   10806         (WebKit::WebPageProxy::creationParameters):
   10807         Set areMemoryCacheClientCallsEnabled.
   10808 
   10809         * WebProcess/WebPage/WebPage.cpp:
   10810         (WebKit::WebPage::WebPage):
   10811         Call WebPage::setMemoryCacheMessagesEnabled.
   10812 
   10813 2011-03-02  Timothy Hatcher  <timothy (a] apple.com>
   10814 
   10815         Make the runJavaScriptInMainFrame callback send a WKSerializedScriptValueRef.
   10816 
   10817         https://webkit.org/b/55623
   10818 
   10819         Reviewed by Darin Adler.
   10820 
   10821         * UIProcess/API/C/WKPage.cpp:
   10822         (WKPageRunJavaScriptInMainFrame): Use ScriptValueCallback.
   10823         (callRunJavaScriptBlockAndRelease): Use WKSerializedScriptValueRef.
   10824         * UIProcess/API/C/WKPage.h: Use WKSerializedScriptValueRef.
   10825         * UIProcess/WebPageProxy.cpp:
   10826         (WebKit::WebPageProxy::close): Call invalidateCallbackMap for m_scriptValueCallbacks.
   10827         (WebKit::WebPageProxy::runJavaScriptInMainFrame): Take a ScriptValueCallback.
   10828         (WebKit::WebPageProxy::scriptValueCallback): Added. Create a WebSerializedScriptValue
   10829         from the DataReference before calling the callback.
   10830         (WebKit::WebPageProxy::processDidCrash): Call invalidateCallbackMap for m_scriptValueCallbacks.
   10831         * UIProcess/WebPageProxy.h: Added ScriptValueCallback and m_scriptValueCallbacks.
   10832         * UIProcess/WebPageProxy.messages.in: Added ScriptValueCallback.
   10833         * WebProcess/WebPage/WebPage.cpp:
   10834         (WebKit::WebPage::runJavaScriptInMainFrame): Create a DataReference from a WebCore::SerializedScriptValue.
   10835         And use ScriptValueCallback to send the message back.
   10836 
   10837 2011-03-02  Jessie Berlin  <jberlin (a] apple.com>
   10838 
   10839         Reviewed by Adam Roben.
   10840 
   10841         WebKit2: Use CFNetwork Sessions API.
   10842         https://bugs.webkit.org/show_bug.cgi?id=55435
   10843 
   10844         Add the ability to create a Private Browsing Storage Session.
   10845 
   10846         * Shared/WebProcessCreationParameters.cpp:
   10847         (WebKit::WebProcessCreationParameters::encode):
   10848         Encode the UI Process bundle identifier.
   10849         (WebKit::WebProcessCreationParameters::decode):
   10850         Decode the UI Process bundle identifier.
   10851         * Shared/WebProcessCreationParameters.h:
   10852 
   10853         * UIProcess/mac/WebContextMac.mm:
   10854         (WebKit::WebContext::platformInitializeWebProcess):
   10855         Grab the bundle identifier and use it to set the WebProcessCreationParameter.
   10856         * UIProcess/win/WebContextWin.cpp:
   10857         (WebKit::WebContext::platformInitializeWebProcess):
   10858         Ditto.
   10859 
   10860         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
   10861         (InitWebCoreSystemInterface):
   10862         Support using the wkCreatePrivateStorageSession WKSI in WebCore.
   10863 
   10864         * WebProcess/WebProcess.cpp:
   10865         (WebKit::WebProcess::initializeWebProcess):
   10866         Set the base for the Private Browsing Storage Session identifier to be the bundle identifier
   10867         from the UI Process so that WebKit1 would create a Private Browsing Storage Session with the
   10868         same identifier as WebKit2.
   10869 
   10870 2011-03-01  Brian Weinstein  <bweinstein (a] apple.com>
   10871 
   10872         Reviewed by Adam Roben.
   10873 
   10874         Part of WebKit2: Need a way to send notifications to client when cookies change
   10875         https://bugs.webkit.org/show_bug.cgi?id=55427
   10876         <rdar://problem/9056027>
   10877 
   10878         * WebProcess/Cookies/WebCookieManager.cpp:
   10879         (WebKit::WebCookieManager::dispatchDidModifyCookies): Add a stub with a FIXME to send a 
   10880             message to the UI process.
   10881 
   10882         * WebProcess/Cookies/WebCookieManager.h:
   10883         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
   10884         (WebKit::WebPlatformStrategies::createCookiesStrategy):
   10885         (WebKit::WebPlatformStrategies::notifyCookiesChanged): Call WebCookieManager::dispatchDidModifyCookies.
   10886         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
   10887 
   10888 2011-03-02  Andras Becsi  <abecsi (a] webkit.org>
   10889 
   10890         Reviewed by Laszlo Gombos.
   10891 
   10892         [Qt][WK2] generate-forwarding-headers.pl should generate paths with framework names
   10893         https://bugs.webkit.org/show_bug.cgi?id=55478
   10894 
   10895         On case insensitive systems the generated forwarding headers cause build problems.
   10896 
   10897         * Scripts/generate-forwarding-headers.pl: The generated header should
   10898         also contain the framework name.
   10899 
   10900 2011-03-01  Jeff Miller  <jeffm (a] apple.com>
   10901 
   10902         Reviewed by Darin Adler.
   10903 
   10904         Expose some selection state fields in WKPage
   10905         https://bugs.webkit.org/show_bug.cgi?id=55541
   10906         
   10907         Added WKPageCanDelete(), WKPageHasSelectedRange(), and WKPageIsContentEditable() so we can enable some
   10908         Edit menu items properly on Windows when using WebKit2.
   10909 
   10910         * UIProcess/API/C/WKPage.cpp:
   10911         (WKPageCanDelete): Added.
   10912         (WKPageHasSelectedRange): Added.
   10913         (WKPageIsContentEditable): Added.
   10914         * UIProcess/API/C/WKPage.h: Added new functions.
   10915         * UIProcess/WebPageProxy.h:
   10916         (WebKit::WebPageProxy::canDelete): Added.
   10917         (WebKit::WebPageProxy::hasSelectedRange): Added.
   10918         (WebKit::WebPageProxy::isContentEditable): Added.
   10919 
   10920 2011-03-01  Mark Rowe  <mrowe (a] apple.com>
   10921 
   10922         Hide the typeinfo name symbols for std::exception and std::bad_alloc too.
   10923 
   10924         * Configurations/Base.xcconfig:
   10925 
   10926 2011-03-01  Mark Rowe  <mrowe (a] apple.com>
   10927 
   10928         Reviewed by Sam Weinig.
   10929 
   10930         Add verification scripts to WebKit2 project and fix the issues they reveal.
   10931 
   10932         * Configurations/Base.xcconfig: Add linker flags to prevent C++ standard
   10933         library functions from being exported as weak externals.
   10934         * Configurations/WebKit2.xcconfig: Inherit linker flags from the project level.
   10935         * Shared/WebContextMenuItem.cpp:
   10936         (WebKit::WebContextMenuItem::separatorItem): Use DEFINE_STATIC_LOCAL.
   10937         * UIProcess/WebPageGroup.cpp:
   10938         (WebKit::webPageGroupMap): Ditto.
   10939         * WebKit2.xcodeproj/project.pbxproj: Don't copy .in files in to the framework.
   10940         Run verification scripts at the appropriate times.
   10941         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
   10942         (WebKit::WebEditorClient::didBeginEditing): Use DEFINE_STATIC_LOCAL.
   10943         (WebKit::WebEditorClient::respondToChangedContents): Ditto.
   10944         (WebKit::WebEditorClient::respondToChangedSelection): Ditto.
   10945         (WebKit::WebEditorClient::didEndEditing): Ditto.
   10946         * WebProcess/WebPage/WebBackForwardListProxy.cpp:
   10947         (WebKit::idToHistoryItemMap): Ditto.
   10948         (WebKit::historyItemToIDMap): Ditto.
   10949 
   10950 2011-03-01  Joseph Pecoraro  <joepeck (a] webkit.org>
   10951 
   10952         Unreviewed. Roll out r80068 and r80073 due to breaking WebKit2 Qt port.
   10953 
   10954         * UIProcess/API/qt/qwkpage.cpp:
   10955         (QWKPage::viewportAttributesForSize):
   10956 
   10957 2011-03-01  Joseph Pecoraro  <joepeck (a] webkit.org>
   10958 
   10959         Unreviewed, missed updating a call to WebCore::computeViewportAttributes
   10960         who's prototype changed.
   10961 
   10962         Viewport Warning/Error Messages Are Now Inaccurate
   10963         https://bugs.webkit.org/show_bug.cgi?id=53707
   10964 
   10965         * UIProcess/API/qt/qwkpage.cpp:
   10966         (QWKPage::viewportAttributesForSize): pass in a value for the document argument.
   10967 
   10968 2011-03-01  Anders Carlsson  <andersca (a] apple.com>
   10969 
   10970         Reviewed by Sam Weinig.
   10971 
   10972         WKPluginSiteDataManagerClearAllSiteData is not working
   10973         https://bugs.webkit.org/show_bug.cgi?id=55528
   10974         <rdar://problem/9071823>
   10975 
   10976         * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
   10977         (WebKit::NetscapePluginModule::tryGetSitesWithData):
   10978         Remove version checks, checking that the function pointer is not null is enough.
   10979 
   10980         (WebKit::NetscapePluginModule::tryClearSiteData):
   10981         Remove version checks, checking that the function pointer is not null is enough.
   10982         Also, correctly convert a null String to a null CString.
   10983 
   10984 2011-03-01  Adam Roben  <aroben (a] apple.com>
   10985 
   10986         Incorporate a review comment I missed in r80051
   10987 
   10988         * Shared/Plugins/Netscape/NetscapePluginModule.cpp: Clarified error message.
   10989 
   10990 2011-03-01  Adam Roben  <aroben (a] apple.com>
   10991 
   10992         Make the PLUGIN_ARCHITECTURE() macro work with MSVC
   10993 
   10994         Fixes <http://webkit.org/b/55513> <rdar://problem/9069189> REGRESSION (r79925): Lots of
   10995         plugins tests crashing in NetscapePlugin::initialize on Windows
   10996 
   10997         Reviewed by Anders Carlsson.
   10998 
   10999         * Shared/Plugins/Netscape/NetscapePluginModule.cpp: Added a compile-time check to make sure
   11000         PLUGIN_ARCHITECTURE() is defined for some platform.
   11001 
   11002         * config.h: Removed the parentheses from the use of "defined" in the PLUGIN_ARCHITECTURE()
   11003         macro. This matches PLATFORM(), OS(), etc., and makes the macro work on Windows. Also
   11004         replaced the nonsense OS(WIN) with OS(WINDOWS).
   11005 
   11006         * win/WebKit2.vcproj: Added config.h for editing convenience. Let VS do its thang.
   11007 
   11008 2011-03-01  Sam Weinig  <sam (a] webkit.org>
   11009 
   11010         Reviewed by Timothy Hatcher.
   11011 
   11012         WebKit2 needs to be made localizable
   11013         https://bugs.webkit.org/show_bug.cgi?id=55483
   11014 
   11015         * PluginProcess/mac/PluginProcessMainMac.mm:
   11016         * WebProcess/mac/WebProcessMainMac.mm:
   11017         Set the default localization from the passed in parameter.
   11018 
   11019         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
   11020         Add the preferred localization as a parameter when launching processes
   11021         so that they can set their localization to match the launching app.
   11022 
   11023         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
   11024         Use WebCore's localizedString function on the mac, to actually localize
   11025         these strings.
   11026 
   11027         (WebKit::WebPlatformStrategies::imageTitle):
   11028         Switch to using replace, instead of concatenation, to give localizers a chance
   11029         to rearrange the wording.
   11030 
   11031 2011-03-01  Balazs Kelemen  <kbalazs (a] webkit.org>
   11032 
   11033         Reviewed by Anders Carlsson.
   11034 
   11035         [Qt][WK2] Plugin initialization
   11036         https://bugs.webkit.org/show_bug.cgi?id=48127
   11037 
   11038         Apply the quirks that are necessary for the flash plugin
   11039         to not crash on X11.
   11040 
   11041         * Platform/qt/ModuleQt.cpp:
   11042         (WebKit::Module::load): Use the ResolveAllSymbols hint as we do in WebCore.
   11043         * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
   11044         (WebKit::NetscapePluginModule::tryLoad): Call applyX11QuirksBeforeLoad
   11045         if PLUGIN_ARCHITECTURE is X11.
   11046         * Shared/Plugins/Netscape/NetscapePluginModule.h:
   11047         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
   11048         (WebKit::initializeGTK):  The same hack that we do in WebCore.
   11049         Call gtk_init because flash don't do it for itself.
   11050         (WebKit::NetscapePluginModule::applyX11QuirksBeforeLoad): Added for X11.
   11051         Do the hacks that we need to do before calling NP_Initialize on the
   11052         flash plugin to save it form crashing.
   11053         * Shared/Plugins/PluginQuirks.h: Use PLUGIN_ARCHITECTURE macros.
   11054         Added RequiresGTKToolKit quirk for X11.
   11055         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
   11056         (WebKit::NPN_GetValue): Handle the RequiresGTKToolKit quirk on X11.
   11057         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
   11058         (WebKit::NetscapePlugin::quirks): Added getter for the PluginModule's
   11059         quirks to be available in NPN_GetValue.
   11060 
   11061 2011-03-01  Adam Roben  <aroben (a] apple.com>
   11062 
   11063         Convert seconds to milliseconds before calling ::SetTimer
   11064 
   11065         Fixes <http://webkit.org/b/55417> <rdar://problem/9065287> RunLoop::Timer fires 1000x too
   11066         early on Windows
   11067 
   11068         Reviewed by Anders Carlsson.
   11069 
   11070         * Platform/win/RunLoopWin.cpp:
   11071         (RunLoop::TimerBase::start): Convert the timeout interval to milliseconds, since that's what
   11072         ::SetTimer expects.
   11073 
   11074 2011-03-01  Andras Becsi  <abecsi (a] webkit.org>
   11075 
   11076         Reviewed by Csaba Osztrogonc.
   11077 
   11078         [Qt] Clean up the project files and move common options to WebKit.pri.
   11079 
   11080         * WebKit2.pro: Deduplicate options.
   11081 
   11082 2011-03-01  Juha Savolainen  <juha.savolainen (a] weego.fi>
   11083 
   11084         Reviewed by Andreas Kling.
   11085 
   11086         [Qt] WebKit2 needs to support font size changing and getting default font size
   11087         https://bugs.webkit.org/show_bug.cgi?id=53671
   11088 
   11089         Added new enum for font size type and added methods to set and get default font sizes.
   11090 
   11091         * UIProcess/API/qt/qwkpreferences.cpp:
   11092         (QWKPreferences::setFontSize): Added.
   11093         (QWKPreferences::fontSize): Added.
   11094         * UIProcess/API/qt/qwkpreferences.h:
   11095 
   11096 2011-02-28  Alice Liu  <alice.liu (a] apple.com>
   11097 
   11098         Reviewed by Adam Roben and Gavin Barraclough.
   11099 
   11100         https://bugs.webkit.org/show_bug.cgi?id=54898
   11101         InjectedBundleNodeHandle dies too early in WKBundleHitTestResultGetNodeHandle
   11102 
   11103         * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
   11104         (WKBundleHitTestResultCopyNodeHandle): 
   11105         Instead of .get(), call .release.leakRef() like other functions that return WKBundleNodeHandleRef.
   11106         * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
   11107         Renamed from "get" to "copy", because it leaksRef.
   11108 
   11109 2011-02-28  Alice Liu  <alice.liu (a] apple.com>
   11110 
   11111         Reviewed by Gavin Barraclough.
   11112 
   11113         https://bugs.webkit.org/show_bug.cgi?id=55442
   11114         Webarchives don't contain subframe content
   11115 
   11116         * WebProcess/WebPage/WebPage.cpp:
   11117         (WebKit::WebPage::getWebArchiveOfFrame):
   11118         Pass the frame's document instead of just the frame, to use a different LegacyWebArchive::create function.
   11119 
   11120 2011-02-28  Benjamin Poulain  <benjamin.poulain (a] nokia.com>
   11121 
   11122         Reviewed by Kenneth Rohde Christiansen.
   11123 
   11124         [Qt][WK2] Add a way to test the WebKit 2 APIs
   11125         https://bugs.webkit.org/show_bug.cgi?id=55408
   11126 
   11127         Add an initial test for the WebKit 2 APIs of Qt.
   11128 
   11129         * UIProcess/API/qt/tests/html/basic_page.html: Added.
   11130         * UIProcess/API/qt/tests/qgraphicswkview/qgraphicswkview.pro: Added.
   11131         * UIProcess/API/qt/tests/qgraphicswkview/tst_qgraphicswkview.cpp: Added.
   11132         (View::View):
   11133         (View::resizeEvent):
   11134         (tst_QGraphicsWKView::init):
   11135         (tst_QGraphicsWKView::cleanup):
   11136         (tst_QGraphicsWKView::loadEmptyPage):
   11137         * UIProcess/API/qt/tests/tests.pri: Added.
   11138         * UIProcess/API/qt/tests/tests.pro: Added.
   11139         * UIProcess/API/qt/tests/util.h: Added.
   11140         (waitForSignal):
   11141 
   11142 2011-02-28  Anders Carlsson  <andersca (a] apple.com>
   11143 
   11144         Fix clang build.
   11145 
   11146         * UIProcess/API/mac/FindIndicatorWindow.mm:
   11147         * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
   11148         (WebKit::ChunkedUpdateDrawingAreaProxy::deprecatedUpdate):
   11149         (WebKit::ChunkedUpdateDrawingAreaProxy::didReceiveMessage):
   11150         * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
   11151         * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
   11152         (WebKit::ChunkedUpdateDrawingArea::deprecatedResumePainting):
   11153         (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
   11154         * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
   11155 
   11156 2011-02-28  Dan Bernstein  <mitz (a] apple.com>
   11157 
   11158         Rubber-stamped by Anders Carlsson.
   11159 
   11160         Do not copy config.h into WebKit2.
   11161 
   11162         * WebKit2.xcodeproj/project.pbxproj:
   11163 
   11164 2011-02-28  Dan Bernstein  <mitz (a] apple.com>
   11165 
   11166         LLVM Compiler build fix.
   11167 
   11168         * Scripts/webkit2/messages.py:
   11169         * UIProcess/WebPageProxy.h:
   11170 
   11171 2011-02-28  Anders Carlsson  <andersca (a] apple.com>
   11172 
   11173         Reviewed by Dan Bernstein, Sam Weinig, Alexey Proskuryakov and Darin Adler.
   11174 
   11175         Open PDF in Preview doesn't work
   11176         https://bugs.webkit.org/show_bug.cgi?id=55400
   11177         <rdar://problem/8750353>
   11178 
   11179         * UIProcess/API/mac/PDFViewController.mm:
   11180         (-[WKPDFView initWithFrame:PDFViewController:]):
   11181         Set the WKPDFView as the delegate of itself.
   11182 
   11183         (-[WKPDFView PDFViewOpenPDFInNativeApplication:]):
   11184         Call PDFViewController::openPDFInFinder.
   11185 
   11186         (WebKit::PDFViewController::PDFViewController):
   11187         Initialize m_hasWrittenPDFToDisk to false.
   11188 
   11189         (WebKit::PDFViewController::openPDFInFinder):
   11190         Write the PDF to disk if needed and then open it using -[NSWorkspace openFile:].
   11191         
   11192         (WebKit::temporaryPDFDirectoryPath):
   11193         Create a directory to put PDFs in.
   11194 
   11195         (WebKit::PDFViewController::pathToPDFOnDisk):
   11196         Return a path to a (non-existent) file in the temporary PDF directory.
   11197 
   11198 2011-02-28  Alexey Proskuryakov  <ap (a] apple.com>
   11199 
   11200         Reviewed by Dan Bernstein.
   11201 
   11202         Frequent crashes in CFURLCache code on Snow Leopard
   11203         https://bugs.webkit.org/show_bug.cgi?id=55412
   11204         <rdar://problem/9063922>
   11205 
   11206         CString is evil, it has two lengths which can be different - specifically, fileSystemRepresentation()
   11207         creates a string with maximum possible buffer size. A path with garbage at the end confused
   11208         CFURLCache into corrupting its data structures.
   11209 
   11210         * Shared/WebProcessCreationParameters.h: Added a FIXME about merging Mac and Windows code.
   11211         This problem wouldn't have occured if we didn't use CString in the first place.
   11212 
   11213         * UIProcess/mac/WebContextMac.mm: (WebKit::WebContext::platformInitializeWebProcess):
   11214         Added an assertion matching Windows behavior (seems likely that NSURLCache also wouldn't
   11215         have liked trailing slash).
   11216 
   11217         * UIProcess/win/WebContextWin.cpp: (WebKit::WebContext::platformInitializeWebProcess):
   11218         Made slash removal conditional for robustness.
   11219 
   11220         * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::platformInitializeWebProcess):
   11221         Use actual string length, not CString::length().
   11222 
   11223 2011-02-28  Balazs Kelemen  <kbalazs (a] webkit.org>
   11224 
   11225         Reviewed by Anders Carlsson.
   11226 
   11227         [Qt][WK2] Plugin initialization
   11228         https://bugs.webkit.org/show_bug.cgi?id=48127
   11229 
   11230         Specialize the way of initializing the plugin for X11.
   11231         Introduce PLUGIN_ARCHITECTURE macros to allow code sharing
   11232         across platforms.
   11233 
   11234         * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
   11235         (WebKit::NetscapePluginModule::tryLoad):
   11236         * config.h:
   11237 
   11238 2011-02-28  Sam Weinig  <sam (a] webkit.org>
   11239 
   11240         Reviewed by Brady Eidson.
   11241 
   11242         WK2 Context Menus - Implement LookUpInDictionary
   11243         https://bugs.webkit.org/show_bug.cgi?id=55405
   11244 
   11245         * Shared/DictionaryPopupInfo.cpp:
   11246         (WebKit::DictionaryPopupInfo::encode):
   11247         (WebKit::DictionaryPopupInfo::decode):
   11248         * Shared/DictionaryPopupInfo.h:
   11249         Add type to differentiate between HotKey and ContextMenu triggered
   11250         dictionary popups. This is necessary since HotKey triggered ones want
   11251         to override the style to always be overlay.
   11252 
   11253         * UIProcess/API/mac/PageClientImpl.mm:
   11254         (WebKit::PageClientImpl::didPerformDictionaryLookup):
   11255         Only force the overlay style for HotKey triggered dictionary lookups.
   11256 
   11257         * WebProcess/WebPage/WebPage.h:
   11258         * WebProcess/WebPage/mac/WebPageMac.mm:
   11259         (WebKit::WebPage::performDictionaryLookupAtLocation):
   11260         (WebKit::WebPage::performDictionaryLookupForRange):
   11261         Factor out shared functionality into performDictionaryLookupForRange.
   11262 
   11263         * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
   11264         (WebKit::WebContextMenuClient::lookUpInDictionary):
   11265         Get selected range and call newly factored out performDictionaryLookupForRange.
   11266 
   11267 2011-02-28  Anders Carlsson  <andersca (a] apple.com>
   11268 
   11269         Reviewed by Dan Bernstein.
   11270 
   11271         PDFViewController should hold a reference to the PDF data
   11272         https://bugs.webkit.org/show_bug.cgi?id=55394
   11273 
   11274         * UIProcess/API/mac/PDFViewController.h:
   11275         * UIProcess/API/mac/PDFViewController.mm:
   11276         (WebKit::PDFViewController::setPDFDocumentData):
   11277 
   11278 2011-02-28  Sam Weinig  <sam (a] webkit.org>
   11279 
   11280         Reviewed by Darin Adler.
   11281 
   11282         Size of text in popup menu doesn't match size of text in <select> itself in WebKit2
   11283         https://bugs.webkit.org/show_bug.cgi?id=48234
   11284 
   11285         * Shared/TextInfo.cpp: Removed.
   11286         * Shared/TextInfo.h: Removed.
   11287         Replace this with the more appropriately DictionaryPopupInfo.
   11288 
   11289         * Shared/DictionaryPopupInfo.cpp: Copied from Source/WebKit2/Shared/TextInfo.cpp.
   11290         (WebKit::DictionaryPopupInfo::encode):
   11291         (WebKit::DictionaryPopupInfo::decode):
   11292         * Shared/DictionaryPopupInfo.h: Copied from Source/WebKit2/Shared/TextInfo.h.
   11293         (WebKit::DictionaryPopupInfo::DictionaryPopupInfo):
   11294         Replace individual font related fields with FontInfo.
   11295 
   11296         * Shared/FontInfo.cpp: Added.
   11297         (WebKit::FontInfo::FontInfo):
   11298         (WebKit::FontInfo::encode):
   11299         (WebKit::FontInfo::decode):
   11300         * Shared/FontInfo.h: Added.
   11301         Add class to encapsulate passing a font description over the wire.
   11302 
   11303         * Shared/PlatformPopupMenuData.cpp:
   11304         (WebKit::PlatformPopupMenuData::encode):
   11305         (WebKit::PlatformPopupMenuData::decode):
   11306         * Shared/PlatformPopupMenuData.h:
   11307         Add FontInfo as extra data for the Mac.
   11308 
   11309         * UIProcess/API/mac/PageClientImpl.h:
   11310         * UIProcess/API/mac/PageClientImpl.mm:
   11311         (WebKit::PageClientImpl::didPerformDictionaryLookup):
   11312         * UIProcess/PageClient.h:
   11313         Add scaleFactor and use it to construct a font at the right size.
   11314 
   11315         * UIProcess/WebPageProxy.cpp:
   11316         (WebKit::WebPageProxy::showPopupMenu):
   11317         (WebKit::WebPageProxy::didPerformDictionaryLookup):
   11318         * UIProcess/WebPageProxy.h:
   11319         * UIProcess/WebPageProxy.messages.in:
   11320         * UIProcess/WebPopupMenuProxy.h:
   11321         * UIProcess/mac/WebPopupMenuProxyMac.h:
   11322         (WebKit::WebPopupMenuProxyMac::create):
   11323         * UIProcess/mac/WebPopupMenuProxyMac.mm:
   11324         (WebKit::WebPopupMenuProxyMac::WebPopupMenuProxyMac):
   11325         (WebKit::WebPopupMenuProxyMac::populate):
   11326         (WebKit::WebPopupMenuProxyMac::showPopupMenu):
   11327         * UIProcess/qt/WebPopupMenuProxyQt.cpp:
   11328         (WebKit::WebPopupMenuProxyQt::showPopupMenu):
   11329         * UIProcess/qt/WebPopupMenuProxyQt.h:
   11330         * UIProcess/win/WebPopupMenuProxyWin.cpp:
   11331         (WebKit::WebPopupMenuProxyWin::showPopupMenu):
   11332         * UIProcess/win/WebPopupMenuProxyWin.h:
   11333         * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm:
   11334         (WebKit::WebPopupMenu::setUpPlatformData):
   11335         * WebProcess/WebPage/mac/WebPageMac.mm:
   11336         (WebKit::WebPage::performDictionaryLookupAtLocation):
   11337         Pass scale factor through and rename TextInfo -> DictionaryPopupInfo.
   11338 
   11339         * WebKit2.pro:
   11340         * WebKit2.xcodeproj/project.pbxproj:
   11341         * win/WebKit2.vcproj:
   11342         Add new files.
   11343 
   11344 2011-02-28  Adam Roben  <aroben (a] apple.com>
   11345 
   11346         One more rename as a followup to r79868
   11347 
   11348         Rubber-stamped by Anders Carlsson.
   11349 
   11350         * UIProcess/DrawingAreaProxyImpl.cpp:
   11351         * UIProcess/DrawingAreaProxyImpl.h:
   11352         Rename stateDidChange to backingStoreStateDidChange.
   11353 
   11354 2011-02-28  Adam Roben  <aroben (a] apple.com>
   11355 
   11356         Rename DrawingArea[Proxy]Impl's "state ID" concept to "backing store state ID"
   11357 
   11358         Rubber-stamped (and suggested) by Anders Carlsson.
   11359 
   11360         * UIProcess/DrawingAreaProxy.h:
   11361         * UIProcess/DrawingAreaProxy.messages.in:
   11362         * UIProcess/DrawingAreaProxyImpl.cpp:
   11363         * UIProcess/DrawingAreaProxyImpl.h:
   11364         * WebProcess/WebPage/DrawingArea.h:
   11365         * WebProcess/WebPage/DrawingArea.messages.in:
   11366         * WebProcess/WebPage/DrawingAreaImpl.cpp:
   11367         * WebProcess/WebPage/DrawingAreaImpl.h:
   11368         Perform the rename.
   11369 
   11370 2011-02-28  Adam Roben  <aroben (a] apple.com>
   11371 
   11372         Decouple state changes from sending of UpdateState messages in DrawingAreaProxyImpl
   11373 
   11374         The new DrawingAreaProxyImpl::stateDidChange function should be called whenever
   11375         DrawingAreaProxyImpl's state changes in a way that will require allocating a new backing
   11376         store. (Currently, this is just when the size changes.) This function will sometimes (but
   11377         not always, as when we're waiting for a DidUpdateState message) send an UpdateState message
   11378         to the web process. This means it's now possible for the state IDs sent in consecutive
   11379         UpdateState messages to increase by more than one, but that's OK.
   11380 
   11381         This should cause no change in behavior.
   11382 
   11383         Fixes <http://webkit.org/b/55382> DrawingAreaProxyImpl's state ID should be updated whenever
   11384         its state changes, not just when we send an UpdateState message
   11385 
   11386         Reviewed by Anders Carlsson.
   11387 
   11388         * UIProcess/DrawingAreaProxyImpl.cpp:
   11389         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): Updated for rename.
   11390         (WebKit::DrawingAreaProxyImpl::sizeDidChange): Changed to call stateDidChange.
   11391         (WebKit::DrawingAreaProxyImpl::didUpdateState): Updated for rename, and changed to call
   11392         sendUpdateState whenever our state has changed for any reason since the last UpdateState
   11393         message was sent.
   11394         (WebKit::DrawingAreaProxyImpl::stateDidChange): Added. Increments m_nextStateID and calls
   11395         through to sendUpdateState.
   11396         (WebKit::DrawingAreaProxyImpl::sendUpdateState): Updated for rename, moved incrementing of
   11397         the state ID we send to the web process from here to stateDidChange, and added an assertion.
   11398 
   11399         * UIProcess/DrawingAreaProxyImpl.h: Renamed m_requestedStateID to m_nextStateID, and updated
   11400         the comment explaining its meaning.
   11401 
   11402 2011-02-28  Adam Roben  <aroben (a] apple.com>
   11403 
   11404         Pass the right dirty rect to Plugin::paint
   11405 
   11406         A typo in r79040 broke this. Much of this patch is just support for testing the fix.
   11407 
   11408         Fixes <http://webkit.org/b/55365> <rdar://problem/9031089> REGRESSION (r79040): WebKit2:
   11409         Large portions of pages with plugins paint black
   11410 
   11411         Reviewed by Anders Carlsson.
   11412 
   11413         * WebProcess/Plugins/PluginView.cpp:
   11414         (WebKit::PluginView::paint): Pass the dirty rect we calculated earlier to Plugin::paint,
   11415         rather than just passing along the dirty rect that was passed into this function. This is
   11416         the bug fix.
   11417 
   11418         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
   11419         (WKBundlePageForceRepaint):
   11420         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
   11421         Added new SPI. Just calls through to WebPage::forceRepaintWithoutCallback.
   11422 
   11423         * WebProcess/WebPage/WebPage.cpp:
   11424         (WebKit::WebPage::forceRepaintWithoutCallback): Moved code to force a repaint here...
   11425         (WebKit::WebPage::forceRepaint): ...from here.
   11426 
   11427         * WebProcess/WebPage/WebPage.h: Added forceRepaintWithoutCallback.
   11428 
   11429 2011-02-27  Sam Weinig  <sam (a] webkit.org>
   11430 
   11431         Reviewed by Dan Bernstein.
   11432 
   11433         Force dictionary popup to use overlay type
   11434         <rdar://problem/9052483>
   11435         https://bugs.webkit.org/show_bug.cgi?id=55337
   11436 
   11437         * UIProcess/API/mac/PageClientImpl.mm:
   11438         (WebKit::PageClientImpl::didPerformDictionaryLookup): As this is only
   11439         used for the hot key version of the dictionary popup, force the overlay
   11440         style.
   11441 
   11442 2011-02-27  Benjamin Poulain  <benjamin.poulain (a] nokia.com>
   11443 
   11444         Reviewed by Kenneth Rohde Christiansen.
   11445 
   11446         [Qt] [WK2] QGraphicsWKView::showContextMenu() should be public
   11447         https://bugs.webkit.org/show_bug.cgi?id=55330
   11448 
   11449         Move QGraphicsWKView::showContextMenu() to the public API. Add documentation
   11450         on its use.
   11451 
   11452         * UIProcess/API/qt/qgraphicswkview.cpp:
   11453         * UIProcess/API/qt/qgraphicswkview.h:
   11454 
   11455 2011-02-27  Alejandro G. Castro  <alex (a] igalia.com>
   11456 
   11457         Unreviewed, fixed GTK compilation after r79806.
   11458 
   11459         * UIProcess/gtk/WebView.cpp:
   11460         (WebKit::WebView::didFinishLoadingDataForCustomRepresentation):
   11461         * UIProcess/gtk/WebView.h:
   11462 
   11463 2011-02-26  Anders Carlsson  <andersca (a] apple.com>
   11464 
   11465         Reviewed by Dan Bernstein.
   11466 
   11467         Asynchronous response to FramePolicyListener is not finishing the load
   11468         https://bugs.webkit.org/show_bug.cgi?id=55305
   11469         <rdar://problem/9044356>
   11470 
   11471         Always initialize the receivedPolicyAction reply parameter.
   11472 
   11473         * UIProcess/WebPageProxy.cpp:
   11474         (WebKit::WebPageProxy::decidePolicyForNavigationAction):
   11475         (WebKit::WebPageProxy::decidePolicyForMIMEType):
   11476 
   11477 2011-02-26  Anders Carlsson  <andersca (a] apple.com>
   11478 
   11479         Reviewed by Sam Weinig.
   11480 
   11481         DidFinishLoadingDataForCustomRepresentation should pass along the suggested filename
   11482         https://bugs.webkit.org/show_bug.cgi?id=55304
   11483 
   11484         * UIProcess/API/mac/PDFViewController.h:
   11485         * UIProcess/API/mac/PDFViewController.mm:
   11486         (WebKit::PDFViewController::setPDFDocumentData):
   11487         * UIProcess/API/mac/PageClientImpl.h:
   11488         * UIProcess/API/mac/PageClientImpl.mm:
   11489         (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation):
   11490         * UIProcess/API/mac/WKView.mm:
   11491         (-[WKView _didFinishLoadingDataForCustomRepresentationWithSuggestedFilename:dataReference:CoreIPC::]):
   11492         * UIProcess/API/mac/WKViewInternal.h:
   11493         * UIProcess/API/qt/qwkpage.cpp:
   11494         (QWKPagePrivate::didFinishLoadingDataForCustomRepresentation):
   11495         * UIProcess/API/qt/qwkpage_p.h:
   11496         * UIProcess/PageClient.h:
   11497         * UIProcess/WebPageProxy.cpp:
   11498         (WebKit::WebPageProxy::didFinishLoadingDataForCustomRepresentation):
   11499         * UIProcess/WebPageProxy.h:
   11500         * UIProcess/WebPageProxy.messages.in:
   11501         * UIProcess/win/WebView.cpp:
   11502         (WebKit::WebView::didFinishLoadingDataForCustomRepresentation):
   11503         * UIProcess/win/WebView.h:
   11504         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
   11505         (WebKit::WebFrameLoaderClient::finishedLoading):
   11506 
   11507 2011-02-26  Anders Carlsson  <andersca (a] apple.com>
   11508 
   11509         Reviewed by Oliver Hunt.
   11510 
   11511         DrawingArea should not be reference counted
   11512         https://bugs.webkit.org/show_bug.cgi?id=55284
   11513 
   11514         * Shared/DrawingAreaInfo.h:
   11515         * Shared/WebPageCreationParameters.cpp:
   11516         (WebKit::WebPageCreationParameters::encode):
   11517         (WebKit::WebPageCreationParameters::decode):
   11518         * Shared/WebPageCreationParameters.h:
   11519         * UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:
   11520         (WebKit::ChunkedUpdateDrawingAreaProxy::ChunkedUpdateDrawingAreaProxy):
   11521         (WebKit::ChunkedUpdateDrawingAreaProxy::setPageIsVisible):
   11522         (WebKit::ChunkedUpdateDrawingAreaProxy::update):
   11523         (WebKit::ChunkedUpdateDrawingAreaProxy::sendSetSize):
   11524         * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
   11525         * UIProcess/DrawingAreaProxy.cpp:
   11526         (WebKit::DrawingAreaProxy::DrawingAreaProxy):
   11527         * UIProcess/DrawingAreaProxy.h:
   11528         (WebKit::DrawingAreaProxy::type):
   11529         * UIProcess/DrawingAreaProxyImpl.cpp:
   11530         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
   11531         * UIProcess/DrawingAreaProxyImpl.h:
   11532         * UIProcess/TiledDrawingAreaProxy.cpp:
   11533         (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
   11534         * UIProcess/TiledDrawingAreaProxy.h:
   11535         * UIProcess/WebPageProxy.cpp:
   11536         (WebKit::WebPageProxy::didReceiveSyncMessage):
   11537         (WebKit::WebPageProxy::creationParameters):
   11538         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
   11539         * WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:
   11540         (WebKit::ChunkedUpdateDrawingArea::ChunkedUpdateDrawingArea):
   11541         (WebKit::ChunkedUpdateDrawingArea::display):
   11542         (WebKit::ChunkedUpdateDrawingArea::setSize):
   11543         (WebKit::ChunkedUpdateDrawingArea::didReceiveMessage):
   11544         * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
   11545         * WebProcess/WebPage/DrawingArea.cpp:
   11546         (WebKit::DrawingArea::create):
   11547         (WebKit::DrawingArea::DrawingArea):
   11548         * WebProcess/WebPage/DrawingArea.h:
   11549         * WebProcess/WebPage/DrawingAreaImpl.cpp:
   11550         (WebKit::DrawingAreaImpl::create):
   11551         (WebKit::DrawingAreaImpl::DrawingAreaImpl):
   11552         * WebProcess/WebPage/DrawingAreaImpl.h:
   11553         * WebProcess/WebPage/TiledDrawingArea.cpp:
   11554         (WebKit::TiledDrawingArea::TiledDrawingArea):
   11555         * WebProcess/WebPage/TiledDrawingArea.h:
   11556         * WebProcess/WebPage/WebPage.cpp:
   11557         (WebKit::WebPage::drawRect):
   11558         * WebProcess/WebPage/WebPage.h:
   11559 
   11560 2011-02-26  Vsevolod Vlasov  <vsevik (a] chromium.org>
   11561 
   11562         Reviewed by Pavel Feldman.
   11563 
   11564         DumpRenderTree should reset frame opener between tests.
   11565         https://bugs.webkit.org/show_bug.cgi?id=54874
   11566 
   11567         Added clearOpener method to WKBundleWebFramePrivate.
   11568 
   11569         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
   11570         (WKBundleFrameClearOpener):
   11571         * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
   11572 
   11573 2011-02-26  Yael Aharon  <yael.aharon (a] nokia.com>
   11574 
   11575         Reviewed by Andreas Kling.
   11576 
   11577         [Qt] Fix the focus in MiniBrowser.
   11578         https://bugs.webkit.org/show_bug.cgi?id=55288
   11579 
   11580         Implement basic functionality for focus in QWKPagePrivate.
   11581 
   11582         * UIProcess/API/qt/qwkpage.cpp:
   11583         (QWKPagePrivate::isViewWindowActive):
   11584         (QWKPagePrivate::isViewFocused):
   11585         (QWKPagePrivate::isViewVisible):
   11586 
   11587 2011-02-26  Sheriff Bot  <webkit.review.bot (a] gmail.com>
   11588 
   11589         Unreviewed, rolling out r79764.
   11590         http://trac.webkit.org/changeset/79764
   11591         https://bugs.webkit.org/show_bug.cgi?id=55295
   11592 
   11593         "broke Chromium builds" (Requested by rniwa on #webkit).
   11594 
   11595         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
   11596         * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
   11597 
   11598 2011-02-26  Vsevolod Vlasov  <vsevik (a] chromium.org>
   11599 
   11600         Reviewed by Pavel Feldman.
   11601 
   11602         DumpRenderTree should reset frame opener between tests.
   11603         https://bugs.webkit.org/show_bug.cgi?id=54874
   11604 
   11605         Added clearOpener method to WKBundleWebFramePrivate.
   11606 
   11607         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
   11608         (WKBundleFrameClearOpener):
   11609         * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
   11610 
   11611 2011-02-25  Anders Carlsson  <andersca (a] apple.com>
   11612 
   11613         Reviewed by Darin Adler.
   11614 
   11615         Plug-in process crashes when using GuardMalloc
   11616         https://bugs.webkit.org/show_bug.cgi?id=55279
   11617         <rdar://problem/9044618>
   11618 
   11619         Update m_environmentPointer after copying the environment variables.
   11620         
   11621         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
   11622         (WebKit::EnvironmentVariables::copyEnvironmentVariables):
   11623 
   11624 2011-02-25  Darin Adler  <darin (a] apple.com>
   11625 
   11626         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
   11627         (WebKit::ProcessLauncher::launchProcess): Fixed backwards logic from last change.
   11628 
   11629 2011-02-25  Darin Adler  <darin (a] apple.com>
   11630 
   11631         Reviewed by Mark Rowe.
   11632 
   11633         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
   11634         (WebKit::ProcessLauncher::launchProcess): Fixed performance problem in production
   11635         builds by only setting DYLD_FRAMEWORK_PATH in engineering configurations.
   11636 
   11637 2011-02-25  Darin Adler  <darin (a] apple.com>
   11638 
   11639         Reviewed by Anders Carlsson.
   11640 
   11641         <rdar://problem/8036034> WebKit2 should work even if DYLD_FRAMEWORK_PATH is not set
   11642 
   11643         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
   11644         (WebKit::EnvironmentVariables::~EnvironmentVariables): Use fastFree, not delete, on
   11645         the strings here because they are allocated with fastMalloc, not new.
   11646         (WebKit::EnvironmentVariables::set): Use const more.
   11647         (WebKit::EnvironmentVariables::get): Ditto.
   11648         (WebKit::EnvironmentVariables::appendValue): Ditto.
   11649         (WebKit::EnvironmentVariables::valueIfVariableHasName): Ditto. Also fix mistake
   11650         where this would match if the name matched only a prefix of the environment variable's
   11651         name. We want to match the whole name, so we need to use memcmp, not strncmp.
   11652         (WebKit::EnvironmentVariables::createStringForVariable): Use const more.
   11653         (WebKit::ProcessLauncher::launchProcess): Use clearer name, frameworkExecutablePath,
   11654         for what was called bundlePath before. Append the frameworks path to DYLD_FRAMEWORK_PATH,
   11655         ensuring we can pick up other frameworks from the same directory in the web process.
   11656         Use a const_cast instead of a C-style cast.
   11657 
   11658 2011-02-25  Chris Fleizach  <cfleizach (a] apple.com>
   11659 
   11660         Reviewed by Anders Carlsson.
   11661 
   11662         AX: WK2: AXApplication not returning the AXFocusedUIElement within the web area
   11663         https://bugs.webkit.org/show_bug.cgi?id=55277
   11664 
   11665         * UIProcess/API/mac/WKView.mm:
   11666         (-[WKView accessibilityFocusedUIElement]):
   11667 
   11668 2011-02-25  Alexey Proskuryakov  <ap (a] apple.com>
   11669 
   11670         Reviewed by Anders Carlsson.
   11671 
   11672         https://bugs.webkit.org/show_bug.cgi?id=55276
   11673         WebPage::close() accesses "this" after it is destroyed.
   11674 
   11675         This was making many tests crash with GuardMalloc.
   11676 
   11677         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::close): Access "this" before it can be
   11678         destroyed, not after.
   11679 
   11680 2011-02-25  Balazs Kelemen  <kbalazs (a] webkit.org>
   11681 
   11682         Unreviewed.
   11683         Add missing sources to WebKit2API.pri.
   11684 
   11685         * WebKit2API.pri:
   11686 
   11687 2011-02-25  Anders Carlsson  <andersca (a] apple.com>
   11688 
   11689         Reviewed by Darin Adler.
   11690 
   11691         A WKView without a window will cause CG errors in the console
   11692         https://bugs.webkit.org/show_bug.cgi?id=55264
   11693         <rdar://problem/9044281>
   11694 
   11695         Check that the window has a valid window number before trying to get its graphics context.
   11696 
   11697         * UIProcess/API/mac/PageClientImpl.mm:
   11698         (WebKit::PageClientImpl::containingWindowGraphicsContext):
   11699 
   11700 2011-02-25  Brian Weinstein  <bweinstein (a] apple.com>
   11701 
   11702         Reviewed by Brady Eidson and looked over by Jessie Berlin.
   11703 
   11704         WebKit2: Need a way to manage cookies from the web process
   11705         https://bugs.webkit.org/show_bug.cgi?id=55086
   11706         
   11707         Call through to WebCore::CookieJar in our WebCookieManager functions.
   11708 
   11709         * WebProcess/Cookies/WebCookieManager.cpp:
   11710         (WebKit::WebCookieManager::getHostnamesWithCookies):
   11711         (WebKit::WebCookieManager::deleteCookiesForHostname):
   11712         (WebKit::WebCookieManager::deleteAllCookies):
   11713 
   11714 2011-02-25  Anders Carlsson  <andersca (a] apple.com>
   11715 
   11716         Reviewed by Sam Weinig.
   11717 
   11718         Option-clicking on links doesn't download them due to sandbox violation
   11719         https://bugs.webkit.org/show_bug.cgi?id=55250
   11720         <rdar://problem/9018359>
   11721 
   11722         The change to make DecidePolicyForNavigationAction sync didn't handle the case when the
   11723         decided policy was "Download". Fix this by passing along the download ID back to the web process.
   11724 
   11725         * Platform/CoreIPC/HandleMessage.h:
   11726         (CoreIPC::callMemberFunction):
   11727         Add new overload.
   11728 
   11729         * UIProcess/WebPageProxy.cpp:
   11730         (WebKit::WebPageProxy::WebPageProxy):
   11731         Initialize m_syncNavigationActionPolicyDownloadID.
   11732 
   11733         (WebKit::WebPageProxy::receivedPolicyDecision):
   11734         Set m_syncNavigationActionPolicyDownloadID to the download ID.
   11735 
   11736         (WebKit::WebPageProxy::decidePolicyForNavigationAction):
   11737         Return the m_syncNavigationActionPolicyDownloadID.
   11738 
   11739         * UIProcess/WebPageProxy.h:
   11740         * UIProcess/WebPageProxy.messages.in:
   11741         Add a DownloadID reply parameter.
   11742 
   11743         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
   11744         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
   11745         Don't pass a zero download ID to didReceivePolicyDecision.
   11746 
   11747 2011-02-25  Amruth Raj  <amruthraj (a] motorola.com> and Ravi Phaneendra Kasibhatla  <ravi.kasibhatla (a] motorola.com> and Alejandro G. Castro  <alex (a] igalia.com>
   11748 
   11749         Reviewed by Martin Robinson.
   11750 
   11751         [GTK] Implement WebContext and NativeKeyboardEvent classes for WebKit2
   11752         https://bugs.webkit.org/show_bug.cgi?id=48510
   11753 
   11754         * GNUmakefile.am:
   11755         * Shared/NativeWebKeyboardEvent.h: Added the GTK event attribute
   11756         and constructors, in our case we need it because we use a pointer
   11757         and copy the event.
   11758         (WebKit::NativeWebKeyboardEvent::nativeEvent):
   11759         * Shared/gtk/NativeWebKeyboardEventGtk.cpp: Added.
   11760         (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent): We need
   11761         to copy the event in the constructor to avoid two references to
   11762         the same event.
   11763         * Shared/gtk/WebEventFactory.cpp: Changed the prototype of the
   11764         functions to add const, we need it for the NativeWebKeyboardEvent
   11765         constructor.
   11766         (WebKit::modifiersForEvent):
   11767         (WebKit::WebEventFactory::createWebKeyboardEvent):
   11768         * UIProcess/gtk/WebContextGtk.cpp: Added. Stubbed implementation
   11769         for GTK port. Yet to implement.
   11770         (WebKit::WebContext::applicationCacheDirectory):
   11771         (WebKit::WebContext::platformInitializeWebProcess):
   11772         (WebKit::WebContext::platformDefaultDatabaseDirectory):
   11773         * UIProcess/gtk/WebView.cpp:
   11774         (WebKit::WebView::handleKeyboardEvent):
   11775 
   11776 2011-02-25  Anders Carlsson  <andersca (a] apple.com>
   11777 
   11778         Reviewed by Sam Weinig.
   11779 
   11780         Get rid of more old accelerated compositing code
   11781         https://bugs.webkit.org/show_bug.cgi?id=55235
   11782 
   11783         * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h:
   11784         * UIProcess/ChunkedUpdateDrawingAreaProxy.h:
   11785         * UIProcess/DrawingAreaProxy.h:
   11786         * UIProcess/DrawingAreaProxyImpl.cpp:
   11787         * UIProcess/DrawingAreaProxyImpl.h:
   11788         * WebProcess/WebPage/ChunkedUpdateDrawingArea.h:
   11789         * WebProcess/WebPage/DrawingArea.h:
   11790         * WebProcess/WebPage/DrawingAreaImpl.cpp:
   11791         * WebProcess/WebPage/DrawingAreaImpl.h:
   11792 
   11793 2011-02-25  Andras Becsi  <abecsi (a] webkit.org>
   11794 
   11795         Reviewed by Csaba Osztrogonc.
   11796 
   11797         [Qt] Make the WebKit2 build system less confusing for non-Qt developers
   11798         https://bugs.webkit.org/show_bug.cgi?id=55213
   11799 
   11800         * WebKit2API.pri: Added.
   11801 
   11802 2011-02-25  Amruth Raj  <amruthraj (a] motorola.com> and Ravi Phaneendra Kasibhatla  <ravi.kasibhatla (a] motorola.com> and Alejandro G. Castro  <alex (a] igalia.com>
   11803 
   11804         Reviewed by Martin Robinson.
   11805 
   11806         [GTK] Implement WebView and WebKitWebView classes for WebKit2
   11807         https://bugs.webkit.org/show_bug.cgi?id=48509
   11808 
   11809         * GNUmakefile.am:
   11810         * UIProcess/API/C/gtk/WKView.cpp:
   11811         * UIProcess/API/C/gtk/WKView.h: Removed gdkrectangle from
   11812         constructor.
   11813         * UIProcess/gtk/WebViewWidget.cpp: Added. The GObject interface
   11814         for WebView. The GObject is the GtkWidget handle which is used by
   11815         WebView class for GTK port.
   11816         * UIProcess/gtk/WebViewWidget.h: Added. The GObject interface
   11817         declarations for GtkWidget handle for GTK port.
   11818         * UIProcess/gtk/WebView.cpp: Added. The native GtkWidget handle
   11819         for GTK port which is associated with each WKViewRef.
   11820         * UIProcess/gtk/WebView.h: Added. Class which implements the
   11821         PageClient interface. It is a wrapper over the native GtkWidget
   11822         handle associated with each WKViewRef for GTK port.
   11823 
   11824 2011-02-25  Alejandro G. Castro  <alex (a] igalia.com>
   11825 
   11826         Fix GTK compilation after r79654.
   11827 
   11828         * GNUmakefile.am:
   11829 
   11830 2011-02-24  Brian Weinstein  <bweinstein (a] apple.com>
   11831 
   11832         Qt build fix.
   11833 
   11834         * WebKit2.pri:
   11835 
   11836 2011-02-24  Brady Eidson  <beidson (a] apple.com>
   11837 
   11838         Reviewed by Sam Weinig and looked over by Brian Weinstein.
   11839 
   11840         Part of <rdar://problem/8762095> and https://bugs.webkit.org/show_bug.cgi?id=55172
   11841         Need WebKit2 API to view/manage origins with LocalStorage.
   11842 
   11843         Project file stuff:
   11844         * GNUmakefile.am:
   11845         * WebKit2.pri:
   11846         * WebKit2.pro:
   11847         * WebKit2.xcodeproj/project.pbxproj:
   11848         * win/WebKit2.vcproj:
   11849         * win/WebKit2Common.vsprops:
   11850         * win/WebKit2Generated.make:
   11851 
   11852         WK2 derived sources and API stuff:
   11853         * DerivedSources.make:
   11854         * DerivedSources.pro:
   11855         * Platform/CoreIPC/MessageID.h:
   11856         * Shared/API/c/WKBase.h:
   11857         * Shared/APIObject.h:
   11858         * UIProcess/API/C/WKAPICast.h:
   11859 
   11860         Add an KeyValueStorageManager to the context and invalidate it at the appropriate times:
   11861         * UIProcess/WebContext.cpp:
   11862         (WebKit::WebContext::WebContext):
   11863         (WebKit::WebContext::~WebContext):
   11864         (WebKit::WebContext::disconnectProcess):
   11865         (WebKit::WebContext::didReceiveMessage):
   11866         * UIProcess/WebContext.h:
   11867         (WebKit::WebContext::keyValueStorageManagerProxy):
   11868 
   11869         Add API to get the KeyValueStorageManager for a context:
   11870         * UIProcess/API/C/WKContext.cpp:
   11871         (WKContextGetKeyValueStorageManager):
   11872         * UIProcess/API/C/WKContext.h:
   11873 
   11874         Route messages to the right place:
   11875         * UIProcess/WebProcessProxy.cpp:
   11876         (WebKit::WebProcessProxy::didReceiveMessage):
   11877         * WebProcess/WebProcess.cpp:
   11878         (WebKit::WebProcess::didReceiveMessage):
   11879 
   11880         Add the API object, which wraps to WebKeyValueStorageManagerProxy:
   11881         * UIProcess/API/C/WKKeyValueStorageManager.cpp: Added.
   11882         (WKKeyValueStorageManagerGetTypeID):
   11883         (WKKeyValueStorageManagerGetKeyValueStorageOrigins):
   11884         (WKKeyValueStorageManagerDeleteEntriesForOrigin):
   11885         (WKKeyValueStorageManagerDeleteAllEntries):
   11886         * UIProcess/API/C/WKKeyValueStorageManager.h: Added.
   11887 
   11888         The UIProcess implementation of the manager to send messages to the WebProcess and pipe a callback back up to the client:
   11889         * UIProcess/WebKeyValueStorageManagerProxy.cpp: Added.
   11890         (WebKit::WebKeyValueStorageManagerProxy::create):
   11891         (WebKit::WebKeyValueStorageManagerProxy::WebKeyValueStorageManagerProxy):
   11892         (WebKit::WebKeyValueStorageManagerProxy::~WebKeyValueStorageManagerProxy):
   11893         (WebKit::WebKeyValueStorageManagerProxy::invalidate):
   11894         (WebKit::WebKeyValueStorageManagerProxy::didReceiveMessage):
   11895         (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins):
   11896         (WebKit::WebKeyValueStorageManagerProxy::didGetKeyValueStorageOrigins):
   11897         (WebKit::WebKeyValueStorageManagerProxy::deleteEntriesForOrigin):
   11898         (WebKit::WebKeyValueStorageManagerProxy::deleteAllEntries):
   11899         * UIProcess/WebKeyValueStorageManagerProxy.h: Added.
   11900         (WebKit::WebKeyValueStorageManagerProxy::clearContext):
   11901         (WebKit::WebKeyValueStorageManagerProxy::type):
   11902         * UIProcess/WebKeyValueStorageManagerProxy.messages.in: Added.
   11903 
   11904         The WebProcess implementation to response to UIProcess messages and actually do the dirty-work in WebCore:
   11905         * WebProcess/KeyValueStorage: Added.
   11906         * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp: Added.
   11907         (WebKit::WebKeyValueStorageManager::shared):
   11908         (WebKit::WebKeyValueStorageManager::WebKeyValueStorageManager):
   11909         (WebKit::WebKeyValueStorageManager::didReceiveMessage):
   11910         (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
   11911         (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
   11912         (WebKit::WebKeyValueStorageManager::deleteAllEntries):
   11913         * WebProcess/KeyValueStorage/WebKeyValueStorageManager.h: Added.
   11914         * WebProcess/KeyValueStorage/WebKeyValueStorageManager.messages.in: Added.
   11915 
   11916 2011-02-24  Darin Adler  <darin (a] apple.com>
   11917 
   11918         Reviewed by Anders Carlsson.
   11919 
   11920         WebKit2: Image-based cursors do not work
   11921         https://bugs.webkit.org/show_bug.cgi?id=55184
   11922 
   11923         * Shared/ShareableBitmap.h: Added releaseData function
   11924         declaration. This is only defined for CG, but we can declare
   11925         it without defining it on non-CG platforms without causing problems.
   11926 
   11927         * Shared/WebCoreArgumentCoders.cpp: Added.
   11928         (CoreIPC::encodeImage): Added. For use in the Cursor argument coder.
   11929         (CoreIPC::decodeImage): Ditto.
   11930 
   11931         * Shared/WebCoreArgumentCoders.h: Added code to the Cursor encoder
   11932         and decoder to handle image-based cursors, using the new encodeImage
   11933         and decodeImage functions.
   11934 
   11935         * Shared/cg/ShareableBitmapCG.cpp:
   11936         (WebKit::ShareableBitmap::releaseData): Added.
   11937         (WebKit::ShareableBitmap::createGraphicsContext): Use
   11938         CGBitmapContextCreateWithData instead of CGBitmapContextCreate,
   11939         to guarantee we outlast the CGBitmapContext we create.
   11940         (WebKit::ShareableBitmap::paint): Got rid of unnneeded local variable.
   11941 
   11942         * Shared/cg/WebCoreArgumentCodersCG.cpp: Added.
   11943         (CoreIPC::createImage): Added. For use by CoreIPC::decodeImage.
   11944 
   11945         * WebKit2.xcodeproj/project.pbxproj: Added WebCoreArgumentCoders.cpp
   11946         and WebCoreArgumentCodersCG.cpp.
   11947         * win/WebKit2.vcproj: Ditto.
   11948 
   11949 2011-02-24  Anders Carlsson  <andersca (a] apple.com>
   11950 
   11951         Reviewed by Dan Bernstein.
   11952 
   11953         Crash when trying to send a sync message on an invalid connection
   11954         https://bugs.webkit.org/show_bug.cgi?id=55190
   11955         <rdar://problem/9035806>
   11956 
   11957         * Platform/CoreIPC/Connection.cpp:
   11958         (CoreIPC::Connection::sendSyncMessage):
   11959         Don't try to call a client function if isValid() returns false since the client
   11960         will be null in that case.
   11961 
   11962 2011-02-24  Anders Carlsson  <andersca (a] apple.com>
   11963 
   11964         Reviewed by Dan Bernstein.
   11965 
   11966         Remove the layer backed drawing area
   11967         https://bugs.webkit.org/show_bug.cgi?id=55174
   11968 
   11969         * GNUmakefile.am:
   11970         * Shared/DrawingAreaInfo.h:
   11971         * UIProcess/API/mac/WKView.mm:
   11972         * UIProcess/LayerBackedDrawingAreaProxy.cpp: Removed.
   11973         * UIProcess/LayerBackedDrawingAreaProxy.h: Removed.
   11974         * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm: Removed.
   11975         * UIProcess/win/LayerBackedDrawingAreaProxyWin.cpp: Removed.
   11976         * UIProcess/win/WebView.cpp:
   11977         * WebKit2.xcodeproj/project.pbxproj:
   11978         * WebProcess/WebPage/DrawingArea.cpp:
   11979         (WebKit::DrawingArea::create):
   11980         * WebProcess/WebPage/LayerBackedDrawingArea.cpp: Removed.
   11981         * WebProcess/WebPage/LayerBackedDrawingArea.h: Removed.
   11982         * WebProcess/WebPage/mac/LayerBackedDrawingAreaMac.mm: Removed.
   11983         * WebProcess/WebPage/win/LayerBackedDrawingAreaWin.cpp: Removed.
   11984         * win/WebKit2.vcproj:
   11985 
   11986 2011-02-24  Mike Thole  <mthole (a] apple.com>
   11987 
   11988         Reviewed by Sam Weinig.
   11989 
   11990         WK2: Add ability to get document node for a WKBundleNodeHandle
   11991         https://bugs.webkit.org/post_bug.cgi
   11992 
   11993         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
   11994         (WKBundleNodeHandleCopyDocument):
   11995         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
   11996         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
   11997         (WebKit::InjectedBundleNodeHandle::document):
   11998         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
   11999 
   12000 2011-02-24  Brady Eidson  <beidson (a] apple.com>
   12001 
   12002         Reviewed by Adam Roben and looked at by Brian Weinstein.
   12003 
   12004         https://bugs.webkit.org/show_bug.cgi?id=55165
   12005         Can call CF API with a null CFArray in WebResourceCacheManager
   12006 
   12007         * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
   12008         (WebKit::WebResourceCacheManager::getCacheOrigins): cfURLCacheHostNames() can return a null CFArrayRef, 
   12009           so the call to CFArrayGetCount must be null checked.
   12010 
   12011 2011-02-24  Anders Carlsson  <andersca (a] apple.com>
   12012 
   12013         Reviewed by Simon Fraser.
   12014 
   12015         ASSERTION FAILED: !isInAcceleratedCompositingMode() when entering accelerated compositing early
   12016         https://bugs.webkit.org/show_bug.cgi?id=55162
   12017         <rdar://problem/9048523>
   12018 
   12019         * WebProcess/WebPage/DrawingAreaImpl.cpp:
   12020         (WebKit::DrawingAreaImpl::updateState):
   12021         Call setShouldNotifyAfterNextScheduledLayerFlush(false) so the web process process won't send an
   12022         EnterAcceleratedCompositingMode message.
   12023 
   12024         (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
   12025         setShouldNotifyAfterNextScheduledLayerFlush now takes a boolean.
   12026 
   12027         * WebProcess/WebPage/LayerTreeHost.h:
   12028         * WebProcess/WebPage/mac/LayerTreeHostMac.h:
   12029         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
   12030         (WebKit::LayerTreeHostMac::setShouldNotifyAfterNextScheduledLayerFlush):
   12031         Make this take a boolean.
   12032 
   12033 2011-02-24  Peter Kasting  <pkasting (a] google.com>
   12034 
   12035         Reviewed by Eric Seidel.
   12036 
   12037         Drop the "U; " encryption level from the User Agent string.
   12038         https://bugs.webkit.org/show_bug.cgi?id=54566
   12039 
   12040         * UIProcess/gtk/WebPageProxyGtk.cpp:
   12041         (WebKit::WebPageProxy::standardUserAgent):
   12042         * UIProcess/mac/WebPageProxyMac.mm:
   12043         (WebKit::WebPageProxy::standardUserAgent):
   12044         * UIProcess/qt/WebPageProxyQt.cpp:
   12045         (WebKit::WebPageProxy::standardUserAgent):
   12046         * UIProcess/win/WebPageProxyWin.cpp:
   12047         (WebKit::WebPageProxy::standardUserAgent):
   12048 
   12049 2011-02-24  Andrew Wilson  <atwilson (a] chromium.org>
   12050 
   12051         Unreviewed, rolling out r79570.
   12052         http://trac.webkit.org/changeset/79570
   12053         https://bugs.webkit.org/show_bug.cgi?id=54874
   12054 
   12055         Breaks chromium build because glue/mocks/mock_web_frame.h/cc
   12056         was not updated
   12057 
   12058         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
   12059         * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
   12060 
   12061 2011-02-23  Brian Weinstein  <bweinstein (a] apple.com>
   12062 
   12063         Reviewed by Adam Roben and looked over by Jessie Berlin.
   12064 
   12065         Part of WebKit2: Need a way to manage cookies from the web process
   12066         https://bugs.webkit.org/show_bug.cgi?id=55086
   12067         
   12068         This patch adds the plumbing and classes that are needed to manage cookies from the web process.
   12069         The functions that the API calls are currently stubs, but will be implemented in a follow-up patch.
   12070 
   12071         Project file changes.
   12072         * DerivedSources.make:
   12073         * DerivedSources.pro:
   12074         * GNUmakefile.am:
   12075         * WebKit2.pri:
   12076         * WebKit2.pro:
   12077         * WebKit2.xcodeproj/project.pbxproj:
   12078         * win/WebKit2.vcproj:
   12079         * win/WebKit2Common.vsprops:
   12080         * win/WebKit2Generated.make:
   12081 
   12082         Add some needed plumbing for WebCookieManager{Proxy}.
   12083         * Platform/CoreIPC/MessageID.h:
   12084         * Shared/API/c/WKBase.h:
   12085         * Shared/APIObject.h:
   12086         * UIProcess/API/C/WKAPICast.h:
   12087 
   12088         * UIProcess/API/C/WKContext.cpp:
   12089         (WKContextGetCookieManager): Gets the cookie manager proxy.
   12090         * UIProcess/API/C/WKContext.h:
   12091         * UIProcess/API/C/WKCookieManager.cpp: Added.
   12092         (WKCookieManagerGetTypeID):
   12093         (WKCookieManagerGetHostnamesWithCookies): Calls through to WebCookieManagerProxy.
   12094         (WKCookieManagerDeleteCookiesForHostname): Ditto.
   12095         (WKCookieManagerDeleteAllCookies): Ditto.
   12096         * UIProcess/API/C/WKCookieManager.h: Added.
   12097 
   12098         * UIProcess/WebProcessProxy.cpp:
   12099         (WebKit::WebProcessProxy::didReceiveMessage): Add a case for the cookie manager.
   12100         * UIProcess/WebContext.cpp:
   12101         (WebKit::WebContext::WebContext): Initialize the cookie manager.
   12102         (WebKit::WebContext::~WebContext): Invalidate the cookie manager.
   12103         (WebKit::WebContext::disconnectProcess): Ditto.
   12104         (WebKit::WebContext::didReceiveMessage): Add a case for the cookie manager.
   12105         * UIProcess/WebContext.h:
   12106         (WebKit::WebContext::cookieManagerProxy): Returns the cookie manager.
   12107         * WebProcess/WebProcess.cpp:
   12108         (WebKit::WebProcess::didReceiveMessage): Add a case for the cookie manager.
   12109 
   12110         * UIProcess/WebCookieManagerProxy.cpp: Added.
   12111         (WebKit::WebCookieManagerProxy::create):
   12112         (WebKit::WebCookieManagerProxy::WebCookieManagerProxy):
   12113         (WebKit::WebCookieManagerProxy::~WebCookieManagerProxy):
   12114         (WebKit::WebCookieManagerProxy::invalidate):
   12115         (WebKit::WebCookieManagerProxy::didReceiveMessage): 
   12116         (WebKit::WebCookieManagerProxy::getHostnamesWithCookies): Call through to the web process to get hostnames with cookies.
   12117         (WebKit::WebCookieManagerProxy::didGetHostnamesWithCookies): Call the callback we were passed in getHostnamesWithCookies.
   12118         (WebKit::WebCookieManagerProxy::deleteCookiesForHostname): Call through to the web process to delete cookies
   12119             for the origin.
   12120         (WebKit::WebCookieManagerProxy::deleteAllCookies): Call through to the web process to delete all cookies.
   12121         * UIProcess/WebCookieManagerProxy.h: Added.
   12122         (WebKit::WebCookieManagerProxy::clearContext):
   12123         (WebKit::WebCookieManagerProxy::type):
   12124         * UIProcess/WebCookieManagerProxy.messages.in: Added.
   12125 
   12126         * WebProcess/Cookies: Added.
   12127         * WebProcess/Cookies/WebCookieManager.cpp: Added.
   12128         (WebKit::WebCookieManager::shared):
   12129         (WebKit::WebCookieManager::WebCookieManager):
   12130         (WebKit::WebCookieManager::didReceiveMessage): Call through to didReceiveWebCookieManagerMessage.
   12131         (WebKit::WebCookieManager::getHostnamesWithCookies): Build an array from a HashSet (that isn't filled yet), and 
   12132             convert that HashSet to a Vector to send to the UI process.
   12133         (WebKit::WebCookieManager::deleteCookiesForHostname): Added a stub.
   12134         (WebKit::WebCookieManager::deleteAllCookies): Ditto.
   12135         * WebProcess/Cookies/WebCookieManager.h: Added.
   12136         * WebProcess/Cookies/WebCookieManager.messages.in: Added.
   12137 
   12138 2011-02-24   Amruth Raj  <amruthraj (a] motorola.com> and Ravi Phaneendra Kasibhatla  <ravi.kasibhatla (a] motorola.com> and Alejandro G. Castro  <alex (a] igalia.com>
   12139 
   12140         Reviewed by Martin Robinson.
   12141 
   12142         [GTK] Implement WebEventFactory, WebErrors classes for WebKit2
   12143         https://bugs.webkit.org/show_bug.cgi?id=48510
   12144 
   12145         * GNUmakefile.am:
   12146         * Shared/gtk/WebEventFactory.cpp: Added. implementation for
   12147         WebMouseEvent, WebWheelEvent, WebKeyboardEvent.
   12148         * Shared/gtk/WebEventFactory.h: Added.
   12149         * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp: Added. Stubbed
   12150         implementation for GTK port.
   12151 
   12152 2011-02-24  Vsevolod Vlasov  <vsevik (a] chromium.org>
   12153 
   12154         Reviewed by Alexey Proskuryakov.
   12155 
   12156         DumpRenderTree should reset frame opener between tests.
   12157         https://bugs.webkit.org/show_bug.cgi?id=54874
   12158 
   12159         Added clearOpener method to WKBundleWebFramePrivate.
   12160 
   12161         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
   12162         (WKBundleFrameClearOpener):
   12163         * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h:
   12164 
   12165 2011-02-24  Benjamin Poulain  <benjamin.poulain (a] nokia.com>
   12166 
   12167         Reviewed by Eric Seidel.
   12168 
   12169         Support building WebKit with Python 3
   12170         https://bugs.webkit.org/show_bug.cgi?id=55038
   12171 
   12172         Update the generator scripts to support Python 3.
   12173 
   12174         * Scripts/generate-message-receiver.py: print is a function in Python 3, write the output to
   12175         sys.stdout to be compatible with Python 2 and 3.
   12176         * Scripts/generate-messages-header.py:
   12177         * Scripts/webkit2/messages.py: dist.iteritems does not exist in Python 3, fallback
   12178           to dict.items which is common to Python 2 and 3.
   12179 
   12180 2011-02-24  Andras Becsi  <abecsi (a] webkit.org>
   12181 
   12182         Reviewed by Laszlo Gombos.
   12183 
   12184         [Qt] MinGW build fails to link
   12185         https://bugs.webkit.org/show_bug.cgi?id=55050
   12186 
   12187         Prepend the libraries of subcomponents instead of appending them
   12188         to fix the library order according to the dependency of the libraries
   12189 
   12190         * WebKit2.pri:
   12191 
   12192 2011-02-24  Andras Becsi  <abecsi (a] webkit.org>
   12193 
   12194         Reviewed by Csaba Osztrogonc.
   12195 
   12196         [Qt] REGRESSION(69304): WKNativeEvent.h forwarding header is always regenerated
   12197         https://bugs.webkit.org/show_bug.cgi?id=47589
   12198 
   12199         In case of file name clashes only generate forwarding header for the current platform.
   12200 
   12201         * Scripts/generate-forwarding-headers.pl:
   12202 
   12203 2011-02-23  Anders Carlsson  <andersca (a] apple.com>
   12204 
   12205         Reviewed by Sam Weinig.
   12206 
   12207         Remove some of the old accelerated compositing code
   12208         https://bugs.webkit.org/show_bug.cgi?id=55084
   12209 
   12210         * UIProcess/API/mac/PageClientImpl.h:
   12211         * UIProcess/API/mac/PageClientImpl.mm:
   12212         (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
   12213         * UIProcess/API/mac/WKView.mm:
   12214         * UIProcess/API/mac/WKViewInternal.h:
   12215         * UIProcess/API/qt/qwkpage_p.h:
   12216         * UIProcess/PageClient.h:
   12217         * UIProcess/WebPageProxy.cpp:
   12218         (WebKit::WebPageProxy::exitAcceleratedCompositingMode):
   12219         * UIProcess/WebPageProxy.h:
   12220         * UIProcess/WebPageProxy.messages.in:
   12221         * UIProcess/mac/LayerBackedDrawingAreaProxyMac.mm:
   12222         (WebKit::LayerBackedDrawingAreaProxy::attachCompositingContext):
   12223         (WebKit::LayerBackedDrawingAreaProxy::detachCompositingContext):
   12224         * UIProcess/win/WebView.cpp:
   12225         * UIProcess/win/WebView.h:
   12226         * WebProcess/WebPage/WebPage.cpp:
   12227         (WebKit::WebPage::enterAcceleratedCompositingMode):
   12228         (WebKit::WebPage::exitAcceleratedCompositingMode):
   12229         * WebProcess/WebPage/WebPage.h:
   12230 
   12231 2011-02-23  Enrica Casucci  <enrica (a] apple.com>
   12232 
   12233         Reverting an unintentional change that was part of http://trac.webkit.org/changeset/79494.
   12234         Unreviewed.
   12235 
   12236         * WebProcess/WebPage/mac/WebPageMac.mm:
   12237         (WebKit::WebPage::interceptEditingKeyboardEvent):
   12238 
   12239 2011-02-18  Enrica Casucci  <enrica (a] apple.com>
   12240 
   12241         Reviewed by Adam Roben.
   12242 
   12243         Mac OS X Services are not available for selected text in WebKit2 windows.
   12244         https://bugs.webkit.org/show_bug.cgi?id=54777
   12245         <rdar://problem/8666428>
   12246         
   12247         This patch adds support for Mac OS X Services in WebKit2 windows.
   12248         In WKView we now call registerServicesMenuSendTypes providing the
   12249         pasteboard types supported by WebKit and we also implement the two
   12250         protocol methods required to validate the send type and write the
   12251         content to the pasteboard. Unfortunately, AppKit expects the content
   12252         to be available in the pasteboard upon return from writeSelectionToPasteboard and
   12253         this is the reason why the call to the WebProcess is synchronous.
   12254 
   12255         * Shared/SelectionState.h:
   12256         (WebKit::SelectionState::SelectionState): Extended to include
   12257         isContentRichlyEditable
   12258         * Shared/mac/PasteboardTypes.h:
   12259         * Shared/mac/PasteboardTypes.mm:
   12260         (WebKit::PasteboardTypes::forSelection): Added.
   12261         * UIProcess/API/mac/WKView.mm:
   12262         (-[WKView initWithFrame:contextRef:pageGroupRef:]): Added call
   12263         to registerServicesMenuSendTypes.
   12264         (-[WKView writeSelectionToPasteboard:types:]): Added.
   12265         (-[WKView validRequestorForSendType:returnType:]): Added.
   12266         * UIProcess/WebPageProxy.cpp:
   12267         (WebKit::WebPageProxy::writeSelectionToPasteboard):
   12268         * UIProcess/WebPageProxy.h:
   12269         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
   12270         (WebKit::WebEditorClient::respondToChangedSelection): Modified to
   12271         support the new SelectionState value.
   12272         * WebProcess/WebPage/WebPage.h:
   12273         * WebProcess/WebPage/WebPage.messages.in:
   12274         * WebProcess/WebPage/mac/WebPageMac.mm:
   12275         (WebKit::WebPage::writeSelectionToPasteboard): Added synchronous
   12276         message to write the selected content to the pasteboard.
   12277 
   12278 2011-02-23  Anders Carlsson  <andersca (a] apple.com>
   12279 
   12280         Reviewed by Sam Weinig.
   12281 
   12282         Add a ShareableBitmap::create overload that takes an existing SharedMemory object
   12283         https://bugs.webkit.org/show_bug.cgi?id=55081
   12284 
   12285         * Shared/ShareableBitmap.cpp:
   12286         (WebKit::ShareableBitmap::createShareable):
   12287         (WebKit::ShareableBitmap::create):
   12288         * Shared/ShareableBitmap.h:
   12289 
   12290 2011-02-23  Anders Carlsson  <andersca (a] apple.com>
   12291 
   12292         Reviewed by Dan Bernstein.
   12293 
   12294         Web Inspector toolbar looks bad in WebKit2
   12295         https://bugs.webkit.org/show_bug.cgi?id=55076
   12296         <rdar://problem/8866258>
   12297 
   12298         * UIProcess/API/mac/WKView.mm:
   12299         (-[WKView mouseDownCanMoveWindow]):
   12300         Return NO from mouseDownCanMoveWindow to prevent drags in the (now transparent) inspector WKView
   12301         from dragging the window around.
   12302 
   12303         * UIProcess/mac/WebInspectorProxyMac.mm:
   12304         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
   12305         Call [WKView setDrawsBackground:NO].
   12306 
   12307 2011-02-23  Sam Weinig  <sam (a] webkit.org>
   12308 
   12309         Reviewed by Anders Carlsson.
   12310 
   12311         Remove WKPageForceRepaintWithInvalidation and instead make WKPageForceRepaint
   12312         always dirty the entire page.
   12313 
   12314         * Shared/ForceRepaintFlags.h: Removed.
   12315         * UIProcess/API/C/WKPage.cpp:
   12316         (WKPageForceRepaint):
   12317         * UIProcess/API/C/WKPage.h:
   12318         * UIProcess/WebPageProxy.cpp:
   12319         (WebKit::WebPageProxy::forceRepaint):
   12320         * UIProcess/WebPageProxy.h:
   12321         * WebKit2.pro:
   12322         * WebKit2.xcodeproj/project.pbxproj:
   12323         * WebProcess/WebPage/DrawingAreaImpl.cpp:
   12324         (WebKit::DrawingAreaImpl::forceRepaint):
   12325         * WebProcess/WebPage/WebPage.cpp:
   12326         (WebKit::WebPage::forceRepaint):
   12327         * WebProcess/WebPage/WebPage.h:
   12328         * WebProcess/WebPage/WebPage.messages.in:
   12329         * win/WebKit2.vcproj:
   12330 
   12331 2011-02-23  Anders Carlsson  <andersca (a] apple.com>
   12332 
   12333         Reviewed by Sam Weinig.
   12334 
   12335         Race condition when creating and destroying pages quickly
   12336         https://bugs.webkit.org/show_bug.cgi?id=55061
   12337         <rdar://problem/8708435>
   12338 
   12339         When the last page in a web process is closed, the web process would
   12340         previously terminate, even if the UI process had created a new page
   12341         (the CreateNewPage message just wouldn't have reached the web process yet).
   12342 
   12343         Fix this by adding a ShouldTerminate message that the web process sends when it's
   12344         about to terminate. If the UI process has any pending pages, downloads etc. it will
   12345         prevent the web process from terminating. Otherwise, it will immmediately disconnect
   12346         the WebPageProxy so that creating a page after that will launch a new web process.
   12347 
   12348         * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
   12349         (WebKit::WebPluginSiteDataManager::shouldTerminate):
   12350         * UIProcess/Plugins/WebPluginSiteDataManager.h:
   12351         * UIProcess/WebContext.cpp:
   12352         (WebKit::WebContext::shouldTerminate):
   12353         (WebKit::WebContext::disconnectProcess):
   12354         * UIProcess/WebContext.h:
   12355         * UIProcess/WebProcessProxy.cpp:
   12356         (WebKit::WebProcessProxy::disconnect):
   12357         (WebKit::WebProcessProxy::didReceiveSyncMessage):
   12358         (WebKit::WebProcessProxy::didClose):
   12359         (WebKit::WebProcessProxy::shouldTerminate):
   12360         * UIProcess/WebProcessProxy.h:
   12361         * UIProcess/WebProcessProxy.messages.in:
   12362         * WebProcess/WebProcess.cpp:
   12363         (WebKit::WebProcess::terminateIfPossible):
   12364 
   12365 2011-02-23  Mike Thole  <mthole (a] apple.com>
   12366 
   12367         Reviewed by Darin Adler.
   12368 
   12369         WKBundleNavigationAction.h should be exposed as a public header
   12370         https://bugs.webkit.org/show_bug.cgi?id=55059
   12371 
   12372         * WebKit2.xcodeproj/project.pbxproj:
   12373         Changed WKBundleNavigationAction.h from 'project' to 'public'.
   12374 
   12375 2011-02-23  Siddharth Mathur  <siddharth.mathur (a] nokia.com>
   12376 
   12377         Reviewed by Laszlo Gombos.
   12378 
   12379         [Qt] Make sure Symbian binary UIDs are unique
   12380 
   12381         * WebProcess.pro: Resolve the UID collision with QtTestBrowser.pro
   12382         by changing the UID.
   12383 
   12384 2011-02-23  Siddharth Mathur  <siddharth.mathur (a] nokia.com>
   12385 
   12386         Reviewed by Laszlo Gombos.
   12387 
   12388         [Qt] Fix the Symbian build after r79334
   12389         https://bugs.webkit.org/show_bug.cgi?id=55044
   12390 
   12391         * WebKit2.pri: Copy the rules from JavaScriptCore.pri for
   12392         defineTest().
   12393 
   12394         Remove addWebKit2LibWholeArchive as it is no longer needed.
   12395 
   12396 2011-02-23  Alejandro G. Castro  <alex (a] igalia.com>
   12397 
   12398         Unreviewed, fixed GTK WebKit2 compilation after r79366.
   12399 
   12400         * GNUmakefile.am:
   12401 
   12402 2011-02-23  Patrick Gansterer  <paroga (a] webkit.org>
   12403 
   12404         Reviewed by Darin Adler.
   12405 
   12406         Rename PLATFORM(CF) to USE(CF)
   12407         https://bugs.webkit.org/show_bug.cgi?id=53540
   12408 
   12409         * UIProcess/WebBackForwardList.h:
   12410         * UIProcess/WebPageProxy.cpp:
   12411         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
   12412         (WebKit::formatLocalizedString):
   12413 
   12414 2011-02-23  Benjamin Poulain  <benjamin.poulain (a] nokia.com>
   12415 
   12416         Reviewed by Andreas Kling.
   12417 
   12418         [Qt] [WK2] When the context menu is empty, we should still send the signal QWKPage::showContextMenu()
   12419         https://bugs.webkit.org/show_bug.cgi?id=54996
   12420 
   12421         Send the signal QWKPage::showContextMenu() with an empty menu even if the content menu generated
   12422         is empty/contain only disabled elements.
   12423 
   12424         * UIProcess/API/qt/qgraphicswkview.cpp:
   12425         (QGraphicsWKView::showContextMenu):
   12426         * UIProcess/qt/WebContextMenuProxyQt.cpp:
   12427         (WebKit::WebContextMenuProxyQt::showContextMenu):
   12428 
   12429 2011-02-22  Dan Bernstein  <mitz (a] apple.com>
   12430 
   12431         LLVM Compiler build fix.
   12432 
   12433         * Scripts/webkit2/messages.py:
   12434         * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
   12435 
   12436 2011-02-22  Laszlo Gombos  <laszlo.1.gombos (a] nokia.com>
   12437 
   12438         Reviewed by Alexey Proskuryakov.
   12439 
   12440         Drop the language tag part from the User Agent string
   12441         https://bugs.webkit.org/show_bug.cgi?id=54560
   12442 
   12443         * UIProcess/gtk/WebPageProxyGtk.cpp:
   12444         (WebKit::WebPageProxy::standardUserAgent):
   12445 
   12446         * UIProcess/mac/WebPageProxyMac.mm:
   12447         (WebKit::WebPageProxy::standardUserAgent):
   12448 
   12449         * UIProcess/qt/WebPageProxyQt.cpp:
   12450         (WebKit::WebPageProxy::standardUserAgent):
   12451 
   12452         * UIProcess/win/WebPageProxyWin.cpp:
   12453         (WebKit::WebPageProxy::standardUserAgent): Drop the language tag
   12454         part and fix style.
   12455 
   12456 2011-02-22  Sam Weinig  <sam (a] webkit.org>
   12457 
   12458         Reviewed by Anders Carlsson.
   12459 
   12460         Add WebKit2 API to force a repaint with an invalidation
   12461         https://bugs.webkit.org/show_bug.cgi?id=55015
   12462 
   12463         * Shared/ForceRepaintFlags.h: Added.
   12464         * UIProcess/API/C/WKPage.cpp:
   12465         (WKPageForceRepaint):
   12466         (WKPageForceRepaintWithInvalidation):
   12467         * UIProcess/API/C/WKPage.h:
   12468         Add WKPageForceRepaintWithInvalidation which does the same thing WKPageForceRepaint
   12469         but also calls setNeedsDisplay on the entire bounds of the page.
   12470 
   12471         * UIProcess/WebPageProxy.cpp:
   12472         (WebKit::WebPageProxy::forceRepaint):
   12473         * UIProcess/WebPageProxy.h:
   12474         * WebProcess/WebPage/WebPage.cpp:
   12475         (WebKit::WebPage::forceRepaint):
   12476         * WebProcess/WebPage/WebPage.h:
   12477         * WebProcess/WebPage/WebPage.messages.in:
   12478         Pipe the flag down to the WebProcess.
   12479 
   12480         * WebKit2.pro:
   12481         * WebKit2.xcodeproj/project.pbxproj:
   12482         * win/WebKit2.vcproj:
   12483         Add ForceRepaintFlags.h.
   12484 
   12485 2011-02-22  Simon Fraser  <simon.fraser (a] apple.com>
   12486 
   12487         Reviewed by Dan Bernstein.
   12488 
   12489         <rdar://problem/9039670>
   12490         
   12491         Make sure that we set the accelerateDrawing property on the LayerTreeHosts's
   12492         non-composited content layer if the preference is set.
   12493 
   12494         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
   12495         (WebKit::LayerTreeHostMac::LayerTreeHostMac):
   12496 
   12497 2011-02-22  Brady Eidson  <beidson (a] apple.com>
   12498 
   12499         Fix it Windows-style.
   12500 
   12501         * WebProcess/WebProcess.cpp:
   12502         (WebKit::WebProcess::getSitesWithPluginData):
   12503         (WebKit::WebProcess::clearPluginSiteData):
   12504 
   12505 2011-02-22  Anders Carlsson  <andersca (a] apple.com>
   12506 
   12507         Reviewed by Dan Bernstein.
   12508 
   12509         Rename WebProcess::shutdownIfPossible to WebProcess::terminateIfPossible
   12510         https://bugs.webkit.org/show_bug.cgi?id=55008
   12511 
   12512         * WebProcess/Downloads/DownloadManager.cpp:
   12513         (WebKit::DownloadManager::downloadFinished):
   12514         * WebProcess/WebProcess.cpp:
   12515         (WebKit::WebProcess::removeWebPage):
   12516         (WebKit::WebProcess::terminateIfPossible):
   12517         (WebKit::WebProcess::getSitesWithPluginData):
   12518         * WebProcess/WebProcess.h:
   12519         * WebProcess/gtk/WebProcessGtk.cpp:
   12520         (WebKit::WebProcess::platformTerminate):
   12521         * WebProcess/mac/WebProcessMac.mm:
   12522         (WebKit::WebProcess::platformTerminate):
   12523         * WebProcess/qt/WebProcessQt.cpp:
   12524         (WebKit::WebProcess::platformTerminate):
   12525         * WebProcess/win/WebProcessWin.cpp:
   12526         (WebKit::WebProcess::platformTerminate):
   12527 
   12528 2011-02-22  Brady Eidson  <beidson (a] apple.com>
   12529 
   12530         Windows build-fix attempt.
   12531 
   12532         * win/WebKit2Generated.make:
   12533 
   12534 2011-02-22  Csaba Osztrogonc  <ossy (a] webkit.org>
   12535 
   12536         Unreviewed.
   12537 
   12538         <rdar://problem/8762042> and  https://bugs.webkit.org/show_bug.cgi?id=54514
   12539         API to view and delete Application Cache data by origin.
   12540 
   12541         [Qt][WK2] Buildfix after r79364.
   12542 
   12543         * DerivedSources.pro:
   12544         * WebKit2.pri:
   12545 
   12546 2011-02-22  Brady Eidson  <beidson (a] apple.com>
   12547 
   12548         Reviewed by Anders Carlsson and looked over by Brian Weinstein.
   12549 
   12550         <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514
   12551         API to view and delete Application Cache data by origin.
   12552 
   12553         I couldn't help myself - I also re-alphabetized WebResourceCacheManager in many places where
   12554         it's sorting was wrong due to a last minute name change.
   12555 
   12556         Project file changes:
   12557         * GNUmakefile.am:
   12558         * win/WebKit2.vcproj:
   12559         * win/WebKit2Common.vsprops:
   12560         * win/WebKit2Generated.make:
   12561         * WebKit2.pro:
   12562         * WebKit2.xcodeproj/project.pbxproj:
   12563 
   12564         WK2 build-system and API paperwork:
   12565         * DerivedSources.make:
   12566         * Platform/CoreIPC/MessageID.h:
   12567         * Shared/API/c/WKBase.h:
   12568         * Shared/APIObject.h:
   12569         * UIProcess/API/C/WKAPICast.h:
   12570 
   12571         Add a helper to perform an ArrayCallback with a Vector of SecurityOriginDatas:
   12572         * Shared/SecurityOriginData.cpp:
   12573         (WebKit::performAPICallbackWithSecurityOriginDataVector):
   12574         * Shared/SecurityOriginData.h:
   12575         * UIProcess/WebResourceCacheManagerProxy.cpp:
   12576         (WebKit::WebResourceCacheManagerProxy::didGetCacheOrigins): Use performAPICallbackWithSecurityOriginDataVector here.
   12577 
   12578         Add an ApplicationCacheManagerProxy to the context and invalidate it at the appropriate times:
   12579         * UIProcess/WebContext.cpp:
   12580         (WebKit::WebContext::WebContext):
   12581         (WebKit::WebContext::~WebContext):
   12582         (WebKit::WebContext::processDidClose):
   12583         (WebKit::WebContext::didReceiveMessage): Route messages to the right proxy.
   12584         * UIProcess/WebContext.h:
   12585         (WebKit::WebContext::applicationCacheManagerProxy):
   12586         (WebKit::WebContext::resourceCacheManagerProxy):
   12587 
   12588         Add API to get the ApplicationCacheManager for a context:
   12589         * UIProcess/API/C/WKContext.cpp:
   12590         (WKContextGetApplicationCacheManager):
   12591         (WKContextGetResourceCacheManager):
   12592         * UIProcess/API/C/WKContext.h:
   12593 
   12594         Route messages to the right place:
   12595         * UIProcess/WebProcessProxy.cpp:
   12596         (WebKit::WebProcessProxy::didReceiveMessage):
   12597         * WebProcess/WebProcess.cpp:
   12598         (WebKit::WebProcess::didReceiveMessage):
   12599 
   12600         Add the API object, which wraps to WebApplicationCacheManagerProxy:
   12601         * UIProcess/API/C/WKApplicationCacheManager.cpp: Added.
   12602         (WKApplicationCacheManagerGetTypeID):
   12603         (WKApplicationCacheManagerGetApplicationCacheOrigins):
   12604         (WKApplicationCacheManagerDeleteEntriesForOrigin):
   12605         (WKApplicationCacheManagerDeleteAllEntries):
   12606         * UIProcess/API/C/WKApplicationCacheManager.h: Added.
   12607 
   12608         The UIProcess implementation of the manager to send messages to the WebProcess and pipe a callback back up to the client:
   12609         * UIProcess/WebApplicationCacheManagerProxy.cpp: Added.
   12610         (WebKit::WebApplicationCacheManagerProxy::create):
   12611         (WebKit::WebApplicationCacheManagerProxy::WebApplicationCacheManagerProxy):
   12612         (WebKit::WebApplicationCacheManagerProxy::~WebApplicationCacheManagerProxy):
   12613         (WebKit::WebApplicationCacheManagerProxy::invalidate):
   12614         (WebKit::WebApplicationCacheManagerProxy::didReceiveMessage):
   12615         (WebKit::WebApplicationCacheManagerProxy::getApplicationCacheOrigins):
   12616         (WebKit::WebApplicationCacheManagerProxy::didGetApplicationCacheOrigins): Use performAPICallbackWithSecurityOriginDataVector here.
   12617         (WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin):
   12618         (WebKit::WebApplicationCacheManagerProxy::deleteAllEntries):
   12619         * UIProcess/WebApplicationCacheManagerProxy.h: Added.
   12620         (WebKit::WebApplicationCacheManagerProxy::clearContext):
   12621         (WebKit::WebApplicationCacheManagerProxy::type):
   12622         * UIProcess/WebApplicationCacheManagerProxy.messages.in: Added.
   12623 
   12624         The WebProcess implementation to response to UIProcess messages and actually do the dirty-work in WebCore:
   12625         * WebProcess/ApplicationCache: Added.
   12626         * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp: Added.
   12627         (WebKit::WebApplicationCacheManager::shared):
   12628         (WebKit::WebApplicationCacheManager::WebApplicationCacheManager):
   12629         (WebKit::WebApplicationCacheManager::didReceiveMessage):
   12630         (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
   12631         (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
   12632         (WebKit::WebApplicationCacheManager::deleteAllEntries):
   12633         * WebProcess/ApplicationCache/WebApplicationCacheManager.h: Added.
   12634         * WebProcess/ApplicationCache/WebApplicationCacheManager.messages.in: Added.
   12635 
   12636 2011-02-22  Anders Carlsson  <andersca (a] apple.com>
   12637 
   12638         Reviewed by Sam Weinig.
   12639 
   12640         Get rid of WebProcessManager
   12641         https://bugs.webkit.org/show_bug.cgi?id=55001
   12642 
   12643         WebProcessManager had become a stupid map of WebContext > WebProcess relations,
   12644         which isn't really useful since the WebContext already knows about its process.
   12645 
   12646         * Shared/WebURLRequest.cpp:
   12647         * UIProcess/API/mac/WKView.mm:
   12648         * UIProcess/WebContext.cpp:
   12649         (WebKit::WebContext::~WebContext):
   12650         (WebKit::WebContext::ensureWebProcess):
   12651         (WebKit::WebContext::processDidFinishLaunching):
   12652         * UIProcess/WebProcessManager.cpp: Removed.
   12653         * UIProcess/WebProcessManager.h: Removed.
   12654         * UIProcess/WebProcessProxy.cpp:
   12655         (WebKit::WebProcessProxy::didClose):
   12656         * WebKit2.pro:
   12657         * WebKit2.xcodeproj/project.pbxproj:
   12658         * win/WebKit2.vcproj:
   12659 
   12660 2011-02-22  Anders Carlsson  <andersca (a] apple.com>
   12661 
   12662         Reviewed by Darin Adler.
   12663 
   12664         Get rid of WebProcessManager::getAllWebProcessContexts
   12665         https://bugs.webkit.org/show_bug.cgi?id=55000
   12666 
   12667         * Shared/WebURLRequest.cpp:
   12668         (WebKit::WebURLRequest::setDefaultTimeoutInterval):
   12669         Call WebContext::allContexts instead.
   12670 
   12671         * UIProcess/WebContext.cpp:
   12672         * UIProcess/WebContext.h:
   12673         Add a vector of WebContext objects. Update it when creating and destroying contexts.
   12674 
   12675         * UIProcess/WebProcessManager.cpp:
   12676         * UIProcess/WebProcessManager.h:
   12677         Remove WebProcessManager::getAllWebProcessContexts.
   12678 
   12679 2011-02-22  Sam Weinig  <sam (a] webkit.org>
   12680 
   12681         Reviewed by Anders Carlsson.
   12682 
   12683         Re-add early bail out in dispatchDecidePolicyForNavigationAction with prevents
   12684         a crash running fast/loader/empty-embed-src-attribute.html. This matches a 
   12685         bail out in the default policy delegate in WebKit1.
   12686 
   12687         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
   12688         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
   12689 
   12690 2011-02-22  Anders Carlsson  <andersca (a] apple.com>
   12691 
   12692         Reviewed by Dan Bernstein.
   12693 
   12694         Grammar correction from Spelling & Grammar window doesn't work
   12695         https://bugs.webkit.org/show_bug.cgi?id=54982
   12696         <rdar://problem/8940918>
   12697 
   12698         * UIProcess/API/mac/WKView.mm:
   12699         (-[WKView isGrammarCheckingEnabled]):
   12700         (-[WKView setGrammarCheckingEnabled:]):
   12701         Call down to the text checker.
   12702 
   12703         * UIProcess/TextChecker.h:
   12704         Add updateSpellingUIWithGrammarString.
   12705 
   12706         * UIProcess/WebPageProxy.cpp:
   12707         (WebKit::WebPageProxy::updateSpellingUIWithGrammarString):
   12708         Call TextChecker::updateSpellingUIWithGrammarString.
   12709 
   12710         * UIProcess/WebPageProxy.messages.in:
   12711         Add UpdateSpellingUIWithGrammarString message.
   12712 
   12713         * UIProcess/gtk/TextCheckerGtk.cpp:
   12714         (WebKit::TextChecker::updateSpellingUIWithGrammarString):
   12715         * UIProcess/qt/TextCheckerQt.cpp:
   12716         (WebKit::TextChecker::updateSpellingUIWithGrammarString):
   12717         * UIProcess/win/TextCheckerWin.cpp:
   12718         (WebKit::TextChecker::updateSpellingUIWithGrammarString):
   12719         Add stubs.
   12720 
   12721         * UIProcess/mac/TextCheckerMac.mm:
   12722         (WebKit::TextChecker::updateSpellingUIWithGrammarString):
   12723         Update the spelling panel.
   12724 
   12725         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
   12726         (WebKit::WebEditorClient::updateSpellingUIWithGrammarString):
   12727         Send an UpdateSpellingUIWithGrammarString message to the UI process.
   12728 
   12729 2011-02-22  Balazs Kelemen  <kbalazs (a] webkit.org>
   12730 
   12731         Reviewed by Anders Carlsson.
   12732 
   12733         notImplemented() should behave identical in WebCore and WebKit2
   12734         https://bugs.webkit.org/show_bug.cgi?id=54449
   12735 
   12736         Use NotImplemented.h from WebCore. Initialize logging channels.
   12737         Remove the WebKit2 concept of notImplemented().
   12738 
   12739         * Platform/gtk/SharedMemoryGtk.cpp:
   12740         * Platform/gtk/WorkQueueGtk.cpp:
   12741         * Platform/qt/WorkQueueQt.cpp:
   12742         * Platform/win/WorkQueueWin.cpp:
   12743         * Shared/NotImplemented.h: Removed.
   12744         * Shared/Plugins/NPIdentifierData.cpp:
   12745         * Shared/Plugins/NPRemoteObjectMap.cpp:
   12746         * Shared/Plugins/NPVariantData.cpp:
   12747         * Shared/cairo/ShareableBitmapCairo.cpp:
   12748         * Shared/gtk/ShareableBitmapGtk.cpp:
   12749         * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
   12750         * Shared/qt/WebCoreArgumentCodersQt.cpp:
   12751         * Shared/win/LayerTreeContextWin.cpp:
   12752         * UIProcess/API/mac/PageClientImpl.mm:
   12753         * UIProcess/API/qt/qwkpage.cpp:
   12754         * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp:
   12755         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
   12756         * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp:
   12757         * UIProcess/WebContext.cpp:
   12758         (WebKit::WebContext::WebContext):
   12759         * UIProcess/WebInspectorProxy.cpp:
   12760         * UIProcess/gtk/TextCheckerGtk.cpp:
   12761         * UIProcess/gtk/WebInspectorGtk.cpp:
   12762         * UIProcess/gtk/WebPreferencesGtk.cpp:
   12763         * UIProcess/qt/TextCheckerQt.cpp:
   12764         * UIProcess/qt/WebInspectorProxyQt.cpp:
   12765         * UIProcess/win/TextCheckerWin.cpp:
   12766         * UIProcess/win/WebContextMenuProxyWin.cpp:
   12767         * WebKit2.pro:
   12768         * WebKit2.xcodeproj/project.pbxproj:
   12769         * WebProcess/Downloads/cf/DownloadCFNet.cpp:
   12770         * WebProcess/Downloads/curl/DownloadCurl.cpp:
   12771         * WebProcess/Downloads/mac/DownloadMac.mm:
   12772         * WebProcess/Downloads/qt/DownloadQt.cpp:
   12773         * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
   12774         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
   12775         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
   12776         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
   12777         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
   12778         * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp:
   12779         * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
   12780         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
   12781         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
   12782         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
   12783         * WebProcess/WebCoreSupport/WebDragClient.cpp:
   12784         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
   12785         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
   12786         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
   12787         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
   12788         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
   12789         * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp:
   12790         * WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp:
   12791         * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
   12792         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
   12793         * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp:
   12794         * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
   12795         * WebProcess/WebPage/qt/WebInspectorQt.cpp:
   12796         * WebProcess/WebProcess.cpp:
   12797         (WebKit::WebProcess::WebProcess):
   12798         * WebProcess/gtk/WebProcessGtk.cpp:
   12799         * config.h:
   12800         * win/WebKit2.vcproj:
   12801 
   12802 2011-02-22  Brian Weinstein  <bweinstein (a] apple.com>
   12803 
   12804         Rubber-stamped by Brady Eidson.
   12805 
   12806         Invalidate the WebResourceCacheManagerProxy in WebContext::processDidClose.
   12807 
   12808         * UIProcess/WebContext.cpp:
   12809         (WebKit::WebContext::processDidClose):
   12810 
   12811 2011-02-21  Adam Roben  <aroben (a] apple.com>
   12812 
   12813         Make DrawingAreaProxyImpl keep track of the most recent state ID it sent to the web process
   12814 
   12815         This will be useful for sending repeated messages for the same state ID to the web process.
   12816         We don't do this currently, but will need to if we're asked to paint after we've thrown away
   12817         our backing store to save memory.
   12818 
   12819         Fixes <http://webkit.org/b/54916> DrawingAreaProxyImpl should keep track of the state ID it
   12820         last sent to the web process
   12821 
   12822         Reviewed by Anders Carlsson.
   12823 
   12824         * UIProcess/DrawingAreaProxyImpl.cpp:
   12825         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl): Initialize m_requestedStateID, and
   12826         reordered member initialization to match the new declaration order.
   12827         (WebKit::DrawingAreaProxyImpl::didUpdateState): Added an assertion that the stateID we got
   12828         from the web process is no newer than the most recent one we requested.
   12829         (WebKit::DrawingAreaProxyImpl::sendUpdateState): Changed to increment and send
   12830         m_requestedStateID instead of a new global stateID.
   12831 
   12832         * UIProcess/DrawingAreaProxyImpl.h: Added m_requestedStateID, and moved the state IDs before
   12833         other data members. Also beefed the comment explaining m_currentStateID.
   12834 
   12835 2011-02-22  Andras Becsi  <abecsi (a] webkit.org>
   12836 
   12837         Reviewed by Laszlo Gombos.
   12838 
   12839         [Qt] Redesign the build system
   12840         https://bugs.webkit.org/show_bug.cgi?id=51339
   12841 
   12842         Part 2.
   12843 
   12844         Build WebCore as a static library, compile the WebKit API and WebKit2 API
   12845         in a final step and link to WebKit2, WebCore and JSC libraries to fix
   12846         linking issues resulting from stripped away symbols.
   12847 
   12848         * WebKit2.pri: Add include paths.
   12849         * WebKit2.pro: Move include paths to WebKit2.pri and move
   12850         the API source to WebKit/qt/QtWebKit.pro
   12851 
   12852 2011-02-22  Benjamin Poulain  <benjamin.poulain (a] nokia.com>
   12853 
   12854         Reviewed by Kenneth Rohde Christiansen.
   12855 
   12856         [Qt] [WK2] Improve the memory handling of the context menu for WebKit 2
   12857         https://bugs.webkit.org/show_bug.cgi?id=54902
   12858 
   12859         Refactor the context menu handling of Qt to make it simpler to manage memory.
   12860 
   12861         WebContextMenuProxyQt uses smart pointer for all the references to menu so
   12862         there is no need to delete it explicitely.
   12863 
   12864         Passing the QMenu from QWKPage to the client of the signal now uses a QSharedPointer so
   12865         the client can choose to handle the memory, but there is no leak if it does not.
   12866 
   12867         * UIProcess/API/qt/qgraphicswkview.cpp:
   12868         (QGraphicsWKView::QGraphicsWKView):
   12869         (QGraphicsWKView::showContextMenu):
   12870         * UIProcess/API/qt/qgraphicswkview.h:
   12871         * UIProcess/API/qt/qwkpage.h:
   12872         * UIProcess/qt/WebContextMenuProxyQt.cpp:
   12873         (WebKit::WebContextMenuProxyQt::showContextMenu):
   12874         (WebKit::WebContextMenuProxyQt::createContextMenu):
   12875         * UIProcess/qt/WebContextMenuProxyQt.h:
   12876 
   12877 2011-02-22  Philippe Normand  <pnormand (a] igalia.com>
   12878 
   12879         Reviewed by Xan Lopez.
   12880 
   12881         [GTK] make distcheck fails
   12882         https://bugs.webkit.org/show_bug.cgi?id=54943
   12883 
   12884         Removed reference to NotImplemented.h which was removed.
   12885 
   12886         * GNUmakefile.am:
   12887 
   12888 2011-02-22  Kimmo Kinnunen  <kimmo.t.kinnunen (a] nokia.com>
   12889 
   12890         Reviewed by Kenneth Rohde Christiansen.
   12891 
   12892         [Qt] QtWebProcess should be installed with 'make install'
   12893         https://bugs.webkit.org/show_bug.cgi?id=44100
   12894 
   12895         Follow the standard in other project files and allow install
   12896         location to be changed with INSTALL_BINS variable.
   12897 
   12898         * WebProcess.pro: Install QtWebProcess.
   12899 
   12900 2011-02-22  Sheriff Bot  <webkit.review.bot (a] gmail.com>
   12901 
   12902         Unreviewed, rolling out r79296.
   12903         http://trac.webkit.org/changeset/79296
   12904         https://bugs.webkit.org/show_bug.cgi?id=54941
   12905 
   12906         Breaks compilation on SnowLeapard Intel Release (Requested by
   12907         kbalazs_ on #webkit).
   12908 
   12909         * Platform/gtk/SharedMemoryGtk.cpp:
   12910         * Platform/gtk/WorkQueueGtk.cpp:
   12911         * Platform/qt/WorkQueueQt.cpp:
   12912         * Platform/win/WorkQueueWin.cpp:
   12913         * Shared/NotImplemented.h: Copied from Source/WebKit2/WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp.
   12914         * Shared/Plugins/NPIdentifierData.cpp:
   12915         * Shared/Plugins/NPRemoteObjectMap.cpp:
   12916         * Shared/Plugins/NPVariantData.cpp:
   12917         * Shared/cairo/ShareableBitmapCairo.cpp:
   12918         * Shared/gtk/ShareableBitmapGtk.cpp:
   12919         * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
   12920         * Shared/qt/WebCoreArgumentCodersQt.cpp:
   12921         * Shared/win/LayerTreeContextWin.cpp:
   12922         * UIProcess/API/mac/PageClientImpl.mm:
   12923         * UIProcess/API/qt/qwkpage.cpp:
   12924         * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp:
   12925         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
   12926         * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp:
   12927         * UIProcess/WebContext.cpp:
   12928         (WebKit::WebContext::WebContext):
   12929         * UIProcess/WebInspectorProxy.cpp:
   12930         * UIProcess/gtk/TextCheckerGtk.cpp:
   12931         * UIProcess/gtk/WebInspectorGtk.cpp:
   12932         * UIProcess/gtk/WebPreferencesGtk.cpp:
   12933         * UIProcess/qt/TextCheckerQt.cpp:
   12934         * UIProcess/qt/WebInspectorProxyQt.cpp:
   12935         * UIProcess/win/TextCheckerWin.cpp:
   12936         * UIProcess/win/WebContextMenuProxyWin.cpp:
   12937         * WebKit2.pro:
   12938         * WebKit2.xcodeproj/project.pbxproj:
   12939         * WebProcess/Downloads/cf/DownloadCFNet.cpp:
   12940         * WebProcess/Downloads/curl/DownloadCurl.cpp:
   12941         * WebProcess/Downloads/mac/DownloadMac.mm:
   12942         * WebProcess/Downloads/qt/DownloadQt.cpp:
   12943         * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
   12944         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
   12945         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
   12946         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
   12947         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
   12948         * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp:
   12949         * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
   12950         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
   12951         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
   12952         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
   12953         * WebProcess/WebCoreSupport/WebDragClient.cpp:
   12954         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
   12955         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
   12956         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
   12957         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
   12958         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
   12959         * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp:
   12960         * WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp:
   12961         * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
   12962         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
   12963         * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp:
   12964         * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
   12965         * WebProcess/WebPage/qt/WebInspectorQt.cpp:
   12966         * WebProcess/WebProcess.cpp:
   12967         (WebKit::WebProcess::WebProcess):
   12968         * WebProcess/gtk/WebProcessGtk.cpp:
   12969         * config.h:
   12970         * win/WebKit2.vcproj:
   12971 
   12972 2011-02-16  Balazs Kelemen  <kbalazs (a] webkit.org>
   12973 
   12974         Reviewed by Anders Carlsson.
   12975 
   12976         notImplemented() should behave identical in WebCore and WebKit2
   12977         https://bugs.webkit.org/show_bug.cgi?id=54449
   12978 
   12979         Use NotImplemented.h from WebCore. Initialize logging channels.
   12980         Remove the WebKit2 concept of notImplemented().
   12981 
   12982         * Platform/gtk/SharedMemoryGtk.cpp:
   12983         * Platform/gtk/WorkQueueGtk.cpp:
   12984         * Platform/qt/WorkQueueQt.cpp:
   12985         * Platform/win/WorkQueueWin.cpp:
   12986         * Shared/NotImplemented.h: Removed.
   12987         * Shared/Plugins/NPIdentifierData.cpp:
   12988         * Shared/Plugins/NPRemoteObjectMap.cpp:
   12989         * Shared/Plugins/NPVariantData.cpp:
   12990         * Shared/cairo/ShareableBitmapCairo.cpp:
   12991         * Shared/gtk/ShareableBitmapGtk.cpp:
   12992         * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
   12993         * Shared/qt/WebCoreArgumentCodersQt.cpp:
   12994         * Shared/win/LayerTreeContextWin.cpp:
   12995         * UIProcess/API/qt/qwkpage.cpp:
   12996         * UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp:
   12997         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
   12998         * UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp:
   12999         * UIProcess/WebContext.cpp:
   13000         (WebKit::WebContext::WebContext):
   13001         * UIProcess/WebInspectorProxy.cpp:
   13002         * UIProcess/gtk/TextCheckerGtk.cpp:
   13003         * UIProcess/gtk/WebInspectorGtk.cpp:
   13004         * UIProcess/gtk/WebPreferencesGtk.cpp:
   13005         * UIProcess/qt/TextCheckerQt.cpp:
   13006         * UIProcess/qt/WebInspectorProxyQt.cpp:
   13007         * UIProcess/win/TextCheckerWin.cpp:
   13008         * UIProcess/win/WebContextMenuProxyWin.cpp:
   13009         * WebKit2.pro:
   13010         * WebProcess/Downloads/cf/DownloadCFNet.cpp:
   13011         * WebProcess/Downloads/curl/DownloadCurl.cpp:
   13012         * WebProcess/Downloads/mac/DownloadMac.mm:
   13013         * WebProcess/Downloads/qt/DownloadQt.cpp:
   13014         * WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:
   13015         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
   13016         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
   13017         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
   13018         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
   13019         * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp:
   13020         * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
   13021         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
   13022         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
   13023         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
   13024         * WebProcess/WebCoreSupport/WebDragClient.cpp:
   13025         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
   13026         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
   13027         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
   13028         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
   13029         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
   13030         * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp:
   13031         * WebProcess/WebCoreSupport/gtk/WebPopupMenuGtk.cpp:
   13032         * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
   13033         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
   13034         * WebProcess/WebCoreSupport/qt/WebContextMenuClientQt.cpp:
   13035         * WebProcess/WebPage/gtk/WebInspectorGtk.cpp:
   13036         * WebProcess/WebPage/qt/WebInspectorQt.cpp:
   13037         * WebProcess/WebProcess.cpp:
   13038         (WebKit::WebProcess::WebProcess):
   13039         * WebProcess/gtk/WebProcessGtk.cpp:
   13040 
   13041 2011-02-21  Timothy Hatcher  <timothy (a] apple.com>
   13042 
   13043         Set and update the window title for the Web Inspector in WebKit2.
   13044 
   13045         https://webkit.org/b/50945
   13046         rdar://problem/8762410
   13047 
   13048         Reviewed by Adam Roben.
   13049 
   13050         * UIProcess/WebInspectorProxy.cpp:
   13051         (WebKit::WebInspectorProxy::inspectedURLChanged): Added. Call platformInspectedURLChanged.
   13052         * UIProcess/WebInspectorProxy.h:
   13053         * UIProcess/WebInspectorProxy.messages.in: Added InspectedURLChanged.
   13054         * UIProcess/mac/WebInspectorProxyMac.mm:
   13055         (WebKit::WebInspectorProxy::platformInspectedURLChanged): Added. Set the window title.
   13056         * UIProcess/win/WebInspectorProxyWin.cpp:
   13057         (WebKit::WebInspectorProxy::platformInspectedURLChanged): Added. Set the window title.
   13058         * UIProcess/gtk/WebInspectorGtk.cpp:
   13059         (WebKit::WebInspectorProxy::platformInspectedURLChanged): Added. Not implemented.
   13060         * UIProcess/qt/WebInspectorProxyQt.cpp:
   13061         (WebKit::WebInspectorProxy::platformInspectedURLChanged): Added. Not implemented.
   13062         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
   13063         (WebKit::WebInspectorFrontendClient::inspectedURLChanged): Call WebInspector::inspectedURLChanged.
   13064         * WebProcess/WebPage/WebInspector.cpp:
   13065         (WebKit::WebInspector::inspectedURLChanged): Added. Send the InspectedURLChanged message.
   13066         * WebProcess/WebPage/WebInspector.h:
   13067 
   13068 2011-02-21  Sam Weinig  <sam (a] webkit.org>
   13069 
   13070         Reviewed by Anders Carlsson.
   13071 
   13072         Can't paste from 3rd party text editor into WebKit2 window.
   13073         <rdar://problem/8978624>
   13074 
   13075         * WebProcess/com.apple.WebProcess.sb:
   13076 
   13077 2011-02-21  Anders Carlsson  <andersca (a] apple.com>
   13078 
   13079         Reviewed by Dan Bernstein.
   13080 
   13081         Initialize DrawingAreaProxy::m_size
   13082         https://bugs.webkit.org/show_bug.cgi?id=54913
   13083 
   13084         This was removed in r76962 since it caused flashes when switching drawing areas due to
   13085         entering and exiting composited mode, but since we no longer switch drawing areas we can
   13086         put it back.
   13087 
   13088         * UIProcess/DrawingAreaProxy.cpp:
   13089         (WebKit::DrawingAreaProxy::DrawingAreaProxy):
   13090 
   13091 2011-02-21  Adam Roben  <aroben (a] apple.com>
   13092 
   13093         Add some assertions about the state IDs we receive from the web process
   13094 
   13095         Rubber-stamped by Anders Carlsson.
   13096 
   13097         * UIProcess/DrawingAreaProxyImpl.cpp:
   13098         (WebKit::DrawingAreaProxyImpl::update):
   13099         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
   13100         (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
   13101         Assert that the state ID the web process sent us is no newer than our own state ID.
   13102 
   13103 2011-02-21  Adam Roben  <aroben (a] apple.com>
   13104 
   13105         Rename DrawingArea[Proxy]Impl's "sequence number" concept to "state ID".
   13106 
   13107         As explained in r79251, DrawingAreaProxyImpl has some state that, when it changes, causes
   13108         all operations performed before that state change to become invalid. Currently, this state
   13109         consists of a single piece of data: the view's size. Eventually it will encompass more data
   13110         (e.g., the backing store we're drawing into; when we start throwing away the backing store
   13111         to save memory, our state will have changed, and any operations that were intended for the
   13112         old backing store will have become invalid). r79251 effectively transformed
   13113         DrawingArea[Proxy]Impl's "sequence number," which incremented every time DrawingAreaImpl
   13114         sent DrawingAreaProxyImpl a message, to a "state ID," which only increments when the view's
   13115         size changes.
   13116 
   13117         This patch is just a set of simple renames to reflect the transformation that r79251
   13118         effected. It should not introduce any changes in behavior. The renames are:
   13119           - Messages::DrawingArea::SetSize -> UpdateState
   13120           - Messages::DrawingAreaProxy::DidSetSize -> DidUpdateState
   13121           - DrawingAreaProxyImpl::m_lastDidSetSizeSequenceNumber -> m_currentStateID
   13122           - DrawingAreaProxyImpl::m_isWaitingForDidSetSize -> m_isWaitingForDidUpdateState
   13123           - DrawingAreaProxyImpl::waitForAndDispatchDidSetSize -> waitForAndDispatchDidUpdateState
   13124           - DrawingAreaImpl::m_inSetSize -> m_inUpdateState
   13125           - generateSequenceNumber -> generateStateID
   13126           - sequenceNumber -> stateID
   13127 
   13128         Fixes <http://webkit.org/b/54911> DrawingArea[Proxy]Impl's "sequence number" concept should
   13129         be renamed to "state ID"
   13130 
   13131         Reviewed by Anders Carlsson.
   13132 
   13133         * UIProcess/DrawingAreaProxy.h:
   13134         * UIProcess/DrawingAreaProxy.messages.in:
   13135         * UIProcess/DrawingAreaProxyImpl.cpp:
   13136         * UIProcess/DrawingAreaProxyImpl.h:
   13137         * WebProcess/WebPage/DrawingArea.h:
   13138         * WebProcess/WebPage/DrawingArea.messages.in:
   13139         * WebProcess/WebPage/DrawingAreaImpl.cpp:
   13140         * WebProcess/WebPage/DrawingAreaImpl.h:
   13141         Performed the renames described above.
   13142 
   13143 2011-02-21  Alexey Proskuryakov  <ap (a] apple.com>
   13144 
   13145         Reviewed by Adam Roben.
   13146 
   13147         REGRESSION (WebKit2): HTTP requests time out after 60 seconds
   13148         https://bugs.webkit.org/show_bug.cgi?id=54755
   13149         <rdar://problem/9006592>
   13150 
   13151         * Shared/API/c/WKURLRequest.cpp:
   13152         (WKURLRequestSetDefaultTimeoutInterval):
   13153         * Shared/API/c/WKURLRequest.h:
   13154         Added an API to set a default timeout interval for requests created from URLs. The API
   13155         affects both the UI process and requests created internally by the Web process. Requests
   13156         created from NSURLRequest or CFURLRequest take timeout from those.
   13157 
   13158         * Shared/WebURLRequest.cpp: (WebKit::WebURLRequest::setDefaultTimeoutInterval):
   13159         * Shared/WebURLRequest.h:
   13160         Pipe the default timeout interval from WKURLRequest down to actual implementation. Since
   13161         WebURLRequest is currently implemented with WebCore::ResourceRequest, it automatically respects
   13162         NSURLRequest default timeout interval.
   13163 
   13164         * UIProcess/WebProcessManager.cpp: (WebKit::WebProcessManager::getAllWebProcessContexts):
   13165         * UIProcess/WebProcessManager.h:
   13166         Added a way to enumerate all contexts running in separate processes.
   13167 
   13168         * Shared/WebProcessCreationParameters.cpp:
   13169         (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
   13170         (WebKit::WebProcessCreationParameters::encode):
   13171         (WebKit::WebProcessCreationParameters::decode):
   13172         * Shared/WebProcessCreationParameters.h:
   13173         (WebKit::WebContext::ensureWebProcess):
   13174         (WebKit::WebContext::setDefaultRequestTimeoutInterval):
   13175         * UIProcess/WebContext.h:
   13176         * WebProcess/WebProcess.cpp:
   13177         (WebKit::WebProcess::initializeWebProcess):
   13178         (WebKit::WebProcess::setDefaultRequestTimeoutInterval):
   13179         * WebProcess/WebProcess.h:
   13180         * WebProcess/WebProcess.messages.in:
   13181         Use UI process default timeout interval in separate process contexts, too.
   13182 
   13183 2011-02-18  Brian Weinstein  <bweinstein (a] apple.com>
   13184 
   13185         Reviewed by Adam Roben.
   13186 
   13187         WebResourceCacheManager should be responsible for managing the CFURLCache as well
   13188         as the WebCore memory cache.
   13189         https://bugs.webkit.org/show_bug.cgi?id=54886
   13190         Part of <rdar://problem/8971738>
   13191 
   13192         * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
   13193         (WebKit::WebResourceCacheManager::getCacheOrigins): Call through to cFURLCacheHostNames, and add
   13194             create SecurityOrigin's for them and add them to the set of SecurityOrigins with cache.
   13195         (WebKit::WebResourceCacheManager::clearCacheForOrigin): Call through to clear the CFURLCache for
   13196             the origin's hostname.
   13197         * WebProcess/ResourceCache/WebResourceCacheManager.h:
   13198 
   13199         * WebProcess/ResourceCache/cf: Added.
   13200         * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp: Added.
   13201         (WebKit::WebResourceCacheManager::cfURLCacheHostNames): Call through to WebKitSystemInterface.
   13202         (WebKit::WebResourceCacheManager::clearCFURLCacheForHostNames): Ditto.
   13203 
   13204         * win/WebKit2.vcproj: Added new file.
   13205         * WebKit2.xcodeproj/project.pbxproj: Ditto.
   13206 
   13207 2011-02-21  Adam Roben  <aroben (a] apple.com>
   13208 
   13209         Move control of the sequence number from DrawingAreaImpl to DrawingAreaProxyImpl
   13210 
   13211         DrawingAreaProxyImpl has some state that, when it changes, causes all operations performed
   13212         before that state change to become invalid. When painting, we need to have performed at
   13213         least one Update for the most recent state; otherwise, we'll be painting old/incorrect bits
   13214         into the view.
   13215 
   13216         Currently, this state consists of a single piece of data: the view's size. Whenever the
   13217         state (i.e., size) changes, we tell the web process via the SetSize message, and the web
   13218         process lets us know that it has updated to match the new state (i.e., size) via the
   13219         DidSetSize message.
   13220 
   13221         When it's time to paint, if we're waiting for the web process to update to match our current
   13222         state (i.e., size), we block for a little while hoping to receive a DidSetSize message so
   13223         that we can paint up-to-date bits into the window. This can cause us to receive messages
   13224         out-of-order; the DidSetSize message will be processed immediately, and any messages that
   13225         were sent before the DidSetSize message will be processed later. Since the messages from
   13226         before the DidSetSize message correspond to an old state (i.e., size), they are no longer
   13227         useful (e.g., they contain bits of the page that are drawn at the wrong size/location), so
   13228         we discard them.
   13229 
   13230         The way we identify and discard these messages is by keeping track of a sequence number.
   13231         Currently, DrawingAreaImpl sends a monotonically-increasing sequence number to
   13232         DrawingAreaProxyImpl with every message. Whenever DrawingAreaProxyImpl receives a DidSetSize
   13233         message, it records the sequence number that came along with it. If we then later receive
   13234         any messages that have a lower sequence number, we know they correspond to an old state
   13235         (i.e., size) and can discard them.
   13236 
   13237         This patch moves control of the sequence number to DrawingAreaProxyImpl.
   13238         DrawingAreaProxyImpl now sends a monotonically-increasing sequence number in the SetSize
   13239         message. DrawingAreaImpl records this sequence number when it receives the SetSize message,
   13240         and sends it back to DrawingAreaProxyImpl in every message. Otherwise the logic is the same
   13241         as before.
   13242 
   13243         This should cause no changes in behavior, but will allow DrawingAreaProxyImpl to request a
   13244         full backing store update (by incrementing the sequence number) at times other than when the
   13245         view's size changes (e.g., after it has thrown away its backing store in order to save
   13246         memory).
   13247 
   13248         Fixes <http://webkit.org/b/54907> DrawingAreaProxyImpl should tell DrawingAreaImpl what
   13249         sequence number to use
   13250 
   13251         Reviewed by Anders Carlsson.
   13252 
   13253         * UIProcess/DrawingAreaProxyImpl.cpp:
   13254         (WebKit::generateSequenceNumber): Moved here from DrawingAreaImpl.cpp.
   13255         (WebKit::DrawingAreaProxyImpl::sendSetSize): Changed to pass a new sequence number in the
   13256         SetSize message.
   13257         (WebKit::DrawingAreaProxyImpl::waitForAndDispatchDidSetSize): Added a FIXME about a
   13258         potential improvement.
   13259 
   13260         * WebProcess/WebPage/DrawingArea.h:
   13261         (WebKit::DrawingArea::setSize): Updated to match the message's new parameters.
   13262 
   13263         * WebProcess/WebPage/DrawingArea.messages.in: Added a sequenceNumber parameter to SetSize.
   13264 
   13265         * WebProcess/WebPage/DrawingAreaImpl.cpp:
   13266         (WebKit::DrawingAreaImpl::DrawingAreaImpl): Initialize m_sequenceNumber.
   13267         (WebKit::DrawingAreaImpl::setSize): Record the new sequence number from the UI process.
   13268 
   13269         (WebKit::DrawingAreaImpl::layerHostDidFlushLayers):
   13270         (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
   13271         (WebKit::DrawingAreaImpl::display):
   13272         Send m_sequenceNumber, instead of a new sequence number, back to the UI process.
   13273 
   13274         * WebProcess/WebPage/DrawingAreaImpl.h: Added m_sequenceNumber, updated setSize function to
   13275         match the base class.
   13276 
   13277 2011-02-21  Gavin Barraclough  <barraclough (a] apple.com>
   13278 
   13279         Reviewed by Sam Weinig.
   13280 
   13281         Bug 54894 - Make inheritance structure described by ClassInfo match C++ class hierarchy.
   13282 
   13283         The ClassInfo objects describe an inheritance hierarchy, with each ClassInfo instance
   13284         containing a pointer to its parent class. These links should reflect the inheritance
   13285         hierarchy of C++ classes below JSObject. For the large part it does, but in some cases
   13286         entries in the C++ hierarchy are skipped over. This presently likely doesn't matter,
   13287         since intervening C++ classes may not have ClassInfo - but would be a potential bug
   13288         were ClassInfo were to be added.
   13289 
   13290         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
   13291 
   13292 2011-02-21  Balazs Kelemen  <kbalazs (a] webkit.org>
   13293 
   13294         Reviewed by Kenneth Rohde Christiansen.
   13295 
   13296         [Qt] Implement WorkQueue::sheduleWorkAfterDelay
   13297         https://bugs.webkit.org/show_bug.cgi?id=54878
   13298 
   13299         * Platform/qt/WorkQueueQt.cpp:
   13300         (WorkQueue::scheduleWorkAfterDelay):
   13301 
   13302 2011-02-20  Alejandro G. Castro  <alex (a] igalia.com>
   13303 
   13304         Reviewed by Martin Robinson.
   13305 
   13306         [GTK] Add WebResourceCacheDataManager to the compilation after r78848
   13307         https://bugs.webkit.org/show_bug.cgi?id=54732
   13308 
   13309         Added resource cache manager API to GTK+ compilation after r78848.
   13310 
   13311         * GNUmakefile.am:
   13312 
   13313 2011-02-20  Sam Weinig  <sam (a] webkit.org>
   13314 
   13315         Reviewed by Dan Bernstein.
   13316 
   13317         Crash in WebProcess at com.apple.WebCore: WebCore::Page::goToItem + 46
   13318         <rdar://problem/8942726>
   13319 
   13320         * WebProcess/WebPage/WebPage.cpp:
   13321         (WebKit::WebPage::goForward):
   13322         (WebKit::WebPage::goBack):
   13323         (WebKit::WebPage::goToBackForwardItem):
   13324         Defend agains null HistoryItems.
   13325 
   13326 2011-02-20  Anders Carlsson  <andersca (a] apple.com>
   13327 
   13328         Reviewed by Maciej Stachowiak.
   13329 
   13330         Crash when a plug-in requests a javascript: url that destroys the plug-in
   13331         https://bugs.webkit.org/show_bug.cgi?id=54837
   13332         <rdar://problem/9005475>
   13333 
   13334         * WebProcess/Plugins/PluginProxy.cpp:
   13335         (WebKit::PluginProxy::destroy):
   13336         Null out m_pluginController.
   13337 
   13338         * WebProcess/Plugins/PluginView.cpp:
   13339         (WebKit::PluginView::performJavaScriptURLRequest):
   13340         Don't access the frame through m_pluginElement since it will be nulled out
   13341         when the plug-in is destroyed.
   13342 
   13343 2011-02-20  Anders Carlsson  <andersca (a] apple.com>
   13344 
   13345         Reviewed by Sam Weinig.
   13346 
   13347         Fix another crash when a plug-in is destroyed when evaluating JavaScript
   13348         https://bugs.webkit.org/show_bug.cgi?id=54834
   13349         <rdar://problem/9005475>
   13350 
   13351         This contains three separate fixes:
   13352 
   13353         - In unprotectPluginFromDestruction we can't just destroy the plug-in once
   13354           the count reaches zero, because the plug-in might still have code executing
   13355           on the stack. To fix this we use a zero-delay timer to defer destruction
   13356           of the plug-in.
   13357 
   13358         - Trying to get the NPObject for the window using NPN_GetValue would return
   13359           NPERR_NO_ERROR, even if the returned NPObject was null. Fix this to return
   13360           NPERR_GENERIC_ERROR instead.
   13361 
   13362         - Protect the plug-in from destruction anytime an NPAPI call that sends a 
   13363           synchronous IPC message is made.
   13364 
   13365         * PluginProcess/PluginControllerProxy.cpp:
   13366         (WebKit::PluginControllerProxy::PluginControllerProxy):
   13367         (WebKit::PluginControllerProxy::destroy):
   13368         (WebKit::PluginControllerProxy::unprotectPluginFromDestruction):
   13369         * PluginProcess/PluginControllerProxy.h:
   13370         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
   13371         (WebKit::PluginDestructionProtector::PluginDestructionProtector):
   13372         (WebKit::NPN_GetValue):
   13373         (WebKit::NPN_Evaluate):
   13374         (WebKit::NPN_GetProperty):
   13375         (WebKit::NPN_SetProperty):
   13376         (WebKit::NPN_RemoveProperty):
   13377         (WebKit::NPN_HasProperty):
   13378         (WebKit::NPN_HasMethod):
   13379         (WebKit::NPN_Enumerate):
   13380         (WebKit::NPN_Construct):
   13381         (WebKit::NPN_GetValueForURL):
   13382         (WebKit::NPN_SetValueForURL):
   13383 
   13384 2011-02-19  Sam Weinig  <sam (a] webkit.org>
   13385 
   13386         Reviewed by Anders Carlsson.
   13387 
   13388         Add phase in addition to momentumPhase to platform wheel events
   13389         Part of <rdar://problem/8945362>
   13390 
   13391         Rename existing phase to momentumPhase.
   13392 
   13393         * Shared/WebEvent.h:
   13394         (WebKit::WebWheelEvent::momentumPhase):
   13395         * Shared/WebEventConversion.cpp:
   13396         (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
   13397         * Shared/WebWheelEvent.cpp:
   13398         (WebKit::WebWheelEvent::WebWheelEvent):
   13399         (WebKit::WebWheelEvent::encode):
   13400         (WebKit::WebWheelEvent::decode):
   13401         * Shared/mac/WebEventFactory.mm:
   13402         (WebKit::phaseForEvent):
   13403         (WebKit::momentumPhaseForEvent):
   13404         (WebKit::WebEventFactory::createWebWheelEvent):
   13405 
   13406 2011-02-19  Anders Carlsson  <andersca (a] apple.com>
   13407 
   13408         Reviewed by Dan Bernstein.
   13409 
   13410         Crash when trying to take a snapshot of an uninitialized plug-in
   13411         https://bugs.webkit.org/show_bug.cgi?id=54812
   13412 
   13413         * WebProcess/Plugins/PluginView.cpp:
   13414         (WebKit::PluginView::notifyWidget):
   13415         Don't try to create a snapshot of the plug-in if it hasn't been initialized.
   13416 
   13417 2011-02-18  Gavin Barraclough  <barraclough (a] apple.com>
   13418 
   13419         Reviewed by Sam Weinig.
   13420 
   13421         Bug 54786 - Devirtualize JSCell::classInfo()
   13422 
   13423         Instead of making a virtual function call, add a pointer to the ClassInfo
   13424         onto Structure.
   13425 
   13426         This removes a virtual function call, and paves the way towards removing all
   13427         the createStructure methods, and StructureFlags/AnonymousSlotCount properties
   13428         (these should be able to move onto ClassInfo).
   13429 
   13430         Calls to Structure::create must now pass a pointer to the ClassInfo for the
   13431         structure. All objects now have a ClassInfo pointer, non-object cell types
   13432         still do not.
   13433 
   13434         Changes are most mechanical, involving three steps:
   13435             * Remove virtual classInfo() methods.
   13436             * Add &s_info parameter to calls to Structure::create.
   13437             * Rename ClassInfo static members on classes from 'info' to 's_info',
   13438               for consistency.
   13439 
   13440         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
   13441         (WebKit::JSNPMethod::JSNPMethod):
   13442         * WebProcess/Plugins/Netscape/JSNPMethod.h:
   13443         (WebKit::JSNPMethod::createStructure):
   13444         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
   13445         (WebKit::JSNPObject::JSNPObject):
   13446         * WebProcess/Plugins/Netscape/JSNPObject.h:
   13447         (WebKit::JSNPObject::createStructure):
   13448 
   13449 2011-02-19  Sam Weinig  <sam (a] webkit.org>
   13450 
   13451         Reviewed by Anders Carlsson.
   13452 
   13453         Rename performLookupAtCurrentMouseLocation to performDictionaryLookupAtCurrentMouseLocation
   13454 
   13455         * UIProcess/API/mac/WKView.mm:
   13456         (-[WKView performDictionaryLookupAtCurrentMouseLocation]):
   13457         * UIProcess/API/mac/WKViewPrivate.h:
   13458 
   13459 2011-02-19  Charlie Reis  <creis (a] chromium.org>
   13460 
   13461         Reviewed by Mihai Parparita.
   13462 
   13463         Ensure loading has stopped in HistoryController::goToItem
   13464         https://bugs.webkit.org/show_bug.cgi?id=54517
   13465 
   13466         Add a FrameLoaderClient callback for whether to stop loading before goToItem.
   13467 
   13468         Test: http/tests/navigation/forward-to-fragment-fires-onload.html
   13469 
   13470         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
   13471         (WebFrameLoaderClient::shouldStopLoadingForHistoryItem): Added.
   13472         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
   13473 
   13474 2011-02-18  Sam Weinig  <sam (a] webkit.org>
   13475 
   13476         Reviewed by Adele Peterson.
   13477 
   13478         Real fix for <rdar://problem/9025723> CrashTracer: [USER] 
   13479         1 crash in WebProcess at com.apple.WebKit2: 
   13480         WebKit::WebPage::didChangeScrollOffsetForMainFrame + 31
   13481 
   13482         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
   13483         (WebKit::WebFrameLoaderClient::didChangeScrollOffset):
   13484         Add null check for the FrameView. This function can be called when the
   13485         FrameView is being torn down during a transition to a new FrameView.
   13486 
   13487         * WebProcess/WebPage/WebPage.cpp:
   13488         (WebKit::WebPage::didChangeScrollOffsetForMainFrame):
   13489         Revert last attempt.
   13490 
   13491 2011-02-18  Anders Carlsson  <andersca (a] apple.com>
   13492 
   13493         Reviewed by Sam Weinig.
   13494 
   13495         Hang trying to load nytimes.com with Flash installed
   13496         <rdar://problem/9018113> 
   13497 
   13498         * Platform/CoreIPC/Connection.cpp:
   13499         (CoreIPC::Connection::sendSyncMessage):
   13500         Call beginWaitForSyncReply() before sending the message. Otherwise, in some cases we could
   13501         have gotten back a synchronous request before calling beginWaitForSyncReply(), and then we wouldn't
   13502         process it correctly. (Which would lead to the hang).
   13503 
   13504 2011-02-18  Simon Fraser  <simon.fraser (a] apple.com>
   13505 
   13506         Reviewed by Kevin Decker.
   13507 
   13508         <rdar://problem/9021296> Some plug-ins are the wrong size after zooming
   13509         
   13510         Use the same frame/bounds adjustment that we use for NSView-based
   13511         plugins in WebKit2, which allows plug-ins and their snapshots to
   13512         render with the correct size after scaling.
   13513 
   13514         * WebProcess/Plugins/PluginView.cpp:
   13515         (WebKit::PluginView::setBoundsSize):
   13516         (WebKit::PluginView::viewGeometryDidChange):
   13517         (WebKit::PluginView::clipRectInWindowCoordinates):
   13518         * WebProcess/Plugins/PluginView.h:
   13519 
   13520 2011-02-18  Beth Dakin  <bdakin (a] apple.com>
   13521 
   13522         Rubber-stamped by Adele Peterson.
   13523 
   13524         Fix for <rdar://problem/9025723> CrashTracer: [USER] 
   13525         1 crash in WebProcess at com.apple.WebKit2: 
   13526         WebKit::WebPage::didChangeScrollOffsetForMainFrame + 31
   13527 
   13528         Simple null-check.
   13529         * WebProcess/WebPage/WebPage.cpp:
   13530         (WebKit::WebPage::didChangeScrollOffsetForMainFrame):
   13531 
   13532 2011-02-18  Viatcheslav Ostapenko  <ostapenko.viatcheslav (a] nokia.com>
   13533 
   13534         Reviewed by Kenneth Rohde Christiansen.
   13535 
   13536         Tiled backing store area is too big.
   13537         Error in area calculcation causes size of backing store
   13538         up to 8 times bigger than viewport with default multipliers.
   13539         https://bugs.webkit.org/show_bug.cgi?id=54587
   13540 
   13541         * UIProcess/TiledDrawingAreaProxy.cpp:
   13542         (WebKit::TiledDrawingAreaProxy::calculateKeepRect):
   13543         (WebKit::TiledDrawingAreaProxy::calculateCoverRect):
   13544 
   13545 2011-02-18  John Sullivan  <sullivan (a] apple.com>
   13546 
   13547         Reviewed by Maciej Stachowiak.
   13548 
   13549         <rdar://problem/9026169>
   13550         https://bugs.webkit.org/show_bug.cgi?id=54780
   13551         pendingAPIRequestURL isn't updated for WKPageGoToBackForwardListItem
   13552 
   13553         * UIProcess/WebPageProxy.cpp:
   13554         (WebKit::WebPageProxy::goToBackForwardItem):
   13555         Update the pending API URL.
   13556 
   13557 2011-02-18  Anders Carlsson  <andersca (a] apple.com>
   13558 
   13559         Reviewed by Sam Weinig.
   13560 
   13561         Accelerated content fades in when using a layer backed WKView
   13562         <rdar://problem/9021586>
   13563 
   13564         * UIProcess/API/mac/WKView.mm:
   13565         (-[WKView _enterAcceleratedCompositingMode:]):
   13566         Make a new nested CATransaction and disable animations when adding the layer 
   13567         hosting subview. This avoids an implicit fade animation that would otherwise occur.
   13568 
   13569 2011-02-18  Simon Fraser  <simon.fraser (a] apple.com>
   13570 
   13571         Reviewed by Dan Bernstein.
   13572 
   13573         Plugin snapshot location is wrong for subframes
   13574         https://bugs.webkit.org/show_bug.cgi?id=54776
   13575         
   13576         Only change the CTM to the way that the plugin expects it
   13577         when painting the plugin, not when drawing the snapshot.
   13578         This fixes the snapshot location when painting flattened
   13579         frames.
   13580 
   13581         * WebProcess/Plugins/PluginView.cpp:
   13582         (WebKit::PluginView::paint):
   13583 
   13584 2011-02-18  Anders Carlsson  <andersca (a] apple.com>
   13585 
   13586         Reviewed by Simon Fraser.
   13587 
   13588         Implement NetscapePlugin::pluginComplexTextInputIdentifier
   13589         https://bugs.webkit.org/show_bug.cgi?id=54770
   13590 
   13591         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
   13592         (WebKit::NetscapePlugin::pluginComplexTextInputIdentifier):
   13593 
   13594 2011-02-18  Sam Weinig  <sam (a] webkit.org>
   13595 
   13596         Reviewed by Maciej Stachowiak.
   13597 
   13598         Add the ability to ask the WKPage if the main frame is pinned
   13599         to the right or left hand side.
   13600         Part of <rdar://problem/9017043>.
   13601 
   13602         * UIProcess/API/C/WKPage.cpp:
   13603         (WKPageIsPinnedToLeftSide):
   13604         (WKPageIsPinnedToRightSide):
   13605         * UIProcess/API/C/WKPage.h:
   13606         Add new API calls.
   13607 
   13608         * UIProcess/WebPageProxy.cpp:
   13609         (WebKit::WebPageProxy::WebPageProxy):
   13610         (WebKit::WebPageProxy::close):
   13611         (WebKit::WebPageProxy::processDidCrash):
   13612         (WebKit::WebPageProxy::didChangeScrollOffsetPinningForMainFrame):
   13613         * UIProcess/WebPageProxy.h:
   13614         (WebKit::WebPageProxy::isPinnedToLeftSide):
   13615         (WebKit::WebPageProxy::isPinnedToRightSide):
   13616         Initialize, reset and update the pinned state.
   13617 
   13618         * UIProcess/WebPageProxy.messages.in:
   13619         Add message to update the pinned state.
   13620 
   13621         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
   13622         (WebKit::WebFrameLoaderClient::didChangeScrollOffset):
   13623         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
   13624         * WebProcess/WebPage/WebPage.cpp:
   13625         (WebKit::WebPage::WebPage):
   13626         (WebKit::WebPage::didChangeScrollOffsetForMainFrame):
   13627         * WebProcess/WebPage/WebPage.h:
   13628         Cache the pinned state, and only update the UIProcess when it
   13629         changes.
   13630 
   13631 2011-02-18  Anders Carlsson  <andersca (a] apple.com>
   13632 
   13633         Reviewed by Simon Fraser.
   13634 
   13635         Fix assertion in SharedMemory::create when trying to snapshot 0x0 plug-in
   13636         https://bugs.webkit.org/show_bug.cgi?id=54768
   13637 
   13638         * PluginProcess/PluginControllerProxy.cpp:
   13639         (WebKit::PluginControllerProxy::snapshot):
   13640         Don't try to create a handle from a null ShareableBitmap.
   13641 
   13642         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
   13643         (WebKit::NetscapePlugin::snapshot):
   13644         Check for a zero sized plug-in before trying to create a snapshot.
   13645 
   13646 2011-02-18  Anders Carlsson  <andersca (a] apple.com>
   13647 
   13648         Reviewed by Simon Fraser.
   13649 
   13650         WKView flashes when entering/exiting compositing mode
   13651         https://bugs.webkit.org/show_bug.cgi?id=54695
   13652         <rdar://problem/9011554>
   13653 
   13654         * UIProcess/API/mac/WKView.mm:
   13655         (-[WKView _exitAcceleratedCompositingMode]):
   13656         Remove the layer hosting view before clearing out its layer, otherwise we can get
   13657         white flashes when exiting accelerated compositing mode.
   13658 
   13659         * WebProcess/WebPage/DrawingAreaImpl.cpp:
   13660         When entering accelerated compositing mode, we want to defer sending the message
   13661         until we've actually committed the layer tree and pushed all changes over to the
   13662         UI process.
   13663 
   13664         (WebKit::DrawingAreaImpl::layerHostDidFlushLayers):
   13665         Tell the layer tree host to force a repaint. This will ensure that all layer tree
   13666         changes are pushed over to the UI process. When that is done, send the new layer tree
   13667         context over to the UI process.
   13668 
   13669         (WebKit::DrawingAreaImpl::setRootCompositingLayer):
   13670         When exiting compositing mode in response to a didSetSize, we want to exit accelerated 
   13671         compositing mode right away to avoid flashes. This is safe since we've laid out the page
   13672         already so we won't end up reentering setRootCompositingLayer.
   13673 
   13674         (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode):
   13675         Tell the layer tree host to notify us when the next layer tree flush happened, so we can
   13676         let the UI process know. If we're entering accelerated compositing mode in response to a
   13677         SetSize message, the new layer tree context will be passed in the DidSetSize message.
   13678 
   13679         * WebProcess/WebPage/DrawingAreaImpl.h:
   13680         Add layerHostDidFlushLayers.
   13681 
   13682         * WebProcess/WebPage/LayerTreeHost.h:
   13683         Add setShouldNotifyAfterNextScheduledLayerFlush.
   13684 
   13685         * WebProcess/WebPage/mac/LayerTreeHostMac.h:
   13686         Add a m_notifyAfterScheduledLayerFlush flag.
   13687 
   13688         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
   13689         (WebKit::LayerTreeHostMac::LayerTreeHostMac):
   13690         Initialize m_notifyAfterScheduledLayerFlush to false.
   13691 
   13692         (WebKit::LayerTreeHostMac::setShouldNotifyAfterNextScheduledLayerFlush):
   13693         Set m_notifyAfterScheduledLayerFlush to true.
   13694 
   13695         (WebKit::LayerTreeHostMac::flushPendingLayerChangesRunLoopObserverCallback):
   13696         If m_notifyAfterScheduledLayerFlush is true, call DrawingAreaImpl::layerHostDidFlushLayers.
   13697 
   13698 2011-02-18  Alexey Proskuryakov  <ap (a] apple.com>
   13699 
   13700         Reviewed by Adele Peterson.
   13701 
   13702         REGRESSION (WebKit2): Wrong frame printed on tivofaq.com
   13703         https://bugs.webkit.org/show_bug.cgi?id=54677
   13704         <rdar://problem/8994133>
   13705 
   13706         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
   13707         (WebKit::area): Use visible frame bounds.
   13708         (WebKit::findLargestFrameInFrameSet): Added a comment explaining what we're up to here.
   13709         WebKit2 shouldn't be making policy decisions for the client, but it gets dangerously close
   13710         to that. We used to expose the same as WK1 API though.
   13711 
   13712 2011-02-18  Balazs Kelemen  <kbalazs (a] webkit.org>
   13713 
   13714         Unreviwed.
   13715 
   13716         Remove CleanupHandler since we do not use it anymore.
   13717 
   13718         * Shared/qt/CleanupHandler.cpp: Removed.
   13719         * Shared/qt/CleanupHandler.h: Removed.
   13720 
   13721 2011-02-18  Alejandro G. Castro  <alex (a] igalia.com>
   13722 
   13723         Fix GTK build by fixing signature of platformPaint(), required after r78956.
   13724 
   13725         * WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp:
   13726         (WebKit::NetscapePlugin::platformPaint):
   13727 
   13728 2011-02-17  Dan Bernstein  <mitz (a] apple.com>
   13729 
   13730         LLVM Compiler build fix.
   13731 
   13732         * UIProcess/WebResourceCacheManagerProxy.h:
   13733         * WebProcess/ResourceCache/WebResourceCacheManager.h:
   13734 
   13735 2011-02-17  Simon Fraser  <simon.fraser (a] apple.com>
   13736 
   13737         Fix Windows and Qt builds by fixing signature of platformPaint().
   13738 
   13739         * WebProcess/Plugins/Netscape/qt/NetscapePluginQt.cpp:
   13740         (WebKit::NetscapePlugin::platformPaint):
   13741         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
   13742         (WebKit::NetscapePlugin::platformPaint):
   13743 
   13744 2011-02-17  Simon Fraser  <simon.fraser (a] apple.com>
   13745 
   13746         Reviewed by Sam Weinig.
   13747 
   13748         WebKit2 snapshots don't show plug-ins
   13749         https://bugs.webkit.org/show_bug.cgi?id=54716
   13750         
   13751         Fix WebKit2 plug-ins to do a software paint for
   13752         snapshotting.
   13753 
   13754         * PluginProcess/PluginControllerProxy.h:
   13755         * PluginProcess/PluginControllerProxy.cpp:
   13756         (WebKit::PluginControllerProxy::snapshot): Respond to the snapshot
   13757         message by getting a sharable bitmap from the plugin, and returning
   13758         a handle to it in the reply.
   13759 
   13760         * PluginProcess/PluginControllerProxy.messages.in: Add the snapshot
   13761         message.
   13762         
   13763         * Shared/Plugins/PluginQuirks.h:
   13764         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
   13765         (WebKit::NetscapePluginModule::determineQuirks): Add a quirk for the
   13766         ability to be snapshotted, which we only set for Flash at the moment.
   13767         
   13768         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
   13769         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
   13770         (WebKit::NetscapePlugin::snapshot): Create a shareable bitmap, and
   13771         paint into it.
   13772         (WebKit::NetscapePlugin::supportsSnapshotting): Test the quirk.
   13773 
   13774         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
   13775         (WebKit::NetscapePlugin::platformPaint): Allow the paint to happen
   13776         if we're snapshotting, even when using the CoreAnimation drawing
   13777         model.
   13778         
   13779         * WebProcess/Plugins/Plugin.h: New snapshot method.
   13780         
   13781         * WebProcess/Plugins/PluginProxy.h:
   13782         * WebProcess/Plugins/PluginProxy.cpp:
   13783         (WebKit::PluginProxy::snapshot): Send a sync message to the plugin process,
   13784         asking for a snapshot in a shareble bitmap.
   13785         
   13786         * WebProcess/Plugins/PluginView.h:
   13787         * WebProcess/Plugins/PluginView.cpp:
   13788         (WebKit::PluginView::paint): Use the snapshot if we have one, to avoid
   13789         calling into the plugin to draw, which may run script.
   13790         
   13791         (WebKit::PluginView::notifyWidget): Generate the snapshot before
   13792         a flattening paint, and throw it away after.
   13793 
   13794 2011-02-17  Jessie Berlin  <jberlin (a] apple.com>
   13795 
   13796         Reviewed by Adam Roben.
   13797 
   13798         WebKit2: The CFNetwork Cache should be shared between the UI Process and the Web Process on
   13799         Windows.
   13800         https://bugs.webkit.org/show_bug.cgi?id=54683
   13801 
   13802         * Shared/WebProcessCreationParameters.cpp:
   13803         (WebKit::WebProcessCreationParameters::encode):
   13804         (WebKit::WebProcessCreationParameters::decode):
   13805         * Shared/WebProcessCreationParameters.h:
   13806  
   13807         * UIProcess/win/WebContextWin.cpp:
   13808         (WebKit::WebContext::platformInitializeWebProcess):
   13809         Make sure to remove the ending slash, as CFNetwork does not recognize the directory with
   13810         that slash.
   13811 
   13812         * WebProcess/win/WebProcessWin.cpp:
   13813         (WebKit::WebProcess::platformInitializeWebProcess):
   13814         Create a cache using the path, disk capacity, and memory capacity and set it as default.
   13815 
   13816 2011-02-17  Anders Carlsson  <andersca (a] apple.com>
   13817 
   13818         Reviewed by Sam Weinig.
   13819 
   13820         Web and/or plug-in process crashes when NPN_Evaluate destroys the plug-in
   13821         https://bugs.webkit.org/show_bug.cgi?id=54686
   13822         <rdar://problem/9013384>
   13823 
   13824         This patch fixes two bugs with a plug-in calling NPN_Evaluate to destroy itself:
   13825 
   13826         - The PluginProxy object would be destroyed in the middle of PluginProxy::evaluate.
   13827           This would cause the web process to crash.
   13828 
   13829         - The PluginControllerProxy would call NPP_Destroy while the plug-in was busy running
   13830           code. This would cause the plug-in process to crash.
   13831 
   13832         To fix this, we add protectPluginFromDestruction/unprotectPluginFromDestruction to
   13833         PluginControllerProxy and use it to defer calling destroy() in the plug-in process,
   13834         and defer actually destroying the plug-in in the web process.
   13835 
   13836         https://bugs.webkit.org/show_bug.cgi?id=54171 tracks adding a test for this.
   13837 
   13838         * PluginProcess/PluginControllerProxy.cpp:
   13839         (WebKit::PluginControllerProxy::PluginControllerProxy):
   13840         (WebKit::PluginControllerProxy::destroy):
   13841         (WebKit::PluginControllerProxy::evaluate):
   13842         (WebKit::PluginControllerProxy::protectPluginFromDestruction):
   13843         (WebKit::PluginControllerProxy::unprotectPluginFromDestruction):
   13844         * PluginProcess/PluginControllerProxy.h:
   13845         (WebKit::PluginControllerProxy::asPluginController):
   13846         * PluginProcess/WebProcessConnection.cpp:
   13847         (WebKit::WebProcessConnection::destroyPluginControllerProxy):
   13848         (WebKit::WebProcessConnection::didReceiveMessage):
   13849         (WebKit::WebProcessConnection::didReceiveSyncMessage):
   13850         * PluginProcess/WebProcessConnection.h:
   13851         (WebKit::WebProcessConnection::connection):
   13852         * WebProcess/Plugins/PluginController.h:
   13853         (WebKit::PluginController::PluginDestructionProtector::PluginDestructionProtector):
   13854         (WebKit::PluginController::PluginDestructionProtector::~PluginDestructionProtector):
   13855         * WebProcess/Plugins/PluginProxy.cpp:
   13856         (WebKit::PluginProxy::evaluate):
   13857         * WebProcess/Plugins/PluginView.cpp:
   13858         (WebKit::PluginView::protectPluginFromDestruction):
   13859         (WebKit::PluginView::unprotectPluginFromDestruction):
   13860         * WebProcess/Plugins/PluginView.h:
   13861 
   13862 2011-02-17  Sam Weinig  <sam (a] webkit.org>
   13863 
   13864         Build fix.
   13865 
   13866         * WebProcess/WebPage/mac/WebPageMac.mm:
   13867         (WebKit::WebPage::performDictionaryLookupAtLocation):
   13868 
   13869 2011-02-17  Sam Weinig  <sam (a] webkit.org>
   13870 
   13871         Reviewed by Maciej Stachowiak.
   13872 
   13873         WebKit2: Support Dictionary popup
   13874         <rdar://problem/7660670>
   13875 
   13876         * Shared/TextInfo.cpp: Added.
   13877         (WebKit::TextInfo::encode):
   13878         (WebKit::TextInfo::decode):
   13879         * Shared/TextInfo.h: Added.
   13880         (WebKit::TextInfo::TextInfo):
   13881         Add class to represent the location and style of a run of text.
   13882 
   13883         * UIProcess/PageClient.h:
   13884         * UIProcess/API/mac/PageClientImpl.h:
   13885         * UIProcess/API/mac/PageClientImpl.mm:
   13886         (WebKit::PageClientImpl::didPerformDictionaryLookup):
   13887         Invoke the dictionary popup.
   13888 
   13889         * UIProcess/API/mac/WKView.mm:
   13890         (-[WKView performLookupAtCurrentMouseLocation]):
   13891         Tell the WebProcess to get get the text under the mouse and cause
   13892         the dictionary popup to appear.
   13893 
   13894         * UIProcess/API/mac/WKViewPrivate.h:
   13895         Add performLookupAtCurrentMouseLocation.
   13896 
   13897         * UIProcess/WebPageProxy.cpp:
   13898         (WebKit::WebPageProxy::performDictionaryLookupAtLocation):
   13899         (WebKit::WebPageProxy::didPerformDictionaryLookup):
   13900         * UIProcess/WebPageProxy.h:
   13901         * UIProcess/WebPageProxy.messages.in:
   13902         * WebProcess/WebPage/WebPage.cpp:
   13903         * WebProcess/WebPage/WebPage.h:
   13904         * WebProcess/WebPage/WebPage.messages.in:
   13905         Pipe messages through.
   13906 
   13907         * WebProcess/WebPage/mac/WebPageMac.mm:
   13908         (WebKit::characterRangeAtPoint): Fix to return PassRefPtr
   13909         and not potentially stale pointers.
   13910 
   13911         (WebKit::WebPage::characterIndexForPoint):
   13912         Change to use a RefPtr.
   13913 
   13914         (WebKit::WebPage::performDictionaryLookupAtLocation):
   13915         Add simple heuristic to get the word at the current point (or the current selection
   13916         if it is at that point) and grab the style of the word to send the UIProcess.
   13917 
   13918         * WebKit2.pro:
   13919         * WebKit2.xcodeproj/project.pbxproj:
   13920         * win/WebKit2.vcproj:
   13921         Add new files.
   13922 
   13923 2011-02-17  Brian Weinstein  <bweinstein (a] apple.com>
   13924 
   13925         Qt build fix.
   13926 
   13927         * WebKit2.pro: Update after renaming of MemoryCache to ResourceCache.
   13928 
   13929 2011-02-17  Brian Weinstein  <bweinstein (a] apple.com>
   13930 
   13931         Mac build fix.
   13932 
   13933         * WebKit2.xcodeproj/project.pbxproj: Use relative to group instead of absolute paths. Not everyone's home
   13934             directory is /Users/brian_weinstein.
   13935 
   13936 2011-02-16  Brian Weinstein  <bweinstein (a] apple.com>
   13937 
   13938         Reviewed by Brady Eidson.
   13939 
   13940         WebKit2: Need a way to manage the WebCore Cache
   13941         https://bugs.webkit.org/show_bug.cgi?id=54501
   13942         
   13943         Implement a WebKit2 API to manage the WebCore memory cache. This API exposes three functions:
   13944         
   13945         1) A method to get a list of all security origins that have entries in the WebCore memory cache.
   13946         2) A method to remove all entries in the WebCore memory cache from a SecurityOrigin.
   13947         3) A method to remove all entries from the WebCore memory cache.
   13948 
   13949         * Platform/CoreIPC/MessageID.h: Add two new MessageClasses.
   13950         * Shared/API/c/WKBase.h:
   13951         * Shared/APIObject.h: Add a CacheManager type.
   13952         * Shared/WebSecurityOrigin.h: Typedef WKCacheManagerRef.
   13953         (WebKit::WebSecurityOrigin::createFromString): Creates a WebCore::SecurityOrigin using 
   13954             SecurityOrigin::createFromString.
   13955         (WebKit::WebSecurityOrigin::toString): Calls through to SecurityOrigin::toString.
   13956         * UIProcess/API/C/WKAPICast.h:
   13957 
   13958         * UIProcess/API/C/WKCacheManager.cpp: Added.
   13959         (WKCacheManagerGetTypeID): Returns the WebResourceCacheManagerProxy type.
   13960         (WKCacheManagerGetCacheOrigins): Calls through to WebResourceCacheManagerProxy::getCacheOrigins.
   13961         (callGetCacheOriginsBlockBlockAndDispose):
   13962         (WKCacheManagerGetCacheOrigins_b):
   13963         (WKCacheManagerDeleteCacheForOrigin): Calls through to WebResourceCacheManagerProxy::deleteCacheForOrigin.
   13964         (WKCacheManagerDeleteAllCache): Calls through to WebResourceCacheManagerProxy::deleteAllCache.
   13965         * UIProcess/API/C/WKCacheManager.h: Added.
   13966 
   13967         * UIProcess/API/C/WKContext.cpp:
   13968         (WKContextGetCacheManager): Calls to get the WebResourceCacheManagerProxy.
   13969         * UIProcess/API/C/WKContext.h:
   13970 
   13971         * UIProcess/WebResourceCacheManagerProxy.cpp: Added.
   13972         (WebKit::WebResourceCacheManagerProxy::create): Calls through to the constructor.
   13973         (WebKit::WebResourceCacheManagerProxy::WebResourceCacheManagerProxy): Initialize the m_webContext variable.
   13974         (WebKit::WebResourceCacheManagerProxy::~WebResourceCacheManagerProxy):
   13975         (WebKit::WebResourceCacheManagerProxy::invalidate): Invalidate the callback map.
   13976         (WebKit::WebResourceCacheManagerProxy::getCacheOrigins): Call through to the web process to get the cache
   13977             origins.
   13978         (WebKit::WebResourceCacheManagerProxy::didGetCacheOrigins): Call the callback.
   13979         (WebKit::WebResourceCacheManagerProxy::deleteCacheForOrigin): Call through to the web process to delete cache
   13980             for the given origin. 
   13981         (WebKit::WebResourceCacheManagerProxy::deleteAllCache): Call through to the web process to delete all of the cache.
   13982         * UIProcess/WebResourceCacheManagerProxy.h: Added.
   13983         (WebKit::WebResourceCacheManagerProxy::clearContext):
   13984         (WebKit::WebResourceCacheManagerProxy::type):
   13985         * UIProcess/WebResourceCacheManagerProxy.messages.in: Added.
   13986 
   13987         * UIProcess/WebContext.cpp:
   13988         (WebKit::WebContext::WebContext): Initialize new member variable.
   13989         (WebKit::WebContext::~WebContext):  Invalidates new member variable.
   13990         (WebKit::WebContext::didReceiveMessage): Passes cache messages to the cache manager.
   13991         * UIProcess/WebContext.h:
   13992         (WebKit::WebContext::cacheManagerProxy):
   13993         * UIProcess/WebProcessProxy.cpp:
   13994         (WebKit::WebProcessProxy::didReceiveMessage): Add a new message class.
   13995 
   13996         * WebProcess/ResourceCache/WebResourceCacheManager.cpp: Added.
   13997         (WebKit::WebResourceCacheManager::shared):
   13998         (WebKit::WebResourceCacheManager::WebResourceCacheManager):
   13999         (WebKit::WebResourceCacheManager::~WebResourceCacheManager):
   14000         (WebKit::WebResourceCacheManager::didReceiveMessage): Calls through to didReceiveWebResourceCacheManagerMessage.
   14001         (WebKit::WebResourceCacheManager::getCacheOrigins): Gets a list of origins with cache entries from the memory
   14002             cache, and puts them into a vector to send to the UI process.
   14003         (WebKit::WebResourceCacheManager::deleteCacheForOrigin): Calls through to ResourceCache to delete all cache entries
   14004             from a given origin.
   14005         (WebKit::WebResourceCacheManager::deleteAllCache):
   14006         * WebProcess/ResourceCache/WebResourceCacheManager.h: Added.
   14007         * WebProcess/ResourceCache/WebResourceCacheManager.messages.in: Added.
   14008 
   14009         * WebProcess/WebProcess.cpp:
   14010         (WebKit::WebProcess::didReceiveMessage):
   14011         (WebKit::WebProcess::clearResourceCaches): Tell the memory cache to evict its resources. This was done on WebKit1, 
   14012             but not WebKit2.
   14013         * WebProcess/WebProcess.h:
   14014         
   14015         * WebKit2.xcodeproj/project.pbxproj: Added new files.
   14016         * win/WebKit2.vcproj: Ditto.
   14017         * win/WebKit2Common.vsprops: Added new include directory.
   14018         * win/WebKit2Generated.make: Added new header.
   14019 
   14020 2011-02-16  David Hyatt  <hyatt (a] apple.com>
   14021 
   14022         Reviewed by Dan Bernstein.
   14023 
   14024         https://bugs.webkit.org/show_bug.cgi?id=54244
   14025         
   14026         Convert the line box tree to floating point and eliminate font rounding hacks.  This patch removes all of the rounding
   14027         hacks from the Font code and makes sure all Font APIs involving width measurement and width offsets use floats.
   14028         
   14029         The line box tree's x, y and logicalWidth members have all been converted to floats and all of the line box APIs have
   14030         been changed as well.
   14031         
   14032         In terms of pixel adjustments, overflow is using an enclosing model (so it will be enclosingIntRect of a line box's x/y/width/height).
   14033         
   14034         Background and border painting is using a rounding model, so borders and backgrounds will round to the nearest pixel when painting.
   14035         
   14036         Replaced elements still snap to integer positions on lines, and they use a rounding model as well, although their underlying line boxes
   14037         still have a precise floating point position.
   14038 
   14039         Justification will now allow subpixel positioning to occur as well.  Platforms that don't support subpixel positioning should already
   14040         be rounding justification spacing in their font code.
   14041 
   14042         Many layout test results change on Mac, since rounding hacks were used there and are now gone.
   14043 
   14044         * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
   14045         (WebKit::WebPopupMenu::setUpPlatformData):
   14046 
   14047 2011-02-10  Luiz Agostini  <luiz.agostini (a] openbossa.org>
   14048 
   14049         Reviewed by Adam Roben.
   14050 
   14051         HTML5 <details> and <summary>: localized text
   14052         https://bugs.webkit.org/show_bug.cgi?id=54260
   14053 
   14054         The method defaultDetailsSummaryText was added to LocalizationStrategy class. It is used to
   14055         provide the default label to be used by a <details> tag that has no <summary> child.
   14056 
   14057         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
   14058         (WebKit::WebPlatformStrategies::defaultDetailsSummaryText):
   14059         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
   14060 
   14061 2011-02-17  Adam Roben  <aroben (a] apple.com>
   14062 
   14063         Make sure layout is up-to-date before rendering the layer tree in DrawingAreaImpl
   14064 
   14065         Fixes <http://webkit.org/b/54646> <rdar://problem/9016889> Assertion failure in
   14066         FrameView::paintContents when calling WKPageForceRepaint on a page that uses accelerated
   14067         compositing
   14068 
   14069         Reviewed by Anders Carlsson.
   14070 
   14071         * WebProcess/WebPage/DrawingAreaImpl.cpp:
   14072         (WebKit::DrawingAreaImpl::forceRepaint): Lay out before we do anything else.
   14073 
   14074 2011-02-17  Alejandro G. Castro  <alex (a] igalia.com>
   14075 
   14076         Reviewed by Martin Robinson.
   14077 
   14078         [GTK] Add WKPluginSiteDataManager.cpp compilation after r78647
   14079         https://bugs.webkit.org/show_bug.cgi?id=54564
   14080 
   14081         * GNUmakefile.am: Added files to compilation.
   14082         * Shared/Plugins/Netscape/NetscapePluginModule.h: used
   14083         npruntime_internal.h in the include to avoid problems with X
   14084         types.
   14085         * WebProcess/WebProcess.cpp:
   14086         (WebKit::WebProcess::setAlwaysUsesComplexTextCodePath): fixed
   14087         ambiguous reference to Font caused by the X headers required by
   14088         the plugins.
   14089 
   14090 2011-02-16  Matthew Delaney  <mdelaney (a] apple.com>
   14091 
   14092         Reviewed by Simon Fraser.
   14093 
   14094         Allow acceleratesDrawing for WebKit2
   14095         https://bugs.webkit.org/show_bug.cgi?id=54511
   14096 
   14097         Plumb through preference for accelerated drawing.
   14098         
   14099         If accelerated drawing is enabled, keep the DrawingAreaImpl in
   14100         accelerated compositing mode.
   14101 
   14102         * Shared/WebPreferencesStore.h:
   14103         * UIProcess/API/C/WKPreferences.cpp:
   14104         (WKPreferencesSetAcceleratedDrawingEnabled):
   14105         (WKPreferencesGetAcceleratedDrawingEnabled):
   14106         * UIProcess/API/C/WKPreferencesPrivate.h:
   14107         * WebProcess/WebPage/DrawingAreaImpl.cpp:
   14108         (WebKit::DrawingAreaImpl::DrawingAreaImpl):
   14109         (WebKit::DrawingAreaImpl::setRootCompositingLayer):
   14110         (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
   14111         * WebProcess/WebPage/DrawingAreaImpl.h:
   14112         * WebProcess/WebPage/WebPage.cpp:
   14113         (WebKit::WebPage::updatePreferences):
   14114 
   14115 2011-02-16  Yael Aharon  <yael.aharon (a] nokia.com>
   14116 
   14117         Reviewed by Andreas Kling.
   14118 
   14119         [Qt] White screen is displayed when tiled backing store is enabled in MiniBrowser.
   14120         https://bugs.webkit.org/show_bug.cgi?id=54583
   14121 
   14122         Make sure to invalidate all the tiles, including the last one.
   14123 
   14124         * UIProcess/TiledDrawingAreaProxy.cpp:
   14125         (WebKit::TiledDrawingAreaProxy::invalidate):
   14126 
   14127 2011-02-16  Yael Aharon  <yael.aharon (a] nokia.com>
   14128 
   14129         Reviewed by Andreas Kling.
   14130 
   14131         [Qt] Tiles are not created for webkit2 after r77286.
   14132         https://bugs.webkit.org/show_bug.cgi?id=54577
   14133 
   14134         When using the default tile size of 1024x1024, only one tile is created.
   14135         Make sure to create this tile by undoing what seems to be a typo in r77286.
   14136 
   14137         * UIProcess/TiledDrawingAreaProxy.cpp:
   14138         (WebKit::TiledDrawingAreaProxy::paint):
   14139         (WebKit::TiledDrawingAreaProxy::createTiles):
   14140 
   14141 == Rolled over to ChangeLog-2011-02-16 ==
   14142