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