be3535be54d3bc749a7d0ec233bb59767cf54d1e
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2012-03-23  Sheriff Bot  <webkit.review.bot@gmail.com>
2
3         Unreviewed, rolling out r108851.
4         http://trac.webkit.org/changeset/108851
5         https://bugs.webkit.org/show_bug.cgi?id=82098
6
7         "Revert the addition of unnecessary, deprecated functions in
8         WKPreferences.h" (Requested by estes on #webkit).
9
10         * UIProcess/API/C/WKPreferences.cpp:
11         * UIProcess/API/C/WKPreferences.h:
12
13 2012-03-23  Brent Fulgham  <bfulgham@webkit.org>
14
15         [WinCairo] Unreviewed build fix.
16
17         * win/WebKit2CFLite.def: Add missing export symbols so that other
18         tools can link properly.
19
20 2012-03-23  Dean Jackson  <dino@apple.com>
21
22         Disable CSS_SHADERS in Apple builds
23         https://bugs.webkit.org/show_bug.cgi?id=81996
24
25         Reviewed by Simon Fraser.
26
27         Remove ENABLE_CSS_SHADERS from FeatureDefines. It's now in Platform.h.
28
29         * Configurations/FeatureDefines.xcconfig:
30
31 2012-03-23  Dave Michael  <dmichael@chromium.org>
32
33         Relanding(r111754): HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called
34         https://bugs.webkit.org/show_bug.cgi?id=80428
35
36         Reviewed by Eric Seidel and Ryosuke Niwa.
37
38         * win/WebKit2.def: Export a symbol for InspectorCounters::counterValue
39         * win/WebKit2CFLite.def: Export a symbol for InspectorCounters::counterValue
40
41 2012-03-23  Sheriff Bot  <webkit.review.bot@gmail.com>
42
43         Unreviewed, rolling out r111855.
44         http://trac.webkit.org/changeset/111855
45         https://bugs.webkit.org/show_bug.cgi?id=82053
46
47         It broke 30+ tests (Requested by Ossy on #webkit).
48
49         * UIProcess/qt/QtPageClient.cpp:
50         (QtPageClient::isViewWindowActive):
51
52 2012-03-23  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
53
54         [Qt][WK2] Implement PageClient::isViewWindowActive()
55         https://bugs.webkit.org/show_bug.cgi?id=81143
56
57         Reviewed by Kenneth Rohde Christiansen.
58
59         This patch implements PageClient::isViewWindowActive()
60         now that QQuickCanvas::isActive() is available (from QWindow).
61
62         * UIProcess/qt/QtPageClient.cpp:
63         (QtPageClient::isViewWindowActive):
64
65 2012-03-23  Andras Becsi  <andras.becsi@nokia.com>
66
67         [Qt][WK2] Disable the flickable when pinching.
68
69         Reviewed by Kenneth Rohde Christiansen.
70
71         Set the interactivity of the internal flickable to false
72         when pinching so that it does not react to mouse events
73         which might break pinch zoom.
74         This is a temporal workaround and needed until the event
75         propagation in QtQuick is fixed.
76
77         * UIProcess/qt/QtViewportInteractionEngine.cpp:
78         (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
79         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
80         (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
81
82 2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
83
84         REGRESSION(r111754): plugins/reloadplugins-and-pages.html fails on all platforms
85         https://bugs.webkit.org/show_bug.cgi?id=82035
86
87         * win/WebKit2.def:
88         * win/WebKit2CFLite.def:
89
90 2012-03-22  Anders Carlsson  <andersca@apple.com>
91
92         Remove the Flash NPRuntime short-circuit hacks
93         https://bugs.webkit.org/show_bug.cgi?id=81997
94         <rdar://problem/10409289>
95
96         Reviewed by Sam Weinig.
97
98         This code was added to help speed up Flash plug-in instantiation by reducing the number of
99         synchronous API calls from the plug-in process to the web process during instantiation.
100         However, there was no real indication that this actually improved performance.
101
102         Furthermore, it seems to have introduced crashers when misbehaving plug-ins would make NPRuntime calls
103         after a plug-in had been destroyed. Since Flash is now 64-bit like the rest of WebKit launch time has
104         improved since we don't have to bring in all of the 32-bit system frameworks, so the time has come to
105         rip out this egregious hack.
106
107         * PluginProcess/PluginControllerProxy.cpp:
108         (WebKit::PluginControllerProxy::evaluate):
109         * PluginProcess/PluginControllerProxy.h:
110         (PluginControllerProxy):
111         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
112         (WebKit::NetscapePluginModule::determineQuirks):
113         * Shared/Plugins/PluginQuirks.h:
114         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
115         (WebKit::NPN_Invoke):
116         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
117         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
118         (NetscapePlugin):
119         * WebProcess/Plugins/Plugin.cpp:
120         (WebKit::Plugin::Parameters::encode):
121         (WebKit::Plugin::Parameters::decode):
122         * WebProcess/Plugins/Plugin.h:
123         (Parameters):
124         * WebProcess/Plugins/PluginController.h:
125         (PluginController):
126         * WebProcess/Plugins/PluginView.cpp:
127         * WebProcess/Plugins/PluginView.h:
128         (PluginView):
129         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
130         (WebKit::WebFrameLoaderClient::createPlugin):
131
132 2012-03-22  Raphael Kubo da Costa  <rakuco@FreeBSD.org>
133
134         [CMake] Unreviewed build fix after r111778.
135
136         * CMakeLists.txt: Replace ${JAVASCRIPTCORE_DIR}/wtf includes with
137         ${WTF_DIR}/wtf ones.
138
139 2012-03-22  Csaba Osztrogonác  <ossy@webkit.org>
140
141         Actually move WTF files to their new home
142         https://bugs.webkit.org/show_bug.cgi?id=81844
143
144         [Qt] Unreviewed buildfix after r111778.
145
146         * UIProcess/API/qt/qquicknetworkrequest_p.h:
147         * WebKit2.pri:
148
149 2012-03-22  Dave Michael  <dmichael@chromium.org>
150
151         HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called
152         https://bugs.webkit.org/show_bug.cgi?id=80428
153
154         Reviewed by Eric Seidel.
155
156         Test: plugins/netscape-dom-access-and-reload.html
157
158         * win/WebKit2.def: Export a symbol for InspectorCounters::counterValue
159         * win/WebKit2CFLite.def: Export a symbol for InspectorCounters::counterValue
160
161 2012-03-22  Pierre Rossi  <pierre.rossi@gmail.com>
162
163         Revert back the device DPI to 160.
164
165         This corresponds to a device pixel ratio of 1, which
166         is nicer on the eye in many cases.
167
168         Rubber-stamped by Kenneth Rohde Christiansen.
169
170         * UIProcess/API/qt/qquickwebview.cpp:
171         (QQuickWebViewFlickablePrivate::computeViewportConstraints):
172
173 2012-03-22  Alexander Færøy  <alexander.faeroy@nokia.com>
174
175         [Qt][WK2] Remember to initialize databaseQuotaDialog
176         https://bugs.webkit.org/show_bug.cgi?id=81942
177
178         Reviewed by Kenneth Rohde Christiansen.
179
180         * UIProcess/API/qt/qquickwebview.cpp:
181         (QQuickWebViewPrivate::QQuickWebViewPrivate):
182
183 2012-03-22  Alexander Færøy  <alexander.faeroy@nokia.com>
184
185         [Qt][WK2] Pass Origin information to the DatabaseQuotaDialogContextObject
186         https://bugs.webkit.org/show_bug.cgi?id=81910
187
188         Reviewed by Simon Hausmann.
189
190         * UIProcess/API/qt/qquickwebview.cpp:
191         (QQuickWebViewPrivate::exceededDatabaseQuota):
192         * UIProcess/API/qt/qquickwebview_p_p.h:
193         (QQuickWebViewPrivate):
194         * UIProcess/qt/QtDialogRunner.cpp:
195         (DatabaseQuotaDialogContextObject):
196         (DatabaseQuotaDialogContextObject::DatabaseQuotaDialogContextObject):
197         (DatabaseQuotaDialogContextObject::securityOrigin):
198         (QtDialogRunner::initForDatabaseQuotaDialog):
199         * UIProcess/qt/QtDialogRunner.h:
200         (QtDialogRunner):
201         * UIProcess/qt/QtWebPageUIClient.cpp:
202         (QtWebPageUIClient::exceededDatabaseQuota):
203         * UIProcess/qt/QtWebPageUIClient.h:
204
205 2012-03-22  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
206
207         [Qt] Don't resume the suspended page if the user is continuously flicking.
208         https://bugs.webkit.org/show_bug.cgi?id=81895
209
210         Reviewed by Kenneth Rohde Christiansen.
211
212         Create an additional suspend deferrer between TouchBegin and TouchEnd to
213         relay with the one kept while the flick animation is running.
214         This allows the page to be suspended when a pan gesture starts and stay
215         that way until the last flick animation ends.
216
217         * UIProcess/qt/QtViewportInteractionEngine.cpp:
218         (WebKit::QtViewportInteractionEngine::touchBegin):
219         (WebKit):
220         (WebKit::QtViewportInteractionEngine::touchEnd):
221         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
222         * UIProcess/qt/QtViewportInteractionEngine.h:
223         (QtViewportInteractionEngine):
224         * UIProcess/qt/QtWebPageEventHandler.cpp:
225         (QtWebPageEventHandler::doneWithTouchEvent):
226
227 2012-03-22  Carlos Garcia Campos  <cgarcia@bb-webkit-rel-64.local.igalia.com>
228
229         [GTK] Use the angle-bracket form to include wtf headers
230         https://bugs.webkit.org/show_bug.cgi?id=81884
231
232         Reviewed by Eric Seidel.
233
234         Use #include <wtf/foo> instead of #include <JavaScriptCore/foo>.
235
236         * UIProcess/API/gtk/tests/TestMain.h:
237         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
238
239 2012-03-22  No'am Rosenthal  <noam.rosenthal@nokia.com>
240
241         [Qt][WK2] The background appears to have one extra pixel from the contents
242         https://bugs.webkit.org/show_bug.cgi?id=81830
243
244         Reviewed by Kenneth Rohde Christiansen.
245
246         The clip-polygon from the scenegraph uses floats, not integers.
247         This could cause 1-offset clipping problems in some cases.
248
249         * UIProcess/qt/QtWebPageSGNode.cpp:
250         (WebKit::ContentsSGNode::clipRect):
251
252 2012-03-21  Alexander Færøy  <alexander.faeroy@nokia.com>
253
254         [Qt][WK2] Add QML API for handling database quotas
255         https://bugs.webkit.org/show_bug.cgi?id=81827
256
257         Reviewed by Simon Hausmann.
258
259         Patch by Pierre Rossi and Alexander Færøy.
260
261         This patch adds a QML API for handling database quotas.
262
263         * UIProcess/API/qt/qquickwebview.cpp:
264         (QQuickWebViewPrivate::exceededDatabaseQuota):
265         (QQuickWebViewExperimental::databaseQuotaDialog):
266         (QQuickWebViewExperimental::setDatabaseQuotaDialog):
267         * UIProcess/API/qt/qquickwebview_p.h:
268         * UIProcess/API/qt/qquickwebview_p_p.h:
269         (QQuickWebViewPrivate):
270         * UIProcess/qt/QtDialogRunner.cpp:
271         (DatabaseQuotaDialogContextObject):
272         (DatabaseQuotaDialogContextObject::DatabaseQuotaDialogContextObject):
273         (DatabaseQuotaDialogContextObject::databaseName):
274         (DatabaseQuotaDialogContextObject::displayName):
275         (DatabaseQuotaDialogContextObject::currentQuota):
276         (DatabaseQuotaDialogContextObject::currentOriginUsage):
277         (DatabaseQuotaDialogContextObject::currentDatabaseUsage):
278         (DatabaseQuotaDialogContextObject::expectedUsage):
279         (DatabaseQuotaDialogContextObject::accept):
280         (DatabaseQuotaDialogContextObject::reject):
281         (QtDialogRunner::initForDatabaseQuotaDialog):
282         * UIProcess/qt/QtDialogRunner.h:
283         (QtDialogRunner):
284         (QtDialogRunner::databaseQuota):
285         (QtDialogRunner::onDatabaseQuotaAccepted):
286         * UIProcess/qt/QtWebPageUIClient.cpp:
287         (QtWebPageUIClient::QtWebPageUIClient):
288         (QtWebPageUIClient::exceededDatabaseQuota):
289         * UIProcess/qt/QtWebPageUIClient.h:
290         * UIProcess/qt/WebContextQt.cpp:
291         (WebKit::WebContext::platformDefaultDatabaseDirectory):
292
293 2012-03-21  Tim Horton  <timothy_horton@apple.com>
294
295         Make use of CG rounded-rect primitives
296         https://bugs.webkit.org/show_bug.cgi?id=79932
297         <rdar://problem/9274953>
298
299         Reviewed by Simon Fraser.
300         
301         Portions of patch by Nikolas Zimmermann and Mustafizur Rahaman.
302
303         Add wkCGPathAddRoundedRect.
304
305         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
306         (InitWebCoreSystemInterface):
307
308 2012-03-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
309
310         [Qt] WebGraphicsLayer: Untie the layer updates and tile updates.
311         https://bugs.webkit.org/show_bug.cgi?id=81771
312
313         Reviewed by Kenneth Rohde Christiansen.
314
315         The DidRenderFrame message needs to be sent for every UpdateTileForLayer
316         message, but this currently has to be triggered by m_shouldSyncFrame which
317         is only set after sending a SyncCompositingLayerState message.
318         This patch makes sure that tile updates won't trigger sending the whole
319         layer info if it didn't change, and send the DidRenderFrame message directly.
320
321         It also makes sure that the layer info is sent before any tile update so that
322         the layer can be created on the UI process before any tile update is handled.
323
324         * UIProcess/WebLayerTreeRenderer.cpp:
325         (WebKit::WebLayerTreeRenderer::getBackingStore):
326         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
327         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
328         (WebCore::WebGraphicsLayer::tiledBackingStorePaint):
329         (WebCore::WebGraphicsLayer::createTile):
330         (WebCore::WebGraphicsLayer::updateTile):
331         (WebCore::WebGraphicsLayer::removeTile):
332         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
333         (WebKit::LayerTreeHostQt::createTile):
334         (WebKit::LayerTreeHostQt::updateTile):
335         (WebKit::LayerTreeHostQt::removeTile):
336
337 2012-03-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
338
339         [Qt] Don't clip the contents rendering to the contents size.
340         https://bugs.webkit.org/show_bug.cgi?id=81770
341
342         Reviewed by Kenneth Rohde Christiansen.
343
344         The original bug was caused by the contents size updates
345         having to go through the UI process before being applied
346         on the TiledBackingStore of the non composited contents layer.
347         With this bug being fixed, the clipping isn't necessary anymore.
348
349         * UIProcess/qt/LayerBackingStore.cpp:
350         (WebKit::LayerBackingStore::paintToTextureMapper):
351
352 2012-03-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
353
354         [Qt] Apply tile removals at the same time as update buffer swaps.
355         https://bugs.webkit.org/show_bug.cgi?id=81768
356
357         Reviewed by Kenneth Rohde Christiansen.
358
359         When committing the scale, we have to remove old tiles once the
360         tiles for the new scale are rendered. This should however wait
361         until those tiles gets their buffer swapped (following the DidRenderFrame
362         message) to make sure that there is no rendered gap between the removals
363         and updates swap.
364         This patch continues rendering the removed tiles until the DidRenderFrame
365         message is received to discard the old contents and show the new contents
366         at the same frame.
367
368         * UIProcess/WebLayerTreeRenderer.cpp:
369         (WebKit::WebLayerTreeRenderer::commitTileUpdates):
370         (WebKit::WebLayerTreeRenderer::flushLayerChanges):
371         * UIProcess/WebLayerTreeRenderer.h:
372         (WebLayerTreeRenderer):
373         * UIProcess/qt/LayerBackingStore.cpp:
374         (WebKit::LayerBackingStore::removeTile):
375         (WebKit::LayerBackingStore::commitTileUpdates):
376         * UIProcess/qt/LayerBackingStore.h:
377         (LayerBackingStore):
378
379 2012-03-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
380
381         [Qt] Trigger scene graph repaints only for relevant layer updates.
382         https://bugs.webkit.org/show_bug.cgi?id=81765
383
384         Reviewed by Kenneth Rohde Christiansen.
385
386         Tile updates and removal shouldn't re-render the scene all by themselves
387         since they need a buffer swap before having any effect on the framebuffer.
388
389         * UIProcess/LayerTreeHostProxy.cpp:
390         (WebKit::LayerTreeHostProxy::dispatchUpdate):
391         (WebKit::LayerTreeHostProxy::deleteCompositingLayer):
392         (WebKit::LayerTreeHostProxy::setRootCompositingLayer):
393         (WebKit::LayerTreeHostProxy::didRenderFrame):
394
395 2012-03-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
396
397         [Qt] Don't go through the UI process to update a layer's contents size.
398         https://bugs.webkit.org/show_bug.cgi?id=81764
399
400         Reviewed by Kenneth Rohde Christiansen.
401
402         It's happening when navigating pages that contents from the old page
403         is still present on the tiles until the contents size is shrunk to cut it out.
404         Since the contents size updates are asynchronous and go through the UI process,
405         this could occasionally show some glitch frames.
406         Even worse, the user could delay this update by starting to pan and keep
407         his finger on the screen.
408         This patch makes sure that changes to contents size are notifying the LayerTreeHost
409         immediately when in fixed layout mode, and remove the loop through the UI process.
410
411         * UIProcess/API/qt/qquickwebpage.cpp:
412         (QQuickWebPage::setContentsSize):
413         * UIProcess/API/qt/qquickwebpage_p_p.h:
414         (QQuickWebPagePrivate):
415         * UIProcess/API/qt/qquickwebview.cpp:
416         (QQuickWebViewPrivate::didRelaunchProcess):
417         (QQuickWebViewLegacyPrivate::updateViewportSize):
418         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
419         (WebKit::WebChromeClient::contentsSizeChanged):
420         * WebProcess/WebPage/DrawingArea.h:
421         (WebKit):
422         (WebKit::DrawingArea::layerTreeHost):
423         * WebProcess/WebPage/DrawingAreaImpl.cpp:
424         (WebKit::DrawingAreaImpl::updateBackingStoreState):
425         * WebProcess/WebPage/DrawingAreaImpl.h:
426         (WebKit::DrawingAreaImpl::layerTreeHost):
427         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
428         (WebKit::LayerTreeHostQt::sizeDidChange):
429
430 2012-03-21  Kenneth Rohde Christiansen  <kenneth@webkit.org>
431
432         The activation highlight does not always hide
433         https://bugs.webkit.org/show_bug.cgi?id=81767
434
435         Reviewed by Simon Hausmann.
436
437         The zero point used for hiding potential activations should
438         not be transformed.
439
440         * UIProcess/qt/QtWebPageEventHandler.cpp:
441         (QtWebPageEventHandler::handlePotentialSingleTapEvent):
442
443 2012-03-21  Dinu Jacob  <dinu.jacob@nokia.com>
444
445         [Qt][WK2] Item cannot be selected from select list in touch webview
446         https://bugs.webkit.org/show_bug.cgi?id=81674
447
448         Reviewed by Simon Hausmann.
449
450         Activate flag to prevent QQuickWebView from accepting touch event when select
451         dialog is being displayed.
452
453         * UIProcess/API/qt/qquickwebview.cpp:
454         (QQuickWebViewPrivate::QQuickWebViewPrivate):
455         (QQuickWebViewPrivate::execDialogRunner):
456         (QQuickWebView::touchEvent):
457         * UIProcess/API/qt/qquickwebview_p_p.h:
458         (QQuickWebViewPrivate::setDialogActive):
459         (QQuickWebViewPrivate):
460         * UIProcess/qt/WebPopupMenuProxyQt.cpp:
461         (WebKit::WebPopupMenuProxyQt::showPopupMenu):
462         (WebKit::WebPopupMenuProxyQt::hidePopupMenu):
463
464 2012-03-21  Kenneth Rohde Christiansen  <kenneth@webkit.org>
465
466         [Qt] Remove the PostTransitionState
467         https://bugs.webkit.org/show_bug.cgi?id=81751
468
469         Reviewed by Simon Hausmann.
470
471         As we are handling content size change event etc from the
472         WebProcess, that conflicts with the PostTransitionState handling
473         and we therefore need to handle this slightly differently.
474
475         Remove the code and make sure that we never resize the tiled
476         area to something smaller than the layout viewport.
477
478         * UIProcess/API/qt/qquickwebview.cpp:
479         (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
480         (QQuickWebViewFlickablePrivate::loadDidCommit):
481         (QQuickWebViewFlickablePrivate::didFinishFirstNonEmptyLayout):
482         (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
483         (QQuickWebViewFlickablePrivate::_q_resume):
484         (QQuickWebViewFlickablePrivate::pageDidRequestScroll):
485         (QQuickWebViewFlickablePrivate::didChangeContentsSize):
486         * UIProcess/API/qt/qquickwebview_p_p.h:
487         (QQuickWebViewFlickablePrivate):
488         * UIProcess/qt/QtViewportInteractionEngine.cpp:
489         (WebKit::QtViewportInteractionEngine::applyConstraints):
490         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
491         (WebKit::WebChromeClient::contentsSizeChanged):
492         * WebProcess/WebPage/WebPage.cpp:
493         (WebKit::WebPage::resizeToContentsIfNeeded):
494
495 2012-03-21  Carlos Garcia Campos  <cgarcia@igalia.com>
496
497         [GTK] Add webkit_web_view_run_javascript() to WebKit2 GTK+
498         https://bugs.webkit.org/show_bug.cgi?id=75543
499
500         Reviewed by Martin Robinson.
501
502         * GNUmakefile.am: Add new files to compilation.
503         * UIProcess/API/gtk/WebKitError.cpp:
504         (webkit_javascript_error_quark): Add new error domain for
505         Javascript errors.
506         * UIProcess/API/gtk/WebKitError.h:
507         * UIProcess/API/gtk/WebKitJavascriptResult.cpp: Added.
508         (webkitJavascriptResultCreate): Create a WebKitJavascriptResult
509         for the given WKSerializedScriptValueRef.
510         (webkit_javascript_result_ref): Increment reference count of
511         WebKitJavascriptResult.
512         (webkit_javascript_result_unref): Decrement reference count of
513         WebKitJavascriptResult.
514         (webkit_javascript_result_get_global_context): Get global
515         javascript context of the result.
516         (webkit_javascript_result_get_value): Get the JSValueRef of the
517         result.
518         * UIProcess/API/gtk/WebKitJavascriptResult.h: Added.
519         * UIProcess/API/gtk/WebKitJavascriptResultPrivate.h: Added.
520         * UIProcess/API/gtk/WebKitPrivate.h:
521         * UIProcess/API/gtk/WebKitWebView.cpp:
522         (webkitWebViewFinalize): Release the global javascript context.
523         (webkit_web_view_get_javascript_global_context): Get or create the
524         global javascript context.
525         (webkitWebViewRunJavaScriptCallback): Callback called by C API when
526         javascript execution finishes.
527         (webkit_web_view_run_javascript): Asynchronously run a given
528         javascript.
529         (webkit_web_view_run_javascript_finish): Finish async operation
530         started by webkit_web_view_run_javascript().
531         * UIProcess/API/gtk/WebKitWebView.h:
532         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
533         * UIProcess/API/gtk/docs/webkit2gtk.types: Add
534         webkit_javascript_result_get_type().
535         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
536         (testWebViewRunJavaScript):
537         (beforeAll):
538         * UIProcess/API/gtk/tests/WebViewTest.cpp:
539         (WebViewTest::WebViewTest):
540         (WebViewTest::~WebViewTest):
541         (runJavaScriptReadyCallback):
542         (WebViewTest::runJavaScriptAndWaitUntilFinished):
543         (jsValueToCString):
544         (WebViewTest::javascriptResultToCString):
545         (WebViewTest::javascriptResultToNumber):
546         (WebViewTest::javascriptResultToBoolean):
547         (WebViewTest::javascriptResultIsNull):
548         (WebViewTest::javascriptResultIsUndefined):
549         * UIProcess/API/gtk/tests/WebViewTest.h:
550         * UIProcess/API/gtk/webkit2.h:
551
552 2012-03-20  Eric Seidel  <eric@webkit.org>
553
554         Move wtf/Platform.h from JavaScriptCore to Source/WTF/wtf
555         https://bugs.webkit.org/show_bug.cgi?id=80911
556
557         Reviewed by Adam Barth.
558
559         Update to not depend on "Foo.h" includes for WTF headers.
560
561         * Shared/qt/QtNetworkReplyData.h:
562         * Shared/qt/QtNetworkRequestData.cpp:
563         * Shared/qt/QtNetworkRequestData.h:
564
565 2012-03-20  Anders Carlsson  <andersca@apple.com>
566
567         REGRESSION (r110780): Loading a PDF always makes the WKView layer backed
568         https://bugs.webkit.org/show_bug.cgi?id=81734
569         <rdar://problem/11088172>
570
571         Reviewed by Adele Peterson.
572
573         * UIProcess/API/mac/WKView.mm:
574         (-[WKView _setPageHasCustomRepresentation:]):
575         Don't call -[NSView setWantsLayer:], the web process already takes care of entering and exiting
576         accelerated compositing mode for us.
577
578 2012-03-20  Jon Lee  <jonlee@apple.com>
579
580         Restrict access to notifications for unique origins and file URLs with no local file access
581         https://bugs.webkit.org/show_bug.cgi?id=79704
582         <rdar://problem/10912430>
583
584         Reviewed by Adam Barth.
585
586         In the specific case where a file URL has restricted file access and is denied universal access,
587         SecurityOrigin::canShowNotifications() returns Ask, since it is not considered a unique origin.
588         The cached table of permissions held by the notification manager will typically not have an entry for
589         the toString() representation of these file URLs, which is "null", since that can also cover unique
590         origins, and it is possible that the client will want different permissions between the two types.
591
592         It is reasonable, however, for there to be an entry for "file://", so we use toRawString() to do the lookup.
593
594         * WebProcess/Notifications/WebNotificationManager.cpp:
595         (WebKit::WebNotificationManager::policyForOrigin):
596
597 2012-03-20  Alexey Proskuryakov  <ap@apple.com>
598
599         Address review comment for WebProcess side, too.
600
601         * WebProcess/mac/WebProcessMac.mm: (WebKit::initializeSandbox): There is no need for
602         path to be in static storage, setenv will copy the value.
603
604 2012-03-20  Alexey Proskuryakov  <ap@apple.com>
605
606         Sandboxed PluginProcess should use private temporary and cache directories
607         https://bugs.webkit.org/show_bug.cgi?id=81702
608         <rdar://problem/10792047>
609
610         Reviewed by Anders Carlsson.
611
612         * Platform/Module.h:
613         * Platform/mac/ModuleMac.mm:
614         (WebKit::Module::bundleIdentifier):
615         Expose plug-in's bundle identifier.
616
617         * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.in: Some unerlated fixes to make
618         networking functional on my testing platforms. These serveices are already allowed for
619         WebProcess.
620
621         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
622         (readSandboxProfile): Unrelated fix - I've been made to rename the profile file, but
623         didn't update where it's read from!
624         (WKN_EnterSandbox): Add a suffix to user directories.
625
626 2012-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>
627
628         Unreviewed, rolling out r111445 and r111446.
629         http://trac.webkit.org/changeset/111445
630         http://trac.webkit.org/changeset/111446
631         https://bugs.webkit.org/show_bug.cgi?id=81708
632
633         It broke Qt and GTK build intentionally (Requested by Ossy on
634         #webkit).
635
636         * WebProcess/Notifications/WebNotificationManager.cpp:
637         (WebKit::WebNotificationManager::policyForOrigin):
638
639 2012-03-20  Jon Lee  <jonlee@apple.com>
640
641         Restrict access to notifications for unique origins and file URLs with no local file access
642         https://bugs.webkit.org/show_bug.cgi?id=79704
643         <rdar://problem/10912430>
644
645         Reviewed by Adam Barth.
646
647         In the specific case where a file URL has restricted file access and is denied universal access,
648         SecurityOrigin::canShowNotifications() returns Ask, since it is not considered a unique origin.
649         The cached table of permissions held by the notification manager will typically not have an entry for
650         the toString() representation of these file URLs, which is "null", since that can also cover unique
651         origins, and it is possible that the client will want different permissions between the two types.
652
653         It is reasonable, however, for there to be an entry for "file://", so we use toRawString() to do the lookup.
654
655         * WebProcess/Notifications/WebNotificationManager.cpp:
656         (WebKit::WebNotificationManager::policyForOrigin):
657
658 2012-03-20  Alexey Proskuryakov  <ap@apple.com>
659
660         WebProcess should use private temporary and cache directories
661         https://bugs.webkit.org/show_bug.cgi?id=80876
662
663         Reviewed by Sam Weinig.
664
665         * Shared/WebProcessCreationParameters.cpp:
666         (WebKit::WebProcessCreationParameters::encode):
667         (WebKit::WebProcessCreationParameters::decode):
668         * Shared/WebProcessCreationParameters.h: (WebProcessCreationParameters):
669         * UIProcess/mac/WebContextMac.mm: (WebKit::WebContext::platformInitializeWebProcess):
670         Always pass uiProcessBundleIdentifier to WebProcess on Mac, it's now used for more than
671         CFURL sessions.
672
673         * WebProcess/com.apple.WebProcess.sb.in: Limit old workaround to platforms that need it.
674
675         * WebProcess/mac/WebProcessMac.mm: (WebKit::initializeSandbox): Tell confstr to use a suffix
676         on user directories.
677
678 2012-03-20  Anders Carlsson  <andersca@apple.com>
679
680         Graphic distortion effect when launching with empty page Safari after reset
681         https://bugs.webkit.org/show_bug.cgi?id=81677
682         <rdar://problem/11065904>
683
684         Reviewed by Sam Weinig.
685
686         Don't set the redraw policy to never, since that was causing the WKView layer to never be updated. Instead,
687         let AppKit decide which redraw policy to use.
688
689         * UIProcess/API/mac/WKView.mm:
690         (-[WKView initWithFrame:contextRef:pageGroupRef:]):
691
692 2012-03-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
693
694         Convert hasSpellingMarker to use Internals interface.
695         https://bugs.webkit.org/show_bug.cgi?id=81300
696
697         Reviewed by Ryosuke Niwa.
698
699         * win/WebKit2.def: Export a symbol for hasSpellingMarker.
700
701 2012-03-20  Antaryami Pandia  <antaryami.pandia@motorola.com>
702
703         [GTK] [WK2] Add javascript clipboard functionality settings to WebKit2 GTK+ API.
704         https://bugs.webkit.org/show_bug.cgi?id=80981
705
706         Reviewed by Martin Robinson.
707
708         Add WebSettings to enable/disable javascript clipboard functionality.
709
710         * UIProcess/API/gtk/WebKitSettings.cpp:
711         (webKitSettingsSetProperty):
712         (webKitSettingsGetProperty):
713         (webkit_settings_class_init):
714         (webkit_settings_get_javascript_can_access_clipboard):
715         (webkit_settings_set_javascript_can_access_clipboard):
716         * UIProcess/API/gtk/WebKitSettings.h:
717         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
718         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
719         (testWebKitSettings):
720
721 2012-03-19  Adam Barth  <abarth@webkit.org>
722
723         Remove support for "magic" iframe
724         https://bugs.webkit.org/show_bug.cgi?id=81590
725
726         Reviewed by Eric Seidel.
727
728         Remove FrameLoaderClient methods that no longer exist.
729
730         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
731         (WebKit):
732         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
733
734 2012-03-19  Gustavo Noronha Silva  <gns@gnome.org>
735
736         [GTK] libWebCore.la has become too big for make
737         https://bugs.webkit.org/show_bug.cgi?id=81582
738
739         Unreviewed build fix.
740
741         * GNUmakefile.am: link-in the new libWebCoreModules.la
742
743 2012-03-19  Sam Weinig  <sam@webkit.org>
744
745         Stop messing with the AppKit grow box on platforms that don't support it
746         <rdar://problem/10752048>
747         https://bugs.webkit.org/show_bug.cgi?id=81614
748
749         Reviewed by Dan Bernstein.
750
751         * UIProcess/API/mac/WKView.mm:
752         (-[WKView viewWillMoveToWindow:]):
753         (-[WKView _didChangeScrollbarsForMainFrame]):
754         Snow Leopard was the last Mac OS to need a grow box.
755
756 2012-03-19  Enrica Casucci  <enrica@apple.com>
757
758         WebKit2: create sandbox extensions for files that are dropped in an input control.
759         https://bugs.webkit.org/show_bug.cgi?id=81153
760         <rdar://problem/11031207>
761
762         Reviewed by Alexey Proskuryakov.
763
764         Now the pasteboard access is performed only in the UI process, it is
765         necessary to create sandbox extensions for each file that is dropped into
766         an input type=file element. The extensions are created at the time the files
767         are dropped and consumed immediately.
768         
769         * Platform/CoreIPC/HandleMessage.h:
770         (CoreIPC::callMemberFunction): Added template that takes 8 arguments.
771         * Shared/SandboxExtension.h:
772         (HandleArray): Added new class to handle an array of sandbox extension handles.
773         (WebKit::SandboxExtension::HandleArray::HandleArray):
774         (WebKit::SandboxExtension::HandleArray::~HandleArray):
775         (WebKit::SandboxExtension::HandleArray::resize):
776         (WebKit::SandboxExtension::HandleArray::operator[]):
777         (WebKit::SandboxExtension::HandleArray::size):
778         (WebKit::SandboxExtension::HandleArray::encode):
779         (WebKit::SandboxExtension::HandleArray::decode):
780         * Shared/mac/SandboxExtensionMac.mm: Added new class implementation.
781         (WebKit::SandboxExtension::HandleArray::HandleArray):
782         (WebKit::SandboxExtension::HandleArray::~HandleArray):
783         (WebKit::SandboxExtension::HandleArray::resize):
784         (WebKit::SandboxExtension::HandleArray::operator[]):
785         (WebKit::SandboxExtension::HandleArray::size):
786         (WebKit::SandboxExtension::HandleArray::encode):
787         (WebKit::SandboxExtension::HandleArray::decode):
788         * UIProcess/API/mac/WKView.mm:
789         (createSandboxExtensionsForFileUpload):
790         (-[WKView performDragOperation:]): Added logic to create the sandbox extensions for each
791         file/directory being dropped.
792         * UIProcess/WebPageProxy.cpp:
793         (WebKit::WebPageProxy::dragEntered):
794         (WebKit::WebPageProxy::dragUpdated):
795         (WebKit::WebPageProxy::dragExited):
796         (WebKit::WebPageProxy::performDrag):
797         (WebKit::WebPageProxy::performDragControllerAction): Added the handle array parameter.
798         * UIProcess/WebPageProxy.h:
799         * UIProcess/qt/QtWebPageEventHandler.cpp:
800         (QtWebPageEventHandler::handleDropEvent):
801         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
802         * UIProcess/win/WebView.cpp:
803         (WebKit::WebView::Drop):
804         * WebProcess/WebCoreSupport/WebDragClient.cpp:
805         (WebKit::WebDragClient::willPerformDragDestinationAction): Added handling of the new DragActionUpload.
806         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
807         (WebKit::WebPlatformStrategies::getPathnamesForType): Implemented using message to the UI process.
808         * WebProcess/WebPage/WebPage.cpp:
809         (WebKit::WebPage::performDragControllerAction):
810         (WebKit::WebPage::performUploadDragDestinationAction): Added method that consumes the received extensions.
811         * WebProcess/WebPage/WebPage.h:
812         * WebProcess/WebPage/WebPage.messages.in:
813
814 2012-03-19  Alexey Proskuryakov  <ap@apple.com>
815
816         Make WebFrameLoaderClient::createFrame more like WebKit1 version.
817         https://bugs.webkit.org/show_bug.cgi?id=81550
818
819         Covered by existing tests.
820
821         Reviewed by Jessie Berlin.
822
823         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::createFrame):
824
825 2012-03-19  Anders Carlsson  <andersca@apple.com>
826
827         Find in page highlights get out of place when scrolling
828         https://bugs.webkit.org/show_bug.cgi?id=81543
829         <rdar://problem/10932590>
830
831         Reviewed by Sam Weinig.
832
833         When we have a page overlay layer, always force a full repaint of it whenever the page changes.
834         If this turns out to be a real performance problem (measurements suggest that it isn't), we could once
835         again try to figure out when a full page repaint is needed. Doing so could probably be more expensive than
836         simply repainting the page, given that a page overlay consists of a bunch of rect-fills mostly.
837
838         Also turn on accelerated drawing for the page overlay layer, since that cut CPU usage in half when scrolling
839         on a page that had a find overlay visible.
840
841         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
842         (TiledCoreAnimationDrawingArea):
843         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
844         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
845         (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
846
847 2012-03-19  Anders Carlsson  <andersca@apple.com>
848
849         When Find overlay first appears and the page scrolls, the scrolling happens through a fade
850         https://bugs.webkit.org/show_bug.cgi?id=81539
851         <rdar://problem/11031093>
852
853         Reviewed by Dan Bernstein.
854
855         Disable implicit animations when adding the page overlay layer to its superlayer.
856
857         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
858         (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
859
860 2012-03-19  Anders Carlsson  <andersca@apple.com>
861
862         Crash when closing an inspected web page with tiled drawing enabled
863         https://bugs.webkit.org/show_bug.cgi?id=81524
864         <rdar://problem/11062396>
865
866         Reviewed by Sam Weinig.
867
868         Guard against the WebPage's underlying WebCore Page being null, which can happen
869         when the inspector highlight overlay is uninstalled by the inspector when the inspected
870         page goes away.
871
872         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
873         (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
874
875 2012-03-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
876
877         Merge _q_commitScaleChange and _q_commitPositionChange
878         https://bugs.webkit.org/show_bug.cgi?id=81511
879
880         Reviewed by Simon Hausmann.
881
882         Both methods were used for notifying WebCore of the new
883         viewport and re-tiling. The methods are merge into
884         _q_contentViewportChanged.
885
886         * UIProcess/API/qt/qquickwebview.cpp:
887         (QQuickWebViewFlickablePrivate::onComponentComplete):
888         (QQuickWebViewFlickablePrivate::updateViewportSize):
889         (QQuickWebViewFlickablePrivate::_q_contentViewportChanged):
890         (QQuickWebViewFlickablePrivate::_q_resume):
891         * UIProcess/API/qt/qquickwebview_p.h:
892         * UIProcess/API/qt/qquickwebview_p_p.h:
893         (QQuickWebViewPrivate::_q_contentViewportChanged):
894         (QQuickWebViewFlickablePrivate):
895         * UIProcess/qt/QtViewportInteractionEngine.cpp:
896         (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
897         (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
898         (WebKit::QtViewportInteractionEngine::wheelEvent):
899         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
900         * UIProcess/qt/QtViewportInteractionEngine.h:
901         (QtViewportInteractionEngine):
902
903 2012-03-19  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
904
905         Select best target for tap gesture.
906         https://bugs.webkit.org/show_bug.cgi?id=78801
907
908         Reviewed by Kenneth Rohde Christiansen.
909
910         Send radius to handlePotentialSingleTapEvent so it can do the same hit
911         detection the tap gesture later does.
912
913         * UIProcess/WebPageProxy.cpp:
914         (WebKit::WebPageProxy::handlePotentialActivation):
915         * UIProcess/WebPageProxy.h:
916         * UIProcess/qt/QtWebPageEventHandler.cpp:
917         (QtWebPageEventHandler::handlePotentialSingleTapEvent):
918         * WebProcess/WebPage/WebPage.cpp:
919         (WebKit::WebPage::highlightPotentialActivation):
920         * WebProcess/WebPage/WebPage.h:
921         * WebProcess/WebPage/WebPage.messages.in:
922
923 2012-03-19  Alexander Færøy  <alexander.faeroy@nokia.com>
924
925         [Qt] Add experimental API for dynamically changing the UA string
926
927         Reviewed by Simon Hausmann.
928
929         This patch adds a new property named userAgent to the
930         QQuickWebViewExperimental type which allows us to dynamically change
931         the user agent string from the QML API.
932
933         * UIProcess/API/qt/qquickwebview.cpp:
934         (QQuickWebViewExperimental::userAgent):
935         (QQuickWebViewExperimental::setUserAgent):
936         * UIProcess/API/qt/qquickwebview_p.h:
937
938 2012-03-18  No'am Rosenthal  <noam.rosenthal@nokia.com>
939
940         [Qt][WK2] Avoid usage of manual scaling in the Qt scenegraph integration
941         https://bugs.webkit.org/show_bug.cgi?id=81368
942
943         Reviewed by Simon Hausmann.
944
945         Moved the QtScenegraph integration classes to a separate file,
946         QtWebPageSGNode. The nodes created for QQuickWebPage now include
947         a QSGTransformNode that controls the contentsScale, a 
948         QSGSimpleRectNode that controls the background color, and a
949         QSGRenderNode subclass that renders the actual contents.
950         * Target.pri:
951         * UIProcess/API/qt/qquickwebpage.cpp:
952         (QQuickWebPage::updatePaintNode):
953         * UIProcess/qt/QtWebPageSGNode.cpp: Added.
954         * UIProcess/qt/QtWebPageSGNode.h: Added.
955
956 2012-03-18  No'am Rosenthal  <noam.rosenthal@nokia.com>
957
958         [Qt] The background is visible for tiles inside the contents area which are not ready
959         https://bugs.webkit.org/show_bug.cgi?id=81349
960
961         Reviewed by Simon Hausmann.
962
963         Split PageProxyNode to BackgroundSGNode and ContentsSGNode.
964         BackgroundSGNode paints a solid background, either white or transparent
965         (depending on drawsTransparentBackground flag).
966
967         * UIProcess/API/qt/qquickwebpage.cpp:
968         (ContentsSGNode):
969         (ContentsSGNode::ContentsSGNode):
970         (ContentsSGNode::changedStates):
971         (ContentsSGNode::~ContentsSGNode):
972         (BackgroundSGNode):
973         (BackgroundSGNode::BackgroundSGNode):
974         (BackgroundSGNode::contentsNode):
975         (QQuickWebPage::updatePaintNode):
976
977 2012-03-17  Joe Thomas  <joethomas@motorola.com>
978
979         move calc*Value functions out from Length (and platform)
980         https://bugs.webkit.org/show_bug.cgi?id=80897
981
982         Moving the Length calc*Value functions out from Length structure and also from /WebCore/platform/ folder.
983         This helps to avoid the layering violation while length calculation. Otherwise layer violation can be avoided only by adding a virtual interface(bug 27160).
984
985         Reviewed by Antti Koivisto.
986
987         * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
988         (WebKit::WebPopupMenu::setUpPlatformData):
989
990 2012-03-17  Dan Bernstein  <mitz@apple.com>
991
992         <rdar://problem/10263562> Crash in WebCore::Range::startPosition() when dismissing the Press and Hold panel by clicking in the menu bar
993         https://bugs.webkit.org/show_bug.cgi?id=81454
994
995         Reviewed by Ada Chan.
996
997         When the Press and Hold panel is dismissed by clicking in the menu bar,
998         -insertText:replacementRange: is called with an NSRange whose location is NSNotFound - 1
999         (see <rdar://problem/11069374>). Trying to convert this bogus range to a WebCore Range
1000         returns 0, which leads to the crash.
1001
1002         * WebProcess/WebPage/mac/WebPageMac.mm:
1003         (WebKit::WebPage::insertText): Added a null check, to protect the code from bogus ranges.
1004
1005 2012-03-16  Stephanie Lewis  <slewis@apple.com>
1006
1007         https://bugs.webkit.org/show_bug.cgi?id=81065
1008         <rdar://problem/10944309> CrashTracer: [USER] 111 crashes in WebProcess at WebKitTestRunnerInjectedBundle: WTR::InjectedBundle::done + 142
1009         Add some string function exports to Windows so the WebKitTestRunner can use them.
1010
1011         Reviewed by Geoff Garen.
1012
1013         * win/WebKit2.def:
1014
1015 2012-03-16  Brady Eidson  <beidson@apple.com>
1016
1017         <rdar://problem/11027997> and https://bugs.webkit.org/show_bug.cgi?id=81412
1018         REGRESSION (r107435) Copy a link and paste to Mail: Nothing is pasted
1019
1020         Reviewed by Geoff Garen.
1021
1022         Add new message so the WebProcess can ask the UIProcesses pasteboard for the URL:
1023         * UIProcess/WebContext.h:
1024         * UIProcess/WebContext.messages.in:
1025         * UIProcess/mac/WebContextMac.mm:
1026         (WebKit::WebContext::getPasteboardURL):
1027
1028         Use that new message to implement the pasteboard strategy:
1029         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1030         (WebKit::WebPlatformStrategies::url):
1031         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
1032         (WebPlatformStrategies):
1033
1034 2012-03-16  Alexey Proskuryakov  <ap@apple.com>
1035
1036         ASSERTION FAILED: m_loadState == LoadStateCommitted in WebFrameProxy::didFinishLoad causing
1037         "crashes" on Lion Intel Debug WebKit2 Tests
1038         https://bugs.webkit.org/show_bug.cgi?id=81184
1039         <rdar://problem/11052462>
1040
1041         Rubber-stamped by Anders Carlsson.
1042
1043         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::finishedLoading):
1044         Don't leave a lingering m_pluginView after load is finished. When plug-in data was empty,
1045         we would create the plug-in here, but failed to finalize the load.
1046
1047 2012-03-08  Jer Noble  <jer.noble@apple.com>
1048
1049         Support W3C Full Screen API proposal
1050         https://bugs.webkit.org/show_bug.cgi?id=80660
1051
1052         Reviewed by Alexey Proskuryakov.
1053
1054         Allow full screen elements to access the keyboard.
1055
1056         * UIProcess/WebFullScreenManagerProxy.cpp:
1057         (WebKit::WebFullScreenManagerProxy::supportsFullScreen):
1058         * WebProcess/FullScreen/WebFullScreenManager.cpp:
1059         (WebKit::WebFullScreenManager::exitFullScreenForElement):
1060
1061 2012-03-16  Andras Becsi  <andras.becsi@nokia.com>
1062
1063         [Qt][WK2] Fix bounce-back behaviour for panning
1064         https://bugs.webkit.org/show_bug.cgi?id=81144
1065
1066         Reviewed by Kenneth Rohde Christiansen.
1067
1068         If the pan gesture recognizer receives a touch begin event
1069         during an ongoing kinetic scroll animation of a previous
1070         pan gesture, the animation is stopped and the content is
1071         immediately positioned back to valid boundaries.
1072
1073         * UIProcess/qt/QtPanGestureRecognizer.cpp:
1074         (WebKit::QtPanGestureRecognizer::recognize):
1075         * UIProcess/qt/QtViewportInteractionEngine.cpp:
1076         (WebKit::QtViewportInteractionEngine::cancelScrollAnimation):
1077         (WebKit):
1078         * UIProcess/qt/QtViewportInteractionEngine.h:
1079         (QtViewportInteractionEngine):
1080
1081 2012-03-16  Dinu Jacob  <dinu.jacob@nokia.com>
1082
1083         [Qt][Wk2] Assertion Failure and crash on file upload
1084         https://bugs.webkit.org/show_bug.cgi?id=80854
1085
1086         Reviewed by Simon Hausmann.
1087
1088         Crash resulted from attempting to create QFileDialog, a QtWidget based dialog from a 
1089         QGuiApplication. Replace QFileDialog with a QML implementable component.
1090         Added a new property 'filePicker' to WebView experimental to set the QML component for
1091         file upload triggered by an input file element.
1092
1093         Co-authored with Kasthuri Nallappasoundararajan <kasthuri.n-s@nokia.com>
1094
1095         * UIProcess/API/qt/qquickwebview.cpp:
1096         (QQuickWebViewPrivate::QQuickWebViewPrivate):
1097         (QQuickWebViewPrivate::chooseFiles):
1098         (QQuickWebViewExperimental::filePicker):
1099         (QQuickWebViewExperimental::setFilePicker):
1100         * UIProcess/API/qt/qquickwebview_p.h:
1101         * UIProcess/API/qt/qquickwebview_p_p.h:
1102         (QQuickWebViewPrivate):
1103         * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
1104         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_singleFileUpload.qml: Added.
1105         * UIProcess/API/qt/tests/qmltests/common/singlefileupload.html: Added.
1106         * UIProcess/qt/QtDialogRunner.cpp:
1107         (FilePickerContextObject):
1108         (FilePickerContextObject::FilePickerContextObject):
1109         (FilePickerContextObject::fileList):
1110         (FilePickerContextObject::reject):
1111         (FilePickerContextObject::accept):
1112         (QtDialogRunner::initForFilePicker):
1113         * UIProcess/qt/QtDialogRunner.h:
1114         (QtDialogRunner):
1115         (QtDialogRunner::filePaths):
1116         (QtDialogRunner::onFileSelected):
1117
1118 2012-03-16  Dinu Jacob  <dinu.jacob@nokia.com>
1119
1120         [Qt][WK2] Build failure when using --no-touch-events
1121         https://bugs.webkit.org/show_bug.cgi?id=81241
1122
1123         Reviewed by Simon Hausmann.
1124
1125         Fixed inconsistency in the use of ENABLE_TOUCH_EVENTS flag that caused build
1126         failure when using --no-touch-events option
1127
1128         * UIProcess/qt/QtPageClient.h:
1129         (QtPageClient):
1130         * UIProcess/qt/QtWebPageEventHandler.cpp:
1131         (QtWebPageEventHandler::handlePotentialSingleTapEvent):
1132         * UIProcess/qt/QtWebPageEventHandler.h:
1133         (QtWebPageEventHandler):
1134         * WebProcess/WebPage/WebPage.cpp:
1135         (WebKit::WebPage::WebPage):
1136         * WebProcess/WebPage/WebPage.h:
1137         (WebPage):
1138         * WebProcess/WebPage/WebPage.messages.in:
1139
1140 2012-03-16  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1141
1142         Merge setVisibleContentsForScaling with setVisibleContentsRectForPanning
1143         https://bugs.webkit.org/show_bug.cgi?id=81346
1144
1145         Reviewed by Simon Hausmann.
1146
1147         This cleans up the code path and is one step on the way to avoid
1148         calling both methods in succession, for instance after ending pinch
1149         zoom.
1150
1151         * UIProcess/API/qt/qquickwebview.cpp:
1152         (QQuickWebViewLegacyPrivate::updateViewportSize):
1153         (QQuickWebViewFlickablePrivate::_q_commitScaleChange):
1154         (QQuickWebViewPrivate::_q_commitPositionChange):
1155         * UIProcess/DrawingAreaProxy.h:
1156         (WebKit::DrawingAreaProxy::setVisibleContentsRect):
1157         * UIProcess/DrawingAreaProxyImpl.cpp:
1158         (WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):
1159         * UIProcess/DrawingAreaProxyImpl.h:
1160         (DrawingAreaProxyImpl):
1161         * UIProcess/LayerTreeHostProxy.cpp:
1162         (WebKit::LayerTreeHostProxy::setVisibleContentsRect):
1163         * UIProcess/LayerTreeHostProxy.h:
1164         (LayerTreeHostProxy):
1165         * UIProcess/WebLayerTreeRenderer.cpp:
1166         (WebKit::WebLayerTreeRenderer::setVisibleContentsRect):
1167         * UIProcess/WebLayerTreeRenderer.h:
1168         (WebLayerTreeRenderer):
1169         * WebProcess/WebPage/LayerTreeHost.h:
1170         (WebKit::LayerTreeHost::setVisibleContentsRect):
1171         * WebProcess/WebPage/LayerTreeHost.messages.in:
1172         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
1173         (WebKit::LayerTreeHostQt::setVisibleContentsRect):
1174         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
1175         (LayerTreeHostQt):
1176
1177 2012-03-16  YoungTaeck Song  <youngtaeck.song@samsung.com>
1178
1179         [EFL][WK2] Add ProcessLauncherEfl.cpp
1180         https://bugs.webkit.org/show_bug.cgi?id=75464
1181
1182         Reviewed by Hajime Morita.
1183
1184         Add first version of ProcessLauncherEfl.cpp including launchProcess() and terminateProcess().
1185
1186         * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp: Added.
1187         (WebKit::ProcessLauncher::launchProcess):
1188         (WebKit::ProcessLauncher::terminateProcess):
1189         (WebKit::ProcessLauncher::platformInvalidate):
1190
1191 2012-03-15  Anders Carlsson  <andersca@apple.com>
1192
1193         Try to fix the Snow Leopard build.
1194
1195         * UIProcess/API/mac/PDFViewController.mm:
1196         (WebKit::PDFViewController::pdfKitBundle):
1197
1198 2012-03-07  Jon Lee  <jonlee@apple.com>
1199
1200         Move NotificationContents into Notification
1201         https://bugs.webkit.org/show_bug.cgi?id=80487
1202         <rdar://problem/10965519>
1203
1204         Reviewed by Jian Li.
1205
1206         * UIProcess/Notifications/WebNotificationManagerProxy.cpp: Remove extraneous include.
1207         * WebProcess/Notifications/WebNotificationManager.cpp:
1208         (WebKit::WebNotificationManager::show): Refactor to use accessor methods on Notification.
1209
1210 2012-03-15  Brent Fulgham  <bfulgham@webkit.org>
1211
1212         Unreviewed build correction. WinCairo export definitions
1213         file was not updated when the main Apple file was changed.
1214
1215         * win/WebKit2CFLite.def: Revise export declarations to match
1216         new symbol names.
1217
1218 2012-03-15  Anders Carlsson  <andersca@apple.com>
1219
1220         REGRESSION(r107168?): Assertion failures under pageContainsAnyHorizontalScrollbars causing multiple "crashes" on the Lion Intel Debug WebKit2 testers
1221         https://bugs.webkit.org/show_bug.cgi?id=81162
1222         <rdar://problem/11050423>
1223
1224         Reviewed by Beth Dakin and Jessie Berlin.
1225
1226         Downgrade the ASSERT to a simple if check since scrollableArea->isOnActivePage() can return false when layout happens during page transitions.
1227
1228         * WebProcess/WebPage/WebPage.cpp:
1229         (WebKit::pageContainsAnyHorizontalScrollbars):
1230
1231 2012-03-15  David Hyatt  <hyatt@apple.com>
1232
1233         https://bugs.webkit.org/show_bug.cgi?id=81258
1234
1235         Add a preference for enabling the new multi-column layout code that will be based on regions.
1236
1237         Reviewed by Beth Dakin.
1238
1239         * Shared/WebPreferencesStore.h:
1240         (WebKit):
1241         * UIProcess/API/C/WKPreferences.cpp:
1242         (WKPreferencesSetRegionBasedColumnsEnabled):
1243         (WKPreferencesGetRegionBasedColumnsEnabled):
1244         * UIProcess/API/C/WKPreferencesPrivate.h:
1245         * WebProcess/WebPage/WebPage.cpp:
1246         (WebKit::WebPage::updatePreferences):
1247
1248 2012-03-14  Anders Carlsson  <andersca@apple.com>
1249
1250         Can't swipe to go back/forward when the current page is a PDF document
1251         https://bugs.webkit.org/show_bug.cgi?id=81194
1252         <rdar://problem/6954125>
1253
1254         Reviewed by Sam Weinig.
1255
1256         Override -[PDFViewScrollView scrollWheel:] and have the new implementation call
1257         -[WKPDFView forwardScrollWheelEvent:] when the PDF is pinned to either the left or right side.
1258         WKPDFView will then call PDFController::forwardScrollWheelEvent which checks if we can go back or forward,
1259         and passes the event along to the WKView which ends up triggering the swiping machinery in Safari.
1260
1261         * UIProcess/API/mac/PDFViewController.h:
1262         * UIProcess/API/mac/PDFViewController.mm:
1263         (-[WKPDFView forwardScrollWheelEvent:]):
1264         (WebKit):
1265         (WebKit::PDFViewController::forwardScrollWheelEvent):
1266         (WebKit::findEnclosingWKPDFView):
1267         (WebKit::PDFViewScrollView_scrollWheel):
1268         (WebKit::PDFViewController::pdfKitBundle):
1269         * UIProcess/WebPageProxy.cpp:
1270         (WebKit::WebPageProxy::didCommitLoadForFrame):
1271
1272 2012-03-15  Brady Eidson  <beidson@apple.com>
1273
1274         <rdar://problem/11036900> and https://bugs.webkit.org/show_bug.cgi?id=81079
1275         REGRESSION(r107844): Clipboard API only remembers most recent data set on clipboard
1276
1277         Reviewed by Sam Weinig.
1278
1279         Add the non-destructive "addTypes" to supplement the destructive "setTypes"
1280
1281         * UIProcess/WebContext.h:
1282         * UIProcess/WebContext.messages.in:
1283         * UIProcess/mac/WebContextMac.mm:
1284         (WebKit::WebContext::addPasteboardTypes):
1285
1286         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1287         (WebKit::WebPlatformStrategies::addTypes):
1288         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
1289
1290 2012-03-15  Carlos Garcia Campos  <cgarcia@igalia.com>
1291
1292         [GTK] Implement unicode submenu items
1293         https://bugs.webkit.org/show_bug.cgi?id=81117
1294
1295         Reviewed by Martin Robinson.
1296
1297         * WebProcess/WebCoreSupport/WebEditorClient.h:
1298         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
1299         (WebKit::WebEditorClient::shouldShowUnicodeMenu): Implement
1300         shouldShowUnicodeMenu() returning always true. When ContextMenu
1301         API is implemented for GTK+ the UI process will decide whether to
1302         show the unicode menu or not.
1303
1304 2012-03-15  Andras Becsi  <andras.becsi@nokia.com>
1305
1306         [Qt][WK2] Fix bounce-back behaviour for panning
1307         https://bugs.webkit.org/show_bug.cgi?id=81144
1308
1309         Reviewed by Kenneth Rohde Christiansen.
1310
1311         Move the content back to boundaries immediately
1312         in response to a tap gesture during the bounce-back
1313         animation after panning.
1314
1315         * UIProcess/qt/QtPanGestureRecognizer.cpp:
1316         (WebKit::QtPanGestureRecognizer::recognize):
1317         * UIProcess/qt/QtViewportInteractionEngine.h:
1318         Make the ensureContentWithinViewportBoundary function public.
1319         (QtViewportInteractionEngine):
1320
1321 2012-03-15  Carlos Garcia Campos  <cgarcia@igalia.com>
1322
1323         [WK2] WebPageProxy::activeURL should return unreachableURL() when it's not empty
1324         https://bugs.webkit.org/show_bug.cgi?id=75465
1325
1326         Reviewed by Philippe Normand.
1327
1328         * UIProcess/API/gtk/tests/WebViewTest.cpp:
1329         (WebViewTest::replaceContent): Return the main frame
1330         unreachableURL if it's not empty.
1331         * UIProcess/WebPageProxy.cpp:
1332         (WebKit::WebPageProxy::activeURL):
1333
1334 2012-03-14  Anders Carlsson  <andersca@apple.com>
1335
1336         java/java-and-plugins.html test failing
1337         https://bugs.webkit.org/show_bug.cgi?id=81188
1338         <rdar://problem/11048657>
1339
1340         Reviewed by Sam Weinig.
1341
1342         When we're marshaling NPObjects that wrap plug-in objects, make sure to check that the
1343         current plug-in instance is the same as the plug-in instance the object came from and don't
1344         pass the unwrapped object ID if that is the case.
1345
1346         * Shared/Plugins/NPRemoteObjectMap.cpp:
1347         (WebKit::remoteNPObjectID):
1348         (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
1349
1350 2012-03-14  Matt Falkenhagen  <falken@chromium.org>
1351
1352         Allow per-script font settings to be specified in layout tests
1353         https://bugs.webkit.org/show_bug.cgi?id=78184
1354
1355         Reviewed by Hajime Morita.
1356
1357         This adds per-script font settings to InternalSettings, so it can be used in layout tests instead of
1358         the per-script font settings support in DumpRenderTree overridePreference, which has only been implemented
1359         for Chromium so far.
1360
1361         * win/WebKit2.def: Added symbols.
1362         * win/WebKit2CFLite.def: Added symbols.
1363
1364 2012-03-14  Michael Saboff  <msaboff@apple.com>
1365
1366         REGRESSION(r110383): ASSERTION failures in JSCell::finishCreation causing multiple tests to "crash" on the Lion Intel Debug Bots
1367         https://bugs.webkit.org/show_bug.cgi?id=80993
1368
1369         Reviewed by Mark Rowe.
1370
1371         Moved $(BUILT_PRODUCTS_DIR)/usr/local/include to the front of HEADER_SEARCH_PATH
1372         to fix builds given the wtf move.
1373
1374         * Configurations/BaseTarget.xcconfig:
1375
1376 2012-03-14  Andy Estes  <aestes@apple.com>
1377
1378         Stop shadowing the argument to drawRect: with a local variable.
1379
1380         Reviewed by Sam Weinig.
1381
1382         * UIProcess/API/mac/WKView.mm:
1383         (-[WKView drawRect:]):
1384
1385 2012-03-13  Jon Lee  <jonlee@apple.com>
1386
1387         Separate NOTIFICATIONS and LEGACY_NOTIFICATIONS
1388         https://bugs.webkit.org/show_bug.cgi?id=80922
1389         <rdar://problem/11035082>
1390
1391         Reviewed by Jian Li.
1392
1393         You can include either NOTIFICATIONS or LEGACY_NOTIFICATIONS and have a complete API.
1394         LEGACY_NOTIFICATIONS should cover all of the previous functionality, and NOTIFICATIONS will cover the
1395         new API. Therefore, APIs that are common between the two will have:
1396         #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
1397
1398         This patch initially sets both to be exactly the same. As other bugs with patches begin to migrate to
1399         the new API, the defines will begin to split. This allows ports to decide which set of APIs to include.
1400
1401         Update everything to be #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
1402         * Shared/WebProcessCreationParameters.cpp:
1403         (WebKit::WebProcessCreationParameters::encode):
1404         (WebKit::WebProcessCreationParameters::decode):
1405         * Shared/WebProcessCreationParameters.h:
1406         (WebProcessCreationParameters):
1407         * UIProcess/WebContext.cpp:
1408         (WebKit::WebContext::ensureWebProcess):
1409         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
1410         (WebKit):
1411         (WebKit::NotificationPermissionRequestManager::startRequest):
1412         (WebKit::NotificationPermissionRequestManager::cancelRequest):
1413         (WebKit::NotificationPermissionRequestManager::permissionLevel):
1414         (WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision):
1415         * WebProcess/Notifications/WebNotificationManager.cpp:
1416         (WebKit):
1417         (WebKit::WebNotificationManager::initialize):
1418         (WebKit::WebNotificationManager::didUpdateNotificationDecision):
1419         (WebKit::WebNotificationManager::didRemoveNotificationDecisions):
1420         (WebKit::WebNotificationManager::policyForOrigin):
1421         (WebKit::WebNotificationManager::show):
1422         (WebKit::WebNotificationManager::cancel):
1423         (WebKit::WebNotificationManager::clearNotifications):
1424         (WebKit::WebNotificationManager::didDestroyNotification):
1425         (WebKit::WebNotificationManager::didShowNotification):
1426         (WebKit::WebNotificationManager::didClickNotification):
1427         (WebKit::WebNotificationManager::didCloseNotifications):
1428         * WebProcess/Notifications/WebNotificationManager.h:
1429         (WebNotificationManager):
1430         * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
1431         * WebProcess/WebCoreSupport/WebNotificationClient.h:
1432         * WebProcess/WebPage/WebPage.cpp:
1433         (WebKit::WebPage::WebPage):
1434         (WebKit::WebPage::updatePreferences):
1435         * WebProcess/WebProcess.cpp:
1436         (WebKit::WebProcess::WebProcess):
1437         (WebKit::WebProcess::didReceiveMessage):
1438         * WebProcess/WebProcess.h:
1439         (WebProcess):
1440         * WebProcess/mac/WebProcessMac.mm:
1441         (WebKit::WebProcess::platformInitializeWebProcess):
1442
1443 2012-03-14  Dinu Jacob  <dinu.jacob@nokia.com>
1444
1445         [Qt][WK2] Move code common to both ProxyAuthentication and Authentication context objects into a base class
1446         https://bugs.webkit.org/show_bug.cgi?id=80627
1447
1448         Reviewed by Kenneth Rohde Christiansen.
1449
1450         No impact to QML API.
1451
1452         * UIProcess/qt/QtDialogRunner.cpp:
1453         (BaseAuthenticationContextObject):
1454         (BaseAuthenticationContextObject::BaseAuthenticationContextObject):
1455         (HttpAuthenticationDialogContextObject):
1456         (HttpAuthenticationDialogContextObject::HttpAuthenticationDialogContextObject):
1457         (HttpAuthenticationDialogContextObject::realm):
1458         (ProxyAuthenticationDialogContextObject):
1459         (ProxyAuthenticationDialogContextObject::ProxyAuthenticationDialogContextObject):
1460         (QtDialogRunner::initForAuthentication):
1461
1462 2012-03-14  Anders Carlsson  <andersca@apple.com>
1463
1464         With tiled drawing enabled, clicking a link to a PDF causes a cross-fade
1465         https://bugs.webkit.org/show_bug.cgi?id=79247
1466         <rdar://problem/10910808>
1467
1468         Reviewed by Sam Weinig.
1469
1470         Instead of creating a new CALayer for the WKView when we're in tiled mode, re-use the existing layer that AppKit makes for us.
1471         This way, we won't get any implicit animations when we change layer properties (such as sublayers in this case).
1472
1473         * UIProcess/API/mac/WKView.mm:
1474         (-[WKView initWithFrame:contextRef:pageGroupRef:]):
1475         (-[WKView wantsUpdateLayer]):
1476         (-[WKView updateLayer]):
1477
1478 2012-03-14  Alexey Proskuryakov  <ap@apple.com>
1479
1480         WebProcess sometimes hits an assertion in SandboxExtensionTracker::didCommitProvisionalLoad after running regression tests
1481         https://bugs.webkit.org/show_bug.cgi?id=81150
1482         <rdar://problem/11002254>
1483
1484         Reviewed by Anders Carlsson.
1485
1486         * WebProcess/WebPage/WebPage.cpp:
1487         (WebKit::WebPage::SandboxExtensionTracker::didCommitProvisionalLoad):
1488         (WebKit::WebPage::SandboxExtensionTracker::didFailProvisionalLoad):
1489         It's not great, but for now we need to handle this case. Hopefully, some day we'll make
1490         both WebKit2 processes better aware of what's going on with loading in WebCore.
1491
1492 2012-03-14  Anders Carlsson  <andersca@apple.com>
1493
1494         Fix UI process crash when a plug-in process crashes with a modal dialog showing
1495         https://bugs.webkit.org/show_bug.cgi?id=81139
1496         <rdar://problem/9641197>
1497
1498         Reviewed by Dan Bernstein.
1499
1500         When a plug-in process crashes, its corresponding PluginProcessProxy object is deleted immediately,
1501         which is bad if we're currently running a nested run loop.
1502
1503         Fix this by making PluginProcessProxy ref-counted and protecting it before the call to -[NSApp runModalForWindow:].
1504
1505         * UIProcess/Plugins/PluginProcessManager.cpp:
1506         (WebKit::PluginProcessManager::pluginProcessWithPath):
1507         (WebKit::PluginProcessManager::getOrCreatePluginProcess):
1508         * UIProcess/Plugins/PluginProcessManager.h:
1509         (PluginProcessManager):
1510         * UIProcess/Plugins/PluginProcessProxy.cpp:
1511         (WebKit::PluginProcessProxy::create):
1512         (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
1513         * UIProcess/Plugins/PluginProcessProxy.h:
1514         (PluginProcessProxy):
1515         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
1516         (WebKit::PluginProcessProxy::setModalWindowIsShowing):
1517         (WebKit::PluginProcessProxy::beginModal):
1518
1519 2012-03-14  Carlos Garcia Campos  <cgarcia@igalia.com>
1520
1521         [GTK] Handle printing errors in WebKit2
1522         https://bugs.webkit.org/show_bug.cgi?id=77197
1523
1524         Reviewed by Gustavo Noronha Silva.
1525
1526         * UIProcess/API/gtk/WebKitError.cpp:
1527         (webkit_print_error_quark): Add new error domain for print
1528         errors.
1529         * UIProcess/API/gtk/WebKitError.h: Ad print errors.
1530         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
1531         (webkit_print_operation_class_init): Add
1532         WebKitPrintOperation::failed signal.
1533         (drawPagesForPrintingCompleted): Emit WebKitPrintOperation::failed
1534         when the print operation failed with the given error.
1535         (webkitPrintOperationPrintPagesForFrame): Use
1536         PrintFinishedCallback instead of a VoidCallback.
1537         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
1538         * UIProcess/API/gtk/tests/TestPrinting.cpp:
1539         (testPrintOperationPrint):
1540         (testPrintOperationErrors): Test different print errors are
1541         correctly reported.
1542         (beforeAll):
1543         * UIProcess/WebPageProxy.cpp:
1544         (WebKit::WebPageProxy::close): Invalidate print finished callbacks
1545         map.
1546         (WebKit::WebPageProxy::printFinishedCallback): Callback called
1547         when the print operation has finished in the web process.
1548         (WebKit::WebPageProxy::processDidCrash): Invalidate print finished
1549         callbacks map.
1550         (WebKit::WebPageProxy::drawPagesForPrinting): Use a
1551         PrintFinishedCallback instead of a VoidCallback.
1552         * UIProcess/WebPageProxy.h:
1553         (WebKit): Delcare PrintFinishedCallback as a generic callback.
1554         (WebPageProxy):
1555         * UIProcess/WebPageProxy.messages.in: Use PrintFinishedCallback
1556         instead of VoidCallback as callback argument of
1557         DrawPagesForPrinting message.
1558         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
1559         (WebKit::PrintPagesData::PrintPagesData): Mark the data as invalid
1560         when there are no pages to print.
1561         (PrintPagesData): Add isValid parameter to mark the data struct as
1562         invalid.
1563         (WebKit::WebPrintOperationGtk::printPagesIdleDone): Call
1564         printPagesDone() instead of printDone().
1565         (WebKit::WebPrintOperationGtk::printPagesDone): Renamed.
1566         (WebKit::WebPrintOperationGtk::printDone): Notify the UI process
1567         that the print operation has finsihed.
1568         (WebKit::WebPrintOperationGtk::print): Finish the print if the
1569         PrintPagesData struct is not valid.
1570         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
1571
1572 2012-03-13  Jer Noble  <jer.noble@apple.com>
1573
1574         Lion Intel Debug WebKit2 Tests crashing under [WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]
1575         https://bugs.webkit.org/show_bug.cgi?id=81056
1576
1577         Reviewed by Jessie Berlin.
1578
1579         Give the InjectedBundlePageFullScreenClient a first crack at beganEnterFullScreen and beganExitFullScreen:
1580         * WebProcess/FullScreen/WebFullScreenManager.cpp:
1581         (WebKit::WebFullScreenManager::willEnterFullScreen):
1582         (WebKit::WebFullScreenManager::willExitFullScreen):
1583
1584         And call the client function if it exists; otherwise, continue to message the page:
1585         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
1586         * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.cpp:
1587         (WebKit::InjectedBundlePageFullScreenClient::beganEnterFullScreen):
1588         (WebKit::InjectedBundlePageFullScreenClient::beganExitFullScreen):
1589         * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h:
1590
1591         Add a custom APIClientTraits for InjectedBundlePageFullScreenClient to handle the API number change.
1592         * Shared/APIClientTraits.cpp:
1593         * Shared/APIClientTraits.h:
1594
1595 2012-03-14  Andrey Kosyakov  <caseq@chromium.org>
1596
1597         Web Inspector: add didCancelFrame timeline event
1598         https://bugs.webkit.org/show_bug.cgi?id=80994
1599
1600         Reviewed by Pavel Feldman.
1601
1602         * win/WebKit2.def:
1603         * win/WebKit2CFLite.def:
1604
1605 2012-03-13  Anders Carlsson  <andersca@apple.com>
1606
1607         Find bouncy doesn’t hide when a subframe is scrolled
1608         https://bugs.webkit.org/show_bug.cgi?id=81060
1609         <rdar://problem/9365329>
1610
1611         Reviewed by Andreas Kling.
1612
1613         Instead of hiding the find indicator when pageDidScroll is called, add a check to FindController::drawRect and hide
1614         the find indicator there if the find selection bounds have changed since the last call to drawRect.
1615
1616         * WebProcess/WebPage/FindController.cpp:
1617         (WebKit::FindController::updateFindIndicator):
1618         (WebKit::FindController::drawRect):
1619         * WebProcess/WebPage/FindController.h:
1620         (FindController):
1621         * WebProcess/WebPage/WebPage.cpp:
1622         (WebKit::WebPage::pageDidScroll):
1623
1624 2012-03-13  Jeff Miller  <jeffm@apple.com>
1625
1626         Support loading a WKPage from web archive data
1627         https://bugs.webkit.org/show_bug.cgi?id=81044
1628
1629         This code was written by Jessie Berlin.
1630
1631         Reviewed by Brady Eidson.
1632
1633         * UIProcess/API/C/WKPage.cpp:
1634         (WKPageLoadWebArchiveData): Added.
1635         
1636         * UIProcess/API/C/WKPage.h: Added WKPageLoadWebArchiveData().
1637         
1638         * UIProcess/WebPageProxy.cpp:
1639         (WebKit::WebPageProxy::loadWebArchiveData): Added.
1640         
1641         * UIProcess/WebPageProxy.h: Added loadWebArchiveData().
1642
1643         * WebProcess/WebPage/WebPage.cpp:
1644         (WebKit::WebPage::loadWebArchiveData): Added.
1645         
1646         * WebProcess/WebPage/WebPage.h: Added loadWebArchiveData().
1647
1648         * WebProcess/WebPage/WebPage.messages.in: Added LoadWebArchiveData message.
1649
1650 2012-03-13  Adam Barth  <abarth@webkit.org> && Benjamin Poulain  <bpoulain@apple.com>
1651
1652         Always enable ENABLE(CLIENT_BASED_GEOLOCATION)
1653         https://bugs.webkit.org/show_bug.cgi?id=78853
1654
1655         Reviewed by Adam Barth.
1656
1657         * Configurations/FeatureDefines.xcconfig:
1658         * WebProcess/Geolocation/WebGeolocationManager.cpp:
1659         (WebKit::WebGeolocationManager::registerWebPage):
1660         (WebKit::WebGeolocationManager::unregisterWebPage):
1661         (WebKit::WebGeolocationManager::didChangePosition):
1662         (WebKit::WebGeolocationManager::didFailToDeterminePosition):
1663         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1664         (WebKit::InjectedBundle::setGeoLocationPermission):
1665         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1666         (WebKit):
1667         * WebProcess/WebCoreSupport/WebChromeClient.h:
1668         (WebChromeClient):
1669         * WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
1670         * WebProcess/WebCoreSupport/WebGeolocationClient.h:
1671         * WebProcess/WebPage/WebPage.cpp:
1672         (WebKit::WebPage::WebPage):
1673         * mac/WebKit2.order:
1674
1675 2012-03-13  Max Vujovic  <mvujovic@adobe.com>
1676
1677         Add a method to window.internals to enable testing of inspector highlight rects
1678         https://bugs.webkit.org/show_bug.cgi?id=80338
1679
1680         Reviewed by Pavel Feldman.
1681
1682         * win/WebKit2.def: Export symbols for win.
1683         * win/WebKit2CFLite.def: Same as above.
1684
1685 2012-03-13  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1686
1687         [Qt] Set correct device width and height.
1688         https://bugs.webkit.org/show_bug.cgi?id=80980
1689
1690         Reviewed by Tor Arne Vestbø.
1691
1692         * UIProcess/API/qt/qquickwebview.cpp:
1693         (QQuickWebViewFlickablePrivate::computeViewportConstraints):
1694
1695 2012-03-12  Sam Weinig  <sam@webkit.org>
1696
1697         Fix typo in PageClientImpl where we were overriding viewLayerHostingMode with
1698         a function called layerHostingMode.
1699
1700         Reviewed by Anders Carlsson.
1701
1702         * UIProcess/API/mac/PageClientImpl.h:
1703         * UIProcess/API/mac/PageClientImpl.mm:
1704         (WebKit::PageClientImpl::viewLayerHostingMode):
1705         Update name and add OVERRIDE to catch this in the future.
1706
1707 2012-03-12  Enrica Casucci  <enrica@apple.com>
1708
1709         WebKit2: remove NSPasteboard access for promised data from the WebProcess
1710         https://bugs.webkit.org/show_bug.cgi?id=80073
1711
1712         Reviewed by Alexey Proskuryakov.
1713
1714         This patch removes the last remaining access to NSPasteboard from the WebProcess.
1715         The code in WebDragClient::declareAndWriteDragImage now packages all the data
1716         required for the drag and the promised drag types and sends one request to the UI
1717         process that will place the data in the NSPasteboard when appropriate.
1718         
1719         * UIProcess/API/mac/PageClientImpl.h: Added setPromisedData method.
1720         * UIProcess/API/mac/PageClientImpl.mm:
1721         (WebKit::PageClientImpl::setPromisedData):
1722         * UIProcess/API/mac/WKView.mm:
1723         (matchesExtensionOrEquivalent): Added.
1724         (fileExists): Added.
1725         (pathWithUniqueFilenameForPath): Added.
1726         (-[WKView _setPromisedData:WebCore::withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:WebCore::forPasteboard:]):
1727         (-[WKView pasteboardChangedOwner:]):
1728         (-[WKView pasteboard:provideDataForType:]):
1729         (-[WKView namesOfPromisedFilesDroppedAtDestination:]):
1730         * UIProcess/API/mac/WKViewInternal.h: Added _setPromisedData.
1731         * UIProcess/PageClient.h:
1732         * UIProcess/WebPageProxy.h: Added method for the new message.
1733         * UIProcess/WebPageProxy.messages.in: Added setPromisedData message.
1734         * UIProcess/mac/WebPageProxyMac.mm:
1735         (WebKit::WebPageProxy::setPromisedData):
1736         * WebProcess/WebCoreSupport/WebDragClient.cpp:
1737         * WebProcess/WebCoreSupport/WebDragClient.h:
1738         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
1739         (WebKit::WebDragClient::declareAndWriteDragImage):
1740         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1741         (InitWebCoreSystemInterface): Added SetMetadataURL.
1742
1743 2012-03-12  Andras Becsi  <andras.becsi@nokia.com>
1744
1745         [Qt][WK2] Add support for rudimentary scroll indicators in MiniBrowser
1746         https://bugs.webkit.org/show_bug.cgi?id=80832
1747
1748         Reviewed by Tor Arne Vestbø.
1749
1750         Since the ScrollDecorator QML component requires a Flickable in its API
1751         we need to expose the Flickable in QML for now and we also need to add
1752         a notifier because we instantiate the internal Flickable only when the
1753         WebView component completes construction.
1754
1755         * UIProcess/API/qt/qquickwebview.cpp:
1756         (QQuickWebViewFlickablePrivate::onComponentComplete):
1757         (QQuickWebViewExperimental::flickable):
1758         * UIProcess/API/qt/qquickwebview_p.h:
1759
1760 2012-03-11  Timothy Hatcher  <timothy@apple.com>
1761
1762         Update how the Web Inspector resources are loaded.
1763
1764         https://bugs.webkit.org/show_bug.cgi?id=80814
1765         rdar://problem/10359959
1766
1767         Reviewed by John Sullivan.
1768
1769         * Shared/WebPreferencesStore.h:
1770         (WebKit): Added InspectorUsesWebKitUserInterface.
1771         * Shared/WebProcessCreationParameters.cpp:
1772         (WebKit::WebProcessCreationParameters::encode): Removed webInspectorLocalizedStringsPath.
1773         (WebKit::WebProcessCreationParameters::decode): Ditto.
1774         * Shared/WebProcessCreationParameters.h: Ditto.
1775         (WebProcessCreationParameters): Ditto.
1776         * UIProcess/API/C/WKContext.cpp:
1777         * UIProcess/API/C/WKContextPrivate.h:
1778         * UIProcess/API/C/WKPreferences.cpp:
1779         (WKPreferencesSetInspectorUsesWebKitUserInterface): Added.
1780         (WKPreferencesGetInspectorUsesWebKitUserInterface): Added.
1781         * UIProcess/API/C/WKPreferencesPrivate.h:
1782         * UIProcess/WebContext.cpp:
1783         (WebKit::WebContext::ensureWebProcess): Removed webInspectorLocalizedStringsPath.
1784         * UIProcess/WebContext.h:
1785         (WebContext): Ditto.
1786         * UIProcess/mac/WebInspectorProxyMac.mm:
1787         (WebKit::inspectorReallyUsesWebKitUserInterface): Added.
1788         (WebKit::WebInspectorProxy::createInspectorWindow): Use inspectorReallyUsesWebKitUserInterface
1789         to determine if texture should be used.
1790         (WebKit::WebInspectorProxy::inspectorPageURL): Choose the right path.
1791         (WebKit::WebInspectorProxy::inspectorBaseURL): Ditto.
1792         * WebProcess/WebPage/WebInspector.h:
1793         * WebProcess/WebPage/mac/WebInspectorMac.mm:
1794         (WebKit::inspectorReallyUsesWebKitUserInterface):
1795         (WebKit::WebInspector::setInspectorUsesWebKitUserInterface): Added.
1796         (WebKit::WebInspector::localizedStringsURL):
1797         * WebProcess/WebPage/mac/WebPageMac.mm:
1798         (WebKit::WebPage::platformPreferencesDidChange): Call WebInspector::setInspectorUsesWebKitUserInterface.
1799         * WebProcess/mac/WebProcessMac.mm:
1800         (WebKit::WebProcess::platformInitializeWebProcess): Removed call to WebInspector::setLocalizedStringsPath.
1801
1802 2012-03-11  Andy Estes  <aestes@apple.com>
1803
1804         Remove unnecessary call to NSSizeToCGSize().
1805         https://bugs.webkit.org/show_bug.cgi?id=80817
1806
1807         Reviewed by Dan Bernstein.
1808
1809         There is no need to call NSSizeToCGSize() to convert an IntSize to a
1810         CGSize. IntSize defines a conversion function to CGSize that will do
1811         this for us implicitly.
1812
1813         * UIProcess/mac/BackingStoreMac.mm:
1814         (WebKit::BackingStore::backingStoreContext): Do not call NSSizeToCGSize().
1815
1816 2012-03-11  Dan Bernstein  <mitz@apple.com>
1817
1818         WebKit2 lacks API for obtaining a representation of the RenderLayer tree of a page, like WebRenderLayer
1819         <http://webkit.org/b/80791>
1820
1821         Reviewed by Anders Carlsson.
1822
1823         * CMakeLists.txt:
1824         * GNUmakefile.am:
1825
1826         * Shared/API/c/WKBase.h: Added a type definition of WKRenderLayerRef.
1827
1828         * Shared/API/c/WKRenderLayer.cpp: Added.
1829         (WKRenderLayerGetTypeID): Added. Returns the WKRenderLayer type ID.
1830         (WKRenderLayerCopyRendererName): Added this getter wrapper.
1831         (WKRenderLayerCopyElementTagName): Ditto.
1832         (WKRenderLayerCopyElementID): Ditto.
1833         (WKRenderLayerGetElementClassNames): Ditto.
1834         (WKRenderLayerGetAbsoluteBounds): Ditto.
1835         (WKRenderLayerIsClipping): Ditto.
1836         (WKRenderLayerIsClipped): Ditto.
1837         (WKRenderLayerIsReflection): Ditto.
1838         (WKRenderLayerGetCompositingLayerType): Ditto.
1839         (WKRenderLayerGetNegativeZOrderList): Ditto.
1840         (WKRenderLayerGetNormalFlowList): Ditto.
1841         (WKRenderLayerGetPositiveZOrderList): Ditto.
1842
1843         * Shared/API/c/WKRenderLayer.h: Added.
1844
1845         * Shared/APIObject.h: Added TypeRenderLayer to the APIObject::Type enum.
1846
1847         * Shared/UserMessageCoders.h:
1848         (WebKit::UserMessageEncoder::baseEncode): Added WebRenderLayer encoding.
1849         (WebKit::UserMessageDecoder::baseDecode): Added WebRenderLayer decoding.
1850
1851         * Shared/WebRenderLayer.cpp: Added.
1852         (WebKit::WebRenderLayer::create): Added. Creates a WebRenderLayer for the page’s main
1853         frame’s root layer.
1854         (WebKit::WebRenderLayer::createArrayFromLayerList): Added this helper function.
1855         (WebKit::WebRenderLayer::WebRenderLayer): Added. Constructs a WebRenderLayer with the
1856         renderer name, element tag, ID and class names, metrics, child lists, and compositing
1857         layer properties of the given RenderLayer.
1858
1859         * Shared/WebRenderLayer.h: Added.
1860         (WebKit::WebRenderLayer::create):
1861         (WebKit::WebRenderLayer::negativeZOrderList):
1862         (WebKit::WebRenderLayer::normalFlowList):
1863         (WebKit::WebRenderLayer::positiveZOrderList):
1864         (WebKit::WebRenderLayer::renderObjectName):
1865         (WebKit::WebRenderLayer::elementTagName):
1866         (WebKit::WebRenderLayer::elementID):
1867         (WebKit::WebRenderLayer::elementClassNames):
1868         (WebKit::WebRenderLayer::isReflection):
1869         (WebKit::WebRenderLayer::isClipping):
1870         (WebKit::WebRenderLayer::isClipped):
1871         (WebKit::WebRenderLayer::compositingLayerType):
1872         (WebKit::WebRenderLayer::absoluteBoundingBox):
1873         (WebKit::WebRenderLayer::WebRenderLayer):
1874
1875         * Target.pri
1876
1877         * UIProcess/API/C/WKAPICast.h: Added a mapping between WKRenderLayerRef and WebRenderLayer.
1878
1879         * WebKit2.xcodeproj/project.pbxproj: Added WebRenderLayer.{cpp,h} and WKRenderLayer.{cpp,h}.
1880
1881         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1882         (WKBundlePageCopyRenderLayerTree): Added this bundle API for getting the layer tree.
1883
1884         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
1885
1886         * win/WebKit2.vcproj:
1887
1888 2012-03-11  Joseph Pecoraro  <pecoraro@apple.com>
1889
1890         <http://webkit.org/b/80782> Web Inspector: Crash using released frontendClient when resizing window with closed inspector
1891
1892         The WebInspectorFrontendClient reference should be cleared when the
1893         WebInspectorClient::closeInspectorFrontend is called. This adds a
1894         destroyInspectorPage to mirror createInspectorPage and clear the weak
1895         pointers that are no longer valid.
1896
1897         Reviewed by Pavel Feldman.
1898
1899         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
1900         (WebKit::WebInspectorClient::closeInspectorFrontend):
1901         (WebKit::WebInspectorClient::didResizeMainFrame):
1902         * WebProcess/WebPage/WebInspector.cpp:
1903         (WebKit::WebInspector::destroyInspectorPage):
1904         * WebProcess/WebPage/WebInspector.h:
1905
1906 2012-03-11  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
1907
1908         [Qt] [WK2] Support threaded renderer in WK2
1909         https://bugs.webkit.org/show_bug.cgi?id=76661
1910
1911         Reviewed by Noam Rosenthal.
1912
1913         Implement Qt5 threaded rendering support for Qt WebKit2.
1914         Parts of LayerTreeHostProxy which contain layer tree and layer painting objects 
1915         are moved to separate class called WebLayerTreeRenderer. WebLayerTreeRenderer is 
1916         thread safe ref counted and referenced by LayerTreeHostProxy and paint node.
1917         All layer tree and graphics objects are created, accessed and deallocated from Qt 
1918         Scenegraph's paint thread only.
1919         Layer tree updates from render queue are fetched in updatePaintNode call stack when 
1920         main thread is locked.
1921         Messages from paint thread to web process are passed through MainThreadGuardedInvoker 
1922         call gate (implemented by Noam Rosenthal and previously reviewed by Kenneth Rohde 
1923         Christiansen).
1924
1925         * Target.pri:
1926         * UIProcess/API/qt/qquickwebpage.cpp:
1927         (PageProxyNode::PageProxyNode):
1928         (PageProxyNode::render):
1929         (PageProxyNode::~PageProxyNode):
1930         (PageProxyNode::layerTreeRenderer):
1931         (PageProxyNode):
1932         (PageProxyNode::setScale):
1933         (QQuickWebPage::updatePaintNode):
1934         (QQuickWebPagePrivate::~QQuickWebPagePrivate):
1935         * UIProcess/LayerTreeHostProxy.cpp: Added.
1936         (WebKit):
1937         (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
1938         (WebKit::LayerTreeHostProxy::~LayerTreeHostProxy):
1939         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
1940         (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
1941         (WebKit::LayerTreeHostProxy::updateViewport):
1942         (WebKit::LayerTreeHostProxy::dispatchUpdate):
1943         (WebKit::LayerTreeHostProxy::createTileForLayer):
1944         (WebKit::LayerTreeHostProxy::updateTileForLayer):
1945         (WebKit::LayerTreeHostProxy::removeTileForLayer):
1946         (WebKit::LayerTreeHostProxy::deleteCompositingLayer):
1947         (WebKit::LayerTreeHostProxy::setRootCompositingLayer):
1948         (WebKit::LayerTreeHostProxy::syncCompositingLayerState):
1949         (WebKit::LayerTreeHostProxy::didRenderFrame):
1950         (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
1951         (WebKit::LayerTreeHostProxy::destroyDirectlyCompositedImage):
1952         (WebKit::LayerTreeHostProxy::setVisibleContentsRectForPanning):
1953         (WebKit::LayerTreeHostProxy::setVisibleContentsRectForScaling):
1954         (WebKit::LayerTreeHostProxy::renderNextFrame):
1955         (WebKit::LayerTreeHostProxy::purgeBackingStores):
1956         * UIProcess/LayerTreeHostProxy.h:
1957         (WebKit):
1958         (LayerTreeHostProxy):
1959         (WebKit::LayerTreeHostProxy::layerTreeRenderer):
1960         * UIProcess/WebLayerTreeRenderer.cpp: Renamed from Source/WebKit2/UIProcess/qt/LayerTreeHostProxyQt.cpp.
1961         (WebKit):
1962         (MainThreadGuardedInvoker):
1963         (WebKit::MainThreadGuardedInvoker::call):
1964         (WebKit::MainThreadGuardedInvoker::MainThreadGuardedInvoker):
1965         (WebKit::MainThreadGuardedInvoker::invoke):
1966         (WebKit::WebLayerTreeRenderer::callOnMainTread):
1967         (WebKit::WebLayerTreeRenderer::WebLayerTreeRenderer):
1968         (WebKit::WebLayerTreeRenderer::~WebLayerTreeRenderer):
1969         (WebKit::WebLayerTreeRenderer::createLayer):
1970         (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
1971         (WebKit::WebLayerTreeRenderer::syncAnimations):
1972         (WebKit::WebLayerTreeRenderer::paintToGraphicsContext):
1973         (WebKit::WebLayerTreeRenderer::setVisibleContentsRectForScaling):
1974         (WebKit::WebLayerTreeRenderer::updateViewport):
1975         (WebKit::WebLayerTreeRenderer::syncLayerParameters):
1976         (WebKit::WebLayerTreeRenderer::deleteLayer):
1977         (WebKit::WebLayerTreeRenderer::ensureLayer):
1978         (WebKit::WebLayerTreeRenderer::setRootLayerID):
1979         (WebKit::WebLayerTreeRenderer::getBackingStore):
1980         (WebKit::WebLayerTreeRenderer::createTile):
1981         (WebKit::WebLayerTreeRenderer::removeTile):
1982         (WebKit::WebLayerTreeRenderer::updateTile):
1983         (WebKit::WebLayerTreeRenderer::createImage):
1984         (WebKit::WebLayerTreeRenderer::destroyImage):
1985         (WebKit::WebLayerTreeRenderer::assignImageToLayer):
1986         (WebKit::WebLayerTreeRenderer::swapBuffers):
1987         (WebKit::WebLayerTreeRenderer::flushLayerChanges):
1988         (WebKit::WebLayerTreeRenderer::renderNextFrame):
1989         (WebKit::WebLayerTreeRenderer::ensureRootLayer):
1990         (WebKit::WebLayerTreeRenderer::syncRemoteContent):
1991         (WebKit::WebLayerTreeRenderer::purgeGLResources):
1992         (WebKit::WebLayerTreeRenderer::purgeBackingStores):
1993         (WebKit::WebLayerTreeRenderer::detach):
1994         (WebKit::WebLayerTreeRenderer::appendUpdate):
1995         * UIProcess/WebLayerTreeRenderer.h: Copied from Source/WebKit2/UIProcess/LayerTreeHostProxy.h.
1996         (WebKit):
1997         (WebLayerTreeRenderer):
1998         (WebKit::WebLayerTreeRenderer::layerByID):
1999         (WebKit::WebLayerTreeRenderer::rootLayer):
2000         (WebKit::WebLayerTreeRenderer::notifyAnimationStarted):
2001         (WebKit::WebLayerTreeRenderer::notifySyncRequired):
2002         (WebKit::WebLayerTreeRenderer::showDebugBorders):
2003         (WebKit::WebLayerTreeRenderer::showRepaintCounter):
2004         (WebKit::WebLayerTreeRenderer::paintContents):
2005
2006 2012-03-09  Jon Lee  <jonlee@apple.com>
2007
2008         Rename NotificationPresenter to NotificationClient
2009         https://bugs.webkit.org/show_bug.cgi?id=80488
2010         <rdar://problem/10965558>
2011
2012         Reviewed by Kentaro Hara.
2013
2014         Refactor to use renamed WebCore::NotificationClient.
2015         * UIProcess/Notifications/WebNotificationManagerProxy.h:
2016         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
2017         (WebKit::NotificationPermissionRequestManager::startRequest):
2018         (WebKit::NotificationPermissionRequestManager::permissionLevel):
2019         * WebProcess/Notifications/NotificationPermissionRequestManager.h:
2020         (NotificationPermissionRequestManager):
2021         * WebProcess/Notifications/WebNotificationManager.cpp:
2022         (WebKit::WebNotificationManager::policyForOrigin):
2023         * WebProcess/Notifications/WebNotificationManager.h:
2024         (WebNotificationManager):
2025         * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
2026         (WebKit::WebNotificationClient::checkPermission):
2027         * WebProcess/WebCoreSupport/WebNotificationClient.h:
2028         (WebNotificationClient):
2029
2030 2012-03-09  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
2031
2032         [Qt] [WK2] Shouldn't use item for clipping rect calculation in paint node.
2033         https://bugs.webkit.org/show_bug.cgi?id=80714
2034
2035         Reviewed by Noam Rosenthal.
2036
2037         Replace item based clip-rect calculation with clipping-nodes based calculation.
2038         This is required for threaded rendering, since we don't have access to the QSGItems
2039         from the render thread.
2040
2041         * UIProcess/API/qt/qquickwebpage.cpp:
2042         (QQuickWebPage::QQuickWebPage):
2043         (QQuickWebPagePrivate::paintToCurrentGLContext):
2044         (PageProxyNode::render):
2045         (PageProxyNode::clipRect):
2046         (PageProxyNode):
2047         * UIProcess/API/qt/qquickwebpage_p_p.h:
2048         (QQuickWebPagePrivate):
2049         * UIProcess/API/qt/qquickwebview.cpp:
2050         (QQuickWebView::QQuickWebView):
2051
2052 2012-03-09  Enrica Casucci  <enrica@apple.com>
2053
2054         Move WebNSURLExtras code down to WebCore.
2055         https://bugs.webkit.org/show_bug.cgi?id=80611
2056
2057         Reviewed by Alexey Proskuryakov.
2058
2059         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
2060         (InitWebCoreSystemInterface):
2061
2062 2012-03-09  Jeff Miller  <jeffm@apple.com>
2063
2064         Add WKPageEndPrinting() to balance WKPageBeginPrinting()
2065         https://bugs.webkit.org/show_bug.cgi?id=80739
2066
2067         Reviewed by Dan Bernstein.
2068
2069         * UIProcess/API/C/WKPage.cpp:
2070         (WKPageEndPrinting): Added.
2071         
2072         * UIProcess/API/C/WKPagePrivate.h: Added WKPageEndPrinting().
2073
2074 2012-03-09  Emil A Eklund  <eae@chromium.org>
2075
2076         Add roundedPoint to HitTestResult and change platform code to use it
2077         https://bugs.webkit.org/show_bug.cgi?id=80715
2078
2079         Reviewed by James Robinson.
2080
2081         Change ports to use roundedPoint to avoid exposing subpixel types to
2082         platform code.
2083
2084         * WebProcess/WebPage/WebContextMenu.cpp:
2085         (WebKit::WebContextMenu::show):
2086
2087 2012-03-09  Alexey Proskuryakov  <ap@apple.com>
2088
2089         [Mac] Pass sandbox profiles through preprocessor
2090         https://bugs.webkit.org/show_bug.cgi?id=80651
2091
2092         Reviewed by Mark Rowe.
2093
2094         * DerivedSources.make: Preprocess sandbox profiles.
2095
2096         * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb: Removed.
2097         * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.in: Copied from Source/WebKit2/PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.
2098         * WebProcess/com.apple.WebProcess.sb: Removed.
2099         * WebProcess/com.apple.WebProcess.sb.in: Copied from Source/WebKit2/WebProcess/com.apple.WebProcess.sb.
2100         Renamed to avoid make finding the wrong original in default paths.
2101
2102         * WebKit2.xcodeproj/project.pbxproj: Copy preprocessed files to Resources, not originals.
2103         Also, changed DerivedSources target to use BaseTarget.xcconfig to have correct include paths.
2104
2105 2012-03-09  Jon Lee  <jonlee@apple.com>
2106
2107         Add support for ENABLE(LEGACY_NOTIFICATIONS)
2108         https://bugs.webkit.org/show_bug.cgi?id=80497
2109
2110         Reviewed by Adam Barth.
2111
2112         Prep for b80472: Update API for Web Notifications
2113         * Configurations/FeatureDefines.xcconfig:
2114
2115 2012-03-09  Ashod Nakashian  <ashodnakashian@yahoo.com>
2116
2117         Bash scripts should support LF endings only
2118         https://bugs.webkit.org/show_bug.cgi?id=79509
2119
2120         Reviewed by David Kilzer.
2121
2122         * win/build-generated-files.sh: Added properties svn:executable and svn:eol-style.
2123
2124 2012-03-08  Enrica Casucci  <enrica@apple.com>
2125
2126         REGRESSION (r109022): Files dragged onto input controls cannot be read due to sandbox violation.
2127         https://bugs.webkit.org/show_bug.cgi?id=80203
2128         <rdar://problem/10976643>
2129
2130         Reviewed by Alexey Proskuryakov.
2131
2132         This patch reverts a small part fo r109022, leaving access to
2133         NSPasteboard in the WebProcess when retrieving pathnames for
2134         files being dragged. This avoid the sandbox violation until we
2135         implement a mechanism to provide a sandbox extension to the WebProcess.
2136         
2137         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2138         (WebKit::WebPlatformStrategies::getPathnamesForType):
2139
2140 2012-03-09  Sheriff Bot  <webkit.review.bot@gmail.com>
2141
2142         Unreviewed, rolling out r110191, r110202, and r110279.
2143         http://trac.webkit.org/changeset/110191
2144         http://trac.webkit.org/changeset/110202
2145         http://trac.webkit.org/changeset/110279
2146         https://bugs.webkit.org/show_bug.cgi?id=80694
2147
2148         They broke !ENABLE(INSPECTOR) builds (Requested by Ossy on
2149         #webkit).
2150
2151         * win/WebKit2.def:
2152         * win/WebKit2CFLite.def:
2153
2154 2012-03-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2155
2156         [Qt] Use Qt's module system for install rules and depending on QtWebKit
2157
2158         Instead of rolling our own install rules we now use the same approach as
2159         every other Qt module, by loading qt_module.prf and qt_module_config.prf.
2160
2161         This ensures that we follow the same semantics as the rest of Qt on
2162         what sort of config options are enabled by default (create_cmake eg.).
2163         It also allows us to use QT += webkit instead of the workaround we had
2164         with CONFIG += qtwebkit.
2165
2166         We do however force Qt to always treat our build as a non-developer build,
2167         so the libraries will end up in the WebKit lib directory instead of the
2168         qtbase directory (as with a normal developer-build). This allows us to
2169         keep the webkit-build self-contained. If Qt is a developer build we still
2170         copy the module file manually to Qt, so that you don't have to install
2171         WebKit to make it available.
2172
2173         For non-developer builds of Qt, it is still possible to use the built
2174         WebKit libraries without having to install them, by having the variable
2175         QMAKE_EXTRA_MODULE_FORWARDS set in the project's .qmake.cache file,
2176         pointing to $WEBKITOUTUTDIR/$CONFIGURATION/modules.
2177
2178         https://bugs.webkit.org/show_bug.cgi?id=80590
2179
2180         Reviewed by Simon Hausmann.
2181
2182         * UIProcess/API/qt/tests/publicapi/publicapi.pro:
2183         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2184         * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
2185         * UIProcess/API/qt/tests/qmltests/WebView.pro:
2186         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
2187         * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
2188         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2189         * UIProcess/API/qt/tests/tests.pri:
2190         * UIProcess/API/qt/tests/util.cpp:
2191         * WebProcess.pro:
2192
2193 2012-03-08  No'am Rosenthal  <noam.rosenthal@nokia.com>
2194
2195         [Qt][WK2] Allow transparent WebViews
2196         https://bugs.webkit.org/show_bug.cgi?id=80608
2197
2198         Reviewed by Tor Arne Vestbø.
2199
2200         Added support for transparentBackground in QQuickWebViewExperimental.
2201         This uses the existing drawsTransparentBackground property in WebKit2.
2202         Also, changed LayerTreeHostQt to set the contentsOpaque flag when the root layer changes,
2203         otherwise the change doesn't take effect.
2204
2205         A new API test was added.
2206
2207         * UIProcess/API/qt/qquickwebview.cpp:
2208         (QQuickWebViewPrivate::setTransparentBackground):
2209         (QQuickWebViewPrivate::transparentBackground):
2210         (QQuickWebViewExperimental::transparentBackground):
2211         (QQuickWebViewExperimental::setTransparentBackground):
2212         * UIProcess/API/qt/qquickwebview_p.h:
2213         * UIProcess/API/qt/qquickwebview_p_p.h:
2214         (QQuickWebViewPrivate):
2215         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2216         (tst_QQuickWebView):
2217         (tst_QQuickWebView::transparentWebViews):
2218         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2219         (WebKit::LayerTreeHostQt::LayerTreeHostQt):
2220         (WebKit::LayerTreeHostQt::setRootCompositingLayer):
2221
2222 2012-03-08  Gustavo Noronha Silva  <gns@gnome.org>
2223
2224         GTK+ build fix. Only try to get the backing from the layer in when
2225         ACCELERATED_COMPOSITING is enabled.
2226
2227         Rubber-stamped by Ryosuke Niwa.
2228
2229         * WebProcess/FullScreen/WebFullScreenManager.cpp:
2230         (WebKit::screenRectOfContents):
2231
2232 2012-03-08  Ryosuke Niwa  <rniwa@webkit.org>
2233
2234         Mac build fix for micro data API.
2235
2236         * Configurations/FeatureDefines.xcconfig:
2237
2238 2012-03-08  Jer Noble  <jer.noble@apple.com>
2239
2240         Unreviewed Snow Leopard build fix.
2241
2242         On Leopard and Snow Leopard, provide an implementation for -[NSWindow convertRectToScreen:].
2243
2244         * UIProcess/mac/WKFullScreenWindowController.mm:
2245         (-[NSWindow convertRectToScreen:]):
2246
2247 2012-03-08  Jer Noble  <jer.noble@apple.com>
2248
2249         Further unreviewed build fix.
2250
2251         Add in the WebCore namespace, so that IntRect is pulled in.
2252
2253         * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
2254         * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
2255         * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
2256
2257 2012-03-08  Jer Noble  <jer.noble@apple.com>
2258
2259         Unreviewed build fix.
2260         
2261         Add stub implementations of beganEnterFullScreen and beganExitFullScreen
2262         to platform-specific WebFullScreenManagerProxy implementations.
2263
2264         * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
2265         (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
2266         (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
2267         * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
2268         (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
2269         (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
2270         * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
2271         (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
2272         (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
2273
2274 2012-03-08  Jer Noble  <jer.noble@apple.com>
2275
2276         Full Screen Refactor Part 3: Animate into Full Screen mode using new animation classes.
2277         https://bugs.webkit.org/show_bug.cgi?id=78928
2278
2279         Reviewed by Anders Carlsson.
2280
2281         Boilerplate changes to WebKit2 IPC messages and supporting functions.
2282         * UIProcess/WebFullScreenManagerProxy.cpp:
2283         (WebKit::WebFullScreenManagerProxy::setAnimatingFullScreen): Added boilerplate.
2284         * UIProcess/WebFullScreenManagerProxy.h:
2285         * UIProcess/WebFullScreenManagerProxy.messages.in:
2286         * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
2287         (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen): Added boilerplate.
2288         (WebKit::WebFullScreenManagerProxy::beganExitFullScreen): Added boilerplate.
2289         * WebProcess/FullScreen/WebFullScreenManager.cpp:
2290         (WebKit::screenRectOfContents): Added.  Calculates the screen rect of an element's contents.
2291         (WebKit::WebFullScreenManager::enterFullScreenForElement): Use screenRectOfContents()
2292         (WebKit::WebFullScreenManager::willEnterFullScreen): Ditto. Do not set the background color. Call new BeganEnterFullScreen
2293             XPC message.
2294         (WebKit::WebFullScreenManager::didEnterFullScreen): Do not set the background color.
2295         (WebKit::WebFullScreenManager::willExitFullScreen): Use screenRectOfContents. Do not set the background color. Call new
2296             BeganExitFullScreen XPC message.
2297         (WebKit::WebFullScreenManager::didExitFullScreen): Do not set the background color.
2298         (WebKit::WebFullScreenManager::setAnimatingFullScreen): Added boilerplate.
2299         * WebProcess/FullScreen/WebFullScreenManager.h:
2300         * WebProcess/FullScreen/WebFullScreenManager.messages.in:
2301
2302         * UIProcess/mac/WKFullScreenWindowController.h:
2303         * UIProcess/mac/WKFullScreenWindowController.mm:
2304         (-[WKFullScreenWindowController cancelOperation:]): Renamed from _requestExitWithAnimation:.
2305         (-[WKFullScreenWindowController applicationDidResignActive:]): Call cancelOperation: instead
2306             of _requestExitWithAnimation.
2307         (-[WKFullScreenWindowController applicationDidChangeScreenParameters:]): Set the frame of
2308             both the full screen window and the background window.
2309         (-[WKFullScreenWindowController enterFullScreen:]): Save a rendered image of the current
2310             page to use in the placeholder.
2311         (-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]): Renamed from 
2312             beganEnterFullScreenAnimation.
2313         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): No need to swap 
2314             placeholder views here, as they were already swapped in beganEnter...:.
2315         (-[WKFullScreenWindowController exitFullScreen]):
2316         (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]): Renamed from 
2317             beganExitFullScreenAnimation.
2318         (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Swap web view back into place.
2319         (-[WKFullScreenWindowController close]):
2320         (-[WKFullScreenWindowController animationDidEnd:]): Added.
2321         (createBackgroundFullscreenWindow): Added.
2322         (windowFrameFromApparentFrames): Added.
2323         (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): Added.
2324         (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): Added.
2325
2326 2012-03-08  Jer Noble  <jer.noble@apple.com>
2327
2328         Full Screen Refactor Part 2: Remove unnecessary WebKit2 APIs for Full Screen made
2329         https://bugs.webkit.org/show_bug.cgi?id=78926
2330
2331         Reviewed by John Sullivan.
2332
2333         The following functions (and also their Proxy versions) were removed completely:
2334         WebFullScreenManager::enterAcceleratedCompositingMode(const LayerTreeContext&)
2335         WebFullScreenManager::exitAcceleratedCompositingMode()
2336         WebFullScreenManager::beganEnterFullScreenAnimation()
2337         WebFullScreenManager::finishedEnterFullScreenAnimation(bool)
2338         WebFullScreenManager::beganExitFullScreenAnimation()
2339         WebFullScreenManager::finishedExitFullScreenAnimation(bool)
2340         WebFullScreenManager::getFullScreenRect(WebCore::IntRect&)
2341
2342         * UIProcess/WebFullScreenManagerProxy.cpp:
2343         * UIProcess/WebFullScreenManagerProxy.h:
2344         (WebKit::WebFullScreenManagerProxy::beginEnterFullScreenAnimation):
2345         (WebKit::WebFullScreenManagerProxy::beginExitFullScreenAnimation):
2346         (WebKit::WebFullScreenManagerProxy::disposeOfLayerClient):
2347         (WebFullScreenManagerProxy):
2348         * UIProcess/WebFullScreenManagerProxy.messages.in:
2349         * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
2350         * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
2351         * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
2352         * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
2353         (WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation):
2354         * WebKit2.xcodeproj/project.pbxproj:
2355         * WebProcess/FullScreen/WebFullScreenManager.cpp:
2356         (WebKit::WebFullScreenManager::create):
2357         (WebKit::WebFullScreenManager::~WebFullScreenManager):
2358         * WebProcess/FullScreen/WebFullScreenManager.h:
2359         (WebFullScreenManager):
2360         * WebProcess/FullScreen/WebFullScreenManager.messages.in:
2361         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2362         (WebKit::WebChromeClient::exitFullScreenForElement):
2363         * WebProcess/WebCoreSupport/WebChromeClient.h:
2364         (WebChromeClient):
2365
2366         Additionally, the platform-specific WebFullScreenManager subclasses were removed, as no
2367         platform-specific implementations remained after the above functions were removed:
2368         * GNUmakefile.am:
2369         * Target.pri:
2370         * win/WebKit2.vcproj:
2371         * WebProcess/FullScreen/gtk/WebFullScreenManagerGtk.cpp: Removed.
2372         * WebProcess/FullScreen/gtk/WebFullScreenManagerGtk.h: Removed.
2373         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h: Removed.
2374         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm: Removed.
2375         * WebProcess/FullScreen/qt/WebFullScreenManagerQt.cpp: Removed.
2376         * WebProcess/FullScreen/qt/WebFullScreenManagerQt.h: Removed.
2377         * WebProcess/FullScreen/win/WebFullScreenManagerWin.cpp: Removed.
2378         * WebProcess/FullScreen/win/WebFullScreenManagerWin.h: Removed.
2379
2380 2012-03-08  Matt Lilek  <mrl@apple.com>
2381
2382         Don't enable VIDEO_TRACK on all OS X platforms
2383         https://bugs.webkit.org/show_bug.cgi?id=80635
2384
2385         Reviewed by Eric Carlson.
2386
2387         * Configurations/FeatureDefines.xcconfig:
2388
2389 2012-03-08  Max Vujovic  <mvujovic@adobe.com>
2390
2391         Add a method to window.internals to enable testing of inspector highlight rects
2392         https://bugs.webkit.org/show_bug.cgi?id=80338
2393
2394         Reviewed by Pavel Feldman.
2395
2396         * win/WebKit2.def: Export symbols for win.
2397         * win/WebKit2CFLite.def: Same as above.
2398
2399 2012-03-08  Dinu Jacob  <dinu.jacob@nokia.com>
2400
2401         [Qt WK2] Remove duplicate code related to dialog handling in QQuickWebView
2402         https://bugs.webkit.org/show_bug.cgi?id=80557
2403
2404         Reviewed by Simon Hausmann.
2405
2406         Move common code related to running QtDialogRunner into a separate function
2407  
2408         * UIProcess/API/qt/qquickwebview.cpp:
2409         (QQuickWebViewPrivate::runJavaScriptAlert):
2410         (QQuickWebViewPrivate::runJavaScriptConfirm):
2411         (QQuickWebViewPrivate::runJavaScriptPrompt):
2412         (QQuickWebViewPrivate::handleAuthenticationRequiredRequest):
2413         (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest):
2414         (QQuickWebViewPrivate::handleCertificateVerificationRequest):
2415         (QQuickWebViewPrivate::execDialogRunner):
2416         * UIProcess/API/qt/qquickwebview_p_p.h:
2417         (QQuickWebViewPrivate):
2418
2419 2012-03-07  Dinu Jacob  <dinu.jacob@nokia.com>
2420
2421         [Qt] Authentication dialog does not work
2422         https://bugs.webkit.org/show_bug.cgi?id=79738
2423
2424         Reviewed by Simon Hausmann.
2425
2426         QQuickWebView should accept touch events only if there is
2427         no active dialog.
2428
2429         * UIProcess/API/qt/qquickwebview.cpp:
2430         (QQuickWebViewPrivate::QQuickWebViewPrivate):
2431         (QQuickWebViewPrivate::runJavaScriptAlert):
2432         (QQuickWebViewPrivate::runJavaScriptConfirm):
2433         (QQuickWebViewPrivate::runJavaScriptPrompt):
2434         (QQuickWebViewPrivate::handleAuthenticationRequiredRequest):
2435         (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest):
2436         (QQuickWebViewPrivate::handleCertificateVerificationRequest):
2437         (QQuickWebView::touchEvent):
2438         * UIProcess/API/qt/qquickwebview_p_p.h:
2439         (QQuickWebViewPrivate):
2440
2441 2012-03-07  Dan Bernstein  <mitz@apple.com>
2442
2443         <rdar://problem/8494396> WebKit2 lacks API for obtaining a representation of the render tree of a page, like WebRenderNode
2444         https://bugs.webkit.org/show_bug.cgi?id=80230
2445
2446         Reviewed by Beth Dakin.
2447
2448         * CMakeLists.txt:
2449         * GNUmakefile.am:
2450
2451         * Shared/API/c/WKBase.h: Added a type definition of WKRenderObjectRef.
2452
2453         * Shared/API/c/WKRenderObject.cpp: Added.
2454         (WKRenderObjectGetTypeID): Added. Returns the WKRenderObject type ID.
2455         (WKRenderObjectCopyName): Added this getter wrapper.
2456         (WKRenderObjectGetAbsolutePosition): Ditto.
2457         (WKRenderObjectGetFrameRect): Ditto.
2458         (WKRenderObjectGetChildren): Ditto.
2459
2460         * Shared/API/c/WKRenderObject.h: Added.
2461
2462         * Shared/APIObject.h: Added TypeRenderObject to the APIObject::Type enum.
2463         * Shared/UserMessageCoders.h:
2464         (WebKit::UserMessageEncoder::baseEncode): Added WebRenderObject encoding.
2465         (WebKit::UserMessageDecoder::baseDecode): Added WebRenderObject decoding.
2466         * Shared/WebRenderObject.cpp: Added.
2467         (WebKit::WebRenderObject::create): Added. Creates a WebRenderObject for the page’s main
2468         frame content renderer.
2469         (WebKit::WebRenderObject::WebRenderObject): Added. Constructs a WebRenderObject with the
2470         name, metrics and children of the given RenderObject, following the rules used in WebKit1
2471         WebRenderNode. In particular, a RenderWidget representing a frame gets the frame’s content
2472         renderer as a child.
2473
2474         * Shared/WebRenderObject.h: Added.
2475         (WebKit::WebRenderObject::create):
2476         (WebKit::WebRenderObject::children):
2477         (WebKit::WebRenderObject::name):
2478         (WebKit::WebRenderObject::absolutePosition):
2479         (WebKit::WebRenderObject::frameRect):
2480         (WebKit::WebRenderObject::WebRenderObject):
2481
2482         * Target.pri:
2483
2484         * UIProcess/API/C/WKAPICast.h: Added a mapping between WKRenderObjectRef and WebRenderObject.
2485
2486         * WebKit2.xcodeproj/project.pbxproj: Added WebRenderObject.{cpp,h} and WKRenderObject.{cpp.h}.
2487
2488         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
2489         (WKBundlePageCopyRenderTree): Added this bundle API for getting the render tree.
2490
2491         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
2492
2493         * win/WebKit2.vcproj:
2494
2495 2012-03-07  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2496
2497         Pinch zoom acts weirdly on nytimes.com while loading
2498         https://webkit.org/b/80508
2499
2500         Reviewed by Simon Hausmann.
2501
2502         Make sure to suspend the page while doing pinch zooming.
2503         If the page is suspended (which happens while pinch zooming)
2504         then do not send touch events to the page, even if it has
2505         listeners.
2506
2507         * UIProcess/WebPageProxy.cpp:
2508         (WebKit::WebPageProxy::handleTouchEvent):
2509         * UIProcess/qt/QtViewportInteractionEngine.cpp:
2510         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
2511
2512 2012-03-05  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2513
2514         [Qt] QWebNavigationRequest 'action' property should have an enum type instead of int
2515         https://bugs.webkit.org/show_bug.cgi?id=80164
2516
2517         Reviewed by Simon Hausmann.
2518
2519         Use the appropriate enum type instead of int. Make IgnoreRequest have a bigger
2520         value that give some room for us to put Experimental values in the middle. This
2521         way the Experimental values are in a valid range for the original enumeration. To
2522         avoid confusion, the Experimental enumeration was renamed.
2523
2524         * UIProcess/API/qt/qquickwebview_p.h:
2525         * UIProcess/API/qt/qwebnavigationrequest.cpp:
2526         (QWebNavigationRequestPrivate):
2527         (QWebNavigationRequest::setAction):
2528         (QWebNavigationRequest::action):
2529         * UIProcess/API/qt/qwebnavigationrequest_p.h:
2530         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2531
2532 2012-03-07  Andras Becsi  <andras.becsi@nokia.com>
2533
2534         [WK2] Make it possible to build without geolocation support
2535         https://bugs.webkit.org/show_bug.cgi?id=80426
2536
2537         Reviewed by Simon Hausmann.
2538
2539         Add missing guards.
2540
2541         * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
2542         (WebKit::GeolocationPermissionRequestManagerProxy::didReceiveGeolocationPermissionDecision):
2543         * UIProcess/WebPageProxy.cpp:
2544         (WebKit::WebPageProxy::close):
2545         (WebKit::WebPageProxy::processDidCrash):
2546         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
2547         * WebProcess/WebPage/WebPage.cpp:
2548         (WebKit::WebPage::WebPage):
2549         (WebKit):
2550         * WebProcess/WebPage/WebPage.h:
2551         (WebPage):
2552         * WebProcess/WebPage/WebPage.messages.in:
2553
2554 2012-03-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
2555
2556         [CMake] Make the removal of transitive library dependencies work with CMake < 2.8.7.
2557         https://bugs.webkit.org/show_bug.cgi?id=80469
2558
2559         Reviewed by Antonio Gomes.
2560
2561         * CMakeLists.txt: Manually set the LINK_INTERFACE_LIBRARIES target
2562         property on the library being created.
2563
2564 2012-03-06  Hugo Parente Lima  <hugo.lima@openbossa.org>
2565
2566         MiniBrowser --window-size 480x800 www.nytimes.com doesn't paint bottom tiles.
2567         https://bugs.webkit.org/show_bug.cgi?id=80313
2568
2569         Reviewed by Kenneth Rohde Christiansen.
2570
2571         Fix the math to get the visible rectangle and add a method to get it.
2572
2573         * UIProcess/API/qt/qquickwebview.cpp:
2574         (QQuickWebViewPrivate::visibleContentsRect):
2575         (QQuickWebViewFlickablePrivate::_q_commitScaleChange):
2576         (QQuickWebViewPrivate::_q_commitPositionChange):
2577         * UIProcess/API/qt/qquickwebview_p_p.h:
2578         (QQuickWebViewPrivate):
2579
2580 2012-03-05  Joseph Pecoraro  <pecoraro@apple.com>
2581
2582         Web Inspector: Hide dock button when not allowed to dock
2583         https://bugs.webkit.org/show_bug.cgi?id=78575
2584
2585         Reviewed by Pavel Feldman.
2586
2587         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
2588         (WebKit::WebInspectorClient::didResizeMainFrame):
2589         * WebProcess/WebCoreSupport/WebInspectorClient.h:
2590         * WebProcess/WebPage/WebInspector.cpp:
2591         (WebKit::WebInspector::updateDockingAvailability):
2592         * WebProcess/WebPage/WebInspector.h:
2593
2594 2012-03-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2595
2596         [Qt] Interaction Engine suspends content during pageload.
2597         https://bugs.webkit.org/show_bug.cgi?id=80294
2598
2599         Only suspend content when viewport updates are deferred
2600         for a non-instantanious interaction.
2601
2602         Reviewed by Kenneth Rohde Christiansen.
2603
2604         * UIProcess/qt/QtViewportInteractionEngine.cpp:
2605         (WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer):
2606         (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
2607         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
2608         (WebKit::QtViewportInteractionEngine::flickableMoveStarted):
2609         (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
2610         * UIProcess/qt/QtViewportInteractionEngine.h:
2611         (QtViewportInteractionEngine):
2612
2613 2012-03-06  Simon Hausmann  <simon.hausmann@nokia.com>
2614
2615         [Qt] Make QQuickWebView's url property work with a flickable webview
2616
2617         Reviewed by Tor Arne Vestbø.
2618
2619         QQuickWebViewPrivate::onComponentComplete implements the deferred url loading
2620         when the url property is set in the component instantiation. QQuickWebViewFlickablePrivate
2621         is the private sub-class used for a flickable webview, which re-implemented onComponentComplete
2622         but forgot to call the base implementation.
2623
2624         * UIProcess/API/qt/qquickwebview.cpp:
2625         (QQuickWebViewFlickablePrivate::onComponentComplete):
2626
2627 2012-03-06  Carlos Garcia Campos  <cgarcia@igalia.com>
2628
2629         [GTK] Fix several documentation issues in WebKit2 GTK+ API
2630         https://bugs.webkit.org/show_bug.cgi?id=80281
2631
2632         Reviewed by Martin Robinson.
2633
2634         * UIProcess/API/gtk/WebKitFindController.cpp:
2635         * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
2636         (webkit_navigation_policy_decision_class_init):
2637         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
2638         * UIProcess/API/gtk/WebKitWebView.h:
2639
2640 2012-03-06  Carlos Garcia Campos  <cgarcia@igalia.com>
2641
2642         [GTK] Use a single signal for script dialogs in WebKit2 GTK+ API
2643         https://bugs.webkit.org/show_bug.cgi?id=80271
2644
2645         Reviewed by Martin Robinson.
2646
2647         Add a new signal WebKitWebView::script-dialog that passes a
2648         WebKitScriptDialog boxed type that can be used to build the dialog
2649         and set the responses. It simplifies the API and makes it bindings
2650         friendly.
2651
2652         * GNUmakefile.am:
2653         * UIProcess/API/gtk/WebKitScriptDialog.cpp: Added.
2654         (webkitScriptDialogCopy): Copy method for boxed type.
2655         (webkitScriptDialogFree): Free method for boxed type.
2656         (webkit_script_dialog_get_dialog_type): Return the type of dialog:
2657         alert, confirm or prompt.
2658         (webkit_script_dialog_get_message): Return the message of the dialog.
2659         (webkit_script_dialog_confirm_set_confirmed): Set whether user
2660         confirmed the dialog, for confirm dialogs.
2661         (webkit_script_dialog_prompt_get_default_text): Get the default
2662         text of prompt dialogs.
2663         (webkit_script_dialog_prompt_set_text): Set the text entered by
2664         the user, for prompt dialogs.
2665         * UIProcess/API/gtk/WebKitScriptDialog.h: Added.
2666         * UIProcess/API/gtk/WebKitScriptDialogPrivate.h: Added.
2667         * UIProcess/API/gtk/WebKitWebView.cpp:
2668         (webkitWebViewScriptDialog): Default implementation of
2669         WebKitWebView::script-dialog signal.
2670         (webkit_web_view_class_init): Add WebKitWebView::script-dialog and
2671         remove alert, confirm and propmpt.
2672         (webkitWebViewRunJavaScriptAlert): Create a WebKitScriptDialog and
2673         emit WebKitWebView::script-dialog signal.
2674         (webkitWebViewRunJavaScriptConfirm): Ditto.
2675         (webkitWebViewRunJavaScriptPrompt): Ditto.
2676         * UIProcess/API/gtk/WebKitWebView.h:
2677         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new
2678         symbols.
2679         * UIProcess/API/gtk/docs/webkit2gtk.types: Add webkit_script_dialog_get_type().
2680         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
2681         (testWebViewJavaScriptDialogs): Update javascript dialog test to
2682         use the new API.
2683         * UIProcess/API/gtk/webkit2marshal.list:
2684         * UIProcess/API/gtk/webkit2.h:
2685
2686 2012-03-05  Gavin Barraclough  <barraclough@apple.com>
2687
2688         putByIndex should throw in strict mode
2689         https://bugs.webkit.org/show_bug.cgi?id=80335
2690
2691         Reviewed by Filip Pizlo.
2692
2693         Make the MethodTable PutByIndex trap take a boolean 'shouldThrow' parameter.
2694
2695         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
2696         (WebKit::NPJSObject::setProperty):
2697
2698 2012-03-05  Joseph Pecoraro  <pecoraro@apple.com>
2699
2700         Unreviewed rollout of r109858 for restructuring.
2701
2702 2012-03-05  Joseph Pecoraro  <pecoraro@apple.com>
2703
2704         <http://webkit.org/b/78575> Web Inspector: Hide dock button when not allowed to dock
2705
2706         Reviewed by Timothy Hatcher.
2707
2708         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
2709         (WebKit::WebInspectorClient::updateDockingAvailability):
2710         * WebProcess/WebCoreSupport/WebInspectorClient.h:
2711         * WebProcess/WebPage/WebInspector.cpp:
2712         (WebKit::WebInspector::updateDockingAvailability):
2713         * WebProcess/WebPage/WebInspector.h:
2714
2715 2012-03-05  Anders Carlsson  <andersca@apple.com>
2716
2717         pinch-to-zoom and double-tap flicker when using the new scrolling model
2718         https://bugs.webkit.org/show_bug.cgi?id=80368
2719         <rdar://problem/10866221>
2720
2721         Reviewed by Sam Weinig.
2722
2723         Add a way for drawing areas to respond to callback based force repaint requests asynchronously.
2724         This is currently needed for the tiled drawing area when there might be outstanding scroll updates
2725         that are sent from the scrolling thread to the main thread and we need to ensure that they're processed
2726         before sending a message back.
2727
2728         * WebProcess/WebPage/DrawingArea.h:
2729         (WebKit::DrawingArea::forceRepaintAsync):
2730         Add new member function.
2731
2732         * WebProcess/WebPage/WebPage.cpp:
2733         (WebKit::WebPage::forceRepaint):
2734         Try forceRepaintAsync first.
2735
2736         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2737         (WebKit::forceRepaintAndSendMessage):
2738         Force the repaint and send the message.
2739
2740         (WebKit::dispatchBackToMainThread):
2741         Dispatch a call to forceRepaintAndSendMessage to the main thread.
2742
2743         (WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync):
2744         Dispatch a function on the scrolling thread. Its sole purpose is to dispatch a function back to the
2745         main thread, ensuring that all previously dispatched functions have been executed.
2746
2747 2012-03-05  Enrica Casucci  <enrica@apple.com>
2748
2749         Can't type on some websites (plug-ins steal key events).
2750         <rdar://problem/10892291>
2751
2752         When the plugin is disabled, it is necessary to reset _pluginComplexTextInputIdentifier
2753         in order to return the correct input context. Failure to do so results in the inputContext
2754         method to return the plugin input context instead of the context of the browser view.
2755         
2756         Reviewed by Sam Weinig.
2757
2758         * UIProcess/API/mac/WKView.mm:
2759         (-[WKView _setPluginComplexTextInputState:]):
2760         (-[WKView _handlePluginComplexTextInputKeyDown:]):
2761
2762 2012-03-05  Anders Carlsson  <andersca@apple.com>
2763
2764         Be more aggressive about repainting page overlays
2765         https://bugs.webkit.org/show_bug.cgi?id=80336
2766         <rdar://problem/10965943>
2767
2768         Reviewed by Simon Fraser.
2769
2770         Whenever we're flushing layers and we have a page overlay, check if the main frame
2771         has scrolled or if the main frame root content layer needs to be repainted and force the
2772         overlay layer to be repainted if either of those conditions are true.
2773
2774         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2775         (TiledCoreAnimationDrawingArea):
2776         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2777         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
2778         (WebKit::TiledCoreAnimationDrawingArea::shouldRepaintPageOverlayLayer):
2779         (WebKit):
2780
2781 2012-03-05  Sam Weinig  <sam@webkit.org>
2782
2783         Add support for hosting layers in the window server in WebKit2
2784         <rdar://problem/10400246>
2785         https://bugs.webkit.org/show_bug.cgi?id=80310
2786
2787         Reviewed by Anders Carlsson.
2788
2789         This currently only works if you are using TiledCoreAnimation drawing model.
2790
2791         * Platform/mac/LayerHostingContext.h: Renamed from Source/WebKit2/Platform/mac/RemoteLayerClient.h.
2792         * Platform/mac/LayerHostingContext.mm: Renamed from Source/WebKit2/Platform/mac/RemoteLayerClient.mm.
2793         (WebKit::LayerHostingContext::createForPort):
2794         (WebKit::LayerHostingContext::LayerHostingContext):
2795         (WebKit::LayerHostingContext::createForWindowServer):
2796         (WebKit::LayerHostingContext::~LayerHostingContext):
2797         (WebKit::LayerHostingContext::setRootLayer):
2798         (WebKit::LayerHostingContext::rootLayer):
2799         (WebKit::LayerHostingContext::contextID):
2800         (WebKit::LayerHostingContext::invalidate):
2801         Renamed RemoteLayerClient to LayerHostingContext and add ability to use the window server
2802         as the remote context.
2803
2804         * PluginProcess/PluginControllerProxy.cpp:
2805         * PluginProcess/PluginControllerProxy.h:
2806         * PluginProcess/mac/PluginControllerProxyMac.mm:
2807         Update for new names.
2808
2809         * Shared/LayerTreeContext.h:
2810         Add LayerHostingMode enum.
2811
2812         * UIProcess/PageClient.h:
2813         * UIProcess/API/mac/PageClientImpl.h:
2814         * UIProcess/API/mac/PageClientImpl.mm:
2815         (WebKit::PageClientImpl::layerHostingMode):
2816         (WebKit::PageClientImpl::updateAcceleratedCompositingMode):
2817         Add PageClient access points to get the current layer hosting mode,
2818         and a hook to tell the underlying view that the layer hosting context
2819         has changed.
2820
2821         * UIProcess/API/mac/WKViewInternal.h:
2822         * UIProcess/API/mac/WKView.mm:
2823         (-[WKView _updateAcceleratedCompositingMode:WebKit::]):
2824         Implement responding to a new layer hosting context as a simple
2825         exit and re-entrance of compositing.
2826
2827         * UIProcess/DrawingAreaProxy.h:
2828         (WebKit::DrawingAreaProxy::layerHostingModeDidChange):
2829         (WebKit::DrawingAreaProxy::updateAcceleratedCompositingMode):
2830         * UIProcess/DrawingAreaProxy.messages.in:
2831         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
2832         (TiledCoreAnimationDrawingAreaProxy):
2833         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
2834         (WebKit::TiledCoreAnimationDrawingAreaProxy::layerHostingModeDidChange):
2835         (WebKit::TiledCoreAnimationDrawingAreaProxy::updateAcceleratedCompositingMode):
2836         Pipe layer hosting changes around.
2837
2838         * UIProcess/WebPageProxy.h:
2839         (WebKit::WebPageProxy::layerHostingMode):
2840         * UIProcess/WebPageProxy.cpp:
2841         (WebKit::WebPageProxy::WebPageProxy):
2842         (WebKit::WebPageProxy::viewStateDidChange):
2843         Cache the current layer hosting mode so we don't overzealously
2844         tell the WebProcess to reset its context. Re-check layer hosting
2845         mode each time we are added/removed from a window.
2846
2847         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h:
2848         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
2849         Update for new names.
2850
2851         * WebProcess/WebPage/DrawingArea.h:
2852         (WebKit::DrawingArea::setDeviceScaleFactor):
2853         (WebKit::DrawingArea::setLayerHostingMode):
2854         * WebProcess/WebPage/DrawingArea.messages.in:
2855         Pipe layer hosting changes around.
2856
2857         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
2858         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
2859         (WebKit::LayerTreeHostCAMac::~LayerTreeHostCAMac):
2860         (WebKit::LayerTreeHostCAMac::platformInitialize):
2861         (WebKit::LayerTreeHostCAMac::invalidate):
2862         Update for new names.
2863
2864         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2865         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2866         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
2867         (WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode):
2868         Respond to a change in the layer hosting mode by invalidating our old context,
2869         making a new one of the right type, and informing the UIProcess of our new context.
2870
2871         * WebKit2.xcodeproj/project.pbxproj:
2872         Add new files.
2873
2874 2012-03-05  Anders Carlsson  <andersca@apple.com>
2875
2876         Always update the scroll layer position on the main thread when we have an overlay
2877         https://bugs.webkit.org/show_bug.cgi?id=80324
2878
2879         Reviewed by Sam Weinig.
2880
2881         Call setForceMainThreadScrollLayerPositionUpdates when installing and uninstalling page overlays,
2882         so we'll be able to synchronize painting between the tile cache and the page overlays.
2883
2884         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2885         (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
2886         (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
2887
2888 2012-03-05  Timothy Hatcher  <timothy@apple.com>
2889
2890         Change how the Web Inspector Develop menu actions work.
2891
2892         This removes the methods used by Safari's Develop menu. They can now be implemented in Safari.
2893
2894         https://webkit.org/b/80308
2895
2896         Reviewed by John Sullivan.
2897
2898         * UIProcess/API/C/mac/WKInspectorPrivateMac.h: Renamed from Source/WebKit2/UIProcess/API/C/mac/WKInspectorMac.h.
2899         * UIProcess/mac/WebInspectorProxyMac.mm:
2900         (-[WKWebInspectorProxyObjCAdapter inspectorRef]): Added.
2901         * WebKit2.xcodeproj/project.pbxproj: Renamed WKInspectorPrivateMac.h to better reflect its private nature.
2902
2903 2012-03-02  Jon Lee  <jonlee@apple.com>
2904
2905         Add support for notification replaceId in Mac WebKit and WK2
2906         https://bugs.webkit.org/show_bug.cgi?id=80206
2907         <rdar://problem/10965574>
2908
2909         Reviewed by Sam Weinig.
2910
2911         * UIProcess/API/C/WKNotification.cpp: Add WK API.
2912         (WKNotificationCopyReplaceID):
2913         * UIProcess/API/C/WKNotification.h:
2914         * UIProcess/Notifications/WebNotification.cpp:
2915         (WebKit::WebNotification::WebNotification):
2916         * UIProcess/Notifications/WebNotification.h: Add replaceID member.
2917         (WebKit::WebNotification::create):
2918         (WebKit::WebNotification::replaceID):
2919         (WebNotification):
2920         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
2921         (WebKit::WebNotificationManagerProxy::show):
2922         * UIProcess/Notifications/WebNotificationManagerProxy.h:
2923         (WebNotificationManagerProxy):
2924         * UIProcess/WebPageProxy.cpp:
2925         (WebKit::WebPageProxy::showNotification):
2926         * UIProcess/WebPageProxy.h:
2927         (WebPageProxy):
2928         * UIProcess/WebPageProxy.messages.in: Add replaceID to the showNotification message.
2929         * WebProcess/Notifications/WebNotificationManager.cpp:
2930         (WebKit::WebNotificationManager::show):
2931
2932 2012-03-05  Sheriff Bot  <webkit.review.bot@gmail.com>
2933
2934         Unreviewed, rolling out r109748.
2935         http://trac.webkit.org/changeset/109748
2936         https://bugs.webkit.org/show_bug.cgi?id=80296
2937
2938         Made some tests crash, will fix and recommit (Requested by
2939         noamr on #webkit).
2940
2941         * Target.pri:
2942         * UIProcess/API/qt/qquickwebpage.cpp:
2943         (QQuickWebPagePrivate::paintToCurrentGLContext):
2944         (PageProxyNode::PageProxyNode):
2945         (PageProxyNode):
2946         (PageProxyNode::changedStates):
2947         (PageProxyNode::render):
2948         (PageProxyNode::~PageProxyNode):
2949         (QQuickWebPage::updatePaintNode):
2950         (QQuickWebPagePrivate::updateSize):
2951         (QQuickWebPagePrivate::resetPaintNode):
2952         (QQuickWebPagePrivate::~QQuickWebPagePrivate):
2953         * UIProcess/API/qt/qquickwebpage_p_p.h:
2954         (QQuickWebPagePrivate):
2955         * UIProcess/DrawingAreaProxy.h:
2956         (WebKit):
2957         (WebKit::DrawingAreaProxy::layerTreeHostProxy):
2958         (DrawingAreaProxy):
2959         * UIProcess/DrawingAreaProxyImpl.cpp:
2960         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
2961         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
2962         * UIProcess/LayerTreeHostProxy.h:
2963         (LayerTreeHostProxy):
2964         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2965         (WebKit::LayerTreeHostProxy::syncAnimations):
2966         (WebKit::LayerTreeHostProxy::updateViewport):
2967         (WebKit::LayerTreeHostProxy::syncLayerParameters):
2968         (WebKit::LayerTreeHostProxy::flushLayerChanges):
2969         (WebKit::LayerTreeHostProxy::ensureRootLayer):
2970         (WebKit::LayerTreeHostProxy::syncRemoteContent):
2971         (WebKit::LayerTreeHostProxy::dispatchUpdate):
2972         (WebKit):
2973         (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
2974         (WebKit::LayerTreeHostProxy::purgeGLResources):
2975         * UIProcess/qt/QtWebPageSGNode.cpp: Removed.
2976         * UIProcess/qt/QtWebPageSGNode.h: Removed.
2977
2978 2012-03-05  Joone Hur  <joone.hur@collabora.co.uk>
2979
2980         [GTK] zlib link error with --enable-webkit2
2981         https://bugs.webkit.org/show_bug.cgi?id=79877
2982
2983         Reviewed by Martin Robinson.
2984
2985         zlib should be linked properly.
2986
2987         * GNUmakefile.am: Link $(ZLIB_LIBS) with libwebkit2gtk instead of
2988         linking it with WebKitWebProcess.
2989
2990 2012-03-05  Carlos Garcia Campos  <cgarcia@igalia.com>
2991
2992         [WK2] WKPageGetContextMenuFromProposedContextMenuCallback should pass a HitTestResult
2993         https://bugs.webkit.org/show_bug.cgi?id=77208
2994
2995         Reviewed by Anders Carlsson.
2996
2997         A HitTestResultData is now passed to ShowContextMenu WebPageProxy
2998         message instead of the ContextMenuState. ContextMenu client has
2999         been updated to pass the HitTestResult to the
3000         getContextMenuFromProposedMenu callback.
3001
3002         * GNUmakefile.am: Remove ContextMenuState.h.
3003         * Shared/APIClientTraits.h:
3004         * Shared/ContextMenuState.h: Removed.
3005         * Shared/WebHitTestResult.h:
3006         (WebKit::WebHitTestResult::Data::Data): Add constructor that takes
3007         a WebCore::HitTestResult.
3008         * UIProcess/API/C/WKPage.h: Add HitTestResult parameter to
3009         getContextMenuFromProposedMenu callback and deprecate the old
3010         version.
3011         * UIProcess/WebPageContextMenuClient.cpp:
3012         (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
3013         Pass a HitTestResult to getContextMenuFromProposedMenu or use the
3014         deprecated one if client version is an old one.
3015         * UIProcess/WebPageContextMenuClient.h:
3016         * UIProcess/WebPageProxy.cpp:
3017         (WebKit::WebPageProxy::showContextMenu):
3018         (WebKit::WebPageProxy::internalShowContextMenu): Save the
3019         WebHitTestResult::Data to use it for handling context menu actions.
3020         (WebKit::WebPageProxy::contextMenuItemSelected): Use the saved
3021         WebHitTestResult::Data.
3022         * UIProcess/WebPageProxy.h:
3023         * UIProcess/WebPageProxy.messages.in:
3024         * WebKit2.xcodeproj/project.pbxproj: Remove ContextMenuState.h.
3025         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3026         (WebKit::WebChromeClient::mouseDidMoveOverElement): Use the new
3027         WebHitTestResult::Data constructor that takes a WebCore::HitTestResult.
3028         * WebProcess/WebPage/WebContextMenu.cpp:
3029         (WebKit::WebContextMenu::show): Create a WebHitTestResult::Data
3030         instead of a ContextMenuState and pass it to ShowContextMenu message.
3031         * win/WebKit2.vcproj: ContextMenuState.h.
3032
3033 2012-03-05  No'am Rosenthal  <noam.rosenthal@nokia.com>
3034
3035         [Qt] [WK2] Support threaded renderer in WK2
3036         https://bugs.webkit.org/show_bug.cgi?id=76661
3037
3038         Made the appropriate fixes in the UI process code to make rendering thread-safe.
3039         - Separated the scenegraph node code to QtWebPageSGNode. QtWebPageSGNode has direct access
3040           to LayerTreeHostProxy.
3041
3042         - Each function in LayerTreeHostProxy can be either called from the main thread (handling
3043           messages from the web process), or from the renderer thread (handling the GL context).
3044           The render-queue is locked with a mutex, and messages back to the web process are sent
3045           via callOnMainThread.
3046
3047         - LayerTreeHostProxy is now ThreadSafeRefCounted. That is done to make sure that the GL
3048           resources it creates are only freed when the QtWebPageSGNode is deleted, which can be
3049           before or after the owning DrawingAreaProxy is deleted. This ensures that the class is
3050           deleted only after its GL resources are freed, otherwise those resources may leak.
3051
3052         Based on a patch by Viatcheslav Ostapenko.
3053
3054         Reviewed by Kenneth Rohde Christiansen.
3055
3056         * Target.pri: Added new files.
3057         * UIProcess/API/qt/qquickwebpage.cpp: Moved QtWebPageSGNode out.
3058         (QQuickWebPage::updatePaintNode): Call QtWebPageSGNode
3059         (QQuickWebPagePrivate::updateSize): Call QtWebPageSGNode
3060         (QQuickWebPagePrivate::didDeleteSGWebPageNode): Override QtWebPageSGNode::Client
3061         (QQuickWebPagePrivate::~QQuickWebPagePrivate):
3062         * UIProcess/API/qt/qquickwebpage_p_p.h:
3063         (QQuickWebPagePrivate):
3064         * UIProcess/DrawingAreaProxy.h:
3065         (WebKit):
3066         (WebKit::DrawingAreaProxy::layerTreeHostProxy): Made LayerTreeHostProxy ref-counted.
3067         (DrawingAreaProxy):
3068         * UIProcess/DrawingAreaProxyImpl.cpp:
3069         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
3070         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
3071         * UIProcess/LayerTreeHostProxy.h:
3072         (WebKit):
3073         (WebKit::LayerTreeHostProxy::create):
3074         (LayerTreeHostProxy):
3075         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
3076         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
3077         (WebKit):
3078         (MainThreadGuardedInvoker):
3079             A class that allows invoking functions in the main thread, while guarding a ref-
3080             counted object.
3081
3082         (WebKit::MainThreadGuardedInvoker::call):
3083         (WebKit::MainThreadGuardedInvoker::MainThreadGuardedInvoker):
3084         (WebKit::MainThreadGuardedInvoker::invoke):
3085         (WebKit::LayerTreeHostProxy::syncAnimations):
3086         (WebKit::LayerTreeHostProxy::updateViewport):
3087         (WebKit::LayerTreeHostProxy::detachDrawingArea):
3088         (WebKit::LayerTreeHostProxy::syncLayerParameters):
3089         (WebKit::LayerTreeHostProxy::setShouldRenderNextFrame):
3090         (WebKit::LayerTreeHostProxy::flushLayerChanges):
3091         (WebKit::LayerTreeHostProxy::ensureRootLayer):
3092         (WebKit::LayerTreeHostProxy::syncRemoteContent):
3093         (WebKit::LayerTreeHostProxy::dispatchUpdate):
3094         (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
3095         (WebKit::LayerTreeHostProxy::purgeGLResources):
3096         * UIProcess/qt/QtWebPageSGNode.cpp: Added.
3097         * UIProcess/qt/QtWebPageSGNode.h: Added.
3098
3099 2012-03-04  Raphael Kubo da Costa  <kubo@profusion.mobi>
3100
3101         [CMake] Libraries are installed to /usr/lib and not /usr/lib64 on x86_64
3102         https://bugs.webkit.org/show_bug.cgi?id=71507
3103
3104         Reviewed by Antonio Gomes.
3105
3106         * CMakeLists.txt: Use ${LIB_INSTALL_DIR} instead of hardcoding "lib".
3107
3108 2012-03-03  Simon Hausmann  <simon.hausmann@nokia.com>
3109
3110         [Qt] Fix static_libs_as_shared build
3111         https://bugs.webkit.org/show_bug.cgi?id=80214
3112
3113         Reviewed by Tor Arne Vestbø.
3114
3115         Replace (static) link time dependency to WK1 with entrypoint
3116         in the separate WebProcess for activating the QStyle theme if
3117         necessary.
3118
3119         * Target.pri:
3120         * UIProcess/Launcher/ProcessLauncher.h:
3121         * WebProcess/qt/WebProcessMainQt.cpp:
3122         (WebKit::WebProcessMainQt):
3123         * qt/MainQt.cpp:
3124         (WebKit):
3125         (main):
3126
3127 2012-03-03  Hans Wennborg  <hans@chromium.org>
3128
3129         Implement Speech JavaScript API
3130         https://bugs.webkit.org/show_bug.cgi?id=80019
3131
3132         Reviewed by Adam Barth.
3133
3134         Add ENABLE_SCRIPTED_SPEECH.
3135
3136         * Configurations/FeatureDefines.xcconfig:
3137
3138 2012-03-03  No'am Rosenthal  <noam.rosenthal@nokia.com>
3139
3140         [Qt] Use the existing inheritedOpacity/matrix properties of QSGNode
3141         https://bugs.webkit.org/show_bug.cgi?id=79543
3142
3143         Use QSGNode::inheritedOpacity() and QSGNode::matrix().
3144         Also, remove flags from changedStates() that we don't actually touch.
3145         This is covered by existing API tests.
3146
3147         Reviewed by Kenneth Rohde Christiansen.
3148
3149         * UIProcess/API/qt/qquickwebpage.cpp:
3150         (QQuickWebPagePrivate::paintToCurrentGLContext):
3151         (PageProxyNode::changedStates):
3152         (PageProxyNode::render):
3153         * UIProcess/API/qt/qquickwebpage_p_p.h:
3154         (QQuickWebPagePrivate):
3155
3156 2012-03-03  Anders Carlsson  <andersca@apple.com>
3157
3158         Fix build with newer versions of clang.
3159
3160         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
3161         (WebKit::NPN_GetValue):
3162         Cast the switch parameter to unsigned to prevent warnings about case values not being part of the enum type.
3163
3164 2012-03-02  Andy Estes  <aestes@apple.com>
3165
3166         Move nsStringFromWebCoreString out of PageClientImpl
3167         https://bugs.webkit.org/show_bug.cgi?id=80202
3168
3169         Reviewed by Sam Weinig.
3170
3171         nsStringFromWebCoreString() doesn't really belong in PageClientImpl.mm,
3172         and it makes us include PageClientImpl.h in places where we shouldn't.
3173         Move this function into StringUtilities.{h, mm}.
3174
3175         * Platform/mac/StringUtilities.h: Added.
3176         * Platform/mac/StringUtilities.mm: Added.
3177         (WebKit::nsStringFromWebCoreString):
3178         * UIProcess/API/mac/PageClientImpl.h:
3179         * UIProcess/API/mac/PageClientImpl.mm:
3180         * UIProcess/API/mac/WKView.mm:
3181         * UIProcess/mac/WebContextMenuProxyMac.mm:
3182         * UIProcess/mac/WebPageProxyMac.mm:
3183         * UIProcess/mac/WebPopupMenuProxyMac.mm:
3184         * UIProcess/mac/WebPreferencesMac.mm:
3185         * WebKit2.xcodeproj/project.pbxproj:
3186
3187 2012-03-02  Andy Estes  <aestes@apple.com>
3188
3189         Remove com.apple.WebKit.PluginProcess.sb from WebKit2.xcodeproj's Headers build phase
3190         https://bugs.webkit.org/show_bug.cgi?id=80197
3191
3192         Reviewed by Alexey Proskuryakov.
3193
3194         It doesn't belong there, and it makes Xcode consider the project to be
3195         invalid, triggering assertions in some builds of Xcode.
3196
3197         * WebKit2.xcodeproj/project.pbxproj:
3198
3199 2012-03-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3200
3201         [Qt] Fix spelling mistake in header guard
3202
3203         Reviewed by Noam Rosenthal.
3204
3205         * UIProcess/API/qt/qwebviewportinfo_p.h:
3206
3207 2012-03-02  Carlos Garcia Campos  <cgarcia@igalia.com>
3208
3209         [GTK] Invalid check in webkit_web_view_set_zoom_level() when zoom-text-only is enabled
3210         https://bugs.webkit.org/show_bug.cgi?id=80150
3211
3212         Reviewed by Philippe Normand.
3213
3214         * UIProcess/API/gtk/WebKitWebView.cpp:
3215         (webkit_web_view_set_zoom_level): Use
3216         webkit_web_view_get_zoom_level() instead of
3217         WKPageGetPageZoomFactor() to get the current effective zoom level
3218         depending on zoom-text-only setting.
3219
3220 2012-03-02  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3221
3222         Fix build on AppleWebKit after 109548.
3223
3224         * mac/WebKit2.order:
3225
3226 2012-03-02  Simon Hausmann  <simon.hausmann@nokia.com>
3227
3228         [Qt] Fix tests run with WTR not using QStyle theme
3229         https://bugs.webkit.org/show_bug.cgi?id=80147
3230
3231         Reviewed by Csaba Osztrogonác.
3232
3233         Use an environment variable (set by WTR) to select the QStyle theme.
3234         This is a temporary kludge until we rebase the layout tests to use the
3235         QStyle independent "mobile" theme. This also temporarily breaks the
3236         force_static_libs_as_shared build.
3237
3238         * Target.pri:
3239         * WebProcess/qt/WebProcessMainQt.cpp:
3240         (WebKit::WebProcessMainQt):
3241
3242 2012-03-02  Simon Hausmann  <simon.hausmann@nokia.com>
3243
3244         [Qt] Compile WebCore without QtWidgets
3245         https://bugs.webkit.org/show_bug.cgi?id=80141
3246
3247         Reviewed by Tor Arne Vestbø.
3248
3249         * Shared/qt/WebEventFactoryQt.cpp: Removed unnecessary include.
3250         * Target.pri: Require widgets for WK2 for the moment, until bug #79458
3251         is fixed.
3252
3253 2012-03-02  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3254
3255         Suspend/Resume API for pausing timers and animations.
3256         https://bugs.webkit.org/show_bug.cgi?id=76063
3257
3258         Based on the initial work of Zalan Bujtas <zalan.bujtas@nokia.com>,
3259
3260         Adds suspend and resume API for WebKit2 and uses it in Qt to
3261         suspend animations and DOM timers during panning and zoom.
3262
3263         Reviewed by Kenneth Rohde Christiansen.
3264
3265         * UIProcess/API/qt/qquickwebview.cpp:
3266         (QQuickWebViewFlickablePrivate::_q_suspend):
3267         (QQuickWebViewFlickablePrivate::_q_resume):
3268         * UIProcess/WebPageProxy.cpp:
3269         (WebKit::WebPageProxy::WebPageProxy):
3270         (WebKit::WebPageProxy::resumeActiveDOMObjectsAndAnimations):
3271         (WebKit::WebPageProxy::suspendActiveDOMObjectsAndAnimations):
3272         (WebKit::WebPageProxy::processDidCrash):
3273         * UIProcess/WebPageProxy.h:
3274         * WebProcess/WebPage/WebPage.cpp:
3275         (WebKit::WebPage::suspendActiveDOMObjectsAndAnimations):
3276         (WebKit::WebPage::resumeActiveDOMObjectsAndAnimations):
3277         * WebProcess/WebPage/WebPage.h:
3278         * WebProcess/WebPage/WebPage.messages.in:
3279
3280 2012-03-02  Joone Hur  <joone.hur@collabora.co.uk>
3281
3282         Unreviewed. Fix WebKit2 GTK+ build.
3283
3284         * GNUmakefile.am: allow WebKitWebProcess to link with zlib properly.
3285
3286 2012-03-01  Andras Becsi  <andras.becsi@nokia.com>
3287
3288         [Qt][WK2] Make the interaction with the Flickable work on the N9
3289         https://bugs.webkit.org/show_bug.cgi?id=80029
3290
3291         Reviewed by Simon Hausmann.
3292
3293         Because the WebView item accepts all touch events it receives and sends
3294         them to the web process before propagating them to the gesture recognizers,
3295         which is correct behaviour, we can not rely on the touch->mouse conversion
3296         of Qt5 when controlling Flickable. Hence we need to convert the received
3297         touch events to mouse events in the QtFlickProvider.
3298
3299         * UIProcess/qt/QtFlickProvider.cpp:
3300         (QtFlickProvider::handleTouchFlickEvent):
3301         Do the touch to mouse event conversion for the Flickable.
3302         * UIProcess/qt/QtPanGestureRecognizer.cpp:
3303         (WebKit::QtPanGestureRecognizer::recognize):
3304         A touch begin event should cancel the previous pan gesture
3305         and stop the ongoing flick animation.
3306
3307 2012-03-01  Anders Carlsson  <andersca@apple.com>
3308
3309         Assertion failure in pageContainsAnyHorizontalScrollbars() (scrollableArea->isOnActivePage()) when leaving pages with embedded PDFs
3310         https://bugs.webkit.org/show_bug.cgi?id=80044
3311         <rdar://problem/10919940>
3312
3313         Reviewed by Brady Eidson.
3314
3315         Remove the code that would add and remove wheel event handlers since that's not what we want to track.
3316         Instead, dynamically add and remove the view as its scrollbars come and go.
3317
3318         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
3319         (WebKit::BuiltInPDFView::updateScrollbars):
3320         (WebKit::BuiltInPDFView::initialize):
3321         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
3322         (BuiltInPDFView):
3323
3324 2012-03-01  Kangil Han  <kangil.han@samsung.com>
3325
3326         [DRT] Remove all PlainTextController usages in existing tests by adding internal API
3327         https://bugs.webkit.org/show_bug.cgi?id=78570
3328
3329         Reviewed by Hajime Morita.
3330
3331         This patch will remove all PlainTextController usages
3332         in existing DRT tests by adding internal API to WebCore/testing/Internals
3333
3334         * win/WebKit2.def:
3335         * win/WebKit2CFLite.def:
3336
3337 2012-03-01  Nikolas Zimmermann  <nzimmermann@rim.com>
3338
3339         Unreviewed, rolling out r109255.
3340         http://trac.webkit.org/changeset/109255
3341         https://bugs.webkit.org/show_bug.cgi?id=79932
3342
3343         Breaks rounded rects with dashed strokes in SVG
3344
3345         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3346         (InitWebCoreSystemInterface):
3347
3348 2012-03-01  Sergio Villar Senin  <svillar@igalia.com>
3349
3350         [WK2] [GTK] [libsoup] SoupSession should use system CA
3351         https://bugs.webkit.org/show_bug.cgi?id=79657
3352
3353         Reviewed by Martin Robinson.
3354
3355         SoupSession sould use system CA list to validate SSL
3356         certificates. Do not use strict certificate validation though as
3357         we want clients to decide whether or not accept/decline invalid
3358         certificates (API to be added later).
3359
3360         No new tests required as current behaviour does not change at all
3361         as we continue to accept invalid certificates by default.
3362
3363         * WebProcess/gtk/WebProcessMainGtk.cpp:
3364         (WebKit::WebProcessMainGtk):
3365
3366 2012-03-01  Carlos Garcia Campos  <cgarcia@igalia.com>
3367
3368         Unreviewed. Fix WebKit2 GTK+ build.
3369
3370         * UIProcess/API/gtk/WebKitDefines.h:
3371         * UIProcess/API/gtk/WebKitWebView.h:
3372
3373 2012-02-29  Simon Hausmann  <simon.hausmann@nokia.com>
3374
3375         [Qt][WK2] QQuickWebView::event should lookup faster which events QQuickWebPage can handle
3376         https://bugs.webkit.org/show_bug.cgi?id=78047
3377
3378         Reviewed by Kenneth Rohde Christiansen.
3379
3380         Replaced double-dispatch of events with direct forwarding of events from QQuickWebView::*Event to
3381         QtWebPageEventHandler::handle*Event.
3382
3383         * UIProcess/API/qt/qquickwebview.cpp:
3384         (QQuickWebView::keyPressEvent):
3385         (QQuickWebView::keyReleaseEvent):
3386         (QQuickWebView::inputMethodEvent):
3387         (QQuickWebView::focusInEvent):
3388         (QQuickWebView::focusOutEvent):
3389         (QQuickWebView::touchEvent):
3390         (QQuickWebView::mousePressEvent):
3391         (QQuickWebView::mouseMoveEvent):
3392         (QQuickWebView::mouseReleaseEvent):
3393         (QQuickWebView::mouseDoubleClickEvent):
3394         (QQuickWebView::wheelEvent):
3395         (QQuickWebView::hoverEnterEvent):
3396         (QQuickWebView::hoverMoveEvent):
3397         (QQuickWebView::hoverLeaveEvent):
3398         (QQuickWebView::dragMoveEvent):
3399         (QQuickWebView::dragEnterEvent):
3400         (QQuickWebView::dragLeaveEvent):
3401         (QQuickWebView::dropEvent):
3402         (QQuickWebView::event):
3403         * UIProcess/qt/QtWebPageEventHandler.cpp:
3404         (QtWebPageEventHandler::handleMouseMoveEvent):
3405         (QtWebPageEventHandler::handleMousePressEvent):
3406         (QtWebPageEventHandler::handleMouseReleaseEvent):
3407         (QtWebPageEventHandler::handleWheelEvent):
3408         (QtWebPageEventHandler::handleHoverLeaveEvent):
3409         (QtWebPageEventHandler::handleHoverMoveEvent):
3410         (QtWebPageEventHandler::handleDragEnterEvent):
3411         (QtWebPageEventHandler::handleDragLeaveEvent):
3412         (QtWebPageEventHandler::handleDragMoveEvent):
3413         (QtWebPageEventHandler::handleDropEvent):
3414         (QtWebPageEventHandler::handleKeyPressEvent):
3415         (QtWebPageEventHandler::handleKeyReleaseEvent):
3416         (QtWebPageEventHandler::handleFocusInEvent):
3417         (QtWebPageEventHandler::handleFocusOutEvent):
3418         (QtWebPageEventHandler::handleInputMethodEvent):
3419         (QtWebPageEventHandler::handleTouchEvent):
3420         * UIProcess/qt/QtWebPageEventHandler.h:
3421         (QtWebPageEventHandler):
3422
3423 2012-03-01  Csaba Osztrogonác  <ossy@webkit.org>
3424
3425         [Qt][WK2] Unreviewed buildfix after r109277.
3426
3427         * WebProcess/qt/QtBuiltinBundlePage.cpp:
3428         (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
3429
3430 2012-02-29  No'am Rosenthal  <noam.rosenthal@nokia.com>
3431
3432         [Qt][WK2] Get rid of the #ifdef mess in LayerTreeHost[Proxy]
3433         https://bugs.webkit.org/show_bug.cgi?id=79501
3434
3435         Use a new UI_SIDE_COMPOSITING flag instead of the several #ifdef flags we currently use.
3436
3437         Reviewed by Kenneth Rohde Christiansen.
3438
3439         * Shared/WebLayerTreeInfo.cpp:
3440         * Shared/WebLayerTreeInfo.h:
3441         * UIProcess/DrawingAreaProxy.cpp:
3442         (WebKit):
3443         * UIProcess/DrawingAreaProxy.h:
3444         (DrawingAreaProxy):
3445         * UIProcess/DrawingAreaProxyImpl.cpp:
3446         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
3447         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
3448         (WebKit):
3449         * UIProcess/DrawingAreaProxyImpl.h:
3450         (DrawingAreaProxyImpl):
3451         * UIProcess/LayerTreeHostProxy.h:
3452         (LayerTreeHostProxy):
3453         * UIProcess/WebPageProxy.cpp:
3454         (WebKit::WebPageProxy::didReceiveMessage):
3455         * UIProcess/qt/LayerBackingStore.cpp:
3456         * UIProcess/qt/LayerBackingStore.h:
3457         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
3458         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
3459         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
3460         * WebProcess/WebPage/DrawingArea.h:
3461         (DrawingArea):
3462         * WebProcess/WebPage/DrawingAreaImpl.cpp:
3463         (WebKit):
3464         * WebProcess/WebPage/DrawingAreaImpl.h:
3465         (DrawingAreaImpl):
3466         * WebProcess/WebPage/LayerTreeHost.cpp:
3467         (WebKit::LayerTreeHost::create):
3468         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
3469         (WebKit::LayerTreeHostQt::purgeBackingStores):
3470         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
3471         (LayerTreeHostQt):
3472
3473 2012-02-28  Brian Weinstein  <bweinstein@apple.com>
3474
3475         WebKit2: didNewFirstVisuallyNonEmptyLayout should be sent to injected bundle
3476         https://bugs.webkit.org/show_bug.cgi?id=79849
3477         
3478         Tell the injected bundle about didNewFirstVisuallyNonEmptyLayout (we currently
3479         just tell the UI process).
3480
3481         Reviewed by Beth Dakin.
3482
3483         * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add didNewFirstVisuallyNonEmptyLayout to version 1.
3484         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
3485         (WebKit::InjectedBundlePageLoaderClient::didNewFirstVisuallyNonEmptyLayout): Call through to the
3486             client.
3487         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
3488         (InjectedBundlePageLoaderClient):
3489         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3490         (WebKit::WebFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout): Tell the injected
3491             bundle.
3492
3493 2012-02-29  Tim Horton  <timothy_horton@apple.com>
3494
3495         Make use of CG rounded-rect primitives
3496         https://bugs.webkit.org/show_bug.cgi?id=79932
3497         <rdar://problem/9274953>
3498
3499         Reviewed by Simon Fraser.
3500
3501         Add wkCGPathAddRoundedRect.
3502
3503         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3504         (InitWebCoreSystemInterface):
3505
3506 2012-02-29  Andy Estes  <aestes@apple.com>
3507
3508         CFURLDownloadScheduleWithCurrentMessageQueue only exists on Windows
3509         https://bugs.webkit.org/show_bug.cgi?id=79936
3510
3511         Reviewed by Brady Eidson.
3512
3513         CFURLDownloadScheduleWithCurrentMessageQueue only exists on Windows
3514         platforms. Non-Windows platforms that use CFNetwork-based downloads
3515         should omit this call.
3516
3517         * WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
3518         (WebKit::Download::start):
3519
3520 2012-02-29  Rafael Brandao  <rafael.lobo@openbossa.org>
3521
3522         [Qt][WK2] We should not add NetscapeBrowserFuncs.cpp as header
3523         https://bugs.webkit.org/show_bug.cgi?id=79847
3524
3525         Reviewed by Alexey Proskuryakov.
3526
3527         * Target.pri: Fix typo, so we can add ".h" file instead.
3528
3529 2012-02-29  Sam Weinig  <sam@webkit.org>
3530
3531         When invoking Lookup while zoomed in, the highlighted word renders out of line
3532         <rdar://problem/10812527>
3533
3534         Reviewed by Simon Fraser.
3535
3536         * WebProcess/WebPage/mac/WebPageMac.mm:
3537         (WebKit::WebPage::performDictionaryLookupForRange):
3538         Make sure to scale the ascent when determining the origin for the overlay.
3539
3540 2012-02-29  Carlos Garcia Campos  <cgarcia@igalia.com>
3541
3542         [GTK] Use text or page zoom factor in WebKitWebView depending on zoom-text-only
3543         https://bugs.webkit.org/show_bug.cgi?id=75252
3544
3545         Reviewed by Gustavo Noronha Silva.
3546
3547         * UIProcess/API/gtk/WebKitWebView.cpp:
3548         (zoomTextOnlyChanged): Update text/page zoom factor when
3549         zoom-text-only setting changes.
3550         (webkitWebViewSetSettings): Helper function to set the settings
3551         object for the web view, initializing the settings for the page
3552         and connecting to notify::zoom-text-only signal.
3553         (webkitWebViewConstructed): Use webkitWebViewSetSettings().
3554         (webkit_web_view_set_settings): Use webkitWebViewSetSettings() and
3555         disconnect from the notify::zoom-text-only signal of the previous
3556         settings object.
3557         (webkit_web_view_set_zoom_level): Set text/page zoom factor
3558         depending on WebKitSettings:zoom-text-only property.
3559         (webkit_web_view_get_zoom_level): Get text/page zoom factor
3560         depending on WebKitSettings:zoom-text-only property.
3561         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
3562         (testWebViewZoomLevel):
3563
3564 2012-02-29  Carlos Garcia Campos  <cgarcia@igalia.com>
3565
3566         [GTK] Add zoom-text-only setting to WebKit2 GTK+ API
3567         https://bugs.webkit.org/show_bug.cgi?id=75249
3568
3569         Reviewed by Gustavo Noronha Silva.
3570
3571         To set whether zoom level of web view should affect only the text
3572         or all page contents. It's disabled by default.
3573
3574         * UIProcess/API/gtk/WebKitSettings.cpp:
3575         (webKitSettingsSetProperty):
3576         (webKitSettingsGetProperty):
3577         (webkit_settings_class_init): Add WebKitSettings:zoom-text-only
3578         property.
3579         (webkit_settings_set_zoom_text_only): Set
3580         WebKitSettings:zoom-text-only.
3581         (webkit_settings_get_zoom_text_only): Get
3582         WebKitSettings:zoom-text-only.
3583         * UIProcess/API/gtk/WebKitSettings.h:
3584         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new
3585         symbols.
3586         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
3587         (testWebKitSettings):
3588
3589 2012-02-29  Sergio Villar Senin  <svillar@igalia.com>
3590
3591         DidFindString should be emitted even if FindOptionsShowOverlay is not enabled
3592         https://bugs.webkit.org/show_bug.cgi?id=76522
3593
3594         Reviewed by Darin Adler.
3595
3596         DidFindString message should be issued always even if neither
3597         FindOptionsShowOverlay or FindOptionsShowHighlight are
3598         provided. The difference is that if any of those flags are present
3599         the find operation will look for all the appearances of the text
3600         in the web view, otherwise it will just look and report the next
3601         occurrence.
3602
3603         This patch removes the temporary workaround added in r109222 to
3604         the WebKitFindController unit tests.
3605
3606         * UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
3607         * WebProcess/WebPage/FindController.cpp:
3608         (WebKit::FindController::findString):
3609
3610 2012-01-19  Sergio Villar Senin  <svillar@igalia.com>
3611
3612         [GTK] [WK2] Add Find API
3613         https://bugs.webkit.org/show_bug.cgi?id=76070
3614
3615         Reviewed by Martin Robinson.
3616
3617         This patch adds a new public find API for the Gtk+ WK2 port. It
3618         defines a new object called WebKitFindController owned by each
3619         WebKitWebView. Clients will use this new object to search strings
3620         in the WebKitWebView.
3621
3622         Changes include also documentation and unit tests for the new
3623         public API.
3624
3625         * GNUmakefile.am:
3626         * UIProcess/API/gtk/WebKitDefines.h:
3627         * UIProcess/API/gtk/WebKitFindController.cpp: Added.
3628         (didFindString): implementation of the WKPage Find interface.
3629         (didFailToFindString): Ditto.
3630         (didCountStringMatches): Ditto.
3631         (webkit_find_controller_init):
3632         (getWKPageFromWebKitWebView):
3633         (webkitFindControllerConstructed):
3634         (webkitFindControllerGetProperty):
3635         (webkitFindControllerSetProperty):
3636         (webkitFindControllerFinalize):
3637         (webkit_find_controller_class_init):
3638         (webkit_find_controller_get_search_text):
3639         (webkit_find_controller_get_options):
3640         (webkit_find_controller_get_max_match_count):
3641         (webkit_find_controller_get_web_view):
3642         (webKitFindControllerPerform):
3643         (webKitFindControllerSetSearchData):
3644         (webkit_find_controller_search): asynchronously looks for the
3645         search string in the WebKitWebView.
3646         (webkit_find_controller_search_finish): unhighlights text matches.
3647         (webkit_find_controller_search_next):
3648         (webkit_find_controller_search_previous):
3649         (webkit_find_controller_count_matches): asynchronously counts the
3650         number of matches of the search string in the WebKitWebView.
3651         * UIProcess/API/gtk/WebKitFindController.h: Added.
3652         * UIProcess/API/gtk/WebKitPrivate.h:
3653         * UIProcess/API/gtk/WebKitWebView.cpp:
3654         (webkit_web_view_get_find_controller): returns the
3655         WebKitFindController instance owned by the WebKitWebView.
3656         * UIProcess/API/gtk/WebKitWebView.h:
3657         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
3658         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
3659         * UIProcess/API/gtk/docs/webkit2gtk.types:
3660         * UIProcess/API/gtk/tests/GNUmakefile.am:
3661         * UIProcess/API/gtk/tests/TestWebKitFindController.cpp: Added.
3662         (testFindControllerTextFound):
3663         (testFindControllerTextNotFound):
3664         (testFindControllerMatchCount):
3665         (testFindControllerMaxMatchCount):
3666         (testFindControllerNext):
3667         (testFindControllerPrevious):
3668         (testFindControllerCountedMatches):
3669         (testFindControllerOptions):
3670         (testFindControllerInstance):
3671         (testFindControllerGetters):
3672         (testFindControllerHide):
3673         (beforeAll):
3674         (afterAll):
3675         * UIProcess/API/gtk/webkit2.h:
3676
3677 2012-02-28  Simon Fraser  <simon.fraser@apple.com>
3678
3679         Update WebKitSystemInterface.
3680
3681         Reviewed by Sam Weinig.
3682
3683         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3684         (InitWebCoreSystemInterface):
3685
3686 2012-02-28  Hugo Parente Lima  <hugo.lima@openbossa.org>
3687
3688         All mouse events after a right click are ignored when they came from WebkitTestRunner
3689         https://bugs.webkit.org/show_bug.cgi?id=77350
3690
3691         Reviewed by Chang Shu.
3692
3693         Never ignore mouse events when using sync events, even if the context menu is being
3694         show but the Ui did replied the ShowContextMenu event with a ContextMenuHidden.
3695
3696         * WebProcess/WebPage/WebPage.cpp:
3697         (WebKit::WebPage::mouseEventSyncForTesting):
3698
3699 2012-02-28  Alexey Proskuryakov  <ap@apple.com>
3700
3701         More build fix.
3702
3703         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Check for build platform
3704         properly.
3705
3706 2012-02-28  Alexey Proskuryakov  <ap@apple.com>
3707
3708         Build fix.
3709
3710         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue):
3711         Check for build platform properly.
3712
3713 2012-02-28  Enrica Casucci  <enrica@apple.com>
3714
3715         More Pasteboard code cleanup.
3716         https://bugs.webkit.org/show_bug.cgi?id=79816
3717
3718         Removing the last references to NSPasteboard.
3719         
3720         Reviewed by Alexey Proskuryakov.
3721
3722         * WebProcess/WebCoreSupport/WebEditorClient.h:
3723         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
3724         (WebKit::WebEditorClient::setInsertionPasteboard):
3725
3726 2012-02-28  Alexey Proskuryakov  <ap@apple.com>
3727
3728         [Mac] Add an experimental SPI for plug-ins to enter sandbox
3729         https://bugs.webkit.org/show_bug.cgi?id=79709
3730
3731         Reviewed by Anders Carlsson.
3732
3733         * PluginProcess/PluginProcess.h: (WebKit::PluginProcess::pluginPath): Exposed plugin path.
3734
3735         * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb: Added.
3736
3737         * WebKit2.xcodeproj/project.pbxproj: Added new files.
3738
3739         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue): Exposed
3740         a function to access sandboxing functions when available.
3741
3742         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h: Added.
3743         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Added.
3744
3745 2012-02-28  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
3746
3747         [Qt] Allow read/write to the WebView.url property
3748         https://bugs.webkit.org/show_bug.cgi?id=77554
3749
3750         Reviewed by Tor Arne Vestbø.
3751
3752         Change QML API WebView.url to read/write to reflect either the url requested by the user.
3753         Also removed WebView.load(url). Defers setting url (loading page) until onComponentComplete is triggered. 
3754         Fixed c++ and qml tests to reflect the new API.
3755
3756         * Target.pri:
3757         * UIProcess/API/qt/qquickwebview.cpp:
3758         (QQuickWebViewPrivate::QQuickWebViewPrivate):
3759         (QQuickWebViewPrivate::onComponentComplete):
3760         (QQuickWebView::setUrl):
3761         * UIProcess/API/qt/qquickwebview_p_p.h:
3762         (QQuickWebViewPrivate):
3763         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
3764         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml:
3765         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
3766         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
3767         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
3768         * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
3769         * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml:
3770         * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
3771         * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml:
3772         * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
3773         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
3774         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml:
3775         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml:
3776         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
3777         * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml:
3778         * UIProcess/API/qt/tests/qmltests/WebView/tst_origin.qml:
3779         * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
3780         * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml:
3781         * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml:
3782         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
3783         (tst_QQuickWebView::loadEmptyPageViewHidden):
3784         (tst_QQuickWebView::loadNonexistentFileUrl):
3785
3786 2012-02-28  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3787
3788         [Qt] Signal and property cleanup in QQuickWebView
3789         https://bugs.webkit.org/show_bug.cgi?id=78820
3790
3791         Reviewed by Noam Rosenthal.
3792
3793         - Remove parameters from property change notify signals:
3794           titleChanged, urlChanged, iconChanged, loadProgressChanged
3795         - Rename the parameters of linkHovered to prevent shadoing properties of WebView
3796         - Rename navigationStateChanged to navigationHistoryChanged
3797
3798         * UIProcess/API/qt/qquickwebview.cpp:
3799         (QQuickWebViewPrivate::QQuickWebViewPrivate):
3800         (QQuickWebViewPrivate::initialize):
3801         (QQuickWebViewPrivate::_q_onUrlChanged):
3802         (QQuickWebViewPrivate::setIcon):
3803         * UIProcess/API/qt/qquickwebview_p.h:
3804         * UIProcess/API/qt/qquickwebview_p_p.h:
3805         (QQuickWebViewPrivate):
3806         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
3807         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
3808         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
3809         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
3810         (tst_QQuickWebView::loadProgress):
3811         * UIProcess/qt/QtWebPageLoadClient.cpp:
3812         (QtWebPageLoadClient::didCommitLoadForFrame):
3813         (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
3814         (QtWebPageLoadClient::didReceiveTitleForFrame):
3815         (QtWebPageLoadClient::setLoadProgress):
3816         * UIProcess/qt/QtWebPageLoadClient.h:
3817         (QtWebPageLoadClient):
3818
3819 2012-02-28  Mario Sanchez Prada  <msanchez@igalia.com>
3820
3821         [GTK] Add GMainLoop and GMainContext to be handled by GRefPtr
3822         https://bugs.webkit.org/show_bug.cgi?id=79496
3823
3824         Reviewed by Martin Robinson.
3825
3826         Updated places where raw pointers to GMainLoop and GMainContext
3827         were being used, replacing them with GRefPtr-based code.
3828
3829         * Platform/WorkQueue.h:
3830         (WorkQueue):
3831         * Platform/gtk/WorkQueueGtk.cpp:
3832         (WorkQueue::platformInitialize):
3833         (WorkQueue::platformInvalidate):
3834         (WorkQueue::workQueueThreadBody):
3835         (WorkQueue::registerEventSourceHandler):
3836         (WorkQueue::dispatchOnSource):
3837         * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
3838         (WebKit::WebPopupMenuProxyGtk::WebPopupMenuProxyGtk):
3839         (WebKit::WebPopupMenuProxyGtk::showPopupMenu):
3840         (WebKit::WebPopupMenuProxyGtk::shutdownRunLoop):
3841         * UIProcess/gtk/WebPopupMenuProxyGtk.h:
3842         (WebPopupMenuProxyGtk):
3843
3844 2012-02-28  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3845
3846         [Qt] Initialize QtWebContext as much as we can in its constructor.
3847         https://bugs.webkit.org/show_bug.cgi?id=79809
3848
3849         Reviewed by Tor Arne Vestbø.
3850
3851         The icon database wouldn't be initialized on the QtWebContext while in WebKitTestRunner
3852         since it doesn't call the initialize method on it after creating it.
3853         Remove the initialize method, move the download manager and icon database initialization
3854         in the constructor and call initializeContextInjectedBundleClient directly in
3855         defaultContext to prevent overriding WKTR's injected bundle client.
3856
3857         * UIProcess/qt/QtWebContext.cpp:
3858         (WebKit::QtWebContext::QtWebContext):
3859         (WebKit::QtWebContext::defaultContext):
3860         * UIProcess/qt/QtWebContext.h:
3861         (QtWebContext):
3862
3863 2012-02-28  Carlos Garcia Campos  <cgarcia@igalia.com>
3864
3865         [GTK] Inconsistent state of WebKitWebView when replacing content in WebKit2
3866         https://bugs.webkit.org/show_bug.cgi?id=79775
3867
3868         Reviewed by Martin Robinson.
3869
3870         Use an enum instead of a boolean to track the status of a
3871         replace_content() load operation. We need to know when the load of
3872         the replace content actually starts to not ignore valid load
3873         events of a previous ongoing load operation.
3874
3875         * UIProcess/API/gtk/WebKitWebView.cpp:
3876         (webkitWebViewLoadChanged): Transit to new replace content state
3877         when replacing content depending on the load event.
3878         (webkitWebViewLoadFailed): Ignore load failed events when
3879         replacing content.
3880         (webkitWebViewSetEstimatedLoadProgress): Ignore load progress when
3881         replacing content.
3882         (webkit_web_view_replace_content): Set replace content status to
3883         WillReplaceContent.
3884         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
3885         (replaceContentLoadCallback):
3886         (testWebViewReplaceContent):
3887         * UIProcess/API/gtk/tests/WebViewTest.cpp:
3888         (titleChanged):
3889         (WebViewTest::waitUntilTitleChanged): Convenient method to wait
3890         until title changes. Use with replaceConent() since load events
3891         are not emitted when replacing content.
3892         * UIProcess/API/gtk/tests/WebViewTest.h:
3893
3894 2012-02-27  Anders Carlsson  <andersca@apple.com>
3895
3896         Add basic page overlay support to TiledCoreAnimationDrawingArea
3897         https://bugs.webkit.org/show_bug.cgi?id=79716
3898         <rdar://problem/10923079>
3899
3900         Reviewed by Sam Weinig.
3901
3902         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
3903         Make TiledCoreAnimationDrawingArea a GraphicsLayerClient.
3904
3905         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3906         (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
3907         Create the page overlay layer.
3908
3909         (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
3910         Destroy the page overlay layer.
3911
3912         (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
3913         Mark the page overlay layer as needing display.
3914
3915         (WebKit::TiledCoreAnimationDrawingArea::notifyAnimationStarted):
3916         (WebKit::TiledCoreAnimationDrawingArea::notifySyncRequired):
3917         Add empty GraphisLayerClient member function implementations.
3918
3919         (WebKit::TiledCoreAnimationDrawingArea::paintContents):
3920         Ask the page overlay to paint itself.
3921
3922         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
3923         Flush the page overlay layer.
3924         
3925         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
3926         Resize the page overlay layer.
3927
3928         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
3929         If we have a page overlay layer, add it as a sublayer of the root layer.
3930
3931         (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
3932         Create the page overlay layer and add it as a sublayer of the root layer.
3933
3934         (WebKit::TiledCoreAnimationDrawingArea::destroyPageOverlayLayer):
3935         Remove the page overlay layer and destroy it.
3936
3937 2012-02-28  Carlos Garcia Campos  <cgarcia@igalia.com>
3938
3939         [GTK] Remove virtual methods of WebKitDownload signals in WebKit2 GTK+ API
3940         https://bugs.webkit.org/show_bug.cgi?id=79804
3941
3942         Reviewed by Martin Robinson.
3943
3944         That comes from the first patch that followed the approach of the
3945         first LoaderClient implementation. With current implementation
3946         download signals, except decide-destination, don't need to be
3947         true_handled, and they won't have a default handler
3948         implementation. Also the download object is not supposed to be
3949         inheritable, since instances are created privately by the
3950         WebContext, so it's not possible to override the virtual methods
3951         in derived classes.
3952
3953         * UIProcess/API/gtk/WebKitDownload.cpp:
3954         (webkit_download_class_init):
3955         (webkitDownloadNotifyProgress):
3956         (webkitDownloadFailed):
3957         (webkitDownloadFinished):
3958         * UIProcess/API/gtk/WebKitDownload.h:
3959         (_WebKitDownloadClass):
3960         * UIProcess/API/gtk/webkit2marshal.list:
3961
3962 2012-02-28  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
3963
3964         [Qt] Fix build for WK2, do not use enum type if values can be outside the enum
3965         https://bugs.webkit.org/show_bug.cgi?id=79800
3966
3967         Reviewed by Csaba Osztrogonác.
3968
3969         We have two different enums called NavigationRequestAction. If we use one of them
3970         to store the variables, compilers can rightfully warn about comparison with
3971         values from other enums.
3972
3973         We might revisit the strategy of exposing different enumerations in experimental,
3974         but for now, fallback to using int for the 'action' property in
3975         QWebNavigationRequest.
3976
3977         * UIProcess/API/qt/qwebnavigationrequest.cpp:
3978         (QWebNavigationRequestPrivate):
3979         (QWebNavigationRequest::setAction):
3980         (QWebNavigationRequest::action):
3981         * UIProcess/API/qt/qwebnavigationrequest_p.h:
3982         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
3983
3984 2012-02-27  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
3985
3986         [Qt] API changes to QWebNavigationRequest
3987         https://bugs.webkit.org/show_bug.cgi?id=78821
3988
3989         Reviewed by Kenneth Rohde Christiansen.
3990
3991         Changes discussed in API review at Szeged: rename 'button' to 'mouseButton',
3992         rename 'modifiers' to 'keyboardModifiers', remove 'originatingUrl' and
3993         use the enum type for 'action'.
3994
3995         * UIProcess/API/qt/qwebnavigationrequest.cpp:
3996         (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
3997         (QWebNavigationRequestPrivate):
3998         (QWebNavigationRequest::QWebNavigationRequest):
3999         (QWebNavigationRequest::setAction):
4000         (QWebNavigationRequest::mouseButton):
4001         (QWebNavigationRequest::keyboardModifiers):
4002         (QWebNavigationRequest::action):
4003         * UIProcess/API/qt/qwebnavigationrequest_p.h:
4004         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
4005         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
4006         * UIProcess/qt/QtWebPagePolicyClient.cpp:
4007         (QtWebPagePolicyClient::decidePolicyForNavigationAction):
4008         * UIProcess/qt/QtWebPagePolicyClient.h:
4009         (QtWebPagePolicyClient):
4010
4011 2012-02-28  Shinya Kawanaka  <shinyak@chromium.org>
4012
4013         Element should be able to have multiple shadow roots.
4014         https://bugs.webkit.org/show_bug.cgi?id=77931
4015
4016         Reviewed by Hajime Morita.
4017
4018         * win/WebKit2.def:
4019         * win/WebKit2CFLite.def:
4020
4021 2012-02-28  Hugo Parente Lima  <hugo.lima@openbossa.org>
4022
4023         [Qt][WK2] Use movementStarted/Ended signals instead of movingChanged on QtViewportInterationEngine
4024         https://bugs.webkit.org/show_bug.cgi?id=79521
4025
4026         Reviewed by Kenneth Rohde Christiansen.
4027
4028         movingChanged() signal is emitted many times, so the use of movementStarted() and
4029         movementEnded() is a better choice.
4030
4031         * UIProcess/qt/QtFlickProvider.cpp:
4032         (QtFlickProvider::QtFlickProvider):
4033         * UIProcess/qt/QtFlickProvider.h:
4034         (QtFlickProvider):
4035         * UIProcess/qt/QtViewportInteractionEngine.cpp:
4036         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
4037         * UIProcess/qt/QtViewportInteractionEngine.h:
4038         (QtViewportInteractionEngine):
4039
4040 2012-02-27  Shinya Kawanaka  <shinyak@chromium.org>
4041
4042         Element::removeShadowRoot() and setShadowRoot() should be moved into ShadowTree.
4043         https://bugs.webkit.org/show_bug.cgi?id=78313
4044
4045         Reviewed by Hajime Morita.
4046
4047         * win/WebKit2.def:
4048         * win/WebKit2CFLite.def:
4049
4050 2012-02-27  Brady Eidson  <beidson@apple.com>
4051
4052         <rdar://problem/10924993> and https://bugs.webkit.org/show_bug.cgi?id=79725
4053         <a ping> doesn't work in WebKit2
4054
4055         Reviewed by Alexey Proskuryakov.
4056
4057         * WebProcess/WebPage/WebPage.cpp:
4058         (WebKit::WebPage::updatePreferences): Push the WK2 <a ping> setting to WebCore::Settings.
4059
4060 2012-02-27  Enrica Casucci  <enrica@apple.com>
4061
4062         WebKit2: implement platform strategy to access Pasteboard in the UI process.
4063         https://bugs.webkit.org/show_bug.cgi?id=79253
4064         <rdar://problem/9971876>
4065
4066         Reviewed by Alexey Proskuryakov.
4067
4068         * UIProcess/WebContext.h:
4069         * UIProcess/WebContext.messages.in: Added messages to access NSPasteboard
4070         in the UI process.
4071         * UIProcess/mac/WebContextMac.mm: Added methods corresponding to the
4072         new messages.
4073         (WebKit::WebContext::getPasteboardTypes):
4074         (WebKit::WebContext::getPasteboardPathnamesForType):
4075         (WebKit::WebContext::getPasteboardStringForType):
4076         (WebKit::WebContext::getPasteboardBufferForType):
4077         (WebKit::WebContext::pasteboardCopy):
4078         (WebKit::WebContext::getPasteboardChangeCount):
4079         (WebKit::WebContext::getPasteboardUniqueName):
4080         (WebKit::WebContext::getPasteboardColor):
4081         (WebKit::WebContext::setPasteboardTypes):
4082         (WebKit::WebContext::setPasteboardPathnamesForType):
4083         (WebKit::WebContext::setPasteboardStringForType):
4084         (WebKit::WebContext::setPasteboardBufferForType):
4085         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: New implementation of the PasteboardStrategy using message exchange
4086         with the UI process.
4087         (WebKit::WebPlatformStrategies::getTypes):
4088         (WebKit::WebPlatformStrategies::bufferForType):
4089         (WebKit::WebPlatformStrategies::getPathnamesForType):
4090         (WebKit::WebPlatformStrategies::stringForType):
4091         (WebKit::WebPlatformStrategies::copy):
4092         (WebKit::WebPlatformStrategies::changeCount):
4093         (WebKit::WebPlatformStrategies::uniqueName):
4094         (WebKit::WebPlatformStrategies::color):
4095         (WebKit::WebPlatformStrategies::setTypes):
4096         (WebKit::WebPlatformStrategies::setBufferForType):
4097         (WebKit::WebPlatformStrategies::setPathnamesForType):
4098         (WebKit::WebPlatformStrategies::setStringForType):
4099
4100 2012-02-27  Dan Bernstein  <mitz@apple.com>
4101
4102         <rdar://problem/9557598> REGRESSION (WebKit2): Non-activating links sometimes don’t work
4103         https://bugs.webkit.org/show_bug.cgi?id=79607
4104<