summaryrefslogtreecommitdiffstats
path: root/Source/WebKit2/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/ChangeLog')
-rw-r--r--Source/WebKit2/ChangeLog5069
1 files changed, 5068 insertions, 1 deletions
diff --git a/Source/WebKit2/ChangeLog b/Source/WebKit2/ChangeLog
index bacf704..fa45768 100644
--- a/Source/WebKit2/ChangeLog
+++ b/Source/WebKit2/ChangeLog
@@ -1,3 +1,5070 @@
+2011-04-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ UI process thinks the page is unresponsive when a plug-in is showing a context menu
+ https://bugs.webkit.org/show_bug.cgi?id=58943
+ <rdar://problem/9299901>
+
+ Change the HandleMouseEvent message to have a delayed reply and make the PluginControllerProxy
+ respond to it immediately, before even passing the event to the plug-in. Since it doesn't matter
+ for mouse events whether the plug-in handled them or not we can do this.
+
+ Another solution could have been to make handleMouseEvent an asynchronous message, but that could
+ mess up the message ordering so this seemed like the least intrusive change.
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::handleMouseEvent):
+ * PluginProcess/PluginControllerProxy.h:
+ * PluginProcess/PluginControllerProxy.messages.in:
+
+2011-04-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Terminate hung plug-in processes after 45 seconds
+ https://bugs.webkit.org/show_bug.cgi?id=58932
+ <rdar://problem/8083219>
+
+ * UIProcess/Plugins/PluginProcessManager.cpp:
+ (WebKit::PluginProcessManager::pluginSyncMessageSendTimedOut):
+ Find the plug-in process proxy and terminate it.
+
+ (WebKit::PluginProcessManager::pluginProcessWithPath):
+ Add new helper function.
+
+ (WebKit::PluginProcessManager::getOrCreatePluginProcess):
+ Call pluginProcessWithPath.
+
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ (WebKit::PluginProcessProxy::terminate):
+ Terminate the process.
+
+ * UIProcess/Plugins/PluginProcessProxy.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::pluginSyncMessageSendTimedOut):
+ Call PluginProcessManager::pluginSyncMessageSendTimedOut.
+
+ * UIProcess/WebProcessProxy.h:
+ * UIProcess/WebProcessProxy.messages.in:
+ Add PluginSyncMessageSendTimedOut message.
+
+ * WebProcess/Plugins/PluginProcessConnection.cpp:
+ (WebKit::defaultSyncMessageTimeout):
+ (WebKit::PluginProcessConnection::PluginProcessConnection):
+ Set a sync message timeout on the plug-in process connection.
+
+ (WebKit::PluginProcessConnection::syncMessageSendTimedOut):
+ Send a message to the web process proxy.
+
+2011-04-19 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ WebKit2: Merge SelectionState and TextInputState
+ https://bugs.webkit.org/show_bug.cgi?id=58919
+
+ Combined TextInputState and EditorState in one structure, which is updated whenever we get
+ a chance to. There is no sense to keep possibly stale SelectionState data when we have already
+ requested the most recent data synchronously.
+
+ This also simplifies the code, as we don't need to pass the state around in a separate variable.
+
+ * GNUmakefile.am:
+ * Scripts/webkit2/messages.py:
+ * Shared/EditorState.h: Copied from Source/WebKit2/Shared/SelectionState.h.
+ (WebKit::EditorState::EditorState):
+ * Shared/SelectionState.h: Removed.
+ * Shared/mac/TextInputState.h: Removed.
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::interpretKeyEvent):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView validRequestorForSendType:returnType:]):
+ (-[WKView validateUserInterfaceItem:]):
+ (-[WKView shouldDelayWindowOrderingForEvent:]):
+ (-[WKView doCommandBySelector:]):
+ (-[WKView insertText:replacementRange:]):
+ (-[WKView _handleStyleKeyEquivalent:]):
+ (-[WKView _executeSavedKeypressCommands]):
+ (-[WKView inputContext]):
+ (-[WKView hasMarkedText]):
+ (-[WKView unmarkText]):
+ (-[WKView setMarkedText:selectedRange:replacementRange:]):
+ (-[WKView attributedSubstringForProposedRange:actualRange:]):
+ (-[WKView _interpretKeyEvent:savingCommandsTo:WebCore::]):
+ (-[WKView _updateSecureInputState]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::editorStateChanged):
+ * UIProcess/WebPageProxy.h:
+ (WebKit::WebPageProxy::editorState):
+ (WebKit::WebPageProxy::hasSelectedRange):
+ (WebKit::WebPageProxy::isContentEditable):
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/mac/WebPageProxyMac.mm:
+ (WebKit::WebPageProxy::setComposition):
+ (WebKit::WebPageProxy::confirmComposition):
+ (WebKit::WebPageProxy::insertText):
+ (WebKit::WebPageProxy::executeKeypressCommands):
+ (WebKit::WebPageProxy::writeSelectionToPasteboard):
+ (WebKit::WebPageProxy::readSelectionFromPasteboard):
+ (WebKit::WebPageProxy::interpretQueuedKeyEvent):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::compositionSelectionChanged):
+ (WebKit::WebView::onIMEComposition):
+ (WebKit::WebView::onIMEEndComposition):
+ (WebKit::WebView::onIMERequestCharPosition):
+ (WebKit::WebView::onIMERequest):
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::respondToChangedSelection):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::editorState):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::handleEditingKeyboardEvent):
+ (WebKit::WebPage::setComposition):
+ (WebKit::WebPage::confirmComposition):
+ (WebKit::WebPage::insertText):
+ (WebKit::WebPage::executeKeypressCommands):
+ * win/WebKit2.vcproj:
+
+2011-04-19 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Timothy Hatcher.
+
+ 100% reproducible crash when right-clicking any element in Web Inspector on any page
+ https://bugs.webkit.org/show_bug.cgi?id=58822
+
+ Web Inspector changes selection from JavaScript, and checks in UI process are insufficient
+ when selection is changing asynchronously.
+
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::writeSelectionToPasteboard): Check that there is a selection, matching WK1
+ and UI process side. Perhaps the check should really be in WebCore, but for now, it's a
+ WebKit responsibility.
+ (WebKit::WebPage::readSelectionFromPasteboard): Same check, for no other reason but consistency.
+
+2011-04-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add syncMessageSendTimedOut CoreIPC Connection::Client member function
+ https://bugs.webkit.org/show_bug.cgi?id=58928
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::waitForSyncReply):
+ Call syncMessageSendTimedOut.
+
+ * Platform/CoreIPC/Connection.h:
+ Add syncMessageSendTimedOut to Connection::Client.
+
+ * PluginProcess/PluginProcess.cpp:
+ * PluginProcess/PluginProcess.h:
+ * PluginProcess/WebProcessConnection.cpp:
+ * PluginProcess/WebProcessConnection.h:
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ * UIProcess/Plugins/PluginProcessProxy.h:
+ * UIProcess/WebProcessProxy.cpp:
+ * UIProcess/WebProcessProxy.h:
+ * WebProcess/Plugins/PluginProcessConnection.cpp:
+ * WebProcess/Plugins/PluginProcessConnection.h:
+ * WebProcess/WebProcess.cpp:
+ * WebProcess/WebProcess.h:
+ Add syncMessageSendTimedOut stubs.
+
+2011-04-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Replace the didFailToSendSyncMessage Connection::Client function with a flag
+ https://bugs.webkit.org/show_bug.cgi?id=58923
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::Connection):
+ Initialize m_shouldExitOnSyncMessageSendFailure to false.
+
+ (CoreIPC::Connection::setShouldExitOnSyncMessageSendFailure):
+ Set m_didCloseOnConnectionWorkQueueCallback.
+
+ (CoreIPC::Connection::sendSyncMessage):
+ Call didFailToSendSyncMessage if we fail to send the sync message for some reason.
+
+ (CoreIPC::Connection::didFailToSendSyncMessage):
+ if m_shouldExitOnSyncMessageSendFailure is true, exit.
+
+ * Platform/CoreIPC/Connection.h:
+ Remove didFailToSendSyncMessage from Connection::Client.
+
+ * PluginProcess/PluginProcess.cpp:
+ * PluginProcess/PluginProcess.h:
+ Remove didFailToSendSyncMessage.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initialize):
+ * WebProcess/WebProcess.h:
+ Remove didFailToSendSyncMessage. Call setShouldExitOnSyncMessageSendFailure on our
+ UI process connection.
+
+2011-04-19 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add a way to set the default sync message timeout for a CoreIPC connection
+ https://bugs.webkit.org/show_bug.cgi?id=58908
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::Connection):
+ Initialize m_defaultSyncMessageTimeout.
+
+ (CoreIPC::Connection::setDefaultSyncMessageTimeout):
+ Set the m_defaultSyncMessageTimeout member variable.
+
+ (CoreIPC::Connection::waitForSyncReply):
+ Handle the timeout being one of our two special magic values.
+
+ * Platform/CoreIPC/Connection.h:
+ Add a DefaultTimeout constant and change the NoTimeout constant to be -1.
+
+2011-04-19 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Reviewed by Pavel Feldman.
+
+ Web Inspector: Rename lengthReceived to encodedDataLength/dataLength
+ https://bugs.webkit.org/show_bug.cgi?id=58883
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveContentLength):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+
+2011-04-19 Andreas Kling <andreas.kling@nokia.com>
+
+ Reviewed by Antonio Gomes.
+
+ WebKit2: Typo fix in WebPopupMenu::Type.
+ https://bugs.webkit.org/show_bug.cgi?id=58891
+
+ Fixed a typo, Seperator -> Separator.
+ Also removed m_ prefix on an argument variable name.
+
+ * Shared/WebPopupItem.h:
+ * UIProcess/mac/WebPopupMenuProxyMac.mm:
+ (WebKit::WebPopupMenuProxyMac::populate):
+ * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
+ (WebKit::WebPopupMenu::populateItems):
+
+2011-04-19 Jon Honeycutt <jhoneycutt@apple.com>
+
+ WKContextDownloadURLRequest() should return a WKDownloadRef
+ https://bugs.webkit.org/show_bug.cgi?id=58867
+ Part of <rdar://problem/8931717>
+
+ Reviewed by Steve Falkenburg.
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextDownloadURLRequest):
+ Return the result of calling WebContext::download().
+
+ * UIProcess/API/C/WKContext.h:
+ Updated return type of WKContextDownloadURLRequest().
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::download):
+ Return the DownloadProxy returned by createDownloadProxy().
+ (WebKit::WebContext::createDownloadProxy):
+ Return the DownloadProxy.
+
+ * UIProcess/WebContext.h:
+ Changed return type of download() and createDownloadProxy().
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::receivedPolicyDecision):
+ Call the DownloadProxy's downloadID() function to get the ID.
+
+2011-04-18 Jia Pu <jpu@apple.com>
+
+ Reviewed by Mark Rowe.
+
+ WebKit needs to stop importing <AppKit/NSTextChecker.h>
+ https://bugs.webkit.org/show_bug.cgi?id=58798
+ <rdar://problem/9294938>
+
+ Use public header <AppKit/NSSpellChecker.h> instead.
+
+ * UIProcess/mac/CorrectionPanel.h:
+ * UIProcess/mac/CorrectionPanel.mm:
+ (correctionIndicatorType):
+ (WebKit::CorrectionPanel::show):
+ (WebKit::CorrectionPanel::dismissInternal):
+ (WebKit::CorrectionPanel::handleAcceptedReplacement):
+ * UIProcess/mac/TextCheckerMac.mm:
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+
+2011-04-05 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebKit2: WKTR should support WebKit2 full screen APIs
+ https://bugs.webkit.org/show_bug.cgi?id=56318
+
+ Add a new WKBundlePage API for Full Screen events, and move some of the implementation
+ of WebFullScreenManager into the new InjectedBundlePageFullScreenClient class, so that
+ the default behavior can be overridden by a WKBundlePageFullScreenClient.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/FullScreen/WebFullScreenManager.cpp:
+ (WebKit::WebFullScreenManager::supportsFullScreen): Moved contents into InjectedBundlePageFullScreenClient.
+ (WebKit::WebFullScreenManager::enterFullScreenForElement): Ditto.
+ (WebKit::WebFullScreenManager::exitFullScreenForElement): Ditto.
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageSetFullScreenClient): Added.
+ (WKBundlePageWillEnterFullScreenForElement): Added.
+ (WKBundlePageDidEnterFullScreenForElement): Added.
+ (WKBundlePageWillExitFullScreenForElement): Added.
+ (WKBundlePageDidExitFullScreenForElement): Added.
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
+ * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.cpp: Added.
+ (WebKit::InjectedBundlePageFullScreenClient::supportsFullScreen): Added.
+ (WebKit::InjectedBundlePageFullScreenClient::enterFullScreenForElement): Added.
+ (WebKit::InjectedBundlePageFullScreenClient::exitFullScreenForElement): Added.
+ * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h: Added.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::initializeInjectedBundleFullScreenClient): Added.
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::injectedBundleFullScreenClient): Added.
+
+2011-04-18 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ Re-add a null check lost in r83081
+ https://bugs.webkit.org/show_bug.cgi?id=58846
+
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::getSelectedRange):
+
+2011-04-18 Andreas Kling <kling@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt][WK2] Clean up tool-tip/status-bar confusion.
+ https://bugs.webkit.org/show_bug.cgi?id=58844
+
+ Tool-tips were incorrectly hooked up to the status bar text.
+ Chrome::setStatusbarText() now correctly causes the QWKPage::statusBarMessage() signal.
+
+ New API:
+ - QWKPage::toolTipChanged(const QString& toolTip) [signal]
+
+ QGraphicsWKView will automatically listen for this and set its own toolTip().
+
+ * UIProcess/API/qt/ClientImpl.cpp:
+ (qt_wk_setStatusText):
+ * UIProcess/API/qt/ClientImpl.h:
+ * UIProcess/API/qt/qgraphicswkview.cpp:
+ (QGraphicsWKView::QGraphicsWKView):
+ (QGraphicsWKViewPrivate::onToolTipChanged):
+ * UIProcess/API/qt/qgraphicswkview.h:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::toolTipChanged):
+ (QWKPage::QWKPage):
+ * UIProcess/API/qt/qwkpage.h:
+
+2011-04-18 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ sandbox violation for ~/Library/Dictionaries
+ https://bugs.webkit.org/show_bug.cgi?id=58841
+ <rdar://problem/9294770>
+
+ * WebProcess/com.apple.WebProcess.sb: Add to sandbox profile.
+ No obvious harm from allowing this, though it's not 100% clear
+ why it's needed.
+
+2011-04-18 Anders Carlsson <andersca@apple.com>
+
+ Try to fix the Windows build.
+
+ * Scripts/webkit2/messages.py:
+
+2011-04-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Get rid of WebProcessProxyLegacyMessage
+ https://bugs.webkit.org/show_bug.cgi?id=58825
+
+ * GNUmakefile.am:
+ * Platform/CoreIPC/MessageID.h:
+ * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h: Removed.
+ * UIProcess/WebProcessProxy.cpp:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ * WebProcess/WebPage/WebPage.cpp:
+ * win/WebKit2.vcproj:
+
+2011-04-18 Anders Carlsson <andersca@apple.com>
+
+ Fix build.
+
+ * UIProcess/Plugins/PluginInfoStore.h:
+
+2011-04-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Use the message generator for the GetPluginProcessConnection message
+ https://bugs.webkit.org/show_bug.cgi?id=58815
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::callMemberFunction):
+ (CoreIPC::handleMessageDelayed):
+ Add helper functions.
+
+ * UIProcess/Plugins/PluginInfoStore.h:
+ Mark class noncopyable.
+
+ * UIProcess/Plugins/PluginProcessManager.cpp:
+ (WebKit::PluginProcessManager::getPluginProcessConnection):
+ This now takes a delayed reply.
+
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ (WebKit::PluginProcessProxy::getPluginProcessConnection):
+ This now takes a delayed reply.
+
+ (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
+ (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
+ Call DelayedReply::send.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::getPluginProcessConnection):
+ This now takes a delayed reply.
+
+ (WebKit::WebProcessProxy::didReceiveSyncMessage):
+ No need to handle this message here.
+
+ * UIProcess/WebProcessProxy.messages.in:
+ Add GetPluginProcessConnection message.
+
+ * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
+ (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
+ Don't use deprecatedSendSync.
+
+2011-04-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Finish implementing delayed sync replies in the CoreIPC message generator
+ https://bugs.webkit.org/show_bug.cgi?id=58814
+
+ Put the DelayedReply function definitions in the .cpp file and fix bugs found by
+ actually trying to compile the generated files.
+
+ * Scripts/webkit2/messages.py:
+ * Scripts/webkit2/messages_unittest.py:
+
+2011-04-18 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Reproducible crash in Find on Page, on pages that use accelerated compositing
+ https://bugs.webkit.org/show_bug.cgi?id=58793
+ <rdar://problem/9295870>
+
+ Move the call to PageOverlay::setNeedsDisplay() back to WebPage::installPageOverlay;
+ it needs to be called after we've told the drawing area that a page overlay has been installed.
+
+ * WebProcess/WebPage/PageOverlay.cpp:
+ (WebKit::PageOverlay::setPage):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::installPageOverlay):
+
+2011-04-18 Jeff Miller <jeffm@apple.com>
+
+ Reviewed by Timothy Hatcher.
+
+ WKFrameLoadState should be a uint32_t to match our API conventions
+ https://bugs.webkit.org/show_bug.cgi?id=58785
+
+ * UIProcess/API/C/WKFrame.h: typedef WKFrameLoadState as a uint32_t and define its values as an anonymous enum.
+
+2011-04-18 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ Unreviewed. Fix WebKit2 GTK build after 84017.
+
+ * GNUmakefile.am:
+ * Shared/NativeWebMouseEvent.h:
+ (WebKit::NativeWebMouseEvent::nativeEvent):
+ * Shared/gtk/NativeWebMouseEventGtk.cpp: Copied from Source/WebKit2/Shared/NativeWebMouseEvent.h.
+ (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
+ * UIProcess/gtk/WebView.cpp:
+ (WebKit::WebView::handleMouseEvent):
+
+2011-04-17 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/58463> Switch HTTP pipelining from user default to private setting
+ <rdar://problem/9268729>
+
+ Reviewed by Dan Bernstein.
+
+ This replaces support for the WebKitEnableHTTPPipelining user
+ default with methods on the WebCore::ResourceRequest class in
+ WebCore, the WebView class in WebKit1, and the WebContext class
+ in WebKit2. It also removes support for the
+ WebKitForceHTTPPipeliningPriorityHigh user default which was not
+ needed.
+
+ * UIProcess/API/C/WKContext.cpp:
+ (_WKContextSetHTTPPipeliningEnabled): Added.
+ * UIProcess/API/C/WKContextPrivate.h:
+ (_WKContextSetHTTPPipeliningEnabled): Added declaration.
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::setHTTPPipeliningEnabled): Added.
+ (WebKit::WebContext::httpPipeliningEnabled): Added.
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::setHTTPPipeliningEnabled): Added declaration.
+ (WebKit::WebContext::httpPipeliningEnabled): Added declaration.
+
+2011-04-17 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Geoffrey Garen.
+
+ Make more strings in WebKit2 localizable
+ https://bugs.webkit.org/show_bug.cgi?id=58757
+
+ * UIProcess/API/mac/PDFViewController.mm:
+ (-[WKPDFView menuForEvent:]):
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::setViewportArguments):
+ (WebKit::PageClientImpl::registerEditCommand):
+ * UIProcess/WebEditCommandProxy.cpp:
+ (WebKit::WebEditCommandProxy::nameForEditAction):
+ * UIProcess/WebEditCommandProxy.h:
+ Use WebCore's localization macro to make more strings localizable.
+
+2011-04-17 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Rename PLATFORM(CA) to USE(CA)
+ https://bugs.webkit.org/show_bug.cgi?id=58742
+
+ * WebProcess/WebPage/LayerTreeHost.cpp:
+ * WebProcess/WebPage/win/LayerTreeHostWin.cpp:
+ (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
+
+2011-04-17 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by Adam Barth.
+
+ Rename PLATFORM(CG) to USE(CG)
+ https://bugs.webkit.org/show_bug.cgi?id=58729
+
+ * Shared/ShareableBitmap.h:
+ * Shared/WebCoreArgumentCoders.cpp:
+ * Shared/WebCoreArgumentCoders.h:
+ * Shared/WebGraphicsContext.cpp:
+ (WebKit::WebGraphicsContext::WebGraphicsContext):
+ * Shared/WebGraphicsContext.h:
+ * Shared/win/PlatformCertificateInfo.cpp:
+ (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::setFindIndicator):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::drawRectToPDF):
+ (WebKit::WebPage::drawPagesToPDF):
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::WebPage::platformPreferencesDidChange):
+ * config.h:
+
+2011-04-16 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Crash when NPP_Write returns -1 when writing the manual stream
+ https://bugs.webkit.org/show_bug.cgi?id=58735
+ <rdar://problem/9124993>
+
+ If NPP_Write returns -1 we must cancel the stream.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
+ (WebKit::NetscapePluginStream::deliverDataToPlugin):
+
+2011-04-16 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Simon Fraser.
+
+ Pages in the PageCache don't have the correct visited link coloring after being restored
+ https://bugs.webkit.org/show_bug.cgi?id=58721
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::visitedLinkStateChanged):
+ (WebKit::WebProcess::allVisitedLinkStateChanged):
+ Mark all pages in the page cache as needing visited link style recalc
+ whenever visited link information changes.
+
+2011-04-15 Daniel Bates <dbates@webkit.org>
+
+ Attempt to fix the Qt Linux Release build after changeset 84064 <http://trac.webkit.org/changeset/84064>
+ (https://bugs.webkit.org/show_bug.cgi?id=58686).
+
+ * UIProcess/API/qt/qwkpage_p.h: Remove takeFocus().
+
+2011-04-15 Shishir Agrawal <shishir@chromium.org>
+
+ Reviewed by James Robinson.
+
+ Add a flag to guard Page Visibility API changes.
+ https://bugs.webkit.org/show_bug.cgi?id=58464
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2011-04-15 Jeff Miller <jeffm@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add takeFocus callback to WKPageUIClient
+ https://bugs.webkit.org/show_bug.cgi?id=58686
+
+ On Windows, we need to handle moving focus out of the web view in the client, so add a takeFocus callback to WKPageUIClient
+ and stop handling taking focus in the framework in WKView.mm on the Mac.
+
+ * UIProcess/API/C/WKPage.h: Added WKFocusDirection enum and takeFocus to WKPageUIClient.
+ * UIProcess/API/mac/PageClientImpl.h: Removed takeFocus().
+ * UIProcess/API/mac/PageClientImpl.mm: Removed takeFocus().
+ * UIProcess/API/mac/WKView.mm: Removed _takeFocus().
+ * UIProcess/API/mac/WKViewInternal.h: Removed _takeFocus().
+ * UIProcess/API/qt/ClientImpl.cpp:
+ (qt_wk_takeFocus): Added.
+ * UIProcess/API/qt/ClientImpl.h: Added qt_wk_takeFocus.
+ * UIProcess/API/qt/qwkpage.cpp: Remove takeFocus().
+ (QWKPage::QWKPage): Added takeFocus() callback.
+ * UIProcess/PageClient.h: Removed takeFocus().
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::takeFocus): Call m_uiClient to take focus.
+ * UIProcess/WebPageProxy.h: Pass FocusDirection as a uint32_t to takeFocus().
+ * UIProcess/WebPageProxy.messages.in: Pass FocusDirection as a uint32_t in TakeFocus message.
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::takeFocus): Added.
+ * UIProcess/WebUIClient.h: Added takeFocus().
+ * UIProcess/win/WebView.cpp: Removed takeFocus(), which was never implemented on Windows.
+ * UIProcess/win/WebView.h: Removed takeFocus().
+ * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+ (WebKit::WebChromeClient::takeFocus): Pass FocusDirection as a uint32_t in TakeFocus message.
+
+2011-04-15 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebKit2: Stop using deprecated NSInputManager
+ https://bugs.webkit.org/show_bug.cgi?id=58709
+
+ Changed all mouse related functions to give NSInputContext a chance to handle the event,
+ added logging. Removed -rightMouseMoved: method, which was added by accident.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView mouseMoved:]):
+ (-[WKView mouseDown:]):
+ (-[WKView mouseUp:]):
+ (-[WKView mouseDragged:]):
+
+2011-04-15 Jon Honeycutt <jhoneycutt@apple.com>
+
+ Potential crash getting a JS wrapper.
+
+ <rdar://problem/8988741>
+
+ Reviewed by Brian Weinstein.
+
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::jsWrapperForWorld):
+ Ensure that we have a valid m_coreFrame, because it can be cleared by
+ invalidate().
+
+2011-04-08 Luiz Agostini <luiz.agostini@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] QWebPage MIME type handling inconsistency with other web browsers
+ https://bugs.webkit.org/show_bug.cgi?id=46968
+
+ Implementing mime type sniffing based on
+ http://tools.ietf.org/html/draft-abarth-mime-sniff-06.
+
+ * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
+ (WebCore::WebFrameNetworkingContext::WebFrameNetworkingContext):
+ (WebCore::WebFrameNetworkingContext::MIMESniffingEnabled):
+ * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h:
+
+2011-04-15 Oliver Hunt <oliver@apple.com>
+
+ GC allocate Structure
+ https://bugs.webkit.org/show_bug.cgi?id=58483
+
+ Rolling r83894 r83827 r83810 r83809 r83808 back in with
+ a workaround for the gcc bug seen by the gtk bots
+
+ * WebProcess/Plugins/Netscape/JSNPMethod.h:
+ (WebKit::JSNPMethod::createStructure):
+ * WebProcess/Plugins/Netscape/JSNPObject.h:
+ (WebKit::JSNPObject::createStructure):
+
+2011-04-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add API to get the bundle page overlay fade in fraction.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
+ (WKBundlePageOverlayFractionFadedIn):
+ * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
+
+2011-04-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Fade the find page overlay
+ https://bugs.webkit.org/show_bug.cgi?id=58697
+
+ * WebProcess/WebPage/FindController.cpp:
+ Make the color components floats.
+
+ (WebKit::overlayBackgroundColor):
+ (WebKit::holeShadowColor):
+ (WebKit::holeFillColor):
+ Add helper functions for returning the colors given the fraction faded in.
+
+ (WebKit::FindController::drawRect):
+ Use the new helper functions.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::installPageOverlay):
+ Start the fade animation unless we're replacing an already existing page overlay
+ with another.
+
+2011-04-15 Anders Carlsson <andersca@apple.com>
+
+ Fix Windows build.
+
+ * WebProcess/WebPage/PageOverlay.cpp:
+ (WebKit::PageOverlay::fadeAnimationTimerFired):
+
+2011-04-15 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add the ability for PageOverlays to fade in and out
+ https://bugs.webkit.org/show_bug.cgi?id=58694
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageUninstallPageOverlay):
+ WebPage::uninstallPageOverlay now takes a boolean. Default to false for now.
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::findString):
+ Pass false to uninstallPageOverlay.
+
+ (WebKit::FindController::hideFindUI):
+ Pass true to uninstallPageOverlay.
+
+ * WebProcess/WebPage/PageOverlay.cpp:
+ (WebKit::PageOverlay::PageOverlay):
+ Initialize new member variables.
+
+ (WebKit::PageOverlay::bounds):
+ Get rid of an unnecessary webPage() getter.
+
+ (WebKit::PageOverlay::setPage):
+ Stop the animation timer.
+
+ (WebKit::PageOverlay::startFadeInAnimation):
+ Update m_fractionFadedIn and call startFadeAnimation.
+
+ (WebKit::PageOverlay::startFadeOutAnimation):
+ Ditto.
+
+ (WebKit::PageOverlay::startFadeAnimation):
+ Initialize m_fadeAnimationStartTime and start the fade animation timer.
+
+ (WebKit::PageOverlay::fadeAnimationTimerFired):
+ Update m_fractionFadedIn and call setNeedsDisplay().
+
+ * WebProcess/WebPage/PageOverlay.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::uninstallPageOverlay):
+ If fadeOut is true, tell the page overlay to start the fade out animation.
+ When the fade animation is complete, the page overlay will uninstall itself.
+
+2011-04-15 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Views should be made visible before painting in WM_PRINTCLIENT messages
+ https://bugs.webkit.org/show_bug.cgi?id=58676
+ <rdar://problem/9279211>
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::onPrintClientEvent): If our view isn't currently visible set it to visible
+ before painting, then reset it back to not visible after painting.
+ (WebKit::WebView::onShowWindowEvent): Call setIsVisible instead of duplicating logic.
+ (WebKit::WebView::setIsVisible): Set the m_isVisible flag and call viewStateDidChange.
+ * UIProcess/win/WebView.h:
+
+2011-04-15 Jon Lee <jonlee@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ onClick does not function with <select> elements in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=57904
+ <rdar://problem/9217757>
+
+ Reviewed by Anders Carlsson.
+
+ * Shared/NativeWebMouseEvent.h: Copied from Source/WebKit2/UIProcess/WebPopupMenuProxy.h.
+ (WebKit::NativeWebMouseEvent::nativeEvent):
+ * Shared/mac/NativeWebMouseEventMac.mm: Added.
+ (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
+ * Shared/qt/NativeWebMouseEventQt.cpp: Copied from Source/WebKit2/UIProcess/WebPopupMenuProxy.h.
+ (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
+ * Shared/win/NativeWebMouseEventWin.cpp: Copied from Source/WebKit2/UIProcess/WebPopupMenuProxy.h.
+ (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView mouseMoved:]):
+ (-[WKView _mouseHandler:]): Pre-compiler mouse handler calls need to use the new NativeWebMouseEvent class
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::mouseMoveEvent):
+ (QWKPagePrivate::mousePressEvent):
+ (QWKPagePrivate::mouseReleaseEvent):
+ (QWKPagePrivate::mouseDoubleClickEvent):
+ * UIProcess/WebPageProxy.cpp:
+ (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
+ (WebKit::WebPageProxy::currentMouseDownEvent): for access by the popup menu proxy to dispatch the fake mouse up event
+ (WebKit::WebPageProxy::didReceiveEvent): clear out the cached mouse down event
+ (WebKit::WebPageProxy::processDidCrash): clear out the cached events since we assume that didReceiveEvent did not called prior to the crash
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPopupMenuProxy.h:
+ * UIProcess/mac/WebPopupMenuProxyMac.mm:
+ (WebKit::WebPopupMenuProxyMac::showPopupMenu): after notifying the popup menu client that the value changed, fake mouse up and mouse move events are posted
+ * UIProcess/win/WebPopupMenuProxyWin.cpp:
+ (WebKit::WebPopupMenuProxyWin::showPopupMenu): after notifying the popup menu client that the value changed, fake mouse up and mouse move events are posted
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::onMouseEvent):
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+2011-04-15 Alexey Proskuryakov <ap@apple.com>
+
+ Qt build fix.
+
+ * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::selectionStateChanged): Wrap the variable
+ in PLATFORM(MAC), too, as it's unused on other platforms.
+
+2011-04-15 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ <rdar://problem/9287880> and https://bugs.webkit.org/show_bug.cgi?id=58596
+ WK2: Past searches not remembered for <input type=search results="5" autosave="foo">
+
+ Add SaveRecentSearches and LoadRecentSearches messages:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/WebPageProxy.h:
+
+ Message up to the UIProcess for the save/load operations:
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
+ (WebKit::WebSearchPopupMenu::saveRecentSearches):
+ (WebKit::WebSearchPopupMenu::loadRecentSearches):
+ * WebProcess/WebCoreSupport/WebPopupMenu.h:
+ (WebKit::WebPopupMenu::page):
+
+ Save the values to disk CFPreference-style:
+ * UIProcess/cf/WebPageProxyCF.cpp:
+ (WebKit::autosaveKey):
+ (WebKit::WebPageProxy::saveRecentSearches):
+ (WebKit::WebPageProxy::loadRecentSearches):
+
+ Stubbed out for non-CF platforms:
+ * UIProcess/gtk/WebPageProxyGtk.cpp:
+ (WebKit::WebPageProxy::saveRecentSearches):
+ (WebKit::WebPageProxy::loadRecentSearches):
+ * UIProcess/qt/WebPageProxyQt.cpp:
+ (WebKit::WebPageProxy::saveRecentSearches):
+ (WebKit::WebPageProxy::loadRecentSearches):
+
+2011-04-14 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ WebKit2: Password field input does not switch to ASCII-compatible source
+ https://bugs.webkit.org/show_bug.cgi?id=58583
+ <rdar://problem/9059651>
+
+ The implementation is more modern than what we have in WK1. Instead of returning a null
+ input context (as in non-editable content), we now set page context's properties.
+
+ * UIProcess/PageClient.h:
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::updateSecureInputState):
+ Forward updateSecureInputState() call from WebPageProxy to WKView.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView dealloc]): ASSERT that we didn't somehow leave secure input events enabled.
+ (-[WKView becomeFirstResponder]): Update secure event mode.
+ (-[WKView resignFirstResponder]): Disable secure event mode.
+ (-[WKView setMarkedText:selectedRange:replacementRange:]): Prevent most advanced editing
+ behaviors in password fields, matching NSSecureTextInputField.
+ (-[WKView attributedSubstringForProposedRange:actualRange:]): Disable TSM Document Access
+ in password fields. There is also a check in web process, but it doest't hurt to check twice.
+ (-[WKView _windowDidBecomeKey:]): Call _updateSecureInputState.
+ (-[WKView _windowDidResignKey:]): Call _updateSecureInputState.
+ (-[WKView _updateSecureInputState]): Update secure event mode and allowed input sources.
+
+ * UIProcess/API/mac/WKViewInternal.h: Added _updateSecureInputState.
+
+ * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::selectionStateChanged): Update secure
+ input state when going in or out a password field.
+
+2011-04-14 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Eric Carlson.
+
+ REGRESSION: Rendering in <video> element appears to render quickly to catch up if it has been playing in a background tab
+ https://bugs.webkit.org/show_bug.cgi?id=58637
+
+ Notify AVFoundation that no one will be rendering when the view or window moves off screen.
+
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::isViewVisible): Return false if the view's window is not visible.
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView addWindowObserversForWindow:]): Observe orderOut and orderIn events.
+ (-[WKView removeWindowObservers]): Ditto.
+ (-[WKView _windowDidOrderOffScreen:]): Added.
+ (-[WKView _windowDidOrderOnScreen:]): Added.
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::suspendPainting): Call LayerTreeHost::pauseRendering.
+ (WebKit::DrawingAreaImpl::resumePainting): Call LayerTreeHost::resumeRendering.
+ * WebProcess/WebPage/LayerTreeHost.h:
+ (WebKit::LayerTreeHost::pauseRendering): Added stub.
+ (WebKit::LayerTreeHost::resumeRendering): Added stub.
+ * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
+ * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
+ (WebKit::LayerTreeHostCAMac::pauseRendering): Added. Post a notification with our
+ intention to stop rendering.
+ (WebKit::LayerTreeHostCAMac::resumeRendering): Added. Post a notification with our
+ intention to start rendering.
+
+2011-04-15 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ WebKit2: Need a way to keep the WebProcess alive for testing purposes.
+ https://bugs.webkit.org/show_bug.cgi?id=58592
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextDisableProcessTermination):
+ (WKContextEnableProcessTermination):
+ * UIProcess/API/C/WKContextPrivate.h:
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext):
+ Initialize m_processTerminationEnabled to true.
+ (WebKit::WebContext::enableProcessTermination):
+ Set m_processTerminationEnabled to true, and try to terminate the web process.
+ (WebKit::WebContext::shouldTerminate):
+ If !m_processTerminationEnabled, return false.
+ * UIProcess/WebContext.h:
+ (WebKit::WebContext::disableProcessTermination):
+ Set m_processTerminationEnabled to false;
+
+2011-04-15 Nancy Piedra <nancy.piedra@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt][Symbian] Need to export ViewportAttributes class
+ https://bugs.webkit.org/show_bug.cgi?id=58651
+
+ On Symbian, if the ViewportAttributes class is not exported we get
+ linking errors.
+
+ Since this is a compilation issue, no new tests added.
+
+ * UIProcess/API/qt/qwkpage.h:
+
+2011-04-15 Anna Cavender <annacc@chromium.org>
+
+ Reviewed by Eric Carlson.
+
+ Renaming TRACK feature define to VIDEO_TRACK
+ https://bugs.webkit.org/show_bug.cgi?id=53556
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2011-04-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Select All context menu item doesn't work in Flash
+ https://bugs.webkit.org/show_bug.cgi?id=58615
+ <rdar://problem/9225761>
+
+ In some cases, -[NSWindow isKeyWindow] will return false even if
+ a window is the key window, so we have to compare our window
+ against -[NSApplication keyWindow].
+
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::isViewWindowActive):
+
+2011-04-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Add CFPreference based backend for WebKit2 preferences
+ https://bugs.webkit.org/show_bug.cgi?id=58605
+
+ * UIProcess/cf/WebPreferencesCF.cpp:
+ (WebKit::cfStringFromWebCoreString):
+ (WebKit::makeKey):
+ (WebKit::setStringValueIfInUserDefaults):
+ (WebKit::setBoolValueIfInUserDefaults):
+ (WebKit::setUInt32ValueIfInUserDefaults):
+ (WebKit::setDoubleValueIfInUserDefaults):
+ (WebKit::WebPreferences::platformInitializeStore):
+ (WebKit::WebPreferences::platformUpdateStringValueForKey):
+ (WebKit::WebPreferences::platformUpdateBoolValueForKey):
+ (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
+ (WebKit::WebPreferences::platformUpdateDoubleValueForKey):
+ Implement platform functions using CFPreferences API.
+
+2011-04-14 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ <rdar://problem/8665102> and https://bugs.webkit.org/show_bug.cgi?id=58595
+ Menu is not displayed for <input type=search results="5">
+
+ * WebProcess/WebCoreSupport/WebSearchPopupMenu.cpp:
+ (WebKit::WebSearchPopupMenu::enabled): Return true, like all good search popup menus should.
+
+ * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm:
+ (WebKit::WebPopupMenu::setUpPlatformData): Remember the shouldPopOver-ness.
+
+ * Shared/PlatformPopupMenuData.cpp:
+ (WebKit::PlatformPopupMenuData::encode): Remember the shouldPopOver-ness.
+ (WebKit::PlatformPopupMenuData::decode): Remember the shouldPopOver-ness.
+ * Shared/PlatformPopupMenuData.h:
+
+ * UIProcess/mac/WebPopupMenuProxyMac.mm:
+ (WebKit::WebPopupMenuProxyMac::showPopupMenu): Use the shouldPopOver-ness to adjust display position.
+
+2011-04-14 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Crash in NetscapePluginModule::tryGetSitesWithData when NPP_GetSitesWithData returns null
+ https://bugs.webkit.org/show_bug.cgi?id=58578
+ <rdar://problem/9275201>
+
+ It's OK for NPP_GetSitesWithData to return null.
+
+ * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
+ (WebKit::NetscapePluginModule::tryGetSitesWithData):
+
+2011-04-14 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Make creating WebPreferences lazy
+ https://bugs.webkit.org/show_bug.cgi?id=58570
+
+ * UIProcess/WebPageGroup.cpp:
+ (WebKit::WebPageGroup::WebPageGroup):
+ (WebKit::WebPageGroup::~WebPageGroup):
+ (WebKit::WebPageGroup::setPreferences):
+ (WebKit::WebPageGroup::preferences):
+ * UIProcess/WebPageGroup.h:
+ Don't create the WebPreference object until it is requested.
+
+2011-04-14 Pratik Solanki <psolanki@apple.com>
+
+ Reviewed by David Kilzer.
+
+ Set minimum priority for fast lane connections
+ https://bugs.webkit.org/show_bug.cgi?id=58353
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface): Support for new WKSI method WKSetHTTPPipeliningMinimumFastLanePriority.
+
+2011-04-14 Anders Carlsson <andersca@apple.com>
+
+ Clang warning fixes.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/mac/TextCheckerMac.mm:
+ * WebProcess/Downloads/mac/DownloadMac.mm:
+
+2011-04-14 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Timothy Hatcher.
+
+ WebKit2: Add an option for a PageGroup to be invisible to the History Client.
+ https://bugs.webkit.org/show_bug.cgi?id=58547
+
+ * Shared/WebPageGroupData.cpp:
+ (WebKit::WebPageGroupData::encode):
+ (WebKit::WebPageGroupData::decode):
+ * Shared/WebPageGroupData.h:
+
+ * UIProcess/WebInspectorProxy.cpp:
+ (WebKit::WebInspectorProxy::inspectorPageGroup):
+ The Web Inspector should not be visible to the History Client, because its HTML-based nature
+ should not be exposed through the API.
+
+ * UIProcess/WebPageGroup.cpp:
+ (WebKit::WebPageGroup::create):
+ (WebKit::WebPageGroup::WebPageGroup):
+ * UIProcess/WebPageGroup.h:
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::updateGlobalHistory):
+ Do not send the message to the WebContent for the history client.
+ (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
+ Ditto.
+ (WebKit::WebFrameLoaderClient::setTitle):
+ Ditto.
+
+ * WebProcess/WebPage/WebPageGroupProxy.h:
+ (WebKit::WebPageGroupProxy::isVisibleToHistoryClient):
+
+2011-04-14 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt][WK2] Make Qt port compiling with ENABLE_PLUGIN_PROCESS=1
+ https://bugs.webkit.org/show_bug.cgi?id=55719
+
+ Guard functionality related to complex text and implementations
+ that rely on MachPort with PLATFORM(MAC).
+ Based on Oleg Romashin's patch.
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ * PluginProcess/PluginControllerProxy.messages.in:
+ * PluginProcess/PluginProcess.cpp:
+ (WebKit::PluginProcess::createWebProcessConnection):
+ * PluginProcess/WebProcessConnection.cpp:
+ (WebKit::WebProcessConnection::createPlugin):
+ * Shared/Plugins/PluginProcessCreationParameters.cpp:
+ (WebKit::PluginProcessCreationParameters::decode): Fix bad C++ that
+ does not compile with gcc-linux.
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
+ (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
+ * UIProcess/Plugins/PluginProcessProxy.h:
+ * UIProcess/Plugins/PluginProcessProxy.messages.in:
+ * WebKit2.pro: Move implementation that does not need external
+ visibility from WebKit2API.pri. Adding the headers as well.
+ * WebKit2API.pri:
+ * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
+ (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
+ * WebProcess/WebPage/WebPage.cpp:
+
+2011-04-13 James Robinson <jamesr@chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ Allow setting composited backing stores for scrollbars and scroll corners
+ https://bugs.webkit.org/show_bug.cgi?id=57202
+
+ Update WebPopupMenuProxyWin to reflect ScrollableArea interface changes.
+
+ * UIProcess/win/WebPopupMenuProxyWin.h:
+ (WebKit::WebPopupMenuProxyWin::invalidateScrollCornerRect):
+ (WebKit::WebPopupMenuProxyWin::scrollCornerPresent):
+ (WebKit::WebPopupMenuProxyWin::scrollCornerRect):
+
+2011-04-13 Jon Lee <jonlee@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ REGRESSION(r81880): Paste menu is disabled for many edit fields (yahoo and google search, yahoo mail msg, forms, etc)
+ https://bugs.webkit.org/show_bug.cgi?id=58284
+ <rdar://problem/9246149>
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::setFocused): Check for whether we are not supposed to be focused AND whether our platform behavior dictates to clear out the selection
+
+2011-04-13 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Fixed a bug where WKView changed the cursor when the mouse was moving over other views.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView mouseMoved:]): If getting this message because this view is the first responder,
+ ignore it unless it is inside the visible rect.
+
+2011-04-13 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Should not rely on WKEditableLinkBehavior being in synch
+ with WebCore::EditableLinkBehavior.
+ https://bugs.webkit.org/show_bug.cgi?id=58473
+
+ Adding conversion routines.
+
+ * UIProcess/API/C/WKAPICast.h:
+ (WebKit::toAPI):
+ (WebKit::toEditableLinkBehavior):
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetEditableLinkBehavior):
+ (WKPreferencesGetEditableLinkBehavior):
+
+2011-04-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ After closing the last window, re-opening my last visited website is over 2X slower
+ https://bugs.webkit.org/show_bug.cgi?id=58488
+ <rdar://problem/9233518>
+
+ Give the web process a 60 second termination timeout.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::WebProcess):
+
+2011-04-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Convert WebProcess over to using disableTermination/enableTermination
+ https://bugs.webkit.org/show_bug.cgi?id=58485
+
+ * PluginProcess/PluginProcess.cpp:
+ (WebKit::PluginProcess::getSitesWithData):
+ (WebKit::PluginProcess::clearSiteData):
+ Use the LocalTerminationDisabler RAII class.
+
+ * Shared/ChildProcess.h:
+ (WebKit::ChildProcess::LocalTerminationDisabler::LocalTerminationDisabler):
+ (WebKit::ChildProcess::LocalTerminationDisabler::~LocalTerminationDisabler):
+ Add RAII class for calling disableTermination/enableTermination.
+
+ * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
+ (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
+ (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
+ (WebKit::WebApplicationCacheManager::deleteAllEntries):
+ Use the LocalTerminationDisabler RAII class.
+
+ * WebProcess/Cookies/WebCookieManager.cpp:
+ (WebKit::WebCookieManager::getHostnamesWithCookies):
+ (WebKit::WebCookieManager::deleteCookiesForHostname):
+ (WebKit::WebCookieManager::deleteAllCookies):
+ (WebKit::WebCookieManager::startObservingCookieChanges):
+ (WebKit::WebCookieManager::setHTTPCookieAcceptPolicy):
+ (WebKit::WebCookieManager::getHTTPCookieAcceptPolicy):
+ Use the LocalTerminationDisabler RAII class.
+
+ * WebProcess/Downloads/Download.cpp:
+ (WebKit::Download::Download):
+ Call disableTermination().
+
+ (WebKit::Download::~Download):
+ Call enableTermination().
+
+ * WebProcess/Downloads/DownloadManager.cpp:
+ (WebKit::DownloadManager::downloadFinished):
+ Remove call to terminateIfPossible.
+
+ * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
+ (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
+ (WebKit::WebKeyValueStorageManager::deleteEntriesForOrigin):
+ (WebKit::WebKeyValueStorageManager::deleteAllEntries):
+ Use the LocalTerminationDisabler RAII class.
+
+ * WebProcess/MediaCache/WebMediaCacheManager.cpp:
+ (WebKit::WebMediaCacheManager::getHostnamesWithMediaCache):
+ (WebKit::WebMediaCacheManager::clearCacheForHostname):
+ (WebKit::WebMediaCacheManager::clearCacheForAllHostnames):
+ Use the LocalTerminationDisabler RAII class.
+
+ * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
+ (WebKit::WebResourceCacheManager::getCacheOrigins):
+ (WebKit::WebResourceCacheManager::clearCacheForOrigin):
+ (WebKit::WebResourceCacheManager::clearCacheForAllOrigins):
+ Use the LocalTerminationDisabler RAII class.
+
+ * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
+ (WebKit::WebDatabaseManager::getDatabasesByOrigin):
+ (WebKit::WebDatabaseManager::getDatabaseOrigins):
+ (WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin):
+ (WebKit::WebDatabaseManager::deleteDatabasesForOrigin):
+ (WebKit::WebDatabaseManager::deleteAllDatabases):
+ (WebKit::WebDatabaseManager::setQuotaForOrigin):
+ Use the LocalTerminationDisabler RAII class.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::createWebPage):
+ Call disableTermination().
+
+ (WebKit::WebProcess::removeWebPage):
+ Call enableTermination().
+
+ (WebKit::WebProcess::shouldTerminate):
+ Move logic from terminateIfPossible over here.
+
+ (WebKit::WebProcess::terminate):
+ Move logic from terminateIfPossible over here.
+
+ (WebKit::WebProcess::getSitesWithPluginData):
+ (WebKit::WebProcess::clearPluginSiteData):
+ Use the LocalTerminationDisabler RAII class.
+
+ * WebProcess/WebProcess.h:
+ Publically inherit from ChildProcess, LocalTerminationDisabler needs to be accessible
+ from the WebProcess class.
+
+2011-04-13 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Follow-up to: WebKit2 will load two copies of the same plugin, but should not
+ https://bugs.webkit.org/show_bug.cgi?id=49075
+
+ Use pathGetFileName instead of Win32 PathFindFileNameW.
+
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
+ (WebKit::PluginInfoStore::shouldUsePlugin):
+
+2011-04-13 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Gavin Barraclough.
+
+ WebKit2 doesn't keep overlay scrollers shown while scroll gesture held
+ <rdar://problem/9260518>
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface):
+ Initialize new WKSI functions.
+
+2011-04-13 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ WebKit2 will load two copies of the same plugin, but should not
+ https://bugs.webkit.org/show_bug.cgi?id=49075
+ <rdar://problem/8635947>
+
+ * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
+ (WebKit::PluginInfoStore::shouldUsePlugin): Don't use a plug-in if we've already allowed a plug-in with the same filename.
+
+2011-04-13 Timothy Hatcher <timothy@apple.com>
+
+ Hide the dictionary panel when navigating or crashing.
+
+ <rdar://problem/9261202>
+
+ Reviewed by Sam Weinig.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::dismissDictionaryLookupPanel): Added. Call WKHideWordDefinitionWindow.
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didCommitLoadForFrame): Call PageClient::dismissDictionaryLookupPanel.
+ (WebKit::WebPageProxy::processDidCrash): Call dismissCorrectionPanel and PageClient::dismissDictionaryLookupPanel.
+
+2011-04-13 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add support for disabling/enabling termination to ChildProcess
+ https://bugs.webkit.org/show_bug.cgi?id=58476
+
+ Add ChildProcess::disableTermination and ChildProcess::enableTermination and convert
+ the PluginProcess class over to using them.
+
+ * PluginProcess/PluginProcess.cpp:
+ (WebKit::PluginProcess::PluginProcess):
+ The child process now takes a terminationTimeout argument. Get rid of the shutdown timer.
+
+ (WebKit::PluginProcess::removeWebProcessConnection):
+ Call enableTermination().
+
+ (WebKit::PluginProcess::shouldTerminate):
+ Always return true.
+
+ (WebKit::PluginProcess::createWebProcessConnection):
+ Call disableTermination().
+
+ (WebKit::PluginProcess::getSitesWithData):
+ Call disableTermination()/enableTermination().
+
+ (WebKit::PluginProcess::clearSiteData):
+ Ditto.
+
+ * Shared/ChildProcess.cpp:
+ (WebKit::ChildProcess::disableTermination):
+ Increment the counter and stop the timer.
+
+ (WebKit::ChildProcess::enableTermination):
+ Decrement the counter; if it's zero, start the timer.
+
+ (WebKit::ChildProcess::terminationTimerFired):
+ Call shouldTerminate(). If it returns true, call terminate().
+
+ (WebKit::ChildProcess::terminate):
+ Call RunLoop::quit().
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::WebProcess):
+ Just initialize the termination timeout to 0 for now.
+
+ (WebKit::WebProcess::shouldTerminate):
+ Always return true; this isn't used yet.
+
+ * WebProcess/WebProcess.h:
+
+2011-04-13 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ REGRESSION: Links are clickable when a contentEditable is set to true.
+ https://bugs.webkit.org/show_bug.cgi?id=58473
+ <rdar://problem/9256793>
+
+ Added support for editable link behavior property.
+
+ * Shared/WebPreferencesStore.cpp:
+ * Shared/WebPreferencesStore.h:
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetEditableLinkBehavior):
+ (WKPreferencesGetEditableLinkBehavior):
+ * UIProcess/API/C/WKPreferencesPrivate.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+
+2011-04-12 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ REGRESSION (WebKit2): Input methods are active in non-editable content
+ https://bugs.webkit.org/show_bug.cgi?id=58404
+ <rdar://problem/9275940>
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView insertText:]): Re-add the old variant of this function, because it's not only part
+ of deprecated NSTextInput protocol, but it's also part of NSResponder, and it's called when
+ the input context in nil.
+ (-[WKView inputContext]): Return nil when not in editable content.
+
+2011-04-12 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ <rdar://problem/9029193> and https://bugs.webkit.org/show_bug.cgi?id=58406
+ Bringing up the context menu on a link might also follow the link.
+
+ This patch adds a flag that is set just before the WebProcess tells the UIProcess to show a context menu.
+
+ As long as this flag is set, the WebProcess will ignore any other mouse events that might have queued up
+ by the time the UIProcess gets around to showing the menu.
+
+ After the UIProcess is done showing the menu, it messages back telling the WebProcess to clear the flag
+ and resume normal MouseEvent handling.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::showContextMenu): No matter what internalShowContextMenu does, always notify
+ the WebProcess that any context menu is now hidden.
+ (WebKit::WebPageProxy::internalShowContextMenu):
+ * UIProcess/WebPageProxy.h:
+
+ * WebProcess/WebPage/WebContextMenu.cpp:
+ (WebKit::WebContextMenu::show): Since we're telling the UIProcess to show the menu, tell the WebPage a
+ context menu is showing so it will stop handling mouse events.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ (WebKit::WebPage::mouseEvent): Don't try to handle mouse events if a context menu is flagged as showing.
+
+ Add accessors to twiddle the "context menu showing" flag:
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::contextMenuShowing):
+ (WebKit::WebPage::contextMenuHidden):
+ * WebProcess/WebPage/WebPage.messages.in: Add the ContextMenuHidden message.
+
+2011-04-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Maciej Stachowiak.
+
+ Quarantine related sandbox denial when downloading files
+ <rdar://problem/9203736>
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2011-04-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Sandbox violations dragging an image to the desktop.
+ <rdar://problem/9261834>
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2011-04-12 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Cameron Zwarich.
+
+ Sandbox violations trying to access ~/Library/Keyboard Layouts and ~/Library/Input Methods
+ <rdar://problem/8973159>
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2011-04-12 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Alexey Proskuryakov and Sam Weinig.
+
+ Implement non-activating clicks to allow dragging out of a background window.
+ https://bugs.webkit.org/show_bug.cgi?id=55053
+ <rdar://problem/9042197>
+
+ Added methods to WKView to support non activating click. Unfortunately both
+ methods require a synchronous call to the WebProcess to decide what to do.
+ acceptFirstMouse is called only if shouldDelayWindowOrderingForEvent returns
+ true. In order to minimize the number of synchronous calls, we send the request
+ only if our window is not the key window.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView acceptsFirstMouse:]):
+ (-[WKView shouldDelayWindowOrderingForEvent:]):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/mac/WebPageProxyMac.mm:
+ (WebKit::WebPageProxy::shouldDelayWindowOrderingForEvent):
+ (WebKit::WebPageProxy::acceptsFirstMouse):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::shouldDelayWindowOrderingEvent):
+ (WebKit::WebPage::acceptsFirstMouse):
+
+2011-04-12 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Crash when serializing a null AttributedString
+ https://bugs.webkit.org/show_bug.cgi?id=58393
+ <rdar://problem/9275326>
+
+ * Shared/mac/AttributedString.mm:
+ (WebKit::AttributedString::encode):
+ (WebKit::AttributedString::decode):
+ Prefix the serialized value with an isNull tag.
+
+2011-04-12 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Infinite recursion in WebHTMLView executeSavedKeypressCommands.
+ https://bugs.webkit.org/show_bug.cgi?id=58382
+ <rdar://problem/9239370>
+
+ Execution of some editing commands could trigger a call to selectedRange that
+ internally calls executeSavedKeypressCommands creating an infinite recursion.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _executeSavedKeypressCommands]): Added flag to avoid recursion.
+ (-[WKView _interpretKeyEvent:withCachedTextInputState:savingCommandsTo:WebCore::]):
+ Added flag initialization.
+
+2011-04-12 Chris Marrin <cmarrin@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Page tears and stutters in WebKit2 when page is > 2048 pixels wide
+ https://bugs.webkit.org/show_bug.cgi?id=58330
+
+ Turn off tiling for nonCompositedContentLayer to avoid tearing when
+ scrolling very wide (> 2048) windows.
+
+ * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
+ (WebKit::LayerTreeHostCA::initialize):
+
+2011-04-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Assertion in DrawingAreaImpl::resumePainting() (m_isPaintingSuspended) when clicking a link at twitter.com
+ https://bugs.webkit.org/show_bug.cgi?id=58377
+ <rdar://problem/8976531>
+
+ Remove the assertion.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::resumePainting):
+
+2011-04-11 Stephanie Lewis <slewis@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ https://bugs.webkit.org/show_bug.cgi?id=58280
+ <rdar://problem/9252824> javascript in an inconsistent state due to serialization returning an un-handled exception
+ Change use of SerializedScriptValue::Create to use the same api as the rest of WebKit2. This has the benefit
+ of handling any exceptions so Javascript is not in an inconsistent state.
+
+ * Shared/API/c/WKSerializedScriptValue.h: fix a typo
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::runJavaScriptInMainFrame):
+
+2011-04-12 Jeff Miller <jeffm@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit2: Pressing Tab in Web Inspector's console does not cycle through completion options
+ https://bugs.webkit.org/show_bug.cgi?id=56020
+
+ Safari was always calling TranslateMessage() on key events since it has no way to know whether
+ WebKit handled the event without a PageUIClient (which Safari only installs on pages inside
+ a Safari window), which was generating a WM_CHAR message containing the tab in this case. The fix
+ is for Safari to never call TranslateMessage() on key events outside of a Safari window, but this
+ means the WebPageProxy needs to do this for unhandled key events if there is no didNotHandleKeyEvent
+ callback in the PageUIClient.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveEvent): Call TranslateMessage() on Windows for unhandled key events that can't be handled by the PageUIClient.
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::canNotHandleKeyEvent): Added.
+ * UIProcess/WebUIClient.h: Added canNotHandleKeyEvent().
+
+2011-04-12 Alice Liu <alice.liu@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ https://bugs.webkit.org/show_bug.cgi?id=58292
+ Provide new setting to allow site icon loading despite disabling automatic image loading in general.
+
+ * Shared/WebPreferencesStore.h: Add macro for setting default value.
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetLoadsSiteIconsIgnoringImageLoadingPreference): Added setter.
+ (WKPreferencesGetLoadsSiteIconsIgnoringImageLoadingPreference): Added getter.
+ * UIProcess/API/C/WKPreferences.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences): Add to list of WebCore settings that get propagated to WebKit preferences.
+
+2011-04-12 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2: Spelling and Grammar Checking: Make sure to remove the markings from the document
+ when spelling and/or grammar checking is disabled.
+ https://bugs.webkit.org/show_bug.cgi?id=58350
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView toggleContinuousSpellChecking:]):
+ Move the call to unmark the errors to the WebProcess.
+ (-[WKView setGrammarCheckingEnabled:]):
+ Ditto.
+ (-[WKView toggleGrammarChecking:]):
+ Ditto.
+
+ * UIProcess/WebPageProxy.cpp:
+ Remove unused functions.
+ * UIProcess/WebPageProxy.h:
+ Ditto.
+ * WebProcess/WebPage/WebPage.messages.in:
+ Ditto.
+ * WebProcess/WebPage/WebPage.h:
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::setTextCheckerState):
+ If grammar or spelling checking is disabled, unmark all the pages.
+ Doing it here allows makes it possible to unmark all pages in a cross-platform way that is
+ triggered both by selecting the the context menu items and by any other methods of updating
+ the enabled / disabled state.
+
+2011-04-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Cisco Meeting Center will not download or launch from Safari
+ https://bugs.webkit.org/show_bug.cgi?id=58366
+ <rdar://problem/8987139>
+
+ It's OK if a plug-in has less (or more) MIME type descriptions than actual MIME types.
+
+ * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
+ (WebKit::getPluginInfoFromCarbonResources):
+
+2011-04-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Call PluginControllerProxy::platformGeometryDidChange before Plugin::geometryDidChange
+ https://bugs.webkit.org/show_bug.cgi?id=58361
+
+ Since Plugin::geometryDidChange ends up calling plug-in code it can resize the plug-in which causes
+ platformGeometryDidChange to be called with the wrong rect.
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::geometryDidChange):
+ Call platformGeometryDidChange.
+
+ * PluginProcess/PluginControllerProxy.h:
+ * PluginProcess/mac/PluginControllerProxyMac.mm:
+ (WebKit::PluginControllerProxy::platformGeometryDidChange):
+ Remove the parameters to platformGeometryDidChange and just use m_frameRect instead.
+
+2011-04-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Move three Mac specific functions to PluginControllerProxyMac.mm.
+
+2011-04-12 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Cache the window and plug-in element NPObjects
+ https://bugs.webkit.org/show_bug.cgi?id=58355
+
+ * PluginProcess/PluginControllerProxy.cpp:
+ (WebKit::PluginControllerProxy::PluginControllerProxy):
+ (WebKit::PluginControllerProxy::~PluginControllerProxy):
+ (WebKit::PluginControllerProxy::windowScriptNPObject):
+ (WebKit::PluginControllerProxy::pluginElementNPObject):
+ * PluginProcess/PluginControllerProxy.h:
+
+2011-04-12 Alejandro G. Castro <alex@igalia.com>
+
+ Fixed GTK compilation after r83454.
+
+ * UIProcess/gtk/WebView.cpp:
+ (WebKit::WebView::findStringInCustomRepresentation):
+ (WebKit::WebView::countStringMatchesInCustomRepresentation):
+ * UIProcess/gtk/WebView.h:
+
+2011-04-11 Daniel Bates <dbates@webkit.org>
+
+ Attempt to fix the Qt Linux Release build after changeset 83550 <http://trac.webkit.org/changeset/83550>
+ (https://bugs.webkit.org/show_bug.cgi?id=54159).
+
+ * WebKit2API.pri: Append UIProcess/API/C/WKResourceCacheManager.cpp to the list WEBKIT2_API_SOURCES.
+
+2011-04-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Move focus management out of WebKit via the UIClient
+ <rdar://problem/8784068>
+ https://bugs.webkit.org/show_bug.cgi?id=58278
+
+ * UIProcess/API/C/WKPage.h:
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPage::QWKPage):
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setFocus):
+ * UIProcess/WebUIClient.cpp:
+ (WebKit::WebUIClient::focus):
+ (WebKit::WebUIClient::unfocus):
+ * UIProcess/WebUIClient.h:
+ * UIProcess/gtk/WebView.cpp:
+ * UIProcess/gtk/WebView.h:
+ * UIProcess/win/WebView.h:
+ Remove PageClient::setFocus() in favor of WebUIClient::focus and WebUIClient::unfocus.
+
+2011-04-11 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ WebKit2: Cannot use Ctrl-Delete as a custom keyboard shortcut
+ https://bugs.webkit.org/show_bug.cgi?id=58265
+ <rdar://problem/9221468>
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::keyEvent): Added a comment explaining that doing work after DOM event
+ dispatch isn't great.
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::performNonEditingBehaviorForSelector): Added a comment explaining how this
+ might be moved down to WebCore.
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent): This is now empty, since both Space
+ and Backspace behaviors are implemented in WebCore.
+
+2011-04-11 Anders Carlsson <andersca@apple.com>
+
+ Try to fix the Windows build.
+
+ * UIProcess/win/WebInspectorProxyWin.cpp:
+ (WebKit::WebInspectorProxy::platformCreateInspectorPage):
+
+2011-04-11 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ REGRESSION (r83081): Esc key no longer removes current Kotoeri text operation
+ https://bugs.webkit.org/show_bug.cgi?id=58274
+ <rdar://problem/9263683>
+
+ * WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::getMarkedRange): Wrap the returned
+ temporary in RefPtr.
+
+2011-04-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Remove m_urlAtProcessExit from WebPageProxy
+ https://bugs.webkit.org/show_bug.cgi?id=58275
+
+ Get rid of m_urlAtProcessExit and replace some zeros with nullptrs.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::processDidCrash):
+ * UIProcess/WebPageProxy.h:
+
+2011-04-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Remove the WebContext member variable from WebPageProxy
+ https://bugs.webkit.org/show_bug.cgi?id=58271
+ <rdar://problem/9148125>
+
+ * UIProcess/API/C/WKPage.cpp:
+ (WKPageGetContext):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::create):
+ (WebKit::WebPageProxy::WebPageProxy):
+ (WebKit::WebPageProxy::process):
+ (WebKit::WebPageProxy::reattachToWebProcess):
+ (WebKit::WebPageProxy::canShowMIMEType):
+ (WebKit::WebPageProxy::receivedPolicyDecision):
+ (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
+ (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
+ (WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
+ (WebKit::WebPageProxy::didCommitLoadForFrame):
+ (WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
+ (WebKit::WebPageProxy::didFinishLoadForFrame):
+ (WebKit::WebPageProxy::didFailLoadForFrame):
+ (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
+ (WebKit::WebPageProxy::didReceiveTitleForFrame):
+ (WebKit::WebPageProxy::didFirstLayoutForFrame):
+ (WebKit::WebPageProxy::didFirstVisuallyNonEmptyLayoutForFrame):
+ (WebKit::WebPageProxy::didRemoveFrameFromHierarchy):
+ (WebKit::WebPageProxy::didDisplayInsecureContentForFrame):
+ (WebKit::WebPageProxy::didRunInsecureContentForFrame):
+ (WebKit::WebPageProxy::decidePolicyForNavigationAction):
+ (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
+ (WebKit::WebPageProxy::decidePolicyForResponse):
+ (WebKit::WebPageProxy::unableToImplementPolicy):
+ (WebKit::WebPageProxy::willSubmitForm):
+ (WebKit::WebPageProxy::mouseDidMoveOverElement):
+ (WebKit::WebPageProxy::showContextMenu):
+ (WebKit::WebPageProxy::contextMenuItemSelected):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::createWebPage):
+ * UIProcess/mac/WebInspectorProxyMac.mm:
+ (WebKit::WebInspectorProxy::platformCreateInspectorPage):
+
+2011-04-11 Eric Carlson <eric.carlson@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Ignore context change callbacks when not on the main thread
+ https://bugs.webkit.org/show_bug.cgi?id=58256
+ <rdar://problem/9266090>
+
+ * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp:
+ (WebKit::LayerTreeHostCAWin::contextDidChangeCallback): Do nothing when not called
+ on the main thread. This should only happen when no changes have actually
+ been committed to the context, eg. when a video frame has been added to an image
+ queue, so return without triggering animations etc.
+
+2011-04-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ First step towards simplifying WebPageProxy/WebProcessProxy/WebContext ownership
+ https://bugs.webkit.org/show_bug.cgi?id=58266
+ <rdar://problem/9148125>
+
+ With this patch, the WKView holds a strong reference to a WebPageProxy. The
+ WebPageProxy in turn holds a strong reference to its WebProcessProxy. Finally,
+ The WebProcessProxy holds a strong reference to its WebContext.
+
+ The WebContext holds a strong reference to the running WebProcessProxy which results
+ in a reference cycle that's broken when the web process exits.
+
+ The reason for is to avoid crashes where WebPageProxy::process() returns null if the web process
+ has crashed but has not yet been relaunched.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::disconnectProcess):
+ Add comment.
+
+ (WebKit::WebContext::createWebPage):
+ Return a PassRefPtr.
+
+ (WebKit::WebContext::relaunchProcessIfNecessary):
+ Change this to return a WebPageProxy.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::create):
+ This now takes a PassRefPtr<WebProcessProxy>.
+
+ (WebKit::WebPageProxy::WebPageProxy):
+ Ditto.
+
+ (WebKit::WebPageProxy::~WebPageProxy):
+ Call close() if necessary.
+
+ (WebKit::WebPageProxy::reattachToWebProcess):
+ Replace the current process with the new process.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::create):
+ Take a PassRefPtr<WebContext>.
+
+ (WebKit::WebProcessProxy::WebProcessProxy):
+ Ditto.
+
+ (WebKit::WebProcessProxy::webPage):
+ Remove .get() now that the page map uses weak references.
+
+ (WebKit::WebProcessProxy::createWebPage):
+ This now returns the created web page proxy.
+
+2011-04-11 Adam Roben <aroben@apple.com>
+
+ Dispatch sent messages to windows owned by the web process when waiting a sync CoreIPC reply
+
+ On Windows, windowed plugins' HWNDs are created as children of the WKView's window. This
+ creates a cross-process window hierarchy, which in turn attaches the input states of the UI
+ process's and web process's main threads (as if ::AttachThreadInput has been called). Having
+ the input states attached means that changes to the input state (e.g., changing the focus
+ window) can result in synchronous window messages being sent between the processes. This can
+ result in deadlocks if the UI process changes the input state while handling a synchronous
+ CoreIPC message from the web process. Since the web process isn't running its message loop
+ while waiting for the reply, it never processes the messages Windows is sending it from the
+ UI process.
+
+ The solution taken in this patch is to continue to dispatch sent (not posted) messages to
+ windows created by the web process while waiting for a sync CoreIPC reply. Someday we can
+ hopefully reduce the number of cases in which the UI process modifies the thread's input
+ state while handling a synchronous message; see the bug for details.
+
+ Fixes <http://webkit.org/b/58239> <rdar://problem/8769302> REGRESSION (WebKit2): Deadlock
+ clicking Flash plugin
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/CoreIPC/BinarySemaphore.h:
+ (CoreIPC::BinarySemaphore::event): Added. Simple getter to expose the underlying event
+ HANDLE.
+
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::SyncMessageState::waitWhileDispatchingSentMessages): New Windows-only
+ function that is used instead of wait() so that sent messages will continue to be
+ dispatched.
+ (CoreIPC::Connection::waitForSyncReply): Use waitWhileDispatchingSentMessages instead of
+ wait on Windows. Our Client gives us the set of windows that need to have windows delivered
+ to them.
+
+ * Platform/CoreIPC/Connection.h: Added new
+ windowsToReceiveSentMessagesWhileWaitingForSyncReply function to Client.
+
+ * Platform/RunLoop.h: Added new dispatchSentMessagesUntil function to be used while waiting
+ for a sync CoreIPC reply.
+
+ * Platform/win/RunLoopWin.cpp:
+ (RunLoop::dispatchSentMessagesUntil): Added. If we have no windows to dispatch messages to,
+ then just wait on the semaphore. Otherwise spin a ::MsgWaitForMultipleObjectsEx loop to
+ detect when the semaphore is signaled, the timeout elapses, or sent messages are available,
+ and handle each case appropriately.
+
+ * UIProcess/WebProcessProxy.h: Added new CoreIPC::Connection::Client function.
+
+ * UIProcess/win/WebProcessProxyWin.cpp: Added.
+ (WebKit::WebProcessProxy::windowsToReceiveSentMessagesWhileWaitingForSyncReply): Just return
+ an empty Vector. The web process never modifies the thread's input state while responding to
+ a synchronous message, so we don't have anything to worry about here.
+
+ * WebProcess/WebProcess.h: Added new CoreIPC::Connection::Client function.
+
+ * WebProcess/win/WebProcessWin.cpp:
+ (WebKit::addWindowToVectorIfOwnedByCurrentThread): New helper function to be called by
+ ::EnumThreadWindows/::EnumChildWindows. Does what it says.
+ (WebKit::WebProcess::windowsToReceiveSentMessagesWhileWaitingForSyncReply): Added. Returns
+ all top-level windows created by this thread, descendants of those windows created by this
+ thread, and descendants of WKViews' windows created by this thread.
+
+ * win/WebKit2.vcproj: Added WebProcessProxyWin.cpp.
+
+2011-04-11 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2: Implement TextChecker on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=57862
+
+ Part 7: Implement getGuessesForWord, learnWord, and ignoreWord.
+
+ * UIProcess/API/C/win/WKTextChecker.cpp:
+ (WKTextCheckerChangeSpellingToWord):
+ * UIProcess/API/C/win/WKTextChecker.h:
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::changeSpellingToWord):
+ Make this function const since it does not modify the WebPageProxy and making it const
+ allows WebTextChecker::changeSpellingToWord to take a const WebPageProxy.
+ (WebKit::WebPageProxy::learnWord):
+ * UIProcess/WebPageProxy.h:
+
+ * UIProcess/TextChecker.h:
+ * UIProcess/win/TextCheckerWin.cpp:
+ (WebKit::TextChecker::getGuessesForWord):
+ Ask the TextCheckerClient for the guesses.
+ (WebKit::TextChecker::learnWord):
+ Tell the TextCheckerClient.
+ (WebKit::TextChecker::ignoreWord):
+ Ditto.
+ * UIProcess/gtk/TextCheckerGtk.cpp:
+ (WebKit::TextChecker::learnWord):
+ Add an unused param that is necessary for Windows.
+ * UIProcess/mac/TextCheckerMac.mm:
+ (WebKit::TextChecker::learnWord):
+ Ditto.
+ * UIProcess/qt/TextCheckerQt.cpp:
+ (WebKit::TextChecker::learnWord):
+ Ditto.
+
+ * UIProcess/win/WebTextChecker.cpp:
+ (WebKit::WebTextChecker::changeSpellingToWord):
+ Tell the page.
+ * UIProcess/win/WebTextChecker.h:
+
+ * UIProcess/win/WebTextCheckerClient.cpp:
+ (WebKit::WebTextCheckerClient::guessesForWord):
+ (WebKit::WebTextCheckerClient::learnWord):
+ (WebKit::WebTextCheckerClient::ignoreWord):
+ * UIProcess/win/WebTextCheckerClient.h:
+
+2011-04-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Remove unused WebProcessProxy functions
+ https://bugs.webkit.org/show_bug.cgi?id=58262
+
+ * UIProcess/WebProcessProxy.cpp:
+ * UIProcess/WebProcessProxy.h:
+
+2011-04-11 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Crash in WebPageProxy::countStringMatches
+ https://bugs.webkit.org/show_bug.cgi?id=58255
+ <rdar://problem/9243837>
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::countStringMatches):
+ Return early if the page is not valid.
+
+2011-04-11 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2: links don’t update to look visited
+ <rdar://problem/8806254>
+ https://bugs.webkit.org/show_bug.cgi?id=58252
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::visitedLinkStateChanged):
+ (WebKit::WebProcess::allVisitedLinkStateChanged):
+ * WebProcess/WebProcess.h:
+ Remove use of vestigial sharedPageGroup and instead iterate set of
+ page groups in use by the process.
+
+2011-04-11 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit2: Windows 7 Gestures Window Bounce shouldn't require a sync message
+ https://bugs.webkit.org/show_bug.cgi?id=58167
+ <rdar://problem/9259813>
+
+ Instead of making GestureDidScroll sync, have WebPageWin call from WebProcess ->
+ UIProcess when the gesture causes the page to scroll to the beginning or the
+ end of the document.
+
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::gestureDidScroll): Not a sync message anymore.
+ (WebKit::WebPageProxy::setGestureScrollingLimitReached): Tell the page client that the gesture
+ scrolling limnit was reached.
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in: Add a new message.
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView): Initialize new variable.
+ (WebKit::WebView::onGesture): Use the state of the member variable, not the response from
+ the sync message.
+ * UIProcess/win/WebView.h:
+ (WebKit::WebView::setGestureScrollingLimitReached):
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::scrollbarAtTopOfBottomOrDocument): Returns whether or not the scrollbar is at the
+ top or bottom of the document.
+ (WebKit::WebPage::gestureDidScroll): Track whether or not we started at the beginning
+ or end of the document, and whether or not we ended at the beginning or end of the document,
+ and send a message if the value changed.
+
+2011-04-04 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ WK2: PDF: Find in page
+ https://bugs.webkit.org/show_bug.cgi?id=57765
+
+ Support searching text within PDF documents. Find requests must be routed from the
+ WebPageProxy, through the PageClient, and to the WKView, where they can be passed to
+ the PDFViewController.
+
+ * UIProcess/API/mac/PDFViewController.h:
+ * UIProcess/API/mac/PDFViewController.mm:
+ (_PDFSelectionsAreEqual): Copied from WebPDFView.
+ (-[WKPDFView _nextMatchFor:direction:caseSensitive:wrap:fromSelection:startInSelection:]): Copied from WebPDFView.
+ (-[WKPDFView _countMatches:caseSensitive:]): Added.
+ (WebKit::PDFViewController::findString): Added.
+ (WebKit::PDFViewController::countStringMatches): Added.
+ * UIProcess/PageClient.h:
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::findStringInCustomRepresentation): Added.
+ (WebKit::PageClientImpl::countStringMatchesInCustomRepresentation): Added.
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _findStringInCustomRepresentation:withFindOptions:maxMatchCount:]): Added.
+ (-[WKView _countStringMatchesInCustomRepresentation:withFindOptions:maxMatchCount:]): Added.
+ * UIProcess/WebPageProxy.h: Moved a number of find-related functions from private: to public: so
+ they could be called from PDFViewController.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::findString): Added.
+ (WebKit::WebPageProxy::countStringMatches): Added.
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::findStringInCustomRepresentation): Added stub.
+ (WebKit::WebView::countStringMatchesInCustomRepresentation): Ditto.
+ * UIProcess/win/WebView.h:
+ * UIProcess/API/qt/qwkpage_p.h:
+ (QWKPagePrivate::findStringInCustomRepresentation): Added stub.
+ (QWKPagePrivate::countStringMatchesInCustomRepresentation): Added stub.
+
+2011-04-11 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2: Implement TextChecker on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=57862
+
+ Part 6: Update the Spelling UI with the spelling and grammar mistakes.
+
+ * UIProcess/API/C/win/WKAPICastWin.h:
+ (WebKit::toAPI):
+ Make it possible to go from a WebCore::GrammarDetail to a WebGrammarDetail.
+
+ * UIProcess/API/C/win/WKGrammarDetail.cpp:
+ (WKGrammarDetailCreate):
+ (WKGrammarDetailGetLocation):
+ (WKGrammarDetailGetLength):
+ (WKGrammarDetailCopyGuesses):
+ (WKGrammarDetailCopyUserDescription):
+ * UIProcess/API/C/win/WKGrammarDetail.h:
+
+ * UIProcess/API/C/win/WKTextChecker.cpp:
+ (WKTextCheckerCheckSpelling):
+ Tell the WebTextChecker.
+ * UIProcess/API/C/win/WKTextChecker.h:
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::contextMenuItemSelected):
+ If the show/hide spelling UI is selected and the spelling UI is not showing, make sure to
+ advance to the next misspelling (in this case, the first).
+ This behavior matches that in WebCore and WKView.mm.
+ (WebKit::WebPageProxy::advanceToNextMisspelling):
+ Make this function const since it does not modify the WebPageProxy and making it const
+ allows WebTextChecker::checkSpelling to take a const WebPageProxy.
+ (WebKit::WebPageProxy::spellDocumentTag):
+ (WebKit::WebPageProxy::updateSpellingUIWithMisspelledWord):
+ (WebKit::WebPageProxy::updateSpellingUIWithGrammarString):
+ * UIProcess/WebPageProxy.h:
+
+ * UIProcess/TextChecker.h:
+ * UIProcess/win/TextCheckerWin.cpp:
+ (WebKit::TextChecker::uniqueSpellDocumentTag):
+ Tell the TextCheckerClient which WebPageProxy this tag is for.
+ (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
+ Tell the TextCheckerClient.
+ (WebKit::TextChecker::updateSpellingUIWithGrammarString):
+ Ditto.
+ * UIProcess/mac/TextCheckerMac.mm:
+ (WebKit::TextChecker::uniqueSpellDocumentTag):
+ Add the new argument that is unused by this port.
+ (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
+ Ditto.
+ (WebKit::TextChecker::updateSpellingUIWithGrammarString):
+ Ditto.
+ * UIProcess/gtk/TextCheckerGtk.cpp:
+ (WebKit::TextChecker::uniqueSpellDocumentTag):
+ Ditto.
+ (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
+ Ditto.
+ (WebKit::TextChecker::updateSpellingUIWithGrammarString):
+ Ditto.
+ * UIProcess/qt/TextCheckerQt.cpp:
+ (WebKit::TextChecker::uniqueSpellDocumentTag):
+ Ditto.
+ (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
+ Ditto.
+ (WebKit::TextChecker::updateSpellingUIWithGrammarString):
+ Ditto.
+
+ * UIProcess/win/WebGrammarDetail.cpp:
+ (WebKit::WebGrammarDetail::create):
+ (WebKit::WebGrammarDetail::WebGrammarDetail):
+ (WebKit::WebGrammarDetail::guesses):
+ * UIProcess/win/WebGrammarDetail.h:
+ (WebKit::WebGrammarDetail::location):
+ (WebKit::WebGrammarDetail::length):
+ (WebKit::WebGrammarDetail::userDescription):
+
+ * UIProcess/win/WebTextChecker.cpp:
+ (WebKit::WebTextChecker::checkSpelling):
+ Tell the page to advance to the next misspelling. This matches the WK1 WebView.cpp logic.
+
+ * UIProcess/win/WebTextChecker.h:
+ * UIProcess/win/WebTextCheckerClient.cpp:
+ (WebKit::WebTextCheckerClient::uniqueSpellDocumentTag):
+ (WebKit::WebTextCheckerClient::toggleSpellingUIIsShowing):
+ (WebKit::WebTextCheckerClient::updateSpellingUIWithMisspelledWord):
+ (WebKit::WebTextCheckerClient::updateSpellingUIWithGrammarString):
+ * UIProcess/win/WebTextCheckerClient.h:
+
+2011-04-10 Maciej Stachowiak <mjs@apple.com>
+
+ Not reviewed.
+
+ Remove extra inadvertantly commiteed changes from last change.
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2011-04-10 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ REGRESSION: WebProcess spews sandboxing violations for outbound network traffic
+ https://bugs.webkit.org/show_bug.cgi?id=58215
+ <rdar://problem/9251695>
+
+ * WebProcess/com.apple.WebProcess.sb: Restore some previously removed rules.
+
+2011-04-10 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>
+
+ Reviewed by Eric Seidel.
+
+ Require no undefined symbols during compilation.
+
+ [Qt] [WK2] WebKitTestRunner, QtWebProcess and WTRInjectBundle should fail to compile when there's undefined symbols
+ https://bugs.webkit.org/show_bug.cgi?id=54896
+
+ Add -Wl,--no-undefined to catch missing symbols early.
+
+ * WebProcess.pro:
+
+2011-04-09 Geoffrey Garen <ggaren@apple.com>
+
+ Not reviewed.
+
+ Try recommitting some things svn left out of my last commit.
+
+ * WebProcess/Plugins/Netscape/NPJSObject.h:
+
+2011-04-09 Geoffrey Garen <ggaren@apple.com>
+
+ Not reviewed.
+
+ Try recommitting some things svn left out of my last commit.
+
+ * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::evaluate):
+
+2011-04-08 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebKit2: Safari doesn't respect cmd-arrows (and variations) as custom keyboard shortcuts
+ https://bugs.webkit.org/show_bug.cgi?id=58175
+ <rdar://problem/9060555>
+
+ The problem is that command handling should be different for events that come as keyDown:
+ and those that come as performKeyEquivalent:. WebKit1 only tries custom "key bindings"
+ when handling a keyDown:, letting a performKeyEquivalent: run through the whole responder
+ chain first.
+
+ This would be very difficult to implement in WebKit2 because of how it re-sends the same
+ event after web process handling. Luckily, we can both fix the bug and make the behavior
+ more robust by not hardcoding key combinations.
+
+ * WebProcess/WebPage/WebPage.h: Edit performNonEditingBehaviorForSelector.
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::executeKeypressCommandsInternal): When executing commands, also try
+ executing editor commands in their non-editing meaning, which is usually scrolling.
+ (WebKit::WebPage::performNonEditingBehaviorForSelector): Naive implementation with a chain
+ of ifs, which is hopefully ok performance-wise for a dozen check.
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent): Only kept two commands here that I
+ couldn't easily move.
+
+2011-04-08 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2: Show the substitutions panel on Mac and make sure the menu items titles are
+ updated correctly.
+ https://bugs.webkit.org/show_bug.cgi?id=58179
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView validateUserInterfaceItem:]):
+ The title of the context menu item should be opposite of whether or not the spelling panel
+ is visible.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::contextMenuItemSelected):
+ If the "Show/Hide" Substitutions item is selected, call toggleSubstitutionsPanelIsShowing.
+ (WebKit::WebPageProxy::substitutionsPanelIsShowing):
+ Ask the TextChecker.
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+
+ * UIProcess/TextChecker.h:
+ * UIProcess/mac/TextCheckerMac.mm:
+ (WebKit::TextChecker::substitutionsPanelIsShowing):
+ As the shared NSSpellChecker if the substitutionsPanel is visible.
+ (WebKit::TextChecker::toggleSubstitutionsPanelIsShowing):
+ Order the substitutionsPanel out or front (copied from WKView.mm).
+
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+ (WebKit::WebEditorClient::substitutionsPanelIsShowing):
+ Send a sync message to the UI process to find out.
+ It needs to be sync because the editor code relies on the value returned.
+
+2011-04-08 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Adele Peterson.
+
+ Fixed a bug where right-to-left frames incorrectly reported that they were pinned to the left
+ when they were actually not.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::didChangeScrollOffsetForMainFrame): Do not assume that the minimum scroll offset
+ is zero, because it is not.
+
+2011-04-08 Anders Carlsson <andersca@apple.com>
+
+ Fix the Windows build.
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::Drop):
+
+2011-04-08 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2: Implement TextChecker on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=57862
+
+ Part 5: Implement the code show and hide the Spelling UI via the context menu item (both
+ Windows and Mac).
+
+ * UIProcess/API/C/win/WKTextChecker.h:
+ Add the new WKTextCheckerClient funtions.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView validateUserInterfaceItem:]):
+ The title of the context menu item should be opposite of whether or not the spelling panel
+ is visible.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::contextMenuItemSelected):
+ If the "Show/Hide Spelling and Grammar" item is selected, call toggleSpellingUIIsShowing.
+ (WebKit::WebPageProxy::spellingUIIsShowing):
+ Call through to TextChecker.
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+
+ * UIProcess/TextChecker.h:
+ * UIProcess/win/TextCheckerWin.cpp:
+ (WebKit::TextChecker::spellingUIIsShowing):
+ Call the TextCheckerClient.
+ (WebKit::TextChecker::toggleSpellingUIIsShowing):
+ Ditto.
+ * UIProcess/mac/TextCheckerMac.mm:
+ (WebKit::TextChecker::spellingUIIsShowing):
+ Ask the shared NSSpellChecker if the spellingPanel is visible.
+ (WebKit::TextChecker::toggleSpellingUIIsShowing):
+ Order the spellingPanel out or front (copied from WKView.mm).
+ * UIProcess/qt/TextCheckerQt.cpp:
+ (WebKit::TextChecker::spellingUIIsShowing):
+ Call notImplemented.
+ (WebKit::TextChecker::toggleSpellingUIIsShowing):
+ Ditto.
+ * UIProcess/gtk/TextCheckerGtk.cpp:
+ (WebKit::TextChecker::spellingUIIsShowing):
+ Ditto.
+ (WebKit::TextChecker::toggleSpellingUIIsShowing):
+ Ditto.
+
+ * UIProcess/win/WebTextCheckerClient.cpp:
+ (WebKit::WebTextCheckerClient::spellingUIIsShowing):
+ Call the client.
+ (WebKit::WebTextCheckerClient::toggleSpellingUIIsShowing):
+ Ditto.
+ * UIProcess/win/WebTextCheckerClient.h:
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::spellingUIIsShowing):
+ Send a sync message to the UI process to find out.
+ It needs to be sync because the Editor code relies on the value returned.
+
+2011-04-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Sandboxing doesn't work if a local file is dropped on the content area
+ https://bugs.webkit.org/show_bug.cgi?id=58177
+ <rdar://problem/9019253>
+
+ When performing a drag and the dragging pasteboard contains a local file, create a
+ sandbox extension and pass it along. If we end up loading the file, the sandbox extension
+ tracker will consume the extension.
+
+ * UIProcess/API/mac/WKView.mm:
+ (maybeCreateSandboxExtensionFromPasteboard):
+ Add helper function.
+
+ (-[WKView performDragOperation:]):
+ Create a sandbox extension handle and pass it to performDrag.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::dragEntered):
+ (WebKit::WebPageProxy::dragUpdated):
+ (WebKit::WebPageProxy::dragExited):
+ Pass an empty sandbox extension handle to performDragControllerAction.
+
+ (WebKit::WebPageProxy::performDrag):
+ Pass the sandbox extension handle along to performDragControllerAction.
+
+ (WebKit::WebPageProxy::performDragControllerAction):
+ Send along the sandbox extension handle.
+
+ * WebProcess/WebCoreSupport/WebDragClient.cpp:
+ (WebKit::WebDragClient::willPerformDragDestinationAction):
+ If the destination action is a load action, call WebPage::willPerformLoadDragDestinationAction.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::performDragControllerAction):
+ Create a sandbox extension.
+
+ (WebKit::WebPage::willPerformLoadDragDestinationAction):
+ If we have a sandbox extension, pass it along to the sandbox extension tracker.
+
+ (WebKit::WebPage::SandboxExtensionTracker::willPerformLoadDragDestinationAction):
+ Call setPendingProvisionalSandboxExtension.
+
+ (WebKit::WebPage::SandboxExtensionTracker::beginLoad):
+ Call setPendingProvisionalSandboxExtension.
+
+ (WebKit::WebPage::SandboxExtensionTracker::setPendingProvisionalSandboxExtension):
+ Factor code from beginLoad out into a separate function.
+
+ * WebProcess/WebPage/WebPage.messages.in:
+ PerformDragControllerAction now takes a sandbox extension handle.
+
+2011-04-08 Alice Liu <alice.liu@apple.com>
+
+ Reviewed by Adam Roben.
+
+ https://bugs.webkit.org/show_bug.cgi?id=58151
+ Crash after closing a Webview, in WebKit!WebCore::WindowMessageBroadcaster::SubclassedWndProc
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::close):
+ Resolve a difference between old WebKit WebView and WebKit2 WebView by destroying and clearing
+ out WebKit2 WebView's HWND when closing. Not doing so was causing the WebView to remain in the
+ list of WindowMessageBroadcaster listeners, and after closing the WebView, WindowMessageBroadcaster
+ would message a dead WebView and crash.
+
+2011-04-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Make the drag operations be different functions
+ https://bugs.webkit.org/show_bug.cgi?id=58169
+
+ Since we want performDrag to take a sandbox extension, separate the four
+ drag operations out into different functions. No functionality change.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView draggingEntered:]):
+ (-[WKView draggingUpdated:]):
+ (-[WKView draggingExited:]):
+ (-[WKView performDragOperation:]):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::dragEntered):
+ (WebKit::WebPageProxy::dragUpdated):
+ (WebKit::WebPageProxy::dragExited):
+ (WebKit::WebPageProxy::performDrag):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::DragEnter):
+ (WebKit::WebView::DragOver):
+ (WebKit::WebView::DragLeave):
+ (WebKit::WebView::Drop):
+
+2011-04-08 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Parse 'DispatchOnConnectionQueue' in messages.in files
+ https://bugs.webkit.org/show_bug.cgi?id=58168
+
+ Handle parsing multiple, space-separated attributes in .messages.in files. Keep track of
+ 'DispatchOnConnectionQueue' and rename 'delayed' to 'Delayed'.
+
+ * Scripts/webkit2/messages.py:
+ * Scripts/webkit2/messages_unittest.py:
+
+2011-04-08 Alpha Lam <hclam@chromium.org>
+
+ Unreviewed, rolling out r83335.
+ http://trac.webkit.org/changeset/83335
+ https://bugs.webkit.org/show_bug.cgi?id=53556
+
+ GTK and QT bots are broken
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2011-04-07 Anna Cavender <annacc@chromium.org>
+
+ Reviewed by Eric Carlson.
+
+ Setup ENABLE(TRACK) feature define
+ https://bugs.webkit.org/show_bug.cgi?id=53556
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2011-04-07 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Alder.
+
+ REGRESSION (WebKit2): AppKit thinks that web views don't support DocumentAccess
+ https://bugs.webkit.org/show_bug.cgi?id=58102
+ <rdar://problem/9223246>
+
+ * UIProcess/API/mac/WKView.h:
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView doCommandBySelector:]):
+ (-[WKView insertText:replacementRange:]):
+ (-[WKView validAttributesForMarkedText]):
+ (-[WKView setMarkedText:selectedRange:replacementRange:]):
+ (-[WKView attributedSubstringForProposedRange:actualRange:]):
+ (-[WKView firstRectForCharacterRange:actualRange:]):
+ Switch to NSTextInputClient, opting out of optimizations and optional features for now.
+
+2011-04-08 Siddharth Mathur <siddharth.mathur@nokia.com>
+
+ Reviewed by Martin Robinson.
+
+ [Qt][WK2][Symbian] Remove use of stack arrays with variable size
+ https://bugs.webkit.org/show_bug.cgi?id=57877
+
+ For better compiler portability, use new/delete for arrays when size
+ isn't known at compile time. Also fix one compiler warning about bitshift
+ operations on signed integer
+ * Platform/CoreIPC/unix/ConnectionUnix.cpp:
+ (CoreIPC::Connection::readyReadHandler):
+ (CoreIPC::Connection::sendOutgoingMessage):
+
+2011-04-08 Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] Fix the WebKit2 build for older versions of GTK+
+ https://bugs.webkit.org/show_bug.cgi?id=58095
+
+ * UIProcess/gtk/ChunkedUpdateDrawingAreaProxyGtk.cpp: Include the GtkVersioning.h header.
+
+2011-04-07 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [WK2][Qt][GTK] Introduce common use flag for the shared UNIX domain socket IPC implementation
+ https://bugs.webkit.org/show_bug.cgi?id=58030
+
+ Replace "PLATFORM(QT) || PLATFORM(GTK)" conditions in IPC code with
+ USE(UNIX_DOMAIN_SOCKETS).
+
+ * Platform/CoreIPC/Attachment.h:
+ * Platform/CoreIPC/Connection.h:
+ * Platform/SharedMemory.h:
+
+2011-04-07 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Clicks not recognized on http://www.nibblestutorials.net/ which uses Silverlight
+ https://bugs.webkit.org/show_bug.cgi?id=58108
+ <rdar://problem/9167611>
+
+ Change platformHandleMouseEvent to return true, which means that the plug-in has handled the
+ event. Some plug-ins (like Silverlight) will return false from NPP_HandleEvent even though the
+ event has been handled. In this case it lead to a very subtle bug where the plug-in element would
+ lose focus right after a mouse down even had been sent.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformHandleMouseEvent):
+
+2011-04-07 Adam Roben <aroben@apple.com>
+
+ Pass NPP_SetWindow a null window handle during plugin destruction on non-Mac platforms
+
+ This matches WebKit1.
+
+ Fixes <http://webkit.org/b/47009> WebKit2 needs to call NPP_SetWindow when destroying a
+ plugin
+
+ Reviewed by Anders Carlsson.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::destroy): Null out our NPWindow's window handle and pass it to
+ NPP_SetWindow (unless we're on Mac).
+
+2011-04-08 Jamie Cooley <james.cooley@nokia.com>
+
+ Reviewed by Benjamin Poulain.
+
+ [Qt][WK2] Make sure qwkhistory.h is copied into includes/WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=57945
+
+ * UIProcess/API/qt/WKView.h:
+ * UIProcess/API/qt/qwkhistory.h:
+
+2011-04-08 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Do not destroy WorkQueue event sources unless they have been cancelled
+ https://bugs.webkit.org/show_bug.cgi?id=57611
+
+ * Platform/WorkQueue.h:
+ * Platform/gtk/WorkQueueGtk.cpp:
+ (WorkQueue::EventSource::EventSource): Remove unused member
+ m_dispatchSource.
+ (WorkQueue::EventSource::executeEventSource): Make it return void
+ instead of boolean since we are always ignoring the return value.
+ (WorkQueue::EventSource::performWork): Return FALSE from the
+ callback only when the source has been cancelled (condition = 0)
+ to make sure it's destroyed when the even source handler is
+ unregistered.
+ (WorkQueue::registerEventSourceHandler): Use GRefPtr for the
+ source, to avoid leaking it.
+ (WorkQueue::scheduleWorkOnSource): Receive the source callback as
+ parameter so that it can be used by scheduleWorkOnTermination() too.
+ (WorkQueue::scheduleWork):
+ (WorkQueue::scheduleWorkAfterDelay):
+ (WorkQueue::scheduleWorkOnTermination): Use
+ scheduleWorkOnSource().
+
+2011-04-08 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Close connection when web process finishes
+ https://bugs.webkit.org/show_bug.cgi?id=57540
+
+ * Platform/CoreIPC/Connection.h:
+ * Platform/CoreIPC/unix/ConnectionUnix.cpp:
+ * Platform/PlatformProcessIdentifier.h: Use GPid as process
+ identifier.
+ * Platform/WorkQueue.h:
+ * Platform/gtk/WorkQueueGtk.cpp:
+ (WorkQueue::EventSource::EventSource): Add cancellable parameter.
+ (WorkQueue::EventSource::cancel): New method to cancel the source.
+ (WorkQueue::EventSource::performWorkOnTermination): New method to
+ execute a work item called when child process has finished.
+ (WorkQueue::registerEventSourceHandler): Create a GCancellable for
+ the socket source.
+ (WorkQueue::unregisterEventSourceHandler): Cancel the source
+ instead of destroying it, this will cause the source to trigger
+ with condition = 0, which makes the callback return FALSE and the
+ source is destroyed.
+ (WorkQueue::scheduleWorkOnSource): Pass NULL as cancellable for
+ idle and timeout sources.
+ (WorkQueue::scheduleWorkOnTermination): Create a child watch
+ source to monitor the child process.
+ * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
+ (WebKit::ProcessLauncher::launchProcess): Use GPid instead of int
+ as process identifier.
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::didFinishLaunching): Call
+ WorkQueue::scheduleWorkOnTermination() for GTK platform too when
+ web process has been launched.
+
+2011-04-08 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Implement scheduleWorkAfterDelay() in WorkQueueGtk
+ https://bugs.webkit.org/show_bug.cgi?id=57434
+
+ * Platform/WorkQueue.h:
+ * Platform/gtk/WorkQueueGtk.cpp:
+ (WorkQueue::EventSource::executeEventSource): This new method
+ contains the common code to execute a work item.
+ (WorkQueue::EventSource::performWorkOnce): Use
+ executeEventSource() to execute the work item.
+ (WorkQueue::EventSource::performWork): Use executeEventSource() to
+ execute the work item.
+ (WorkQueue::registerEventSourceHandler): Use a GSocket instead of
+ a GIOChannel since the API is newer and allows us to pass a
+ cancellable object to be able to cancel the source.
+ (WorkQueue::scheduleWorkOnSource): This new method contains the
+ common code to attach a source to a context. It doesn't use a lock
+ anymore, since g_source_attach() uses its own mutex internally.
+ (WorkQueue::scheduleWork): Use an idle source instead of a timeout
+ one, changing the priority to G_PRIORITY_DEFAULT.
+ (WorkQueue::scheduleWorkAfterDelay): Implement it using a timeout
+ source with the given delay.
+
+2011-04-08 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Use glib API instead of fork + execl in ProcessLauncherGtk
+ https://bugs.webkit.org/show_bug.cgi?id=57234
+
+ * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
+ (WebKit::childSetupFunction): close the socket and use prctl()
+ when platform is Linux to kill the child process when the parent
+ finishes.
+ (WebKit::ProcessLauncher::launchProcess): Use g_spawn_async() to
+ launch the web process.
+
+2011-04-07 Geoffrey Garen <ggaren@apple.com>
+
+ Some Handle<T> cleanup
+ https://bugs.webkit.org/show_bug.cgi?id=58109
+
+ * WebProcess/Plugins/Netscape/NPJSObject.cpp:
+ (WebKit::NPJSObject::NPJSObject): Updated for new null constructor.
+
+2011-04-07 Jessie Berlin <jberlin@apple.com>
+
+ Max build fix.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::checkSpellingOfString):
+ Do not risk an overflow.
+ (WebKit::WebEditorClient::checkGrammarOfString):
+ Ditto.
+
+2011-04-07 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Brian Weinstein.
+
+ WebKit2: Implement TextChecker on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=57862
+
+ Part 4: Implement checkGrammarOfString.
+
+ * Scripts/webkit2/messages.py:
+ The generated files should include TextCheckerClient.h for WebCore::GrammarDetail.
+
+ * Shared/API/c/win/WKBaseWin.h:
+ * Shared/APIObject.h:
+ * UIProcess/API/C/win/WKAPICastWin.h:
+
+ * UIProcess/API/C/win/WKGrammarDetail.cpp: Added.
+ (WKGrammarDetailGetTypeID):
+ (WKGrammarDetailCreate):
+ * UIProcess/API/C/win/WKGrammarDetail.h: Added.
+
+ * UIProcess/API/C/win/WKTextChecker.h:
+ Add the checkGrammarOfString WKTextCheckerClient function.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::checkGrammarOfString):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+
+ * UIProcess/TextChecker.h:
+ * UIProcess/win/TextCheckerWin.cpp:
+ (WebKit::TextChecker::checkGrammarOfString):
+ Call the TextCheckerClient.
+ * UIProcess/mac/TextCheckerMac.mm:
+ (WebKit::TextChecker::checkSpellingOfString):
+ Add a comment about this not being used on Mac.
+ (WebKit::TextChecker::checkGrammarOfString):
+ Ditto, and call notImplemented.
+ * UIProcess/gtk/TextCheckerGtk.cpp:
+ (WebKit::TextChecker::checkGrammarOfString):
+ Call notImplemented.
+ * UIProcess/qt/TextCheckerQt.cpp:
+ (WebKit::TextChecker::checkGrammarOfString):
+ Ditto.
+
+ * UIProcess/win/WebGrammarDetail.cpp: Added.
+ (WebKit::WebGrammarDetail::create):
+ (WebKit::WebGrammarDetail::WebGrammarDetail):
+ Initialize the underlying WebCore::GrammarDetail.
+ * UIProcess/win/WebGrammarDetail.h: Added.
+ (WebKit::WebGrammarDetail::grammarDetail):
+ (WebKit::WebGrammarDetail::type):
+
+ * UIProcess/win/WebTextCheckerClient.cpp:
+ (WebKit::WebTextCheckerClient::checkGrammarOfString):
+ Populate the Vector of WebCore::GrammarDetails with the WebGrammarDetails.
+ * UIProcess/win/WebTextCheckerClient.h:
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::checkSpellingOfString):
+ Use WTF::notFound as the initial value for resultLocation.
+ (WebKit::WebEditorClient::checkGrammarOfString):
+ Send a sync message to the UI Process (similar to checkSpellingOfString and checkTextOfParagraph).
+
+ * win/WebKit2.vcproj:
+ Add WKGrammarDetail.h/.cpp and WebGrammarDetail.h/.cpp.
+ * win/WebKit2Generated.make:
+ Copy over WKGrammarDetail.h.
+
+2011-04-07 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ REGRESSION(WebKit2): execCommand('undo') doesn't work (Windows).
+ https://bugs.webkit.org/show_bug.cgi?id=58056
+ <rdar://problem/8862023>
+
+ Adding support for execCommand('undo') and execCommand('redo')
+ in WebKit2 for Windows.
+
+ * UIProcess/API/C/win/WKView.h:
+ * UIProcess/win/WebUndoClient.cpp:
+ (WebKit::WebUndoClient::canUndoRedo):
+ (WebKit::WebUndoClient::executeUndoRedo):
+ * UIProcess/win/WebUndoClient.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::canUndoRedo):
+ (WebKit::WebView::executeUndoRedo):
+
+2011-04-07 Andrew Scherkus <scherkus@chromium.org>
+
+ Revert ENABLE_TRACK patch due to compile failures.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2011-04-07 Martin Robinson <mrobinson@igalia.com>
+
+ Fix the WebKit2 GTK+ build for older versions of GTK+.
+
+ * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Include the GtkVersioning.h header.
+
+2011-04-07 Amruth Raj <amruthraj@motorola.com> and Martin Robinson <mrobinson@igalia.com>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [GTK] Implement SharedMemory for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=49791
+
+ Share the SharedMemory, Attachment and Connection implementations with the Qt port.
+ Both implementation are, in fact, general Unix implementations using standard Unix
+ domain sockets and sendmsg / recvmsg. This should reduce the amount of duplicated code
+ greatly and lay the groundwork for GTK+/Qt implementations for other operating systems.
+
+ * GNUmakefile.am: Replaced GTK+ versions of files with the Unix ones.
+ * Platform/CoreIPC/ArgumentDecoder.cpp: Extended Qt #ifdefs to include GTK.
+ (CoreIPC::ArgumentDecoder::~ArgumentDecoder):
+ * Platform/CoreIPC/ArgumentEncoder.cpp: Ditto.
+ (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
+ * Platform/CoreIPC/Attachment.h: Ditto.
+ * Platform/CoreIPC/Connection.h: Combined the GTK+ and Qt sections.
+ * Platform/CoreIPC/unix/AttachmentUnix.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/qt/AttachmentQt.cpp.
+ * Platform/CoreIPC/unix/ConnectionUnix.cpp: Renamed from Source/WebKit2/Platform/CoreIPC/qt/ConnectionQt.cpp.
+ * Platform/unix/SharedMemoryUnix.cpp: Renamed from Source/WebKit2/Platform/qt/SharedMemoryQt.cpp.
+ * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
+ (WebKit::ProcessLauncher::launchProcess): Use SOCK_DGRAM instead of SOCK_STREAM to match Qt.
+ * WebKit2.pro: Updated source list to reflect file renaming.
+
+2011-04-07 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Brian Weinstein.
+
+ REGRESSION (r83081): Use of deallocated memory in WebEditorClient::respondToChangedSelection()
+ https://bugs.webkit.org/show_bug.cgi?id=58082
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp: (WebKit::WebEditorClient::respondToChangedSelection):
+ Now that the Range is used outside the full expression where it's created, it needs to be
+ protected with RefPtr.
+
+2011-04-07 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ <rdar://problem/9251566> WebBackForwardList::createCFDictionaryRepresentation's current item index
+ doesn't account for items removed by filter callback.
+
+ * UIProcess/cf/WebBackForwardListCF.cpp:
+ (WebKit::WebBackForwardList::createCFDictionaryRepresentation): Update the current item index
+ when we omit an item due to the filter callback.
+
+2011-04-07 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ REGRESSION (WebKit2): Reverse conversion doesn't work in Kotoeri
+ https://bugs.webkit.org/show_bug.cgi?id=58066
+ <rdar://problem/8965302>
+
+ * Scripts/webkit2/messages.py:
+ * Shared/mac/AttributedString.h: Added.
+ * Shared/mac/AttributedString.mm: Added.
+ (WebKit::AttributedString::encode):
+ (WebKit::AttributedString::decode):
+ Added an class that wraps NSAttributedString. As far as I can tell, one can't pass a CF
+ or NS object to another process without wrapping it in a C++ one.
+
+ * Shared/mac/ArgumentCodersMac.h: Added.
+ * Shared/mac/ArgumentCodersMac.mm: Added.
+ Added coders for Foundation objects, similar to ArgumentCodersCF. There are two reasons why
+ these are needed:
+ 1) Even though most Foundation objects are toll free bridged with CF, CFGetTypeID() doesn't
+ work properly for them (I've been just getting 1).
+ 2) NSColor isn't toll free bridged to CF.
+ This adds just the types necessary for editing NSAttributedString (and I don't yet know what
+ happens with attachments).
+
+ * UIProcess/API/mac/WKView.mm: (-[WKView attributedSubstringFromRange:]):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/mac/WebPageProxyMac.mm:
+ (WebKit::WebPageProxy::getAttributedSubstringFromRange):
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in:
+ Boilerplate code for making a sync call to web process.
+
+ * WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::getAttributedSubstringFromRange):
+ Ported from WebHTMLView.
+
+2011-04-07 Jeff Miller <jeffm@apple.com>
+
+ Mac build fix.
+
+ * Shared/WebString.h:
+ (WebKit::WebString::getCharacters): Add explict cast when using std::min().
+
+2011-04-07 Jeff Miller <jeffm@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Replace WKStringGetCharactersPtr() with WKStringGetCharacters()
+ https://bugs.webkit.org/show_bug.cgi?id=58058
+
+ WKStringGetCharactersPtr() exposes the internal implementation of WKString, so change this to WKStringGetCharacters(), which makes a UTF-16 copy.
+
+ * Shared/API/c/WKString.cpp:
+ (WKStringGetCharacters): Added, replaces WKStringGetCharactersPtr().
+ * Shared/API/c/WKString.h: Replaced WKStringGetCharactersPtr() with WKStringGetCharacters().
+ * Shared/WebString.h:
+ (WebKit::WebString::getCharacters): Added.
+
+2011-04-07 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit2: Support window bounce when panning.
+ https://bugs.webkit.org/show_bug.cgi?id=58065
+ <rdar://problem/9244367>
+
+ Make gestureDidScroll synchronous, as once we scroll, we need to know
+ whether or not we are at the beginning or end of the scrollable document.
+
+ If we are at either end of the scrollable document, we call the Windows 7
+ API to bounce the window to give an indication that you are past an end
+ of the document.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::gestureDidScroll): Pass a boolean for the reply, and return it.
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::WebView): Inititalize a new variable.
+ (WebKit::WebView::onGesture): Once we send the message to scroll, check if have gone to
+ an end of the document, and if we have, bounce the window.
+ * UIProcess/win/WebView.h:
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in: GestureDidScroll is now sync.
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::WebPage::gestureDidScroll): When we are done scrolling, check if we have a vertical
+ scrollbar and if we are at the beginning or the end of the scrollable document.
+
+2011-04-07 Chang Shu <cshu@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ WebKitTestRunner needs layoutTestController.isPageBoxVisible
+ https://bugs.webkit.org/show_bug.cgi?id=42695
+
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundleIsPageBoxVisible):
+ * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::isPageBoxVisible):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+
+2011-04-07 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ REGRESSION(WebKit2): execCommand('undo') doesn't work (Mac).
+ https://bugs.webkit.org/show_bug.cgi?id=58055
+ <rdar://problem/8862023>
+
+ Adding support for execCommand('undo') and execCommand('redo')
+ in WebKit2 for Mac.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::canUndoRedo): Added interaction with undomanager.
+ (WebKit::PageClientImpl::executeUndoRedo): Added interaction with undomanager.
+
+ Added new empty PageClient methods for other platforms.
+ * UIProcess/API/qt/qwkpage.cpp:
+ (QWKPagePrivate::canUndoRedo):
+ (QWKPagePrivate::executeUndoRedo):
+ * UIProcess/API/qt/qwkpage_p.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/gtk/WebView.cpp:
+ (WebKit::WebView::canUndoRedo):
+ (WebKit::WebView::executeUndoRedo):
+ * UIProcess/gtk/WebView.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::canUndoRedo):
+ (WebKit::WebView::executeUndoRedo):
+ * UIProcess/win/WebView.h:
+
+ * UIProcess/WebEditCommandProxy.cpp:
+ (WebKit::WebEditCommandProxy::unapply): Added flag to allow dispatching
+ of asychronous messages while waiting for a sync message reply.
+ (WebKit::WebEditCommandProxy::reapply): Same as above.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::canUndoRedo):
+ (WebKit::WebPageProxy::executeUndoRedo):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp: Added missing implementation.
+ (WebKit::WebEditorClient::canUndo):
+ (WebKit::WebEditorClient::canRedo):
+ (WebKit::WebEditorClient::undo):
+ (WebKit::WebEditorClient::redo):
+
+2011-04-07 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ <rdar://problem/9250368> and https://bugs.webkit.org/show_bug.cgi?id=58062
+
+ * UIProcess/API/C/WKIconDatabase.cpp:
+ (WKIconDatabaseClose):
+ * UIProcess/API/C/WKIconDatabase.h:
+
+ * UIProcess/WebIconDatabase.cpp:
+ (WebKit::WebIconDatabase::close):
+ * UIProcess/WebIconDatabase.h:
+
+2011-04-07 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit2: Implement TextChecker on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=57862
+
+ Part 3: Implement checkSpellingOfString
+
+ In WebCore, checkTextOfParagraph is only defined and used on platforms where
+ WTF_USE_UNIFIED_TEXT_CHECKING is defined (which right now is only non-Leopard and non-Tiger
+ Mac builds).
+
+ On other platforms, checkSpellingOfString and checkGrammarOfString (coming in a separate
+ patch in an attempt to keep things easier to review) are used.
+
+ * UIProcess/API/C/win/WKTextChecker.h:
+ * UIProcess/TextChecker.h:
+ Surround checkTextOfParagraph by #if USE(UNIFIED_TEXT_CHECKING) and add
+ checkSpellingOfString.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::checkTextOfParagraph):
+ Surround this by #if USE(UNIFIED_TEXT_CHECKING).
+ (WebKit::WebPageProxy::checkSpellingOfString):
+ Call through to the client.
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ Surround checkTextOfParagraph by #if USE(UNIFIED_TEXT_CHECKING) and add
+ checkSpellingOfString.
+
+ * UIProcess/win/TextCheckerWin.cpp:
+ (WebKit::TextChecker::checkSpellingOfString):
+ Call through to the WebTextCheckerClient.
+ * UIProcess/mac/TextCheckerMac.mm:
+ (WebKit::TextChecker::checkTextOfParagraph):
+ Surround this by #if USE(UNIFIED_TEXT_CHECKING) for clarity.
+ (WebKit::TextChecker::checkSpellingOfString):
+ Add a call to notImplemented.
+ * UIProcess/qt/TextCheckerQt.cpp:
+ (WebKit::TextChecker::checkSpellingOfString):
+ Ditto, and remove the implementation for checkTextOfParagraph.
+ * UIProcess/gtk/TextCheckerGtk.cpp:
+ (WebKit::TextChecker::checkSpellingOfString):
+ Ditto.
+
+ * UIProcess/win/WebTextCheckerClient.cpp:
+ (WebKit::WebTextCheckerClient::checkSpellingOfString):
+ * UIProcess/win/WebTextCheckerClient.h:
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::checkSpellingOfString):
+ Send a sync message to the UI Process (similar to the sync message used for
+ checkTextOfParagraph).
+
+2011-04-07 Siddharth Mathur <siddharth.mathur@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt][WK2][Symbian] Temporary build fix until native Symbian IPC is done. Implement fake socketpair() as it's not available.
+ https://bugs.webkit.org/show_bug.cgi?id=57877
+
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ (WebKit::socketpair): socketpair() which returns -1
+
+2011-04-07 Michael Saboff <msaboff@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ WebKit2: Memory leak in decodeResourceError
+ https://bugs.webkit.org/show_bug.cgi?id=58004
+
+ Release the local NSError after it is used to create a ResourceError
+ object assigned to the reference argument.
+
+ * Shared/mac/WebCoreArgumentCodersMac.mm:
+ (CoreIPC::decodeResourceError):
+
+2011-04-07 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Adam Barth.
+
+ Remove temporary WebProcess sandbox rules that are unnecessary now that plugins are in their own process
+ https://bugs.webkit.org/show_bug.cgi?id=58023
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2011-04-07 Maciej Stachowiak <mjs@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Remove some no longer needed WebProcess sandbox allowances
+ https://bugs.webkit.org/show_bug.cgi?id=58015
+ <rdar://problem/9232592>
+
+ * WebProcess/com.apple.WebProcess.sb: Remove no-longer needed extra network
+ and launching privileges, since the bugs that required them are fixed.
+
+2011-04-06 Chang Shu <cshu@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ WebKitTestRunner needs layoutTestController.pageSizeAndMarginsInPixels
+ https://bugs.webkit.org/show_bug.cgi?id=57984
+
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundlePageSizeAndMarginsInPixels):
+ * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::pageSizeAndMarginsInPixels):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+
+2011-04-06 Siddharth Mathur <siddharth.mathur@nokia.com>
+
+ Reviewed by Benjamin Poulain.
+
+ [Qt][WK2][Symbian] Remove use of stack arrays with variable size
+ https://bugs.webkit.org/show_bug.cgi?id=57877
+
+ For better compiler portability, use new/delete for arrays when size
+ isn't known at compile time. Also fix one compiler warning about bitshift
+ operations on signed integers.
+ * Platform/CoreIPC/qt/ConnectionQt.cpp:
+ (CoreIPC::Connection::readyReadHandler):
+ (CoreIPC::Connection::sendOutgoingMessage):
+
+2011-04-06 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Adam Roben.
+
+ WebKit2: Support Windows 7 Gestures
+ https://bugs.webkit.org/show_bug.cgi?id=49824
+ <rdar://problem/8689728>
+
+ Port code from WebKit1 -> WebKit2 to handle Windows 7 gestures.
+
+ The UIProcess gets a WM_GESTURENOTIFY message, it sends a sync message to the WebProcess to ask
+ if we should allow panning. The WebProcess checks if we're in a scrollable area, and the mouse
+ isn't over a scrollbar.
+
+ The UIProcess then gets a WM_GESTURE message, and if it is a pan gesture, it sends a message to
+ the WebProcess to scroll by the amount fingers have moved since the last WM_GESTURE messeage. The
+ X and Y are reversed because panning up -> moving the page down, and vice versa.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::gestureWillBegin): Send a sync message to the WebProcess
+ to initialize the gesture. The WebProcess returns whether or not we can start a pan
+ gesture from where we are.
+ (WebKit::WebPageProxy::gestureDidScroll): Send a message to the WebProcess to scroll by
+ pan gesture.
+ (WebKit::WebPageProxy::gestureDidEnd): Send a message to the WebProcess that the gesture has ended.
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::wndProc): Add WM_GESTURE and WM_GESTURENOTIFY handlers.
+ (WebKit::WebView::WebView): Initialize two new variables.
+ (WebKit::WebView::onGestureNotify): Figure out which gestures we should support based on where
+ the gesture is beginning.
+ (WebKit::WebView::onGesture): Support starting a gesture, ending a gesture, and panning.
+ * UIProcess/win/WebView.h:
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in: Add messages needed for gestures.
+ * WebProcess/WebPage/win/WebPageWin.cpp:
+ (WebKit::WebPage::gestureWillBegin): Set the node that the gesture started on (so we
+ know which layer to scroll if the user pans), and determine whether or not we should allow
+ panning. If the page can't scroll, or the user is on a scrollbar, disallow panning.
+ (WebKit::WebPage::gestureDidScroll): Scroll the enclosing layer of the element the gesture
+ started on.
+ (WebKit::WebPage::gestureDidEnd): Clear the node the gesture started on.
+
+2011-04-06 Jeff Miller <jeffm@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add WKStringGetCharactersPtr() and WKStringGetLength() to WebKit2 C API
+ https://bugs.webkit.org/show_bug.cgi?id=57989
+
+ Note that WKChar, which is returned by WKStringGetCharactersPtr(), is defined the same way we define JSChar in JSStringRef.h.
+
+ * Shared/API/c/WKString.cpp:
+ (WKStringGetLength): Added.
+ (WKStringGetCharactersPtr): Added.
+ * Shared/API/c/WKString.h: Define WKChar and added WKStringGetLength() and WKStringGetCharactersPtr().
+ * Shared/WebString.h:
+ (WebKit::WebString::length): Added.
+ (WebKit::WebString::characters): Added.
+
+2011-04-06 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Dock stays in front of Hulu.com full screen video output
+ https://bugs.webkit.org/show_bug.cgi?id=57988
+ <rdar://problem/9216260>
+
+ Instead of using -[NSMenu setMenuBarVisible:] to toggle full screen, use
+ -[NSApp setPresentationOptions:]. Also, make the UI process the front most app before
+ setting the presentation options when exiting full screen, otherwise the dock won't
+ be restored correctly.
+
+ * PluginProcess/mac/PluginProcessShim.mm:
+ Remove some shim functions that aren't needed.
+
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ (WebKit::PluginProcessProxy::PluginProcessProxy):
+ Initialize m_preFullscreenAppPresentationOptions.
+
+ * UIProcess/Plugins/PluginProcessProxy.h:
+ Add m_preFullscreenAppPresentationOptions.
+
+ * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
+ (WebKit::PluginProcessProxy::enterFullscreen):
+ Change the presentation options for the app.
+
+ (WebKit::PluginProcessProxy::exitFullscreen):
+ Restore the presentation options.
+
+2011-04-06 Mark Rowe <mrowe@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Expose the original URL of a WKBackForwardListItem.
+
+ Needed for <rdar://problem/9074651>.
+
+ * UIProcess/API/C/WKBackForwardListItem.cpp:
+ (WKBackForwardListItemCopyOriginalURL):
+ * UIProcess/API/C/WKBackForwardListItem.h:
+
+2011-04-06 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ https://bugs.webkit.org/show_bug.cgi?id=57973 and https://bugs.webkit.org/show_bug.cgi?id=57973
+ WK2 icon database should be able to get a CGImage of a specific size
+
+ * UIProcess/API/C/cg/WKIconDatabaseCG.cpp:
+ (WKIconDatabaseTryGetCGImageForURL): Change this API to take a requested size, and find the first matching
+ CGImage in the icon.
+ * UIProcess/API/C/cg/WKIconDatabaseCG.h:
+
+2011-04-06 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2: Implement TextChecker on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=57862
+
+ Part 2: Implement uniqueSpellDocumentTag and closeSpellDocumentWithTag.
+
+ * UIProcess/API/C/win/WKTextChecker.h:
+ * UIProcess/win/TextCheckerWin.cpp:
+ (WebKit::TextChecker::uniqueSpellDocumentTag):
+ (WebKit::TextChecker::closeSpellDocumentWithTag):
+ * UIProcess/win/WebTextCheckerClient.cpp:
+ (WebKit::WebTextCheckerClient::uniqueSpellDocumentTag):
+ (WebKit::WebTextCheckerClient::closeSpellDocumentWithTag):
+ * UIProcess/win/WebTextCheckerClient.h:
+
+2011-04-06 Robert Sesek <rsesek@chromium.org>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Move code duplicated between the WebKit/mac and WebKit2 down to WebCore because Chromium will need it too
+ https://bugs.webkit.org/show_bug.cgi?id=54969
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::respondToChangedSelection): Moved duplicated code to WebCore
+ * WebProcess/WebPage/mac/WebPageMac.mm: Moved duplicated code to WebCore
+ (WebKit::WebPage::getMarkedRange):
+ (WebKit::WebPage::getSelectedRange):
+ (WebKit::WebPage::characterIndexForPoint):
+ (WebKit::WebPage::performDictionaryLookupAtLocation):
+
+2011-04-06 Chang Shu <cshu@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ WebKitTestRunner needs layoutTestController.pageNumberForElementById
+ https://bugs.webkit.org/show_bug.cgi?id=42329
+
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundlePageNumberForElementById):
+ * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::pageNumberForElementById):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+
+2011-04-05 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION: Drag & Drop Gmail Attachments doesn't work.
+ https://bugs.webkit.org/show_bug.cgi?id=57909
+ <rdar://problem/9103220>
+
+ Added _hitTest method to support drag and drop when the drag types cannot be matched.
+ This is the case for elements that do not place content
+ in the drag pasteboard automatically when the drag start (i.e. dragging a DIV element).
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView _hitTest:dragTypes:]): Added.
+
+2011-04-06 Csaba Osztrogonác <ossy@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ Fix using UNUSED_PARAM introduced in r82907
+ https://bugs.webkit.org/show_bug.cgi?id=57940
+
+ * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
+ (WebKit::WebResourceCacheManager::clearCacheForOrigin):
+
+2011-04-06 Jessie Berlin <jberlin@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ WebKit2: Implement TextChecker on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=57862
+
+ Part 1: Get and set the state.
+
+ * Shared/API/c/win/WKBaseWin.h:
+ * Shared/APIObject.h:
+ * UIProcess/API/C/win/WKAPICastWin.h:
+
+ * UIProcess/API/C/win/WKTextChecker.cpp: Added.
+ (WKTextCheckerSetClient):
+ (WKTextCheckerContinuousSpellCheckingEnabledStateChanged):
+ (WKTextCheckerGrammarCheckingEnabledStateChanged):
+ * UIProcess/API/C/win/WKTextChecker.h: Added.
+
+ * UIProcess/TextChecker.h:
+ * UIProcess/win/TextCheckerWin.cpp:
+ (WebKit::TextChecker::state):
+ Do the initalization for the state only once so that it is not necessary to call the client
+ every time the state is requested.
+ (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
+ Call the client.
+ (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
+ Update the state and tell the client.
+ (WebKit::TextChecker::setGrammarCheckingEnabled):
+ Ditto.
+ (WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
+ Update the state.
+ (WebKit::TextChecker::grammarCheckingEnabledStateChanged):
+ Update the state.
+
+ * UIProcess/win/WebTextChecker.cpp: Added.
+ (WebKit::WebTextChecker::shared):
+ Make the WebTextChecker available globally.
+ (WebKit::WebTextChecker::WebTextChecker):
+ (WebKit::WebTextChecker::setClient):
+ (WebKit::updateStateForAllWebProcesses):
+ (WebKit::WebTextChecker::continuousSpellCheckingEnabledStateChanged):
+ Tell the TextChecker that the state has changed, and then tell the
+ WebProcessProxies to send the new state to the WebProcesses.
+ (WebKit::WebTextChecker::grammarCheckingEnabledStateChanged):
+ Ditto.
+ * UIProcess/win/WebTextChecker.h: Added.
+ (WebKit::WebTextChecker::client):
+ (WebKit::WebTextChecker::type):
+
+ * UIProcess/win/WebTextCheckerClient.cpp: Added.
+ (WebKit::WebTextCheckerClient::continuousSpellCheckingAllowed):
+ (WebKit::WebTextCheckerClient::continuousSpellCheckingEnabled):
+ (WebKit::WebTextCheckerClient::setContinuousSpellCheckingEnabled):
+ (WebKit::WebTextCheckerClient::grammarCheckingEnabled):
+ (WebKit::WebTextCheckerClient::setGrammarCheckingEnabled):
+ * UIProcess/win/WebTextCheckerClient.h: Added.
+
+ * win/WebKit2.vcproj:
+ Add WKTextChecker.h/.cpp, WebTextChecker.h/.cpp, and WebTextCheckerClient.h/.cpp.
+ * win/WebKit2Generated.make:
+ Copy over WKTextChecker.h.
+
+2011-04-05 Chang Shu <cshu@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ WebKitTestRunner needs layoutTestController.numberOfPages
+ https://bugs.webkit.org/show_bug.cgi?id=42694
+
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundleNumberOfPages):
+ * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::numberOfPages):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+
+2011-04-05 Darin Adler <darin@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ [Mac] WebKit2: Escape key does not stop page loads when focus is on the web page
+ https://bugs.webkit.org/show_bug.cgi?id=57893
+ <rdar://problem/9130486>
+
+ * UIProcess/API/mac/PageClientImpl.h: Added executeSavedCommandBySelector.
+ * UIProcess/API/mac/PageClientImpl.mm: Renamed internal Objective-C classes to use
+ the WebKit2 Objective-C class prefix, WK, rather than the WebKit1 Objective-C class
+ prefix, Web. Removed some unneeded explicit WebKit namespace prefixes.
+ (-[WKEditCommandObjC initWithWebEditCommandProxy:]): Removed unneeded WebKit
+ namespace prefix.
+ (-[WKEditCommandObjC command]): Ditto.
+ (-[WKEditorUndoTargetObjC undoEditing:]): Updated for new class name.
+ (-[WKEditorUndoTargetObjC redoEditing:]): Ditto.
+ (WebKit::PageClientImpl::PageClientImpl): Ditto.
+ (WebKit::PageClientImpl::registerEditCommand): Ditto.
+ (WebKit::PageClientImpl::executeSavedCommandBySelector): Added.
+
+ * UIProcess/API/mac/WKView.mm: Renamed internal Objective-C categories to use the
+ WebKit2 Objective-C prefix, WK, rather than the WebKit1 Objective-C prefix, Web,
+ or no prefix at all. Tweaked use of extern "C" a little.
+ (-[WKView doCommandBySelector:]): Tweaked the comment.
+ (-[WKView _executeSavedCommandBySelector:]): Added. For use when command is not handled
+ by WebCore.
+ (-[WKResponderChainSink initWithResponderChain:]): Added. Based on the
+ WebResponderChainSink class in WebKit1.
+ (-[WKResponderChainSink detach]): Added.
+ (-[WKResponderChainSink didReceiveUnhandledCommand]): Added.
+ (-[WKResponderChainSink noResponderFor:]): Added.
+ (-[WKResponderChainSink doCommandBySelector:]): Added.
+ (-[WKResponderChainSink tryToPerform:with:]): Added.
+
+ * UIProcess/API/mac/WKViewInternal.h: Added declaration of _executeSavedCommandBySelector:
+ method. Also removed unneeded includes.
+
+ * UIProcess/PageClient.h: Added executeSavedCommandBySelector.
+ * UIProcess/WebPageProxy.h: Added executeSavedCommandBySelector.
+ * UIProcess/WebPageProxy.messages.in: Added ExecuteSavedCommandBySelector.
+
+ * UIProcess/mac/WebFullScreenManagerProxyMac.mm: Updated includes.
+
+ * UIProcess/mac/WebPageProxyMac.mm:
+ (WebKit::WebPageProxy::executeSavedCommandBySelector): Added.
+
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::executeKeypressCommandsInternal): Send the synchronous
+ ExecuteSavedCommandBySelector message when a command is not handled by WebCore.
+
+2011-04-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Some plug-in content is displayed upside down in Unity plug-in
+ https://bugs.webkit.org/show_bug.cgi?id=57895
+ <rdar://problem/9212003>
+
+ Create the flipped geometry layer in the web process instead of the plug-in process,
+ which matches what we do in WebKit1.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::platformPostInitialize):
+ * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
+ (WebKit::PluginProxy::pluginLayer):
+
+2011-04-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Assertion failure when navigating quickly between file URLs
+ https://bugs.webkit.org/show_bug.cgi?id=57884
+ <rdar://problem/9080559>
+
+ Remove bogus assertion. The pending provisional sandbox extension can be
+ non-null if the current provisional load fails because we're about to load a new
+ page that also has a sandbox extension.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::SandboxExtensionTracker::didFailProvisionalLoad):
+
+2011-04-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Grant the web process access to ~/Library/Preferences/com.apple.universalaccess.plist
+ https://bugs.webkit.org/show_bug.cgi?id=57879
+
+ The web process needs access to the unviersal access preferences to determine if full keyboard
+ access is enabled. I've filed <rdar://problem/9237619> which tracks reading this preference in the UI
+ process and sending it over to the web process whenever it changes.
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2011-04-05 Dean Jackson <dino@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Add parentheses around && within || to avoid clang warning.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState):
+
+2011-04-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Add two more entries to the sandbox profile
+ https://bugs.webkit.org/show_bug.cgi?id=57875
+
+ Allow read-access to /Library/Dictionaries since WebCore::nextBreakablePosition
+ ends up calling into ICU which accesses the dictionary.
+
+ Allow Mach access to com.apple.networkd since it's used by CFNetwork.
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2011-04-05 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Oliver Hunt.
+
+ Invalidate callbacks if the WebPageProxy is no longer valid
+ https://bugs.webkit.org/show_bug.cgi?id=57873
+ <rdar://problem/9059717>
+
+ Audit all function calls that take callbacks and make sure to invalidate the callbacks
+ if the web page is no longer valid.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::runJavaScriptInMainFrame):
+ (WebKit::WebPageProxy::getRenderTreeExternalRepresentation):
+ (WebKit::WebPageProxy::getSourceForFrame):
+ (WebKit::WebPageProxy::getContentsAsString):
+ (WebKit::WebPageProxy::getSelectionOrContentsAsString):
+ (WebKit::WebPageProxy::getMainResourceDataOfFrame):
+ (WebKit::WebPageProxy::getResourceDataFromFrame):
+ (WebKit::WebPageProxy::getWebArchiveOfFrame):
+ (WebKit::WebPageProxy::forceRepaint):
+ (WebKit::WebPageProxy::computePagesForPrinting):
+ (WebKit::WebPageProxy::drawRectToPDF):
+ (WebKit::WebPageProxy::drawPagesToPDF):
+
+2011-04-05 Adam Roben <aroben@apple.com>
+
+ Disable accelerated compositing on Windows machines that don't support it
+
+ This includes machines without the necessary graphics hardware, and machines without
+ WebKitQuartzCoreAdditions (like the Windows 7 Release (WebKit2 Tests) bots).
+
+ Fixes <http://webkit.org/b/57870> REGRESSION (r82960): Lots of tests crashing in
+ DrawingAreaImpl::enterAcceleratedCompositingMode on Windows 7 Release (WebKit2 Tests)
+
+ Reviewed by Anders Carlsson.
+
+ * WebProcess/WebPage/LayerTreeHost.h:
+ (WebKit::LayerTreeHost::supportsAcceleratedCompositing): Added. On platforms other than
+ Windows, this always returns true.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences): Only enable accelerated compositing-related
+ preferences if the machine supports accelerated compositing.
+
+ * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp:
+ (WebKit::LayerTreeHostCAWin::supportsAcceleratedCompositing): Added. Creates a view, asks it
+ if it can draw, and returns the result.
+
+ * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.h: Added supportsAcceleratedCompositing.
+
+ * WebProcess/WebPage/win/LayerTreeHostWin.cpp: Added.
+ (WebKit::LayerTreeHost::supportsAcceleratedCompositing): Added. Calls through to
+ LayerTreeHostCAWin in configurations that support that class. Otherwise just returns false.
+
+ * win/WebKit2.vcproj: Added LayerTreeHostWin.cpp. Let VS reorder some other files.
+
+2011-04-05 Adam Roben <aroben@apple.com>
+
+ Make accelerated compositing work in WebKit2 on Windows
+
+ LayerTreeHostCAWin uses WKCACFView to render each frame to an image, then has
+ DrawingAreaImpl send that image over to the UI process (just like it does for
+ non-accelerated rendering). It's unfortunate that this requires reading every frame back
+ from the GPU into system memory. More efficient solutions can be explored in the future.
+
+ Fixes <http://webkit.org/b/45567>.
+
+ Reviewed by Anders Carlsson.
+
+ * DerivedSources.make: Added $(WebKit2) to the VPATH so that DerivedSources.make can be
+ found when used as a target dependency. Added rules to generate a HeaderDetection.h file on
+ Windows. If we can find WebKitQuartzCoreAdditions headers, we define HAVE_WKQCA in
+ HeaderDetection.h.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::setLayerHostNeedsDisplay):
+ * WebProcess/WebPage/DrawingAreaImpl.h:
+ Added setLayerHostNeedsDisplay. Lets the layer host tell the DrawingAreaImpl that it has a
+ new frame to render. This should only be called by layer hosts that participate in
+ DrawingAreaImpl's display mechanism.
+
+ * WebProcess/WebPage/LayerTreeHost.cpp:
+ (WebKit::LayerTreeHost::create): Only try to instantiate LayerTreeHostCAWin if we have
+ WebKitQuartzCoreAdditions, since it depends on that library.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences): Removed code that forced accelerated compositing to be
+ disabled on Windows.
+
+ * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp:
+ (WebKit::registerDummyWindowClass): Registers the window class we use for the dummy window.
+ (WebKit::createDummyWindow): Creates the dummy window we pass to WKCACFView so that D3D can
+ determine the display mode, etc. (The window is never shown on screen.)
+ (WebKit::LayerTreeHostCAWin::LayerTreeHostCAWin): Initialize new members.
+ (WebKit::LayerTreeHostCAWin::platformInitialize): Create our dummy window and view and
+ associate the two. We set ourselves as the view's context's user data so that
+ PlatformCALayer can get our AbstractCACFLayerTreeHost pointer as needed.
+ (WebKit::LayerTreeHostCAWin::invalidate): Cancel any pending flushes, tear down our view,
+ and destroy the dummy window if no other layer host is using it.
+ (WebKit::LayerTreeHostCAWin::scheduleLayerFlush): Ask LayerChangesFlusher to call us back
+ soon to perform the flush.
+ (WebKit::LayerTreeHostCAWin::participatesInDisplay): Added. Returns true, since we render
+ each frame to an image.
+ (WebKit::LayerTreeHostCAWin::needsDisplay): Added. Returns true if it's now time to
+ displayReturns true if it's now time to display.
+ (WebKit::LayerTreeHostCAWin::timeUntilNextDisplay): Added. Returns how many seconds remain
+ before we need to display again.
+ (WebKit::size): Added. Helper function to get the size of a WKCACFImage.
+ (WebKit::toShareableBitmap): Added. Helper function to convert a WKCACFImage to a
+ ShareableBitmap.
+ (WebKit::LayerTreeHostCAWin::display): Added. Renders the next frame to an image and stuffs
+ the image into the UpdateInfo struct.
+ (WebKit::LayerTreeHostCAWin::sizeDidChange): Added. Tells the view about the new size.
+ (WebKit::LayerTreeHostCAWin::forceRepaint): Added. Flushes any pending changes to the view.
+ (WebKit::LayerTreeHostCAWin::contextDidChangeCallback): Added. WKCACFView calls this
+ whenever any changes made to the view or its layer tree have been flushed. Just calls
+ through to contextDidChange.
+ (WebKit::LayerTreeHostCAWin::contextDidChange): Added. Tells layers that they've started
+ animating, and tells the DrawingAreaImpl that we need to display again.
+ (WebKit::LayerTreeHostCAWin::rootLayer): Added. Gets the root layer's PlatformCALayer.
+ (WebKit::LayerTreeHostCAWin::addPendingAnimatedLayer): Added. Stores the layer so that we
+ can tell it animations have started the next time we get a contextDidChange callback.
+ (WebKit::LayerTreeHostCAWin::layerTreeDidChange): Added. Schedules a flush, unless we're
+ already in the process of flushing. This code came from WebCore::WKCACFViewLayerTreeHost.
+ (WebKit::LayerTreeHostCAWin::flushPendingLayerChangesNow): Added. Performs the flush. This
+ code was adapted from WebCore::WKCACFViewLayerTreeHost.
+
+ * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.h: Wrapped this whole header in HAVE(WKQCA),
+ since this class only works when WebKitQuartzCoreAdditions is available. Added a bunch of
+ new members.
+
+2011-04-04 Adam Roben <aroben@apple.com>
+
+ Add a way for LayerTreeHost to participate in DrawingAreaImpl's normal display mechanism
+
+ When LayerTreeHost participates in display, it renders each frame into a bitmap.
+ DrawingAreaImpl sends the bitmap to the UI process in an Update message, just like in
+ non-accelerated compositing mode. The UI process never knows that accelerated compositing is
+ going on. (When LayerTreeHost does not participate in display, as on Mac, it is responsible
+ for getting bits from the web process to the UI process.)
+
+ No LayerTreeHost uses this mechanism (yet). This patch should cause no change in behavior.
+
+ Fixes <http://webkit.org/b/57792> LayerTreeHost needs a way to render frames to a bitmap
+
+ Reviewed by Anders Carlsson.
+
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::forceRepaint): If the layer tree host participates in display,
+ perform a display (like in the non-accelerated case).
+ (WebKit::DrawingAreaImpl::layerHostDidFlushLayers): Don't send an
+ EnterAcceleratedCompositing message to the UI process if the layer tree host participates in
+ display. In that case, the UI process doesn't even need to know we're using accelerated
+ compositing in the web process.
+ (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState): Go through the normal display
+ mechanism if we have a layer tree host that participates in display.
+ (WebKit::DrawingAreaImpl::didUpdate): Don't ignore DidUpdate messages when we have a layer
+ tree host that participates in display.
+ (WebKit::DrawingAreaImpl::enterAcceleratedCompositingMode): If the new layer tree host
+ participates in display, let the display timer continue to run and continue to expect
+ DidUpdate messages so that we don't interrupt the normal display mechanism. We still clear
+ out m_dirtyRegion, m_scrollRect, and m_scrollOffset, though, because the layer tree host is
+ still responsible for keeping track of those things even when it participates in display.
+ (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): If the outgoing layer tree host
+ was participating in display, just send another Update message instead of an
+ ExitAcceleratedCompositing message, since the UI process never even knew we were using
+ accelerated compositing.
+ (WebKit::DrawingAreaImpl::displayTimerFired): If we have a layer tree host that's
+ participating in display, ask it when it next needs to display when scheduling our timer.
+
+ (WebKit::DrawingAreaImpl::scheduleDisplay):
+ (WebKit::DrawingAreaImpl::display):
+ If we have a layer tree host that's participating in display, it will keep track of its own
+ dirty region, so ask it if it needs display rather than checking our own dirty region.
+
+ (WebKit::DrawingAreaImpl::display): If we have a layer tree host that's participating in
+ display, don't bail out. Instead, tell it to display rather than asking the page to paint.
+ Moved the setting of updateInfo.viewSize earlier so that it will be set even when the layer
+ tree host is displaying. Other changes are just due to indentation.
+
+ * WebProcess/WebPage/LayerTreeHost.h:
+ (WebKit::LayerTreeHost::participatesInDisplay):
+ (WebKit::LayerTreeHost::needsDisplay):
+ (WebKit::LayerTreeHost::timeUntilNextDisplay):
+ (WebKit::LayerTreeHost::display):
+ Stubbed out these functions. Derived classes can override them to participate in display.
+
+2011-04-04 MORITA Hajime <morrita@google.com>
+
+ Reviewed by Ryosuke Niwa.
+
+ [Refactoring] SpellCheckingResult should be replaced with TextCheckingResult
+ https://bugs.webkit.org/show_bug.cgi?id=56085
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::requestCheckingOfString):
+ * WebProcess/WebCoreSupport/WebEditorClient.h:
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+ (WebKit::WebEditorClient::checkTextOfParagraph):
+
+2011-04-05 Alejandro G. Castro <alex@igalia.com>
+
+ Another compilation fix after r82929 horrible patch merge.
+
+ * UIProcess/WebPageProxy.messages.in:
+
+2011-04-05 Alejandro G. Castro <alex@igalia.com>
+
+ Fix compilation error after r82929.
+
+ * WebProcess/WebPage/WebPage.h:
+
+2011-04-05 Amruth Raj <amruthraj@motorola.com>, Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com> and Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Implement WebPage class for WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=54230
+
+ Added functions to handle the generation of commands from the
+ keycodes.
+
+ * GNUmakefile.am:
+ * Scripts/webkit2/messages.py:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/gtk/WebPageProxyGtk.cpp:
+ (WebKit::WebPageProxy::getEditorCommandsForKeyEvent):
+ * UIProcess/gtk/WebView.cpp:
+ (WebKit::backspaceCallback):
+ (WebKit::selectAllCallback):
+ (WebKit::cutClipboardCallback):
+ (WebKit::copyClipboardCallback):
+ (WebKit::pasteClipboardCallback):
+ (WebKit::toggleOverwriteCallback):
+ (WebKit::popupMenuCallback):
+ (WebKit::showHelpCallback):
+ (WebKit::deleteFromCursorCallback):
+ (WebKit::moveCursorCallback):
+ (WebKit::WebView::WebView):
+ (WebKit::WebView::getEditorCommandsForKeyEvent):
+ * UIProcess/gtk/WebView.h:
+ (WebKit::WebView::addPendingEditorCommand):
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ * WebProcess/WebCoreSupport/WebEditorClient.h:
+ * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp: Added.
+ (WebKit::WebEditorClient::getEditorCommandsForKeyEvent):
+ (WebKit::WebEditorClient::executePendingEditorCommands):
+ (WebKit::WebEditorClient::handleKeyboardEvent):
+ (WebKit::WebEditorClient::handleInputMethodKeydown):
+ * WebProcess/WebPage/WebPage.cpp:
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/gtk/WebPageGtk.cpp: Added.
+ (WebKit::WebPage::platformInitialize):
+ (WebKit::WebPage::platformPreferencesDidChange):
+ (WebKit::scroll):
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
+ (WebKit::WebPage::platformHasLocalDataForURL):
+ (WebKit::WebPage::cachedResponseMIMETypeForURL):
+ (WebKit::WebPage::platformCanHandleRequest):
+
+2011-04-05 Csaba Osztrogonác <ossy@webkit.org>
+
+ Remove duplicate API from WKContext
+ <rdar://problem/8727879>
+ https://bugs.webkit.org/show_bug.cgi?id=57815
+
+ Unreviewed buildfix after r82906.
+
+ Add UNUSED_PARAM to resourceCachesToClear, because
+ it is only used within #if USE(CFURLCACHE) guard.
+
+ * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
+ (WebKit::WebResourceCacheManager::clearCacheForOrigin):
+
+2011-04-04 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Brian Weinstein.
+
+ Remove duplicate API from WKContext
+ <rdar://problem/8727879>
+ https://bugs.webkit.org/show_bug.cgi?id=57815
+
+ - Remove WKContextClearResourceCaches and WKContextClearApplicationCache in favor
+ of their more modern counterparts WKResourceCacheManagerClearCacheForAllOrigins
+ and WKApplicationCacheManagerDeleteAllEntries.
+
+ - Expand clearing functionality of WKResourceCacheManager by adding type of resources
+ to clear.
+
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h:
+ Remove clearing bools.
+
+ * UIProcess/API/C/WKAPICast.h:
+ (WebKit::toResourceCachesToClear):
+ Update for new name of enum.
+
+ * UIProcess/API/C/WKContext.cpp:
+ * UIProcess/API/C/WKContext.h:
+ Remove WKContextClearResourceCaches and WKContextClearApplicationCache.
+
+ * UIProcess/API/C/WKResourceCacheManager.cpp:
+ (WKResourceCacheManagerClearCacheForOrigin):
+ (WKResourceCacheManagerClearCacheForAllOrigins):
+ * UIProcess/API/C/WKResourceCacheManager.h:
+ Add WKResourceCachesToClear enum and use it in the clearing functions.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext):
+ (WebKit::WebContext::ensureWebProcess):
+ * UIProcess/WebContext.h:
+ * WebProcess/WebProcess.messages.in:
+ Remove clearing functions and setting of bools for clear on launch.
+
+ * UIProcess/WebFullScreenManagerProxy.cpp:
+ Remove unnecessary #include.
+
+ * UIProcess/WebResourceCacheManagerProxy.cpp:
+ (WebKit::WebResourceCacheManagerProxy::clearCacheForOrigin):
+ (WebKit::WebResourceCacheManagerProxy::clearCacheForAllOrigins):
+ * UIProcess/WebResourceCacheManagerProxy.h:
+ * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
+ (WebKit::WebResourceCacheManager::clearCacheForOrigin):
+ (WebKit::WebResourceCacheManager::clearCacheForAllOrigins):
+ * WebProcess/ResourceCache/WebResourceCacheManager.h:
+ * WebProcess/ResourceCache/WebResourceCacheManager.messages.in:
+ Add enum parameter describing what type of caches to clear.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess):
+ (WebKit::WebProcess::clearResourceCaches):
+ * WebProcess/WebProcess.h:
+ No longer need to use opaque type now that it is not a message receiver.
+
+2011-04-04 David Kilzer <ddkilzer@apple.com>
+
+ <http://webkit.org/b/57384> CFNetwork and WebCore load priorities should match
+
+ Reviewed by Alexey Proskuryakov.
+
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface): Added initialization for
+ wkSetHTTPPipeliningMaximumPriority().
+
+2011-04-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Send NPCocoaEventFlagsChanged events
+ https://bugs.webkit.org/show_bug.cgi?id=57811
+ <rdar://problem/9215600>
+
+ * Shared/WebEvent.h:
+ (WebKit::WebEvent::capsLockKey):
+ Add CapsLock modifier and getter.
+
+ * Shared/mac/WebEventFactory.mm:
+ (WebKit::modifiersForEvent):
+ Check for NSAlphaShiftKeyMask and set the CapsLockKey modifier.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::modifierFlags):
+ Check for CapsLockKey and set NSAlphaShiftKeyMask.
+
+ (WebKit::isFlagsChangedEvent):
+ Return whether a given event is a Cocoa flags changed event.
+
+ (WebKit::initializeKeyboardEvent):
+ If this is a flags changed event, set the event type to NPCocoaEventFlagsChanged.
+
+2011-04-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Don't discard the backing stores of WKViews in the key window
+ https://bugs.webkit.org/show_bug.cgi?id=57808
+ <rdar://problem/9110793>
+ <rdar://problem/9194284>
+ <rdar://problem/9222216>
+
+ * UIProcess/DrawingAreaProxy.h:
+ (WebKit::DrawingAreaProxy::setBackingStoreIsDiscardable):
+ Add empty stub.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
+ Initialize m_isBackingStoreDiscardable to true.
+
+ (WebKit::DrawingAreaProxyImpl::setBackingStoreIsDiscardable):
+ Set m_isBackingStoreDiscardable and schedule or stop the discard backing store timer.
+
+ (WebKit::DrawingAreaProxyImpl::discardBackingStoreSoon):
+ Don't start the timer if m_isBackingStoreDiscardable is false.
+
+ * UIProcess/DrawingAreaProxyImpl.h:
+ Add m_isBackingStoreDiscardable.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::viewStateDidChange):
+ Mark the backing store as discardable if the view is hidden or if the containing window
+ is not active.
+
+2011-04-04 Jade Han <jade.han@nokia.com>
+
+ Reviewed by Csaba Osztrogonác.
+
+ Symbian build fix.
+ https://bugs.webkit.org/show_bug.cgi?id=54977
+
+ * config.h:
+
+2011-04-04 Brady Eidson <beidson@apple.com>
+
+ Rubberstamped by Adam Roben.
+
+ Add WKIconDatabase* headers to the WebKit2 export for Windows:
+ * win/WebKit2Generated.make:
+
+2011-04-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Get rid of WebContext::process() in more places
+ https://bugs.webkit.org/show_bug.cgi?id=57787
+
+ Migrate calls to WebContext::process() over to sendToAllProcesses and
+ sendToAllProcessesRelaunchingThemIfNecessary.
+
+ Add FIXMEs for things that need to be fixed in order to support multiple web processes.
+
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ (WebKit::DownloadProxy::cancel):
+ * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
+ (WebKit::WebPluginSiteDataManager::getSitesWithData):
+ (WebKit::WebPluginSiteDataManager::clearSiteData):
+ * UIProcess/VisitedLinkProvider.cpp:
+ (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired):
+ * UIProcess/WebApplicationCacheManagerProxy.cpp:
+ (WebKit::WebApplicationCacheManagerProxy::getApplicationCacheOrigins):
+ (WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin):
+ (WebKit::WebApplicationCacheManagerProxy::deleteAllEntries):
+ * UIProcess/WebCookieManagerProxy.cpp:
+ (WebKit::WebCookieManagerProxy::getHostnamesWithCookies):
+ (WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
+ * UIProcess/WebDatabaseManagerProxy.cpp:
+ (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin):
+ (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
+ (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
+ (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
+ (WebKit::WebDatabaseManagerProxy::deleteAllDatabases):
+ (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):
+ * UIProcess/WebGeolocationManagerProxy.cpp:
+ (WebKit::WebGeolocationManagerProxy::providerDidChangePosition):
+ (WebKit::WebGeolocationManagerProxy::providerDidFailToDeterminePosition):
+ * UIProcess/WebIconDatabase.cpp:
+ (WebKit::WebIconDatabase::getLoadDecisionForIconURL):
+ (WebKit::WebIconDatabase::didFinishURLImport):
+ * UIProcess/WebKeyValueStorageManagerProxy.cpp:
+ (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins):
+ (WebKit::WebKeyValueStorageManagerProxy::deleteEntriesForOrigin):
+ (WebKit::WebKeyValueStorageManagerProxy::deleteAllEntries):
+ * UIProcess/WebMediaCacheManagerProxy.cpp:
+ (WebKit::WebMediaCacheManagerProxy::getHostnamesWithMediaCache):
+ (WebKit::WebMediaCacheManagerProxy::clearCacheForHostname):
+ (WebKit::WebMediaCacheManagerProxy::clearCacheForAllHostnames):
+ * UIProcess/WebResourceCacheManagerProxy.cpp:
+ (WebKit::WebResourceCacheManagerProxy::getCacheOrigins):
+ (WebKit::WebResourceCacheManagerProxy::clearCacheForOrigin):
+ (WebKit::WebResourceCacheManagerProxy::clearCacheForAllOrigins):
+
+2011-04-04 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ REGRESSION (WebKit2): Caps-Lock indicator sometimes doesn't appear in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=51230
+ <rdar://problem/8780989>
+
+ <rdar://problem/9015250> REGRESSION (WebKit2): Key events not fired for modifier keys
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView flagsChanged:]): Ported from WebHTMLView.
+ (-[WKView _interpretKeyEvent:withCachedTextInputState:savingCommandsTo:WebCore::]):
+ AppKit isn't happy about attempts to interpret NSFlagsChanged, but WK2 lacked the check.
+
+2011-04-04 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Remove unused AnalyzeWithLargeStack code from Windows build files
+ https://bugs.webkit.org/show_bug.cgi?id=57771
+
+ This was used for us to build with prefast automatically,
+ but it is out-of-date and hasn't been used for some time.
+ Removing completely for now.
+
+ * win/WebKitPreBuild.cmd:
+
+2011-04-04 Anders Carlsson <andersca@apple.com>
+
+ Attempt to fix the Windows build.
+
+ * UIProcess/win/WebContextWin.cpp:
+ (WebKit::WebContext::setShouldPaintNativeControls):
+
+2011-04-04 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Make it easier to send a message to all processes in a context
+ https://bugs.webkit.org/show_bug.cgi?id=57776
+
+ Add WebContext::sendToAllProcesses and WebContext::sendToAllProcessesRelaunchingThemIfNecessary
+ as a first step towards getting rid of WebContext::process() and getting rid of a class of crashers
+ where WebContext::process() is null.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::initializeHistoryClient):
+ (WebKit::WebContext::languageChanged):
+ (WebKit::WebContext::setAlwaysUsesComplexTextCodePath):
+ (WebKit::WebContext::registerURLSchemeAsEmptyDocument):
+ (WebKit::WebContext::registerURLSchemeAsSecure):
+ (WebKit::WebContext::setDomainRelaxationForbiddenForURLScheme):
+ (WebKit::WebContext::setCacheModel):
+ (WebKit::WebContext::setDefaultRequestTimeoutInterval):
+ (WebKit::WebContext::clearResourceCaches):
+ (WebKit::WebContext::clearApplicationCache):
+ (WebKit::WebContext::setEnhancedAccessibility):
+ (WebKit::WebContext::startMemorySampler):
+ Use sendToAllProcesses.
+
+ (WebKit::WebContext::stopMemorySampler):
+ Use sendToAllProcesses. This is a slight policy change where we now create a sandbox extension even
+ if there's no process around. Since this is a debugging tool it seems OK to do this.
+
+ * UIProcess/WebContext.h:
+ Get rid of hasValidProcess.
+
+ (WebKit::WebContext::sendToAllProcesses):
+ If we have a process and we can send messages to it, then do so.
+
+ (WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary):
+ Relaunch the web process and send the message.
+
+ * UIProcess/WebCookieManagerProxy.cpp:
+ (WebKit::WebCookieManagerProxy::deleteCookiesForHostname):
+ (WebKit::WebCookieManagerProxy::deleteAllCookies):
+ (WebKit::WebCookieManagerProxy::startObservingCookieChanges):
+ (WebKit::WebCookieManagerProxy::stopObservingCookieChanges):
+ (WebKit::WebCookieManagerProxy::setHTTPCookieAcceptPolicy):
+ Use sendToAllProcesses and sendToAllProcessesRelaunchingThemIfNecessary.
+
+2011-04-04 Adam Roben <aroben@apple.com>
+
+ Move a teensy bit of non-Mac-specific code up to LayerTreeHostCA
+
+ Fixes <http://webkit.org/b/57774> LayerTreeHostCA should know how to flip the root layer
+
+ Reviewed by Anders Carlsson.
+
+ * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
+ (WebKit::LayerTreeHostCA::initialize): Cross-platformized and moved some code here...
+
+ * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
+ (WebKit::LayerTreeHostCAMac::platformInitialize): ...from here.
+
+2011-04-01 Enrica Casucci <enrica@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WK2: Reproducible crash when dragging out of or over Safari window.
+ https://bugs.webkit.org/show_bug.cgi?id=57654
+ <rdar://problem/9139755>
+
+ AppKit does not retain the owner given to the pasteboard, therefore we
+ need to give the ownership of the retained pointer to NSPasteboard.
+ Also, dragImage will release the NSFilePromiseDragSource object, therefore
+ we retain it before calling dragImage to be able to control its lifetime.
+
+ * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
+ (WebKit::WebDragClient::declareAndWriteDragImage): Passing ownership
+ of the pointer to AppKit when providing the owner pointer to the NSPasteboard
+ object.
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::platformDragEnded): Retaining the NSFilePromiseDragSource
+ since dragImage will release it.
+
+2011-03-30 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ WebKit2: No "open in preview" contextual menu item for PDFs
+ https://bugs.webkit.org/show_bug.cgi?id=57527
+
+ Add support for opening a PDF in the associated application from the
+ context menu.
+
+ * UIProcess/API/mac/PDFViewController.mm:
+ (_applicationInfoForMIMEType): Added, copied from WebKit/WebPDFView.mm
+ (-[WKPDFView _openWithFinder:]): Added.
+ (-[WKPDFView hitTest:]): Added, copied from WebKit/WebPDFView.mm.
+ (-[WKPDFView menuForEvent:]): Added, adapted from WebKit/WebPDFVie.mm.
+ (-[WKPDFView validateUserInterfaceItem:]): Added.
+
+2011-04-04 Chang Shu <cshu@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ WebKitTestRunner needs layoutTestController.setAllowFileAccessFromFileURLs
+ https://bugs.webkit.org/show_bug.cgi?id=57572
+
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::WebPreferencesStore::decode):
+ (WebKit::WebPreferencesStore::overrideAllowFileAccessFromFileURLsForTestRunner):
+ * Shared/WebPreferencesStore.h:
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundleSetAllowFileAccessFromFileURLs):
+ * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::setAllowFileAccessFromFileURLs):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+
+2011-04-04 Brady Eidson <beidson@apple.com>
+
+ Reviewed by Darin Adler.
+
+ https://bugs.webkit.org/show_bug.cgi?id=57683
+ Flesh out WK2 Icon Database API
+
+ For now the new API will add a client interface where the WK1 version used NSNotifications.
+
+ If we decide we'd like the granularity of specific callback functions later,
+ they can easily be added on.
+
+ Project file nonsense:
+ * GNUmakefile.am:
+ * WebKit2.pro:
+ * WebKit2.xcodeproj/project.pbxproj:
+ * win/WebKit2.vcproj:
+
+ Add a WKIconDatabaseClient and some new API:
+ * UIProcess/API/C/WKIconDatabase.cpp:
+ (WKIconDatabaseSetIconDatabaseClient):
+ (WKIconDatabaseRemoveAllIcons):
+ (WKIconDatabaseCheckIntegrityBeforeOpening):
+ * UIProcess/API/C/WKIconDatabase.h:
+ * UIProcess/API/C/cg/WKIconDatabaseCG.cpp:
+ (WKIconDatabaseTryGetCGImageForURL): Renamed to "try" for subtle clarification.
+ * UIProcess/API/C/cg/WKIconDatabaseCG.h:
+
+ Implementations for the new APIs:
+ * UIProcess/WebIconDatabase.cpp:
+ (WebKit::WebIconDatabase::retainIconForPageURL): Remove excessive logging.
+ (WebKit::WebIconDatabase::releaseIconForPageURL): Ditto.
+ (WebKit::WebIconDatabase::imageForPageURL):
+ (WebKit::WebIconDatabase::removeAllIcons):
+ (WebKit::WebIconDatabase::checkIntegrityBeforeOpening):
+ (WebKit::WebIconDatabase::initializeIconDatabaseClient):
+ (WebKit::WebIconDatabase::didImportIconURLForPageURL): Dispatch a client callback,
+ much like the WK1 API uses notifications.
+ (WebKit::WebIconDatabase::didImportIconDataForPageURL): Ditto.
+ (WebKit::WebIconDatabase::didChangeIconForPageURL): Ditto.
+ (WebKit::WebIconDatabase::didRemoveAllIcons): Ditto.
+ * UIProcess/WebIconDatabase.h:
+ * UIProcess/WebIconDatabaseClient.cpp: Added.
+ (WebKit::WebIconDatabaseClient::didChangeIconForPageURL):
+ (WebKit::WebIconDatabaseClient::didRemoveAllIcons):
+ * UIProcess/WebIconDatabaseClient.h: Added.
+
+2011-04-04 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ [GTK] Main loop sources are leaked in RunLoopGtk
+ https://bugs.webkit.org/show_bug.cgi?id=57618
+
+ * Platform/RunLoop.h:
+ (RunLoop::TimerBase::isRepeating):
+ * Platform/gtk/RunLoopGtk.cpp:
+ (RunLoop::~RunLoop): Make sure main loop is currently running
+ before calling g_main_loop_quit(), RunLoop::stop() might have been
+ called.
+ (RunLoop::wakeUp): Use an idle source with default priority
+ instead of a timeout one with a 0 interval.
+ (RunLoop::TimerBase::clearTimerSource): New method to clear the
+ timer.
+ (RunLoop::TimerBase::destroyNotifyCallback): Destroy notify
+ callback called when the source is destroyed to clear the timer.
+ (RunLoop::TimerBase::timerFiredCallback): Use the same callback for
+ repeating and no repeating timers.
+ (RunLoop::TimerBase::start): g_source_attach() increments the
+ source reference counter, so use GRefPtr to make sure the source
+ is freed.
+ (RunLoop::TimerBase::stop): Use clearTimerSource().
+
+2011-04-03 Dan Bernstein <mitz@apple.com>
+
+ Build fix.
+
+ * Shared/DictionaryPopupInfo.cpp:
+ (WebKit::DictionaryPopupInfo::encode):
+ (WebKit::DictionaryPopupInfo::decode):
+ * Shared/DictionaryPopupInfo.h:
+
+2011-04-03 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ <rdar://problem/9227839> REGRESSION: Reproducible crash in Snow Leopard when trying to show the Dictionary panel or application
+ https://bugs.webkit.org/show_bug.cgi?id=57739
+
+ * Shared/DictionaryPopupInfo.cpp:
+ (WebKit::DictionaryPopupInfo::encode): Do not encode the options dictionary on Snow Leopard.
+ (WebKit::DictionaryPopupInfo::decode): Do not decode the options dictionary on Snow Leopard.
+ * Shared/DictionaryPopupInfo.h: Removed the options member variable on Snow Leopard.
+ * Shared/Plugins/PluginQuirks.h:
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::performDictionaryLookupForRange): Do not set the options member variable on
+ Snow Leopard.
+
+2011-04-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Beth Dakin.
+
+ https://bugs.webkit.org/show_bug.cgi?id=57605
+ Frame::pageScaleFactor() should not affect getBoundingClientRect() or
+ getClientRects()
+ -and corresponding-
+ <rdar://problem/9194541>
+
+ Add DRT support for the scaleWebView SPI.
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageSetScaleAtOrigin):
+ * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
+
+2011-04-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Oliver Hunt.
+
+ "Search in Spotlight" broken in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=57712
+
+ Proxy spotlight searching to the UIProcess.
+
+ * UIProcess/WebPageProxy.messages.in:
+ Add new message. Re-organize messages to put all mac specific ones together.
+
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/mac/WebPageProxyMac.mm:
+ (WebKit::WebPageProxy::speak):
+ (WebKit::WebPageProxy::searchWithSpotlight):
+ Moved code to trigger spotlight here. Use WTF::String -> NSString conversion function
+ instead of relying on the built in conversion since it doesn't always work in the UIProcess.
+
+ * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
+ (WebKit::WebContextMenuClient::searchWithSpotlight):
+ Post message to the UIProcess to do the searching.
+
+2011-04-02 Jeff Miller <jeffm@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ WebKit2: Specify the certificate store in WKBundleSetClientCertificate()
+ https://bugs.webkit.org/show_bug.cgi?id=57707
+
+ Include the name of the system certificate store that the client certificate came from in WKBundleSetClientCertificate().
+
+ 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).
+
+ * WebProcess/InjectedBundle/API/c/win/WKBundlePrivateWin.cpp:
+ (WKBundleSetClientCertificate): Add certificateSystemStoreName to parameters.
+ * WebProcess/InjectedBundle/API/c/win/WKBundlePrivateWin.h: Add certificateSystemStoreName to WKBundleSetClientCertificate() parameters.
+ * WebProcess/InjectedBundle/InjectedBundle.h: Add certificateSystemStoreName to setClientCertificate() parameters.
+ * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
+ (WebKit::InjectedBundle::setClientCertificate): Read the real certificate from the certificate store.
+
+2011-04-02 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Dan Bernstein.
+
+ Implement WKBundleFrameHasHorizontalScrollbar/WKBundleFrameHasVerticalScrollbar
+ <rdar://problem/9225772>
+ https://bugs.webkit.org/show_bug.cgi?id=57709
+
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
+ (WKBundleFrameHasHorizontalScrollbar):
+ (WKBundleFrameHasVerticalScrollbar):
+ * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
+ * WebProcess/WebPage/WebFrame.cpp:
+ (WebKit::WebFrame::hasHorizontalScrollbar):
+ (WebKit::WebFrame::hasVerticalScrollbar):
+ * WebProcess/WebPage/WebFrame.h:
+
+2011-04-01 Jon Lee <jonlee@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebKit2: Type-to-select doesn't work in open <select> menu (53023)
+ https://bugs.webkit.org/show_bug.cgi?id=53023
+ <rdar://problem/8907678>
+
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in: adding new setPopupMenuSelectedIndex message for windows platform
+ * UIProcess/win/WebPageProxyWin.cpp:
+ (WebKit::WebPageProxy::setPopupMenuSelectedIndex):
+ * UIProcess/win/WebPopupMenuProxyWin.h: moving setFocusedIndex() into public method
+ * WebProcess/WebCoreSupport/WebPopupMenu.cpp:
+ (WebKit::WebPopupMenu::updateFromElement): send message back to UIProcess to update the selected element
+
+2011-04-01 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION: Assertion failure when executing a complex custom key binding
+ https://bugs.webkit.org/show_bug.cgi?id=57681
+
+ Also completes a fix for
+ <rdar://problem/9063782> WebKit2: Text fields in Safari don't honor custom key bindings
+
+ * UIProcess/API/mac/WKView.mm: (-[WKView hasMarkedText]): There is no need to execute saved
+ commands when they can't possibly change the result.
+
+2011-04-01 Brian Weinstein <bweinstein@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Crash when calling WebPageProxy::setMemoryCacheClientCallsEnabled with an invalid Web Process
+ https://bugs.webkit.org/show_bug.cgi?id=57680
+ <rdar://problem/9202909>
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::setMemoryCacheClientCallsEnabled): Add an isValid check before sending
+ the message.
+
+2011-03-31 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ WebKit2: Save as PDF in Safari provides Untitled as default file name
+ https://bugs.webkit.org/show_bug.cgi?id=57529
+
+ Set the NSPrintOperation's jobTitle to the printing frame's title.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView printOperationWithPrintInfo:forFrame:]):
+
+2011-04-01 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Darin Adler.
+
+ WebKit2: Link from PDF opens in a new tab instead of in the same tab
+ https://bugs.webkit.org/show_bug.cgi?id=57528
+
+ Notify the WebProcess that a link has been clicked so that the normal policy
+ lookup can occur.
+
+ * Shared/WebEvent.cpp:
+ (WebKit::WebEvent::WebEvent): Initialize ivars in the default constructor.
+ * Shared/WebEvent.h: Add WebEvent::NoType to Type enum.
+ * Shared/WebMouseEvent.cpp:
+ (WebKit::WebMouseEvent::WebMouseEvent): Ditto.
+ * UIProcess/API/mac/PDFViewController.mm:
+ (-[WKPDFView PDFViewWillClickOnLink:withURL:]): Handle the delegate
+ function and override the PDFView default behavior.
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveEvent): Handle the new WebEvent::NoType enum.
+ (WebKit::WebPageProxy::linkClicked): Added. Send event through to WebPage.
+ * UIProcess/WebPageProxy.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::linkClicked): Added. Call loadFrameRequest().
+ * WebProcess/WebPage/WebPage.h:
+ * WebProcess/WebPage/WebPage.messages.in: Added LinkClicked.
+
+2011-04-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam "Keyword Slasher" Roben.
+
+ Remove unnecessary static keyword.
+
+ * UIProcess/API/cpp/WKRetainPtr.h:
+ (WebKit::adoptWK):
+
+2011-04-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Add adoptWK to WKRetainPtr.h
+ https://bugs.webkit.org/show_bug.cgi?id=57670
+
+ * UIProcess/API/cpp/WKRetainPtr.h:
+ (WebKit::adoptWK):
+ Add shared implementation of adoptWK. Previously both WebKitTestRunner
+ and TestWebKitAPI had separate versions of it.
+
+2011-04-01 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Shockwave plug-in doesn't accept mouse events
+ https://bugs.webkit.org/show_bug.cgi?id=57653
+ <rdar://problem/8483273>
+
+ Add a missing break.
+
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::convertPoint):
+
+2011-04-01 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ WebKitTestRunner needs layoutTestController.shadowRoot
+ https://bugs.webkit.org/show_bug.cgi?id=57661
+
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
+ (WKBundleNodeHandleGetRenderRect):
+ (WKBundleNodeHandleGetElementBounds):
+ (WKBundleNodeHandleCopyElementShadowRoot):
+ * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+ (WebKit::InjectedBundleNodeHandle::elementShadowRoot):
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
+ Add accessor for the shadowRoot of an element in the bundle.
+
+2011-04-01 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Darin Adler.
+
+ Make WebKit2 text input handling more like WebKit1
+ https://bugs.webkit.org/show_bug.cgi?id=57649
+
+ We now send more sync messages from UI process to Web process for NSTextInput protocol
+ methods. Some of the exchanges are avoided by pre-calculating the responses before asking
+ UI process to interpret key events, and also with each sync message sent during
+ interpretation, and which could change the state.
+
+ * Platform/CoreIPC/HandleMessage.h: (CoreIPC::callMemberFunction): Added a missing
+ specialization for a function with 6 arguments and 2 returned values.
+
+ * Scripts/webkit2/messages.py: Added TextInputState to struct list.
+
+ * Shared/WebCoreArgumentCoders.h: Fixed a bug in CompositionUnderline encoding, which only
+ encoded a part of Color field, and didn't match decoder.
+
+ * Shared/mac/TextInputState.h: Added. This is state that's needed for IM machinery and that
+ we don't want to send sync messages for. This is similar to SelectionState, but the latter
+ is only updated asynchronously, and is thus less reliable.
+
+ * UIProcess/API/mac/PageClientImpl.h: We don't "intercept", we "interpret".
+
+ * UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::interpretKeyEvent): Pass
+ current text input state, and don't expect anything input method related in return, as input
+ methods are now sync.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView doCommandBySelector:]):
+ (-[WKView insertText:]):
+ (-[WKView keyDown:]):
+ (-[WKView _executeSavedKeypressCommands]):
+ (-[WKView inputContext]):
+ (-[WKView selectedRange]):
+ (-[WKView hasMarkedText]):
+ (-[WKView unmarkText]):
+ (-[WKView setMarkedText:selectedRange:]):
+ (-[WKView markedRange]):
+ (-[WKView attributedSubstringFromRange:]):
+ (-[WKView characterIndexForPoint:]):
+ (-[WKView firstRectForCharacterRange:]):
+ (-[WKView _interpretKeyEvent:withCachedTextInputState:savingCommandsTo:WebCore::]):
+ * UIProcess/API/mac/WKViewInternal.h:
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/mac/WebPageProxyMac.mm:
+ (WebKit::WebPageProxy::setComposition):
+ (WebKit::WebPageProxy::confirmComposition):
+ (WebKit::WebPageProxy::insertText):
+ (WebKit::WebPageProxy::getSelectedRange):
+ (WebKit::WebPageProxy::executeKeypressCommands):
+ (WebKit::WebPageProxy::interpretQueuedKeyEvent):
+ * WebKit2.xcodeproj/project.pbxproj:
+ * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
+ (WebKit::WebEditorClient::handleKeyboardEvent):
+ (WebKit::WebEditorClient::handleInputMethodKeydown):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::WebPage):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::viewFrameInWindowCoordinates):
+ * WebProcess/WebPage/WebPage.messages.in:
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::createSelectorExceptionMap):
+ (WebKit::commandNameForSelectorName):
+ (WebKit::currentTextInputState):
+ (WebKit::frameForEvent):
+ (WebKit::WebPage::executeKeypressCommandsInternal):
+ (WebKit::WebPage::handleEditingKeyboardEvent):
+ (WebKit::WebPage::setComposition):
+ (WebKit::WebPage::confirmComposition):
+ (WebKit::WebPage::insertText):
+ (WebKit::WebPage::getSelectedRange):
+ (WebKit::convertToRange):
+ (WebKit::WebPage::executeKeypressCommands):
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
+ Rewrote to be more like WebKit1.
+
+2011-04-01 Chang Shu <cshu@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ WebKitTestRunner needs layoutTestController.setDatabaseQuota
+ https://bugs.webkit.org/show_bug.cgi?id=57568
+
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundleSetDatabaseQuota):
+ * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::setDatabaseQuota):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ * WebProcess/WebCoreSupport/WebDatabaseManager.h:
+
+2011-04-01 Timothy Hatcher <timothy@apple.com>
+
+ Make momentum scroll event latching work in WebKit2 on Mac.
+
+ <rdar://problem/8751861>
+
+ Reviewed by Darin Adler.
+
+ * Shared/mac/WebEventFactory.mm:
+ (WebKit::momentumPhaseForEvent): Return a phase on older Mac system by using WKGetNSEventMomentumPhase.
+ * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
+ (InitWebCoreSystemInterface): Remove IsLatchingWheelEvent, add GetNSEventMomentumPhase.
+
+2011-04-01 Alexey Proskuryakov <ap@apple.com>
+
+ Reviewed by Anders Carlsson.
+
+ Assertion failure (type == event.type()) after a web process crash
+ https://bugs.webkit.org/show_bug.cgi?id=56228
+ <rdar://problem/8806106>
+
+ This partially un-confuses the UI process about key processing state after a web process
+ crash. It may not be pefect yet - sending a KeyUp to a new process that never saw a KeyDown
+ seems weird.
+
+ * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::processDidCrash):
+
+2011-04-01 Adam Roben <aroben@apple.com>
+
+ Cairo build fix
+
+ * WebProcess/WebPage/LayerTreeHost.cpp: Only pull in the LayerTreeHostCA derived classes for
+ PLATFORM(CA) ports.
+
+2011-03-31 Adam Roben <aroben@apple.com>
+
+ Split LayerTreeHostCA into a base class and derived Mac and Win classes
+
+ This will make it easier to customize the Mac and Windows implementations without adding too
+ many #ifdefs.
+
+ Fixes <http://webkit.org/b/57606> Windows and Mac should use separate LayerTreeHost classes
+
+ Reviewed by Anders Carlsson.
+
+ * WebKit2.xcodeproj/project.pbxproj: Added LayerTreeHostCAMac.h.
+
+ * WebProcess/WebPage/LayerTreeHost.cpp:
+ (WebKit::LayerTreeHost::create): Create a LayerTreeHostCAMac on Mac, and LayerTreeHostCAWin
+ on Windows.
+
+ * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
+ (WebKit::LayerTreeHostCA::LayerTreeHostCA): Moved some code from here...
+ (WebKit::LayerTreeHostCA::initialize): ...to here. This function will be called after the
+ constructor returns, and thus can safely call functions that are pure virtual in this class
+ and its base class. We now pass our LayerTreeContext to platformInitialize so that our
+ derived classes can initialize it.
+ (WebKit::LayerTreeHostCA::~LayerTreeHostCA): Removed Mac-specific code.
+
+ (WebKit::LayerTreeHostCA::invalidate):
+ (WebKit::LayerTreeHostCA::sizeDidChange):
+ (WebKit::LayerTreeHostCA::forceRepaint):
+ (WebKit::LayerTreeHostCA::didPerformScheduledLayerFlush):
+ Removed platform* calls. Derived classes can just override these functions to do what they
+ need.
+
+ * WebProcess/WebPage/ca/LayerTreeHostCA.h: Removed Mac-specific pieces. Made some functions
+ virtual so that derived classes can override them.
+
+ * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h: Added.
+
+ * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
+ (WebKit::LayerTreeHostCAMac::create): Create and initialize a host.
+ (WebKit::LayerTreeHostCAMac::LayerTreeHostCAMac): Simple constructor.
+ (WebKit::LayerTreeHostCAMac::~LayerTreeHostCAMac): Moved code here from LayerTreeHostCA
+ destructor.
+ (WebKit::LayerTreeHostCAMac::platformInitialize): Removed direct uses of LayerTreeHostCA
+ data members.
+
+ (WebKit::LayerTreeHostCAMac::invalidate):
+ (WebKit::LayerTreeHostCAMac::sizeDidChange):
+ (WebKit::LayerTreeHostCAMac::forceRepaint):
+ (WebKit::LayerTreeHostCAMac::didPerformScheduledLayerFlush):
+ Renamed from platform*. Now call up to the base class.
+
+ (WebKit::LayerTreeHostCAMac::flushPendingLayerChangesRunLoopObserverCallback): Updated type.
+
+ * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp:
+ (WebKit::LayerTreeHostCAWin::create): Create and initialize a host.
+
+ (WebKit::LayerTreeHostCAWin::LayerTreeHostCAWin):
+ (WebKit::LayerTreeHostCAWin::~LayerTreeHostCAWin):
+ (WebKit::LayerTreeHostCAWin::platformInitialize):
+ (WebKit::LayerTreeHostCAWin::scheduleLayerFlush):
+ Stubbed out.
+
+ * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.h: Added.
+
+ * win/WebKit2.vcproj: Added LayerTreeHostCAWin.h
+
+ * win/WebKit2Apple.vsprops: Added WebProcess/WebPage/ca/win to the include path.
+
+2011-03-31 Brent Fulgham <bfulgham@webkit.org>
+
+ Unreviewed WinCairo build fix after r82632.
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::visibilityDidChange):
+
+2011-03-31 Adam Roben <aroben@apple.com>
+
+ Add SharedMemory::adopt, which can take ownership of an existing file mapping object
+
+ Fixes <http://webkit.org/b/57599> Need a way to wrap an existing file mapping object in a
+ SharedMemory
+
+ Reviewed by Anders Carlsson.
+
+ * Platform/SharedMemory.h: Added adopt.
+
+ * Platform/win/SharedMemoryWin.cpp:
+ (WebKit::SharedMemory::create): Moved code to adopt the HANDLE from here...
+ (WebKit::SharedMemory::adopt): ...to here.
+
+2011-03-31 Chang Shu <cshu@webkit.org>
+
+ Reviewed by Darin Adler.
+
+ WebKitTestRunner needs layoutTestController.clearAllDatabases
+ https://bugs.webkit.org/show_bug.cgi?id=42540
+
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundleClearAllDatabases):
+ * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::clearAllDatabases):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ * WebProcess/WebCoreSupport/WebDatabaseManager.h:
+
+2011-03-31 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Add some more media related things to the sandbox profile.
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2011-03-31 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Dan Bernstein.
+
+ Tabbed pages redraw unnecessarily when activated
+ https://bugs.webkit.org/show_bug.cgi?id=57589
+ <rdar://problem/9218258>
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::visibilityDidChange):
+ If we become visible and have no backing store, make sure to call backingStoreStateDidChange
+ so that the next time we're asked to paint we'll wait for something to paint.
+
+ (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode):
+ Remove now redundant call to backingStoreStateDidChange.
+
+2011-03-31 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Sandbox violations when playing back HTML5 video on YouTube
+ <rdar://problem/8950692>
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2011-03-31 Darin Adler <darin@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Implement mouseDown, mouseUp, and mouseMoveTo in WebKitTestRunner
+ https://bugs.webkit.org/show_bug.cgi?id=57573
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
+ (WKBundlePageSimulateMouseDown): Added.
+ (WKBundlePageSimulateMouseUp): Added.
+ (WKBundlePageSimulateMouseMotion): Added.
+ * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Added above functions.
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::simulateMouseDown): Added.
+ (WebKit::WebPage::simulateMouseUp): Added.
+ (WebKit::WebPage::simulateMouseMotion): Added.
+ * WebProcess/WebPage/WebPage.h: Added above functions.
+
+2011-03-31 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Rename WebCore's UI_STRING to WEB_UI_STRING to not overlap with WebKit API
+ https://bugs.webkit.org/show_bug.cgi?id=57582
+
+ * PluginProcess/mac/PluginProcessMac.mm:
+ (WebKit::PluginProcess::platformInitialize):
+ * UIProcess/mac/WebInspectorProxyMac.mm:
+ (WebKit::WebInspectorProxy::platformInspectedURLChanged):
+ * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::WebProcess::platformInitializeWebProcess):
+
+2011-03-31 Adam Roben <aroben@apple.com>
+
+ Specify both FILE_MAP_READ and FILE_MAP_WRITE when creating a read-write SharedMemory object
+
+ When passed to ::MapViewOfFile, FILE_MAP_WRITE implies FILE_MAP_READ, but other file mapping
+ APIs don't work that way. This bug wasn't causing any problems in practice, but it would
+ have prevented us from creating a DIB that wraps a SharedMemory object (which I noticed
+ while working on another bug).
+
+ Fixes <http://webkit.org/b/57576> File mappings used by read-write SharedMemory objects
+ aren't correctly marked as read-write after being sent over a CoreIPC::Connection
+
+ Reviewed by Brian Weinstein.
+
+ * Platform/win/SharedMemoryWin.cpp:
+ (WebKit::accessRights): Specify FILE_MAP_READ in addition to FILE_MAP_WRITE for read-write
+ SharedMemory.
+
+2011-03-31 Adam Roben <aroben@apple.com>
+
+ Quote the executable path we pass to ::CreateProcessW
+
+ This will ensure that spaces in the path will be interpreted correctly.
+
+ Fixes <http://webkit.org/b/57569> Web process sometimes fails to launch when there are
+ spaces in its path
+
+ Reviewed by Steve Falkenburg.
+
+ * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
+ (WebKit::ProcessLauncher::launchProcess): Surround the executable path in quotes.
+
+2011-03-31 Alexey Proskuryakov <ap@apple.com>
+
+ Patch by John Harvey, reviewed and tweaked by me.
+
+ <rdar://problem/8644403> Should notify TSM that plug-ins would show a bottom input window for marked text.
+
+ * UIProcess/API/mac/WKTextInputWindowController.mm:
+ (-[WKTextInputPanel _interpretKeyEvent:string:]):
+
+2011-03-31 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by John Sullivan, Darin Adler, Dan Bernstein and Sam Weinig.
+
+ If a user doesn't have a Database/LocalStorage directory, it can't be created (sandbox violations)
+ https://bugs.webkit.org/show_bug.cgi?id=57561
+ <rdar://problem/9127411>
+
+ Ensure that any readwrite sandbox directories actually exist before entering the sandbox.
+
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::appendReadwriteSandboxDirectory):
+
+2011-03-31 John Sullivan <sullivan@apple.com>
+
+ Reviewed by Darin Adler and Adam Roben.
+
+ <rdar://problem/9214824> Find client not told when WKPageCountStringMatches exceeds maximum
+ https://bugs.webkit.org/show_bug.cgi?id=57552
+
+ * WebProcess/WebPage/FindController.cpp:
+ (WebKit::FindController::countStringMatches):
+ Use the same technique as findString() to report kWKMoreThanMaximumMatchCount when appropriate.
+ (WebKit::FindController::findString):
+ Convert numeric_limits::max() to max() - 1 to avoid overflow case.
+
+2011-03-31 Evan Martin <evan@chromium.org>
+
+ Reviewed by Eric Seidel.
+
+ <title> should support dir attribute
+ https://bugs.webkit.org/show_bug.cgi?id=50961
+
+ Update to new FrameLoaderClient interface.
+
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::dispatchDidReceiveTitle):
+ (WebKit::WebFrameLoaderClient::setTitle):
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
+
+2011-03-31 Balazs Kelemen <kbalazs@webkit.org>
+
+ Reviewed by Csaba Osztrogonác.
+
+ [WK2] Introduce an option for no NPAPI support
+ https://bugs.webkit.org/show_bug.cgi?id=55828
+
+ Stub out NPAPI support for platform and OS combinations that are
+ not supported yet. Ancestor patch was made by Laszlo Gombos.
+
+ * GNUmakefile.am: Add NetscapePluginModuleNone.cpp and NetscapePluginNone.cpp
+ to the build system.
+
+ * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
+ Remove the sanity check because from now all combinations that
+ don't have an explicitly set plugin architecture fall into
+ the PLUGIN_ARCHITECTURE(UNSUPPORTED) category and has a stubbed
+ implementation.
+
+ * Shared/Plugins/Netscape/NetscapePluginModuleNone.cpp: Added.
+ Stubbed implementation.
+ (WebKit::NetscapePluginModule::getPluginInfo):
+ (WebKit::NetscapePluginModule::determineQuirks):
+
+ * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: Guard with
+ PLUGIN_ARCHITECTURE(X11).
+
+ * WebKit2.pro: Add NetscapePluginModuleNone.cpp and NetscapePluginNone.cpp
+ to the build system.
+
+ * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp: Added.
+ Stubbed implementation
+ (WebKit::NetscapePlugin::platformPostInitialize):
+ (WebKit::NetscapePlugin::platformDestroy):
+ (WebKit::NetscapePlugin::platformInvalidate):
+ (WebKit::NetscapePlugin::platformGeometryDidChange):
+ (WebKit::NetscapePlugin::platformPaint):
+ (WebKit::NetscapePlugin::platformHandleMouseEvent):
+ (WebKit::NetscapePlugin::platformHandleWheelEvent):
+ (WebKit::NetscapePlugin::platformSetFocus):
+ (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
+ (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
+ (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
+
+ * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Guard with
+ PLUGIN_ARCHITECTURE(X11)
+
+ * config.h: Introduce PLUGIN_ARCHITECTURE(UNSUPPORTED) as another
+ option. Make platform and OS combinations that are not supported
+ yet fall into this. Don't use Q_WS_X11 to test the window system
+ for Qt because it is not defined without including <QtGlobal>.
+ No clue about how could it work so far.
+
+2011-03-31 Vamshikrishna.Yellenki <vamshi@motorola.com> and Alejandro G. Castro <alex@igalia.com>
+
+ Reviewed by Martin Robinson.
+
+ Implement MiniBrowser for Gtk port.
+ https://bugs.webkit.org/show_bug.cgi?id=48512
+
+ * Shared/API/c/gtk/WKBaseGtk.h: Add the stdbool.h include.
+
+2011-03-30 Dan Bernstein <mitz@apple.com>
+
+ Reviewed by Maciej Stachowiak.
+
+ <rdar://problem/9005982> Flash of white when a WKView with composited content moves on-screen
+ https://bugs.webkit.org/show_bug.cgi?id=57522
+
+ * UIProcess/DrawingAreaProxyImpl.cpp:
+ (WebKit::DrawingAreaProxyImpl::exitAcceleratedCompositingMode): Invalidate the current
+ backing store state, so that we get an update as soon as the page enters compositing mode
+ next.
+ * WebProcess/WebPage/DrawingAreaImpl.cpp:
+ (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState): Added a call to
+ LayerTreeHost::forceRepaint() in order to flush and synchronize the layers
+ before sending the update message to the UI process.
+
+2011-03-30 Sam Weinig <sam@webkit.org>
+
+ Reviewed by Anders Carlsson.
+
+ Sandbox violations if you navigate a file URL via something other than a click
+ <rdar://problem/9016086>
+ https://bugs.webkit.org/show_bug.cgi?id=57519
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::shouldReuseCommittedSandboxExtension):
+ Remove unnecessary restriction on extension reuse. Any type of file to file navigation
+ should be allowed.
+
+2011-03-30 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Clean up the sandbox parameter code
+ https://bugs.webkit.org/show_bug.cgi?id=57518
+
+ * Shared/WebProcessCreationParameters.h:
+ Make nsURLCachePath and uiProcessBundleResourcePath Strings to match the other paths we send over.
+
+ * UIProcess/mac/WebContextMac.mm:
+ (WebKit::WebContext::platformInitializeWebProcess):
+ nsURLCachePath and uiProcessBundleResourcePath are now Strings.
+
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::appendSandboxParameterPathInternal):
+ (WebKit::appendReadwriteConfDirectory):
+ (WebKit::appendReadonlySandboxDirectory):
+ (WebKit::appendReadwriteSandboxDirectory):
+ (WebKit::initializeSandbox):
+ Make it more clear whether the directories we're adding are readonly or readwrite. No functionality change.
+
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ nsURLCachePath is now a string.
+
+2011-03-30 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Sam Weinig.
+
+ Downloading a file fails due to a sandbox violation if the destination path is a symlink
+ https://bugs.webkit.org/show_bug.cgi?id=57517
+ <rdar://problem/8943865>
+
+ Make sure to resolve any symlinks in the given path when creating a sandbox extension handle.
+ Note that we can't use realpath or -[NSString stringByResolvingSymlinksInPath], because those calls
+ will fail if the pointed to file doesn't exist.
+
+ * Shared/mac/SandboxExtensionMac.mm:
+ (WebKit::resolveSymlinksInPath):
+ New function that resolves all the symlinks in the given path.
+
+ (WebKit::SandboxExtension::createHandle):
+ Call resolveSymlinksInPath on the resulting path.
+
+2011-03-30 Steve Falkenburg <sfalken@apple.com>
+
+ Reviewed by Adam Roben.
+
+ Share most vsprops between Release and Production builds in releaseproduction.vsprops
+ https://bugs.webkit.org/show_bug.cgi?id=57508
+
+ * win/WebKit2Production.vsprops:
+ * win/WebKit2Release.vsprops:
+ * win/WebKit2ReleaseCairoCFLite.vsprops:
+ * win/WebKit2WebProcessProduction.vsprops:
+ * win/WebKit2WebProcessRelease.vsprops:
+ * win/WebKit2WebProcessReleaseCairoCFLite.vsprops:
+
2011-03-30 Ivan Krstić <ike@apple.com>
Reviewed by Oliver Hunt.
@@ -1080,7 +6147,7 @@
2011-03-26 Maciej Stachowiak <mjs@apple.com>
- Revert inadvertently commited changes.
+ Revert inadvertently committed changes.
* WebProcess/com.apple.WebProcess.sb: