1 2012-03-09 Jon Lee <jonlee@apple.com>
3 Add support for ENABLE(LEGACY_NOTIFICATIONS)
4 https://bugs.webkit.org/show_bug.cgi?id=80497
6 Reviewed by Adam Barth.
8 Prep for b80472: Update API for Web Notifications
9 * Configurations/FeatureDefines.xcconfig:
11 2012-03-09 Ashod Nakashian <ashodnakashian@yahoo.com>
13 Bash scripts should support LF endings only
14 https://bugs.webkit.org/show_bug.cgi?id=79509
16 Reviewed by David Kilzer.
18 * win/build-generated-files.sh: Added properties svn:executable and svn:eol-style.
20 2012-03-08 Enrica Casucci <enrica@apple.com>
22 REGRESSION (r109022): Files dragged onto input controls cannot be read due to sandbox violation.
23 https://bugs.webkit.org/show_bug.cgi?id=80203
24 <rdar://problem/10976643>
26 Reviewed by Alexey Proskuryakov.
28 This patch reverts a small part fo r109022, leaving access to
29 NSPasteboard in the WebProcess when retrieving pathnames for
30 files being dragged. This avoid the sandbox violation until we
31 implement a mechanism to provide a sandbox extension to the WebProcess.
33 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
34 (WebKit::WebPlatformStrategies::getPathnamesForType):
36 2012-03-09 Sheriff Bot <webkit.review.bot@gmail.com>
38 Unreviewed, rolling out r110191, r110202, and r110279.
39 http://trac.webkit.org/changeset/110191
40 http://trac.webkit.org/changeset/110202
41 http://trac.webkit.org/changeset/110279
42 https://bugs.webkit.org/show_bug.cgi?id=80694
44 They broke !ENABLE(INSPECTOR) builds (Requested by Ossy on
48 * win/WebKit2CFLite.def:
50 2012-03-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
52 [Qt] Use Qt's module system for install rules and depending on QtWebKit
54 Instead of rolling our own install rules we now use the same approach as
55 every other Qt module, by loading qt_module.prf and qt_module_config.prf.
57 This ensures that we follow the same semantics as the rest of Qt on
58 what sort of config options are enabled by default (create_cmake eg.).
59 It also allows us to use QT += webkit instead of the workaround we had
60 with CONFIG += qtwebkit.
62 We do however force Qt to always treat our build as a non-developer build,
63 so the libraries will end up in the WebKit lib directory instead of the
64 qtbase directory (as with a normal developer-build). This allows us to
65 keep the webkit-build self-contained. If Qt is a developer build we still
66 copy the module file manually to Qt, so that you don't have to install
67 WebKit to make it available.
69 For non-developer builds of Qt, it is still possible to use the built
70 WebKit libraries without having to install them, by having the variable
71 QMAKE_EXTRA_MODULE_FORWARDS set in the project's .qmake.cache file,
72 pointing to $WEBKITOUTUTDIR/$CONFIGURATION/modules.
74 https://bugs.webkit.org/show_bug.cgi?id=80590
76 Reviewed by Simon Hausmann.
78 * UIProcess/API/qt/tests/publicapi/publicapi.pro:
79 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
80 * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
81 * UIProcess/API/qt/tests/qmltests/WebView.pro:
82 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
83 * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
84 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
85 * UIProcess/API/qt/tests/tests.pri:
86 * UIProcess/API/qt/tests/util.cpp:
89 2012-03-08 No'am Rosenthal <noam.rosenthal@nokia.com>
91 [Qt][WK2] Allow transparent WebViews
92 https://bugs.webkit.org/show_bug.cgi?id=80608
94 Reviewed by Tor Arne Vestbø.
96 Added support for transparentBackground in QQuickWebViewExperimental.
97 This uses the existing drawsTransparentBackground property in WebKit2.
98 Also, changed LayerTreeHostQt to set the contentsOpaque flag when the root layer changes,
99 otherwise the change doesn't take effect.
101 A new API test was added.
103 * UIProcess/API/qt/qquickwebview.cpp:
104 (QQuickWebViewPrivate::setTransparentBackground):
105 (QQuickWebViewPrivate::transparentBackground):
106 (QQuickWebViewExperimental::transparentBackground):
107 (QQuickWebViewExperimental::setTransparentBackground):
108 * UIProcess/API/qt/qquickwebview_p.h:
109 * UIProcess/API/qt/qquickwebview_p_p.h:
110 (QQuickWebViewPrivate):
111 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
113 (tst_QQuickWebView::transparentWebViews):
114 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
115 (WebKit::LayerTreeHostQt::LayerTreeHostQt):
116 (WebKit::LayerTreeHostQt::setRootCompositingLayer):
118 2012-03-08 Gustavo Noronha Silva <gns@gnome.org>
120 GTK+ build fix. Only try to get the backing from the layer in when
121 ACCELERATED_COMPOSITING is enabled.
123 Rubber-stamped by Ryosuke Niwa.
125 * WebProcess/FullScreen/WebFullScreenManager.cpp:
126 (WebKit::screenRectOfContents):
128 2012-03-08 Ryosuke Niwa <rniwa@webkit.org>
130 Mac build fix for micro data API.
132 * Configurations/FeatureDefines.xcconfig:
134 2012-03-08 Jer Noble <jer.noble@apple.com>
136 Unreviewed Snow Leopard build fix.
138 On Leopard and Snow Leopard, provide an implementation for -[NSWindow convertRectToScreen:].
140 * UIProcess/mac/WKFullScreenWindowController.mm:
141 (-[NSWindow convertRectToScreen:]):
143 2012-03-08 Jer Noble <jer.noble@apple.com>
145 Further unreviewed build fix.
147 Add in the WebCore namespace, so that IntRect is pulled in.
149 * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
150 * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
151 * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
153 2012-03-08 Jer Noble <jer.noble@apple.com>
155 Unreviewed build fix.
157 Add stub implementations of beganEnterFullScreen and beganExitFullScreen
158 to platform-specific WebFullScreenManagerProxy implementations.
160 * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
161 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
162 (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
163 * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
164 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
165 (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
166 * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
167 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
168 (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
170 2012-03-08 Jer Noble <jer.noble@apple.com>
172 Full Screen Refactor Part 3: Animate into Full Screen mode using new animation classes.
173 https://bugs.webkit.org/show_bug.cgi?id=78928
175 Reviewed by Anders Carlsson.
177 Boilerplate changes to WebKit2 IPC messages and supporting functions.
178 * UIProcess/WebFullScreenManagerProxy.cpp:
179 (WebKit::WebFullScreenManagerProxy::setAnimatingFullScreen): Added boilerplate.
180 * UIProcess/WebFullScreenManagerProxy.h:
181 * UIProcess/WebFullScreenManagerProxy.messages.in:
182 * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
183 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen): Added boilerplate.
184 (WebKit::WebFullScreenManagerProxy::beganExitFullScreen): Added boilerplate.
185 * WebProcess/FullScreen/WebFullScreenManager.cpp:
186 (WebKit::screenRectOfContents): Added. Calculates the screen rect of an element's contents.
187 (WebKit::WebFullScreenManager::enterFullScreenForElement): Use screenRectOfContents()
188 (WebKit::WebFullScreenManager::willEnterFullScreen): Ditto. Do not set the background color. Call new BeganEnterFullScreen
190 (WebKit::WebFullScreenManager::didEnterFullScreen): Do not set the background color.
191 (WebKit::WebFullScreenManager::willExitFullScreen): Use screenRectOfContents. Do not set the background color. Call new
192 BeganExitFullScreen XPC message.
193 (WebKit::WebFullScreenManager::didExitFullScreen): Do not set the background color.
194 (WebKit::WebFullScreenManager::setAnimatingFullScreen): Added boilerplate.
195 * WebProcess/FullScreen/WebFullScreenManager.h:
196 * WebProcess/FullScreen/WebFullScreenManager.messages.in:
198 * UIProcess/mac/WKFullScreenWindowController.h:
199 * UIProcess/mac/WKFullScreenWindowController.mm:
200 (-[WKFullScreenWindowController cancelOperation:]): Renamed from _requestExitWithAnimation:.
201 (-[WKFullScreenWindowController applicationDidResignActive:]): Call cancelOperation: instead
202 of _requestExitWithAnimation.
203 (-[WKFullScreenWindowController applicationDidChangeScreenParameters:]): Set the frame of
204 both the full screen window and the background window.
205 (-[WKFullScreenWindowController enterFullScreen:]): Save a rendered image of the current
206 page to use in the placeholder.
207 (-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]): Renamed from
208 beganEnterFullScreenAnimation.
209 (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): No need to swap
210 placeholder views here, as they were already swapped in beganEnter...:.
211 (-[WKFullScreenWindowController exitFullScreen]):
212 (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]): Renamed from
213 beganExitFullScreenAnimation.
214 (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Swap web view back into place.
215 (-[WKFullScreenWindowController close]):
216 (-[WKFullScreenWindowController animationDidEnd:]): Added.
217 (createBackgroundFullscreenWindow): Added.
218 (windowFrameFromApparentFrames): Added.
219 (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): Added.
220 (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): Added.
222 2012-03-08 Jer Noble <jer.noble@apple.com>
224 Full Screen Refactor Part 2: Remove unnecessary WebKit2 APIs for Full Screen made
225 https://bugs.webkit.org/show_bug.cgi?id=78926
227 Reviewed by John Sullivan.
229 The following functions (and also their Proxy versions) were removed completely:
230 WebFullScreenManager::enterAcceleratedCompositingMode(const LayerTreeContext&)
231 WebFullScreenManager::exitAcceleratedCompositingMode()
232 WebFullScreenManager::beganEnterFullScreenAnimation()
233 WebFullScreenManager::finishedEnterFullScreenAnimation(bool)
234 WebFullScreenManager::beganExitFullScreenAnimation()
235 WebFullScreenManager::finishedExitFullScreenAnimation(bool)
236 WebFullScreenManager::getFullScreenRect(WebCore::IntRect&)
238 * UIProcess/WebFullScreenManagerProxy.cpp:
239 * UIProcess/WebFullScreenManagerProxy.h:
240 (WebKit::WebFullScreenManagerProxy::beginEnterFullScreenAnimation):
241 (WebKit::WebFullScreenManagerProxy::beginExitFullScreenAnimation):
242 (WebKit::WebFullScreenManagerProxy::disposeOfLayerClient):
243 (WebFullScreenManagerProxy):
244 * UIProcess/WebFullScreenManagerProxy.messages.in:
245 * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
246 * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
247 * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
248 * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
249 (WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation):
250 * WebKit2.xcodeproj/project.pbxproj:
251 * WebProcess/FullScreen/WebFullScreenManager.cpp:
252 (WebKit::WebFullScreenManager::create):
253 (WebKit::WebFullScreenManager::~WebFullScreenManager):
254 * WebProcess/FullScreen/WebFullScreenManager.h:
255 (WebFullScreenManager):
256 * WebProcess/FullScreen/WebFullScreenManager.messages.in:
257 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
258 (WebKit::WebChromeClient::exitFullScreenForElement):
259 * WebProcess/WebCoreSupport/WebChromeClient.h:
262 Additionally, the platform-specific WebFullScreenManager subclasses were removed, as no
263 platform-specific implementations remained after the above functions were removed:
266 * win/WebKit2.vcproj:
267 * WebProcess/FullScreen/gtk/WebFullScreenManagerGtk.cpp: Removed.
268 * WebProcess/FullScreen/gtk/WebFullScreenManagerGtk.h: Removed.
269 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h: Removed.
270 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm: Removed.
271 * WebProcess/FullScreen/qt/WebFullScreenManagerQt.cpp: Removed.
272 * WebProcess/FullScreen/qt/WebFullScreenManagerQt.h: Removed.
273 * WebProcess/FullScreen/win/WebFullScreenManagerWin.cpp: Removed.
274 * WebProcess/FullScreen/win/WebFullScreenManagerWin.h: Removed.
276 2012-03-08 Matt Lilek <mrl@apple.com>
278 Don't enable VIDEO_TRACK on all OS X platforms
279 https://bugs.webkit.org/show_bug.cgi?id=80635
281 Reviewed by Eric Carlson.
283 * Configurations/FeatureDefines.xcconfig:
285 2012-03-08 Max Vujovic <mvujovic@adobe.com>
287 Add a method to window.internals to enable testing of inspector highlight rects
288 https://bugs.webkit.org/show_bug.cgi?id=80338
290 Reviewed by Pavel Feldman.
292 * win/WebKit2.def: Export symbols for win.
293 * win/WebKit2CFLite.def: Same as above.
295 2012-03-08 Dinu Jacob <dinu.jacob@nokia.com>
297 [Qt WK2] Remove duplicate code related to dialog handling in QQuickWebView
298 https://bugs.webkit.org/show_bug.cgi?id=80557
300 Reviewed by Simon Hausmann.
302 Move common code related to running QtDialogRunner into a separate function
304 * UIProcess/API/qt/qquickwebview.cpp:
305 (QQuickWebViewPrivate::runJavaScriptAlert):
306 (QQuickWebViewPrivate::runJavaScriptConfirm):
307 (QQuickWebViewPrivate::runJavaScriptPrompt):
308 (QQuickWebViewPrivate::handleAuthenticationRequiredRequest):
309 (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest):
310 (QQuickWebViewPrivate::handleCertificateVerificationRequest):
311 (QQuickWebViewPrivate::execDialogRunner):
312 * UIProcess/API/qt/qquickwebview_p_p.h:
313 (QQuickWebViewPrivate):
315 2012-03-07 Dinu Jacob <dinu.jacob@nokia.com>
317 [Qt] Authentication dialog does not work
318 https://bugs.webkit.org/show_bug.cgi?id=79738
320 Reviewed by Simon Hausmann.
322 QQuickWebView should accept touch events only if there is
325 * UIProcess/API/qt/qquickwebview.cpp:
326 (QQuickWebViewPrivate::QQuickWebViewPrivate):
327 (QQuickWebViewPrivate::runJavaScriptAlert):
328 (QQuickWebViewPrivate::runJavaScriptConfirm):
329 (QQuickWebViewPrivate::runJavaScriptPrompt):
330 (QQuickWebViewPrivate::handleAuthenticationRequiredRequest):
331 (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest):
332 (QQuickWebViewPrivate::handleCertificateVerificationRequest):
333 (QQuickWebView::touchEvent):
334 * UIProcess/API/qt/qquickwebview_p_p.h:
335 (QQuickWebViewPrivate):
337 2012-03-07 Dan Bernstein <mitz@apple.com>
339 <rdar://problem/8494396> WebKit2 lacks API for obtaining a representation of the render tree of a page, like WebRenderNode
340 https://bugs.webkit.org/show_bug.cgi?id=80230
342 Reviewed by Beth Dakin.
347 * Shared/API/c/WKBase.h: Added a type definition of WKRenderObjectRef.
349 * Shared/API/c/WKRenderObject.cpp: Added.
350 (WKRenderObjectGetTypeID): Added. Returns the WKRenderObject type ID.
351 (WKRenderObjectCopyName): Added this getter wrapper.
352 (WKRenderObjectGetAbsolutePosition): Ditto.
353 (WKRenderObjectGetFrameRect): Ditto.
354 (WKRenderObjectGetChildren): Ditto.
356 * Shared/API/c/WKRenderObject.h: Added.
358 * Shared/APIObject.h: Added TypeRenderObject to the APIObject::Type enum.
359 * Shared/UserMessageCoders.h:
360 (WebKit::UserMessageEncoder::baseEncode): Added WebRenderObject encoding.
361 (WebKit::UserMessageDecoder::baseDecode): Added WebRenderObject decoding.
362 * Shared/WebRenderObject.cpp: Added.
363 (WebKit::WebRenderObject::create): Added. Creates a WebRenderObject for the page’s main
364 frame content renderer.
365 (WebKit::WebRenderObject::WebRenderObject): Added. Constructs a WebRenderObject with the
366 name, metrics and children of the given RenderObject, following the rules used in WebKit1
367 WebRenderNode. In particular, a RenderWidget representing a frame gets the frame’s content
370 * Shared/WebRenderObject.h: Added.
371 (WebKit::WebRenderObject::create):
372 (WebKit::WebRenderObject::children):
373 (WebKit::WebRenderObject::name):
374 (WebKit::WebRenderObject::absolutePosition):
375 (WebKit::WebRenderObject::frameRect):
376 (WebKit::WebRenderObject::WebRenderObject):
380 * UIProcess/API/C/WKAPICast.h: Added a mapping between WKRenderObjectRef and WebRenderObject.
382 * WebKit2.xcodeproj/project.pbxproj: Added WebRenderObject.{cpp,h} and WKRenderObject.{cpp.h}.
384 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
385 (WKBundlePageCopyRenderTree): Added this bundle API for getting the render tree.
387 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
389 * win/WebKit2.vcproj:
391 2012-03-07 Kenneth Rohde Christiansen <kenneth@webkit.org>
393 Pinch zoom acts weirdly on nytimes.com while loading
394 https://webkit.org/b/80508
396 Reviewed by Simon Hausmann.
398 Make sure to suspend the page while doing pinch zooming.
399 If the page is suspended (which happens while pinch zooming)
400 then do not send touch events to the page, even if it has
403 * UIProcess/WebPageProxy.cpp:
404 (WebKit::WebPageProxy::handleTouchEvent):
405 * UIProcess/qt/QtViewportInteractionEngine.cpp:
406 (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
408 2012-03-05 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
410 [Qt] QWebNavigationRequest 'action' property should have an enum type instead of int
411 https://bugs.webkit.org/show_bug.cgi?id=80164
413 Reviewed by Simon Hausmann.
415 Use the appropriate enum type instead of int. Make IgnoreRequest have a bigger
416 value that give some room for us to put Experimental values in the middle. This
417 way the Experimental values are in a valid range for the original enumeration. To
418 avoid confusion, the Experimental enumeration was renamed.
420 * UIProcess/API/qt/qquickwebview_p.h:
421 * UIProcess/API/qt/qwebnavigationrequest.cpp:
422 (QWebNavigationRequestPrivate):
423 (QWebNavigationRequest::setAction):
424 (QWebNavigationRequest::action):
425 * UIProcess/API/qt/qwebnavigationrequest_p.h:
426 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
428 2012-03-07 Andras Becsi <andras.becsi@nokia.com>
430 [WK2] Make it possible to build without geolocation support
431 https://bugs.webkit.org/show_bug.cgi?id=80426
433 Reviewed by Simon Hausmann.
437 * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
438 (WebKit::GeolocationPermissionRequestManagerProxy::didReceiveGeolocationPermissionDecision):
439 * UIProcess/WebPageProxy.cpp:
440 (WebKit::WebPageProxy::close):
441 (WebKit::WebPageProxy::processDidCrash):
442 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
443 * WebProcess/WebPage/WebPage.cpp:
444 (WebKit::WebPage::WebPage):
446 * WebProcess/WebPage/WebPage.h:
448 * WebProcess/WebPage/WebPage.messages.in:
450 2012-03-06 Raphael Kubo da Costa <kubo@profusion.mobi>
452 [CMake] Make the removal of transitive library dependencies work with CMake < 2.8.7.
453 https://bugs.webkit.org/show_bug.cgi?id=80469
455 Reviewed by Antonio Gomes.
457 * CMakeLists.txt: Manually set the LINK_INTERFACE_LIBRARIES target
458 property on the library being created.
460 2012-03-06 Hugo Parente Lima <hugo.lima@openbossa.org>
462 MiniBrowser --window-size 480x800 www.nytimes.com doesn't paint bottom tiles.
463 https://bugs.webkit.org/show_bug.cgi?id=80313
465 Reviewed by Kenneth Rohde Christiansen.
467 Fix the math to get the visible rectangle and add a method to get it.
469 * UIProcess/API/qt/qquickwebview.cpp:
470 (QQuickWebViewPrivate::visibleContentsRect):
471 (QQuickWebViewFlickablePrivate::_q_commitScaleChange):
472 (QQuickWebViewPrivate::_q_commitPositionChange):
473 * UIProcess/API/qt/qquickwebview_p_p.h:
474 (QQuickWebViewPrivate):
476 2012-03-05 Joseph Pecoraro <pecoraro@apple.com>
478 Web Inspector: Hide dock button when not allowed to dock
479 https://bugs.webkit.org/show_bug.cgi?id=78575
481 Reviewed by Pavel Feldman.
483 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
484 (WebKit::WebInspectorClient::didResizeMainFrame):
485 * WebProcess/WebCoreSupport/WebInspectorClient.h:
486 * WebProcess/WebPage/WebInspector.cpp:
487 (WebKit::WebInspector::updateDockingAvailability):
488 * WebProcess/WebPage/WebInspector.h:
490 2012-03-06 Allan Sandfeld Jensen <allan.jensen@nokia.com>
492 [Qt] Interaction Engine suspends content during pageload.
493 https://bugs.webkit.org/show_bug.cgi?id=80294
495 Only suspend content when viewport updates are deferred
496 for a non-instantanious interaction.
498 Reviewed by Kenneth Rohde Christiansen.
500 * UIProcess/qt/QtViewportInteractionEngine.cpp:
501 (WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer):
502 (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
503 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
504 (WebKit::QtViewportInteractionEngine::flickableMoveStarted):
505 (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
506 * UIProcess/qt/QtViewportInteractionEngine.h:
507 (QtViewportInteractionEngine):
509 2012-03-06 Simon Hausmann <simon.hausmann@nokia.com>
511 [Qt] Make QQuickWebView's url property work with a flickable webview
513 Reviewed by Tor Arne Vestbø.
515 QQuickWebViewPrivate::onComponentComplete implements the deferred url loading
516 when the url property is set in the component instantiation. QQuickWebViewFlickablePrivate
517 is the private sub-class used for a flickable webview, which re-implemented onComponentComplete
518 but forgot to call the base implementation.
520 * UIProcess/API/qt/qquickwebview.cpp:
521 (QQuickWebViewFlickablePrivate::onComponentComplete):
523 2012-03-06 Carlos Garcia Campos <cgarcia@igalia.com>
525 [GTK] Fix several documentation issues in WebKit2 GTK+ API
526 https://bugs.webkit.org/show_bug.cgi?id=80281
528 Reviewed by Martin Robinson.
530 * UIProcess/API/gtk/WebKitFindController.cpp:
531 * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
532 (webkit_navigation_policy_decision_class_init):
533 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
534 * UIProcess/API/gtk/WebKitWebView.h:
536 2012-03-06 Carlos Garcia Campos <cgarcia@igalia.com>
538 [GTK] Use a single signal for script dialogs in WebKit2 GTK+ API
539 https://bugs.webkit.org/show_bug.cgi?id=80271
541 Reviewed by Martin Robinson.
543 Add a new signal WebKitWebView::script-dialog that passes a
544 WebKitScriptDialog boxed type that can be used to build the dialog
545 and set the responses. It simplifies the API and makes it bindings
549 * UIProcess/API/gtk/WebKitScriptDialog.cpp: Added.
550 (webkitScriptDialogCopy): Copy method for boxed type.
551 (webkitScriptDialogFree): Free method for boxed type.
552 (webkit_script_dialog_get_dialog_type): Return the type of dialog:
553 alert, confirm or prompt.
554 (webkit_script_dialog_get_message): Return the message of the dialog.
555 (webkit_script_dialog_confirm_set_confirmed): Set whether user
556 confirmed the dialog, for confirm dialogs.
557 (webkit_script_dialog_prompt_get_default_text): Get the default
558 text of prompt dialogs.
559 (webkit_script_dialog_prompt_set_text): Set the text entered by
560 the user, for prompt dialogs.
561 * UIProcess/API/gtk/WebKitScriptDialog.h: Added.
562 * UIProcess/API/gtk/WebKitScriptDialogPrivate.h: Added.
563 * UIProcess/API/gtk/WebKitWebView.cpp:
564 (webkitWebViewScriptDialog): Default implementation of
565 WebKitWebView::script-dialog signal.
566 (webkit_web_view_class_init): Add WebKitWebView::script-dialog and
567 remove alert, confirm and propmpt.
568 (webkitWebViewRunJavaScriptAlert): Create a WebKitScriptDialog and
569 emit WebKitWebView::script-dialog signal.
570 (webkitWebViewRunJavaScriptConfirm): Ditto.
571 (webkitWebViewRunJavaScriptPrompt): Ditto.
572 * UIProcess/API/gtk/WebKitWebView.h:
573 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new
575 * UIProcess/API/gtk/docs/webkit2gtk.types: Add webkit_script_dialog_get_type().
576 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
577 (testWebViewJavaScriptDialogs): Update javascript dialog test to
579 * UIProcess/API/gtk/webkit2marshal.list:
580 * UIProcess/API/gtk/webkit2.h:
582 2012-03-05 Gavin Barraclough <barraclough@apple.com>
584 putByIndex should throw in strict mode
585 https://bugs.webkit.org/show_bug.cgi?id=80335
587 Reviewed by Filip Pizlo.
589 Make the MethodTable PutByIndex trap take a boolean 'shouldThrow' parameter.
591 * WebProcess/Plugins/Netscape/NPJSObject.cpp:
592 (WebKit::NPJSObject::setProperty):
594 2012-03-05 Joseph Pecoraro <pecoraro@apple.com>
596 Unreviewed rollout of r109858 for restructuring.
598 2012-03-05 Joseph Pecoraro <pecoraro@apple.com>
600 <http://webkit.org/b/78575> Web Inspector: Hide dock button when not allowed to dock
602 Reviewed by Timothy Hatcher.
604 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
605 (WebKit::WebInspectorClient::updateDockingAvailability):
606 * WebProcess/WebCoreSupport/WebInspectorClient.h:
607 * WebProcess/WebPage/WebInspector.cpp:
608 (WebKit::WebInspector::updateDockingAvailability):
609 * WebProcess/WebPage/WebInspector.h:
611 2012-03-05 Anders Carlsson <andersca@apple.com>
613 pinch-to-zoom and double-tap flicker when using the new scrolling model
614 https://bugs.webkit.org/show_bug.cgi?id=80368
615 <rdar://problem/10866221>
617 Reviewed by Sam Weinig.
619 Add a way for drawing areas to respond to callback based force repaint requests asynchronously.
620 This is currently needed for the tiled drawing area when there might be outstanding scroll updates
621 that are sent from the scrolling thread to the main thread and we need to ensure that they're processed
622 before sending a message back.
624 * WebProcess/WebPage/DrawingArea.h:
625 (WebKit::DrawingArea::forceRepaintAsync):
626 Add new member function.
628 * WebProcess/WebPage/WebPage.cpp:
629 (WebKit::WebPage::forceRepaint):
630 Try forceRepaintAsync first.
632 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
633 (WebKit::forceRepaintAndSendMessage):
634 Force the repaint and send the message.
636 (WebKit::dispatchBackToMainThread):
637 Dispatch a call to forceRepaintAndSendMessage to the main thread.
639 (WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync):
640 Dispatch a function on the scrolling thread. Its sole purpose is to dispatch a function back to the
641 main thread, ensuring that all previously dispatched functions have been executed.
643 2012-03-05 Enrica Casucci <enrica@apple.com>
645 Can't type on some websites (plug-ins steal key events).
646 <rdar://problem/10892291>
648 When the plugin is disabled, it is necessary to reset _pluginComplexTextInputIdentifier
649 in order to return the correct input context. Failure to do so results in the inputContext
650 method to return the plugin input context instead of the context of the browser view.
652 Reviewed by Sam Weinig.
654 * UIProcess/API/mac/WKView.mm:
655 (-[WKView _setPluginComplexTextInputState:]):
656 (-[WKView _handlePluginComplexTextInputKeyDown:]):
658 2012-03-05 Anders Carlsson <andersca@apple.com>
660 Be more aggressive about repainting page overlays
661 https://bugs.webkit.org/show_bug.cgi?id=80336
662 <rdar://problem/10965943>
664 Reviewed by Simon Fraser.
666 Whenever we're flushing layers and we have a page overlay, check if the main frame
667 has scrolled or if the main frame root content layer needs to be repainted and force the
668 overlay layer to be repainted if either of those conditions are true.
670 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
671 (TiledCoreAnimationDrawingArea):
672 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
673 (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
674 (WebKit::TiledCoreAnimationDrawingArea::shouldRepaintPageOverlayLayer):
677 2012-03-05 Sam Weinig <sam@webkit.org>
679 Add support for hosting layers in the window server in WebKit2
680 <rdar://problem/10400246>
681 https://bugs.webkit.org/show_bug.cgi?id=80310
683 Reviewed by Anders Carlsson.
685 This currently only works if you are using TiledCoreAnimation drawing model.
687 * Platform/mac/LayerHostingContext.h: Renamed from Source/WebKit2/Platform/mac/RemoteLayerClient.h.
688 * Platform/mac/LayerHostingContext.mm: Renamed from Source/WebKit2/Platform/mac/RemoteLayerClient.mm.
689 (WebKit::LayerHostingContext::createForPort):
690 (WebKit::LayerHostingContext::LayerHostingContext):
691 (WebKit::LayerHostingContext::createForWindowServer):
692 (WebKit::LayerHostingContext::~LayerHostingContext):
693 (WebKit::LayerHostingContext::setRootLayer):
694 (WebKit::LayerHostingContext::rootLayer):
695 (WebKit::LayerHostingContext::contextID):
696 (WebKit::LayerHostingContext::invalidate):
697 Renamed RemoteLayerClient to LayerHostingContext and add ability to use the window server
698 as the remote context.
700 * PluginProcess/PluginControllerProxy.cpp:
701 * PluginProcess/PluginControllerProxy.h:
702 * PluginProcess/mac/PluginControllerProxyMac.mm:
703 Update for new names.
705 * Shared/LayerTreeContext.h:
706 Add LayerHostingMode enum.
708 * UIProcess/PageClient.h:
709 * UIProcess/API/mac/PageClientImpl.h:
710 * UIProcess/API/mac/PageClientImpl.mm:
711 (WebKit::PageClientImpl::layerHostingMode):
712 (WebKit::PageClientImpl::updateAcceleratedCompositingMode):
713 Add PageClient access points to get the current layer hosting mode,
714 and a hook to tell the underlying view that the layer hosting context
717 * UIProcess/API/mac/WKViewInternal.h:
718 * UIProcess/API/mac/WKView.mm:
719 (-[WKView _updateAcceleratedCompositingMode:WebKit::]):
720 Implement responding to a new layer hosting context as a simple
721 exit and re-entrance of compositing.
723 * UIProcess/DrawingAreaProxy.h:
724 (WebKit::DrawingAreaProxy::layerHostingModeDidChange):
725 (WebKit::DrawingAreaProxy::updateAcceleratedCompositingMode):
726 * UIProcess/DrawingAreaProxy.messages.in:
727 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
728 (TiledCoreAnimationDrawingAreaProxy):
729 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
730 (WebKit::TiledCoreAnimationDrawingAreaProxy::layerHostingModeDidChange):
731 (WebKit::TiledCoreAnimationDrawingAreaProxy::updateAcceleratedCompositingMode):
732 Pipe layer hosting changes around.
734 * UIProcess/WebPageProxy.h:
735 (WebKit::WebPageProxy::layerHostingMode):
736 * UIProcess/WebPageProxy.cpp:
737 (WebKit::WebPageProxy::WebPageProxy):
738 (WebKit::WebPageProxy::viewStateDidChange):
739 Cache the current layer hosting mode so we don't overzealously
740 tell the WebProcess to reset its context. Re-check layer hosting
741 mode each time we are added/removed from a window.
743 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h:
744 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
745 Update for new names.
747 * WebProcess/WebPage/DrawingArea.h:
748 (WebKit::DrawingArea::setDeviceScaleFactor):
749 (WebKit::DrawingArea::setLayerHostingMode):
750 * WebProcess/WebPage/DrawingArea.messages.in:
751 Pipe layer hosting changes around.
753 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
754 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
755 (WebKit::LayerTreeHostCAMac::~LayerTreeHostCAMac):
756 (WebKit::LayerTreeHostCAMac::platformInitialize):
757 (WebKit::LayerTreeHostCAMac::invalidate):
758 Update for new names.
760 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
761 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
762 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
763 (WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode):
764 Respond to a change in the layer hosting mode by invalidating our old context,
765 making a new one of the right type, and informing the UIProcess of our new context.
767 * WebKit2.xcodeproj/project.pbxproj:
770 2012-03-05 Anders Carlsson <andersca@apple.com>
772 Always update the scroll layer position on the main thread when we have an overlay
773 https://bugs.webkit.org/show_bug.cgi?id=80324
775 Reviewed by Sam Weinig.
777 Call setForceMainThreadScrollLayerPositionUpdates when installing and uninstalling page overlays,
778 so we'll be able to synchronize painting between the tile cache and the page overlays.
780 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
781 (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
782 (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
784 2012-03-05 Timothy Hatcher <timothy@apple.com>
786 Change how the Web Inspector Develop menu actions work.
788 This removes the methods used by Safari's Develop menu. They can now be implemented in Safari.
790 https://webkit.org/b/80308
792 Reviewed by John Sullivan.
794 * UIProcess/API/C/mac/WKInspectorPrivateMac.h: Renamed from Source/WebKit2/UIProcess/API/C/mac/WKInspectorMac.h.
795 * UIProcess/mac/WebInspectorProxyMac.mm:
796 (-[WKWebInspectorProxyObjCAdapter inspectorRef]): Added.
797 * WebKit2.xcodeproj/project.pbxproj: Renamed WKInspectorPrivateMac.h to better reflect its private nature.
799 2012-03-02 Jon Lee <jonlee@apple.com>
801 Add support for notification replaceId in Mac WebKit and WK2
802 https://bugs.webkit.org/show_bug.cgi?id=80206
803 <rdar://problem/10965574>
805 Reviewed by Sam Weinig.
807 * UIProcess/API/C/WKNotification.cpp: Add WK API.
808 (WKNotificationCopyReplaceID):
809 * UIProcess/API/C/WKNotification.h:
810 * UIProcess/Notifications/WebNotification.cpp:
811 (WebKit::WebNotification::WebNotification):
812 * UIProcess/Notifications/WebNotification.h: Add replaceID member.
813 (WebKit::WebNotification::create):
814 (WebKit::WebNotification::replaceID):
816 * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
817 (WebKit::WebNotificationManagerProxy::show):
818 * UIProcess/Notifications/WebNotificationManagerProxy.h:
819 (WebNotificationManagerProxy):
820 * UIProcess/WebPageProxy.cpp:
821 (WebKit::WebPageProxy::showNotification):
822 * UIProcess/WebPageProxy.h:
824 * UIProcess/WebPageProxy.messages.in: Add replaceID to the showNotification message.
825 * WebProcess/Notifications/WebNotificationManager.cpp:
826 (WebKit::WebNotificationManager::show):
828 2012-03-05 Sheriff Bot <webkit.review.bot@gmail.com>
830 Unreviewed, rolling out r109748.
831 http://trac.webkit.org/changeset/109748
832 https://bugs.webkit.org/show_bug.cgi?id=80296
834 Made some tests crash, will fix and recommit (Requested by
838 * UIProcess/API/qt/qquickwebpage.cpp:
839 (QQuickWebPagePrivate::paintToCurrentGLContext):
840 (PageProxyNode::PageProxyNode):
842 (PageProxyNode::changedStates):
843 (PageProxyNode::render):
844 (PageProxyNode::~PageProxyNode):
845 (QQuickWebPage::updatePaintNode):
846 (QQuickWebPagePrivate::updateSize):
847 (QQuickWebPagePrivate::resetPaintNode):
848 (QQuickWebPagePrivate::~QQuickWebPagePrivate):
849 * UIProcess/API/qt/qquickwebpage_p_p.h:
850 (QQuickWebPagePrivate):
851 * UIProcess/DrawingAreaProxy.h:
853 (WebKit::DrawingAreaProxy::layerTreeHostProxy):
855 * UIProcess/DrawingAreaProxyImpl.cpp:
856 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
857 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
858 * UIProcess/LayerTreeHostProxy.h:
859 (LayerTreeHostProxy):
860 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
861 (WebKit::LayerTreeHostProxy::syncAnimations):
862 (WebKit::LayerTreeHostProxy::updateViewport):
863 (WebKit::LayerTreeHostProxy::syncLayerParameters):
864 (WebKit::LayerTreeHostProxy::flushLayerChanges):
865 (WebKit::LayerTreeHostProxy::ensureRootLayer):
866 (WebKit::LayerTreeHostProxy::syncRemoteContent):
867 (WebKit::LayerTreeHostProxy::dispatchUpdate):
869 (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
870 (WebKit::LayerTreeHostProxy::purgeGLResources):
871 * UIProcess/qt/QtWebPageSGNode.cpp: Removed.
872 * UIProcess/qt/QtWebPageSGNode.h: Removed.
874 2012-03-05 Joone Hur <joone.hur@collabora.co.uk>
876 [GTK] zlib link error with --enable-webkit2
877 https://bugs.webkit.org/show_bug.cgi?id=79877
879 Reviewed by Martin Robinson.
881 zlib should be linked properly.
883 * GNUmakefile.am: Link $(ZLIB_LIBS) with libwebkit2gtk instead of
884 linking it with WebKitWebProcess.
886 2012-03-05 Carlos Garcia Campos <cgarcia@igalia.com>
888 [WK2] WKPageGetContextMenuFromProposedContextMenuCallback should pass a HitTestResult
889 https://bugs.webkit.org/show_bug.cgi?id=77208
891 Reviewed by Anders Carlsson.
893 A HitTestResultData is now passed to ShowContextMenu WebPageProxy
894 message instead of the ContextMenuState. ContextMenu client has
895 been updated to pass the HitTestResult to the
896 getContextMenuFromProposedMenu callback.
898 * GNUmakefile.am: Remove ContextMenuState.h.
899 * Shared/APIClientTraits.h:
900 * Shared/ContextMenuState.h: Removed.
901 * Shared/WebHitTestResult.h:
902 (WebKit::WebHitTestResult::Data::Data): Add constructor that takes
903 a WebCore::HitTestResult.
904 * UIProcess/API/C/WKPage.h: Add HitTestResult parameter to
905 getContextMenuFromProposedMenu callback and deprecate the old
907 * UIProcess/WebPageContextMenuClient.cpp:
908 (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
909 Pass a HitTestResult to getContextMenuFromProposedMenu or use the
910 deprecated one if client version is an old one.
911 * UIProcess/WebPageContextMenuClient.h:
912 * UIProcess/WebPageProxy.cpp:
913 (WebKit::WebPageProxy::showContextMenu):
914 (WebKit::WebPageProxy::internalShowContextMenu): Save the
915 WebHitTestResult::Data to use it for handling context menu actions.
916 (WebKit::WebPageProxy::contextMenuItemSelected): Use the saved
917 WebHitTestResult::Data.
918 * UIProcess/WebPageProxy.h:
919 * UIProcess/WebPageProxy.messages.in:
920 * WebKit2.xcodeproj/project.pbxproj: Remove ContextMenuState.h.
921 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
922 (WebKit::WebChromeClient::mouseDidMoveOverElement): Use the new
923 WebHitTestResult::Data constructor that takes a WebCore::HitTestResult.
924 * WebProcess/WebPage/WebContextMenu.cpp:
925 (WebKit::WebContextMenu::show): Create a WebHitTestResult::Data
926 instead of a ContextMenuState and pass it to ShowContextMenu message.
927 * win/WebKit2.vcproj: ContextMenuState.h.
929 2012-03-05 No'am Rosenthal <noam.rosenthal@nokia.com>
931 [Qt] [WK2] Support threaded renderer in WK2
932 https://bugs.webkit.org/show_bug.cgi?id=76661
934 Made the appropriate fixes in the UI process code to make rendering thread-safe.
935 - Separated the scenegraph node code to QtWebPageSGNode. QtWebPageSGNode has direct access
936 to LayerTreeHostProxy.
938 - Each function in LayerTreeHostProxy can be either called from the main thread (handling
939 messages from the web process), or from the renderer thread (handling the GL context).
940 The render-queue is locked with a mutex, and messages back to the web process are sent
941 via callOnMainThread.
943 - LayerTreeHostProxy is now ThreadSafeRefCounted. That is done to make sure that the GL
944 resources it creates are only freed when the QtWebPageSGNode is deleted, which can be
945 before or after the owning DrawingAreaProxy is deleted. This ensures that the class is
946 deleted only after its GL resources are freed, otherwise those resources may leak.
948 Based on a patch by Viatcheslav Ostapenko.
950 Reviewed by Kenneth Rohde Christiansen.
952 * Target.pri: Added new files.
953 * UIProcess/API/qt/qquickwebpage.cpp: Moved QtWebPageSGNode out.
954 (QQuickWebPage::updatePaintNode): Call QtWebPageSGNode
955 (QQuickWebPagePrivate::updateSize): Call QtWebPageSGNode
956 (QQuickWebPagePrivate::didDeleteSGWebPageNode): Override QtWebPageSGNode::Client
957 (QQuickWebPagePrivate::~QQuickWebPagePrivate):
958 * UIProcess/API/qt/qquickwebpage_p_p.h:
959 (QQuickWebPagePrivate):
960 * UIProcess/DrawingAreaProxy.h:
962 (WebKit::DrawingAreaProxy::layerTreeHostProxy): Made LayerTreeHostProxy ref-counted.
964 * UIProcess/DrawingAreaProxyImpl.cpp:
965 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
966 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
967 * UIProcess/LayerTreeHostProxy.h:
969 (WebKit::LayerTreeHostProxy::create):
970 (LayerTreeHostProxy):
971 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
972 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
974 (MainThreadGuardedInvoker):
975 A class that allows invoking functions in the main thread, while guarding a ref-
978 (WebKit::MainThreadGuardedInvoker::call):
979 (WebKit::MainThreadGuardedInvoker::MainThreadGuardedInvoker):
980 (WebKit::MainThreadGuardedInvoker::invoke):
981 (WebKit::LayerTreeHostProxy::syncAnimations):
982 (WebKit::LayerTreeHostProxy::updateViewport):
983 (WebKit::LayerTreeHostProxy::detachDrawingArea):
984 (WebKit::LayerTreeHostProxy::syncLayerParameters):
985 (WebKit::LayerTreeHostProxy::setShouldRenderNextFrame):
986 (WebKit::LayerTreeHostProxy::flushLayerChanges):
987 (WebKit::LayerTreeHostProxy::ensureRootLayer):
988 (WebKit::LayerTreeHostProxy::syncRemoteContent):
989 (WebKit::LayerTreeHostProxy::dispatchUpdate):
990 (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
991 (WebKit::LayerTreeHostProxy::purgeGLResources):
992 * UIProcess/qt/QtWebPageSGNode.cpp: Added.
993 * UIProcess/qt/QtWebPageSGNode.h: Added.
995 2012-03-04 Raphael Kubo da Costa <kubo@profusion.mobi>
997 [CMake] Libraries are installed to /usr/lib and not /usr/lib64 on x86_64
998 https://bugs.webkit.org/show_bug.cgi?id=71507
1000 Reviewed by Antonio Gomes.
1002 * CMakeLists.txt: Use ${LIB_INSTALL_DIR} instead of hardcoding "lib".
1004 2012-03-03 Simon Hausmann <simon.hausmann@nokia.com>
1006 [Qt] Fix static_libs_as_shared build
1007 https://bugs.webkit.org/show_bug.cgi?id=80214
1009 Reviewed by Tor Arne Vestbø.
1011 Replace (static) link time dependency to WK1 with entrypoint
1012 in the separate WebProcess for activating the QStyle theme if
1016 * UIProcess/Launcher/ProcessLauncher.h:
1017 * WebProcess/qt/WebProcessMainQt.cpp:
1018 (WebKit::WebProcessMainQt):
1023 2012-03-03 Hans Wennborg <hans@chromium.org>
1025 Implement Speech JavaScript API
1026 https://bugs.webkit.org/show_bug.cgi?id=80019
1028 Reviewed by Adam Barth.
1030 Add ENABLE_SCRIPTED_SPEECH.
1032 * Configurations/FeatureDefines.xcconfig:
1034 2012-03-03 No'am Rosenthal <noam.rosenthal@nokia.com>
1036 [Qt] Use the existing inheritedOpacity/matrix properties of QSGNode
1037 https://bugs.webkit.org/show_bug.cgi?id=79543
1039 Use QSGNode::inheritedOpacity() and QSGNode::matrix().
1040 Also, remove flags from changedStates() that we don't actually touch.
1041 This is covered by existing API tests.
1043 Reviewed by Kenneth Rohde Christiansen.
1045 * UIProcess/API/qt/qquickwebpage.cpp:
1046 (QQuickWebPagePrivate::paintToCurrentGLContext):
1047 (PageProxyNode::changedStates):
1048 (PageProxyNode::render):
1049 * UIProcess/API/qt/qquickwebpage_p_p.h:
1050 (QQuickWebPagePrivate):
1052 2012-03-03 Anders Carlsson <andersca@apple.com>
1054 Fix build with newer versions of clang.
1056 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1057 (WebKit::NPN_GetValue):
1058 Cast the switch parameter to unsigned to prevent warnings about case values not being part of the enum type.
1060 2012-03-02 Andy Estes <aestes@apple.com>
1062 Move nsStringFromWebCoreString out of PageClientImpl
1063 https://bugs.webkit.org/show_bug.cgi?id=80202
1065 Reviewed by Sam Weinig.
1067 nsStringFromWebCoreString() doesn't really belong in PageClientImpl.mm,
1068 and it makes us include PageClientImpl.h in places where we shouldn't.
1069 Move this function into StringUtilities.{h, mm}.
1071 * Platform/mac/StringUtilities.h: Added.
1072 * Platform/mac/StringUtilities.mm: Added.
1073 (WebKit::nsStringFromWebCoreString):
1074 * UIProcess/API/mac/PageClientImpl.h:
1075 * UIProcess/API/mac/PageClientImpl.mm:
1076 * UIProcess/API/mac/WKView.mm:
1077 * UIProcess/mac/WebContextMenuProxyMac.mm:
1078 * UIProcess/mac/WebPageProxyMac.mm:
1079 * UIProcess/mac/WebPopupMenuProxyMac.mm:
1080 * UIProcess/mac/WebPreferencesMac.mm:
1081 * WebKit2.xcodeproj/project.pbxproj:
1083 2012-03-02 Andy Estes <aestes@apple.com>
1085 Remove com.apple.WebKit.PluginProcess.sb from WebKit2.xcodeproj's Headers build phase
1086 https://bugs.webkit.org/show_bug.cgi?id=80197
1088 Reviewed by Alexey Proskuryakov.
1090 It doesn't belong there, and it makes Xcode consider the project to be
1091 invalid, triggering assertions in some builds of Xcode.
1093 * WebKit2.xcodeproj/project.pbxproj:
1095 2012-03-02 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
1097 [Qt] Fix spelling mistake in header guard
1099 Reviewed by Noam Rosenthal.
1101 * UIProcess/API/qt/qwebviewportinfo_p.h:
1103 2012-03-02 Carlos Garcia Campos <cgarcia@igalia.com>
1105 [GTK] Invalid check in webkit_web_view_set_zoom_level() when zoom-text-only is enabled
1106 https://bugs.webkit.org/show_bug.cgi?id=80150
1108 Reviewed by Philippe Normand.
1110 * UIProcess/API/gtk/WebKitWebView.cpp:
1111 (webkit_web_view_set_zoom_level): Use
1112 webkit_web_view_get_zoom_level() instead of
1113 WKPageGetPageZoomFactor() to get the current effective zoom level
1114 depending on zoom-text-only setting.
1116 2012-03-02 Allan Sandfeld Jensen <allan.jensen@nokia.com>
1118 Fix build on AppleWebKit after 109548.
1120 * mac/WebKit2.order:
1122 2012-03-02 Simon Hausmann <simon.hausmann@nokia.com>
1124 [Qt] Fix tests run with WTR not using QStyle theme
1125 https://bugs.webkit.org/show_bug.cgi?id=80147
1127 Reviewed by Csaba Osztrogonác.
1129 Use an environment variable (set by WTR) to select the QStyle theme.
1130 This is a temporary kludge until we rebase the layout tests to use the
1131 QStyle independent "mobile" theme. This also temporarily breaks the
1132 force_static_libs_as_shared build.
1135 * WebProcess/qt/WebProcessMainQt.cpp:
1136 (WebKit::WebProcessMainQt):
1138 2012-03-02 Simon Hausmann <simon.hausmann@nokia.com>
1140 [Qt] Compile WebCore without QtWidgets
1141 https://bugs.webkit.org/show_bug.cgi?id=80141
1143 Reviewed by Tor Arne Vestbø.
1145 * Shared/qt/WebEventFactoryQt.cpp: Removed unnecessary include.
1146 * Target.pri: Require widgets for WK2 for the moment, until bug #79458
1149 2012-03-02 Allan Sandfeld Jensen <allan.jensen@nokia.com>
1151 Suspend/Resume API for pausing timers and animations.
1152 https://bugs.webkit.org/show_bug.cgi?id=76063
1154 Based on the initial work of Zalan Bujtas <zalan.bujtas@nokia.com>,
1156 Adds suspend and resume API for WebKit2 and uses it in Qt to
1157 suspend animations and DOM timers during panning and zoom.
1159 Reviewed by Kenneth Rohde Christiansen.
1161 * UIProcess/API/qt/qquickwebview.cpp:
1162 (QQuickWebViewFlickablePrivate::_q_suspend):
1163 (QQuickWebViewFlickablePrivate::_q_resume):
1164 * UIProcess/WebPageProxy.cpp:
1165 (WebKit::WebPageProxy::WebPageProxy):
1166 (WebKit::WebPageProxy::resumeActiveDOMObjectsAndAnimations):
1167 (WebKit::WebPageProxy::suspendActiveDOMObjectsAndAnimations):
1168 (WebKit::WebPageProxy::processDidCrash):
1169 * UIProcess/WebPageProxy.h:
1170 * WebProcess/WebPage/WebPage.cpp:
1171 (WebKit::WebPage::suspendActiveDOMObjectsAndAnimations):
1172 (WebKit::WebPage::resumeActiveDOMObjectsAndAnimations):
1173 * WebProcess/WebPage/WebPage.h:
1174 * WebProcess/WebPage/WebPage.messages.in:
1176 2012-03-02 Joone Hur <joone.hur@collabora.co.uk>
1178 Unreviewed. Fix WebKit2 GTK+ build.
1180 * GNUmakefile.am: allow WebKitWebProcess to link with zlib properly.
1182 2012-03-01 Andras Becsi <andras.becsi@nokia.com>
1184 [Qt][WK2] Make the interaction with the Flickable work on the N9
1185 https://bugs.webkit.org/show_bug.cgi?id=80029
1187 Reviewed by Simon Hausmann.
1189 Because the WebView item accepts all touch events it receives and sends
1190 them to the web process before propagating them to the gesture recognizers,
1191 which is correct behaviour, we can not rely on the touch->mouse conversion
1192 of Qt5 when controlling Flickable. Hence we need to convert the received
1193 touch events to mouse events in the QtFlickProvider.
1195 * UIProcess/qt/QtFlickProvider.cpp:
1196 (QtFlickProvider::handleTouchFlickEvent):
1197 Do the touch to mouse event conversion for the Flickable.
1198 * UIProcess/qt/QtPanGestureRecognizer.cpp:
1199 (WebKit::QtPanGestureRecognizer::recognize):
1200 A touch begin event should cancel the previous pan gesture
1201 and stop the ongoing flick animation.
1203 2012-03-01 Anders Carlsson <andersca@apple.com>
1205 Assertion failure in pageContainsAnyHorizontalScrollbars() (scrollableArea->isOnActivePage()) when leaving pages with embedded PDFs
1206 https://bugs.webkit.org/show_bug.cgi?id=80044
1207 <rdar://problem/10919940>
1209 Reviewed by Brady Eidson.
1211 Remove the code that would add and remove wheel event handlers since that's not what we want to track.
1212 Instead, dynamically add and remove the view as its scrollbars come and go.
1214 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
1215 (WebKit::BuiltInPDFView::updateScrollbars):
1216 (WebKit::BuiltInPDFView::initialize):
1217 * WebProcess/Plugins/PDF/BuiltInPDFView.h:
1220 2012-03-01 Kangil Han <kangil.han@samsung.com>
1222 [DRT] Remove all PlainTextController usages in existing tests by adding internal API
1223 https://bugs.webkit.org/show_bug.cgi?id=78570
1225 Reviewed by Hajime Morita.
1227 This patch will remove all PlainTextController usages
1228 in existing DRT tests by adding internal API to WebCore/testing/Internals
1231 * win/WebKit2CFLite.def:
1233 2012-03-01 Nikolas Zimmermann <nzimmermann@rim.com>
1235 Unreviewed, rolling out r109255.
1236 http://trac.webkit.org/changeset/109255
1237 https://bugs.webkit.org/show_bug.cgi?id=79932
1239 Breaks rounded rects with dashed strokes in SVG
1241 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1242 (InitWebCoreSystemInterface):
1244 2012-03-01 Sergio Villar Senin <svillar@igalia.com>
1246 [WK2] [GTK] [libsoup] SoupSession should use system CA
1247 https://bugs.webkit.org/show_bug.cgi?id=79657
1249 Reviewed by Martin Robinson.
1251 SoupSession sould use system CA list to validate SSL
1252 certificates. Do not use strict certificate validation though as
1253 we want clients to decide whether or not accept/decline invalid
1254 certificates (API to be added later).
1256 No new tests required as current behaviour does not change at all
1257 as we continue to accept invalid certificates by default.
1259 * WebProcess/gtk/WebProcessMainGtk.cpp:
1260 (WebKit::WebProcessMainGtk):
1262 2012-03-01 Carlos Garcia Campos <cgarcia@igalia.com>
1264 Unreviewed. Fix WebKit2 GTK+ build.
1266 * UIProcess/API/gtk/WebKitDefines.h:
1267 * UIProcess/API/gtk/WebKitWebView.h:
1269 2012-02-29 Simon Hausmann <simon.hausmann@nokia.com>
1271 [Qt][WK2] QQuickWebView::event should lookup faster which events QQuickWebPage can handle
1272 https://bugs.webkit.org/show_bug.cgi?id=78047
1274 Reviewed by Kenneth Rohde Christiansen.
1276 Replaced double-dispatch of events with direct forwarding of events from QQuickWebView::*Event to
1277 QtWebPageEventHandler::handle*Event.
1279 * UIProcess/API/qt/qquickwebview.cpp:
1280 (QQuickWebView::keyPressEvent):
1281 (QQuickWebView::keyReleaseEvent):
1282 (QQuickWebView::inputMethodEvent):
1283 (QQuickWebView::focusInEvent):
1284 (QQuickWebView::focusOutEvent):
1285 (QQuickWebView::touchEvent):
1286 (QQuickWebView::mousePressEvent):
1287 (QQuickWebView::mouseMoveEvent):
1288 (QQuickWebView::mouseReleaseEvent):
1289 (QQuickWebView::mouseDoubleClickEvent):
1290 (QQuickWebView::wheelEvent):
1291 (QQuickWebView::hoverEnterEvent):
1292 (QQuickWebView::hoverMoveEvent):
1293 (QQuickWebView::hoverLeaveEvent):
1294 (QQuickWebView::dragMoveEvent):
1295 (QQuickWebView::dragEnterEvent):
1296 (QQuickWebView::dragLeaveEvent):
1297 (QQuickWebView::dropEvent):
1298 (QQuickWebView::event):
1299 * UIProcess/qt/QtWebPageEventHandler.cpp:
1300 (QtWebPageEventHandler::handleMouseMoveEvent):
1301 (QtWebPageEventHandler::handleMousePressEvent):
1302 (QtWebPageEventHandler::handleMouseReleaseEvent):
1303 (QtWebPageEventHandler::handleWheelEvent):
1304 (QtWebPageEventHandler::handleHoverLeaveEvent):
1305 (QtWebPageEventHandler::handleHoverMoveEvent):
1306 (QtWebPageEventHandler::handleDragEnterEvent):
1307 (QtWebPageEventHandler::handleDragLeaveEvent):
1308 (QtWebPageEventHandler::handleDragMoveEvent):
1309 (QtWebPageEventHandler::handleDropEvent):
1310 (QtWebPageEventHandler::handleKeyPressEvent):
1311 (QtWebPageEventHandler::handleKeyReleaseEvent):
1312 (QtWebPageEventHandler::handleFocusInEvent):
1313 (QtWebPageEventHandler::handleFocusOutEvent):
1314 (QtWebPageEventHandler::handleInputMethodEvent):
1315 (QtWebPageEventHandler::handleTouchEvent):
1316 * UIProcess/qt/QtWebPageEventHandler.h:
1317 (QtWebPageEventHandler):
1319 2012-03-01 Csaba Osztrogonác <ossy@webkit.org>
1321 [Qt][WK2] Unreviewed buildfix after r109277.
1323 * WebProcess/qt/QtBuiltinBundlePage.cpp:
1324 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
1326 2012-02-29 No'am Rosenthal <noam.rosenthal@nokia.com>
1328 [Qt][WK2] Get rid of the #ifdef mess in LayerTreeHost[Proxy]
1329 https://bugs.webkit.org/show_bug.cgi?id=79501
1331 Use a new UI_SIDE_COMPOSITING flag instead of the several #ifdef flags we currently use.
1333 Reviewed by Kenneth Rohde Christiansen.
1335 * Shared/WebLayerTreeInfo.cpp:
1336 * Shared/WebLayerTreeInfo.h:
1337 * UIProcess/DrawingAreaProxy.cpp:
1339 * UIProcess/DrawingAreaProxy.h:
1341 * UIProcess/DrawingAreaProxyImpl.cpp:
1342 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
1343 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
1345 * UIProcess/DrawingAreaProxyImpl.h:
1346 (DrawingAreaProxyImpl):
1347 * UIProcess/LayerTreeHostProxy.h:
1348 (LayerTreeHostProxy):
1349 * UIProcess/WebPageProxy.cpp:
1350 (WebKit::WebPageProxy::didReceiveMessage):
1351 * UIProcess/qt/LayerBackingStore.cpp:
1352 * UIProcess/qt/LayerBackingStore.h:
1353 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
1354 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
1355 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
1356 * WebProcess/WebPage/DrawingArea.h:
1358 * WebProcess/WebPage/DrawingAreaImpl.cpp:
1360 * WebProcess/WebPage/DrawingAreaImpl.h:
1362 * WebProcess/WebPage/LayerTreeHost.cpp:
1363 (WebKit::LayerTreeHost::create):
1364 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
1365 (WebKit::LayerTreeHostQt::purgeBackingStores):
1366 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
1369 2012-02-28 Brian Weinstein <bweinstein@apple.com>
1371 WebKit2: didNewFirstVisuallyNonEmptyLayout should be sent to injected bundle
1372 https://bugs.webkit.org/show_bug.cgi?id=79849
1374 Tell the injected bundle about didNewFirstVisuallyNonEmptyLayout (we currently
1375 just tell the UI process).
1377 Reviewed by Beth Dakin.
1379 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add didNewFirstVisuallyNonEmptyLayout to version 1.
1380 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
1381 (WebKit::InjectedBundlePageLoaderClient::didNewFirstVisuallyNonEmptyLayout): Call through to the
1383 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
1384 (InjectedBundlePageLoaderClient):
1385 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1386 (WebKit::WebFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout): Tell the injected
1389 2012-02-29 Tim Horton <timothy_horton@apple.com>
1391 Make use of CG rounded-rect primitives
1392 https://bugs.webkit.org/show_bug.cgi?id=79932
1393 <rdar://problem/9274953>
1395 Reviewed by Simon Fraser.
1397 Add wkCGPathAddRoundedRect.
1399 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1400 (InitWebCoreSystemInterface):
1402 2012-02-29 Andy Estes <aestes@apple.com>
1404 CFURLDownloadScheduleWithCurrentMessageQueue only exists on Windows
1405 https://bugs.webkit.org/show_bug.cgi?id=79936
1407 Reviewed by Brady Eidson.
1409 CFURLDownloadScheduleWithCurrentMessageQueue only exists on Windows
1410 platforms. Non-Windows platforms that use CFNetwork-based downloads
1411 should omit this call.
1413 * WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
1414 (WebKit::Download::start):
1416 2012-02-29 Rafael Brandao <rafael.lobo@openbossa.org>
1418 [Qt][WK2] We should not add NetscapeBrowserFuncs.cpp as header
1419 https://bugs.webkit.org/show_bug.cgi?id=79847
1421 Reviewed by Alexey Proskuryakov.
1423 * Target.pri: Fix typo, so we can add ".h" file instead.
1425 2012-02-29 Sam Weinig <sam@webkit.org>
1427 When invoking Lookup while zoomed in, the highlighted word renders out of line
1428 <rdar://problem/10812527>
1430 Reviewed by Simon Fraser.
1432 * WebProcess/WebPage/mac/WebPageMac.mm:
1433 (WebKit::WebPage::performDictionaryLookupForRange):
1434 Make sure to scale the ascent when determining the origin for the overlay.
1436 2012-02-29 Carlos Garcia Campos <cgarcia@igalia.com>
1438 [GTK] Use text or page zoom factor in WebKitWebView depending on zoom-text-only
1439 https://bugs.webkit.org/show_bug.cgi?id=75252
1441 Reviewed by Gustavo Noronha Silva.
1443 * UIProcess/API/gtk/WebKitWebView.cpp:
1444 (zoomTextOnlyChanged): Update text/page zoom factor when
1445 zoom-text-only setting changes.
1446 (webkitWebViewSetSettings): Helper function to set the settings
1447 object for the web view, initializing the settings for the page
1448 and connecting to notify::zoom-text-only signal.
1449 (webkitWebViewConstructed): Use webkitWebViewSetSettings().
1450 (webkit_web_view_set_settings): Use webkitWebViewSetSettings() and
1451 disconnect from the notify::zoom-text-only signal of the previous
1453 (webkit_web_view_set_zoom_level): Set text/page zoom factor
1454 depending on WebKitSettings:zoom-text-only property.
1455 (webkit_web_view_get_zoom_level): Get text/page zoom factor
1456 depending on WebKitSettings:zoom-text-only property.
1457 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
1458 (testWebViewZoomLevel):
1460 2012-02-29 Carlos Garcia Campos <cgarcia@igalia.com>
1462 [GTK] Add zoom-text-only setting to WebKit2 GTK+ API
1463 https://bugs.webkit.org/show_bug.cgi?id=75249
1465 Reviewed by Gustavo Noronha Silva.
1467 To set whether zoom level of web view should affect only the text
1468 or all page contents. It's disabled by default.
1470 * UIProcess/API/gtk/WebKitSettings.cpp:
1471 (webKitSettingsSetProperty):
1472 (webKitSettingsGetProperty):
1473 (webkit_settings_class_init): Add WebKitSettings:zoom-text-only
1475 (webkit_settings_set_zoom_text_only): Set
1476 WebKitSettings:zoom-text-only.
1477 (webkit_settings_get_zoom_text_only): Get
1478 WebKitSettings:zoom-text-only.
1479 * UIProcess/API/gtk/WebKitSettings.h:
1480 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new
1482 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
1483 (testWebKitSettings):
1485 2012-02-29 Sergio Villar Senin <svillar@igalia.com>
1487 DidFindString should be emitted even if FindOptionsShowOverlay is not enabled
1488 https://bugs.webkit.org/show_bug.cgi?id=76522
1490 Reviewed by Darin Adler.
1492 DidFindString message should be issued always even if neither
1493 FindOptionsShowOverlay or FindOptionsShowHighlight are
1494 provided. The difference is that if any of those flags are present
1495 the find operation will look for all the appearances of the text
1496 in the web view, otherwise it will just look and report the next
1499 This patch removes the temporary workaround added in r109222 to
1500 the WebKitFindController unit tests.
1502 * UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
1503 * WebProcess/WebPage/FindController.cpp:
1504 (WebKit::FindController::findString):
1506 2012-01-19 Sergio Villar Senin <svillar@igalia.com>
1508 [GTK] [WK2] Add Find API
1509 https://bugs.webkit.org/show_bug.cgi?id=76070
1511 Reviewed by Martin Robinson.
1513 This patch adds a new public find API for the Gtk+ WK2 port. It
1514 defines a new object called WebKitFindController owned by each
1515 WebKitWebView. Clients will use this new object to search strings
1516 in the WebKitWebView.
1518 Changes include also documentation and unit tests for the new
1522 * UIProcess/API/gtk/WebKitDefines.h:
1523 * UIProcess/API/gtk/WebKitFindController.cpp: Added.
1524 (didFindString): implementation of the WKPage Find interface.
1525 (didFailToFindString): Ditto.
1526 (didCountStringMatches): Ditto.
1527 (webkit_find_controller_init):
1528 (getWKPageFromWebKitWebView):
1529 (webkitFindControllerConstructed):
1530 (webkitFindControllerGetProperty):
1531 (webkitFindControllerSetProperty):
1532 (webkitFindControllerFinalize):
1533 (webkit_find_controller_class_init):
1534 (webkit_find_controller_get_search_text):
1535 (webkit_find_controller_get_options):
1536 (webkit_find_controller_get_max_match_count):
1537 (webkit_find_controller_get_web_view):
1538 (webKitFindControllerPerform):
1539 (webKitFindControllerSetSearchData):
1540 (webkit_find_controller_search): asynchronously looks for the
1541 search string in the WebKitWebView.
1542 (webkit_find_controller_search_finish): unhighlights text matches.
1543 (webkit_find_controller_search_next):
1544 (webkit_find_controller_search_previous):
1545 (webkit_find_controller_count_matches): asynchronously counts the
1546 number of matches of the search string in the WebKitWebView.
1547 * UIProcess/API/gtk/WebKitFindController.h: Added.
1548 * UIProcess/API/gtk/WebKitPrivate.h:
1549 * UIProcess/API/gtk/WebKitWebView.cpp:
1550 (webkit_web_view_get_find_controller): returns the
1551 WebKitFindController instance owned by the WebKitWebView.
1552 * UIProcess/API/gtk/WebKitWebView.h:
1553 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
1554 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
1555 * UIProcess/API/gtk/docs/webkit2gtk.types:
1556 * UIProcess/API/gtk/tests/GNUmakefile.am:
1557 * UIProcess/API/gtk/tests/TestWebKitFindController.cpp: Added.
1558 (testFindControllerTextFound):
1559 (testFindControllerTextNotFound):
1560 (testFindControllerMatchCount):
1561 (testFindControllerMaxMatchCount):
1562 (testFindControllerNext):
1563 (testFindControllerPrevious):
1564 (testFindControllerCountedMatches):
1565 (testFindControllerOptions):
1566 (testFindControllerInstance):
1567 (testFindControllerGetters):
1568 (testFindControllerHide):
1571 * UIProcess/API/gtk/webkit2.h:
1573 2012-02-28 Simon Fraser <simon.fraser@apple.com>
1575 Update WebKitSystemInterface.
1577 Reviewed by Sam Weinig.
1579 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1580 (InitWebCoreSystemInterface):
1582 2012-02-28 Hugo Parente Lima <hugo.lima@openbossa.org>
1584 All mouse events after a right click are ignored when they came from WebkitTestRunner
1585 https://bugs.webkit.org/show_bug.cgi?id=77350
1587 Reviewed by Chang Shu.
1589 Never ignore mouse events when using sync events, even if the context menu is being
1590 show but the Ui did replied the ShowContextMenu event with a ContextMenuHidden.
1592 * WebProcess/WebPage/WebPage.cpp:
1593 (WebKit::WebPage::mouseEventSyncForTesting):
1595 2012-02-28 Alexey Proskuryakov <ap@apple.com>
1599 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Check for build platform
1602 2012-02-28 Alexey Proskuryakov <ap@apple.com>
1606 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue):
1607 Check for build platform properly.
1609 2012-02-28 Enrica Casucci <enrica@apple.com>
1611 More Pasteboard code cleanup.
1612 https://bugs.webkit.org/show_bug.cgi?id=79816
1614 Removing the last references to NSPasteboard.
1616 Reviewed by Alexey Proskuryakov.
1618 * WebProcess/WebCoreSupport/WebEditorClient.h:
1619 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
1620 (WebKit::WebEditorClient::setInsertionPasteboard):
1622 2012-02-28 Alexey Proskuryakov <ap@apple.com>
1624 [Mac] Add an experimental SPI for plug-ins to enter sandbox
1625 https://bugs.webkit.org/show_bug.cgi?id=79709
1627 Reviewed by Anders Carlsson.
1629 * PluginProcess/PluginProcess.h: (WebKit::PluginProcess::pluginPath): Exposed plugin path.
1631 * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb: Added.
1633 * WebKit2.xcodeproj/project.pbxproj: Added new files.
1635 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue): Exposed
1636 a function to access sandboxing functions when available.
1638 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h: Added.
1639 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Added.
1641 2012-02-28 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
1643 [Qt] Allow read/write to the WebView.url property
1644 https://bugs.webkit.org/show_bug.cgi?id=77554
1646 Reviewed by Tor Arne Vestbø.
1648 Change QML API WebView.url to read/write to reflect either the url requested by the user.
1649 Also removed WebView.load(url). Defers setting url (loading page) until onComponentComplete is triggered.
1650 Fixed c++ and qml tests to reflect the new API.
1653 * UIProcess/API/qt/qquickwebview.cpp:
1654 (QQuickWebViewPrivate::QQuickWebViewPrivate):
1655 (QQuickWebViewPrivate::onComponentComplete):
1656 (QQuickWebView::setUrl):
1657 * UIProcess/API/qt/qquickwebview_p_p.h:
1658 (QQuickWebViewPrivate):
1659 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
1660 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml:
1661 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
1662 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
1663 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
1664 * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
1665 * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml:
1666 * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
1667 * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml:
1668 * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
1669 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
1670 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml:
1671 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml:
1672 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
1673 * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml:
1674 * UIProcess/API/qt/tests/qmltests/WebView/tst_origin.qml:
1675 * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
1676 * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml:
1677 * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml:
1678 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
1679 (tst_QQuickWebView::loadEmptyPageViewHidden):
1680 (tst_QQuickWebView::loadNonexistentFileUrl):
1682 2012-02-28 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
1684 [Qt] Signal and property cleanup in QQuickWebView
1685 https://bugs.webkit.org/show_bug.cgi?id=78820
1687 Reviewed by Noam Rosenthal.
1689 - Remove parameters from property change notify signals:
1690 titleChanged, urlChanged, iconChanged, loadProgressChanged
1691 - Rename the parameters of linkHovered to prevent shadoing properties of WebView
1692 - Rename navigationStateChanged to navigationHistoryChanged
1694 * UIProcess/API/qt/qquickwebview.cpp:
1695 (QQuickWebViewPrivate::QQuickWebViewPrivate):
1696 (QQuickWebViewPrivate::initialize):
1697 (QQuickWebViewPrivate::_q_onUrlChanged):
1698 (QQuickWebViewPrivate::setIcon):
1699 * UIProcess/API/qt/qquickwebview_p.h:
1700 * UIProcess/API/qt/qquickwebview_p_p.h:
1701 (QQuickWebViewPrivate):
1702 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
1703 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
1704 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
1705 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
1706 (tst_QQuickWebView::loadProgress):
1707 * UIProcess/qt/QtWebPageLoadClient.cpp:
1708 (QtWebPageLoadClient::didCommitLoadForFrame):
1709 (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
1710 (QtWebPageLoadClient::didReceiveTitleForFrame):
1711 (QtWebPageLoadClient::setLoadProgress):
1712 * UIProcess/qt/QtWebPageLoadClient.h:
1713 (QtWebPageLoadClient):
1715 2012-02-28 Mario Sanchez Prada <msanchez@igalia.com>
1717 [GTK] Add GMainLoop and GMainContext to be handled by GRefPtr
1718 https://bugs.webkit.org/show_bug.cgi?id=79496
1720 Reviewed by Martin Robinson.
1722 Updated places where raw pointers to GMainLoop and GMainContext
1723 were being used, replacing them with GRefPtr-based code.
1725 * Platform/WorkQueue.h:
1727 * Platform/gtk/WorkQueueGtk.cpp:
1728 (WorkQueue::platformInitialize):
1729 (WorkQueue::platformInvalidate):
1730 (WorkQueue::workQueueThreadBody):
1731 (WorkQueue::registerEventSourceHandler):
1732 (WorkQueue::dispatchOnSource):
1733 * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
1734 (WebKit::WebPopupMenuProxyGtk::WebPopupMenuProxyGtk):
1735 (WebKit::WebPopupMenuProxyGtk::showPopupMenu):
1736 (WebKit::WebPopupMenuProxyGtk::shutdownRunLoop):
1737 * UIProcess/gtk/WebPopupMenuProxyGtk.h:
1738 (WebPopupMenuProxyGtk):
1740 2012-02-28 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
1742 [Qt] Initialize QtWebContext as much as we can in its constructor.
1743 https://bugs.webkit.org/show_bug.cgi?id=79809
1745 Reviewed by Tor Arne Vestbø.
1747 The icon database wouldn't be initialized on the QtWebContext while in WebKitTestRunner
1748 since it doesn't call the initialize method on it after creating it.
1749 Remove the initialize method, move the download manager and icon database initialization
1750 in the constructor and call initializeContextInjectedBundleClient directly in
1751 defaultContext to prevent overriding WKTR's injected bundle client.
1753 * UIProcess/qt/QtWebContext.cpp:
1754 (WebKit::QtWebContext::QtWebContext):
1755 (WebKit::QtWebContext::defaultContext):
1756 * UIProcess/qt/QtWebContext.h:
1759 2012-02-28 Carlos Garcia Campos <cgarcia@igalia.com>
1761 [GTK] Inconsistent state of WebKitWebView when replacing content in WebKit2
1762 https://bugs.webkit.org/show_bug.cgi?id=79775
1764 Reviewed by Martin Robinson.
1766 Use an enum instead of a boolean to track the status of a
1767 replace_content() load operation. We need to know when the load of
1768 the replace content actually starts to not ignore valid load
1769 events of a previous ongoing load operation.
1771 * UIProcess/API/gtk/WebKitWebView.cpp:
1772 (webkitWebViewLoadChanged): Transit to new replace content state
1773 when replacing content depending on the load event.
1774 (webkitWebViewLoadFailed): Ignore load failed events when
1776 (webkitWebViewSetEstimatedLoadProgress): Ignore load progress when
1778 (webkit_web_view_replace_content): Set replace content status to
1780 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
1781 (replaceContentLoadCallback):
1782 (testWebViewReplaceContent):
1783 * UIProcess/API/gtk/tests/WebViewTest.cpp:
1785 (WebViewTest::waitUntilTitleChanged): Convenient method to wait
1786 until title changes. Use with replaceConent() since load events
1787 are not emitted when replacing content.
1788 * UIProcess/API/gtk/tests/WebViewTest.h:
1790 2012-02-27 Anders Carlsson <andersca@apple.com>
1792 Add basic page overlay support to TiledCoreAnimationDrawingArea
1793 https://bugs.webkit.org/show_bug.cgi?id=79716
1794 <rdar://problem/10923079>
1796 Reviewed by Sam Weinig.
1798 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1799 Make TiledCoreAnimationDrawingArea a GraphicsLayerClient.
1801 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1802 (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
1803 Create the page overlay layer.
1805 (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
1806 Destroy the page overlay layer.
1808 (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
1809 Mark the page overlay layer as needing display.
1811 (WebKit::TiledCoreAnimationDrawingArea::notifyAnimationStarted):
1812 (WebKit::TiledCoreAnimationDrawingArea::notifySyncRequired):
1813 Add empty GraphisLayerClient member function implementations.
1815 (WebKit::TiledCoreAnimationDrawingArea::paintContents):
1816 Ask the page overlay to paint itself.
1818 (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
1819 Flush the page overlay layer.
1821 (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
1822 Resize the page overlay layer.
1824 (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
1825 If we have a page overlay layer, add it as a sublayer of the root layer.
1827 (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
1828 Create the page overlay layer and add it as a sublayer of the root layer.
1830 (WebKit::TiledCoreAnimationDrawingArea::destroyPageOverlayLayer):
1831 Remove the page overlay layer and destroy it.
1833 2012-02-28 Carlos Garcia Campos <cgarcia@igalia.com>
1835 [GTK] Remove virtual methods of WebKitDownload signals in WebKit2 GTK+ API
1836 https://bugs.webkit.org/show_bug.cgi?id=79804
1838 Reviewed by Martin Robinson.
1840 That comes from the first patch that followed the approach of the
1841 first LoaderClient implementation. With current implementation
1842 download signals, except decide-destination, don't need to be
1843 true_handled, and they won't have a default handler
1844 implementation. Also the download object is not supposed to be
1845 inheritable, since instances are created privately by the
1846 WebContext, so it's not possible to override the virtual methods
1849 * UIProcess/API/gtk/WebKitDownload.cpp:
1850 (webkit_download_class_init):
1851 (webkitDownloadNotifyProgress):
1852 (webkitDownloadFailed):
1853 (webkitDownloadFinished):
1854 * UIProcess/API/gtk/WebKitDownload.h:
1855 (_WebKitDownloadClass):
1856 * UIProcess/API/gtk/webkit2marshal.list:
1858 2012-02-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
1860 [Qt] Fix build for WK2, do not use enum type if values can be outside the enum
1861 https://bugs.webkit.org/show_bug.cgi?id=79800
1863 Reviewed by Csaba Osztrogonác.
1865 We have two different enums called NavigationRequestAction. If we use one of them
1866 to store the variables, compilers can rightfully warn about comparison with
1867 values from other enums.
1869 We might revisit the strategy of exposing different enumerations in experimental,
1870 but for now, fallback to using int for the 'action' property in
1871 QWebNavigationRequest.
1873 * UIProcess/API/qt/qwebnavigationrequest.cpp:
1874 (QWebNavigationRequestPrivate):
1875 (QWebNavigationRequest::setAction):
1876 (QWebNavigationRequest::action):
1877 * UIProcess/API/qt/qwebnavigationrequest_p.h:
1878 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
1880 2012-02-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
1882 [Qt] API changes to QWebNavigationRequest
1883 https://bugs.webkit.org/show_bug.cgi?id=78821
1885 Reviewed by Kenneth Rohde Christiansen.
1887 Changes discussed in API review at Szeged: rename 'button' to 'mouseButton',
1888 rename 'modifiers' to 'keyboardModifiers', remove 'originatingUrl' and
1889 use the enum type for 'action'.
1891 * UIProcess/API/qt/qwebnavigationrequest.cpp:
1892 (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
1893 (QWebNavigationRequestPrivate):
1894 (QWebNavigationRequest::QWebNavigationRequest):
1895 (QWebNavigationRequest::setAction):
1896 (QWebNavigationRequest::mouseButton):
1897 (QWebNavigationRequest::keyboardModifiers):
1898 (QWebNavigationRequest::action):
1899 * UIProcess/API/qt/qwebnavigationrequest_p.h:
1900 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
1901 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
1902 * UIProcess/qt/QtWebPagePolicyClient.cpp:
1903 (QtWebPagePolicyClient::decidePolicyForNavigationAction):
1904 * UIProcess/qt/QtWebPagePolicyClient.h:
1905 (QtWebPagePolicyClient):
1907 2012-02-28 Shinya Kawanaka <shinyak@chromium.org>
1909 Element should be able to have multiple shadow roots.
1910 https://bugs.webkit.org/show_bug.cgi?id=77931
1912 Reviewed by Hajime Morita.
1915 * win/WebKit2CFLite.def:
1917 2012-02-28 Hugo Parente Lima <hugo.lima@openbossa.org>
1919 [Qt][WK2] Use movementStarted/Ended signals instead of movingChanged on QtViewportInterationEngine
1920 https://bugs.webkit.org/show_bug.cgi?id=79521
1922 Reviewed by Kenneth Rohde Christiansen.
1924 movingChanged() signal is emitted many times, so the use of movementStarted() and
1925 movementEnded() is a better choice.
1927 * UIProcess/qt/QtFlickProvider.cpp:
1928 (QtFlickProvider::QtFlickProvider):
1929 * UIProcess/qt/QtFlickProvider.h:
1931 * UIProcess/qt/QtViewportInteractionEngine.cpp:
1932 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
1933 * UIProcess/qt/QtViewportInteractionEngine.h:
1934 (QtViewportInteractionEngine):
1936 2012-02-27 Shinya Kawanaka <shinyak@chromium.org>
1938 Element::removeShadowRoot() and setShadowRoot() should be moved into ShadowTree.
1939 https://bugs.webkit.org/show_bug.cgi?id=78313
1941 Reviewed by Hajime Morita.
1944 * win/WebKit2CFLite.def:
1946 2012-02-27 Brady Eidson <beidson@apple.com>
1948 <rdar://problem/10924993> and https://bugs.webkit.org/show_bug.cgi?id=79725
1949 <a ping> doesn't work in WebKit2
1951 Reviewed by Alexey Proskuryakov.
1953 * WebProcess/WebPage/WebPage.cpp:
1954 (WebKit::WebPage::updatePreferences): Push the WK2 <a ping> setting to WebCore::Settings.
1956 2012-02-27 Enrica Casucci <enrica@apple.com>
1958 WebKit2: implement platform strategy to access Pasteboard in the UI process.
1959 https://bugs.webkit.org/show_bug.cgi?id=79253
1960 <rdar://problem/9971876>
1962 Reviewed by Alexey Proskuryakov.
1964 * UIProcess/WebContext.h:
1965 * UIProcess/WebContext.messages.in: Added messages to access NSPasteboard
1967 * UIProcess/mac/WebContextMac.mm: Added methods corresponding to the
1969 (WebKit::WebContext::getPasteboardTypes):
1970 (WebKit::WebContext::getPasteboardPathnamesForType):
1971 (WebKit::WebContext::getPasteboardStringForType):
1972 (WebKit::WebContext::getPasteboardBufferForType):
1973 (WebKit::WebContext::pasteboardCopy):
1974 (WebKit::WebContext::getPasteboardChangeCount):
1975 (WebKit::WebContext::getPasteboardUniqueName):
1976 (WebKit::WebContext::getPasteboardColor):
1977 (WebKit::WebContext::setPasteboardTypes):
1978 (WebKit::WebContext::setPasteboardPathnamesForType):
1979 (WebKit::WebContext::setPasteboardStringForType):
1980 (WebKit::WebContext::setPasteboardBufferForType):
1981 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: New implementation of the PasteboardStrategy using message exchange
1982 with the UI process.
1983 (WebKit::WebPlatformStrategies::getTypes):
1984 (WebKit::WebPlatformStrategies::bufferForType):
1985 (WebKit::WebPlatformStrategies::getPathnamesForType):
1986 (WebKit::WebPlatformStrategies::stringForType):
1987 (WebKit::WebPlatformStrategies::copy):
1988 (WebKit::WebPlatformStrategies::changeCount):
1989 (WebKit::WebPlatformStrategies::uniqueName):
1990 (WebKit::WebPlatformStrategies::color):
1991 (WebKit::WebPlatformStrategies::setTypes):
1992 (WebKit::WebPlatformStrategies::setBufferForType):
1993 (WebKit::WebPlatformStrategies::setPathnamesForType):
1994 (WebKit::WebPlatformStrategies::setStringForType):
1996 2012-02-27 Dan Bernstein <mitz@apple.com>
1998 <rdar://problem/9557598> REGRESSION (WebKit2): Non-activating links sometimes don’t work
1999 https://bugs.webkit.org/show_bug.cgi?id=79607
2001 Reviewed by Adele Peterson.
2003 Test: TestWebKitAPI/Tests/mac/AcceptsFirstMouse.mm
2005 This was caused by not mapping the mouse event coordinates from window coordinates to
2006 document coordinates.
2008 * WebProcess/WebPage/mac/WebPageMac.mm:
2009 (WebKit::WebPage::performDictionaryLookupAtLocation): Convert the point to main frame
2010 coordinates when performing the hit test.
2011 (WebKit::WebPage::shouldDelayWindowOrderingEvent): Convert the point to the main or focused
2012 frame coordinates when perfomring the hit test.
2013 (WebKit::WebPage::acceptsFirstMouse): Ditto.
2015 2012-02-27 Timothy Hatcher <timothy@apple.com>
2017 Add WKInspector API to know when the Web Inspector is the frontmost window.
2019 Also makes the Safari Develop menu items work when the Web Inspector is frontmost.
2021 https://webkit.org/b/79649
2023 Reviewed by John Sullivan.
2025 * UIProcess/API/C/WKInspector.cpp:
2026 (WKInspectorIsFront): Added. Call WebInspectorProxy::isFront.
2027 * UIProcess/API/C/WKInspector.h:
2028 * UIProcess/WebInspectorProxy.cpp:
2029 (WebKit::WebInspectorProxy::isFront): Added. Call platformIsFront.
2030 * UIProcess/WebInspectorProxy.h:
2031 * UIProcess/efl/WebInspectorEfl.cpp:
2032 (WebKit::WebInspectorProxy::platformIsFront): Added stub.
2033 * UIProcess/gtk/WebInspectorGtk.cpp:
2034 (WebKit::WebInspectorProxy::platformIsFront): Added stub.
2035 * UIProcess/mac/WebInspectorProxyMac.mm:
2036 (-[WKWebInspectorProxyObjCAdapter showWebInspector:]): Added. Makes the Develop menu items in Safari work when
2037 the Web Inspector window is front.
2038 (-[WKWebInspectorProxyObjCAdapter showErrorConsole:]): Added. Ditto.
2039 (-[WKWebInspectorProxyObjCAdapter showResources:]): Added. Ditto.
2040 (-[WKWebInspectorProxyObjCAdapter viewSource:]): Added. Ditto.
2041 (-[WKWebInspectorProxyObjCAdapter toggleDebuggingJavaScript:]): Added. Ditto.
2042 (-[WKWebInspectorProxyObjCAdapter toggleProfilingJavaScript:]): Added. Ditto.
2043 (-[WKWebInspectorProxyObjCAdapter validateUserInterfaceItem:]): Added. Update the menu item titles.
2044 (WebKit::WebInspectorProxy::platformIsFront): Added. Return if visible and the window is main.
2045 * UIProcess/qt/WebInspectorProxyQt.cpp:
2046 (WebKit::WebInspectorProxy::platformIsFront): Added stub.
2047 * UIProcess/win/WebInspectorProxyWin.cpp:
2048 (WebKit::WebInspectorProxy::platformIsFront): Added stub.
2050 2012-02-26 YoungTaeck Song <youngtaeck.song@samsung.com>
2052 [EFL][WK2] Add InjectedBundleEfl.cpp
2053 https://bugs.webkit.org/show_bug.cgi?id=75463
2055 Reviewed by Andreas Kling.
2057 Add first version of InjectedBundleEfl.cpp including load() and placeholder for activateMacFontAscentHack().
2059 * WebProcess/InjectedBundle/InjectedBundle.h:
2060 * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp:
2061 (WebKit::InjectedBundle::load):
2062 (WebKit::InjectedBundle::activateMacFontAscentHack):
2064 2012-02-26 Shinya Kawanaka <shinyak@chromium.org>
2066 Rename ShadowRootList to ShadowTree.
2067 https://bugs.webkit.org/show_bug.cgi?id=79342
2069 Reviewed by Hajime Morita.
2072 * win/WebKit2CFLite.def:
2074 2012-02-26 Hajime Morrita <morrita@chromium.org>
2076 Move ChromeClient::showContextMenu() to ContextMenuClient
2077 https://bugs.webkit.org/show_bug.cgi?id=79427
2079 Reviewed by Adam Barth.
2081 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2082 * WebProcess/WebCoreSupport/WebChromeClient.h:
2084 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
2086 (WebKit::WebContextMenuClient::showContextMenu): Moved from WebChromeClient
2087 * WebProcess/WebCoreSupport/WebContextMenuClient.h:
2088 (WebContextMenuClient):
2089 * WebProcess/WebPage/WebPage.cpp:
2090 (WebKit::handleContextMenuEvent):
2091 (WebKit::handleMouseEvent):
2092 (WebKit::WebPage::mouseEvent):
2093 (WebKit::WebPage::mouseEventSyncForTesting):
2095 2012-02-26 Huang Dongsung <luxtella@company100.net>
2097 Use Functional instead of a MessageQueue for messages to the LayerTreeHostProxy
2099 https://bugs.webkit.org/show_bug.cgi?id=79478
2101 This makes a lot of the broilerplate code for message-passing unnecessary, and
2102 results in a much more succinct implementation.
2104 Reviewed by Noam Rosenthal.
2106 * UIProcess/LayerTreeHostProxy.h:
2108 (LayerTreeHostProxy):
2109 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2111 (WebKit::LayerTreeHostProxy::updateTile):
2112 (WebKit::LayerTreeHostProxy::createImage):
2113 (WebKit::LayerTreeHostProxy::syncRemoteContent):
2114 (WebKit::LayerTreeHostProxy::dispatchUpdate):
2115 (WebKit::LayerTreeHostProxy::createTileForLayer):
2116 (WebKit::LayerTreeHostProxy::updateTileForLayer):
2117 (WebKit::LayerTreeHostProxy::removeTileForLayer):
2118 (WebKit::LayerTreeHostProxy::deleteCompositingLayer):
2119 (WebKit::LayerTreeHostProxy::setRootCompositingLayer):
2120 (WebKit::LayerTreeHostProxy::syncCompositingLayerState):
2121 (WebKit::LayerTreeHostProxy::didRenderFrame):
2122 (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
2123 (WebKit::LayerTreeHostProxy::destroyDirectlyCompositedImage):
2125 2012-02-26 Filip Pizlo <fpizlo@apple.com>
2129 * Platform/mac/RemoteLayerClient.mm:
2130 (WebKit::RemoteLayerClient::RemoteLayerClient):
2132 2012-02-26 Sam Weinig <sam@webkit.org>
2134 Encapsulate uses of WKSI to setup a remote layer into a new RemoteLayerClient class
2135 https://bugs.webkit.org/show_bug.cgi?id=79612
2137 Reviewed by Anders Carlsson.
2139 * Platform/mac/RemoteLayerClient.h:
2140 * Platform/mac/RemoteLayerClient.mm:
2141 (WebKit::RemoteLayerClient::create):
2142 (WebKit::RemoteLayerClient::RemoteLayerClient):
2143 (WebKit::RemoteLayerClient::~RemoteLayerClient):
2144 (WebKit::RemoteLayerClient::clientID):
2145 (WebKit::RemoteLayerClient::invalidate):
2146 New class that encapsulates calls to WKSI WKCARemoteLayerClient*. For platforms
2147 where the use of WKSI is not necessary, due to CARemoteLayerClient being available,
2150 * PluginProcess/PluginControllerProxy.cpp:
2151 * PluginProcess/PluginControllerProxy.h:
2152 * PluginProcess/mac/PluginControllerProxyMac.mm:
2153 (WebKit::PluginControllerProxy::platformInitialize):
2154 (WebKit::PluginControllerProxy::platformDestroy):
2155 (WebKit::PluginControllerProxy::remoteLayerClientID):
2156 (WebKit::PluginControllerProxy::platformGeometryDidChange):
2157 * WebKit2.xcodeproj/project.pbxproj:
2158 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h:
2159 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
2160 (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer):
2161 (WebKit::WebFullScreenManagerMac::disposeOfLayerClient):
2162 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
2163 (LayerTreeHostCAMac):
2164 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
2165 (WebKit::LayerTreeHostCAMac::platformInitialize):
2166 (WebKit::LayerTreeHostCAMac::invalidate):
2167 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2168 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2169 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
2170 Switch to using RemoteLayerClient.
2172 * UIProcess/mac/WebContextMac.mm:
2173 (WebKit::WebContext::platformInitializeWebProcess):
2174 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
2175 (WebKit::PluginProcessProxy::platformInitializePluginProcess):
2176 Use CARemoteLayerServer directly if available.
2178 2012-02-25 Anders Carlsson <andersca@apple.com>
2180 Address review feedback from Andreas Kling.
2182 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2183 (WebKit::NetscapePlugin::platformHandleMouseEvent):
2185 2012-02-25 Anders Carlsson <andersca@apple.com>
2187 Mouse tracking incorrect in Silverlight when using multi monitor with offset arrangement
2188 https://bugs.webkit.org/show_bug.cgi?id=79589
2189 <rdar://problem/9719592>
2191 Reviewed by Sam Weinig.
2193 In the Carbon event model, mouse event coordinates are flipped relative to the first screen,
2194 whereas the coordinates we get from the WebMouseEvent are flipped relative to the screen where
2195 the containing WKView is on.
2197 Instead of passing the global coordinates to NPP_HandleEvent, convert them to the flipped screen coordinate
2198 system that the plug-in expects.
2200 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2201 (WebKit::NetscapePlugin::platformHandleMouseEvent):
2203 2012-02-25 Sheriff Bot <webkit.review.bot@gmail.com>
2205 Unreviewed, rolling out r108900.
2206 http://trac.webkit.org/changeset/108900
2207 https://bugs.webkit.org/show_bug.cgi?id=79587
2209 broke some API tests, will investigate and re-commit
2210 (Requested by noamr on #webkit).
2212 * UIProcess/API/qt/qquickwebpage.cpp:
2213 (computeEffectiveOpacity):
2214 (QQuickWebPagePrivate::paintToCurrentGLContext):
2215 (PageProxyNode::changedStates):
2216 (PageProxyNode::render):
2217 * UIProcess/API/qt/qquickwebpage_p_p.h:
2218 (QQuickWebPagePrivate):
2220 2012-02-25 No'am Rosenthal <noam.rosenthal@nokia.com>
2222 [Qt] Use the existing inheritedOpacity/matrix properties of QSGNode
2223 https://bugs.webkit.org/show_bug.cgi?id=79543
2225 Use QSGNode::inheritedOpacity() and QSGNode::matrix().
2226 Also, remove flags from changedStates() that we don't actually touch.
2228 Reviewed by Kenneth Rohde Christiansen.
2230 * UIProcess/API/qt/qquickwebpage.cpp:
2231 (QQuickWebPagePrivate::paintToCurrentGLContext):
2232 (PageProxyNode::changedStates):
2233 (PageProxyNode::render):
2234 * UIProcess/API/qt/qquickwebpage_p_p.h:
2235 (QQuickWebPagePrivate):
2237 2012-02-25 Sheriff Bot <webkit.review.bot@gmail.com>
2239 Unreviewed, rolling out r108816.
2240 http://trac.webkit.org/changeset/108816
2241 https://bugs.webkit.org/show_bug.cgi?id=79562
2243 It made many tests crash and timeout on Qt-WK2 (Requested by
2246 * UIProcess/API/qt/qquickwebview.cpp:
2247 (QQuickWebViewPrivate::QQuickWebViewPrivate):
2248 (QQuickWebViewPrivate::initialize):
2249 (QQuickWebViewPrivate::setIcon):
2250 * UIProcess/API/qt/qquickwebview_p.h:
2251 * UIProcess/API/qt/qquickwebview_p_p.h:
2252 (QQuickWebViewPrivate):
2253 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2254 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
2255 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
2256 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2257 (tst_QQuickWebView::loadProgress):
2258 * UIProcess/qt/QtWebPageLoadClient.cpp:
2259 (QtWebPageLoadClient::didCommitLoadForFrame):
2260 (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
2261 (QtWebPageLoadClient::didReceiveTitleForFrame):
2262 (QtWebPageLoadClient::setLoadProgress):
2263 * UIProcess/qt/QtWebPageLoadClient.h:
2264 (QtWebPageLoadClient):
2266 2012-02-24 Andy Estes <aestes@apple.com>
2268 REGRESSION (r108730): Webkit nightlies fails to start due to WKPreferencesGetSuppressIncrementalRendering renaming
2269 https://bugs.webkit.org/show_bug.cgi?id=79515
2271 Reviewed by Alexey Proskuryakov.
2273 Some versions of Safari contain call sites to two functions in WebKit2
2274 that were removed in r108730. Restore these two functions so that these
2275 versions of Safari can be used with WebKit nightly builds.
2277 * UIProcess/API/C/WKPreferences.cpp:
2278 (WKPreferencesSetSuppressIncrementalRendering):
2279 (WKPreferencesGetSuppressIncrementalRendering):
2280 * UIProcess/API/C/WKPreferences.h:
2282 2012-02-24 Jessie Berlin <jberlin@apple.com>
2284 requestPermission callback not invoked if the WebProcess doesn't have to ask the UI Process
2285 about the permission level.
2286 https://bugs.webkit.org/show_bug.cgi?id=79494
2288 Reviewed by Jon Honeycutt.
2290 Invoke the callback in the case where the permission level is known and no message is sent
2293 * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
2294 (WebKit::NotificationPermissionRequestManager::startRequest):
2296 2012-02-24 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
2298 [Qt] Signal and property cleanup in QQuickWebView
2299 https://bugs.webkit.org/show_bug.cgi?id=78820
2301 Reviewed by Simon Hausmann.
2303 - Remove parameters from property change notify signals:
2304 titleChanged, urlChanged, iconChanged, loadProgressChanged
2305 - Rename the parameters of linkHovered to prevent shadoing properties of WebView
2306 - Rename navigationStateChanged to navigationHistoryChanged
2308 * UIProcess/API/qt/qquickwebview.cpp:
2309 (QQuickWebViewPrivate::QQuickWebViewPrivate):
2310 (QQuickWebViewPrivate::initialize):
2311 (QQuickWebViewPrivate::_q_onUrlChanged):
2312 (QQuickWebViewPrivate::setIcon):
2313 * UIProcess/API/qt/qquickwebview_p.h:
2314 * UIProcess/API/qt/qquickwebview_p_p.h:
2315 (QQuickWebViewPrivate):
2316 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2317 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
2318 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
2319 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2320 (tst_QQuickWebView::loadProgress):
2321 * UIProcess/qt/QtWebPageLoadClient.cpp:
2322 (QtWebPageLoadClient::didCommitLoadForFrame):
2323 (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
2324 (QtWebPageLoadClient::didReceiveTitleForFrame):
2325 (QtWebPageLoadClient::setLoadProgress):
2326 * UIProcess/qt/QtWebPageLoadClient.h:
2327 (QtWebPageLoadClient):
2329 2012-02-24 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
2331 [Qt] API: Unify the loading properties and signals.
2332 https://bugs.webkit.org/show_bug.cgi?id=79486
2334 Reviewed by Simon Hausmann.
2336 - Remove the canReload signal, instead assume that calling reload in those cases
2337 won't have any effect.
2338 - Replace loadStarted, loadSucceeded and loadFailed by a single signal: loadingChanged.
2339 The signal carries an argument with a status and error codes giving the intended context.
2340 - Use loadingChanged as the notification signal for the property "loading" instead of
2341 navigationStateChanged.
2343 Also update all API tests to use the new loading signals and add some utility functions
2344 to track the loading since the new API aims to be more adapted to declarative logic
2345 and the auto tests are using an imperative logic.
2348 * UIProcess/API/qt/qquickwebview.cpp:
2349 (QQuickWebViewPrivate::QQuickWebViewPrivate):
2350 (QQuickWebViewPrivate::loadDidSucceed):
2351 (QQuickWebViewPrivate::didChangeLoadingState):
2352 (QQuickWebViewPrivate::processDidCrash):
2353 (QQuickWebViewPrivate::didRelaunchProcess):
2354 * UIProcess/API/qt/qquickwebview_p.h:
2355 * UIProcess/API/qt/qquickwebview_p_p.h:
2356 (QQuickWebViewPrivate):
2357 * UIProcess/API/qt/qwebloadrequest.cpp: Added.
2358 (QWebLoadRequestPrivate):
2359 (QWebLoadRequestPrivate::QWebLoadRequestPrivate):
2360 (QWebLoadRequest::QWebLoadRequest):
2361 (QWebLoadRequest::~QWebLoadRequest):
2362 (QWebLoadRequest::url):
2363 (QWebLoadRequest::status):
2364 (QWebLoadRequest::errorString):
2365 (QWebLoadRequest::errorDomain):
2366 (QWebLoadRequest::errorCode):
2367 * UIProcess/API/qt/qwebloadrequest_p.h: Added.
2368 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2369 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml:
2370 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
2371 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
2372 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
2373 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
2374 * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
2375 * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
2376 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
2377 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadHtml.qml:
2378 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml:
2379 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml:
2380 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
2381 * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml:
2382 * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
2383 * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml:
2384 * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml:
2385 * UIProcess/API/qt/tests/qmltests/common/TestWebView.qml: Added.
2386 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2387 (tst_QQuickWebView::navigationStatusAtStartup):
2388 (LoadStartedCatcher::LoadStartedCatcher):
2389 (LoadStartedCatcher::onLoadingChanged):
2390 (tst_QQuickWebView::stopEnabledAfterLoadStarted):
2391 (tst_QQuickWebView::loadEmptyPageViewHidden):
2392 (tst_QQuickWebView::loadNonexistentFileUrl):
2393 (tst_QQuickWebView::backAndForward):
2394 (tst_QQuickWebView::reload):
2395 (tst_QQuickWebView::stop):
2396 (tst_QQuickWebView::loadProgress):
2397 (tst_QQuickWebView::showWebView):
2398 (tst_QQuickWebView::multipleWebViewWindows):
2399 (tst_QQuickWebView::multipleWebViews):
2400 (tst_QQuickWebView::scrollRequest):
2401 * UIProcess/API/qt/tests/util.cpp:
2404 (LoadSpy::onLoadingChanged):
2405 (waitForLoadSucceeded):
2406 (waitForLoadFailed):
2407 * UIProcess/API/qt/tests/util.h:
2408 * UIProcess/qt/QtWebError.h:
2409 * UIProcess/qt/QtWebPageLoadClient.cpp:
2410 (QtWebPageLoadClient::didStartProvisionalLoadForFrame):
2411 (QtWebPageLoadClient::dispatchLoadFailed):
2412 * UIProcess/qt/QtWebPageLoadClient.h:
2413 (QtWebPageLoadClient):
2415 2012-02-24 Simon Hausmann <simon.hausmann@nokia.com>
2417 Unreviewed, rolling out r108798.
2418 http://trac.webkit.org/changeset/108798
2419 https://bugs.webkit.org/show_bug.cgi?id=78047
2421 Broke too many Qt WK2 tests.
2423 * UIProcess/API/qt/qquickwebview.cpp:
2424 (QQuickWebView::keyPressEvent):
2425 (QQuickWebView::keyReleaseEvent):
2426 (QQuickWebView::inputMethodEvent):
2427 (QQuickWebView::focusInEvent):
2428 (QQuickWebView::focusOutEvent):
2429 (QQuickWebView::touchEvent):
2430 (QQuickWebView::mousePressEvent):
2431 (QQuickWebView::mouseMoveEvent):
2432 (QQuickWebView::mouseReleaseEvent):
2433 (QQuickWebView::mouseDoubleClickEvent):
2434 (QQuickWebView::wheelEvent):
2435 (QQuickWebView::hoverEnterEvent):
2436 (QQuickWebView::hoverMoveEvent):
2437 (QQuickWebView::hoverLeaveEvent):
2438 (QQuickWebView::dragMoveEvent):
2439 (QQuickWebView::dragEnterEvent):
2440 (QQuickWebView::dragLeaveEvent):
2441 (QQuickWebView::dropEvent):
2442 (QQuickWebView::event):
2443 * UIProcess/qt/QtWebPageEventHandler.cpp:
2444 (QtWebPageEventHandler::handleEvent):
2445 (QtWebPageEventHandler::handleMouseMoveEvent):
2446 (QtWebPageEventHandler::handleMousePressEvent):
2447 (QtWebPageEventHandler::handleMouseReleaseEvent):
2448 (QtWebPageEventHandler::handleWheelEvent):
2449 (QtWebPageEventHandler::handleHoverLeaveEvent):
2450 (QtWebPageEventHandler::handleHoverMoveEvent):
2451 (QtWebPageEventHandler::handleDragEnterEvent):
2452 (QtWebPageEventHandler::handleDragLeaveEvent):
2453 (QtWebPageEventHandler::handleDragMoveEvent):
2454 (QtWebPageEventHandler::handleDropEvent):
2455 (QtWebPageEventHandler::handleKeyPressEvent):
2456 (QtWebPageEventHandler::handleKeyReleaseEvent):
2457 (QtWebPageEventHandler::handleFocusInEvent):
2458 (QtWebPageEventHandler::handleFocusOutEvent):
2459 (QtWebPageEventHandler::inputMethodEvent):
2460 (QtWebPageEventHandler::touchEvent):
2461 * UIProcess/qt/QtWebPageEventHandler.h:
2462 (QtWebPageEventHandler):
2464 2012-02-24 Simon Hausmann <simon.hausmann@nokia.com>
2466 [Qt][WK2] QQuickWebView::event should lookup faster which events QQuickWebPage can handle
2467 https://bugs.webkit.org/show_bug.cgi?id=78047
2469 Reviewed by Kenneth Rohde Christiansen.
2471 Replaced double-dispatch of events with direct forwarding of events from QQuickWebView::*Event to
2472 QtWebPageEventHandler::handle*Event.
2474 * UIProcess/API/qt/qquickwebview.cpp:
2475 (QQuickWebView::keyPressEvent):
2476 (QQuickWebView::keyReleaseEvent):
2477 (QQuickWebView::inputMethodEvent):
2478 (QQuickWebView::focusInEvent):
2479 (QQuickWebView::focusOutEvent):
2480 (QQuickWebView::touchEvent):
2481 (QQuickWebView::mousePressEvent):
2482 (QQuickWebView::mouseMoveEvent):
2483 (QQuickWebView::mouseReleaseEvent):
2484 (QQuickWebView::mouseDoubleClickEvent):
2485 (QQuickWebView::wheelEvent):
2486 (QQuickWebView::hoverEnterEvent):
2487 (QQuickWebView::hoverMoveEvent):
2488 (QQuickWebView::hoverLeaveEvent):
2489 (QQuickWebView::dragMoveEvent):
2490 (QQuickWebView::dragEnterEvent):
2491 (QQuickWebView::dragLeaveEvent):
2492 (QQuickWebView::dropEvent):
2493 (QQuickWebView::event):
2494 * UIProcess/qt/QtWebPageEventHandler.cpp:
2495 (QtWebPageEventHandler::handleMouseMoveEvent):
2496 (QtWebPageEventHandler::handleMousePressEvent):
2497 (QtWebPageEventHandler::handleMouseReleaseEvent):
2498 (QtWebPageEventHandler::handleWheelEvent):
2499 (QtWebPageEventHandler::handleHoverLeaveEvent):
2500 (QtWebPageEventHandler::handleHoverMoveEvent):
2501 (QtWebPageEventHandler::handleDragEnterEvent):
2502 (QtWebPageEventHandler::handleDragLeaveEvent):
2503 (QtWebPageEventHandler::handleDragMoveEvent):
2504 (QtWebPageEventHandler::handleDropEvent):
2505 (QtWebPageEventHandler::handleKeyPressEvent):
2506 (QtWebPageEventHandler::handleKeyReleaseEvent):
2507 (QtWebPageEventHandler::handleFocusInEvent):
2508 (QtWebPageEventHandler::handleFocusOutEvent):
2509 (QtWebPageEventHandler::handleInputMethodEvent):
2510 (QtWebPageEventHandler::handleTouchEvent):
2511 * UIProcess/qt/QtWebPageEventHandler.h:
2512 (QtWebPageEventHandler):
2514 2012-02-24 Simon Hausmann <simon.hausmann@nokia.com>
2516 [Qt] Use private QSGRenderNode in QQuickWebView for improved Qt Scene Graph integration
2517 https://bugs.webkit.org/show_bug.cgi?id=79022
2519 Reviewed by Csaba Osztrogonác.
2522 * UIProcess/API/qt/qquickwebpage.cpp:
2523 (PageProxyNode::PageProxyNode):
2524 (PageProxyNode::changedStates):
2525 (PageProxyNode::render):
2528 2012-02-24 Carlos Garcia Campos <cgarcia@igalia.com>
2530 [GTK] Encode/decode Null ResourceResponse objects in WebKit2
2531 https://bugs.webkit.org/show_bug.cgi?id=79471
2533 Reviewed by Philippe Normand.
2535 * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
2536 (CoreIPC::::encode): Check whether ResourceResponse is Null before
2538 (CoreIPC::::decode): Check whether response is Null and create a
2539 Null ResourceResponse object in such case.
2541 2012-02-24 Shinya Kawanaka <shinyak@chromium.org>
2543 SpellCheckRequest needs to know the context where the spellcheck happened.
2544 https://bugs.webkit.org/show_bug.cgi?id=79320
2546 Reviewed by Hajime Morita.
2548 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2549 (WebKit::WebEditorClient::requestCheckingOfString):
2550 * WebProcess/WebCoreSupport/WebEditorClient.h:
2552 2012-02-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
2554 [Qt] Tiling: Improve the method names dealing with moving and scaling.
2556 Rubberstamped by Simon Hausmann.
2558 * UIProcess/API/qt/qquickwebview.cpp:
2559 (QQuickWebViewLegacyPrivate::updateViewportSize):
2560 (QQuickWebViewFlickablePrivate::onComponentComplete):
2561 (QQuickWebViewFlickablePrivate::updateViewportSize):
2562 (QQuickWebViewFlickablePrivate::_q_commitScaleChange):
2563 (QQuickWebViewPrivate::_q_commitPositionChange):
2564 (QQuickWebViewFlickablePrivate::_q_resume):
2565 * UIProcess/API/qt/qquickwebview_p.h:
2566 * UIProcess/API/qt/qquickwebview_p_p.h:
2567 (QQuickWebViewPrivate):
2568 (QQuickWebViewPrivate::_q_commitScaleChange):
2569 (QQuickWebViewFlickablePrivate):
2570 * UIProcess/DrawingAreaProxy.h:
2571 (WebKit::DrawingAreaProxy::setVisibleContentsRectForScaling):
2572 (WebKit::DrawingAreaProxy::setVisibleContentsRectForPanning):
2573 * UIProcess/DrawingAreaProxyImpl.cpp:
2574 (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectForScaling):
2575 (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectForPanning):
2576 * UIProcess/DrawingAreaProxyImpl.h:
2577 (DrawingAreaProxyImpl):
2578 * UIProcess/LayerTreeHostProxy.h:
2579 (LayerTreeHostProxy):
2580 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2581 (WebKit::LayerTreeHostProxy::setVisibleContentsRectForPanning):
2582 (WebKit::LayerTreeHostProxy::setVisibleContentsRectForScaling):
2583 * UIProcess/qt/QtViewportInteractionEngine.cpp:
2584 (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
2585 (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
2586 (WebKit::QtViewportInteractionEngine::wheelEvent):
2587 (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
2588 * UIProcess/qt/QtViewportInteractionEngine.h:
2589 (QtViewportInteractionEngine):
2590 * WebProcess/WebPage/LayerTreeHost.h:
2591 (WebKit::LayerTreeHost::setVisibleContentsRectForScaling):
2592 (WebKit::LayerTreeHost::setVisibleContentsRectForPanning):
2593 (WebKit::LayerTreeHost::setVisibleContentsRectForLayer):
2594 * WebProcess/WebPage/LayerTreeHost.messages.in:
2595 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2596 (WebKit::LayerTreeHostQt::setVisibleContentsRectForScaling):
2597 (WebKit::LayerTreeHostQt::setVisibleContentsRectForPanning):
2598 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
2601 2012-02-24 Sergio Villar Senin <svillar@igalia.com>
2603 [WK2] [GTK] Destructor not invoked in EditorClientFrameDestructionObserver
2604 https://bugs.webkit.org/show_bug.cgi?id=79466
2606 Reviewed by Philippe Normand.
2608 Explicitly cast the observer before deleting it instead of just
2609 deleting a generic pointer. We must to that in order to get the
2610 destructor of the object properly called.
2612 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
2613 (WebKit::EditorClientFrameDestructionObserver::destroyOnClosureFinalization):
2615 2012-02-23 Andy Estes <aestes@apple.com>
2617 Rename [setS|s]uppressIncrementalRendering to [setS|s]uppressesIncrementalRendering and make it WebPreferences API.
2618 https://bugs.webkit.org/show_bug.cgi?id=79433
2620 Reviewed by Dan Bernstein.
2622 * Shared/WebPreferencesStore.h:
2624 * UIProcess/API/C/WKPreferences.cpp:
2625 (WKPreferencesSetSuppressesIncrementalRendering):
2626 (WKPreferencesGetSuppressesIncrementalRendering):
2627 * UIProcess/API/C/WKPreferences.h:
2628 * UIProcess/WebInspectorProxy.cpp:
2629 (WebKit::createInspectorPageGroup):
2630 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2631 (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
2632 * WebProcess/WebPage/WebPage.cpp:
2633 (WebKit::WebPage::updatePreferences):
2635 2012-02-23 Mario Sanchez Prada <msanchez@igalia.com>
2637 [GTK] Wrong signal name on emission in WebKitWindowProperties.cpp
2638 https://bugs.webkit.org/show_bug.cgi?id=79352
2640 Reviewed by Philippe Normand.
2642 Emit the signal 'resizable' instead of 'resizable-visible'.
2644 * UIProcess/API/gtk/WebKitWindowProperties.cpp:
2645 (webkitWindowPropertiesSetResizable): Use right signal name.
2647 2012-02-23 Anders Carlsson <andersca@apple.com>
2649 Flush layer changes after layout when resizing web page
2650 https://bugs.webkit.org/show_bug.cgi?id=79399
2651 <rdar://problem/10920157>
2653 Reviewed by Andreas Kling.
2655 Flush layer changes after layout, otherwise the scrollbars won't be updated
2656 until sometime later which looks bad.
2658 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2659 (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
2661 2012-02-23 Daniel Bates <dbates@webkit.org>
2663 Add missing "Reviewed by" line to change log entry for changeset r108631
2664 (https://bugs.webkit.org/show_bug.cgi?id=79252)
2666 The patch landed in changeset r108631 was reviewed by Martin Robinson.
2670 2012-02-23 Patrick Gansterer <paroga@webkit.org>
2672 [CMake] Add WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS macro
2673 https://bugs.webkit.org/show_bug.cgi?id=79371
2675 Reviewed by Daniel Bates.
2679 2012-02-23 Simon Hausmann <simon.hausmann@nokia.com>
2681 [Qt] Add support for touch cancellation
2682 https://bugs.webkit.org/show_bug.cgi?id=79348
2684 Reviewed by Kenneth Rohde Christiansen.
2686 Convert and forward incoming touch cancellation events
2689 * Shared/qt/WebEventFactoryQt.cpp:
2690 (WebKit::webEventTypeForEvent):
2691 (WebKit::WebEventFactory::createWebTouchEvent):
2692 * UIProcess/API/qt/qquickwebview.cpp:
2693 (QQuickWebView::event):
2694 * UIProcess/qt/QtWebPageEventHandler.cpp:
2695 (QtWebPageEventHandler::handleEvent):
2697 2012-02-23 Brent Fulgham <bfulgham@webkit.org>
2699 [WinCairo] Build fix after r108428.
2701 * win/WebKit2CFLite.def: Add missing export declaration.
2703 2012-02-23 Simon Hausmann <simon.hausmann@nokia.com>
2705 Unreviewed test fix after r108614: Adjust public API after changes.
2707 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2709 2012-02-23 Simon Hausmann <simon.hausmann@nokia.com>
2711 [Qt] Build fix. Qt WebKit2 can not be compiled due to QtWebPageEventHandler.
2712 https://bugs.webkit.org/show_bug.cgi?id=79335
2714 Reviewed by Kenneth Rohde Christiansen.
2716 In the upcoming Qt 5 builds the convenient setInputMethodHints method on QQuickItem
2717 will be removed. There's no need for us to use it, we can implement passing the hints
2718 to the input method right away in our re-implementation of inputMethodQuery, which works
2719 with old and newer Qt 5 builds.
2721 * UIProcess/API/qt/qquickwebview.cpp:
2722 (QQuickWebView::inputMethodQuery):
2723 * UIProcess/qt/QtWebPageEventHandler.cpp:
2724 (QtWebPageEventHandler::updateTextInputState):
2726 2012-02-23 Sergio Villar Senin <svillar@igalia.com>
2728 [WK2][GTK] WebProcess SIGSEVs due to incorrect clipboard handling
2729 https://bugs.webkit.org/show_bug.cgi?id=79252
2731 Reviewed by Martin Robinson.
2733 Do not execute clipboard callbacks after the Frame associated with
2736 This change is already covered by the TestWebViewEditor unit tests
2737 (among others), they hang (because WebProcess dies) without this
2738 patch in Debug builds.
2740 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
2741 (EditorClientFrameDestructionObserver):
2742 (WebKit::EditorClientFrameDestructionObserver::EditorClientFrameDestructionObserver):
2743 (WebKit::EditorClientFrameDestructionObserver::frameDestroyed):
2744 (WebKit::EditorClientFrameDestructionObserver::destroyOnClosureFinalization):
2746 (WebKit::WebEditorClient::setSelectionPrimaryClipboardIfNeeded):
2748 2012-02-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
2750 [Qt] Page doesn't get repainted while panning is in progress
2751 https://bugs.webkit.org/show_bug.cgi?id=78602
2753 Reviewed by Simon Hausmann.
2755 The tiling code needed the current visibleContentsRect in order to be
2756 able to create tiles, so we now make sure it gets it. We also needed
2757 to make sure to set the trajectory vector while panning and while the
2758 flicking engine was animating kinetic scrolling.
2760 * UIProcess/API/qt/qquickwebview.cpp:
2761 (QQuickWebViewFlickablePrivate::_q_updateVisibleContentRectAndScale):
2762 (QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged):
2763 * UIProcess/DrawingAreaProxy.h:
2764 (WebKit::DrawingAreaProxy::setVisibleContentRectTrajectoryVector):
2765 * UIProcess/DrawingAreaProxyImpl.cpp:
2766 (WebKit::DrawingAreaProxyImpl::setVisibleContentRectTrajectoryVector):
2767 * UIProcess/DrawingAreaProxyImpl.h:
2768 (DrawingAreaProxyImpl):
2769 * UIProcess/LayerTreeHostProxy.h:
2770 (LayerTreeHostProxy):
2771 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2772 (WebKit::LayerTreeHostProxy::setVisibleContentRectTrajectoryVector):
2773 * UIProcess/qt/QtViewportInteractionEngine.cpp:
2774 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
2775 (WebKit::QtViewportInteractionEngine::flickableMovingStateChanged):
2777 (WebKit::QtViewportInteractionEngine::panMoveStarted):
2778 (WebKit::QtViewportInteractionEngine::panMoveEnded):
2779 (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
2780 (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
2781 * UIProcess/qt/QtViewportInteractionEngine.h:
2782 (QtViewportInteractionEngine):
2783 * WebProcess/WebPage/LayerTreeHost.h:
2784 (WebKit::LayerTreeHost::setVisibleContentRectTrajectoryVector):
2785 * WebProcess/WebPage/LayerTreeHost.messages.in:
2786 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2787 (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
2788 (WebKit::LayerTreeHostQt::setVisibleContentRectTrajectoryVector):
2789 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
2792 2012-02-23 Patrick Gansterer <paroga@webkit.org>
2794 [CMAKE][WK2] Cleanup WebKit2/CMakeLists.txt.
2795 https://bugs.webkit.org/show_bug.cgi?id=76122
2797 Reviewed by Eric Seidel.
2799 * CMakeLists.txt: Removed hardcoded WTF_USE_JSC preprocessor definition.
2801 2012-02-23 Simon Hausmann <simon.hausmann@nokia.com>
2803 [WK2] Trivial build fix after r108615.
2805 * WebProcess/WebPage/WebPage.cpp:
2806 (WebKit::WebPage::WebPage):
2808 2012-02-22 Michael Tyutyunik <michael.tyutyunik@nokia.com>
2810 [Qt][WK2] navigationType is missing in new API
2811 https://bugs.webkit.org/show_bug.cgi?id=78867
2813 Reviewed by Simon Hausmann.
2815 In QtWebPagePolicyClient::decidePolicyForNavigationAction()
2816 navigationType argument is dropped by mistake. Adding it back
2817 and make it available through NavigationRequest.
2819 * UIProcess/API/qt/qquickwebview_p.h:
2820 * UIProcess/API/qt/qwebnavigationrequest.cpp:
2821 (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
2822 (QWebNavigationRequestPrivate):
2823 (QWebNavigationRequest::QWebNavigationRequest):
2824 (QWebNavigationRequest::navigationType):
2825 * UIProcess/API/qt/qwebnavigationrequest_p.h:
2826 * UIProcess/qt/QtWebPagePolicyClient.cpp:
2827 (QtWebPagePolicyClient::decidePolicyForNavigationAction):
2828 (toQuickWebViewNavigationType):
2829 * UIProcess/qt/QtWebPagePolicyClient.h:
2830 (QtWebPagePolicyClient):
2832 2012-02-22 Anders Carlsson <andersca@apple.com>
2834 Implement TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange
2835 https://bugs.webkit.org/show_bug.cgi?id=79297
2836 <rdar://problem/10748510>
2838 Reviewed by Beth Dakin.
2840 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
2841 (WebKit::TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange):
2842 Send a message to the web process.
2844 * WebProcess/WebPage/DrawingArea.h:
2845 (WebKit::DrawingArea::setDeviceScaleFactor):
2848 * WebProcess/WebPage/DrawingArea.messages.in:
2849 Add SetDeviceScaleFactor message.
2851 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2852 (WebKit::TiledCoreAnimationDrawingArea::setDeviceScaleFactor):
2853 Call WebPage::setDeviceScaleFactor.
2855 2012-02-22 Brady Eidson <beidson@apple.com>
2857 <rdar://problem/10406044> and https://bugs.webkit.org/show_bug.cgi?id=79279
2858 Synchronous ShouldGoToBackForwardListItem causes lots of WebProcess hangs
2860 Reviewed by Anders Carlsson.
2862 Anytime the WebProcess sends a sync message up to the UI Process a hang can ensue.
2864 In the case of shouldGoToBackForwardListItem it seems many clients want a back/forward
2865 notification but don't actually want to make a policy decision.
2867 Making it an asynchronous notification instead of a synchronous policy call will remove the
2868 possibility of a hang here.
2870 If clients later decide it is important to have a policy here we should implement a form of
2871 shouldGoToBackForwardListItem in the bundle loader client.
2873 Add a notification "willGoToBackForwardListItem" to the WKPageLoaderClient:
2874 * UIProcess/API/C/WKPage.h:
2876 * UIProcess/WebPageProxy.cpp:
2877 (WebKit::WebPageProxy::initializeLoaderClient): Tell the WebProcess whether it should be
2878 sending the shouldGoToBackForwardListItem or willGoToBackForwardListItem form of this message.
2879 (WebKit::WebPageProxy::shouldGoToBackForwardListItem):
2880 (WebKit::WebPageProxy::willGoToBackForwardListItem):
2881 * UIProcess/WebPageProxy.h:
2882 * UIProcess/WebPageProxy.messages.in: Add an asynchronous WillGoToBackForwardListItem message
2884 Store a flag in the WebProcess - Sent from the UIProcess - to tell the FrameLoaderClient which form
2885 of the callback should be used:
2886 * WebProcess/WebPage/WebPage.cpp:
2887 (WebKit::WebPage::WebPage):
2888 * WebProcess/WebPage/WebPage.h:
2889 (WebKit::WebPage::willGoToBackForwardItemCallbackEnabled):
2890 (WebKit::WebPage::setWillGoToBackForwardItemCallbackEnabled):
2891 * WebProcess/WebPage/WebPage.messages.in:
2893 * UIProcess/WebLoaderClient.cpp:
2894 (WebKit::WebLoaderClient::shouldGoToBackForwardListItem): Only consider calling this for
2896 (WebKit::WebLoaderClient::willGoToBackForwardListItem): Later clients get this callback.
2897 * UIProcess/WebLoaderClient.h:
2900 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2901 (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem): Send either the synchronous "should" message
2902 or the asynchronous "will" message depending on which the WebProcess was last told that the
2903 UIProcess expects. There is an edge case where the wrong one might be sent because the WebProcess
2904 hasn't received the message about a change in the WKPageLoaderClient yet but that's probably okay;
2905 It seems unlikely that a UIProcess client would ever rapidly change between v0 and other versions
2906 of the loader client and the UIProcess of WebKit2 is equipped to handle that case if it comes up.
2908 2012-02-16 Jon Lee <jonlee@apple.com>
2910 [WK2] Clearing notifications does not clean up internal state
2911 https://bugs.webkit.org/show_bug.cgi?id=78861
2912 <rdar://problem/10881167>
2914 Reviewed by Anders Carlsson.
2916 * WebProcess/Notifications/WebNotificationManager.cpp:
2917 (WebKit::WebNotificationManager::clearNotifications): This function was missing removing the notification
2918 entries from the other maps.
2919 (WebKit::WebNotificationManager::didDestroyNotification): When the notification is destroyed, it should
2920 also be removed from the context map.
2921 (WebKit::WebNotificationManager::didCloseNotifications): Refactor to pull out the code that removes
2922 a provided notification from the context map.
2923 (WebKit::WebNotificationManager::removeNotificationFromContextMap): Find the notification in the map, and
2924 remove it. If the map is empty, get rid of the entry.
2925 * WebProcess/Notifications/WebNotificationManager.h:
2926 (WebNotificationManager):
2928 2012-02-22 Jon Lee <jonlee@apple.com>
2930 Code cleanup in WebNotificationManager (79285)
2931 https://bugs.webkit.org/show_bug.cgi?id=79285
2932 <rdar://problem/10914522>
2934 Reviewed by Anders Carlsson.
2936 * WebProcess/Notifications/WebNotificationManager.cpp:
2937 (WebKit::WebNotificationManager::show): Simplify adding a blank vector to the map using .add(),
2938 similar to what is found in WebNotificationClient.mm in WebKit 1.
2940 2012-02-21 Ryosuke Niwa <rniwa@webkit.org>
2942 Remove the remaining uses of CSSStyleDeclaration in Editor
2943 https://bugs.webkit.org/show_bug.cgi?id=78939
2945 Reviewed by Enrica Casucci.
2947 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2948 (WebKit::WebEditorClient::shouldApplyStyle):
2949 * WebProcess/WebCoreSupport/WebEditorClient.h:
2952 2012-02-22 Martin Robinson <mrobinson@igalia.com>
2954 [GTK] Clean build is broken when using make -j
2955 https://bugs.webkit.org/show_bug.cgi?id=76388
2957 * GNUmakefile.am: Add some WebKit2 sources to global sources lists
2958 so that we can refer to them in separate GNUmakefiles.
2960 2012-02-22 Antaryami Pandia <antaryami.pandia@motorola.com>
2962 [GTK][WK2] Add WebGL WebSetting.
2963 https://bugs.webkit.org/show_bug.cgi?id=79217
2965 Reviewed by Martin Robinson.
2967 Add a WebSetting to enable/disable Webgl.
2969 * UIProcess/API/gtk/WebKitSettings.cpp:
2970 (webKitSettingsSetProperty):
2971 (webKitSettingsGetProperty):
2972 (webkit_settings_class_init):
2973 (webkit_settings_set_enable_webaudio):
2974 (webkit_settings_get_enable_webgl):
2975 (webkit_settings_set_enable_webgl):
2976 * UIProcess/API/gtk/WebKitSettings.h:
2977 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
2978 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
2979 (testWebKitSettings):
2981 2012-02-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
2983 [Qt] Disregard previous backing store as soon as possible
2984 https://bugs.webkit.org/show_bug.cgi?id=79232
2986 Reviewed by Simon Hausmann and No'am Rosenthal.
2988 Between creating the new backing store and painting the content,
2989 we do not want to drop the previous one as that might result in
2990 briefly seeing flickering as the old tiles may be dropped before
2991 something replaces them.
2993 But we do need to drop it at some point and we need to make sure
2994 to not spike the memory usage before of this.
2996 What we now do, is to store the previous backing store as before,
2997 but drop all tiles which are not visible and then drop it as soon
2998 as the visible rect (which might change due if followed by a quick
2999 panning) has been fully covered by tiles.
3001 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
3002 (WebCore::WebGraphicsLayer::setContentsScale):
3003 (WebCore::WebGraphicsLayer::updateContentBuffers):
3005 2012-02-22 Michael BrĂĽning <michael.bruning@nokia.com>
3007 [Qt][WK2] Implement proxy authentication handling.
3008 https://bugs.webkit.org/show_bug.cgi?id=78792
3010 Reviewed by Simon Hausmann.
3012 This patch corrects two bugs with the previous implementation:
3013 1. The signal proxyAuthenticationRequired was not connected to a
3015 2. The slot onProxyAuthenticationRequired had the wrong parameters.
3017 * WebProcess/qt/QtNetworkAccessManager.cpp:
3018 (WebKit::QtNetworkAccessManager::QtNetworkAccessManager):
3019 (WebKit::QtNetworkAccessManager::onProxyAuthenticationRequired):
3020 * WebProcess/qt/QtNetworkAccessManager.h: Added include.
3021 (QtNetworkAccessManager):
3023 2012-02-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
3025 Merge setVisibleRectTrajectoryVector and adjustVisibleRect to
3026 the more descriptive coverWithTilesIfNeeded
3027 https://bugs.webkit.org/show_bug.cgi?id=79230
3029 Reviewed by Simon Hausmann.
3031 Replace use by coverWithTilesIfNeeded().
3033 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
3034 (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
3035 (WebCore::WebGraphicsLayer::adjustVisibleRect):
3036 (WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
3038 2012-02-22 Zalan Bujtas <zbujtas@gmail.com>
3040 [Qt][WK2] Add frame flattening setting to QWebPreferences.
3041 https://bugs.webkit.org/show_bug.cgi?id=79099
3043 Reviewed by Simon Hausmann.
3045 Frame flattening is enabled by default for Qt WebKit2.
3047 * UIProcess/API/qt/qquickwebview.cpp:
3048 (QQuickWebViewPrivate::initialize):
3049 * UIProcess/API/qt/qwebpreferences.cpp:
3050 (QWebPreferencesPrivate::testAttribute):
3051 (QWebPreferencesPrivate::setAttribute):
3052 (QWebPreferences::setNavigatorQtObjectEnabled):
3053 (QWebPreferences::frameFlatteningEnabled):
3054 (QWebPreferences::setFrameFlatteningEnabled):
3055 * UIProcess/API/qt/qwebpreferences_p.h:
3057 2012-02-22 Ryosuke Niwa <rniwa@webkit.org>
3059 Remove the remaining uses of CSSStyleDeclaration in Editor
3060 https://bugs.webkit.org/show_bug.cgi?id=78939
3062 Reviewed by Enrica Casucci.
3064 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
3065 (WebKit::WebEditorClient::shouldApplyStyle):
3066 * WebProcess/WebCoreSupport/WebEditorClient.h:
3069 2012-02-21 Carlos Garcia Campos <cgarcia@igalia.com>
3071 [GTK] Null ResourceErrors are encoded/decoded as empty ResourceErrors
3072 https://bugs.webkit.org/show_bug.cgi?id=79120
3074 Reviewed by Martin Robinson.
3076 * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
3077 (CoreIPC::::encode): Encode a boolean to indicate whether it's a
3079 (CoreIPC::::decode): Check whether the error is Null and do not
3080 continue decoding in such case.
3082 2012-02-21 No'am Rosenthal <noam.rosenthal@nokia.com>
3084 [Qt][WK2] Draw tiles of previous contents-scale for opaque layers if they don't intersect with previous tiles
3085 https://bugs.webkit.org/show_bug.cgi?id=78962
3087 Only avoid painting old-scale tiles in semi-transparent situtations if the old
3088 tiles intersect with existing tiles.
3090 Reviewed by Kenneth Rohde Christiansen.
3092 * UIProcess/qt/LayerBackingStore.cpp:
3093 (WebKit::LayerBackingStore::paintToTextureMapper):
3095 2012-02-21 No'am Rosenthal <noam.rosenthal@nokia.com>
3097 [Qt] Previous web page appears outside content rect
3098 https://bugs.webkit.org/show_bug.cgi?id=78816
3100 Apply a clip on painted tiles if some of the tiles fall outside of the target rect.
3102 Reviewed by Kenneth Rohde Christiansen.
3104 * UIProcess/qt/LayerBackingStore.cpp:
3105 (WebKit::LayerBackingStore::paintToTextureMapper):
3107 2012-02-21 No'am Rosenthal <noam.rosenthal@nokia.com>
3109 [Qt][WK2] Accelerated animations don't work on Mac
3110 https://bugs.webkit.org/show_bug.cgi?id=78963
3112 Problem came from using a non-RunLoop timer.
3113 Remove the unused viewportUpdateTimer, and use the existing animationTimer instead.
3114 Use a continuous timer that we only stop when animations stop.
3116 Reviewed by Kenneth Rohde Christiansen.
3118 * UIProcess/LayerTreeHostProxy.h:
3119 (LayerTreeHostProxy):
3120 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
3121 (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
3122 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
3124 (WebKit::LayerTreeHostProxy::syncAnimations):
3126 2012-02-21 Sam Weinig <sam@webkit.org>
3128 Attempt to fix the Snow Leopard build.
3130 * Configurations/Base.xcconfig:
3132 2012-02-21 Sam Weinig <sam@webkit.org>
3134 Use libc++ when building with Clang on Mac
3135 https://bugs.webkit.org/show_bug.cgi?id=78981
3137 Reviewed by Dan Bernstein.
3139 * Configurations/Base.xcconfig:
3141 2012-02-21 Andras Becsi <andras.becsi@nokia.com>
3143 [Qt][WK2] Get rid of the dependency to QtWidgets
3144 https://bugs.webkit.org/show_bug.cgi?id=76276
3146 Reviewed by Simon Hausmann.
3149 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
3151 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
3152 * UIProcess/API/qt/tests/tests.pri:
3153 * UIProcess/API/qt/tests/util.h:
3155 2012-02-20 Martin Robinson <mrobinson@igalia.com>
3157 [UNIX] Plugin information fields are not interpreted as UTF-8
3158 https://bugs.webkit.org/show_bug.cgi?id=78635
3160 Reviewed by Gustavo Noronha Silva.
3162 Interpret plugin metadata as UTF8 aways. This matches the behavior
3163 of Chromium and the Totem plugin.
3165 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
3166 (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin): Use String::fromUTF8.
3168 2012-02-20 Carlos Garcia Campos <cgarcia@igalia.com>
3170 [GTK] Adding SOUP_TYPE_PROXY_RESOLVER_DEFAULT feature to soup session makes WebProcess to hang
3171 https://bugs.webkit.org/show_bug.cgi?id=79036
3173 Reviewed by Martin Robinson.
3175 This looks like a bug in gobject. Initializing the WebProcess
3176 before creating the soup session seems to fix the problem. It's
3177 actually a workaround, but initializing the WebProcess as sson as
3178 possible it's a good idea in any case.
3180 * WebProcess/gtk/WebProcessMainGtk.cpp:
3181 (WebKit::WebProcessMainGtk):
3183 2012-02-20 Michael BrĂĽning <michael.bruning@nokia.com>
3185 [Qt][WK2] Implement proxy authentication handling.
3186 https://bugs.webkit.org/show_bug.cgi?id=78792
3188 Reviewed by Simon Hausmann.
3190 This patch implements the proxy authentication handling
3191 for the Qt port in a similar matter to the http authentication
3194 Since there is a need to pass the proxy port, which is of type uint16_t,
3195 from the WebProcess to the UIProcess, an encoder and a decoder for
3196 this type was added because it did not exist.
3198 The message that was added to the WebPageProxy is called synchronously
3199 as this is needed by the implementation of the network access manager
3200 and has also been implemented this way already for the http
3203 * Platform/CoreIPC/ArgumentDecoder.cpp:
3204 (CoreIPC::ArgumentDecoder::decodeUInt16):
3206 * Platform/CoreIPC/ArgumentDecoder.h:
3208 (CoreIPC::ArgumentDecoder::decode):
3210 * Platform/CoreIPC/ArgumentEncoder.cpp:
3211 (CoreIPC::ArgumentEncoder::encodeUInt16):
3213 * Platform/CoreIPC/ArgumentEncoder.h:
3215 (CoreIPC::ArgumentEncoder::encode):
3217 * UIProcess/API/qt/qquickwebview.cpp:
3218 (QQuickWebViewPrivate::QQuickWebViewPrivate):
3219 (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest):
3220 (QQuickWebViewExperimental::proxyAuthenticationDialog):
3221 (QQuickWebViewExperimental::setProxyAuthenticationDialog):
3222 * UIProcess/API/qt/qquickwebview_p.h:
3223 * UIProcess/API/qt/qquickwebview_p_p.h:
3224 (QQuickWebViewPrivate):
3225 * UIProcess/PageClient.h:
3227 * UIProcess/WebPageProxy.cpp:
3228 (WebKit::WebPageProxy::proxyAuthenticationRequiredRequest):
3230 * UIProcess/WebPageProxy.h:
3232 * UIProcess/WebPageProxy.messages.in:
3233 * UIProcess/qt/QtDialogRunner.cpp:
3234 (ProxyAuthenticationDialogContextObject):
3235 (ProxyAuthenticationDialogContextObject::ProxyAuthenticationDialogContextObject):
3236 (ProxyAuthenticationDialogContextObject::hostname):
3237 (ProxyAuthenticationDialogContextObject::port):
3238 (ProxyAuthenticationDialogContextObject::prefilledUsername):
3239 (ProxyAuthenticationDialogContextObject::accept):
3240 (ProxyAuthenticationDialogContextObject::reject):
3241 (QtDialogRunner::initForProxyAuthentication):
3242 * UIProcess/qt/QtDialogRunner.h:
3244 * UIProcess/qt/QtPageClient.cpp:
3245 (QtPageClient::handleProxyAuthenticationRequiredRequest):
3246 * UIProcess/qt/QtPageClient.h:
3248 * WebProcess/WebPage/DecoderAdapter.cpp:
3249 (WebKit::DecoderAdapter::decodeUInt16):
3251 * WebProcess/WebPage/DecoderAdapter.h:
3253 * WebProcess/WebPage/EncoderAdapter.cpp:
3254 (WebKit::EncoderAdapter::encodeUInt16):
3256 * WebProcess/WebPage/EncoderAdapter.h:
3258 * WebProcess/qt/QtNetworkAccessManager.cpp:
3259 (WebKit::QtNetworkAccessManager::onProxyAuthenticationRequired):
3261 * WebProcess/qt/QtNetworkAccessManager.h:
3262 (QtNetworkAccessManager):
3264 2012-02-20 Patrick Gansterer <paroga@webkit.org>
3266 [CMake] Update and sort list of source files.
3270 2012-02-20 Martin Robinson <mrobinson@igalia.com>
3272 Fix WebKit2GTK+ for 'make distcheck'.
3274 Instead of conditionally including WebKit2 GNUmakefiles, always
3275 include them and conditionally activate the final targets.
3278 * UIProcess/API/gtk/tests/GNUmakefile.am:
3280 2012-02-20 Martin Robinson <mrobinson@igalia.com>
3282 [GTK][WK2] WebKit2 does not build if gtk-unix-printing-3.0 is not available
3283 https://bugs.webkit.org/show_bug.cgi?id=79011
3285 Fix the build when gtk-unix-printing-3.0 is not present.
3287 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3288 (webkitPrintOperationRunDialog):
3289 (webkitPrintOperationRunDialogForFrame):
3290 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
3291 (WebKit::WebPrintOperationGtk::create):
3293 2012-02-18 Dan Bernstein <mitz@apple.com>
3295 <rdar://problem/10891801> BackingStore::scroll() unnecessarily copies pixels around
3296 https://bugs.webkit.org/show_bug.cgi?id=78976
3298 Reviewed by Anders Carlsson.
3300 Rather than move pixels in the backing store in response to scrolling, we can maintain a
3301 mapping, for the most recently scrolled rect, from backing store coordinates to view
3304 * UIProcess/BackingStore.h:
3305 * UIProcess/mac/BackingStoreMac.mm:
3306 (WebKit::BackingStore::performWithScrolledRectTransform): Added. Given a block to be
3307 performed on a rect, divides the rect into parts such that for each part the mapping from
3308 backing store coordinates to client coordinates is a (uniform) translation, and performs
3309 the block on that part, passing it the translation that applies to the part.
3310 (WebKit::BackingStore::resetScrolledRect): Added. Copies everything in the scrolled rect
3311 back to where it should be under the identity map, and resets the scrolled rect and offset.
3312 (WebKit::BackingStore::paint): Changed to call through performWithScrolledRectTransform().
3313 (WebKit::BackingStore::incorporateUpdate): Ditto.
3314 (WebKit::BackingStore::scroll): Now instead of copying pixels, just updates the scrolled
3317 2012-02-17 No'am Rosenthal <noam.rosenthal@nokia.com>
3319 [Qt][WK2] Allow opaque tiles
3320 https://bugs.webkit.org/show_bug.cgi?id=78809
3322 Apply the SupportsAlpha flag only when the buffers actually have alpha.
3324 Reviewed by Kenneth Rohde Christiansen.
3326 * Shared/ShareableBitmap.h:
3328 * Shared/qt/ShareableBitmapQt.cpp:
3329 * UIProcess/qt/LayerBackingStore.cpp:
3330 (WebKit::LayerBackingStoreTile::swapBuffers):
3332 2012-02-17 Adam Roben <aroben@apple.com>
3334 Clang build fix after r108119
3336 * WebProcess/WebProcess.cpp:
3337 (WebKit::randomCrashThread): Annotate this function with NO_RETURN_DUE_TO_CRASH.
3339 2012-02-17 Kalev Lember <kalevlember@gmail.com>
3341 Remove unused parameters from WTF threading API
3342 https://bugs.webkit.org/show_bug.cgi?id=78389
3344 Reviewed by Adam Roben.
3346 waitForThreadCompletion() had an out param 'void **result' to get the
3347 'void *' returned by ThreadFunction. However, the implementation in
3348 ThreadingWin.cpp ignored the out param, not filling it in. This had
3349 led to a situation where none of the client code made use of the param
3350 and just ignored it.
3352 To clean this up, the patch changes the signature of ThreadFunction to
3353 return void instead of void* and drops the the unused 'void **result'
3354 parameter from waitForThreadCompletion. Also, all client code is
3355 updated for the API change.
3357 As mentioned in https://bugs.webkit.org/show_bug.cgi?id=78389 , even
3358 though the change only affects internal API, Safari is using it
3359 directly and we'll need to keep the old versions around for ABI
3360 compatibility. For this, the patch adds compatibility wrappers with
3363 * Platform/WorkQueue.h:
3365 * Platform/gtk/WorkQueueGtk.cpp:
3366 (WorkQueue::startWorkQueueThread):
3367 * UIProcess/Launcher/mac/ThreadLauncherMac.mm:
3368 (WebKit::webThreadBody):
3369 * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
3370 (WebKit::webThreadBody):
3371 * UIProcess/Launcher/win/ThreadLauncherWin.cpp:
3372 (WebKit::webThreadBody):
3373 * WebProcess/WebProcess.cpp:
3374 (WebKit::randomCrashThread):
3376 * win/WebKit2CFLite.def:
3378 2012-02-17 Mihnea Ovidenie <mihnea@adobe.com>
3380 CSS regions enabled by default
3381 https://bugs.webkit.org/show_bug.cgi?id=78525
3383 Reviewed by David Hyatt.
3385 Add a runtime preference to enable/disable regions functionality at runtime(WebKitCSSRegionsEnabled).
3386 CSSRegions are still enabled by default.
3387 In DRT, use layoutTestController.overridePreference("WebKitCSSRegionsEnabled", "0") to disable the css regions functionality.
3389 * Shared/WebPreferencesStore.h:
3391 * UIProcess/API/C/WKPreferences.cpp:
3392 (WKPreferencesSetCSSRegionsEnabled):
3393 (WKPreferencesGetCSSRegionsEnabled):
3394 * UIProcess/API/C/WKPreferencesPrivate.h:
3395 * WebProcess/InjectedBundle/InjectedBundle.cpp:
3396 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
3397 * WebProcess/WebPage/WebPage.cpp:
3398 (WebKit::WebPage::updatePreferences):
3400 2012-02-17 Enrica Casucci <enrica@apple.com>
3402 Refactor DragData class to use PlatformStrategies in the Mac implementation.
3403 https://bugs.webkit.org/show_bug.cgi?id=78768
3405 Reviewed by Darin Adler.
3407 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added color() method.
3408 (WebKit::WebPlatformStrategies::color):
3409 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
3411 2012-02-17 Martin Robinson <mrobinson@igalia.com>
3413 Fix some warnings encountered during the GTK+ build
3414 https://bugs.webkit.org/show_bug.cgi?id=78911
3416 Reviewed by Xan Lopez.
3418 * UIProcess/API/gtk/WebKitLoaderClient.cpp:
3419 (attachLoaderClientToView): Initialize a new member of the loader client struct.
3421 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
3423 [GTK] Allow printing scaled pages in WebKit2 for printers that don't support it
3424 https://bugs.webkit.org/show_bug.cgi?id=78823
3426 Reviewed by Gustavo Noronha Silva.
3428 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3429 (webkitPrintOperationRunDialogUnix): Enable scale option in print
3431 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
3432 (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
3434 (WebKit::WebPrintOperationGtk::rotatePageIfNeeded): Renamed and
3435 moved the needs rotate check here as an early return.
3436 (WebKit::WebPrintOperationGtk::prepareContextToDraw): Scale the
3437 page according to the manual scale factor.
3438 (WebKit::WebPrintOperationGtk::renderPage): Move rotatePage to
3439 prepareContextToDraw.
3440 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
3442 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
3444 [GTK] Allow printing multiple copies in WebKit2 for printers that don't support it
3445 https://bugs.webkit.org/show_bug.cgi?id=78805
3447 Reviewed by Gustavo Noronha Silva.
3449 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3450 (webkitPrintOperationRunDialogUnix): Enable multiple copies and
3451 collate options in print dialog.
3452 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
3453 (WebKit::PrintPagesData::PrintPagesData): Initialize number of
3454 collated and uncolated copies done and total.
3455 (WebKit::PrintPagesData::collatedCopiesLeft): Helper function that
3456 returns the number of collated copies left to do.
3457 (WebKit::PrintPagesData::uncollatedCopiesLeft): Helper function
3458 that returns the number of uncollated copies left to do.
3459 (WebKit::PrintPagesData::copiesLeft): Helper function
3460 that returns the number of collated or uncollated copies left to
3462 (WebKit::PrintPagesData::incrementPageSequence): Do not finish the
3463 print if there are uncollated copies left, and do not increment
3464 sheet number if there are collated copies left.
3465 (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
3466 m_manualCopies to 1 and m_manualCollateCopies to false.
3467 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
3469 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
3471 [GTK] Allow printing pages in reverse order in WebKit2 for printers that don't support it
3472 https://bugs.webkit.org/show_bug.cgi?id=78799
3474 Reviewed by Gustavo Noronha Silva.
3476 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3477 (webkitPrintOperationRunDialogUnix): Enable printing in reverse
3478 order option in print dialog.
3479 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
3480 (WebKit::PrintPagesData::PrintPagesData): Initialize sheetNumber
3481 and lastPagePosition depending on whether printing is in reverse
3483 (WebKit::PrintPagesData::incrementPageSequence): Use a negative
3484 increment step when printing in reverse order. Fix page
3485 incrementing when printing only odd/even pages broken in previous
3486 commit due to merge conflicts.
3487 (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
3488 reverse printing to false.
3489 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
3491 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
3493 [GTK] Allow printing only odd/even pages in WebKit2 for printers that don't support it
3494 https://bugs.webkit.org/show_bug.cgi?id=78793
3496 Reviewed by Gustavo Noronha Silva.
3498 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3499 (webkitPrintOperationRunDialogUnix): Enable print odd/even pages
3500 option in print dialog.
3501 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
3502 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
3503 (WebKit::PrintPagesData::PrintPagesData): Add lastPagePosition and
3504 initialize it depending on the page set.
3505 (WebKit::PrintPagesData::incrementPageSequence): Use 2 step
3506 increment when printing only odd/even pages.
3507 (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
3508 m_manualPageSet to GTK_PAGE_SET_ALL.
3510 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
3512 [GTK] Allow printing multiple pages per sheet in WebKit2 for printers that don't support it
3513 https://bugs.webkit.org/show_bug.cgi?id=78715
3515 Reviewed by Gustavo Noronha Silva.
3517 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3518 (webkitPrintOperationRunDialogUnix): Enable multiple pages per
3519 sheet options in print dialog.
3520 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
3521 (WebKit::PrintPagesData::PrintPagesData): Initialize sheetNumber
3522 and numberOfSheets. Move pagePosition to WebPrintOperationGtk.
3523 (WebKit::PrintPagesData::incrementPageSequence): Increment current
3524 sheet and page position.
3525 (WebKit::WebPrintOperationGtk::WebPrintOperationGtk):
3526 (WebKit::WebPrintOperationGtk::currentPageIsFirstPageOfSheet):
3527 Helper function to check whether current pages is the first one of
3529 (WebKit::WebPrintOperationGtk::currentPageIsLastPageOfSheet):
3530 Helper function to check whether current pages is the last one of
3532 (WebKit::WebPrintOperationGtk::getRowsAndColumnsOfPagesPerSheet):
3533 Returns the number of rows and columns of pages per sheet.
3534 (WebKit::WebPrintOperationGtk::getPositionOfPageInSheet): Returns
3535 the row and column number of the current page in the current sheet.
3536 (WebKit::WebPrintOperationGtk::prepareContextToDraw): Translate,
3537 scale and rotate accordingly to render every page in the right
3539 (WebKit::WebPrintOperationGtk::renderPage): Call
3540 prepareContextToDraw() before drawing the page.
3541 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
3542 (WebKit::WebPrintOperationGtk::setNumberOfPagesToPrint):
3543 (WebKit::WebPrintOperationGtk::pagePosition):
3544 (WebKit::WebPrintOperationGtk::setPagePosition):
3545 (WebKit::WebPrintOperationGtk::numberUp):
3546 (WebKit::WebPrintOperationGtk::numberUpLayout):
3548 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
3550 [GTK] Rename WebKitPrintOperation::done signal to ::finished in WebKit2
3551 https://bugs.webkit.org/show_bug.cgi?id=78893
3553 Reviewed by Gustavo Noronha Silva.
3555 And it's not emitted anynmore when the print dialog has been
3556 cancelled. Since it's not possible to know whether the print
3557 dialog was cancelled or not, the enum WebKitPrintOperationResponse
3558 has been added, with Print and Cancel values, and it's used as
3559 return value of webkit_print_operation_run_dialog().
3561 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3562 (webkit_print_operation_class_init): Rename done as finished.
3563 (webkitPrintOperationRunDialogUnix): Return a
3564 WebKitPrintOperationResponse instead of bool.
3565 (webkitPrintOperationRunDialogWin32): Ditto.
3566 (drawPagesForPrintingCompleted): Emit finished instead of done.
3567 (webkitPrintOperationRunDialogForFrame): Do not emit finished if
3568 the dialog was cancelled and return a WebKitPrintOperationResponse.
3569 (webkit_print_operation_run_dialog): Return
3570 WebKitPrintOperationResponse.
3571 * UIProcess/API/gtk/WebKitPrintOperation.h: Add
3572 WebKitPrintOperationResponse enum.
3573 * UIProcess/API/gtk/WebKitPrintOperationPrivate.h:
3574 * UIProcess/API/gtk/WebKitWebView.cpp:
3575 (webkitWebViewPrintFrame): Check whether the dialog has been
3576 cancelled or not and connect to finish when the print operation is
3577 in progress to release the print operation object when printing
3579 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add
3580 WebKitPrintOperationResponse symbol.
3581 * UIProcess/API/gtk/tests/TestPrinting.cpp:
3582 (testPrintOperationPrintFinished): Use finished instead of done.
3583 (testPrintOperationPrint): Ditto.
3585 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
3587 [GTK] Add webkit_print_operation_print() to WebKit2 GTK+ API
3588 https://bugs.webkit.org/show_bug.cgi?id=76536
3590 Reviewed by Gustavo Noronha Silva.
3592 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3593 (webkitPrintOperationPrintPagesForFrame): Helper function to call
3594 WebPageProxy::drawPagesForPrinting using the given
3595 GtkPrintSettings and GtkPageSetup.
3596 (webkitPrintOperationRunDialogForFrame): Use
3597 webkitPrintOperationPrintPagesForFrame().
3598 (webkit_print_operation_print): Print directly using current
3599 GtkPrintSettings and GtkPageSetup without showing the print
3601 * UIProcess/API/gtk/WebKitPrintOperation.h:
3602 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
3603 * UIProcess/API/gtk/tests/GNUmakefile.am:
3604 * UIProcess/API/gtk/tests/TestPrinting.cpp:
3605 (testPrintOperationPrintLoadChanged):
3606 (testPrintOperationPrintDone):
3607 (testPrintOperationPrintPrinter):
3608 (testPrintOperationPrint):
3612 2012-02-17 No'am Rosenthal <noam.rosenthal@nokia.com>
3614 [Qt][WK2] Allow partial updates
3615 https://bugs.webkit.org/show_bug.cgi?id=78824
3617 Instead of using UpdateInfo to fill the entire tile's texture, we use it as a patch that
3618 contains only the dirty rectangle of the current paint. This requires a lot less memory
3619 for small updates, for example when typing a text in an input field.
3620 This shows a significant reduction in overhead when testing on Mac with Instruments.
3622 Reviewed by Simon Hausmann.
3624 * UIProcess/qt/LayerBackingStore.cpp:
3625 (WebKit::LayerBackingStoreTile::swapBuffers):
3626 (WebKit::LayerBackingStoreTile::setBackBuffer):
3628 (WebKit::LayerBackingStore::updateTile):
3629 * UIProcess/qt/LayerBackingStore.h:
3630 (LayerBackingStoreTile):
3631 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
3632 (WebKit::LayerTreeHostProxy::updateTileForLayer):
3633 * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
3634 (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
3636 2012-02-16 Carlos Garcia Campos <cgarcia@igalia.com>
3638 [GTK] Make sure print operation object is alive until printing finishes in WebKit2
3639 https://bugs.webkit.org/show_bug.cgi?id=78829
3641 Reviewed by Martin Robinson.
3643 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3644 (drawPagesForPrintingCompleted): Adopt the WebKitPrintOperation
3645 reference so that it's released when the callback finishes.
3646 (webkitPrintOperationRunDialogForFrame): Pass a reference of
3647 WebKitPrintOperation to the printing callback.
3649 2012-02-15 Geoffrey Garen <ggaren@apple.com>
3651 Made Weak<T> single-owner, adding PassWeak<T>
3652 https://bugs.webkit.org/show_bug.cgi?id=78740
3654 Reviewed by Sam Weinig.
3656 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
3657 (WebKit::NPRuntimeObjectMap::getOrCreateJSObject): Use raw pointer and
3658 PassWeak<T>, as required by our new hash map API.
3660 2012-02-16 Sergio Villar Senin <svillar@igalia.com>
3662 [soup] Move important SoupSession feature initialization to WebCore
3663 https://bugs.webkit.org/show_bug.cgi?id=68602
3665 Reviewed by Martin Robinson.
3667 Moved content sniffer and decoder initialization from the
3668 WebProcess to WebCore because network stuff will not work as
3669 expected without them.
3671 No new tests required as we're just moving stuff from the
3672 WebProcess to WebCore.
3674 * WebProcess/gtk/WebProcessMainGtk.cpp:
3675 (WebKit::WebProcessMainGtk):
3677 2012-02-16 Philippe Normand <pnormand@igalia.com>
3679 Unreviewed, rolling out r107941.
3680 http://trac.webkit.org/changeset/107941
3681 https://bugs.webkit.org/show_bug.cgi?id=68602
3683 Broke 23 http tests on GTK
3685 * WebProcess/gtk/WebProcessMainGtk.cpp:
3686 (WebKit::WebProcessMainGtk):
3688 2012-02-16 No'am Rosenthal <noam.rosenthal@nokia.com>
3690 [Texmap] Improve the way we deal with BGRA extension
3691 https://bugs.webkit.org/show_bug.cgi?id=78822
3693 Get rid of swizzling in the web process. Instead, we moved swizzling back to
3694 TextureMapperGL, as we're moving towards a setup where textures are uploaded
3697 Reviewed by Kenneth Rohde Christiansen.
3699 * UIProcess/qt/LayerBackingStore.cpp:
3700 (WebKit::LayerBackingStoreTile::swapBuffers):
3701 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
3702 (WebKit::LayerTreeHostProxy::createImage):
3703 * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
3704 (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
3705 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
3706 (WebKit::LayerTreeHostQt::adoptImageBackingStore):
3708 2012-02-16 Carlos Garcia Campos <cgarcia@igalia.com>
3710 Unreviewed. Fix WebKit2 GTK+ build after r107947.
3712 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3713 (webkitPrintOperationRunDialogForFrame):
3715 2012-02-16 Alexander Færøy <ahf@0x90.dk>
3717 [Qt] Fix linking in debug builds on Mac OS X
3718 https://bugs.webkit.org/show_bug.cgi?id=78811
3720 Reviewed by Kenneth Rohde Christiansen.
3722 * UIProcess/API/qt/tests/bytearraytestdata.h:
3724 2012-02-16 Carlos Garcia Campos <cgarcia@igalia.com>
3726 [GTK] Page content is incorrectly translated whenh rendering pages for printing in WebKit2
3727 https://bugs.webkit.org/show_bug.cgi?id=78712
3729 Reviewed by Martin Robinson.
3731 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
3732 (WebKit::WebPrintOperationGtk::enumeratePrintersFunction):
3733 Simplify the code to select the printer.
3734 (WebKit::WebPrintOperationGtk::renderPage): Call cairo_save()
3735 before rendering the page and cairo_restore() when page has been
3738 2012-02-16 Carlos Garcia Campos <cgarcia@igalia.com>
3740 [GTK] Add WebKitPrintOperation to WebKit2 GTK+ API
3741 https://bugs.webkit.org/show_bug.cgi?id=76448
3743 Reviewed by Martin Robinson.
3745 * GNUmakefile.am: Add new files to compilation.
3746 * UIProcess/API/gtk/WebKitDefines.h:
3747 * UIProcess/API/gtk/WebKitPrintOperation.cpp: Added.
3748 (webViewDestroyed): Delete the print operation when the view
3749 widget associated is destroyed.
3750 (webkitPrintOperationConstructed): Connect to destroy signal of
3751 associated web view.
3752 (webkitPrintOperationGetProperty):
3753 (webkitPrintOperationSetProperty):
3754 (webkit_print_operation_init):
3755 (webkit_print_operation_class_init):
3756 (webkitPrintOperationRunDialogUnix): Use GtkPrintUnixDialog to
3757 show the printing dialog in UNIX platforms.
3758 (webkitPrintOperationRunDialogWin32): Empty, not implemented yet.
3759 (drawPagesForPrintingCompleted): Callback called when printing
3760 operation has finished in the web process.
3761 (webkitPrintOperationRunDialogForFrame): Run the printing dialog
3762 and start printing the given frame.
3763 (webkit_print_operation_new): Create a new print operation for the
3765 (webkit_print_operation_get_print_settings):
3766 (webkit_print_operation_set_print_settings):
3767 (webkit_print_operation_get_page_setup):
3768 (webkit_print_operation_set_page_setup):
3769 (webkit_print_operation_run_dialog): Run the print dialog to print
3770 the web view main frame.
3771 * UIProcess/API/gtk/WebKitPrintOperation.h: Added.
3772 * UIProcess/API/gtk/WebKitPrintOperationPrivate.h: Added.
3773 * UIProcess/API/gtk/WebKitUIClient.cpp:
3774 (printFrame): Call webkitWebViewPrintFrame.
3775 (attachUIClientToView): Add implementation for
3776 printFrame callback.
3777 * UIProcess/API/gtk/WebKitWebView.cpp:
3778 (webkit_web_view_class_init): Add WebKitWebView::print-requested
3780 (webkitWebViewPrintFrame): Emit print-requested and show the print
3781 dialog to print the frame when not signal is not handled by user.
3782 * UIProcess/API/gtk/WebKitWebView.h:
3783 * UIProcess/API/gtk/WebKitWebViewPrivate.h:
3784 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
3785 WebKitPrintOperation.
3786 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
3787 * UIProcess/API/gtk/tests/GNUmakefile.am:
3788 * UIProcess/API/gtk/tests/TestPrinting.cpp: Added.
3789 (testPrintOperationPrintSettings):
3790 (webViewPrintRequestedCallback):
3791 (testWebViewPrintRequested):
3794 * UIProcess/API/gtk/webkit2.h: Include WebKitPrintOperation.h.
3796 2012-02-16 Simon Hausmann <simon.hausmann@nokia.com>
3798 [Gtk][Efl][Qt] Move OpenGLShims out of cairo/ subdirectory
3799 https://bugs.webkit.org/show_bug.cgi?id=78800
3801 Reviewed by Kenneth Rohde Christiansen.
3803 * UIProcess/qt/LayerTreeHostProxyQt.cpp: Adjust to changed OpenGLShims.h
3804 location - no more cairo prefix needed.
3806 2012-02-16 No'am Rosenthal <noam.rosenthal@nokia.com>
3808 [Qt][WK2] Allow opaque tiles
3809 https://bugs.webkit.org/show_bug.cgi?id=78809
3811 Set the supportsAlpha flag for TiledBackingStore when the layer has contentsOpaque enabled.
3812 Use the flag for ShareableBitmaps created by TiledBackingStore.
3814 For now this will not have impact on performance/memory, because we allocate the same type
3815 of buffers for opaque and transparent tiles.
3817 Reviewed by Kenneth Rohde Christiansen.
3819 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
3820 (WebCore::WebGraphicsLayer::setContentsOpaque):
3821 (WebCore::WebGraphicsLayer::setContentsScale):
3822 (WebCore::WebGraphicsLayer::createBackingStore):
3824 (WebCore::WebGraphicsLayer::updateContentBuffers):
3825 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
3827 * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
3828 (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
3830 2012-02-16 Sergio Villar Senin <svillar@igalia.com>
3832 [soup] Move important SoupSession feature initialization to WebCore
3833 https://bugs.webkit.org/show_bug.cgi?id=68602
3835 Reviewed by Martin Robinson.
3837 Moved content sniffer and decoder initialization from the
3838 WebProcess to WebCore because network stuff will not work as
3839 expected without them.
3841 No new tests required as we're just moving stuff from the
3842 WebProcess to WebCore.
3844 * WebProcess/gtk/WebProcessMainGtk.cpp:
3845 (WebKit::WebProcessMainGtk):
3847 2012-02-16 Adenilson Cavalcanti <cavalcantii@gmail.com>
3849 [Qt][WK2] Split QWebPermissionRequest into QWebSecurityOrigin
3850 https://bugs.webkit.org/show_bug.cgi?id=73215
3852 Reviewed by Kenneth Rohde Christiansen.
3854 Introducing a new class to expose security origin information
3855 (port/scheme/etc), useful for inspecting the origin of permission
3859 * UIProcess/API/qt/qtwebsecurityorigin.cpp: Added.
3860 (QtWebSecurityOrigin::QtWebSecurityOrigin):
3861 (QtWebSecurityOrigin::~QtWebSecurityOrigin):
3862 (QtWebSecurityOrigin::host):
3863 (QtWebSecurityOrigin::scheme):
3864 (QtWebSecurityOrigin::path):
3865 (QtWebSecurityOrigin::port):
3866 (QtWebSecurityOrigin::setHost):
3867 (QtWebSecurityOrigin::setScheme):
3868 (QtWebSecurityOrigin::setPath):
3869 (QtWebSecurityOrigin::setPort):
3870 * UIProcess/API/qt/qtwebsecurityorigin_p.h: Added.
3871 * UIProcess/API/qt/tests/qmltests/WebView/tst_origin.qml: Added.
3872 * UIProcess/API/qt/qwebpermissionrequest.cpp:
3873 (QWebPermissionRequestPrivate::QWebPermissionRequestPrivate):
3874 (QWebPermissionRequest::securityOrigin):
3875 * UIProcess/API/qt/qwebpermissionrequest_p.h:
3876 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
3878 2012-02-16 Patrick Gansterer <paroga@webkit.org>
3880 [CMake] Add missing include directories.
3884 2012-02-16 Carlos Garcia Campos <cgarcia@igalia.com>
3886 [GTK] Document that local paths in html loaded with loadHTML might cause the web process to terminate
3887 https://bugs.webkit.org/show_bug.cgi?id=78719
3889 Reviewed by Martin Robinson.
3891 * UIProcess/API/gtk/WebKitWebView.cpp:
3893 2012-02-15 Anders Carlsson <andersca@apple.com>
3895 Add TiledCoreAnimationDrawingArea::forceRepaint
3896 https://bugs.webkit.org/show_bug.cgi?id=78749
3897 <rdar://problem/10866221>
3899 Reviewed by Sam Weinig.
3901 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
3902 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3903 (WebKit::TiledCoreAnimationDrawingArea::forceRepaint):
3904 Force a repaint and synchronize the layer tree to the UI process.
3906 2012-02-15 Enrica Casucci <enrica@apple.com>
3908 Refactor ClipboardMac class to use PlatformStrategies.
3909 https://bugs.webkit.org/show_bug.cgi?id=78554
3911 Reviewed by Anders Carlsson.
3913 * WebProcess/WebCoreSupport/WebDragClient.h: Changed method signature to reference
3914 the pasteboard by name.
3915 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added new methods.
3916 (WebKit::WebPlatformStrategies::changeCount):
3917 (WebKit::WebPlatformStrategies::uniqueName):
3918 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Ditto.
3919 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
3920 (WebKit::WebDragClient::declareAndWriteDragImage): Changed method signature to reference
3921 the pasteboard by name.
3923 2012-02-15 Sadrul Habib Chowdhury <sadrul@chromium.org>
3925 Notify ChromeClient when touch-event handlers are installed/removed.
3926 https://bugs.webkit.org/show_bug.cgi?id=77440
3928 Reviewed by Darin Fisher and Ryosuke Niwa.
3930 * UIProcess/WebPageProxy.h:
3931 (WebKit::WebPageProxy::numTouchEventHandlersChanged):
3932 * WebProcess/WebCoreSupport/WebChromeClient.h:
3934 2012-02-15 Patrick Gansterer <paroga@webkit.org>
3936 [CMake] Move RunLoop to WebCore/platform
3937 https://bugs.webkit.org/show_bug.cgi?id=78504
3939 Reviewed by Adam Roben.
3941 * CMakeLists.txt: Remove RunLoop.cpp from list of souces.
3943 2012-02-14 Simon Hausmann <simon.hausmann@nokia.com>
3945 [Qt] Eliminate first set of QtWidgets dependencies from WebCore
3946 https://bugs.webkit.org/show_bug.cgi?id=78611
3948 Reviewed by Kenneth Rohde Christiansen.
3950 * UIProcess/qt/QtWebPageEventHandler.cpp: Add missing QCursor include
3953 2012-02-15 Roland Steiner <rolandsteiner@chromium.org>
3955 <style scoped>: Allow <style scoped> as a direct child of a ShadowRoot
3956 https://bugs.webkit.org/show_bug.cgi?id=77853
3958 numberOfScopedHTMLStyleChildren got moved from Element into Node.
3960 Reviewed by Dimitri Glazkov.
3963 * win/WebKit2CFLite.def:
3965 2012-02-15 No'am Rosenthal <noam.rosenthal@nokia.com>
3967 [Texmap] Divide TextureMapperNode.cpp to 3 files.
3968 https://bugs.webkit.org/show_bug.cgi?id=76660
3970 Rename TextureMapperNode to TextureMapperLayer.
3972 Reviewed by Kenneth Rohde Christiansen.
3974 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
3975 (WebKit::LayerTreeHostProxy::createLayer):
3976 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
3977 (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
3978 (WebKit::LayerTreeHostProxy::getBackingStore):
3979 (WebKit::LayerTreeHostProxy::ensureRootLayer):
3980 (WebKit::LayerTreeHostProxy::purgeGLResources):
3982 2012-02-14 Anders Carlsson <andersca@apple.com>
3984 Swipe gestures don't work if main frame has a horizontal scrollbar
3985 https://bugs.webkit.org/show_bug.cgi?id=78650
3986 <rdar://problem/10864993>
3988 Reviewed by Sam Weinig.
3990 * WebProcess/WebPage/EventDispatcher.cpp:
3991 (WebKit::EventDispatcher::wheelEvent):
3992 ScrollingTree::tryToHandleWheelEvent now returns a tri-state enum so handle the extra case.
3994 (WebKit::EventDispatcher::sendDidReceiveEvent):
3995 Rename this now that it takes a parameter indicating whether the event was handled or not.
3997 2012-02-14 Brian Weinstein <bweinstein@apple.com>
3999 Web Inspector: Add the ability to show the resources panel on launch
4000 https://bugs.webkit.org/show_bug.cgi?id=78641
4002 Add WebKit2 API for the ability to show the resources panel. This calls down
4003 from the WK API all the way to InspectorFrontendClientLocal::showResources.
4005 Reviewed by Timothy Hatcher.
4007 * UIProcess/API/C/WKInspector.cpp:
4008 (WKInspectorShowResources): Call WebInspectorProxy::showResources.
4009 * UIProcess/API/C/WKInspector.h:
4010 * UIProcess/WebInspectorProxy.cpp:
4011 (WebKit::WebInspectorProxy::showResources): Send a message to the web process.
4012 * UIProcess/WebInspectorProxy.h:
4013 * WebProcess/WebPage/WebInspector.cpp:
4014 (WebKit::WebInspector::showResources): Call InspectorFrontendClientLocal::showResources.
4015 * WebProcess/WebPage/WebInspector.h:
4016 * WebProcess/WebPage/WebInspector.messages.in: Add a ShowResources message.
4018 2012-02-14 Matt Lilek <mrl@apple.com>
4020 Don't ENABLE_DASHBOARD_SUPPORT unconditionally on all Mac platforms
4021 https://bugs.webkit.org/show_bug.cgi?id=78629
4023 Reviewed by David Kilzer.
4025 * Configurations/FeatureDefines.xcconfig:
4027 2012-02-13 Raphael Kubo da Costa <kubo@profusion.mobi>
4029 [CMake] Merge WebKitEfl.cmake into FindEFL.cmake.
4030 https://bugs.webkit.org/show_bug.cgi?id=78566
4032 Reviewed by Daniel Bates.
4034 * PlatformEfl.cmake: Do not include WebKitEfl.cmake.
4036 2012-02-14 No'am Rosenthal <noam.rosenthal@nokia.com>
4038 [Qt][Texmap] Refactor backing-store code in TextureMapper
4039 https://bugs.webkit.org/show_bug.cgi?id=78305
4041 Move the backing-store code to LayerTreeBackingStore, implementing the virtual functions
4042 in TextureMapperBackingStore.
4043 We save the double-buffered tile in the backing-store, and then convert them to regular
4044 tiles in updateContents, based on the order of painting.
4045 Use TextureMapperCompositedImage for images instead of saving our own composited image
4048 Reviewed by Kenneth Rohde Christiansen.
4051 * UIProcess/LayerTreeHostProxy.h:
4053 (LayerTreeHostProxy):
4054 * UIProcess/qt/LayerBackingStore.cpp: Added.
4055 * UIProcess/qt/LayerBackingStore.h: Added.
4056 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
4057 (WebKit::LayerTreeHostProxy::createLayer):
4058 (WebKit::LayerTreeHostProxy::syncLayerParameters):
4059 (WebKit::LayerTreeHostProxy::getBackingStore):
4060 (WebKit::LayerTreeHostProxy::createTile):
4061 (WebKit::LayerTreeHostProxy::removeTile):
4062 (WebKit::LayerTreeHostProxy::updateTile):
4063 (WebKit::LayerTreeHostProxy::createImage):
4064 (WebKit::LayerTreeHostProxy::assignImageToLayer):
4065 (WebKit::LayerTreeHostProxy::purgeGLResources):
4069 2012-02-14 Shinya Kawanaka <shinyak@google.com>
4071 Use youngestShadowRoot and oldestShadowRoot instead of Element::shadowRoot().
4072 https://bugs.webkit.org/show_bug.cgi?id=78455
4074 Reviewed by Hajime Morita.
4076 Exports necesarry symbols.
4079 * win/WebKit2CFLite.def:
4081 2012-02-14 Alexey Proskuryakov <ap@apple.com>
4083 [Mac][Win][WK2] Switch to RFC 6455 protocol for WebSockets
4084 https://bugs.webkit.org/show_bug.cgi?id=78541
4085 <rdar://problem/10036695>
4087 Reviewed by Kent Tamura.
4089 * Shared/WebPreferencesStore.h: (WebKit): Changed default value of the preference.
4091 2012-02-13 W. James MacLean <wjmaclean@chromium.org>
4093 [chromium] Remove obsolete zoom animation pathway.
4094 https://bugs.webkit.org/show_bug.cgi?id=78359
4096 Reviewed by James Robinson.
4098 This patch removes dead code from the previous incarnation of zoom animation for chromium.
4100 WebProcess/Plugins/PDF/BuiltInPDFView.h:
4103 2012-02-13 Enrica Casucci <enrica@apple.com>
4105 Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies.
4106 https://bugs.webkit.org/show_bug.cgi?id=78282
4108 This patch removes any accesss to the NSPasteboard object from the Pasteboard class which
4109 now makes use of a new pasteboardStrategy object that is implemented both in WebKit and
4110 WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard
4111 class. Currently both WebKit and WebKit2 use the sa