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