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