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