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