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