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