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