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