1 2012-03-08 Enrica Casucci <enrica@apple.com>
3 REGRESSION (r109022): Files dragged onto input controls cannot be read due to sandbox violation.
4 https://bugs.webkit.org/show_bug.cgi?id=80203
5 <rdar://problem/10976643>
7 Reviewed by Alexey Proskuryakov.
9 This patch reverts a small part fo r109022, leaving access to
10 NSPasteboard in the WebProcess when retrieving pathnames for
11 files being dragged. This avoid the sandbox violation until we
12 implement a mechanism to provide a sandbox extension to the WebProcess.
14 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
15 (WebKit::WebPlatformStrategies::getPathnamesForType):
17 2012-03-09 Sheriff Bot <webkit.review.bot@gmail.com>
19 Unreviewed, rolling out r110191, r110202, and r110279.
20 http://trac.webkit.org/changeset/110191
21 http://trac.webkit.org/changeset/110202
22 http://trac.webkit.org/changeset/110279
23 https://bugs.webkit.org/show_bug.cgi?id=80694
25 They broke !ENABLE(INSPECTOR) builds (Requested by Ossy on
29 * win/WebKit2CFLite.def:
31 2012-03-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
33 [Qt] Use Qt's module system for install rules and depending on QtWebKit
35 Instead of rolling our own install rules we now use the same approach as
36 every other Qt module, by loading qt_module.prf and qt_module_config.prf.
38 This ensures that we follow the same semantics as the rest of Qt on
39 what sort of config options are enabled by default (create_cmake eg.).
40 It also allows us to use QT += webkit instead of the workaround we had
41 with CONFIG += qtwebkit.
43 We do however force Qt to always treat our build as a non-developer build,
44 so the libraries will end up in the WebKit lib directory instead of the
45 qtbase directory (as with a normal developer-build). This allows us to
46 keep the webkit-build self-contained. If Qt is a developer build we still
47 copy the module file manually to Qt, so that you don't have to install
48 WebKit to make it available.
50 For non-developer builds of Qt, it is still possible to use the built
51 WebKit libraries without having to install them, by having the variable
52 QMAKE_EXTRA_MODULE_FORWARDS set in the project's .qmake.cache file,
53 pointing to $WEBKITOUTUTDIR/$CONFIGURATION/modules.
55 https://bugs.webkit.org/show_bug.cgi?id=80590
57 Reviewed by Simon Hausmann.
59 * UIProcess/API/qt/tests/publicapi/publicapi.pro:
60 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
61 * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
62 * UIProcess/API/qt/tests/qmltests/WebView.pro:
63 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
64 * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
65 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
66 * UIProcess/API/qt/tests/tests.pri:
67 * UIProcess/API/qt/tests/util.cpp:
70 2012-03-08 No'am Rosenthal <noam.rosenthal@nokia.com>
72 [Qt][WK2] Allow transparent WebViews
73 https://bugs.webkit.org/show_bug.cgi?id=80608
75 Reviewed by Tor Arne Vestbø.
77 Added support for transparentBackground in QQuickWebViewExperimental.
78 This uses the existing drawsTransparentBackground property in WebKit2.
79 Also, changed LayerTreeHostQt to set the contentsOpaque flag when the root layer changes,
80 otherwise the change doesn't take effect.
82 A new API test was added.
84 * UIProcess/API/qt/qquickwebview.cpp:
85 (QQuickWebViewPrivate::setTransparentBackground):
86 (QQuickWebViewPrivate::transparentBackground):
87 (QQuickWebViewExperimental::transparentBackground):
88 (QQuickWebViewExperimental::setTransparentBackground):
89 * UIProcess/API/qt/qquickwebview_p.h:
90 * UIProcess/API/qt/qquickwebview_p_p.h:
91 (QQuickWebViewPrivate):
92 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
94 (tst_QQuickWebView::transparentWebViews):
95 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
96 (WebKit::LayerTreeHostQt::LayerTreeHostQt):
97 (WebKit::LayerTreeHostQt::setRootCompositingLayer):
99 2012-03-08 Gustavo Noronha Silva <gns@gnome.org>
101 GTK+ build fix. Only try to get the backing from the layer in when
102 ACCELERATED_COMPOSITING is enabled.
104 Rubber-stamped by Ryosuke Niwa.
106 * WebProcess/FullScreen/WebFullScreenManager.cpp:
107 (WebKit::screenRectOfContents):
109 2012-03-08 Ryosuke Niwa <rniwa@webkit.org>
111 Mac build fix for micro data API.
113 * Configurations/FeatureDefines.xcconfig:
115 2012-03-08 Jer Noble <jer.noble@apple.com>
117 Unreviewed Snow Leopard build fix.
119 On Leopard and Snow Leopard, provide an implementation for -[NSWindow convertRectToScreen:].
121 * UIProcess/mac/WKFullScreenWindowController.mm:
122 (-[NSWindow convertRectToScreen:]):
124 2012-03-08 Jer Noble <jer.noble@apple.com>
126 Further unreviewed build fix.
128 Add in the WebCore namespace, so that IntRect is pulled in.
130 * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
131 * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
132 * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
134 2012-03-08 Jer Noble <jer.noble@apple.com>
136 Unreviewed build fix.
138 Add stub implementations of beganEnterFullScreen and beganExitFullScreen
139 to platform-specific WebFullScreenManagerProxy implementations.
141 * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
142 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
143 (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
144 * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
145 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
146 (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
147 * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
148 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
149 (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
151 2012-03-07 Jon Lee <jonlee@apple.com>
153 Add support for ENABLE(LEGACY_NOTIFICATIONS)
154 https://bugs.webkit.org/show_bug.cgi?id=80497
156 Reviewed by Adam Barth.
158 Prep for b80472: Update API for Web Notifications
159 * Configurations/FeatureDefines.xcconfig:
161 2012-03-08 Jer Noble <jer.noble@apple.com>
163 Full Screen Refactor Part 3: Animate into Full Screen mode using new animation classes.
164 https://bugs.webkit.org/show_bug.cgi?id=78928
166 Reviewed by Anders Carlsson.
168 Boilerplate changes to WebKit2 IPC messages and supporting functions.
169 * UIProcess/WebFullScreenManagerProxy.cpp:
170 (WebKit::WebFullScreenManagerProxy::setAnimatingFullScreen): Added boilerplate.
171 * UIProcess/WebFullScreenManagerProxy.h:
172 * UIProcess/WebFullScreenManagerProxy.messages.in:
173 * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
174 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen): Added boilerplate.
175 (WebKit::WebFullScreenManagerProxy::beganExitFullScreen): Added boilerplate.
176 * WebProcess/FullScreen/WebFullScreenManager.cpp:
177 (WebKit::screenRectOfContents): Added. Calculates the screen rect of an element's contents.
178 (WebKit::WebFullScreenManager::enterFullScreenForElement): Use screenRectOfContents()
179 (WebKit::WebFullScreenManager::willEnterFullScreen): Ditto. Do not set the background color. Call new BeganEnterFullScreen
181 (WebKit::WebFullScreenManager::didEnterFullScreen): Do not set the background color.
182 (WebKit::WebFullScreenManager::willExitFullScreen): Use screenRectOfContents. Do not set the background color. Call new
183 BeganExitFullScreen XPC message.
184 (WebKit::WebFullScreenManager::didExitFullScreen): Do not set the background color.
185 (WebKit::WebFullScreenManager::setAnimatingFullScreen): Added boilerplate.
186 * WebProcess/FullScreen/WebFullScreenManager.h:
187 * WebProcess/FullScreen/WebFullScreenManager.messages.in:
189 * UIProcess/mac/WKFullScreenWindowController.h:
190 * UIProcess/mac/WKFullScreenWindowController.mm:
191 (-[WKFullScreenWindowController cancelOperation:]): Renamed from _requestExitWithAnimation:.
192 (-[WKFullScreenWindowController applicationDidResignActive:]): Call cancelOperation: instead
193 of _requestExitWithAnimation.
194 (-[WKFullScreenWindowController applicationDidChangeScreenParameters:]): Set the frame of
195 both the full screen window and the background window.
196 (-[WKFullScreenWindowController enterFullScreen:]): Save a rendered image of the current
197 page to use in the placeholder.
198 (-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]): Renamed from
199 beganEnterFullScreenAnimation.
200 (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): No need to swap
201 placeholder views here, as they were already swapped in beganEnter...:.
202 (-[WKFullScreenWindowController exitFullScreen]):
203 (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]): Renamed from
204 beganExitFullScreenAnimation.
205 (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Swap web view back into place.
206 (-[WKFullScreenWindowController close]):
207 (-[WKFullScreenWindowController animationDidEnd:]): Added.
208 (createBackgroundFullscreenWindow): Added.
209 (windowFrameFromApparentFrames): Added.
210 (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): Added.
211 (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): Added.
213 2012-03-08 Jer Noble <jer.noble@apple.com>
215 Full Screen Refactor Part 2: Remove unnecessary WebKit2 APIs for Full Screen made
216 https://bugs.webkit.org/show_bug.cgi?id=78926
218 Reviewed by John Sullivan.
220 The following functions (and also their Proxy versions) were removed completely:
221 WebFullScreenManager::enterAcceleratedCompositingMode(const LayerTreeContext&)
222 WebFullScreenManager::exitAcceleratedCompositingMode()
223 WebFullScreenManager::beganEnterFullScreenAnimation()
224 WebFullScreenManager::finishedEnterFullScreenAnimation(bool)
225 WebFullScreenManager::beganExitFullScreenAnimation()
226 WebFullScreenManager::finishedExitFullScreenAnimation(bool)
227 WebFullScreenManager::getFullScreenRect(WebCore::IntRect&)
229 * UIProcess/WebFullScreenManagerProxy.cpp:
230 * UIProcess/WebFullScreenManagerProxy.h:
231 (WebKit::WebFullScreenManagerProxy::beginEnterFullScreenAnimation):
232 (WebKit::WebFullScreenManagerProxy::beginExitFullScreenAnimation):
233 (WebKit::WebFullScreenManagerProxy::disposeOfLayerClient):
234 (WebFullScreenManagerProxy):
235 * UIProcess/WebFullScreenManagerProxy.messages.in:
236 * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
237 * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
238 * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
239 * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
240 (WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation):
241 * WebKit2.xcodeproj/project.pbxproj:
242 * WebProcess/FullScreen/WebFullScreenManager.cpp:
243 (WebKit::WebFullScreenManager::create):
244 (WebKit::WebFullScreenManager::~WebFullScreenManager):
245 * WebProcess/FullScreen/WebFullScreenManager.h:
246 (WebFullScreenManager):
247 * WebProcess/FullScreen/WebFullScreenManager.messages.in:
248 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
249 (WebKit::WebChromeClient::exitFullScreenForElement):
250 * WebProcess/WebCoreSupport/WebChromeClient.h:
253 Additionally, the platform-specific WebFullScreenManager subclasses were removed, as no
254 platform-specific implementations remained after the above functions were removed:
257 * win/WebKit2.vcproj:
258 * WebProcess/FullScreen/gtk/WebFullScreenManagerGtk.cpp: Removed.
259 * WebProcess/FullScreen/gtk/WebFullScreenManagerGtk.h: Removed.
260 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h: Removed.
261 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm: Removed.
262 * WebProcess/FullScreen/qt/WebFullScreenManagerQt.cpp: Removed.
263 * WebProcess/FullScreen/qt/WebFullScreenManagerQt.h: Removed.
264 * WebProcess/FullScreen/win/WebFullScreenManagerWin.cpp: Removed.
265 * WebProcess/FullScreen/win/WebFullScreenManagerWin.h: Removed.
267 2012-03-08 Matt Lilek <mrl@apple.com>
269 Don't enable VIDEO_TRACK on all OS X platforms
270 https://bugs.webkit.org/show_bug.cgi?id=80635
272 Reviewed by Eric Carlson.
274 * Configurations/FeatureDefines.xcconfig:
276 2012-03-08 Max Vujovic <mvujovic@adobe.com>
278 Add a method to window.internals to enable testing of inspector highlight rects
279 https://bugs.webkit.org/show_bug.cgi?id=80338
281 Reviewed by Pavel Feldman.
283 * win/WebKit2.def: Export symbols for win.
284 * win/WebKit2CFLite.def: Same as above.
286 2012-03-08 Dinu Jacob <dinu.jacob@nokia.com>
288 [Qt WK2] Remove duplicate code related to dialog handling in QQuickWebView
289 https://bugs.webkit.org/show_bug.cgi?id=80557
291 Reviewed by Simon Hausmann.
293 Move common code related to running QtDialogRunner into a separate function
295 * UIProcess/API/qt/qquickwebview.cpp:
296 (QQuickWebViewPrivate::runJavaScriptAlert):
297 (QQuickWebViewPrivate::runJavaScriptConfirm):
298 (QQuickWebViewPrivate::runJavaScriptPrompt):
299 (QQuickWebViewPrivate::handleAuthenticationRequiredRequest):
300 (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest):
301 (QQuickWebViewPrivate::handleCertificateVerificationRequest):
302 (QQuickWebViewPrivate::execDialogRunner):
303 * UIProcess/API/qt/qquickwebview_p_p.h:
304 (QQuickWebViewPrivate):
306 2012-03-07 Dinu Jacob <dinu.jacob@nokia.com>
308 [Qt] Authentication dialog does not work
309 https://bugs.webkit.org/show_bug.cgi?id=79738
311 Reviewed by Simon Hausmann.
313 QQuickWebView should accept touch events only if there is
316 * UIProcess/API/qt/qquickwebview.cpp:
317 (QQuickWebViewPrivate::QQuickWebViewPrivate):
318 (QQuickWebViewPrivate::runJavaScriptAlert):
319 (QQuickWebViewPrivate::runJavaScriptConfirm):
320 (QQuickWebViewPrivate::runJavaScriptPrompt):
321 (QQuickWebViewPrivate::handleAuthenticationRequiredRequest):
322 (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest):
323 (QQuickWebViewPrivate::handleCertificateVerificationRequest):
324 (QQuickWebView::touchEvent):
325 * UIProcess/API/qt/qquickwebview_p_p.h:
326 (QQuickWebViewPrivate):
328 2012-03-07 Dan Bernstein <mitz@apple.com>
330 <rdar://problem/8494396> WebKit2 lacks API for obtaining a representation of the render tree of a page, like WebRenderNode
331 https://bugs.webkit.org/show_bug.cgi?id=80230
333 Reviewed by Beth Dakin.
338 * Shared/API/c/WKBase.h: Added a type definition of WKRenderObjectRef.
340 * Shared/API/c/WKRenderObject.cpp: Added.
341 (WKRenderObjectGetTypeID): Added. Returns the WKRenderObject type ID.
342 (WKRenderObjectCopyName): Added this getter wrapper.
343 (WKRenderObjectGetAbsolutePosition): Ditto.
344 (WKRenderObjectGetFrameRect): Ditto.
345 (WKRenderObjectGetChildren): Ditto.
347 * Shared/API/c/WKRenderObject.h: Added.
349 * Shared/APIObject.h: Added TypeRenderObject to the APIObject::Type enum.
350 * Shared/UserMessageCoders.h:
351 (WebKit::UserMessageEncoder::baseEncode): Added WebRenderObject encoding.
352 (WebKit::UserMessageDecoder::baseDecode): Added WebRenderObject decoding.
353 * Shared/WebRenderObject.cpp: Added.
354 (WebKit::WebRenderObject::create): Added. Creates a WebRenderObject for the page’s main
355 frame content renderer.
356 (WebKit::WebRenderObject::WebRenderObject): Added. Constructs a WebRenderObject with the
357 name, metrics and children of the given RenderObject, following the rules used in WebKit1
358 WebRenderNode. In particular, a RenderWidget representing a frame gets the frame’s content
361 * Shared/WebRenderObject.h: Added.
362 (WebKit::WebRenderObject::create):
363 (WebKit::WebRenderObject::children):
364 (WebKit::WebRenderObject::name):
365 (WebKit::WebRenderObject::absolutePosition):
366 (WebKit::WebRenderObject::frameRect):
367 (WebKit::WebRenderObject::WebRenderObject):
371 * UIProcess/API/C/WKAPICast.h: Added a mapping between WKRenderObjectRef and WebRenderObject.
373 * WebKit2.xcodeproj/project.pbxproj: Added WebRenderObject.{cpp,h} and WKRenderObject.{cpp.h}.
375 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
376 (WKBundlePageCopyRenderTree): Added this bundle API for getting the render tree.
378 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
380 * win/WebKit2.vcproj:
382 2012-03-07 Kenneth Rohde Christiansen <kenneth@webkit.org>
384 Pinch zoom acts weirdly on nytimes.com while loading
385 https://webkit.org/b/80508
387 Reviewed by Simon Hausmann.
389 Make sure to suspend the page while doing pinch zooming.
390 If the page is suspended (which happens while pinch zooming)
391 then do not send touch events to the page, even if it has
394 * UIProcess/WebPageProxy.cpp:
395 (WebKit::WebPageProxy::handleTouchEvent):
396 * UIProcess/qt/QtViewportInteractionEngine.cpp:
397 (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
399 2012-03-05 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
401 [Qt] QWebNavigationRequest 'action' property should have an enum type instead of int
402 https://bugs.webkit.org/show_bug.cgi?id=80164
404 Reviewed by Simon Hausmann.
406 Use the appropriate enum type instead of int. Make IgnoreRequest have a bigger
407 value that give some room for us to put Experimental values in the middle. This
408 way the Experimental values are in a valid range for the original enumeration. To
409 avoid confusion, the Experimental enumeration was renamed.
411 * UIProcess/API/qt/qquickwebview_p.h:
412 * UIProcess/API/qt/qwebnavigationrequest.cpp:
413 (QWebNavigationRequestPrivate):
414 (QWebNavigationRequest::setAction):
415 (QWebNavigationRequest::action):
416 * UIProcess/API/qt/qwebnavigationrequest_p.h:
417 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
419 2012-03-07 Andras Becsi <andras.becsi@nokia.com>
421 [WK2] Make it possible to build without geolocation support
422 https://bugs.webkit.org/show_bug.cgi?id=80426
424 Reviewed by Simon Hausmann.
428 * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
429 (WebKit::GeolocationPermissionRequestManagerProxy::didReceiveGeolocationPermissionDecision):
430 * UIProcess/WebPageProxy.cpp:
431 (WebKit::WebPageProxy::close):
432 (WebKit::WebPageProxy::processDidCrash):
433 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
434 * WebProcess/WebPage/WebPage.cpp:
435 (WebKit::WebPage::WebPage):
437 * WebProcess/WebPage/WebPage.h:
439 * WebProcess/WebPage/WebPage.messages.in:
441 2012-03-06 Raphael Kubo da Costa <kubo@profusion.mobi>
443 [CMake] Make the removal of transitive library dependencies work with CMake < 2.8.7.
444 https://bugs.webkit.org/show_bug.cgi?id=80469
446 Reviewed by Antonio Gomes.
448 * CMakeLists.txt: Manually set the LINK_INTERFACE_LIBRARIES target
449 property on the library being created.
451 2012-03-06 Hugo Parente Lima <hugo.lima@openbossa.org>
453 MiniBrowser --window-size 480x800 www.nytimes.com doesn't paint bottom tiles.
454 https://bugs.webkit.org/show_bug.cgi?id=80313
456 Reviewed by Kenneth Rohde Christiansen.
458 Fix the math to get the visible rectangle and add a method to get it.
460 * UIProcess/API/qt/qquickwebview.cpp:
461 (QQuickWebViewPrivate::visibleContentsRect):
462 (QQuickWebViewFlickablePrivate::_q_commitScaleChange):
463 (QQuickWebViewPrivate::_q_commitPositionChange):
464 * UIProcess/API/qt/qquickwebview_p_p.h:
465 (QQuickWebViewPrivate):
467 2012-03-05 Joseph Pecoraro <pecoraro@apple.com>
469 Web Inspector: Hide dock button when not allowed to dock
470 https://bugs.webkit.org/show_bug.cgi?id=78575
472 Reviewed by Pavel Feldman.
474 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
475 (WebKit::WebInspectorClient::didResizeMainFrame):
476 * WebProcess/WebCoreSupport/WebInspectorClient.h:
477 * WebProcess/WebPage/WebInspector.cpp:
478 (WebKit::WebInspector::updateDockingAvailability):
479 * WebProcess/WebPage/WebInspector.h:
481 2012-03-06 Allan Sandfeld Jensen <allan.jensen@nokia.com>
483 [Qt] Interaction Engine suspends content during pageload.
484 https://bugs.webkit.org/show_bug.cgi?id=80294
486 Only suspend content when viewport updates are deferred
487 for a non-instantanious interaction.
489 Reviewed by Kenneth Rohde Christiansen.
491 * UIProcess/qt/QtViewportInteractionEngine.cpp:
492 (WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer):
493 (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
494 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
495 (WebKit::QtViewportInteractionEngine::flickableMoveStarted):
496 (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
497 * UIProcess/qt/QtViewportInteractionEngine.h:
498 (QtViewportInteractionEngine):
500 2012-03-06 Simon Hausmann <simon.hausmann@nokia.com>
502 [Qt] Make QQuickWebView's url property work with a flickable webview
504 Reviewed by Tor Arne Vestbø.
506 QQuickWebViewPrivate::onComponentComplete implements the deferred url loading
507 when the url property is set in the component instantiation. QQuickWebViewFlickablePrivate
508 is the private sub-class used for a flickable webview, which re-implemented onComponentComplete
509 but forgot to call the base implementation.
511 * UIProcess/API/qt/qquickwebview.cpp:
512 (QQuickWebViewFlickablePrivate::onComponentComplete):
514 2012-03-06 Carlos Garcia Campos <cgarcia@igalia.com>
516 [GTK] Fix several documentation issues in WebKit2 GTK+ API
517 https://bugs.webkit.org/show_bug.cgi?id=80281
519 Reviewed by Martin Robinson.
521 * UIProcess/API/gtk/WebKitFindController.cpp:
522 * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
523 (webkit_navigation_policy_decision_class_init):
524 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
525 * UIProcess/API/gtk/WebKitWebView.h:
527 2012-03-06 Carlos Garcia Campos <cgarcia@igalia.com>
529 [GTK] Use a single signal for script dialogs in WebKit2 GTK+ API
530 https://bugs.webkit.org/show_bug.cgi?id=80271
532 Reviewed by Martin Robinson.
534 Add a new signal WebKitWebView::script-dialog that passes a
535 WebKitScriptDialog boxed type that can be used to build the dialog
536 and set the responses. It simplifies the API and makes it bindings
540 * UIProcess/API/gtk/WebKitScriptDialog.cpp: Added.
541 (webkitScriptDialogCopy): Copy method for boxed type.
542 (webkitScriptDialogFree): Free method for boxed type.
543 (webkit_script_dialog_get_dialog_type): Return the type of dialog:
544 alert, confirm or prompt.
545 (webkit_script_dialog_get_message): Return the message of the dialog.
546 (webkit_script_dialog_confirm_set_confirmed): Set whether user
547 confirmed the dialog, for confirm dialogs.
548 (webkit_script_dialog_prompt_get_default_text): Get the default
549 text of prompt dialogs.
550 (webkit_script_dialog_prompt_set_text): Set the text entered by
551 the user, for prompt dialogs.
552 * UIProcess/API/gtk/WebKitScriptDialog.h: Added.
553 * UIProcess/API/gtk/WebKitScriptDialogPrivate.h: Added.
554 * UIProcess/API/gtk/WebKitWebView.cpp:
555 (webkitWebViewScriptDialog): Default implementation of
556 WebKitWebView::script-dialog signal.
557 (webkit_web_view_class_init): Add WebKitWebView::script-dialog and
558 remove alert, confirm and propmpt.
559 (webkitWebViewRunJavaScriptAlert): Create a WebKitScriptDialog and
560 emit WebKitWebView::script-dialog signal.
561 (webkitWebViewRunJavaScriptConfirm): Ditto.
562 (webkitWebViewRunJavaScriptPrompt): Ditto.
563 * UIProcess/API/gtk/WebKitWebView.h:
564 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new
566 * UIProcess/API/gtk/docs/webkit2gtk.types: Add webkit_script_dialog_get_type().
567 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
568 (testWebViewJavaScriptDialogs): Update javascript dialog test to
570 * UIProcess/API/gtk/webkit2marshal.list:
571 * UIProcess/API/gtk/webkit2.h:
573 2012-03-05 Gavin Barraclough <barraclough@apple.com>
575 putByIndex should throw in strict mode
576 https://bugs.webkit.org/show_bug.cgi?id=80335
578 Reviewed by Filip Pizlo.
580 Make the MethodTable PutByIndex trap take a boolean 'shouldThrow' parameter.
582 * WebProcess/Plugins/Netscape/NPJSObject.cpp:
583 (WebKit::NPJSObject::setProperty):
585 2012-03-05 Joseph Pecoraro <pecoraro@apple.com>
587 Unreviewed rollout of r109858 for restructuring.
589 2012-03-05 Joseph Pecoraro <pecoraro@apple.com>
591 <http://webkit.org/b/78575> Web Inspector: Hide dock button when not allowed to dock
593 Reviewed by Timothy Hatcher.
595 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
596 (WebKit::WebInspectorClient::updateDockingAvailability):
597 * WebProcess/WebCoreSupport/WebInspectorClient.h:
598 * WebProcess/WebPage/WebInspector.cpp:
599 (WebKit::WebInspector::updateDockingAvailability):
600 * WebProcess/WebPage/WebInspector.h:
602 2012-03-05 Anders Carlsson <andersca@apple.com>
604 pinch-to-zoom and double-tap flicker when using the new scrolling model
605 https://bugs.webkit.org/show_bug.cgi?id=80368
606 <rdar://problem/10866221>
608 Reviewed by Sam Weinig.
610 Add a way for drawing areas to respond to callback based force repaint requests asynchronously.
611 This is currently needed for the tiled drawing area when there might be outstanding scroll updates
612 that are sent from the scrolling thread to the main thread and we need to ensure that they're processed
613 before sending a message back.
615 * WebProcess/WebPage/DrawingArea.h:
616 (WebKit::DrawingArea::forceRepaintAsync):
617 Add new member function.
619 * WebProcess/WebPage/WebPage.cpp:
620 (WebKit::WebPage::forceRepaint):
621 Try forceRepaintAsync first.
623 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
624 (WebKit::forceRepaintAndSendMessage):
625 Force the repaint and send the message.
627 (WebKit::dispatchBackToMainThread):
628 Dispatch a call to forceRepaintAndSendMessage to the main thread.
630 (WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync):
631 Dispatch a function on the scrolling thread. Its sole purpose is to dispatch a function back to the
632 main thread, ensuring that all previously dispatched functions have been executed.
634 2012-03-05 Enrica Casucci <enrica@apple.com>
636 Can't type on some websites (plug-ins steal key events).
637 <rdar://problem/10892291>
639 When the plugin is disabled, it is necessary to reset _pluginComplexTextInputIdentifier
640 in order to return the correct input context. Failure to do so results in the inputContext
641 method to return the plugin input context instead of the context of the browser view.
643 Reviewed by Sam Weinig.
645 * UIProcess/API/mac/WKView.mm:
646 (-[WKView _setPluginComplexTextInputState:]):
647 (-[WKView _handlePluginComplexTextInputKeyDown:]):
649 2012-03-05 Anders Carlsson <andersca@apple.com>
651 Be more aggressive about repainting page overlays
652 https://bugs.webkit.org/show_bug.cgi?id=80336
653 <rdar://problem/10965943>
655 Reviewed by Simon Fraser.
657 Whenever we're flushing layers and we have a page overlay, check if the main frame
658 has scrolled or if the main frame root content layer needs to be repainted and force the
659 overlay layer to be repainted if either of those conditions are true.
661 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
662 (TiledCoreAnimationDrawingArea):
663 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
664 (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
665 (WebKit::TiledCoreAnimationDrawingArea::shouldRepaintPageOverlayLayer):
668 2012-03-05 Sam Weinig <sam@webkit.org>
670 Add support for hosting layers in the window server in WebKit2
671 <rdar://problem/10400246>
672 https://bugs.webkit.org/show_bug.cgi?id=80310
674 Reviewed by Anders Carlsson.
676 This currently only works if you are using TiledCoreAnimation drawing model.
678 * Platform/mac/LayerHostingContext.h: Renamed from Source/WebKit2/Platform/mac/RemoteLayerClient.h.
679 * Platform/mac/LayerHostingContext.mm: Renamed from Source/WebKit2/Platform/mac/RemoteLayerClient.mm.
680 (WebKit::LayerHostingContext::createForPort):
681 (WebKit::LayerHostingContext::LayerHostingContext):
682 (WebKit::LayerHostingContext::createForWindowServer):
683 (WebKit::LayerHostingContext::~LayerHostingContext):
684 (WebKit::LayerHostingContext::setRootLayer):
685 (WebKit::LayerHostingContext::rootLayer):
686 (WebKit::LayerHostingContext::contextID):
687 (WebKit::LayerHostingContext::invalidate):
688 Renamed RemoteLayerClient to LayerHostingContext and add ability to use the window server
689 as the remote context.
691 * PluginProcess/PluginControllerProxy.cpp:
692 * PluginProcess/PluginControllerProxy.h:
693 * PluginProcess/mac/PluginControllerProxyMac.mm:
694 Update for new names.
696 * Shared/LayerTreeContext.h:
697 Add LayerHostingMode enum.
699 * UIProcess/PageClient.h:
700 * UIProcess/API/mac/PageClientImpl.h:
701 * UIProcess/API/mac/PageClientImpl.mm:
702 (WebKit::PageClientImpl::layerHostingMode):
703 (WebKit::PageClientImpl::updateAcceleratedCompositingMode):
704 Add PageClient access points to get the current layer hosting mode,
705 and a hook to tell the underlying view that the layer hosting context
708 * UIProcess/API/mac/WKViewInternal.h:
709 * UIProcess/API/mac/WKView.mm:
710 (-[WKView _updateAcceleratedCompositingMode:WebKit::]):
711 Implement responding to a new layer hosting context as a simple
712 exit and re-entrance of compositing.
714 * UIProcess/DrawingAreaProxy.h:
715 (WebKit::DrawingAreaProxy::layerHostingModeDidChange):
716 (WebKit::DrawingAreaProxy::updateAcceleratedCompositingMode):
717 * UIProcess/DrawingAreaProxy.messages.in:
718 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
719 (TiledCoreAnimationDrawingAreaProxy):
720 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
721 (WebKit::TiledCoreAnimationDrawingAreaProxy::layerHostingModeDidChange):
722 (WebKit::TiledCoreAnimationDrawingAreaProxy::updateAcceleratedCompositingMode):
723 Pipe layer hosting changes around.
725 * UIProcess/WebPageProxy.h:
726 (WebKit::WebPageProxy::layerHostingMode):
727 * UIProcess/WebPageProxy.cpp:
728 (WebKit::WebPageProxy::WebPageProxy):
729 (WebKit::WebPageProxy::viewStateDidChange):
730 Cache the current layer hosting mode so we don't overzealously
731 tell the WebProcess to reset its context. Re-check layer hosting
732 mode each time we are added/removed from a window.
734 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h:
735 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
736 Update for new names.
738 * WebProcess/WebPage/DrawingArea.h:
739 (WebKit::DrawingArea::setDeviceScaleFactor):
740 (WebKit::DrawingArea::setLayerHostingMode):
741 * WebProcess/WebPage/DrawingArea.messages.in:
742 Pipe layer hosting changes around.
744 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
745 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
746 (WebKit::LayerTreeHostCAMac::~LayerTreeHostCAMac):
747 (WebKit::LayerTreeHostCAMac::platformInitialize):
748 (WebKit::LayerTreeHostCAMac::invalidate):
749 Update for new names.
751 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
752 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
753 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
754 (WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode):
755 Respond to a change in the layer hosting mode by invalidating our old context,
756 making a new one of the right type, and informing the UIProcess of our new context.
758 * WebKit2.xcodeproj/project.pbxproj:
761 2012-03-05 Anders Carlsson <andersca@apple.com>
763 Always update the scroll layer position on the main thread when we have an overlay
764 https://bugs.webkit.org/show_bug.cgi?id=80324
766 Reviewed by Sam Weinig.
768 Call setForceMainThreadScrollLayerPositionUpdates when installing and uninstalling page overlays,
769 so we'll be able to synchronize painting between the tile cache and the page overlays.
771 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
772 (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
773 (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
775 2012-03-05 Timothy Hatcher <timothy@apple.com>
777 Change how the Web Inspector Develop menu actions work.
779 This removes the methods used by Safari's Develop menu. They can now be implemented in Safari.
781 https://webkit.org/b/80308
783 Reviewed by John Sullivan.
785 * UIProcess/API/C/mac/WKInspectorPrivateMac.h: Renamed from Source/WebKit2/UIProcess/API/C/mac/WKInspectorMac.h.
786 * UIProcess/mac/WebInspectorProxyMac.mm:
787 (-[WKWebInspectorProxyObjCAdapter inspectorRef]): Added.
788 * WebKit2.xcodeproj/project.pbxproj: Renamed WKInspectorPrivateMac.h to better reflect its private nature.
790 2012-03-02 Jon Lee <jonlee@apple.com>
792 Add support for notification replaceId in Mac WebKit and WK2
793 https://bugs.webkit.org/show_bug.cgi?id=80206
794 <rdar://problem/10965574>
796 Reviewed by Sam Weinig.
798 * UIProcess/API/C/WKNotification.cpp: Add WK API.
799 (WKNotificationCopyReplaceID):
800 * UIProcess/API/C/WKNotification.h:
801 * UIProcess/Notifications/WebNotification.cpp:
802 (WebKit::WebNotification::WebNotification):
803 * UIProcess/Notifications/WebNotification.h: Add replaceID member.
804 (WebKit::WebNotification::create):
805 (WebKit::WebNotification::replaceID):
807 * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
808 (WebKit::WebNotificationManagerProxy::show):
809 * UIProcess/Notifications/WebNotificationManagerProxy.h:
810 (WebNotificationManagerProxy):
811 * UIProcess/WebPageProxy.cpp:
812 (WebKit::WebPageProxy::showNotification):
813 * UIProcess/WebPageProxy.h:
815 * UIProcess/WebPageProxy.messages.in: Add replaceID to the showNotification message.
816 * WebProcess/Notifications/WebNotificationManager.cpp:
817 (WebKit::WebNotificationManager::show):
819 2012-03-05 Sheriff Bot <webkit.review.bot@gmail.com>
821 Unreviewed, rolling out r109748.
822 http://trac.webkit.org/changeset/109748
823 https://bugs.webkit.org/show_bug.cgi?id=80296
825 Made some tests crash, will fix and recommit (Requested by
829 * UIProcess/API/qt/qquickwebpage.cpp:
830 (QQuickWebPagePrivate::paintToCurrentGLContext):
831 (PageProxyNode::PageProxyNode):
833 (PageProxyNode::changedStates):
834 (PageProxyNode::render):
835 (PageProxyNode::~PageProxyNode):
836 (QQuickWebPage::updatePaintNode):
837 (QQuickWebPagePrivate::updateSize):
838 (QQuickWebPagePrivate::resetPaintNode):
839 (QQuickWebPagePrivate::~QQuickWebPagePrivate):
840 * UIProcess/API/qt/qquickwebpage_p_p.h:
841 (QQuickWebPagePrivate):
842 * UIProcess/DrawingAreaProxy.h:
844 (WebKit::DrawingAreaProxy::layerTreeHostProxy):
846 * UIProcess/DrawingAreaProxyImpl.cpp:
847 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
848 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
849 * UIProcess/LayerTreeHostProxy.h:
850 (LayerTreeHostProxy):
851 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
852 (WebKit::LayerTreeHostProxy::syncAnimations):
853 (WebKit::LayerTreeHostProxy::updateViewport):
854 (WebKit::LayerTreeHostProxy::syncLayerParameters):
855 (WebKit::LayerTreeHostProxy::flushLayerChanges):
856 (WebKit::LayerTreeHostProxy::ensureRootLayer):
857 (WebKit::LayerTreeHostProxy::syncRemoteContent):
858 (WebKit::LayerTreeHostProxy::dispatchUpdate):
860 (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
861 (WebKit::LayerTreeHostProxy::purgeGLResources):
862 * UIProcess/qt/QtWebPageSGNode.cpp: Removed.
863 * UIProcess/qt/QtWebPageSGNode.h: Removed.
865 2012-03-05 Joone Hur <joone.hur@collabora.co.uk>
867 [GTK] zlib link error with --enable-webkit2
868 https://bugs.webkit.org/show_bug.cgi?id=79877
870 Reviewed by Martin Robinson.
872 zlib should be linked properly.
874 * GNUmakefile.am: Link $(ZLIB_LIBS) with libwebkit2gtk instead of
875 linking it with WebKitWebProcess.
877 2012-03-05 Carlos Garcia Campos <cgarcia@igalia.com>
879 [WK2] WKPageGetContextMenuFromProposedContextMenuCallback should pass a HitTestResult
880 https://bugs.webkit.org/show_bug.cgi?id=77208
882 Reviewed by Anders Carlsson.
884 A HitTestResultData is now passed to ShowContextMenu WebPageProxy
885 message instead of the ContextMenuState. ContextMenu client has
886 been updated to pass the HitTestResult to the
887 getContextMenuFromProposedMenu callback.
889 * GNUmakefile.am: Remove ContextMenuState.h.
890 * Shared/APIClientTraits.h:
891 * Shared/ContextMenuState.h: Removed.
892 * Shared/WebHitTestResult.h:
893 (WebKit::WebHitTestResult::Data::Data): Add constructor that takes
894 a WebCore::HitTestResult.
895 * UIProcess/API/C/WKPage.h: Add HitTestResult parameter to
896 getContextMenuFromProposedMenu callback and deprecate the old
898 * UIProcess/WebPageContextMenuClient.cpp:
899 (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
900 Pass a HitTestResult to getContextMenuFromProposedMenu or use the
901 deprecated one if client version is an old one.
902 * UIProcess/WebPageContextMenuClient.h:
903 * UIProcess/WebPageProxy.cpp:
904 (WebKit::WebPageProxy::showContextMenu):
905 (WebKit::WebPageProxy::internalShowContextMenu): Save the
906 WebHitTestResult::Data to use it for handling context menu actions.
907 (WebKit::WebPageProxy::contextMenuItemSelected): Use the saved
908 WebHitTestResult::Data.
909 * UIProcess/WebPageProxy.h:
910 * UIProcess/WebPageProxy.messages.in:
911 * WebKit2.xcodeproj/project.pbxproj: Remove ContextMenuState.h.
912 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
913 (WebKit::WebChromeClient::mouseDidMoveOverElement): Use the new
914 WebHitTestResult::Data constructor that takes a WebCore::HitTestResult.
915 * WebProcess/WebPage/WebContextMenu.cpp:
916 (WebKit::WebContextMenu::show): Create a WebHitTestResult::Data
917 instead of a ContextMenuState and pass it to ShowContextMenu message.
918 * win/WebKit2.vcproj: ContextMenuState.h.
920 2012-03-05 No'am Rosenthal <noam.rosenthal@nokia.com>
922 [Qt] [WK2] Support threaded renderer in WK2
923 https://bugs.webkit.org/show_bug.cgi?id=76661
925 Made the appropriate fixes in the UI process code to make rendering thread-safe.
926 - Separated the scenegraph node code to QtWebPageSGNode. QtWebPageSGNode has direct access
927 to LayerTreeHostProxy.
929 - Each function in LayerTreeHostProxy can be either called from the main thread (handling
930 messages from the web process), or from the renderer thread (handling the GL context).
931 The render-queue is locked with a mutex, and messages back to the web process are sent
932 via callOnMainThread.
934 - LayerTreeHostProxy is now ThreadSafeRefCounted. That is done to make sure that the GL
935 resources it creates are only freed when the QtWebPageSGNode is deleted, which can be
936 before or after the owning DrawingAreaProxy is deleted. This ensures that the class is
937 deleted only after its GL resources are freed, otherwise those resources may leak.
939 Based on a patch by Viatcheslav Ostapenko.
941 Reviewed by Kenneth Rohde Christiansen.
943 * Target.pri: Added new files.
944 * UIProcess/API/qt/qquickwebpage.cpp: Moved QtWebPageSGNode out.
945 (QQuickWebPage::updatePaintNode): Call QtWebPageSGNode
946 (QQuickWebPagePrivate::updateSize): Call QtWebPageSGNode
947 (QQuickWebPagePrivate::didDeleteSGWebPageNode): Override QtWebPageSGNode::Client
948 (QQuickWebPagePrivate::~QQuickWebPagePrivate):
949 * UIProcess/API/qt/qquickwebpage_p_p.h:
950 (QQuickWebPagePrivate):
951 * UIProcess/DrawingAreaProxy.h:
953 (WebKit::DrawingAreaProxy::layerTreeHostProxy): Made LayerTreeHostProxy ref-counted.
955 * UIProcess/DrawingAreaProxyImpl.cpp:
956 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
957 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
958 * UIProcess/LayerTreeHostProxy.h:
960 (WebKit::LayerTreeHostProxy::create):
961 (LayerTreeHostProxy):
962 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
963 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
965 (MainThreadGuardedInvoker):
966 A class that allows invoking functions in the main thread, while guarding a ref-
969 (WebKit::MainThreadGuardedInvoker::call):
970 (WebKit::MainThreadGuardedInvoker::MainThreadGuardedInvoker):
971 (WebKit::MainThreadGuardedInvoker::invoke):
972 (WebKit::LayerTreeHostProxy::syncAnimations):
973 (WebKit::LayerTreeHostProxy::updateViewport):
974 (WebKit::LayerTreeHostProxy::detachDrawingArea):
975 (WebKit::LayerTreeHostProxy::syncLayerParameters):
976 (WebKit::LayerTreeHostProxy::setShouldRenderNextFrame):
977 (WebKit::LayerTreeHostProxy::flushLayerChanges):
978 (WebKit::LayerTreeHostProxy::ensureRootLayer):
979 (WebKit::LayerTreeHostProxy::syncRemoteContent):
980 (WebKit::LayerTreeHostProxy::dispatchUpdate):
981 (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
982 (WebKit::LayerTreeHostProxy::purgeGLResources):
983 * UIProcess/qt/QtWebPageSGNode.cpp: Added.
984 * UIProcess/qt/QtWebPageSGNode.h: Added.
986 2012-03-04 Raphael Kubo da Costa <kubo@profusion.mobi>
988 [CMake] Libraries are installed to /usr/lib and not /usr/lib64 on x86_64
989 https://bugs.webkit.org/show_bug.cgi?id=71507
991 Reviewed by Antonio Gomes.
993 * CMakeLists.txt: Use ${LIB_INSTALL_DIR} instead of hardcoding "lib".
995 2012-03-03 Simon Hausmann <simon.hausmann@nokia.com>
997 [Qt] Fix static_libs_as_shared build
998 https://bugs.webkit.org/show_bug.cgi?id=80214
1000 Reviewed by Tor Arne Vestbø.
1002 Replace (static) link time dependency to WK1 with entrypoint
1003 in the separate WebProcess for activating the QStyle theme if
1007 * UIProcess/Launcher/ProcessLauncher.h:
1008 * WebProcess/qt/WebProcessMainQt.cpp:
1009 (WebKit::WebProcessMainQt):
1014 2012-03-03 Hans Wennborg <hans@chromium.org>
1016 Implement Speech JavaScript API
1017 https://bugs.webkit.org/show_bug.cgi?id=80019
1019 Reviewed by Adam Barth.
1021 Add ENABLE_SCRIPTED_SPEECH.
1023 * Configurations/FeatureDefines.xcconfig:
1025 2012-03-03 No'am Rosenthal <noam.rosenthal@nokia.com>
1027 [Qt] Use the existing inheritedOpacity/matrix properties of QSGNode
1028 https://bugs.webkit.org/show_bug.cgi?id=79543
1030 Use QSGNode::inheritedOpacity() and QSGNode::matrix().
1031 Also, remove flags from changedStates() that we don't actually touch.
1032 This is covered by existing API tests.
1034 Reviewed by Kenneth Rohde Christiansen.
1036 * UIProcess/API/qt/qquickwebpage.cpp:
1037 (QQuickWebPagePrivate::paintToCurrentGLContext):
1038 (PageProxyNode::changedStates):
1039 (PageProxyNode::render):
1040 * UIProcess/API/qt/qquickwebpage_p_p.h:
1041 (QQuickWebPagePrivate):
1043 2012-03-03 Anders Carlsson <andersca@apple.com>
1045 Fix build with newer versions of clang.
1047 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1048 (WebKit::NPN_GetValue):
1049 Cast the switch parameter to unsigned to prevent warnings about case values not being part of the enum type.
1051 2012-03-02 Andy Estes <aestes@apple.com>
1053 Move nsStringFromWebCoreString out of PageClientImpl
1054 https://bugs.webkit.org/show_bug.cgi?id=80202
1056 Reviewed by Sam Weinig.
1058 nsStringFromWebCoreString() doesn't really belong in PageClientImpl.mm,
1059 and it makes us include PageClientImpl.h in places where we shouldn't.
1060 Move this function into StringUtilities.{h, mm}.
1062 * Platform/mac/StringUtilities.h: Added.
1063 * Platform/mac/StringUtilities.mm: Added.
1064 (WebKit::nsStringFromWebCoreString):
1065 * UIProcess/API/mac/PageClientImpl.h:
1066 * UIProcess/API/mac/PageClientImpl.mm:
1067 * UIProcess/API/mac/WKView.mm:
1068 * UIProcess/mac/WebContextMenuProxyMac.mm:
1069 * UIProcess/mac/WebPageProxyMac.mm:
1070 * UIProcess/mac/WebPopupMenuProxyMac.mm:
1071 * UIProcess/mac/WebPreferencesMac.mm:
1072 * WebKit2.xcodeproj/project.pbxproj:
1074 2012-03-02 Andy Estes <aestes@apple.com>
1076 Remove com.apple.WebKit.PluginProcess.sb from WebKit2.xcodeproj's Headers build phase
1077 https://bugs.webkit.org/show_bug.cgi?id=80197
1079 Reviewed by Alexey Proskuryakov.
1081 It doesn't belong there, and it makes Xcode consider the project to be
1082 invalid, triggering assertions in some builds of Xcode.
1084 * WebKit2.xcodeproj/project.pbxproj:
1086 2012-03-02 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
1088 [Qt] Fix spelling mistake in header guard
1090 Reviewed by Noam Rosenthal.
1092 * UIProcess/API/qt/qwebviewportinfo_p.h:
1094 2012-03-02 Carlos Garcia Campos <cgarcia@igalia.com>
1096 [GTK] Invalid check in webkit_web_view_set_zoom_level() when zoom-text-only is enabled
1097 https://bugs.webkit.org/show_bug.cgi?id=80150
1099 Reviewed by Philippe Normand.
1101 * UIProcess/API/gtk/WebKitWebView.cpp:
1102 (webkit_web_view_set_zoom_level): Use
1103 webkit_web_view_get_zoom_level() instead of
1104 WKPageGetPageZoomFactor() to get the current effective zoom level
1105 depending on zoom-text-only setting.
1107 2012-03-02 Allan Sandfeld Jensen <allan.jensen@nokia.com>
1109 Fix build on AppleWebKit after 109548.
1111 * mac/WebKit2.order:
1113 2012-03-02 Simon Hausmann <simon.hausmann@nokia.com>
1115 [Qt] Fix tests run with WTR not using QStyle theme
1116 https://bugs.webkit.org/show_bug.cgi?id=80147
1118 Reviewed by Csaba Osztrogonác.
1120 Use an environment variable (set by WTR) to select the QStyle theme.
1121 This is a temporary kludge until we rebase the layout tests to use the
1122 QStyle independent "mobile" theme. This also temporarily breaks the
1123 force_static_libs_as_shared build.
1126 * WebProcess/qt/WebProcessMainQt.cpp:
1127 (WebKit::WebProcessMainQt):
1129 2012-03-02 Simon Hausmann <simon.hausmann@nokia.com>
1131 [Qt] Compile WebCore without QtWidgets
1132 https://bugs.webkit.org/show_bug.cgi?id=80141
1134 Reviewed by Tor Arne Vestbø.
1136 * Shared/qt/WebEventFactoryQt.cpp: Removed unnecessary include.
1137 * Target.pri: Require widgets for WK2 for the moment, until bug #79458
1140 2012-03-02 Allan Sandfeld Jensen <allan.jensen@nokia.com>
1142 Suspend/Resume API for pausing timers and animations.
1143 https://bugs.webkit.org/show_bug.cgi?id=76063
1145 Based on the initial work of Zalan Bujtas <zalan.bujtas@nokia.com>,
1147 Adds suspend and resume API for WebKit2 and uses it in Qt to
1148 suspend animations and DOM timers during panning and zoom.
1150 Reviewed by Kenneth Rohde Christiansen.
1152 * UIProcess/API/qt/qquickwebview.cpp:
1153 (QQuickWebViewFlickablePrivate::_q_suspend):
1154 (QQuickWebViewFlickablePrivate::_q_resume):
1155 * UIProcess/WebPageProxy.cpp:
1156 (WebKit::WebPageProxy::WebPageProxy):
1157 (WebKit::WebPageProxy::resumeActiveDOMObjectsAndAnimations):
1158 (WebKit::WebPageProxy::suspendActiveDOMObjectsAndAnimations):
1159 (WebKit::WebPageProxy::processDidCrash):
1160 * UIProcess/WebPageProxy.h:
1161 * WebProcess/WebPage/WebPage.cpp:
1162 (WebKit::WebPage::suspendActiveDOMObjectsAndAnimations):
1163 (WebKit::WebPage::resumeActiveDOMObjectsAndAnimations):
1164 * WebProcess/WebPage/WebPage.h:
1165 * WebProcess/WebPage/WebPage.messages.in:
1167 2012-03-02 Joone Hur <joone.hur@collabora.co.uk>
1169 Unreviewed. Fix WebKit2 GTK+ build.
1171 * GNUmakefile.am: allow WebKitWebProcess to link with zlib properly.
1173 2012-03-01 Andras Becsi <andras.becsi@nokia.com>
1175 [Qt][WK2] Make the interaction with the Flickable work on the N9
1176 https://bugs.webkit.org/show_bug.cgi?id=80029
1178 Reviewed by Simon Hausmann.
1180 Because the WebView item accepts all touch events it receives and sends
1181 them to the web process before propagating them to the gesture recognizers,
1182 which is correct behaviour, we can not rely on the touch->mouse conversion
1183 of Qt5 when controlling Flickable. Hence we need to convert the received
1184 touch events to mouse events in the QtFlickProvider.
1186 * UIProcess/qt/QtFlickProvider.cpp:
1187 (QtFlickProvider::handleTouchFlickEvent):
1188 Do the touch to mouse event conversion for the Flickable.
1189 * UIProcess/qt/QtPanGestureRecognizer.cpp:
1190 (WebKit::QtPanGestureRecognizer::recognize):
1191 A touch begin event should cancel the previous pan gesture
1192 and stop the ongoing flick animation.
1194 2012-03-01 Anders Carlsson <andersca@apple.com>
1196 Assertion failure in pageContainsAnyHorizontalScrollbars() (scrollableArea->isOnActivePage()) when leaving pages with embedded PDFs
1197 https://bugs.webkit.org/show_bug.cgi?id=80044
1198 <rdar://problem/10919940>
1200 Reviewed by Brady Eidson.
1202 Remove the code that would add and remove wheel event handlers since that's not what we want to track.
1203 Instead, dynamically add and remove the view as its scrollbars come and go.
1205 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
1206 (WebKit::BuiltInPDFView::updateScrollbars):
1207 (WebKit::BuiltInPDFView::initialize):
1208 * WebProcess/Plugins/PDF/BuiltInPDFView.h:
1211 2012-03-01 Kangil Han <kangil.han@samsung.com>
1213 [DRT] Remove all PlainTextController usages in existing tests by adding internal API
1214 https://bugs.webkit.org/show_bug.cgi?id=78570
1216 Reviewed by Hajime Morita.
1218 This patch will remove all PlainTextController usages
1219 in existing DRT tests by adding internal API to WebCore/testing/Internals
1222 * win/WebKit2CFLite.def:
1224 2012-03-01 Nikolas Zimmermann <nzimmermann@rim.com>
1226 Unreviewed, rolling out r109255.
1227 http://trac.webkit.org/changeset/109255
1228 https://bugs.webkit.org/show_bug.cgi?id=79932
1230 Breaks rounded rects with dashed strokes in SVG
1232 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1233 (InitWebCoreSystemInterface):
1235 2012-03-01 Sergio Villar Senin <svillar@igalia.com>
1237 [WK2] [GTK] [libsoup] SoupSession should use system CA
1238 https://bugs.webkit.org/show_bug.cgi?id=79657
1240 Reviewed by Martin Robinson.
1242 SoupSession sould use system CA list to validate SSL
1243 certificates. Do not use strict certificate validation though as
1244 we want clients to decide whether or not accept/decline invalid
1245 certificates (API to be added later).
1247 No new tests required as current behaviour does not change at all
1248 as we continue to accept invalid certificates by default.
1250 * WebProcess/gtk/WebProcessMainGtk.cpp:
1251 (WebKit::WebProcessMainGtk):
1253 2012-03-01 Carlos Garcia Campos <cgarcia@igalia.com>
1255 Unreviewed. Fix WebKit2 GTK+ build.
1257 * UIProcess/API/gtk/WebKitDefines.h:
1258 * UIProcess/API/gtk/WebKitWebView.h:
1260 2012-02-29 Simon Hausmann <simon.hausmann@nokia.com>
1262 [Qt][WK2] QQuickWebView::event should lookup faster which events QQuickWebPage can handle
1263 https://bugs.webkit.org/show_bug.cgi?id=78047
1265 Reviewed by Kenneth Rohde Christiansen.
1267 Replaced double-dispatch of events with direct forwarding of events from QQuickWebView::*Event to
1268 QtWebPageEventHandler::handle*Event.
1270 * UIProcess/API/qt/qquickwebview.cpp:
1271 (QQuickWebView::keyPressEvent):
1272 (QQuickWebView::keyReleaseEvent):
1273 (QQuickWebView::inputMethodEvent):
1274 (QQuickWebView::focusInEvent):
1275 (QQuickWebView::focusOutEvent):
1276 (QQuickWebView::touchEvent):
1277 (QQuickWebView::mousePressEvent):
1278 (QQuickWebView::mouseMoveEvent):
1279 (QQuickWebView::mouseReleaseEvent):
1280 (QQuickWebView::mouseDoubleClickEvent):
1281 (QQuickWebView::wheelEvent):
1282 (QQuickWebView::hoverEnterEvent):
1283 (QQuickWebView::hoverMoveEvent):
1284 (QQuickWebView::hoverLeaveEvent):
1285 (QQuickWebView::dragMoveEvent):
1286 (QQuickWebView::dragEnterEvent):
1287 (QQuickWebView::dragLeaveEvent):
1288 (QQuickWebView::dropEvent):
1289 (QQuickWebView::event):
1290 * UIProcess/qt/QtWebPageEventHandler.cpp:
1291 (QtWebPageEventHandler::handleMouseMoveEvent):
1292 (QtWebPageEventHandler::handleMousePressEvent):
1293 (QtWebPageEventHandler::handleMouseReleaseEvent):
1294 (QtWebPageEventHandler::handleWheelEvent):
1295 (QtWebPageEventHandler::handleHoverLeaveEvent):
1296 (QtWebPageEventHandler::handleHoverMoveEvent):
1297 (QtWebPageEventHandler::handleDragEnterEvent):
1298 (QtWebPageEventHandler::handleDragLeaveEvent):
1299 (QtWebPageEventHandler::handleDragMoveEvent):
1300 (QtWebPageEventHandler::handleDropEvent):
1301 (QtWebPageEventHandler::handleKeyPressEvent):
1302 (QtWebPageEventHandler::handleKeyReleaseEvent):
1303 (QtWebPageEventHandler::handleFocusInEvent):
1304 (QtWebPageEventHandler::handleFocusOutEvent):
1305 (QtWebPageEventHandler::handleInputMethodEvent):
1306 (QtWebPageEventHandler::handleTouchEvent):
1307 * UIProcess/qt/QtWebPageEventHandler.h:
1308 (QtWebPageEventHandler):
1310 2012-03-01 Csaba Osztrogonác <ossy@webkit.org>
1312 [Qt][WK2] Unreviewed buildfix after r109277.
1314 * WebProcess/qt/QtBuiltinBundlePage.cpp:
1315 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
1317 2012-02-29 No'am Rosenthal <noam.rosenthal@nokia.com>
1319 [Qt][WK2] Get rid of the #ifdef mess in LayerTreeHost[Proxy]
1320 https://bugs.webkit.org/show_bug.cgi?id=79501
1322 Use a new UI_SIDE_COMPOSITING flag instead of the several #ifdef flags we currently use.
1324 Reviewed by Kenneth Rohde Christiansen.
1326 * Shared/WebLayerTreeInfo.cpp:
1327 * Shared/WebLayerTreeInfo.h:
1328 * UIProcess/DrawingAreaProxy.cpp:
1330 * UIProcess/DrawingAreaProxy.h:
1332 * UIProcess/DrawingAreaProxyImpl.cpp:
1333 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
1334 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
1336 * UIProcess/DrawingAreaProxyImpl.h:
1337 (DrawingAreaProxyImpl):
1338 * UIProcess/LayerTreeHostProxy.h:
1339 (LayerTreeHostProxy):
1340 * UIProcess/WebPageProxy.cpp:
1341 (WebKit::WebPageProxy::didReceiveMessage):
1342 * UIProcess/qt/LayerBackingStore.cpp:
1343 * UIProcess/qt/LayerBackingStore.h:
1344 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
1345 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
1346 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
1347 * WebProcess/WebPage/DrawingArea.h:
1349 * WebProcess/WebPage/DrawingAreaImpl.cpp:
1351 * WebProcess/WebPage/DrawingAreaImpl.h:
1353 * WebProcess/WebPage/LayerTreeHost.cpp:
1354 (WebKit::LayerTreeHost::create):
1355 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
1356 (WebKit::LayerTreeHostQt::purgeBackingStores):
1357 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
1360 2012-02-28 Brian Weinstein <bweinstein@apple.com>
1362 WebKit2: didNewFirstVisuallyNonEmptyLayout should be sent to injected bundle
1363 https://bugs.webkit.org/show_bug.cgi?id=79849
1365 Tell the injected bundle about didNewFirstVisuallyNonEmptyLayout (we currently
1366 just tell the UI process).
1368 Reviewed by Beth Dakin.
1370 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add didNewFirstVisuallyNonEmptyLayout to version 1.
1371 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
1372 (WebKit::InjectedBundlePageLoaderClient::didNewFirstVisuallyNonEmptyLayout): Call through to the
1374 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
1375 (InjectedBundlePageLoaderClient):
1376 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1377 (WebKit::WebFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout): Tell the injected
1380 2012-02-29 Tim Horton <timothy_horton@apple.com>
1382 Make use of CG rounded-rect primitives
1383 https://bugs.webkit.org/show_bug.cgi?id=79932
1384 <rdar://problem/9274953>
1386 Reviewed by Simon Fraser.
1388 Add wkCGPathAddRoundedRect.
1390 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1391 (InitWebCoreSystemInterface):
1393 2012-02-29 Andy Estes <aestes@apple.com>
1395 CFURLDownloadScheduleWithCurrentMessageQueue only exists on Windows
1396 https://bugs.webkit.org/show_bug.cgi?id=79936
1398 Reviewed by Brady Eidson.
1400 CFURLDownloadScheduleWithCurrentMessageQueue only exists on Windows
1401 platforms. Non-Windows platforms that use CFNetwork-based downloads
1402 should omit this call.
1404 * WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
1405 (WebKit::Download::start):
1407 2012-02-29 Rafael Brandao <rafael.lobo@openbossa.org>
1409 [Qt][WK2] We should not add NetscapeBrowserFuncs.cpp as header
1410 https://bugs.webkit.org/show_bug.cgi?id=79847
1412 Reviewed by Alexey Proskuryakov.
1414 * Target.pri: Fix typo, so we can add ".h" file instead.
1416 2012-02-29 Sam Weinig <sam@webkit.org>
1418 When invoking Lookup while zoomed in, the highlighted word renders out of line
1419 <rdar://problem/10812527>
1421 Reviewed by Simon Fraser.
1423 * WebProcess/WebPage/mac/WebPageMac.mm:
1424 (WebKit::WebPage::performDictionaryLookupForRange):
1425 Make sure to scale the ascent when determining the origin for the overlay.
1427 2012-02-29 Carlos Garcia Campos <cgarcia@igalia.com>
1429 [GTK] Use text or page zoom factor in WebKitWebView depending on zoom-text-only
1430 https://bugs.webkit.org/show_bug.cgi?id=75252
1432 Reviewed by Gustavo Noronha Silva.
1434 * UIProcess/API/gtk/WebKitWebView.cpp:
1435 (zoomTextOnlyChanged): Update text/page zoom factor when
1436 zoom-text-only setting changes.
1437 (webkitWebViewSetSettings): Helper function to set the settings
1438 object for the web view, initializing the settings for the page
1439 and connecting to notify::zoom-text-only signal.
1440 (webkitWebViewConstructed): Use webkitWebViewSetSettings().
1441 (webkit_web_view_set_settings): Use webkitWebViewSetSettings() and
1442 disconnect from the notify::zoom-text-only signal of the previous
1444 (webkit_web_view_set_zoom_level): Set text/page zoom factor
1445 depending on WebKitSettings:zoom-text-only property.
1446 (webkit_web_view_get_zoom_level): Get text/page zoom factor
1447 depending on WebKitSettings:zoom-text-only property.
1448 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
1449 (testWebViewZoomLevel):
1451 2012-02-29 Carlos Garcia Campos <cgarcia@igalia.com>
1453 [GTK] Add zoom-text-only setting to WebKit2 GTK+ API
1454 https://bugs.webkit.org/show_bug.cgi?id=75249
1456 Reviewed by Gustavo Noronha Silva.
1458 To set whether zoom level of web view should affect only the text
1459 or all page contents. It's disabled by default.
1461 * UIProcess/API/gtk/WebKitSettings.cpp:
1462 (webKitSettingsSetProperty):
1463 (webKitSettingsGetProperty):
1464 (webkit_settings_class_init): Add WebKitSettings:zoom-text-only
1466 (webkit_settings_set_zoom_text_only): Set
1467 WebKitSettings:zoom-text-only.
1468 (webkit_settings_get_zoom_text_only): Get
1469 WebKitSettings:zoom-text-only.
1470 * UIProcess/API/gtk/WebKitSettings.h:
1471 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new
1473 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
1474 (testWebKitSettings):
1476 2012-02-29 Sergio Villar Senin <svillar@igalia.com>
1478 DidFindString should be emitted even if FindOptionsShowOverlay is not enabled
1479 https://bugs.webkit.org/show_bug.cgi?id=76522
1481 Reviewed by Darin Adler.
1483 DidFindString message should be issued always even if neither
1484 FindOptionsShowOverlay or FindOptionsShowHighlight are
1485 provided. The difference is that if any of those flags are present
1486 the find operation will look for all the appearances of the text
1487 in the web view, otherwise it will just look and report the next
1490 This patch removes the temporary workaround added in r109222 to
1491 the WebKitFindController unit tests.
1493 * UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
1494 * WebProcess/WebPage/FindController.cpp:
1495 (WebKit::FindController::findString):
1497 2012-01-19 Sergio Villar Senin <svillar@igalia.com>
1499 [GTK] [WK2] Add Find API
1500 https://bugs.webkit.org/show_bug.cgi?id=76070
1502 Reviewed by Martin Robinson.
1504 This patch adds a new public find API for the Gtk+ WK2 port. It
1505 defines a new object called WebKitFindController owned by each
1506 WebKitWebView. Clients will use this new object to search strings
1507 in the WebKitWebView.
1509 Changes include also documentation and unit tests for the new
1513 * UIProcess/API/gtk/WebKitDefines.h:
1514 * UIProcess/API/gtk/WebKitFindController.cpp: Added.
1515 (didFindString): implementation of the WKPage Find interface.
1516 (didFailToFindString): Ditto.
1517 (didCountStringMatches): Ditto.
1518 (webkit_find_controller_init):
1519 (getWKPageFromWebKitWebView):
1520 (webkitFindControllerConstructed):
1521 (webkitFindControllerGetProperty):
1522 (webkitFindControllerSetProperty):
1523 (webkitFindControllerFinalize):
1524 (webkit_find_controller_class_init):
1525 (webkit_find_controller_get_search_text):
1526 (webkit_find_controller_get_options):
1527 (webkit_find_controller_get_max_match_count):
1528 (webkit_find_controller_get_web_view):
1529 (webKitFindControllerPerform):
1530 (webKitFindControllerSetSearchData):
1531 (webkit_find_controller_search): asynchronously looks for the
1532 search string in the WebKitWebView.
1533 (webkit_find_controller_search_finish): unhighlights text matches.
1534 (webkit_find_controller_search_next):
1535 (webkit_find_controller_search_previous):
1536 (webkit_find_controller_count_matches): asynchronously counts the
1537 number of matches of the search string in the WebKitWebView.
1538 * UIProcess/API/gtk/WebKitFindController.h: Added.
1539 * UIProcess/API/gtk/WebKitPrivate.h:
1540 * UIProcess/API/gtk/WebKitWebView.cpp:
1541 (webkit_web_view_get_find_controller): returns the
1542 WebKitFindController instance owned by the WebKitWebView.
1543 * UIProcess/API/gtk/WebKitWebView.h:
1544 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
1545 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
1546 * UIProcess/API/gtk/docs/webkit2gtk.types:
1547 * UIProcess/API/gtk/tests/GNUmakefile.am:
1548 * UIProcess/API/gtk/tests/TestWebKitFindController.cpp: Added.
1549 (testFindControllerTextFound):
1550 (testFindControllerTextNotFound):
1551 (testFindControllerMatchCount):
1552 (testFindControllerMaxMatchCount):
1553 (testFindControllerNext):
1554 (testFindControllerPrevious):
1555 (testFindControllerCountedMatches):
1556 (testFindControllerOptions):
1557 (testFindControllerInstance):
1558 (testFindControllerGetters):
1559 (testFindControllerHide):
1562 * UIProcess/API/gtk/webkit2.h:
1564 2012-02-28 Simon Fraser <simon.fraser@apple.com>
1566 Update WebKitSystemInterface.
1568 Reviewed by Sam Weinig.
1570 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1571 (InitWebCoreSystemInterface):
1573 2012-02-28 Hugo Parente Lima <hugo.lima@openbossa.org>
1575 All mouse events after a right click are ignored when they came from WebkitTestRunner
1576 https://bugs.webkit.org/show_bug.cgi?id=77350
1578 Reviewed by Chang Shu.
1580 Never ignore mouse events when using sync events, even if the context menu is being
1581 show but the Ui did replied the ShowContextMenu event with a ContextMenuHidden.
1583 * WebProcess/WebPage/WebPage.cpp:
1584 (WebKit::WebPage::mouseEventSyncForTesting):
1586 2012-02-28 Alexey Proskuryakov <ap@apple.com>
1590 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Check for build platform
1593 2012-02-28 Alexey Proskuryakov <ap@apple.com>
1597 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue):
1598 Check for build platform properly.
1600 2012-02-28 Enrica Casucci <enrica@apple.com>
1602 More Pasteboard code cleanup.
1603 https://bugs.webkit.org/show_bug.cgi?id=79816
1605 Removing the last references to NSPasteboard.
1607 Reviewed by Alexey Proskuryakov.
1609 * WebProcess/WebCoreSupport/WebEditorClient.h:
1610 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
1611 (WebKit::WebEditorClient::setInsertionPasteboard):
1613 2012-02-28 Alexey Proskuryakov <ap@apple.com>
1615 [Mac] Add an experimental SPI for plug-ins to enter sandbox
1616 https://bugs.webkit.org/show_bug.cgi?id=79709
1618 Reviewed by Anders Carlsson.
1620 * PluginProcess/PluginProcess.h: (WebKit::PluginProcess::pluginPath): Exposed plugin path.
1622 * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb: Added.
1624 * WebKit2.xcodeproj/project.pbxproj: Added new files.
1626 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue): Exposed
1627 a function to access sandboxing functions when available.
1629 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h: Added.
1630 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Added.
1632 2012-02-28 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
1634 [Qt] Allow read/write to the WebView.url property
1635 https://bugs.webkit.org/show_bug.cgi?id=77554
1637 Reviewed by Tor Arne Vestbø.
1639 Change QML API WebView.url to read/write to reflect either the url requested by the user.
1640 Also removed WebView.load(url). Defers setting url (loading page) until onComponentComplete is triggered.
1641 Fixed c++ and qml tests to reflect the new API.
1644 * UIProcess/API/qt/qquickwebview.cpp:
1645 (QQuickWebViewPrivate::QQuickWebViewPrivate):
1646 (QQuickWebViewPrivate::onComponentComplete):
1647 (QQuickWebView::setUrl):
1648 * UIProcess/API/qt/qquickwebview_p_p.h:
1649 (QQuickWebViewPrivate):
1650 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
1651 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml:
1652 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
1653 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
1654 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
1655 * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
1656 * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml:
1657 * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
1658 * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml:
1659 * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
1660 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
1661 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml:
1662 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml:
1663 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
1664 * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml:
1665 * UIProcess/API/qt/tests/qmltests/WebView/tst_origin.qml:
1666 * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
1667 * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml:
1668 * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml:
1669 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
1670 (tst_QQuickWebView::loadEmptyPageViewHidden):
1671 (tst_QQuickWebView::loadNonexistentFileUrl):
1673 2012-02-28 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
1675 [Qt] Signal and property cleanup in QQuickWebView
1676 https://bugs.webkit.org/show_bug.cgi?id=78820
1678 Reviewed by Noam Rosenthal.
1680 - Remove parameters from property change notify signals:
1681 titleChanged, urlChanged, iconChanged, loadProgressChanged
1682 - Rename the parameters of linkHovered to prevent shadoing properties of WebView
1683 - Rename navigationStateChanged to navigationHistoryChanged
1685 * UIProcess/API/qt/qquickwebview.cpp:
1686 (QQuickWebViewPrivate::QQuickWebViewPrivate):
1687 (QQuickWebViewPrivate::initialize):
1688 (QQuickWebViewPrivate::_q_onUrlChanged):
1689 (QQuickWebViewPrivate::setIcon):
1690 * UIProcess/API/qt/qquickwebview_p.h:
1691 * UIProcess/API/qt/qquickwebview_p_p.h:
1692 (QQuickWebViewPrivate):
1693 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
1694 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
1695 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
1696 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
1697 (tst_QQuickWebView::loadProgress):
1698 * UIProcess/qt/QtWebPageLoadClient.cpp:
1699 (QtWebPageLoadClient::didCommitLoadForFrame):
1700 (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
1701 (QtWebPageLoadClient::didReceiveTitleForFrame):
1702 (QtWebPageLoadClient::setLoadProgress):
1703 * UIProcess/qt/QtWebPageLoadClient.h:
1704 (QtWebPageLoadClient):
1706 2012-02-28 Mario Sanchez Prada <msanchez@igalia.com>
1708 [GTK] Add GMainLoop and GMainContext to be handled by GRefPtr
1709 https://bugs.webkit.org/show_bug.cgi?id=79496
1711 Reviewed by Martin Robinson.
1713 Updated places where raw pointers to GMainLoop and GMainContext
1714 were being used, replacing them with GRefPtr-based code.
1716 * Platform/WorkQueue.h:
1718 * Platform/gtk/WorkQueueGtk.cpp:
1719 (WorkQueue::platformInitialize):
1720 (WorkQueue::platformInvalidate):
1721 (WorkQueue::workQueueThreadBody):
1722 (WorkQueue::registerEventSourceHandler):
1723 (WorkQueue::dispatchOnSource):
1724 * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
1725 (WebKit::WebPopupMenuProxyGtk::WebPopupMenuProxyGtk):
1726 (WebKit::WebPopupMenuProxyGtk::showPopupMenu):
1727 (WebKit::WebPopupMenuProxyGtk::shutdownRunLoop):
1728 * UIProcess/gtk/WebPopupMenuProxyGtk.h:
1729 (WebPopupMenuProxyGtk):
1731 2012-02-28 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
1733 [Qt] Initialize QtWebContext as much as we can in its constructor.
1734 https://bugs.webkit.org/show_bug.cgi?id=79809
1736 Reviewed by Tor Arne Vestbø.
1738 The icon database wouldn't be initialized on the QtWebContext while in WebKitTestRunner
1739 since it doesn't call the initialize method on it after creating it.
1740 Remove the initialize method, move the download manager and icon database initialization
1741 in the constructor and call initializeContextInjectedBundleClient directly in
1742 defaultContext to prevent overriding WKTR's injected bundle client.
1744 * UIProcess/qt/QtWebContext.cpp:
1745 (WebKit::QtWebContext::QtWebContext):
1746 (WebKit::QtWebContext::defaultContext):
1747 * UIProcess/qt/QtWebContext.h:
1750 2012-02-28 Carlos Garcia Campos <cgarcia@igalia.com>
1752 [GTK] Inconsistent state of WebKitWebView when replacing content in WebKit2
1753 https://bugs.webkit.org/show_bug.cgi?id=79775
1755 Reviewed by Martin Robinson.
1757 Use an enum instead of a boolean to track the status of a
1758 replace_content() load operation. We need to know when the load of
1759 the replace content actually starts to not ignore valid load
1760 events of a previous ongoing load operation.
1762 * UIProcess/API/gtk/WebKitWebView.cpp:
1763 (webkitWebViewLoadChanged): Transit to new replace content state
1764 when replacing content depending on the load event.
1765 (webkitWebViewLoadFailed): Ignore load failed events when
1767 (webkitWebViewSetEstimatedLoadProgress): Ignore load progress when
1769 (webkit_web_view_replace_content): Set replace content status to
1771 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
1772 (replaceContentLoadCallback):
1773 (testWebViewReplaceContent):
1774 * UIProcess/API/gtk/tests/WebViewTest.cpp:
1776 (WebViewTest::waitUntilTitleChanged): Convenient method to wait
1777 until title changes. Use with replaceConent() since load events
1778 are not emitted when replacing content.
1779 * UIProcess/API/gtk/tests/WebViewTest.h:
1781 2012-02-27 Anders Carlsson <andersca@apple.com>
1783 Add basic page overlay support to TiledCoreAnimationDrawingArea
1784 https://bugs.webkit.org/show_bug.cgi?id=79716
1785 <rdar://problem/10923079>
1787 Reviewed by Sam Weinig.
1789 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1790 Make TiledCoreAnimationDrawingArea a GraphicsLayerClient.
1792 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1793 (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
1794 Create the page overlay layer.
1796 (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
1797 Destroy the page overlay layer.
1799 (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
1800 Mark the page overlay layer as needing display.
1802 (WebKit::TiledCoreAnimationDrawingArea::notifyAnimationStarted):
1803 (WebKit::TiledCoreAnimationDrawingArea::notifySyncRequired):
1804 Add empty GraphisLayerClient member function implementations.
1806 (WebKit::TiledCoreAnimationDrawingArea::paintContents):
1807 Ask the page overlay to paint itself.
1809 (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
1810 Flush the page overlay layer.
1812 (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
1813 Resize the page overlay layer.
1815 (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
1816 If we have a page overlay layer, add it as a sublayer of the root layer.
1818 (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
1819 Create the page overlay layer and add it as a sublayer of the root layer.
1821 (WebKit::TiledCoreAnimationDrawingArea::destroyPageOverlayLayer):
1822 Remove the page overlay layer and destroy it.
1824 2012-02-28 Carlos Garcia Campos <cgarcia@igalia.com>
1826 [GTK] Remove virtual methods of WebKitDownload signals in WebKit2 GTK+ API
1827 https://bugs.webkit.org/show_bug.cgi?id=79804
1829 Reviewed by Martin Robinson.
1831 That comes from the first patch that followed the approach of the
1832 first LoaderClient implementation. With current implementation
1833 download signals, except decide-destination, don't need to be
1834 true_handled, and they won't have a default handler
1835 implementation. Also the download object is not supposed to be
1836 inheritable, since instances are created privately by the
1837 WebContext, so it's not possible to override the virtual methods
1840 * UIProcess/API/gtk/WebKitDownload.cpp:
1841 (webkit_download_class_init):
1842 (webkitDownloadNotifyProgress):
1843 (webkitDownloadFailed):
1844 (webkitDownloadFinished):
1845 * UIProcess/API/gtk/WebKitDownload.h:
1846 (_WebKitDownloadClass):
1847 * UIProcess/API/gtk/webkit2marshal.list:
1849 2012-02-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
1851 [Qt] Fix build for WK2, do not use enum type if values can be outside the enum
1852 https://bugs.webkit.org/show_bug.cgi?id=79800
1854 Reviewed by Csaba Osztrogonác.
1856 We have two different enums called NavigationRequestAction. If we use one of them
1857 to store the variables, compilers can rightfully warn about comparison with
1858 values from other enums.
1860 We might revisit the strategy of exposing different enumerations in experimental,
1861 but for now, fallback to using int for the 'action' property in
1862 QWebNavigationRequest.
1864 * UIProcess/API/qt/qwebnavigationrequest.cpp:
1865 (QWebNavigationRequestPrivate):
1866 (QWebNavigationRequest::setAction):
1867 (QWebNavigationRequest::action):
1868 * UIProcess/API/qt/qwebnavigationrequest_p.h:
1869 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
1871 2012-02-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
1873 [Qt] API changes to QWebNavigationRequest
1874 https://bugs.webkit.org/show_bug.cgi?id=78821
1876 Reviewed by Kenneth Rohde Christiansen.
1878 Changes discussed in API review at Szeged: rename 'button' to 'mouseButton',
1879 rename 'modifiers' to 'keyboardModifiers', remove 'originatingUrl' and
1880 use the enum type for 'action'.
1882 * UIProcess/API/qt/qwebnavigationrequest.cpp:
1883 (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
1884 (QWebNavigationRequestPrivate):
1885 (QWebNavigationRequest::QWebNavigationRequest):
1886 (QWebNavigationRequest::setAction):
1887 (QWebNavigationRequest::mouseButton):
1888 (QWebNavigationRequest::keyboardModifiers):
1889 (QWebNavigationRequest::action):
1890 * UIProcess/API/qt/qwebnavigationrequest_p.h:
1891 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
1892 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
1893 * UIProcess/qt/QtWebPagePolicyClient.cpp:
1894 (QtWebPagePolicyClient::decidePolicyForNavigationAction):
1895 * UIProcess/qt/QtWebPagePolicyClient.h:
1896 (QtWebPagePolicyClient):
1898 2012-02-28 Shinya Kawanaka <shinyak@chromium.org>
1900 Element should be able to have multiple shadow roots.
1901 https://bugs.webkit.org/show_bug.cgi?id=77931
1903 Reviewed by Hajime Morita.
1906 * win/WebKit2CFLite.def:
1908 2012-02-28 Hugo Parente Lima <hugo.lima@openbossa.org>
1910 [Qt][WK2] Use movementStarted/Ended signals instead of movingChanged on QtViewportInterationEngine
1911 https://bugs.webkit.org/show_bug.cgi?id=79521
1913 Reviewed by Kenneth Rohde Christiansen.
1915 movingChanged() signal is emitted many times, so the use of movementStarted() and
1916 movementEnded() is a better choice.
1918 * UIProcess/qt/QtFlickProvider.cpp:
1919 (QtFlickProvider::QtFlickProvider):
1920 * UIProcess/qt/QtFlickProvider.h:
1922 * UIProcess/qt/QtViewportInteractionEngine.cpp:
1923 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
1924 * UIProcess/qt/QtViewportInteractionEngine.h:
1925 (QtViewportInteractionEngine):
1927 2012-02-27 Shinya Kawanaka <shinyak@chromium.org>
1929 Element::removeShadowRoot() and setShadowRoot() should be moved into ShadowTree.
1930 https://bugs.webkit.org/show_bug.cgi?id=78313
1932 Reviewed by Hajime Morita.
1935 * win/WebKit2CFLite.def:
1937 2012-02-27 Brady Eidson <beidson@apple.com>
1939 <rdar://problem/10924993> and https://bugs.webkit.org/show_bug.cgi?id=79725
1940 <a ping> doesn't work in WebKit2
1942 Reviewed by Alexey Proskuryakov.
1944 * WebProcess/WebPage/WebPage.cpp:
1945 (WebKit::WebPage::updatePreferences): Push the WK2 <a ping> setting to WebCore::Settings.
1947 2012-02-27 Enrica Casucci <enrica@apple.com>
1949 WebKit2: implement platform strategy to access Pasteboard in the UI process.
1950 https://bugs.webkit.org/show_bug.cgi?id=79253
1951 <rdar://problem/9971876>
1953 Reviewed by Alexey Proskuryakov.
1955 * UIProcess/WebContext.h:
1956 * UIProcess/WebContext.messages.in: Added messages to access NSPasteboard
1958 * UIProcess/mac/WebContextMac.mm: Added methods corresponding to the
1960 (WebKit::WebContext::getPasteboardTypes):
1961 (WebKit::WebContext::getPasteboardPathnamesForType):
1962 (WebKit::WebContext::getPasteboardStringForType):
1963 (WebKit::WebContext::getPasteboardBufferForType):
1964 (WebKit::WebContext::pasteboardCopy):
1965 (WebKit::WebContext::getPasteboardChangeCount):
1966 (WebKit::WebContext::getPasteboardUniqueName):
1967 (WebKit::WebContext::getPasteboardColor):
1968 (WebKit::WebContext::setPasteboardTypes):
1969 (WebKit::WebContext::setPasteboardPathnamesForType):
1970 (WebKit::WebContext::setPasteboardStringForType):
1971 (WebKit::WebContext::setPasteboardBufferForType):
1972 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: New implementation of the PasteboardStrategy using message exchange
1973 with the UI process.
1974 (WebKit::WebPlatformStrategies::getTypes):
1975 (WebKit::WebPlatformStrategies::bufferForType):
1976 (WebKit::WebPlatformStrategies::getPathnamesForType):
1977 (WebKit::WebPlatformStrategies::stringForType):
1978 (WebKit::WebPlatformStrategies::copy):
1979 (WebKit::WebPlatformStrategies::changeCount):
1980 (WebKit::WebPlatformStrategies::uniqueName):
1981 (WebKit::WebPlatformStrategies::color):
1982 (WebKit::WebPlatformStrategies::setTypes):
1983 (WebKit::WebPlatformStrategies::setBufferForType):
1984 (WebKit::WebPlatformStrategies::setPathnamesForType):
1985 (WebKit::WebPlatformStrategies::setStringForType):
1987 2012-02-27 Dan Bernstein <mitz@apple.com>
1989 <rdar://problem/9557598> REGRESSION (WebKit2): Non-activating links sometimes don’t work
1990 https://bugs.webkit.org/show_bug.cgi?id=79607
1992 Reviewed by Adele Peterson.
1994 Test: TestWebKitAPI/Tests/mac/AcceptsFirstMouse.mm
1996 This was caused by not mapping the mouse event coordinates from window coordinates to
1997 document coordinates.
1999 * WebProcess/WebPage/mac/WebPageMac.mm:
2000 (WebKit::WebPage::performDictionaryLookupAtLocation): Convert the point to main frame
2001 coordinates when performing the hit test.
2002 (WebKit::WebPage::shouldDelayWindowOrderingEvent): Convert the point to the main or focused
2003 frame coordinates when perfomring the hit test.
2004 (WebKit::WebPage::acceptsFirstMouse): Ditto.
2006 2012-02-27 Timothy Hatcher <timothy@apple.com>
2008 Add WKInspector API to know when the Web Inspector is the frontmost window.
2010 Also makes the Safari Develop menu items work when the Web Inspector is frontmost.
2012 https://webkit.org/b/79649
2014 Reviewed by John Sullivan.
2016 * UIProcess/API/C/WKInspector.cpp:
2017 (WKInspectorIsFront): Added. Call WebInspectorProxy::isFront.
2018 * UIProcess/API/C/WKInspector.h:
2019 * UIProcess/WebInspectorProxy.cpp:
2020 (WebKit::WebInspectorProxy::isFront): Added. Call platformIsFront.
2021 * UIProcess/WebInspectorProxy.h:
2022 * UIProcess/efl/WebInspectorEfl.cpp:
2023 (WebKit::WebInspectorProxy::platformIsFront): Added stub.
2024 * UIProcess/gtk/WebInspectorGtk.cpp:
2025 (WebKit::WebInspectorProxy::platformIsFront): Added stub.
2026 * UIProcess/mac/WebInspectorProxyMac.mm:
2027 (-[WKWebInspectorProxyObjCAdapter showWebInspector:]): Added. Makes the Develop menu items in Safari work when
2028 the Web Inspector window is front.
2029 (-[WKWebInspectorProxyObjCAdapter showErrorConsole:]): Added. Ditto.
2030 (-[WKWebInspectorProxyObjCAdapter showResources:]): Added. Ditto.
2031 (-[WKWebInspectorProxyObjCAdapter viewSource:]): Added. Ditto.
2032 (-[WKWebInspectorProxyObjCAdapter toggleDebuggingJavaScript:]): Added. Ditto.
2033 (-[WKWebInspectorProxyObjCAdapter toggleProfilingJavaScript:]): Added. Ditto.
2034 (-[WKWebInspectorProxyObjCAdapter validateUserInterfaceItem:]): Added. Update the menu item titles.
2035 (WebKit::WebInspectorProxy::platformIsFront): Added. Return if visible and the window is main.
2036 * UIProcess/qt/WebInspectorProxyQt.cpp:
2037 (WebKit::WebInspectorProxy::platformIsFront): Added stub.
2038 * UIProcess/win/WebInspectorProxyWin.cpp:
2039 (WebKit::WebInspectorProxy::platformIsFront): Added stub.
2041 2012-02-26 YoungTaeck Song <youngtaeck.song@samsung.com>
2043 [EFL][WK2] Add InjectedBundleEfl.cpp
2044 https://bugs.webkit.org/show_bug.cgi?id=75463
2046 Reviewed by Andreas Kling.
2048 Add first version of InjectedBundleEfl.cpp including load() and placeholder for activateMacFontAscentHack().
2050 * WebProcess/InjectedBundle/InjectedBundle.h:
2051 * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp:
2052 (WebKit::InjectedBundle::load):
2053 (WebKit::InjectedBundle::activateMacFontAscentHack):
2055 2012-02-26 Shinya Kawanaka <shinyak@chromium.org>
2057 Rename ShadowRootList to ShadowTree.
2058 https://bugs.webkit.org/show_bug.cgi?id=79342
2060 Reviewed by Hajime Morita.
2063 * win/WebKit2CFLite.def:
2065 2012-02-26 Hajime Morrita <morrita@chromium.org>
2067 Move ChromeClient::showContextMenu() to ContextMenuClient
2068 https://bugs.webkit.org/show_bug.cgi?id=79427
2070 Reviewed by Adam Barth.
2072 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2073 * WebProcess/WebCoreSupport/WebChromeClient.h:
2075 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
2077 (WebKit::WebContextMenuClient::showContextMenu): Moved from WebChromeClient
2078 * WebProcess/WebCoreSupport/WebContextMenuClient.h:
2079 (WebContextMenuClient):
2080 * WebProcess/WebPage/WebPage.cpp:
2081 (WebKit::handleContextMenuEvent):
2082 (WebKit::handleMouseEvent):
2083 (WebKit::WebPage::mouseEvent):
2084 (WebKit::WebPage::mouseEventSyncForTesting):
2086 2012-02-26 Huang Dongsung <luxtella@company100.net>
2088 Use Functional instead of a MessageQueue for messages to the LayerTreeHostProxy
2090 https://bugs.webkit.org/show_bug.cgi?id=79478
2092 This makes a lot of the broilerplate code for message-passing unnecessary, and
2093 results in a much more succinct implementation.
2095 Reviewed by Noam Rosenthal.
2097 * UIProcess/LayerTreeHostProxy.h:
2099 (LayerTreeHostProxy):
2100 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2102 (WebKit::LayerTreeHostProxy::updateTile):
2103 (WebKit::LayerTreeHostProxy::createImage):
2104 (WebKit::LayerTreeHostProxy::syncRemoteContent):
2105 (WebKit::LayerTreeHostProxy::dispatchUpdate):
2106 (WebKit::LayerTreeHostProxy::createTileForLayer):
2107 (WebKit::LayerTreeHostProxy::updateTileForLayer):
2108 (WebKit::LayerTreeHostProxy::removeTileForLayer):
2109 (WebKit::LayerTreeHostProxy::deleteCompositingLayer):
2110 (WebKit::LayerTreeHostProxy::setRootCompositingLayer):
2111 (WebKit::LayerTreeHostProxy::syncCompositingLayerState):
2112 (WebKit::LayerTreeHostProxy::didRenderFrame):
2113 (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
2114 (WebKit::LayerTreeHostProxy::destroyDirectlyCompositedImage):
2116 2012-02-26 Filip Pizlo <fpizlo@apple.com>
2120 * Platform/mac/RemoteLayerClient.mm:
2121 (WebKit::RemoteLayerClient::RemoteLayerClient):
2123 2012-02-26 Sam Weinig <sam@webkit.org>
2125 Encapsulate uses of WKSI to setup a remote layer into a new RemoteLayerClient class
2126 https://bugs.webkit.org/show_bug.cgi?id=79612
2128 Reviewed by Anders Carlsson.
2130 * Platform/mac/RemoteLayerClient.h:
2131 * Platform/mac/RemoteLayerClient.mm:
2132 (WebKit::RemoteLayerClient::create):
2133 (WebKit::RemoteLayerClient::RemoteLayerClient):
2134 (WebKit::RemoteLayerClient::~RemoteLayerClient):
2135 (WebKit::RemoteLayerClient::clientID):
2136 (WebKit::RemoteLayerClient::invalidate):
2137 New class that encapsulates calls to WKSI WKCARemoteLayerClient*. For platforms
2138 where the use of WKSI is not necessary, due to CARemoteLayerClient being available,
2141 * PluginProcess/PluginControllerProxy.cpp:
2142 * PluginProcess/PluginControllerProxy.h:
2143 * PluginProcess/mac/PluginControllerProxyMac.mm:
2144 (WebKit::PluginControllerProxy::platformInitialize):
2145 (WebKit::PluginControllerProxy::platformDestroy):
2146 (WebKit::PluginControllerProxy::remoteLayerClientID):
2147 (WebKit::PluginControllerProxy::platformGeometryDidChange):
2148 * WebKit2.xcodeproj/project.pbxproj:
2149 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h:
2150 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
2151 (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer):
2152 (WebKit::WebFullScreenManagerMac::disposeOfLayerClient):
2153 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
2154 (LayerTreeHostCAMac):
2155 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
2156 (WebKit::LayerTreeHostCAMac::platformInitialize):
2157 (WebKit::LayerTreeHostCAMac::invalidate):
2158 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2159 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2160 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
2161 Switch to using RemoteLayerClient.
2163 * UIProcess/mac/WebContextMac.mm:
2164 (WebKit::WebContext::platformInitializeWebProcess):
2165 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
2166 (WebKit::PluginProcessProxy::platformInitializePluginProcess):
2167 Use CARemoteLayerServer directly if available.
2169 2012-02-25 Anders Carlsson <andersca@apple.com>
2171 Address review feedback from Andreas Kling.
2173 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2174 (WebKit::NetscapePlugin::platformHandleMouseEvent):
2176 2012-02-25 Anders Carlsson <andersca@apple.com>
2178 Mouse tracking incorrect in Silverlight when using multi monitor with offset arrangement
2179 https://bugs.webkit.org/show_bug.cgi?id=79589
2180 <rdar://problem/9719592>
2182 Reviewed by Sam Weinig.
2184 In the Carbon event model, mouse event coordinates are flipped relative to the first screen,
2185 whereas the coordinates we get from the WebMouseEvent are flipped relative to the screen where
2186 the containing WKView is on.
2188 Instead of passing the global coordinates to NPP_HandleEvent, convert them to the flipped screen coordinate
2189 system that the plug-in expects.
2191 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2192 (WebKit::NetscapePlugin::platformHandleMouseEvent):
2194 2012-02-25 Sheriff Bot <webkit.review.bot@gmail.com>
2196 Unreviewed, rolling out r108900.
2197 http://trac.webkit.org/changeset/108900
2198 https://bugs.webkit.org/show_bug.cgi?id=79587
2200 broke some API tests, will investigate and re-commit
2201 (Requested by noamr on #webkit).
2203 * UIProcess/API/qt/qquickwebpage.cpp:
2204 (computeEffectiveOpacity):
2205 (QQuickWebPagePrivate::paintToCurrentGLContext):
2206 (PageProxyNode::changedStates):
2207 (PageProxyNode::render):
2208 * UIProcess/API/qt/qquickwebpage_p_p.h:
2209 (QQuickWebPagePrivate):
2211 2012-02-25 No'am Rosenthal <noam.rosenthal@nokia.com>
2213 [Qt] Use the existing inheritedOpacity/matrix properties of QSGNode
2214 https://bugs.webkit.org/show_bug.cgi?id=79543
2216 Use QSGNode::inheritedOpacity() and QSGNode::matrix().
2217 Also, remove flags from changedStates() that we don't actually touch.
2219 Reviewed by Kenneth Rohde Christiansen.
2221 * UIProcess/API/qt/qquickwebpage.cpp:
2222 (QQuickWebPagePrivate::paintToCurrentGLContext):
2223 (PageProxyNode::changedStates):
2224 (PageProxyNode::render):
2225 * UIProcess/API/qt/qquickwebpage_p_p.h:
2226 (QQuickWebPagePrivate):
2228 2012-02-25 Sheriff Bot <webkit.review.bot@gmail.com>
2230 Unreviewed, rolling out r108816.
2231 http://trac.webkit.org/changeset/108816
2232 https://bugs.webkit.org/show_bug.cgi?id=79562
2234 It made many tests crash and timeout on Qt-WK2 (Requested by
2237 * UIProcess/API/qt/qquickwebview.cpp:
2238 (QQuickWebViewPrivate::QQuickWebViewPrivate):
2239 (QQuickWebViewPrivate::initialize):
2240 (QQuickWebViewPrivate::setIcon):
2241 * UIProcess/API/qt/qquickwebview_p.h:
2242 * UIProcess/API/qt/qquickwebview_p_p.h:
2243 (QQuickWebViewPrivate):
2244 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2245 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
2246 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
2247 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2248 (tst_QQuickWebView::loadProgress):
2249 * UIProcess/qt/QtWebPageLoadClient.cpp:
2250 (QtWebPageLoadClient::didCommitLoadForFrame):
2251 (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
2252 (QtWebPageLoadClient::didReceiveTitleForFrame):
2253 (QtWebPageLoadClient::setLoadProgress):
2254 * UIProcess/qt/QtWebPageLoadClient.h:
2255 (QtWebPageLoadClient):
2257 2012-02-24 Andy Estes <aestes@apple.com>
2259 REGRESSION (r108730): Webkit nightlies fails to start due to WKPreferencesGetSuppressIncrementalRendering renaming
2260 https://bugs.webkit.org/show_bug.cgi?id=79515
2262 Reviewed by Alexey Proskuryakov.
2264 Some versions of Safari contain call sites to two functions in WebKit2
2265 that were removed in r108730. Restore these two functions so that these
2266 versions of Safari can be used with WebKit nightly builds.
2268 * UIProcess/API/C/WKPreferences.cpp:
2269 (WKPreferencesSetSuppressIncrementalRendering):
2270 (WKPreferencesGetSuppressIncrementalRendering):
2271 * UIProcess/API/C/WKPreferences.h:
2273 2012-02-24 Jessie Berlin <jberlin@apple.com>
2275 requestPermission callback not invoked if the WebProcess doesn't have to ask the UI Process
2276 about the permission level.
2277 https://bugs.webkit.org/show_bug.cgi?id=79494
2279 Reviewed by Jon Honeycutt.
2281 Invoke the callback in the case where the permission level is known and no message is sent
2284 * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
2285 (WebKit::NotificationPermissionRequestManager::startRequest):
2287 2012-02-24 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
2289 [Qt] Signal and property cleanup in QQuickWebView
2290 https://bugs.webkit.org/show_bug.cgi?id=78820
2292 Reviewed by Simon Hausmann.
2294 - Remove parameters from property change notify signals:
2295 titleChanged, urlChanged, iconChanged, loadProgressChanged
2296 - Rename the parameters of linkHovered to prevent shadoing properties of WebView
2297 - Rename navigationStateChanged to navigationHistoryChanged
2299 * UIProcess/API/qt/qquickwebview.cpp:
2300 (QQuickWebViewPrivate::QQuickWebViewPrivate):
2301 (QQuickWebViewPrivate::initialize):
2302 (QQuickWebViewPrivate::_q_onUrlChanged):
2303 (QQuickWebViewPrivate::setIcon):
2304 * UIProcess/API/qt/qquickwebview_p.h:
2305 * UIProcess/API/qt/qquickwebview_p_p.h:
2306 (QQuickWebViewPrivate):
2307 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2308 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
2309 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
2310 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2311 (tst_QQuickWebView::loadProgress):
2312 * UIProcess/qt/QtWebPageLoadClient.cpp:
2313 (QtWebPageLoadClient::didCommitLoadForFrame):
2314 (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
2315 (QtWebPageLoadClient::didReceiveTitleForFrame):
2316 (QtWebPageLoadClient::setLoadProgress):
2317 * UIProcess/qt/QtWebPageLoadClient.h:
2318 (QtWebPageLoadClient):
2320 2012-02-24 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
2322 [Qt] API: Unify the loading properties and signals.
2323 https://bugs.webkit.org/show_bug.cgi?id=79486
2325 Reviewed by Simon Hausmann.
2327 - Remove the canReload signal, instead assume that calling reload in those cases
2328 won't have any effect.
2329 - Replace loadStarted, loadSucceeded and loadFailed by a single signal: loadingChanged.
2330 The signal carries an argument with a status and error codes giving the intended context.
2331 - Use loadingChanged as the notification signal for the property "loading" instead of
2332 navigationStateChanged.
2334 Also update all API tests to use the new loading signals and add some utility functions
2335 to track the loading since the new API aims to be more adapted to declarative logic
2336 and the auto tests are using an imperative logic.
2339 * UIProcess/API/qt/qquickwebview.cpp:
2340 (QQuickWebViewPrivate::QQuickWebViewPrivate):
2341 (QQuickWebViewPrivate::loadDidSucceed):
2342 (QQuickWebViewPrivate::didChangeLoadingState):
2343 (QQuickWebViewPrivate::processDidCrash):
2344 (QQuickWebViewPrivate::didRelaunchProcess):
2345 * UIProcess/API/qt/qquickwebview_p.h:
2346 * UIProcess/API/qt/qquickwebview_p_p.h:
2347 (QQuickWebViewPrivate):
2348 * UIProcess/API/qt/qwebloadrequest.cpp: Added.
2349 (QWebLoadRequestPrivate):
2350 (QWebLoadRequestPrivate::QWebLoadRequestPrivate):
2351 (QWebLoadRequest::QWebLoadRequest):
2352 (QWebLoadRequest::~QWebLoadRequest):
2353 (QWebLoadRequest::url):
2354 (QWebLoadRequest::status):
2355 (QWebLoadRequest::errorString):
2356 (QWebLoadRequest::errorDomain):
2357 (QWebLoadRequest::errorCode):
2358 * UIProcess/API/qt/qwebloadrequest_p.h: Added.
2359 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2360 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml:
2361 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
2362 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
2363 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
2364 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
2365 * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
2366 * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
2367 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
2368 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadHtml.qml:
2369 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml:
2370 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml:
2371 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
2372 * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml:
2373 * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
2374 * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml:
2375 * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml:
2376 * UIProcess/API/qt/tests/qmltests/common/TestWebView.qml: Added.
2377 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2378 (tst_QQuickWebView::navigationStatusAtStartup):
2379 (LoadStartedCatcher::LoadStartedCatcher):
2380 (LoadStartedCatcher::onLoadingChanged):
2381 (tst_QQuickWebView::stopEnabledAfterLoadStarted):
2382 (tst_QQuickWebView::loadEmptyPageViewHidden):
2383 (tst_QQuickWebView::loadNonexistentFileUrl):
2384 (tst_QQuickWebView::backAndForward):
2385 (tst_QQuickWebView::reload):
2386 (tst_QQuickWebView::stop):
2387 (tst_QQuickWebView::loadProgress):
2388 (tst_QQuickWebView::showWebView):
2389 (tst_QQuickWebView::multipleWebViewWindows):
2390 (tst_QQuickWebView::multipleWebViews):
2391 (tst_QQuickWebView::scrollRequest):
2392 * UIProcess/API/qt/tests/util.cpp:
2395 (LoadSpy::onLoadingChanged):
2396 (waitForLoadSucceeded):
2397 (waitForLoadFailed):
2398 * UIProcess/API/qt/tests/util.h:
2399 * UIProcess/qt/QtWebError.h:
2400 * UIProcess/qt/QtWebPageLoadClient.cpp:
2401 (QtWebPageLoadClient::didStartProvisionalLoadForFrame):
2402 (QtWebPageLoadClient::dispatchLoadFailed):
2403 * UIProcess/qt/QtWebPageLoadClient.h:
2404 (QtWebPageLoadClient):
2406 2012-02-24 Simon Hausmann <simon.hausmann@nokia.com>
2408 Unreviewed, rolling out r108798.
2409 http://trac.webkit.org/changeset/108798
2410 https://bugs.webkit.org/show_bug.cgi?id=78047
2412 Broke too many Qt WK2 tests.
2414 * UIProcess/API/qt/qquickwebview.cpp:
2415 (QQuickWebView::keyPressEvent):
2416 (QQuickWebView::keyReleaseEvent):
2417 (QQuickWebView::inputMethodEvent):
2418 (QQuickWebView::focusInEvent):
2419 (QQuickWebView::focusOutEvent):
2420 (QQuickWebView::touchEvent):
2421 (QQuickWebView::mousePressEvent):
2422 (QQuickWebView::mouseMoveEvent):
2423 (QQuickWebView::mouseReleaseEvent):
2424 (QQuickWebView::mouseDoubleClickEvent):
2425 (QQuickWebView::wheelEvent):
2426 (QQuickWebView::hoverEnterEvent):
2427 (QQuickWebView::hoverMoveEvent):
2428 (QQuickWebView::hoverLeaveEvent):
2429 (QQuickWebView::dragMoveEvent):
2430 (QQuickWebView::dragEnterEvent):
2431 (QQuickWebView::dragLeaveEvent):
2432 (QQuickWebView::dropEvent):
2433 (QQuickWebView::event):
2434 * UIProcess/qt/QtWebPageEventHandler.cpp:
2435 (QtWebPageEventHandler::handleEvent):
2436 (QtWebPageEventHandler::handleMouseMoveEvent):
2437 (QtWebPageEventHandler::handleMousePressEvent):
2438 (QtWebPageEventHandler::handleMouseReleaseEvent):
2439 (QtWebPageEventHandler::handleWheelEvent):
2440 (QtWebPageEventHandler::handleHoverLeaveEvent):
2441 (QtWebPageEventHandler::handleHoverMoveEvent):
2442 (QtWebPageEventHandler::handleDragEnterEvent):
2443 (QtWebPageEventHandler::handleDragLeaveEvent):
2444 (QtWebPageEventHandler::handleDragMoveEvent):
2445 (QtWebPageEventHandler::handleDropEvent):
2446 (QtWebPageEventHandler::handleKeyPressEvent):
2447 (QtWebPageEventHandler::handleKeyReleaseEvent):
2448 (QtWebPageEventHandler::handleFocusInEvent):
2449 (QtWebPageEventHandler::handleFocusOutEvent):
2450 (QtWebPageEventHandler::inputMethodEvent):
2451 (QtWebPageEventHandler::touchEvent):
2452 * UIProcess/qt/QtWebPageEventHandler.h:
2453 (QtWebPageEventHandler):
2455 2012-02-24 Simon Hausmann <simon.hausmann@nokia.com>
2457 [Qt][WK2] QQuickWebView::event should lookup faster which events QQuickWebPage can handle
2458 https://bugs.webkit.org/show_bug.cgi?id=78047
2460 Reviewed by Kenneth Rohde Christiansen.
2462 Replaced double-dispatch of events with direct forwarding of events from QQuickWebView::*Event to
2463 QtWebPageEventHandler::handle*Event.
2465 * UIProcess/API/qt/qquickwebview.cpp:
2466 (QQuickWebView::keyPressEvent):
2467 (QQuickWebView::keyReleaseEvent):
2468 (QQuickWebView::inputMethodEvent):
2469 (QQuickWebView::focusInEvent):
2470 (QQuickWebView::focusOutEvent):
2471 (QQuickWebView::touchEvent):
2472 (QQuickWebView::mousePressEvent):
2473 (QQuickWebView::mouseMoveEvent):
2474 (QQuickWebView::mouseReleaseEvent):
2475 (QQuickWebView::mouseDoubleClickEvent):
2476 (QQuickWebView::wheelEvent):
2477 (QQuickWebView::hoverEnterEvent):
2478 (QQuickWebView::hoverMoveEvent):
2479 (QQuickWebView::hoverLeaveEvent):
2480 (QQuickWebView::dragMoveEvent):
2481 (QQuickWebView::dragEnterEvent):
2482 (QQuickWebView::dragLeaveEvent):
2483 (QQuickWebView::dropEvent):
2484 (QQuickWebView::event):
2485 * UIProcess/qt/QtWebPageEventHandler.cpp:
2486 (QtWebPageEventHandler::handleMouseMoveEvent):
2487 (QtWebPageEventHandler::handleMousePressEvent):
2488 (QtWebPageEventHandler::handleMouseReleaseEvent):
2489 (QtWebPageEventHandler::handleWheelEvent):
2490 (QtWebPageEventHandler::handleHoverLeaveEvent):
2491 (QtWebPageEventHandler::handleHoverMoveEvent):
2492 (QtWebPageEventHandler::handleDragEnterEvent):
2493 (QtWebPageEventHandler::handleDragLeaveEvent):
2494 (QtWebPageEventHandler::handleDragMoveEvent):
2495 (QtWebPageEventHandler::handleDropEvent):
2496 (QtWebPageEventHandler::handleKeyPressEvent):
2497 (QtWebPageEventHandler::handleKeyReleaseEvent):
2498 (QtWebPageEventHandler::handleFocusInEvent):
2499 (QtWebPageEventHandler::handleFocusOutEvent):
2500 (QtWebPageEventHandler::handleInputMethodEvent):
2501 (QtWebPageEventHandler::handleTouchEvent):
2502 * UIProcess/qt/QtWebPageEventHandler.h:
2503 (QtWebPageEventHandler):
2505 2012-02-24 Simon Hausmann <simon.hausmann@nokia.com>
2507 [Qt] Use private QSGRenderNode in QQuickWebView for improved Qt Scene Graph integration
2508 https://bugs.webkit.org/show_bug.cgi?id=79022
2510 Reviewed by Csaba Osztrogonác.
2513 * UIProcess/API/qt/qquickwebpage.cpp:
2514 (PageProxyNode::PageProxyNode):
2515 (PageProxyNode::changedStates):
2516 (PageProxyNode::render):
2519 2012-02-24 Carlos Garcia Campos <cgarcia@igalia.com>
2521 [GTK] Encode/decode Null ResourceResponse objects in WebKit2
2522 https://bugs.webkit.org/show_bug.cgi?id=79471
2524 Reviewed by Philippe Normand.
2526 * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
2527 (CoreIPC::::encode): Check whether ResourceResponse is Null before
2529 (CoreIPC::::decode): Check whether response is Null and create a
2530 Null ResourceResponse object in such case.
2532 2012-02-24 Shinya Kawanaka <shinyak@chromium.org>
2534 SpellCheckRequest needs to know the context where the spellcheck happened.
2535 https://bugs.webkit.org/show_bug.cgi?id=79320
2537 Reviewed by Hajime Morita.
2539 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2540 (WebKit::WebEditorClient::requestCheckingOfString):
2541 * WebProcess/WebCoreSupport/WebEditorClient.h:
2543 2012-02-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
2545 [Qt] Tiling: Improve the method names dealing with moving and scaling.
2547 Rubberstamped by Simon Hausmann.
2549 * UIProcess/API/qt/qquickwebview.cpp:
2550 (QQuickWebViewLegacyPrivate::updateViewportSize):
2551 (QQuickWebViewFlickablePrivate::onComponentComplete):
2552 (QQuickWebViewFlickablePrivate::updateViewportSize):
2553 (QQuickWebViewFlickablePrivate::_q_commitScaleChange):
2554 (QQuickWebViewPrivate::_q_commitPositionChange):
2555 (QQuickWebViewFlickablePrivate::_q_resume):
2556 * UIProcess/API/qt/qquickwebview_p.h:
2557 * UIProcess/API/qt/qquickwebview_p_p.h:
2558 (QQuickWebViewPrivate):
2559 (QQuickWebViewPrivate::_q_commitScaleChange):
2560 (QQuickWebViewFlickablePrivate):
2561 * UIProcess/DrawingAreaProxy.h:
2562 (WebKit::DrawingAreaProxy::setVisibleContentsRectForScaling):
2563 (WebKit::DrawingAreaProxy::setVisibleContentsRectForPanning):
2564 * UIProcess/DrawingAreaProxyImpl.cpp:
2565 (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectForScaling):
2566 (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectForPanning):
2567 * UIProcess/DrawingAreaProxyImpl.h:
2568 (DrawingAreaProxyImpl):
2569 * UIProcess/LayerTreeHostProxy.h:
2570 (LayerTreeHostProxy):
2571 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2572 (WebKit::LayerTreeHostProxy::setVisibleContentsRectForPanning):
2573 (WebKit::LayerTreeHostProxy::setVisibleContentsRectForScaling):
2574 * UIProcess/qt/QtViewportInteractionEngine.cpp:
2575 (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
2576 (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
2577 (WebKit::QtViewportInteractionEngine::wheelEvent):
2578 (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
2579 * UIProcess/qt/QtViewportInteractionEngine.h:
2580 (QtViewportInteractionEngine):
2581 * WebProcess/WebPage/LayerTreeHost.h:
2582 (WebKit::LayerTreeHost::setVisibleContentsRectForScaling):
2583 (WebKit::LayerTreeHost::setVisibleContentsRectForPanning):
2584 (WebKit::LayerTreeHost::setVisibleContentsRectForLayer):
2585 * WebProcess/WebPage/LayerTreeHost.messages.in:
2586 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2587 (WebKit::LayerTreeHostQt::setVisibleContentsRectForScaling):
2588 (WebKit::LayerTreeHostQt::setVisibleContentsRectForPanning):
2589 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
2592 2012-02-24 Sergio Villar Senin <svillar@igalia.com>
2594 [WK2] [GTK] Destructor not invoked in EditorClientFrameDestructionObserver
2595 https://bugs.webkit.org/show_bug.cgi?id=79466
2597 Reviewed by Philippe Normand.
2599 Explicitly cast the observer before deleting it instead of just
2600 deleting a generic pointer. We must to that in order to get the
2601 destructor of the object properly called.
2603 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
2604 (WebKit::EditorClientFrameDestructionObserver::destroyOnClosureFinalization):
2606 2012-02-23 Andy Estes <aestes@apple.com>
2608 Rename [setS|s]uppressIncrementalRendering to [setS|s]uppressesIncrementalRendering and make it WebPreferences API.
2609 https://bugs.webkit.org/show_bug.cgi?id=79433
2611 Reviewed by Dan Bernstein.
2613 * Shared/WebPreferencesStore.h:
2615 * UIProcess/API/C/WKPreferences.cpp:
2616 (WKPreferencesSetSuppressesIncrementalRendering):
2617 (WKPreferencesGetSuppressesIncrementalRendering):
2618 * UIProcess/API/C/WKPreferences.h:
2619 * UIProcess/WebInspectorProxy.cpp:
2620 (WebKit::createInspectorPageGroup):
2621 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2622 (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
2623 * WebProcess/WebPage/WebPage.cpp:
2624 (WebKit::WebPage::updatePreferences):
2626 2012-02-23 Mario Sanchez Prada <msanchez@igalia.com>
2628 [GTK] Wrong signal name on emission in WebKitWindowProperties.cpp
2629 https://bugs.webkit.org/show_bug.cgi?id=79352
2631 Reviewed by Philippe Normand.
2633 Emit the signal 'resizable' instead of 'resizable-visible'.
2635 * UIProcess/API/gtk/WebKitWindowProperties.cpp:
2636 (webkitWindowPropertiesSetResizable): Use right signal name.
2638 2012-02-23 Anders Carlsson <andersca@apple.com>
2640 Flush layer changes after layout when resizing web page
2641 https://bugs.webkit.org/show_bug.cgi?id=79399
2642 <rdar://problem/10920157>
2644 Reviewed by Andreas Kling.
2646 Flush layer changes after layout, otherwise the scrollbars won't be updated
2647 until sometime later which looks bad.
2649 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2650 (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
2652 2012-02-23 Daniel Bates <dbates@webkit.org>
2654 Add missing "Reviewed by" line to change log entry for changeset r108631
2655 (https://bugs.webkit.org/show_bug.cgi?id=79252)
2657 The patch landed in changeset r108631 was reviewed by Martin Robinson.
2661 2012-02-23 Patrick Gansterer <paroga@webkit.org>
2663 [CMake] Add WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS macro
2664 https://bugs.webkit.org/show_bug.cgi?id=79371
2666 Reviewed by Daniel Bates.
2670 2012-02-23 Simon Hausmann <simon.hausmann@nokia.com>
2672 [Qt] Add support for touch cancellation
2673 https://bugs.webkit.org/show_bug.cgi?id=79348
2675 Reviewed by Kenneth Rohde Christiansen.
2677 Convert and forward incoming touch cancellation events
2680 * Shared/qt/WebEventFactoryQt.cpp:
2681 (WebKit::webEventTypeForEvent):
2682 (WebKit::WebEventFactory::createWebTouchEvent):
2683 * UIProcess/API/qt/qquickwebview.cpp:
2684 (QQuickWebView::event):
2685 * UIProcess/qt/QtWebPageEventHandler.cpp:
2686 (QtWebPageEventHandler::handleEvent):
2688 2012-02-23 Brent Fulgham <bfulgham@webkit.org>
2690 [WinCairo] Build fix after r108428.
2692 * win/WebKit2CFLite.def: Add missing export declaration.
2694 2012-02-23 Simon Hausmann <simon.hausmann@nokia.com>
2696 Unreviewed test fix after r108614: Adjust public API after changes.
2698 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2700 2012-02-23 Simon Hausmann <simon.hausmann@nokia.com>
2702 [Qt] Build fix. Qt WebKit2 can not be compiled due to QtWebPageEventHandler.
2703 https://bugs.webkit.org/show_bug.cgi?id=79335
2705 Reviewed by Kenneth Rohde Christiansen.
2707 In the upcoming Qt 5 builds the convenient setInputMethodHints method on QQuickItem
2708 will be removed. There's no need for us to use it, we can implement passing the hints
2709 to the input method right away in our re-implementation of inputMethodQuery, which works
2710 with old and newer Qt 5 builds.
2712 * UIProcess/API/qt/qquickwebview.cpp:
2713 (QQuickWebView::inputMethodQuery):
2714 * UIProcess/qt/QtWebPageEventHandler.cpp:
2715 (QtWebPageEventHandler::updateTextInputState):
2717 2012-02-23 Sergio Villar Senin <svillar@igalia.com>
2719 [WK2][GTK] WebProcess SIGSEVs due to incorrect clipboard handling
2720 https://bugs.webkit.org/show_bug.cgi?id=79252
2722 Reviewed by Martin Robinson.
2724 Do not execute clipboard callbacks after the Frame associated with
2727 This change is already covered by the TestWebViewEditor unit tests
2728 (among others), they hang (because WebProcess dies) without this
2729 patch in Debug builds.
2731 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
2732 (EditorClientFrameDestructionObserver):
2733 (WebKit::EditorClientFrameDestructionObserver::EditorClientFrameDestructionObserver):
2734 (WebKit::EditorClientFrameDestructionObserver::frameDestroyed):
2735 (WebKit::EditorClientFrameDestructionObserver::destroyOnClosureFinalization):
2737 (WebKit::WebEditorClient::setSelectionPrimaryClipboardIfNeeded):
2739 2012-02-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
2741 [Qt] Page doesn't get repainted while panning is in progress
2742 https://bugs.webkit.org/show_bug.cgi?id=78602
2744 Reviewed by Simon Hausmann.
2746 The tiling code needed the current visibleContentsRect in order to be
2747 able to create tiles, so we now make sure it gets it. We also needed
2748 to make sure to set the trajectory vector while panning and while the
2749 flicking engine was animating kinetic scrolling.
2751 * UIProcess/API/qt/qquickwebview.cpp:
2752 (QQuickWebViewFlickablePrivate::_q_updateVisibleContentRectAndScale):
2753 (QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged):
2754 * UIProcess/DrawingAreaProxy.h:
2755 (WebKit::DrawingAreaProxy::setVisibleContentRectTrajectoryVector):
2756 * UIProcess/DrawingAreaProxyImpl.cpp:
2757 (WebKit::DrawingAreaProxyImpl::setVisibleContentRectTrajectoryVector):
2758 * UIProcess/DrawingAreaProxyImpl.h:
2759 (DrawingAreaProxyImpl):
2760 * UIProcess/LayerTreeHostProxy.h:
2761 (LayerTreeHostProxy):
2762 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2763 (WebKit::LayerTreeHostProxy::setVisibleContentRectTrajectoryVector):
2764 * UIProcess/qt/QtViewportInteractionEngine.cpp:
2765 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
2766 (WebKit::QtViewportInteractionEngine::flickableMovingStateChanged):
2768 (WebKit::QtViewportInteractionEngine::panMoveStarted):
2769 (WebKit::QtViewportInteractionEngine::panMoveEnded):
2770 (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
2771 (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
2772 * UIProcess/qt/QtViewportInteractionEngine.h:
2773 (QtViewportInteractionEngine):
2774 * WebProcess/WebPage/LayerTreeHost.h:
2775 (WebKit::LayerTreeHost::setVisibleContentRectTrajectoryVector):
2776 * WebProcess/WebPage/LayerTreeHost.messages.in:
2777 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2778 (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
2779 (WebKit::LayerTreeHostQt::setVisibleContentRectTrajectoryVector):
2780 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
2783 2012-02-23 Patrick Gansterer <paroga@webkit.org>
2785 [CMAKE][WK2] Cleanup WebKit2/CMakeLists.txt.
2786 https://bugs.webkit.org/show_bug.cgi?id=76122
2788 Reviewed by Eric Seidel.
2790 * CMakeLists.txt: Removed hardcoded WTF_USE_JSC preprocessor definition.
2792 2012-02-23 Simon Hausmann <simon.hausmann@nokia.com>
2794 [WK2] Trivial build fix after r108615.
2796 * WebProcess/WebPage/WebPage.cpp:
2797 (WebKit::WebPage::WebPage):
2799 2012-02-22 Michael Tyutyunik <michael.tyutyunik@nokia.com>
2801 [Qt][WK2] navigationType is missing in new API
2802 https://bugs.webkit.org/show_bug.cgi?id=78867
2804 Reviewed by Simon Hausmann.
2806 In QtWebPagePolicyClient::decidePolicyForNavigationAction()
2807 navigationType argument is dropped by mistake. Adding it back
2808 and make it available through NavigationRequest.
2810 * UIProcess/API/qt/qquickwebview_p.h:
2811 * UIProcess/API/qt/qwebnavigationrequest.cpp:
2812 (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
2813 (QWebNavigationRequestPrivate):
2814 (QWebNavigationRequest::QWebNavigationRequest):
2815 (QWebNavigationRequest::navigationType):
2816 * UIProcess/API/qt/qwebnavigationrequest_p.h:
2817 * UIProcess/qt/QtWebPagePolicyClient.cpp:
2818 (QtWebPagePolicyClient::decidePolicyForNavigationAction):
2819 (toQuickWebViewNavigationType):
2820 * UIProcess/qt/QtWebPagePolicyClient.h:
2821 (QtWebPagePolicyClient):
2823 2012-02-22 Anders Carlsson <andersca@apple.com>
2825 Implement TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange
2826 https://bugs.webkit.org/show_bug.cgi?id=79297
2827 <rdar://problem/10748510>
2829 Reviewed by Beth Dakin.
2831 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
2832 (WebKit::TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange):
2833 Send a message to the web process.
2835 * WebProcess/WebPage/DrawingArea.h:
2836 (WebKit::DrawingArea::setDeviceScaleFactor):
2839 * WebProcess/WebPage/DrawingArea.messages.in:
2840 Add SetDeviceScaleFactor message.
2842 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2843 (WebKit::TiledCoreAnimationDrawingArea::setDeviceScaleFactor):
2844 Call WebPage::setDeviceScaleFactor.
2846 2012-02-22 Brady Eidson <beidson@apple.com>
2848 <rdar://problem/10406044> and https://bugs.webkit.org/show_bug.cgi?id=79279
2849 Synchronous ShouldGoToBackForwardListItem causes lots of WebProcess hangs
2851 Reviewed by Anders Carlsson.
2853 Anytime the WebProcess sends a sync message up to the UI Process a hang can ensue.
2855 In the case of shouldGoToBackForwardListItem it seems many clients want a back/forward
2856 notification but don't actually want to make a policy decision.
2858 Making it an asynchronous notification instead of a synchronous policy call will remove the
2859 possibility of a hang here.
2861 If clients later decide it is important to have a policy here we should implement a form of
2862 shouldGoToBackForwardListItem in the bundle loader client.
2864 Add a notification "willGoToBackForwardListItem" to the WKPageLoaderClient:
2865 * UIProcess/API/C/WKPage.h:
2867 * UIProcess/WebPageProxy.cpp:
2868 (WebKit::WebPageProxy::initializeLoaderClient): Tell the WebProcess whether it should be
2869 sending the shouldGoToBackForwardListItem or willGoToBackForwardListItem form of this message.
2870 (WebKit::WebPageProxy::shouldGoToBackForwardListItem):
2871 (WebKit::WebPageProxy::willGoToBackForwardListItem):
2872 * UIProcess/WebPageProxy.h:
2873 * UIProcess/WebPageProxy.messages.in: Add an asynchronous WillGoToBackForwardListItem message
2875 Store a flag in the WebProcess - Sent from the UIProcess - to tell the FrameLoaderClient which form
2876 of the callback should be used:
2877 * WebProcess/WebPage/WebPage.cpp:
2878 (WebKit::WebPage::WebPage):
2879 * WebProcess/WebPage/WebPage.h:
2880 (WebKit::WebPage::willGoToBackForwardItemCallbackEnabled):
2881 (WebKit::WebPage::setWillGoToBackForwardItemCallbackEnabled):
2882 * WebProcess/WebPage/WebPage.messages.in:
2884 * UIProcess/WebLoaderClient.cpp:
2885 (WebKit::WebLoaderClient::shouldGoToBackForwardListItem): Only consider calling this for
2887 (WebKit::WebLoaderClient::willGoToBackForwardListItem): Later clients get this callback.
2888 * UIProcess/WebLoaderClient.h:
2891 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2892 (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem): Send either the synchronous "should" message
2893 or the asynchronous "will" message depending on which the WebProcess was last told that the
2894 UIProcess expects. There is an edge case where the wrong one might be sent because the WebProcess
2895 hasn't received the message about a change in the WKPageLoaderClient yet but that's probably okay;
2896 It seems unlikely that a UIProcess client would ever rapidly change between v0 and other versions
2897 of the loader client and the UIProcess of WebKit2 is equipped to handle that case if it comes up.
2899 2012-02-16 Jon Lee <jonlee@apple.com>
2901 [WK2] Clearing notifications does not clean up internal state
2902 https://bugs.webkit.org/show_bug.cgi?id=78861
2903 <rdar://problem/10881167>
2905 Reviewed by Anders Carlsson.
2907 * WebProcess/Notifications/WebNotificationManager.cpp:
2908 (WebKit::WebNotificationManager::clearNotifications): This function was missing removing the notification
2909 entries from the other maps.
2910 (WebKit::WebNotificationManager::didDestroyNotification): When the notification is destroyed, it should
2911 also be removed from the context map.
2912 (WebKit::WebNotificationManager::didCloseNotifications): Refactor to pull out the code that removes
2913 a provided notification from the context map.
2914 (WebKit::WebNotificationManager::removeNotificationFromContextMap): Find the notification in the map, and
2915 remove it. If the map is empty, get rid of the entry.
2916 * WebProcess/Notifications/WebNotificationManager.h:
2917 (WebNotificationManager):
2919 2012-02-22 Jon Lee <jonlee@apple.com>
2921 Code cleanup in WebNotificationManager (79285)
2922 https://bugs.webkit.org/show_bug.cgi?id=79285
2923 <rdar://problem/10914522>
2925 Reviewed by Anders Carlsson.
2927 * WebProcess/Notifications/WebNotificationManager.cpp:
2928 (WebKit::WebNotificationManager::show): Simplify adding a blank vector to the map using .add(),
2929 similar to what is found in WebNotificationClient.mm in WebKit 1.
2931 2012-02-21 Ryosuke Niwa <rniwa@webkit.org>
2933 Remove the remaining uses of CSSStyleDeclaration in Editor
2934 https://bugs.webkit.org/show_bug.cgi?id=78939
2936 Reviewed by Enrica Casucci.
2938 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2939 (WebKit::WebEditorClient::shouldApplyStyle):
2940 * WebProcess/WebCoreSupport/WebEditorClient.h:
2943 2012-02-22 Martin Robinson <mrobinson@igalia.com>
2945 [GTK] Clean build is broken when using make -j
2946 https://bugs.webkit.org/show_bug.cgi?id=76388
2948 * GNUmakefile.am: Add some WebKit2 sources to global sources lists
2949 so that we can refer to them in separate GNUmakefiles.
2951 2012-02-22 Antaryami Pandia <antaryami.pandia@motorola.com>
2953 [GTK][WK2] Add WebGL WebSetting.
2954 https://bugs.webkit.org/show_bug.cgi?id=79217
2956 Reviewed by Martin Robinson.
2958 Add a WebSetting to enable/disable Webgl.
2960 * UIProcess/API/gtk/WebKitSettings.cpp:
2961 (webKitSettingsSetProperty):
2962 (webKitSettingsGetProperty):
2963 (webkit_settings_class_init):
2964 (webkit_settings_set_enable_webaudio):
2965 (webkit_settings_get_enable_webgl):
2966 (webkit_settings_set_enable_webgl):
2967 * UIProcess/API/gtk/WebKitSettings.h:
2968 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
2969 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
2970 (testWebKitSettings):
2972 2012-02-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
2974 [Qt] Disregard previous backing store as soon as possible
2975 https://bugs.webkit.org/show_bug.cgi?id=79232
2977 Reviewed by Simon Hausmann and No'am Rosenthal.
2979 Between creating the new backing store and painting the content,
2980 we do not want to drop the previous one as that might result in
2981 briefly seeing flickering as the old tiles may be dropped before
2982 something replaces them.
2984 But we do need to drop it at some point and we need to make sure
2985 to not spike the memory usage before of this.
2987 What we now do, is to store the previous backing store as before,
2988 but drop all tiles which are not visible and then drop it as soon
2989 as the visible rect (which might change due if followed by a quick
2990 panning) has been fully covered by tiles.
2992 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2993 (WebCore::WebGraphicsLayer::setContentsScale):
2994 (WebCore::WebGraphicsLayer::updateContentBuffers):
2996 2012-02-22 Michael BrĂĽning <michael.bruning@nokia.com>
2998 [Qt][WK2] Implement proxy authentication handling.
2999 https://bugs.webkit.org/show_bug.cgi?id=78792
3001 Reviewed by Simon Hausmann.
3003 This patch corrects two bugs with the previous implementation:
3004 1. The signal proxyAuthenticationRequired was not connected to a
3006 2. The slot onProxyAuthenticationRequired had the wrong parameters.
3008 * WebProcess/qt/QtNetworkAccessManager.cpp:
3009 (WebKit::QtNetworkAccessManager::QtNetworkAccessManager):
3010 (WebKit::QtNetworkAccessManager::onProxyAuthenticationRequired):
3011 * WebProcess/qt/QtNetworkAccessManager.h: Added include.
3012 (QtNetworkAccessManager):
3014 2012-02-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
3016 Merge setVisibleRectTrajectoryVector and adjustVisibleRect to
3017 the more descriptive coverWithTilesIfNeeded
3018 https://bugs.webkit.org/show_bug.cgi?id=79230
3020 Reviewed by Simon Hausmann.
3022 Replace use by coverWithTilesIfNeeded().
3024 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
3025 (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
3026 (WebCore::WebGraphicsLayer::adjustVisibleRect):
3027 (WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
3029 2012-02-22 Zalan Bujtas <zbujtas@gmail.com>
3031 [Qt][WK2] Add frame flattening setting to QWebPreferences.
3032 https://bugs.webkit.org/show_bug.cgi?id=79099
3034 Reviewed by Simon Hausmann.
3036 Frame flattening is enabled by default for Qt WebKit2.
3038 * UIProcess/API/qt/qquickwebview.cpp:
3039 (QQuickWebViewPrivate::initialize):
3040 * UIProcess/API/qt/qwebpreferences.cpp:
3041 (QWebPreferencesPrivate::testAttribute):
3042 (QWebPreferencesPrivate::setAttribute):
3043 (QWebPreferences::setNavigatorQtObjectEnabled):
3044 (QWebPreferences::frameFlatteningEnabled):
3045 (QWebPreferences::setFrameFlatteningEnabled):
3046 * UIProcess/API/qt/qwebpreferences_p.h:
3048 2012-02-22 Ryosuke Niwa <rniwa@webkit.org>
3050 Remove the remaining uses of CSSStyleDeclaration in Editor
3051 https://bugs.webkit.org/show_bug.cgi?id=78939
3053 Reviewed by Enrica Casucci.
3055 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
3056 (WebKit::WebEditorClient::shouldApplyStyle):
3057 * WebProcess/WebCoreSupport/WebEditorClient.h:
3060 2012-02-21 Carlos Garcia Campos <cgarcia@igalia.com>
3062 [GTK] Null ResourceErrors are encoded/decoded as empty ResourceErrors
3063 https://bugs.webkit.org/show_bug.cgi?id=79120
3065 Reviewed by Martin Robinson.
3067 * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
3068 (CoreIPC::::encode): Encode a boolean to indicate whether it's a
3070 (CoreIPC::::decode): Check whether the error is Null and do not
3071 continue decoding in such case.
3073 2012-02-21 No'am Rosenthal <noam.rosenthal@nokia.com>
3075 [Qt][WK2] Draw tiles of previous contents-scale for opaque layers if they don't intersect with previous tiles
3076 https://bugs.webkit.org/show_bug.cgi?id=78962
3078 Only avoid painting old-scale tiles in semi-transparent situtations if the old
3079 tiles intersect with existing tiles.
3081 Reviewed by Kenneth Rohde Christiansen.
3083 * UIProcess/qt/LayerBackingStore.cpp:
3084 (WebKit::LayerBackingStore::paintToTextureMapper):
3086 2012-02-21 No'am Rosenthal <noam.rosenthal@nokia.com>
3088 [Qt] Previous web page appears outside content rect
3089 https://bugs.webkit.org/show_bug.cgi?id=78816
3091 Apply a clip on painted tiles if some of the tiles fall outside of the target rect.
3093 Reviewed by Kenneth Rohde Christiansen.
3095 * UIProcess/qt/LayerBackingStore.cpp:
3096 (WebKit::LayerBackingStore::paintToTextureMapper):
3098 2012-02-21 No'am Rosenthal <noam.rosenthal@nokia.com>
3100 [Qt][WK2] Accelerated animations don't work on Mac
3101 https://bugs.webkit.org/show_bug.cgi?id=78963
3103 Problem came from using a non-RunLoop timer.
3104 Remove the unused viewportUpdateTimer, and use the existing animationTimer instead.
3105 Use a continuous timer that we only stop when animations stop.
3107 Reviewed by Kenneth Rohde Christiansen.
3109 * UIProcess/LayerTreeHostProxy.h:
3110 (LayerTreeHostProxy):
3111 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
3112 (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
3113 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
3115 (WebKit::LayerTreeHostProxy::syncAnimations):
3117 2012-02-21 Sam Weinig <sam@webkit.org>
3119 Attempt to fix the Snow Leopard build.
3121 * Configurations/Base.xcconfig:
3123 2012-02-21 Sam Weinig <sam@webkit.org>
3125 Use libc++ when building with Clang on Mac
3126 https://bugs.webkit.org/show_bug.cgi?id=78981
3128 Reviewed by Dan Bernstein.
3130 * Configurations/Base.xcconfig:
3132 2012-02-21 Andras Becsi <andras.becsi@nokia.com>
3134 [Qt][WK2] Get rid of the dependency to QtWidgets
3135 https://bugs.webkit.org/show_bug.cgi?id=76276
3137 Reviewed by Simon Hausmann.
3140 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
3142 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
3143 * UIProcess/API/qt/tests/tests.pri:
3144 * UIProcess/API/qt/tests/util.h:
3146 2012-02-20 Martin Robinson <mrobinson@igalia.com>
3148 [UNIX] Plugin information fields are not interpreted as UTF-8
3149 https://bugs.webkit.org/show_bug.cgi?id=78635
3151 Reviewed by Gustavo Noronha Silva.
3153 Interpret plugin metadata as UTF8 aways. This matches the behavior
3154 of Chromium and the Totem plugin.
3156 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
3157 (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin): Use String::fromUTF8.
3159 2012-02-20 Carlos Garcia Campos <cgarcia@igalia.com>
3161 [GTK] Adding SOUP_TYPE_PROXY_RESOLVER_DEFAULT feature to soup session makes WebProcess to hang
3162 https://bugs.webkit.org/show_bug.cgi?id=79036
3164 Reviewed by Martin Robinson.
3166 This looks like a bug in gobject. Initializing the WebProcess
3167 before creating the soup session seems to fix the problem. It's
3168 actually a workaround, but initializing the WebProcess as sson as
3169 possible it's a good idea in any case.
3171 * WebProcess/gtk/WebProcessMainGtk.cpp:
3172 (WebKit::WebProcessMainGtk):
3174 2012-02-20 Michael BrĂĽning <michael.bruning@nokia.com>
3176 [Qt][WK2] Implement proxy authentication handling.
3177 https://bugs.webkit.org/show_bug.cgi?id=78792
3179 Reviewed by Simon Hausmann.
3181 This patch implements the proxy authentication handling
3182 for the Qt port in a similar matter to the http authentication
3185 Since there is a need to pass the proxy port, which is of type uint16_t,
3186 from the WebProcess to the UIProcess, an encoder and a decoder for
3187 this type was added because it did not exist.
3189 The message that was added to the WebPageProxy is called synchronously
3190 as this is needed by the implementation of the network access manager
3191 and has also been implemented this way already for the http
3194 * Platform/CoreIPC/ArgumentDecoder.cpp:
3195 (CoreIPC::ArgumentDecoder::decodeUInt16):
3197 * Platform/CoreIPC/ArgumentDecoder.h:
3199 (CoreIPC::ArgumentDecoder::decode):
3201 * Platform/CoreIPC/ArgumentEncoder.cpp:
3202 (CoreIPC::ArgumentEncoder::encodeUInt16):
3204 * Platform/CoreIPC/ArgumentEncoder.h:
3206 (CoreIPC::ArgumentEncoder::encode):
3208 * UIProcess/API/qt/qquickwebview.cpp:
3209 (QQuickWebViewPrivate::QQuickWebViewPrivate):
3210 (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest):
3211 (QQuickWebViewExperimental::proxyAuthenticationDialog):
3212 (QQuickWebViewExperimental::setProxyAuthenticationDialog):
3213 * UIProcess/API/qt/qquickwebview_p.h:
3214 * UIProcess/API/qt/qquickwebview_p_p.h:
3215 (QQuickWebViewPrivate):
3216 * UIProcess/PageClient.h:
3218 * UIProcess/WebPageProxy.cpp:
3219 (WebKit::WebPageProxy::proxyAuthenticationRequiredRequest):
3221 * UIProcess/WebPageProxy.h:
3223 * UIProcess/WebPageProxy.messages.in:
3224 * UIProcess/qt/QtDialogRunner.cpp:
3225 (ProxyAuthenticationDialogContextObject):
3226 (ProxyAuthenticationDialogContextObject::ProxyAuthenticationDialogContextObject):
3227 (ProxyAuthenticationDialogContextObject::hostname):
3228 (ProxyAuthenticationDialogContextObject::port):
3229 (ProxyAuthenticationDialogContextObject::prefilledUsername):
3230 (ProxyAuthenticationDialogContextObject::accept):
3231 (ProxyAuthenticationDialogContextObject::reject):
3232 (QtDialogRunner::initForProxyAuthentication):
3233 * UIProcess/qt/QtDialogRunner.h:
3235 * UIProcess/qt/QtPageClient.cpp:
3236 (QtPageClient::handleProxyAuthenticationRequiredRequest):
3237 * UIProcess/qt/QtPageClient.h:
3239 * WebProcess/WebPage/DecoderAdapter.cpp:
3240 (WebKit::DecoderAdapter::decodeUInt16):
3242 * WebProcess/WebPage/DecoderAdapter.h:
3244 * WebProcess/WebPage/EncoderAdapter.cpp:
3245 (WebKit::EncoderAdapter::encodeUInt16):
3247 * WebProcess/WebPage/EncoderAdapter.h:
3249 * WebProcess/qt/QtNetworkAccessManager.cpp:
3250 (WebKit::QtNetworkAccessManager::onProxyAuthenticationRequired):
3252 * WebProcess/qt/QtNetworkAccessManager.h:
3253 (QtNetworkAccessManager):
3255 2012-02-20 Patrick Gansterer <paroga@webkit.org>
3257 [CMake] Update and sort list of source files.
3261 2012-02-20 Martin Robinson <mrobinson@igalia.com>
3263 Fix WebKit2GTK+ for 'make distcheck'.
3265 Instead of conditionally including WebKit2 GNUmakefiles, always
3266 include them and conditionally activate the final targets.
3269 * UIProcess/API/gtk/tests/GNUmakefile.am:
3271 2012-02-20 Martin Robinson <mrobinson@igalia.com>
3273 [GTK][WK2] WebKit2 does not build if gtk-unix-printing-3.0 is not available
3274 https://bugs.webkit.org/show_bug.cgi?id=79011
3276 Fix the build when gtk-unix-printing-3.0 is not present.
3278 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3279 (webkitPrintOperationRunDialog):
3280 (webkitPrintOperationRunDialogForFrame):
3281 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
3282 (WebKit::WebPrintOperationGtk::create):
3284 2012-02-18 Dan Bernstein <mitz@apple.com>
3286 <rdar://problem/10891801> BackingStore::scroll() unnecessarily copies pixels around
3287 https://bugs.webkit.org/show_bug.cgi?id=78976
3289 Reviewed by Anders Carlsson.
3291 Rather than move pixels in the backing store in response to scrolling, we can maintain a
3292 mapping, for the most recently scrolled rect, from backing store coordinates to view
3295 * UIProcess/BackingStore.h:
3296 * UIProcess/mac/BackingStoreMac.mm:
3297 (WebKit::BackingStore::performWithScrolledRectTransform): Added. Given a block to be
3298 performed on a rect, divides the rect into parts such that for each part the mapping from
3299 backing store coordinates to client coordinates is a (uniform) translation, and performs
3300 the block on that part, passing it the translation that applies to the part.
3301 (WebKit::BackingStore::resetScrolledRect): Added. Copies everything in the scrolled rect
3302 back to where it should be under the identity map, and resets the scrolled rect and offset.
3303 (WebKit::BackingStore::paint): Changed to call through performWithScrolledRectTransform().
3304 (WebKit::BackingStore::incorporateUpdate): Ditto.
3305 (WebKit::BackingStore::scroll): Now instead of copying pixels, just updates the scrolled
3308 2012-02-17 No'am Rosenthal <noam.rosenthal@nokia.com>
3310 [Qt][WK2] Allow opaque tiles
3311 https://bugs.webkit.org/show_bug.cgi?id=78809
3313 Apply the SupportsAlpha flag only when the buffers actually have alpha.
3315 Reviewed by Kenneth Rohde Christiansen.
3317 * Shared/ShareableBitmap.h:
3319 * Shared/qt/ShareableBitmapQt.cpp:
3320 * UIProcess/qt/LayerBackingStore.cpp:
3321 (WebKit::LayerBackingStoreTile::swapBuffers):
3323 2012-02-17 Adam Roben <aroben@apple.com>
3325 Clang build fix after r108119
3327 * WebProcess/WebProcess.cpp:
3328 (WebKit::randomCrashThread): Annotate this function with NO_RETURN_DUE_TO_CRASH.
3330 2012-02-17 Kalev Lember <kalevlember@gmail.com>
3332 Remove unused parameters from WTF threading API
3333 https://bugs.webkit.org/show_bug.cgi?id=78389
3335 Reviewed by Adam Roben.
3337 waitForThreadCompletion() had an out param 'void **result' to get the
3338 'void *' returned by ThreadFunction. However, the implementation in
3339 ThreadingWin.cpp ignored the out param, not filling it in. This had
3340 led to a situation where none of the client code made use of the param
3341 and just ignored it.
3343 To clean this up, the patch changes the signature of ThreadFunction to
3344 return void instead of void* and drops the the unused 'void **result'
3345 parameter from waitForThreadCompletion. Also, all client code is
3346 updated for the API change.
3348 As mentioned in https://bugs.webkit.org/show_bug.cgi?id=78389 , even
3349 though the change only affects internal API, Safari is using it
3350 directly and we'll need to keep the old versions around for ABI
3351 compatibility. For this, the patch adds compatibility wrappers with
3354 * Platform/WorkQueue.h:
3356 * Platform/gtk/WorkQueueGtk.cpp:
3357 (WorkQueue::startWorkQueueThread):
3358 * UIProcess/Launcher/mac/ThreadLauncherMac.mm:
3359 (WebKit::webThreadBody):
3360 * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
3361 (WebKit::webThreadBody):
3362 * UIProcess/Launcher/win/ThreadLauncherWin.cpp:
3363 (WebKit::webThreadBody):
3364 * WebProcess/WebProcess.cpp:
3365 (WebKit::randomCrashThread):
3367 * win/WebKit2CFLite.def:
3369 2012-02-17 Mihnea Ovidenie <mihnea@adobe.com>
3371 CSS regions enabled by default
3372 https://bugs.webkit.org/show_bug.cgi?id=78525
3374 Reviewed by David Hyatt.
3376 Add a runtime preference to enable/disable regions functionality at runtime(WebKitCSSRegionsEnabled).
3377 CSSRegions are still enabled by default.
3378 In DRT, use layoutTestController.overridePreference("WebKitCSSRegionsEnabled", "0") to disable the css regions functionality.
3380 * Shared/WebPreferencesStore.h:
3382 * UIProcess/API/C/WKPreferences.cpp:
3383 (WKPreferencesSetCSSRegionsEnabled):
3384 (WKPreferencesGetCSSRegionsEnabled):
3385 * UIProcess/API/C/WKPreferencesPrivate.h:
3386 * WebProcess/InjectedBundle/InjectedBundle.cpp:
3387 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
3388 * WebProcess/WebPage/WebPage.cpp:
3389 (WebKit::WebPage::updatePreferences):
3391 2012-02-17 Enrica Casucci <enrica@apple.com>
3393 Refactor DragData class to use PlatformStrategies in the Mac implementation.
3394 https://bugs.webkit.org/show_bug.cgi?id=78768
3396 Reviewed by Darin Adler.
3398 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added color() method.
3399 (WebKit::WebPlatformStrategies::color):
3400 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
3402 2012-02-17 Martin Robinson <mrobinson@igalia.com>
3404 Fix some warnings encountered during the GTK+ build
3405 https://bugs.webkit.org/show_bug.cgi?id=78911
3407 Reviewed by Xan Lopez.
3409 * UIProcess/API/gtk/WebKitLoaderClient.cpp:
3410 (attachLoaderClientToView): Initialize a new member of the loader client struct.
3412 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
3414 [GTK] Allow printing scaled pages in WebKit2 for printers that don't support it
3415 https://bugs.webkit.org/show_bug.cgi?id=78823
3417 Reviewed by Gustavo Noronha Silva.
3419 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3420 (webkitPrintOperationRunDialogUnix): Enable scale option in print
3422 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
3423 (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
3425 (WebKit::WebPrintOperationGtk::rotatePageIfNeeded): Renamed and
3426 moved the needs rotate check here as an early return.
3427 (WebKit::WebPrintOperationGtk::prepareContextToDraw): Scale the
3428 page according to the manual scale factor.
3429 (WebKit::WebPrintOperationGtk::renderPage): Move rotatePage to
3430 prepareContextToDraw.
3431 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
3433 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
3435 [GTK] Allow printing multiple copies in WebKit2 for printers that don't support it
3436 https://bugs.webkit.org/show_bug.cgi?id=78805
3438 Reviewed by Gustavo Noronha Silva.
3440 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3441 (webkitPrintOperationRunDialogUnix): Enable multiple copies and
3442 collate options in print dialog.
3443 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
3444 (WebKit::PrintPagesData::PrintPagesData): Initialize number of
3445 collated and uncolated copies done and total.
3446 (WebKit::PrintPagesData::collatedCopiesLeft): Helper function that
3447 returns the number of collated copies left to do.
3448 (WebKit::PrintPagesData::uncollatedCopiesLeft): Helper function
3449 that returns the number of uncollated copies left to do.
3450 (WebKit::PrintPagesData::copiesLeft): Helper function
3451 that returns the number of collated or uncollated copies left to
3453 (WebKit::PrintPagesData::incrementPageSequence): Do not finish the
3454 print if there are uncollated copies left, and do not increment
3455 sheet number if there are collated copies left.
3456 (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
3457 m_manualCopies to 1 and m_manualCollateCopies to false.
3458 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
3460 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
3462 [GTK] Allow printing pages in reverse order in WebKit2 for printers that don't support it
3463 https://bugs.webkit.org/show_bug.cgi?id=78799
3465 Reviewed by Gustavo Noronha Silva.
3467 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3468 (webkitPrintOperationRunDialogUnix): Enable printing in reverse
3469 order option in print dialog.
3470 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
3471 (WebKit::PrintPagesData::PrintPagesData): Initialize sheetNumber
3472 and lastPagePosition depending on whether printing is in reverse
3474 (WebKit::PrintPagesData::incrementPageSequence): Use a negative
3475 increment step when printing in reverse order. Fix page
3476 incrementing when printing only odd/even pages broken in previous
3477 commit due to merge conflicts.
3478 (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
3479 reverse printing to false.
3480 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
3482 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
3484 [GTK] Allow printing only odd/even pages in WebKit2 for printers that don't support it
3485 https://bugs.webkit.org/show_bug.cgi?id=78793
3487 Reviewed by Gustavo Noronha Silva.
3489 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3490 (webkitPrintOperationRunDialogUnix): Enable print odd/even pages
3491 option in print dialog.
3492 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
3493 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
3494 (WebKit::PrintPagesData::PrintPagesData): Add lastPagePosition and
3495 initialize it depending on the page set.
3496 (WebKit::PrintPagesData::incrementPageSequence): Use 2 step
3497 increment when printing only odd/even pages.
3498 (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
3499 m_manualPageSet to GTK_PAGE_SET_ALL.
3501 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
3503 [GTK] Allow printing multiple pages per sheet in WebKit2 for printers that don't support it
3504 https://bugs.webkit.org/show_bug.cgi?id=78715
3506 Reviewed by Gustavo Noronha Silva.
3508 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3509 (webkitPrintOperationRunDialogUnix): Enable multiple pages per
3510 sheet options in print dialog.
3511 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
3512 (WebKit::PrintPagesData::PrintPagesData): Initialize sheetNumber
3513 and numberOfSheets. Move pagePosition to WebPrintOperationGtk.
3514 (WebKit::PrintPagesData::incrementPageSequence): Increment current
3515 sheet and page position.
3516 (WebKit::WebPrintOperationGtk::WebPrintOperationGtk):
3517 (WebKit::WebPrintOperationGtk::currentPageIsFirstPageOfSheet):
3518 Helper function to check whether current pages is the first one of
3520 (WebKit::WebPrintOperationGtk::currentPageIsLastPageOfSheet):
3521 Helper function to check whether current pages is the last one of
3523 (WebKit::WebPrintOperationGtk::getRowsAndColumnsOfPagesPerSheet):
3524 Returns the number of rows and columns of pages per sheet.
3525 (WebKit::WebPrintOperationGtk::getPositionOfPageInSheet): Returns
3526 the row and column number of the current page in the current sheet.
3527 (WebKit::WebPrintOperationGtk::prepareContextToDraw): Translate,
3528 scale and rotate accordingly to render every page in the right
3530 (WebKit::WebPrintOperationGtk::renderPage): Call
3531 prepareContextToDraw() before drawing the page.
3532 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
3533 (WebKit::WebPrintOperationGtk::setNumberOfPagesToPrint):
3534 (WebKit::WebPrintOperationGtk::pagePosition):
3535 (WebKit::WebPrintOperationGtk::setPagePosition):
3536 (WebKit::WebPrintOperationGtk::numberUp):
3537 (WebKit::WebPrintOperationGtk::numberUpLayout):
3539 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
3541 [GTK] Rename WebKitPrintOperation::done signal to ::finished in WebKit2
3542 https://bugs.webkit.org/show_bug.cgi?id=78893
3544 Reviewed by Gustavo Noronha Silva.
3546 And it's not emitted anynmore when the print dialog has been
3547 cancelled. Since it's not possible to know whether the print
3548 dialog was cancelled or not, the enum WebKitPrintOperationResponse
3549 has been added, with Print and Cancel values, and it's used as
3550 return value of webkit_print_operation_run_dialog().
3552 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3553 (webkit_print_operation_class_init): Rename done as finished.
3554 (webkitPrintOperationRunDialogUnix): Return a
3555 WebKitPrintOperationResponse instead of bool.
3556 (webkitPrintOperationRunDialogWin32): Ditto.
3557 (drawPagesForPrintingCompleted): Emit finished instead of done.
3558 (webkitPrintOperationRunDialogForFrame): Do not emit finished if
3559 the dialog was cancelled and return a WebKitPrintOperationResponse.
3560 (webkit_print_operation_run_dialog): Return
3561 WebKitPrintOperationResponse.
3562 * UIProcess/API/gtk/WebKitPrintOperation.h: Add
3563 WebKitPrintOperationResponse enum.
3564 * UIProcess/API/gtk/WebKitPrintOperationPrivate.h:
3565 * UIProcess/API/gtk/WebKitWebView.cpp:
3566 (webkitWebViewPrintFrame): Check whether the dialog has been
3567 cancelled or not and connect to finish when the print operation is
3568 in progress to release the print operation object when printing
3570 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add
3571 WebKitPrintOperationResponse symbol.
3572 * UIProcess/API/gtk/tests/TestPrinting.cpp:
3573 (testPrintOperationPrintFinished): Use finished instead of done.
3574 (testPrintOperationPrint): Ditto.
3576 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
3578 [GTK] Add webkit_print_operation_print() to WebKit2 GTK+ API
3579 https://bugs.webkit.org/show_bug.cgi?id=76536
3581 Reviewed by Gustavo Noronha Silva.
3583 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3584 (webkitPrintOperationPrintPagesForFrame): Helper function to call
3585 WebPageProxy::drawPagesForPrinting using the given
3586 GtkPrintSettings and GtkPageSetup.
3587 (webkitPrintOperationRunDialogForFrame): Use
3588 webkitPrintOperationPrintPagesForFrame().
3589 (webkit_print_operation_print): Print directly using current
3590 GtkPrintSettings and GtkPageSetup without showing the print
3592 * UIProcess/API/gtk/WebKitPrintOperation.h:
3593 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
3594 * UIProcess/API/gtk/tests/GNUmakefile.am:
3595 * UIProcess/API/gtk/tests/TestPrinting.cpp:
3596 (testPrintOperationPrintLoadChanged):
3597 (testPrintOperationPrintDone):
3598 (testPrintOperationPrintPrinter):
3599 (testPrintOperationPrint):
3603 2012-02-17 No'am Rosenthal <noam.rosenthal@nokia.com>
3605 [Qt][WK2] Allow partial updates
3606 https://bugs.webkit.org/show_bug.cgi?id=78824
3608 Instead of using UpdateInfo to fill the entire tile's texture, we use it as a patch that
3609 contains only the dirty rectangle of the current paint. This requires a lot less memory
3610 for small updates, for example when typing a text in an input field.
3611 This shows a significant reduction in overhead when testing on Mac with Instruments.
3613 Reviewed by Simon Hausmann.
3615 * UIProcess/qt/LayerBackingStore.cpp:
3616 (WebKit::LayerBackingStoreTile::swapBuffers):
3617 (WebKit::LayerBackingStoreTile::setBackBuffer):
3619 (WebKit::LayerBackingStore::updateTile):
3620 * UIProcess/qt/LayerBackingStore.h:
3621 (LayerBackingStoreTile):
3622 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
3623 (WebKit::LayerTreeHostProxy::updateTileForLayer):
3624 * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
3625 (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
3627 2012-02-16 Carlos Garcia Campos <cgarcia@igalia.com>
3629 [GTK] Make sure print operation object is alive until printing finishes in WebKit2
3630 https://bugs.webkit.org/show_bug.cgi?id=78829
3632 Reviewed by Martin Robinson.
3634 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3635 (drawPagesForPrintingCompleted): Adopt the WebKitPrintOperation
3636 reference so that it's released when the callback finishes.
3637 (webkitPrintOperationRunDialogForFrame): Pass a reference of
3638 WebKitPrintOperation to the printing callback.
3640 2012-02-15 Geoffrey Garen <ggaren@apple.com>
3642 Made Weak<T> single-owner, adding PassWeak<T>
3643 https://bugs.webkit.org/show_bug.cgi?id=78740
3645 Reviewed by Sam Weinig.
3647 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
3648 (WebKit::NPRuntimeObjectMap::getOrCreateJSObject): Use raw pointer and
3649 PassWeak<T>, as required by our new hash map API.
3651 2012-02-16 Sergio Villar Senin <svillar@igalia.com>
3653 [soup] Move important SoupSession feature initialization to WebCore
3654 https://bugs.webkit.org/show_bug.cgi?id=68602
3656 Reviewed by Martin Robinson.
3658 Moved content sniffer and decoder initialization from the
3659 WebProcess to WebCore because network stuff will not work as
3660 expected without them.
3662 No new tests required as we're just moving stuff from the
3663 WebProcess to WebCore.
3665 * WebProcess/gtk/WebProcessMainGtk.cpp:
3666 (WebKit::WebProcessMainGtk):
3668 2012-02-16 Philippe Normand <pnormand@igalia.com>
3670 Unreviewed, rolling out r107941.
3671 http://trac.webkit.org/changeset/107941
3672 https://bugs.webkit.org/show_bug.cgi?id=68602
3674 Broke 23 http tests on GTK
3676 * WebProcess/gtk/WebProcessMainGtk.cpp:
3677 (WebKit::WebProcessMainGtk):
3679 2012-02-16 No'am Rosenthal <noam.rosenthal@nokia.com>
3681 [Texmap] Improve the way we deal with BGRA extension
3682 https://bugs.webkit.org/show_bug.cgi?id=78822
3684 Get rid of swizzling in the web process. Instead, we moved swizzling back to
3685 TextureMapperGL, as we're moving towards a setup where textures are uploaded
3688 Reviewed by Kenneth Rohde Christiansen.
3690 * UIProcess/qt/LayerBackingStore.cpp:
3691 (WebKit::LayerBackingStoreTile::swapBuffers):
3692 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
3693 (WebKit::LayerTreeHostProxy::createImage):
3694 * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
3695 (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
3696 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
3697 (WebKit::LayerTreeHostQt::adoptImageBackingStore):
3699 2012-02-16 Carlos Garcia Campos <cgarcia@igalia.com>
3701 Unreviewed. Fix WebKit2 GTK+ build after r107947.
3703 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3704 (webkitPrintOperationRunDialogForFrame):
3706 2012-02-16 Alexander Færøy <ahf@0x90.dk>
3708 [Qt] Fix linking in debug builds on Mac OS X
3709 https://bugs.webkit.org/show_bug.cgi?id=78811
3711 Reviewed by Kenneth Rohde Christiansen.
3713 * UIProcess/API/qt/tests/bytearraytestdata.h:
3715 2012-02-16 Carlos Garcia Campos <cgarcia@igalia.com>
3717 [GTK] Page content is incorrectly translated whenh rendering pages for printing in WebKit2
3718 https://bugs.webkit.org/show_bug.cgi?id=78712
3720 Reviewed by Martin Robinson.
3722 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
3723 (WebKit::WebPrintOperationGtk::enumeratePrintersFunction):
3724 Simplify the code to select the printer.
3725 (WebKit::WebPrintOperationGtk::renderPage): Call cairo_save()
3726 before rendering the page and cairo_restore() when page has been
3729 2012-02-16 Carlos Garcia Campos <cgarcia@igalia.com>
3731 [GTK] Add WebKitPrintOperation to WebKit2 GTK+ API
3732 https://bugs.webkit.org/show_bug.cgi?id=76448
3734 Reviewed by Martin Robinson.
3736 * GNUmakefile.am: Add new files to compilation.
3737 * UIProcess/API/gtk/WebKitDefines.h:
3738 * UIProcess/API/gtk/WebKitPrintOperation.cpp: Added.
3739 (webViewDestroyed): Delete the print operation when the view
3740 widget associated is destroyed.
3741 (webkitPrintOperationConstructed): Connect to destroy signal of
3742 associated web view.
3743 (webkitPrintOperationGetProperty):
3744 (webkitPrintOperationSetProperty):
3745 (webkit_print_operation_init):
3746 (webkit_print_operation_class_init):
3747 (webkitPrintOperationRunDialogUnix): Use GtkPrintUnixDialog to
3748 show the printing dialog in UNIX platforms.
3749 (webkitPrintOperationRunDialogWin32): Empty, not implemented yet.
3750 (drawPagesForPrintingCompleted): Callback called when printing
3751 operation has finished in the web process.
3752 (webkitPrintOperationRunDialogForFrame): Run the printing dialog
3753 and start printing the given frame.
3754 (webkit_print_operation_new): Create a new print operation for the
3756 (webkit_print_operation_get_print_settings):
3757 (webkit_print_operation_set_print_settings):
3758 (webkit_print_operation_get_page_setup):
3759 (webkit_print_operation_set_page_setup):
3760 (webkit_print_operation_run_dialog): Run the print dialog to print
3761 the web view main frame.
3762 * UIProcess/API/gtk/WebKitPrintOperation.h: Added.
3763 * UIProcess/API/gtk/WebKitPrintOperationPrivate.h: Added.
3764 * UIProcess/API/gtk/WebKitUIClient.cpp:
3765 (printFrame): Call webkitWebViewPrintFrame.
3766 (attachUIClientToView): Add implementation for
3767 printFrame callback.
3768 * UIProcess/API/gtk/WebKitWebView.cpp:
3769 (webkit_web_view_class_init): Add WebKitWebView::print-requested
3771 (webkitWebViewPrintFrame): Emit print-requested and show the print
3772 dialog to print the frame when not signal is not handled by user.
3773 * UIProcess/API/gtk/WebKitWebView.h:
3774 * UIProcess/API/gtk/WebKitWebViewPrivate.h:
3775 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
3776 WebKitPrintOperation.
3777 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
3778 * UIProcess/API/gtk/tests/GNUmakefile.am:
3779 * UIProcess/API/gtk/tests/TestPrinting.cpp: Added.
3780 (testPrintOperationPrintSettings):
3781 (webViewPrintRequestedCallback):
3782 (testWebViewPrintRequested):
3785 * UIProcess/API/gtk/webkit2.h: Include WebKitPrintOperation.h.
3787 2012-02-16 Simon Hausmann <simon.hausmann@nokia.com>
3789 [Gtk][Efl][Qt] Move OpenGLShims out of cairo/ subdirectory
3790 https://bugs.webkit.org/show_bug.cgi?id=78800
3792 Reviewed by Kenneth Rohde Christiansen.
3794 * UIProcess/qt/LayerTreeHostProxyQt.cpp: Adjust to changed OpenGLShims.h
3795 location - no more cairo prefix needed.
3797 2012-02-16 No'am Rosenthal <noam.rosenthal@nokia.com>
3799 [Qt][WK2] Allow opaque tiles
3800 https://bugs.webkit.org/show_bug.cgi?id=78809
3802 Set the supportsAlpha flag for TiledBackingStore when the layer has contentsOpaque enabled.
3803 Use the flag for ShareableBitmaps created by TiledBackingStore.
3805 For now this will not have impact on performance/memory, because we allocate the same type
3806 of buffers for opaque and transparent tiles.
3808 Reviewed by Kenneth Rohde Christiansen.
3810 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
3811 (WebCore::WebGraphicsLayer::setContentsOpaque):
3812 (WebCore::WebGraphicsLayer::setContentsScale):
3813 (WebCore::WebGraphicsLayer::createBackingStore):
3815 (WebCore::WebGraphicsLayer::updateContentBuffers):
3816 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
3818 * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
3819 (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
3821 2012-02-16 Sergio Villar Senin <svillar@igalia.com>
3823 [soup] Move important SoupSession feature initialization to WebCore
3824 https://bugs.webkit.org/show_bug.cgi?id=68602
3826 Reviewed by Martin Robinson.
3828 Moved content sniffer and decoder initialization from the
3829 WebProcess to WebCore because network stuff will not work as
3830 expected without them.
3832 No new tests required as we're just moving stuff from the
3833 WebProcess to WebCore.
3835 * WebProcess/gtk/WebProcessMainGtk.cpp:
3836 (WebKit::WebProcessMainGtk):
3838 2012-02-16 Adenilson Cavalcanti <cavalcantii@gmail.com>
3840 [Qt][WK2] Split QWebPermissionRequest into QWebSecurityOrigin
3841 https://bugs.webkit.org/show_bug.cgi?id=73215
3843 Reviewed by Kenneth Rohde Christiansen.
3845 Introducing a new class to expose security origin information
3846 (port/scheme/etc), useful for inspecting the origin of permission
3850 * UIProcess/API/qt/qtwebsecurityorigin.cpp: Added.
3851 (QtWebSecurityOrigin::QtWebSecurityOrigin):
3852 (QtWebSecurityOrigin::~QtWebSecurityOrigin):
3853 (QtWebSecurityOrigin::host):
3854 (QtWebSecurityOrigin::scheme):
3855 (QtWebSecurityOrigin::path):
3856 (QtWebSecurityOrigin::port):
3857 (QtWebSecurityOrigin::setHost):
3858 (QtWebSecurityOrigin::setScheme):
3859 (QtWebSecurityOrigin::setPath):
3860 (QtWebSecurityOrigin::setPort):
3861 * UIProcess/API/qt/qtwebsecurityorigin_p.h: Added.
3862 * UIProcess/API/qt/tests/qmltests/WebView/tst_origin.qml: Added.
3863 * UIProcess/API/qt/qwebpermissionrequest.cpp:
3864 (QWebPermissionRequestPrivate::QWebPermissionRequestPrivate):
3865 (QWebPermissionRequest::securityOrigin):
3866 * UIProcess/API/qt/qwebpermissionrequest_p.h:
3867 * UIProcess/API/qt/tests/qmltests/qmltests.pro:
3869 2012-02-16 Patrick Gansterer <paroga@webkit.org>
3871 [CMake] Add missing include directories.
3875 2012-02-16 Carlos Garcia Campos <cgarcia@igalia.com>
3877 [GTK] Document that local paths in html loaded with loadHTML might cause the web process to terminate
3878 https://bugs.webkit.org/show_bug.cgi?id=78719
3880 Reviewed by Martin Robinson.
3882 * UIProcess/API/gtk/WebKitWebView.cpp:
3884 2012-02-15 Anders Carlsson <andersca@apple.com>
3886 Add TiledCoreAnimationDrawingArea::forceRepaint
3887 https://bugs.webkit.org/show_bug.cgi?id=78749
3888 <rdar://problem/10866221>
3890 Reviewed by Sam Weinig.
3892 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
3893 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3894 (WebKit::TiledCoreAnimationDrawingArea::forceRepaint):
3895 Force a repaint and synchronize the layer tree to the UI process.
3897 2012-02-15 Enrica Casucci <enrica@apple.com>
3899 Refactor ClipboardMac class to use PlatformStrategies.
3900 https://bugs.webkit.org/show_bug.cgi?id=78554
3902 Reviewed by Anders Carlsson.
3904 * WebProcess/WebCoreSupport/WebDragClient.h: Changed method signature to reference
3905 the pasteboard by name.
3906 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added new methods.
3907 (WebKit::WebPlatformStrategies::changeCount):
3908 (WebKit::WebPlatformStrategies::uniqueName):
3909 * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Ditto.
3910 * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
3911 (WebKit::WebDragClient::declareAndWriteDragImage): Changed method signature to reference
3912 the pasteboard by name.
3914 2012-02-15 Sadrul Habib Chowdhury <sadrul@chromium.org>
3916 Notify ChromeClient when touch-event handlers are installed/removed.
3917 https://bugs.webkit.org/show_bug.cgi?id=77440
3919 Reviewed by Darin Fisher and Ryosuke Niwa.
3921 * UIProcess/WebPageProxy.h:
3922 (WebKit::WebPageProxy::numTouchEventHandlersChanged):
3923 * WebProcess/WebCoreSupport/WebChromeClient.h:
3925 2012-02-15 Patrick Gansterer <paroga@webkit.org>
3927 [CMake] Move RunLoop to WebCore/platform
3928 https://bugs.webkit.org/show_bug.cgi?id=78504
3930 Reviewed by Adam Roben.
3932 * CMakeLists.txt: Remove RunLoop.cpp from list of souces.
3934 2012-02-14 Simon Hausmann <simon.hausmann@nokia.com>
3936 [Qt] Eliminate first set of QtWidgets dependencies from WebCore
3937 https://bugs.webkit.org/show_bug.cgi?id=78611
3939 Reviewed by Kenneth Rohde Christiansen.
3941 * UIProcess/qt/QtWebPageEventHandler.cpp: Add missing QCursor include
3944 2012-02-15 Roland Steiner <rolandsteiner@chromium.org>
3946 <style scoped>: Allow <style scoped> as a direct child of a ShadowRoot
3947 https://bugs.webkit.org/show_bug.cgi?id=77853
3949 numberOfScopedHTMLStyleChildren got moved from Element into Node.
3951 Reviewed by Dimitri Glazkov.
3954 * win/WebKit2CFLite.def:
3956 2012-02-15 No'am Rosenthal <noam.rosenthal@nokia.com>
3958 [Texmap] Divide TextureMapperNode.cpp to 3 files.
3959 https://bugs.webkit.org/show_bug.cgi?id=76660
3961 Rename TextureMapperNode to TextureMapperLayer.
3963 Reviewed by Kenneth Rohde Christiansen.
3965 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
3966 (WebKit::LayerTreeHostProxy::createLayer):
3967 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
3968 (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
3969 (WebKit::LayerTreeHostProxy::getBackingStore):
3970 (WebKit::LayerTreeHostProxy::ensureRootLayer):
3971 (WebKit::LayerTreeHostProxy::purgeGLResources):
3973 2012-02-14 Anders Carlsson <andersca@apple.com>
3975 Swipe gestures don't work if main frame has a horizontal scrollbar
3976 https://bugs.webkit.org/show_bug.cgi?id=78650
3977 <rdar://problem/10864993>
3979 Reviewed by Sam Weinig.
3981 * WebProcess/WebPage/EventDispatcher.cpp:
3982 (WebKit::EventDispatcher::wheelEvent):
3983 ScrollingTree::tryToHandleWheelEvent now returns a tri-state enum so handle the extra case.
3985 (WebKit::EventDispatcher::sendDidReceiveEvent):
3986 Rename this now that it takes a parameter indicating whether the event was handled or not.
3988 2012-02-14 Brian Weinstein <bweinstein@apple.com>
3990 Web Inspector: Add the ability to show the resources panel on launch
3991 https://bugs.webkit.org/show_bug.cgi?id=78641
3993 Add WebKit2 API for the ability to show the resources panel. This calls down
3994 from the WK API all the way to InspectorFrontendClientLocal::showResources.
3996 Reviewed by Timothy Hatcher.
3998 * UIProcess/API/C/WKInspector.cpp:
3999 (WKInspectorShowResources): Call WebInspectorProxy::showResources.
4000 * UIProcess/API/C/WKInspector.h:
4001 * UIProcess/WebInspectorProxy.cpp:
4002 (WebKit::WebInspectorProxy::showResources): Send a message to the web process.
4003 * UIProcess/WebInspectorProxy.h:
4004 * WebProcess/WebPage/WebInspector.cpp:
4005 (WebKit::WebInspector::showResources): Call InspectorFrontendClientLocal::showResources.
4006 * WebProcess/WebPage/WebInspector.h:
4007 * WebProcess/WebPage/WebInspector.messages.in: Add a ShowResources message.
4009 2012-02-14 Matt Lilek <mrl@apple.com>
4011 Don't ENABLE_DASHBOARD_SUPPORT unconditionally on all Mac platforms
4012 https://bugs.webkit.org/show_bug.cgi?id=78629
4014 Reviewed by David Kilzer.
4016 * Configurations/FeatureDefines.xcconfig:
4018 2012-02-13 Raphael Kubo da Costa <kubo@profusion.mobi>
4020 [CMake] Merge WebKitEfl.cmake into FindEFL.cmake.
4021 https://bugs.webkit.org/show_bug.cgi?id=78566
4023 Reviewed by Daniel Bates.
4025 * PlatformEfl.cmake: Do not include WebKitEfl.cmake.
4027 2012-02-14 No'am Rosenthal <noam.rosenthal@nokia.com>
4029 [Qt][Texmap] Refactor backing-store code in TextureMapper
4030 https://bugs.webkit.org/show_bug.cgi?id=78305
4032 Move the backing-store code to LayerTreeBackingStore, implementing the virtual functions
4033 in TextureMapperBackingStore.
4034 We save the double-buffered tile in the backing-store, and then convert them to regular
4035 tiles in updateContents, based on the order of painting.
4036 Use TextureMapperCompositedImage for images instead of saving our own composited image
4039 Reviewed by Kenneth Rohde Christiansen.
4042 * UIProcess/LayerTreeHostProxy.h:
4044 (LayerTreeHostProxy):
4045 * UIProcess/qt/LayerBackingStore.cpp: Added.
4046 * UIProcess/qt/LayerBackingStore.h: Added.
4047 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
4048 (WebKit::LayerTreeHostProxy::createLayer):
4049 (WebKit::LayerTreeHostProxy::syncLayerParameters):
4050 (WebKit::LayerTreeHostProxy::getBackingStore):
4051 (WebKit::LayerTreeHostProxy::createTile):
4052 (WebKit::LayerTreeHostProxy::removeTile):
4053 (WebKit::LayerTreeHostProxy::updateTile):
4054 (WebKit::LayerTreeHostProxy::createImage):
4055 (WebKit::LayerTreeHostProxy::assignImageToLayer):
4056 (WebKit::LayerTreeHostProxy::purgeGLResources):
4060 2012-02-14 Shinya Kawanaka <shinyak@google.com>
4062 Use youngestShadowRoot and oldestShadowRoot instead of Element::shadowRoot().
4063 https://bugs.webkit.org/show_bug.cgi?id=78455
4065 Reviewed by Hajime Morita.
4067 Exports necesarry symbols.
4070 * win/WebKit2CFLite.def:
4072 2012-02-14 Alexey Proskuryakov <ap@apple.com>
4074 [Mac][Win][WK2] Switch to RFC 6455 protocol for WebSockets
4075 https://bugs.webkit.org/show_bug.cgi?id=78541
4076 <rdar://problem/10036695>
4078 Reviewed by Kent Tamura.
4080 * Shared/WebPreferencesStore.h: (WebKit): Changed default value of the preference.
4082 2012-02-13 W. James MacLean <wjmaclean@chromium.org>
4084 [chromium] Remove obsolete zoom animation pathway.
4085 https://bugs.webkit.org/show_bug.cgi?id=78359
4087 Reviewed by James Robinson.
4089 This patch removes dead code from the previous incarnation of zoom animation for chromium.
4091 WebProcess/Plugins/PDF/BuiltInPDFView.h:
4094 2012-02-13 Enrica Casucci <enrica@apple.com>
4096 Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies.
4097 https://bugs.webkit.org/show_bug.cgi?id=78282
4099 This patch removes any accesss to the NSPasteboard object from the Pasteboard class which
4100 now makes use of a new pasteboardStrategy object that is implemented both in WebKit and
4101 WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard
4102 class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy
4103 interface but this one more step in the direction of removing access to NSPasteboard from
4105 As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes.
4107 Reviewed by Anders Carlsson.
4109 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added implementation of PasteboardStrategy