2011-12-12 Ryosuke Niwa WebKit code shouldn't be calling applyCommand directly https://bugs.webkit.org/show_bug.cgi?id=74337 Reviewed by Darin Adler. * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::replaceSelectionWithText): 2011-12-12 Sam Weinig Remove unused getter on WKConnection. Reviewed by Dan Bernstein. * UIProcess/API/mac/WKConnection.mm: 2011-12-12 Brady Eidson Page cache should support pages with plugins. and https://bugs.webkit.org/show_bug.cgi?id=13634 Expose a WebKit2 preference for the page cache supporting plugins (on by default). Reviewed by Anders Carlsson. * Shared/WebPreferencesStore.h: * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesSetPageCacheSupportsPlugins): (WKPreferencesGetPageCacheSupportsPlugins): * UIProcess/API/C/WKPreferencesPrivate.h: * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences): 2011-12-12 Sam Weinig Add WKConnection objective-c wrapper around WKConnectionRef https://bugs.webkit.org/show_bug.cgi?id=74324 Reviewed by Anders Carlsson. * UIProcess/API/mac/WKConnection.h: Added. * UIProcess/API/mac/WKConnection.mm: Added. (-[WKConnection dealloc]): (-[WKConnection connectionRef]): (-[WKConnection delegate]): (-[WKConnection setDelegate:]): (didReceiveMessage): (didClose): (setUpClient): (-[WKConnection initWithConnectionRef:]): * UIProcess/API/mac/WKConnectionInternal.h: Added. Added new class. * UIProcess/API/mac/WKProcessGroup.h: * UIProcess/API/mac/WKProcessGroup.mm: (didCreateConnection): (setUpConnectionClient): (-[WKProcessGroup initWithInjectedBundleURL:]): (-[WKProcessGroup delegate]): (-[WKProcessGroup setDelegate:]): Add WKProcessGroupDelegate to inform the user of when connections are established. * WebKit2.xcodeproj/project.pbxproj: Add new files. 2011-12-12 Anders Carlsson Rename QueueClient::willProcessMessageOnClientRunLoop https://bugs.webkit.org/show_bug.cgi?id=74325 Reviewed by Sam Weinig. Rename the QueueClient willProcessMessageOnClientRunLoop function to didReceiveMessageOnConnectionWorkQueue and give it an out parameter to indicate whether the message was handled or not. This makes it more clear that the function is expected to handle the message. * Platform/CoreIPC/Connection.cpp: (CoreIPC::Connection::processIncomingMessage): * Platform/CoreIPC/Connection.h: * Scripts/webkit2/messages.py: (async_case_statement): * Scripts/webkit2/messages_unittest.py: * WebProcess/WebConnectionToUIProcess.cpp: (WebKit::WebConnectionToUIProcess::didReceiveMessageOnConnectionWorkQueue): * WebProcess/WebConnectionToUIProcess.h: * WebProcess/WebProcess.cpp: (WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue): * WebProcess/WebProcess.h: 2011-12-12 Alexis Menard Unreviewed cleanup fix. Add missing files from https://bugs.webkit.org/show_bug.cgi?id=73016 Also remove the files that should be removed. * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml: Added. * UIProcess/qt/qwkhistory.cpp: Removed. * UIProcess/qt/qwkhistory.h: Removed. * UIProcess/qt/qwkhistory_p.h: Removed. 2011-12-12 Michael Bruning [qt][wk2] Postpone scroll effects when page transition is ongoing. https://bugs.webkit.org/show_bug.cgi?id=74177 Reviewed by Kenneth Rohde Christiansen. * UIProcess/API/qt/qquickwebview.cpp: (QQuickWebViewPrivate::scrollPositionRequested): * UIProcess/API/qt/qquickwebview_p_p.h: (QQuickWebViewPrivate::PostTransitionState::apply): 2011-12-12 Caio Marcelo de Oliveira Filho [Qt][WK2] Remove dead code from QtWebPageProxy https://bugs.webkit.org/show_bug.cgi?id=74296 Reviewed by Andreas Kling. * UIProcess/qt/QtWebPageProxy.cpp: * UIProcess/qt/QtWebPageProxy.h: 2011-12-12 Simon Hausmann Unreviewed build fix. Add missing files from https://bugs.webkit.org/show_bug.cgi?id=73016 * UIProcess/API/qt/qwebnavigationhistory.cpp: Added. (QWebNavigationListModelPrivate::QWebNavigationListModelPrivate): (QWebNavigationListModelPrivate::createWebNavigationModel): (QWebNavigationHistoryPrivate::QWebNavigationHistoryPrivate): (QWebNavigationHistoryPrivate::createHistory): (QWebNavigationHistoryPrivate::reset): (QWebNavigationHistoryPrivate::goBackTo): (QWebNavigationHistoryPrivate::goForwardTo): (QWebNavigationListModel::QWebNavigationListModel): (QWebNavigationListModel::~QWebNavigationListModel): (QWebNavigationListModel::rowCount): (QWebNavigationListModel::data): (QWebNavigationHistory::QWebNavigationHistory): (QWebNavigationHistory::~QWebNavigationHistory): (QWebNavigationHistory::backItems): (QWebNavigationHistory::forwardItems): * UIProcess/API/qt/qwebnavigationhistory_p.h: Added. * UIProcess/API/qt/qwebnavigationhistory_p_p.h: Added. 2011-12-12 Simon Hausmann [Qt] Move postMessage/messageReceived APIS to experimental Reviewed by Tor Arne Vestbø. * UIProcess/API/qt/qquickwebview.cpp: (QQuickWebViewPrivate::setPageProxy): (QQuickWebViewExperimental::QQuickWebViewExperimental): (QQuickWebViewExperimental::postMessage): * UIProcess/API/qt/qquickwebview_p.h: * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml: 2011-12-12 Alexis Menard [Qt][WK2] History is not accessible in QML. https://bugs.webkit.org/show_bug.cgi?id=73016 Reviewed by Simon Hausmann. Remove the old qwkhistory and create QWebNavigationHistory which is QML friendly with data models you can plug to a view in QML * Target.pri: * UIProcess/API/qt/qquickwebview.cpp: (QQuickWebViewPrivate::didChangeBackForwardList): (QQuickWebViewExperimental::navigationHistory): (QQuickWebViewExperimental::goForwardTo): (QQuickWebViewExperimental::goBackTo): * UIProcess/API/qt/qquickwebview_p.h: * UIProcess/API/qt/qquickwebview_p_p.h: * UIProcess/API/qt/qwebnavigationhistory.cpp: Added. (QWebNavigationListModelPrivate::QWebNavigationListModelPrivate): (QWebNavigationListModelPrivate::createWebNavigationModel): (QWebNavigationHistoryPrivate::QWebNavigationHistoryPrivate): (QWebNavigationHistoryPrivate::createHistory): (QWebNavigationHistoryPrivate::reset): (QWebNavigationHistoryPrivate::goBackTo): (QWebNavigationHistoryPrivate::goForwardTo): (QWebNavigationListModel::QWebNavigationListModel): (QWebNavigationListModel::~QWebNavigationListModel): (QWebNavigationListModel::rowCount): (QWebNavigationListModel::data): (QWebNavigationHistory::QWebNavigationHistory): (QWebNavigationHistory::~QWebNavigationHistory): (QWebNavigationHistory::backItems): (QWebNavigationHistory::forwardItems): * UIProcess/API/qt/qwebnavigationhistory_p.h: Added. * UIProcess/API/qt/qwebnavigationhistory_p_p.h: Renamed from Source/WebKit2/UIProcess/qt/qwkhistory_p.h. * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml: Added. * UIProcess/qt/QtWebPageLoadClient.cpp: (QtWebPageLoadClient::QtWebPageLoadClient): (QtWebPageLoadClient::didChangeBackForwardList): * UIProcess/qt/QtWebPageLoadClient.h: * UIProcess/qt/QtWebPageProxy.cpp: (QtWebPageProxy::QtWebPageProxy): (QtWebPageProxy::~QtWebPageProxy): (QtWebPageProxy::goBackTo): (QtWebPageProxy::goForwardTo): (QtWebPageProxy::navigationHistory): * UIProcess/qt/QtWebPageProxy.h: * UIProcess/qt/qwkhistory.cpp: Removed. * UIProcess/qt/qwkhistory.h: Removed. 2011-12-09 Jesus Sanchez-Palencia [Qt][WK2] Move startDrag implementation to QtWebPageEventHandler https://bugs.webkit.org/show_bug.cgi?id=73145 Reviewed by Simon Hausmann. Move QtWebPageProxy::startDrag to QtWebPageEventHandler::startDrag and call it straight from QtPageClient. * UIProcess/API/qt/qquickwebview.cpp: (QQuickWebViewPrivate::QQuickWebViewPrivate): * UIProcess/qt/QtWebPageEventHandler.cpp: (dragOperationToDropAction): (dragOperationToDropActions): (dropActionToDragOperation): Now these functions are static inline and not part of QtWebPageEventHandler anymore. (QtWebPageEventHandler::QtWebPageEventHandler): (QtWebPageEventHandler::startDrag): * UIProcess/qt/QtWebPageEventHandler.h: * UIProcess/qt/QtWebPageProxy.cpp: (QtWebPageProxy::startDrag): removed. 2011-12-12 Caio Marcelo de Oliveira Filho [Qt] [WK2] Support customizing popup menus with QML https://bugs.webkit.org/show_bug.cgi?id=73560 Reviewed by Tor Arne Vestbø. Add a new property 'itemSelector' to WebView (experimental for now) that contains the QML component used when it needs to spawn a popup menu. For example, cursor blinks even after transferring focus to plugin https://bugs.webkit.org/show_bug.cgi?id=30355 PluginView needs to use page->focusController()->setFocusedNode() when focusing a plugin in order to clear the FrameSelection in the currently focused node. In its platform-specific code Chromium already does this (WebPluginContainerImpl.cpp). * WebProcess/Plugins/PluginView.cpp: (WebCore::PluginView::focusPluginElement): Using FocusController::setFocusedNode() makes the call to FocusController:setFocusedFrame() redundant, since the former calls it. 2011-07-02 Anders Carlsson Have another go at fixing the Windows build. * WebProcess/Plugins/Netscape/NetscapePlugin.h: * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: (WebKit::NetscapePlugin::containingWindow): (WebKit::NetscapePlugin::platformHandleMouseEnterEvent): (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent): 2011-07-02 Anders Carlsson Null out the plug-in controller after destroying the plug-in. https://bugs.webkit.org/show_bug.cgi?id=63869 Reviewed by Maciej Stachowiak. * PluginProcess/PluginControllerProxy.cpp: (WebKit::PluginControllerProxy::destroy): Call destroyPlugin. * WebProcess/Plugins/Plugin.cpp: (WebKit::Plugin::destroyPlugin): Call destroy and null out the plug-in controller. * WebProcess/Plugins/Plugin.h: Add destroyPlugin, make destroy private. * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::~PluginView): Call destroyPlugin. 2011-07-02 Anders Carlsson Fix Windows build for real. * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: (WebKit::NetscapePlugin::containingWindow): (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate): (WebKit::NetscapePlugin::platformPaint): (WebKit::NetscapePlugin::platformHandleMouseEvent): 2011-07-02 Anders Carlsson Implement NPN_PluginThreadAsyncCall https://bugs.webkit.org/show_bug.cgi?id=63868 Reviewed by Dan Bernstein. * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_PluginThreadAsyncCall): Call NetscapePlugin::pluginThreadAsyncCall. * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: (WebKit::NetscapePlugin::pluginThreadAsyncCall): Schedule a work item to call the function on the main run loop. (WebKit::NetscapePlugin::handlePluginThreadAsyncCall): If the plug-in is still running, run the function. * WebProcess/Plugins/Netscape/NetscapePlugin.h: Add new member function. * WebProcess/Plugins/Plugin.h: Make plug-in inherit from ThreadSafeRefCounted since plug-ins can potentially ref the plug-in from other threads. 2011-07-02 Anders Carlsson Fix Windows build. * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp: (WebKit::NetscapePlugin::containingWindow): (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate): (WebKit::NetscapePlugin::platformPaint): (WebKit::NetscapePlugin::platformHandleMouseEvent): (WebKit::NetscapePlugin::platformHandleMouseEnterEvent): (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent): 2011-07-02 Anders Carlsson Move the plug-in controller member variable up to the shared Plugin base class https://bugs.webkit.org/show_bug.cgi?id=63867 Reviewed by Sam Weinig. * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: (WebKit::NetscapePlugin::NetscapePlugin): Remove m_pluginController. (WebKit::NetscapePlugin::invalidate): (WebKit::NetscapePlugin::userAgent): (WebKit::NetscapePlugin::loadURL): (WebKit::NetscapePlugin::setStatusbarText): (WebKit::NetscapePlugin::evaluate): (WebKit::NetscapePlugin::isPrivateBrowsingEnabled): (WebKit::NetscapePlugin::windowScriptNPObject): (WebKit::NetscapePlugin::pluginElementNPObject): (WebKit::NetscapePlugin::tryToShortCircuitInvoke): (WebKit::NetscapePlugin::cancelStreamLoad): (WebKit::NetscapePlugin::isAcceleratedCompositingEnabled): (WebKit::NetscapePlugin::proxiesForURL): (WebKit::NetscapePlugin::cookiesForURL): (WebKit::NetscapePlugin::setCookiesForURL): (WebKit::NetscapePlugin::getAuthenticationInfo): Use controller() instead of m_pluginController. (WebKit::NetscapePlugin::initialize): This doesn't take a PluginController parameter anymore. (WebKit::NetscapePlugin::destroy): No need to null out the plug-in controller. * WebProcess/Plugins/Netscape/NetscapePlugin.h: Remove m_pluginController member variable. * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: (WebKit::NetscapePlugin::compositingRenderServerPort): (WebKit::NetscapePlugin::platformSetFocus): (WebKit::NetscapePlugin::windowFocusChanged): Use controller() instead of m_pluginController. * WebProcess/Plugins/Plugin.cpp: (WebKit::Plugin::Plugin): Initialize m_pluginController. (WebKit::Plugin::initialize): New function that initializes the plug-in controller and then calls the real virtual initialize member function. * WebProcess/Plugins/Plugin.h: Add m_pluginController member variable and a new initialize virtual member function that doesn't take a PluginController parameter. Make the "old" initialize member function set up the plug-in controller. (WebKit::Plugin::controller): This is now a simple getter. * WebProcess/Plugins/PluginProxy.cpp: (WebKit::PluginProxy::PluginProxy): Remove m_pluginController. (WebKit::PluginProxy::pluginProcessCrashed): Use controller(), remove a bogus null check. (WebKit::PluginProxy::initialize): This doesn't take a PluginController parameter now. (WebKit::PluginProxy::destroy): No need to null out the plug-in controller member variable. (WebKit::PluginProxy::loadURL): (WebKit::PluginProxy::proxiesForURL): (WebKit::PluginProxy::cookiesForURL): (WebKit::PluginProxy::setCookiesForURL): (WebKit::PluginProxy::getAuthenticationInfo): (WebKit::PluginProxy::windowNPObjectID): (WebKit::PluginProxy::getPluginElementNPObject): (WebKit::PluginProxy::evaluate): (WebKit::PluginProxy::cancelStreamLoad): (WebKit::PluginProxy::cancelManualStreamLoad): (WebKit::PluginProxy::setStatusbarText): (WebKit::PluginProxy::setComplexTextInputEnabled): (WebKit::PluginProxy::update): Use controller() instead of m_pluginController. * WebProcess/Plugins/PluginProxy.h: Remove m_pluginController. 2011-07-01 Darin Adler Consider backing scale factor when setting up graphics layers https://bugs.webkit.org/show_bug.cgi?id=63848 Reviewed by Simon Fraser. * WebProcess/WebPage/ca/LayerTreeHostCA.cpp: (WebKit::LayerTreeHostCA::initialize): Set contents scale on the non-composited content layer based on the backing scale factor. (WebKit::LayerTreeHostCA::createPageOverlayLayer): Set contents scale on the page overlay layer based on the backing scale factor. 2011-06-30 Brian Weinstein Reviewed by Darin Adler. WebKit2: DidFinishLoadForFrame is never called on iframes when loads are cancelled by willSendRequest https://bugs.webkit.org/show_bug.cgi?id=63753 When deciding a policy for a null request, call the callback that was passed to WebKit2 and say that we used the loader. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse): 2011-07-01 Balazs Kelemen Reviewed by Andreas Kling. [X11][WK2] plugins/mouse-evets-fixedpos.html is failing because of broken event propagation https://bugs.webkit.org/show_bug.cgi?id=63239 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Revert the return value of NPP_HandleEvent because the plugin function returns with 0 if it handled the event. (WebKit::NetscapePlugin::platformHandleMouseEvent): (WebKit::NetscapePlugin::platformHandleWheelEvent): (WebKit::NetscapePlugin::platformHandleMouseEnterEvent): (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent): (WebKit::NetscapePlugin::platformHandleKeyboardEvent): 2011-07-01 Mark Rowe Unreviewed due to fixing of a broken world. REGRESSION (r90163): WebKit2 bot is failing 100% of the tests. r90163 bumped the version of the WKBundlePageLoaderClient passed in by WebKitTestRunner from 0 to 1. This made it run in to the ad-hoc client version checking implemented directly in WKBundlePageSetPageLoaderClient, resulting in no client being set. After r90162 the ad-hoc checking is not necessary as the APIClient template takes care of the relevant version checks. * Shared/APIClient.h: (WebKit::APIClient::initialize): Fix a bug I noticed along the way: don't attempt to copy anything if the client version is newer than what we support. This matches the behavior of the ad-hoc version checking. * UIProcess/API/C/WKContext.cpp: (WKContextSetInjectedBundleClient): Drop the ad-hoc version checking. (WKContextSetHistoryClient): Ditto. (WKContextSetDownloadClient): Ditto. * UIProcess/API/C/WKCookieManager.cpp: (WKCookieManagerSetClient): Ditto. * UIProcess/API/C/WKGeolocationManager.cpp: (WKGeolocationManagerSetProvider): Ditto. * UIProcess/API/C/WKIconDatabase.cpp: (WKIconDatabaseSetIconDatabaseClient): Ditto. * UIProcess/API/C/WKPage.cpp: (WKPageSetPageContextMenuClient): Ditto. (WKPageSetPageFindClient): Ditto. (WKPageSetPageFormClient): Ditto. (WKPageSetPageLoaderClient): Ditto. (WKPageSetPagePolicyClient): Ditto. (WKPageSetPageResourceLoadClient): Ditto. (WKPageSetPageUIClient): Ditto. * WebProcess/InjectedBundle/API/c/WKBundle.cpp: (WKBundleSetClient): Ditto. * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: (WKBundlePageSetContextMenuClient): Ditto. (WKBundlePageSetEditorClient): Ditto. (WKBundlePageSetFormClient): Ditto. (WKBundlePageSetPageLoaderClient): Ditto. (WKBundlePageSetResourceLoadClient): Ditto. (WKBundlePageSetPolicyClient): Ditto. (WKBundlePageSetUIClient): Ditto. (WKBundlePageSetFullScreenClient): Ditto. 2011-06-30 Darin Adler Reviewed by Anders Carlsson. [WebKit2] Consider scale factor when allocating backing store https://bugs.webkit.org/show_bug.cgi?id=63766 This is the first step in considering scale factor. It considers scale factor for the primary backing store, not graphics layers, and for CG only. * Platform/cg/CGUtilities.cpp: (WebKit::paintImage): Added a scale factor argument. (WebKit::paintBitmapContext): Pass 1 for scale factor. * Platform/cg/CGUtilities.h: Updated for above. * Shared/ShareableBitmap.h: Added an overload of paint that can handle a scale factor. * Shared/UpdateInfo.cpp: (WebKit::UpdateInfo::encode): Encode scale factor. (WebKit::UpdateInfo::decode): Decode scale factor. * Shared/UpdateInfo.h: Added scale factor. * Shared/cg/ShareableBitmapCG.cpp: (WebKit::ShareableBitmap::paint): Added the overload that can handle a scale factor. * UIProcess/BackingStore.cpp: (WebKit::BackingStore::create): Take a scale factor. (WebKit::BackingStore::BackingStore): Store the scale factor. (WebKit::BackingStore::incorporateUpdate): Consider the scale factor when asserting the size is correct. * UIProcess/BackingStore.h: Add a scale factor. * UIProcess/DrawingAreaProxyImpl.cpp: (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState): Check the scale factor too when deciding whether to reuse a backing store. (WebKit::DrawingAreaProxyImpl::incorporateUpdate): Pass in the scale factor when creating a backing store. * UIProcess/mac/BackingStoreMac.mm: (WebKit::BackingStore::incorporateUpdate): Take the scale factor into account when painting. * WebProcess/WebPage/DrawingAreaImpl.cpp: (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState): Put the scale factor into the UpdateInfo. (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): Ditto. (WebKit::DrawingAreaImpl::display): Take the scale factor into account when allocating the bitmap and creating a graphics context for it. 2011-06-30 Mark Rowe Fix the Windows build. * UIProcess/API/C/win/WKTextChecker.h: * UIProcess/API/C/win/WKView.h: * UIProcess/win/WebTextCheckerClient.h: * UIProcess/win/WebUndoClient.h: 2011-06-30 Mark Rowe Reviewed by Anders Carlsson. Teach APIClient to correctly handle multiple versions of a client interface. If a client struct is not the current version then we can't copy it via assignment since that will read past the end of the smaller, older struct. To deal with this APIClient needs to be aware of the sizes of the older client version structs so that it can copy only the appropriate amount of the struct. * Shared/APIClient.h: (WebKit::APIClient::initialize): Assign through to our client if the new in client is the latest version. If an older client version was passed then we zero out our client and memcpy the appropriate number of bytes in to it. This ensures that any new members in the client are initialized to 0. * Shared/APIClientTraits.cpp: * Shared/APIClientTraits.h: Client interfaces are the size of their struct unless otherwise stated. * WebKit2.xcodeproj/project.pbxproj: * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Bump the version and add comments indicating which components belong to which versions. 2011-06-30 Mark Rowe Reviewed by Anders Carlsson. Make the APIClient template aware of the latest client interface version number. This will be used in an upcoming patch. * Shared/APIClient.h: * UIProcess/WebContextInjectedBundleClient.h: * UIProcess/WebCookieManagerProxyClient.h: * UIProcess/WebDatabaseManagerProxyClient.h: * UIProcess/WebDownloadClient.h: * UIProcess/WebFindClient.h: * UIProcess/WebFormClient.h: * UIProcess/WebGeolocationProvider.h: * UIProcess/WebHistoryClient.h: * UIProcess/WebIconDatabaseClient.h: * UIProcess/WebLoaderClient.h: * UIProcess/WebPageContextMenuClient.h: * UIProcess/WebPolicyClient.h: * UIProcess/WebResourceLoadClient.h: * UIProcess/WebUIClient.h: * WebProcess/InjectedBundle/InjectedBundleClient.h: * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h: * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h: * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h: * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h: * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h: * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h: * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h: 2011-06-30 Mark Rowe Reviewed by Anders Carlsson. WebKit2 client interfaces should have constant declaring latest version. * UIProcess/API/C/WKContext.h: * UIProcess/API/C/WKCookieManager.h: * UIProcess/API/C/WKDatabaseManager.h: * UIProcess/API/C/WKGeolocationManager.h: * UIProcess/API/C/WKIconDatabase.h: * UIProcess/API/C/WKPage.h: * WebProcess/InjectedBundle/API/c/WKBundle.h: * WebProcess/InjectedBundle/API/c/WKBundlePage.h: * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h: 2011-06-30 Anders Carlsson Build fix. * UIProcess/win/WebPopupMenuProxyWin.h: (WebKit::WebPopupMenuProxyWin::enclosingScrollableArea): 2011-06-30 Martin Robinson Reviewed by Anders Carlsson. [GTK] Crash observed with nspluginwrapper and flash https://bugs.webkit.org/show_bug.cgi?id=62249 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_InvalidateRect): Guard against null instances here. 2011-06-30 Mark Rowe Reviewed by Anders Carlsson. Reinstate WKSecurityOriginGetHost and WKSecurityOriginGetProtocol as wrappers around the correctly-named functions. They're needed for ABI compatibility. * Shared/API/c/WKSecurityOrigin.cpp: (WKSecurityOriginGetHost): (WKSecurityOriginGetProtocol): 2011-06-29 Darin Adler Reviewed by Dan Bernstein. [Mac] Use system cursors instead of custom bitmaps where possible https://bugs.webkit.org/show_bug.cgi?id=63679 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface): Added WKCursor. 2011-06-29 Darin Adler Reviewed by Anders Carlsson. [WebKit2] Crash loading page that adds/removes frame in DOMContentLoaded/loaded https://bugs.webkit.org/show_bug.cgi?id=63483 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::createFrame): Added a check for null when creating a frame. Also added a check that was in the WebKit1 code, but not here. Strangely, the comment from the second check was still here, but not the code. 2011-06-28 Chang Shu Reviewed by Andreas Kling. [Qt][WK2] Random crashes in fast/frames/ tests https://bugs.webkit.org/show_bug.cgi?id=63459 Investigation on the crashes has revealed that sometimes, a frame could have been destroyed before it is removed from the hierachy in Qt WebKit2 UI process. The root cause lies in the fact that the order of the two contiguous asynchronous messages may not be respected on the receiving side. And it is Qt's implementation, which uses QTimer::startTimer(0), that causes the reverse order. This patch replaces the timer approach with QMetaObject::invokeMethod approach and no crash happens afterwards. * Platform/qt/WorkQueueQt.cpp: (WorkQueue::scheduleWork): 2011-06-28 Balazs Kelemen Reviewed by Kenneth Rohde Christiansen. [X11][WK2] X error with plugin tests https://bugs.webkit.org/show_bug.cgi?id=63520 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: Never create a pixmap with (0,0) dimensions. (WebKit::NetscapePlugin::platformGeometryDidChange): (WebKit::NetscapePlugin::platformPaint): 2011-06-28 Balazs Kelemen Reviewed by Kenneth Rohde Christiansen. [X11][WK2] plugins/plugin-javascript-access fails https://bugs.webkit.org/show_bug.cgi?id=63464 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: (WebKit::NetscapePluginModule::getPluginInfo): Determine the name of the plugin. 2011-06-27 Yuta Kitamura Reviewed by Alexey Proskuryakov. [WebKit2] Add hixie76WebSocketProtocolEnabled flag to WebPreferences https://bugs.webkit.org/show_bug.cgi?id=63447 Make a new flag added in WebCore::Settings (useHixie76WebSocketProtocol) switchable from WebPage and WebPreferences. * Shared/WebPreferencesStore.h: * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesSetHixie76WebSocketProtocolEnabled): (WKPreferencesGetHixie76WebSocketProtocolEnabled): * UIProcess/API/C/WKPreferencesPrivate.h: * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences): 2011-06-27 Jeff Miller Reviewed by Oliver Hunt. Web process always pauses on launch https://bugs.webkit.org/show_bug.cgi?id=63487 In the absence of the WEBKIT2_PAUSE_WEB_PROCESS_ON_LAUNCH environment variable, only pause the web process on launch if the shift, control, and alt keys are all held down. This regressed in r89685, which always caused the web process to pause if the shift and alt keys were not held down. * WebProcess/WebKitMain.cpp: (pauseProcessIfNeeded): Add some parentheses. 2011-06-27 Huang Dongsung Reviewed by Kenneth Rohde Christiansen. TiledBackingStore endlessly creates and destroys tiles due to an off-by-one error. https://bugs.webkit.org/show_bug.cgi?id=62422 REGRESSION(r77286): Remove bottomRight(). REGRESSION(r77312): Change the logic to get the bottom right point. REGRESSION(r77928): Cause off-by-one error in TiledBackingStore. REGRESSION(r78783): Cause off-by-one error in TiledDrawingAreaProxy. REGRESSION(r78785): Cause off-by-one error in TiledDrawingAreaProxy. If the viewport width equals the contents width, especially in the mobile device, TiledBackingStore endlessly creates and deletes the rightmost column and bottom row of tiles. In the detail, dropTilesOutsideRect() in TiledBackingStore::createTiles() deletes tiles and setTile(coordinate, Tile::create(this, coordinate)) creates tiles infinitely. Modified TiledDrawingAreaProxy also. * UIProcess/TiledDrawingAreaProxy.cpp: (WebKit::innerBottomRight): (WebKit::TiledDrawingAreaProxy::invalidate): (WebKit::TiledDrawingAreaProxy::paint): (WebKit::TiledDrawingAreaProxy::createTiles): 2011-06-26 Mark Rowe Reviewed by Dan Bernstein. Use a separate file name for Lion's WebKitSystemInterface. * Configurations/DebugRelease.xcconfig: 2011-06-26 Mark Rowe Rubber-stamped by Maciej Stachowiak. Work around an issue with sandbox.h. * WebProcess/mac/WebProcessMac.mm: 2011-06-26 Anders Carlsson Reviewed by Dan Bernstein. Don't use a Mutex for protecting access to the connection queue clients https://bugs.webkit.org/show_bug.cgi?id=63403 Make sure to only access the queue client vector from the connection work queue. This gets rid of a lock and ensures that adding/removing clients from callbacks works correctly. * Platform/CoreIPC/Connection.cpp: (CoreIPC::Connection::addQueueClient): (CoreIPC::Connection::removeQueueClient): (CoreIPC::Connection::addQueueClientOnWorkQueue): (CoreIPC::Connection::removeQueueClientOnWorkQueue): (CoreIPC::Connection::processIncomingMessage): * Platform/CoreIPC/Connection.h: 2011-06-25 Brent Fulgham Unreviewed build correction after r89426. * Shared/API/c/cairo/WKImageCairo.h: Declare cairo type as struct (in keeping with other declarations). * win/WebKit2.vcproj: Add new WKImageCairo.cpp file to WinCairo build. 2011-06-25 Brent Fulgham Unreviewed build correction after r89503. See http://trac.webkit.org/changeset/89503. The modifications to the WebKit2.def need to be mirrored in WebKit2CFLite.def. * win/WebKit2CFLite.def: Add new exported symbol for isPreloaded. 2011-06-24 Brent Fulgham Unreviewed build correction after r89426. See http://trac.webkit.org/changeset/89426. The new WebKit2 header file (WKImageCairo.h) is needed. * win/WebKit2Generated.make: Make sure to copy the WKImageCairo.h header file to the WebKit2 API directory after building. 2011-06-24 Anders Carlsson Reviewed by John Sullivan. Drag-and-drop tab in same window makes web process falsely report unresponsiveness https://bugs.webkit.org/show_bug.cgi?id=63369 If the view becomes invisible, stop the responsiveness timer, because we might not get any messages that will cause it to stop (such as painting notifications since we don't paint when we're not visible). * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::viewStateDidChange): 2011-06-24 Anders Carlsson Reviewed by Kevin Decker. Not possible for plug-ins to override the internal PDF viewer https://bugs.webkit.org/show_bug.cgi?id=63356 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame): (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage): Pass the entire resource response to shouldUseCustomRepresentationForResponse. * WebProcess/WebProcess.cpp: (WebKit::canPluginHandleResponse): Ask for the plug-in path for a plug-in that can handle the given resource response. If we fail to send the message, or if the path comes back empty, we assume that there's no plug-in that can handle it. (WebKit::WebProcess::shouldUseCustomRepresentationForResponse): If the response MIME type is in the m_mimeTypesWithCustomRepresentations map, check if there's a plug-in that can handle the given response. If that is the case, it should have precedence over the custom representation. * WebProcess/WebProcess.h: Rename shouldUseCustomRepresentationForMIMEType to shouldUseCustomRepresentationForResponse. 2011-06-24 Adam Roben Mac build fix after r89685 * WebProcess/WebKitMain.cpp: Make a Windows-only #include really be Windows-only. 2011-06-24 Adam Roben Make the web process pause dialog look better on Vista/7 and robust against executable renames Fixes Web process pause dialog looks bad on Vista/7 Reviewed by Brian Weinstein. * WebProcess/WebKitMain.cpp: (pauseProcessIfNeeded): Moved code to show the pause dialog here from WebKitMain. We now fetch the executable name using ::GetModuleFileNameW instead of hard-coding it. The string we pass to ::MessageBoxW no longer has embedded newlines, which improves its appearance on Vista/7 (which were doing their own wrapping in addition to our newlines). Appearance is different but fine on XP. Note that the message text now contains the "[_debug].exe" suffix when referring to the process; that is different from before but seems fine. (WebKitMain): Call the new function. 2011-06-24 Dominic Cooney Reviewed by Dimitri Glazkov. Convert shadow DOM-related tests to use window.internals https://bugs.webkit.org/show_bug.cgi?id=61671 Remove shadow DOM-related methods from WebKit2 API. These are not required any more. * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp: * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h: * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp: * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h: * win/WebKit2.def: Re-exports for symbols used by WebCoreTestSupport. * win/WebKit2CFLite.def: Same for Cairo. 2011-06-24 Carlos Garcia Campos Reviewed by Martin Robinson. [X11] Do not call NPP_SetWindow with a null window handle on destroy https://bugs.webkit.org/show_bug.cgi?id=62981 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: (WebKit::NetscapePlugin::destroy): 2011-06-23 Jamie Cooley Reviewed by Andreas Kling. [Qt][WK2] Qt port needs load-from-history implementation https://bugs.webkit.org/show_bug.cgi?id=57784 Created "random access" BackForwardHistory public API method, QWKHistory::goToItemAt(int) * UIProcess/API/qt/qwkhistory.cpp: (QWKHistoryItem::QWKHistoryItem::itemRef): Added access method to fetch WKBackForwardListRef (QWKHistoryPrivate::QWKHistoryPrivate): (QWKHistoryPrivate::createHistory): Updated createHistory method and QWKHistoryPrivate constructor to take a pointer to the owning QWKPage in addition to the WebBackForwardList. This will be saved so that the new API can ask the page to load a HistoryItem. (QWKHistory::goToItemAt): New Public API. Like QWKHistory::itemAt, callee gives an integer. <0 means jump back to that item, 0 means the current item, >0 means jump forwards. If an out-of-range index is given, the function silently fails. This will invoke WKPageGoToBackForwardListItem. * UIProcess/API/qt/qwkhistory.h: * UIProcess/API/qt/qwkhistory_p.h: * UIProcess/API/qt/qwkpage.cpp: (QWKPagePrivate::QWKPagePrivate): Update instantiation of QWKHistory to include QWKPage. * UIProcess/API/qt/tests/qwkhistory/tst_qwkhistory.cpp: (tst_QWKHistory::historyForwardBackTest_data): (tst_QWKHistory::historyForwardBackTest): Add test content for the new API 2011-06-23 Yael Aharon Reviewed by Andreas Kling. [Qt] [WK2] Add drag and drop support https://bugs.webkit.org/show_bug.cgi?id=62838 Added missing pieces to add support for DnD in QtWebKit. * Shared/qt/ArgumentCodersQt.cpp: Added. (CoreIPC::::encode): (CoreIPC::::decode): * Shared/qt/ArgumentCodersQt.h: Added. Encode DragData so that we can transfer the QMimeData between the WebProcess and the UI Process. I encode the DragData and not QMimeData directly because we don't have an associated QMimeData for each message. * UIProcess/API/qt/qgraphicswkview.cpp: (QGraphicsWKView::init): (QGraphicsWKView::dragEnterEvent): (QGraphicsWKView::dragLeaveEvent): (QGraphicsWKView::dragMoveEvent): (QGraphicsWKView::dropEvent): * UIProcess/API/qt/qgraphicswkview.h: * UIProcess/API/qt/qwkpage.cpp: (dropActionToDragOperation): (dragOperationToDropAction): (dragOperationToDropActions): (QWKPagePrivate::dragEnterEvent): (QWKPagePrivate::dragLeaveEvent): (QWKPagePrivate::dragMoveEvent): (QWKPagePrivate::dropEvent): (QWKPagePrivate::startDrag): Send drag-and-drop related events to WebKit. * UIProcess/API/qt/qwkpage_p.h: * UIProcess/PageClient.h: * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::performDragControllerAction): (WebKit::WebPageProxy::startDrag): * UIProcess/WebPageProxy.h: Start the HTML5 drag operation from the UI process, because QDrag needs a handle to the QWidget under the mouse. * UIProcess/WebPageProxy.messages.in: Add message type that takes DragData as a parameter. * WebKit2.pro: * WebProcess/WebCoreSupport/WebDragClient.cpp: * WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp: Added. (WebKit::convertImageToBitmap): (WebKit::WebDragClient::startDrag): Send a message to the UI process to start the HTML5 drag operation. * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::performDragControllerAction): * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/WebPage.messages.in: Add message type that takes DragData as a parameter. 2011-06-23 Carlos Garcia Campos Reviewed by Martin Robinson. [UNIX] Fix compile warnings in NetscapePluginX11.cpp https://bugs.webkit.org/show_bug.cgi?id=63249 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: (WebKit::setXButtonEventFields): (WebKit::NetscapePlugin::platformHandleMouseEvent): 2011-06-22 Carlos Garcia Campos Reviewed by Martin Robinson. [UNIX] Increment/decrement module load conter in NetscapePluginModule::getPluginInfo() https://bugs.webkit.org/show_bug.cgi?id=63150 Since the method is static, we are using NetscapePluginModule::getOrCreate() to get the module. If it's created, the load counter is 0, so that when module is deleted, shutdown() hasn't been called and the destructor crashes in the assert that checks the module has been removed from the initialized module list. We should increment the load counter, and decrement it before getPluginInfo() returns, so that decrementLoadCount() will call shutdown() if counter is 0 and the module will be deleted from the list. * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: (WebKit::NetscapePluginModule::getPluginInfo): 2011-06-22 Carlos Garcia Campos Reviewed by Martin Robinson. [UNIX] Check for npp directly when getting X display in NetscapeBrowserFuncs https://bugs.webkit.org/show_bug.cgi?id=63149 NetscapePlugin::fromNPP() shouldn't be called with a null npp, it contains an assert that make it crash when building with debug enabled. * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue): 2011-06-22 Nate Chapin Reviewed by Adam Barth. Add win symbols for new window.internals functionality. https://bugs.webkit.org/show_bug.cgi?id=62066 * win/WebKit2.def: 2011-06-22 Balazs Kelemen Reviewed by Andreas Kling. [Qt][WK2] Set up plugin tests https://bugs.webkit.org/show_bug.cgi?id=63066 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::createPlugin): Force windowless mode for the test plugin because we don't support windowed plugins yet. 2011-06-22 Geoffrey Garen Reviewed by Oliver Hunt. Removed unnecessary #include . * PluginProcess/mac/PluginProcessMainMac.mm: * Shared/WebMemorySampler.cpp: * UIProcess/WebFrameProxy.cpp: * UIProcess/WebProcessProxy.cpp: * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp: * WebProcess/mac/WebProcessMac.mm: Added #include back to places where it was needed. 2011-06-22 Balazs Kelemen Unreviewed build fix after r89461. * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: (WebKit::NetscapePlugin::platformSetFocus): Forgot to name the parameter, fix it. 2011-06-22 Balazs Kelemen Reviewed by Darin Adler. [X11][WK2] Implement NetscapePlugin::platformSetFocus https://bugs.webkit.org/show_bug.cgi?id=63154 * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: (WebKit::NetscapePlugin::platformSetFocus): Implement focus setting based on the WebKit1 path. 2011-06-22 Eunmi Lee Reviewed by Martin Robinson. Change GtkWidgetBackingStore.h to WidgetBackingStore.h in order to use in the EFL port. https://bugs.webkit.org/show_bug.cgi?id=62848 Change GtkWidgetBackingStore to WidgetBackingStore in the BackingStore.h and gtk/BackingStoreGtk.cpp. * UIProcess/BackingStore.h: * UIProcess/gtk/BackingStoreGtk.cpp: (WebKit::BackingStore::incorporateUpdate): 2011-06-22 Adam Roben Don't use an alpha channel when drawing the web page on Windows We never use the alpha channel in the end anyway (because we never render into a layered window, which is the only kind of window that supports alpha). And using an alpha channel is tricky to get right since GDI doesn't support alpha (and often writes 0x0 into the alpha channel). Fixes REGRESSION (r88978): Text inside form controls looks really awful on Windows XP Reviewed by Anders Carlsson. * WebProcess/WebPage/win/DrawingAreaImplWin.cpp: (WebKit::DrawingAreaImpl::createGraphicsContext): Specify false for the hasAlpha parameter to the GraphicsContext constructor. 2011-06-22 Carlos Garcia Campos Reviewed by Martin Robinson. [GTK] Remove Connection::setShouldCloseConnectionOnProcessTermination() https://bugs.webkit.org/show_bug.cgi?id=61627 Don't use Connection::setShouldCloseConnectionOnProcessTermination() for the GTK port, when the process finishes the connection is closed and the other process is already notified. We still need to monitor the child process so that it doesn't become a zombie when it dntabi * Platform/CoreIPC/Connection.h: * Platform/CoreIPC/unix/ConnectionUnix.cpp: * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: (WebKit::childFinishedFunction): (WebKit::ProcessLauncher::launchProcess): * UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::didFinishLaunching): 2011-06-20 Dimitri Glazkov Reviewed by Kent Tamura. FileChooser should be only created when we need to choose files. https://bugs.webkit.org/show_bug.cgi?id=63039 * WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::runOpenPanel): Changed to use settings. 2011-06-22 Martin Robinson Reviewed by Adam Roben. [GTK] Implement pixel dump support for WebKitTestRunner https://bugs.webkit.org/show_bug.cgi?id=58242 * GNUmakefile.am: Added new Cairo specific image handling files to the build. * Shared/API/c/cairo/WKImageCairo.cpp: Copied from Source/WebKit2/Shared/cairo/ShareableBitmapCairo.cpp. (WKImageCreateCairoSurface): Added (WKImageCreateFromCairoSurface): Added * Shared/API/c/cairo/WKImageCairo.h: Copied from Source/WebKit2/Shared/cairo/ShareableBitmapCairo.cpp. 2011-06-21 MORITA Hajime Unreviewed, rolling out r89401 and r89403. http://trac.webkit.org/changeset/89401 http://trac.webkit.org/changeset/89403 https://bugs.webkit.org/show_bug.cgi?id=62970 Breaks mac build and mistakenly enables the spellcheck API * Configurations/FeatureDefines.xcconfig: 2011-06-20 MORITA Hajime Reviewed by Kent Tamura. Spellcheck API should be build-able. https://bugs.webkit.org/show_bug.cgi?id=62970 No new tests, changing only build related files * Configurations/FeatureDefines.xcconfig: 2011-06-21 Jer Noble Reviewed by Simon Fraser. REGRESSION: Fullscreen videos are broken (affects embedded vimeo, vimeo.com, and apple.com) https://bugs.webkit.org/show_bug.cgi?id=63098 Force a repaint after completing entering full-screen mode only after the notification is sent for the QTMovie to tear down its layer. Then, the QTMovie will build up its layer again during the repaint. * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm: (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer): 2011-06-21 Yael Aharon Reviewed by Kenneth Rohde Christiansen. [Qt] Add an internal API for accessing the QGraphicsView. https://bugs.webkit.org/show_bug.cgi?id=63095 * UIProcess/API/qt/qwkpage.cpp: (QWKPagePrivate::ownerWidget): * UIProcess/API/qt/qwkpage_p.h: 2011-06-21 Lukasz Slachciak Reviewed by Sam Weinig. [GTK] [WK2] WebKit2 build break fixes. https://bugs.webkit.org/show_bug.cgi?id=62950 When building WebKit2 for GTK there are few build breaks connected with missing include files. * Platform/unix/SharedMemoryUnix.cpp: * Shared/gtk/WebCoreArgumentCodersGtk.cpp: * UIProcess/API/gtk/PageClientImpl.cpp: 2011-06-20 Martin Robinson Reviewed by Eric Seidel. [GTK] [WebKit2] Disable GDK double buffering https://bugs.webkit.org/show_bug.cgi?id=62770 Explicitly disable GDK double-buffering when instantiating a WebKit2 view widget. This prevents one extra pixmap copy. * UIProcess/API/gtk/WebKitWebViewBase.cpp: (webkit_web_view_base_init): 2011-06-20 Carlos Garcia Campos Reviewed by Martin Robinson. [UNIX] Don't use WebCore::PluginPackage to get plugin information https://bugs.webkit.org/show_bug.cgi?id=62899 The problem is that both PluginPackage in WebCore and NetscapePluginModule in webkit2 install their own netscape browser functions and that can cause conflicts in some situations. * Shared/Plugins/Netscape/NetscapePluginModule.h: Add helper function to set plugin mime type descriptions. * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: (WebKit::NetscapePluginModule::setMIMEDescription): Helper function to set plugin mime type descriptions. (WebKit::NetscapePluginModule::getPluginInfo): Use NetscapePluginModule instead of PluginPackage. * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp: Remove unneeded header include. * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue): Do not try to get the XDisplay if the plugin doesn't have a view. It fixes a crash with flash plugin and matches WebCore. 2011-06-20 Carlos Garcia Campos Reviewed by Xan Lopez. [GTK] Split libWebCore into two libWebCore and libWebCoreGtk https://bugs.webkit.org/show_bug.cgi?id=60539 * GNUmakefile.am: Link to libWebCoreGtk.la too. 2011-06-19 MORITA Hajime Unreviewed wincairo build fix. * win/WebKit2CFLite.def: 2011-06-19 MORITA Hajime Reviewed by Dimitri Glazkov. The internals object should have createShadowContentElement() https://bugs.webkit.org/show_bug.cgi?id=62432 * win/WebKit2.def: Added some more symbols necessary for window.internals to function to the global symbol list. 2011-06-18 Dimitri Glazkov Reviewed by Darin Adler. Separate concerns of loading file icons and choosing files. https://bugs.webkit.org/show_bug.cgi?id=62931 * WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::loadIconForFiles): Renamed. * WebProcess/WebCoreSupport/WebChromeClient.h: 2011-06-18 Eunmi Lee Reviewed by Sam Weinig. [EFL][WK2] add WebKit2 EFL port's NativeWebMouseEvent, NativeWebWheelEvent and NativeWebKeyboardEvent https://bugs.webkit.org/show_bug.cgi?id=61993 Add native mouse and keyboard event classes to convert EFL's events to NativeWebEvent. * Shared/NativeWebKeyboardEvent.h: (WebKit::NativeWebKeyboardEvent::nativeEvent): * Shared/NativeWebMouseEvent.h: (WebKit::NativeWebMouseEvent::nativeEvent): * Shared/NativeWebWheelEvent.h: (WebKit::NativeWebWheelEvent::nativeEvent): * Shared/efl/NativeWebKeyboardEventEfl.cpp: Added. (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent): * Shared/efl/NativeWebMouseEventEfl.cpp: Added. (WebKit::NativeWebMouseEvent::NativeWebMouseEvent): * Shared/efl/NativeWebWheelEventEfl.cpp: Added. (WebKit::NativeWebWheelEvent::NativeWebWheelEvent): * Shared/efl/WebEventFactory.cpp: Added. (WebKit::modifiersForEvent): (WebKit::buttonForEvent): (WebKit::clickCountForEvent): (WebKit::WebEventFactory::createWebMouseEvent): (WebKit::WebEventFactory::createWebWheelEvent): (WebKit::WebEventFactory::createWebKeyboardEvent): * Shared/efl/WebEventFactory.h: Added. 2011-06-18 Eunmi Lee Reviewed by Sam Weinig. [EFL][WK2] Add missing functions of EFL port's PageClientImpl https://bugs.webkit.org/show_bug.cgi?id=62711 Three functions are added in the PageClient.h, so add them to the EFL's PageClientImpl. * UIProcess/API/efl/PageClientImpl.cpp: (WebKit::PageClientImpl::screenToWindow): (WebKit::PageClientImpl::enterAcceleratedCompositingMode): (WebKit::PageClientImpl::exitAcceleratedCompositingMode): * UIProcess/API/efl/PageClientImpl.h: 2011-06-17 Brent Fulgham [WinCairo] Unreviewed build fix after r89060 and r89161. * Shared/win/WebCoreArgumentCodersWin.cpp: WinCairo build fixes (1) Include proper header files for WinCairo build (2) Exclude unused namespace declaration 2011-06-17 Anders Carlsson Reviewed by Sam Weinig. Remove unused ArgumentEncoder and ArgumentDecoder functions https://bugs.webkit.org/show_bug.cgi?id=62909 * Platform/CoreIPC/ArgumentDecoder.cpp: * Platform/CoreIPC/ArgumentDecoder.h: * Platform/CoreIPC/ArgumentEncoder.cpp: * Platform/CoreIPC/ArgumentEncoder.h: * Shared/win/PlatformCertificateInfo.cpp: (WebKit::PlatformCertificateInfo::encode): (WebKit::PlatformCertificateInfo::decode): Replace calls to encodeBytes/decodeBytes with encodeVariableLengthByteArray/decodeVariableLengthByteArray. 2011-06-17 Anders Carlsson Yet another Qt build fix attempt. * UIProcess/API/qt/ClientImpl.cpp: * UIProcess/API/qt/qgraphicswkview.cpp: * UIProcess/API/qt/qwkpage.cpp: * UIProcess/API/qt/qwkpage_p.h: 2011-06-17 Anders Carlsson Another attempt at fixing the Qt build. * UIProcess/API/qt/ClientImpl.cpp: * UIProcess/API/qt/qgraphicswkview.cpp: * UIProcess/API/qt/qwkcontext.cpp: 2011-06-17 Anders Carlsson Fix Qt build. * WebProcess/ResourceCache/WebResourceCacheManager.cpp: 2011-06-17 Anders Carlsson Windows build fix. * UIProcess/win/WebView.cpp: 2011-06-17 Anders Carlsson Reviewed by Sam Weinig. Move the remaining WebCore argument coders to the .cpp file https://bugs.webkit.org/show_bug.cgi?id=62874 Also add includes that other files need that used to be provided by WebCoreArgumentCoders.h, and get rid of the LAZY_NATIVE_CURSOR #if check because all WebKit2 platforms now support it. * Shared/ContextMenuState.h: * Shared/WebCoreArgumentCoders.cpp: (CoreIPC::::encode): (CoreIPC::::decode): * Shared/WebCoreArgumentCoders.h: * Shared/gtk/WebCoreArgumentCodersGtk.cpp: * Shared/mac/WebCoreArgumentCodersMac.mm: * Shared/qt/WebCoreArgumentCodersQt.cpp: * UIProcess/API/mac/PDFViewController.mm: * UIProcess/PageClient.h: * UIProcess/WebIconDatabase.cpp: * UIProcess/WebPageProxy.cpp: * UIProcess/WebPageProxy.h: * UIProcess/mac/WKFullScreenWindowController.mm: 2011-06-17 Chang Shu Reviewed by Anders Carlsson. [Qt] [WK2] Debug info leaks to stdout from plugins in Qt WebKit2 layout tests https://bugs.webkit.org/show_bug.cgi?id=61940 Tempararily supress stdout during getPluginInfo during which debug info was leaked out. * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp: (WebKit::StdoutRedirect::StdoutRedirect): (WebKit::StdoutRedirect::~StdoutRedirect): (WebKit::NetscapePluginModule::getPluginInfo): 2011-06-17 Anders Carlsson Reviewed by Andreas Kling. Remove WebCore:: qualifier from names in WebPageProxy. * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::dragEntered): (WebKit::WebPageProxy::dragUpdated): (WebKit::WebPageProxy::dragExited): (WebKit::WebPageProxy::performDrag): (WebKit::WebPageProxy::performDragControllerAction): (WebKit::WebPageProxy::dragEnded): (WebKit::WebPageProxy::setResizesToContentsUsingLayoutSize): (WebKit::WebPageProxy::unableToImplementPolicy): (WebKit::WebPageProxy::didChangeContentsSize): (WebKit::WebPageProxy::didFindZoomableArea): (WebKit::WebPageProxy::findZoomableAreaForPoint): (WebKit::WebPageProxy::setComposition): (WebKit::WebPageProxy::checkTextOfParagraph): (WebKit::WebPageProxy::checkGrammarOfString): (WebKit::WebPageProxy::setCursor): (WebKit::WebPageProxy::computedPagesCallback): (WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpaceInFrame): (WebKit::WebPageProxy::didReceiveAuthenticationChallenge): (WebKit::WebPageProxy::showCorrectionPanel): (WebKit::WebPageProxy::dismissCorrectionPanel): (WebKit::WebPageProxy::dismissCorrectionPanelSoon): (WebKit::WebPageProxy::recordAutocorrectionResponse): 2011-06-17 Anders Carlsson Reviewed by Darin Adler. Fix message generator to include headers for all types https://bugs.webkit.org/show_bug.cgi?id=62870 Previously, if we found an argument coder header for a type, we'd assume that that header includes the necessary headers for the type. * Scripts/webkit2/messages.py: * Scripts/webkit2/messages_unittest.py: 2011-06-17 Chang Shu Reviewed by Andreas Kling. [Qt] [WK2] Support undo/redo in MiniBrowser https://bugs.webkit.org/show_bug.cgi?id=62809 * UIProcess/API/qt/qwkpage.cpp: (QWKPage::action): * UIProcess/API/qt/qwkpage.h: 2011-06-17 Carlos Garcia Campos Unreviewed. Fix WebKit2 GTK build after r89060. * Shared/gtk/WebCoreArgumentCodersGtk.cpp: (CoreIPC::::encode): 2011-06-16 Anders Carlsson Reviewed by Sam Weinig. Get rid of CoreIPC::In and CoreIPC::Out from some argument coders https://bugs.webkit.org/show_bug.cgi?id=62832 * Shared/OriginAndDatabases.cpp: (WebKit::OriginAndDatabases::encode): (WebKit::OriginAndDatabases::decode): * Shared/SecurityOriginData.cpp: (WebKit::SecurityOriginData::encode): (WebKit::SecurityOriginData::decode): * Shared/WebKeyboardEvent.cpp: (WebKit::WebKeyboardEvent::encode): (WebKit::WebKeyboardEvent::decode): * Shared/WebOpenPanelParameters.cpp: (WebKit::WebOpenPanelParameters::Data::encode): (WebKit::WebOpenPanelParameters::Data::decode): * Shared/WebPreferencesStore.cpp: (WebKit::WebPreferencesStore::encode): (WebKit::WebPreferencesStore::decode): 2011-06-16 Anders Carlsson Reviewed by Sam Weinig. Cleanup ResourceRequest, ResourceResponse and ResourceError argument coders https://bugs.webkit.org/show_bug.cgi?id=62803 Get rid of the free encode/decode functions and move the template specializations to their respective implementation files instead. * Shared/WebCoreArgumentCoders.h: * Shared/gtk/WebCoreArgumentCodersGtk.cpp: (CoreIPC::::encode): (CoreIPC::::decode): * Shared/mac/WebCoreArgumentCodersMac.mm: (CoreIPC::::encode): (CoreIPC::::decode): * Shared/qt/WebCoreArgumentCodersQt.cpp: (CoreIPC::::encode): (CoreIPC::::decode): * Shared/win/WebCoreArgumentCodersWin.cpp: (CoreIPC::::encode): (CoreIPC::::decode): 2011-06-16 Chang Shu Reviewed by Sam Weinig. [Qt] [WK2] Qt WebKit2 needs undo/redo support https://bugs.webkit.org/show_bug.cgi?id=62637 Implement undo/redo support for document.execCommand(). * UIProcess/API/qt/qwkpage.cpp: (QWKPagePrivate::QWKPagePrivate): (QWKPagePrivate::~QWKPagePrivate): (QWKPagePrivate::registerEditCommand): (QWKPagePrivate::clearAllEditCommands): (QWKPagePrivate::canUndoRedo): (QWKPagePrivate::executeUndoRedo): * UIProcess/API/qt/qwkpage_p.h: * UIProcess/qt/WebUndoCommandQt.cpp: Added. (WebUndoCommandQt::WebUndoCommandQt): (WebUndoCommandQt::~WebUndoCommandQt): (WebUndoCommandQt::redo): (WebUndoCommandQt::undo): * UIProcess/qt/WebUndoCommandQt.h: Added. (WebUndoCommandQt::inUndoRedo): * WebKit2.pro: 2011-06-16 Anders Carlsson Fix build. * Shared/WebCoreArgumentCoders.cpp: * Shared/WebCoreArgumentCoders.h: 2011-06-15 Anders Carlsson Reviewed by Sam Weinig. Move more argument coders to WebCoreArgumentCoders and clean up the animation coders https://bugs.webkit.org/show_bug.cgi?id=62760 * Shared/WebCoreArgumentCoders.cpp: (CoreIPC::::encode): (CoreIPC::::decode): (CoreIPC::encodeOperation): (CoreIPC::decodeOperation): (CoreIPC::encodeBoolAndValue): (CoreIPC::encodeBoolAndEnumValue): (CoreIPC::decodeBoolAndValue): (CoreIPC::decodeBoolAndEnumValue): * Shared/WebCoreArgumentCoders.h: * Shared/mac/ArgumentCodersMac.h: * Shared/mac/ArgumentCodersMac.mm: * Shared/mac/WebCoreArgumentCodersMac.mm: (CoreIPC::::encode): (CoreIPC::::decode): 2011-06-16 Sangyong Park Reviewed by Martin Robinson. [GTK] Implement ResourceRequest and ResourceResponse encoder/decoder https://bugs.webkit.org/show_bug.cgi?id=55934 * Shared/gtk/WebCoreArgumentCodersGtk.cpp: (CoreIPC::encodeResourceRequest): (CoreIPC::decodeResourceRequest): (CoreIPC::encodeResourceResponse): (CoreIPC::decodeResourceResponse): 2011-06-16 Carlos Garcia Campos Reviewed by Xan Lopez. [GTK] Remove support for GTK+2 in WebKit2 https://bugs.webkit.org/show_bug.cgi?id=62794 * UIProcess/API/gtk/WebKitWebViewBase.cpp: (webkitWebViewBaseRealize): (webkitWebViewBaseDraw): (webkitWebViewBaseQueryTooltip): (webkit_web_view_base_class_init): (webkitWebViewBaseSetTooltipText): * UIProcess/gtk/WebContextMenuProxyGtk.cpp: (WebKit::WebContextMenuProxyGtk::menuPositionFunction): * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: (WebKit::moduleMixesGtkSymbols): 2011-06-15 Adam Barth Reviewed by Eric Seidel. Remove ScriptController::setAllowPopupsFromPlugin https://bugs.webkit.org/show_bug.cgi?id=62706 * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::performJavaScriptURLRequest): (WebKit::PluginView::evaluate): 2011-06-15 Ryuan Choi Rubber stamped by Eric Seidel. [CMAKE][WK2] Add an option to build webkit2. https://bugs.webkit.org/show_bug.cgi?id=62260 Add script to build WebKit2 using CMake. * CMakeLists.txt: Added. 2011-06-15 John Sullivan Reviewed by Sam Weinig. WKSecurityOriginGetProtocol and WKSecurityOriginGetHost are named wrong because they return copied strings * Shared/API/c/WKSecurityOrigin.cpp: (WKSecurityOriginCopyProtocol): Renamed to use "Copy" instead of "Get" because it returns a copy. (WKSecurityOriginCopyHost): Ditto. * Shared/API/c/WKSecurityOrigin.h: Updated declarations. 2011-06-14 Jon Honeycutt REGRESSION(78201): Windowless Flash plug-ins are transparent on some sites https://bugs.webkit.org/show_bug.cgi?id=62690 Reviewed by Ada Chan. The bug arises when mixing CoreGraphics and GDI. When we create a Windows bitmap for a windowless plug-in to draw into, we first fill it with "clear", or all 0s. If the plug-in uses GDI to draw, the GDI calls will ignore the alpha channel, and if we then use CG to blend this bitmap onto the GraphicsContext for the rest of the page, CG will treat the 0-filled alpha channel as being transparent. To fix this, on Windows, use a GDI-backed GraphicsContext to paint the page in the WebProcess, and use GDI to blit from the UpdateInfo to the backing store in the UI process. * Platform/SharedMemory.h: (WebKit::SharedMemory::handle): Return the handle for the memory. * Shared/ShareableBitmap.h: Declared windowsContext() to return a HDC with the bitmap selected into it. Added members to store the HDC and the HBITMAP. * Shared/win/ShareableBitmapWin.cpp: Added. (WebKit::ShareableBitmap::windowsContext): Get the screen DC, and create a compatible DC from it. Create a DIB section backed by the shared memory, select it into the context, and return it. * UIProcess/win/BackingStoreWin.cpp: (WebKit::BackingStore::incorporateUpdate): Use GDI to blit from the update info's bitmap into the backing store bitmap. * WebProcess/WebPage/DrawingAreaImpl.cpp: (WebKit::DrawingAreaImpl::createGraphicsContext): Return a GraphicsContext from the ShareableBitmap. (WebKit::DrawingAreaImpl::display): Call createGraphicsContext(), and pass the ShareableBitmap. * WebProcess/WebPage/DrawingAreaImpl.h: Declare createGraphicsContext(), which on Windows will create a GDI-backed GraphicsContext. * WebProcess/WebPage/win/DrawingAreaImplWin.cpp: Added. (WebKit::DrawingAreaImpl::createGraphicsContext): Get a Windows context for the bitmap, and create and return a new GraphicsContext using the DC. * win/WebKit2.vcproj: Added new files. 2011-06-15 Anders Carlsson Reviewed by Sam Weinig. Move more argument coders to WebCoreArgumentCoders.cpp https://bugs.webkit.org/show_bug.cgi?id=62755 * Shared/WebCoreArgumentCoders.cpp: (CoreIPC::::decode): (CoreIPC::::encode): (CoreIPC::encodeImage): (CoreIPC::decodeImage): * Shared/WebCoreArgumentCoders.h: 2011-06-15 Anders Carlsson Reviewed by Darin Adler. Add ShareableBitmap::createImage and get rid of WebCoreArgumentCodersCG.cpp https://bugs.webkit.org/show_bug.cgi?id=62742 * Shared/ShareableBitmap.h: Move createImage out of the #if PLATFORM(QT) section. * Shared/WebCoreArgumentCoders.cpp: (CoreIPC::decodeImage): Call ShareableBitmap::createImage. * Shared/WebCoreArgumentCoders.h: remove createImage function declaration. * Shared/cairo/ShareableBitmapCairo.cpp: (WebKit::ShareableBitmap::createImage): Add implementation. * Shared/cg/ShareableBitmapCG.cpp: (WebKit::ShareableBitmap::createGraphicsContext): (WebKit::ShareableBitmap::createImage): Move createImage implementation from WebCoreArgumentCodersCG.cpp here. * WebKit2.xcodeproj/project.pbxproj: * win/WebKit2.vcproj: Update projects. 2011-06-15 Anders Carlsson Reviewed by Alexey Proskuryakov. Move some argument coders to WebCoreArgumentCoders.cpp https://bugs.webkit.org/show_bug.cgi?id=62739 * GNUmakefile.am: * Shared/WebCoreArgumentCoders.cpp: (CoreIPC::::encode): (CoreIPC::::decode): * Shared/WebCoreArgumentCoders.h: * WebKit2.pro: 2011-06-15 Anders Carlsson Reviewed by Sam Weinig. Fix possible null dereference in webSecKeychainItemCreateFromContentOnMainThread https://bugs.webkit.org/show_bug.cgi?id=62736 * WebProcess/mac/KeychainItemShimMethods.mm: (WebKit::webSecKeychainItemCreateFromContentOnMainThread): SecKeychainItemCreateFromContent can potentially return a null keychain item, so add a null check before trying to retain it. 2011-06-15 Anders Carlsson Reviewed by Dan Bernstein. Ignore responsiveness timer callbacks on closed pages https://bugs.webkit.org/show_bug.cgi?id=62735 * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::close): Use nullptr instead of clear. (WebKit::WebPageProxy::processDidBecomeUnresponsive): Return early if the page isn't valid. (WebKit::WebPageProxy::processDidBecomeResponsive): Ditto. (WebKit::WebPageProxy::updateBackingStoreDiscardableState): Assert that the page is valid. 2011-06-15 Sheriff Bot Unreviewed, rolling out r88907. http://trac.webkit.org/changeset/88907 https://bugs.webkit.org/show_bug.cgi?id=62732 See comment #15 by Nikolas Zimmermann on bug 62527 regarding the deprecation of makeString() (Requested by acidx on #webkit). * UIProcess/efl/WebPageProxyEfl.cpp: (WebKit::WebPageProxy::standardUserAgent): 2011-06-15 Csaba Osztrogonác [Qt][WK2] Unreviewed rolling out r88799, because it made web process crash. * Scripts/webkit2/messages.py: * Shared/LayerTreeContext.h: * Shared/qt/LayerTreeContextQt.cpp: (WebKit::LayerTreeContext::LayerTreeContext): (WebKit::LayerTreeContext::~LayerTreeContext): (WebKit::LayerTreeContext::encode): (WebKit::LayerTreeContext::decode): (WebKit::LayerTreeContext::isEmpty): (WebKit::operator==): * UIProcess/DrawingAreaProxy.h: * UIProcess/DrawingAreaProxy.messages.in: * WebKit2.pro: * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: (WebCore::collectCompositingInfoForThisLayer): * WebProcess/WebPage/LayerTreeHost.cpp: (WebKit::LayerTreeHost::create): * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: * WebProcess/WebPage/qt/LayerTreeHostQt.h: Removed. 2011-06-14 Eunmi Lee Reviewed by Sam Weinig. [EFL][WK2] Change string operation to makeString() https://bugs.webkit.org/show_bug.cgi?id=62527 Use makeString() because it is better than creating individual strings and concatenating them. * UIProcess/efl/WebPageProxyEfl.cpp: (WebKit::WebPageProxy::standardUserAgent): 2011-06-14 Sam Weinig Reviewed by Simon Fraser. Follow up for Callers should be robust against WebImage::create() returning an image with a null snapshot https://bugs.webkit.org/show_bug.cgi?id=62666 * Shared/API/c/cg/WKImageCG.cpp: (WKImageCreateCGImage): (WKImageCreateFromCGImage): Don't null check the arguments (as per our API design) or the direct result of WebImage::create. * Shared/UserMessageCoders.h: (WebKit::UserMessageEncoder::baseEncode): Remove redundant check and make not being able to create a handle the same as not being backed by shareable memory. 2011-06-14 John Sullivan Reviewed by Ada Chan. windowsKeyCodeForKeyEvent should be robust against NSFlagsChanged events * Shared/mac/WebEventFactory.mm: (WebKit::windowsKeyCodeForKeyEvent): Explicitly check for NSFlagsChanged before calling -charactersIgnoringModifiers, since charactersIgnoringModifiers throws an exception for NSFlagsChanged events. 2011-06-14 Anders Carlsson Reviewed by Sam Weinig. Use new byte array encoding/decoding functions for WTF argument coders https://bugs.webkit.org/show_bug.cgi?id=62682 * Platform/CoreIPC/ArgumentCoders.cpp: (CoreIPC::::encode): (CoreIPC::::decode): Use the new functions for the string argument coders. * Platform/CoreIPC/ArgumentCoders.h: (CoreIPC::SimpleArgumentCoder::encode): (CoreIPC::SimpleArgumentCoder::decode): Use the new functions to avoid encoding/decoding the size when it's known at decode time. * Platform/CoreIPC/ArgumentDecoder.cpp: (CoreIPC::roundUpToAlignment): Assert that the alignment is a power of 2. (CoreIPC::decodeFixedLengthData): Alignment comes before the size. * UIProcess/cf/WebBackForwardListCF.cpp: (WebKit::WebBackForwardList::createCFDictionaryRepresentation): Add a FIXME about now using the internal CoreIPC encoding format here. * UIProcess/cf/WebPageProxyCF.cpp: Bump the current session state data version number. 2011-06-14 No'am Rosenthal Reviewed by Kenneth Rohde Christiansen. [Qt] Implement accelerated compositing on WK2 Qt port https://bugs.webkit.org/show_bug.cgi?id=56935 Expose viewportVisibleRect(), so that we can detect which parts of a texture actually need to be uploaded. Together with Viatcheslav Ostapenko. * UIProcess/API/qt/qwkpage.cpp: (QWKPagePrivate::viewportVisibleRect): * UIProcess/API/qt/qwkpage_p.h: * UIProcess/PageClient.h: * UIProcess/WebPageProxy.h: * UIProcess/qt/WebPageProxyQt.cpp: (WebKit::WebPageProxy::viewportVisibleRect): 2011-06-14 Anders Carlsson Reviewed by Sam Weinig. Start using the new encode/decode functions https://bugs.webkit.org/show_bug.cgi?id=62676 * Platform/CoreIPC/DataReference.cpp: (CoreIPC::DataReference::encode): Use encodeVariableLengthByteArray. * Shared/UserMessageCoders.h: (WebKit::UserMessageEncoder::baseEncode): Use encodeVariableLengthByteArray and the new dataReference accessors. (WebKit::UserMessageDecoder::baseDecode): Use decodeVariableLengthByteArray. * Shared/WebData.h: (WebKit::WebData::dataReference): Return a reference to the data. * Shared/WebSerializedScriptValue.h: (WebKit::WebSerializedScriptValue::dataReference): Ditto. * Shared/cf/ArgumentCodersCF.cpp: (CoreIPC::encode): Use encodeVariableLengthByteArray. * Shared/mac/SandboxExtensionMac.mm: (WebKit::SandboxExtension::Handle::encode): Use encodeVariableLengthByteArray. * WebProcess/WebPage/DecoderAdapter.cpp: (WebKit::DecoderAdapter::decodeBytes): Use decodeVariableLengthByteArray. * WebProcess/WebPage/EncoderAdapter.cpp: (WebKit::EncoderAdapter::dataReference): Rename data() to dataReference() to indicate that it returns a reference to the data. (WebKit::EncoderAdapter::encodeBytes): Use encodeVariableLengthByteArray. 2011-06-14 Anders Carlsson Reviewed by Sam Weinig. Add encodeVariableLengthByteArray and decodeVariableLengthByteArray https://bugs.webkit.org/show_bug.cgi?id=62674 Rename the ArgumentDecoder::decodeBytes overload that takes a DataReference to decodeVariableLengthByteArray, to match the added encodeVariableLengthByteArray. * Platform/CoreIPC/ArgumentDecoder.cpp: (CoreIPC::ArgumentDecoder::decodeVariableLengthByteArray): * Platform/CoreIPC/ArgumentDecoder.h: * Platform/CoreIPC/ArgumentEncoder.cpp: (CoreIPC::ArgumentEncoder::encodeFixedLengthData): (CoreIPC::ArgumentEncoder::encodeVariableLengthByteArray): * Platform/CoreIPC/ArgumentEncoder.h: * Platform/CoreIPC/DataReference.cpp: (CoreIPC::DataReference::decode): * Shared/mac/SandboxExtensionMac.mm: (WebKit::SandboxExtension::Handle::decode): 2011-06-14 Anders Carlsson Reviewed by Sam Weinig. Add functions for converting between DataReferences and vectors https://bugs.webkit.org/show_bug.cgi?id=62671 * Platform/CoreIPC/DataReference.h: (CoreIPC::DataReference::DataReference): New implicit constructor that takes a vector. (CoreIPC::DataReference::vector): New function that returns a new vector. * Shared/WebBackForwardListItem.cpp: (WebKit::WebBackForwardListItem::encode): Use implicit constructor. * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::runJavaScriptInMainFrame): Ditto. 2011-06-14 John Sullivan Reviewed by Dan Bernstein. Callers should be robust against WebImage::create() returning an image with a null snapshot * Shared/API/c/cg/WKImageCG.cpp: (WKImageCreateCGImage): Return 0 if no bitmap was created. (WKImageCreateFromCGImage): Ditto. * Shared/UserMessageCoders.h: (WebKit::UserMessageEncoder::baseEncode): Check for null before dereferencing image->bitmap() in two places. * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::snapshotInViewCoordinates): Return 0 if no bitmap was created. (WebKit::WebPage::scaledSnapshotInDocumentCoordinates): Ditto. (WebKit::WebPage::createSnapshotOfVisibleContent): Bail out if no bitmap was created. 2011-06-14 Anders Carlsson Reviewed by Darin Adler. Add functions for encoding/decoding data with a known size and alignment https://bugs.webkit.org/show_bug.cgi?id=62663 * Platform/CoreIPC/ArgumentDecoder.cpp: (CoreIPC::ArgumentDecoder::decodeFixedLengthData): * Platform/CoreIPC/ArgumentDecoder.h: * Platform/CoreIPC/ArgumentEncoder.cpp: (CoreIPC::ArgumentEncoder::encodeFixedLengthData): (CoreIPC::ArgumentEncoder::encodeVariableLengthData): * Platform/CoreIPC/ArgumentEncoder.h: 2011-06-14 Anders Carlsson Reviewed by Sam Weinig. Move string ArgumentCoder template specializations out into a .cpp file https://bugs.webkit.org/show_bug.cgi?id=62660 * GNUmakefile.am: * Platform/CoreIPC/ArgumentCoders.cpp: Added. (CoreIPC::::encode): (CoreIPC::::decode): * Platform/CoreIPC/ArgumentCoders.h: * WebKit2.pro: * WebKit2.xcodeproj/project.pbxproj: * win/WebKit2.vcproj: 2011-06-14 Anders Carlsson Reviewed by Sam Weinig. Remove PluginInfoStore::Plugin typedef https://bugs.webkit.org/show_bug.cgi?id=62657 * UIProcess/Plugins/PluginInfoStore.h: * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: (WebKit::PluginInfoStore::getPluginInfo): (WebKit::PluginInfoStore::shouldUsePlugin): 2011-06-14 Anders Carlsson Reviewed by Sam Weinig. Create the PluginModuleInfo class and reverse the typedef so that PluginInfoStore::Plugin is now a typedef https://bugs.webkit.org/show_bug.cgi?id=62654 * UIProcess/Plugins/PluginInfoStore.cpp: (WebKit::PluginInfoStore::loadPluginsIfNecessary): (WebKit::PluginInfoStore::loadPlugin): (WebKit::PluginInfoStore::findPluginForMIMEType): (WebKit::PluginInfoStore::findPluginForExtension): (WebKit::PluginInfoStore::findPlugin): (WebKit::PluginInfoStore::infoForPluginWithPath): * UIProcess/Plugins/PluginInfoStore.h: * UIProcess/Plugins/PluginProcessManager.cpp: (WebKit::PluginProcessManager::getPluginProcessConnection): * UIProcess/Plugins/PluginProcessProxy.cpp: (WebKit::PluginProcessProxy::PluginProcessProxy): * UIProcess/Plugins/WebPluginSiteDataManager.cpp: (WebKit::WebPluginSiteDataManager::getSitesWithData): (WebKit::WebPluginSiteDataManager::clearSiteData): * UIProcess/Plugins/mac/PluginInfoStoreMac.mm: (WebKit::PluginInfoStore::getPluginInfo): (WebKit::PluginInfoStore::shouldUsePlugin): * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp: (WebKit::PluginInfoStore::getPluginInfo): (WebKit::PluginInfoStore::shouldUsePlugin): * UIProcess/Plugins/win/PluginInfoStoreWin.cpp: (WebKit::isOldWindowsMediaPlayerPlugin): (WebKit::isNewWindowsMediaPlayerPlugin): (WebKit::PluginInfoStore::shouldUsePlugin): 2011-06-14 Stephanie Lewis Rubber stamped by Oliver Hunt. Update order files. * mac/WebKit2.order: 2011-06-14 Anders Carlsson Reviewed by Dan Bernstein. Start replacing PluginInfoStore::Plugin with PluginModuleInfo https://bugs.webkit.org/show_bug.cgi?id=62651 * UIProcess/Plugins/PluginInfoStore.cpp: (WebKit::PluginInfoStore::plugins): (WebKit::PluginInfoStore::findPluginForMIMEType): (WebKit::PluginInfoStore::findPluginForExtension): (WebKit::PluginInfoStore::infoForPluginWithPath): * UIProcess/Plugins/PluginInfoStore.h: * UIProcess/Plugins/PluginProcessManager.cpp: (WebKit::PluginProcessManager::getPluginProcessConnection): (WebKit::PluginProcessManager::getSitesWithData): (WebKit::PluginProcessManager::clearSiteData): (WebKit::PluginProcessManager::getOrCreatePluginProcess): * UIProcess/Plugins/PluginProcessManager.h: * UIProcess/Plugins/PluginProcessProxy.cpp: (WebKit::PluginProcessProxy::create): * UIProcess/Plugins/PluginProcessProxy.h: (WebKit::PluginProcessProxy::pluginInfo): * UIProcess/Plugins/mac/PluginProcessProxyMac.mm: (WebKit::PluginProcessProxy::pluginNeedsExecutableHeap): (WebKit::PluginProcessProxy::createPropertyListFile): 2011-06-14 Anders Carlsson Reviewed by Darin Adler. Add PluginModuleInfo header and prepare for renaming of PluginInfoStore::Plugin to PluginModuleInfo https://bugs.webkit.org/show_bug.cgi?id=62647 Make PluginModuleInfo a typedef of PluginInfoStore::Plugin for now; eventually it should be its own class, and PluginInfoStore::Plugin should go away. * GNUmakefile.am: * Shared/Plugins/Netscape/NetscapePluginModule.h: * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: (WebKit::getPluginArchitecture): (WebKit::getMIMETypesFromPluginBundle): (WebKit::getPluginInfoFromPropertyLists): (WebKit::getPluginInfoFromCarbonResources): (WebKit::NetscapePluginModule::getPluginInfo): (WebKit::NetscapePluginModule::determineQuirks): * Shared/Plugins/PluginModuleInfo.cpp: Added. * Shared/Plugins/PluginModuleInfo.h: Added. * WebKit2.pro: * WebKit2.xcodeproj/project.pbxproj: * win/WebKit2.vcproj: 2011-06-14 Carlos Garcia Campos Reviewed by Martin Robinson. [GTK] Move the code to show the context menu from WebKitWebViewBase to WebContextMenuProxyGtk https://bugs.webkit.org/show_bug.cgi?id=62627 * UIProcess/API/gtk/WebKitWebViewBase.cpp: * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: * UIProcess/gtk/WebContextMenuProxyGtk.cpp: (WebKit::WebContextMenuProxyGtk::showContextMenu): (WebKit::WebContextMenuProxyGtk::hideContextMenu): (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk): (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk): (WebKit::WebContextMenuProxyGtk::menuPositionFunction): * UIProcess/gtk/WebContextMenuProxyGtk.h: 2011-06-14 Carlos Garcia Campos Reviewed by Martin Robinson. [GTK] Rename convertWidgetRectToScreenRect() to convertWidgetPointToScreenPoint() https://bugs.webkit.org/show_bug.cgi?id=62626 * UIProcess/API/gtk/PageClientImpl.cpp: (WebKit::PageClientImpl::screenToWindow): Implement this method using convertWidgetPointToScreenPoint(). (WebKit::PageClientImpl::windowToScreen): Update to use convertWidgetPointToScreenPoint(). * UIProcess/gtk/WebPopupMenuProxyGtk.cpp: (WebKit::WebPopupMenuProxyGtk::showPopupMenu): Use convertWidgetPointToScreenPoint(). 2011-06-14 Carlos Garcia Campos Reviewed by Martin Robinson. [GTK] Support authentication dialogs in WebKit2 https://bugs.webkit.org/show_bug.cgi?id=62366 Add a new soup feature to show an authentication dialog when it gets a 401 HTTP response. * GNUmakefile.am: Add new files to compilation. * WebProcess/gtk/WebAuthDialog.cpp: Added. (web_auth_dialog_class_init): (web_auth_dialog_init): (sessionAuthenticate): (attach): (detach): (webAuthDialogSessionFeatureInit): * WebProcess/gtk/WebAuthDialog.h: Added. * WebProcess/gtk/WebProcessMainGtk.cpp: (WebKit::WebProcessMainGtk): 2011-06-14 No'am Rosenthal and Viatcheslav Ostapenko Reviewed by Kenneth Rohde Christiansen. [Qt] Implement accelerated compositing on WK2 Qt port https://bugs.webkit.org/show_bug.cgi?id=56935 Implementing LayerTreeHost and LayerTreeContext and LayerTreeHost for Qt. Add the necessary plumbing to make the LayerTreeHost work with Qt, based on the original Mac implementation (the code is nearly identical). This includes creating the right layers for the overlay and for the non-composited content, and passing the root layer to the UI process. Also, since LayerTreeHostQt is compiled, we have to add some of the rest of the existing patches, namely the new messages: syncCompositingLayers and updateCompositingLayerContent, and create a stub implementation for them in DrawingAreaProxy. Note that this is not activated yet, until we enable accelerated compositing in the settings and create the right GraphicsLayer. * Scripts/webkit2/messages.py: * Shared/LayerTreeContext.h: * Shared/qt/LayerTreeContextQt.cpp: (WebKit::LayerTreeContext::LayerTreeContext): (WebKit::LayerTreeContext::~LayerTreeContext): (WebKit::LayerTreeContext::encode): (WebKit::LayerTreeContext::decode): (WebKit::LayerTreeContext::isEmpty): (WebKit::operator==): * UIProcess/DrawingAreaProxy.h: (WebKit::DrawingAreaProxy::syncCompositingLayers): (WebKit::DrawingAreaProxy::updateCompositingLayerContent): * UIProcess/DrawingAreaProxy.messages.in: * WebKit2.pro: * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: (WebCore::collectCompositingInfoForThisLayer): * WebProcess/WebPage/LayerTreeHost.cpp: (WebKit::LayerTreeHost::create): * WebProcess/WebPage/qt/LayerTreeHostQt.cpp: (WebKit::LayerTreeHostQt::create): (WebKit::LayerTreeHostQt::~LayerTreeHostQt): (WebKit::LayerTreeHostQt::LayerTreeHostQt): (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled): (WebKit::LayerTreeHostQt::scheduleLayerFlush): (WebKit::LayerTreeHostQt::cancelPendingLayerFlush): (WebKit::LayerTreeHostQt::setShouldNotifyAfterNextScheduledLayerFlush): (WebKit::LayerTreeHostQt::setRootCompositingLayer): (WebKit::LayerTreeHostQt::invalidate): (WebKit::LayerTreeHostQt::setNonCompositedContentsNeedDisplay): (WebKit::LayerTreeHostQt::scrollNonCompositedContents): (WebKit::LayerTreeHostQt::forceRepaint): (WebKit::LayerTreeHostQt::sizeDidChange): (WebKit::LayerTreeHostQt::didInstallPageOverlay): (WebKit::LayerTreeHostQt::didUninstallPageOverlay): (WebKit::LayerTreeHostQt::setPageOverlayNeedsDisplay): (WebKit::LayerTreeHostQt::flushPendingLayerChanges): (WebKit::LayerTreeHostQt::performScheduledLayerFlush): (WebKit::LayerTreeHostQt::layerFlushTimerFired): (WebKit::LayerTreeHostQt::createPageOverlayLayer): (WebKit::LayerTreeHostQt::destroyPageOverlayLayer): (WebKit::LayerTreeHostQt::notifyAnimationStarted): (WebKit::LayerTreeHostQt::notifySyncRequired): (WebKit::LayerTreeHostQt::paintContents): (WebKit::LayerTreeHostQt::showDebugBorders): (WebKit::LayerTreeHostQt::showRepaintCounter): (WebKit::LayerTreeHost::supportsAcceleratedCompositing): * WebProcess/WebPage/qt/LayerTreeHostQt.h: Added. (WebKit::LayerTreeHostQt::layerTreeContext): (WebKit::LayerTreeHostQt::pauseRendering): (WebKit::LayerTreeHostQt::resumeRendering): 2011-06-14 Noam Rosenthal Reviewed by Kenneth Rohde Christiansen. [Qt] Implement accelerated compositing on WK2 Qt port https://bugs.webkit.org/show_bug.cgi?id=56935 Add a createImage() function to ShareableBitmap, for now ifdef'ed to Qt only. This allows us to support directly composited images across the WebKit2 processes. Together with Viatcheslav Ostapenko. * Shared/ShareableBitmap.h: * Shared/qt/ShareableBitmapQt.cpp: (WebKit::ShareableBitmap::createQImage): (WebKit::ShareableBitmap::createImage): 2011-06-13 Anders Carlsson Reviewed by Sam Weinig. Crash when trying to use Netflix Watch Instantly with Silverlight 3 https://bugs.webkit.org/show_bug.cgi?id=62611 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: (WebKit::NetscapePluginModule::getPluginInfo): Get the plug-in version string instead of the version number. (WebKit::PluginVersion::isValid): (WebKit::PluginVersion::PluginVersion): (WebKit::PluginVersion::parse): (WebKit::PluginVersion::isLessThan): Add a new PluginVersion class that represents a plug-in version. The idea is that this class be made cross platform. (WebKit::NetscapePluginModule::determineQuirks): Add the ReturnsNonRetainedScriptableNPObject quirk for versions of Silverlight less than 4. * Shared/Plugins/PluginQuirks.h: Add the ReturnsNonRetainedScriptableNPObject quirk. * UIProcess/Plugins/PluginInfoStore.h: Use a version string. Eventually this should hold the PluginVersion class we added. * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: (WebKit::NetscapePlugin::pluginScriptableNPObject): If the plug-in has the ReturnsNonRetainedScriptableNPObject quirk, do an extra retain. 2011-06-13 Ryuan Choi Reviewed by Kenneth Rohde Christiansen. [EFL][WK2] Add dummy files at below of WebProcess. https://bugs.webkit.org/show_bug.cgi?id=62445 Add Efl related directory and files in WebKit2/WebProcess/. * WebProcess/Cookies/efl/WebCookieManagerEfl.cpp: Added. (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy): * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp: Added. (WebKit::InjectedBundle::load): (WebKit::InjectedBundle::activateMacFontAscentHack): * WebProcess/WebPage/efl/WebInspectorEfl.cpp: Added. (WebKit::WebInspector::localizedStringsURL): * WebProcess/WebPage/efl/WebPageEfl.cpp: Added. (WebKit::WebPage::platformInitialize): (WebKit::WebPage::platformPreferencesDidChange): (WebKit::scroll): (WebKit::WebPage::performDefaultBehaviorForKeyEvent): (WebKit::WebPage::platformHasLocalDataForURL): (WebKit::WebPage::cachedResponseMIMETypeForURL): (WebKit::WebPage::platformCanHandleRequest): (WebKit::WebPage::cachedSuggestedFilenameForURL): (WebKit::WebPage::cachedResponseDataForURL): * WebProcess/efl/WebProcessEfl.cpp: Added. (WebKit::WebProcess::platformSetCacheModel): (WebKit::WebProcess::platformClearResourceCaches): (WebKit::WebProcess::platformInitializeWebProcess): (WebKit::WebProcess::platformTerminate): * WebProcess/efl/WebProcessMainEfl.cpp: Added. (WebKit::WebProcessMainEfl): * WebProcess/efl/WebProcessMainEfl.h: Added. * efl/MainEfl.cpp: Added. (main): 2011-06-13 Eunmi Lee Reviewed by Eric Seidel. [EFL][WK2] Add initial WebInspectorEfl.cpp for webkit2 efl port https://bugs.webkit.org/show_bug.cgi?id=62524 * UIProcess/efl/WebInspectorEfl.cpp: Added. (WebKit::WebInspectorProxy::platformCreateInspectorPage): (WebKit::WebInspectorProxy::platformOpen): (WebKit::WebInspectorProxy::platformDidClose): (WebKit::WebInspectorProxy::platformBringToFront): (WebKit::WebInspectorProxy::platformInspectedURLChanged): (WebKit::WebInspectorProxy::inspectorPageURL): (WebKit::WebInspectorProxy::platformAttach): (WebKit::WebInspectorProxy::platformDetach): (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight): 2011-06-13 Eunmi Lee Reviewed by Eric Seidel. [EFL][WK2] Add initial TextCheckerEfl.cpp for webkit2 efl port https://bugs.webkit.org/show_bug.cgi?id=62438 * UIProcess/efl/TextCheckerEfl.cpp: Added. (WebKit::TextChecker::state): (WebKit::TextChecker::isContinuousSpellCheckingAllowed): (WebKit::TextChecker::setContinuousSpellCheckingEnabled): (WebKit::TextChecker::setGrammarCheckingEnabled): (WebKit::TextChecker::uniqueSpellDocumentTag): (WebKit::TextChecker::closeSpellDocumentWithTag): (WebKit::TextChecker::checkSpellingOfString): (WebKit::TextChecker::checkGrammarOfString): (WebKit::TextChecker::spellingUIIsShowing): (WebKit::TextChecker::toggleSpellingUIIsShowing): (WebKit::TextChecker::updateSpellingUIWithMisspelledWord): (WebKit::TextChecker::updateSpellingUIWithGrammarString): (WebKit::TextChecker::getGuessesForWord): (WebKit::TextChecker::learnWord): (WebKit::TextChecker::ignoreWord): 2011-06-13 Sangyong Park Reviewed by Eric Seidel. implement to handle wheel event of plugin on x11 https://bugs.webkit.org/show_bug.cgi?id=62522 Implement platformHandleWheelEvent() in NetscapePluginX11.cpp for to handle wheel event on plugins * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: (WebKit::setCommonMouseEventFields): add template argument to support WebWheelEvent (WebKit::setXButtonEventFieldsByWebWheelEvent): initialize XButtonEvent by WebWheelEvent (WebKit::NetscapePlugin::platformHandleWheelEvent): handle wheel event on plugin 2011-06-13 Eunmi Lee Reviewed by Eric Seidel. [EFL][WK2] Add initial WebContextEfl.cpp for webkit2 efl port https://bugs.webkit.org/show_bug.cgi?id=62523 * UIProcess/efl/WebContextEfl.cpp: Added. (WebKit::WebContext::applicationCacheDirectory): (WebKit::WebContext::platformInitializeWebProcess): (WebKit::WebContext::platformInvalidateContext): (WebKit::WebContext::platformDefaultDatabaseDirectory): (WebKit::WebContext::platformDefaultIconDatabasePath): (WebKit::WebContext::platformDefaultLocalStorageDirectory): 2011-06-13 Noam Rosenthal Unreviewed fix - removed parts of r88659 that were committed by mistake. The patch accidentally included parts that weren't supposed to be there, namely the whole code was duplicated. This patch rectifies that and brings it to the original reviewed code. * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: * WebProcess/WebCoreSupport/WebGraphicsLayer.h: 2011-06-13 Anders Carlsson Reviewed by Dan Bernstein. BankID plug-in isn't instantiated correctly https://bugs.webkit.org/show_bug.cgi?id=62588 * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm: (WebKit::NetscapePluginModule::determineQuirks): The BankID plug-in uses the QuickDraw drawing model but doesn't draw anything so we can use the half-baked QuickDraw support. * WebProcess/Plugins/PluginProcessConnection.cpp: (WebKit::defaultSyncMessageTimeout): Don't use a sync message timeout for the BankID plug-in since it sends synchronous Apple Events and we don't want the plug-in to die while it's waiting for a reply. 2011-06-13 Chris Fleizach Reviewed by Darin Adler. kAXTextMarkerForPositionParametrizedAttribute does not work correctly in WK2 https://bugs.webkit.org/show_bug.cgi?id=62547 Implement the missing screenToWindow method for WK2. * UIProcess/API/gtk/PageClientImpl.cpp: (WebKit::PageClientImpl::screenToWindow): * UIProcess/API/gtk/PageClientImpl.h: * UIProcess/API/mac/PageClientImpl.h: * UIProcess/API/mac/PageClientImpl.mm: (WebKit::PageClientImpl::screenToWindow): * UIProcess/API/qt/qwkpage.cpp: (QWKPagePrivate::screenToWindow): * UIProcess/API/qt/qwkpage_p.h: * UIProcess/PageClient.h: * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::screenToWindow): * UIProcess/WebPageProxy.h: * UIProcess/WebPageProxy.messages.in: * UIProcess/win/WebView.cpp: (WebKit::WebView::screenToWindow): * UIProcess/win/WebView.h: * WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::screenToWindow): * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::screenToWindow): * WebProcess/WebPage/WebPage.h: 2011-06-13 Sam Weinig Reviewed by Darin Adler. REGRESSION (81679-81939): In Safari, Dictionary look up (tap or Ctrl-Cmd-D) doesn't work if you have clicked on a word and not moved the mouse * WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::shouldUseSelection): Return early if the selection we are using is not a range. 2011-06-13 Tony Chang Reviewed by Dimitri Glazkov. rename ENABLE_NEW_FLEXBOX to ENABLE_CSS3_FLEXBOX https://bugs.webkit.org/show_bug.cgi?id=62578 * Configurations/FeatureDefines.xcconfig: 2011-06-13 No'am Rosenthal Reviewed by Kenneth Rohde Christiansen. [Qt] Implement accelerated compositing on WK2 Qt port https://bugs.webkit.org/show_bug.cgi?id=56935 Added WebGraphicsLayer, a subclass of WebCore::GraphicsLayer that serializes the state of the layer tree to the UI process WebLayerTreeInfo. For now this patch doesn't serialize the animation information, a feature that will be upstreamed later on. Together with Viatcheslav Ostapenko. * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: Added. * WebProcess/WebCoreSupport/WebGraphicsLayer.h: Added. 2011-06-13 No'am Rosenthal Reviewed by Kenneth Rohde Christiansen. [Qt] Implement accelerated compositing on WK2 Qt port https://bugs.webkit.org/show_bug.cgi?id=56935 Added WebLayerTreeInfo: a set of structures that can serialize a tree of GraphicsLayers across to the UI process. Together with Viatcheslav Ostapenko. * Scripts/webkit2/messages.py: * Shared/WebLayerTreeInfo.cpp: Added. * Shared/WebLayerTreeInfo.h: Added. 2011-06-11 Jer Noble Reviewed by Anders Carlsson. Avoid flashing when exiting full-screen mode. https://bugs.webkit.org/show_bug.cgi?id=62338 Instead of making a round-trip between processes by calling forceRepaint and waiting for a callback, instead make a WebProcess-side call to forceRepaintWithoutCallback before sending the ExitAcceleratedCompositingMode message to the WebFullScreenControllerProxy. This also means we can get rid of the dragImage creation and display. Because this redraw will happen during the current run-loop instead of a future one, make sure the background color has been set before the redraw in didEnterFullScreen(). Wait to hide the full-screen window until after we have received the ExitAcceleratedCompositingMode message. By this time, repaint will have already completed. * UIProcess/mac/WKFullScreenWindowController.h: * UIProcess/mac/WKFullScreenWindowController.mm: (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Disable screen updates, to be re-enabled during exitAcceleratedCompositingMode. (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Don't hide the full-screen window here; wait for exitAcceleratedCompositing instead. (-[WKFullScreenWindowController exitAcceleratedCompositingMode]): Collapse the redrawCompleted method into this one. (-[WKFullScreenWindowController close]): Remove the reference to exitCompositedModeRepaintCompleted. * WebProcess/FullScreen/WebFullScreenManager.cpp: (WebKit::WebFullScreenManager::didEnterFullScreen): Set the full screen background color first. * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm: (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer): Repaint before sending the ExitAcceleratedCompositingMode message. 2011-06-13 Tony Chang Reviewed by Adam Barth. rename ENABLE_FLEXBOX to ENABLE_NEW_FLEXBOX https://bugs.webkit.org/show_bug.cgi?id=62545 * Configurations/FeatureDefines.xcconfig: 2011-06-13 Anders Carlsson Reviewed by Dan Bernstein. Don't access freed memory in the UI process when a plug-in process crashes https://bugs.webkit.org/show_bug.cgi?id=62548 Call pluginProcessCrashedOrFailedToLaunch after sending messages to all processes about the plug-in crash, otherwise we'll try to dereference m_pluginInfo.path after the PluginProcessProxy object has been deleted. * UIProcess/Plugins/PluginProcessProxy.cpp: (WebKit::PluginProcessProxy::didClose): 2011-06-13 Carlos Garcia Campos Reviewed by Martin Robinson. [GTK] Fix a crash when drawing area has been deleted https://bugs.webkit.org/show_bug.cgi?id=62541 Check whether WebPageProxy::drawingArea() returns a valid pointer before using it, it might be null, for example, when the web process crashes. * UIProcess/API/gtk/WebKitWebViewBase.cpp: (callDrawingAreaPaintMethod): (webkitWebViewBaseSizeAllocate): 2011-06-13 Eunmi Lee Reviewed by Kenneth Rohde Christiansen. [EFL][WK2] Minor fix: fix coding style and remove unnecessary codes for WebKit2 efl port's PageClientImpl https://bugs.webkit.org/show_bug.cgi?id=62429 * UIProcess/API/efl/PageClientImpl.cpp: (WebKit::PageClientImpl::scrollView): (WebKit::PageClientImpl::setCursor): (WebKit::PageClientImpl::windowToScreen): (WebKit::PageClientImpl::doneWithKeyEvent): (WebKit::PageClientImpl::setFindIndicator): (WebKit::PageClientImpl::didCommitLoadForMainFrame): (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation): (WebKit::PageClientImpl::findStringInCustomRepresentation): (WebKit::PageClientImpl::countStringMatchesInCustomRepresentation): * UIProcess/API/efl/PageClientImpl.h: 2011-06-13 Eunmi Lee Reviewed by Kenneth Rohde Christiansen. [EFL][WK2] Add initial WebPreferencesEfl.cpp for webkit2 efl port https://bugs.webkit.org/show_bug.cgi?id=62525 * UIProcess/efl/WebPreferencesEfl.cpp: Added. (WebKit::WebPreferences::platformInitializeStore): (WebKit::WebPreferences::platformUpdateStringValueForKey): (WebKit::WebPreferences::platformUpdateBoolValueForKey): (WebKit::WebPreferences::platformUpdateUInt32ValueForKey): (WebKit::WebPreferences::platformUpdateDoubleValueForKey): 2011-06-13 Carlos Garcia Campos Reviewed by Martin Robinson. [GTK] Add context menu support for Webkit2 https://bugs.webkit.org/show_bug.cgi?id=54827 * GNUmakefile.am: Add new files to compilation. * UIProcess/API/gtk/PageClientImpl.cpp: (WebKit::PageClientImpl::createContextMenuProxy): Create a context menu proxy. * UIProcess/API/gtk/WebKitWebViewBase.cpp: (globalPointForClientPoint): Function copied from webkit1 to convert a point in widget coordinates to global coordinates. (popupMenuPositionFunction): (webkitWebViewBaseShowContextMenu): Show the given context menu at the given position. * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: * UIProcess/gtk/WebContextMenuProxyGtk.cpp: Added. (WebKit::contextMenuItemActivatedCallback): (WebKit::WebContextMenuProxyGtk::createGtkMenu): (WebKit::WebContextMenuProxyGtk::showContextMenu): (WebKit::WebContextMenuProxyGtk::hideContextMenu): (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk): (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk): * UIProcess/gtk/WebContextMenuProxyGtk.h: Copied from Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h. (WebKit::WebContextMenuProxyGtk::create): 2011-06-13 Carlos Garcia Campos Reviewed by Martin Robinson. [GTK] Export an API similar to WebKit1 https://bugs.webkit.org/show_bug.cgi?id=57820 Add first implementation of WebKitWebView, a class with the same API than webkit1, that wraps the C API to provide a high level WebKit2 API for GTK port. * GNUmakefile.am: Add new files to compilation. * UIProcess/API/gtk/WebKitWebView.cpp: Added. (webkit_web_view_init): (webkit_web_view_class_init): (webkit_web_view_new): (webkit_web_view_load_uri): (webkit_web_view_go_back): (webkit_web_view_go_forward): * UIProcess/API/gtk/WebKitWebView.h: Added. * UIProcess/API/gtk/WebKitWebViewBase.cpp: (webkitWebViewBaseCreate): (webkitWebViewBaseCreateWebPage): * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: * UIProcess/API/gtk/webkit/webkit.h: Added. 2011-06-12 Adam Barth Reviewed by Alexey Proskuryakov. Rename FrameLoaderClient::interruptForPolicyChangeError to use the past tense https://bugs.webkit.org/show_bug.cgi?id=62516 * WebProcess/WebCoreSupport/WebErrors.h: * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::interruptedForPolicyChangeError): * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp: (WebKit::interruptedForPolicyChangeError): * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp: (WebKit::interruptedForPolicyChangeError): * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm: (WebKit::interruptedForPolicyChangeError): * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp: (WebKit::interruptedForPolicyChangeError): * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp: (WebKit::interruptedForPolicyChangeError): 2011-06-12 Adam Barth Reviewed by Eric Seidel. Remove FrameLoader::isProcessingUserGesture https://bugs.webkit.org/show_bug.cgi?id=62519 Instead of asking the gesture indicator directly, ask the ScriptController, like everyone else. The gesture indicator is just one of the piece of information we use to determine whether we're processing a user gesture. * WebProcess/InjectedBundle/InjectedBundle.cpp: (WebKit::InjectedBundle::isProcessingUserGesture): 2011-06-12 Adam Barth Reviewed by Alexey Proskuryakov. Remove trival "forward-to-client" member functions from FrameLoader https://bugs.webkit.org/show_bug.cgi?id=62510 * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: (WebKit::WebFrameNetworkingContext::blockedError): 2011-06-11 Stephanie Lewis Reviewed by Sam Weinig. https://bugs.webkit.org/show_bug.cgi?id=62480 part of Add API to launch the WebProcess. Launching it earlier can save time when loading the first page. * UIProcess/API/C/WKContext.cpp: (WKContextWarmInitialProcess): * UIProcess/API/C/WKContextPrivate.h: * UIProcess/WebContext.cpp: (WebKit::WebContext::warmInitialProcess): * UIProcess/WebContext.h: 2011-06-09 Jer Noble Reviewed by Darin Adler. AVPlayerLayer is adding a "fade" animation during Safari full-screen https://bugs.webkit.org/show_bug.cgi?id=62433 CoreAnimation will add default animations when certain properties are changed, unless those changes are wrapped in a CATransaction which has had its disableActions property set to true. Wrap each of these three property changes in a CATransaction and disable its actions, so that the default "fade" animation is not created in response. * UIProcess/mac/WKFullScreenWindowController.mm: (-[WKFullScreenWindowController enterFullScreen:]): Wrap with CATransaction. (-[WKFullScreenWindowController _swapView:with:]): Ditto: * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm: (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer): Ditto. 2011-06-10 Anders Carlsson Reviewed by Sam Weinig. REGRESSION (WebKit2): window.showModalDialog() broken https://bugs.webkit.org/show_bug.cgi?id=62496 If dispatching a message ends up creating a nested run loop, some incoming messages can end up not being delivered until we exit from the run loop. Fix this by using a Deque instead of a Vector for incoming messages, and get one message at a time and then dispatch it. That prevents us from having any lingering messages lying around in stack allocated space. * Platform/CoreIPC/Connection.cpp: (CoreIPC::Connection::waitForMessage): (CoreIPC::Connection::dispatchMessages): * Platform/CoreIPC/Connection.h: 2011-06-10 Sam Weinig Reviewed by Anders Carlsson. Unresponsive cursor is shown when displaying a modal dialog Part of https://bugs.webkit.org/show_bug.cgi?id=62494 * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::runModal): * UIProcess/WebPageProxy.h: Stop the responsiveness timer when calling out to show a modal dialog. 2011-06-10 Tony Chang Reviewed by Ojan Vafai. add a compile guard ENABLE(FLEXBOX) https://bugs.webkit.org/show_bug.cgi?id=62049 * Configurations/FeatureDefines.xcconfig: 2011-06-10 Ryuan Choi Reviewed by Kenneth Rohde Christiansen. [EFL][WK2] Add dummy files in WebProcess/WebCoreSupport/efl https://bugs.webkit.org/show_bug.cgi?id=62346 Add WebProcess/WebCoreSupport/efl directory and files. * WebProcess/WebCoreSupport/efl/WebContextMenuClientEfl.cpp: Added. (WebKit::WebContextMenuClient::lookUpInDictionary): (WebKit::WebContextMenuClient::isSpeaking): (WebKit::WebContextMenuClient::speak): (WebKit::WebContextMenuClient::stopSpeaking): * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp: Added. (WebKit::WebEditorClient::handleKeyboardEvent): (WebKit::WebEditorClient::handleInputMethodKeydown): * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp: Added. (WebKit::cancelledError): (WebKit::blockedError): (WebKit::cannotShowURLError): (WebKit::interruptForPolicyChangeError): (WebKit::cannotShowMIMETypeError): (WebKit::fileDoesNotExistError): (WebKit::pluginWillHandleLoadError): * WebProcess/WebCoreSupport/efl/WebFrameNetworkingContext.h: Added. (WebFrameNetworkingContext::create): (WebFrameNetworkingContext::WebFrameNetworkingContext): * WebProcess/WebCoreSupport/efl/WebPopupMenuEfl.cpp: Added. (WebKit::WebPopupMenu::setUpPlatformData): 2011-06-09 Andreas Kling Reviewed by Darin Adler. WebKit2: Remove unused function CoreIPC::Connection::deprecatedWaitFor(). https://bugs.webkit.org/show_bug.cgi?id=62386 * Platform/CoreIPC/Connection.h: 2011-06-09 Andreas Kling Reviewed by Anders Carlsson. [Qt][WK2] Remove usage of deprecated CoreIPC functions. https://bugs.webkit.org/show_bug.cgi?id=62290 Use the new DrawingArea{,Proxy}.messages.in approach to CoreIPC in TiledDrawingArea. The TiledDrawingArea{,Proxy}-specific messages were moved up into DrawingArea{,Proxy} and guarded by ENABLE(TILED_BACKING_STORE). * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h: Removed. * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h: Removed. * GNUmakefile.am: * WebKit2.pro: * WebKit2.xcodeproj/project.pbxproj: * win/WebKit2.vcproj: Prune deleted files from build system. * Platform/CoreIPC/MessageID.h: Remove legacy DrawingArea message ID's. * UIProcess/API/qt/qgraphicswkview.cpp: (QGraphicsWKViewPrivate::commitScale): No longer waits for all tile updates to complete, this will be addressed by the soon-to-be-upstreamed TileSet mechanism. * UIProcess/DrawingAreaProxy.messages.in: * UIProcess/DrawingAreaProxy.h: (WebKit::DrawingAreaProxy::didSetSize): (WebKit::DrawingAreaProxy::invalidate): (WebKit::DrawingAreaProxy::snapshotTaken): (WebKit::DrawingAreaProxy::tileUpdated): (WebKit::DrawingAreaProxy::allTileUpdatesProcessed): Added IPC calls used by TiledDrawingAreaProxy to DrawingAreaProxy. * WebProcess/WebPage/DrawingArea.messages.in: * WebProcess/WebPage/DrawingArea.h: (WebKit::DrawingArea::setSize): (WebKit::DrawingArea::cancelTileUpdate): (WebKit::DrawingArea::requestTileUpdate): (WebKit::DrawingArea::takeSnapshot): Added IPC calls used by TiledDrawingArea to DrawingArea. * UIProcess/DrawingAreaProxyImpl.h: * UIProcess/DrawingAreaProxyImpl.cpp: Remove the now-unneeded didReceiveMessage() and didReceiveSyncMessage(). * WebProcess/WebPage/DrawingAreaImpl.cpp: * WebProcess/WebPage/DrawingAreaImpl.h: Remove the now-unneeded didReceiveMessage(). * UIProcess/TiledDrawingAreaProxy.h: * UIProcess/TiledDrawingAreaProxy.cpp: (WebKit::TiledDrawingAreaProxy::sizeDidChange): (WebKit::TiledDrawingAreaProxy::tileUpdated): (WebKit::TiledDrawingAreaProxy::allTileUpdatesProcessed): Split didReceiveMessage() into functions. (WebKit::TiledDrawingAreaProxy::removeTile): (WebKit::TiledDrawingAreaProxy::requestTileUpdate): (WebKit::TiledDrawingAreaProxy::setPageIsVisible): (WebKit::TiledDrawingAreaProxy::takeSnapshot): Use new-style IPC. * WebProcess/WebPage/TiledDrawingArea.cpp: (WebKit::TiledDrawingArea::setSize): (WebKit::TiledDrawingArea::cancelTileUpdate): (WebKit::TiledDrawingArea::requestTileUpdate): (WebKit::TiledDrawingArea::takeSnapshot): Split didReceiveMessage() into functions. (WebKit::TiledDrawingArea::display): (WebKit::TiledDrawingArea::updateTile): (WebKit::TiledDrawingArea::tileUpdateTimerFired): Use new-style IPC. * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didReceiveMessage): Remove handling of CoreIPC::MessageClassDrawingAreaProxyLegacy. * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::didReceiveMessage): Remove handling of CoreIPC::MessageClassDrawingAreaLegacy. * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: Remove unneeded includes. * WebProcess/WebPage/TiledDrawingArea.h: Remove didReceiveMessage() and make CoreIPC message handlers explicitly virtual. 2011-06-09 Andreas Kling Reviewed by Anders Carlsson. WebKit2: Generate correct header conditionals in message receivers. https://bugs.webkit.org/show_bug.cgi?id=62379 Given a *.messages.in file like this: Foo(AwesomeObject o) #if ENABLE(ESOTERIC_FEATURE) Bar(AwesomeObject o) #endif messages.py would include AwesomeObject.h only #if ENABLE(ESOTERIC_FEATURE). This breaks the build on platforms without that defined. Furthermore, if two messages guarded by different conditionals both pull in the same header, only the last conditional will be applied, for example: #if ENABLE(ESOTERIC_FEATURE) Foo(AwesomeObject o) #endif #if ENABLE(MYSTERIOUS_FEATURE) Bar(AwesomeObject o) #endif Would include AwesomeObject.h #if ENABLE(MYSTERIOUS_FEATURE) when it really should check #if ENABLE(ESOTERIC_FEATURE) || ENABLE(MYSTERIOUS_FEATURE). Change the generator to consider all conditionals for a given header file. Also consider conditionals for reply parameters. * Scripts/webkit2/messages.py: * Scripts/webkit2/messages_unittest.py: 2011-06-09 Eunmi Lee Reviewed by Kenneth Rohde Christiansen. [EFL][WK2] Add PageClientImpl and WebPageProxyEfl for efl port https://bugs.webkit.org/show_bug.cgi?id=62363 * UIProcess/API/efl/PageClientImpl.cpp: Added. (WebKit::PageClientImpl::PageClientImpl): (WebKit::PageClientImpl::~PageClientImpl): (WebKit::PageClientImpl::createDrawingAreaProxy): (WebKit::PageClientImpl::setViewNeedsDisplay): (WebKit::PageClientImpl::displayView): (WebKit::PageClientImpl::scrollView): (WebKit::PageClientImpl::viewSize): (WebKit::PageClientImpl::isViewWindowActive): (WebKit::PageClientImpl::isViewFocused): (WebKit::PageClientImpl::isViewVisible): (WebKit::PageClientImpl::isViewInWindow): (WebKit::PageClientImpl::processDidCrash): (WebKit::PageClientImpl::didRelaunchProcess): (WebKit::PageClientImpl::pageClosed): (WebKit::PageClientImpl::toolTipChanged): (WebKit::PageClientImpl::setCursor): (WebKit::PageClientImpl::setViewportArguments): (WebKit::PageClientImpl::registerEditCommand): (WebKit::PageClientImpl::clearAllEditCommands): (WebKit::PageClientImpl::canUndoRedo): (WebKit::PageClientImpl::executeUndoRedo): (WebKit::PageClientImpl::convertToDeviceSpace): (WebKit::PageClientImpl::convertToUserSpace): (WebKit::PageClientImpl::windowToScreen): (WebKit::PageClientImpl::doneWithKeyEvent): (WebKit::PageClientImpl::createPopupMenuProxy): (WebKit::PageClientImpl::createContextMenuProxy): (WebKit::PageClientImpl::setFindIndicator): (WebKit::PageClientImpl::didChangeScrollbarsForMainFrame): (WebKit::PageClientImpl::didCommitLoadForMainFrame): (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation): (WebKit::PageClientImpl::customRepresentationZoomFactor): (WebKit::PageClientImpl::setCustomRepresentationZoomFactor): (WebKit::PageClientImpl::flashBackingStoreUpdates): (WebKit::PageClientImpl::findStringInCustomRepresentation): (WebKit::PageClientImpl::countStringMatchesInCustomRepresentation): (WebKit::PageClientImpl::userSpaceScaleFactor): * UIProcess/API/efl/PageClientImpl.h: Added. (WebKit::PageClientImpl::create): (WebKit::PageClientImpl::viewObject): (WebKit::PageClientImpl::page): * UIProcess/WebPageProxy.h: * UIProcess/efl/WebPageProxyEfl.cpp: Added. (WebKit::WebPageProxy::viewObject): (WebKit::WebPageProxy::standardUserAgent): (WebKit::WebPageProxy::getEditorCommandsForKeyEvent): (WebKit::WebPageProxy::saveRecentSearches): (WebKit::WebPageProxy::loadRecentSearches): 2011-06-08 John Sullivan Reviewed by Darin Adler. [WKView _setDragImage:at:linkDrag:] can crash if WKView is dealloc'ed during drag * UIProcess/API/mac/WKView.mm: (-[WKView _resendKeyDownEvent:]): Renamed self-protecting RetainPtr from "protect" to "protector" so it's a noun. (-[WKView _setDragImage:at:linkDrag:]): Added a self-protecting RetainPtr. 2011-06-08 No'am Rosenthal Reviewed by Kenneth Rohde Christiansen. WebKit2: Enable serializing of data types needed for cross-process accelerated compositing https://bugs.webkit.org/show_bug.cgi?id=61694 Add an ArgumentCoder for FloatPoint3D. Together with Viatcheslav Ostapenko. * Scripts/webkit2/messages.py: * Shared/WebCoreArgumentCoders.h: 2011-06-08 No'am Rosenthal Reviewed by Kenneth Rohde Christiansen. WebKit2: Enable serializing of data types needed for cross-process accelerated compositing https://bugs.webkit.org/show_bug.cgi?id=61694 Add ArgumentCoders for TransformOperation, including all the subclasses, and TransformOperations. * Scripts/webkit2/messages.py: * Shared/WebCoreArgumentCoders.h: 2011-06-08 Yael Aharon Reviewed by Andreas Kling. [Qt] Build fix for building QtWebKit inside of Qt. https://bugs.webkit.org/show_bug.cgi?id=62280 Remove CONFIG=staticlib, because it causes the configure script to add -lwebkit2 into QtWebKit.prl. * WebKit2.pri: 2011-06-07 Tim Horton Reviewed by Alexey Proskuryakov. Use correct CFURLStorageSessionRef definition on Snow Leopard https://bugs.webkit.org/show_bug.cgi?id=62223 * PluginProcess/mac/PluginProcessShim.mm: 2011-06-07 John Sullivan Reviewed by Darin Adler. WKResponderChainSink mechanism isn't robust against some types of responder chain manipulation * UIProcess/API/mac/WKView.mm: (-[WKResponderChainSink detach]): This method formerly blindly assumed that since -initWithResponderChain: put self at the end of the responder chain, after _lastResponderInChain, then self is still at the end of the responder chain and still immediately after _lastResponderInChain. Made this function robust against some kinds of responder chain manipulations, though it can't be robust against some other kinds (e.g., manipulations that removed self from this chain and put it into some other chain). 2011-06-07 Sam Weinig Reviewed by Anders Carlsson. Remove repeated IPC traffic from SetRenderTreeSize message https://bugs.webkit.org/show_bug.cgi?id=62244 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add didLayoutForFrame callback. * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp: (WKBundlePageGetRenderTreeSize): * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h: Add render tree size getter in WebProcess. * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp: (WebKit::InjectedBundlePageLoaderClient::didLayoutForFrame): * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h: Added. * WebProcess/WebCoreSupport/WebChromeClient.cpp: * WebProcess/WebCoreSupport/WebChromeClient.h: Removed setRenderTreeSize. * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::dispatchDidLayout): * WebProcess/WebCoreSupport/WebFrameLoaderClient.h: Call the new didLayoutForFrame client function. * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::renderTreeSize): * WebProcess/WebPage/WebPage.h: Add iterative implementation to compute the total size of the render tree for a page. 2011-06-07 Zalan Bujtas Reviewed by Andreas Kling. TiledDrawingArea: Delay serving tile requests when the drawing area is suspended. Do not paint tiles when painting is disabled (suspended) on the web process side. Buffer up the tile requests and paint them, when the drawing area gets resumed. On the UI process side, do not block on tile updates, when the tiled area is not visible (painting is disabled on the web process side). * UIProcess/TiledDrawingAreaProxy.cpp: (WebKit::TiledDrawingAreaProxy::waitUntilUpdatesComplete): * WebProcess/WebPage/TiledDrawingArea.cpp: (WebKit::TiledDrawingArea::suspendPainting): (WebKit::TiledDrawingArea::resumePainting): (WebKit::TiledDrawingArea::scheduleTileUpdate): (WebKit::TiledDrawingArea::tileUpdateTimerFired): (WebKit::TiledDrawingArea::didReceiveMessage): * WebProcess/WebPage/TiledDrawingArea.h: 2011-06-07 Sheriff Bot Unreviewed, rolling out r88259 and r88263. http://trac.webkit.org/changeset/88259 http://trac.webkit.org/changeset/88263 https://bugs.webkit.org/show_bug.cgi?id=62228 broke builds (Requested by rniwa on #webkit). * PluginProcess/mac/PluginProcessShim.mm: 2011-06-07 Tim Horton Reviewed by Alexey Proskuryakov. Use correct CFURLStorageSessionRef definition on Snow Leopard https://bugs.webkit.org/show_bug.cgi?id=62223 * PluginProcess/mac/PluginProcessShim.mm: 2011-06-07 Carlos Garcia Campos Reviewed by Martin Robinson. [GTK] Move moduleMixesGtkSymbols() from PluginPackage to PluginView https://bugs.webkit.org/show_bug.cgi?id=62200 In WebKit2 PluginPackage is used by the UI process to load plugins in order to get information about them, but it doesn't use any GTK symbol. So the UI process should be able to load plugins even when building with GTK3, but we should not allow the plugin view to use the plugin if it mixes GTK2 and GTK3 symbols. * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp: (WebKit::moduleMixesGtkSymbols): (WebKit::NetscapePlugin::platformPostInitialize): Check whether the module is mixing GTK+ 2 and GTK+ 3 symbols. 2011-06-06 Sheriff Bot Unreviewed, rolling out r88222. http://trac.webkit.org/changeset/88222 https://bugs.webkit.org/show_bug.cgi?id=62192 Broke compile on Mac (Requested by abarth on #webkit). * Scripts/webkit2/messages.py: * Shared/WebCoreArgumentCoders.h: 2011-06-06 Noam Rosenthal Reviewed by Kenneth Rohde Christiansen. WebKit2: Enable serializing of data types needed for cross-process accelerated compositing https://bugs.webkit.org/show_bug.cgi?id=61694 Add ArgumentCoders for TransformOperation, including all the subclasses, and TransformOperations. * Scripts/webkit2/messages.py: * Shared/WebCoreArgumentCoders.h: 2011-06-06 John Sullivan Reviewed by Dan Bernstein. WebKit2 find-on-page callback doesn’t handle kWKMoreThanMaximumMatchCount on PDF pages * UIProcess/API/mac/PDFViewController.mm: (WebKit::PDFViewController::findString): Return kWKMoreThanMaximumMatchCount when appropriate, a la FindController::countStringMatches(). Also, skip counting all the matches if maxMatchCount is 0, to avoid (perhaps slowly) computing a number that would be ignored. 2011-06-06 Carlos Garcia Campos Reviewed by Anders Carlsson. Do not use NPRuntimeObjectMap in NetscapePlugin::setException when plug-in is running out of process https://bugs.webkit.org/show_bug.cgi?id=62124 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: (WebKit::NetscapePlugin::setException): 2011-06-06 Dominic Cooney Unreviewed WinCairo build fix after r88159. * win/WebKit2CFLite.def: Export symbols for WebCoreTestSupport. 2011-06-04 Dominic Cooney Reviewed by Dimitri Glazkov. Re-export JSC and WebCore symbols required by WebCoreTestSupport. https://bugs.webkit.org/show_bug.cgi?id=61076 * win/WebKit2.def: 2011-06-06 Alexandru Chiculita Reviewed by Kent Tamura. Add ENABLE_CSS_EXCLUSIONS support for build-webkit script https://bugs.webkit.org/show_bug.cgi?id=61628 * Configurations/FeatureDefines.xcconfig: 2011-06-06 Mihnea Ovidenie Reviewed by Kent Tamura. Add ENABLE(CSS_REGIONS) guard for CSS Regions support https://bugs.webkit.org/show_bug.cgi?id=61631 * Configurations/FeatureDefines.xcconfig: 2011-06-06 Carlos Garcia Campos Reviewed by Anders Carlsson. [UNIX] SOCK_DGRAM sockets are not notified when the other end closes the connection https://bugs.webkit.org/show_bug.cgi?id=61538 Use SOCK_STREAM instead of SOCK_DGRAM sockets. Rework the message receiver code to support stream sockets, since it requires to handle message boundaries. The same code works for DGRAM sockets, so this change shouldn't break other ports using DGRAM. * Platform/CoreIPC/Connection.h: * Platform/CoreIPC/unix/ConnectionUnix.cpp: (CoreIPC::Connection::platformInitialize): (CoreIPC::Connection::processMessage): Process messages from data already received. (CoreIPC::readBytesFromSocket): Read from socket using recvmsg(). (CoreIPC::Connection::readyReadHandler): * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp: (WebKit::ProcessLauncher::launchProcess): Use SOCK_DGRAM in socketpair(). == Rolled over to ChangeLog-2011-06-04 ==