1 2012-03-09 Alexey Proskuryakov <ap@apple.com>
3 [Mac] Pass sandbox profiles through preprocessor
4 https://bugs.webkit.org/show_bug.cgi?id=80651
8 * DerivedSources.make: Preprocess sandbox profiles.
10 * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb: Removed.
11 * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.in: Copied from Source/WebKit2/PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.
12 * WebProcess/com.apple.WebProcess.sb: Removed.
13 * WebProcess/com.apple.WebProcess.sb.in: Copied from Source/WebKit2/WebProcess/com.apple.WebProcess.sb.
14 Renamed to avoid make finding the wrong original in default paths.
16 * WebKit2.xcodeproj/project.pbxproj: Copy preprocessed files to Resources, not originals.
17 Also, changed DerivedSources target to use BaseTarget.xcconfig to have correct include paths.
19 2012-03-09 Jon Lee <jonlee@apple.com>
21 Add support for ENABLE(LEGACY_NOTIFICATIONS)
22 https://bugs.webkit.org/show_bug.cgi?id=80497
24 Reviewed by Adam Barth.
26 Prep for b80472: Update API for Web Notifications
27 * Configurations/FeatureDefines.xcconfig:
29 2012-03-09 Ashod Nakashian <ashodnakashian@yahoo.com>
31 Bash scripts should support LF endings only
32 https://bugs.webkit.org/show_bug.cgi?id=79509
34 Reviewed by David Kilzer.
36 * win/build-generated-files.sh: Added properties svn:executable and svn:eol-style.
38 2012-03-08 Enrica Casucci <enrica@apple.com>
40 REGRESSION (r109022): Files dragged onto input controls cannot be read due to sandbox violation.
41 https://bugs.webkit.org/show_bug.cgi?id=80203
42 <rdar://problem/10976643>
44 Reviewed by Alexey Proskuryakov.
46 This patch reverts a small part fo r109022, leaving access to
47 NSPasteboard in the WebProcess when retrieving pathnames for
48 files being dragged. This avoid the sandbox violation until we
49 implement a mechanism to provide a sandbox extension to the WebProcess.
51 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
52 (WebKit::WebPlatformStrategies::getPathnamesForType):
54 2012-03-09 Sheriff Bot <webkit.review.bot@gmail.com>
56 Unreviewed, rolling out r110191, r110202, and r110279.
57 http://trac.webkit.org/changeset/110191
58 http://trac.webkit.org/changeset/110202
59 http://trac.webkit.org/changeset/110279
60 https://bugs.webkit.org/show_bug.cgi?id=80694
62 They broke !ENABLE(INSPECTOR) builds (Requested by Ossy on
66 * win/WebKit2CFLite.def:
68 2012-03-08 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
70 [Qt] Use Qt's module system for install rules and depending on QtWebKit
72 Instead of rolling our own install rules we now use the same approach as
73 every other Qt module, by loading qt_module.prf and qt_module_config.prf.
75 This ensures that we follow the same semantics as the rest of Qt on
76 what sort of config options are enabled by default (create_cmake eg.).
77 It also allows us to use QT += webkit instead of the workaround we had
78 with CONFIG += qtwebkit.
80 We do however force Qt to always treat our build as a non-developer build,
81 so the libraries will end up in the WebKit lib directory instead of the
82 qtbase directory (as with a normal developer-build). This allows us to
83 keep the webkit-build self-contained. If Qt is a developer build we still
84 copy the module file manually to Qt, so that you don't have to install
85 WebKit to make it available.
87 For non-developer builds of Qt, it is still possible to use the built
88 WebKit libraries without having to install them, by having the variable
89 QMAKE_EXTRA_MODULE_FORWARDS set in the project's .qmake.cache file,
90 pointing to $WEBKITOUTUTDIR/$CONFIGURATION/modules.
92 https://bugs.webkit.org/show_bug.cgi?id=80590
94 Reviewed by Simon Hausmann.
96 * UIProcess/API/qt/tests/publicapi/publicapi.pro:
97 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
98 * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
99 * UIProcess/API/qt/tests/qmltests/WebView.pro:
100 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
101 * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
102 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
103 * UIProcess/API/qt/tests/tests.pri:
104 * UIProcess/API/qt/tests/util.cpp:
107 2012-03-08 No'am Rosenthal <noam.rosenthal@nokia.com>
109 [Qt][WK2] Allow transparent WebViews
110 https://bugs.webkit.org/show_bug.cgi?id=80608
112 Reviewed by Tor Arne Vestbø.
114 Added support for transparentBackground in QQuickWebViewExperimental.
115 This uses the existing drawsTransparentBackground property in WebKit2.
116 Also, changed LayerTreeHostQt to set the contentsOpaque flag when the root layer changes,
117 otherwise the change doesn't take effect.
119 A new API test was added.
121 * UIProcess/API/qt/qquickwebview.cpp:
122 (QQuickWebViewPrivate::setTransparentBackground):
123 (QQuickWebViewPrivate::transparentBackground):
124 (QQuickWebViewExperimental::transparentBackground):
125 (QQuickWebViewExperimental::setTransparentBackground):
126 * UIProcess/API/qt/qquickwebview_p.h:
127 * UIProcess/API/qt/qquickwebview_p_p.h:
128 (QQuickWebViewPrivate):
129 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
131 (tst_QQuickWebView::transparentWebViews):
132 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
133 (WebKit::LayerTreeHostQt::LayerTreeHostQt):
134 (WebKit::LayerTreeHostQt::setRootCompositingLayer):
136 2012-03-08 Gustavo Noronha Silva <gns@gnome.org>
138 GTK+ build fix. Only try to get the backing from the layer in when
139 ACCELERATED_COMPOSITING is enabled.
141 Rubber-stamped by Ryosuke Niwa.
143 * WebProcess/FullScreen/WebFullScreenManager.cpp:
144 (WebKit::screenRectOfContents):
146 2012-03-08 Ryosuke Niwa <rniwa@webkit.org>
148 Mac build fix for micro data API.
150 * Configurations/FeatureDefines.xcconfig:
152 2012-03-08 Jer Noble <jer.noble@apple.com>
154 Unreviewed Snow Leopard build fix.
156 On Leopard and Snow Leopard, provide an implementation for -[NSWindow convertRectToScreen:].
158 * UIProcess/mac/WKFullScreenWindowController.mm:
159 (-[NSWindow convertRectToScreen:]):
161 2012-03-08 Jer Noble <jer.noble@apple.com>
163 Further unreviewed build fix.
165 Add in the WebCore namespace, so that IntRect is pulled in.
167 * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
168 * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
169 * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
171 2012-03-08 Jer Noble <jer.noble@apple.com>
173 Unreviewed build fix.
175 Add stub implementations of beganEnterFullScreen and beganExitFullScreen
176 to platform-specific WebFullScreenManagerProxy implementations.
178 * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
179 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
180 (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
181 * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
182 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
183 (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
184 * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
185 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
186 (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
188 2012-03-08 Jer Noble <jer.noble@apple.com>
190 Full Screen Refactor Part 3: Animate into Full Screen mode using new animation classes.
191 https://bugs.webkit.org/show_bug.cgi?id=78928
193 Reviewed by Anders Carlsson.
195 Boilerplate changes to WebKit2 IPC messages and supporting functions.
196 * UIProcess/WebFullScreenManagerProxy.cpp:
197 (WebKit::WebFullScreenManagerProxy::setAnimatingFullScreen): Added boilerplate.
198 * UIProcess/WebFullScreenManagerProxy.h:
199 * UIProcess/WebFullScreenManagerProxy.messages.in:
200 * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
201 (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen): Added boilerplate.
202 (WebKit::WebFullScreenManagerProxy::beganExitFullScreen): Added boilerplate.
203 * WebProcess/FullScreen/WebFullScreenManager.cpp:
204 (WebKit::screenRectOfContents): Added. Calculates the screen rect of an element's contents.
205 (WebKit::WebFullScreenManager::enterFullScreenForElement): Use screenRectOfContents()
206 (WebKit::WebFullScreenManager::willEnterFullScreen): Ditto. Do not set the background color. Call new BeganEnterFullScreen
208 (WebKit::WebFullScreenManager::didEnterFullScreen): Do not set the background color.
209 (WebKit::WebFullScreenManager::willExitFullScreen): Use screenRectOfContents. Do not set the background color. Call new
210 BeganExitFullScreen XPC message.
211 (WebKit::WebFullScreenManager::didExitFullScreen): Do not set the background color.
212 (WebKit::WebFullScreenManager::setAnimatingFullScreen): Added boilerplate.
213 * WebProcess/FullScreen/WebFullScreenManager.h:
214 * WebProcess/FullScreen/WebFullScreenManager.messages.in:
216 * UIProcess/mac/WKFullScreenWindowController.h:
217 * UIProcess/mac/WKFullScreenWindowController.mm:
218 (-[WKFullScreenWindowController cancelOperation:]): Renamed from _requestExitWithAnimation:.
219 (-[WKFullScreenWindowController applicationDidResignActive:]): Call cancelOperation: instead
220 of _requestExitWithAnimation.
221 (-[WKFullScreenWindowController applicationDidChangeScreenParameters:]): Set the frame of
222 both the full screen window and the background window.
223 (-[WKFullScreenWindowController enterFullScreen:]): Save a rendered image of the current
224 page to use in the placeholder.
225 (-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]): Renamed from
226 beganEnterFullScreenAnimation.
227 (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): No need to swap
228 placeholder views here, as they were already swapped in beganEnter...:.
229 (-[WKFullScreenWindowController exitFullScreen]):
230 (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]): Renamed from
231 beganExitFullScreenAnimation.
232 (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Swap web view back into place.
233 (-[WKFullScreenWindowController close]):
234 (-[WKFullScreenWindowController animationDidEnd:]): Added.
235 (createBackgroundFullscreenWindow): Added.
236 (windowFrameFromApparentFrames): Added.
237 (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): Added.
238 (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): Added.
240 2012-03-08 Jer Noble <jer.noble@apple.com>
242 Full Screen Refactor Part 2: Remove unnecessary WebKit2 APIs for Full Screen made
243 https://bugs.webkit.org/show_bug.cgi?id=78926
245 Reviewed by John Sullivan.
247 The following functions (and also their Proxy versions) were removed completely:
248 WebFullScreenManager::enterAcceleratedCompositingMode(const LayerTreeContext&)
249 WebFullScreenManager::exitAcceleratedCompositingMode()
250 WebFullScreenManager::beganEnterFullScreenAnimation()
251 WebFullScreenManager::finishedEnterFullScreenAnimation(bool)
252 WebFullScreenManager::beganExitFullScreenAnimation()
253 WebFullScreenManager::finishedExitFullScreenAnimation(bool)
254 WebFullScreenManager::getFullScreenRect(WebCore::IntRect&)
256 * UIProcess/WebFullScreenManagerProxy.cpp:
257 * UIProcess/WebFullScreenManagerProxy.h:
258 (WebKit::WebFullScreenManagerProxy::beginEnterFullScreenAnimation):
259 (WebKit::WebFullScreenManagerProxy::beginExitFullScreenAnimation):
260 (WebKit::WebFullScreenManagerProxy::disposeOfLayerClient):
261 (WebFullScreenManagerProxy):
262 * UIProcess/WebFullScreenManagerProxy.messages.in:
263 * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
264 * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
265 * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
266 * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
267 (WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation):
268 * WebKit2.xcodeproj/project.pbxproj:
269 * WebProcess/FullScreen/WebFullScreenManager.cpp:
270 (WebKit::WebFullScreenManager::create):
271 (WebKit::WebFullScreenManager::~WebFullScreenManager):
272 * WebProcess/FullScreen/WebFullScreenManager.h:
273 (WebFullScreenManager):
274 * WebProcess/FullScreen/WebFullScreenManager.messages.in:
275 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
276 (WebKit::WebChromeClient::exitFullScreenForElement):
277 * WebProcess/WebCoreSupport/WebChromeClient.h:
280 Additionally, the platform-specific WebFullScreenManager subclasses were removed, as no
281 platform-specific implementations remained after the above functions were removed:
284 * win/WebKit2.vcproj:
285 * WebProcess/FullScreen/gtk/WebFullScreenManagerGtk.cpp: Removed.
286 * WebProcess/FullScreen/gtk/WebFullScreenManagerGtk.h: Removed.
287 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h: Removed.
288 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm: Removed.
289 * WebProcess/FullScreen/qt/WebFullScreenManagerQt.cpp: Removed.
290 * WebProcess/FullScreen/qt/WebFullScreenManagerQt.h: Removed.
291 * WebProcess/FullScreen/win/WebFullScreenManagerWin.cpp: Removed.
292 * WebProcess/FullScreen/win/WebFullScreenManagerWin.h: Removed.
294 2012-03-08 Matt Lilek <mrl@apple.com>
296 Don't enable VIDEO_TRACK on all OS X platforms
297 https://bugs.webkit.org/show_bug.cgi?id=80635
299 Reviewed by Eric Carlson.
301 * Configurations/FeatureDefines.xcconfig:
303 2012-03-08 Max Vujovic <mvujovic@adobe.com>
305 Add a method to window.internals to enable testing of inspector highlight rects
306 https://bugs.webkit.org/show_bug.cgi?id=80338
308 Reviewed by Pavel Feldman.
310 * win/WebKit2.def: Export symbols for win.
311 * win/WebKit2CFLite.def: Same as above.
313 2012-03-08 Dinu Jacob <dinu.jacob@nokia.com>
315 [Qt WK2] Remove duplicate code related to dialog handling in QQuickWebView
316 https://bugs.webkit.org/show_bug.cgi?id=80557
318 Reviewed by Simon Hausmann.
320 Move common code related to running QtDialogRunner into a separate function
322 * UIProcess/API/qt/qquickwebview.cpp:
323 (QQuickWebViewPrivate::runJavaScriptAlert):
324 (QQuickWebViewPrivate::runJavaScriptConfirm):
325 (QQuickWebViewPrivate::runJavaScriptPrompt):
326 (QQuickWebViewPrivate::handleAuthenticationRequiredRequest):
327 (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest):
328 (QQuickWebViewPrivate::handleCertificateVerificationRequest):
329 (QQuickWebViewPrivate::execDialogRunner):
330 * UIProcess/API/qt/qquickwebview_p_p.h:
331 (QQuickWebViewPrivate):
333 2012-03-07 Dinu Jacob <dinu.jacob@nokia.com>
335 [Qt] Authentication dialog does not work
336 https://bugs.webkit.org/show_bug.cgi?id=79738
338 Reviewed by Simon Hausmann.
340 QQuickWebView should accept touch events only if there is
343 * UIProcess/API/qt/qquickwebview.cpp:
344 (QQuickWebViewPrivate::QQuickWebViewPrivate):
345 (QQuickWebViewPrivate::runJavaScriptAlert):
346 (QQuickWebViewPrivate::runJavaScriptConfirm):
347 (QQuickWebViewPrivate::runJavaScriptPrompt):
348 (QQuickWebViewPrivate::handleAuthenticationRequiredRequest):
349 (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest):
350 (QQuickWebViewPrivate::handleCertificateVerificationRequest):
351 (QQuickWebView::touchEvent):
352 * UIProcess/API/qt/qquickwebview_p_p.h:
353 (QQuickWebViewPrivate):
355 2012-03-07 Dan Bernstein <mitz@apple.com>
357 <rdar://problem/8494396> WebKit2 lacks API for obtaining a representation of the render tree of a page, like WebRenderNode
358 https://bugs.webkit.org/show_bug.cgi?id=80230
360 Reviewed by Beth Dakin.
365 * Shared/API/c/WKBase.h: Added a type definition of WKRenderObjectRef.
367 * Shared/API/c/WKRenderObject.cpp: Added.
368 (WKRenderObjectGetTypeID): Added. Returns the WKRenderObject type ID.
369 (WKRenderObjectCopyName): Added this getter wrapper.
370 (WKRenderObjectGetAbsolutePosition): Ditto.
371 (WKRenderObjectGetFrameRect): Ditto.
372 (WKRenderObjectGetChildren): Ditto.
374 * Shared/API/c/WKRenderObject.h: Added.
376 * Shared/APIObject.h: Added TypeRenderObject to the APIObject::Type enum.
377 * Shared/UserMessageCoders.h:
378 (WebKit::UserMessageEncoder::baseEncode): Added WebRenderObject encoding.
379 (WebKit::UserMessageDecoder::baseDecode): Added WebRenderObject decoding.
380 * Shared/WebRenderObject.cpp: Added.
381 (WebKit::WebRenderObject::create): Added. Creates a WebRenderObject for the page’s main
382 frame content renderer.
383 (WebKit::WebRenderObject::WebRenderObject): Added. Constructs a WebRenderObject with the
384 name, metrics and children of the given RenderObject, following the rules used in WebKit1
385 WebRenderNode. In particular, a RenderWidget representing a frame gets the frame’s content
388 * Shared/WebRenderObject.h: Added.
389 (WebKit::WebRenderObject::create):
390 (WebKit::WebRenderObject::children):
391 (WebKit::WebRenderObject::name):
392 (WebKit::WebRenderObject::absolutePosition):
393 (WebKit::WebRenderObject::frameRect):
394 (WebKit::WebRenderObject::WebRenderObject):
398 * UIProcess/API/C/WKAPICast.h: Added a mapping between WKRenderObjectRef and WebRenderObject.
400 * WebKit2.xcodeproj/project.pbxproj: Added WebRenderObject.{cpp,h} and WKRenderObject.{cpp.h}.
402 * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
403 (WKBundlePageCopyRenderTree): Added this bundle API for getting the render tree.
405 * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
407 * win/WebKit2.vcproj:
409 2012-03-07 Kenneth Rohde Christiansen <kenneth@webkit.org>
411 Pinch zoom acts weirdly on nytimes.com while loading
412 https://webkit.org/b/80508
414 Reviewed by Simon Hausmann.
416 Make sure to suspend the page while doing pinch zooming.
417 If the page is suspended (which happens while pinch zooming)
418 then do not send touch events to the page, even if it has
421 * UIProcess/WebPageProxy.cpp:
422 (WebKit::WebPageProxy::handleTouchEvent):
423 * UIProcess/qt/QtViewportInteractionEngine.cpp:
424 (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
426 2012-03-05 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
428 [Qt] QWebNavigationRequest 'action' property should have an enum type instead of int
429 https://bugs.webkit.org/show_bug.cgi?id=80164
431 Reviewed by Simon Hausmann.
433 Use the appropriate enum type instead of int. Make IgnoreRequest have a bigger
434 value that give some room for us to put Experimental values in the middle. This
435 way the Experimental values are in a valid range for the original enumeration. To
436 avoid confusion, the Experimental enumeration was renamed.
438 * UIProcess/API/qt/qquickwebview_p.h:
439 * UIProcess/API/qt/qwebnavigationrequest.cpp:
440 (QWebNavigationRequestPrivate):
441 (QWebNavigationRequest::setAction):
442 (QWebNavigationRequest::action):
443 * UIProcess/API/qt/qwebnavigationrequest_p.h:
444 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
446 2012-03-07 Andras Becsi <andras.becsi@nokia.com>
448 [WK2] Make it possible to build without geolocation support
449 https://bugs.webkit.org/show_bug.cgi?id=80426
451 Reviewed by Simon Hausmann.
455 * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
456 (WebKit::GeolocationPermissionRequestManagerProxy::didReceiveGeolocationPermissionDecision):
457 * UIProcess/WebPageProxy.cpp:
458 (WebKit::WebPageProxy::close):
459 (WebKit::WebPageProxy::processDidCrash):
460 * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
461 * WebProcess/WebPage/WebPage.cpp:
462 (WebKit::WebPage::WebPage):
464 * WebProcess/WebPage/WebPage.h:
466 * WebProcess/WebPage/WebPage.messages.in:
468 2012-03-06 Raphael Kubo da Costa <kubo@profusion.mobi>
470 [CMake] Make the removal of transitive library dependencies work with CMake < 2.8.7.
471 https://bugs.webkit.org/show_bug.cgi?id=80469
473 Reviewed by Antonio Gomes.
475 * CMakeLists.txt: Manually set the LINK_INTERFACE_LIBRARIES target
476 property on the library being created.
478 2012-03-06 Hugo Parente Lima <hugo.lima@openbossa.org>
480 MiniBrowser --window-size 480x800 www.nytimes.com doesn't paint bottom tiles.
481 https://bugs.webkit.org/show_bug.cgi?id=80313
483 Reviewed by Kenneth Rohde Christiansen.
485 Fix the math to get the visible rectangle and add a method to get it.
487 * UIProcess/API/qt/qquickwebview.cpp:
488 (QQuickWebViewPrivate::visibleContentsRect):
489 (QQuickWebViewFlickablePrivate::_q_commitScaleChange):
490 (QQuickWebViewPrivate::_q_commitPositionChange):
491 * UIProcess/API/qt/qquickwebview_p_p.h:
492 (QQuickWebViewPrivate):
494 2012-03-05 Joseph Pecoraro <pecoraro@apple.com>
496 Web Inspector: Hide dock button when not allowed to dock
497 https://bugs.webkit.org/show_bug.cgi?id=78575
499 Reviewed by Pavel Feldman.
501 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
502 (WebKit::WebInspectorClient::didResizeMainFrame):
503 * WebProcess/WebCoreSupport/WebInspectorClient.h:
504 * WebProcess/WebPage/WebInspector.cpp:
505 (WebKit::WebInspector::updateDockingAvailability):
506 * WebProcess/WebPage/WebInspector.h:
508 2012-03-06 Allan Sandfeld Jensen <allan.jensen@nokia.com>
510 [Qt] Interaction Engine suspends content during pageload.
511 https://bugs.webkit.org/show_bug.cgi?id=80294
513 Only suspend content when viewport updates are deferred
514 for a non-instantanious interaction.
516 Reviewed by Kenneth Rohde Christiansen.
518 * UIProcess/qt/QtViewportInteractionEngine.cpp:
519 (WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer):
520 (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
521 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
522 (WebKit::QtViewportInteractionEngine::flickableMoveStarted):
523 (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
524 * UIProcess/qt/QtViewportInteractionEngine.h:
525 (QtViewportInteractionEngine):
527 2012-03-06 Simon Hausmann <simon.hausmann@nokia.com>
529 [Qt] Make QQuickWebView's url property work with a flickable webview
531 Reviewed by Tor Arne Vestbø.
533 QQuickWebViewPrivate::onComponentComplete implements the deferred url loading
534 when the url property is set in the component instantiation. QQuickWebViewFlickablePrivate
535 is the private sub-class used for a flickable webview, which re-implemented onComponentComplete
536 but forgot to call the base implementation.
538 * UIProcess/API/qt/qquickwebview.cpp:
539 (QQuickWebViewFlickablePrivate::onComponentComplete):
541 2012-03-06 Carlos Garcia Campos <cgarcia@igalia.com>
543 [GTK] Fix several documentation issues in WebKit2 GTK+ API
544 https://bugs.webkit.org/show_bug.cgi?id=80281
546 Reviewed by Martin Robinson.
548 * UIProcess/API/gtk/WebKitFindController.cpp:
549 * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
550 (webkit_navigation_policy_decision_class_init):
551 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
552 * UIProcess/API/gtk/WebKitWebView.h:
554 2012-03-06 Carlos Garcia Campos <cgarcia@igalia.com>
556 [GTK] Use a single signal for script dialogs in WebKit2 GTK+ API
557 https://bugs.webkit.org/show_bug.cgi?id=80271
559 Reviewed by Martin Robinson.
561 Add a new signal WebKitWebView::script-dialog that passes a
562 WebKitScriptDialog boxed type that can be used to build the dialog
563 and set the responses. It simplifies the API and makes it bindings
567 * UIProcess/API/gtk/WebKitScriptDialog.cpp: Added.
568 (webkitScriptDialogCopy): Copy method for boxed type.
569 (webkitScriptDialogFree): Free method for boxed type.
570 (webkit_script_dialog_get_dialog_type): Return the type of dialog:
571 alert, confirm or prompt.
572 (webkit_script_dialog_get_message): Return the message of the dialog.
573 (webkit_script_dialog_confirm_set_confirmed): Set whether user
574 confirmed the dialog, for confirm dialogs.
575 (webkit_script_dialog_prompt_get_default_text): Get the default
576 text of prompt dialogs.
577 (webkit_script_dialog_prompt_set_text): Set the text entered by
578 the user, for prompt dialogs.
579 * UIProcess/API/gtk/WebKitScriptDialog.h: Added.
580 * UIProcess/API/gtk/WebKitScriptDialogPrivate.h: Added.
581 * UIProcess/API/gtk/WebKitWebView.cpp:
582 (webkitWebViewScriptDialog): Default implementation of
583 WebKitWebView::script-dialog signal.
584 (webkit_web_view_class_init): Add WebKitWebView::script-dialog and
585 remove alert, confirm and propmpt.
586 (webkitWebViewRunJavaScriptAlert): Create a WebKitScriptDialog and
587 emit WebKitWebView::script-dialog signal.
588 (webkitWebViewRunJavaScriptConfirm): Ditto.
589 (webkitWebViewRunJavaScriptPrompt): Ditto.
590 * UIProcess/API/gtk/WebKitWebView.h:
591 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new
593 * UIProcess/API/gtk/docs/webkit2gtk.types: Add webkit_script_dialog_get_type().
594 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
595 (testWebViewJavaScriptDialogs): Update javascript dialog test to
597 * UIProcess/API/gtk/webkit2marshal.list:
598 * UIProcess/API/gtk/webkit2.h:
600 2012-03-05 Gavin Barraclough <barraclough@apple.com>
602 putByIndex should throw in strict mode
603 https://bugs.webkit.org/show_bug.cgi?id=80335
605 Reviewed by Filip Pizlo.
607 Make the MethodTable PutByIndex trap take a boolean 'shouldThrow' parameter.
609 * WebProcess/Plugins/Netscape/NPJSObject.cpp:
610 (WebKit::NPJSObject::setProperty):
612 2012-03-05 Joseph Pecoraro <pecoraro@apple.com>
614 Unreviewed rollout of r109858 for restructuring.
616 2012-03-05 Joseph Pecoraro <pecoraro@apple.com>
618 <http://webkit.org/b/78575> Web Inspector: Hide dock button when not allowed to dock
620 Reviewed by Timothy Hatcher.
622 * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
623 (WebKit::WebInspectorClient::updateDockingAvailability):
624 * WebProcess/WebCoreSupport/WebInspectorClient.h:
625 * WebProcess/WebPage/WebInspector.cpp:
626 (WebKit::WebInspector::updateDockingAvailability):
627 * WebProcess/WebPage/WebInspector.h:
629 2012-03-05 Anders Carlsson <andersca@apple.com>
631 pinch-to-zoom and double-tap flicker when using the new scrolling model
632 https://bugs.webkit.org/show_bug.cgi?id=80368
633 <rdar://problem/10866221>
635 Reviewed by Sam Weinig.
637 Add a way for drawing areas to respond to callback based force repaint requests asynchronously.
638 This is currently needed for the tiled drawing area when there might be outstanding scroll updates
639 that are sent from the scrolling thread to the main thread and we need to ensure that they're processed
640 before sending a message back.
642 * WebProcess/WebPage/DrawingArea.h:
643 (WebKit::DrawingArea::forceRepaintAsync):
644 Add new member function.
646 * WebProcess/WebPage/WebPage.cpp:
647 (WebKit::WebPage::forceRepaint):
648 Try forceRepaintAsync first.
650 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
651 (WebKit::forceRepaintAndSendMessage):
652 Force the repaint and send the message.
654 (WebKit::dispatchBackToMainThread):
655 Dispatch a call to forceRepaintAndSendMessage to the main thread.
657 (WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync):
658 Dispatch a function on the scrolling thread. Its sole purpose is to dispatch a function back to the
659 main thread, ensuring that all previously dispatched functions have been executed.
661 2012-03-05 Enrica Casucci <enrica@apple.com>
663 Can't type on some websites (plug-ins steal key events).
664 <rdar://problem/10892291>
666 When the plugin is disabled, it is necessary to reset _pluginComplexTextInputIdentifier
667 in order to return the correct input context. Failure to do so results in the inputContext
668 method to return the plugin input context instead of the context of the browser view.
670 Reviewed by Sam Weinig.
672 * UIProcess/API/mac/WKView.mm:
673 (-[WKView _setPluginComplexTextInputState:]):
674 (-[WKView _handlePluginComplexTextInputKeyDown:]):
676 2012-03-05 Anders Carlsson <andersca@apple.com>
678 Be more aggressive about repainting page overlays
679 https://bugs.webkit.org/show_bug.cgi?id=80336
680 <rdar://problem/10965943>
682 Reviewed by Simon Fraser.
684 Whenever we're flushing layers and we have a page overlay, check if the main frame
685 has scrolled or if the main frame root content layer needs to be repainted and force the
686 overlay layer to be repainted if either of those conditions are true.
688 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
689 (TiledCoreAnimationDrawingArea):
690 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
691 (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
692 (WebKit::TiledCoreAnimationDrawingArea::shouldRepaintPageOverlayLayer):
695 2012-03-05 Sam Weinig <sam@webkit.org>
697 Add support for hosting layers in the window server in WebKit2
698 <rdar://problem/10400246>
699 https://bugs.webkit.org/show_bug.cgi?id=80310
701 Reviewed by Anders Carlsson.
703 This currently only works if you are using TiledCoreAnimation drawing model.
705 * Platform/mac/LayerHostingContext.h: Renamed from Source/WebKit2/Platform/mac/RemoteLayerClient.h.
706 * Platform/mac/LayerHostingContext.mm: Renamed from Source/WebKit2/Platform/mac/RemoteLayerClient.mm.
707 (WebKit::LayerHostingContext::createForPort):
708 (WebKit::LayerHostingContext::LayerHostingContext):
709 (WebKit::LayerHostingContext::createForWindowServer):
710 (WebKit::LayerHostingContext::~LayerHostingContext):
711 (WebKit::LayerHostingContext::setRootLayer):
712 (WebKit::LayerHostingContext::rootLayer):
713 (WebKit::LayerHostingContext::contextID):
714 (WebKit::LayerHostingContext::invalidate):
715 Renamed RemoteLayerClient to LayerHostingContext and add ability to use the window server
716 as the remote context.
718 * PluginProcess/PluginControllerProxy.cpp:
719 * PluginProcess/PluginControllerProxy.h:
720 * PluginProcess/mac/PluginControllerProxyMac.mm:
721 Update for new names.
723 * Shared/LayerTreeContext.h:
724 Add LayerHostingMode enum.
726 * UIProcess/PageClient.h:
727 * UIProcess/API/mac/PageClientImpl.h:
728 * UIProcess/API/mac/PageClientImpl.mm:
729 (WebKit::PageClientImpl::layerHostingMode):
730 (WebKit::PageClientImpl::updateAcceleratedCompositingMode):
731 Add PageClient access points to get the current layer hosting mode,
732 and a hook to tell the underlying view that the layer hosting context
735 * UIProcess/API/mac/WKViewInternal.h:
736 * UIProcess/API/mac/WKView.mm:
737 (-[WKView _updateAcceleratedCompositingMode:WebKit::]):
738 Implement responding to a new layer hosting context as a simple
739 exit and re-entrance of compositing.
741 * UIProcess/DrawingAreaProxy.h:
742 (WebKit::DrawingAreaProxy::layerHostingModeDidChange):
743 (WebKit::DrawingAreaProxy::updateAcceleratedCompositingMode):
744 * UIProcess/DrawingAreaProxy.messages.in:
745 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
746 (TiledCoreAnimationDrawingAreaProxy):
747 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
748 (WebKit::TiledCoreAnimationDrawingAreaProxy::layerHostingModeDidChange):
749 (WebKit::TiledCoreAnimationDrawingAreaProxy::updateAcceleratedCompositingMode):
750 Pipe layer hosting changes around.
752 * UIProcess/WebPageProxy.h:
753 (WebKit::WebPageProxy::layerHostingMode):
754 * UIProcess/WebPageProxy.cpp:
755 (WebKit::WebPageProxy::WebPageProxy):
756 (WebKit::WebPageProxy::viewStateDidChange):
757 Cache the current layer hosting mode so we don't overzealously
758 tell the WebProcess to reset its context. Re-check layer hosting
759 mode each time we are added/removed from a window.
761 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h:
762 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
763 Update for new names.
765 * WebProcess/WebPage/DrawingArea.h:
766 (WebKit::DrawingArea::setDeviceScaleFactor):
767 (WebKit::DrawingArea::setLayerHostingMode):
768 * WebProcess/WebPage/DrawingArea.messages.in:
769 Pipe layer hosting changes around.
771 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
772 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
773 (WebKit::LayerTreeHostCAMac::~LayerTreeHostCAMac):
774 (WebKit::LayerTreeHostCAMac::platformInitialize):
775 (WebKit::LayerTreeHostCAMac::invalidate):
776 Update for new names.
778 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
779 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
780 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
781 (WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode):
782 Respond to a change in the layer hosting mode by invalidating our old context,
783 making a new one of the right type, and informing the UIProcess of our new context.
785 * WebKit2.xcodeproj/project.pbxproj:
788 2012-03-05 Anders Carlsson <andersca@apple.com>
790 Always update the scroll layer position on the main thread when we have an overlay
791 https://bugs.webkit.org/show_bug.cgi?id=80324
793 Reviewed by Sam Weinig.
795 Call setForceMainThreadScrollLayerPositionUpdates when installing and uninstalling page overlays,
796 so we'll be able to synchronize painting between the tile cache and the page overlays.
798 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
799 (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
800 (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
802 2012-03-05 Timothy Hatcher <timothy@apple.com>
804 Change how the Web Inspector Develop menu actions work.
806 This removes the methods used by Safari's Develop menu. They can now be implemented in Safari.
808 https://webkit.org/b/80308
810 Reviewed by John Sullivan.
812 * UIProcess/API/C/mac/WKInspectorPrivateMac.h: Renamed from Source/WebKit2/UIProcess/API/C/mac/WKInspectorMac.h.
813 * UIProcess/mac/WebInspectorProxyMac.mm:
814 (-[WKWebInspectorProxyObjCAdapter inspectorRef]): Added.
815 * WebKit2.xcodeproj/project.pbxproj: Renamed WKInspectorPrivateMac.h to better reflect its private nature.
817 2012-03-02 Jon Lee <jonlee@apple.com>
819 Add support for notification replaceId in Mac WebKit and WK2
820 https://bugs.webkit.org/show_bug.cgi?id=80206
821 <rdar://problem/10965574>
823 Reviewed by Sam Weinig.
825 * UIProcess/API/C/WKNotification.cpp: Add WK API.
826 (WKNotificationCopyReplaceID):
827 * UIProcess/API/C/WKNotification.h:
828 * UIProcess/Notifications/WebNotification.cpp:
829 (WebKit::WebNotification::WebNotification):
830 * UIProcess/Notifications/WebNotification.h: Add replaceID member.
831 (WebKit::WebNotification::create):
832 (WebKit::WebNotification::replaceID):
834 * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
835 (WebKit::WebNotificationManagerProxy::show):
836 * UIProcess/Notifications/WebNotificationManagerProxy.h:
837 (WebNotificationManagerProxy):
838 * UIProcess/WebPageProxy.cpp:
839 (WebKit::WebPageProxy::showNotification):
840 * UIProcess/WebPageProxy.h:
842 * UIProcess/WebPageProxy.messages.in: Add replaceID to the showNotification message.
843 * WebProcess/Notifications/WebNotificationManager.cpp:
844 (WebKit::WebNotificationManager::show):
846 2012-03-05 Sheriff Bot <webkit.review.bot@gmail.com>
848 Unreviewed, rolling out r109748.
849 http://trac.webkit.org/changeset/109748
850 https://bugs.webkit.org/show_bug.cgi?id=80296
852 Made some tests crash, will fix and recommit (Requested by
856 * UIProcess/API/qt/qquickwebpage.cpp:
857 (QQuickWebPagePrivate::paintToCurrentGLContext):
858 (PageProxyNode::PageProxyNode):
860 (PageProxyNode::changedStates):
861 (PageProxyNode::render):
862 (PageProxyNode::~PageProxyNode):
863 (QQuickWebPage::updatePaintNode):
864 (QQuickWebPagePrivate::updateSize):
865 (QQuickWebPagePrivate::resetPaintNode):
866 (QQuickWebPagePrivate::~QQuickWebPagePrivate):
867 * UIProcess/API/qt/qquickwebpage_p_p.h:
868 (QQuickWebPagePrivate):
869 * UIProcess/DrawingAreaProxy.h:
871 (WebKit::DrawingAreaProxy::layerTreeHostProxy):
873 * UIProcess/DrawingAreaProxyImpl.cpp:
874 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
875 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
876 * UIProcess/LayerTreeHostProxy.h:
877 (LayerTreeHostProxy):
878 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
879 (WebKit::LayerTreeHostProxy::syncAnimations):
880 (WebKit::LayerTreeHostProxy::updateViewport):
881 (WebKit::LayerTreeHostProxy::syncLayerParameters):
882 (WebKit::LayerTreeHostProxy::flushLayerChanges):
883 (WebKit::LayerTreeHostProxy::ensureRootLayer):
884 (WebKit::LayerTreeHostProxy::syncRemoteContent):
885 (WebKit::LayerTreeHostProxy::dispatchUpdate):
887 (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
888 (WebKit::LayerTreeHostProxy::purgeGLResources):
889 * UIProcess/qt/QtWebPageSGNode.cpp: Removed.
890 * UIProcess/qt/QtWebPageSGNode.h: Removed.
892 2012-03-05 Joone Hur <joone.hur@collabora.co.uk>
894 [GTK] zlib link error with --enable-webkit2
895 https://bugs.webkit.org/show_bug.cgi?id=79877
897 Reviewed by Martin Robinson.
899 zlib should be linked properly.
901 * GNUmakefile.am: Link $(ZLIB_LIBS) with libwebkit2gtk instead of
902 linking it with WebKitWebProcess.
904 2012-03-05 Carlos Garcia Campos <cgarcia@igalia.com>
906 [WK2] WKPageGetContextMenuFromProposedContextMenuCallback should pass a HitTestResult
907 https://bugs.webkit.org/show_bug.cgi?id=77208
909 Reviewed by Anders Carlsson.
911 A HitTestResultData is now passed to ShowContextMenu WebPageProxy
912 message instead of the ContextMenuState. ContextMenu client has
913 been updated to pass the HitTestResult to the
914 getContextMenuFromProposedMenu callback.
916 * GNUmakefile.am: Remove ContextMenuState.h.
917 * Shared/APIClientTraits.h:
918 * Shared/ContextMenuState.h: Removed.
919 * Shared/WebHitTestResult.h:
920 (WebKit::WebHitTestResult::Data::Data): Add constructor that takes
921 a WebCore::HitTestResult.
922 * UIProcess/API/C/WKPage.h: Add HitTestResult parameter to
923 getContextMenuFromProposedMenu callback and deprecate the old
925 * UIProcess/WebPageContextMenuClient.cpp:
926 (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
927 Pass a HitTestResult to getContextMenuFromProposedMenu or use the
928 deprecated one if client version is an old one.
929 * UIProcess/WebPageContextMenuClient.h:
930 * UIProcess/WebPageProxy.cpp:
931 (WebKit::WebPageProxy::showContextMenu):
932 (WebKit::WebPageProxy::internalShowContextMenu): Save the
933 WebHitTestResult::Data to use it for handling context menu actions.
934 (WebKit::WebPageProxy::contextMenuItemSelected): Use the saved
935 WebHitTestResult::Data.
936 * UIProcess/WebPageProxy.h:
937 * UIProcess/WebPageProxy.messages.in:
938 * WebKit2.xcodeproj/project.pbxproj: Remove ContextMenuState.h.
939 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
940 (WebKit::WebChromeClient::mouseDidMoveOverElement): Use the new
941 WebHitTestResult::Data constructor that takes a WebCore::HitTestResult.
942 * WebProcess/WebPage/WebContextMenu.cpp:
943 (WebKit::WebContextMenu::show): Create a WebHitTestResult::Data
944 instead of a ContextMenuState and pass it to ShowContextMenu message.
945 * win/WebKit2.vcproj: ContextMenuState.h.
947 2012-03-05 No'am Rosenthal <noam.rosenthal@nokia.com>
949 [Qt] [WK2] Support threaded renderer in WK2
950 https://bugs.webkit.org/show_bug.cgi?id=76661
952 Made the appropriate fixes in the UI process code to make rendering thread-safe.
953 - Separated the scenegraph node code to QtWebPageSGNode. QtWebPageSGNode has direct access
954 to LayerTreeHostProxy.
956 - Each function in LayerTreeHostProxy can be either called from the main thread (handling
957 messages from the web process), or from the renderer thread (handling the GL context).
958 The render-queue is locked with a mutex, and messages back to the web process are sent
959 via callOnMainThread.
961 - LayerTreeHostProxy is now ThreadSafeRefCounted. That is done to make sure that the GL
962 resources it creates are only freed when the QtWebPageSGNode is deleted, which can be
963 before or after the owning DrawingAreaProxy is deleted. This ensures that the class is
964 deleted only after its GL resources are freed, otherwise those resources may leak.
966 Based on a patch by Viatcheslav Ostapenko.
968 Reviewed by Kenneth Rohde Christiansen.
970 * Target.pri: Added new files.
971 * UIProcess/API/qt/qquickwebpage.cpp: Moved QtWebPageSGNode out.
972 (QQuickWebPage::updatePaintNode): Call QtWebPageSGNode
973 (QQuickWebPagePrivate::updateSize): Call QtWebPageSGNode
974 (QQuickWebPagePrivate::didDeleteSGWebPageNode): Override QtWebPageSGNode::Client
975 (QQuickWebPagePrivate::~QQuickWebPagePrivate):
976 * UIProcess/API/qt/qquickwebpage_p_p.h:
977 (QQuickWebPagePrivate):
978 * UIProcess/DrawingAreaProxy.h:
980 (WebKit::DrawingAreaProxy::layerTreeHostProxy): Made LayerTreeHostProxy ref-counted.
982 * UIProcess/DrawingAreaProxyImpl.cpp:
983 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
984 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
985 * UIProcess/LayerTreeHostProxy.h:
987 (WebKit::LayerTreeHostProxy::create):
988 (LayerTreeHostProxy):
989 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
990 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
992 (MainThreadGuardedInvoker):
993 A class that allows invoking functions in the main thread, while guarding a ref-
996 (WebKit::MainThreadGuardedInvoker::call):
997 (WebKit::MainThreadGuardedInvoker::MainThreadGuardedInvoker):
998 (WebKit::MainThreadGuardedInvoker::invoke):
999 (WebKit::LayerTreeHostProxy::syncAnimations):
1000 (WebKit::LayerTreeHostProxy::updateViewport):
1001 (WebKit::LayerTreeHostProxy::detachDrawingArea):
1002 (WebKit::LayerTreeHostProxy::syncLayerParameters):
1003 (WebKit::LayerTreeHostProxy::setShouldRenderNextFrame):
1004 (WebKit::LayerTreeHostProxy::flushLayerChanges):
1005 (WebKit::LayerTreeHostProxy::ensureRootLayer):
1006 (WebKit::LayerTreeHostProxy::syncRemoteContent):
1007 (WebKit::LayerTreeHostProxy::dispatchUpdate):
1008 (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
1009 (WebKit::LayerTreeHostProxy::purgeGLResources):
1010 * UIProcess/qt/QtWebPageSGNode.cpp: Added.
1011 * UIProcess/qt/QtWebPageSGNode.h: Added.
1013 2012-03-04 Raphael Kubo da Costa <kubo@profusion.mobi>
1015 [CMake] Libraries are installed to /usr/lib and not /usr/lib64 on x86_64
1016 https://bugs.webkit.org/show_bug.cgi?id=71507
1018 Reviewed by Antonio Gomes.
1020 * CMakeLists.txt: Use ${LIB_INSTALL_DIR} instead of hardcoding "lib".
1022 2012-03-03 Simon Hausmann <simon.hausmann@nokia.com>
1024 [Qt] Fix static_libs_as_shared build
1025 https://bugs.webkit.org/show_bug.cgi?id=80214
1027 Reviewed by Tor Arne Vestbø.
1029 Replace (static) link time dependency to WK1 with entrypoint
1030 in the separate WebProcess for activating the QStyle theme if
1034 * UIProcess/Launcher/ProcessLauncher.h:
1035 * WebProcess/qt/WebProcessMainQt.cpp:
1036 (WebKit::WebProcessMainQt):
1041 2012-03-03 Hans Wennborg <hans@chromium.org>
1043 Implement Speech JavaScript API
1044 https://bugs.webkit.org/show_bug.cgi?id=80019
1046 Reviewed by Adam Barth.
1048 Add ENABLE_SCRIPTED_SPEECH.
1050 * Configurations/FeatureDefines.xcconfig:
1052 2012-03-03 No'am Rosenthal <noam.rosenthal@nokia.com>
1054 [Qt] Use the existing inheritedOpacity/matrix properties of QSGNode
1055 https://bugs.webkit.org/show_bug.cgi?id=79543
1057 Use QSGNode::inheritedOpacity() and QSGNode::matrix().
1058 Also, remove flags from changedStates() that we don't actually touch.
1059 This is covered by existing API tests.
1061 Reviewed by Kenneth Rohde Christiansen.
1063 * UIProcess/API/qt/qquickwebpage.cpp:
1064 (QQuickWebPagePrivate::paintToCurrentGLContext):
1065 (PageProxyNode::changedStates):
1066 (PageProxyNode::render):
1067 * UIProcess/API/qt/qquickwebpage_p_p.h:
1068 (QQuickWebPagePrivate):
1070 2012-03-03 Anders Carlsson <andersca@apple.com>
1072 Fix build with newer versions of clang.
1074 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1075 (WebKit::NPN_GetValue):
1076 Cast the switch parameter to unsigned to prevent warnings about case values not being part of the enum type.
1078 2012-03-02 Andy Estes <aestes@apple.com>
1080 Move nsStringFromWebCoreString out of PageClientImpl
1081 https://bugs.webkit.org/show_bug.cgi?id=80202
1083 Reviewed by Sam Weinig.
1085 nsStringFromWebCoreString() doesn't really belong in PageClientImpl.mm,
1086 and it makes us include PageClientImpl.h in places where we shouldn't.
1087 Move this function into StringUtilities.{h, mm}.
1089 * Platform/mac/StringUtilities.h: Added.
1090 * Platform/mac/StringUtilities.mm: Added.
1091 (WebKit::nsStringFromWebCoreString):
1092 * UIProcess/API/mac/PageClientImpl.h:
1093 * UIProcess/API/mac/PageClientImpl.mm:
1094 * UIProcess/API/mac/WKView.mm:
1095 * UIProcess/mac/WebContextMenuProxyMac.mm:
1096 * UIProcess/mac/WebPageProxyMac.mm:
1097 * UIProcess/mac/WebPopupMenuProxyMac.mm:
1098 * UIProcess/mac/WebPreferencesMac.mm:
1099 * WebKit2.xcodeproj/project.pbxproj:
1101 2012-03-02 Andy Estes <aestes@apple.com>
1103 Remove com.apple.WebKit.PluginProcess.sb from WebKit2.xcodeproj's Headers build phase
1104 https://bugs.webkit.org/show_bug.cgi?id=80197
1106 Reviewed by Alexey Proskuryakov.
1108 It doesn't belong there, and it makes Xcode consider the project to be
1109 invalid, triggering assertions in some builds of Xcode.
1111 * WebKit2.xcodeproj/project.pbxproj:
1113 2012-03-02 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
1115 [Qt] Fix spelling mistake in header guard
1117 Reviewed by Noam Rosenthal.
1119 * UIProcess/API/qt/qwebviewportinfo_p.h:
1121 2012-03-02 Carlos Garcia Campos <cgarcia@igalia.com>
1123 [GTK] Invalid check in webkit_web_view_set_zoom_level() when zoom-text-only is enabled
1124 https://bugs.webkit.org/show_bug.cgi?id=80150
1126 Reviewed by Philippe Normand.
1128 * UIProcess/API/gtk/WebKitWebView.cpp:
1129 (webkit_web_view_set_zoom_level): Use
1130 webkit_web_view_get_zoom_level() instead of
1131 WKPageGetPageZoomFactor() to get the current effective zoom level
1132 depending on zoom-text-only setting.
1134 2012-03-02 Allan Sandfeld Jensen <allan.jensen@nokia.com>
1136 Fix build on AppleWebKit after 109548.
1138 * mac/WebKit2.order:
1140 2012-03-02 Simon Hausmann <simon.hausmann@nokia.com>
1142 [Qt] Fix tests run with WTR not using QStyle theme
1143 https://bugs.webkit.org/show_bug.cgi?id=80147
1145 Reviewed by Csaba Osztrogonác.
1147 Use an environment variable (set by WTR) to select the QStyle theme.
1148 This is a temporary kludge until we rebase the layout tests to use the
1149 QStyle independent "mobile" theme. This also temporarily breaks the
1150 force_static_libs_as_shared build.
1153 * WebProcess/qt/WebProcessMainQt.cpp:
1154 (WebKit::WebProcessMainQt):
1156 2012-03-02 Simon Hausmann <simon.hausmann@nokia.com>
1158 [Qt] Compile WebCore without QtWidgets
1159 https://bugs.webkit.org/show_bug.cgi?id=80141
1161 Reviewed by Tor Arne Vestbø.
1163 * Shared/qt/WebEventFactoryQt.cpp: Removed unnecessary include.
1164 * Target.pri: Require widgets for WK2 for the moment, until bug #79458
1167 2012-03-02 Allan Sandfeld Jensen <allan.jensen@nokia.com>
1169 Suspend/Resume API for pausing timers and animations.
1170 https://bugs.webkit.org/show_bug.cgi?id=76063
1172 Based on the initial work of Zalan Bujtas <zalan.bujtas@nokia.com>,
1174 Adds suspend and resume API for WebKit2 and uses it in Qt to
1175 suspend animations and DOM timers during panning and zoom.
1177 Reviewed by Kenneth Rohde Christiansen.
1179 * UIProcess/API/qt/qquickwebview.cpp:
1180 (QQuickWebViewFlickablePrivate::_q_suspend):
1181 (QQuickWebViewFlickablePrivate::_q_resume):
1182 * UIProcess/WebPageProxy.cpp:
1183 (WebKit::WebPageProxy::WebPageProxy):
1184 (WebKit::WebPageProxy::resumeActiveDOMObjectsAndAnimations):
1185 (WebKit::WebPageProxy::suspendActiveDOMObjectsAndAnimations):
1186 (WebKit::WebPageProxy::processDidCrash):
1187 * UIProcess/WebPageProxy.h:
1188 * WebProcess/WebPage/WebPage.cpp:
1189 (WebKit::WebPage::suspendActiveDOMObjectsAndAnimations):
1190 (WebKit::WebPage::resumeActiveDOMObjectsAndAnimations):
1191 * WebProcess/WebPage/WebPage.h:
1192 * WebProcess/WebPage/WebPage.messages.in:
1194 2012-03-02 Joone Hur <joone.hur@collabora.co.uk>
1196 Unreviewed. Fix WebKit2 GTK+ build.
1198 * GNUmakefile.am: allow WebKitWebProcess to link with zlib properly.
1200 2012-03-01 Andras Becsi <andras.becsi@nokia.com>
1202 [Qt][WK2] Make the interaction with the Flickable work on the N9
1203 https://bugs.webkit.org/show_bug.cgi?id=80029
1205 Reviewed by Simon Hausmann.
1207 Because the WebView item accepts all touch events it receives and sends
1208 them to the web process before propagating them to the gesture recognizers,
1209 which is correct behaviour, we can not rely on the touch->mouse conversion
1210 of Qt5 when controlling Flickable. Hence we need to convert the received
1211 touch events to mouse events in the QtFlickProvider.
1213 * UIProcess/qt/QtFlickProvider.cpp:
1214 (QtFlickProvider::handleTouchFlickEvent):
1215 Do the touch to mouse event conversion for the Flickable.
1216 * UIProcess/qt/QtPanGestureRecognizer.cpp:
1217 (WebKit::QtPanGestureRecognizer::recognize):
1218 A touch begin event should cancel the previous pan gesture
1219 and stop the ongoing flick animation.
1221 2012-03-01 Anders Carlsson <andersca@apple.com>
1223 Assertion failure in pageContainsAnyHorizontalScrollbars() (scrollableArea->isOnActivePage()) when leaving pages with embedded PDFs
1224 https://bugs.webkit.org/show_bug.cgi?id=80044
1225 <rdar://problem/10919940>
1227 Reviewed by Brady Eidson.
1229 Remove the code that would add and remove wheel event handlers since that's not what we want to track.
1230 Instead, dynamically add and remove the view as its scrollbars come and go.
1232 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
1233 (WebKit::BuiltInPDFView::updateScrollbars):
1234 (WebKit::BuiltInPDFView::initialize):
1235 * WebProcess/Plugins/PDF/BuiltInPDFView.h:
1238 2012-03-01 Kangil Han <kangil.han@samsung.com>
1240 [DRT] Remove all PlainTextController usages in existing tests by adding internal API
1241 https://bugs.webkit.org/show_bug.cgi?id=78570
1243 Reviewed by Hajime Morita.
1245 This patch will remove all PlainTextController usages
1246 in existing DRT tests by adding internal API to WebCore/testing/Internals
1249 * win/WebKit2CFLite.def:
1251 2012-03-01 Nikolas Zimmermann <nzimmermann@rim.com>
1253 Unreviewed, rolling out r109255.
1254 http://trac.webkit.org/changeset/109255
1255 https://bugs.webkit.org/show_bug.cgi?id=79932
1257 Breaks rounded rects with dashed strokes in SVG
1259 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1260 (InitWebCoreSystemInterface):
1262 2012-03-01 Sergio Villar Senin <svillar@igalia.com>
1264 [WK2] [GTK] [libsoup] SoupSession should use system CA
1265 https://bugs.webkit.org/show_bug.cgi?id=79657
1267 Reviewed by Martin Robinson.
1269 SoupSession sould use system CA list to validate SSL
1270 certificates. Do not use strict certificate validation though as
1271 we want clients to decide whether or not accept/decline invalid
1272 certificates (API to be added later).
1274 No new tests required as current behaviour does not change at all
1275 as we continue to accept invalid certificates by default.
1277 * WebProcess/gtk/WebProcessMainGtk.cpp:
1278 (WebKit::WebProcessMainGtk):
1280 2012-03-01 Carlos Garcia Campos <cgarcia@igalia.com>
1282 Unreviewed. Fix WebKit2 GTK+ build.
1284 * UIProcess/API/gtk/WebKitDefines.h:
1285 * UIProcess/API/gtk/WebKitWebView.h:
1287 2012-02-29 Simon Hausmann <simon.hausmann@nokia.com>
1289 [Qt][WK2] QQuickWebView::event should lookup faster which events QQuickWebPage can handle
1290 https://bugs.webkit.org/show_bug.cgi?id=78047
1292 Reviewed by Kenneth Rohde Christiansen.
1294 Replaced double-dispatch of events with direct forwarding of events from QQuickWebView::*Event to
1295 QtWebPageEventHandler::handle*Event.
1297 * UIProcess/API/qt/qquickwebview.cpp:
1298 (QQuickWebView::keyPressEvent):
1299 (QQuickWebView::keyReleaseEvent):
1300 (QQuickWebView::inputMethodEvent):
1301 (QQuickWebView::focusInEvent):
1302 (QQuickWebView::focusOutEvent):
1303 (QQuickWebView::touchEvent):
1304 (QQuickWebView::mousePressEvent):
1305 (QQuickWebView::mouseMoveEvent):
1306 (QQuickWebView::mouseReleaseEvent):
1307 (QQuickWebView::mouseDoubleClickEvent):
1308 (QQuickWebView::wheelEvent):
1309 (QQuickWebView::hoverEnterEvent):
1310 (QQuickWebView::hoverMoveEvent):
1311 (QQuickWebView::hoverLeaveEvent):
1312 (QQuickWebView::dragMoveEvent):
1313 (QQuickWebView::dragEnterEvent):
1314 (QQuickWebView::dragLeaveEvent):
1315 (QQuickWebView::dropEvent):
1316 (QQuickWebView::event):
1317 * UIProcess/qt/QtWebPageEventHandler.cpp:
1318 (QtWebPageEventHandler::handleMouseMoveEvent):
1319 (QtWebPageEventHandler::handleMousePressEvent):
1320 (QtWebPageEventHandler::handleMouseReleaseEvent):
1321 (QtWebPageEventHandler::handleWheelEvent):
1322 (QtWebPageEventHandler::handleHoverLeaveEvent):
1323 (QtWebPageEventHandler::handleHoverMoveEvent):
1324 (QtWebPageEventHandler::handleDragEnterEvent):
1325 (QtWebPageEventHandler::handleDragLeaveEvent):
1326 (QtWebPageEventHandler::handleDragMoveEvent):
1327 (QtWebPageEventHandler::handleDropEvent):
1328 (QtWebPageEventHandler::handleKeyPressEvent):
1329 (QtWebPageEventHandler::handleKeyReleaseEvent):
1330 (QtWebPageEventHandler::handleFocusInEvent):
1331 (QtWebPageEventHandler::handleFocusOutEvent):
1332 (QtWebPageEventHandler::handleInputMethodEvent):
1333 (QtWebPageEventHandler::handleTouchEvent):
1334 * UIProcess/qt/QtWebPageEventHandler.h:
1335 (QtWebPageEventHandler):
1337 2012-03-01 Csaba Osztrogonác <ossy@webkit.org>
1339 [Qt][WK2] Unreviewed buildfix after r109277.
1341 * WebProcess/qt/QtBuiltinBundlePage.cpp:
1342 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
1344 2012-02-29 No'am Rosenthal <noam.rosenthal@nokia.com>
1346 [Qt][WK2] Get rid of the #ifdef mess in LayerTreeHost[Proxy]
1347 https://bugs.webkit.org/show_bug.cgi?id=79501
1349 Use a new UI_SIDE_COMPOSITING flag instead of the several #ifdef flags we currently use.
1351 Reviewed by Kenneth Rohde Christiansen.
1353 * Shared/WebLayerTreeInfo.cpp:
1354 * Shared/WebLayerTreeInfo.h:
1355 * UIProcess/DrawingAreaProxy.cpp:
1357 * UIProcess/DrawingAreaProxy.h:
1359 * UIProcess/DrawingAreaProxyImpl.cpp:
1360 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
1361 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
1363 * UIProcess/DrawingAreaProxyImpl.h:
1364 (DrawingAreaProxyImpl):
1365 * UIProcess/LayerTreeHostProxy.h:
1366 (LayerTreeHostProxy):
1367 * UIProcess/WebPageProxy.cpp:
1368 (WebKit::WebPageProxy::didReceiveMessage):
1369 * UIProcess/qt/LayerBackingStore.cpp:
1370 * UIProcess/qt/LayerBackingStore.h:
1371 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
1372 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
1373 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
1374 * WebProcess/WebPage/DrawingArea.h:
1376 * WebProcess/WebPage/DrawingAreaImpl.cpp:
1378 * WebProcess/WebPage/DrawingAreaImpl.h:
1380 * WebProcess/WebPage/LayerTreeHost.cpp:
1381 (WebKit::LayerTreeHost::create):
1382 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
1383 (WebKit::LayerTreeHostQt::purgeBackingStores):
1384 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
1387 2012-02-28 Brian Weinstein <bweinstein@apple.com>
1389 WebKit2: didNewFirstVisuallyNonEmptyLayout should be sent to injected bundle
1390 https://bugs.webkit.org/show_bug.cgi?id=79849
1392 Tell the injected bundle about didNewFirstVisuallyNonEmptyLayout (we currently
1393 just tell the UI process).
1395 Reviewed by Beth Dakin.
1397 * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add didNewFirstVisuallyNonEmptyLayout to version 1.
1398 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
1399 (WebKit::InjectedBundlePageLoaderClient::didNewFirstVisuallyNonEmptyLayout): Call through to the
1401 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
1402 (InjectedBundlePageLoaderClient):
1403 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1404 (WebKit::WebFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout): Tell the injected
1407 2012-02-29 Tim Horton <timothy_horton@apple.com>
1409 Make use of CG rounded-rect primitives
1410 https://bugs.webkit.org/show_bug.cgi?id=79932
1411 <rdar://problem/9274953>
1413 Reviewed by Simon Fraser.
1415 Add wkCGPathAddRoundedRect.
1417 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1418 (InitWebCoreSystemInterface):
1420 2012-02-29 Andy Estes <aestes@apple.com>
1422 CFURLDownloadScheduleWithCurrentMessageQueue only exists on Windows
1423 https://bugs.webkit.org/show_bug.cgi?id=79936
1425 Reviewed by Brady Eidson.
1427 CFURLDownloadScheduleWithCurrentMessageQueue only exists on Windows
1428 platforms. Non-Windows platforms that use CFNetwork-based downloads
1429 should omit this call.
1431 * WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
1432 (WebKit::Download::start):
1434 2012-02-29 Rafael Brandao <rafael.lobo@openbossa.org>
1436 [Qt][WK2] We should not add NetscapeBrowserFuncs.cpp as header
1437 https://bugs.webkit.org/show_bug.cgi?id=79847
1439 Reviewed by Alexey Proskuryakov.
1441 * Target.pri: Fix typo, so we can add ".h" file instead.
1443 2012-02-29 Sam Weinig <sam@webkit.org>
1445 When invoking Lookup while zoomed in, the highlighted word renders out of line
1446 <rdar://problem/10812527>
1448 Reviewed by Simon Fraser.
1450 * WebProcess/WebPage/mac/WebPageMac.mm:
1451 (WebKit::WebPage::performDictionaryLookupForRange):
1452 Make sure to scale the ascent when determining the origin for the overlay.
1454 2012-02-29 Carlos Garcia Campos <cgarcia@igalia.com>
1456 [GTK] Use text or page zoom factor in WebKitWebView depending on zoom-text-only
1457 https://bugs.webkit.org/show_bug.cgi?id=75252
1459 Reviewed by Gustavo Noronha Silva.
1461 * UIProcess/API/gtk/WebKitWebView.cpp:
1462 (zoomTextOnlyChanged): Update text/page zoom factor when
1463 zoom-text-only setting changes.
1464 (webkitWebViewSetSettings): Helper function to set the settings
1465 object for the web view, initializing the settings for the page
1466 and connecting to notify::zoom-text-only signal.
1467 (webkitWebViewConstructed): Use webkitWebViewSetSettings().
1468 (webkit_web_view_set_settings): Use webkitWebViewSetSettings() and
1469 disconnect from the notify::zoom-text-only signal of the previous
1471 (webkit_web_view_set_zoom_level): Set text/page zoom factor
1472 depending on WebKitSettings:zoom-text-only property.
1473 (webkit_web_view_get_zoom_level): Get text/page zoom factor
1474 depending on WebKitSettings:zoom-text-only property.
1475 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
1476 (testWebViewZoomLevel):
1478 2012-02-29 Carlos Garcia Campos <cgarcia@igalia.com>
1480 [GTK] Add zoom-text-only setting to WebKit2 GTK+ API
1481 https://bugs.webkit.org/show_bug.cgi?id=75249
1483 Reviewed by Gustavo Noronha Silva.
1485 To set whether zoom level of web view should affect only the text
1486 or all page contents. It's disabled by default.
1488 * UIProcess/API/gtk/WebKitSettings.cpp:
1489 (webKitSettingsSetProperty):
1490 (webKitSettingsGetProperty):
1491 (webkit_settings_class_init): Add WebKitSettings:zoom-text-only
1493 (webkit_settings_set_zoom_text_only): Set
1494 WebKitSettings:zoom-text-only.
1495 (webkit_settings_get_zoom_text_only): Get
1496 WebKitSettings:zoom-text-only.
1497 * UIProcess/API/gtk/WebKitSettings.h:
1498 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new
1500 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
1501 (testWebKitSettings):
1503 2012-02-29 Sergio Villar Senin <svillar@igalia.com>
1505 DidFindString should be emitted even if FindOptionsShowOverlay is not enabled
1506 https://bugs.webkit.org/show_bug.cgi?id=76522
1508 Reviewed by Darin Adler.
1510 DidFindString message should be issued always even if neither
1511 FindOptionsShowOverlay or FindOptionsShowHighlight are
1512 provided. The difference is that if any of those flags are present
1513 the find operation will look for all the appearances of the text
1514 in the web view, otherwise it will just look and report the next
1517 This patch removes the temporary workaround added in r109222 to
1518 the WebKitFindController unit tests.
1520 * UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
1521 * WebProcess/WebPage/FindController.cpp:
1522 (WebKit::FindController::findString):
1524 2012-01-19 Sergio Villar Senin <svillar@igalia.com>
1526 [GTK] [WK2] Add Find API
1527 https://bugs.webkit.org/show_bug.cgi?id=76070
1529 Reviewed by Martin Robinson.
1531 This patch adds a new public find API for the Gtk+ WK2 port. It
1532 defines a new object called WebKitFindController owned by each
1533 WebKitWebView. Clients will use this new object to search strings
1534 in the WebKitWebView.
1536 Changes include also documentation and unit tests for the new
1540 * UIProcess/API/gtk/WebKitDefines.h:
1541 * UIProcess/API/gtk/WebKitFindController.cpp: Added.
1542 (didFindString): implementation of the WKPage Find interface.
1543 (didFailToFindString): Ditto.
1544 (didCountStringMatches): Ditto.
1545 (webkit_find_controller_init):
1546 (getWKPageFromWebKitWebView):
1547 (webkitFindControllerConstructed):
1548 (webkitFindControllerGetProperty):
1549 (webkitFindControllerSetProperty):
1550 (webkitFindControllerFinalize):
1551 (webkit_find_controller_class_init):
1552 (webkit_find_controller_get_search_text):
1553 (webkit_find_controller_get_options):
1554 (webkit_find_controller_get_max_match_count):
1555 (webkit_find_controller_get_web_view):
1556 (webKitFindControllerPerform):
1557 (webKitFindControllerSetSearchData):
1558 (webkit_find_controller_search): asynchronously looks for the
1559 search string in the WebKitWebView.
1560 (webkit_find_controller_search_finish): unhighlights text matches.
1561 (webkit_find_controller_search_next):
1562 (webkit_find_controller_search_previous):
1563 (webkit_find_controller_count_matches): asynchronously counts the
1564 number of matches of the search string in the WebKitWebView.
1565 * UIProcess/API/gtk/WebKitFindController.h: Added.
1566 * UIProcess/API/gtk/WebKitPrivate.h:
1567 * UIProcess/API/gtk/WebKitWebView.cpp:
1568 (webkit_web_view_get_find_controller): returns the
1569 WebKitFindController instance owned by the WebKitWebView.
1570 * UIProcess/API/gtk/WebKitWebView.h:
1571 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
1572 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
1573 * UIProcess/API/gtk/docs/webkit2gtk.types:
1574 * UIProcess/API/gtk/tests/GNUmakefile.am:
1575 * UIProcess/API/gtk/tests/TestWebKitFindController.cpp: Added.
1576 (testFindControllerTextFound):
1577 (testFindControllerTextNotFound):
1578 (testFindControllerMatchCount):
1579 (testFindControllerMaxMatchCount):
1580 (testFindControllerNext):
1581 (testFindControllerPrevious):
1582 (testFindControllerCountedMatches):
1583 (testFindControllerOptions):
1584 (testFindControllerInstance):
1585 (testFindControllerGetters):
1586 (testFindControllerHide):
1589 * UIProcess/API/gtk/webkit2.h:
1591 2012-02-28 Simon Fraser <simon.fraser@apple.com>
1593 Update WebKitSystemInterface.
1595 Reviewed by Sam Weinig.
1597 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1598 (InitWebCoreSystemInterface):
1600 2012-02-28 Hugo Parente Lima <hugo.lima@openbossa.org>
1602 All mouse events after a right click are ignored when they came from WebkitTestRunner
1603 https://bugs.webkit.org/show_bug.cgi?id=77350
1605 Reviewed by Chang Shu.
1607 Never ignore mouse events when using sync events, even if the context menu is being
1608 show but the Ui did replied the ShowContextMenu event with a ContextMenuHidden.
1610 * WebProcess/WebPage/WebPage.cpp:
1611 (WebKit::WebPage::mouseEventSyncForTesting):
1613 2012-02-28 Alexey Proskuryakov <ap@apple.com>
1617 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Check for build platform
1620 2012-02-28 Alexey Proskuryakov <ap@apple.com>
1624 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue):
1625 Check for build platform properly.
1627 2012-02-28 Enrica Casucci <enrica@apple.com>
1629 More Pasteboard code cleanup.
1630 https://bugs.webkit.org/show_bug.cgi?id=79816
1632 Removing the last references to NSPasteboard.
1634 Reviewed by Alexey Proskuryakov.
1636 * WebProcess/WebCoreSupport/WebEditorClient.h:
1637 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
1638 (WebKit::WebEditorClient::setInsertionPasteboard):
1640 2012-02-28 Alexey Proskuryakov <ap@apple.com>
1642 [Mac] Add an experimental SPI for plug-ins to enter sandbox
1643 https://bugs.webkit.org/show_bug.cgi?id=79709
1645 Reviewed by Anders Carlsson.
1647 * PluginProcess/PluginProcess.h: (WebKit::PluginProcess::pluginPath): Exposed plugin path.
1649 * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb: Added.
1651 * WebKit2.xcodeproj/project.pbxproj: Added new files.
1653 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue): Exposed
1654 a function to access sandboxing functions when available.
1656 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h: Added.
1657 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Added.
1659 2012-02-28 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
1661 [Qt] Allow read/write to the WebView.url property
1662 https://bugs.webkit.org/show_bug.cgi?id=77554
1664 Reviewed by Tor Arne Vestbø.
1666 Change QML API WebView.url to read/write to reflect either the url requested by the user.
1667 Also removed WebView.load(url). Defers setting url (loading page) until onComponentComplete is triggered.
1668 Fixed c++ and qml tests to reflect the new API.
1671 * UIProcess/API/qt/qquickwebview.cpp:
1672 (QQuickWebViewPrivate::QQuickWebViewPrivate):
1673 (QQuickWebViewPrivate::onComponentComplete):
1674 (QQuickWebView::setUrl):
1675 * UIProcess/API/qt/qquickwebview_p_p.h:
1676 (QQuickWebViewPrivate):
1677 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
1678 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml:
1679 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
1680 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
1681 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
1682 * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
1683 * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml:
1684 * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
1685 * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml:
1686 * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
1687 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
1688 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml:
1689 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml:
1690 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
1691 * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml:
1692 * UIProcess/API/qt/tests/qmltests/WebView/tst_origin.qml:
1693 * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
1694 * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml:
1695 * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml:
1696 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
1697 (tst_QQuickWebView::loadEmptyPageViewHidden):
1698 (tst_QQuickWebView::loadNonexistentFileUrl):
1700 2012-02-28 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
1702 [Qt] Signal and property cleanup in QQuickWebView
1703 https://bugs.webkit.org/show_bug.cgi?id=78820
1705 Reviewed by Noam Rosenthal.
1707 - Remove parameters from property change notify signals:
1708 titleChanged, urlChanged, iconChanged, loadProgressChanged
1709 - Rename the parameters of linkHovered to prevent shadoing properties of WebView
1710 - Rename navigationStateChanged to navigationHistoryChanged
1712 * UIProcess/API/qt/qquickwebview.cpp:
1713 (QQuickWebViewPrivate::QQuickWebViewPrivate):
1714 (QQuickWebViewPrivate::initialize):
1715 (QQuickWebViewPrivate::_q_onUrlChanged):
1716 (QQuickWebViewPrivate::setIcon):
1717 * UIProcess/API/qt/qquickwebview_p.h:
1718 * UIProcess/API/qt/qquickwebview_p_p.h:
1719 (QQuickWebViewPrivate):
1720 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
1721 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
1722 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
1723 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
1724 (tst_QQuickWebView::loadProgress):
1725 * UIProcess/qt/QtWebPageLoadClient.cpp:
1726 (QtWebPageLoadClient::didCommitLoadForFrame):
1727 (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
1728 (QtWebPageLoadClient::didReceiveTitleForFrame):
1729 (QtWebPageLoadClient::setLoadProgress):
1730 * UIProcess/qt/QtWebPageLoadClient.h:
1731 (QtWebPageLoadClient):
1733 2012-02-28 Mario Sanchez Prada <msanchez@igalia.com>
1735 [GTK] Add GMainLoop and GMainContext to be handled by GRefPtr
1736 https://bugs.webkit.org/show_bug.cgi?id=79496
1738 Reviewed by Martin Robinson.
1740 Updated places where raw pointers to GMainLoop and GMainContext
1741 were being used, replacing them with GRefPtr-based code.
1743 * Platform/WorkQueue.h:
1745 * Platform/gtk/WorkQueueGtk.cpp:
1746 (WorkQueue::platformInitialize):
1747 (WorkQueue::platformInvalidate):
1748 (WorkQueue::workQueueThreadBody):
1749 (WorkQueue::registerEventSourceHandler):
1750 (WorkQueue::dispatchOnSource):
1751 * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
1752 (WebKit::WebPopupMenuProxyGtk::WebPopupMenuProxyGtk):
1753 (WebKit::WebPopupMenuProxyGtk::showPopupMenu):
1754 (WebKit::WebPopupMenuProxyGtk::shutdownRunLoop):
1755 * UIProcess/gtk/WebPopupMenuProxyGtk.h:
1756 (WebPopupMenuProxyGtk):
1758 2012-02-28 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
1760 [Qt] Initialize QtWebContext as much as we can in its constructor.
1761 https://bugs.webkit.org/show_bug.cgi?id=79809
1763 Reviewed by Tor Arne Vestbø.
1765 The icon database wouldn't be initialized on the QtWebContext while in WebKitTestRunner
1766 since it doesn't call the initialize method on it after creating it.
1767 Remove the initialize method, move the download manager and icon database initialization
1768 in the constructor and call initializeContextInjectedBundleClient directly in
1769 defaultContext to prevent overriding WKTR's injected bundle client.
1771 * UIProcess/qt/QtWebContext.cpp:
1772 (WebKit::QtWebContext::QtWebContext):
1773 (WebKit::QtWebContext::defaultContext):
1774 * UIProcess/qt/QtWebContext.h:
1777 2012-02-28 Carlos Garcia Campos <cgarcia@igalia.com>
1779 [GTK] Inconsistent state of WebKitWebView when replacing content in WebKit2
1780 https://bugs.webkit.org/show_bug.cgi?id=79775
1782 Reviewed by Martin Robinson.
1784 Use an enum instead of a boolean to track the status of a
1785 replace_content() load operation. We need to know when the load of
1786 the replace content actually starts to not ignore valid load
1787 events of a previous ongoing load operation.
1789 * UIProcess/API/gtk/WebKitWebView.cpp:
1790 (webkitWebViewLoadChanged): Transit to new replace content state
1791 when replacing content depending on the load event.
1792 (webkitWebViewLoadFailed): Ignore load failed events when
1794 (webkitWebViewSetEstimatedLoadProgress): Ignore load progress when
1796 (webkit_web_view_replace_content): Set replace content status to
1798 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
1799 (replaceContentLoadCallback):
1800 (testWebViewReplaceContent):
1801 * UIProcess/API/gtk/tests/WebViewTest.cpp:
1803 (WebViewTest::waitUntilTitleChanged): Convenient method to wait
1804 until title changes. Use with replaceConent() since load events
1805 are not emitted when replacing content.
1806 * UIProcess/API/gtk/tests/WebViewTest.h:
1808 2012-02-27 Anders Carlsson <andersca@apple.com>
1810 Add basic page overlay support to TiledCoreAnimationDrawingArea
1811 https://bugs.webkit.org/show_bug.cgi?id=79716
1812 <rdar://problem/10923079>
1814 Reviewed by Sam Weinig.
1816 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1817 Make TiledCoreAnimationDrawingArea a GraphicsLayerClient.
1819 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1820 (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
1821 Create the page overlay layer.
1823 (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
1824 Destroy the page overlay layer.
1826 (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
1827 Mark the page overlay layer as needing display.
1829 (WebKit::TiledCoreAnimationDrawingArea::notifyAnimationStarted):
1830 (WebKit::TiledCoreAnimationDrawingArea::notifySyncRequired):
1831 Add empty GraphisLayerClient member function implementations.
1833 (WebKit::TiledCoreAnimationDrawingArea::paintContents):
1834 Ask the page overlay to paint itself.
1836 (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
1837 Flush the page overlay layer.
1839 (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
1840 Resize the page overlay layer.
1842 (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
1843 If we have a page overlay layer, add it as a sublayer of the root layer.
1845 (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
1846 Create the page overlay layer and add it as a sublayer of the root layer.
1848 (WebKit::TiledCoreAnimationDrawingArea::destroyPageOverlayLayer):
1849 Remove the page overlay layer and destroy it.
1851 2012-02-28 Carlos Garcia Campos <cgarcia@igalia.com>
1853 [GTK] Remove virtual methods of WebKitDownload signals in WebKit2 GTK+ API
1854 https://bugs.webkit.org/show_bug.cgi?id=79804
1856 Reviewed by Martin Robinson.
1858 That comes from the first patch that followed the approach of the
1859 first LoaderClient implementation. With current implementation
1860 download signals, except decide-destination, don't need to be
1861 true_handled, and they won't have a default handler
1862 implementation. Also the download object is not supposed to be
1863 inheritable, since instances are created privately by the
1864 WebContext, so it's not possible to override the virtual methods
1867 * UIProcess/API/gtk/WebKitDownload.cpp:
1868 (webkit_download_class_init):
1869 (webkitDownloadNotifyProgress):
1870 (webkitDownloadFailed):
1871 (webkitDownloadFinished):
1872 * UIProcess/API/gtk/WebKitDownload.h:
1873 (_WebKitDownloadClass):
1874 * UIProcess/API/gtk/webkit2marshal.list:
1876 2012-02-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
1878 [Qt] Fix build for WK2, do not use enum type if values can be outside the enum
1879 https://bugs.webkit.org/show_bug.cgi?id=79800
1881 Reviewed by Csaba Osztrogonác.
1883 We have two different enums called NavigationRequestAction. If we use one of them
1884 to store the variables, compilers can rightfully warn about comparison with
1885 values from other enums.
1887 We might revisit the strategy of exposing different enumerations in experimental,
1888 but for now, fallback to using int for the 'action' property in
1889 QWebNavigationRequest.
1891 * UIProcess/API/qt/qwebnavigationrequest.cpp:
1892 (QWebNavigationRequestPrivate):
1893 (QWebNavigationRequest::setAction):
1894 (QWebNavigationRequest::action):
1895 * UIProcess/API/qt/qwebnavigationrequest_p.h:
1896 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
1898 2012-02-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
1900 [Qt] API changes to QWebNavigationRequest
1901 https://bugs.webkit.org/show_bug.cgi?id=78821
1903 Reviewed by Kenneth Rohde Christiansen.
1905 Changes discussed in API review at Szeged: rename 'button' to 'mouseButton',
1906 rename 'modifiers' to 'keyboardModifiers', remove 'originatingUrl' and
1907 use the enum type for 'action'.
1909 * UIProcess/API/qt/qwebnavigationrequest.cpp:
1910 (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
1911 (QWebNavigationRequestPrivate):
1912 (QWebNavigationRequest::QWebNavigationRequest):
1913 (QWebNavigationRequest::setAction):
1914 (QWebNavigationRequest::mouseButton):
1915 (QWebNavigationRequest::keyboardModifiers):
1916 (QWebNavigationRequest::action):
1917 * UIProcess/API/qt/qwebnavigationrequest_p.h:
1918 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
1919 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
1920 * UIProcess/qt/QtWebPagePolicyClient.cpp:
1921 (QtWebPagePolicyClient::decidePolicyForNavigationAction):
1922 * UIProcess/qt/QtWebPagePolicyClient.h:
1923 (QtWebPagePolicyClient):
1925 2012-02-28 Shinya Kawanaka <shinyak@chromium.org>
1927 Element should be able to have multiple shadow roots.
1928 https://bugs.webkit.org/show_bug.cgi?id=77931
1930 Reviewed by Hajime Morita.
1933 * win/WebKit2CFLite.def:
1935 2012-02-28 Hugo Parente Lima <hugo.lima@openbossa.org>
1937 [Qt][WK2] Use movementStarted/Ended signals instead of movingChanged on QtViewportInterationEngine
1938 https://bugs.webkit.org/show_bug.cgi?id=79521
1940 Reviewed by Kenneth Rohde Christiansen.
1942 movingChanged() signal is emitted many times, so the use of movementStarted() and
1943 movementEnded() is a better choice.
1945 * UIProcess/qt/QtFlickProvider.cpp:
1946 (QtFlickProvider::QtFlickProvider):
1947 * UIProcess/qt/QtFlickProvider.h:
1949 * UIProcess/qt/QtViewportInteractionEngine.cpp:
1950 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
1951 * UIProcess/qt/QtViewportInteractionEngine.h:
1952 (QtViewportInteractionEngine):
1954 2012-02-27 Shinya Kawanaka <shinyak@chromium.org>
1956 Element::removeShadowRoot() and setShadowRoot() should be moved into ShadowTree.
1957 https://bugs.webkit.org/show_bug.cgi?id=78313
1959 Reviewed by Hajime Morita.
1962 * win/WebKit2CFLite.def:
1964 2012-02-27 Brady Eidson <beidson@apple.com>
1966 <rdar://problem/10924993> and https://bugs.webkit.org/show_bug.cgi?id=79725
1967 <a ping> doesn't work in WebKit2
1969 Reviewed by Alexey Proskuryakov.
1971 * WebProcess/WebPage/WebPage.cpp:
1972 (WebKit::WebPage::updatePreferences): Push the WK2 <a ping> setting to WebCore::Settings.
1974 2012-02-27 Enrica Casucci <enrica@apple.com>
1976 WebKit2: implement platform strategy to access Pasteboard in the UI process.
1977 https://bugs.webkit.org/show_bug.cgi?id=79253
1978 <rdar://problem/9971876>
1980 Reviewed by Alexey Proskuryakov.
1982 * UIProcess/WebContext.h:
1983 * UIProcess/WebContext.messages.in: Added messages to access NSPasteboard
1985 * UIProcess/mac/WebContextMac.mm: Added methods corresponding to the
1987 (WebKit::WebContext::getPasteboardTypes):
1988 (WebKit::WebContext::getPasteboardPathnamesForType):
1989 (WebKit::WebContext::getPasteboardStringForType):
1990 (WebKit::WebContext::getPasteboardBufferForType):
1991 (WebKit::WebContext::pasteboardCopy):
1992 (WebKit::WebContext::getPasteboardChangeCount):
1993 (WebKit::WebContext::getPasteboardUniqueName):
1994 (WebKit::WebContext::getPasteboardColor):
1995 (WebKit::WebContext::setPasteboardTypes):
1996 (WebKit::WebContext::setPasteboardPathnamesForType):
1997 (WebKit::WebContext::setPasteboardStringForType):
1998 (WebKit::WebContext::setPasteboardBufferForType):
1999 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: New implementation of the PasteboardStrategy using message exchange
2000 with the UI process.
2001 (WebKit::WebPlatformStrategies::getTypes):
2002 (WebKit::WebPlatformStrategies::bufferForType):
2003 (WebKit::WebPlatformStrategies::getPathnamesForType):
2004 (WebKit::WebPlatformStrategies::stringForType):
2005 (WebKit::WebPlatformStrategies::copy):
2006 (WebKit::WebPlatformStrategies::changeCount):
2007 (WebKit::WebPlatformStrategies::uniqueName):
2008 (WebKit::WebPlatformStrategies::color):
2009 (WebKit::WebPlatformStrategies::setTypes):
2010 (WebKit::WebPlatformStrategies::setBufferForType):
2011 (WebKit::WebPlatformStrategies::setPathnamesForType):
2012 (WebKit::WebPlatformStrategies::setStringForType):
2014 2012-02-27 Dan Bernstein <mitz@apple.com>
2016 <rdar://problem/9557598> REGRESSION (WebKit2): Non-activating links sometimes don’t work
2017 https://bugs.webkit.org/show_bug.cgi?id=79607
2019 Reviewed by Adele Peterson.
2021 Test: TestWebKitAPI/Tests/mac/AcceptsFirstMouse.mm
2023 This was caused by not mapping the mouse event coordinates from window coordinates to
2024 document coordinates.
2026 * WebProcess/WebPage/mac/WebPageMac.mm:
2027 (WebKit::WebPage::performDictionaryLookupAtLocation): Convert the point to main frame
2028 coordinates when performing the hit test.
2029 (WebKit::WebPage::shouldDelayWindowOrderingEvent): Convert the point to the main or focused
2030 frame coordinates when perfomring the hit test.
2031 (WebKit::WebPage::acceptsFirstMouse): Ditto.
2033 2012-02-27 Timothy Hatcher <timothy@apple.com>
2035 Add WKInspector API to know when the Web Inspector is the frontmost window.
2037 Also makes the Safari Develop menu items work when the Web Inspector is frontmost.
2039 https://webkit.org/b/79649
2041 Reviewed by John Sullivan.
2043 * UIProcess/API/C/WKInspector.cpp:
2044 (WKInspectorIsFront): Added. Call WebInspectorProxy::isFront.
2045 * UIProcess/API/C/WKInspector.h:
2046 * UIProcess/WebInspectorProxy.cpp:
2047 (WebKit::WebInspectorProxy::isFront): Added. Call platformIsFront.
2048 * UIProcess/WebInspectorProxy.h:
2049 * UIProcess/efl/WebInspectorEfl.cpp:
2050 (WebKit::WebInspectorProxy::platformIsFront): Added stub.
2051 * UIProcess/gtk/WebInspectorGtk.cpp:
2052 (WebKit::WebInspectorProxy::platformIsFront): Added stub.
2053 * UIProcess/mac/WebInspectorProxyMac.mm:
2054 (-[WKWebInspectorProxyObjCAdapter showWebInspector:]): Added. Makes the Develop menu items in Safari work when
2055 the Web Inspector window is front.
2056 (-[WKWebInspectorProxyObjCAdapter showErrorConsole:]): Added. Ditto.
2057 (-[WKWebInspectorProxyObjCAdapter showResources:]): Added. Ditto.
2058 (-[WKWebInspectorProxyObjCAdapter viewSource:]): Added. Ditto.
2059 (-[WKWebInspectorProxyObjCAdapter toggleDebuggingJavaScript:]): Added. Ditto.
2060 (-[WKWebInspectorProxyObjCAdapter toggleProfilingJavaScript:]): Added. Ditto.
2061 (-[WKWebInspectorProxyObjCAdapter validateUserInterfaceItem:]): Added. Update the menu item titles.
2062 (WebKit::WebInspectorProxy::platformIsFront): Added. Return if visible and the window is main.
2063 * UIProcess/qt/WebInspectorProxyQt.cpp:
2064 (WebKit::WebInspectorProxy::platformIsFront): Added stub.
2065 * UIProcess/win/WebInspectorProxyWin.cpp:
2066 (WebKit::WebInspectorProxy::platformIsFront): Added stub.
2068 2012-02-26 YoungTaeck Song <youngtaeck.song@samsung.com>
2070 [EFL][WK2] Add InjectedBundleEfl.cpp
2071 https://bugs.webkit.org/show_bug.cgi?id=75463
2073 Reviewed by Andreas Kling.
2075 Add first version of InjectedBundleEfl.cpp including load() and placeholder for activateMacFontAscentHack().
2077 * WebProcess/InjectedBundle/InjectedBundle.h:
2078 * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp:
2079 (WebKit::InjectedBundle::load):
2080 (WebKit::InjectedBundle::activateMacFontAscentHack):
2082 2012-02-26 Shinya Kawanaka <shinyak@chromium.org>
2084 Rename ShadowRootList to ShadowTree.
2085 https://bugs.webkit.org/show_bug.cgi?id=79342
2087 Reviewed by Hajime Morita.
2090 * win/WebKit2CFLite.def:
2092 2012-02-26 Hajime Morrita <morrita@chromium.org>
2094 Move ChromeClient::showContextMenu() to ContextMenuClient
2095 https://bugs.webkit.org/show_bug.cgi?id=79427
2097 Reviewed by Adam Barth.
2099 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2100 * WebProcess/WebCoreSupport/WebChromeClient.h:
2102 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
2104 (WebKit::WebContextMenuClient::showContextMenu): Moved from WebChromeClient
2105 * WebProcess/WebCoreSupport/WebContextMenuClient.h:
2106 (WebContextMenuClient):
2107 * WebProcess/WebPage/WebPage.cpp:
2108 (WebKit::handleContextMenuEvent):
2109 (WebKit::handleMouseEvent):
2110 (WebKit::WebPage::mouseEvent):
2111 (WebKit::WebPage::mouseEventSyncForTesting):
2113 2012-02-26 Huang Dongsung <luxtella@company100.net>
2115 Use Functional instead of a MessageQueue for messages to the LayerTreeHostProxy
2117 https://bugs.webkit.org/show_bug.cgi?id=79478
2119 This makes a lot of the broilerplate code for message-passing unnecessary, and
2120 results in a much more succinct implementation.
2122 Reviewed by Noam Rosenthal.
2124 * UIProcess/LayerTreeHostProxy.h:
2126 (LayerTreeHostProxy):
2127 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2129 (WebKit::LayerTreeHostProxy::updateTile):
2130 (WebKit::LayerTreeHostProxy::createImage):
2131 (WebKit::LayerTreeHostProxy::syncRemoteContent):
2132 (WebKit::LayerTreeHostProxy::dispatchUpdate):
2133 (WebKit::LayerTreeHostProxy::createTileForLayer):
2134 (WebKit::LayerTreeHostProxy::updateTileForLayer):
2135 (WebKit::LayerTreeHostProxy::removeTileForLayer):
2136 (WebKit::LayerTreeHostProxy::deleteCompositingLayer):
2137 (WebKit::LayerTreeHostProxy::setRootCompositingLayer):
2138 (WebKit::LayerTreeHostProxy::syncCompositingLayerState):
2139 (WebKit::LayerTreeHostProxy::didRenderFrame):
2140 (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
2141 (WebKit::LayerTreeHostProxy::destroyDirectlyCompositedImage):
2143 2012-02-26 Filip Pizlo <fpizlo@apple.com>
2147 * Platform/mac/RemoteLayerClient.mm:
2148 (WebKit::RemoteLayerClient::RemoteLayerClient):
2150 2012-02-26 Sam Weinig <sam@webkit.org>
2152 Encapsulate uses of WKSI to setup a remote layer into a new RemoteLayerClient class
2153 https://bugs.webkit.org/show_bug.cgi?id=79612
2155 Reviewed by Anders Carlsson.
2157 * Platform/mac/RemoteLayerClient.h:
2158 * Platform/mac/RemoteLayerClient.mm:
2159 (WebKit::RemoteLayerClient::create):
2160 (WebKit::RemoteLayerClient::RemoteLayerClient):
2161 (WebKit::RemoteLayerClient::~RemoteLayerClient):
2162 (WebKit::RemoteLayerClient::clientID):
2163 (WebKit::RemoteLayerClient::invalidate):
2164 New class that encapsulates calls to WKSI WKCARemoteLayerClient*. For platforms
2165 where the use of WKSI is not necessary, due to CARemoteLayerClient being available,
2168 * PluginProcess/PluginControllerProxy.cpp:
2169 * PluginProcess/PluginControllerProxy.h:
2170 * PluginProcess/mac/PluginControllerProxyMac.mm:
2171 (WebKit::PluginControllerProxy::platformInitialize):
2172 (WebKit::PluginControllerProxy::platformDestroy):
2173 (WebKit::PluginControllerProxy::remoteLayerClientID):
2174 (WebKit::PluginControllerProxy::platformGeometryDidChange):
2175 * WebKit2.xcodeproj/project.pbxproj:
2176 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h:
2177 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
2178 (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer):
2179 (WebKit::WebFullScreenManagerMac::disposeOfLayerClient):
2180 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
2181 (LayerTreeHostCAMac):
2182 * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
2183 (WebKit::LayerTreeHostCAMac::platformInitialize):
2184 (WebKit::LayerTreeHostCAMac::invalidate):
2185 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2186 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2187 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
2188 Switch to using RemoteLayerClient.
2190 * UIProcess/mac/WebContextMac.mm:
2191 (WebKit::WebContext::platformInitializeWebProcess):
2192 * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
2193 (WebKit::PluginProcessProxy::platformInitializePluginProcess):
2194 Use CARemoteLayerServer directly if available.
2196 2012-02-25 Anders Carlsson <andersca@apple.com>
2198 Address review feedback from Andreas Kling.
2200 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2201 (WebKit::NetscapePlugin::platformHandleMouseEvent):
2203 2012-02-25 Anders Carlsson <andersca@apple.com>
2205 Mouse tracking incorrect in Silverlight when using multi monitor with offset arrangement
2206 https://bugs.webkit.org/show_bug.cgi?id=79589
2207 <rdar://problem/9719592>
2209 Reviewed by Sam Weinig.
2211 In the Carbon event model, mouse event coordinates are flipped relative to the first screen,
2212 whereas the coordinates we get from the WebMouseEvent are flipped relative to the screen where
2213 the containing WKView is on.
2215 Instead of passing the global coordinates to NPP_HandleEvent, convert them to the flipped screen coordinate
2216 system that the plug-in expects.
2218 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2219 (WebKit::NetscapePlugin::platformHandleMouseEvent):
2221 2012-02-25 Sheriff Bot <webkit.review.bot@gmail.com>
2223 Unreviewed, rolling out r108900.
2224 http://trac.webkit.org/changeset/108900
2225 https://bugs.webkit.org/show_bug.cgi?id=79587
2227 broke some API tests, will investigate and re-commit
2228 (Requested by noamr on #webkit).
2230 * UIProcess/API/qt/qquickwebpage.cpp:
2231 (computeEffectiveOpacity):
2232 (QQuickWebPagePrivate::paintToCurrentGLContext):
2233 (PageProxyNode::changedStates):
2234 (PageProxyNode::render):
2235 * UIProcess/API/qt/qquickwebpage_p_p.h:
2236 (QQuickWebPagePrivate):
2238 2012-02-25 No'am Rosenthal <noam.rosenthal@nokia.com>
2240 [Qt] Use the existing inheritedOpacity/matrix properties of QSGNode
2241 https://bugs.webkit.org/show_bug.cgi?id=79543
2243 Use QSGNode::inheritedOpacity() and QSGNode::matrix().
2244 Also, remove flags from changedStates() that we don't actually touch.
2246 Reviewed by Kenneth Rohde Christiansen.
2248 * UIProcess/API/qt/qquickwebpage.cpp:
2249 (QQuickWebPagePrivate::paintToCurrentGLContext):
2250 (PageProxyNode::changedStates):
2251 (PageProxyNode::render):
2252 * UIProcess/API/qt/qquickwebpage_p_p.h:
2253 (QQuickWebPagePrivate):
2255 2012-02-25 Sheriff Bot <webkit.review.bot@gmail.com>
2257 Unreviewed, rolling out r108816.
2258 http://trac.webkit.org/changeset/108816
2259 https://bugs.webkit.org/show_bug.cgi?id=79562
2261 It made many tests crash and timeout on Qt-WK2 (Requested by
2264 * UIProcess/API/qt/qquickwebview.cpp:
2265 (QQuickWebViewPrivate::QQuickWebViewPrivate):
2266 (QQuickWebViewPrivate::initialize):
2267 (QQuickWebViewPrivate::setIcon):
2268 * UIProcess/API/qt/qquickwebview_p.h:
2269 * UIProcess/API/qt/qquickwebview_p_p.h:
2270 (QQuickWebViewPrivate):
2271 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2272 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
2273 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
2274 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2275 (tst_QQuickWebView::loadProgress):
2276 * UIProcess/qt/QtWebPageLoadClient.cpp:
2277 (QtWebPageLoadClient::didCommitLoadForFrame):
2278 (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
2279 (QtWebPageLoadClient::didReceiveTitleForFrame):
2280 (QtWebPageLoadClient::setLoadProgress):
2281 * UIProcess/qt/QtWebPageLoadClient.h:
2282 (QtWebPageLoadClient):
2284 2012-02-24 Andy Estes <aestes@apple.com>
2286 REGRESSION (r108730): Webkit nightlies fails to start due to WKPreferencesGetSuppressIncrementalRendering renaming
2287 https://bugs.webkit.org/show_bug.cgi?id=79515
2289 Reviewed by Alexey Proskuryakov.
2291 Some versions of Safari contain call sites to two functions in WebKit2
2292 that were removed in r108730. Restore these two functions so that these
2293 versions of Safari can be used with WebKit nightly builds.
2295 * UIProcess/API/C/WKPreferences.cpp:
2296 (WKPreferencesSetSuppressIncrementalRendering):
2297 (WKPreferencesGetSuppressIncrementalRendering):
2298 * UIProcess/API/C/WKPreferences.h:
2300 2012-02-24 Jessie Berlin <jberlin@apple.com>
2302 requestPermission callback not invoked if the WebProcess doesn't have to ask the UI Process
2303 about the permission level.
2304 https://bugs.webkit.org/show_bug.cgi?id=79494
2306 Reviewed by Jon Honeycutt.
2308 Invoke the callback in the case where the permission level is known and no message is sent
2311 * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
2312 (WebKit::NotificationPermissionRequestManager::startRequest):
2314 2012-02-24 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
2316 [Qt] Signal and property cleanup in QQuickWebView
2317 https://bugs.webkit.org/show_bug.cgi?id=78820
2319 Reviewed by Simon Hausmann.
2321 - Remove parameters from property change notify signals:
2322 titleChanged, urlChanged, iconChanged, loadProgressChanged
2323 - Rename the parameters of linkHovered to prevent shadoing properties of WebView
2324 - Rename navigationStateChanged to navigationHistoryChanged
2326 * UIProcess/API/qt/qquickwebview.cpp:
2327 (QQuickWebViewPrivate::QQuickWebViewPrivate):
2328 (QQuickWebViewPrivate::initialize):
2329 (QQuickWebViewPrivate::_q_onUrlChanged):
2330 (QQuickWebViewPrivate::setIcon):
2331 * UIProcess/API/qt/qquickwebview_p.h:
2332 * UIProcess/API/qt/qquickwebview_p_p.h:
2333 (QQuickWebViewPrivate):
2334 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2335 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
2336 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
2337 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2338 (tst_QQuickWebView::loadProgress):
2339 * UIProcess/qt/QtWebPageLoadClient.cpp:
2340 (QtWebPageLoadClient::didCommitLoadForFrame):
2341 (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
2342 (QtWebPageLoadClient::didReceiveTitleForFrame):
2343 (QtWebPageLoadClient::setLoadProgress):
2344 * UIProcess/qt/QtWebPageLoadClient.h:
2345 (QtWebPageLoadClient):
2347 2012-02-24 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
2349 [Qt] API: Unify the loading properties and signals.
2350 https://bugs.webkit.org/show_bug.cgi?id=79486
2352 Reviewed by Simon Hausmann.
2354 - Remove the canReload signal, instead assume that calling reload in those cases
2355 won't have any effect.
2356 - Replace loadStarted, loadSucceeded and loadFailed by a single signal: loadingChanged.
2357 The signal carries an argument with a status and error codes giving the intended context.
2358 - Use loadingChanged as the notification signal for the property "loading" instead of
2359 navigationStateChanged.
2361 Also update all API tests to use the new loading signals and add some utility functions
2362 to track the loading since the new API aims to be more adapted to declarative logic
2363 and the auto tests are using an imperative logic.
2366 * UIProcess/API/qt/qquickwebview.cpp:
2367 (QQuickWebViewPrivate::QQuickWebViewPrivate):
2368 (QQuickWebViewPrivate::loadDidSucceed):
2369 (QQuickWebViewPrivate::didChangeLoadingState):
2370 (QQuickWebViewPrivate::processDidCrash):
2371 (QQuickWebViewPrivate::didRelaunchProcess):
2372 * UIProcess/API/qt/qquickwebview_p.h:
2373 * UIProcess/API/qt/qquickwebview_p_p.h:
2374 (QQuickWebViewPrivate):
2375 * UIProcess/API/qt/qwebloadrequest.cpp: Added.
2376 (QWebLoadRequestPrivate):
2377 (QWebLoadRequestPrivate::QWebLoadRequestPrivate):
2378 (QWebLoadRequest::QWebLoadRequest):
2379 (QWebLoadRequest::~QWebLoadRequest):
2380 (QWebLoadRequest::url):
2381 (QWebLoadRequest::status):
2382 (QWebLoadRequest::errorString):
2383 (QWebLoadRequest::errorDomain):
2384 (QWebLoadRequest::errorCode):
2385 * UIProcess/API/qt/qwebloadrequest_p.h: Added.
2386 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2387 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml:
2388 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
2389 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
2390 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
2391 * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
2392 * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
2393 * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
2394 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
2395 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadHtml.qml:
2396 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml:
2397 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml:
2398 * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
2399 * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml:
2400 * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
2401 * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml:
2402 * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml:
2403 * UIProcess/API/qt/tests/qmltests/common/TestWebView.qml: Added.
2404 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2405 (tst_QQuickWebView::navigationStatusAtStartup):
2406 (LoadStartedCatcher::LoadStartedCatcher):
2407 (LoadStartedCatcher::onLoadingChanged):
2408 (tst_QQuickWebView::stopEnabledAfterLoadStarted):
2409 (tst_QQuickWebView::loadEmptyPageViewHidden):
2410 (tst_QQuickWebView::loadNonexistentFileUrl):
2411 (tst_QQuickWebView::backAndForward):
2412 (tst_QQuickWebView::reload):
2413 (tst_QQuickWebView::stop):
2414 (tst_QQuickWebView::loadProgress):
2415 (tst_QQuickWebView::showWebView):
2416 (tst_QQuickWebView::multipleWebViewWindows):
2417 (tst_QQuickWebView::multipleWebViews):
2418 (tst_QQuickWebView::scrollRequest):
2419 * UIProcess/API/qt/tests/util.cpp:
2422 (LoadSpy::onLoadingChanged):
2423 (waitForLoadSucceeded):
2424 (waitForLoadFailed):
2425 * UIProcess/API/qt/tests/util.h:
2426 * UIProcess/qt/QtWebError.h:
2427 * UIProcess/qt/QtWebPageLoadClient.cpp:
2428 (QtWebPageLoadClient::didStartProvisionalLoadForFrame):
2429 (QtWebPageLoadClient::dispatchLoadFailed):
2430 * UIProcess/qt/QtWebPageLoadClient.h:
2431 (QtWebPageLoadClient):
2433 2012-02-24 Simon Hausmann <simon.hausmann@nokia.com>
2435 Unreviewed, rolling out r108798.
2436 http://trac.webkit.org/changeset/108798
2437 https://bugs.webkit.org/show_bug.cgi?id=78047
2439 Broke too many Qt WK2 tests.
2441 * UIProcess/API/qt/qquickwebview.cpp:
2442 (QQuickWebView::keyPressEvent):
2443 (QQuickWebView::keyReleaseEvent):
2444 (QQuickWebView::inputMethodEvent):
2445 (QQuickWebView::focusInEvent):
2446 (QQuickWebView::focusOutEvent):
2447 (QQuickWebView::touchEvent):
2448 (QQuickWebView::mousePressEvent):
2449 (QQuickWebView::mouseMoveEvent):
2450 (QQuickWebView::mouseReleaseEvent):
2451 (QQuickWebView::mouseDoubleClickEvent):
2452 (QQuickWebView::wheelEvent):
2453 (QQuickWebView::hoverEnterEvent):
2454 (QQuickWebView::hoverMoveEvent):
2455 (QQuickWebView::hoverLeaveEvent):
2456 (QQuickWebView::dragMoveEvent):
2457 (QQuickWebView::dragEnterEvent):
2458 (QQuickWebView::dragLeaveEvent):
2459 (QQuickWebView::dropEvent):
2460 (QQuickWebView::event):
2461 * UIProcess/qt/QtWebPageEventHandler.cpp:
2462 (QtWebPageEventHandler::handleEvent):
2463 (QtWebPageEventHandler::handleMouseMoveEvent):
2464 (QtWebPageEventHandler::handleMousePressEvent):
2465 (QtWebPageEventHandler::handleMouseReleaseEvent):
2466 (QtWebPageEventHandler::handleWheelEvent):
2467 (QtWebPageEventHandler::handleHoverLeaveEvent):
2468 (QtWebPageEventHandler::handleHoverMoveEvent):
2469 (QtWebPageEventHandler::handleDragEnterEvent):
2470 (QtWebPageEventHandler::handleDragLeaveEvent):
2471 (QtWebPageEventHandler::handleDragMoveEvent):
2472 (QtWebPageEventHandler::handleDropEvent):
2473 (QtWebPageEventHandler::handleKeyPressEvent):
2474 (QtWebPageEventHandler::handleKeyReleaseEvent):
2475 (QtWebPageEventHandler::handleFocusInEvent):
2476 (QtWebPageEventHandler::handleFocusOutEvent):
2477 (QtWebPageEventHandler::inputMethodEvent):
2478 (QtWebPageEventHandler::touchEvent):
2479 * UIProcess/qt/QtWebPageEventHandler.h:
2480 (QtWebPageEventHandler):
2482 2012-02-24 Simon Hausmann <simon.hausmann@nokia.com>
2484 [Qt][WK2] QQuickWebView::event should lookup faster which events QQuickWebPage can handle
2485 https://bugs.webkit.org/show_bug.cgi?id=78047
2487 Reviewed by Kenneth Rohde Christiansen.
2489 Replaced double-dispatch of events with direct forwarding of events from QQuickWebView::*Event to
2490 QtWebPageEventHandler::handle*Event.
2492 * UIProcess/API/qt/qquickwebview.cpp:
2493 (QQuickWebView::keyPressEvent):
2494 (QQuickWebView::keyReleaseEvent):
2495 (QQuickWebView::inputMethodEvent):
2496 (QQuickWebView::focusInEvent):
2497 (QQuickWebView::focusOutEvent):
2498 (QQuickWebView::touchEvent):
2499 (QQuickWebView::mousePressEvent):
2500 (QQuickWebView::mouseMoveEvent):
2501 (QQuickWebView::mouseReleaseEvent):
2502 (QQuickWebView::mouseDoubleClickEvent):
2503 (QQuickWebView::wheelEvent):
2504 (QQuickWebView::hoverEnterEvent):
2505 (QQuickWebView::hoverMoveEvent):
2506 (QQuickWebView::hoverLeaveEvent):
2507 (QQuickWebView::dragMoveEvent):
2508 (QQuickWebView::dragEnterEvent):
2509 (QQuickWebView::dragLeaveEvent):
2510 (QQuickWebView::dropEvent):
2511 (QQuickWebView::event):
2512 * UIProcess/qt/QtWebPageEventHandler.cpp:
2513 (QtWebPageEventHandler::handleMouseMoveEvent):
2514 (QtWebPageEventHandler::handleMousePressEvent):
2515 (QtWebPageEventHandler::handleMouseReleaseEvent):
2516 (QtWebPageEventHandler::handleWheelEvent):
2517 (QtWebPageEventHandler::handleHoverLeaveEvent):
2518 (QtWebPageEventHandler::handleHoverMoveEvent):
2519 (QtWebPageEventHandler::handleDragEnterEvent):
2520 (QtWebPageEventHandler::handleDragLeaveEvent):
2521 (QtWebPageEventHandler::handleDragMoveEvent):
2522 (QtWebPageEventHandler::handleDropEvent):
2523 (QtWebPageEventHandler::handleKeyPressEvent):
2524 (QtWebPageEventHandler::handleKeyReleaseEvent):
2525 (QtWebPageEventHandler::handleFocusInEvent):
2526 (QtWebPageEventHandler::handleFocusOutEvent):
2527 (QtWebPageEventHandler::handleInputMethodEvent):
2528 (QtWebPageEventHandler::handleTouchEvent):
2529 * UIProcess/qt/QtWebPageEventHandler.h:
2530 (QtWebPageEventHandler):
2532 2012-02-24 Simon Hausmann <simon.hausmann@nokia.com>
2534 [Qt] Use private QSGRenderNode in QQuickWebView for improved Qt Scene Graph integration
2535 https://bugs.webkit.org/show_bug.cgi?id=79022
2537 Reviewed by Csaba Osztrogonác.
2540 * UIProcess/API/qt/qquickwebpage.cpp:
2541 (PageProxyNode::PageProxyNode):
2542 (PageProxyNode::changedStates):
2543 (PageProxyNode::render):
2546 2012-02-24 Carlos Garcia Campos <cgarcia@igalia.com>
2548 [GTK] Encode/decode Null ResourceResponse objects in WebKit2
2549 https://bugs.webkit.org/show_bug.cgi?id=79471
2551 Reviewed by Philippe Normand.
2553 * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
2554 (CoreIPC::::encode): Check whether ResourceResponse is Null before
2556 (CoreIPC::::decode): Check whether response is Null and create a
2557 Null ResourceResponse object in such case.
2559 2012-02-24 Shinya Kawanaka <shinyak@chromium.org>
2561 SpellCheckRequest needs to know the context where the spellcheck happened.
2562 https://bugs.webkit.org/show_bug.cgi?id=79320
2564 Reviewed by Hajime Morita.
2566 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2567 (WebKit::WebEditorClient::requestCheckingOfString):
2568 * WebProcess/WebCoreSupport/WebEditorClient.h:
2570 2012-02-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
2572 [Qt] Tiling: Improve the method names dealing with moving and scaling.
2574 Rubberstamped by Simon Hausmann.
2576 * UIProcess/API/qt/qquickwebview.cpp:
2577 (QQuickWebViewLegacyPrivate::updateViewportSize):
2578 (QQuickWebViewFlickablePrivate::onComponentComplete):
2579 (QQuickWebViewFlickablePrivate::updateViewportSize):
2580 (QQuickWebViewFlickablePrivate::_q_commitScaleChange):
2581 (QQuickWebViewPrivate::_q_commitPositionChange):
2582 (QQuickWebViewFlickablePrivate::_q_resume):
2583 * UIProcess/API/qt/qquickwebview_p.h:
2584 * UIProcess/API/qt/qquickwebview_p_p.h:
2585 (QQuickWebViewPrivate):
2586 (QQuickWebViewPrivate::_q_commitScaleChange):
2587 (QQuickWebViewFlickablePrivate):
2588 * UIProcess/DrawingAreaProxy.h:
2589 (WebKit::DrawingAreaProxy::setVisibleContentsRectForScaling):
2590 (WebKit::DrawingAreaProxy::setVisibleContentsRectForPanning):
2591 * UIProcess/DrawingAreaProxyImpl.cpp:
2592 (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectForScaling):
2593 (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectForPanning):
2594 * UIProcess/DrawingAreaProxyImpl.h:
2595 (DrawingAreaProxyImpl):
2596 * UIProcess/LayerTreeHostProxy.h:
2597 (LayerTreeHostProxy):
2598 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2599 (WebKit::LayerTreeHostProxy::setVisibleContentsRectForPanning):
2600 (WebKit::LayerTreeHostProxy::setVisibleContentsRectForScaling):
2601 * UIProcess/qt/QtViewportInteractionEngine.cpp:
2602 (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
2603 (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
2604 (WebKit::QtViewportInteractionEngine::wheelEvent):
2605 (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
2606 * UIProcess/qt/QtViewportInteractionEngine.h:
2607 (QtViewportInteractionEngine):
2608 * WebProcess/WebPage/LayerTreeHost.h:
2609 (WebKit::LayerTreeHost::setVisibleContentsRectForScaling):
2610 (WebKit::LayerTreeHost::setVisibleContentsRectForPanning):
2611 (WebKit::LayerTreeHost::setVisibleContentsRectForLayer):
2612 * WebProcess/WebPage/LayerTreeHost.messages.in:
2613 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2614 (WebKit::LayerTreeHostQt::setVisibleContentsRectForScaling):
2615 (WebKit::LayerTreeHostQt::setVisibleContentsRectForPanning):
2616 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
2619 2012-02-24 Sergio Villar Senin <svillar@igalia.com>
2621 [WK2] [GTK] Destructor not invoked in EditorClientFrameDestructionObserver
2622 https://bugs.webkit.org/show_bug.cgi?id=79466
2624 Reviewed by Philippe Normand.
2626 Explicitly cast the observer before deleting it instead of just
2627 deleting a generic pointer. We must to that in order to get the
2628 destructor of the object properly called.
2630 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
2631 (WebKit::EditorClientFrameDestructionObserver::destroyOnClosureFinalization):
2633 2012-02-23 Andy Estes <aestes@apple.com>
2635 Rename [setS|s]uppressIncrementalRendering to [setS|s]uppressesIncrementalRendering and make it WebPreferences API.
2636 https://bugs.webkit.org/show_bug.cgi?id=79433
2638 Reviewed by Dan Bernstein.
2640 * Shared/WebPreferencesStore.h:
2642 * UIProcess/API/C/WKPreferences.cpp:
2643 (WKPreferencesSetSuppressesIncrementalRendering):
2644 (WKPreferencesGetSuppressesIncrementalRendering):
2645 * UIProcess/API/C/WKPreferences.h:
2646 * UIProcess/WebInspectorProxy.cpp:
2647 (WebKit::createInspectorPageGroup):
2648 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2649 (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
2650 * WebProcess/WebPage/WebPage.cpp:
2651 (WebKit::WebPage::updatePreferences):
2653 2012-02-23 Mario Sanchez Prada <msanchez@igalia.com>
2655 [GTK] Wrong signal name on emission in WebKitWindowProperties.cpp
2656 https://bugs.webkit.org/show_bug.cgi?id=79352
2658 Reviewed by Philippe Normand.
2660 Emit the signal 'resizable' instead of 'resizable-visible'.
2662 * UIProcess/API/gtk/WebKitWindowProperties.cpp:
2663 (webkitWindowPropertiesSetResizable): Use right signal name.
2665 2012-02-23 Anders Carlsson <andersca@apple.com>
2667 Flush layer changes after layout when resizing web page
2668 https://bugs.webkit.org/show_bug.cgi?id=79399
2669 <rdar://problem/10920157>
2671 Reviewed by Andreas Kling.
2673 Flush layer changes after layout, otherwise the scrollbars won't be updated
2674 until sometime later which looks bad.
2676 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2677 (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
2679 2012-02-23 Daniel Bates <dbates@webkit.org>
2681 Add missing "Reviewed by" line to change log entry for changeset r108631
2682 (https://bugs.webkit.org/show_bug.cgi?id=79252)
2684 The patch landed in changeset r108631 was reviewed by Martin Robinson.
2688 2012-02-23 Patrick Gansterer <paroga@webkit.org>
2690 [CMake] Add WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS macro
2691 https://bugs.webkit.org/show_bug.cgi?id=79371
2693 Reviewed by Daniel Bates.
2697 2012-02-23 Simon Hausmann <simon.hausmann@nokia.com>
2699 [Qt] Add support for touch cancellation
2700 https://bugs.webkit.org/show_bug.cgi?id=79348
2702 Reviewed by Kenneth Rohde Christiansen.
2704 Convert and forward incoming touch cancellation events
2707 * Shared/qt/WebEventFactoryQt.cpp:
2708 (WebKit::webEventTypeForEvent):
2709 (WebKit::WebEventFactory::createWebTouchEvent):
2710 * UIProcess/API/qt/qquickwebview.cpp:
2711 (QQuickWebView::event):
2712 * UIProcess/qt/QtWebPageEventHandler.cpp:
2713 (QtWebPageEventHandler::handleEvent):
2715 2012-02-23 Brent Fulgham <bfulgham@webkit.org>
2717 [WinCairo] Build fix after r108428.
2719 * win/WebKit2CFLite.def: Add missing export declaration.
2721 2012-02-23 Simon Hausmann <simon.hausmann@nokia.com>
2723 Unreviewed test fix after r108614: Adjust public API after changes.
2725 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2727 2012-02-23 Simon Hausmann <simon.hausmann@nokia.com>
2729 [Qt] Build fix. Qt WebKit2 can not be compiled due to QtWebPageEventHandler.
2730 https://bugs.webkit.org/show_bug.cgi?id=79335
2732 Reviewed by Kenneth Rohde Christiansen.
2734 In the upcoming Qt 5 builds the convenient setInputMethodHints method on QQuickItem
2735 will be removed. There's no need for us to use it, we can implement passing the hints
2736 to the input method right away in our re-implementation of inputMethodQuery, which works
2737 with old and newer Qt 5 builds.
2739 * UIProcess/API/qt/qquickwebview.cpp:
2740 (QQuickWebView::inputMethodQuery):
2741 * UIProcess/qt/QtWebPageEventHandler.cpp:
2742 (QtWebPageEventHandler::updateTextInputState):
2744 2012-02-23 Sergio Villar Senin <svillar@igalia.com>
2746 [WK2][GTK] WebProcess SIGSEVs due to incorrect clipboard handling
2747 https://bugs.webkit.org/show_bug.cgi?id=79252
2749 Reviewed by Martin Robinson.
2751 Do not execute clipboard callbacks after the Frame associated with
2754 This change is already covered by the TestWebViewEditor unit tests
2755 (among others), they hang (because WebProcess dies) without this
2756 patch in Debug builds.
2758 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
2759 (EditorClientFrameDestructionObserver):
2760 (WebKit::EditorClientFrameDestructionObserver::EditorClientFrameDestructionObserver):
2761 (WebKit::EditorClientFrameDestructionObserver::frameDestroyed):
2762 (WebKit::EditorClientFrameDestructionObserver::destroyOnClosureFinalization):
2764 (WebKit::WebEditorClient::setSelectionPrimaryClipboardIfNeeded):
2766 2012-02-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
2768 [Qt] Page doesn't get repainted while panning is in progress
2769 https://bugs.webkit.org/show_bug.cgi?id=78602
2771 Reviewed by Simon Hausmann.
2773 The tiling code needed the current visibleContentsRect in order to be
2774 able to create tiles, so we now make sure it gets it. We also needed
2775 to make sure to set the trajectory vector while panning and while the
2776 flicking engine was animating kinetic scrolling.
2778 * UIProcess/API/qt/qquickwebview.cpp:
2779 (QQuickWebViewFlickablePrivate::_q_updateVisibleContentRectAndScale):
2780 (QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged):
2781 * UIProcess/DrawingAreaProxy.h:
2782 (WebKit::DrawingAreaProxy::setVisibleContentRectTrajectoryVector):
2783 * UIProcess/DrawingAreaProxyImpl.cpp:
2784 (WebKit::DrawingAreaProxyImpl::setVisibleContentRectTrajectoryVector):
2785 * UIProcess/DrawingAreaProxyImpl.h:
2786 (DrawingAreaProxyImpl):
2787 * UIProcess/LayerTreeHostProxy.h:
2788 (LayerTreeHostProxy):
2789 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2790 (WebKit::LayerTreeHostProxy::setVisibleContentRectTrajectoryVector):
2791 * UIProcess/qt/QtViewportInteractionEngine.cpp:
2792 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
2793 (WebKit::QtViewportInteractionEngine::flickableMovingStateChanged):
2795 (WebKit::QtViewportInteractionEngine::panMoveStarted):
2796 (WebKit::QtViewportInteractionEngine::panMoveEnded):
2797 (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
2798 (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
2799 * UIProcess/qt/QtViewportInteractionEngine.h:
2800 (QtViewportInteractionEngine):
2801 * WebProcess/WebPage/LayerTreeHost.h:
2802 (WebKit::LayerTreeHost::setVisibleContentRectTrajectoryVector):
2803 * WebProcess/WebPage/LayerTreeHost.messages.in:
2804 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2805 (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
2806 (WebKit::LayerTreeHostQt::setVisibleContentRectTrajectoryVector):
2807 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
2810 2012-02-23 Patrick Gansterer <paroga@webkit.org>
2812 [CMAKE][WK2] Cleanup WebKit2/CMakeLists.txt.
2813 https://bugs.webkit.org/show_bug.cgi?id=76122
2815 Reviewed by Eric Seidel.
2817 * CMakeLists.txt: Removed hardcoded WTF_USE_JSC preprocessor definition.
2819 2012-02-23 Simon Hausmann <simon.hausmann@nokia.com>
2821 [WK2] Trivial build fix after r108615.
2823 * WebProcess/WebPage/WebPage.cpp:
2824 (WebKit::WebPage::WebPage):
2826 2012-02-22 Michael Tyutyunik <michael.tyutyunik@nokia.com>
2828 [Qt][WK2] navigationType is missing in new API
2829 https://bugs.webkit.org/show_bug.cgi?id=78867
2831 Reviewed by Simon Hausmann.
2833 In QtWebPagePolicyClient::decidePolicyForNavigationAction()
2834 navigationType argument is dropped by mistake. Adding it back
2835 and make it available through NavigationRequest.
2837 * UIProcess/API/qt/qquickwebview_p.h:
2838 * UIProcess/API/qt/qwebnavigationrequest.cpp:
2839 (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
2840 (QWebNavigationRequestPrivate):
2841 (QWebNavigationRequest::QWebNavigationRequest):
2842 (QWebNavigationRequest::navigationType):
2843 * UIProcess/API/qt/qwebnavigationrequest_p.h:
2844 * UIProcess/qt/QtWebPagePolicyClient.cpp:
2845 (QtWebPagePolicyClient::decidePolicyForNavigationAction):
2846 (toQuickWebViewNavigationType):
2847 * UIProcess/qt/QtWebPagePolicyClient.h:
2848 (QtWebPagePolicyClient):
2850 2012-02-22 Anders Carlsson <andersca@apple.com>
2852 Implement TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange
2853 https://bugs.webkit.org/show_bug.cgi?id=79297
2854 <rdar://problem/10748510>
2856 Reviewed by Beth Dakin.
2858 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
2859 (WebKit::TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange):
2860 Send a message to the web process.
2862 * WebProcess/WebPage/DrawingArea.h:
2863 (WebKit::DrawingArea::setDeviceScaleFactor):
2866 * WebProcess/WebPage/DrawingArea.messages.in:
2867 Add SetDeviceScaleFactor message.
2869 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2870 (WebKit::TiledCoreAnimationDrawingArea::setDeviceScaleFactor):
2871 Call WebPage::setDeviceScaleFactor.
2873 2012-02-22 Brady Eidson <beidson@apple.com>
2875 <rdar://problem/10406044> and https://bugs.webkit.org/show_bug.cgi?id=79279
2876 Synchronous ShouldGoToBackForwardListItem causes lots of WebProcess hangs
2878 Reviewed by Anders Carlsson.
2880 Anytime the WebProcess sends a sync message up to the UI Process a hang can ensue.
2882 In the case of shouldGoToBackForwardListItem it seems many clients want a back/forward
2883 notification but don't actually want to make a policy decision.
2885 Making it an asynchronous notification instead of a synchronous policy call will remove the
2886 possibility of a hang here.
2888 If clients later decide it is important to have a policy here we should implement a form of
2889 shouldGoToBackForwardListItem in the bundle loader client.
2891 Add a notification "willGoToBackForwardListItem" to the WKPageLoaderClient:
2892 * UIProcess/API/C/WKPage.h:
2894 * UIProcess/WebPageProxy.cpp:
2895 (WebKit::WebPageProxy::initializeLoaderClient): Tell the WebProcess whether it should be
2896 sending the shouldGoToBackForwardListItem or willGoToBackForwardListItem form of this message.
2897 (WebKit::WebPageProxy::shouldGoToBackForwardListItem):
2898 (WebKit::WebPageProxy::willGoToBackForwardListItem):
2899 * UIProcess/WebPageProxy.h:
2900 * UIProcess/WebPageProxy.messages.in: Add an asynchronous WillGoToBackForwardListItem message
2902 Store a flag in the WebProcess - Sent from the UIProcess - to tell the FrameLoaderClient which form
2903 of the callback should be used:
2904 * WebProcess/WebPage/WebPage.cpp:
2905 (WebKit::WebPage::WebPage):
2906 * WebProcess/WebPage/WebPage.h:
2907 (WebKit::WebPage::willGoToBackForwardItemCallbackEnabled):
2908 (WebKit::WebPage::setWillGoToBackForwardItemCallbackEnabled):
2909 * WebProcess/WebPage/WebPage.messages.in:
2911 * UIProcess/WebLoaderClient.cpp:
2912 (WebKit::WebLoaderClient::shouldGoToBackForwardListItem): Only consider calling this for
2914 (WebKit::WebLoaderClient::willGoToBackForwardListItem): Later clients get this callback.
2915 * UIProcess/WebLoaderClient.h:
2918 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2919 (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem): Send either the synchronous "should" message
2920 or the asynchronous "will" message depending on which the WebProcess was last told that the
2921 UIProcess expects. There is an edge case where the wrong one might be sent because the WebProcess
2922 hasn't received the message about a change in the WKPageLoaderClient yet but that's probably okay;
2923 It seems unlikely that a UIProcess client would ever rapidly change between v0 and other versions
2924 of the loader client and the UIProcess of WebKit2 is equipped to handle that case if it comes up.
2926 2012-02-16 Jon Lee <jonlee@apple.com>
2928 [WK2] Clearing notifications does not clean up internal state
2929 https://bugs.webkit.org/show_bug.cgi?id=78861
2930 <rdar://problem/10881167>
2932 Reviewed by Anders Carlsson.
2934 * WebProcess/Notifications/WebNotificationManager.cpp:
2935 (WebKit::WebNotificationManager::clearNotifications): This function was missing removing the notification
2936 entries from the other maps.
2937 (WebKit::WebNotificationManager::didDestroyNotification): When the notification is destroyed, it should
2938 also be removed from the context map.
2939 (WebKit::WebNotificationManager::didCloseNotifications): Refactor to pull out the code that removes
2940 a provided notification from the context map.
2941 (WebKit::WebNotificationManager::removeNotificationFromContextMap): Find the notification in the map, and
2942 remove it. If the map is empty, get rid of the entry.
2943 * WebProcess/Notifications/WebNotificationManager.h:
2944 (WebNotificationManager):
2946 2012-02-22 Jon Lee <jonlee@apple.com>
2948 Code cleanup in WebNotificationManager (79285)
2949 https://bugs.webkit.org/show_bug.cgi?id=79285
2950 <rdar://problem/10914522>
2952 Reviewed by Anders Carlsson.
2954 * WebProcess/Notifications/WebNotificationManager.cpp:
2955 (WebKit::WebNotificationManager::show): Simplify adding a blank vector to the map using .add(),
2956 similar to what is found in WebNotificationClient.mm in WebKit 1.
2958 2012-02-21 Ryosuke Niwa <rniwa@webkit.org>
2960 Remove the remaining uses of CSSStyleDeclaration in Editor
2961 https://bugs.webkit.org/show_bug.cgi?id=78939
2963 Reviewed by Enrica Casucci.
2965 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2966 (WebKit::WebEditorClient::shouldApplyStyle):
2967 * WebProcess/WebCoreSupport/WebEditorClient.h:
2970 2012-02-22 Martin Robinson <mrobinson@igalia.com>
2972 [GTK] Clean build is broken when using make -j
2973 https://bugs.webkit.org/show_bug.cgi?id=76388
2975 * GNUmakefile.am: Add some WebKit2 sources to global sources lists
2976 so that we can refer to them in separate GNUmakefiles.
2978 2012-02-22 Antaryami Pandia <antaryami.pandia@motorola.com>
2980 [GTK][WK2] Add WebGL WebSetting.
2981 https://bugs.webkit.org/show_bug.cgi?id=79217
2983 Reviewed by Martin Robinson.
2985 Add a WebSetting to enable/disable Webgl.
2987 * UIProcess/API/gtk/WebKitSettings.cpp:
2988 (webKitSettingsSetProperty):
2989 (webKitSettingsGetProperty):
2990 (webkit_settings_class_init):
2991 (webkit_settings_set_enable_webaudio):
2992 (webkit_settings_get_enable_webgl):
2993 (webkit_settings_set_enable_webgl):
2994 * UIProcess/API/gtk/WebKitSettings.h:
2995 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
2996 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
2997 (testWebKitSettings):
2999 2012-02-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
3001 [Qt] Disregard previous backing store as soon as possible
3002 https://bugs.webkit.org/show_bug.cgi?id=79232
3004 Reviewed by Simon Hausmann and No'am Rosenthal.
3006 Between creating the new backing store and painting the content,
3007 we do not want to drop the previous one as that might result in
3008 briefly seeing flickering as the old tiles may be dropped before
3009 something replaces them.
3011 But we do need to drop it at some point and we need to make sure
3012 to not spike the memory usage before of this.
3014 What we now do, is to store the previous backing store as before,
3015 but drop all tiles which are not visible and then drop it as soon
3016 as the visible rect (which might change due if followed by a quick
3017 panning) has been fully covered by tiles.
3019 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
3020 (WebCore::WebGraphicsLayer::setContentsScale):
3021 (WebCore::WebGraphicsLayer::updateContentBuffers):
3023 2012-02-22 Michael BrĂĽning <michael.bruning@nokia.com>
3025 [Qt][WK2] Implement proxy authentication handling.
3026 https://bugs.webkit.org/show_bug.cgi?id=78792
3028 Reviewed by Simon Hausmann.
3030 This patch corrects two bugs with the previous implementation:
3031 1. The signal proxyAuthenticationRequired was not connected to a
3033 2. The slot onProxyAuthenticationRequired had the wrong parameters.
3035 * WebProcess/qt/QtNetworkAccessManager.cpp:
3036 (WebKit::QtNetworkAccessManager::QtNetworkAccessManager):
3037 (WebKit::QtNetworkAccessManager::onProxyAuthenticationRequired):
3038 * WebProcess/qt/QtNetworkAccessManager.h: Added include.
3039 (QtNetworkAccessManager):
3041 2012-02-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
3043 Merge setVisibleRectTrajectoryVector and adjustVisibleRect to
3044 the more descriptive coverWithTilesIfNeeded
3045 https://bugs.webkit.org/show_bug.cgi?id=79230
3047 Reviewed by Simon Hausmann.
3049 Replace use by coverWithTilesIfNeeded().
3051 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
3052 (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
3053 (WebCore::WebGraphicsLayer::adjustVisibleRect):
3054 (WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
3056 2012-02-22 Zalan Bujtas <zbujtas@gmail.com>
3058 [Qt][WK2] Add frame flattening setting to QWebPreferences.
3059 https://bugs.webkit.org/show_bug.cgi?id=79099
3061 Reviewed by Simon Hausmann.
3063 Frame flattening is enabled by default for Qt WebKit2.
3065 * UIProcess/API/qt/qquickwebview.cpp:
3066 (QQuickWebViewPrivate::initialize):
3067 * UIProcess/API/qt/qwebpreferences.cpp:
3068 (QWebPreferencesPrivate::testAttribute):
3069 (QWebPreferencesPrivate::setAttribute):
3070 (QWebPreferences::setNavigatorQtObjectEnabled):
3071 (QWebPreferences::frameFlatteningEnabled):
3072 (QWebPreferences::setFrameFlatteningEnabled):
3073 * UIProcess/API/qt/qwebpreferences_p.h:
3075 2012-02-22 Ryosuke Niwa <rniwa@webkit.org>
3077 Remove the remaining uses of CSSStyleDeclaration in Editor
3078 https://bugs.webkit.org/show_bug.cgi?id=78939
3080 Reviewed by Enrica Casucci.
3082 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
3083 (WebKit::WebEditorClient::shouldApplyStyle):
3084 * WebProcess/WebCoreSupport/WebEditorClient.h:
3087 2012-02-21 Carlos Garcia Campos <cgarcia@igalia.com>
3089 [GTK] Null ResourceErrors are encoded/decoded as empty ResourceErrors
3090 https://bugs.webkit.org/show_bug.cgi?id=79120
3092 Reviewed by Martin Robinson.
3094 * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
3095 (CoreIPC::::encode): Encode a boolean to indicate whether it's a
3097 (CoreIPC::::decode): Check whether the error is Null and do not
3098 continue decoding in such case.
3100 2012-02-21 No'am Rosenthal <noam.rosenthal@nokia.com>
3102 [Qt][WK2] Draw tiles of previous contents-scale for opaque layers if they don't intersect with previous tiles
3103 https://bugs.webkit.org/show_bug.cgi?id=78962
3105 Only avoid painting old-scale tiles in semi-transparent situtations if the old
3106 tiles intersect with existing tiles.
3108 Reviewed by Kenneth Rohde Christiansen.
3110 * UIProcess/qt/LayerBackingStore.cpp:
3111 (WebKit::LayerBackingStore::paintToTextureMapper):
3113 2012-02-21 No'am Rosenthal <noam.rosenthal@nokia.com>
3115 [Qt] Previous web page appears outside content rect
3116 https://bugs.webkit.org/show_bug.cgi?id=78816
3118 Apply a clip on painted tiles if some of the tiles fall outside of the target rect.
3120 Reviewed by Kenneth Rohde Christiansen.
3122 * UIProcess/qt/LayerBackingStore.cpp:
3123 (WebKit::LayerBackingStore::paintToTextureMapper):
3125 2012-02-21 No'am Rosenthal <noam.rosenthal@nokia.com>
3127 [Qt][WK2] Accelerated animations don't work on Mac
3128 https://bugs.webkit.org/show_bug.cgi?id=78963
3130 Problem came from using a non-RunLoop timer.
3131 Remove the unused viewportUpdateTimer, and use the existing animationTimer instead.
3132 Use a continuous timer that we only stop when animations stop.
3134 Reviewed by Kenneth Rohde Christiansen.
3136 * UIProcess/LayerTreeHostProxy.h:
3137 (LayerTreeHostProxy):
3138 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
3139 (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
3140 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
3142 (WebKit::LayerTreeHostProxy::syncAnimations):
3144 2012-02-21 Sam Weinig <sam@webkit.org>
3146 Attempt to fix the Snow Leopard build.
3148 * Configurations/Base.xcconfig:
3150 2012-02-21 Sam Weinig <sam@webkit.org>
3152 Use libc++ when building with Clang on Mac
3153 https://bugs.webkit.org/show_bug.cgi?id=78981
3155 Reviewed by Dan Bernstein.
3157 * Configurations/Base.xcconfig:
3159 2012-02-21 Andras Becsi <andras.becsi@nokia.com>
3161 [Qt][WK2] Get rid of the dependency to QtWidgets
3162 https://bugs.webkit.org/show_bug.cgi?id=76276
3164 Reviewed by Simon Hausmann.
3167 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
3169 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
3170 * UIProcess/API/qt/tests/tests.pri:
3171 * UIProcess/API/qt/tests/util.h:
3173 2012-02-20 Martin Robinson <mrobinson@igalia.com>
3175 [UNIX] Plugin information fields are not interpreted as UTF-8
3176 https://bugs.webkit.org/show_bug.cgi?id=78635
3178 Reviewed by Gustavo Noronha Silva.
3180 Interpret plugin metadata as UTF8 aways. This matches the behavior
3181 of Chromium and the Totem plugin.
3183 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
3184 (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin): Use String::fromUTF8.
3186 2012-02-20 Carlos Garcia Campos <cgarcia@igalia.com>
3188 [GTK] Adding SOUP_TYPE_PROXY_RESOLVER_DEFAULT feature to soup session makes WebProcess to hang
3189 https://bugs.webkit.org/show_bug.cgi?id=79036
3191 Reviewed by Martin Robinson.
3193 This looks like a bug in gobject. Initializing the WebProcess
3194 before creating the soup session seems to fix the problem. It's
3195 actually a workaround, but initializing the WebProcess as sson as
3196 possible it's a good idea in any case.
3198 * WebProcess/gtk/WebProcessMainGtk.cpp:
3199 (WebKit::WebProcessMainGtk):
3201 2012-02-20 Michael BrĂĽning <michael.bruning@nokia.com>
3203 [Qt][WK2] Implement proxy authentication handling.
3204 https://bugs.webkit.org/show_bug.cgi?id=78792
3206 Reviewed by Simon Hausmann.
3208 This patch implements the proxy authentication handling
3209 for the Qt port in a similar matter to the http authentication
3212 Since there is a need to pass the proxy port, which is of type uint16_t,
3213 from the WebProcess to the UIProcess, an encoder and a decoder for
3214 this type was added because it did not exist.
3216 The message that was added to the WebPageProxy is called synchronously
3217 as this is needed by the implementation of the network access manager
3218 and has also been implemented this way already for the http
3221 * Platform/CoreIPC/ArgumentDecoder.cpp:
3222 (CoreIPC::ArgumentDecoder::decodeUInt16):
3224 * Platform/CoreIPC/ArgumentDecoder.h:
3226 (CoreIPC::ArgumentDecoder::decode):
3228 * Platform/CoreIPC/ArgumentEncoder.cpp:
3229 (CoreIPC::ArgumentEncoder::encodeUInt16):
3231 * Platform/CoreIPC/ArgumentEncoder.h:
3233 (CoreIPC::ArgumentEncoder::encode):
3235 * UIProcess/API/qt/qquickwebview.cpp:
3236 (QQuickWebViewPrivate::QQuickWebViewPrivate):
3237 (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest):
3238 (QQuickWebViewExperimental::proxyAuthenticationDialog):
3239 (QQuickWebViewExperimental::setProxyAuthenticationDialog):
3240 * UIProcess/API/qt/qquickwebview_p.h:
3241 * UIProcess/API/qt/qquickwebview_p_p.h:
3242 (QQuickWebViewPrivate):
3243 * UIProcess/PageClient.h:
3245 * UIProcess/WebPageProxy.cpp:
3246 (WebKit::WebPageProxy::proxyAuthenticationRequiredRequest):
3248 * UIProcess/WebPageProxy.h:
3250 * UIProcess/WebPageProxy.messages.in:
3251 * UIProcess/qt/QtDialogRunner.cpp:
3252 (ProxyAuthenticationDialogContextObject):
3253 (ProxyAuthenticationDialogContextObject::ProxyAuthenticationDialogContextObject):
3254 (ProxyAuthenticationDialogContextObject::hostname):
3255 (ProxyAuthenticationDialogContextObject::port):
3256 (ProxyAuthenticationDialogContextObject::prefilledUsername):
3257 (ProxyAuthenticationDialogContextObject::accept):
3258 (ProxyAuthenticationDialogContextObject::reject):
3259 (QtDialogRunner::initForProxyAuthentication):
3260 * UIProcess/qt/QtDialogRunner.h:
3262 * UIProcess/qt/QtPageClient.cpp:
3263 (QtPageClient::handleProxyAuthenticationRequiredRequest):
3264 * UIProcess/qt/QtPageClient.h:
3266 * WebProcess/WebPage/DecoderAdapter.cpp:
3267 (WebKit::DecoderAdapter::decodeUInt16):
3269 * WebProcess/WebPage/DecoderAdapter.h:
3271 * WebProcess/WebPage/EncoderAdapter.cpp:
3272 (WebKit::EncoderAdapter::encodeUInt16):
3274 * WebProcess/WebPage/EncoderAdapter.h:
3276 * WebProcess/qt/QtNetworkAccessManager.cpp:
3277 (WebKit::QtNetworkAccessManager::onProxyAuthenticationRequired):
3279 * WebProcess/qt/QtNetworkAccessManager.h:
3280 (QtNetworkAccessManager):
3282 2012-02-20 Patrick Gansterer <paroga@webkit.org>
3284 [CMake] Update and sort list of source files.
3288 2012-02-20 Martin Robinson <mrobinson@igalia.com>
3290 Fix WebKit2GTK+ for 'make distcheck'.
3292 Instead of conditionally including WebKit2 GNUmakefiles, always
3293 include them and conditionally activate the final targets.
3296 * UIProcess/API/gtk/tests/GNUmakefile.am:
3298 2012-02-20 Martin Robinson <mrobinson@igalia.com>
3300 [GTK][WK2] WebKit2 does not build if gtk-unix-printing-3.0 is not available
3301 https://bugs.webkit.org/show_bug.cgi?id=79011
3303 Fix the build when gtk-unix-printing-3.0 is not present.
3305 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3306 (webkitPrintOperationRunDialog):
3307 (webkitPrintOperationRunDialogForFrame):
3308 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
3309 (WebKit::WebPrintOperationGtk::create):
3311 2012-02-18 Dan Bernstein <mitz@apple.com>
3313 <rdar://problem/10891801> BackingStore::scroll() unnecessarily copies pixels around
3314 https://bugs.webkit.org/show_bug.cgi?id=78976
3316 Reviewed by Anders Carlsson.
3318 Rather than move pixels in the backing store in response to scrolling, we can maintain a
3319 mapping, for the most recently scrolled rect, from backing store coordinates to view
3322 * UIProcess/BackingStore.h:
3323 * UIProcess/mac/BackingStoreMac.mm:
3324 (WebKit::BackingStore::performWithScrolledRectTransform): Added. Given a block to be
3325 performed on a rect, divides the rect into parts such that for each part the mapping from
3326 backing store coordinates to client coordinates is a (uniform) translation, and performs
3327 the block on that part, passing it the translation that applies to the part.
3328 (WebKit::BackingStore::resetScrolledRect): Added. Copies everything in the scrolled rect
3329 back to where it should be under the identity map, and resets the scrolled rect and offset.
3330 (WebKit::BackingStore::paint): Changed to call through performWithScrolledRectTransform().
3331 (WebKit::BackingStore::incorporateUpdate): Ditto.
3332 (WebKit::BackingStore::scroll): Now instead of copying pixels, just updates the scrolled
3335 2012-02-17 No'am Rosenthal <noam.rosenthal@nokia.com>
3337 [Qt][WK2] Allow opaque tiles
3338 https://bugs.webkit.org/show_bug.cgi?id=78809
3340 Apply the SupportsAlpha flag only when the buffers actually have alpha.
3342 Reviewed by Kenneth Rohde Christiansen.
3344 * Shared/ShareableBitmap.h:
3346 * Shared/qt/ShareableBitmapQt.cpp:
3347 * UIProcess/qt/LayerBackingStore.cpp:
3348 (WebKit::LayerBackingStoreTile::swapBuffers):
3350 2012-02-17 Adam Roben <aroben@apple.com>
3352 Clang build fix after r108119
3354 * WebProcess/WebProcess.cpp:
3355 (WebKit::randomCrashThread): Annotate this function with NO_RETURN_DUE_TO_CRASH.
3357 2012-02-17 Kalev Lember <kalevlember@gmail.com>
3359 Remove unused parameters from WTF threading API
3360 https://bugs.webkit.org/show_bug.cgi?id=78389
3362 Reviewed by Adam Roben.
3364 waitForThreadCompletion() had an out param 'void **result' to get the
3365 'void *' returned by ThreadFunction. However, the implementation in
3366 ThreadingWin.cpp ignored the out param, not filling it in. This had
3367 led to a situation where none of the client code made use of the param
3368 and just ignored it.
3370 To clean this up, the patch changes the signature of ThreadFunction to
3371 return void instead of void* and drops the the unused 'void **result'
3372 parameter from waitForThreadCompletion. Also, all client code is
3373 updated for the API change.
3375 As mentioned in https://bugs.webkit.org/show_bug.cgi?id=78389 , even
3376 though the change only affects internal API, Safari is using it
3377 directly and we'll need to keep the old versions around for ABI
3378 compatibility. For this, the patch adds compatibility wrappers with
3381 * Platform/WorkQueue.h:
3383 * Platform/gtk/WorkQueueGtk.cpp:
3384 (WorkQueue::startWorkQueueThread):
3385 * UIProcess/Launcher/mac/ThreadLauncherMac.mm:
3386 (WebKit::webThreadBody):
3387 * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
3388 (WebKit::webThreadBody):
3389 * UIProcess/Launcher/win/ThreadLauncherWin.cpp:
3390 (WebKit::webThreadBody):
3391 * WebProcess/WebProcess.cpp:
3392 (WebKit::randomCrashThread):
3394 * win/WebKit2CFLite.def:
3396 2012-02-17 Mihnea Ovidenie <mihnea@adobe.com>
3398 CSS regions enabled by default
3399 https://bugs.webkit.org/show_bug.cgi?id=78525
3401 Reviewed by David Hyatt.
3403 Add a runtime preference to enable/disable regions functionality at runtime(WebKitCSSRegionsEnabled).
3404 CSSRegions are still enabled by default.
3405 In DRT, use layoutTestController.overridePreference("WebKitCSSRegionsEnabled", "0") to disable the css regions functionality.
3407 * Shared/WebPreferencesStore.h:
3409 * UIProcess/API/C/WKPreferences.cpp:
3410 (WKPreferencesSetCSSRegionsEnabled):
3411 (WKPreferencesGetCSSRegionsEnabled):
3412 * UIProcess/API/C/WKPreferencesPrivate.h:
3413 * WebProcess/InjectedBundle/InjectedBundle.cpp:
3414 (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
3415 * WebProcess/WebPage/WebPage.cpp:
3416 (WebKit::WebPage::updatePreferences):
3418 2012-02-17 Enrica Casucci <enrica@apple.com>
3420 Refactor DragData class to use PlatformStrategies in the Mac implementation.
3421 https://bugs.webkit.org/show_bug.cgi?id=78768
3423 Reviewed by Darin Adler.
3425 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added color() method.
3426 (WebKit::WebPlatformStrategies::color):
3427 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
3429 2012-02-17 Martin Robinson <mrobinson@igalia.com>
3431 Fix some warnings encountered during the GTK+ build
3432 https://bugs.webkit.org/show_bug.cgi?id=78911
3434 Reviewed by Xan Lopez.
3436 * UIProcess/API/gtk/WebKitLoaderClient.cpp:
3437 (attachLoaderClientToView): Initialize a new member of the loader client struct.
3439 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
3441 [GTK] Allow printing scaled pages in WebKit2 for printers that don't support it
3442 https://bugs.webkit.org/show_bug.cgi?id=78823
3444 Reviewed by Gustavo Noronha Silva.
3446 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3447 (webkitPrintOperationRunDialogUnix): Enable scale option in print
3449 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
3450 (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
3452 (WebKit::WebPrintOperationGtk::rotatePageIfNeeded): Renamed and
3453 moved the needs rotate check here as an early return.
3454 (WebKit::WebPrintOperationGtk::prepareContextToDraw): Scale the
3455 page according to the manual scale factor.
3456 (WebKit::WebPrintOperationGtk::renderPage): Move rotatePage to
3457 prepareContextToDraw.
3458 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
3460 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
3462 [GTK] Allow printing multiple copies in WebKit2 for printers that don't support it
3463 https://bugs.webkit.org/show_bug.cgi?id=78805
3465 Reviewed by Gustavo Noronha Silva.
3467 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3468 (webkitPrintOperationRunDialogUnix): Enable multiple copies and
3469 collate options in print dialog.
3470 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
3471 (WebKit::PrintPagesData::PrintPagesData): Initialize number of
3472 collated and uncolated copies done and total.
3473 (WebKit::PrintPagesData::collatedCopiesLeft): Helper function that
3474 returns the number of collated copies left to do.
3475 (WebKit::PrintPagesData::uncollatedCopiesLeft): Helper function
3476 that returns the number of uncollated copies left to do.
3477 (WebKit::PrintPagesData::copiesLeft): Helper function
3478 that returns the number of collated or uncollated copies left to
3480 (WebKit::PrintPagesData::incrementPageSequence): Do not finish the
3481 print if there are uncollated copies left, and do not increment
3482 sheet number if there are collated copies left.
3483 (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
3484 m_manualCopies to 1 and m_manualCollateCopies to false.
3485 * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
3487 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
3489 [GTK] Allow printing pages in reverse order in WebKit2 for printers that don't support it
3490 https://bugs.webkit.org/show_bug.cgi?id=78799
3492 Reviewed by Gustavo Noronha Silva.
3494 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3495 (webkitPrintOperationRunDialogUnix): Enable printing in reverse
3496 order option in print dialog.
3497 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
3498 (WebKit::PrintPagesData::PrintPagesData): Initialize sheetNumber
3499 and lastPagePosition depending on whether printing is in reverse