summaryrefslogtreecommitdiff
path: root/Source/WebKit2
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2')
-rw-r--r--Source/WebKit2/ChangeLog627
-rw-r--r--Source/WebKit2/Platform/CoreIPC/HandleMessage.h22
-rw-r--r--Source/WebKit2/Scripts/webkit2/messages.py19
-rw-r--r--Source/WebKit2/Scripts/webkit2/messages_unittest.py4
-rw-r--r--Source/WebKit2/Shared/NativeWebMouseEvent.h2
-rw-r--r--Source/WebKit2/Shared/NativeWebTouchEvent.h2
-rw-r--r--Source/WebKit2/Shared/NativeWebWheelEvent.h2
-rw-r--r--Source/WebKit2/Shared/mac/SecItemRequestData.cpp16
-rw-r--r--Source/WebKit2/Shared/mac/SecItemRequestData.h16
-rw-r--r--Source/WebKit2/Shared/mac/SecItemResponseData.h2
-rw-r--r--Source/WebKit2/Shared/mac/SecKeychainItemRequestData.cpp62
-rw-r--r--Source/WebKit2/Shared/mac/SecKeychainItemRequestData.h27
-rw-r--r--Source/WebKit2/Shared/qt/NativeWebMouseEventQt.cpp4
-rw-r--r--Source/WebKit2/Shared/qt/NativeWebTouchEventQt.cpp4
-rw-r--r--Source/WebKit2/Shared/qt/NativeWebWheelEventQt.cpp4
-rw-r--r--Source/WebKit2/Shared/qt/WebEventFactoryQt.cpp20
-rw-r--r--Source/WebKit2/Shared/qt/WebEventFactoryQt.h6
-rw-r--r--Source/WebKit2/UIProcess/API/efl/ewk_view.cpp31
-rw-r--r--Source/WebKit2/UIProcess/API/mac/PageClientImpl.h5
-rw-r--r--Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm7
-rw-r--r--Source/WebKit2/UIProcess/API/mac/WKPrintingView.h3
-rw-r--r--Source/WebKit2/UIProcess/API/mac/WKPrintingView.mm86
-rw-r--r--Source/WebKit2/UIProcess/API/mac/WKView.mm17
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qquickwebpage.cpp168
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qquickwebpage_p.h33
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qquickwebpage_p_p.h7
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp182
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h23
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h2
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qwebviewportinfo.cpp2
-rw-r--r--Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml230
-rw-r--r--Source/WebKit2/UIProcess/API/qt/tests/qmltests/common/font-preferences.html31
-rw-r--r--Source/WebKit2/UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp50
-rw-r--r--Source/WebKit2/UIProcess/PageClient.h7
-rw-r--r--Source/WebKit2/UIProcess/WebConnectionToWebProcess.cpp2
-rw-r--r--Source/WebKit2/UIProcess/WebPageProxy.cpp15
-rw-r--r--Source/WebKit2/UIProcess/WebPageProxy.h3
-rw-r--r--Source/WebKit2/UIProcess/WebProcessProxy.cpp11
-rw-r--r--Source/WebKit2/UIProcess/WebProcessProxy.h15
-rw-r--r--Source/WebKit2/UIProcess/WebProcessProxy.messages.in10
-rw-r--r--Source/WebKit2/UIProcess/mac/WebProcessProxyMac.mm145
-rw-r--r--Source/WebKit2/UIProcess/qt/LayerTreeHostProxyQt.cpp7
-rw-r--r--Source/WebKit2/UIProcess/qt/QtPageClient.cpp14
-rw-r--r--Source/WebKit2/UIProcess/qt/QtPageClient.h5
-rw-r--r--Source/WebKit2/UIProcess/qt/QtPinchGestureRecognizer.cpp4
-rw-r--r--Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp64
-rw-r--r--Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.h20
-rw-r--r--Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.cpp94
-rw-r--r--Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.h5
-rw-r--r--Source/WebKit2/WebKit2.xcodeproj/project.pbxproj1470
-rw-r--r--Source/WebKit2/WebKit2Prefix.h14
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h10
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.cpp26
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.h2
-rw-r--r--Source/WebKit2/WebProcess/WebPage/EventDispatcher.cpp4
-rw-r--r--Source/WebKit2/WebProcess/WebPage/EventDispatcher.h4
-rw-r--r--Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.cpp2
-rw-r--r--Source/WebKit2/WebProcess/WebProcess.cpp2
-rw-r--r--Source/WebKit2/WebProcess/WebProcess.h12
-rw-r--r--Source/WebKit2/WebProcess/WebProcess.messages.in5
-rw-r--r--Source/WebKit2/WebProcess/com.apple.WebProcess.sb1
-rw-r--r--Source/WebKit2/WebProcess/mac/CoreIPCClientRunLoop.mm80
-rw-r--r--Source/WebKit2/WebProcess/mac/KeychainItemShimMethods.h3
-rw-r--r--Source/WebKit2/WebProcess/mac/KeychainItemShimMethods.mm238
-rw-r--r--Source/WebKit2/WebProcess/mac/KeychainShimResponseMap.h (renamed from Source/WebKit2/WebProcess/mac/CoreIPCClientRunLoop.h)49
-rw-r--r--Source/WebKit2/WebProcess/mac/SecItemShimMethods.h3
-rw-r--r--Source/WebKit2/WebProcess/mac/SecItemShimMethods.mm128
-rw-r--r--Source/WebKit2/WebProcess/mac/WebProcessMac.mm14
68 files changed, 2728 insertions, 1476 deletions
diff --git a/Source/WebKit2/ChangeLog b/Source/WebKit2/ChangeLog
index bc6f54d50..064d7ff76 100644
--- a/Source/WebKit2/ChangeLog
+++ b/Source/WebKit2/ChangeLog
@@ -1,3 +1,630 @@
+2012-01-10 Mark Rowe <mrowe@apple.com>
+
+ REGRESSION (r104377): All pages print blank on Snow Leopard
+ <http://webkit.org/b/75879> / <rdar://problem/10674335>
+
+ We need to explicitly load PDFKit.framework before using PDFDocument and friends.
+ On SnowLeopard the framework is not necessarily loaded by anything else before we
+ print, which would lead to us failing to allocate the PDFDocument that we use for
+ drawing the content from the web process.
+
+ Reviewed by Dan Bernstein.
+
+ * UIProcess/API/mac/WKPrintingView.mm:
+ (pdfKitFrameworkPath): Construct the path to the PDFKit framework.
+ (classFromPDFKit): Ensure that the PDFKit framework is loaded, and then retrieve the
+ given class from it.
+ (pdfAnnotationLinkClass): ASSERT that we found the class.
+ (pdfDocumentClass): Ditto.
+
+2012-01-10 Chris Marrin <cmarrin@apple.com>
+
+ Wrapped allowedCompositingTriggers in ACCELERATED_COMPOSITING ifdef to make non-accelerated builds work
+
+ Unreviewed.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+
+2012-01-10 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
+
+ [Qt][WK2]REGRESSION(r102435): It made tst_QQuickWebView::show() crash
+ https://bugs.webkit.org/show_bug.cgi?id=74176
+
+ Reviewed by Noam Rosenthal.
+
+ Check texture mapper exists already in ensureRootLayer to avoid recrecation.
+ Check if root layer was deleted already in purgeGLResources.
+ Added multipleWebViewWindows and multipleWebViews API tests.
+
+ * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
+ (tst_QQuickWebView::multipleWebViewWindows):
+ (tst_QQuickWebView::multipleWebViews):
+ * UIProcess/qt/LayerTreeHostProxyQt.cpp:
+ (WebKit::LayerTreeHostProxy::ensureRootLayer):
+ (WebKit::LayerTreeHostProxy::purgeGLResources):
+
+2012-01-10 Ryosuke Niwa <rniwa@webkit.org>
+
+ Snow Leopard build fix.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+
+2012-01-10 Anders Carlsson <andersca@apple.com>
+
+ Hang opening movie that requires authentication
+ https://bugs.webkit.org/show_bug.cgi?id=75989
+
+ Reviewed by Sam Weinig.
+
+ Change the way the keychain calls are processed to avoid deadlocks:
+
+ 1. When a keychain call is made, the web process sends an asynchronous request message to the UI process,
+ avoiding the need to bounce calls to the main thread (since CoreIPC only allows sending
+ synchronous messages from the main thread). Incidentally, this fixes <rdar://problem/9428041>.
+ 2. The Web Process now waits on the calling thread, (for a condition variable to be signalled) for a reply message.
+ 3. The UI process handles the incoming message request message on the connection work queue and uses
+ dispatch_async to a global dispatch queue where the keychain call is made.
+ We use a global queue to prevent the connection work queue from blocking on the call.
+ 4. The UI process then sends an asynchronous reply message back to the web process. This message is sent from
+ the global dispatch queue.
+ 5. The Web Process handles the reply message on the connection queue, adds the reply to a map and signals
+ the condition variable that the web process is waiting on and the thread that made the keychain call
+ can resume execution.
+
+ * Shared/mac/SecItemRequestData.cpp:
+ (WebKit::SecItemRequestData::SecItemRequestData):
+ (WebKit::SecItemRequestData::encode):
+ (WebKit::SecItemRequestData::decode):
+ * Shared/mac/SecItemRequestData.h:
+ (WebKit::SecItemRequestData::type):
+ Add a type to SecItemRequestData and encode/decode it.
+
+ * Shared/mac/SecItemResponseData.h:
+ (WebKit::SecItemResponseData::resultObject):
+ Make this return a reference so we can call leakRef() on it.
+
+ * Shared/mac/SecKeychainItemRequestData.cpp:
+ (WebKit::SecKeychainItemRequestData::SecKeychainItemRequestData):
+ (WebKit::SecKeychainItemRequestData::~SecKeychainItemRequestData):
+ (WebKit::SecKeychainItemRequestData::attributeList):
+ (WebKit::SecKeychainItemRequestData::encode):
+ (WebKit::SecKeychainItemRequestData::decode):
+ * Shared/mac/SecKeychainItemRequestData.h:
+ (WebKit::SecKeychainItemRequestData::type):
+ Add a type, and put the OwnPtr and OwnArrayPtr in a RefCounted struct so we can
+ correctly copy this object.
+
+ * UIProcess/WebConnectionToWebProcess.cpp:
+ (WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess):
+ Don't open the connection here, the WebProcessProxy object needs to add itself as a queue client before opening.
+
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::disconnect):
+ Remove the WebProcessProxy object from the list of connection queue clients.
+
+ (WebKit::WebProcessProxy::didReceiveMessageOnConnectionWorkQueue):
+ Call didReceiveWebProcessProxyMessageOnConnectionWorkQueue.
+
+ (WebKit::WebProcessProxy::didFinishLaunching):
+ Add the WebProcessProxy as a queue client and open the connection.
+
+ * UIProcess/WebProcessProxy.h:
+ WebProcessProxy should inherit from CoreIPC::Connection::QueueClient. Replace all individual keychain
+ handler functions with two generic functions, secItemRequest and secKeychainItemRequest.
+
+ * UIProcess/WebProcessProxy.messages.in:
+ Replace individual keychain messages with SecItemRequest and SecKeychainItemRequest messages.
+
+ * UIProcess/mac/WebProcessProxyMac.mm:
+ (WebKit::handleSecItemRequest):
+ Call the right SecItem function depending on the request type and send back the result.
+
+ (WebKit::WebProcessProxy::secItemRequest):
+ Dispatch handleSecItemRequest on a global dispatch queue.
+
+ (WebKit::handleSecKeychainItemRequest):
+ Call the right SecKeychainItem function depending on the request type and send back the result.
+
+ (WebKit::WebProcessProxy::secKeychainItemRequest):
+ Dispatch handleSecKeychainItemRequest on a global dispatch queue.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Update for added/removed files.
+
+ * WebProcess/WebProcess.h:
+ Add secItemResponse and secKeychainItemResponse message handlers.
+
+ * WebProcess/WebProcess.messages.in:
+ Add SecItemResponse and SecKeychainItemResponse messages.
+
+ * WebProcess/mac/CoreIPCClientRunLoop.h:
+ * WebProcess/mac/CoreIPCClientRunLoop.mm:
+ This is no longer needed.
+
+ * WebProcess/mac/KeychainItemShimMethods.h:
+ * WebProcess/mac/KeychainItemShimMethods.mm:
+ (WebKit::managedAttributeLists):
+ Make this an atomically initialized static.
+
+ (WebKit::managedAttributeListsMutex):
+ Add an atomically initialized mutex.
+
+ (WebKit::allocateAttributeListContents):
+ Use the managedAttributeListsMutex to make this function callable from any thread.
+
+ (WebKit::managedKeychainItemContents):
+ Make this an atomically initialized static.
+
+ (WebKit::managedKeychainItemContentsMutex):
+ Add an atomically initialized mutex.
+
+ (WebKit::allocateKeychainItemContentData):
+ Use the managedAttributeListsMutex to make this function callable from any thread.
+
+ (WebKit::webFreeAttributeListContent):
+ Use locking so this can be called from any thread.
+
+ (WebKit::webFreeKeychainItemContent):
+ Ditto.
+
+ (WebKit::responseMap):
+ Add responseMap thread-safe singleton for holding incoming responses.
+
+ (WebKit::generateSecKeychainItemRequestID):
+ Return a unique item request id, using OSAtomicIncrement64Barrier for atomicity.
+
+ (WebKit::didReceiveSecKeychainItemResponse):
+ Pass the response over the response map.
+
+ (WebKit::sendSeqKeychainItemRequest):
+ Send a request message and wait for a response using ResponseMap::waitForResponse.
+
+ (WebKit::webSecKeychainItemCopyContent):
+ Send a request using sendSeqKeychainItemRequest.
+
+ (WebKit::webSecKeychainItemCreateFromContent):
+ Ditto.
+
+ (WebKit::webSecKeychainItemModifyContent):
+ Ditto.
+
+ * WebProcess/mac/KeychainShimResponseMap.h:
+ New thread-safe helper class that stores a map of responses and lets client wait for a response
+ with a given ID.
+
+ (KeychainShimResponseMap::waitForResponse):
+ Wait until the response is available in the hash map, then return it.
+
+ (KeychainShimResponseMap::didReceiveResponse):
+ Add the response to the hash map and signal the condition variable.
+
+ * WebProcess/mac/SecItemShimMethods.h:
+ * WebProcess/mac/SecItemShimMethods.mm:
+ (WebKit::responseMap):
+ Add responseMap thread-safe singleton for holding incoming responses.
+
+ (WebKit::generateSecItemRequestID):
+ Return a unique item request id, using OSAtomicIncrement64Barrier for atomicity.
+
+ (WebKit::didReceiveSecItemResponse):
+ Pass the response over the response map.
+
+ (WebKit::sendSeqItemRequest):
+ Send a request message and wait for a response using ResponseMap::waitForResponse.
+
+ (WebKit::webSecItemCopyMatching):
+ Send a request using sendSeqItemRequest.
+
+ (WebKit::webSecItemAdd):
+ Ditto.
+
+ (WebKit::webSecItemUpdate):
+ Ditto.
+
+ (WebKit::webSecItemDelete):
+ Ditto.
+
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::WebProcess::secItemResponse):
+ Call didReceiveSecItemResponse.
+
+ (WebKit::WebProcess::secKeychainItemResponse):
+ Call didReceiveSecKeychainItemResponse.
+
+2012-01-10 Anders Carlsson <andersca@apple.com>
+
+ DispatchOnConnectionQueue messages should have a Connection parameter
+ https://bugs.webkit.org/show_bug.cgi?id=75986
+
+ Reviewed by Adam Roben.
+
+ Message handlers for messages with the DispatchOnConnectionQueue should have a CoreIPC::Connection
+ parameter, making it easier to send messages back over that connection.
+
+ * Platform/CoreIPC/HandleMessage.h:
+ (CoreIPC::callMemberFunction):
+ (CoreIPC::handleMessageOnConnectionQueue):
+ * Scripts/webkit2/messages.py:
+ (async_case_statement):
+ (generate_message_handler):
+ * Scripts/webkit2/messages_unittest.py:
+ * WebProcess/WebPage/EventDispatcher.cpp:
+ (WebKit::EventDispatcher::wheelEvent):
+ (WebKit::EventDispatcher::gestureEvent):
+ * WebProcess/WebPage/EventDispatcher.h:
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::pluginProcessCrashed):
+ * WebProcess/WebProcess.h:
+
+2012-01-10 Chris Marrin <cmarrin@apple.com>
+
+ Turn off the FilterTrigger in WebKit and WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=75914
+
+ Reviewed by Simon Fraser.
+
+ Implement allowedCompositingTriggers to turn on all compositing triggers except FilterTrigger.
+
+ * WebProcess/WebCoreSupport/WebChromeClient.h:
+ (WebKit::WebChromeClient::allowedCompositingTriggers):
+
+2012-01-10 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Unreviewed potential Mac WK2 build fix.
+
+ * UIProcess/PageClient.h: forward declare WebGestureEvent.
+
+2012-01-10 Csaba Osztrogonác <ossy@webkit.org>
+
+ Unreviewed, rolling out an accidental commit r104569.
+
+ * Shared/EditorState.cpp:
+ (WebKit::EditorState::encode):
+ (WebKit::EditorState::decode):
+ * Shared/EditorState.h:
+ * UIProcess/API/qt/qquickwebview.cpp:
+ (QQuickWebView::inputMethodQuery):
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::respondToChangedSelection):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::editorState):
+
+2012-01-10 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Unreviewed potential Mac WK2 build fix.
+
+ * UIProcess/API/mac/PageClientImpl.h:
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::doneWithGestureEvent):
+
+2012-01-10 Rafael Brandao <rafael.lobo@openbossa.org>
+
+ [Qt][WK2] Add font-related API tests for QWebPreferences
+ https://bugs.webkit.org/show_bug.cgi?id=75739
+
+ Reviewed by Zoltan Herczeg.
+
+ * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
+ * UIProcess/API/qt/tests/qmltests/common/font-preferences.html: Added.
+
+2012-01-10 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Fix failing WK2 layout tests after r104557
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::didReceiveEvent): Add missing break to not
+ handle mouseDown as gesture event.
+
+2012-01-10 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Unreviewed buildfix.
+
+ * UIProcess/WebPageProxy.h:
+
+2012-01-10 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ Implement the input panel request/close handling
+
+ Reviewed by Simon Hausmann.
+
+ With the current patch we only request the input panel as a
+ response to a user tap. Close requests, on the other hand,
+ is always respected.
+
+ As multiple show/hide requests can happen while processing
+ the tap gesture, input panel visibility changes are postponed
+ until the tap gesture ends.
+
+ The input panel will become visible if the WebCore editor is
+ in canEdit mode and thus work for content-editable, meaning
+ that it won't close the input panel if you click on a link
+ (eg. editCommand) while in content-editable mode.
+
+ * UIProcess/PageClient.h:
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::handleGestureEvent):
+ (WebKit::WebPageProxy::editorStateChanged):
+ (WebKit::WebPageProxy::didReceiveEvent):
+
+ Add a new doneWithGestureEvent method to the PageClient
+ as well as add a updateTextInputState similar to that of mac.
+
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/qt/QtPageClient.cpp:
+ (QtPageClient::updateTextInputState):
+ (QtPageClient::doneWithGestureEvent):
+
+ Propagate the new events to the Qt EventHandler.
+
+ * UIProcess/qt/QtPageClient.h:
+ * UIProcess/qt/QtWebPageEventHandler.cpp:
+ * UIProcess/qt/QtWebPageEventHandler.h:
+ (QtWebPageEventHandler::QtWebPageEventHandler):
+ (QtWebPageEventHandler::handleSingleTapEvent):
+ (setInputPanelVisible):
+ (QtWebPageEventHandler::updateTextInputState):
+ (QtWebPageEventHandler::doneWithGestureEvent):
+
+ Handle postponing of the input method visibility change
+ and the actual showing/hiding.
+
+2012-01-10 Eunmi Lee <eunmi15.lee@samsung.com>
+
+ [EFL][WK2] Remove codes to move and resize the clip.
+ https://bugs.webkit.org/show_bug.cgi?id=75428
+
+ Reviewed by Andreas Kling.
+
+ Remove codes to move and resize the clip because clip is not used now.
+ We have to show whole area of evas_object_image so we don't have to
+ clip any area.
+ In the WebKit1 Efl, the clip is used to clip the area to show during
+ weak zoom, so we can use codes to manipulate the clip when we want to
+ implement weak zoom for WebKit2 Efl.
+
+ * UIProcess/API/efl/ewk_view.cpp:
+ (_ewk_view_smart_calculate):
+
+2012-01-09 Andras Becsi <andras.becsi@nokia.com>
+
+ [Qt][WK2] Pinch zoom should affect the page size
+ https://bugs.webkit.org/show_bug.cgi?id=74601
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ The current implementation uses the scale property of the QQuickWebPage
+ to scale the page in response to pinch gestures.
+ However for layout and anchoring to work correctly in QML, pinching needs
+ to change the page size.
+ This patch applies the pinch scale to the page size and to the transformation
+ matrix of the drawing area.
+ Thus the page item's coordinate system is no longer a direct representation
+ of the WebCore::Page coordinate system and it is no longer suitable as
+ an inertial frame of reference for input events. The event propagation had
+ to be moved to the QQuickWebView and the positions translated to content
+ coordinates when NativeWebEvents are created.
+ Re-landing with fixed event delivery for the test infrastructure.
+
+ * Shared/NativeWebMouseEvent.h:
+ * Shared/NativeWebTouchEvent.h:
+ * Shared/NativeWebWheelEvent.h:
+ * Shared/qt/NativeWebMouseEventQt.cpp:
+ (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
+ * Shared/qt/NativeWebTouchEventQt.cpp:
+ (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
+ * Shared/qt/NativeWebWheelEventQt.cpp:
+ (WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
+ * Shared/qt/WebEventFactoryQt.cpp:
+ (WebKit::WebEventFactory::createWebMouseEvent):
+ (WebKit::WebEventFactory::createWebWheelEvent):
+ (WebKit::WebEventFactory::createWebTouchEvent):
+ * Shared/qt/WebEventFactoryQt.h:
+ * UIProcess/API/qt/qquickwebpage.cpp:
+ (QQuickWebPage::geometryChanged):
+ (QQuickWebPagePrivate::QQuickWebPagePrivate):
+ (QQuickWebPagePrivate::paintToCurrentGLContext):
+ (QQuickWebPage::usesTraditionalDesktopBehaviour):
+ (QQuickWebPage::setUsesTraditionalDesktopBehaviour):
+ (QQuickWebPage::eventHandler):
+ (QQuickWebPage::setContentSize):
+ (QQuickWebPage::contentSize):
+ (QQuickWebPage::setContentScale):
+ (QQuickWebPage::contentScale):
+ (QQuickWebPage::transformFromItem):
+ (QQuickWebPage::transformToItem):
+ (QQuickWebPagePrivate::updateSize):
+ * UIProcess/API/qt/qquickwebpage_p.h:
+ * UIProcess/API/qt/qquickwebpage_p_p.h:
+ * UIProcess/API/qt/qquickwebview.cpp:
+ (QQuickWebViewPrivate::enableMouseEvents):
+ (QQuickWebViewPrivate::disableMouseEvents):
+ (QQuickWebViewPrivate::loadDidCommit):
+ (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
+ (QQuickWebViewPrivate::didChangeContentsSize):
+ (QQuickWebViewPrivate::didChangeViewportProperties):
+ (QQuickWebViewPrivate::pageDidRequestScroll):
+ (QQuickWebViewPrivate::updateVisibleContentRectAndScale):
+ (QQuickWebViewPrivate::PostTransitionState::apply):
+ (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
+ (QQuickWebViewExperimental::setUseTraditionalDesktopBehaviour):
+ (QQuickWebViewExperimental::useTraditionalDesktopBehaviour):
+ (QQuickWebView::mapToWebContent):
+ (QQuickWebView::mapRectToWebContent):
+ (QQuickWebView::mapFromWebContent):
+ (QQuickWebView::mapRectFromWebContent):
+ (QQuickWebView::geometryChanged):
+ (QQuickWebView::keyPressEvent):
+ (QQuickWebView::keyReleaseEvent):
+ (QQuickWebView::inputMethodEvent):
+ (QQuickWebView::focusInEvent):
+ (QQuickWebView::focusOutEvent):
+ (QQuickWebView::touchEvent):
+ (QQuickWebView::mousePressEvent):
+ (QQuickWebView::mouseMoveEvent):
+ (QQuickWebView::mouseReleaseEvent):
+ (QQuickWebView::mouseDoubleClickEvent):
+ (QQuickWebView::wheelEvent):
+ (QQuickWebView::hoverEnterEvent):
+ (QQuickWebView::hoverMoveEvent):
+ (QQuickWebView::hoverLeaveEvent):
+ (QQuickWebView::dragMoveEvent):
+ (QQuickWebView::dragEnterEvent):
+ (QQuickWebView::dragLeaveEvent):
+ (QQuickWebView::dropEvent):
+ (QQuickWebView::event):
+ * UIProcess/API/qt/qquickwebview_p.h:
+ * UIProcess/API/qt/qquickwebview_p_p.h:
+ * UIProcess/API/qt/qwebviewportinfo.cpp:
+ (QWebViewportInfo::contentsSize):
+ * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
+ (tst_QQuickWebView::scrollRequest):
+ * UIProcess/qt/QtPinchGestureRecognizer.cpp:
+ (WebKit::QtPinchGestureRecognizer::recognize):
+ * UIProcess/qt/QtViewportInteractionEngine.cpp:
+ (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
+ (WebKit::QtViewportInteractionEngine::setItemRectVisible):
+ (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
+ (WebKit::QtViewportInteractionEngine::event):
+ (WebKit::QtViewportInteractionEngine::wheelEvent):
+ (WebKit::QtViewportInteractionEngine::pagePositionRequest):
+ (WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale):
+ (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
+ (WebKit::QtViewportInteractionEngine::applyConstraints):
+ (WebKit::QtViewportInteractionEngine::currentCSSScale):
+ (WebKit::QtViewportInteractionEngine::panGestureStarted):
+ (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
+ (WebKit::QtViewportInteractionEngine::panGestureEnded):
+ (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
+ (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
+ (WebKit::QtViewportInteractionEngine::scaleContent):
+ * UIProcess/qt/QtViewportInteractionEngine.h:
+ * UIProcess/qt/QtWebPageEventHandler.cpp:
+ (QtWebPageEventHandler::handleEvent):
+ (QtWebPageEventHandler::handleMouseMoveEvent):
+ (QtWebPageEventHandler::handleMousePressEvent):
+ (QtWebPageEventHandler::handleMouseReleaseEvent):
+ (QtWebPageEventHandler::handleWheelEvent):
+ (QtWebPageEventHandler::handleHoverLeaveEvent):
+ (QtWebPageEventHandler::handleHoverMoveEvent):
+ (QtWebPageEventHandler::handleDragEnterEvent):
+ (QtWebPageEventHandler::handleDragMoveEvent):
+ (QtWebPageEventHandler::handleDropEvent):
+ (QtWebPageEventHandler::handleSingleTapEvent):
+ (QtWebPageEventHandler::handleDoubleTapEvent):
+ (QtWebPageEventHandler::touchEvent):
+ * UIProcess/qt/QtWebPageEventHandler.h:
+
+2012-01-09 Eunmi Lee <eunmi15.lee@samsung.com>
+
+ [EFL][WK2] Set color_set function to the clipped smart class.
+ https://bugs.webkit.org/show_bug.cgi?id=75286
+
+ Reviewed by Andreas Kling.
+
+ Set _ewk_view_smart_color_set() function to the clipped smart class's color_set,
+ so application can set webpage's background color using evas_object_color_set() API.
+
+ * UIProcess/API/efl/ewk_view.cpp:
+ (_ewk_view_smart_color_set):
+ (ewk_view_smart_class_init):
+
+2012-01-08 Dan Bernstein <mitz@apple.com>
+
+ REGRESSION (r103859): WKViews leak
+ https://bugs.webkit.org/show_bug.cgi?id=75805
+
+ The flags changed event monitor added in r103859 was retaining the WKView (as it references
+ self in the handler block), causing it to leak.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView dealloc]): Moved call to remove the flags changed event monitor from here...
+ (-[WKView viewDidMoveToWindow]): ...to here. Moved call to add the flags changed event
+ monitor to here from...
+ (-[WKView initWithFrame:contextRef:pageGroupRef:]): ...here.
+
+2012-01-06 Mark Rowe <mrowe@apple.com>
+
+ REGRESSION (WebKit2): Save as PDF no longer generates links to URLs
+ <http://webkit.org/b/65076> / <rdar://problem/9606246>
+
+ WebKit2 printing works by having the web process render the page content to a PDF. The PDF
+ data is then shipped to the UI process which will render it in to the printing graphics context.
+ Links were being lost because the API used to do the rendering of the PDF in to the printing
+ graphics context, CGContextDrawPDFPage, did not preserve the links that were present in the
+ PDF content received from the web process.
+
+ To fix this we switch to using PDFKit for drawing the PDF in to the printing graphics context.
+ PDFKit provides the ability for us to iterate over the links in the PDF content ourselves and
+ add links in to the printing graphics context.
+
+ Reviewed by Alexey Proskuryakov.
+
+ * UIProcess/API/mac/WKPrintingView.h:
+ * UIProcess/API/mac/WKPrintingView.mm:
+ (pdfAnnotationLinkClass): Look up the PDFAnnotationLink class from PDFKit as WebKit2 loads PDFKit lazily.
+ (pdfDocumentClass): Ditto.
+ (-[WKPrintingView _drawPDFDocument:page:atPoint:]): Switch to using the PDFKit equivalents of several types.
+ Iterate over the annotations present in the PDFPage, calling CGPDFContextSetURLForRect for each PDFAnnotationLink
+ that we find.
+ (-[WKPrintingView _drawPreview:]): Create an NSData to feed to PDFDocument.
+ (-[WKPrintingView drawRect:]): Ditto.
+ * WebKit2Prefix.h: Add the usual workaround to make Objective-C exceptions compile when C++ exception handling is disabled.
+
+2012-01-06 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
+
+ [Qt] [WK2] Minibrowser leaks memory ~6-7Mb per reload
+ https://bugs.webkit.org/show_bug.cgi?id=75746
+
+ Reset WebGraphicsLayer::m_layerTreeTileClient of all dependent
+ layers from ~LayerTreeHostQt(). This replaces r103760 which
+ causes leaks of GraphicsLayerTextureMapper objects on UI side.
+
+ Reviewed by Noam Rosenthal.
+
+ * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
+ (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
+ (WebCore::WebGraphicsLayer::setLayerTreeTileClient):
+ * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
+ * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
+ (WebKit::LayerTreeHostQt::~LayerTreeHostQt):
+
+2012-01-06 Alexey Proskuryakov <ap@apple.com>
+
+ [Mac] Thread verifier assertions when printing
+ https://bugs.webkit.org/show_bug.cgi?id=75738
+
+ Reviewed by Sam Weinig.
+
+ * UIProcess/API/mac/WKPrintingView.mm:
+ (-[WKPrintingView dealloc]): Dealloc in main thread, so that WebFrameProxy doesn't get
+ deref'ed from a secondary one.
+ (-[WKPrintingView _adjustPrintingMarginsForHeaderAndFooter]): This method calls out to client,
+ which only expects that on main thread.
+ (-[WKPrintingView knowsPageRange:]): Call _adjustPrintingMarginsForHeaderAndFooter on main
+ thread.
+
+2012-01-06 Alexey Proskuryakov <ap@apple.com>
+
+ Need to allow SCNetworkReachability service in sandbox profile
+ https://bugs.webkit.org/show_bug.cgi?id=75724
+ <rdar://problem/10652415>
+
+ Reviewed by Mark Rowe.
+
+ * WebProcess/com.apple.WebProcess.sb:
+
+2012-01-06 Benjamin Poulain <bpoulain@apple.com>
+
+ [Mac] Sort the resources of WebKit2.xcodeproj
+ https://bugs.webkit.org/show_bug.cgi?id=75636
+
+ Reviewed by Andreas Kling.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+
2012-01-06 Rafael Brandao <rafael.lobo@openbossa.org>
[Qt][WK2] QQuickWebView breaks when an empty url is loaded
diff --git a/Source/WebKit2/Platform/CoreIPC/HandleMessage.h b/Source/WebKit2/Platform/CoreIPC/HandleMessage.h
index d57a552be..5634a6b1e 100644
--- a/Source/WebKit2/Platform/CoreIPC/HandleMessage.h
+++ b/Source/WebKit2/Platform/CoreIPC/HandleMessage.h
@@ -196,6 +196,19 @@ void callMemberFunction(const Arguments1<P1>& args, PassRefPtr<R> delayedReply,
(object->*function)(args.argument1, delayedReply);
}
+// Dispatch functions with connection parameter.
+template<typename C, typename MF, typename P1>
+void callMemberFunction(Connection* connection, const Arguments1<P1>& args, C* object, MF function)
+{
+ (object->*function)(connection, args.argument1);
+}
+
+template<typename C, typename MF, typename P1, typename P2>
+void callMemberFunction(Connection* connection, const Arguments2<P1, P2>& args, C* object, MF function)
+{
+ (object->*function)(connection, args.argument1, args.argument2);
+}
+
// Variadic dispatch functions.
template<typename C, typename MF>
@@ -290,6 +303,15 @@ void handleMessage(ArgumentDecoder* argumentDecoder, ArgumentEncoder* replyEncod
}
template<typename T, typename C, typename MF>
+void handleMessageOnConnectionQueue(Connection* connection, ArgumentDecoder* argumentDecoder, C* object, MF function)
+{
+ typename T::DecodeType::ValueType arguments;
+ if (!argumentDecoder->decode(arguments))
+ return;
+ callMemberFunction(connection, arguments, object, function);
+}
+
+template<typename T, typename C, typename MF>
void handleMessageVariadic(ArgumentDecoder* argumentDecoder, C* object, MF function)
{
typename T::DecodeType::ValueType arguments;
diff --git a/Source/WebKit2/Scripts/webkit2/messages.py b/Source/WebKit2/Scripts/webkit2/messages.py
index cf9d5ec01..456cb100a 100644
--- a/Source/WebKit2/Scripts/webkit2/messages.py
+++ b/Source/WebKit2/Scripts/webkit2/messages.py
@@ -311,16 +311,21 @@ def handler_function(receiver, message):
return '%s::%s' % (receiver.name, message.name[0].lower() + message.name[1:])
-def async_case_statement(receiver, message, statement_before_return=None):
+def async_case_statement(receiver, message):
+ dispatch_function_args = ['arguments', 'this', '&%s' % handler_function(receiver, message)]
dispatch_function = 'handleMessage'
if message_is_variadic(message):
dispatch_function += 'Variadic'
-
+ if message.has_attribute(DISPATCH_ON_CONNECTION_QUEUE_ATTRIBUTE):
+ dispatch_function += 'OnConnectionQueue'
+ dispatch_function_args.insert(0, 'connection')
+
result = []
result.append(' case Messages::%s::%s:\n' % (receiver.name, message.id()))
- result.append(' CoreIPC::%s<Messages::%s::%s>(arguments, this, &%s);\n' % (dispatch_function, receiver.name, message.name, handler_function(receiver, message)))
- if statement_before_return:
- result.append(' %s\n' % statement_before_return)
+
+ result.append(' CoreIPC::%s<Messages::%s::%s>(%s);\n' % (dispatch_function, receiver.name, message.name, ', '.join(dispatch_function_args)))
+ if message.has_attribute(DISPATCH_ON_CONNECTION_QUEUE_ATTRIBUTE):
+ result.append(' didHandleMessage = true;\n')
result.append(' return;\n')
return surround_in_condition(''.join(result), message.condition)
@@ -533,14 +538,14 @@ def generate_message_handler(file):
async_messages.append(message)
if async_dispatch_on_connection_queue_messages:
- result.append('void %s::didReceive%sMessageOnConnectionWorkQueue(CoreIPC::Connection*, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, bool& didHandleMessage)\n' % (receiver.name, receiver.name))
+ result.append('void %s::didReceive%sMessageOnConnectionWorkQueue(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, bool& didHandleMessage)\n' % (receiver.name, receiver.name))
result.append('{\n')
result.append('#if COMPILER(MSVC)\n')
result.append('#pragma warning(push)\n')
result.append('#pragma warning(disable: 4065)\n')
result.append('#endif\n')
result.append(' switch (messageID.get<Messages::%s::Kind>()) {\n' % receiver.name)
- result += [async_case_statement(receiver, message, 'didHandleMessage = true;') for message in async_dispatch_on_connection_queue_messages]
+ result += [async_case_statement(receiver, message) for message in async_dispatch_on_connection_queue_messages]
result.append(' default:\n')
result.append(' return;\n')
result.append(' }\n')
diff --git a/Source/WebKit2/Scripts/webkit2/messages_unittest.py b/Source/WebKit2/Scripts/webkit2/messages_unittest.py
index dc6b3aff9..dd9fbecc3 100644
--- a/Source/WebKit2/Scripts/webkit2/messages_unittest.py
+++ b/Source/WebKit2/Scripts/webkit2/messages_unittest.py
@@ -685,7 +685,7 @@ bool TestMultipleAttributes::DelayedReply::send()
namespace WebKit {
-void WebPage::didReceiveWebPageMessageOnConnectionWorkQueue(CoreIPC::Connection*, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, bool& didHandleMessage)
+void WebPage::didReceiveWebPageMessageOnConnectionWorkQueue(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, bool& didHandleMessage)
{
#if COMPILER(MSVC)
#pragma warning(push)
@@ -693,7 +693,7 @@ void WebPage::didReceiveWebPageMessageOnConnectionWorkQueue(CoreIPC::Connection*
#endif
switch (messageID.get<Messages::WebPage::Kind>()) {
case Messages::WebPage::TestConnectionQueueID:
- CoreIPC::handleMessage<Messages::WebPage::TestConnectionQueue>(arguments, this, &WebPage::testConnectionQueue);
+ CoreIPC::handleMessageOnConnectionQueue<Messages::WebPage::TestConnectionQueue>(connection, arguments, this, &WebPage::testConnectionQueue);
didHandleMessage = true;
return;
default:
diff --git a/Source/WebKit2/Shared/NativeWebMouseEvent.h b/Source/WebKit2/Shared/NativeWebMouseEvent.h
index a73f95824..b7bbadbd0 100644
--- a/Source/WebKit2/Shared/NativeWebMouseEvent.h
+++ b/Source/WebKit2/Shared/NativeWebMouseEvent.h
@@ -49,7 +49,7 @@ public:
#elif PLATFORM(WIN)
NativeWebMouseEvent(HWND, UINT message, WPARAM, LPARAM, bool);
#elif PLATFORM(QT)
- explicit NativeWebMouseEvent(QMouseEvent*, int);
+ explicit NativeWebMouseEvent(QMouseEvent*, const QTransform& fromItemTransform, int eventClickCount);
#elif PLATFORM(GTK)
NativeWebMouseEvent(const NativeWebMouseEvent&);
NativeWebMouseEvent(GdkEvent*, int);
diff --git a/Source/WebKit2/Shared/NativeWebTouchEvent.h b/Source/WebKit2/Shared/NativeWebTouchEvent.h
index 3652dd736..f20214a8f 100644
--- a/Source/WebKit2/Shared/NativeWebTouchEvent.h
+++ b/Source/WebKit2/Shared/NativeWebTouchEvent.h
@@ -37,7 +37,7 @@ namespace WebKit {
class NativeWebTouchEvent : public WebTouchEvent {
public:
#if PLATFORM(QT)
- explicit NativeWebTouchEvent(const QTouchEvent*);
+ explicit NativeWebTouchEvent(const QTouchEvent*, const QTransform& fromItemTransform);
#endif
#if PLATFORM(QT)
diff --git a/Source/WebKit2/Shared/NativeWebWheelEvent.h b/Source/WebKit2/Shared/NativeWebWheelEvent.h
index 033ab8082..f0cfa6581 100644
--- a/Source/WebKit2/Shared/NativeWebWheelEvent.h
+++ b/Source/WebKit2/Shared/NativeWebWheelEvent.h
@@ -49,7 +49,7 @@ public:
#elif PLATFORM(WIN)
NativeWebWheelEvent(HWND, UINT message, WPARAM, LPARAM);
#elif PLATFORM(QT)
- explicit NativeWebWheelEvent(QWheelEvent*);
+ explicit NativeWebWheelEvent(QWheelEvent*, const QTransform& fromItemTransform);
#elif PLATFORM(GTK)
NativeWebWheelEvent(const NativeWebWheelEvent&);
NativeWebWheelEvent(GdkEvent*);
diff --git a/Source/WebKit2/Shared/mac/SecItemRequestData.cpp b/Source/WebKit2/Shared/mac/SecItemRequestData.cpp
index 4aa4066a7..aa1c45932 100644
--- a/Source/WebKit2/Shared/mac/SecItemRequestData.cpp
+++ b/Source/WebKit2/Shared/mac/SecItemRequestData.cpp
@@ -32,22 +32,27 @@
namespace WebKit {
SecItemRequestData::SecItemRequestData()
+ : m_type(Invalid)
{
}
-SecItemRequestData::SecItemRequestData(CFDictionaryRef query)
- : m_queryDictionary(query)
+SecItemRequestData::SecItemRequestData(Type type, CFDictionaryRef query)
+ : m_type(type)
+ , m_queryDictionary(query)
{
}
-SecItemRequestData::SecItemRequestData(CFDictionaryRef query, CFDictionaryRef attributesToMatch)
- : m_queryDictionary(query)
+SecItemRequestData::SecItemRequestData(Type type, CFDictionaryRef query, CFDictionaryRef attributesToMatch)
+ : m_type(type)
+ , m_queryDictionary(query)
, m_attributesToMatch(attributesToMatch)
{
}
void SecItemRequestData::encode(CoreIPC::ArgumentEncoder* encoder) const
{
+ encoder->encodeEnum(m_type);
+
CoreIPC::encode(encoder, m_queryDictionary.get());
encoder->encodeBool(m_attributesToMatch.get());
@@ -57,6 +62,9 @@ void SecItemRequestData::encode(CoreIPC::ArgumentEncoder* encoder) const
bool SecItemRequestData::decode(CoreIPC::ArgumentDecoder* decoder, SecItemRequestData& secItemRequestData)
{
+ if (!decoder->decodeEnum(secItemRequestData.m_type))
+ return false;
+
if (!CoreIPC::decode(decoder, secItemRequestData.m_queryDictionary))
return false;
diff --git a/Source/WebKit2/Shared/mac/SecItemRequestData.h b/Source/WebKit2/Shared/mac/SecItemRequestData.h
index 1e21d583f..57b18cfc6 100644
--- a/Source/WebKit2/Shared/mac/SecItemRequestData.h
+++ b/Source/WebKit2/Shared/mac/SecItemRequestData.h
@@ -37,17 +37,29 @@ namespace WebKit {
class SecItemRequestData {
public:
+ enum Type {
+ Invalid,
+ CopyMatching,
+ Add,
+ Update,
+ Delete,
+ CopyContent,
+ };
+
SecItemRequestData();
- SecItemRequestData(CFDictionaryRef query);
- SecItemRequestData(CFDictionaryRef query, CFDictionaryRef attributesToMatch);
+ SecItemRequestData(Type, CFDictionaryRef query);
+ SecItemRequestData(Type, CFDictionaryRef query, CFDictionaryRef attributesToMatch);
void encode(CoreIPC::ArgumentEncoder*) const;
static bool decode(CoreIPC::ArgumentDecoder*, SecItemRequestData&);
+ Type type() const { return m_type; }
+
CFDictionaryRef query() const { return m_queryDictionary.get(); }
CFDictionaryRef attributesToMatch() const { return m_attributesToMatch.get(); }
private:
+ Type m_type;
RetainPtr<CFDictionaryRef> m_queryDictionary;
RetainPtr<CFDictionaryRef> m_attributesToMatch;
};
diff --git a/Source/WebKit2/Shared/mac/SecItemResponseData.h b/Source/WebKit2/Shared/mac/SecItemResponseData.h
index 7d7fb9549..5c9433692 100644
--- a/Source/WebKit2/Shared/mac/SecItemResponseData.h
+++ b/Source/WebKit2/Shared/mac/SecItemResponseData.h
@@ -43,7 +43,7 @@ public:
void encode(CoreIPC::ArgumentEncoder*) const;
static bool decode(CoreIPC::ArgumentDecoder*, SecItemResponseData&);
- RetainPtr<CFTypeRef> resultObject() { return m_resultObject; }
+ RetainPtr<CFTypeRef>& resultObject() { return m_resultObject; }
OSStatus resultCode() const { return m_resultCode; }
private:
diff --git a/Source/WebKit2/Shared/mac/SecKeychainItemRequestData.cpp b/Source/WebKit2/Shared/mac/SecKeychainItemRequestData.cpp
index 7f988ffbe..1b6a3c25c 100644
--- a/Source/WebKit2/Shared/mac/SecKeychainItemRequestData.cpp
+++ b/Source/WebKit2/Shared/mac/SecKeychainItemRequestData.cpp
@@ -32,29 +32,36 @@
namespace WebKit {
SecKeychainItemRequestData::SecKeychainItemRequestData()
- : m_itemClass(0)
+ : m_type(Invalid)
+ , m_itemClass(0)
+ , m_attrs(adoptRef(new Attributes))
{
}
-SecKeychainItemRequestData::SecKeychainItemRequestData(SecKeychainItemRef item, SecKeychainAttributeList* attrList)
- : m_keychainItem(item)
+SecKeychainItemRequestData::SecKeychainItemRequestData(Type type, SecKeychainItemRef item, SecKeychainAttributeList* attrList)
+ : m_type(type)
+ , m_keychainItem(item)
, m_itemClass(0)
+ , m_attrs(adoptRef(new Attributes))
{
initializeWithAttributeList(attrList);
}
-SecKeychainItemRequestData::SecKeychainItemRequestData(SecKeychainItemRef item, SecKeychainAttributeList* attrList, UInt32 length, const void* data)
- : m_keychainItem(item)
+SecKeychainItemRequestData::SecKeychainItemRequestData(Type type, SecKeychainItemRef item, SecKeychainAttributeList* attrList, UInt32 length, const void* data)
+ : m_type(type)
+ , m_keychainItem(item)
, m_itemClass(0)
, m_dataReference(static_cast<const uint8_t*>(data), length)
+ , m_attrs(adoptRef(new Attributes))
{
initializeWithAttributeList(attrList);
}
-
-SecKeychainItemRequestData::SecKeychainItemRequestData(SecItemClass itemClass, SecKeychainAttributeList* attrList, UInt32 length, const void* data)
- : m_itemClass(itemClass)
+SecKeychainItemRequestData::SecKeychainItemRequestData(Type type, SecItemClass itemClass, SecKeychainAttributeList* attrList, UInt32 length, const void* data)
+ : m_type(type)
+ , m_itemClass(itemClass)
, m_dataReference(static_cast<const uint8_t*>(data), length)
+ , m_attrs(adoptRef(new Attributes))
{
initializeWithAttributeList(attrList);
}
@@ -71,7 +78,7 @@ void SecKeychainItemRequestData::initializeWithAttributeList(SecKeychainAttribut
SecKeychainItemRequestData::~SecKeychainItemRequestData()
{
#ifndef NDEBUG
- if (!m_attributeList)
+ if (!m_attrs->m_attributeList)
return;
// If this request was for SecKeychainItemModifyContent:
@@ -80,42 +87,44 @@ SecKeychainItemRequestData::~SecKeychainItemRequestData()
// If this request was for SecKeychainItemCopyContent:
// - Security APIs should've filled in the data in the AttributeList and that data
// should've been freed by SecKeychainItemFreeContent.
- for (size_t i = 0; i < m_attributeList->count; ++i) {
+ for (size_t i = 0; i < m_attrs->m_attributeList->count; ++i) {
if (m_keychainAttributes[i].data)
- ASSERT(m_attributeList->attr[i].data == CFDataGetBytePtr(m_keychainAttributes[i].data.get()));
+ ASSERT(m_attrs->m_attributeList->attr[i].data == CFDataGetBytePtr(m_keychainAttributes[i].data.get()));
else
- ASSERT(!m_attributeList->attr[i].data);
+ ASSERT(!m_attrs->m_attributeList->attr[i].data);
}
#endif
}
SecKeychainAttributeList* SecKeychainItemRequestData::attributeList() const
{
- if (m_attributeList || m_keychainAttributes.isEmpty())
- return m_attributeList.get();
+ if (m_attrs->m_attributeList || m_keychainAttributes.isEmpty())
+ return m_attrs->m_attributeList.get();
- m_attributeList = adoptPtr(new SecKeychainAttributeList);
- m_attributeList->count = m_keychainAttributes.size();
- m_attributes = adoptArrayPtr(new SecKeychainAttribute[m_attributeList->count]);
- m_attributeList->attr = m_attributes.get();
+ m_attrs->m_attributeList = adoptPtr(new SecKeychainAttributeList);
+ m_attrs->m_attributeList->count = m_keychainAttributes.size();
+ m_attrs->m_attributes = adoptArrayPtr(new SecKeychainAttribute[m_attrs->m_attributeList->count]);
+ m_attrs->m_attributeList->attr = m_attrs->m_attributes.get();
- for (size_t i = 0; i < m_attributeList->count; ++i) {
- m_attributeList->attr[i].tag = m_keychainAttributes[i].tag;
+ for (size_t i = 0; i < m_attrs->m_attributeList->count; ++i) {
+ m_attrs->m_attributeList->attr[i].tag = m_keychainAttributes[i].tag;
if (!m_keychainAttributes[i].data) {
- m_attributeList->attr[i].length = 0;
- m_attributeList->attr[i].data = 0;
+ m_attrs->m_attributeList->attr[i].length = 0;
+ m_attrs->m_attributeList->attr[i].data = 0;
continue;
}
- m_attributeList->attr[i].length = CFDataGetLength(m_keychainAttributes[i].data.get());
- m_attributeList->attr[i].data = const_cast<void*>(static_cast<const void*>(CFDataGetBytePtr(m_keychainAttributes[i].data.get())));
+ m_attrs->m_attributeList->attr[i].length = CFDataGetLength(m_keychainAttributes[i].data.get());
+ m_attrs->m_attributeList->attr[i].data = const_cast<void*>(static_cast<const void*>(CFDataGetBytePtr(m_keychainAttributes[i].data.get())));
}
- return m_attributeList.get();
+ return m_attrs->m_attributeList.get();
}
void SecKeychainItemRequestData::encode(CoreIPC::ArgumentEncoder* encoder) const
{
+ encoder->encodeEnum(m_type);
+
encoder->encodeBool(m_keychainItem);
if (m_keychainItem)
CoreIPC::encode(encoder, m_keychainItem.get());
@@ -130,6 +139,9 @@ void SecKeychainItemRequestData::encode(CoreIPC::ArgumentEncoder* encoder) const
bool SecKeychainItemRequestData::decode(CoreIPC::ArgumentDecoder* decoder, SecKeychainItemRequestData& secKeychainItemRequestData)
{
+ if (!decoder->decodeEnum(secKeychainItemRequestData.m_type))
+ return false;
+
bool hasKeychainItem;
if (!decoder->decodeBool(hasKeychainItem))
return false;
diff --git a/Source/WebKit2/Shared/mac/SecKeychainItemRequestData.h b/Source/WebKit2/Shared/mac/SecKeychainItemRequestData.h
index ca72b36fb..67a8109ab 100644
--- a/Source/WebKit2/Shared/mac/SecKeychainItemRequestData.h
+++ b/Source/WebKit2/Shared/mac/SecKeychainItemRequestData.h
@@ -31,6 +31,7 @@
#include <Security/Security.h>
#include <wtf/OwnArrayPtr.h>
#include <wtf/RetainPtr.h>
+#include <wtf/ThreadSafeRefCounted.h>
#include <wtf/Vector.h>
namespace CoreIPC {
@@ -42,15 +43,24 @@ namespace WebKit {
class SecKeychainItemRequestData {
public:
+ enum Type {
+ Invalid,
+ CopyContent,
+ CreateFromContent,
+ ModifyContent,
+ };
+
SecKeychainItemRequestData();
- SecKeychainItemRequestData(SecKeychainItemRef, SecKeychainAttributeList*);
- SecKeychainItemRequestData(SecKeychainItemRef, SecKeychainAttributeList*, UInt32 length, const void* data);
- SecKeychainItemRequestData(SecItemClass, SecKeychainAttributeList*, UInt32 length, const void* data);
+ SecKeychainItemRequestData(Type, SecKeychainItemRef, SecKeychainAttributeList*);
+ SecKeychainItemRequestData(Type, SecKeychainItemRef, SecKeychainAttributeList*, UInt32 length, const void* data);
+ SecKeychainItemRequestData(Type, SecItemClass, SecKeychainAttributeList*, UInt32 length, const void* data);
~SecKeychainItemRequestData();
void encode(CoreIPC::ArgumentEncoder*) const;
static bool decode(CoreIPC::ArgumentDecoder*, SecKeychainItemRequestData&);
+ Type type() const { return m_type; }
+
SecKeychainItemRef keychainItem() const { return m_keychainItem.get(); }
SecItemClass itemClass() const { return m_itemClass; }
UInt32 length() const { return m_dataReference.size(); }
@@ -60,14 +70,19 @@ public:
private:
void initializeWithAttributeList(SecKeychainAttributeList*);
-
+
+ Type m_type;
RetainPtr<SecKeychainItemRef> m_keychainItem;
SecItemClass m_itemClass;
CoreIPC::DataReference m_dataReference;
Vector<KeychainAttribute> m_keychainAttributes;
- mutable OwnPtr<SecKeychainAttributeList> m_attributeList;
- mutable OwnArrayPtr<SecKeychainAttribute> m_attributes;
+
+ struct Attributes : public ThreadSafeRefCounted<Attributes> {
+ mutable OwnPtr<SecKeychainAttributeList> m_attributeList;
+ mutable OwnArrayPtr<SecKeychainAttribute> m_attributes;
+ };
+ RefPtr<Attributes> m_attrs;
};
} // namespace WebKit
diff --git a/Source/WebKit2/Shared/qt/NativeWebMouseEventQt.cpp b/Source/WebKit2/Shared/qt/NativeWebMouseEventQt.cpp
index ee731dece..e8fd39ce7 100644
--- a/Source/WebKit2/Shared/qt/NativeWebMouseEventQt.cpp
+++ b/Source/WebKit2/Shared/qt/NativeWebMouseEventQt.cpp
@@ -30,8 +30,8 @@
namespace WebKit {
-NativeWebMouseEvent::NativeWebMouseEvent(QMouseEvent* event, int eventClickCount)
- : WebMouseEvent(WebEventFactory::createWebMouseEvent(event, eventClickCount))
+NativeWebMouseEvent::NativeWebMouseEvent(QMouseEvent* event, const QTransform& fromItemTransform, int eventClickCount)
+ : WebMouseEvent(WebEventFactory::createWebMouseEvent(event, fromItemTransform, eventClickCount))
, m_nativeEvent(event)
{
}
diff --git a/Source/WebKit2/Shared/qt/NativeWebTouchEventQt.cpp b/Source/WebKit2/Shared/qt/NativeWebTouchEventQt.cpp
index 0660bba27..78c0883d6 100644
--- a/Source/WebKit2/Shared/qt/NativeWebTouchEventQt.cpp
+++ b/Source/WebKit2/Shared/qt/NativeWebTouchEventQt.cpp
@@ -30,8 +30,8 @@
namespace WebKit {
-NativeWebTouchEvent::NativeWebTouchEvent(const QTouchEvent* event)
- : WebTouchEvent(WebEventFactory::createWebTouchEvent(event))
+NativeWebTouchEvent::NativeWebTouchEvent(const QTouchEvent* event, const QTransform& fromItemTransform)
+ : WebTouchEvent(WebEventFactory::createWebTouchEvent(event, fromItemTransform))
, m_nativeEvent(*event)
{
}
diff --git a/Source/WebKit2/Shared/qt/NativeWebWheelEventQt.cpp b/Source/WebKit2/Shared/qt/NativeWebWheelEventQt.cpp
index 5ff224acb..3c1ba9f8f 100644
--- a/Source/WebKit2/Shared/qt/NativeWebWheelEventQt.cpp
+++ b/Source/WebKit2/Shared/qt/NativeWebWheelEventQt.cpp
@@ -30,8 +30,8 @@
namespace WebKit {
-NativeWebWheelEvent::NativeWebWheelEvent(QWheelEvent* event)
- : WebWheelEvent(WebEventFactory::createWebWheelEvent(event))
+NativeWebWheelEvent::NativeWebWheelEvent(QWheelEvent* event, const QTransform& fromItemTransform)
+ : WebWheelEvent(WebEventFactory::createWebWheelEvent(event, fromItemTransform))
, m_nativeEvent(event)
{
}
diff --git a/Source/WebKit2/Shared/qt/WebEventFactoryQt.cpp b/Source/WebKit2/Shared/qt/WebEventFactoryQt.cpp
index 3dc5970f9..b6ac2f5e1 100644
--- a/Source/WebKit2/Shared/qt/WebEventFactoryQt.cpp
+++ b/Source/WebKit2/Shared/qt/WebEventFactoryQt.cpp
@@ -29,6 +29,7 @@
#include <qgraphicssceneevent.h>
#include <QApplication>
#include <QKeyEvent>
+#include <QTransform>
#include <WebCore/IntPoint.h>
#include <WebCore/FloatPoint.h>
#include <WebCore/PlatformKeyboardEvent.h>
@@ -106,7 +107,7 @@ static inline WebEvent::Modifiers modifiersForEvent(Qt::KeyboardModifiers modifi
return (WebEvent::Modifiers)result;
}
-WebMouseEvent WebEventFactory::createWebMouseEvent(QMouseEvent* event, int eventClickCount)
+WebMouseEvent WebEventFactory::createWebMouseEvent(QMouseEvent* event, const QTransform& fromItemTransform, int eventClickCount)
{
static FloatPoint lastPos = FloatPoint(0, 0);
@@ -119,10 +120,10 @@ WebMouseEvent WebEventFactory::createWebMouseEvent(QMouseEvent* event, int event
double timestamp = currentTimeForEvent(event);
lastPos.set(event->localPos().x(), event->localPos().y());
- return WebMouseEvent(type, button, event->localPos().toPoint(), event->screenPos().toPoint(), deltaX, deltaY, 0.0f, clickCount, modifiers, timestamp);
+ return WebMouseEvent(type, button, fromItemTransform.map(event->localPos()).toPoint(), event->screenPos().toPoint(), deltaX, deltaY, 0.0f, clickCount, modifiers, timestamp);
}
-WebWheelEvent WebEventFactory::createWebWheelEvent(QWheelEvent* e)
+WebWheelEvent WebEventFactory::createWebWheelEvent(QWheelEvent* e, const QTransform& fromItemTransform)
{
float deltaX = 0;
float deltaY = 0;
@@ -151,7 +152,7 @@ WebWheelEvent WebEventFactory::createWebWheelEvent(QWheelEvent* e)
deltaX *= (fullTick) ? QApplication::wheelScrollLines() * cDefaultQtScrollStep : 1;
deltaY *= (fullTick) ? QApplication::wheelScrollLines() * cDefaultQtScrollStep : 1;
- return WebWheelEvent(WebEvent::Wheel, e->posF().toPoint(), e->globalPosF().toPoint(), FloatSize(deltaX, deltaY), FloatSize(wheelTicksX, wheelTicksY), granularity, modifiers, timestamp);
+ return WebWheelEvent(WebEvent::Wheel, fromItemTransform.map(e->posF()).toPoint(), e->globalPosF().toPoint(), FloatSize(deltaX, deltaY), FloatSize(wheelTicksX, wheelTicksY), granularity, modifiers, timestamp);
}
WebKeyboardEvent WebEventFactory::createWebKeyboardEvent(QKeyEvent* event)
@@ -174,7 +175,7 @@ WebKeyboardEvent WebEventFactory::createWebKeyboardEvent(QKeyEvent* event)
}
#if ENABLE(TOUCH_EVENTS)
-WebTouchEvent WebEventFactory::createWebTouchEvent(const QTouchEvent* event)
+WebTouchEvent WebEventFactory::createWebTouchEvent(const QTouchEvent* event, const QTransform& fromItemTransform)
{
WebEvent::Type type = webEventTypeForEvent(event);
WebPlatformTouchPoint::TouchPointState state = static_cast<WebPlatformTouchPoint::TouchPointState>(0);
@@ -184,10 +185,11 @@ WebTouchEvent WebEventFactory::createWebTouchEvent(const QTouchEvent* event)
const QList<QTouchEvent::TouchPoint>& points = event->touchPoints();
- Vector<WebPlatformTouchPoint> m_touchPoints;
+ Vector<WebPlatformTouchPoint, 6> m_touchPoints;
for (int i = 0; i < points.count(); ++i) {
- id = static_cast<unsigned>(points.at(i).id());
- switch (points.at(i).state()) {
+ const QTouchEvent::TouchPoint& touchPoint = points.at(i);
+ id = static_cast<unsigned>(touchPoint.id());
+ switch (touchPoint.state()) {
case Qt::TouchPointReleased:
state = WebPlatformTouchPoint::TouchReleased;
break;
@@ -205,7 +207,7 @@ WebTouchEvent WebEventFactory::createWebTouchEvent(const QTouchEvent* event)
break;
}
- m_touchPoints.append(WebPlatformTouchPoint(id, state, points.at(i).screenPos().toPoint(), points.at(i).pos().toPoint()));
+ m_touchPoints.append(WebPlatformTouchPoint(id, state, touchPoint.screenPos().toPoint(), fromItemTransform.map(touchPoint.pos()).toPoint()));
}
return WebTouchEvent(type, m_touchPoints, modifiers, timestamp);
diff --git a/Source/WebKit2/Shared/qt/WebEventFactoryQt.h b/Source/WebKit2/Shared/qt/WebEventFactoryQt.h
index 4ce648e26..deecc25d4 100644
--- a/Source/WebKit2/Shared/qt/WebEventFactoryQt.h
+++ b/Source/WebKit2/Shared/qt/WebEventFactoryQt.h
@@ -41,11 +41,11 @@ namespace WebKit {
class WebEventFactory {
public:
- static WebMouseEvent createWebMouseEvent(QMouseEvent*, int eventClickCount);
- static WebWheelEvent createWebWheelEvent(QWheelEvent*);
+ static WebMouseEvent createWebMouseEvent(QMouseEvent*, const QTransform& fromItemTransform, int eventClickCount);
+ static WebWheelEvent createWebWheelEvent(QWheelEvent*, const QTransform& fromItemTransform);
static WebKeyboardEvent createWebKeyboardEvent(QKeyEvent*);
#if ENABLE(TOUCH_EVENTS)
- static WebTouchEvent createWebTouchEvent(const QTouchEvent*);
+ static WebTouchEvent createWebTouchEvent(const QTouchEvent*, const QTransform& fromItemTransform);
#endif
};
diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp
index c5bca11b4..592f58034 100644
--- a/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp
+++ b/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp
@@ -348,20 +348,17 @@ static void _ewk_view_smart_calculate(Evas_Object* ewkView)
smartData->changed.any = false;
evas_object_geometry_get(ewkView, &x, &y, &width, &height);
- Evas_Object* clip = evas_object_clip_get(smartData->image);
if (smartData->changed.size) {
if (priv->pageClient->page()->drawingArea())
priv->pageClient->page()->drawingArea()->setSize(IntSize(width, height), IntSize());
smartData->view.w = width;
smartData->view.h = height;
- evas_object_resize(clip, width, height);
smartData->changed.size = false;
}
if (smartData->changed.position) {
evas_object_move(smartData->image, x, y);
- evas_object_move(clip, x, y);
smartData->view.x = x;
smartData->view.y = y;
smartData->changed.position = false;
@@ -385,6 +382,33 @@ static void _ewk_view_smart_hide(Evas_Object* ewkView)
evas_object_hide(smartData->image);
}
+static void _ewk_view_smart_color_set(Evas_Object* ewkView, int red, int green, int blue, int alpha)
+{
+ EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
+ EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
+
+ if (alpha < 0)
+ alpha = 0;
+ else if (alpha > 255)
+ alpha = 255;
+
+#define CHECK_COLOR(color, alpha) \
+ if (color < 0) \
+ color = 0; \
+ else if (color > alpha) \
+ color = alpha;
+ CHECK_COLOR(red, alpha);
+ CHECK_COLOR(green, alpha);
+ CHECK_COLOR(blue, alpha);
+#undef CHECK_COLOR
+
+ evas_object_image_alpha_set(smartData->image, alpha < 255);
+ priv->pageClient->page()->setDrawsBackground(red || green || blue);
+ priv->pageClient->page()->setDrawsTransparentBackground(alpha < 255);
+
+ g_parentSmartClass.color_set(ewkView, red, green, blue, alpha);
+}
+
Eina_Bool ewk_view_smart_class_init(Ewk_View_Smart_Class* api)
{
EINA_SAFETY_ON_NULL_RETURN_VAL(api, false);
@@ -407,6 +431,7 @@ Eina_Bool ewk_view_smart_class_init(Ewk_View_Smart_Class* api)
api->sc.resize = _ewk_view_smart_resize;
api->sc.show = _ewk_view_smart_show;
api->sc.hide = _ewk_view_smart_hide;
+ api->sc.color_set = _ewk_view_smart_color_set;
api->sc.calculate = _ewk_view_smart_calculate;
api->sc.data = EWK_VIEW_TYPE_STR; // It is used by type checking.
diff --git a/Source/WebKit2/UIProcess/API/mac/PageClientImpl.h b/Source/WebKit2/UIProcess/API/mac/PageClientImpl.h
index 8e3c5b7aa..953c378e1 100644
--- a/Source/WebKit2/UIProcess/API/mac/PageClientImpl.h
+++ b/Source/WebKit2/UIProcess/API/mac/PageClientImpl.h
@@ -82,7 +82,10 @@ private:
virtual WebCore::FloatRect convertToUserSpace(const WebCore::FloatRect&);
virtual WebCore::IntPoint screenToWindow(const WebCore::IntPoint&);
virtual WebCore::IntRect windowToScreen(const WebCore::IntRect&);
-
+
+#if ENABLE(GESTURE_EVENTS)
+ virtual void doneWithGestureEvent(const WebGestureEvent&, bool wasEventHandled);
+#endif
virtual void doneWithKeyEvent(const NativeWebKeyboardEvent&, bool wasEventHandled);
virtual PassRefPtr<WebPopupMenuProxy> createPopupMenuProxy(WebPageProxy*);
diff --git a/Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm b/Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm
index c1ae66643..35e0e2e70 100644
--- a/Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm
+++ b/Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm
@@ -298,6 +298,13 @@ IntRect PageClientImpl::windowToScreen(const IntRect& rect)
return enclosingIntRect(tempRect);
}
+#if ENABLE(GESTURE_EVENTS)
+void PageClientImpl::doneWithGestureEvent(const WebGestureEvent&, bool wasEventHandled)
+{
+ notImplemented();
+}
+#endif
+
void PageClientImpl::doneWithKeyEvent(const NativeWebKeyboardEvent& event, bool eventWasHandled)
{
[m_wkView _doneWithKeyEvent:event.nativeEvent() eventWasHandled:eventWasHandled];
diff --git a/Source/WebKit2/UIProcess/API/mac/WKPrintingView.h b/Source/WebKit2/UIProcess/API/mac/WKPrintingView.h
index 87d81f4d3..cd3b1f984 100644
--- a/Source/WebKit2/UIProcess/API/mac/WKPrintingView.h
+++ b/Source/WebKit2/UIProcess/API/mac/WKPrintingView.h
@@ -27,6 +27,7 @@
#import <wtf/RetainPtr.h>
@class WKPrintingViewData;
+@class PDFDocument;
namespace WebKit {
class WebFrameProxy;
@@ -43,7 +44,7 @@ namespace WebKit {
HashMap<WebCore::IntRect, Vector<uint8_t> > _pagePreviews;
Vector<uint8_t> _printedPagesData;
- RetainPtr<CGPDFDocumentRef> _printedPagesPDFDocument;
+ RetainPtr<PDFDocument> _printedPagesPDFDocument;
uint64_t _expectedComputedPagesCallback;
HashMap<uint64_t, WebCore::IntRect> _expectedPreviewCallbacks;
diff --git a/Source/WebKit2/UIProcess/API/mac/WKPrintingView.mm b/Source/WebKit2/UIProcess/API/mac/WKPrintingView.mm
index 14fe79add..13aefb82b 100644
--- a/Source/WebKit2/UIProcess/API/mac/WKPrintingView.mm
+++ b/Source/WebKit2/UIProcess/API/mac/WKPrintingView.mm
@@ -30,6 +30,8 @@
#import "PrintInfo.h"
#import "WebData.h"
#import "WebPageProxy.h"
+#import <PDFKit/PDFKit.h>
+#import <WebCore/WebCoreObjCExtras.h>
#import <wtf/MainThread.h>
using namespace WebKit;
@@ -56,6 +58,14 @@ static BOOL isForcingPreviewUpdate;
return self;
}
+- (void)dealloc
+{
+ if (WebCoreObjCScheduleDeallocateOnMainThread([WKPrintingView class], self))
+ return;
+
+ [super dealloc];
+}
+
- (BOOL)isFlipped
{
return YES;
@@ -110,6 +120,8 @@ static BOOL isForcingPreviewUpdate;
- (void)_adjustPrintingMarginsForHeaderAndFooter
{
+ ASSERT(isMainThread()); // This funciton calls the client, which should only be done on main thread.
+
NSPrintInfo *info = [_printOperation printInfo];
NSMutableDictionary *infoDictionary = [info dictionary];
@@ -364,7 +376,7 @@ static void prepareDataForPrintingOnSecondaryThread(void* untypedContext)
[self _suspendAutodisplay];
- [self _adjustPrintingMarginsForHeaderAndFooter];
+ [self performSelectorOnMainThread:@selector(_adjustPrintingMarginsForHeaderAndFooter) withObject:nil waitUntilDone:YES];
if ([self _hasPageRects])
*range = NSMakeRange(1, _printingPageRects.size());
@@ -399,16 +411,45 @@ static void prepareDataForPrintingOnSecondaryThread(void* untypedContext)
return 0; // Invalid page number.
}
-- (void)_drawPDFDocument:(CGPDFDocumentRef)pdfDocument page:(unsigned)page atPoint:(NSPoint)point
+static NSString *pdfKitFrameworkPath()
+{
+ NSString *systemLibraryPath = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSSystemDomainMask, NO) objectAtIndex:0];
+ return [systemLibraryPath stringByAppendingPathComponent:@"Frameworks/Quartz.framework/Frameworks/PDFKit.framework"];
+}
+
+static Class classFromPDFKit(NSString *className)
+{
+ static NSBundle *pdfKitBundle = [NSBundle bundleWithPath:pdfKitFrameworkPath()];
+ [pdfKitBundle load];
+ return [pdfKitBundle classNamed:className];
+}
+
+static Class pdfAnnotationLinkClass()
+{
+ static Class pdfAnnotationLinkClass = classFromPDFKit(@"PDFAnnotationLink");
+ ASSERT(pdfAnnotationLinkClass);
+ return pdfAnnotationLinkClass;
+}
+
+static Class pdfDocumentClass()
+{
+ static Class pdfDocumentClass = classFromPDFKit(@"PDFDocument");
+ ASSERT(pdfDocumentClass);
+ return pdfDocumentClass;
+}
+
+- (void)_drawPDFDocument:(PDFDocument *)pdfDocument page:(unsigned)page atPoint:(NSPoint)point
{
if (!pdfDocument) {
LOG_ERROR("Couldn't create a PDF document with data passed for preview");
return;
}
- CGPDFPageRef pdfPage = CGPDFDocumentGetPage(pdfDocument, page);
- if (!pdfPage) {
- LOG_ERROR("Preview data doesn't have page %d", page);
+ PDFPage *pdfPage;
+ @try {
+ pdfPage = [pdfDocument pageAtIndex:page];
+ } @catch (id exception) {
+ LOG_ERROR("Preview data doesn't have page %d: %@", page, exception);
return;
}
@@ -418,8 +459,25 @@ static void prepareDataForPrintingOnSecondaryThread(void* untypedContext)
CGContextSaveGState(context);
CGContextTranslateCTM(context, point.x, point.y);
CGContextScaleCTM(context, _totalScaleFactorForPrinting, -_totalScaleFactorForPrinting);
- CGContextTranslateCTM(context, 0, -CGPDFPageGetBoxRect(pdfPage, kCGPDFMediaBox).size.height);
- CGContextDrawPDFPage(context, pdfPage);
+ CGContextTranslateCTM(context, 0, -[pdfPage boundsForBox:kPDFDisplayBoxMediaBox].size.height);
+ [pdfPage drawWithBox:kPDFDisplayBoxMediaBox];
+
+ CGAffineTransform transform = CGContextGetCTM(context);
+
+ for (PDFAnnotation *annotation in [pdfPage annotations]) {
+ if (![annotation isKindOfClass:pdfAnnotationLinkClass()])
+ continue;
+
+ PDFAnnotationLink *linkAnnotation = (PDFAnnotationLink *)annotation;
+ NSURL *url = [linkAnnotation URL];
+ if (!url)
+ continue;
+
+ CGRect urlRect = NSRectToCGRect([linkAnnotation bounds]);
+ CGRect transformedRect = CGRectApplyAffineTransform(urlRect, transform);
+ CGPDFContextSetURLForRect(context, (CFURLRef)url, transformedRect);
+ }
+
CGContextRestoreGState(context);
}
@@ -462,11 +520,11 @@ static void prepareDataForPrintingOnSecondaryThread(void* untypedContext)
return;
}
- const Vector<uint8_t>& pdfData = pagePreviewIterator->second;
- RetainPtr<CGDataProviderRef> pdfDataProvider(AdoptCF, CGDataProviderCreateWithData(0, pdfData.data(), pdfData.size(), 0));
- RetainPtr<CGPDFDocumentRef> pdfDocument(AdoptCF, CGPDFDocumentCreateWithProvider(pdfDataProvider.get()));
+ const Vector<uint8_t>& pdfDataBytes = pagePreviewIterator->second;
+ RetainPtr<NSData> pdfData(AdoptNS, [[NSData alloc] initWithBytes:pdfDataBytes.data() length:pdfDataBytes.size()]);
+ RetainPtr<PDFDocument> pdfDocument(AdoptNS, [[pdfDocumentClass() alloc] initWithData:pdfData.get()]);
- [self _drawPDFDocument:pdfDocument.get() page:1 atPoint:NSMakePoint(nsRect.origin.x, nsRect.origin.y)];
+ [self _drawPDFDocument:pdfDocument.get() page:0 atPoint:NSMakePoint(nsRect.origin.x, nsRect.origin.y)];
}
- (void)drawRect:(NSRect)nsRect
@@ -487,11 +545,11 @@ static void prepareDataForPrintingOnSecondaryThread(void* untypedContext)
ASSERT(!_printedPagesData.isEmpty()); // Prepared by knowsPageRange:
if (!_printedPagesPDFDocument) {
- RetainPtr<CGDataProviderRef> pdfDataProvider(AdoptCF, CGDataProviderCreateWithData(0, _printedPagesData.data(), _printedPagesData.size(), 0));
- _printedPagesPDFDocument.adoptCF(CGPDFDocumentCreateWithProvider(pdfDataProvider.get()));
+ RetainPtr<NSData> pdfData(AdoptNS, [[NSData alloc] initWithBytes:_printedPagesData.data() length:_printedPagesData.size()]);
+ _printedPagesPDFDocument.adoptNS([[pdfDocumentClass() alloc] initWithData:pdfData.get()]);
}
- unsigned printedPageNumber = [self _pageForRect:nsRect] - [self _firstPrintedPageNumber] + 1;
+ unsigned printedPageNumber = [self _pageForRect:nsRect] - [self _firstPrintedPageNumber];
[self _drawPDFDocument:_printedPagesPDFDocument.get() page:printedPageNumber atPoint:NSMakePoint(nsRect.origin.x, nsRect.origin.y)];
}
diff --git a/Source/WebKit2/UIProcess/API/mac/WKView.mm b/Source/WebKit2/UIProcess/API/mac/WKView.mm
index 0bb174337..1e2509ba6 100644
--- a/Source/WebKit2/UIProcess/API/mac/WKView.mm
+++ b/Source/WebKit2/UIProcess/API/mac/WKView.mm
@@ -225,7 +225,6 @@ struct WKViewInterpretKeyEventsParameters {
- (void)dealloc
{
_data->_page->close();
- [NSEvent removeMonitor:_data->_flagsChangedEventMonitor];
ASSERT(!_data->_inSecureInputState);
@@ -1823,12 +1822,20 @@ static NSString * const backingPropertyOldScaleFactorKey = @"NSBackingPropertyOl
_data->_page->viewStateDidChange(WebPageProxy::ViewIsVisible | WebPageProxy::ViewIsInWindow);
[self _updateWindowVisibility];
[self _updateWindowAndViewFrames];
-
- [self _accessibilityRegisterUIProcessTokens];
+
+ _data->_flagsChangedEventMonitor = [NSEvent addLocalMonitorForEventsMatchingMask:NSFlagsChangedMask handler:^(NSEvent *flagsChangedEvent) {
+ [self _postFakeMouseMovedEventForFlagsChangedEvent:flagsChangedEvent];
+ return flagsChangedEvent;
+ }];
+
+ [self _accessibilityRegisterUIProcessTokens];
} else {
_data->_page->viewStateDidChange(WebPageProxy::ViewIsVisible);
_data->_page->viewStateDidChange(WebPageProxy::ViewWindowIsActive | WebPageProxy::ViewIsInWindow);
+ [NSEvent removeMonitor:_data->_flagsChangedEventMonitor];
+ _data->_flagsChangedEventMonitor = nil;
+
#if ENABLE(GESTURE_EVENTS)
if (_data->_endGestureMonitor) {
[NSEvent removeMonitor:_data->_endGestureMonitor];
@@ -2703,10 +2710,6 @@ static void drawPageBackground(CGContextRef context, WebPageProxy* page, const I
#endif
_data->_mouseDownEvent = nil;
_data->_ignoringMouseDraggedEvents = NO;
- _data->_flagsChangedEventMonitor = [NSEvent addLocalMonitorForEventsMatchingMask:NSFlagsChangedMask handler:^(NSEvent *flagsChangedEvent) {
- [self _postFakeMouseMovedEventForFlagsChangedEvent:flagsChangedEvent];
- return flagsChangedEvent;
- }];
[self _registerDraggedTypes];
diff --git a/Source/WebKit2/UIProcess/API/qt/qquickwebpage.cpp b/Source/WebKit2/UIProcess/API/qt/qquickwebpage.cpp
index 7d3b2d6a6..b5db3938f 100644
--- a/Source/WebKit2/UIProcess/API/qt/qquickwebpage.cpp
+++ b/Source/WebKit2/UIProcess/API/qt/qquickwebpage.cpp
@@ -25,6 +25,7 @@
#include "QtWebPageEventHandler.h"
#include "TransformationMatrix.h"
#include "qquickwebpage_p_p.h"
+#include "qquickwebview_p.h"
#include <QtQuick/QQuickCanvas>
#include <QtQuick/QSGGeometryNode>
#include <QtQuick/QSGMaterial>
@@ -50,112 +51,15 @@ QtSGUpdateQueue *QQuickWebPage::sceneGraphUpdateQueue() const
return &d->sgUpdateQueue;
}
-void QQuickWebPage::keyPressEvent(QKeyEvent* event)
-{
- this->event(event);
-}
-
-void QQuickWebPage::keyReleaseEvent(QKeyEvent* event)
-{
- this->event(event);
-}
-
-void QQuickWebPage::inputMethodEvent(QInputMethodEvent* event)
-{
- this->event(event);
-}
-
-void QQuickWebPage::focusInEvent(QFocusEvent* event)
-{
- this->event(event);
-}
-
-void QQuickWebPage::focusOutEvent(QFocusEvent* event)
-{
- this->event(event);
-}
-
-void QQuickWebPage::mousePressEvent(QMouseEvent* event)
-{
- forceActiveFocus();
- this->event(event);
-}
-
-void QQuickWebPage::mouseMoveEvent(QMouseEvent* event)
-{
- this->event(event);
-}
-
-void QQuickWebPage::mouseReleaseEvent(QMouseEvent* event)
-{
- this->event(event);
-}
-
-void QQuickWebPage::mouseDoubleClickEvent(QMouseEvent* event)
-{
- this->event(event);
-}
-
-void QQuickWebPage::wheelEvent(QWheelEvent* event)
-{
- this->event(event);
-}
-
-void QQuickWebPage::hoverEnterEvent(QHoverEvent* event)
-{
- this->event(event);
-}
-
-void QQuickWebPage::hoverMoveEvent(QHoverEvent* event)
-{
- this->event(event);
-}
-
-void QQuickWebPage::hoverLeaveEvent(QHoverEvent* event)
-{
- this->event(event);
-}
-
-void QQuickWebPage::dragMoveEvent(QDragMoveEvent* event)
-{
- this->event(event);
-}
-
-void QQuickWebPage::dragEnterEvent(QDragEnterEvent* event)
-{
- this->event(event);
-}
-
-void QQuickWebPage::dragLeaveEvent(QDragLeaveEvent* event)
-{
- this->event(event);
-}
-
-void QQuickWebPage::dropEvent(QDropEvent* event)
-{
- this->event(event);
-}
-
void QQuickWebPage::geometryChanged(const QRectF& newGeometry, const QRectF& oldGeometry)
{
QQuickItem::geometryChanged(newGeometry, oldGeometry);
- if (newGeometry.size() != oldGeometry.size())
- d->setDrawingAreaSize(newGeometry.size().toSize());
-}
-bool QQuickWebPage::event(QEvent* ev)
-{
- if (d->eventHandler.data()->handleEvent(ev))
- return true;
- if (ev->type() == QEvent::InputMethod)
- return false; // This is necessary to avoid an endless loop in connection with QQuickItem::event().
- return QQuickItem::event(ev);
-}
+ if (!d->useTraditionalDesktopBehaviour)
+ return;
-void QQuickWebPage::touchEvent(QTouchEvent* event)
-{
- forceActiveFocus();
- this->event(event);
+ if (newGeometry.size() != oldGeometry.size())
+ d->setDrawingAreaSize(newGeometry.size().toSize());
}
QQuickWebPagePrivate::QQuickWebPagePrivate(QQuickWebPage* q)
@@ -164,6 +68,8 @@ QQuickWebPagePrivate::QQuickWebPagePrivate(QQuickWebPage* q)
, sgUpdateQueue(q)
, paintingIsInitialized(false)
, m_paintNode(0)
+ , contentScale(1)
+ , useTraditionalDesktopBehaviour(false)
{
}
@@ -199,6 +105,7 @@ void QQuickWebPagePrivate::paintToCurrentGLContext()
return;
QTransform transform = q->itemTransform(0, 0);
+ transform.scale(contentScale, contentScale);
float opacity = computeEffectiveOpacity(q);
QRectF clipRect = q->parentItem()->mapRectToScene(q->parentItem()->boundingRect());
@@ -322,6 +229,65 @@ QSGNode* QQuickWebPage::updatePaintNode(QSGNode* oldNode, UpdatePaintNodeData*)
return proxyNode;
}
+bool QQuickWebPage::usesTraditionalDesktopBehaviour() const
+{
+ return d->useTraditionalDesktopBehaviour;
+}
+
+void QQuickWebPage::setUsesTraditionalDesktopBehaviour(bool enable)
+{
+ d->useTraditionalDesktopBehaviour = enable;
+}
+
+QtWebPageEventHandler* QQuickWebPage::eventHandler() const
+{
+ return d->eventHandler.data();
+}
+
+void QQuickWebPage::setContentSize(const QSizeF& size)
+{
+ if (size.isEmpty() || d->contentSize == size)
+ return;
+
+ d->contentSize = size;
+ d->updateSize();
+ d->setDrawingAreaSize(d->contentSize.toSize());
+}
+
+const QSizeF& QQuickWebPage::contentSize() const
+{
+ return d->contentSize;
+}
+
+void QQuickWebPage::setContentScale(qreal scale)
+{
+ ASSERT(scale > 0);
+ d->contentScale = scale;
+ d->updateSize();
+}
+
+qreal QQuickWebPage::contentScale() const
+{
+ ASSERT(d->contentScale > 0);
+ return d->contentScale;
+}
+
+QTransform QQuickWebPage::transformFromItem() const
+{
+ return transformToItem().inverted();
+}
+
+QTransform QQuickWebPage::transformToItem() const
+{
+ return QTransform(d->contentScale, 0, 0, 0, d->contentScale, 0, x(), y(), 1);
+}
+
+void QQuickWebPagePrivate::updateSize()
+{
+ QSizeF scaledSize = contentSize * contentScale;
+ q->setSize(scaledSize);
+}
+
void QQuickWebPagePrivate::resetPaintNode()
{
m_paintNode = 0;
diff --git a/Source/WebKit2/UIProcess/API/qt/qquickwebpage_p.h b/Source/WebKit2/UIProcess/API/qt/qquickwebpage_p.h
index f7c35064e..f797810f6 100644
--- a/Source/WebKit2/UIProcess/API/qt/qquickwebpage_p.h
+++ b/Source/WebKit2/UIProcess/API/qt/qquickwebpage_p.h
@@ -27,6 +27,7 @@
#include <QtQuick/QQuickItem>
class QQuickWebPagePrivate;
+class QtWebPageEventHandler;
class QWebPreferences;
namespace WebKit {
@@ -39,29 +40,23 @@ public:
QQuickWebPage(QQuickItem* parent = 0);
virtual ~QQuickWebPage();
+ void setContentSize(const QSizeF& size);
+ const QSizeF& contentSize() const;
+ void setContentScale(qreal);
+ qreal contentScale() const;
+
+ QTransform transformFromItem() const;
+ QTransform transformToItem() const;
+
+ bool usesTraditionalDesktopBehaviour() const;
+ void setUsesTraditionalDesktopBehaviour(bool enable);
+
+ QtWebPageEventHandler* eventHandler() const;
+
// Internal. To be removed soon.
WebKit::QtSGUpdateQueue* sceneGraphUpdateQueue() const;
protected:
- virtual void keyPressEvent(QKeyEvent*);
- virtual void keyReleaseEvent(QKeyEvent*);
- virtual void inputMethodEvent(QInputMethodEvent*);
- virtual void focusInEvent(QFocusEvent*);
- virtual void focusOutEvent(QFocusEvent*);
- virtual void mousePressEvent(QMouseEvent*);
- virtual void mouseMoveEvent(QMouseEvent*);
- virtual void mouseReleaseEvent(QMouseEvent *);
- virtual void mouseDoubleClickEvent(QMouseEvent*);
- virtual void wheelEvent(QWheelEvent*);
- virtual void hoverEnterEvent(QHoverEvent*);
- virtual void hoverMoveEvent(QHoverEvent*);
- virtual void hoverLeaveEvent(QHoverEvent*);
- virtual void dragMoveEvent(QDragMoveEvent*);
- virtual void dragEnterEvent(QDragEnterEvent*);
- virtual void dragLeaveEvent(QDragLeaveEvent*);
- virtual void dropEvent(QDropEvent*);
- virtual void touchEvent(QTouchEvent*);
- virtual bool event(QEvent*);
virtual void geometryChanged(const QRectF&, const QRectF&);
virtual QSGNode* updatePaintNode(QSGNode*, UpdatePaintNodeData*);
diff --git a/Source/WebKit2/UIProcess/API/qt/qquickwebpage_p_p.h b/Source/WebKit2/UIProcess/API/qt/qquickwebpage_p_p.h
index 7224f3975..3b58eb510 100644
--- a/Source/WebKit2/UIProcess/API/qt/qquickwebpage_p_p.h
+++ b/Source/WebKit2/UIProcess/API/qt/qquickwebpage_p_p.h
@@ -23,6 +23,7 @@
#include "QtSGUpdateQueue.h"
#include "qquickwebpage_p.h"
+#include <QTransform>
namespace WebKit {
class WebPageProxy;
@@ -39,6 +40,8 @@ public:
void initialize(WebKit::WebPageProxy*);
void setDrawingAreaSize(const QSize&);
+ void updateSize();
+
void paintToCurrentGLContext();
void resetPaintNode();
@@ -48,6 +51,10 @@ public:
WebKit::QtSGUpdateQueue sgUpdateQueue;
bool paintingIsInitialized;
QSGNode* m_paintNode;
+
+ QSizeF contentSize;
+ qreal contentScale;
+ bool useTraditionalDesktopBehaviour;
};
#endif // qquickwebpage_p_p_h
diff --git a/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp b/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp
index 264cbb044..187b9b4ca 100644
--- a/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp
+++ b/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp
@@ -113,8 +113,6 @@ void QQuickWebViewPrivate::enableMouseEvents()
Q_Q(QQuickWebView);
q->setAcceptedMouseButtons(Qt::MouseButtonMask);
q->setAcceptHoverEvents(true);
- pageView->setAcceptedMouseButtons(Qt::MouseButtonMask);
- pageView->setAcceptHoverEvents(true);
}
void QQuickWebViewPrivate::disableMouseEvents()
@@ -122,8 +120,6 @@ void QQuickWebViewPrivate::disableMouseEvents()
Q_Q(QQuickWebView);
q->setAcceptedMouseButtons(Qt::NoButton);
q->setAcceptHoverEvents(false);
- pageView->setAcceptedMouseButtons(Qt::NoButton);
- pageView->setAcceptHoverEvents(false);
}
void QQuickWebViewPrivate::initializeDesktop(QQuickWebView* viewport)
@@ -154,7 +150,7 @@ void QQuickWebViewPrivate::loadDidCommit()
// Due to entering provisional load before committing, we
// might actually be suspended here.
- if (useTraditionalDesktopBehaviour)
+ if (pageView->usesTraditionalDesktopBehaviour())
return;
isTransitioningToNewPage = true;
@@ -162,7 +158,7 @@ void QQuickWebViewPrivate::loadDidCommit()
void QQuickWebViewPrivate::didFinishFirstNonEmptyLayout()
{
- if (useTraditionalDesktopBehaviour)
+ if (pageView->usesTraditionalDesktopBehaviour())
return;
if (!pageIsSuspended) {
@@ -200,7 +196,7 @@ void QQuickWebViewPrivate::_q_resume()
void QQuickWebViewPrivate::didChangeContentsSize(const QSize& newSize)
{
Q_Q(QQuickWebView);
- if (useTraditionalDesktopBehaviour)
+ if (pageView->usesTraditionalDesktopBehaviour())
return;
// FIXME: We probably want to handle suspend here as well
@@ -209,15 +205,13 @@ void QQuickWebViewPrivate::didChangeContentsSize(const QSize& newSize)
return;
}
- pageView->setWidth(newSize.width());
- pageView->setHeight(newSize.height());
-
+ pageView->setContentSize(newSize);
q->m_experimental->viewportInfo()->didUpdateContentsSize();
}
void QQuickWebViewPrivate::didChangeViewportProperties(const WebCore::ViewportArguments& args)
{
- if (useTraditionalDesktopBehaviour)
+ if (pageView->usesTraditionalDesktopBehaviour())
return;
viewportArguments = args;
@@ -235,7 +229,7 @@ void QQuickWebViewPrivate::didChangeBackForwardList()
void QQuickWebViewPrivate::pageDidRequestScroll(const QPoint& pos)
{
- if (useTraditionalDesktopBehaviour)
+ if (pageView->usesTraditionalDesktopBehaviour())
return;
if (isTransitioningToNewPage) {
@@ -287,10 +281,10 @@ void QQuickWebViewPrivate::updateVisibleContentRectAndScale()
return;
Q_Q(QQuickWebView);
- const QRectF visibleRectInPageViewCoordinates = q->mapRectToItem(pageView.data(), q->boundingRect()).intersected(pageView->boundingRect());
- float scale = pageView->scale();
+ const QRectF visibleRectInCSSCoordinates = q->mapRectToWebContent(q->boundingRect()).intersected(pageView->boundingRect());
+ float scale = pageView->contentScale();
- QRect alignedVisibleContentRect = visibleRectInPageViewCoordinates.toAlignedRect();
+ QRect alignedVisibleContentRect = visibleRectInCSSCoordinates.toAlignedRect();
drawingArea->setVisibleContentsRectAndScale(alignedVisibleContentRect, scale);
// FIXME: Once we support suspend and resume, this should be delayed until the page is active if the page is suspended.
@@ -345,8 +339,7 @@ void QQuickWebViewPrivate::PostTransitionState::apply()
p->interactionEngine->pagePositionRequest(position);
if (contentsSize.isValid()) {
- p->pageView->setWidth(contentsSize.width());
- p->pageView->setHeight(contentsSize.height());
+ p->pageView->setContentSize(contentsSize);
p->q_ptr->experimental()->viewportInfo()->didUpdateContentsSize();
}
@@ -502,9 +495,8 @@ void QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour(bool enable)
// Do not guard, testing for the same value, as we call this from the constructor.
webPageProxy->setUseFixedLayout(!enable);
-
- useTraditionalDesktopBehaviour = enable;
- if (useTraditionalDesktopBehaviour)
+ pageView->setUsesTraditionalDesktopBehaviour(enable);
+ if (enable)
initializeDesktop(q);
else
initializeTouch(q);
@@ -609,7 +601,7 @@ void QQuickWebViewExperimental::setUseTraditionalDesktopBehaviour(bool enable)
{
Q_D(QQuickWebView);
- if (enable == d->useTraditionalDesktopBehaviour)
+ if (enable == d->pageView->usesTraditionalDesktopBehaviour())
return;
d->setUseTraditionalDesktopBehaviour(enable);
@@ -697,7 +689,7 @@ void QQuickWebViewExperimental::setItemSelector(QDeclarativeComponent* itemSelec
bool QQuickWebViewExperimental::useTraditionalDesktopBehaviour() const
{
Q_D(const QQuickWebView);
- return d->useTraditionalDesktopBehaviour;
+ return d->pageView->usesTraditionalDesktopBehaviour();
}
QQuickUrlSchemeDelegate* QQuickWebViewExperimental::schemeDelegates_At(QDeclarativeListProperty<QQuickUrlSchemeDelegate>* property, int index)
@@ -895,6 +887,30 @@ bool QQuickWebView::canReload() const
return d->webPageProxy->backForwardList()->currentItem();
}
+QPointF QQuickWebView::mapToWebContent(const QPointF& pointInViewCoordinates) const
+{
+ Q_D(const QQuickWebView);
+ return d->pageView->transformFromItem().map(pointInViewCoordinates);
+}
+
+QRectF QQuickWebView::mapRectToWebContent(const QRectF& rectInViewCoordinates) const
+{
+ Q_D(const QQuickWebView);
+ return d->pageView->transformFromItem().mapRect(rectInViewCoordinates);
+}
+
+QPointF QQuickWebView::mapFromWebContent(const QPointF& pointInCSSCoordinates) const
+{
+ Q_D(const QQuickWebView);
+ return d->pageView->transformToItem().map(pointInCSSCoordinates);
+}
+
+QRectF QQuickWebView::mapRectFromWebContent(const QRectF& rectInCSSCoordinates) const
+{
+ Q_D(const QQuickWebView);
+ return d->pageView->transformToItem().mapRect(rectInCSSCoordinates);
+}
+
QString QQuickWebView::title() const
{
Q_D(const QQuickWebView);
@@ -948,7 +964,7 @@ void QQuickWebView::geometryChanged(const QRectF& newGeometry, const QRectF& old
Q_D(QQuickWebView);
QQuickItem::geometryChanged(newGeometry, oldGeometry);
if (newGeometry.size() != oldGeometry.size()) {
- if (d->useTraditionalDesktopBehaviour) {
+ if (d->pageView->usesTraditionalDesktopBehaviour()) {
d->pageView->setWidth(newGeometry.width());
d->pageView->setHeight(newGeometry.height());
} else
@@ -956,16 +972,130 @@ void QQuickWebView::geometryChanged(const QRectF& newGeometry, const QRectF& old
}
}
+void QQuickWebView::keyPressEvent(QKeyEvent* event)
+{
+ this->event(event);
+}
+
+void QQuickWebView::keyReleaseEvent(QKeyEvent* event)
+{
+ this->event(event);
+}
+
+void QQuickWebView::inputMethodEvent(QInputMethodEvent* event)
+{
+ this->event(event);
+}
+
void QQuickWebView::focusInEvent(QFocusEvent* event)
{
- Q_D(QQuickWebView);
- d->pageView->event(event);
+ this->event(event);
}
void QQuickWebView::focusOutEvent(QFocusEvent* event)
{
+ this->event(event);
+}
+
+void QQuickWebView::touchEvent(QTouchEvent* event)
+{
+ forceActiveFocus();
+ this->event(event);
+}
+
+void QQuickWebView::mousePressEvent(QMouseEvent* event)
+{
+ forceActiveFocus();
+ this->event(event);
+}
+
+void QQuickWebView::mouseMoveEvent(QMouseEvent* event)
+{
+ this->event(event);
+}
+
+void QQuickWebView::mouseReleaseEvent(QMouseEvent* event)
+{
+ this->event(event);
+}
+
+void QQuickWebView::mouseDoubleClickEvent(QMouseEvent* event)
+{
+ this->event(event);
+}
+
+void QQuickWebView::wheelEvent(QWheelEvent* event)
+{
+ this->event(event);
+}
+
+void QQuickWebView::hoverEnterEvent(QHoverEvent* event)
+{
+ this->event(event);
+}
+
+void QQuickWebView::hoverMoveEvent(QHoverEvent* event)
+{
+ this->event(event);
+}
+
+void QQuickWebView::hoverLeaveEvent(QHoverEvent* event)
+{
+ this->event(event);
+}
+
+void QQuickWebView::dragMoveEvent(QDragMoveEvent* event)
+{
+ this->event(event);
+}
+
+void QQuickWebView::dragEnterEvent(QDragEnterEvent* event)
+{
+ this->event(event);
+}
+
+void QQuickWebView::dragLeaveEvent(QDragLeaveEvent* event)
+{
+ this->event(event);
+}
+
+void QQuickWebView::dropEvent(QDropEvent* event)
+{
+ this->event(event);
+}
+
+bool QQuickWebView::event(QEvent* ev)
+{
Q_D(QQuickWebView);
- d->pageView->event(event);
+
+ switch (ev->type()) {
+ case QEvent::MouseMove:
+ case QEvent::MouseButtonPress:
+ case QEvent::MouseButtonRelease:
+ case QEvent::MouseButtonDblClick:
+ case QEvent::Wheel:
+ case QEvent::HoverLeave:
+ case QEvent::HoverEnter:
+ case QEvent::HoverMove:
+ case QEvent::DragEnter:
+ case QEvent::DragLeave:
+ case QEvent::DragMove:
+ case QEvent::Drop:
+ case QEvent::KeyPress:
+ case QEvent::KeyRelease:
+ case QEvent::FocusIn:
+ case QEvent::FocusOut:
+ case QEvent::TouchBegin:
+ case QEvent::TouchEnd:
+ case QEvent::TouchUpdate:
+ if (d->pageView->eventHandler()->handleEvent(ev))
+ return true;
+ }
+
+ if (ev->type() == QEvent::InputMethod)
+ return false; // This is necessary to avoid an endless loop in connection with QQuickItem::event().
+
+ return QQuickItem::event(ev);
}
WKPageRef QQuickWebView::pageRef() const
diff --git a/Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h b/Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h
index e5d3f1e5a..0fa0791cf 100644
--- a/Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h
+++ b/Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h
@@ -100,6 +100,11 @@ public:
virtual QVariant inputMethodQuery(Qt::InputMethodQuery property) const;
+ QPointF mapToWebContent(const QPointF&) const;
+ QRectF mapRectToWebContent(const QRectF&) const;
+ QPointF mapFromWebContent(const QPointF&) const;
+ QRectF mapRectFromWebContent(const QRectF&) const;
+
QQuickWebPage* page();
QQuickWebViewExperimental* experimental() const;
@@ -130,8 +135,26 @@ Q_SIGNALS:
protected:
virtual void geometryChanged(const QRectF&, const QRectF&);
+
+ virtual void keyPressEvent(QKeyEvent*);
+ virtual void keyReleaseEvent(QKeyEvent*);
+ virtual void inputMethodEvent(QInputMethodEvent*);
virtual void focusInEvent(QFocusEvent*);
virtual void focusOutEvent(QFocusEvent*);
+ virtual void touchEvent(QTouchEvent*);
+ virtual void mousePressEvent(QMouseEvent*);
+ virtual void mouseMoveEvent(QMouseEvent*);
+ virtual void mouseReleaseEvent(QMouseEvent *);
+ virtual void mouseDoubleClickEvent(QMouseEvent*);
+ virtual void wheelEvent(QWheelEvent*);
+ virtual void hoverEnterEvent(QHoverEvent*);
+ virtual void hoverMoveEvent(QHoverEvent*);
+ virtual void hoverLeaveEvent(QHoverEvent*);
+ virtual void dragMoveEvent(QDragMoveEvent*);
+ virtual void dragEnterEvent(QDragEnterEvent*);
+ virtual void dragLeaveEvent(QDragLeaveEvent*);
+ virtual void dropEvent(QDropEvent*);
+ virtual bool event(QEvent*);
private:
Q_DECLARE_PRIVATE(QQuickWebView)
diff --git a/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h b/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h
index 3b999282b..4be71707c 100644
--- a/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h
+++ b/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h
@@ -159,8 +159,6 @@ private:
bool isTransitioningToNewPage;
bool pageIsSuspended;
-
- bool useTraditionalDesktopBehaviour;
bool m_navigatorQtObjectEnabled;
QUrl m_iconURL;
};
diff --git a/Source/WebKit2/UIProcess/API/qt/qwebviewportinfo.cpp b/Source/WebKit2/UIProcess/API/qt/qwebviewportinfo.cpp
index 8b6fb418b..735196f86 100644
--- a/Source/WebKit2/UIProcess/API/qt/qwebviewportinfo.cpp
+++ b/Source/WebKit2/UIProcess/API/qt/qwebviewportinfo.cpp
@@ -38,7 +38,7 @@ QWebViewportInfo::~QWebViewportInfo()
QSize QWebViewportInfo::contentsSize() const
{
- return QSize(m_webViewPrivate->pageView->width(), m_webViewPrivate->pageView->height());
+ return QSize(m_webViewPrivate->pageView->contentSize().toSize());
}
QVariant QWebViewportInfo::currentScale() const
diff --git a/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml b/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml
index 0554abb2d..8bec01418 100644
--- a/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml
+++ b/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml
@@ -26,6 +26,66 @@ Item {
}
SignalSpy {
+ id: titleSpy
+ target: webView
+ signalName: "titleChanged"
+ }
+
+ SignalSpy {
+ id: standardFontFamilySpy
+ target: webView.experimental.preferences
+ signalName: "standardFontFamilyChanged"
+ }
+
+ SignalSpy {
+ id: fixedFontFamilySpy
+ target: webView.experimental.preferences
+ signalName: "fixedFontFamilyChanged"
+ }
+
+ SignalSpy {
+ id: serifFontFamilySpy
+ target: webView.experimental.preferences
+ signalName: "serifFontFamilyChanged"
+ }
+
+ SignalSpy {
+ id: sansSerifFontFamilySpy
+ target: webView.experimental.preferences
+ signalName: "sansSerifFontFamilyChanged"
+ }
+
+ SignalSpy {
+ id: cursiveFontFamilySpy
+ target: webView.experimental.preferences
+ signalName: "cursiveFontFamilyChanged"
+ }
+
+ SignalSpy {
+ id: fantasyFontFamilySpy
+ target: webView.experimental.preferences
+ signalName: "fantasyFontFamilyChanged"
+ }
+
+ SignalSpy {
+ id: minimumFontSizeSpy
+ target: webView.experimental.preferences
+ signalName: "minimumFontSizeChanged"
+ }
+
+ SignalSpy {
+ id: defaultFontSizeSpy
+ target: webView.experimental.preferences
+ signalName: "defaultFontSizeChanged"
+ }
+
+ SignalSpy {
+ id: defaultFixedFontSizeSpy
+ target: webView.experimental.preferences
+ signalName: "defaultFixedFontSizeChanged"
+ }
+
+ SignalSpy {
id: otherSpy
target: webView2
signalName: "loadSucceeded"
@@ -34,11 +94,65 @@ Item {
TestCase {
name: "WebViewPreferences"
+ property bool shouldSetupFonts: true
+ property string defaultStandardFontFamily
+ property string defaultFixedFontFamily
+ property string defaultSerifFontFamily
+ property string defaultSansSerifFontFamily
+ property string defaultCursiveFontFamily
+ property string defaultFantasyFontFamily
+ property int defaultMinimumFontSize
+ property int defaultFontSize
+ property int defaultFixedFontSize
+
function init() {
+ if (shouldSetupFonts) {
+ // Setup initial values (may be different per platform).
+ shouldSetupFonts = false
+ defaultStandardFontFamily = webView.experimental.preferences.standardFontFamily
+ defaultFixedFontFamily = webView.experimental.preferences.fixedFontFamily
+ defaultSerifFontFamily = webView.experimental.preferences.serifFontFamily
+ defaultSansSerifFontFamily = webView.experimental.preferences.sansSerifFontFamily
+ defaultCursiveFontFamily = webView.experimental.preferences.cursiveFontFamily
+ defaultFantasyFontFamily = webView.experimental.preferences.fantasyFontFamily
+ defaultMinimumFontSize = webView.experimental.preferences.minimumFontSize
+ defaultFontSize = webView.experimental.preferences.defaultFontSize
+ defaultFixedFontSize = webView.experimental.preferences.defaultFixedFontSize
+ }
+ else {
+ // Restore default values before starting a new test case.
+ webView.experimental.preferences.standardFontFamily = defaultStandardFontFamily
+ webView.experimental.preferences.fixedFontFamily = defaultFixedFontFamily
+ webView.experimental.preferences.serifFontFamily = defaultSerifFontFamily
+ webView.experimental.preferences.sansSerifFontFamily = defaultSansSerifFontFamily
+ webView.experimental.preferences.cursiveFontFamily = defaultCursiveFontFamily
+ webView.experimental.preferences.fantasyFontFamily = defaultFantasyFontFamily
+ webView.experimental.preferences.minimumFontSize = defaultMinimumFontSize
+ webView.experimental.preferences.defaultFontSize = defaultFontSize
+ webView.experimental.preferences.defaultFixedFontSize = defaultFixedFontSize
+
+ if (webView.url != '' && webView.url != 'about:blank') {
+ spy.clear()
+ webView.load('about:blank')
+ spy.wait()
+ }
+
+ standardFontFamilySpy.clear()
+ fixedFontFamilySpy.clear()
+ serifFontFamilySpy.clear()
+ sansSerifFontFamilySpy.clear()
+ cursiveFontFamilySpy.clear()
+ fantasyFontFamilySpy.clear()
+ minimumFontSizeSpy.clear()
+ defaultFontSizeSpy.clear()
+ defaultFixedFontSizeSpy.clear()
+ }
+
webView.experimental.preferences.javascriptEnabled = true
webView.experimental.preferences.localStorageEnabled = true
webView.experimental.preferences.pluginsEnabled = true
spy.clear()
+ titleSpy.clear()
}
function test_javascriptEnabled() {
@@ -96,6 +210,122 @@ Item {
compare(webView.title, "Original Title")
compare(webView2.title, "New Title")
}
+
+ function test_standardFontFamilyChanged() {
+ var url = Qt.resolvedUrl("../common/font-preferences.html?standard#font-family")
+ webView.load(url)
+ titleSpy.wait()
+ compare(webView.title, "Original Title")
+ titleSpy.wait()
+ compare(webView.title, defaultStandardFontFamily)
+
+ webView.experimental.preferences.standardFontFamily = "foobar"
+ standardFontFamilySpy.wait()
+ compare(standardFontFamilySpy.count, 1)
+ webView.load(url)
+ titleSpy.wait()
+ compare(webView.title, "Original Title")
+ titleSpy.wait()
+ compare(webView.title, "foobar")
+ }
+
+ function test_fontSizeChanged() {
+ var url = Qt.resolvedUrl("../common/font-preferences.html?standard#font-size")
+ webView.load(url)
+ titleSpy.wait()
+ compare(webView.title, "Original Title")
+ titleSpy.wait()
+ compare(webView.title, defaultFontSize.toString() + "px")
+
+ webView.experimental.preferences.defaultFontSize = defaultFontSize + 1
+ defaultFontSizeSpy.wait()
+ compare(defaultFontSizeSpy.count, 1)
+ webView.load(url)
+ titleSpy.wait()
+ compare(webView.title, "Original Title")
+ titleSpy.wait()
+ compare(webView.title, (defaultFontSize + 1).toString() + "px")
+ }
+
+ function test_fixedFontSizeChanged() {
+ var url = Qt.resolvedUrl("../common/font-preferences.html?fixed#font-size")
+ webView.load(url)
+ titleSpy.wait()
+ compare(webView.title, "Original Title")
+ titleSpy.wait()
+ compare(webView.title, defaultFixedFontSize.toString() + "px")
+
+ webView.experimental.preferences.defaultFixedFontSize = defaultFixedFontSize + 1
+ defaultFixedFontSizeSpy.wait()
+ compare(defaultFixedFontSizeSpy.count, 1)
+ webView.load(url)
+ titleSpy.wait()
+ compare(webView.title, "Original Title")
+ titleSpy.wait()
+ compare(webView.title, (defaultFixedFontSize + 1).toString() + "px")
+
+ webView.load(Qt.resolvedUrl("../common/font-preferences.html?standard#font-size"))
+ titleSpy.wait()
+ compare(webView.title, "Original Title")
+ titleSpy.wait()
+ compare(webView.title, defaultFontSize.toString() + "px")
+ }
+
+ function test_minimumFontSizeChanged() {
+ verify(defaultMinimumFontSize < defaultFontSize)
+ var url = Qt.resolvedUrl("../common/font-preferences.html?minimum#font-size")
+ webView.load(url)
+ titleSpy.wait()
+ compare(webView.title, "Original Title")
+ titleSpy.wait()
+ var smallerFontSize = webView.title
+ smallerFontSize = smallerFontSize.substring(0, smallerFontSize.length - 2)
+ smallerFontSize = parseInt(smallerFontSize)
+ verify(smallerFontSize < defaultFontSize)
+
+ webView.experimental.preferences.minimumFontSize = defaultFontSize
+ minimumFontSizeSpy.wait()
+ compare(minimumFontSizeSpy.count, 1)
+ webView.load(url)
+ titleSpy.wait()
+ compare(webView.title, "Original Title")
+ titleSpy.wait()
+ compare(webView.title, defaultFontSize.toString() + "px")
+ }
+
+ function test_defaultFontsChanged() {
+ // As there's currently no way to test through JS if a generic font was indeed changed
+ // we keep this test for really basic coverage.
+
+ webView.experimental.preferences.standardFontFamily = "foobar0"
+ standardFontFamilySpy.wait()
+ webView.experimental.preferences.fixedFontFamily = "foobar1"
+ fixedFontFamilySpy.wait()
+ webView.experimental.preferences.serifFontFamily = "foobar2"
+ serifFontFamilySpy.wait()
+ webView.experimental.preferences.sansSerifFontFamily = "foobar3"
+ sansSerifFontFamilySpy.wait()
+ webView.experimental.preferences.cursiveFontFamily = "foobar4"
+ cursiveFontFamilySpy.wait()
+ webView.experimental.preferences.fantasyFontFamily = "foobar5"
+ fantasyFontFamilySpy.wait()
+
+ compare(standardFontFamilySpy.count, 1)
+ compare(fixedFontFamilySpy.count, 1)
+ compare(serifFontFamilySpy.count, 1)
+ compare(sansSerifFontFamilySpy.count, 1)
+ compare(cursiveFontFamilySpy.count, 1)
+ compare(fantasyFontFamilySpy.count, 1)
+
+ compare(webView.experimental.preferences.standardFontFamily, "foobar0")
+ compare(webView.experimental.preferences.fixedFontFamily, "foobar1")
+ compare(webView.experimental.preferences.serifFontFamily, "foobar2")
+ compare(webView.experimental.preferences.sansSerifFontFamily, "foobar3")
+ compare(webView.experimental.preferences.cursiveFontFamily, "foobar4")
+ compare(webView.experimental.preferences.fantasyFontFamily, "foobar5")
+ }
+
+
}
}
}
diff --git a/Source/WebKit2/UIProcess/API/qt/tests/qmltests/common/font-preferences.html b/Source/WebKit2/UIProcess/API/qt/tests/qmltests/common/font-preferences.html
new file mode 100644
index 000000000..cbc11432d
--- /dev/null
+++ b/Source/WebKit2/UIProcess/API/qt/tests/qmltests/common/font-preferences.html
@@ -0,0 +1,31 @@
+<html>
+<head>
+<title>Original Title</title>
+</head>
+<script type="text/javascript">
+function getTestId() {
+ url = document.location.href
+ var i, j = 0;
+ for (i = url.length - 1; i >= 0; --i) {
+ if (url[i] == '?')
+ break
+ else if (url[i] == '#')
+ j = i - 1
+ }
+ return url.substr(i + 1, j - i)
+}
+
+function getStyleForId(id, styleProp) {
+ return document.defaultView.getComputedStyle(document.getElementById(id), null).getPropertyValue(styleProp);
+}
+
+function changeTitle() {
+ document.title = getStyleForId(getTestId(), window.location.hash.substr(1))
+}
+</script>
+<body onload='setTimeout("changeTitle()", 100)'>
+<p id="standard">hello</p>
+<code id="fixed">hello</code>
+<p id="minimum" style="font-size: smaller">hello</p>
+</body>
+</html>
diff --git a/Source/WebKit2/UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp b/Source/WebKit2/UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp
index 57b7ec14a..1d14d1844 100644
--- a/Source/WebKit2/UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp
+++ b/Source/WebKit2/UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp
@@ -51,6 +51,8 @@ private slots:
void show();
void showWebView();
void removeFromCanvas();
+ void multipleWebViewWindows();
+ void multipleWebViews();
private:
inline QQuickWebView* webView() const;
@@ -270,6 +272,52 @@ void tst_QQuickWebView::removeFromCanvas()
QTest::qWait(200);
}
+void tst_QQuickWebView::multipleWebViewWindows()
+{
+ showWebView();
+
+ // This should not crash.
+ QQuickWebView* webView1 = new QQuickWebView();
+ QScopedPointer<TestWindow> window1(new TestWindow(webView1));
+ QQuickWebView* webView2 = new QQuickWebView();
+ QScopedPointer<TestWindow> window2(new TestWindow(webView2));
+
+ webView1->setSize(QSizeF(300, 400));
+ webView1->load(QUrl::fromLocalFile(QLatin1String(TESTS_SOURCE_DIR "/html/scroll.html")));
+ QVERIFY(waitForSignal(webView1, SIGNAL(loadSucceeded())));
+ window1->show();
+ webView1->setVisible(true);
+
+ webView2->setSize(QSizeF(300, 400));
+ webView2->load(QUrl::fromLocalFile(QLatin1String(TESTS_SOURCE_DIR "/html/basic_page.html")));
+ QVERIFY(waitForSignal(webView2, SIGNAL(loadSucceeded())));
+ window2->show();
+ webView2->setVisible(true);
+ QTest::qWait(200);
+}
+
+void tst_QQuickWebView::multipleWebViews()
+{
+ showWebView();
+
+ // This should not crash.
+ QScopedPointer<QQuickWebView> webView1(new QQuickWebView());
+ webView1->setParentItem(m_window->rootItem());
+ QScopedPointer<QQuickWebView> webView2(new QQuickWebView());
+ webView2->setParentItem(m_window->rootItem());
+
+ webView1->setSize(QSizeF(300, 400));
+ webView1->load(QUrl::fromLocalFile(QLatin1String(TESTS_SOURCE_DIR "/html/scroll.html")));
+ QVERIFY(waitForSignal(webView1.data(), SIGNAL(loadSucceeded())));
+ webView1->setVisible(true);
+
+ webView2->setSize(QSizeF(300, 400));
+ webView2->load(QUrl::fromLocalFile(QLatin1String(TESTS_SOURCE_DIR "/html/basic_page.html")));
+ QVERIFY(waitForSignal(webView2.data(), SIGNAL(loadSucceeded())));
+ webView2->setVisible(true);
+ QTest::qWait(200);
+}
+
void tst_QQuickWebView::scrollRequest()
{
webView()->setSize(QSizeF(300, 400));
@@ -280,7 +328,7 @@ void tst_QQuickWebView::scrollRequest()
// COMPARE with the position requested in the html
// Use qRound as that is also used when calculating the position
// in WebKit.
- int y = -qRound(50 * webView()->page()->scale());
+ int y = -qRound(50 * webView()->page()->contentScale());
QVERIFY(webView()->page()->pos().y() == y);
}
diff --git a/Source/WebKit2/UIProcess/PageClient.h b/Source/WebKit2/UIProcess/PageClient.h
index 1db4eaa9b..c94ea1a13 100644
--- a/Source/WebKit2/UIProcess/PageClient.h
+++ b/Source/WebKit2/UIProcess/PageClient.h
@@ -52,6 +52,9 @@ class NativeWebKeyboardEvent;
#if ENABLE(TOUCH_EVENTS)
class NativeWebTouchEvent;
#endif
+#if ENABLE(GESTURE_EVENTS)
+class WebGestureEvent;
+#endif
class WebContextMenuProxy;
class WebEditCommandProxy;
class WebPopupMenuProxy;
@@ -106,6 +109,7 @@ public:
virtual void focusEditableArea(const WebCore::IntRect&, const WebCore::IntRect&) = 0;
virtual void didReceiveMessageFromNavigatorQtObject(const String&) = 0;
virtual void handleDownloadRequest(DownloadProxy*) = 0;
+ virtual void updateTextInputState() = 0;
#endif
#if PLATFORM(QT) || PLATFORM(GTK)
@@ -141,6 +145,9 @@ public:
virtual WebCore::IntRect windowToScreen(const WebCore::IntRect&) = 0;
virtual void doneWithKeyEvent(const NativeWebKeyboardEvent&, bool wasEventHandled) = 0;
+#if ENABLE(GESTURE_EVENTS)
+ virtual void doneWithGestureEvent(const WebGestureEvent&, bool wasEventHandled) = 0;
+#endif
#if ENABLE(TOUCH_EVENTS)
virtual void doneWithTouchEvent(const NativeWebTouchEvent&, bool wasEventHandled) = 0;
#endif
diff --git a/Source/WebKit2/UIProcess/WebConnectionToWebProcess.cpp b/Source/WebKit2/UIProcess/WebConnectionToWebProcess.cpp
index 18f74a99f..b1d103fbc 100644
--- a/Source/WebKit2/UIProcess/WebConnectionToWebProcess.cpp
+++ b/Source/WebKit2/UIProcess/WebConnectionToWebProcess.cpp
@@ -46,8 +46,6 @@ WebConnectionToWebProcess::WebConnectionToWebProcess(WebProcessProxy* process, C
#elif PLATFORM(QT)
m_connection->setShouldCloseConnectionOnProcessTermination(process->processIdentifier());
#endif
-
- m_connection->open();
}
void WebConnectionToWebProcess::invalidate()
diff --git a/Source/WebKit2/UIProcess/WebPageProxy.cpp b/Source/WebKit2/UIProcess/WebPageProxy.cpp
index 15abf9ccc..7e08cecd8 100644
--- a/Source/WebKit2/UIProcess/WebPageProxy.cpp
+++ b/Source/WebKit2/UIProcess/WebPageProxy.cpp
@@ -968,6 +968,8 @@ void WebPageProxy::handleGestureEvent(const WebGestureEvent& event)
if (!isValid())
return;
+ m_gestureEventQueue.append(event);
+
process()->responsivenessTimer()->start();
process()->send(Messages::EventDispatcher::GestureEvent(m_pageID, event), 0);
}
@@ -2427,6 +2429,8 @@ void WebPageProxy::editorStateChanged(const EditorState& editorState)
#if PLATFORM(MAC)
m_pageClient->updateTextInputState(couldChangeSecureInputState);
+#elif PLATFORM(QT)
+ m_pageClient->updateTextInputState();
#endif
}
@@ -2908,12 +2912,19 @@ void WebPageProxy::didReceiveEvent(uint32_t opaqueType, bool handled)
}
break;
case WebEvent::MouseDown:
+ break;
#if ENABLE(GESTURE_EVENTS)
case WebEvent::GestureScrollBegin:
case WebEvent::GestureScrollEnd:
- case WebEvent::GestureSingleTap:
-#endif
+ case WebEvent::GestureSingleTap: {
+ WebGestureEvent event = m_gestureEventQueue.first();
+ MESSAGE_CHECK(type == event.type());
+
+ m_gestureEventQueue.removeFirst();
+ m_pageClient->doneWithGestureEvent(event, handled);
break;
+ }
+#endif
case WebEvent::MouseUp:
m_currentlyProcessedMouseDownEvent = nullptr;
break;
diff --git a/Source/WebKit2/UIProcess/WebPageProxy.h b/Source/WebKit2/UIProcess/WebPageProxy.h
index 42a18f3e1..cf5130419 100644
--- a/Source/WebKit2/UIProcess/WebPageProxy.h
+++ b/Source/WebKit2/UIProcess/WebPageProxy.h
@@ -952,6 +952,9 @@ private:
WebCore::PolicyAction m_syncNavigationActionPolicyAction;
uint64_t m_syncNavigationActionPolicyDownloadID;
+#if ENABLE(GESTURE_EVENTS)
+ Deque<WebGestureEvent> m_gestureEventQueue;
+#endif
Deque<NativeWebKeyboardEvent> m_keyEventQueue;
Deque<NativeWebWheelEvent> m_wheelEventQueue;
Vector<NativeWebWheelEvent> m_currentlyProcessedWheelEvents;
diff --git a/Source/WebKit2/UIProcess/WebProcessProxy.cpp b/Source/WebKit2/UIProcess/WebProcessProxy.cpp
index 0c11caa5b..8c99b4efa 100644
--- a/Source/WebKit2/UIProcess/WebProcessProxy.cpp
+++ b/Source/WebKit2/UIProcess/WebProcessProxy.cpp
@@ -117,6 +117,7 @@ void WebProcessProxy::connect()
void WebProcessProxy::disconnect()
{
if (m_connection) {
+ m_connection->connection()->removeQueueClient(this);
m_connection->invalidate();
m_connection = nullptr;
}
@@ -349,6 +350,12 @@ void WebProcessProxy::didReceiveSyncMessage(CoreIPC::Connection* connection, Cor
pageProxy->didReceiveSyncMessage(connection, messageID, arguments, reply);
}
+void WebProcessProxy::didReceiveMessageOnConnectionWorkQueue(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, bool& didHandleMessage)
+{
+ if (messageID.is<CoreIPC::MessageClassWebProcessProxy>())
+ didReceiveWebProcessProxyMessageOnConnectionWorkQueue(connection, messageID, arguments, didHandleMessage);
+}
+
void WebProcessProxy::didClose(CoreIPC::Connection*)
{
// Protect ourselves, as the call to disconnect() below may otherwise cause us
@@ -409,7 +416,9 @@ void WebProcessProxy::didFinishLaunching(CoreIPC::Connection::Identifier connect
ASSERT(!m_connection);
m_connection = WebConnectionToWebProcess::create(this, connectionIdentifier, RunLoop::main());
-
+ m_connection->connection()->addQueueClient(this);
+ m_connection->connection()->open();
+
for (size_t i = 0; i < m_pendingMessages.size(); ++i) {
CoreIPC::Connection::OutgoingMessage& outgoingMessage = m_pendingMessages[i].first;
unsigned messageSendFlags = m_pendingMessages[i].second;
diff --git a/Source/WebKit2/UIProcess/WebProcessProxy.h b/Source/WebKit2/UIProcess/WebProcessProxy.h
index 129e0ea1b..11cfa5b27 100644
--- a/Source/WebKit2/UIProcess/WebProcessProxy.h
+++ b/Source/WebKit2/UIProcess/WebProcessProxy.h
@@ -57,7 +57,7 @@ class WebContext;
class WebPageGroup;
struct WebNavigationDataStore;
-class WebProcessProxy : public RefCounted<WebProcessProxy>, CoreIPC::Connection::Client, ResponsivenessTimer::Client, ProcessLauncher::Client, ThreadLauncher::Client {
+class WebProcessProxy : public RefCounted<WebProcessProxy>, CoreIPC::Connection::Client, ResponsivenessTimer::Client, ProcessLauncher::Client, ThreadLauncher::Client, CoreIPC::Connection::QueueClient {
public:
typedef HashMap<uint64_t, RefPtr<WebFrameProxy> > WebFrameProxyMap;
typedef HashMap<uint64_t, RefPtr<WebBackForwardListItem> > WebBackForwardListItemMap;
@@ -139,13 +139,8 @@ private:
void pluginSyncMessageSendTimedOut(const String& pluginPath);
#endif
#if PLATFORM(MAC)
- void secItemCopyMatching(const SecItemRequestData&, SecItemResponseData&);
- void secItemAdd(const SecItemRequestData&, SecItemResponseData&);
- void secItemUpdate(const SecItemRequestData&, SecItemResponseData&);
- void secItemDelete(const SecItemRequestData&, SecItemResponseData&);
- void secKeychainItemCopyContent(const SecKeychainItemRequestData&, SecKeychainItemResponseData&);
- void secKeychainItemCreateFromContent(const SecKeychainItemRequestData&, SecKeychainItemResponseData&);
- void secKeychainItemModifyContent(const SecKeychainItemRequestData&, SecKeychainItemResponseData&);
+ void secItemRequest(CoreIPC::Connection*, uint64_t requestID, const SecItemRequestData&);
+ void secKeychainItemRequest(CoreIPC::Connection*, uint64_t requestID, const SecKeychainItemRequestData&);
#endif
// CoreIPC::Connection::Client
@@ -159,6 +154,9 @@ private:
virtual Vector<HWND> windowsToReceiveSentMessagesWhileWaitingForSyncReply();
#endif
+ // CoreIPC::Connection::QueueClient
+ virtual void didReceiveMessageOnConnectionWorkQueue(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, bool& didHandleMessage);
+
// ResponsivenessTimer::Client
void didBecomeUnresponsive(ResponsivenessTimer*);
void didBecomeResponsive(ResponsivenessTimer*);
@@ -174,6 +172,7 @@ private:
// Implemented in generated WebProcessProxyMessageReceiver.cpp
void didReceiveWebProcessProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
void didReceiveSyncWebProcessProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder* arguments, OwnPtr<CoreIPC::ArgumentEncoder>& reply);
+ void didReceiveWebProcessProxyMessageOnConnectionWorkQueue(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder* arguments, bool& didHandleMessage);
ResponsivenessTimer m_responsivenessTimer;
diff --git a/Source/WebKit2/UIProcess/WebProcessProxy.messages.in b/Source/WebKit2/UIProcess/WebProcessProxy.messages.in
index 8943ffc70..93961da44 100644
--- a/Source/WebKit2/UIProcess/WebProcessProxy.messages.in
+++ b/Source/WebKit2/UIProcess/WebProcessProxy.messages.in
@@ -33,14 +33,8 @@ messages -> WebProcessProxy {
#endif
#if PLATFORM(MAC)
- SecItemCopyMatching(WebKit::SecItemRequestData query) -> (WebKit::SecItemResponseData result)
- SecItemAdd(WebKit::SecItemRequestData query) -> (WebKit::SecItemResponseData result)
- SecItemUpdate(WebKit::SecItemRequestData query) -> (WebKit::SecItemResponseData result)
- SecItemDelete(WebKit::SecItemRequestData query) -> (WebKit::SecItemResponseData result)
-
- SecKeychainItemCopyContent(WebKit::SecKeychainItemRequestData query) -> (WebKit::SecKeychainItemResponseData result)
- SecKeychainItemCreateFromContent(WebKit::SecKeychainItemRequestData query) -> (WebKit::SecKeychainItemResponseData result)
- SecKeychainItemModifyContent(WebKit::SecKeychainItemRequestData query) -> (WebKit::SecKeychainItemResponseData result)
+ SecItemRequest(uint64_t requestID, WebKit::SecItemRequestData request) DispatchOnConnectionQueue
+ SecKeychainItemRequest(uint64_t requestID, WebKit::SecKeychainItemRequestData request) DispatchOnConnectionQueue
#endif
}
diff --git a/Source/WebKit2/UIProcess/mac/WebProcessProxyMac.mm b/Source/WebKit2/UIProcess/mac/WebProcessProxyMac.mm
index 467155e92..37e8caae0 100644
--- a/Source/WebKit2/UIProcess/mac/WebProcessProxyMac.mm
+++ b/Source/WebKit2/UIProcess/mac/WebProcessProxyMac.mm
@@ -30,82 +30,105 @@
#import "SecItemResponseData.h"
#import "SecKeychainItemRequestData.h"
#import "SecKeychainItemResponseData.h"
+#import "WebProcessMessages.h"
#import "WKFullKeyboardAccessWatcher.h"
#import <Security/SecItem.h>
namespace WebKit {
-void WebProcessProxy::secItemCopyMatching(const SecItemRequestData& queryData, SecItemResponseData& result)
+static void handleSecItemRequest(CoreIPC::Connection* connection, uint64_t requestID, const SecItemRequestData& request)
{
- CFDictionaryRef query = queryData.query();
- CFTypeRef resultObjectRef;
- OSStatus resultCode = SecItemCopyMatching(query, &resultObjectRef);
-
- RetainPtr<CFTypeRef> resultObject(AdoptCF, resultObjectRef);
- result = SecItemResponseData(resultCode, resultObject.get());
-}
-
-void WebProcessProxy::secItemAdd(const SecItemRequestData& queryData, SecItemResponseData& result)
-{
- CFDictionaryRef query = queryData.query();
- CFTypeRef resultObjectRef;
- OSStatus resultCode = SecItemAdd(query, &resultObjectRef);
-
- RetainPtr<CFTypeRef> resultObject(AdoptCF, resultObjectRef);
- result = SecItemResponseData(resultCode, resultObject.get());
-}
-
-void WebProcessProxy::secItemUpdate(const SecItemRequestData& queryData, SecItemResponseData& result)
-{
- CFDictionaryRef query = queryData.query();
- CFDictionaryRef attributesToMatch = queryData.attributesToMatch();
- OSStatus resultCode;
-
- resultCode = SecItemUpdate(query, attributesToMatch);
-
- result = SecItemResponseData(resultCode, 0);
-}
-
-void WebProcessProxy::secItemDelete(const SecItemRequestData& queryData, SecItemResponseData& result)
-{
- CFDictionaryRef query = queryData.query();
- OSStatus resultCode;
-
- resultCode = SecItemDelete(query);
-
- result = SecItemResponseData(resultCode, 0);
+ SecItemResponseData response;
+
+ switch (request.type()) {
+ case SecItemRequestData::CopyMatching: {
+ CFTypeRef resultObject = 0;
+ OSStatus resultCode = SecItemCopyMatching(request.query(), &resultObject);
+ response = SecItemResponseData(resultCode, adoptCF(resultObject).get());
+ break;
+ }
+
+ case SecItemRequestData::Add: {
+ CFTypeRef resultObject = 0;
+ OSStatus resultCode = SecItemAdd(request.query(), &resultObject);
+ response = SecItemResponseData(resultCode, adoptCF(resultObject).get());
+ break;
+ }
+
+ case SecItemRequestData::Update: {
+ OSStatus resultCode = SecItemUpdate(request.query(), request.attributesToMatch());
+ response = SecItemResponseData(resultCode, 0);
+ break;
+ }
+
+ case SecItemRequestData::Delete: {
+ OSStatus resultCode = SecItemDelete(request.query());
+ response = SecItemResponseData(resultCode, 0);
+ break;
+ }
+
+ default:
+ return;
+ }
+
+ connection->send(Messages::WebProcess::SecItemResponse(requestID, response), 0);
}
-void WebProcessProxy::secKeychainItemCopyContent(const SecKeychainItemRequestData& request, SecKeychainItemResponseData& response)
+void WebProcessProxy::secItemRequest(CoreIPC::Connection* connection, uint64_t requestID, const SecItemRequestData& request)
{
- SecKeychainItemRef item = request.keychainItem();
- SecItemClass itemClass;
- SecKeychainAttributeList* attrList = request.attributeList();
- UInt32 length = 0;
- void* outData = 0;
-
- OSStatus resultCode = SecKeychainItemCopyContent(item, &itemClass, attrList, &length, &outData);
-
- RetainPtr<CFDataRef> data(AdoptCF, CFDataCreate(0, static_cast<const UInt8*>(outData), length));
- response = SecKeychainItemResponseData(resultCode, itemClass, attrList, data.get());
-
- SecKeychainItemFreeContent(attrList, outData);
+ // Since we don't want the connection work queue to be held up, we do all
+ // keychain interaction work on a global dispatch queue.
+ dispatch_queue_t keychainWorkQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
+ dispatch_async(keychainWorkQueue, bind(handleSecItemRequest, RefPtr<CoreIPC::Connection>(connection), requestID, request));
}
-void WebProcessProxy::secKeychainItemCreateFromContent(const SecKeychainItemRequestData& request, SecKeychainItemResponseData& response)
+static void handleSecKeychainItemRequest(CoreIPC::Connection* connection, uint64_t requestID, const SecKeychainItemRequestData& request)
{
- SecKeychainItemRef keychainItem;
-
- OSStatus resultCode = SecKeychainItemCreateFromContent(request.itemClass(), request.attributeList(), request.length(), request.data(), 0, 0, &keychainItem);
-
- response = SecKeychainItemResponseData(resultCode, RetainPtr<SecKeychainItemRef>(AdoptCF, keychainItem));
+ SecKeychainItemResponseData response;
+
+ switch (request.type()) {
+ case SecKeychainItemRequestData::CopyContent: {
+ SecKeychainItemRef item = request.keychainItem();
+ SecItemClass itemClass;
+ SecKeychainAttributeList* attrList = request.attributeList();
+ UInt32 length = 0;
+ void* outData = 0;
+
+ OSStatus resultCode = SecKeychainItemCopyContent(item, &itemClass, attrList, &length, &outData);
+ RetainPtr<CFDataRef> data(AdoptCF, CFDataCreate(0, static_cast<const UInt8*>(outData), length));
+ response = SecKeychainItemResponseData(resultCode, itemClass, attrList, data.get());
+
+ SecKeychainItemFreeContent(attrList, outData);
+ break;
+ }
+
+ case SecKeychainItemRequestData::CreateFromContent: {
+ SecKeychainItemRef keychainItem;
+
+ OSStatus resultCode = SecKeychainItemCreateFromContent(request.itemClass(), request.attributeList(), request.length(), request.data(), 0, 0, &keychainItem);
+ response = SecKeychainItemResponseData(resultCode, adoptCF(keychainItem));
+ break;
+ }
+
+ case SecKeychainItemRequestData::ModifyContent: {
+ OSStatus resultCode = SecKeychainItemModifyContent(request.keychainItem(), request.attributeList(), request.length(), request.data());
+ response = resultCode;
+ break;
+ }
+
+ default:
+ return;
+ }
+
+ connection->send(Messages::WebProcess::SecKeychainItemResponse(requestID, response), 0);
}
-void WebProcessProxy::secKeychainItemModifyContent(const SecKeychainItemRequestData& request, SecKeychainItemResponseData& response)
+void WebProcessProxy::secKeychainItemRequest(CoreIPC::Connection* connection, uint64_t requestID, const SecKeychainItemRequestData& request)
{
- OSStatus resultCode = SecKeychainItemModifyContent(request.keychainItem(), request.attributeList(), request.length(), request.data());
-
- response = resultCode;
+ // Since we don't want the connection work queue to be held up, we do all
+ // keychain interaction work on a global dispatch queue.
+ dispatch_queue_t keychainWorkQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
+ dispatch_async(keychainWorkQueue, bind(handleSecKeychainItemRequest, RefPtr<CoreIPC::Connection>(connection), requestID, request));
}
bool WebProcessProxy::fullKeyboardAccessEnabled()
diff --git a/Source/WebKit2/UIProcess/qt/LayerTreeHostProxyQt.cpp b/Source/WebKit2/UIProcess/qt/LayerTreeHostProxyQt.cpp
index a1dd272a7..60736b1df 100644
--- a/Source/WebKit2/UIProcess/qt/LayerTreeHostProxyQt.cpp
+++ b/Source/WebKit2/UIProcess/qt/LayerTreeHostProxyQt.cpp
@@ -460,7 +460,8 @@ void LayerTreeHostProxy::ensureRootLayer()
// The root layer should not have zero size, or it would be optimized out.
m_rootLayer->setSize(FloatSize(1.0, 1.0));
- m_textureMapper = TextureMapperGL::create();
+ if (!m_textureMapper)
+ m_textureMapper = TextureMapperGL::create();
toTextureMapperNode(m_rootLayer.get())->setTextureMapper(m_textureMapper.get());
}
@@ -623,7 +624,9 @@ void LayerTreeHostProxy::purgeGLResources()
{
TextureMapperNode* node = toTextureMapperNode(rootLayer());
- node->purgeNodeTexturesRecursive();
+ if (node)
+ node->purgeNodeTexturesRecursive();
+
m_directlyCompositedImages.clear();
m_textureMapper.clear();
diff --git a/Source/WebKit2/UIProcess/qt/QtPageClient.cpp b/Source/WebKit2/UIProcess/qt/QtPageClient.cpp
index b173776d8..cc96876be 100644
--- a/Source/WebKit2/UIProcess/qt/QtPageClient.cpp
+++ b/Source/WebKit2/UIProcess/qt/QtPageClient.cpp
@@ -195,6 +195,20 @@ void QtPageClient::didReceiveMessageFromNavigatorQtObject(const String& message)
QQuickWebViewPrivate::get(m_webView)->didReceiveMessageFromNavigatorQtObject(message);
}
+void QtPageClient::updateTextInputState()
+{
+ ASSERT(m_eventHandler);
+ m_eventHandler->updateTextInputState();
+}
+
+#if ENABLE(GESTURE_EVENTS)
+void QtPageClient::doneWithGestureEvent(const WebGestureEvent& event, bool wasEventHandled)
+{
+ ASSERT(m_eventHandler);
+ m_eventHandler->doneWithGestureEvent(event, wasEventHandled);
+}
+#endif
+
#if ENABLE(TOUCH_EVENTS)
void QtPageClient::doneWithTouchEvent(const NativeWebTouchEvent& event, bool wasEventHandled)
{
diff --git a/Source/WebKit2/UIProcess/qt/QtPageClient.h b/Source/WebKit2/UIProcess/qt/QtPageClient.h
index a3149b631..7715026f8 100644
--- a/Source/WebKit2/UIProcess/qt/QtPageClient.h
+++ b/Source/WebKit2/UIProcess/qt/QtPageClient.h
@@ -93,10 +93,9 @@ public:
virtual void countStringMatchesInCustomRepresentation(const String&, WebKit::FindOptions, unsigned maxMatchCount) { }
virtual void didFindZoomableArea(const WebCore::IntPoint&, const WebCore::IntRect&);
virtual void focusEditableArea(const WebCore::IntRect&, const WebCore::IntRect&);
-
-#if ENABLE(TOUCH_EVENTS)
+ virtual void updateTextInputState();
+ virtual void doneWithGestureEvent(const WebGestureEvent&, bool wasEventHandled);
virtual void doneWithTouchEvent(const NativeWebTouchEvent&, bool wasEventHandled);
-#endif
private:
QQuickWebView* m_webView;
diff --git a/Source/WebKit2/UIProcess/qt/QtPinchGestureRecognizer.cpp b/Source/WebKit2/UIProcess/qt/QtPinchGestureRecognizer.cpp
index 9167792c4..7699ad366 100644
--- a/Source/WebKit2/UIProcess/qt/QtPinchGestureRecognizer.cpp
+++ b/Source/WebKit2/UIProcess/qt/QtPinchGestureRecognizer.cpp
@@ -112,8 +112,8 @@ bool QtPinchGestureRecognizer::recognize(const QTouchEvent* event)
const qreal currentSpanDistance = QLineF(point1.screenPos(), point2.screenPos()).length();
const qreal initialSpanDistance = QLineF(m_point1.initialScreenPosition, m_point2.initialScreenPosition).length();
const qreal totalScaleFactor = currentSpanDistance / initialSpanDistance;
- const QPointF touchCenterInPageViewCoordinates = computePinchCenter(point1, point2);
- interactionEngine()->pinchGestureRequestUpdate(touchCenterInPageViewCoordinates, totalScaleFactor);
+ const QPointF touchCenterInViewCoordinates = computePinchCenter(point1, point2);
+ interactionEngine()->pinchGestureRequestUpdate(touchCenterInViewCoordinates, totalScaleFactor);
return true;
break;
}
diff --git a/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp b/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp
index 788349ae0..d12eb0bbd 100644
--- a/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp
+++ b/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp
@@ -23,10 +23,13 @@
#include "QtViewportInteractionEngine.h"
#include "PassOwnPtr.h"
+#include "qquickwebpage_p.h"
+#include "qquickwebview_p.h"
#include <QPointF>
#include <QScrollEvent>
#include <QScrollPrepareEvent>
#include <QScrollerProperties>
+#include <QTransform>
#include <QWheelEvent>
#include <QtQuick/qquickitem.h>
@@ -111,7 +114,7 @@ inline QRectF QtViewportInteractionEngine::itemRectFromCSS(const QRectF& cssRect
return itemRect;
}
-QtViewportInteractionEngine::QtViewportInteractionEngine(const QQuickItem* viewport, QQuickItem* content)
+QtViewportInteractionEngine::QtViewportInteractionEngine(const QQuickWebView* viewport, QQuickWebPage* content)
: m_viewport(viewport)
, m_content(content)
, m_suspendCount(0)
@@ -174,7 +177,7 @@ void QtViewportInteractionEngine::setItemRectVisible(const QRectF& itemRect)
qreal itemScale = m_viewport->width() / itemRect.width();
- m_content->setScale(itemScale);
+ m_content->setContentScale(itemScale);
// We need to animate the content but the position represents the viewport hence we need to invert the position here.
// To animate the position together with the scale we multiply the position with the current scale;
@@ -183,7 +186,7 @@ void QtViewportInteractionEngine::setItemRectVisible(const QRectF& itemRect)
bool QtViewportInteractionEngine::animateItemRectVisible(const QRectF& itemRect)
{
- QRectF currentItemRectVisible = m_content->mapRectFromItem(m_viewport, m_viewport->boundingRect());
+ QRectF currentItemRectVisible = m_viewport->mapRectToWebContent(m_viewport->boundingRect());
if (itemRect == currentItemRectVisible)
return false;
@@ -238,7 +241,7 @@ bool QtViewportInteractionEngine::event(QEvent* event)
QScrollPrepareEvent* prepareEvent = static_cast<QScrollPrepareEvent*>(event);
const QRectF viewportRect = m_viewport->boundingRect();
const QRectF contentRect = m_viewport->mapRectFromItem(m_content, m_content->boundingRect());
- const QRectF posRange = computePosRangeForItemAtScale(m_content->scale());
+ const QRectF posRange = computePosRangeForItemAtScale(m_content->contentScale());
prepareEvent->setContentPosRange(posRange);
prepareEvent->setViewportSize(viewportRect.size());
@@ -251,11 +254,11 @@ bool QtViewportInteractionEngine::event(QEvent* event)
QScrollEvent* scrollEvent = static_cast<QScrollEvent*>(event);
QPointF newPos = -scrollEvent->contentPos() - scrollEvent->overshootDistance();
if (m_content->pos() != newPos) {
- QPointF currentPosInContentCoordinates = m_content->mapToItem(m_content->parentItem(), m_content->pos());
- QPointF newPosInContentCoordinates = m_content->mapToItem(m_content->parentItem(), newPos);
+ QPointF currentPosInCSSCoordinates = m_viewport->mapToWebContent(m_content->pos());
+ QPointF newPosInCSSCoordinates = m_viewport->mapToWebContent(newPos);
// This must be emitted before viewportUpdateRequested so that the web process knows where to look for tiles.
- emit viewportTrajectoryVectorChanged(currentPosInContentCoordinates- newPosInContentCoordinates);
+ emit viewportTrajectoryVectorChanged(currentPosInCSSCoordinates - newPosInCSSCoordinates);
m_content->setPos(newPos);
}
return true;
@@ -297,7 +300,7 @@ void QtViewportInteractionEngine::wheelEvent(QWheelEvent* ev)
else
newPos.ry() += delta;
- QRectF endPosRange = computePosRangeForItemAtScale(m_content->scale());
+ QRectF endPosRange = computePosRangeForItemAtScale(m_content->contentScale());
m_content->setPos(-boundPosition(endPosRange.topLeft(), newPos, endPosRange.bottomRight()));
}
@@ -307,7 +310,7 @@ void QtViewportInteractionEngine::pagePositionRequest(const QPoint& pagePosition
if (m_suspendCount)
return;
- qreal endItemScale = m_content->scale(); // Stay at same scale.
+ qreal endItemScale = m_content->contentScale(); // Stay at same scale.
QRectF endPosRange = computePosRangeForItemAtScale(endItemScale);
QPointF endPosition = boundPosition(endPosRange.topLeft(), pagePosition * endItemScale, endPosRange.bottomRight());
@@ -319,7 +322,7 @@ void QtViewportInteractionEngine::pagePositionRequest(const QPoint& pagePosition
QRectF QtViewportInteractionEngine::computePosRangeForItemAtScale(qreal itemScale) const
{
- const QSizeF contentItemSize = m_content->boundingRect().size() * itemScale;
+ const QSizeF contentItemSize = m_content->contentSize() * itemScale;
const QSizeF viewportItemSize = m_viewport->boundingRect().size();
const qreal horizontalRange = contentItemSize.width() - viewportItemSize.width();
@@ -406,7 +409,7 @@ bool QtViewportInteractionEngine::ensureContentWithinViewportBoundary(bool immed
const QRectF viewportRect = m_viewport->boundingRect();
QPointF viewportHotspot = viewportRect.center();
- QPointF endPosition = m_content->mapFromItem(m_viewport, viewportHotspot) * endItemScale - viewportHotspot;
+ QPointF endPosition = m_viewport->mapToWebContent(viewportHotspot) * endItemScale - viewportHotspot;
QRectF endPosRange = computePosRangeForItemAtScale(endItemScale);
endPosition = boundPosition(endPosRange.topLeft(), endPosition, endPosRange.bottomRight());
@@ -441,7 +444,7 @@ void QtViewportInteractionEngine::applyConstraints(const Constraints& constraint
if (!m_hadUserInteraction) {
qreal initialScale = innerBoundedCSSScale(m_constraints.initialScale);
- m_content->setScale(itemScaleFromCSS(initialScale));
+ m_content->setContentScale(itemScaleFromCSS(initialScale));
}
// If the web app changes successively changes the viewport on purpose
@@ -451,7 +454,7 @@ void QtViewportInteractionEngine::applyConstraints(const Constraints& constraint
qreal QtViewportInteractionEngine::currentCSSScale()
{
- return cssScaleFromItem(m_content->scale());
+ return cssScaleFromItem(m_content->contentScale());
}
bool QtViewportInteractionEngine::scrollAnimationActive() const
@@ -473,15 +476,15 @@ bool QtViewportInteractionEngine::panGestureActive() const
return scroller->state() == QScroller::Pressed || scroller->state() == QScroller::Dragging;
}
-void QtViewportInteractionEngine::panGestureStarted(const QPointF& touchPoint, qint64 eventTimestampMillis)
+void QtViewportInteractionEngine::panGestureStarted(const QPointF& viewportTouchPoint, qint64 eventTimestampMillis)
{
m_hadUserInteraction = true;
- scroller()->handleInput(QScroller::InputPress, m_viewport->mapFromItem(m_content, touchPoint), eventTimestampMillis);
+ scroller()->handleInput(QScroller::InputPress, viewportTouchPoint, eventTimestampMillis);
}
-void QtViewportInteractionEngine::panGestureRequestUpdate(const QPointF& touchPoint, qint64 eventTimestampMillis)
+void QtViewportInteractionEngine::panGestureRequestUpdate(const QPointF& viewportTouchPoint, qint64 eventTimestampMillis)
{
- scroller()->handleInput(QScroller::InputMove, m_viewport->mapFromItem(m_content, touchPoint), eventTimestampMillis);
+ scroller()->handleInput(QScroller::InputMove, viewportTouchPoint, eventTimestampMillis);
}
void QtViewportInteractionEngine::panGestureCancelled()
@@ -491,9 +494,9 @@ void QtViewportInteractionEngine::panGestureCancelled()
scroller()->stop();
}
-void QtViewportInteractionEngine::panGestureEnded(const QPointF& touchPoint, qint64 eventTimestampMillis)
+void QtViewportInteractionEngine::panGestureEnded(const QPointF& viewportTouchPoint, qint64 eventTimestampMillis)
{
- scroller()->handleInput(QScroller::InputRelease, m_viewport->mapFromItem(m_content, touchPoint), eventTimestampMillis);
+ scroller()->handleInput(QScroller::InputRelease, viewportTouchPoint, eventTimestampMillis);
}
bool QtViewportInteractionEngine::scaleAnimationActive() const
@@ -512,7 +515,7 @@ bool QtViewportInteractionEngine::pinchGestureActive() const
return m_pinchStartScale > 0;
}
-void QtViewportInteractionEngine::pinchGestureStarted(const QPointF& pinchCenterInContentCoordinates)
+void QtViewportInteractionEngine::pinchGestureStarted(const QPointF& pinchCenterInViewportCoordinates)
{
ASSERT(!m_suspendCount);
@@ -523,14 +526,14 @@ void QtViewportInteractionEngine::pinchGestureStarted(const QPointF& pinchCenter
m_scaleUpdateDeferrer = adoptPtr(new ViewportUpdateDeferrer(this));
- m_lastPinchCenterInViewportCoordinates = m_viewport->mapFromItem(m_content, pinchCenterInContentCoordinates);
- m_pinchStartScale = m_content->scale();
+ m_lastPinchCenterInViewportCoordinates = pinchCenterInViewportCoordinates;
+ m_pinchStartScale = m_content->contentScale();
// Reset the tiling look-ahead vector so that tiles all around the viewport will be requested on pinch-end.
emit viewportTrajectoryVectorChanged(QPointF());
}
-void QtViewportInteractionEngine::pinchGestureRequestUpdate(const QPointF& pinchCenterInContentCoordinates, qreal totalScaleFactor)
+void QtViewportInteractionEngine::pinchGestureRequestUpdate(const QPointF& pinchCenterInViewportCoordinates, qreal totalScaleFactor)
{
ASSERT(m_suspendCount);
@@ -544,12 +547,11 @@ void QtViewportInteractionEngine::pinchGestureRequestUpdate(const QPointF& pinch
// Allow zooming out beyond mimimum scale on pages that do not explicitly disallow it.
const qreal targetCSSScale = outerBoundedCSSScale(cssScale);
- QPointF pinchCenterInViewportCoordinates = m_viewport->mapFromItem(m_content, pinchCenterInContentCoordinates);
-
- scaleContent(pinchCenterInContentCoordinates, targetCSSScale);
+ scaleContent(m_viewport->mapToWebContent(pinchCenterInViewportCoordinates), targetCSSScale);
const QPointF positionDiff = pinchCenterInViewportCoordinates - m_lastPinchCenterInViewportCoordinates;
m_lastPinchCenterInViewportCoordinates = pinchCenterInViewportCoordinates;
+
m_content->setPos(m_content->pos() + positionDiff);
}
@@ -576,12 +578,12 @@ void QtViewportInteractionEngine::itemSizeChanged()
ensureContentWithinViewportBoundary();
}
-void QtViewportInteractionEngine::scaleContent(const QPointF& centerInContentCoordinates, qreal cssScale)
+void QtViewportInteractionEngine::scaleContent(const QPointF& centerInCSSCoordinates, qreal cssScale)
{
- QPointF oldPinchCenterOnParent = m_content->mapToItem(m_content->parentItem(), centerInContentCoordinates);
- m_content->setScale(itemScaleFromCSS(cssScale));
- QPointF newPinchCenterOnParent = m_content->mapToItem(m_content->parentItem(), centerInContentCoordinates);
- m_content->setPos(m_content->pos() - (newPinchCenterOnParent - oldPinchCenterOnParent));
+ QPointF oldPinchCenterOnViewport = m_viewport->mapFromWebContent(centerInCSSCoordinates);
+ m_content->setContentScale(itemScaleFromCSS(cssScale));
+ QPointF newPinchCenterOnViewport = m_viewport->mapFromWebContent(centerInCSSCoordinates);
+ m_content->setPos(m_content->pos() - (newPinchCenterOnViewport - oldPinchCenterOnViewport));
}
#include "moc_QtViewportInteractionEngine.cpp"
diff --git a/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.h b/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.h
index 68377a41c..1790c72ed 100644
--- a/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.h
+++ b/Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.h
@@ -33,6 +33,8 @@
QT_BEGIN_NAMESPACE
class QPointF;
class QQuickItem;
+class QQuickWebPage;
+class QQuickWebView;
class QWheelEvent;
QT_END_NAMESPACE
@@ -44,7 +46,7 @@ class QtViewportInteractionEngine : public QObject {
Q_OBJECT
public:
- QtViewportInteractionEngine(const QQuickItem*, QQuickItem*);
+ QtViewportInteractionEngine(const QQuickWebView*, QQuickWebPage*);
~QtViewportInteractionEngine();
struct Constraints {
@@ -80,17 +82,17 @@ public:
void interruptScrollAnimation();
bool panGestureActive() const;
- void panGestureStarted(const QPointF& touchPoint, qint64 eventTimestampMillis);
- void panGestureRequestUpdate(const QPointF& touchPoint, qint64 eventTimestampMillis);
+ void panGestureStarted(const QPointF& viewportTouchPoint, qint64 eventTimestampMillis);
+ void panGestureRequestUpdate(const QPointF& viewportTouchPoint, qint64 eventTimestampMillis);
void panGestureCancelled();
- void panGestureEnded(const QPointF& touchPoint, qint64 eventTimestampMillis);
+ void panGestureEnded(const QPointF& viewportTouchPoint, qint64 eventTimestampMillis);
bool scaleAnimationActive() const;
void interruptScaleAnimation();
bool pinchGestureActive() const;
- void pinchGestureStarted(const QPointF& pinchCenterInContentCoordinates);
- void pinchGestureRequestUpdate(const QPointF& pinchCenterInContentCoordinates, qreal totalScaleFactor);
+ void pinchGestureStarted(const QPointF& pinchCenterInViewportCoordinates);
+ void pinchGestureRequestUpdate(const QPointF& pinchCenterInViewportCoordinates, qreal totalScaleFactor);
void pinchGestureEnded();
void zoomToAreaGestureEnded(const QPointF& touchPoint, const QRectF& targetArea);
@@ -127,14 +129,14 @@ private:
QRectF computePosRangeForItemAtScale(qreal itemScale) const;
bool ensureContentWithinViewportBoundary(bool immediate = false);
- void scaleContent(const QPointF& centerInContentCoordinates, qreal scale);
+ void scaleContent(const QPointF& centerInCSSCoordinates, qreal cssScale);
// As long as the object exists this function will always return the same QScroller instance.
QScroller* scroller() { return QScroller::scroller(this); }
- const QQuickItem* const m_viewport;
- QQuickItem* const m_content;
+ const QQuickWebView* const m_viewport;
+ QQuickWebPage* const m_content;
Constraints m_constraints;
diff --git a/Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.cpp b/Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.cpp
index d0196880d..e5175201a 100644
--- a/Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.cpp
+++ b/Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.cpp
@@ -29,11 +29,13 @@
#include <QDrag>
#include <QGraphicsSceneMouseEvent>
#include <QGuiApplication>
+#include <QInputPanel>
#include <QMimeData>
#include <QtQuick/QQuickCanvas>
#include <QStyleHints>
#include <QTextFormat>
#include <QTouchEvent>
+#include <QTransform>
#include <WebCore/DragData.h>
#include <WebCore/Editor.h>
@@ -90,6 +92,7 @@ QtWebPageEventHandler::QtWebPageEventHandler(WKPageRef pageRef, QQuickWebPage* q
, m_webPage(qmlWebPage)
, m_previousClickButton(Qt::NoButton)
, m_clickCount(0)
+ , m_postponeTextInputStateChanged(false)
{
}
@@ -139,7 +142,7 @@ bool QtWebPageEventHandler::handleEvent(QEvent* ev)
return true;
case QEvent::InputMethod:
inputMethodEvent(static_cast<QInputMethodEvent*>(ev));
- return false; // Look at comment in qquickwebpage.cpp
+ return false; // This is necessary to avoid an endless loop in connection with QQuickItem::event().
}
// FIXME: Move all common event handling here.
@@ -154,42 +157,50 @@ bool QtWebPageEventHandler::handleMouseMoveEvent(QMouseEvent* ev)
// NOTE: lastPos from the event always comes empty, so we work
// around that here.
static QPointF lastPos = QPointF();
- if (lastPos == ev->pos())
+ QTransform fromItemTransform = m_webPage->transformFromItem();
+ QPointF webPagePoint = fromItemTransform.map(ev->localPos());
+ if (lastPos == webPagePoint)
return ev->isAccepted();
- lastPos = ev->pos();
+ lastPos = webPagePoint;
- m_webPageProxy->handleMouseEvent(NativeWebMouseEvent(ev, /*eventClickCount*/ 0));
+ m_webPageProxy->handleMouseEvent(NativeWebMouseEvent(ev, fromItemTransform, /*eventClickCount*/ 0));
return ev->isAccepted();
}
bool QtWebPageEventHandler::handleMousePressEvent(QMouseEvent* ev)
{
+ QTransform fromItemTransform = m_webPage->transformFromItem();
+ QPointF webPagePoint = fromItemTransform.map(ev->localPos());
+
if (m_clickTimer.isActive()
&& m_previousClickButton == ev->button()
- && (ev->pos() - m_lastClick).manhattanLength() < qApp->styleHints()->startDragDistance()) {
+ && (webPagePoint - m_lastClick).manhattanLength() < qApp->styleHints()->startDragDistance()) {
m_clickCount++;
} else {
m_clickCount = 1;
m_previousClickButton = ev->button();
}
- m_webPageProxy->handleMouseEvent(NativeWebMouseEvent(ev, m_clickCount));
+ m_webPageProxy->handleMouseEvent(NativeWebMouseEvent(ev, fromItemTransform, m_clickCount));
- m_lastClick = ev->pos();
+ m_lastClick = webPagePoint;
m_clickTimer.start(qApp->styleHints()->mouseDoubleClickInterval(), this);
+
return ev->isAccepted();
}
bool QtWebPageEventHandler::handleMouseReleaseEvent(QMouseEvent* ev)
{
- m_webPageProxy->handleMouseEvent(NativeWebMouseEvent(ev, /*eventClickCount*/ 0));
+ QTransform fromItemTransform = m_webPage->transformFromItem();
+ m_webPageProxy->handleMouseEvent(NativeWebMouseEvent(ev, fromItemTransform, /*eventClickCount*/ 0));
return ev->isAccepted();
}
bool QtWebPageEventHandler::handleWheelEvent(QWheelEvent* ev)
{
- m_webPageProxy->handleWheelEvent(NativeWebWheelEvent(ev));
+ QTransform fromItemTransform = m_webPage->transformFromItem();
+ m_webPageProxy->handleWheelEvent(NativeWebWheelEvent(ev, fromItemTransform));
// FIXME: Handle whether the page used the wheel event or not.
if (m_interactionEngine)
m_interactionEngine->wheelEvent(ev);
@@ -200,14 +211,16 @@ bool QtWebPageEventHandler::handleHoverLeaveEvent(QHoverEvent* ev)
{
// To get the correct behavior of mouseout, we need to turn the Leave event of our webview into a mouse move
// to a very far region.
- QHoverEvent fakeEvent(QEvent::HoverMove, QPoint(INT_MIN, INT_MIN), ev->oldPos());
+ QTransform fromItemTransform = m_webPage->transformFromItem();
+ QHoverEvent fakeEvent(QEvent::HoverMove, QPoint(INT_MIN, INT_MIN), fromItemTransform.map(ev->oldPosF()));
fakeEvent.setTimestamp(ev->timestamp());
return handleHoverMoveEvent(&fakeEvent);
}
bool QtWebPageEventHandler::handleHoverMoveEvent(QHoverEvent* ev)
{
- QMouseEvent me(QEvent::MouseMove, ev->pos(), Qt::NoButton, Qt::NoButton, Qt::NoModifier);
+ QTransform fromItemTransform = m_webPage->transformFromItem();
+ QMouseEvent me(QEvent::MouseMove, fromItemTransform.map(ev->posF()), Qt::NoButton, Qt::NoButton, Qt::NoModifier);
me.setAccepted(ev->isAccepted());
me.setTimestamp(ev->timestamp());
@@ -217,8 +230,9 @@ bool QtWebPageEventHandler::handleHoverMoveEvent(QHoverEvent* ev)
bool QtWebPageEventHandler::handleDragEnterEvent(QDragEnterEvent* ev)
{
m_webPageProxy->resetDragOperation();
+ QTransform fromItemTransform = m_webPage->transformFromItem();
// FIXME: Should not use QCursor::pos()
- DragData dragData(ev->mimeData(), ev->pos(), QCursor::pos(), dropActionToDragOperation(ev->possibleActions()));
+ DragData dragData(ev->mimeData(), fromItemTransform.map(ev->pos()), QCursor::pos(), dropActionToDragOperation(ev->possibleActions()));
m_webPageProxy->dragEntered(&dragData);
ev->acceptProposedAction();
return true;
@@ -241,8 +255,9 @@ bool QtWebPageEventHandler::handleDragMoveEvent(QDragMoveEvent* ev)
{
bool accepted = ev->isAccepted();
+ QTransform fromItemTransform = m_webPage->transformFromItem();
// FIXME: Should not use QCursor::pos()
- DragData dragData(ev->mimeData(), ev->pos(), QCursor::pos(), dropActionToDragOperation(ev->possibleActions()));
+ DragData dragData(ev->mimeData(), fromItemTransform.map(ev->pos()), QCursor::pos(), dropActionToDragOperation(ev->possibleActions()));
m_webPageProxy->dragUpdated(&dragData);
ev->setDropAction(dragOperationToDropAction(m_webPageProxy->dragSession().operation));
if (m_webPageProxy->dragSession().operation != DragOperationNone)
@@ -255,9 +270,9 @@ bool QtWebPageEventHandler::handleDragMoveEvent(QDragMoveEvent* ev)
bool QtWebPageEventHandler::handleDropEvent(QDropEvent* ev)
{
bool accepted = ev->isAccepted();
-
+ QTransform fromItemTransform = m_webPage->transformFromItem();
// FIXME: Should not use QCursor::pos()
- DragData dragData(ev->mimeData(), ev->pos(), QCursor::pos(), dropActionToDragOperation(ev->possibleActions()));
+ DragData dragData(ev->mimeData(), fromItemTransform.map(ev->pos()), QCursor::pos(), dropActionToDragOperation(ev->possibleActions()));
SandboxExtension::Handle handle;
m_webPageProxy->performDrag(&dragData, String(), handle);
ev->setDropAction(dragOperationToDropAction(m_webPageProxy->dragSession().operation));
@@ -269,13 +284,17 @@ bool QtWebPageEventHandler::handleDropEvent(QDropEvent* ev)
void QtWebPageEventHandler::handleSingleTapEvent(const QTouchEvent::TouchPoint& point)
{
- WebGestureEvent gesture(WebEvent::GestureSingleTap, point.pos().toPoint(), point.screenPos().toPoint(), WebEvent::Modifiers(0), 0);
+ m_postponeTextInputStateChanged = true;
+
+ QTransform fromItemTransform = m_webPage->transformFromItem();
+ WebGestureEvent gesture(WebEvent::GestureSingleTap, fromItemTransform.map(point.pos()).toPoint(), point.screenPos().toPoint(), WebEvent::Modifiers(0), 0);
m_webPageProxy->handleGestureEvent(gesture);
}
void QtWebPageEventHandler::handleDoubleTapEvent(const QTouchEvent::TouchPoint& point)
{
- m_webPageProxy->findZoomableAreaForPoint(point.pos().toPoint());
+ QTransform fromItemTransform = m_webPage->transformFromItem();
+ m_webPageProxy->findZoomableAreaForPoint(fromItemTransform.map(point.pos()).toPoint());
}
void QtWebPageEventHandler::timerEvent(QTimerEvent* ev)
@@ -386,11 +405,12 @@ void QtWebPageEventHandler::inputMethodEvent(QInputMethodEvent* ev)
void QtWebPageEventHandler::touchEvent(QTouchEvent* event)
{
#if ENABLE(TOUCH_EVENTS)
- m_webPageProxy->handleTouchEvent(NativeWebTouchEvent(event));
+ QTransform fromItemTransform = m_webPage->transformFromItem();
+ m_webPageProxy->handleTouchEvent(NativeWebTouchEvent(event, fromItemTransform));
event->accept();
#else
ASSERT_NOT_REACHED();
- ev->ignore();
+ event->ignore();
#endif
}
@@ -401,6 +421,42 @@ void QtWebPageEventHandler::resetGestureRecognizers()
m_tapGestureRecognizer.reset();
}
+static void setInputPanelVisible(bool visible)
+{
+ if (qApp->inputPanel()->visible() == visible)
+ return;
+
+ qApp->inputPanel()->setVisible(visible);
+}
+
+void QtWebPageEventHandler::updateTextInputState()
+{
+ if (m_postponeTextInputStateChanged)
+ return;
+
+ const EditorState& editor = m_webPageProxy->editorState();
+
+ // Ignore input method requests not due to a tap gesture.
+ if (!editor.isContentEditable)
+ setInputPanelVisible(false);
+}
+
+void QtWebPageEventHandler::doneWithGestureEvent(const WebGestureEvent& event, bool wasEventHandled)
+{
+ if (event.type() != WebEvent::GestureSingleTap)
+ return;
+
+ m_postponeTextInputStateChanged = false;
+
+ if (!wasEventHandled)
+ return;
+
+ const EditorState& editor = m_webPageProxy->editorState();
+ bool newVisible = editor.isContentEditable;
+
+ setInputPanelVisible(newVisible);
+}
+
void QtWebPageEventHandler::doneWithTouchEvent(const NativeWebTouchEvent& event, bool wasEventHandled)
{
if (!m_interactionEngine)
diff --git a/Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.h b/Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.h
index dfab4c8b9..f5b7fb317 100644
--- a/Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.h
+++ b/Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.h
@@ -52,6 +52,8 @@ public:
void didFindZoomableArea(const WebCore::IntPoint& target, const WebCore::IntRect& area);
void focusEditableArea(const WebCore::IntRect& caret, const WebCore::IntRect& area);
+ void updateTextInputState();
+ void doneWithGestureEvent(const WebGestureEvent& event, bool wasEventHandled);
void doneWithTouchEvent(const NativeWebTouchEvent&, bool wasEventHandled);
void resetGestureRecognizers();
@@ -88,10 +90,11 @@ private:
void touchEvent(QTouchEvent*);
void inputMethodEvent(QInputMethodEvent*);
- QPoint m_lastClick;
+ QPointF m_lastClick;
QBasicTimer m_clickTimer;
Qt::MouseButton m_previousClickButton;
int m_clickCount;
+ bool m_postponeTextInputStateChanged;
};
#endif /* QtWebPageEventHandler_h */
diff --git a/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj b/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
index 8aff50214..f851edc74 100644
--- a/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
+++ b/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
@@ -204,6 +204,7 @@
1AAF0C4B12B16334008E49E2 /* ArgumentCodersCF.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AAF0C4912B16334008E49E2 /* ArgumentCodersCF.cpp */; };
1AAF263814687C39004A1E8A /* TiledCoreAnimationDrawingArea.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1AAF263614687C39004A1E8A /* TiledCoreAnimationDrawingArea.mm */; };
1AAF263914687C39004A1E8A /* TiledCoreAnimationDrawingArea.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AAF263714687C39004A1E8A /* TiledCoreAnimationDrawingArea.h */; };
+ 1AB42E8714BBBBB2004272F7 /* KeychainShimResponseMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AB42E8614BBBBB2004272F7 /* KeychainShimResponseMap.h */; };
1AB7D4CA1288AAA700CFD08C /* DownloadProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AB7D4C81288AAA700CFD08C /* DownloadProxy.h */; };
1AB7D4CB1288AAA700CFD08C /* DownloadProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AB7D4C91288AAA700CFD08C /* DownloadProxy.cpp */; };
1AB7D6191288B9D900CFD08C /* DownloadProxyMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AB7D6171288B9D900CFD08C /* DownloadProxyMessageReceiver.cpp */; };
@@ -455,8 +456,6 @@
9391F2CA121B679A00EBF7E8 /* WebFrameNetworkingContext.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9391F284121B38F500EBF7E8 /* WebFrameNetworkingContext.mm */; };
9391F2CB121B67AD00EBF7E8 /* WebFrameNetworkingContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 9391F283121B38F500EBF7E8 /* WebFrameNetworkingContext.h */; };
939AE7661316E99C00AE06A6 /* WebCoreArgumentCoders.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 939AE7651316E99C00AE06A6 /* WebCoreArgumentCoders.cpp */; };
- 93C01DAC139AC91700ED51D7 /* CoreIPCClientRunLoop.h in Headers */ = {isa = PBXBuildFile; fileRef = 93C01DAA139AC91700ED51D7 /* CoreIPCClientRunLoop.h */; };
- 93C01DAD139AC91700ED51D7 /* CoreIPCClientRunLoop.mm in Sources */ = {isa = PBXBuildFile; fileRef = 93C01DAB139AC91700ED51D7 /* CoreIPCClientRunLoop.mm */; };
93FC67BD12D3CCF200A60610 /* DecoderAdapter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93FC679D12D3CC7400A60610 /* DecoderAdapter.cpp */; };
93FC67BE12D3CCF200A60610 /* DecoderAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = 93FC679E12D3CC7400A60610 /* DecoderAdapter.h */; };
93FC67BF12D3CCF200A60610 /* EncoderAdapter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93FC679F12D3CC7400A60610 /* EncoderAdapter.cpp */; };
@@ -980,8 +979,8 @@
dstPath = WebKit2.framework;
dstSubfolderSpec = 1;
files = (
- 1A50DB66110A3D57000D3FE5 /* WebProcess.app in CopyFiles */,
BCDE0ABF13272708001259FB /* PluginProcess.app in CopyFiles */,
+ 1A50DB66110A3D57000D3FE5 /* WebProcess.app in CopyFiles */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -1197,6 +1196,7 @@
1AAF0C4912B16334008E49E2 /* ArgumentCodersCF.cpp */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = ArgumentCodersCF.cpp; sourceTree = "<group>"; };
1AAF263614687C39004A1E8A /* TiledCoreAnimationDrawingArea.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = TiledCoreAnimationDrawingArea.mm; sourceTree = "<group>"; };
1AAF263714687C39004A1E8A /* TiledCoreAnimationDrawingArea.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TiledCoreAnimationDrawingArea.h; sourceTree = "<group>"; };
+ 1AB42E8614BBBBB2004272F7 /* KeychainShimResponseMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KeychainShimResponseMap.h; sourceTree = "<group>"; };
1AB7D4C81288AAA700CFD08C /* DownloadProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DownloadProxy.h; sourceTree = "<group>"; };
1AB7D4C91288AAA700CFD08C /* DownloadProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DownloadProxy.cpp; sourceTree = "<group>"; };
1AB7D5E91288B8C000CFD08C /* DownloadProxy.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DownloadProxy.messages.in; sourceTree = "<group>"; };
@@ -1472,8 +1472,6 @@
9391F283121B38F500EBF7E8 /* WebFrameNetworkingContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebFrameNetworkingContext.h; sourceTree = "<group>"; };
9391F284121B38F500EBF7E8 /* WebFrameNetworkingContext.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebFrameNetworkingContext.mm; sourceTree = "<group>"; };
939AE7651316E99C00AE06A6 /* WebCoreArgumentCoders.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebCoreArgumentCoders.cpp; sourceTree = "<group>"; };
- 93C01DAA139AC91700ED51D7 /* CoreIPCClientRunLoop.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CoreIPCClientRunLoop.h; sourceTree = "<group>"; };
- 93C01DAB139AC91700ED51D7 /* CoreIPCClientRunLoop.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CoreIPCClientRunLoop.mm; sourceTree = "<group>"; };
93FC679D12D3CC7400A60610 /* DecoderAdapter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DecoderAdapter.cpp; sourceTree = "<group>"; };
93FC679E12D3CC7400A60610 /* DecoderAdapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DecoderAdapter.h; sourceTree = "<group>"; };
93FC679F12D3CC7400A60610 /* EncoderAdapter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EncoderAdapter.cpp; sourceTree = "<group>"; };
@@ -1997,12 +1995,12 @@
1AA1CD07100FA1BA0078DEBC /* Carbon.framework in Frameworks */,
8DC2EF570486A6940098B216 /* Cocoa.framework in Frameworks */,
BCD0042D110C1E27003B8A67 /* CoreServices.framework in Frameworks */,
+ CDCA85D5132AC2B300E961DF /* IOKit.framework in Frameworks */,
BC617EE8104CB34700FB3FE1 /* JavaScriptCore.framework in Frameworks */,
BC87DFAA1018101400564216 /* libicucore.dylib in Frameworks */,
1AA1CC5D100FA1A10078DEBC /* QuartzCore.framework in Frameworks */,
- 1A1C4EC810D06099005E67E7 /* WebCore.framework in Frameworks */,
BCF5068512431861005955AE /* Security.framework in Frameworks */,
- CDCA85D5132AC2B300E961DF /* IOKit.framework in Frameworks */,
+ 1A1C4EC810D06099005E67E7 /* WebCore.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -2012,10 +2010,10 @@
034768DFFF38A50411DB9C8B /* Products */ = {
isa = PBXGroup;
children = (
+ BCDE094213272496001259FB /* PluginProcess.app */,
+ 1AC25FB012A48EA700BD2671 /* PluginProcessShim.dylib */,
8DC2EF5B0486A6940098B216 /* WebKit2.framework */,
1A50DB1E110A3BDC000D3FE5 /* WebProcess.app */,
- 1AC25FB012A48EA700BD2671 /* PluginProcessShim.dylib */,
- BCDE094213272496001259FB /* PluginProcess.app */,
510031F61379CACB00C8DFE4 /* WebProcessShim.dylib */,
);
name = Products;
@@ -2081,8 +2079,8 @@
1AA1C7DE100E846E0078DEBC /* JavaScriptCore.framework */,
BC87DFA91018101400564216 /* libicucore.dylib */,
1AA1CC5C100FA1A10078DEBC /* QuartzCore.framework */,
- 1AA1C79A100E7FC50078DEBC /* WebCore.framework */,
BCF5068412431861005955AE /* Security.framework */,
+ 1AA1C79A100E7FC50078DEBC /* WebCore.framework */,
);
name = "Linked Frameworks";
sourceTree = "<group>";
@@ -2120,10 +2118,10 @@
isa = PBXGroup;
children = (
1A2D91A51281D739001EB962 /* PluginControllerProxyMac.mm */,
- 1A0EC802124BD41E007EF4A5 /* PluginProcessMainMac.mm */,
1AA4792212A59FD9008236C3 /* PluginProcessMac.mm */,
- 1AC25F8A12A48E0300BD2671 /* PluginProcessShim.mm */,
+ 1A0EC802124BD41E007EF4A5 /* PluginProcessMainMac.mm */,
1AC25F8912A48E0300BD2671 /* PluginProcessShim.h */,
+ 1AC25F8A12A48E0300BD2671 /* PluginProcessShim.mm */,
);
path = mac;
sourceTree = "<group>";
@@ -2149,12 +2147,12 @@
1A4F9769100E7B6600637A18 /* Configurations */ = {
isa = PBXGroup;
children = (
- 5183B3931379F85C00E8754E /* Shim.xcconfig */,
1A4F976A100E7B6600637A18 /* Base.xcconfig */,
5DAD73F1116FF90C00EE5396 /* BaseTarget.xcconfig */,
1A4F976B100E7B6600637A18 /* DebugRelease.xcconfig */,
1A4F976C100E7B6600637A18 /* FeatureDefines.xcconfig */,
BC122FA3132707F300F7EAC1 /* PluginProcess.xcconfig */,
+ 5183B3931379F85C00E8754E /* Shim.xcconfig */,
1A4F976E100E7B6600637A18 /* Version.xcconfig */,
BCB86F4B116AAACD00CE20B7 /* WebKit2.xcconfig */,
5DAD7294116FF70B00EE5396 /* WebProcess.xcconfig */,
@@ -2187,10 +2185,9 @@
1A6FA01C11E1526300DB1371 /* mac */ = {
isa = PBXGroup;
children = (
- 93C01DAA139AC91700ED51D7 /* CoreIPCClientRunLoop.h */,
- 93C01DAB139AC91700ED51D7 /* CoreIPCClientRunLoop.mm */,
512DF6D6138C181A00A22FC6 /* KeychainItemShimMethods.h */,
512DF6D7138C181A00A22FC6 /* KeychainItemShimMethods.mm */,
+ 1AB42E8614BBBBB2004272F7 /* KeychainShimResponseMap.h */,
511F8A7D138B46FE00A95F44 /* SecItemShimMethods.h */,
511F8A7E138B46FE00A95F44 /* SecItemShimMethods.mm */,
BC3065C312592F8900E71278 /* WebProcessMac.mm */,
@@ -2204,8 +2201,8 @@
1A6FB7AA11E64B4900DB1371 /* Plugins */ = {
isa = PBXGroup;
children = (
- E199875B142BF9CF00BB2DE7 /* PDF */,
1A6FB90811E66FB100DB1371 /* Netscape */,
+ E199875B142BF9CF00BB2DE7 /* PDF */,
1A6FB7D011E651E200DB1371 /* Plugin.cpp */,
1A6FB7D111E651E200DB1371 /* Plugin.h */,
1AA56F2811E92BC80061B882 /* PluginController.h */,
@@ -2231,18 +2228,18 @@
1AE49A4711FFA8CE0048B464 /* JSNPMethod.h */,
1AE4987711FF7FAA0048B464 /* JSNPObject.cpp */,
1AE4987611FF7FAA0048B464 /* JSNPObject.h */,
- 1AE4976711FF658E0048B464 /* NPJSObject.cpp */,
- 1AE4976611FF658E0048B464 /* NPJSObject.h */,
- 1A2161AF11F37664008AD0F5 /* NPRuntimeObjectMap.cpp */,
- 1A2161AE11F37664008AD0F5 /* NPRuntimeObjectMap.h */,
- 1A2162AE11F38971008AD0F5 /* NPRuntimeUtilities.cpp */,
- 1A2162AF11F38971008AD0F5 /* NPRuntimeUtilities.h */,
1A6FBA2911E6862700DB1371 /* NetscapeBrowserFuncs.cpp */,
1A6FBA2811E6862700DB1371 /* NetscapeBrowserFuncs.h */,
1A6FBD2711E69BC200DB1371 /* NetscapePlugin.cpp */,
1A6FBD2611E69BC200DB1371 /* NetscapePlugin.h */,
1AA5889111EE70400061B882 /* NetscapePluginStream.cpp */,
1AA5889011EE70400061B882 /* NetscapePluginStream.h */,
+ 1AE4976711FF658E0048B464 /* NPJSObject.cpp */,
+ 1AE4976611FF658E0048B464 /* NPJSObject.h */,
+ 1A2161AF11F37664008AD0F5 /* NPRuntimeObjectMap.cpp */,
+ 1A2161AE11F37664008AD0F5 /* NPRuntimeObjectMap.h */,
+ 1A2162AE11F38971008AD0F5 /* NPRuntimeUtilities.cpp */,
+ 1A2162AF11F38971008AD0F5 /* NPRuntimeUtilities.h */,
);
path = Netscape;
sourceTree = "<group>";
@@ -2311,6 +2308,9 @@
C517388012DF8F4F00EE3F47 /* DragControllerAction.h */,
0FB659221208B4DB0044816C /* DrawingAreaInfo.h */,
8CFECE931490F140002AAA32 /* EditorState.cpp */,
+ 1AA41AB412C02EC4002BE67B /* EditorState.h */,
+ BCE81D8A1319F7EF00241910 /* FontInfo.cpp */,
+ BCE81D8B1319F7EF00241910 /* FontInfo.h */,
762B7481120BBA0100819339 /* FontSmoothingLevel.h */,
F638954F133BEF38008941D5 /* HTTPCookieAcceptPolicy.h */,
BCCF6B2312C93E7A008F9C35 /* ImageOptions.h */,
@@ -2332,14 +2332,11 @@
BCC43AB9127B95DC00317F16 /* PlatformPopupMenuData.h */,
E18C92F312DB9E7100CF2AEB /* PrintInfo.cpp */,
E1CC1B8E12D7EADF00625838 /* PrintInfo.h */,
- BCE81D8A1319F7EF00241910 /* FontInfo.cpp */,
- BCE81D8B1319F7EF00241910 /* FontInfo.h */,
F6A0C13F13281E6E0070430F /* ResourceCachesToClear.h */,
BC2D021612AC41CB00E732A3 /* SameDocumentNavigationType.h */,
1AAB4A8C1296F0A20023952F /* SandboxExtension.h */,
33152973130D0CB200ED2483 /* SecurityOriginData.cpp */,
33152974130D0CB200ED2483 /* SecurityOriginData.h */,
- 1AA41AB412C02EC4002BE67B /* EditorState.h */,
518D2CC812D51DFB003BB93B /* SessionState.cpp */,
518D2CC912D51DFB003BB93B /* SessionState.h */,
1A6420E212DCE2FF00CAAE2C /* ShareableBitmap.cpp */,
@@ -2374,9 +2371,10 @@
BC032DB010F4380F0058C15A /* WebEventConversion.cpp */,
BC032DB110F4380F0058C15A /* WebEventConversion.h */,
1A90C1ED1264FD50003E44D4 /* WebFindOptions.h */,
- 0F174AA2142A4CB60039250F /* WebGeometry.h */,
BC0E607212D6BC200012A72A /* WebGeolocationPosition.cpp */,
BC0E607112D6BC200012A72A /* WebGeolocationPosition.h */,
+ 0F174AA2142A4CB60039250F /* WebGeometry.h */,
+ BC9585C712F095B800755821 /* WebGestureEvent.cpp */,
BCA56A1B12F9028E00C566C7 /* WebGraphicsContext.cpp */,
BCA56A1A12F9028E00C566C7 /* WebGraphicsContext.h */,
7801C095142290C400FAF9AF /* WebHitTestResult.cpp */,
@@ -2413,7 +2411,6 @@
BC90A1D0122DD55E00CC8C50 /* WebURLResponse.h */,
F6113E24126CE1820057D0A7 /* WebUserContentURLPattern.h */,
C0337DD0127A2980008FF4F4 /* WebWheelEvent.cpp */,
- BC9585C712F095B800755821 /* WebGestureEvent.cpp */,
);
path = Shared;
sourceTree = "<group>";
@@ -2425,11 +2422,6 @@
children = (
1A9FBA8B13FF04E600DEED67 /* mac */,
1A4A9C5212B816CF008FE984 /* Netscape */,
- 1A3D60FF13A7CC2A00F95D4E /* PluginModuleInfo.cpp */,
- 1A3D610013A7CC2A00F95D4E /* PluginModuleInfo.h */,
- 1A2D90D11281C966001EB962 /* PluginProcessCreationParameters.cpp */,
- 1A2D90D01281C966001EB962 /* PluginProcessCreationParameters.h */,
- 1A4A9F3112B844E2008FE984 /* PluginQuirks.h */,
1A2D848A127F6A49001EB962 /* NPIdentifierData.cpp */,
1A2D8489127F6A49001EB962 /* NPIdentifierData.h */,
1A1FA35C127A45BF0050E709 /* NPObjectMessageReceiver.cpp */,
@@ -2441,6 +2433,11 @@
1A1FA251127A0E4F0050E709 /* NPRemoteObjectMap.h */,
1A2D84A2127F6AD1001EB962 /* NPVariantData.cpp */,
1A2D84A1127F6AD1001EB962 /* NPVariantData.h */,
+ 1A3D60FF13A7CC2A00F95D4E /* PluginModuleInfo.cpp */,
+ 1A3D610013A7CC2A00F95D4E /* PluginModuleInfo.h */,
+ 1A2D90D11281C966001EB962 /* PluginProcessCreationParameters.cpp */,
+ 1A2D90D01281C966001EB962 /* PluginProcessCreationParameters.h */,
+ 1A4A9F3112B844E2008FE984 /* PluginQuirks.h */,
);
path = Plugins;
sourceTree = "<group>";
@@ -2472,9 +2469,9 @@
1AC41AC51263C88300054E94 /* BinarySemaphore.h */,
BC032DA210F437D10058C15A /* Connection.cpp */,
BC032DA310F437D10058C15A /* Connection.h */,
+ BC131BC811726C2800B69727 /* CoreIPCMessageKinds.h */,
1A8EFDFD1253CB6E00F7067F /* DataReference.cpp */,
1A8EFDF91253CAA200F7067F /* DataReference.h */,
- BC131BC811726C2800B69727 /* CoreIPCMessageKinds.h */,
C0CE72AC1247E78D00BC0EC4 /* HandleMessage.h */,
BC032DA410F437D10058C15A /* MessageID.h */,
1A119A94127B796200A9ECB1 /* MessageSender.h */,
@@ -2534,10 +2531,10 @@
31A2EC401489973700810D71 /* Notifications */ = {
isa = PBXGroup;
children = (
- 31A2EC4F1489980500810D71 /* NotificationPermissionRequestManagerProxy.cpp */,
- 31A2EC511489981500810D71 /* NotificationPermissionRequestManagerProxy.h */,
31A2EC541489982E00810D71 /* NotificationPermissionRequest.cpp */,
31A2EC531489982500810D71 /* NotificationPermissionRequest.h */,
+ 31A2EC4F1489980500810D71 /* NotificationPermissionRequestManagerProxy.cpp */,
+ 31A2EC511489981500810D71 /* NotificationPermissionRequestManagerProxy.h */,
31A2EC41148997BE00810D71 /* WebNotification.cpp */,
31A2EC42148997BE00810D71 /* WebNotification.h */,
31A2EC43148997BE00810D71 /* WebNotificationManagerProxy.cpp */,
@@ -2705,11 +2702,11 @@
BC032D5C10F436D50058C15A /* WebProcess */ = {
isa = PBXGroup;
children = (
- CD73BA3D131A2A2100EEDED2 /* FullScreen */,
512E352A130B559900ABD19A /* ApplicationCache */,
512F588612A8834700629530 /* Authentication */,
3309344B1315B93A0097A7BC /* Cookies */,
1A61614C127798B5003ACD86 /* Downloads */,
+ CD73BA3D131A2A2100EEDED2 /* FullScreen */,
BC0E5FCB12D696DD0012A72A /* Geolocation */,
51FBB9C1132E079200F327B4 /* IconDatabase */,
BC204EDF11C83E72008F3375 /* InjectedBundle */,
@@ -2721,9 +2718,9 @@
3336762B130C9978006C9DE2 /* ResourceCache */,
BC032D5D10F437220058C15A /* WebCoreSupport */,
BC032D5E10F4372B0058C15A /* WebPage */,
- 1A6FA31511E3923600DB1371 /* WebKitMain.cpp */,
BCE9C0CF1485965D00E33D61 /* WebConnectionToUIProcess.cpp */,
BCE9C0D01485965D00E33D61 /* WebConnectionToUIProcess.h */,
+ 1A6FA31511E3923600DB1371 /* WebKitMain.cpp */,
BC111AE3112F5C2600337BAB /* WebProcess.cpp */,
BC032D9110F437AF0058C15A /* WebProcess.h */,
BC3066B9125A436300E71278 /* WebProcess.messages.in */,
@@ -2784,9 +2781,9 @@
1A6421F412DCFBAB00CAAE2C /* DrawingAreaImpl.h */,
93FC679F12D3CC7400A60610 /* EncoderAdapter.cpp */,
93FC67A012D3CC7400A60610 /* EncoderAdapter.h */,
- 1AA575FD1496B6F300A4EE06 /* EventDispatcher.messages.in */,
1AA575F81496B52600A4EE06 /* EventDispatcher.cpp */,
1AA575F91496B52600A4EE06 /* EventDispatcher.h */,
+ 1AA575FD1496B6F300A4EE06 /* EventDispatcher.messages.in */,
1A90C1F31264FD71003E44D4 /* FindController.cpp */,
1A90C1F21264FD71003E44D4 /* FindController.h */,
1A186EE912EF7618008E5F37 /* LayerTreeHost.cpp */,
@@ -2797,8 +2794,6 @@
BC72B9F911E6476B001EB4EA /* WebBackForwardListProxy.h */,
51871B59127CB89D00F76232 /* WebContextMenu.cpp */,
51871B5A127CB89D00F76232 /* WebContextMenu.h */,
- BCA0EF7E12331E78007D3CFB /* WebUndoStep.cpp */,
- BCA0EF7D12331E78007D3CFB /* WebUndoStep.h */,
BC111ADC112F5B9300337BAB /* WebFrame.cpp */,
BC032D8910F437A00058C15A /* WebFrame.h */,
1C8E281F1275D15400BC7BD0 /* WebInspector.cpp */,
@@ -2811,6 +2806,8 @@
C0CE72581247E4DA00BC0EC4 /* WebPage.messages.in */,
BC7B621412A4219A00D174A4 /* WebPageGroupProxy.cpp */,
BC7B621312A4219A00D174A4 /* WebPageGroupProxy.h */,
+ BCA0EF7E12331E78007D3CFB /* WebUndoStep.cpp */,
+ BCA0EF7D12331E78007D3CFB /* WebUndoStep.h */,
);
path = WebPage;
sourceTree = "<group>";
@@ -2852,11 +2849,13 @@
512E35F0130B638C00ABD19A /* WebApplicationCacheManagerProxy.messages.in */,
BC72BA1B11E64907001EB4EA /* WebBackForwardList.cpp */,
BC72BA1C11E64907001EB4EA /* WebBackForwardList.h */,
- BC09B8F6147460F7005F5625 /* WebContextConnectionClient.cpp */,
- BC09B8F7147460F7005F5625 /* WebContextConnectionClient.h */,
+ BC4A62A514744EC6006C681A /* WebConnectionToWebProcess.cpp */,
+ BC4A62A614744EC6006C681A /* WebConnectionToWebProcess.h */,
BCB9E2421120DACA00A137E0 /* WebContext.cpp */,
BCB9E2411120DACA00A137E0 /* WebContext.h */,
BCEE7D0912846AED009827DA /* WebContext.messages.in */,
+ BC09B8F6147460F7005F5625 /* WebContextConnectionClient.cpp */,
+ BC09B8F7147460F7005F5625 /* WebContextConnectionClient.h */,
BCDE059A11CDA8AE00E41AF1 /* WebContextInjectedBundleClient.cpp */,
BCDE059911CDA8AE00E41AF1 /* WebContextInjectedBundleClient.h */,
51A84CE2127F386B00CA6EA4 /* WebContextMenuProxy.cpp */,
@@ -2933,8 +2932,6 @@
BC111B0D112F5E4F00337BAB /* WebProcessProxy.cpp */,
BC032DCF10F4389F0058C15A /* WebProcessProxy.h */,
BCEE7AB312817095009827DA /* WebProcessProxy.messages.in */,
- BC4A62A514744EC6006C681A /* WebConnectionToWebProcess.cpp */,
- BC4A62A614744EC6006C681A /* WebConnectionToWebProcess.h */,
33367632130C99B2006C9DE2 /* WebResourceCacheManagerProxy.cpp */,
33367633130C99B2006C9DE2 /* WebResourceCacheManagerProxy.h */,
33367634130C99B2006C9DE2 /* WebResourceCacheManagerProxy.messages.in */,
@@ -3016,6 +3013,8 @@
318BE17814743E6A00A8FBB2 /* WKNotification.h */,
318BE17414743DD600A8FBB2 /* WKNotificationManager.cpp */,
318BE17014743DB100A8FBB2 /* WKNotificationManager.h */,
+ 31A2EC75148D65BB00810D71 /* WKNotificationPermissionRequest.cpp */,
+ 31A2EC72148D59BB00810D71 /* WKNotificationPermissionRequest.h */,
312C0C49146DDC8A0016C911 /* WKNotificationProvider.h */,
BC857FE512B843D800EDEB2E /* WKOpenPanelParameters.cpp */,
BC857FE412B843D800EDEB2E /* WKOpenPanelParameters.h */,
@@ -3036,8 +3035,6 @@
518ACAE912AEE6BB00B04B83 /* WKProtectionSpaceTypes.h */,
33367638130C99DC006C9DE2 /* WKResourceCacheManager.cpp */,
33367639130C99DC006C9DE2 /* WKResourceCacheManager.h */,
- 31A2EC72148D59BB00810D71 /* WKNotificationPermissionRequest.h */,
- 31A2EC75148D65BB00810D71 /* WKNotificationPermissionRequest.cpp */,
);
path = C;
sourceTree = "<group>";
@@ -3057,8 +3054,8 @@
BC111ADE112F5B9A00337BAB /* mac */ = {
isa = PBXGroup;
children = (
- C554FFA212E4E8EA002F22C0 /* WebDragClientMac.mm */,
51021E9B12B16788005C033C /* WebContextMenuClientMac.mm */,
+ C554FFA212E4E8EA002F22C0 /* WebDragClientMac.mm */,
C5237F5F12441CA300780472 /* WebEditorClientMac.mm */,
BC111ADF112F5BC200337BAB /* WebErrorsMac.mm */,
9391F283121B38F500EBF7E8 /* WebFrameNetworkingContext.h */,
@@ -3132,8 +3129,8 @@
5112CB071385B97B0030867D /* KeychainAttribute.cpp */,
5112CB051385B8D90030867D /* KeychainAttribute.h */,
1A92DC1212F8BAB90017AF65 /* LayerTreeContextMac.mm */,
- 31EA25D0134F78B2005B1452 /* NativeWebMouseEventMac.mm */,
C02BFF1D1251502E009CCBEA /* NativeWebKeyboardEventMac.mm */,
+ 31EA25D0134F78B2005B1452 /* NativeWebMouseEventMac.mm */,
DF58C6351371ACA000F9A37C /* NativeWebWheelEventMac.mm */,
C574A57F12E66681002DFE98 /* PasteboardTypes.h */,
C574A58012E66681002DFE98 /* PasteboardTypes.mm */,
@@ -3201,6 +3198,8 @@
E1EE53DC11F8CF9F00CCBEE4 /* InjectedBundlePageEditorClient.h */,
BC14E107120B905E00826C0C /* InjectedBundlePageFormClient.cpp */,
BC14E108120B905E00826C0C /* InjectedBundlePageFormClient.h */,
+ CD5C669E134B9D36004FE2A8 /* InjectedBundlePageFullScreenClient.cpp */,
+ CD5C669F134B9D37004FE2A8 /* InjectedBundlePageFullScreenClient.h */,
BCA8C6A611E3BA5F00812FB7 /* InjectedBundlePageLoaderClient.cpp */,
BCA8C6A711E3BA5F00812FB7 /* InjectedBundlePageLoaderClient.h */,
BC8147A812F64CDA007B2C32 /* InjectedBundlePagePolicyClient.cpp */,
@@ -3212,8 +3211,6 @@
BC14DF76120B5B7900826C0C /* InjectedBundleScriptWorld.cpp */,
BC14DF75120B5B7900826C0C /* InjectedBundleScriptWorld.h */,
BCB0B0DD12305A8C00B1341E /* InjectedBundleUserMessageCoders.h */,
- CD5C669E134B9D36004FE2A8 /* InjectedBundlePageFullScreenClient.cpp */,
- CD5C669F134B9D37004FE2A8 /* InjectedBundlePageFullScreenClient.h */,
);
path = InjectedBundle;
sourceTree = "<group>";
@@ -3526,8 +3523,8 @@
isa = PBXGroup;
children = (
C03A136A133BEBF900D767D1 /* mac */,
- C098A053133BE1C500B199A4 /* LayerTreeHostCA.h */,
C098A054133BE1C500B199A4 /* LayerTreeHostCA.cpp */,
+ C098A053133BE1C500B199A4 /* LayerTreeHostCA.h */,
);
path = ca;
sourceTree = "<group>";
@@ -3623,9 +3620,9 @@
C0CE73351247F70E00BC0EC4 /* Scripts */ = {
isa = PBXGroup;
children = (
- C0CE73371247F70E00BC0EC4 /* generate-messages-header.py */,
- C0CE73361247F70E00BC0EC4 /* generate-message-receiver.py */,
C0CE73381247F70E00BC0EC4 /* webkit2 */,
+ C0CE73361247F70E00BC0EC4 /* generate-message-receiver.py */,
+ C0CE73371247F70E00BC0EC4 /* generate-messages-header.py */,
);
path = Scripts;
sourceTree = "<group>";
@@ -3704,442 +3701,442 @@
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
+ 1A3DD206125E5A2F004515E6 /* APIClient.h in Headers */,
+ 5D51845613BCF9CC00C7FF4A /* APIClientTraits.h in Headers */,
1AEFD27911D16C81008219D3 /* ArgumentCoder.h in Headers */,
1AEFD2F711D1807B008219D3 /* ArgumentCoders.h in Headers */,
+ 1AAF0C4A12B16334008E49E2 /* ArgumentCodersCF.h in Headers */,
+ E179FD9C134D38060015B883 /* ArgumentCodersMac.h in Headers */,
BC032DA610F437D10058C15A /* ArgumentDecoder.h in Headers */,
BC032DA810F437D10058C15A /* ArgumentEncoder.h in Headers */,
- BC8699B5116AADAA002A925B /* WKView.h in Headers */,
BC032DA910F437D10058C15A /* Arguments.h in Headers */,
BCEE966D112FAF57006BCC24 /* Attachment.h in Headers */,
+ E1A31732134CEA6C007C9A4F /* AttributedString.h in Headers */,
+ 512F589712A8838800629530 /* AuthenticationChallengeProxy.h in Headers */,
+ 512F589912A8838800629530 /* AuthenticationDecisionListener.h in Headers */,
+ 512F588B12A8836600629530 /* AuthenticationManager.h in Headers */,
+ 512F58A312A883AD00629530 /* AuthenticationManagerMessages.h in Headers */,
+ 1A64256812DE42EC00CAAE2C /* BackingStore.h in Headers */,
+ 1AC41AC71263C88300054E94 /* BinarySemaphore.h in Headers */,
+ BC3065FA1259344E00E71278 /* CacheModel.h in Headers */,
+ 1AA2E51D12E4C05E00BC4966 /* CGUtilities.h in Headers */,
+ 1A2D956F12848564001EB962 /* ChildProcess.h in Headers */,
1A6F9F9011E13EFC00DB1371 /* CommandLine.h in Headers */,
+ 37C4E9F6131C6E7E0029BD5A /* config.h in Headers */,
BC032DAB10F437D10058C15A /* Connection.h in Headers */,
+ 1A2C307112D555450063DAA2 /* ContextMenuState.h in Headers */,
BC131BC911726C2800B69727 /* CoreIPCMessageKinds.h in Headers */,
+ B878B615133428DC006888E9 /* CorrectionPanel.h in Headers */,
+ 1A8EFDFA1253CAA200F7067F /* DataReference.h in Headers */,
+ 93FC67BE12D3CCF200A60610 /* DecoderAdapter.h in Headers */,
+ BCE81D99131AE02100241910 /* DictionaryPopupInfo.h in Headers */,
+ 1A6161D41278981C003ACD86 /* Download.h in Headers */,
+ 1A616150127798B5003ACD86 /* DownloadManager.h in Headers */,
+ 1AB7D4CA1288AAA700CFD08C /* DownloadProxy.h in Headers */,
+ 1AB7D61A1288B9D900CFD08C /* DownloadProxyMessages.h in Headers */,
+ C517388112DF8F4F00EE3F47 /* DragControllerAction.h in Headers */,
BC8452A81162C80900CAB9B5 /* DrawingArea.h in Headers */,
+ 1A6421F612DCFBAB00CAAE2C /* DrawingAreaImpl.h in Headers */,
+ 0FB659231208B4DB0044816C /* DrawingAreaInfo.h in Headers */,
+ 1A64229A12DD029200CAAE2C /* DrawingAreaMessages.h in Headers */,
BC2652171182608100243E12 /* DrawingAreaProxy.h in Headers */,
+ 1A64218612DCF49200CAAE2C /* DrawingAreaProxyImpl.h in Headers */,
+ 1A64230912DD09EB00CAAE2C /* DrawingAreaProxyMessages.h in Headers */,
+ 5DA6ED0A1490606900B41D12 /* DynamicLinkerEnvironmentExtractor.h in Headers */,
+ 1AA41AB512C02EC4002BE67B /* EditorState.h in Headers */,
+ 93FC67C012D3CCF200A60610 /* EncoderAdapter.h in Headers */,
+ 51B15A8513843A3900321AD8 /* EnvironmentUtilities.h in Headers */,
+ 1A7C6CDB1378950800B9C04D /* EnvironmentVariables.h in Headers */,
+ 1AA575FB1496B52600A4EE06 /* EventDispatcher.h in Headers */,
+ 1A90C1F41264FD71003E44D4 /* FindController.h in Headers */,
+ 1A910071126675C4001842F5 /* FindIndicator.h in Headers */,
+ 1A91010A1268C8CA001842F5 /* FindIndicatorWindow.h in Headers */,
+ BCE81D8D1319F7EF00241910 /* FontInfo.h in Headers */,
BC17753F118BABF0007D9E9A /* GenericCallback.h in Headers */,
+ BC06F42F12DBB9B6002D78DE /* GeolocationPermissionRequestManager.h in Headers */,
+ BC06F44A12DBD1F5002D78DE /* GeolocationPermissionRequestManagerProxy.h in Headers */,
+ BC06F43A12DBCCFB002D78DE /* GeolocationPermissionRequestProxy.h in Headers */,
+ C0CE72AD1247E78D00BC0EC4 /* HandleMessage.h in Headers */,
+ 37F90DE31376560E0051CF68 /* HTTPCookieAcceptPolicy.h in Headers */,
+ BCCF6B2512C93E7A008F9C35 /* ImageOptions.h in Headers */,
BC64697011DBE603006455B0 /* ImmutableArray.h in Headers */,
+ BCBCB0CB1215E32100DE59CA /* ImmutableDictionary.h in Headers */,
BC204EE311C83E98008F3375 /* InjectedBundle.h in Headers */,
+ 935EEBA2127761D0003322B8 /* InjectedBundleBackForwardList.h in Headers */,
+ 935EEBA4127761D6003322B8 /* InjectedBundleBackForwardListItem.h in Headers */,
+ BCEE7DC5128B645D009827DA /* InjectedBundleClient.h in Headers */,
+ BC498618124D10E200D834E1 /* InjectedBundleHitTestResult.h in Headers */,
+ BCB28CC0120233D9007D99BC /* InjectedBundleMessageKinds.h in Headers */,
+ BC8147D512F66D31007B2C32 /* InjectedBundleNavigationAction.h in Headers */,
+ BC4BEEAB120A0A5F00FBA0C7 /* InjectedBundleNodeHandle.h in Headers */,
+ 512935E41288D97800A4B695 /* InjectedBundlePageContextMenuClient.h in Headers */,
+ E1EE53E311F8CFC000CCBEE4 /* InjectedBundlePageEditorClient.h in Headers */,
+ BC14E10A120B905E00826C0C /* InjectedBundlePageFormClient.h in Headers */,
+ CD5C66A1134B9D38004FE2A8 /* InjectedBundlePageFullScreenClient.h in Headers */,
BCA8C6A911E3BA5F00812FB7 /* InjectedBundlePageLoaderClient.h in Headers */,
+ BC8147A912F64CDA007B2C32 /* InjectedBundlePagePolicyClient.h in Headers */,
BCA8C6B011E3C08700812FB7 /* InjectedBundlePageUIClient.h in Headers */,
+ BC33E0D112408E8600360F3F /* InjectedBundleRangeHandle.h in Headers */,
+ BC14DF77120B5B7900826C0C /* InjectedBundleScriptWorld.h in Headers */,
+ BCB0B0DE12305A8C00B1341E /* InjectedBundleUserMessageCoders.h in Headers */,
+ 1AE49A4911FFA8CE0048B464 /* JSNPMethod.h in Headers */,
+ 1AE4987811FF7FAA0048B464 /* JSNPObject.h in Headers */,
+ 512DF70B138C26C700A22FC6 /* KeychainAttribute.h in Headers */,
+ 512DF6D8138C181A00A22FC6 /* KeychainItemShimMethods.h in Headers */,
+ 1A92DC1112F8BA460017AF65 /* LayerTreeContext.h in Headers */,
+ 1A186EEA12EF7618008E5F37 /* LayerTreeHost.h in Headers */,
+ C064504A133BE709003470E2 /* LayerTreeHostCA.h in Headers */,
+ C0FA52431345694A0028E8C2 /* LayerTreeHostCAMac.h in Headers */,
+ 51A7F2F3125BF820008AEB1D /* Logging.h in Headers */,
BCC56F791159957D001CCAF9 /* MachPort.h in Headers */,
+ 1A24B5F311F531E800C38269 /* MachUtilities.h in Headers */,
BC032DAC10F437D10058C15A /* MessageID.h in Headers */,
+ 1A119A95127B796200A9ECB1 /* MessageSender.h in Headers */,
+ C0D04E9013EC759E0041EFD6 /* model.py in Headers */,
+ C0E3AA7C1209E83C00A49D01 /* Module.h in Headers */,
+ BCB0AD34122F285800B1341E /* MutableArray.h in Headers */,
+ BCB0AEE9122F53E300B1341E /* MutableDictionary.h in Headers */,
1A6FBA2A11E6862700DB1371 /* NetscapeBrowserFuncs.h in Headers */,
1A6FBD2811E69BC200DB1371 /* NetscapePlugin.h in Headers */,
+ 1A4A9C5612B816CF008FE984 /* NetscapePluginModule.h in Headers */,
1AA5889211EE70400061B882 /* NetscapePluginStream.h in Headers */,
+ 31A2EC5614899C0900810D71 /* NotificationPermissionRequest.h in Headers */,
+ 3131261F148FF82C00BA2A39 /* NotificationPermissionRequestManager.h in Headers */,
+ 31A2EC521489981900810D71 /* NotificationPermissionRequestManagerProxy.h in Headers */,
+ 1A2D848B127F6A49001EB962 /* NPIdentifierData.h in Headers */,
+ 1AE4976811FF658E0048B464 /* NPJSObject.h in Headers */,
+ 1A2D82A5127F4EAB001EB962 /* NPObjectMessageReceiver.h in Headers */,
+ 1A2D843A127F65D5001EB962 /* NPObjectMessageReceiverMessages.h in Headers */,
+ 1A2D82A7127F4EAB001EB962 /* NPObjectProxy.h in Headers */,
+ 1A2D82A9127F4EAB001EB962 /* NPRemoteObjectMap.h in Headers */,
+ 1A2161B011F37664008AD0F5 /* NPRuntimeObjectMap.h in Headers */,
+ 1A2162B111F38971008AD0F5 /* NPRuntimeUtilities.h in Headers */,
+ 1A2D84A3127F6AD1001EB962 /* NPVariantData.h in Headers */,
+ BCCF672D12C7EDF7008F9C35 /* OriginAndDatabases.h in Headers */,
BC6EDAA6111271C600E7678B /* PageClient.h in Headers */,
BC111B50112F619200337BAB /* PageClientImpl.h in Headers */,
+ 1A90C23712650717003E44D4 /* PageOverlay.h in Headers */,
+ C0D04E9113EC759E0041EFD6 /* parser.py in Headers */,
+ C574A58112E66681002DFE98 /* PasteboardTypes.h in Headers */,
+ 1AAF061412B01131008E49E2 /* PDFViewController.h in Headers */,
+ BCF505E71243047B005955AE /* PlatformCertificateInfo.h in Headers */,
+ BCC43ABB127B95DC00317F16 /* PlatformPopupMenuData.h in Headers */,
BC8780FC1161C2B800CC2768 /* PlatformProcessIdentifier.h in Headers */,
1A6FB7D311E651E200DB1371 /* Plugin.h in Headers */,
+ 1A9FBA8D13FF04E600DEED67 /* PluginComplexTextInputState.h in Headers */,
1AA56F2911E92BC80061B882 /* PluginController.h in Headers */,
+ 1A8EF4CB1252403700F7067F /* PluginControllerProxy.h in Headers */,
+ 1A8EF96F1252AF6B00F7067F /* PluginControllerProxyMessages.h in Headers */,
+ 1A179780137EE82C00F97D45 /* PluginCreationParameters.h in Headers */,
1AEFCC1211D01F96008219D3 /* PluginInfoStore.h in Headers */,
+ 1A3D610213A7CC2A00F95D4E /* PluginModuleInfo.h in Headers */,
+ 1A043976124D034800FFBFB5 /* PluginProcess.h in Headers */,
+ 1A0EC906124C0AB8007EF4A5 /* PluginProcessConnection.h in Headers */,
+ 1A0EC90F124C0AF5007EF4A5 /* PluginProcessConnectionManager.h in Headers */,
+ 1A2BB6D114117B4D000F35D4 /* PluginProcessConnectionMessages.h in Headers */,
+ 1A2D90D21281C966001EB962 /* PluginProcessCreationParameters.h in Headers */,
+ 1A0EC7FB124BD3B6007EF4A5 /* PluginProcessMain.h in Headers */,
+ 1A0EC603124A9F2C007EF4A5 /* PluginProcessManager.h in Headers */,
+ 1A0EC6C0124BBD9B007EF4A5 /* PluginProcessMessages.h in Headers */,
+ 1A0EC75E124BC7B2007EF4A5 /* PluginProcessProxy.h in Headers */,
+ 1A043B5E124D5E9D00FFBFB5 /* PluginProcessProxyMessages.h in Headers */,
+ 1A043DC1124FF87500FFBFB5 /* PluginProxy.h in Headers */,
+ 1A8EFA711252B84100F7067F /* PluginProxyMessages.h in Headers */,
+ 1A4A9F3312B844E2008FE984 /* PluginQuirks.h in Headers */,
1A6FB7AF11E64B6800DB1371 /* PluginView.h in Headers */,
+ E1CC1B9012D7EADF00625838 /* PrintInfo.h in Headers */,
BC1A7C581136E19C00FB7167 /* ProcessLauncher.h in Headers */,
BC597075116591D000551FCA /* ProcessModel.h in Headers */,
1A30066E1110F4F70031937C /* ResponsivenessTimer.h in Headers */,
BC2E6E881141971500A63B1E /* RunLoop.h in Headers */,
+ BC2D021712AC41CB00E732A3 /* SameDocumentNavigationType.h in Headers */,
+ 1AAB4A8D1296F0A20023952F /* SandboxExtension.h in Headers */,
+ 51D130541382EAC000351EDD /* SecItemRequestData.h in Headers */,
+ 51D130561382EAC000351EDD /* SecItemResponseData.h in Headers */,
+ 511F8A7F138B46FE00A95F44 /* SecItemShimMethods.h in Headers */,
+ 512DF6FF138C254600A22FC6 /* SecKeychainItemRequestData.h in Headers */,
+ 512DF701138C254600A22FC6 /* SecKeychainItemResponseData.h in Headers */,
+ 33152976130D0CB200ED2483 /* SecurityOriginData.h in Headers */,
+ 518D2CCB12D51DFB003BB93B /* SessionState.h in Headers */,
+ 1A6420E512DCE2FF00CAAE2C /* ShareableBitmap.h in Headers */,
+ 1A24BED5120894D100FBB059 /* SharedMemory.h in Headers */,
+ 5272B28B1406985D0096A5D0 /* StatisticsData.h in Headers */,
+ BCBD3C3B125BFA7A00D2C29F /* StringPairVector.h in Headers */,
+ 1AA417CB12C00CCA002BE67B /* TextChecker.h in Headers */,
+ 1A5E4DA412D3BD3D0099A2BB /* TextCheckerState.h in Headers */,
+ BCF50121123ED3B3005955AE /* ThreadLauncher.h in Headers */,
+ 1AAF263914687C39004A1E8A /* TiledCoreAnimationDrawingArea.h in Headers */,
+ 1AF05D8714688348008B1E81 /* TiledCoreAnimationDrawingAreaProxy.h in Headers */,
+ 1A64245E12DE29A100CAAE2C /* UpdateInfo.h in Headers */,
+ BCB0B0E012305AB100B1341E /* UserMessageCoders.h in Headers */,
+ 1A0F29E4120B44420053D1B9 /* VisitedLinkProvider.h in Headers */,
+ 1A0F29CC120B37160053D1B9 /* VisitedLinkTable.h in Headers */,
+ 512E352F130B55AF00ABD19A /* WebApplicationCacheManager.h in Headers */,
+ 512E356B130B57F000ABD19A /* WebApplicationCacheManagerMessages.h in Headers */,
+ 512E3525130B550600ABD19A /* WebApplicationCacheManagerProxy.h in Headers */,
+ 512E35F9130B642E00ABD19A /* WebApplicationCacheManagerProxyMessages.h in Headers */,
BC72BA1E11E64907001EB4EA /* WebBackForwardList.h in Headers */,
+ 518D2CAE12D5153B003BB93B /* WebBackForwardListItem.h in Headers */,
BC72B9FB11E6476B001EB4EA /* WebBackForwardListProxy.h in Headers */,
+ BCF50728124329AA005955AE /* WebCertificateInfo.h in Headers */,
BC032D7510F4378D0058C15A /* WebChromeClient.h in Headers */,
+ BC4A6290147312BE006C681A /* WebConnection.h in Headers */,
+ BC4A6292147312BE006C681A /* WebConnectionClient.h in Headers */,
+ BCE9C0B71484714700E33D61 /* WebConnectionMessageKinds.h in Headers */,
+ BC4A62A814744EC7006C681A /* WebConnectionToWebProcess.h in Headers */,
BCB9E2431120DACA00A137E0 /* WebContext.h in Headers */,
+ BC09B8F9147460F7005F5625 /* WebContextConnectionClient.h in Headers */,
BCDE059B11CDA8AE00E41AF1 /* WebContextInjectedBundleClient.h in Headers */,
+ 51871B5C127CB89D00F76232 /* WebContextMenu.h in Headers */,
BC032D7710F4378D0058C15A /* WebContextMenuClient.h in Headers */,
+ 512935D81288D19400A4B695 /* WebContextMenuItem.h in Headers */,
+ 510FBB9B1288C95E00AFFDF4 /* WebContextMenuItemData.h in Headers */,
+ 51ACBB82127A8BAD00D203B9 /* WebContextMenuProxy.h in Headers */,
+ 51ACBBA0127A8F2C00D203B9 /* WebContextMenuProxyMac.h in Headers */,
+ BCCB75C61203A1CE00222D1B /* WebContextMessageKinds.h in Headers */,
+ BCEE7D0E12846F69009827DA /* WebContextMessages.h in Headers */,
+ BCB0B0DC12305A2500B1341E /* WebContextUserMessageCoders.h in Headers */,
+ 330934501315B94D0097A7BC /* WebCookieManager.h in Headers */,
+ 330934481315B9220097A7BC /* WebCookieManagerMessages.h in Headers */,
+ 330934561315B9750097A7BC /* WebCookieManagerProxy.h in Headers */,
+ 33AA1067131F060000D4A575 /* WebCookieManagerProxyClient.h in Headers */,
+ 3309344A1315B9220097A7BC /* WebCookieManagerProxyMessages.h in Headers */,
BC1DD7B2114DC396005ADAF3 /* WebCoreArgumentCoders.h in Headers */,
+ 512F589B12A8838800629530 /* WebCredential.h in Headers */,
+ 51578B831209ECEF00A37C4A /* WebData.h in Headers */,
+ F6A25FDD12ADC6CC00DC40CC /* WebDatabaseManager.h in Headers */,
+ F62A76B712B1B25F0005F1B6 /* WebDatabaseManagerMessages.h in Headers */,
+ F62A765D12B1ABC30005F1B6 /* WebDatabaseManagerProxy.h in Headers */,
+ BCAC111F12C92C1F00B08EEE /* WebDatabaseManagerProxyClient.h in Headers */,
+ F62A76B912B1B25F0005F1B6 /* WebDatabaseManagerProxyMessages.h in Headers */,
+ 1AB7D72C1288CAAD00CFD08C /* WebDownloadClient.h in Headers */,
BC032D7B10F4378D0058C15A /* WebDragClient.h in Headers */,
+ BCA0EF9F12332642007D3CFB /* WebEditCommandProxy.h in Headers */,
BC032D7D10F4378D0058C15A /* WebEditorClient.h in Headers */,
+ 516A4A5D120A2CCD00C05B7F /* WebError.h in Headers */,
1A433F0D113C53DD00FACDE9 /* WebErrors.h in Headers */,
BC032DB910F4380F0058C15A /* WebEvent.h in Headers */,
BC032DBB10F4380F0058C15A /* WebEventConversion.h in Headers */,
BC111B5D112F629800337BAB /* WebEventFactory.h in Headers */,
+ 1A3DD202125E5A1F004515E6 /* WebFindClient.h in Headers */,
+ 1A90C1EE1264FD50003E44D4 /* WebFindOptions.h in Headers */,
+ BCE469541214E6CB000B98EB /* WebFormClient.h in Headers */,
+ BCE469561214E6CB000B98EB /* WebFormSubmissionListenerProxy.h in Headers */,
BC032D8D10F437A00058C15A /* WebFrame.h in Headers */,
+ BCE469771214F27B000B98EB /* WebFrameListenerProxy.h in Headers */,
BC032D7F10F4378D0058C15A /* WebFrameLoaderClient.h in Headers */,
+ 9391F2CB121B67AD00EBF7E8 /* WebFrameNetworkingContext.h in Headers */,
BCB9F6A01123A84B00A137E0 /* WebFramePolicyListenerProxy.h in Headers */,
BC9B38A110F538BE00443A15 /* WebFrameProxy.h in Headers */,
+ BC1BE1E012D54A410004A228 /* WebGeolocationClient.h in Headers */,
+ BC0E5FE512D697160012A72A /* WebGeolocationManager.h in Headers */,
+ BC0E606212D6BA910012A72A /* WebGeolocationManagerMessages.h in Headers */,
+ BC54CACB12D64291005C67B0 /* WebGeolocationManagerProxy.h in Headers */,
+ BC0E618312D6CB1D0012A72A /* WebGeolocationManagerProxyMessages.h in Headers */,
+ BC0E607312D6BC200012A72A /* WebGeolocationPosition.h in Headers */,
+ BC1BE1F212D54DBD0004A228 /* WebGeolocationProvider.h in Headers */,
+ 0F174AA3142A4CB70039250F /* WebGeometry.h in Headers */,
+ BCA56A1C12F9028E00C566C7 /* WebGraphicsContext.h in Headers */,
BCF69F871176CD6F00471A52 /* WebHistoryClient.h in Headers */,
+ 7801C09A142290C400FAF9AF /* WebHitTestResult.h in Headers */,
+ 511B24AB132E097200065A0C /* WebIconDatabase.h in Headers */,
+ 51834593134532E90092B696 /* WebIconDatabaseClient.h in Headers */,
+ 51D02F6A132EC73700BEAA96 /* WebIconDatabaseMessages.h in Headers */,
+ 511B24A7132E095700065A0C /* WebIconDatabaseProxy.h in Headers */,
+ 51D02F6C132EC73700BEAA96 /* WebIconDatabaseProxyMessages.h in Headers */,
+ BCCF6ABD12C91EF9008F9C35 /* WebImage.h in Headers */,
+ 1C8E28201275D15400BC7BD0 /* WebInspector.h in Headers */,
BC032D8210F4378D0058C15A /* WebInspectorClient.h in Headers */,
+ 1C8E25A91270E3BC00BC7BD0 /* WebInspectorFrontendClient.h in Headers */,
+ 1C8E2A361277852400BC7BD0 /* WebInspectorMessages.h in Headers */,
+ 1C8E28341275D73800BC7BD0 /* WebInspectorProxy.h in Headers */,
+ 1CA8B946127C882A00576C2B /* WebInspectorProxyMessages.h in Headers */,
+ 51A9E1001315CCDE009E7031 /* WebKeyValueStorageManager.h in Headers */,
+ 51A9E1291315ED35009E7031 /* WebKeyValueStorageManagerMessages.h in Headers */,
+ 51A9E1061315CCFC009E7031 /* WebKeyValueStorageManagerProxy.h in Headers */,
+ 51A9E12B1315ED35009E7031 /* WebKeyValueStorageManagerProxyMessages.h in Headers */,
BCB63478116BF10600603215 /* WebKit2.h in Headers */,
BC59534210FC04520098F82D /* WebLoaderClient.h in Headers */,
+ 33D3A3C2133960B000709BE4 /* WebMediaCacheManager.h in Headers */,
+ 33D3A3C91339617900709BE4 /* WebMediaCacheManagerMessages.h in Headers */,
+ 33D3A3BB1339606200709BE4 /* WebMediaCacheManagerProxy.h in Headers */,
+ 33D3A3CB1339617900709BE4 /* WebMediaCacheManagerProxyMessages.h in Headers */,
+ 909854ED12BC4E18000AD080 /* WebMemorySampler.h in Headers */,
BCF69FA21176D01400471A52 /* WebNavigationData.h in Headers */,
BCF69F9A1176CED600471A52 /* WebNavigationDataStore.h in Headers */,
+ 31A2EC49148997C200810D71 /* WebNotification.h in Headers */,
+ 310999C7146C9E3D0029DEB9 /* WebNotificationClient.h in Headers */,
+ 31312621148FF82C00BA2A39 /* WebNotificationManager.h in Headers */,
+ 31BA924E148831260062EDB5 /* WebNotificationManagerMessages.h in Headers */,
+ 31A2EC4B148997C200810D71 /* WebNotificationManagerProxy.h in Headers */,
+ 318BE1681473433700A8FBB2 /* WebNotificationManagerProxyMessages.h in Headers */,
+ 31A2EC4E148997C200810D71 /* WebNotificationProvider.h in Headers */,
+ BC33DD681238464600360F3F /* WebNumber.h in Headers */,
+ BC857FB512B830E600EDEB2E /* WebOpenPanelParameters.h in Headers */,
+ BC857F8512B82D0B00EDEB2E /* WebOpenPanelResultListener.h in Headers */,
+ BC1DFEA412B31F87005DF730 /* WebOpenPanelResultListenerProxy.h in Headers */,
BC032D8F10F437A00058C15A /* WebPage.h in Headers */,
+ 5153569D1291B1D2000749DC /* WebPageContextMenuClient.h in Headers */,
+ BC7B6206129A0A6700D174A4 /* WebPageGroup.h in Headers */,
+ BC7B625212A43C9600D174A4 /* WebPageGroupData.h in Headers */,
+ BC7B621512A4219A00D174A4 /* WebPageGroupProxy.h in Headers */,
+ C0CE72A11247E71D00BC0EC4 /* WebPageMessages.h in Headers */,
BC032DD110F4389F0058C15A /* WebPageProxy.h in Headers */,
+ BCBD3915125BB1A800D2C29F /* WebPageProxyMessages.h in Headers */,
1A3E736111CC2659007BD539 /* WebPlatformStrategies.h in Headers */,
+ 1AC8702D130B49A2002C1257 /* WebPluginSiteDataManager.h in Headers */,
BCB9F8B01124E07700A137E0 /* WebPolicyClient.h in Headers */,
+ BC5744F012638FB3006F0F12 /* WebPopupItem.h in Headers */,
+ D3B9484711FF4B6500032B39 /* WebPopupMenu.h in Headers */,
+ BC574E631267D080006F0F12 /* WebPopupMenuProxy.h in Headers */,
+ BC5750971268F3C6006F0F12 /* WebPopupMenuProxyMac.h in Headers */,
BCD597FF112B57BE00EC8C23 /* WebPreferences.h in Headers */,
BCD598AC112B7FDF00EC8C23 /* WebPreferencesStore.h in Headers */,
BC032D9710F437AF0058C15A /* WebProcess.h in Headers */,
+ 1A043A09124D11A900FFBFB5 /* WebProcessConnection.h in Headers */,
+ 1A043F6A12514D8B00FFBFB5 /* WebProcessConnectionMessages.h in Headers */,
+ BC306824125A6B9400E71278 /* WebProcessCreationParameters.h in Headers */,
1A6FA02011E1528700DB1371 /* WebProcessMain.h in Headers */,
+ BC3066BF125A442100E71278 /* WebProcessMessages.h in Headers */,
BC032DD510F4389F0058C15A /* WebProcessProxy.h in Headers */,
+ BCEE7AD112817988009827DA /* WebProcessProxyMessages.h in Headers */,
+ 511F8A7B138B460900A95F44 /* WebProcessShim.h in Headers */,
+ 512F589D12A8838800629530 /* WebProtectionSpace.h in Headers */,
+ 33367630130C9998006C9DE2 /* WebResourceCacheManager.h in Headers */,
+ 33367656130C9ECA006C9DE2 /* WebResourceCacheManagerMessages.h in Headers */,
+ 33367636130C99B2006C9DE2 /* WebResourceCacheManagerProxy.h in Headers */,
+ 33367658130C9ECB006C9DE2 /* WebResourceCacheManagerProxyMessages.h in Headers */,
+ BC858A2012C0357B00EDEB2E /* WebResourceLoadClient.h in Headers */,
+ D3B9484911FF4B6500032B39 /* WebSearchPopupMenu.h in Headers */,
+ F634445612A885C8000612D8 /* WebSecurityOrigin.h in Headers */,
BCC5715B115ADAEF001CCAF9 /* WebSystemInterface.h in Headers */,
1A594ABB112A1FB6009DE7C7 /* WebUIClient.h in Headers */,
- BC204EF011C83EC8008F3375 /* WKBundleAPICast.h in Headers */,
- BC1B419811D41D570011E8DD /* WKBundlePagePrivate.h in Headers */,
- BCC938E11180DE440085E5FE /* WKContextPrivate.h in Headers */,
- BCE17B7E1381F1170012A641 /* WKPagePrivateMac.h in Headers */,
- 51A9E10B1315CD18009E7031 /* WKKeyValueStorageManager.h in Headers */,
+ BCA0EF7F12331E78007D3CFB /* WebUndoStep.h in Headers */,
+ BCDB86C11200FB97007254BE /* WebURL.h in Headers */,
+ BCE2315D122C30CA00D5C35A /* WebURLRequest.h in Headers */,
+ BC90A1D2122DD55E00CC8C50 /* WebURLResponse.h in Headers */,
+ F6113E25126CE1820057D0A7 /* WebUserContentURLPattern.h in Headers */,
+ 29CD55AA128E294F00133C85 /* WKAccessibilityWebPageObject.h in Headers */,
+ BCDDB32D124EC2E10048D13C /* WKAPICast.h in Headers */,
+ 512E34E5130B4D0500ABD19A /* WKApplicationCacheManager.h in Headers */,
+ BC4075F4124FF0270068F20A /* WKArray.h in Headers */,
+ 512F58F612A88A5400629530 /* WKAuthenticationChallenge.h in Headers */,
+ 512F58F812A88A5400629530 /* WKAuthenticationDecisionListener.h in Headers */,
BC646C1B11DD399F006455B0 /* WKBackForwardList.h in Headers */,
BC646C1D11DD399F006455B0 /* WKBackForwardListItem.h in Headers */,
+ BCDDB317124EBD130048D13C /* WKBase.h in Headers */,
+ BCBAAC73144E619E0053F82F /* WKBrowsingContextController.h in Headers */,
+ BCBAAC74144E61A50053F82F /* WKBrowsingContextControllerInternal.h in Headers */,
+ 3788A05C14743C90006319E5 /* WKBrowsingContextControllerPrivate.h in Headers */,
+ BCBAACF41452324F0053F82F /* WKBrowsingContextGroup.h in Headers */,
+ BCBAACF61452324F0053F82F /* WKBrowsingContextGroupInternal.h in Headers */,
+ BCBAAD0B14560A430053F82F /* WKBrowsingContextLoadDelegate.h in Headers */,
BC204EEF11C83EC8008F3375 /* WKBundle.h in Headers */,
+ BC204EF011C83EC8008F3375 /* WKBundleAPICast.h in Headers */,
+ 935EEB9F127761AC003322B8 /* WKBundleBackForwardList.h in Headers */,
+ 935EEB9B1277617C003322B8 /* WKBundleBackForwardListItem.h in Headers */,
BCD25F1711D6BDE100169B0E /* WKBundleFrame.h in Headers */,
+ BCF049E611FE20F600F86A58 /* WKBundleFramePrivate.h in Headers */,
+ BC49862F124D18C100D834E1 /* WKBundleHitTestResult.h in Headers */,
BC204EF211C83EC8008F3375 /* WKBundleInitialize.h in Headers */,
65B86F1E12F11DE300B7DD8A /* WKBundleInspector.h in Headers */,
- BC20528111C94284008F3375 /* WKBundlePage.h in Headers */,
- BCB9E24B1120E15C00A137E0 /* WKContext.h in Headers */,
- BCD0139B110FA420003B8A67 /* WKFrame.h in Headers */,
- BCB9F6A51123DD0D00A137E0 /* WKFramePolicyListener.h in Headers */,
- BCF69FA91176D1CB00471A52 /* WKNavigationData.h in Headers */,
- BCD597D7112B56DC00EC8C23 /* WKPage.h in Headers */,
- BCD597D0112B56AC00EC8C23 /* WKPreferences.h in Headers */,
+ BC7043CC12F75EE0006472B9 /* WKBundleNavigationAction.h in Headers */,
BC4BEFE1120A1A4C00FBA0C7 /* WKBundleNodeHandle.h in Headers */,
- BC14DF9F120B635F00826C0C /* WKBundleScriptWorld.h in Headers */,
- BCE4695A1214EDF4000B98EB /* WKFormSubmissionListener.h in Headers */,
+ BC57450C1263B155006F0F12 /* WKBundleNodeHandlePrivate.h in Headers */,
+ BC20528111C94284008F3375 /* WKBundlePage.h in Headers */,
+ BC7B633D12A45D1200D174A4 /* WKBundlePageGroup.h in Headers */,
+ ED82A7F2128C6FAF004477B3 /* WKBundlePageOverlay.h in Headers */,
+ BC1B419811D41D570011E8DD /* WKBundlePagePrivate.h in Headers */,
+ BCF049E711FE20F600F86A58 /* WKBundlePrivate.h in Headers */,
BC60C5791240A546008C5E29 /* WKBundleRangeHandle.h in Headers */,
- BC49862F124D18C100D834E1 /* WKBundleHitTestResult.h in Headers */,
- BC4075F4124FF0270068F20A /* WKArray.h in Headers */,
+ BC14DF9F120B635F00826C0C /* WKBundleScriptWorld.h in Headers */,
BC4075F6124FF0270068F20A /* WKCertificateInfo.h in Headers */,
- BC4075F8124FF0270068F20A /* WKData.h in Headers */,
- BC4075FA124FF0270068F20A /* WKDictionary.h in Headers */,
- BC4075FC124FF0270068F20A /* WKError.h in Headers */,
- BC4075FE124FF0270068F20A /* WKMutableArray.h in Headers */,
- BC407600124FF0270068F20A /* WKMutableDictionary.h in Headers */,
- BC407602124FF0270068F20A /* WKNumber.h in Headers */,
- BC407604124FF0270068F20A /* WKSerializedScriptValue.h in Headers */,
- BC407606124FF0270068F20A /* WKString.h in Headers */,
- BC407608124FF0270068F20A /* WKType.h in Headers */,
- BC40760A124FF0270068F20A /* WKURL.h in Headers */,
- BC40760C124FF0270068F20A /* WKURLRequest.h in Headers */,
- BC40760E124FF0270068F20A /* WKURLResponse.h in Headers */,
- BC40761A124FF0370068F20A /* WKStringCF.h in Headers */,
- BC40761C124FF0370068F20A /* WKURLCF.h in Headers */,
BC407627124FF0400068F20A /* WKCertificateInfoMac.h in Headers */,
- BC407629124FF0400068F20A /* WKURLRequestNS.h in Headers */,
- BC40762B124FF0400068F20A /* WKURLResponseNS.h in Headers */,
- BC40783D1250FADD0068F20A /* WKEvent.h in Headers */,
- C09AE5E9125257C20025825D /* WKNativeEvent.h in Headers */,
- BCC8B374125FB69000DE46A4 /* WKGeometry.h in Headers */,
- F6113E29126CE19B0057D0A7 /* WKUserContentURLPattern.h in Headers */,
- 1C8E293912761E5B00BC7BD0 /* WKInspector.h in Headers */,
- 1AB7D78D1288CD9A00CFD08C /* WKDownload.h in Headers */,
+ BCA284D71492F2C7001F9042 /* WKConnection.h in Headers */,
+ BC5C75C814954DA600BC4775 /* WKConnectionInternal.h in Headers */,
+ BC4A6297147313A0006C681A /* WKConnectionRef.h in Headers */,
+ BCB9E24B1120E15C00A137E0 /* WKContext.h in Headers */,
51A555F6128C6C47009ABCEC /* WKContextMenuItem.h in Headers */,
51A55601128C6D92009ABCEC /* WKContextMenuItemTypes.h in Headers */,
- ED82A7F2128C6FAF004477B3 /* WKBundlePageOverlay.h in Headers */,
- BC7B633712A45ABA00D174A4 /* WKPageGroup.h in Headers */,
- BC7B633D12A45D1200D174A4 /* WKBundlePageGroup.h in Headers */,
- 37F623B812A57B6200E3FDF6 /* WKFindOptions.h in Headers */,
- 512F58F612A88A5400629530 /* WKAuthenticationChallenge.h in Headers */,
- 512F58F812A88A5400629530 /* WKAuthenticationDecisionListener.h in Headers */,
+ BCC938E11180DE440085E5FE /* WKContextPrivate.h in Headers */,
+ 3309345B1315B9980097A7BC /* WKCookieManager.h in Headers */,
512F58FA12A88A5400629530 /* WKCredential.h in Headers */,
- 512F58FC12A88A5400629530 /* WKProtectionSpace.h in Headers */,
- F634445D12A885E9000612D8 /* WKSecurityOrigin.h in Headers */,
- 518ACAEA12AEE6BB00B04B83 /* WKProtectionSpaceTypes.h in Headers */,
518ACF1112B015F800B04B83 /* WKCredentialTypes.h in Headers */,
- BC2D021912AC426C00E732A3 /* WKPageLoadTypes.h in Headers */,
+ BC4075F8124FF0270068F20A /* WKData.h in Headers */,
F62A766212B1ABED0005F1B6 /* WKDatabaseManager.h in Headers */,
- BC1DFE8F12B31CA8005DF730 /* WKOpenPanelResultListener.h in Headers */,
- BC857FE612B843D800EDEB2E /* WKOpenPanelParameters.h in Headers */,
- BCCF6AC312C91F34008F9C35 /* WKImage.h in Headers */,
- BCCF6ACA12C91F59008F9C35 /* WKImageCG.h in Headers */,
+ BC4075FA124FF0270068F20A /* WKDictionary.h in Headers */,
+ 1AB7D78D1288CD9A00CFD08C /* WKDownload.h in Headers */,
+ BC4075FC124FF0270068F20A /* WKError.h in Headers */,
+ BCFD548C132D82680055D816 /* WKErrorCF.h in Headers */,
+ BC40783D1250FADD0068F20A /* WKEvent.h in Headers */,
+ 37F623B812A57B6200E3FDF6 /* WKFindOptions.h in Headers */,
+ BCE4695A1214EDF4000B98EB /* WKFormSubmissionListener.h in Headers */,
+ BCD0139B110FA420003B8A67 /* WKFrame.h in Headers */,
+ BCB9F6A51123DD0D00A137E0 /* WKFramePolicyListener.h in Headers */,
+ E1AEA22F14687BDB00804569 /* WKFullKeyboardAccessWatcher.h in Headers */,
+ CDCA85C9132ABA4E00E961DF /* WKFullScreenWindowController.h in Headers */,
BC54CC1212D674EE005C67B0 /* WKGeolocationManager.h in Headers */,
- BC0E619812D6CD120012A72A /* WKGeolocationPosition.h in Headers */,
BC06F44E12DBDF3F002D78DE /* WKGeolocationPermissionRequest.h in Headers */,
- BC7043CC12F75EE0006472B9 /* WKBundleNavigationAction.h in Headers */,
+ BC0E619812D6CD120012A72A /* WKGeolocationPosition.h in Headers */,
+ BCC8B374125FB69000DE46A4 /* WKGeometry.h in Headers */,
BCA56A6512F9C8F900C566C7 /* WKGraphicsContext.h in Headers */,
BCA56A6912F9C9AD00C566C7 /* WKGraphicsContextCG.h in Headers */,
- 512E34E5130B4D0500ABD19A /* WKApplicationCacheManager.h in Headers */,
- 1AC86FF4130B46D3002C1257 /* WKPluginSiteDataManager.h in Headers */,
- 3336763B130C99DC006C9DE2 /* WKResourceCacheManager.h in Headers */,
- 3309345B1315B9980097A7BC /* WKCookieManager.h in Headers */,
- BCFD548C132D82680055D816 /* WKErrorCF.h in Headers */,
+ B62E7312143047B00069EC35 /* WKHitTestResult.h in Headers */,
5110AE0D133C16CB0072717A /* WKIconDatabase.h in Headers */,
5123CF1C133D260A0056F800 /* WKIconDatabaseCG.h in Headers */,
+ BCCF6AC312C91F34008F9C35 /* WKImage.h in Headers */,
+ BCCF6ACA12C91F59008F9C35 /* WKImageCG.h in Headers */,
+ 1C8E293912761E5B00BC7BD0 /* WKInspector.h in Headers */,
6EE849C81368D9390038D481 /* WKInspectorMac.h in Headers */,
- B62E7312143047B00069EC35 /* WKHitTestResult.h in Headers */,
+ 51A9E10B1315CD18009E7031 /* WKKeyValueStorageManager.h in Headers */,
+ 33D3A3B61339600B00709BE4 /* WKMediaCacheManager.h in Headers */,
+ BC4075FE124FF0270068F20A /* WKMutableArray.h in Headers */,
+ BC407600124FF0270068F20A /* WKMutableDictionary.h in Headers */,
+ C09AE5E9125257C20025825D /* WKNativeEvent.h in Headers */,
+ BCF69FA91176D1CB00471A52 /* WKNavigationData.h in Headers */,
+ 318BE17914743E6F00A8FBB2 /* WKNotification.h in Headers */,
+ 318BE17114743DB100A8FBB2 /* WKNotificationManager.h in Headers */,
+ 31A2EC74148D59CA00810D71 /* WKNotificationPermissionRequest.h in Headers */,
+ 312C0C4A146DDC8A0016C911 /* WKNotificationProvider.h in Headers */,
+ BC407602124FF0270068F20A /* WKNumber.h in Headers */,
+ BC857FE612B843D800EDEB2E /* WKOpenPanelParameters.h in Headers */,
+ BC1DFE8F12B31CA8005DF730 /* WKOpenPanelResultListener.h in Headers */,
+ BCD597D7112B56DC00EC8C23 /* WKPage.h in Headers */,
+ BC7B633712A45ABA00D174A4 /* WKPageGroup.h in Headers */,
+ BC2D021912AC426C00E732A3 /* WKPageLoadTypes.h in Headers */,
BC177465118B9FF4007D9E9A /* WKPagePrivate.h in Headers */,
+ BCE17B7E1381F1170012A641 /* WKPagePrivateMac.h in Headers */,
+ 1AC86FF4130B46D3002C1257 /* WKPluginSiteDataManager.h in Headers */,
+ BCD597D0112B56AC00EC8C23 /* WKPreferences.h in Headers */,
762B748D120BC75C00819339 /* WKPreferencesPrivate.h in Headers */,
+ E134F01712EA5D33004EC58D /* WKPrintingView.h in Headers */,
+ BCBAACEB145225E30053F82F /* WKProcessGroup.h in Headers */,
+ BCBAACED145225E30053F82F /* WKProcessGroupInternal.h in Headers */,
+ 512F58FC12A88A5400629530 /* WKProtectionSpace.h in Headers */,
+ 518ACAEA12AEE6BB00B04B83 /* WKProtectionSpaceTypes.h in Headers */,
+ 3336763B130C99DC006C9DE2 /* WKResourceCacheManager.h in Headers */,
BC8A501511765F5600757573 /* WKRetainPtr.h in Headers */,
+ F634445D12A885E9000612D8 /* WKSecurityOrigin.h in Headers */,
+ BC407604124FF0270068F20A /* WKSerializedScriptValue.h in Headers */,
F67DD7BA125E40D9007BDCB8 /* WKSerializedScriptValuePrivate.h in Headers */,
- BC8699B7116AADAA002A925B /* WKViewInternal.h in Headers */,
- BC2E6E8E1141971500A63B1E /* WorkQueue.h in Headers */,
- 1A2161B011F37664008AD0F5 /* NPRuntimeObjectMap.h in Headers */,
- 1A2162B111F38971008AD0F5 /* NPRuntimeUtilities.h in Headers */,
- 1A24B5F311F531E800C38269 /* MachUtilities.h in Headers */,
- C0D04E9113EC759E0041EFD6 /* parser.py in Headers */,
- C0D04E9013EC759E0041EFD6 /* model.py in Headers */,
- E1EE53E311F8CFC000CCBEE4 /* InjectedBundlePageEditorClient.h in Headers */,
- BCF049E611FE20F600F86A58 /* WKBundleFramePrivate.h in Headers */,
- BCF049E711FE20F600F86A58 /* WKBundlePrivate.h in Headers */,
- 1AE4976811FF658E0048B464 /* NPJSObject.h in Headers */,
- 1AE4987811FF7FAA0048B464 /* JSNPObject.h in Headers */,
- 1AE49A4911FFA8CE0048B464 /* JSNPMethod.h in Headers */,
- BCDB86C11200FB97007254BE /* WebURL.h in Headers */,
- BCB28CC0120233D9007D99BC /* InjectedBundleMessageKinds.h in Headers */,
- BCCB75C61203A1CE00222D1B /* WebContextMessageKinds.h in Headers */,
- D3B9484711FF4B6500032B39 /* WebPopupMenu.h in Headers */,
- D3B9484911FF4B6500032B39 /* WebSearchPopupMenu.h in Headers */,
- 0FB659231208B4DB0044816C /* DrawingAreaInfo.h in Headers */,
- 51578B831209ECEF00A37C4A /* WebData.h in Headers */,
- C0E3AA7C1209E83C00A49D01 /* Module.h in Headers */,
- 516A4A5D120A2CCD00C05B7F /* WebError.h in Headers */,
- 1A24BED5120894D100FBB059 /* SharedMemory.h in Headers */,
- 1A0F29CC120B37160053D1B9 /* VisitedLinkTable.h in Headers */,
- 1A0F29E4120B44420053D1B9 /* VisitedLinkProvider.h in Headers */,
- BC4BEEAB120A0A5F00FBA0C7 /* InjectedBundleNodeHandle.h in Headers */,
- BC14DF77120B5B7900826C0C /* InjectedBundleScriptWorld.h in Headers */,
- BC14E10A120B905E00826C0C /* InjectedBundlePageFormClient.h in Headers */,
- BCE469541214E6CB000B98EB /* WebFormClient.h in Headers */,
- BCE469561214E6CB000B98EB /* WebFormSubmissionListenerProxy.h in Headers */,
- BCE469771214F27B000B98EB /* WebFrameListenerProxy.h in Headers */,
- BCBCB0CB1215E32100DE59CA /* ImmutableDictionary.h in Headers */,
- 9391F2CB121B67AD00EBF7E8 /* WebFrameNetworkingContext.h in Headers */,
- BCE2315D122C30CA00D5C35A /* WebURLRequest.h in Headers */,
- BC90A1D2122DD55E00CC8C50 /* WebURLResponse.h in Headers */,
- BCB0AD34122F285800B1341E /* MutableArray.h in Headers */,
- BCB0AEE9122F53E300B1341E /* MutableDictionary.h in Headers */,
- BCB0B0DC12305A2500B1341E /* WebContextUserMessageCoders.h in Headers */,
- BCB0B0DE12305A8C00B1341E /* InjectedBundleUserMessageCoders.h in Headers */,
- BCB0B0E012305AB100B1341E /* UserMessageCoders.h in Headers */,
- BCA0EF7F12331E78007D3CFB /* WebUndoStep.h in Headers */,
- BCA0EF9F12332642007D3CFB /* WebEditCommandProxy.h in Headers */,
- BC33DD681238464600360F3F /* WebNumber.h in Headers */,
- BCF50121123ED3B3005955AE /* ThreadLauncher.h in Headers */,
- BC33E0D112408E8600360F3F /* InjectedBundleRangeHandle.h in Headers */,
- BCF505E71243047B005955AE /* PlatformCertificateInfo.h in Headers */,
- BCF50728124329AA005955AE /* WebCertificateInfo.h in Headers */,
- C0CE72A11247E71D00BC0EC4 /* WebPageMessages.h in Headers */,
- C0CE72AD1247E78D00BC0EC4 /* HandleMessage.h in Headers */,
- 1A0EC603124A9F2C007EF4A5 /* PluginProcessManager.h in Headers */,
- 1A0EC6C0124BBD9B007EF4A5 /* PluginProcessMessages.h in Headers */,
- 1A0EC75E124BC7B2007EF4A5 /* PluginProcessProxy.h in Headers */,
- 1A0EC7FB124BD3B6007EF4A5 /* PluginProcessMain.h in Headers */,
- 1A0EC906124C0AB8007EF4A5 /* PluginProcessConnection.h in Headers */,
- 1A0EC90F124C0AF5007EF4A5 /* PluginProcessConnectionManager.h in Headers */,
- BC498618124D10E200D834E1 /* InjectedBundleHitTestResult.h in Headers */,
- 1A043976124D034800FFBFB5 /* PluginProcess.h in Headers */,
- 1A043A09124D11A900FFBFB5 /* WebProcessConnection.h in Headers */,
- 1A043B5E124D5E9D00FFBFB5 /* PluginProcessProxyMessages.h in Headers */,
- BCDDB317124EBD130048D13C /* WKBase.h in Headers */,
BCDDB32B124EC2AB0048D13C /* WKSharedAPICast.h in Headers */,
- BCDDB32D124EC2E10048D13C /* WKAPICast.h in Headers */,
- 1A043DC1124FF87500FFBFB5 /* PluginProxy.h in Headers */,
- 1A043F6A12514D8B00FFBFB5 /* WebProcessConnectionMessages.h in Headers */,
- 1A8EF4CB1252403700F7067F /* PluginControllerProxy.h in Headers */,
- 1A8EF96F1252AF6B00F7067F /* PluginControllerProxyMessages.h in Headers */,
- 1A8EFA711252B84100F7067F /* PluginProxyMessages.h in Headers */,
- 1A8EFDFA1253CAA200F7067F /* DataReference.h in Headers */,
+ BC407606124FF0270068F20A /* WKString.h in Headers */,
+ BC40761A124FF0370068F20A /* WKStringCF.h in Headers */,
BC9099801256A98200083756 /* WKStringPrivate.h in Headers */,
- BC3065FA1259344E00E71278 /* CacheModel.h in Headers */,
- BC3066BF125A442100E71278 /* WebProcessMessages.h in Headers */,
- BC306824125A6B9400E71278 /* WebProcessCreationParameters.h in Headers */,
- 51A7F2F3125BF820008AEB1D /* Logging.h in Headers */,
- BCBD3915125BB1A800D2C29F /* WebPageProxyMessages.h in Headers */,
- BCBD3C3B125BFA7A00D2C29F /* StringPairVector.h in Headers */,
- 1A3DD202125E5A1F004515E6 /* WebFindClient.h in Headers */,
- 1A3DD206125E5A2F004515E6 /* APIClient.h in Headers */,
- BC5744F012638FB3006F0F12 /* WebPopupItem.h in Headers */,
- BC57450C1263B155006F0F12 /* WKBundleNodeHandlePrivate.h in Headers */,
- 1AC41AC71263C88300054E94 /* BinarySemaphore.h in Headers */,
- 1A90C1EE1264FD50003E44D4 /* WebFindOptions.h in Headers */,
- 1A90C1F41264FD71003E44D4 /* FindController.h in Headers */,
- 1A90C23712650717003E44D4 /* PageOverlay.h in Headers */,
- BC574E631267D080006F0F12 /* WebPopupMenuProxy.h in Headers */,
- BC5750971268F3C6006F0F12 /* WebPopupMenuProxyMac.h in Headers */,
- 1A910071126675C4001842F5 /* FindIndicator.h in Headers */,
- 1A91010A1268C8CA001842F5 /* FindIndicatorWindow.h in Headers */,
- F6113E25126CE1820057D0A7 /* WebUserContentURLPattern.h in Headers */,
- 1C8E25A91270E3BC00BC7BD0 /* WebInspectorFrontendClient.h in Headers */,
- 1C8E28201275D15400BC7BD0 /* WebInspector.h in Headers */,
- 1C8E28341275D73800BC7BD0 /* WebInspectorProxy.h in Headers */,
- 935EEB9B1277617C003322B8 /* WKBundleBackForwardListItem.h in Headers */,
- 935EEB9F127761AC003322B8 /* WKBundleBackForwardList.h in Headers */,
- 935EEBA2127761D0003322B8 /* InjectedBundleBackForwardList.h in Headers */,
- 935EEBA4127761D6003322B8 /* InjectedBundleBackForwardListItem.h in Headers */,
- 1A616150127798B5003ACD86 /* DownloadManager.h in Headers */,
- 1A6161D41278981C003ACD86 /* Download.h in Headers */,
- 51ACBB82127A8BAD00D203B9 /* WebContextMenuProxy.h in Headers */,
- 51ACBBA0127A8F2C00D203B9 /* WebContextMenuProxyMac.h in Headers */,
- 1A119A95127B796200A9ECB1 /* MessageSender.h in Headers */,
- BCC43ABB127B95DC00317F16 /* PlatformPopupMenuData.h in Headers */,
- 51871B5C127CB89D00F76232 /* WebContextMenu.h in Headers */,
- 1A2D82A5127F4EAB001EB962 /* NPObjectMessageReceiver.h in Headers */,
- 1A2D82A7127F4EAB001EB962 /* NPObjectProxy.h in Headers */,
- 1A2D82A9127F4EAB001EB962 /* NPRemoteObjectMap.h in Headers */,
- 1A2D843A127F65D5001EB962 /* NPObjectMessageReceiverMessages.h in Headers */,
- 1A2D848B127F6A49001EB962 /* NPIdentifierData.h in Headers */,
- 1A2D84A3127F6AD1001EB962 /* NPVariantData.h in Headers */,
- 1C8E2A361277852400BC7BD0 /* WebInspectorMessages.h in Headers */,
- 1A2D90D21281C966001EB962 /* PluginProcessCreationParameters.h in Headers */,
- BCEE7AD112817988009827DA /* WebProcessProxyMessages.h in Headers */,
- 1A2D956F12848564001EB962 /* ChildProcess.h in Headers */,
- BCEE7D0E12846F69009827DA /* WebContextMessages.h in Headers */,
- 510FBB9B1288C95E00AFFDF4 /* WebContextMenuItemData.h in Headers */,
- 1AB7D4CA1288AAA700CFD08C /* DownloadProxy.h in Headers */,
- 1AB7D61A1288B9D900CFD08C /* DownloadProxyMessages.h in Headers */,
- 512935D81288D19400A4B695 /* WebContextMenuItem.h in Headers */,
- 512935E41288D97800A4B695 /* InjectedBundlePageContextMenuClient.h in Headers */,
- 1AB7D72C1288CAAD00CFD08C /* WebDownloadClient.h in Headers */,
- BCEE7DC5128B645D009827DA /* InjectedBundleClient.h in Headers */,
- 1CA8B946127C882A00576C2B /* WebInspectorProxyMessages.h in Headers */,
- 29CD55AA128E294F00133C85 /* WKAccessibilityWebPageObject.h in Headers */,
- 5153569D1291B1D2000749DC /* WebPageContextMenuClient.h in Headers */,
- 1AAB4A8D1296F0A20023952F /* SandboxExtension.h in Headers */,
- BC7B6206129A0A6700D174A4 /* WebPageGroup.h in Headers */,
- BC7B621512A4219A00D174A4 /* WebPageGroupProxy.h in Headers */,
- BC7B625212A43C9600D174A4 /* WebPageGroupData.h in Headers */,
- 512F588B12A8836600629530 /* AuthenticationManager.h in Headers */,
- 512F589712A8838800629530 /* AuthenticationChallengeProxy.h in Headers */,
- 512F589912A8838800629530 /* AuthenticationDecisionListener.h in Headers */,
- 512F589B12A8838800629530 /* WebCredential.h in Headers */,
- 512F589D12A8838800629530 /* WebProtectionSpace.h in Headers */,
- 512F58A312A883AD00629530 /* AuthenticationManagerMessages.h in Headers */,
- F634445612A885C8000612D8 /* WebSecurityOrigin.h in Headers */,
- BC2D021712AC41CB00E732A3 /* SameDocumentNavigationType.h in Headers */,
- F6A25FDD12ADC6CC00DC40CC /* WebDatabaseManager.h in Headers */,
- 1AAF061412B01131008E49E2 /* PDFViewController.h in Headers */,
- 1AAF0C4A12B16334008E49E2 /* ArgumentCodersCF.h in Headers */,
- F62A765D12B1ABC30005F1B6 /* WebDatabaseManagerProxy.h in Headers */,
- F62A76B712B1B25F0005F1B6 /* WebDatabaseManagerMessages.h in Headers */,
- F62A76B912B1B25F0005F1B6 /* WebDatabaseManagerProxyMessages.h in Headers */,
- BC1DFEA412B31F87005DF730 /* WebOpenPanelResultListenerProxy.h in Headers */,
- BC857F8512B82D0B00EDEB2E /* WebOpenPanelResultListener.h in Headers */,
- BC857FB512B830E600EDEB2E /* WebOpenPanelParameters.h in Headers */,
1A4A9AA812B7E796008FE984 /* WKTextInputWindowController.h in Headers */,
- 1A4A9C5612B816CF008FE984 /* NetscapePluginModule.h in Headers */,
- 1A4A9F3312B844E2008FE984 /* PluginQuirks.h in Headers */,
- BC858A2012C0357B00EDEB2E /* WebResourceLoadClient.h in Headers */,
- 1AA417CB12C00CCA002BE67B /* TextChecker.h in Headers */,
- 909854ED12BC4E18000AD080 /* WebMemorySampler.h in Headers */,
- 1AA41AB512C02EC4002BE67B /* EditorState.h in Headers */,
- BCCF672D12C7EDF7008F9C35 /* OriginAndDatabases.h in Headers */,
- BCCF6ABD12C91EF9008F9C35 /* WebImage.h in Headers */,
- BCAC111F12C92C1F00B08EEE /* WebDatabaseManagerProxyClient.h in Headers */,
- BCCF6B2512C93E7A008F9C35 /* ImageOptions.h in Headers */,
- 93FC67BE12D3CCF200A60610 /* DecoderAdapter.h in Headers */,
- 93FC67C012D3CCF200A60610 /* EncoderAdapter.h in Headers */,
- 1A5E4DA412D3BD3D0099A2BB /* TextCheckerState.h in Headers */,
- 518D2CAE12D5153B003BB93B /* WebBackForwardListItem.h in Headers */,
- BC1BE1E012D54A410004A228 /* WebGeolocationClient.h in Headers */,
- BC1BE1F212D54DBD0004A228 /* WebGeolocationProvider.h in Headers */,
- 1A2C307112D555450063DAA2 /* ContextMenuState.h in Headers */,
- 518D2CCB12D51DFB003BB93B /* SessionState.h in Headers */,
- E1CC1B9012D7EADF00625838 /* PrintInfo.h in Headers */,
- BC54CACB12D64291005C67B0 /* WebGeolocationManagerProxy.h in Headers */,
- BC0E5FE512D697160012A72A /* WebGeolocationManager.h in Headers */,
- BC0E606212D6BA910012A72A /* WebGeolocationManagerMessages.h in Headers */,
- BC0E607312D6BC200012A72A /* WebGeolocationPosition.h in Headers */,
- BC0E618312D6CB1D0012A72A /* WebGeolocationManagerProxyMessages.h in Headers */,
- BC06F42F12DBB9B6002D78DE /* GeolocationPermissionRequestManager.h in Headers */,
- BC06F43A12DBCCFB002D78DE /* GeolocationPermissionRequestProxy.h in Headers */,
- BC06F44A12DBD1F5002D78DE /* GeolocationPermissionRequestManagerProxy.h in Headers */,
- 1A6420E512DCE2FF00CAAE2C /* ShareableBitmap.h in Headers */,
- 1A64218612DCF49200CAAE2C /* DrawingAreaProxyImpl.h in Headers */,
- 1A6421F612DCFBAB00CAAE2C /* DrawingAreaImpl.h in Headers */,
- 1A64229A12DD029200CAAE2C /* DrawingAreaMessages.h in Headers */,
- 1A64230912DD09EB00CAAE2C /* DrawingAreaProxyMessages.h in Headers */,
- 1A64245E12DE29A100CAAE2C /* UpdateInfo.h in Headers */,
- 1A64256812DE42EC00CAAE2C /* BackingStore.h in Headers */,
- C517388112DF8F4F00EE3F47 /* DragControllerAction.h in Headers */,
- 1AA2E51D12E4C05E00BC4966 /* CGUtilities.h in Headers */,
- C574A58112E66681002DFE98 /* PasteboardTypes.h in Headers */,
- E134F01712EA5D33004EC58D /* WKPrintingView.h in Headers */,
- 1A186EEA12EF7618008E5F37 /* LayerTreeHost.h in Headers */,
+ BC407608124FF0270068F20A /* WKType.h in Headers */,
+ BC40760A124FF0270068F20A /* WKURL.h in Headers */,
+ BC40761C124FF0370068F20A /* WKURLCF.h in Headers */,
+ BC40760C124FF0270068F20A /* WKURLRequest.h in Headers */,
+ BC407629124FF0400068F20A /* WKURLRequestNS.h in Headers */,
+ BC40760E124FF0270068F20A /* WKURLResponse.h in Headers */,
+ BC40762B124FF0400068F20A /* WKURLResponseNS.h in Headers */,
+ F6113E29126CE19B0057D0A7 /* WKUserContentURLPattern.h in Headers */,
+ BC8699B5116AADAA002A925B /* WKView.h in Headers */,
+ BC8699B7116AADAA002A925B /* WKViewInternal.h in Headers */,
BFA6179F12F0B99D0033E0CA /* WKViewPrivate.h in Headers */,
- BC8147A912F64CDA007B2C32 /* InjectedBundlePagePolicyClient.h in Headers */,
- BC8147D512F66D31007B2C32 /* InjectedBundleNavigationAction.h in Headers */,
- 1A92DC1112F8BA460017AF65 /* LayerTreeContext.h in Headers */,
- BCA56A1C12F9028E00C566C7 /* WebGraphicsContext.h in Headers */,
- 512E3525130B550600ABD19A /* WebApplicationCacheManagerProxy.h in Headers */,
- 512E352F130B55AF00ABD19A /* WebApplicationCacheManager.h in Headers */,
- 512E356B130B57F000ABD19A /* WebApplicationCacheManagerMessages.h in Headers */,
- 512E35F9130B642E00ABD19A /* WebApplicationCacheManagerProxyMessages.h in Headers */,
- 1AC8702D130B49A2002C1257 /* WebPluginSiteDataManager.h in Headers */,
- 33367630130C9998006C9DE2 /* WebResourceCacheManager.h in Headers */,
- 33367636130C99B2006C9DE2 /* WebResourceCacheManagerProxy.h in Headers */,
- 33367656130C9ECA006C9DE2 /* WebResourceCacheManagerMessages.h in Headers */,
- 33367658130C9ECB006C9DE2 /* WebResourceCacheManagerProxyMessages.h in Headers */,
- 33152976130D0CB200ED2483 /* SecurityOriginData.h in Headers */,
- 51A9E1001315CCDE009E7031 /* WebKeyValueStorageManager.h in Headers */,
- 51A9E1061315CCFC009E7031 /* WebKeyValueStorageManagerProxy.h in Headers */,
- 51A9E1291315ED35009E7031 /* WebKeyValueStorageManagerMessages.h in Headers */,
- 51A9E12B1315ED35009E7031 /* WebKeyValueStorageManagerProxyMessages.h in Headers */,
- 330934481315B9220097A7BC /* WebCookieManagerMessages.h in Headers */,
- 3309344A1315B9220097A7BC /* WebCookieManagerProxyMessages.h in Headers */,
- 330934501315B94D0097A7BC /* WebCookieManager.h in Headers */,
- 330934561315B9750097A7BC /* WebCookieManagerProxy.h in Headers */,
- BCE81D8D1319F7EF00241910 /* FontInfo.h in Headers */,
- BCE81D99131AE02100241910 /* DictionaryPopupInfo.h in Headers */,
- 37C4E9F6131C6E7E0029BD5A /* config.h in Headers */,
- 33AA1067131F060000D4A575 /* WebCookieManagerProxyClient.h in Headers */,
- CDCA85C9132ABA4E00E961DF /* WKFullScreenWindowController.h in Headers */,
- 511B24A7132E095700065A0C /* WebIconDatabaseProxy.h in Headers */,
- 511B24AB132E097200065A0C /* WebIconDatabase.h in Headers */,
- 51D02F6A132EC73700BEAA96 /* WebIconDatabaseMessages.h in Headers */,
- 51D02F6C132EC73700BEAA96 /* WebIconDatabaseProxyMessages.h in Headers */,
- B878B615133428DC006888E9 /* CorrectionPanel.h in Headers */,
- 33D3A3B61339600B00709BE4 /* WKMediaCacheManager.h in Headers */,
- 33D3A3BB1339606200709BE4 /* WebMediaCacheManagerProxy.h in Headers */,
- 33D3A3C2133960B000709BE4 /* WebMediaCacheManager.h in Headers */,
- 33D3A3C91339617900709BE4 /* WebMediaCacheManagerMessages.h in Headers */,
- 33D3A3CB1339617900709BE4 /* WebMediaCacheManagerProxyMessages.h in Headers */,
- C064504A133BE709003470E2 /* LayerTreeHostCA.h in Headers */,
- 51834593134532E90092B696 /* WebIconDatabaseClient.h in Headers */,
- C0FA52431345694A0028E8C2 /* LayerTreeHostCAMac.h in Headers */,
- E1A31732134CEA6C007C9A4F /* AttributedString.h in Headers */,
- E179FD9C134D38060015B883 /* ArgumentCodersMac.h in Headers */,
- CD5C66A1134B9D38004FE2A8 /* InjectedBundlePageFullScreenClient.h in Headers */,
- 37F90DE31376560E0051CF68 /* HTTPCookieAcceptPolicy.h in Headers */,
- 1A7C6CDB1378950800B9C04D /* EnvironmentVariables.h in Headers */,
- 1A179780137EE82C00F97D45 /* PluginCreationParameters.h in Headers */,
- 51D130541382EAC000351EDD /* SecItemRequestData.h in Headers */,
- 51D130561382EAC000351EDD /* SecItemResponseData.h in Headers */,
- 51B15A8513843A3900321AD8 /* EnvironmentUtilities.h in Headers */,
- 511F8A7B138B460900A95F44 /* WebProcessShim.h in Headers */,
- 511F8A7F138B46FE00A95F44 /* SecItemShimMethods.h in Headers */,
- 512DF6D8138C181A00A22FC6 /* KeychainItemShimMethods.h in Headers */,
- 512DF6FF138C254600A22FC6 /* SecKeychainItemRequestData.h in Headers */,
- 512DF701138C254600A22FC6 /* SecKeychainItemResponseData.h in Headers */,
- 512DF70B138C26C700A22FC6 /* KeychainAttribute.h in Headers */,
- 93C01DAC139AC91700ED51D7 /* CoreIPCClientRunLoop.h in Headers */,
- 1A3D610213A7CC2A00F95D4E /* PluginModuleInfo.h in Headers */,
- 5D51845613BCF9CC00C7FF4A /* APIClientTraits.h in Headers */,
- 1A9FBA8D13FF04E600DEED67 /* PluginComplexTextInputState.h in Headers */,
- 5272B28B1406985D0096A5D0 /* StatisticsData.h in Headers */,
- 1A2BB6D114117B4D000F35D4 /* PluginProcessConnectionMessages.h in Headers */,
- 7801C09A142290C400FAF9AF /* WebHitTestResult.h in Headers */,
- 0F174AA3142A4CB70039250F /* WebGeometry.h in Headers */,
- BCBAAC73144E619E0053F82F /* WKBrowsingContextController.h in Headers */,
- BCBAAC74144E61A50053F82F /* WKBrowsingContextControllerInternal.h in Headers */,
- BCBAACEB145225E30053F82F /* WKProcessGroup.h in Headers */,
- BCBAACED145225E30053F82F /* WKProcessGroupInternal.h in Headers */,
- BCBAACF41452324F0053F82F /* WKBrowsingContextGroup.h in Headers */,
- BCBAACF61452324F0053F82F /* WKBrowsingContextGroupInternal.h in Headers */,
- BCBAAD0B14560A430053F82F /* WKBrowsingContextLoadDelegate.h in Headers */,
- E1AEA22F14687BDB00804569 /* WKFullKeyboardAccessWatcher.h in Headers */,
- 1AAF263914687C39004A1E8A /* TiledCoreAnimationDrawingArea.h in Headers */,
- 1AF05D8714688348008B1E81 /* TiledCoreAnimationDrawingAreaProxy.h in Headers */,
- BC4A6290147312BE006C681A /* WebConnection.h in Headers */,
- BC4A6292147312BE006C681A /* WebConnectionClient.h in Headers */,
- BC4A6297147313A0006C681A /* WKConnectionRef.h in Headers */,
- BC4A62A814744EC7006C681A /* WebConnectionToWebProcess.h in Headers */,
- BC09B8F9147460F7005F5625 /* WebContextConnectionClient.h in Headers */,
- 3788A05C14743C90006319E5 /* WKBrowsingContextControllerPrivate.h in Headers */,
- BCE9C0B71484714700E33D61 /* WebConnectionMessageKinds.h in Headers */,
- 310999C7146C9E3D0029DEB9 /* WebNotificationClient.h in Headers */,
- 312C0C4A146DDC8A0016C911 /* WKNotificationProvider.h in Headers */,
- 318BE1681473433700A8FBB2 /* WebNotificationManagerProxyMessages.h in Headers */,
- 318BE17114743DB100A8FBB2 /* WKNotificationManager.h in Headers */,
- 318BE17914743E6F00A8FBB2 /* WKNotification.h in Headers */,
- 31BA924E148831260062EDB5 /* WebNotificationManagerMessages.h in Headers */,
- 31A2EC49148997C200810D71 /* WebNotification.h in Headers */,
- 31A2EC4B148997C200810D71 /* WebNotificationManagerProxy.h in Headers */,
- 31A2EC4E148997C200810D71 /* WebNotificationProvider.h in Headers */,
- 31A2EC521489981900810D71 /* NotificationPermissionRequestManagerProxy.h in Headers */,
- 31A2EC5614899C0900810D71 /* NotificationPermissionRequest.h in Headers */,
- 31A2EC74148D59CA00810D71 /* WKNotificationPermissionRequest.h in Headers */,
- 3131261F148FF82C00BA2A39 /* NotificationPermissionRequestManager.h in Headers */,
- 31312621148FF82C00BA2A39 /* WebNotificationManager.h in Headers */,
- BCA284D71492F2C7001F9042 /* WKConnection.h in Headers */,
- BC5C75C814954DA600BC4775 /* WKConnectionInternal.h in Headers */,
- 5DA6ED0A1490606900B41D12 /* DynamicLinkerEnvironmentExtractor.h in Headers */,
- 1AA575FB1496B52600A4EE06 /* EventDispatcher.h in Headers */,
+ BC2E6E8E1141971500A63B1E /* WorkQueue.h in Headers */,
+ 1AB42E8714BBBBB2004272F7 /* KeychainShimResponseMap.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -4284,8 +4281,8 @@
buildActionMask = 2147483647;
files = (
6D8A91A611F0EFD100DD01FE /* com.apple.WebProcess.sb in Resources */,
- E133FD8A1423DD7F00FC7BFB /* WebKit.icns in Resources */,
1AA575FE1496B6F300A4EE06 /* EventDispatcher.messages.in in Resources */,
+ E133FD8A1423DD7F00FC7BFB /* WebKit.icns in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -4440,429 +4437,428 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
+ 5D51845513BCF9CC00C7FF4A /* APIClientTraits.cpp in Sources */,
+ B63403F914910D57001070B5 /* APIObject.cpp in Sources */,
+ 1A3D610513A7F03A00F95D4E /* ArgumentCoders.cpp in Sources */,
+ 1AAF0C4B12B16334008E49E2 /* ArgumentCodersCF.cpp in Sources */,
+ E179FD9F134D38250015B883 /* ArgumentCodersMac.mm in Sources */,
BC032DA510F437D10058C15A /* ArgumentDecoder.cpp in Sources */,
BC032DA710F437D10058C15A /* ArgumentEncoder.cpp in Sources */,
BCEE966C112FAF57006BCC24 /* Attachment.cpp in Sources */,
+ E1A31735134CEA80007C9A4F /* AttributedString.mm in Sources */,
+ 512F589612A8838800629530 /* AuthenticationChallengeProxy.cpp in Sources */,
+ 512F589812A8838800629530 /* AuthenticationDecisionListener.cpp in Sources */,
+ 512F588A12A8836600629530 /* AuthenticationManager.cpp in Sources */,
+ 51C4032C136749D800DC972D /* AuthenticationManager.mac.mm in Sources */,
+ 512F58A212A883AD00629530 /* AuthenticationManagerMessageReceiver.cpp in Sources */,
+ 1A64256912DE42EC00CAAE2C /* BackingStore.cpp in Sources */,
+ 1A64292D12DE5F9800CAAE2C /* BackingStoreMac.mm in Sources */,
+ 1AC41AC81263C88300054E94 /* BinarySemaphore.cpp in Sources */,
+ E199875E142C045400BB2DE7 /* BuiltInPDFView.cpp in Sources */,
+ 1AA2E51E12E4C05E00BC4966 /* CGUtilities.cpp in Sources */,
+ 1A2D957012848564001EB962 /* ChildProcess.cpp in Sources */,
1A6F9FB711E1408500DB1371 /* CommandLineMac.cpp in Sources */,
BC032DAA10F437D10058C15A /* Connection.cpp in Sources */,
1A30EAC6115D7DA30053E937 /* ConnectionMac.cpp in Sources */,
+ B878B616133428DC006888E9 /* CorrectionPanel.mm in Sources */,
+ 1A8EFDFE1253CB6E00F7067F /* DataReference.cpp in Sources */,
+ 93FC67BD12D3CCF200A60610 /* DecoderAdapter.cpp in Sources */,
+ BCE81D98131AE02100241910 /* DictionaryPopupInfo.cpp in Sources */,
+ 1A6161D51278981C003ACD86 /* Download.cpp in Sources */,
+ 1A61639612789B2F003ACD86 /* DownloadMac.mm in Sources */,
+ 1A61614F127798B5003ACD86 /* DownloadManager.cpp in Sources */,
+ 1AB7D4CB1288AAA700CFD08C /* DownloadProxy.cpp in Sources */,
+ 1AB7D6191288B9D900CFD08C /* DownloadProxyMessageReceiver.cpp in Sources */,
BC8452A71162C80900CAB9B5 /* DrawingArea.cpp in Sources */,
+ 1A6421F712DCFBAB00CAAE2C /* DrawingAreaImpl.cpp in Sources */,
+ 1A64229912DD029200CAAE2C /* DrawingAreaMessageReceiver.cpp in Sources */,
BC2652161182608100243E12 /* DrawingAreaProxy.cpp in Sources */,
+ 1A64218712DCF49200CAAE2C /* DrawingAreaProxyImpl.cpp in Sources */,
+ 1A64230812DD09EB00CAAE2C /* DrawingAreaProxyMessageReceiver.cpp in Sources */,
+ 5DA6ED0B1490606900B41D12 /* DynamicLinkerEnvironmentExtractor.mm in Sources */,
+ 8CFECE941490F140002AAA32 /* EditorState.cpp in Sources */,
+ 93FC67BF12D3CCF200A60610 /* EncoderAdapter.cpp in Sources */,
+ 51B15A8413843A3900321AD8 /* EnvironmentUtilities.cpp in Sources */,
+ 1A7C6CDA1378950800B9C04D /* EnvironmentVariables.cpp in Sources */,
+ 1AA575FA1496B52600A4EE06 /* EventDispatcher.cpp in Sources */,
+ 1AA576021496B97900A4EE06 /* EventDispatcherMessageReceiver.cpp in Sources */,
+ 1A90C1F51264FD71003E44D4 /* FindController.cpp in Sources */,
+ 1A910072126675C4001842F5 /* FindIndicator.cpp in Sources */,
+ 1A91010B1268C8CA001842F5 /* FindIndicatorWindow.mm in Sources */,
+ BCE81D8C1319F7EF00241910 /* FontInfo.cpp in Sources */,
+ BC06F43012DBB9B6002D78DE /* GeolocationPermissionRequestManager.cpp in Sources */,
+ BC06F44B12DBD1F5002D78DE /* GeolocationPermissionRequestManagerProxy.cpp in Sources */,
+ BC06F43B12DBCCFB002D78DE /* GeolocationPermissionRequestProxy.cpp in Sources */,
BC64696F11DBE603006455B0 /* ImmutableArray.cpp in Sources */,
+ BCBCB0CD1215E33A00DE59CA /* ImmutableDictionary.cpp in Sources */,
BC204EE211C83E98008F3375 /* InjectedBundle.cpp in Sources */,
+ 935EEBA1127761CC003322B8 /* InjectedBundleBackForwardList.cpp in Sources */,
+ 935EEBA3127761D3003322B8 /* InjectedBundleBackForwardListItem.cpp in Sources */,
+ BCEE7DC6128B645D009827DA /* InjectedBundleClient.cpp in Sources */,
+ BC498619124D10E200D834E1 /* InjectedBundleHitTestResult.cpp in Sources */,
BC204EE611C83EA9008F3375 /* InjectedBundleMac.cpp in Sources */,
+ BC8147D612F66D31007B2C32 /* InjectedBundleNavigationAction.cpp in Sources */,
+ BC4BEEAC120A0A5F00FBA0C7 /* InjectedBundleNodeHandle.cpp in Sources */,
+ 512935E31288D97800A4B695 /* InjectedBundlePageContextMenuClient.cpp in Sources */,
+ E1EE53E711F8CFFB00CCBEE4 /* InjectedBundlePageEditorClient.cpp in Sources */,
+ BC14E109120B905E00826C0C /* InjectedBundlePageFormClient.cpp in Sources */,
+ CD5C66A0134B9D38004FE2A8 /* InjectedBundlePageFullScreenClient.cpp in Sources */,
BCA8C6A811E3BA5F00812FB7 /* InjectedBundlePageLoaderClient.cpp in Sources */,
+ BC8147AA12F64CDA007B2C32 /* InjectedBundlePagePolicyClient.cpp in Sources */,
+ 659C551E130006410025C0C2 /* InjectedBundlePageResourceLoadClient.cpp in Sources */,
BCA8C6AF11E3C08700812FB7 /* InjectedBundlePageUIClient.cpp in Sources */,
+ BC33E0D212408E8600360F3F /* InjectedBundleRangeHandle.cpp in Sources */,
+ BC14DF78120B5B7900826C0C /* InjectedBundleScriptWorld.cpp in Sources */,
+ 1AE49A4A11FFA8CE0048B464 /* JSNPMethod.cpp in Sources */,
+ 1AE4987911FF7FAA0048B464 /* JSNPObject.cpp in Sources */,
+ 512DF70A138C26C700A22FC6 /* KeychainAttribute.cpp in Sources */,
+ 512DF6D9138C181A00A22FC6 /* KeychainItemShimMethods.mm in Sources */,
+ 1A92DC1312F8BAB90017AF65 /* LayerTreeContextMac.mm in Sources */,
+ 1A186EEB12EF7618008E5F37 /* LayerTreeHost.cpp in Sources */,
+ C0D74DDE133BE2D90089CD44 /* LayerTreeHostCA.cpp in Sources */,
+ C03A136C133BEBF900D767D1 /* LayerTreeHostCAMac.mm in Sources */,
+ 51A7F2F5125BF8D4008AEB1D /* Logging.cpp in Sources */,
+ 5160BFE113381DF900918999 /* Logging.mac.mm in Sources */,
+ 1A24B5F211F531E800C38269 /* MachUtilities.cpp in Sources */,
+ C0E3AA7B1209E83500A49D01 /* Module.cpp in Sources */,
+ C0E3AA7A1209E83000A49D01 /* ModuleMac.mm in Sources */,
+ BCB0AD33122F285800B1341E /* MutableArray.cpp in Sources */,
+ BCB0AEEA122F53E300B1341E /* MutableDictionary.cpp in Sources */,
+ C02BFF1E1251502E009CCBEA /* NativeWebKeyboardEventMac.mm in Sources */,
+ 31EA25D2134F78C0005B1452 /* NativeWebMouseEventMac.mm in Sources */,
+ DF58C6361371ACA000F9A37C /* NativeWebWheelEventMac.mm in Sources */,
1A6FBA2B11E6862700DB1371 /* NetscapeBrowserFuncs.cpp in Sources */,
1A6FBD2911E69BC200DB1371 /* NetscapePlugin.cpp in Sources */,
1AE5B7FB11E7AED200BA6767 /* NetscapePluginMac.mm in Sources */,
+ 1A4A9C5512B816CF008FE984 /* NetscapePluginModule.cpp in Sources */,
+ 1A4A9C9A12B821CD008FE984 /* NetscapePluginModuleMac.mm in Sources */,
1AA5889311EE70400061B882 /* NetscapePluginStream.cpp in Sources */,
+ 31A2EC551489982E00810D71 /* NotificationPermissionRequest.cpp in Sources */,
+ 3131261E148FF82C00BA2A39 /* NotificationPermissionRequestManager.cpp in Sources */,
+ 31A2EC501489980500810D71 /* NotificationPermissionRequestManagerProxy.cpp in Sources */,
+ 1A2D848C127F6A49001EB962 /* NPIdentifierData.cpp in Sources */,
+ 1AE4976911FF658E0048B464 /* NPJSObject.cpp in Sources */,
+ 1A2D82A4127F4EAB001EB962 /* NPObjectMessageReceiver.cpp in Sources */,
+ 1A2D8439127F65D5001EB962 /* NPObjectMessageReceiverMessageReceiver.cpp in Sources */,
+ 1A2D82A6127F4EAB001EB962 /* NPObjectProxy.cpp in Sources */,
+ 1A2D82A8127F4EAB001EB962 /* NPRemoteObjectMap.cpp in Sources */,
+ 1A2161B111F37664008AD0F5 /* NPRuntimeObjectMap.cpp in Sources */,
+ 1A2162B011F38971008AD0F5 /* NPRuntimeUtilities.cpp in Sources */,
+ 1A2D84A4127F6AD1001EB962 /* NPVariantData.cpp in Sources */,
+ BCCF673312C7F15C008F9C35 /* OriginAndDatabases.cpp in Sources */,
BC111B51112F619200337BAB /* PageClientImpl.mm in Sources */,
+ 1A90C23812650717003E44D4 /* PageOverlay.cpp in Sources */,
+ C574A58212E66681002DFE98 /* PasteboardTypes.mm in Sources */,
+ 1AAF061512B01131008E49E2 /* PDFViewController.mm in Sources */,
+ BCF505E81243047B005955AE /* PlatformCertificateInfo.mm in Sources */,
+ BCC43ABA127B95DC00317F16 /* PlatformPopupMenuData.cpp in Sources */,
1A6FB7D211E651E200DB1371 /* Plugin.cpp in Sources */,
+ 1A8EF4CC1252403700F7067F /* PluginControllerProxy.cpp in Sources */,
+ 1A2D91A61281D739001EB962 /* PluginControllerProxyMac.mm in Sources */,
+ 1A8EF96E1252AF6B00F7067F /* PluginControllerProxyMessageReceiver.cpp in Sources */,
+ 1A17977F137EE82C00F97D45 /* PluginCreationParameters.cpp in Sources */,
1AEFCC1311D01F96008219D3 /* PluginInfoStore.cpp in Sources */,
1AEFCCBD11D02C5E008219D3 /* PluginInfoStoreMac.mm in Sources */,
+ 1A3D610113A7CC2A00F95D4E /* PluginModuleInfo.cpp in Sources */,
+ 1A043977124D034800FFBFB5 /* PluginProcess.cpp in Sources */,
+ 1A0EC907124C0AB8007EF4A5 /* PluginProcessConnection.cpp in Sources */,
+ 1A0EC910124C0AF5007EF4A5 /* PluginProcessConnectionManager.cpp in Sources */,
+ 1A2BB6D014117B4D000F35D4 /* PluginProcessConnectionMessageReceiver.cpp in Sources */,
+ 1A2D90D31281C966001EB962 /* PluginProcessCreationParameters.cpp in Sources */,
+ 1AA4792312A59FD9008236C3 /* PluginProcessMac.mm in Sources */,
+ 1A0EC803124BD41E007EF4A5 /* PluginProcessMainMac.mm in Sources */,
+ 1A0EC604124A9F2C007EF4A5 /* PluginProcessManager.cpp in Sources */,
+ 1A043CEB124FE38F00FFBFB5 /* PluginProcessMessageReceiver.cpp in Sources */,
+ 1A0EC75F124BC7B2007EF4A5 /* PluginProcessProxy.cpp in Sources */,
+ 1A2D90BB1281C931001EB962 /* PluginProcessProxyMac.mm in Sources */,
+ 1A043B5D124D5E9D00FFBFB5 /* PluginProcessProxyMessageReceiver.cpp in Sources */,
+ 1A043DC2124FF87500FFBFB5 /* PluginProxy.cpp in Sources */,
+ 1A2D92211281DC1B001EB962 /* PluginProxyMac.mm in Sources */,
+ 1A8EFA701252B84100F7067F /* PluginProxyMessageReceiver.cpp in Sources */,
1A6FB7AE11E64B6800DB1371 /* PluginView.cpp in Sources */,
+ E18C92F412DB9E7100CF2AEB /* PrintInfo.cpp in Sources */,
+ E1CC1B9112D7EADF00625838 /* PrintInfoMac.mm in Sources */,
1AE117F611DBB30900981615 /* ProcessLauncher.cpp in Sources */,
BC111B1D112F5FE600337BAB /* ProcessLauncherMac.mm in Sources */,
BC111B09112F5E3C00337BAB /* ResponsivenessTimer.cpp in Sources */,
BC2E6E871141971500A63B1E /* RunLoop.cpp in Sources */,
BC0092F7115837A300E0AE2A /* RunLoopMac.mm in Sources */,
+ 1AAB4AAA1296F1540023952F /* SandboxExtensionMac.mm in Sources */,
+ 51D130531382EAC000351EDD /* SecItemRequestData.cpp in Sources */,
+ 51D130551382EAC000351EDD /* SecItemResponseData.cpp in Sources */,
+ 511F8A80138B46FE00A95F44 /* SecItemShimMethods.mm in Sources */,
+ 512DF6FE138C254600A22FC6 /* SecKeychainItemRequestData.cpp in Sources */,
+ 512DF700138C254600A22FC6 /* SecKeychainItemResponseData.cpp in Sources */,
+ 33152975130D0CB200ED2483 /* SecurityOriginData.cpp in Sources */,
+ 518D2CCA12D51DFB003BB93B /* SessionState.cpp in Sources */,
+ 1A6420E412DCE2FF00CAAE2C /* ShareableBitmap.cpp in Sources */,
+ C01A260112662F2100C9ED55 /* ShareableBitmapCG.cpp in Sources */,
+ 1A24BF3A120896A600FBB059 /* SharedMemoryMac.cpp in Sources */,
+ 5272B28A1406985D0096A5D0 /* StatisticsData.cpp in Sources */,
+ 1AA417EF12C00D87002BE67B /* TextCheckerMac.mm in Sources */,
+ BCF50122123ED3B3005955AE /* ThreadLauncher.cpp in Sources */,
+ BCF501B4123EF602005955AE /* ThreadLauncherMac.mm in Sources */,
+ 1AAF263814687C39004A1E8A /* TiledCoreAnimationDrawingArea.mm in Sources */,
+ 1AF05D8614688348008B1E81 /* TiledCoreAnimationDrawingAreaProxy.mm in Sources */,
+ 1A64245F12DE29A100CAAE2C /* UpdateInfo.cpp in Sources */,
+ 1A0F29E3120B44420053D1B9 /* VisitedLinkProvider.cpp in Sources */,
+ 1A0F29CB120B37160053D1B9 /* VisitedLinkTable.cpp in Sources */,
+ 512E352E130B55AF00ABD19A /* WebApplicationCacheManager.cpp in Sources */,
+ 512E356A130B57F000ABD19A /* WebApplicationCacheManagerMessageReceiver.cpp in Sources */,
+ 512E3524130B550600ABD19A /* WebApplicationCacheManagerProxy.cpp in Sources */,
+ 512E35F8130B642E00ABD19A /* WebApplicationCacheManagerProxyMessageReceiver.cpp in Sources */,
BC72BA1D11E64907001EB4EA /* WebBackForwardList.cpp in Sources */,
+ 51B3005012529D0E000B5CA0 /* WebBackForwardListCF.cpp in Sources */,
+ 518D2CAD12D5153B003BB93B /* WebBackForwardListItem.cpp in Sources */,
BC72B9FA11E6476B001EB4EA /* WebBackForwardListProxy.cpp in Sources */,
BC111A5A112F4FBB00337BAB /* WebChromeClient.cpp in Sources */,
+ BC4A628F147312BE006C681A /* WebConnection.cpp in Sources */,
+ BC4A6291147312BE006C681A /* WebConnectionClient.cpp in Sources */,
+ BCD3675C148C26C000447E87 /* WebConnectionToUIProcess.cpp in Sources */,
+ BC4A62A714744EC7006C681A /* WebConnectionToWebProcess.cpp in Sources */,
BCB9E2441120DACA00A137E0 /* WebContext.cpp in Sources */,
+ BC09B8F8147460F7005F5625 /* WebContextConnectionClient.cpp in Sources */,
BCDE059C11CDA8AE00E41AF1 /* WebContextInjectedBundleClient.cpp in Sources */,
+ 1A1C649B11F4174200553C19 /* WebContextMac.mm in Sources */,
+ 51871B5B127CB89D00F76232 /* WebContextMenu.cpp in Sources */,
BC111A5B112F4FBB00337BAB /* WebContextMenuClient.cpp in Sources */,
+ 51021E9C12B16788005C033C /* WebContextMenuClientMac.mm in Sources */,
+ 512935D71288D19400A4B695 /* WebContextMenuItem.cpp in Sources */,
+ 510FBB9A1288C95E00AFFDF4 /* WebContextMenuItemData.cpp in Sources */,
+ 51A84CE3127F386B00CA6EA4 /* WebContextMenuProxy.cpp in Sources */,
+ 51ACBBA1127A8F2C00D203B9 /* WebContextMenuProxyMac.mm in Sources */,
+ BCEE7D0D12846F69009827DA /* WebContextMessageReceiver.cpp in Sources */,
+ 3309344F1315B94D0097A7BC /* WebCookieManager.cpp in Sources */,
+ F6A90813133C20510082C3F4 /* WebCookieManagerMac.mm in Sources */,
+ 330934471315B9220097A7BC /* WebCookieManagerMessageReceiver.cpp in Sources */,
+ 330934551315B9750097A7BC /* WebCookieManagerProxy.cpp in Sources */,
+ 33AA1066131F060000D4A575 /* WebCookieManagerProxyClient.cpp in Sources */,
+ F6D632BC133D198200743D77 /* WebCookieManagerProxyMac.mm in Sources */,
+ 330934491315B9220097A7BC /* WebCookieManagerProxyMessageReceiver.cpp in Sources */,
+ 939AE7661316E99C00AE06A6 /* WebCoreArgumentCoders.cpp in Sources */,
+ BCE23263122C6CF300D5C35A /* WebCoreArgumentCodersMac.mm in Sources */,
+ 512F589A12A8838800629530 /* WebCredential.cpp in Sources */,
+ F6A25FDC12ADC6CC00DC40CC /* WebDatabaseManager.cpp in Sources */,
+ F62A76B612B1B25F0005F1B6 /* WebDatabaseManagerMessageReceiver.cpp in Sources */,
+ F62A765C12B1ABC30005F1B6 /* WebDatabaseManagerProxy.cpp in Sources */,
+ BCAC112012C92C1F00B08EEE /* WebDatabaseManagerProxyClient.cpp in Sources */,
+ F62A76B812B1B25F0005F1B6 /* WebDatabaseManagerProxyMessageReceiver.cpp in Sources */,
+ 1AB7D72D1288CAAD00CFD08C /* WebDownloadClient.cpp in Sources */,
BC111A5D112F4FBB00337BAB /* WebDragClient.cpp in Sources */,
+ C574A37712E6099D002DFE98 /* WebDragClientMac.mm in Sources */,
+ BCA0EFA012332642007D3CFB /* WebEditCommandProxy.cpp in Sources */,
BC111A5E112F4FBB00337BAB /* WebEditorClient.cpp in Sources */,
+ C5237F6012441CA300780472 /* WebEditorClientMac.mm in Sources */,
+ BC575613126E0138006F0F12 /* WebError.cpp in Sources */,
BC111AE0112F5BC200337BAB /* WebErrorsMac.mm in Sources */,
+ C0337DAE127A24FE008FF4F4 /* WebEvent.cpp in Sources */,
BC032DBA10F4380F0058C15A /* WebEventConversion.cpp in Sources */,
BC111B5E112F629800337BAB /* WebEventFactory.mm in Sources */,
+ 1A3DD1FD125E59F3004515E6 /* WebFindClient.cpp in Sources */,
+ BCE469531214E6CB000B98EB /* WebFormClient.cpp in Sources */,
+ BCE469551214E6CB000B98EB /* WebFormSubmissionListenerProxy.cpp in Sources */,
BC111ADD112F5B9300337BAB /* WebFrame.cpp in Sources */,
+ BCE469791214F2B4000B98EB /* WebFrameListenerProxy.cpp in Sources */,
BC111A5F112F4FBB00337BAB /* WebFrameLoaderClient.cpp in Sources */,
+ 9391F2CA121B679A00EBF7E8 /* WebFrameNetworkingContext.mm in Sources */,
BCB9F6A11123A84B00A137E0 /* WebFramePolicyListenerProxy.cpp in Sources */,
BC111B0E112F5E4F00337BAB /* WebFrameProxy.cpp in Sources */,
+ CD73BA53131B645B00EEDED2 /* WebFullScreenManager.cpp in Sources */,
+ CDCA8603132ADC0500E961DF /* WebFullScreenManagerMac.mm in Sources */,
+ CD73BA4E131ACDB700EEDED2 /* WebFullScreenManagerMessageReceiver.cpp in Sources */,
+ CD6F75F4131B66D000D6B21E /* WebFullScreenManagerProxy.cpp in Sources */,
+ CDCA85EE132AD70100E961DF /* WebFullScreenManagerProxyMac.mm in Sources */,
+ CD73BA47131ACC9A00EEDED2 /* WebFullScreenManagerProxyMessageReceiver.cpp in Sources */,
+ BC1BE1E112D54A410004A228 /* WebGeolocationClient.cpp in Sources */,
+ BC0E5FE612D697160012A72A /* WebGeolocationManager.cpp in Sources */,
+ BC0E606112D6BA910012A72A /* WebGeolocationManagerMessageReceiver.cpp in Sources */,
+ BC54CACC12D64291005C67B0 /* WebGeolocationManagerProxy.cpp in Sources */,
+ BC0E618212D6CB1D0012A72A /* WebGeolocationManagerProxyMessageReceiver.cpp in Sources */,
+ BC0E607412D6BC200012A72A /* WebGeolocationPosition.cpp in Sources */,
+ BC1BE1F312D54DBD0004A228 /* WebGeolocationProvider.cpp in Sources */,
+ BC9585C812F095B800755821 /* WebGestureEvent.cpp in Sources */,
+ BCA56A1D12F9028E00C566C7 /* WebGraphicsContext.cpp in Sources */,
BCF69F861176CD6F00471A52 /* WebHistoryClient.cpp in Sources */,
+ 7801C099142290C400FAF9AF /* WebHitTestResult.cpp in Sources */,
+ 511B24AA132E097200065A0C /* WebIconDatabase.cpp in Sources */,
+ 51834592134532E90092B696 /* WebIconDatabaseClient.cpp in Sources */,
+ 51D02F64132EC5B900BEAA96 /* WebIconDatabaseMessageReceiver.cpp in Sources */,
+ 511B24A6132E095700065A0C /* WebIconDatabaseProxy.cpp in Sources */,
+ 51D02F6B132EC73700BEAA96 /* WebIconDatabaseProxyMessageReceiver.cpp in Sources */,
+ BCCF6ABC12C91EF9008F9C35 /* WebImage.cpp in Sources */,
+ 1C8E28211275D15400BC7BD0 /* WebInspector.cpp in Sources */,
BC111A60112F4FBB00337BAB /* WebInspectorClient.cpp in Sources */,
+ 1C8E25A81270E3BB00BC7BD0 /* WebInspectorFrontendClient.cpp in Sources */,
+ 1CA8B954127C891500576C2B /* WebInspectorMac.mm in Sources */,
+ 1C8E2A351277852400BC7BD0 /* WebInspectorMessageReceiver.cpp in Sources */,
+ 1C8E28351275D73800BC7BD0 /* WebInspectorProxy.cpp in Sources */,
+ 1CA8B936127C774E00576C2B /* WebInspectorProxyMac.mm in Sources */,
+ 1CA8B945127C882A00576C2B /* WebInspectorProxyMessageReceiver.cpp in Sources */,
+ C0337DD3127A2A0E008FF4F4 /* WebKeyboardEvent.cpp in Sources */,
+ 51A9E0FF1315CCDE009E7031 /* WebKeyValueStorageManager.cpp in Sources */,
+ 51A9E1281315ED35009E7031 /* WebKeyValueStorageManagerMessageReceiver.cpp in Sources */,
+ 51A9E1051315CCFC009E7031 /* WebKeyValueStorageManagerProxy.cpp in Sources */,
+ 51A9E12A1315ED35009E7031 /* WebKeyValueStorageManagerProxyMessageReceiver.cpp in Sources */,
1A6FA31611E3923600DB1371 /* WebKitMain.cpp in Sources */,
BCB9E76211232B9E00A137E0 /* WebLoaderClient.cpp in Sources */,
+ 33D3A3C1133960B000709BE4 /* WebMediaCacheManager.cpp in Sources */,
+ 33D3A3C81339617900709BE4 /* WebMediaCacheManagerMessageReceiver.cpp in Sources */,
+ 33D3A3BA1339606200709BE4 /* WebMediaCacheManagerProxy.cpp in Sources */,
+ 33D3A3CA1339617900709BE4 /* WebMediaCacheManagerProxyMessageReceiver.cpp in Sources */,
+ 909854EC12BC4E17000AD080 /* WebMemorySampler.cpp in Sources */,
+ 909854EE12BC4E18000AD080 /* WebMemorySampler.mac.mm in Sources */,
+ C0337DB0127A28D0008FF4F4 /* WebMouseEvent.cpp in Sources */,
BCF69FA31176D01400471A52 /* WebNavigationData.cpp in Sources */,
+ 31A2EC48148997C200810D71 /* WebNotification.cpp in Sources */,
+ 31099973146C75A20029DEB9 /* WebNotificationClient.cpp in Sources */,
+ 31312620148FF82C00BA2A39 /* WebNotificationManager.cpp in Sources */,
+ 31BA924D148831260062EDB5 /* WebNotificationManagerMessageReceiver.cpp in Sources */,
+ 31A2EC4A148997C200810D71 /* WebNotificationManagerProxy.cpp in Sources */,
+ 318BE1671473433700A8FBB2 /* WebNotificationManagerProxyMessageReceiver.cpp in Sources */,
+ 31A2EC4D148997C200810D71 /* WebNotificationProvider.cpp in Sources */,
+ BC857FB612B830E600EDEB2E /* WebOpenPanelParameters.cpp in Sources */,
+ BC857F8612B82D0B00EDEB2E /* WebOpenPanelResultListener.cpp in Sources */,
+ BC857F7E12B82CEE00EDEB2E /* WebOpenPanelResultListenerProxy.cpp in Sources */,
BC963D6B113DD19200574BE2 /* WebPage.cpp in Sources */,
+ 5153569C1291B1D2000749DC /* WebPageContextMenuClient.cpp in Sources */,
+ C06C6095124C144B0001682F /* WebPageCreationParameters.cpp in Sources */,
+ BC7B6207129A0A6700D174A4 /* WebPageGroup.cpp in Sources */,
+ BC7B625312A43C9600D174A4 /* WebPageGroupData.cpp in Sources */,
+ BC7B621612A4219A00D174A4 /* WebPageGroupProxy.cpp in Sources */,
BC963D6E113DD1A500574BE2 /* WebPageMac.mm in Sources */,
+ C0CE72A01247E71D00BC0EC4 /* WebPageMessageReceiver.cpp in Sources */,
BC111B0F112F5E4F00337BAB /* WebPageProxy.cpp in Sources */,
+ 51B3005112529D0E000B5CA0 /* WebPageProxyCF.cpp in Sources */,
+ BC857E8712B71EBB00EDEB2E /* WebPageProxyMac.mm in Sources */,
+ BCBD3914125BB1A800D2C29F /* WebPageProxyMessageReceiver.cpp in Sources */,
1A3E736211CC2659007BD539 /* WebPlatformStrategies.cpp in Sources */,
+ C0337DDD127A521C008FF4F4 /* WebPlatformTouchPoint.cpp in Sources */,
+ 1AC8702E130B49A2002C1257 /* WebPluginSiteDataManager.cpp in Sources */,
BCB9F8AF1124E07700A137E0 /* WebPolicyClient.cpp in Sources */,
+ BC5744EF12638FB3006F0F12 /* WebPopupItem.cpp in Sources */,
+ D3B9484611FF4B6500032B39 /* WebPopupMenu.cpp in Sources */,
+ BCC43AC7127B99DE00317F16 /* WebPopupMenuMac.mm in Sources */,
+ BC5750981268F3C6006F0F12 /* WebPopupMenuProxyMac.mm in Sources */,
BCD59800112B57BE00EC8C23 /* WebPreferences.cpp in Sources */,
+ BC2DFBA312A761A500E732A3 /* WebPreferencesCF.cpp in Sources */,
+ BC84EB1812A7100C0083F2DA /* WebPreferencesMac.mm in Sources */,
BCD598AD112B7FDF00EC8C23 /* WebPreferencesStore.cpp in Sources */,
BC111AE4112F5C2600337BAB /* WebProcess.cpp in Sources */,
+ 1A043A0A124D11A900FFBFB5 /* WebProcessConnection.cpp in Sources */,
+ 1A043F6912514D8B00FFBFB5 /* WebProcessConnectionMessageReceiver.cpp in Sources */,
+ BC306825125A6B9400E71278 /* WebProcessCreationParameters.cpp in Sources */,
+ BC3065C412592F8900E71278 /* WebProcessMac.mm in Sources */,
1A6FA01E11E1526300DB1371 /* WebProcessMainMac.mm in Sources */,
+ BC3066BE125A442100E71278 /* WebProcessMessageReceiver.cpp in Sources */,
BC111B11112F5E4F00337BAB /* WebProcessProxy.cpp in Sources */,
+ 51D130581382F10500351EDD /* WebProcessProxyMac.mm in Sources */,
+ BCEE7AD012817988009827DA /* WebProcessProxyMessageReceiver.cpp in Sources */,
+ 512F589C12A8838800629530 /* WebProtectionSpace.cpp in Sources */,
+ 3336762F130C9998006C9DE2 /* WebResourceCacheManager.cpp in Sources */,
+ 33F9D5B91312F1EE000D683F /* WebResourceCacheManagerCFNet.cpp in Sources */,
+ 33367655130C9ECA006C9DE2 /* WebResourceCacheManagerMessageReceiver.cpp in Sources */,
+ 33367635130C99B2006C9DE2 /* WebResourceCacheManagerProxy.cpp in Sources */,
+ 33367657130C9ECA006C9DE2 /* WebResourceCacheManagerProxyMessageReceiver.cpp in Sources */,
+ BC858A2112C0357B00EDEB2E /* WebResourceLoadClient.cpp in Sources */,
+ D3B9484811FF4B6500032B39 /* WebSearchPopupMenu.cpp in Sources */,
BCC5715C115ADAEF001CCAF9 /* WebSystemInterface.mm in Sources */,
+ C0337DD8127A51B6008FF4F4 /* WebTouchEvent.cpp in Sources */,
1A594ABA112A1FB6009DE7C7 /* WebUIClient.cpp in Sources */,
+ BCA0EF8012331E78007D3CFB /* WebUndoStep.cpp in Sources */,
+ BCE2315E122C30CA00D5C35A /* WebURLRequest.cpp in Sources */,
+ BCE231C2122C466E00D5C35A /* WebURLRequestMac.mm in Sources */,
+ BC90A1D3122DD55E00CC8C50 /* WebURLResponse.cpp in Sources */,
+ BC90A1D7122DD66A00CC8C50 /* WebURLResponseMac.mm in Sources */,
+ C0337DD1127A2980008FF4F4 /* WebWheelEvent.cpp in Sources */,
+ 29CD55AB128E294F00133C85 /* WKAccessibilityWebPageObject.mm in Sources */,
+ 512E34E4130B4D0500ABD19A /* WKApplicationCacheManager.cpp in Sources */,
+ BC4075F3124FF0270068F20A /* WKArray.cpp in Sources */,
+ 512F58F512A88A5400629530 /* WKAuthenticationChallenge.cpp in Sources */,
+ 512F58F712A88A5400629530 /* WKAuthenticationDecisionListener.cpp in Sources */,
BC646C1A11DD399F006455B0 /* WKBackForwardList.cpp in Sources */,
BC646C1C11DD399F006455B0 /* WKBackForwardListItem.cpp in Sources */,
+ BCBAAC72144E61990053F82F /* WKBrowsingContextController.mm in Sources */,
+ BCBAACF51452324F0053F82F /* WKBrowsingContextGroup.mm in Sources */,
BC204EEE11C83EC8008F3375 /* WKBundle.cpp in Sources */,
+ 935EEB9E127761AC003322B8 /* WKBundleBackForwardList.cpp in Sources */,
+ 935EEBA0127761AC003322B8 /* WKBundleBackForwardListItem.cpp in Sources */,
BCD25F1811D6BDE100169B0E /* WKBundleFrame.cpp in Sources */,
- BC20528211C94284008F3375 /* WKBundlePage.cpp in Sources */,
- BCB9E24C1120E15C00A137E0 /* WKContext.cpp in Sources */,
- BCD0139C110FA420003B8A67 /* WKFrame.cpp in Sources */,
- BCB9F6A61123DD0D00A137E0 /* WKFramePolicyListener.cpp in Sources */,
- BCF69FAA1176D1CB00471A52 /* WKNavigationData.cpp in Sources */,
- BCD597D6112B56DC00EC8C23 /* WKPage.cpp in Sources */,
- BCD597D1112B56AC00EC8C23 /* WKPreferences.cpp in Sources */,
- BC8699B6116AADAA002A925B /* WKView.mm in Sources */,
- BC2E6E8D1141971500A63B1E /* WorkQueue.cpp in Sources */,
- BC0092F8115837A300E0AE2A /* WorkQueueMac.cpp in Sources */,
- 1A2161B111F37664008AD0F5 /* NPRuntimeObjectMap.cpp in Sources */,
- 1A2162B011F38971008AD0F5 /* NPRuntimeUtilities.cpp in Sources */,
- 1A1C649B11F4174200553C19 /* WebContextMac.mm in Sources */,
- 1A24B5F211F531E800C38269 /* MachUtilities.cpp in Sources */,
- E1EE53E711F8CFFB00CCBEE4 /* InjectedBundlePageEditorClient.cpp in Sources */,
- 1AE4976911FF658E0048B464 /* NPJSObject.cpp in Sources */,
- 1AE4987911FF7FAA0048B464 /* JSNPObject.cpp in Sources */,
- 1AE49A4A11FFA8CE0048B464 /* JSNPMethod.cpp in Sources */,
- D3B9484611FF4B6500032B39 /* WebPopupMenu.cpp in Sources */,
- D3B9484811FF4B6500032B39 /* WebSearchPopupMenu.cpp in Sources */,
- C0E3AA7A1209E83000A49D01 /* ModuleMac.mm in Sources */,
- C0E3AA7B1209E83500A49D01 /* Module.cpp in Sources */,
- 1A24BF3A120896A600FBB059 /* SharedMemoryMac.cpp in Sources */,
- 1A0F29CB120B37160053D1B9 /* VisitedLinkTable.cpp in Sources */,
- 1A0F29E3120B44420053D1B9 /* VisitedLinkProvider.cpp in Sources */,
- BC4BEEAC120A0A5F00FBA0C7 /* InjectedBundleNodeHandle.cpp in Sources */,
+ BC498630124D18C100D834E1 /* WKBundleHitTestResult.cpp in Sources */,
+ 6501BD1A12F1243400E9F248 /* WKBundleInspector.cpp in Sources */,
+ BC7043CD12F75EE0006472B9 /* WKBundleNavigationAction.cpp in Sources */,
BC4BEFE2120A1A4C00FBA0C7 /* WKBundleNodeHandle.cpp in Sources */,
- BC14DF78120B5B7900826C0C /* InjectedBundleScriptWorld.cpp in Sources */,
- BC14DF9E120B635F00826C0C /* WKBundleScriptWorld.cpp in Sources */,
- BC14E109120B905E00826C0C /* InjectedBundlePageFormClient.cpp in Sources */,
- BCE469531214E6CB000B98EB /* WebFormClient.cpp in Sources */,
- BCE469551214E6CB000B98EB /* WebFormSubmissionListenerProxy.cpp in Sources */,
- BCE469591214EDF4000B98EB /* WKFormSubmissionListener.cpp in Sources */,
- BCE469791214F2B4000B98EB /* WebFrameListenerProxy.cpp in Sources */,
- BCBCB0CD1215E33A00DE59CA /* ImmutableDictionary.cpp in Sources */,
- 9391F2CA121B679A00EBF7E8 /* WebFrameNetworkingContext.mm in Sources */,
- BCE2315E122C30CA00D5C35A /* WebURLRequest.cpp in Sources */,
- BCE231C2122C466E00D5C35A /* WebURLRequestMac.mm in Sources */,
- BCE23263122C6CF300D5C35A /* WebCoreArgumentCodersMac.mm in Sources */,
- BC90A1D3122DD55E00CC8C50 /* WebURLResponse.cpp in Sources */,
- BC90A1D7122DD66A00CC8C50 /* WebURLResponseMac.mm in Sources */,
- BCB0AD33122F285800B1341E /* MutableArray.cpp in Sources */,
- BCB0AEEA122F53E300B1341E /* MutableDictionary.cpp in Sources */,
- BCA0EF8012331E78007D3CFB /* WebUndoStep.cpp in Sources */,
- BCA0EFA012332642007D3CFB /* WebEditCommandProxy.cpp in Sources */,
- BCF50122123ED3B3005955AE /* ThreadLauncher.cpp in Sources */,
- BCF501B4123EF602005955AE /* ThreadLauncherMac.mm in Sources */,
- C5237F6012441CA300780472 /* WebEditorClientMac.mm in Sources */,
- BC33E0D212408E8600360F3F /* InjectedBundleRangeHandle.cpp in Sources */,
+ BC20528211C94284008F3375 /* WKBundlePage.cpp in Sources */,
+ BC7B633E12A45D1200D174A4 /* WKBundlePageGroup.cpp in Sources */,
+ EDCA71B7128DDA8C00201B26 /* WKBundlePageOverlay.cpp in Sources */,
BC60C57A1240A546008C5E29 /* WKBundleRangeHandle.cpp in Sources */,
- BCF505E81243047B005955AE /* PlatformCertificateInfo.mm in Sources */,
- C0CE72A01247E71D00BC0EC4 /* WebPageMessageReceiver.cpp in Sources */,
- 1A0EC604124A9F2C007EF4A5 /* PluginProcessManager.cpp in Sources */,
- 1A0EC75F124BC7B2007EF4A5 /* PluginProcessProxy.cpp in Sources */,
- 1A0EC803124BD41E007EF4A5 /* PluginProcessMainMac.mm in Sources */,
- 1A0EC907124C0AB8007EF4A5 /* PluginProcessConnection.cpp in Sources */,
- 1A0EC910124C0AF5007EF4A5 /* PluginProcessConnectionManager.cpp in Sources */,
- BC498619124D10E200D834E1 /* InjectedBundleHitTestResult.cpp in Sources */,
- BC498630124D18C100D834E1 /* WKBundleHitTestResult.cpp in Sources */,
- 1A043977124D034800FFBFB5 /* PluginProcess.cpp in Sources */,
- 1A043A0A124D11A900FFBFB5 /* WebProcessConnection.cpp in Sources */,
- C06C6095124C144B0001682F /* WebPageCreationParameters.cpp in Sources */,
- 1A043B5D124D5E9D00FFBFB5 /* PluginProcessProxyMessageReceiver.cpp in Sources */,
- BC4075F3124FF0270068F20A /* WKArray.cpp in Sources */,
+ BC14DF9E120B635F00826C0C /* WKBundleScriptWorld.cpp in Sources */,
BC4075F5124FF0270068F20A /* WKCertificateInfo.cpp in Sources */,
+ BC407628124FF0400068F20A /* WKCertificateInfoMac.mm in Sources */,
+ BCA284D61492F2C7001F9042 /* WKConnection.mm in Sources */,
+ BC4A6296147313A0006C681A /* WKConnectionRef.cpp in Sources */,
+ BCB9E24C1120E15C00A137E0 /* WKContext.cpp in Sources */,
+ 51A555F5128C6C47009ABCEC /* WKContextMenuItem.cpp in Sources */,
+ 3309345A1315B9980097A7BC /* WKCookieManager.cpp in Sources */,
+ 512F58F912A88A5400629530 /* WKCredential.cpp in Sources */,
BC4075F7124FF0270068F20A /* WKData.cpp in Sources */,
+ F62A766112B1ABED0005F1B6 /* WKDatabaseManager.cpp in Sources */,
BC4075F9124FF0270068F20A /* WKDictionary.cpp in Sources */,
+ 1AB7D78E1288CD9A00CFD08C /* WKDownload.cpp in Sources */,
BC4075FB124FF0270068F20A /* WKError.cpp in Sources */,
+ BCFD548B132D82680055D816 /* WKErrorCF.cpp in Sources */,
+ BCE469591214EDF4000B98EB /* WKFormSubmissionListener.cpp in Sources */,
+ BCD0139C110FA420003B8A67 /* WKFrame.cpp in Sources */,
+ BCB9F6A61123DD0D00A137E0 /* WKFramePolicyListener.cpp in Sources */,
+ E1AEA23014687BDB00804569 /* WKFullKeyboardAccessWatcher.mm in Sources */,
+ CDCA85C8132ABA4E00E961DF /* WKFullScreenWindowController.mm in Sources */,
+ BC54CC1312D674EE005C67B0 /* WKGeolocationManager.cpp in Sources */,
+ BC06F44F12DBDF3F002D78DE /* WKGeolocationPermissionRequest.cpp in Sources */,
+ BC0E619912D6CD120012A72A /* WKGeolocationPosition.cpp in Sources */,
+ 0F174AA7142AAC610039250F /* WKGeometry.cpp in Sources */,
+ BCA56A6612F9C8F900C566C7 /* WKGraphicsContext.cpp in Sources */,
+ BCA56A6A12F9C9AD00C566C7 /* WKGraphicsContextCG.cpp in Sources */,
+ B62E7310143047A60069EC35 /* WKHitTestResult.cpp in Sources */,
+ 5110AE0C133C16CB0072717A /* WKIconDatabase.cpp in Sources */,
+ 5123CF1B133D260A0056F800 /* WKIconDatabaseCG.cpp in Sources */,
+ BCCF6AC212C91F34008F9C35 /* WKImage.cpp in Sources */,
+ BCCF6AC912C91F59008F9C35 /* WKImageCG.cpp in Sources */,
+ 1C8E293A12761E5B00BC7BD0 /* WKInspector.cpp in Sources */,
+ 51A9E10A1315CD18009E7031 /* WKKeyValueStorageManager.cpp in Sources */,
+ 33D3A3B51339600B00709BE4 /* WKMediaCacheManager.cpp in Sources */,
BC4075FD124FF0270068F20A /* WKMutableArray.cpp in Sources */,
BC4075FF124FF0270068F20A /* WKMutableDictionary.cpp in Sources */,
+ BCF69FAA1176D1CB00471A52 /* WKNavigationData.cpp in Sources */,
+ 318BE17714743E6000A8FBB2 /* WKNotification.cpp in Sources */,
+ 318BE17514743DD700A8FBB2 /* WKNotificationManager.cpp in Sources */,
+ 31A2EC77148D662E00810D71 /* WKNotificationPermissionRequest.cpp in Sources */,
BC407601124FF0270068F20A /* WKNumber.cpp in Sources */,
+ BC85806312B8505700EDEB2E /* WKOpenPanelParameters.cpp in Sources */,
+ BC85806212B8505700EDEB2E /* WKOpenPanelResultListener.cpp in Sources */,
+ BCD597D6112B56DC00EC8C23 /* WKPage.cpp in Sources */,
+ BC7B633812A45ABA00D174A4 /* WKPageGroup.cpp in Sources */,
+ BCE17B7D1381F1170012A641 /* WKPagePrivateMac.cpp in Sources */,
+ 1AC86FF3130B46D3002C1257 /* WKPluginSiteDataManager.cpp in Sources */,
+ BCD597D1112B56AC00EC8C23 /* WKPreferences.cpp in Sources */,
+ E134F01A12EA5D99004EC58D /* WKPrintingView.mm in Sources */,
+ BCBAACEC145225E30053F82F /* WKProcessGroup.mm in Sources */,
+ 512F58FB12A88A5400629530 /* WKProtectionSpace.cpp in Sources */,
+ 3336763A130C99DC006C9DE2 /* WKResourceCacheManager.cpp in Sources */,
+ F634445C12A885E9000612D8 /* WKSecurityOrigin.cpp in Sources */,
BC407603124FF0270068F20A /* WKSerializedScriptValue.cpp in Sources */,
BC407605124FF0270068F20A /* WKString.cpp in Sources */,
+ BC407619124FF0370068F20A /* WKStringCF.cpp in Sources */,
+ 1A4A9AA912B7E796008FE984 /* WKTextInputWindowController.mm in Sources */,
BC407607124FF0270068F20A /* WKType.cpp in Sources */,
BC407609124FF0270068F20A /* WKURL.cpp in Sources */,
- BC40760B124FF0270068F20A /* WKURLRequest.cpp in Sources */,
- BC40760D124FF0270068F20A /* WKURLResponse.cpp in Sources */,
- BC407619124FF0370068F20A /* WKStringCF.cpp in Sources */,
BC40761B124FF0370068F20A /* WKURLCF.cpp in Sources */,
- BC407628124FF0400068F20A /* WKCertificateInfoMac.mm in Sources */,
+ BC40760B124FF0270068F20A /* WKURLRequest.cpp in Sources */,
BC40762A124FF0400068F20A /* WKURLRequestNS.mm in Sources */,
+ BC40760D124FF0270068F20A /* WKURLResponse.cpp in Sources */,
BC40762C124FF0400068F20A /* WKURLResponseNS.mm in Sources */,
- 1A043CEB124FE38F00FFBFB5 /* PluginProcessMessageReceiver.cpp in Sources */,
- 1A043DC2124FF87500FFBFB5 /* PluginProxy.cpp in Sources */,
- 1A043F6912514D8B00FFBFB5 /* WebProcessConnectionMessageReceiver.cpp in Sources */,
- 1A8EF4CC1252403700F7067F /* PluginControllerProxy.cpp in Sources */,
- C02BFF1E1251502E009CCBEA /* NativeWebKeyboardEventMac.mm in Sources */,
- 51B3005012529D0E000B5CA0 /* WebBackForwardListCF.cpp in Sources */,
- 51B3005112529D0E000B5CA0 /* WebPageProxyCF.cpp in Sources */,
- 1A8EF96E1252AF6B00F7067F /* PluginControllerProxyMessageReceiver.cpp in Sources */,
- 1A8EFA701252B84100F7067F /* PluginProxyMessageReceiver.cpp in Sources */,
- 1A8EFDFE1253CB6E00F7067F /* DataReference.cpp in Sources */,
- BC3065C412592F8900E71278 /* WebProcessMac.mm in Sources */,
- BC3066BE125A442100E71278 /* WebProcessMessageReceiver.cpp in Sources */,
- BC306825125A6B9400E71278 /* WebProcessCreationParameters.cpp in Sources */,
- 51A7F2F5125BF8D4008AEB1D /* Logging.cpp in Sources */,
- BCBD3914125BB1A800D2C29F /* WebPageProxyMessageReceiver.cpp in Sources */,
- 1A3DD1FD125E59F3004515E6 /* WebFindClient.cpp in Sources */,
- BC5744EF12638FB3006F0F12 /* WebPopupItem.cpp in Sources */,
- 1AC41AC81263C88300054E94 /* BinarySemaphore.cpp in Sources */,
- 1A90C1F51264FD71003E44D4 /* FindController.cpp in Sources */,
- 1A90C23812650717003E44D4 /* PageOverlay.cpp in Sources */,
- C01A260112662F2100C9ED55 /* ShareableBitmapCG.cpp in Sources */,
- BC5750981268F3C6006F0F12 /* WebPopupMenuProxyMac.mm in Sources */,
- 1A910072126675C4001842F5 /* FindIndicator.cpp in Sources */,
- 1A91010B1268C8CA001842F5 /* FindIndicatorWindow.mm in Sources */,
F6113E28126CE19B0057D0A7 /* WKUserContentURLPattern.cpp in Sources */,
- BC575613126E0138006F0F12 /* WebError.cpp in Sources */,
- 1C8E25A81270E3BB00BC7BD0 /* WebInspectorFrontendClient.cpp in Sources */,
- 1C8E28211275D15400BC7BD0 /* WebInspector.cpp in Sources */,
- 1C8E28351275D73800BC7BD0 /* WebInspectorProxy.cpp in Sources */,
- 1C8E293A12761E5B00BC7BD0 /* WKInspector.cpp in Sources */,
- 935EEB9E127761AC003322B8 /* WKBundleBackForwardList.cpp in Sources */,
- 935EEBA0127761AC003322B8 /* WKBundleBackForwardListItem.cpp in Sources */,
- 935EEBA1127761CC003322B8 /* InjectedBundleBackForwardList.cpp in Sources */,
- 935EEBA3127761D3003322B8 /* InjectedBundleBackForwardListItem.cpp in Sources */,
- 1A61614F127798B5003ACD86 /* DownloadManager.cpp in Sources */,
- 1A6161D51278981C003ACD86 /* Download.cpp in Sources */,
- 1A61639612789B2F003ACD86 /* DownloadMac.mm in Sources */,
- 51ACBBA1127A8F2C00D203B9 /* WebContextMenuProxyMac.mm in Sources */,
- C0337DAE127A24FE008FF4F4 /* WebEvent.cpp in Sources */,
- C0337DB0127A28D0008FF4F4 /* WebMouseEvent.cpp in Sources */,
- C0337DD1127A2980008FF4F4 /* WebWheelEvent.cpp in Sources */,
- C0337DD3127A2A0E008FF4F4 /* WebKeyboardEvent.cpp in Sources */,
- C0337DD8127A51B6008FF4F4 /* WebTouchEvent.cpp in Sources */,
- C0337DDD127A521C008FF4F4 /* WebPlatformTouchPoint.cpp in Sources */,
- BCC43ABA127B95DC00317F16 /* PlatformPopupMenuData.cpp in Sources */,
- BCC43AC7127B99DE00317F16 /* WebPopupMenuMac.mm in Sources */,
- 51871B5B127CB89D00F76232 /* WebContextMenu.cpp in Sources */,
- 51A84CE3127F386B00CA6EA4 /* WebContextMenuProxy.cpp in Sources */,
- 1A2D82A4127F4EAB001EB962 /* NPObjectMessageReceiver.cpp in Sources */,
- 1A2D82A6127F4EAB001EB962 /* NPObjectProxy.cpp in Sources */,
- 1A2D82A8127F4EAB001EB962 /* NPRemoteObjectMap.cpp in Sources */,
- 1A2D8439127F65D5001EB962 /* NPObjectMessageReceiverMessageReceiver.cpp in Sources */,
- 1A2D848C127F6A49001EB962 /* NPIdentifierData.cpp in Sources */,
- 1A2D84A4127F6AD1001EB962 /* NPVariantData.cpp in Sources */,
- 1C8E2A351277852400BC7BD0 /* WebInspectorMessageReceiver.cpp in Sources */,
- 1A2D90BB1281C931001EB962 /* PluginProcessProxyMac.mm in Sources */,
- 1A2D90D31281C966001EB962 /* PluginProcessCreationParameters.cpp in Sources */,
- 1A2D91A61281D739001EB962 /* PluginControllerProxyMac.mm in Sources */,
- 1A2D92211281DC1B001EB962 /* PluginProxyMac.mm in Sources */,
- BCEE7AD012817988009827DA /* WebProcessProxyMessageReceiver.cpp in Sources */,
- 1A2D957012848564001EB962 /* ChildProcess.cpp in Sources */,
- BCEE7D0D12846F69009827DA /* WebContextMessageReceiver.cpp in Sources */,
- 510FBB9A1288C95E00AFFDF4 /* WebContextMenuItemData.cpp in Sources */,
- 1AB7D4CB1288AAA700CFD08C /* DownloadProxy.cpp in Sources */,
- 1AB7D6191288B9D900CFD08C /* DownloadProxyMessageReceiver.cpp in Sources */,
- 512935D71288D19400A4B695 /* WebContextMenuItem.cpp in Sources */,
- 512935E31288D97800A4B695 /* InjectedBundlePageContextMenuClient.cpp in Sources */,
- 1AB7D72D1288CAAD00CFD08C /* WebDownloadClient.cpp in Sources */,
- 1AB7D78E1288CD9A00CFD08C /* WKDownload.cpp in Sources */,
- 51A555F5128C6C47009ABCEC /* WKContextMenuItem.cpp in Sources */,
- BCEE7DC6128B645D009827DA /* InjectedBundleClient.cpp in Sources */,
- 1CA8B936127C774E00576C2B /* WebInspectorProxyMac.mm in Sources */,
- 1CA8B945127C882A00576C2B /* WebInspectorProxyMessageReceiver.cpp in Sources */,
- 1CA8B954127C891500576C2B /* WebInspectorMac.mm in Sources */,
- EDCA71B7128DDA8C00201B26 /* WKBundlePageOverlay.cpp in Sources */,
- 29CD55AB128E294F00133C85 /* WKAccessibilityWebPageObject.mm in Sources */,
- 5153569C1291B1D2000749DC /* WebPageContextMenuClient.cpp in Sources */,
- 1AAB4AAA1296F1540023952F /* SandboxExtensionMac.mm in Sources */,
- BC7B6207129A0A6700D174A4 /* WebPageGroup.cpp in Sources */,
- BC7B621612A4219A00D174A4 /* WebPageGroupProxy.cpp in Sources */,
- BC7B625312A43C9600D174A4 /* WebPageGroupData.cpp in Sources */,
- BC7B633812A45ABA00D174A4 /* WKPageGroup.cpp in Sources */,
- BC7B633E12A45D1200D174A4 /* WKBundlePageGroup.cpp in Sources */,
- 1AA4792312A59FD9008236C3 /* PluginProcessMac.mm in Sources */,
- BC84EB1812A7100C0083F2DA /* WebPreferencesMac.mm in Sources */,
- BC2DFBA312A761A500E732A3 /* WebPreferencesCF.cpp in Sources */,
- 512F588A12A8836600629530 /* AuthenticationManager.cpp in Sources */,
- 512F589612A8838800629530 /* AuthenticationChallengeProxy.cpp in Sources */,
- 512F589812A8838800629530 /* AuthenticationDecisionListener.cpp in Sources */,
- 512F589A12A8838800629530 /* WebCredential.cpp in Sources */,
- 512F589C12A8838800629530 /* WebProtectionSpace.cpp in Sources */,
- 512F58A212A883AD00629530 /* AuthenticationManagerMessageReceiver.cpp in Sources */,
- 512F58F512A88A5400629530 /* WKAuthenticationChallenge.cpp in Sources */,
- 512F58F712A88A5400629530 /* WKAuthenticationDecisionListener.cpp in Sources */,
- 512F58F912A88A5400629530 /* WKCredential.cpp in Sources */,
- 512F58FB12A88A5400629530 /* WKProtectionSpace.cpp in Sources */,
- F634445C12A885E9000612D8 /* WKSecurityOrigin.cpp in Sources */,
- F6A25FDC12ADC6CC00DC40CC /* WebDatabaseManager.cpp in Sources */,
- 51021E9C12B16788005C033C /* WebContextMenuClientMac.mm in Sources */,
- 1AAF061512B01131008E49E2 /* PDFViewController.mm in Sources */,
- 1AAF0C4B12B16334008E49E2 /* ArgumentCodersCF.cpp in Sources */,
- F62A765C12B1ABC30005F1B6 /* WebDatabaseManagerProxy.cpp in Sources */,
- F62A766112B1ABED0005F1B6 /* WKDatabaseManager.cpp in Sources */,
- F62A76B612B1B25F0005F1B6 /* WebDatabaseManagerMessageReceiver.cpp in Sources */,
- F62A76B812B1B25F0005F1B6 /* WebDatabaseManagerProxyMessageReceiver.cpp in Sources */,
- BC857E8712B71EBB00EDEB2E /* WebPageProxyMac.mm in Sources */,
- BC857F7E12B82CEE00EDEB2E /* WebOpenPanelResultListenerProxy.cpp in Sources */,
- BC857F8612B82D0B00EDEB2E /* WebOpenPanelResultListener.cpp in Sources */,
- BC857FB612B830E600EDEB2E /* WebOpenPanelParameters.cpp in Sources */,
- BC85806212B8505700EDEB2E /* WKOpenPanelResultListener.cpp in Sources */,
- BC85806312B8505700EDEB2E /* WKOpenPanelParameters.cpp in Sources */,
- 1A4A9AA912B7E796008FE984 /* WKTextInputWindowController.mm in Sources */,
- 1A4A9C5512B816CF008FE984 /* NetscapePluginModule.cpp in Sources */,
- 1A4A9C9A12B821CD008FE984 /* NetscapePluginModuleMac.mm in Sources */,
- BC858A2112C0357B00EDEB2E /* WebResourceLoadClient.cpp in Sources */,
- 1AA417EF12C00D87002BE67B /* TextCheckerMac.mm in Sources */,
- 909854EC12BC4E17000AD080 /* WebMemorySampler.cpp in Sources */,
- 909854EE12BC4E18000AD080 /* WebMemorySampler.mac.mm in Sources */,
- BCCF673312C7F15C008F9C35 /* OriginAndDatabases.cpp in Sources */,
- BCCF6ABC12C91EF9008F9C35 /* WebImage.cpp in Sources */,
- BCCF6AC212C91F34008F9C35 /* WKImage.cpp in Sources */,
- BCCF6AC912C91F59008F9C35 /* WKImageCG.cpp in Sources */,
- BCAC112012C92C1F00B08EEE /* WebDatabaseManagerProxyClient.cpp in Sources */,
- 93FC67BD12D3CCF200A60610 /* DecoderAdapter.cpp in Sources */,
- 93FC67BF12D3CCF200A60610 /* EncoderAdapter.cpp in Sources */,
- 518D2CAD12D5153B003BB93B /* WebBackForwardListItem.cpp in Sources */,
- BC1BE1E112D54A410004A228 /* WebGeolocationClient.cpp in Sources */,
- BC1BE1F312D54DBD0004A228 /* WebGeolocationProvider.cpp in Sources */,
- 518D2CCA12D51DFB003BB93B /* SessionState.cpp in Sources */,
- E1CC1B9112D7EADF00625838 /* PrintInfoMac.mm in Sources */,
- E18C92F412DB9E7100CF2AEB /* PrintInfo.cpp in Sources */,
- BC54CACC12D64291005C67B0 /* WebGeolocationManagerProxy.cpp in Sources */,
- BC54CC1312D674EE005C67B0 /* WKGeolocationManager.cpp in Sources */,
- BC0E5FE612D697160012A72A /* WebGeolocationManager.cpp in Sources */,
- BC0E606112D6BA910012A72A /* WebGeolocationManagerMessageReceiver.cpp in Sources */,
- BC0E607412D6BC200012A72A /* WebGeolocationPosition.cpp in Sources */,
- BC0E618212D6CB1D0012A72A /* WebGeolocationManagerProxyMessageReceiver.cpp in Sources */,
- BC0E619912D6CD120012A72A /* WKGeolocationPosition.cpp in Sources */,
- BC06F43012DBB9B6002D78DE /* GeolocationPermissionRequestManager.cpp in Sources */,
- BC06F43B12DBCCFB002D78DE /* GeolocationPermissionRequestProxy.cpp in Sources */,
- BC06F44B12DBD1F5002D78DE /* GeolocationPermissionRequestManagerProxy.cpp in Sources */,
- BC06F44F12DBDF3F002D78DE /* WKGeolocationPermissionRequest.cpp in Sources */,
- 1A6420E412DCE2FF00CAAE2C /* ShareableBitmap.cpp in Sources */,
- 1A64218712DCF49200CAAE2C /* DrawingAreaProxyImpl.cpp in Sources */,
- 1A6421F712DCFBAB00CAAE2C /* DrawingAreaImpl.cpp in Sources */,
- 1A64229912DD029200CAAE2C /* DrawingAreaMessageReceiver.cpp in Sources */,
- 1A64230812DD09EB00CAAE2C /* DrawingAreaProxyMessageReceiver.cpp in Sources */,
- 1A64245F12DE29A100CAAE2C /* UpdateInfo.cpp in Sources */,
- 1A64256912DE42EC00CAAE2C /* BackingStore.cpp in Sources */,
- 1A64292D12DE5F9800CAAE2C /* BackingStoreMac.mm in Sources */,
- 1AA2E51E12E4C05E00BC4966 /* CGUtilities.cpp in Sources */,
- C574A37712E6099D002DFE98 /* WebDragClientMac.mm in Sources */,
- C574A58212E66681002DFE98 /* PasteboardTypes.mm in Sources */,
- E134F01A12EA5D99004EC58D /* WKPrintingView.mm in Sources */,
- BC9585C812F095B800755821 /* WebGestureEvent.cpp in Sources */,
- 1A186EEB12EF7618008E5F37 /* LayerTreeHost.cpp in Sources */,
- 6501BD1A12F1243400E9F248 /* WKBundleInspector.cpp in Sources */,
- BC8147AA12F64CDA007B2C32 /* InjectedBundlePagePolicyClient.cpp in Sources */,
- BC8147D612F66D31007B2C32 /* InjectedBundleNavigationAction.cpp in Sources */,
- BC7043CD12F75EE0006472B9 /* WKBundleNavigationAction.cpp in Sources */,
- 1A92DC1312F8BAB90017AF65 /* LayerTreeContextMac.mm in Sources */,
- BCA56A1D12F9028E00C566C7 /* WebGraphicsContext.cpp in Sources */,
- BCA56A6612F9C8F900C566C7 /* WKGraphicsContext.cpp in Sources */,
- BCA56A6A12F9C9AD00C566C7 /* WKGraphicsContextCG.cpp in Sources */,
- 659C551E130006410025C0C2 /* InjectedBundlePageResourceLoadClient.cpp in Sources */,
- 512E34E4130B4D0500ABD19A /* WKApplicationCacheManager.cpp in Sources */,
- 512E3524130B550600ABD19A /* WebApplicationCacheManagerProxy.cpp in Sources */,
- 512E352E130B55AF00ABD19A /* WebApplicationCacheManager.cpp in Sources */,
- 512E356A130B57F000ABD19A /* WebApplicationCacheManagerMessageReceiver.cpp in Sources */,
- 512E35F8130B642E00ABD19A /* WebApplicationCacheManagerProxyMessageReceiver.cpp in Sources */,
- 1AC86FF3130B46D3002C1257 /* WKPluginSiteDataManager.cpp in Sources */,
- 1AC8702E130B49A2002C1257 /* WebPluginSiteDataManager.cpp in Sources */,
- 3336762F130C9998006C9DE2 /* WebResourceCacheManager.cpp in Sources */,
- 33367635130C99B2006C9DE2 /* WebResourceCacheManagerProxy.cpp in Sources */,
- 3336763A130C99DC006C9DE2 /* WKResourceCacheManager.cpp in Sources */,
- 33367655130C9ECA006C9DE2 /* WebResourceCacheManagerMessageReceiver.cpp in Sources */,
- 33367657130C9ECA006C9DE2 /* WebResourceCacheManagerProxyMessageReceiver.cpp in Sources */,
- 33152975130D0CB200ED2483 /* SecurityOriginData.cpp in Sources */,
- 33F9D5B91312F1EE000D683F /* WebResourceCacheManagerCFNet.cpp in Sources */,
- 51A9E0FF1315CCDE009E7031 /* WebKeyValueStorageManager.cpp in Sources */,
- 51A9E1051315CCFC009E7031 /* WebKeyValueStorageManagerProxy.cpp in Sources */,
- 51A9E10A1315CD18009E7031 /* WKKeyValueStorageManager.cpp in Sources */,
- 51A9E1281315ED35009E7031 /* WebKeyValueStorageManagerMessageReceiver.cpp in Sources */,
- 51A9E12A1315ED35009E7031 /* WebKeyValueStorageManagerProxyMessageReceiver.cpp in Sources */,
- 939AE7661316E99C00AE06A6 /* WebCoreArgumentCoders.cpp in Sources */,
- 330934471315B9220097A7BC /* WebCookieManagerMessageReceiver.cpp in Sources */,
- 330934491315B9220097A7BC /* WebCookieManagerProxyMessageReceiver.cpp in Sources */,
- 3309344F1315B94D0097A7BC /* WebCookieManager.cpp in Sources */,
- 330934551315B9750097A7BC /* WebCookieManagerProxy.cpp in Sources */,
- 3309345A1315B9980097A7BC /* WKCookieManager.cpp in Sources */,
- BCE81D8C1319F7EF00241910 /* FontInfo.cpp in Sources */,
- BCE81D98131AE02100241910 /* DictionaryPopupInfo.cpp in Sources */,
- 33AA1066131F060000D4A575 /* WebCookieManagerProxyClient.cpp in Sources */,
- CD73BA47131ACC9A00EEDED2 /* WebFullScreenManagerProxyMessageReceiver.cpp in Sources */,
- CD73BA4E131ACDB700EEDED2 /* WebFullScreenManagerMessageReceiver.cpp in Sources */,
- CD73BA53131B645B00EEDED2 /* WebFullScreenManager.cpp in Sources */,
- CD6F75F4131B66D000D6B21E /* WebFullScreenManagerProxy.cpp in Sources */,
- CDCA85C8132ABA4E00E961DF /* WKFullScreenWindowController.mm in Sources */,
- CDCA85EE132AD70100E961DF /* WebFullScreenManagerProxyMac.mm in Sources */,
- CDCA8603132ADC0500E961DF /* WebFullScreenManagerMac.mm in Sources */,
- BCFD548B132D82680055D816 /* WKErrorCF.cpp in Sources */,
- 511B24A6132E095700065A0C /* WebIconDatabaseProxy.cpp in Sources */,
- 511B24AA132E097200065A0C /* WebIconDatabase.cpp in Sources */,
- 51D02F64132EC5B900BEAA96 /* WebIconDatabaseMessageReceiver.cpp in Sources */,
- 51D02F6B132EC73700BEAA96 /* WebIconDatabaseProxyMessageReceiver.cpp in Sources */,
- B878B616133428DC006888E9 /* CorrectionPanel.mm in Sources */,
- 33D3A3B51339600B00709BE4 /* WKMediaCacheManager.cpp in Sources */,
- 33D3A3BA1339606200709BE4 /* WebMediaCacheManagerProxy.cpp in Sources */,
- 33D3A3C1133960B000709BE4 /* WebMediaCacheManager.cpp in Sources */,
- 33D3A3C81339617900709BE4 /* WebMediaCacheManagerMessageReceiver.cpp in Sources */,
- 33D3A3CA1339617900709BE4 /* WebMediaCacheManagerProxyMessageReceiver.cpp in Sources */,
- 5160BFE113381DF900918999 /* Logging.mac.mm in Sources */,
- C0D74DDE133BE2D90089CD44 /* LayerTreeHostCA.cpp in Sources */,
- C03A136C133BEBF900D767D1 /* LayerTreeHostCAMac.mm in Sources */,
- 5110AE0C133C16CB0072717A /* WKIconDatabase.cpp in Sources */,
- 5123CF1B133D260A0056F800 /* WKIconDatabaseCG.cpp in Sources */,
- F6A90813133C20510082C3F4 /* WebCookieManagerMac.mm in Sources */,
- F6D632BC133D198200743D77 /* WebCookieManagerProxyMac.mm in Sources */,
- 51834592134532E90092B696 /* WebIconDatabaseClient.cpp in Sources */,
- E1A31735134CEA80007C9A4F /* AttributedString.mm in Sources */,
- E179FD9F134D38250015B883 /* ArgumentCodersMac.mm in Sources */,
- 31EA25D2134F78C0005B1452 /* NativeWebMouseEventMac.mm in Sources */,
- CD5C66A0134B9D38004FE2A8 /* InjectedBundlePageFullScreenClient.cpp in Sources */,
- 51C4032C136749D800DC972D /* AuthenticationManager.mac.mm in Sources */,
- DF58C6361371ACA000F9A37C /* NativeWebWheelEventMac.mm in Sources */,
- 1A7C6CDA1378950800B9C04D /* EnvironmentVariables.cpp in Sources */,
- 1A17977F137EE82C00F97D45 /* PluginCreationParameters.cpp in Sources */,
- BCE17B7D1381F1170012A641 /* WKPagePrivateMac.cpp in Sources */,
- 51D130531382EAC000351EDD /* SecItemRequestData.cpp in Sources */,
- 51D130551382EAC000351EDD /* SecItemResponseData.cpp in Sources */,
- 51D130581382F10500351EDD /* WebProcessProxyMac.mm in Sources */,
- 51B15A8413843A3900321AD8 /* EnvironmentUtilities.cpp in Sources */,
- 511F8A80138B46FE00A95F44 /* SecItemShimMethods.mm in Sources */,
- 512DF6D9138C181A00A22FC6 /* KeychainItemShimMethods.mm in Sources */,
- 512DF6FE138C254600A22FC6 /* SecKeychainItemRequestData.cpp in Sources */,
- 512DF700138C254600A22FC6 /* SecKeychainItemResponseData.cpp in Sources */,
- 512DF70A138C26C700A22FC6 /* KeychainAttribute.cpp in Sources */,
- 93C01DAD139AC91700ED51D7 /* CoreIPCClientRunLoop.mm in Sources */,
- 1A3D610113A7CC2A00F95D4E /* PluginModuleInfo.cpp in Sources */,
- 1A3D610513A7F03A00F95D4E /* ArgumentCoders.cpp in Sources */,
- 5D51845513BCF9CC00C7FF4A /* APIClientTraits.cpp in Sources */,
- 5272B28A1406985D0096A5D0 /* StatisticsData.cpp in Sources */,
- 1A2BB6D014117B4D000F35D4 /* PluginProcessConnectionMessageReceiver.cpp in Sources */,
- 7801C099142290C400FAF9AF /* WebHitTestResult.cpp in Sources */,
- E199875E142C045400BB2DE7 /* BuiltInPDFView.cpp in Sources */,
- 0F174AA7142AAC610039250F /* WKGeometry.cpp in Sources */,
- B62E7310143047A60069EC35 /* WKHitTestResult.cpp in Sources */,
- BCBAAC72144E61990053F82F /* WKBrowsingContextController.mm in Sources */,
- BCBAACEC145225E30053F82F /* WKProcessGroup.mm in Sources */,
- BCBAACF51452324F0053F82F /* WKBrowsingContextGroup.mm in Sources */,
- E1AEA23014687BDB00804569 /* WKFullKeyboardAccessWatcher.mm in Sources */,
- 1AAF263814687C39004A1E8A /* TiledCoreAnimationDrawingArea.mm in Sources */,
- 1AF05D8614688348008B1E81 /* TiledCoreAnimationDrawingAreaProxy.mm in Sources */,
- BC4A628F147312BE006C681A /* WebConnection.cpp in Sources */,
- BC4A6291147312BE006C681A /* WebConnectionClient.cpp in Sources */,
- BC4A6296147313A0006C681A /* WKConnectionRef.cpp in Sources */,
- BC4A62A714744EC7006C681A /* WebConnectionToWebProcess.cpp in Sources */,
- BC09B8F8147460F7005F5625 /* WebContextConnectionClient.cpp in Sources */,
- 31099973146C75A20029DEB9 /* WebNotificationClient.cpp in Sources */,
- 318BE1671473433700A8FBB2 /* WebNotificationManagerProxyMessageReceiver.cpp in Sources */,
- 318BE17514743DD700A8FBB2 /* WKNotificationManager.cpp in Sources */,
- 318BE17714743E6000A8FBB2 /* WKNotification.cpp in Sources */,
- 31BA924D148831260062EDB5 /* WebNotificationManagerMessageReceiver.cpp in Sources */,
- BCD3675C148C26C000447E87 /* WebConnectionToUIProcess.cpp in Sources */,
- 8CFECE941490F140002AAA32 /* EditorState.cpp in Sources */,
- B63403F914910D57001070B5 /* APIObject.cpp in Sources */,
- 31A2EC48148997C200810D71 /* WebNotification.cpp in Sources */,
- 31A2EC4A148997C200810D71 /* WebNotificationManagerProxy.cpp in Sources */,
- 31A2EC4D148997C200810D71 /* WebNotificationProvider.cpp in Sources */,
- 31A2EC501489980500810D71 /* NotificationPermissionRequestManagerProxy.cpp in Sources */,
- 31A2EC551489982E00810D71 /* NotificationPermissionRequest.cpp in Sources */,
- 31A2EC77148D662E00810D71 /* WKNotificationPermissionRequest.cpp in Sources */,
- 3131261E148FF82C00BA2A39 /* NotificationPermissionRequestManager.cpp in Sources */,
- 31312620148FF82C00BA2A39 /* WebNotificationManager.cpp in Sources */,
- BCA284D61492F2C7001F9042 /* WKConnection.mm in Sources */,
- 5DA6ED0B1490606900B41D12 /* DynamicLinkerEnvironmentExtractor.mm in Sources */,
- 1AA575FA1496B52600A4EE06 /* EventDispatcher.cpp in Sources */,
- 1AA576021496B97900A4EE06 /* EventDispatcherMessageReceiver.cpp in Sources */,
+ BC8699B6116AADAA002A925B /* WKView.mm in Sources */,
+ BC2E6E8D1141971500A63B1E /* WorkQueue.cpp in Sources */,
+ BC0092F8115837A300E0AE2A /* WorkQueueMac.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/Source/WebKit2/WebKit2Prefix.h b/Source/WebKit2/WebKit2Prefix.h
index a96014f02..59a1378d7 100644
--- a/Source/WebKit2/WebKit2Prefix.h
+++ b/Source/WebKit2/WebKit2Prefix.h
@@ -28,6 +28,20 @@
#import <Cocoa/Cocoa.h>
#endif
+/* When C++ exceptions are disabled, the C++ library defines |try| and |catch|
+* to allow C++ code that expects exceptions to build. These definitions
+* interfere with Objective-C++ uses of Objective-C exception handlers, which
+* use |@try| and |@catch|. As a workaround, undefine these macros. */
+
+#ifdef __cplusplus
+#include <algorithm> // needed for exception_defines.h
+#endif
+
+#ifdef __OBJC__
+#undef try
+#undef catch
+#endif
+
#ifdef __cplusplus
#define new ("if you use new/delete make sure to include config.h at the top of the file"())
#define delete ("if you use new/delete make sure to include config.h at the top of the file"())
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h b/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h
index fa364cd72..dd68e1f9b 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h
@@ -182,6 +182,16 @@ private:
virtual void attachRootGraphicsLayer(WebCore::Frame*, WebCore::GraphicsLayer*) OVERRIDE;
virtual void setNeedsOneShotDrawingSynchronization() OVERRIDE;
virtual void scheduleCompositingLayerSync() OVERRIDE;
+
+ virtual CompositingTriggerFlags allowedCompositingTriggers() const
+ {
+ return static_cast<CompositingTriggerFlags>(
+ ThreeDTransformTrigger |
+ VideoTrigger |
+ PluginTrigger|
+ CanvasTrigger |
+ AnimationTrigger);
+ }
#endif
#if ENABLE(TOUCH_EVENTS)
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.cpp b/Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.cpp
index c0f612801..907d20c5c 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.cpp
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.cpp
@@ -401,6 +401,9 @@ WebGraphicsLayer* toWebGraphicsLayer(GraphicsLayer* layer)
void WebGraphicsLayer::syncCompositingStateForThisLayerOnly()
{
+ if (!m_layerTreeTileClient)
+ m_layerTreeTileClient = layerTreeTileClient();
+
updateContentBuffers();
if (!m_modified)
@@ -431,12 +434,11 @@ void WebGraphicsLayer::syncCompositingStateForThisLayerOnly()
for (size_t i = 0; i < children().size(); ++i)
m_layerInfo.children.append(toWebLayerID(children()[i]));
- WebLayerTreeTileClient* tileClient = layerTreeTileClient();
- ASSERT(tileClient);
+ ASSERT(m_layerTreeTileClient);
if (m_layerInfo.imageIsUpdated && m_image && !m_layerInfo.imageBackingStoreID)
- m_layerInfo.imageBackingStoreID = tileClient->adoptImageBackingStore(m_image.get());
+ m_layerInfo.imageBackingStoreID = m_layerTreeTileClient->adoptImageBackingStore(m_image.get());
- tileClient->didSyncCompositingStateForLayer(m_layerInfo);
+ m_layerTreeTileClient->didSyncCompositingStateForLayer(m_layerInfo);
m_modified = false;
m_layerInfo.imageIsUpdated = false;
if (m_hasPendingAnimations)
@@ -612,6 +614,22 @@ void WebGraphicsLayer::recreateBackingStoreIfNeeded()
if (m_image)
setContentsNeedsDisplay();
}
+
+void WebGraphicsLayer::setLayerTreeTileClient(WebKit::WebLayerTreeTileClient* client)
+{
+ if (m_layerTreeTileClient == client)
+ return;
+
+ for (size_t i = 0; i < children().size(); ++i) {
+ WebGraphicsLayer* layer = toWebGraphicsLayer(this->children()[i]);
+ layer->setLayerTreeTileClient(client);
+ }
+
+ // Have to force detach from remote layer here if layer tile client changes.
+ if (m_layerTreeTileClient)
+ m_layerTreeTileClient->didDeleteLayer(id());
+ m_layerTreeTileClient = client;
+}
#endif
static PassOwnPtr<GraphicsLayer> createWebGraphicsLayer(GraphicsLayerClient* client)
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.h b/Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.h
index 52955de1e..361fcb286 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.h
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.h
@@ -124,7 +124,7 @@ public:
virtual void updateTile(int tileID, const WebKit::UpdateInfo&);
virtual void removeTile(int tileID);
- void setLayerTreeTileClient(WebKit::WebLayerTreeTileClient* client) { m_layerTreeTileClient = client; }
+ void setLayerTreeTileClient(WebKit::WebLayerTreeTileClient*);
WebKit::WebLayerTreeTileClient* layerTreeTileClient() const;
bool isReadyForTileBufferSwap() const;
diff --git a/Source/WebKit2/WebProcess/WebPage/EventDispatcher.cpp b/Source/WebKit2/WebProcess/WebPage/EventDispatcher.cpp
index 6486587d0..1a91d8e3c 100644
--- a/Source/WebKit2/WebProcess/WebPage/EventDispatcher.cpp
+++ b/Source/WebKit2/WebProcess/WebPage/EventDispatcher.cpp
@@ -78,7 +78,7 @@ void EventDispatcher::didReceiveMessageOnConnectionWorkQueue(CoreIPC::Connection
}
}
-void EventDispatcher::wheelEvent(uint64_t pageID, const WebWheelEvent& wheelEvent)
+void EventDispatcher::wheelEvent(CoreIPC::Connection*, uint64_t pageID, const WebWheelEvent& wheelEvent)
{
#if ENABLE(THREADED_SCROLLING)
MutexLocker locker(m_scrollingCoordinatorsMutex);
@@ -96,7 +96,7 @@ void EventDispatcher::wheelEvent(uint64_t pageID, const WebWheelEvent& wheelEven
}
#if ENABLE(GESTURE_EVENTS)
-void EventDispatcher::gestureEvent(uint64_t pageID, const WebGestureEvent& gestureEvent)
+void EventDispatcher::gestureEvent(CoreIPC::Connection*, uint64_t pageID, const WebGestureEvent& gestureEvent)
{
#if ENABLE(THREADED_SCROLLING)
MutexLocker locker(m_scrollingCoordinatorsMutex);
diff --git a/Source/WebKit2/WebProcess/WebPage/EventDispatcher.h b/Source/WebKit2/WebProcess/WebPage/EventDispatcher.h
index 7cd2f9550..f8c459af5 100644
--- a/Source/WebKit2/WebProcess/WebPage/EventDispatcher.h
+++ b/Source/WebKit2/WebProcess/WebPage/EventDispatcher.h
@@ -66,9 +66,9 @@ private:
void didReceiveEventDispatcherMessageOnConnectionWorkQueue(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder* arguments, bool& didHandleMessage);
// Message handlers
- void wheelEvent(uint64_t pageID, const WebWheelEvent&);
+ void wheelEvent(CoreIPC::Connection*, uint64_t pageID, const WebWheelEvent&);
#if ENABLE(GESTURE_EVENTS)
- void gestureEvent(uint64_t pageID, const WebGestureEvent&);
+ void gestureEvent(CoreIPC::Connection*, uint64_t pageID, const WebGestureEvent&);
#endif
// This is called on the main thread.
diff --git a/Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.cpp b/Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.cpp
index 266a3a95d..341fb69e4 100644
--- a/Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.cpp
+++ b/Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.cpp
@@ -52,6 +52,8 @@ PassRefPtr<LayerTreeHostQt> LayerTreeHostQt::create(WebPage* webPage)
LayerTreeHostQt::~LayerTreeHostQt()
{
+ if (m_rootLayer)
+ toWebGraphicsLayer(m_rootLayer.get())->setLayerTreeTileClient(0);
}
LayerTreeHostQt::LayerTreeHostQt(WebPage* webPage)
diff --git a/Source/WebKit2/WebProcess/WebProcess.cpp b/Source/WebKit2/WebProcess/WebProcess.cpp
index 9fdca9051..39b3bc8e5 100644
--- a/Source/WebKit2/WebProcess/WebProcess.cpp
+++ b/Source/WebKit2/WebProcess/WebProcess.cpp
@@ -949,7 +949,7 @@ void WebProcess::garbageCollectJavaScriptObjects()
}
#if ENABLE(PLUGIN_PROCESS)
-void WebProcess::pluginProcessCrashed(const String& pluginPath)
+void WebProcess::pluginProcessCrashed(CoreIPC::Connection*, const String& pluginPath)
{
m_pluginProcessConnectionManager.pluginProcessCrashed(pluginPath);
}
diff --git a/Source/WebKit2/WebProcess/WebProcess.h b/Source/WebKit2/WebProcess/WebProcess.h
index b6fff7f2f..1e50284c0 100644
--- a/Source/WebKit2/WebProcess/WebProcess.h
+++ b/Source/WebKit2/WebProcess/WebProcess.h
@@ -73,6 +73,11 @@ struct WebPageGroupData;
struct WebPreferencesStore;
struct WebProcessCreationParameters;
+#if PLATFORM(MAC)
+class SecItemResponseData;
+class SecKeychainItemResponseData;
+#endif
+
class WebProcess : public ChildProcess, private CoreIPC::Connection::QueueClient {
public:
static WebProcess& shared();
@@ -182,7 +187,7 @@ private:
#endif
#if ENABLE(PLUGIN_PROCESS)
- void pluginProcessCrashed(const String& pluginPath);
+ void pluginProcessCrashed(CoreIPC::Connection*, const String& pluginPath);
#endif
void startMemorySampler(const SandboxExtension::Handle&, const String&, const double);
@@ -199,6 +204,11 @@ private:
void getWebCoreStatistics(uint64_t callbackID);
void garbageCollectJavaScriptObjects();
+#if PLATFORM(MAC)
+ void secItemResponse(CoreIPC::Connection*, uint64_t requestID, const SecItemResponseData&);
+ void secKeychainItemResponse(CoreIPC::Connection*, uint64_t requestID, const SecKeychainItemResponseData&);
+#endif
+
// ChildProcess
virtual bool shouldTerminate();
virtual void terminate();
diff --git a/Source/WebKit2/WebProcess/WebProcess.messages.in b/Source/WebKit2/WebProcess/WebProcess.messages.in
index b991f44c5..641cc7df1 100644
--- a/Source/WebKit2/WebProcess/WebProcess.messages.in
+++ b/Source/WebKit2/WebProcess/WebProcess.messages.in
@@ -75,4 +75,9 @@ messages -> WebProcess {
GetWebCoreStatistics(uint64_t callbackID)
GarbageCollectJavaScriptObjects()
+
+#if PLATFORM(MAC)
+ SecItemResponse(uint64_t requestID, WebKit::SecItemResponseData response) DispatchOnConnectionQueue
+ SecKeychainItemResponse(uint64_t requestID, WebKit::SecKeychainItemResponseData response) DispatchOnConnectionQueue
+#endif
}
diff --git a/Source/WebKit2/WebProcess/com.apple.WebProcess.sb b/Source/WebKit2/WebProcess/com.apple.WebProcess.sb
index 80c707806..41c00ac2e 100644
--- a/Source/WebKit2/WebProcess/com.apple.WebProcess.sb
+++ b/Source/WebKit2/WebProcess/com.apple.WebProcess.sb
@@ -151,6 +151,7 @@
(global-name "com.apple.SecurityServer")
(global-name "com.apple.SystemConfiguration.configd")
(global-name "com.apple.SystemConfiguration.PPPController")
+ (global-name "com.apple.SystemConfiguration.SCNetworkReachability")
(global-name "com.apple.audio.VDCAssistant")
(global-name "com.apple.audio.audiohald")
(global-name "com.apple.audio.coreaudiod")
diff --git a/Source/WebKit2/WebProcess/mac/CoreIPCClientRunLoop.mm b/Source/WebKit2/WebProcess/mac/CoreIPCClientRunLoop.mm
deleted file mode 100644
index cb50465f9..000000000
--- a/Source/WebKit2/WebProcess/mac/CoreIPCClientRunLoop.mm
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (C) 2011 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "config.h"
-#import "CoreIPCClientRunLoop.h"
-
-#import <WebCore/ResourceHandle.h>
-#import <wtf/RetainPtr.h>
-
-using namespace WebCore;
-
-@interface WKFunctionAdapter : NSObject
-{
-@public
- WebKit::FunctionWithContext function;
- void* context;
-}
-- (void)perform;
-@end
-
-@implementation WKFunctionAdapter
-
-- (void)perform
-{
- function(context);
-}
-
-@end
-
-namespace WebKit {
-
-static CFArrayRef createCoreIPCRunLoopModesArray()
-{
- // Ideally we'd like to list all modes here that might be used for run loops while we are handling networking.
- // We have to explicitly include the run loop mode used for synchronous loads in WebCore so we don't get deadlock
- // when those loads call security functions that are shimmed.
- const void* values[2] = { kCFRunLoopCommonModes, ResourceHandle::synchronousLoadRunLoopMode() };
- return CFArrayCreate(0, values, 2, &kCFTypeArrayCallBacks);
-}
-
-static NSArray *coreIPCRunLoopModesArray()
-{
- static CFArrayRef modes = createCoreIPCRunLoopModesArray();
- return (NSArray *)modes;
-}
-
-void callOnCoreIPCClientRunLoopAndWait(FunctionWithContext function, void* context)
-{
- // FIXME: It would fit better with WebKit2 coding style to use a WTF Function here.
- // To do that we'd need to make dispatch have an overload that takes an array of run loop modes or find some
- // other way to specify that we want to include the synchronous load run loop mode.
- RetainPtr<WKFunctionAdapter> adapter(AdoptNS, [[WKFunctionAdapter alloc] init]);
- adapter->function = function;
- adapter->context = context;
- [adapter.get() performSelectorOnMainThread:@selector(perform) withObject:nil waitUntilDone:YES modes:coreIPCRunLoopModesArray()];
-}
-
-}
diff --git a/Source/WebKit2/WebProcess/mac/KeychainItemShimMethods.h b/Source/WebKit2/WebProcess/mac/KeychainItemShimMethods.h
index ae80130ad..1c7fe33c6 100644
--- a/Source/WebKit2/WebProcess/mac/KeychainItemShimMethods.h
+++ b/Source/WebKit2/WebProcess/mac/KeychainItemShimMethods.h
@@ -30,6 +30,9 @@ namespace WebKit {
void initializeKeychainItemShim();
+class SecKeychainItemResponseData;
+void didReceiveSecKeychainItemResponse(uint64_t requestID, const SecKeychainItemResponseData&);
+
}
#endif // KeychainItemShimMethods_h
diff --git a/Source/WebKit2/WebProcess/mac/KeychainItemShimMethods.mm b/Source/WebKit2/WebProcess/mac/KeychainItemShimMethods.mm
index 0f1ac9317..5f71ae46b 100644
--- a/Source/WebKit2/WebProcess/mac/KeychainItemShimMethods.mm
+++ b/Source/WebKit2/WebProcess/mac/KeychainItemShimMethods.mm
@@ -28,7 +28,7 @@
#if defined(BUILDING_ON_SNOW_LEOPARD)
-#import "CoreIPCClientRunLoop.h"
+#import "KeychainShimResponseMap.h"
#import "SecKeychainItemRequestData.h"
#import "SecKeychainItemResponseData.h"
#import "WebProcess.h"
@@ -40,34 +40,30 @@
namespace WebKit {
// Methods to allow the shim to manage memory for its own AttributeList contents.
-static HashSet<SecKeychainAttributeList*>& shimManagedAttributeLists()
+static HashSet<SecKeychainAttributeList*>& managedAttributeLists()
{
- DEFINE_STATIC_LOCAL(HashSet<SecKeychainAttributeList*>, set, ());
- return set;
+ AtomicallyInitializedStatic(HashSet<SecKeychainAttributeList*>&, managedAttributeLists = *new HashSet<SecKeychainAttributeList*>);
+
+ return managedAttributeLists;
}
-static void freeAttributeListContents(SecKeychainAttributeList* attrList)
+static Mutex& managedAttributeListsMutex()
{
- ASSERT(shimManagedAttributeLists().contains(attrList));
- ASSERT(attrList);
-
- for (size_t i = 0; i < attrList->count; ++i)
- free(attrList->attr[i].data);
-
- shimManagedAttributeLists().remove(attrList);
+ AtomicallyInitializedStatic(Mutex&, managedAttributeListsMutex = *new Mutex);
+ return managedAttributeListsMutex;
}
static void allocateAttributeListContents(const Vector<KeychainAttribute>& attributes, SecKeychainAttributeList* attrList)
{
- ASSERT(isMainThread());
-
if (!attrList)
return;
-
- ASSERT(!shimManagedAttributeLists().contains(attrList));
+
+ MutexLocker locker(managedAttributeListsMutex());
+
+ ASSERT(!managedAttributeLists().contains(attrList));
ASSERT(attributes.size() == attrList->count);
- shimManagedAttributeLists().add(attrList);
+ managedAttributeLists().add(attrList);
for (size_t i = 0; i < attrList->count; ++i) {
ASSERT(attributes[i].tag == attrList->attr[i].tag);
@@ -87,15 +83,20 @@ static void allocateAttributeListContents(const Vector<KeychainAttribute>& attri
}
// Methods to allow the shim to manage memory for its own KeychainItem content data.
-static HashSet<void*>& shimManagedKeychainItemContents()
+static HashSet<void*>& managedKeychainItemContents()
+{
+ AtomicallyInitializedStatic(HashSet<void*>&, managedKeychainItemContents = *new HashSet<void*>);
+ return managedKeychainItemContents;
+}
+
+static Mutex& managedKeychainItemContentsMutex()
{
- DEFINE_STATIC_LOCAL(HashSet<void*>, set, ());
- return set;
+ AtomicallyInitializedStatic(Mutex&, managedKeychainItemContentsMutex = *new Mutex);
+ return managedKeychainItemContentsMutex;
}
static void allocateKeychainItemContentData(CFDataRef cfData, UInt32* length, void** data)
{
- ASSERT(isMainThread());
ASSERT((length && data) || (!length && !data));
if (!data)
return;
@@ -109,184 +110,107 @@ static void allocateKeychainItemContentData(CFDataRef cfData, UInt32* length, vo
*length = CFDataGetLength(cfData);
*data = malloc(*length);
CFDataGetBytes(cfData, CFRangeMake(0, *length), (UInt8*)*data);
- shimManagedKeychainItemContents().add(*data);
+
+ MutexLocker locker(managedKeychainItemContentsMutex());
+ managedKeychainItemContents().add(*data);
}
-// FIXME (https://bugs.webkit.org/show_bug.cgi?id=60975) - Once CoreIPC supports sync messaging from a secondary thread,
-// we can remove FreeAttributeListContext, FreeKeychainItemDataContext, KeychainItemAPIContext, and these 5 main-thread methods,
-// and we can have the shim methods call out directly from whatever thread they're called on.
+static bool webFreeAttributeListContent(SecKeychainAttributeList* attrList)
+{
+ MutexLocker locker(managedAttributeListsMutex());
-struct FreeAttributeListContext {
- SecKeychainAttributeList* attrList;
- bool freed;
-};
+ if (!managedAttributeLists().contains(attrList))
+ return false;
-static void webFreeAttributeListContentOnMainThread(void* voidContext)
-{
- FreeAttributeListContext* context = (FreeAttributeListContext*)voidContext;
-
- if (!shimManagedAttributeLists().contains(context->attrList)) {
- context->freed = false;
- return;
- }
+ for (size_t i = 0; i < attrList->count; ++i)
+ free(attrList->attr[i].data);
- freeAttributeListContents(context->attrList);
- context->freed = true;
+ managedAttributeLists().remove(attrList);
+ return true;
}
-static bool webFreeAttributeListContent(SecKeychainAttributeList* attrList)
+static bool webFreeKeychainItemContent(void* data)
{
- FreeAttributeListContext context;
- context.attrList = attrList;
-
- callOnCoreIPCClientRunLoopAndWait(webFreeAttributeListContentOnMainThread, &context);
+ MutexLocker locker(managedKeychainItemContentsMutex());
- return context.freed;
-}
+ HashSet<void*>::iterator it = managedKeychainItemContents().find(data);
+ if (it == managedKeychainItemContents().end())
+ return false;
-struct FreeKeychainItemDataContext {
- void* data;
- bool freed;
-};
+ managedKeychainItemContents().remove(it);
+ return true;
+}
-static void webFreeKeychainItemContentOnMainThread(void* voidContext)
+static KeychainShimResponseMap<SecKeychainItemResponseData>& responseMap()
{
- FreeKeychainItemDataContext* context = (FreeKeychainItemDataContext*)voidContext;
-
- if (!shimManagedKeychainItemContents().contains(context->data)) {
- context->freed = false;
- return;
- }
-
- shimManagedKeychainItemContents().remove(context->data);
- free(context->data);
- context->freed = true;
+ AtomicallyInitializedStatic(KeychainShimResponseMap<SecKeychainItemResponseData>&, responseMap = *new KeychainShimResponseMap<SecKeychainItemResponseData>);
+ return responseMap;
}
-static bool webFreeKeychainItemContent(void* data)
+static uint64_t generateSecKeychainItemRequestID()
{
- FreeKeychainItemDataContext context;
- context.data = data;
-
- callOnCoreIPCClientRunLoopAndWait(webFreeKeychainItemContentOnMainThread, &context);
-
- return context.freed;
+ static int64_t uniqueSecKeychainItemRequestID;
+ return OSAtomicIncrement64Barrier(&uniqueSecKeychainItemRequestID);
}
-struct SecKeychainItemContext {
- SecKeychainItemRef item;
-
- SecKeychainAttributeList* attributeList;
- SecItemClass initialItemClass;
- UInt32 length;
- const void* data;
-
- SecItemClass* resultItemClass;
- UInt32* resultLength;
- void** resultData;
-
- OSStatus resultCode;
-};
+void didReceiveSecKeychainItemResponse(uint64_t requestID, const SecKeychainItemResponseData& response)
+{
+ responseMap().didReceiveResponse(requestID, adoptPtr(new SecKeychainItemResponseData(response)));
+}
-static void webSecKeychainItemCopyContentOnMainThread(void* voidContext)
+static PassOwnPtr<SecKeychainItemResponseData> sendSeqKeychainItemRequest(const SecKeychainItemRequestData& request)
{
- SecKeychainItemContext* context = (SecKeychainItemContext*)voidContext;
+ uint64_t requestID = generateSecKeychainItemRequestID();
+ if (!WebProcess::shared().connection()->send(Messages::WebProcessProxy::SecKeychainItemRequest(requestID, request), 0))
+ return nullptr;
- SecKeychainItemRequestData requestData(context->item, context->attributeList);
- SecKeychainItemResponseData response;
- if (!WebProcess::shared().connection()->sendSync(Messages::WebProcessProxy::SecKeychainItemCopyContent(requestData), Messages::WebProcessProxy::SecKeychainItemCopyContent::Reply(response), 0)) {
- context->resultCode = errSecInteractionNotAllowed;
- ASSERT_NOT_REACHED();
- return;
- }
-
- allocateAttributeListContents(response.attributes(), context->attributeList);
- allocateKeychainItemContentData(response.data(), context->resultLength, context->resultData);
- if (context->resultItemClass)
- *context->resultItemClass = response.itemClass();
- context->resultCode = response.resultCode();
+ return responseMap().waitForResponse(requestID);
}
static OSStatus webSecKeychainItemCopyContent(SecKeychainItemRef item, SecItemClass* itemClass, SecKeychainAttributeList* attrList, UInt32* length, void** outData)
{
- SecKeychainItemContext context;
- memset(&context, 0, sizeof(SecKeychainItemContext));
- context.item = item;
- context.resultItemClass = itemClass;
- context.attributeList = attrList;
- context.resultLength = length;
- context.resultData = outData;
+ SecKeychainItemRequestData request(SecKeychainItemRequestData::CopyContent, item, attrList);
+ OwnPtr<SecKeychainItemResponseData> response = sendSeqKeychainItemRequest(request);
+ if (!response) {
+ ASSERT_NOT_REACHED();
+ return errSecInteractionNotAllowed;
+ }
- callOnCoreIPCClientRunLoopAndWait(webSecKeychainItemCopyContentOnMainThread, &context);
+ if (itemClass)
+ *itemClass = response->itemClass();
+ allocateAttributeListContents(response->attributes(), attrList);
+ allocateKeychainItemContentData(response->data(), length, outData);
- // FIXME: should return context.resultCode. Returning noErr is a workaround for <rdar://problem/9520886>;
+ // FIXME: should return response->resultCode(). Returning noErr is a workaround for <rdar://problem/9520886>;
// the authentication should fail anyway, since on error no data will be returned.
return noErr;
}
-static void webSecKeychainItemCreateFromContentOnMainThread(void* voidContext)
+static OSStatus webSecKeychainItemCreateFromContent(SecItemClass itemClass, SecKeychainAttributeList* attrList, UInt32 length, const void* data, SecKeychainItemRef *item)
{
- SecKeychainItemContext* context = (SecKeychainItemContext*)voidContext;
-
- SecKeychainItemRequestData requestData(context->initialItemClass, context->attributeList, context->length, context->data);
- SecKeychainItemResponseData response;
- if (!WebProcess::shared().connection()->sendSync(Messages::WebProcessProxy::SecKeychainItemCreateFromContent(requestData), Messages::WebProcessProxy::SecKeychainItemCreateFromContent::Reply(response), 0)) {
- context->resultCode = errSecInteractionNotAllowed;
+ SecKeychainItemRequestData request(SecKeychainItemRequestData::CreateFromContent, itemClass, attrList, length, data);
+ OwnPtr<SecKeychainItemResponseData> response = sendSeqKeychainItemRequest(request);
+ if (!response) {
ASSERT_NOT_REACHED();
- return;
+ return errSecInteractionNotAllowed;
}
- if (response.keychainItem())
- CFRetain(response.keychainItem());
- context->item = response.keychainItem();
- context->resultCode = response.resultCode();
-}
-
-static OSStatus webSecKeychainItemCreateFromContent(SecItemClass itemClass, SecKeychainAttributeList* attrList, UInt32 length, const void* data, SecKeychainItemRef *item)
-{
- SecKeychainItemContext context;
- memset(&context, 0, sizeof(SecKeychainItemContext));
- context.initialItemClass = itemClass;
- context.attributeList = attrList;
- context.length = length;
- context.data = data;
-
- callOnCoreIPCClientRunLoopAndWait(webSecKeychainItemCreateFromContentOnMainThread, &context);
-
if (item)
- *item = context.item;
- else
- CFRelease(context.item);
+ *item = RetainPtr<SecKeychainItemRef>(response->keychainItem()).leakRef();
- return context.resultCode;
+ return response->resultCode();
}
-static void webSecKeychainItemModifyContentOnMainThread(void* voidContext)
+static OSStatus webSecKeychainItemModifyContent(SecKeychainItemRef itemRef, const SecKeychainAttributeList* attrList, UInt32 length, const void* data)
{
- SecKeychainItemContext* context = (SecKeychainItemContext*)voidContext;
-
- SecKeychainItemRequestData requestData(context->item, context->attributeList, context->length, context->data);
- SecKeychainItemResponseData response;
- if (!WebProcess::shared().connection()->sendSync(Messages::WebProcessProxy::SecKeychainItemModifyContent(requestData), Messages::WebProcessProxy::SecKeychainItemModifyContent::Reply(response), 0)) {
- context->resultCode = errSecInteractionNotAllowed;
+ SecKeychainItemRequestData request(SecKeychainItemRequestData::ModifyContent, itemRef, (SecKeychainAttributeList*)attrList, length, data);
+ OwnPtr<SecKeychainItemResponseData> response = sendSeqKeychainItemRequest(request);
+ if (!response) {
ASSERT_NOT_REACHED();
- return;
+ return errSecInteractionNotAllowed;
}
-
- context->resultCode = response.resultCode();
-}
-static OSStatus webSecKeychainItemModifyContent(SecKeychainItemRef itemRef, const SecKeychainAttributeList* attrList, UInt32 length, const void* data)
-{
- SecKeychainItemContext context;
- context.item = itemRef;
- context.attributeList = (SecKeychainAttributeList*)attrList;
- context.length = length;
- context.data = data;
-
- callOnCoreIPCClientRunLoopAndWait(webSecKeychainItemModifyContentOnMainThread, &context);
-
- return context.resultCode;
+ return response->resultCode();
}
void initializeKeychainItemShim()
diff --git a/Source/WebKit2/WebProcess/mac/CoreIPCClientRunLoop.h b/Source/WebKit2/WebProcess/mac/KeychainShimResponseMap.h
index 28f3f4797..b4a78e648 100644
--- a/Source/WebKit2/WebProcess/mac/CoreIPCClientRunLoop.h
+++ b/Source/WebKit2/WebProcess/mac/KeychainShimResponseMap.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011 Apple Inc. All rights reserved.
+ * Copyright (C) 2012 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -23,12 +23,47 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-namespace WebKit {
+#ifndef KeychainShimResponseMap_h
+#define KeychainShimResponseMap_h
-typedef void (*FunctionWithContext)(void* context);
+#include <wtf/HashMap.h>
+#include <wtf/OwnPtr.h>
+#include <wtf/PassOwnPtr.h>
+#include <wtf/ThreadingPrimitives.h>
-// Call the function on a thread where it's safe to send a synchronous CoreIPC message.
-// We can't use WTF's callOnMainThreadAndWait because it doesn't support enough run loop modes.
-void callOnCoreIPCClientRunLoopAndWait(FunctionWithContext, void* context);
+template<typename T>
+class KeychainShimResponseMap {
+public:
+ PassOwnPtr<T> waitForResponse(uint64_t requestID)
+ {
+ while (true) {
+ MutexLocker locker(m_mutex);
-}
+ if (OwnPtr<T> response = m_responses.take(requestID))
+ return response.release();
+
+ m_condition.wait(m_mutex);
+ }
+
+ return nullptr;
+ }
+
+ void didReceiveResponse(uint64_t requestID, PassOwnPtr<T> response)
+ {
+ MutexLocker locker(m_mutex);
+ ASSERT(!m_responses.contains(requestID));
+
+ m_responses.set(requestID, response);
+ m_condition.signal();
+ }
+
+private:
+ Mutex m_mutex;
+ ThreadCondition m_condition;
+
+ HashMap<uint64_t, OwnPtr<T> > m_responses;
+};
+
+
+
+#endif // KeychainShimResponseMap_h
diff --git a/Source/WebKit2/WebProcess/mac/SecItemShimMethods.h b/Source/WebKit2/WebProcess/mac/SecItemShimMethods.h
index 9d67ed982..7c8d4791d 100644
--- a/Source/WebKit2/WebProcess/mac/SecItemShimMethods.h
+++ b/Source/WebKit2/WebProcess/mac/SecItemShimMethods.h
@@ -30,6 +30,9 @@ namespace WebKit {
void initializeSecItemShim();
+class SecItemResponseData;
+void didReceiveSecItemResponse(uint64_t requestID, const SecItemResponseData&);
+
}
#endif // SecItemShimMethods_h
diff --git a/Source/WebKit2/WebProcess/mac/SecItemShimMethods.mm b/Source/WebKit2/WebProcess/mac/SecItemShimMethods.mm
index 5b2b75ce8..c3575744f 100644
--- a/Source/WebKit2/WebProcess/mac/SecItemShimMethods.mm
+++ b/Source/WebKit2/WebProcess/mac/SecItemShimMethods.mm
@@ -28,7 +28,7 @@
#if !defined(BUILDING_ON_SNOW_LEOPARD)
-#import "CoreIPCClientRunLoop.h"
+#import "KeychainShimResponseMap.h"
#import "SecItemRequestData.h"
#import "SecItemResponseData.h"
#import "WebProcess.h"
@@ -39,122 +39,68 @@
namespace WebKit {
-// FIXME (https://bugs.webkit.org/show_bug.cgi?id=60975) - Once CoreIPC supports sync messaging from a secondary thread,
-// we can remove SecItemAPIContext and these 4 main-thread methods, and we can have the shim methods call out directly
-// from whatever thread they're on.
-
-struct SecItemAPIContext {
- CFDictionaryRef query;
- CFDictionaryRef attributesToUpdate;
- CFTypeRef resultObject;
- OSStatus resultCode;
-};
-
-static void webSecItemCopyMatchingMainThread(void* voidContext)
+static KeychainShimResponseMap<SecItemResponseData>& responseMap()
{
- SecItemAPIContext* context = (SecItemAPIContext*)voidContext;
-
- SecItemRequestData requestData(context->query);
- SecItemResponseData response;
- if (!WebProcess::shared().connection()->sendSync(Messages::WebProcessProxy::SecItemCopyMatching(requestData), Messages::WebProcessProxy::SecItemCopyMatching::Reply(response), 0)) {
- context->resultCode = errSecInteractionNotAllowed;
- ASSERT_NOT_REACHED();
- return;
- }
-
- context->resultObject = response.resultObject().leakRef();
- context->resultCode = response.resultCode();
+ AtomicallyInitializedStatic(KeychainShimResponseMap<SecItemResponseData>&, responseMap = *new KeychainShimResponseMap<SecItemResponseData>);
+ return responseMap;
}
-static OSStatus webSecItemCopyMatching(CFDictionaryRef query, CFTypeRef* result)
+static uint64_t generateSecItemRequestID()
{
- SecItemAPIContext context;
- context.query = query;
-
- callOnCoreIPCClientRunLoopAndWait(webSecItemCopyMatchingMainThread, &context);
-
- if (result)
- *result = context.resultObject;
- return context.resultCode;
+ static int64_t uniqueSecItemRequestID;
+ return OSAtomicIncrement64Barrier(&uniqueSecItemRequestID);
}
-static void webSecItemAddOnMainThread(void* voidContext)
+void didReceiveSecItemResponse(uint64_t requestID, const SecItemResponseData& response)
{
- SecItemAPIContext* context = (SecItemAPIContext*)voidContext;
-
- SecItemRequestData requestData(context->query);
- SecItemResponseData response;
- if (!WebProcess::shared().connection()->sendSync(Messages::WebProcessProxy::SecItemAdd(requestData), Messages::WebProcessProxy::SecItemAdd::Reply(response), 0)) {
- context->resultCode = errSecInteractionNotAllowed;
- ASSERT_NOT_REACHED();
- return;
- }
-
- context->resultObject = response.resultObject().leakRef();
- context->resultCode = response.resultCode();
+ responseMap().didReceiveResponse(requestID, adoptPtr(new SecItemResponseData(response)));
}
-static OSStatus webSecItemAdd(CFDictionaryRef query, CFTypeRef* result)
+static PassOwnPtr<SecItemResponseData> sendSeqItemRequest(SecItemRequestData::Type requestType, CFDictionaryRef query, CFDictionaryRef attributesToMatch = 0)
{
- SecItemAPIContext context;
- context.query = query;
-
- callOnCoreIPCClientRunLoopAndWait(webSecItemAddOnMainThread, &context);
-
- if (result)
- *result = context.resultObject;
- return context.resultCode;
+ uint64_t requestID = generateSecItemRequestID();
+ if (!WebProcess::shared().connection()->send(Messages::WebProcessProxy::SecItemRequest(requestID, SecItemRequestData(requestType, query, attributesToMatch)), 0))
+ return nullptr;
+
+ return responseMap().waitForResponse(requestID);
}
-static void webSecItemUpdateOnMainThread(void* voidContext)
+static OSStatus webSecItemCopyMatching(CFDictionaryRef query, CFTypeRef* result)
{
- SecItemAPIContext* context = (SecItemAPIContext*)voidContext;
-
- SecItemRequestData requestData(context->query, context->attributesToUpdate);
- SecItemResponseData response;
- if (!WebProcess::shared().connection()->sendSync(Messages::WebProcessProxy::SecItemUpdate(requestData), Messages::WebProcessProxy::SecItemUpdate::Reply(response), 0)) {
- context->resultCode = errSecInteractionNotAllowed;
- ASSERT_NOT_REACHED();
- return;
- }
-
- context->resultCode = response.resultCode();
+ OwnPtr<SecItemResponseData> response = sendSeqItemRequest(SecItemRequestData::CopyMatching, query);
+ if (!response)
+ return errSecInteractionNotAllowed;
+
+ *result = response->resultObject().leakRef();
+ return response->resultCode();
}
-static OSStatus webSecItemUpdate(CFDictionaryRef query, CFDictionaryRef attributesToUpdate)
+static OSStatus webSecItemAdd(CFDictionaryRef query, CFTypeRef* result)
{
- SecItemAPIContext context;
- context.query = query;
- context.attributesToUpdate = attributesToUpdate;
-
- callOnCoreIPCClientRunLoopAndWait(webSecItemUpdateOnMainThread, &context);
+ OwnPtr<SecItemResponseData> response = sendSeqItemRequest(SecItemRequestData::Add, query);
+ if (!response)
+ return errSecInteractionNotAllowed;
- return context.resultCode;
+ *result = response->resultObject().leakRef();
+ return response->resultCode();
}
-static void webSecItemDeleteOnMainThread(void* voidContext)
+static OSStatus webSecItemUpdate(CFDictionaryRef query, CFDictionaryRef attributesToUpdate)
{
- SecItemAPIContext* context = (SecItemAPIContext*)voidContext;
+ OwnPtr<SecItemResponseData> response = sendSeqItemRequest(SecItemRequestData::Update, query, attributesToUpdate);
+ if (!response)
+ return errSecInteractionNotAllowed;
- SecItemRequestData requestData(context->query);
- SecItemResponseData response;
- if (!WebProcess::shared().connection()->sendSync(Messages::WebProcessProxy::SecItemDelete(requestData), Messages::WebProcessProxy::SecItemDelete::Reply(response), 0)) {
- context->resultCode = errSecInteractionNotAllowed;
- ASSERT_NOT_REACHED();
- return;
- }
-
- context->resultCode = response.resultCode();
+ return response->resultCode();
}
static OSStatus webSecItemDelete(CFDictionaryRef query)
{
- SecItemAPIContext context;
- context.query = query;
+ OwnPtr<SecItemResponseData> response = sendSeqItemRequest(SecItemRequestData::Delete, query);
+ if (!response)
+ return errSecInteractionNotAllowed;
- callOnCoreIPCClientRunLoopAndWait(webSecItemDeleteOnMainThread, &context);
-
- return context.resultCode;
+ return response->resultCode();
}
void initializeSecItemShim()
diff --git a/Source/WebKit2/WebProcess/mac/WebProcessMac.mm b/Source/WebKit2/WebProcess/mac/WebProcessMac.mm
index e96ab4834..7d67e1e68 100644
--- a/Source/WebKit2/WebProcess/mac/WebProcessMac.mm
+++ b/Source/WebKit2/WebProcess/mac/WebProcessMac.mm
@@ -272,4 +272,18 @@ void WebProcess::platformTerminate()
{
}
+void WebProcess::secItemResponse(CoreIPC::Connection*, uint64_t requestID, const SecItemResponseData& response)
+{
+#if !defined(BUILDING_ON_SNOW_LEOPARD)
+ didReceiveSecItemResponse(requestID, response);
+#endif
+}
+
+void WebProcess::secKeychainItemResponse(CoreIPC::Connection*, uint64_t requestID, const SecKeychainItemResponseData& response)
+{
+#if defined(BUILDING_ON_SNOW_LEOPARD)
+ didReceiveSecKeychainItemResponse(requestID, response);
+#endif
+}
+
} // namespace WebKit