42029175c72065edd923b863933688707bc03843
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2012-02-27  Timothy Hatcher  <timothy@apple.com>
2
3         Add WKInspector API to know when the Web Inspector is the frontmost window.
4
5         Also makes the Safari Develop menu items work when the Web Inspector is frontmost.
6
7         https://webkit.org/b/79649
8
9         Reviewed by John Sullivan.
10
11         * UIProcess/API/C/WKInspector.cpp:
12         (WKInspectorIsFront): Added. Call WebInspectorProxy::isFront.
13         * UIProcess/API/C/WKInspector.h:
14         * UIProcess/WebInspectorProxy.cpp:
15         (WebKit::WebInspectorProxy::isFront): Added. Call platformIsFront.
16         * UIProcess/WebInspectorProxy.h:
17         * UIProcess/efl/WebInspectorEfl.cpp:
18         (WebKit::WebInspectorProxy::platformIsFront): Added stub.
19         * UIProcess/gtk/WebInspectorGtk.cpp:
20         (WebKit::WebInspectorProxy::platformIsFront): Added stub.
21         * UIProcess/mac/WebInspectorProxyMac.mm:
22         (-[WKWebInspectorProxyObjCAdapter showWebInspector:]): Added. Makes the Develop menu items in Safari work when
23         the Web Inspector window is front.
24         (-[WKWebInspectorProxyObjCAdapter showErrorConsole:]): Added. Ditto.
25         (-[WKWebInspectorProxyObjCAdapter showResources:]): Added. Ditto.
26         (-[WKWebInspectorProxyObjCAdapter viewSource:]): Added. Ditto.
27         (-[WKWebInspectorProxyObjCAdapter toggleDebuggingJavaScript:]): Added. Ditto.
28         (-[WKWebInspectorProxyObjCAdapter toggleProfilingJavaScript:]): Added. Ditto.
29         (-[WKWebInspectorProxyObjCAdapter validateUserInterfaceItem:]): Added. Update the menu item titles.
30         (WebKit::WebInspectorProxy::platformIsFront): Added. Return if visible and the window is main.
31         * UIProcess/qt/WebInspectorProxyQt.cpp:
32         (WebKit::WebInspectorProxy::platformIsFront): Added stub.
33         * UIProcess/win/WebInspectorProxyWin.cpp:
34         (WebKit::WebInspectorProxy::platformIsFront): Added stub.
35
36 2012-02-26  YoungTaeck Song  <youngtaeck.song@samsung.com>
37
38         [EFL][WK2] Add InjectedBundleEfl.cpp
39         https://bugs.webkit.org/show_bug.cgi?id=75463
40
41         Reviewed by Andreas Kling.
42
43         Add first version of InjectedBundleEfl.cpp including load() and placeholder for activateMacFontAscentHack().
44
45         * WebProcess/InjectedBundle/InjectedBundle.h:
46         * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp:
47         (WebKit::InjectedBundle::load):
48         (WebKit::InjectedBundle::activateMacFontAscentHack):
49
50 2012-02-26  Shinya Kawanaka  <shinyak@chromium.org>
51
52         Rename ShadowRootList to ShadowTree.
53         https://bugs.webkit.org/show_bug.cgi?id=79342
54
55         Reviewed by Hajime Morita.
56
57         * win/WebKit2.def:
58         * win/WebKit2CFLite.def:
59
60 2012-02-26  Hajime Morrita  <morrita@chromium.org>
61
62         Move ChromeClient::showContextMenu() to ContextMenuClient
63         https://bugs.webkit.org/show_bug.cgi?id=79427
64
65         Reviewed by Adam Barth.
66
67         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
68         * WebProcess/WebCoreSupport/WebChromeClient.h:
69         (WebChromeClient):
70         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
71         (WebKit):
72         (WebKit::WebContextMenuClient::showContextMenu): Moved from WebChromeClient
73         * WebProcess/WebCoreSupport/WebContextMenuClient.h:
74         (WebContextMenuClient):
75         * WebProcess/WebPage/WebPage.cpp:
76         (WebKit::handleContextMenuEvent):
77         (WebKit::handleMouseEvent):
78         (WebKit::WebPage::mouseEvent):
79         (WebKit::WebPage::mouseEventSyncForTesting):
80
81 2012-02-26  Huang Dongsung  <luxtella@company100.net>
82
83         Use Functional instead of a MessageQueue for messages to the LayerTreeHostProxy
84         renderer.
85         https://bugs.webkit.org/show_bug.cgi?id=79478
86
87         This makes a lot of the broilerplate code for message-passing unnecessary, and
88         results in a much more succinct implementation.
89
90         Reviewed by Noam Rosenthal.
91
92         * UIProcess/LayerTreeHostProxy.h:
93         (WebKit):
94         (LayerTreeHostProxy):
95         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
96         (WebKit):
97         (WebKit::LayerTreeHostProxy::updateTile):
98         (WebKit::LayerTreeHostProxy::createImage):
99         (WebKit::LayerTreeHostProxy::syncRemoteContent):
100         (WebKit::LayerTreeHostProxy::dispatchUpdate):
101         (WebKit::LayerTreeHostProxy::createTileForLayer):
102         (WebKit::LayerTreeHostProxy::updateTileForLayer):
103         (WebKit::LayerTreeHostProxy::removeTileForLayer):
104         (WebKit::LayerTreeHostProxy::deleteCompositingLayer):
105         (WebKit::LayerTreeHostProxy::setRootCompositingLayer):
106         (WebKit::LayerTreeHostProxy::syncCompositingLayerState):
107         (WebKit::LayerTreeHostProxy::didRenderFrame):
108         (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
109         (WebKit::LayerTreeHostProxy::destroyDirectlyCompositedImage):
110
111 2012-02-26  Filip Pizlo  <fpizlo@apple.com>
112
113         Build fix for SL.
114
115         * Platform/mac/RemoteLayerClient.mm:
116         (WebKit::RemoteLayerClient::RemoteLayerClient):
117
118 2012-02-26  Sam Weinig  <sam@webkit.org>
119
120         Encapsulate uses of WKSI to setup a remote layer into a new RemoteLayerClient class
121         https://bugs.webkit.org/show_bug.cgi?id=79612
122
123         Reviewed by Anders Carlsson.
124
125         * Platform/mac/RemoteLayerClient.h: 
126         * Platform/mac/RemoteLayerClient.mm: 
127         (WebKit::RemoteLayerClient::create):
128         (WebKit::RemoteLayerClient::RemoteLayerClient):
129         (WebKit::RemoteLayerClient::~RemoteLayerClient):
130         (WebKit::RemoteLayerClient::clientID):
131         (WebKit::RemoteLayerClient::invalidate):
132         New class that encapsulates calls to WKSI WKCARemoteLayerClient*. For platforms
133         where the use of WKSI is not necessary, due to CARemoteLayerClient being available,
134         stop using WKSI.
135
136         * PluginProcess/PluginControllerProxy.cpp:
137         * PluginProcess/PluginControllerProxy.h:
138         * PluginProcess/mac/PluginControllerProxyMac.mm:
139         (WebKit::PluginControllerProxy::platformInitialize):
140         (WebKit::PluginControllerProxy::platformDestroy):
141         (WebKit::PluginControllerProxy::remoteLayerClientID):
142         (WebKit::PluginControllerProxy::platformGeometryDidChange):
143         * WebKit2.xcodeproj/project.pbxproj:
144         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h:
145         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
146         (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer):
147         (WebKit::WebFullScreenManagerMac::disposeOfLayerClient):
148         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
149         (LayerTreeHostCAMac):
150         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
151         (WebKit::LayerTreeHostCAMac::platformInitialize):
152         (WebKit::LayerTreeHostCAMac::invalidate):
153         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
154         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
155         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
156         Switch to using RemoteLayerClient.
157
158         * UIProcess/mac/WebContextMac.mm:
159         (WebKit::WebContext::platformInitializeWebProcess):
160         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
161         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
162         Use CARemoteLayerServer directly if available.
163
164 2012-02-25  Anders Carlsson  <andersca@apple.com>
165
166         Address review feedback from Andreas Kling.
167
168         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
169         (WebKit::NetscapePlugin::platformHandleMouseEvent):
170
171 2012-02-25  Anders Carlsson  <andersca@apple.com>
172
173         Mouse tracking incorrect in Silverlight when using multi monitor with offset arrangement
174         https://bugs.webkit.org/show_bug.cgi?id=79589
175         <rdar://problem/9719592>
176
177         Reviewed by Sam Weinig.
178
179         In the Carbon event model, mouse event coordinates are flipped relative to the first screen,
180         whereas the coordinates we get from the WebMouseEvent are flipped relative to the screen where
181         the containing WKView is on.
182
183         Instead of passing the global coordinates to NPP_HandleEvent, convert them to the flipped screen coordinate
184         system that the plug-in expects.
185
186         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
187         (WebKit::NetscapePlugin::platformHandleMouseEvent):
188
189 2012-02-25  Sheriff Bot  <webkit.review.bot@gmail.com>
190
191         Unreviewed, rolling out r108900.
192         http://trac.webkit.org/changeset/108900
193         https://bugs.webkit.org/show_bug.cgi?id=79587
194
195         broke some API tests, will investigate and re-commit
196         (Requested by noamr on #webkit).
197
198         * UIProcess/API/qt/qquickwebpage.cpp:
199         (computeEffectiveOpacity):
200         (QQuickWebPagePrivate::paintToCurrentGLContext):
201         (PageProxyNode::changedStates):
202         (PageProxyNode::render):
203         * UIProcess/API/qt/qquickwebpage_p_p.h:
204         (QQuickWebPagePrivate):
205
206 2012-02-25  No'am Rosenthal  <noam.rosenthal@nokia.com>
207
208         [Qt] Use the existing inheritedOpacity/matrix properties of QSGNode
209         https://bugs.webkit.org/show_bug.cgi?id=79543
210
211         Use QSGNode::inheritedOpacity() and QSGNode::matrix().
212         Also, remove flags from changedStates() that we don't actually touch.
213
214         Reviewed by Kenneth Rohde Christiansen.
215
216         * UIProcess/API/qt/qquickwebpage.cpp:
217         (QQuickWebPagePrivate::paintToCurrentGLContext):
218         (PageProxyNode::changedStates):
219         (PageProxyNode::render):
220         * UIProcess/API/qt/qquickwebpage_p_p.h:
221         (QQuickWebPagePrivate):
222
223 2012-02-25  Sheriff Bot  <webkit.review.bot@gmail.com>
224
225         Unreviewed, rolling out r108816.
226         http://trac.webkit.org/changeset/108816
227         https://bugs.webkit.org/show_bug.cgi?id=79562
228
229         It made many tests crash and timeout on Qt-WK2 (Requested by
230         ossy__ on #webkit).
231
232         * UIProcess/API/qt/qquickwebview.cpp:
233         (QQuickWebViewPrivate::QQuickWebViewPrivate):
234         (QQuickWebViewPrivate::initialize):
235         (QQuickWebViewPrivate::setIcon):
236         * UIProcess/API/qt/qquickwebview_p.h:
237         * UIProcess/API/qt/qquickwebview_p_p.h:
238         (QQuickWebViewPrivate):
239         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
240         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
241         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
242         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
243         (tst_QQuickWebView::loadProgress):
244         * UIProcess/qt/QtWebPageLoadClient.cpp:
245         (QtWebPageLoadClient::didCommitLoadForFrame):
246         (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
247         (QtWebPageLoadClient::didReceiveTitleForFrame):
248         (QtWebPageLoadClient::setLoadProgress):
249         * UIProcess/qt/QtWebPageLoadClient.h:
250         (QtWebPageLoadClient):
251
252 2012-02-24  Andy Estes  <aestes@apple.com>
253
254         REGRESSION (r108730): Webkit nightlies fails to start due to WKPreferencesGetSuppressIncrementalRendering renaming
255         https://bugs.webkit.org/show_bug.cgi?id=79515
256
257         Reviewed by Alexey Proskuryakov.
258
259         Some versions of Safari contain call sites to two functions in WebKit2
260         that were removed in r108730. Restore these two functions so that these
261         versions of Safari can be used with WebKit nightly builds.
262
263         * UIProcess/API/C/WKPreferences.cpp:
264         (WKPreferencesSetSuppressIncrementalRendering):
265         (WKPreferencesGetSuppressIncrementalRendering):
266         * UIProcess/API/C/WKPreferences.h:
267
268 2012-02-24  Jessie Berlin  <jberlin@apple.com>
269
270         requestPermission callback not invoked if the WebProcess doesn't have to ask the UI Process
271         about the permission level.
272         https://bugs.webkit.org/show_bug.cgi?id=79494
273
274         Reviewed by Jon Honeycutt.
275
276         Invoke the callback in the case where the permission level is known and no message is sent
277         to the UI Process.
278
279         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
280         (WebKit::NotificationPermissionRequestManager::startRequest):
281
282 2012-02-24  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
283
284         [Qt] Signal and property cleanup in QQuickWebView
285         https://bugs.webkit.org/show_bug.cgi?id=78820
286
287         Reviewed by Simon Hausmann.
288
289         - Remove parameters from property change notify signals:
290           titleChanged, urlChanged, iconChanged, loadProgressChanged
291         - Rename the parameters of linkHovered to prevent shadoing properties of WebView
292         - Rename navigationStateChanged to navigationHistoryChanged
293
294         * UIProcess/API/qt/qquickwebview.cpp:
295         (QQuickWebViewPrivate::QQuickWebViewPrivate):
296         (QQuickWebViewPrivate::initialize):
297         (QQuickWebViewPrivate::_q_onUrlChanged):
298         (QQuickWebViewPrivate::setIcon):
299         * UIProcess/API/qt/qquickwebview_p.h:
300         * UIProcess/API/qt/qquickwebview_p_p.h:
301         (QQuickWebViewPrivate):
302         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
303         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
304         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
305         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
306         (tst_QQuickWebView::loadProgress):
307         * UIProcess/qt/QtWebPageLoadClient.cpp:
308         (QtWebPageLoadClient::didCommitLoadForFrame):
309         (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
310         (QtWebPageLoadClient::didReceiveTitleForFrame):
311         (QtWebPageLoadClient::setLoadProgress):
312         * UIProcess/qt/QtWebPageLoadClient.h:
313         (QtWebPageLoadClient):
314
315 2012-02-24  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
316
317         [Qt] API: Unify the loading properties and signals.
318         https://bugs.webkit.org/show_bug.cgi?id=79486
319
320         Reviewed by Simon Hausmann.
321
322         - Remove the canReload signal, instead assume that calling reload in those cases
323           won't have any effect.
324         - Replace loadStarted, loadSucceeded and loadFailed by a single signal: loadingChanged.
325           The signal carries an argument with a status and error codes giving the intended context.
326         - Use loadingChanged as the notification signal for the property "loading" instead of
327           navigationStateChanged.
328
329         Also update all API tests to use the new loading signals and add some utility functions
330         to track the loading since the new API aims to be more adapted to declarative logic
331         and the auto tests are using an imperative logic.
332
333         * Target.pri:
334         * UIProcess/API/qt/qquickwebview.cpp:
335         (QQuickWebViewPrivate::QQuickWebViewPrivate):
336         (QQuickWebViewPrivate::loadDidSucceed):
337         (QQuickWebViewPrivate::didChangeLoadingState):
338         (QQuickWebViewPrivate::processDidCrash):
339         (QQuickWebViewPrivate::didRelaunchProcess):
340         * UIProcess/API/qt/qquickwebview_p.h:
341         * UIProcess/API/qt/qquickwebview_p_p.h:
342         (QQuickWebViewPrivate):
343         * UIProcess/API/qt/qwebloadrequest.cpp: Added.
344         (QWebLoadRequestPrivate):
345         (QWebLoadRequestPrivate::QWebLoadRequestPrivate):
346         (QWebLoadRequest::QWebLoadRequest):
347         (QWebLoadRequest::~QWebLoadRequest):
348         (QWebLoadRequest::url):
349         (QWebLoadRequest::status):
350         (QWebLoadRequest::errorString):
351         (QWebLoadRequest::errorDomain):
352         (QWebLoadRequest::errorCode):
353         * UIProcess/API/qt/qwebloadrequest_p.h: Added.
354         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
355         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml:
356         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
357         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
358         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
359         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
360         * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
361         * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
362         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
363         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadHtml.qml:
364         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml:
365         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml:
366         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
367         * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml:
368         * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
369         * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml:
370         * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml:
371         * UIProcess/API/qt/tests/qmltests/common/TestWebView.qml: Added.
372         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
373         (tst_QQuickWebView::navigationStatusAtStartup):
374         (LoadStartedCatcher::LoadStartedCatcher):
375         (LoadStartedCatcher::onLoadingChanged):
376         (tst_QQuickWebView::stopEnabledAfterLoadStarted):
377         (tst_QQuickWebView::loadEmptyPageViewHidden):
378         (tst_QQuickWebView::loadNonexistentFileUrl):
379         (tst_QQuickWebView::backAndForward):
380         (tst_QQuickWebView::reload):
381         (tst_QQuickWebView::stop):
382         (tst_QQuickWebView::loadProgress):
383         (tst_QQuickWebView::showWebView):
384         (tst_QQuickWebView::multipleWebViewWindows):
385         (tst_QQuickWebView::multipleWebViews):
386         (tst_QQuickWebView::scrollRequest):
387         * UIProcess/API/qt/tests/util.cpp:
388         (LoadSpy):
389         (LoadSpy::LoadSpy):
390         (LoadSpy::onLoadingChanged):
391         (waitForLoadSucceeded):
392         (waitForLoadFailed):
393         * UIProcess/API/qt/tests/util.h:
394         * UIProcess/qt/QtWebError.h:
395         * UIProcess/qt/QtWebPageLoadClient.cpp:
396         (QtWebPageLoadClient::didStartProvisionalLoadForFrame):
397         (QtWebPageLoadClient::dispatchLoadFailed):
398         * UIProcess/qt/QtWebPageLoadClient.h:
399         (QtWebPageLoadClient):
400
401 2012-02-24  Simon Hausmann  <simon.hausmann@nokia.com>
402
403         Unreviewed, rolling out r108798.
404         http://trac.webkit.org/changeset/108798
405         https://bugs.webkit.org/show_bug.cgi?id=78047
406
407         Broke too many Qt WK2 tests.
408
409         * UIProcess/API/qt/qquickwebview.cpp:
410         (QQuickWebView::keyPressEvent):
411         (QQuickWebView::keyReleaseEvent):
412         (QQuickWebView::inputMethodEvent):
413         (QQuickWebView::focusInEvent):
414         (QQuickWebView::focusOutEvent):
415         (QQuickWebView::touchEvent):
416         (QQuickWebView::mousePressEvent):
417         (QQuickWebView::mouseMoveEvent):
418         (QQuickWebView::mouseReleaseEvent):
419         (QQuickWebView::mouseDoubleClickEvent):
420         (QQuickWebView::wheelEvent):
421         (QQuickWebView::hoverEnterEvent):
422         (QQuickWebView::hoverMoveEvent):
423         (QQuickWebView::hoverLeaveEvent):
424         (QQuickWebView::dragMoveEvent):
425         (QQuickWebView::dragEnterEvent):
426         (QQuickWebView::dragLeaveEvent):
427         (QQuickWebView::dropEvent):
428         (QQuickWebView::event):
429         * UIProcess/qt/QtWebPageEventHandler.cpp:
430         (QtWebPageEventHandler::handleEvent):
431         (QtWebPageEventHandler::handleMouseMoveEvent):
432         (QtWebPageEventHandler::handleMousePressEvent):
433         (QtWebPageEventHandler::handleMouseReleaseEvent):
434         (QtWebPageEventHandler::handleWheelEvent):
435         (QtWebPageEventHandler::handleHoverLeaveEvent):
436         (QtWebPageEventHandler::handleHoverMoveEvent):
437         (QtWebPageEventHandler::handleDragEnterEvent):
438         (QtWebPageEventHandler::handleDragLeaveEvent):
439         (QtWebPageEventHandler::handleDragMoveEvent):
440         (QtWebPageEventHandler::handleDropEvent):
441         (QtWebPageEventHandler::handleKeyPressEvent):
442         (QtWebPageEventHandler::handleKeyReleaseEvent):
443         (QtWebPageEventHandler::handleFocusInEvent):
444         (QtWebPageEventHandler::handleFocusOutEvent):
445         (QtWebPageEventHandler::inputMethodEvent):
446         (QtWebPageEventHandler::touchEvent):
447         * UIProcess/qt/QtWebPageEventHandler.h:
448         (QtWebPageEventHandler):
449
450 2012-02-24  Simon Hausmann  <simon.hausmann@nokia.com>
451
452         [Qt][WK2] QQuickWebView::event should lookup faster which events QQuickWebPage can handle
453         https://bugs.webkit.org/show_bug.cgi?id=78047
454
455         Reviewed by Kenneth Rohde Christiansen.
456
457         Replaced double-dispatch of events with direct forwarding of events from QQuickWebView::*Event to
458         QtWebPageEventHandler::handle*Event.
459
460         * UIProcess/API/qt/qquickwebview.cpp:
461         (QQuickWebView::keyPressEvent):
462         (QQuickWebView::keyReleaseEvent):
463         (QQuickWebView::inputMethodEvent):
464         (QQuickWebView::focusInEvent):
465         (QQuickWebView::focusOutEvent):
466         (QQuickWebView::touchEvent):
467         (QQuickWebView::mousePressEvent):
468         (QQuickWebView::mouseMoveEvent):
469         (QQuickWebView::mouseReleaseEvent):
470         (QQuickWebView::mouseDoubleClickEvent):
471         (QQuickWebView::wheelEvent):
472         (QQuickWebView::hoverEnterEvent):
473         (QQuickWebView::hoverMoveEvent):
474         (QQuickWebView::hoverLeaveEvent):
475         (QQuickWebView::dragMoveEvent):
476         (QQuickWebView::dragEnterEvent):
477         (QQuickWebView::dragLeaveEvent):
478         (QQuickWebView::dropEvent):
479         (QQuickWebView::event):
480         * UIProcess/qt/QtWebPageEventHandler.cpp:
481         (QtWebPageEventHandler::handleMouseMoveEvent):
482         (QtWebPageEventHandler::handleMousePressEvent):
483         (QtWebPageEventHandler::handleMouseReleaseEvent):
484         (QtWebPageEventHandler::handleWheelEvent):
485         (QtWebPageEventHandler::handleHoverLeaveEvent):
486         (QtWebPageEventHandler::handleHoverMoveEvent):
487         (QtWebPageEventHandler::handleDragEnterEvent):
488         (QtWebPageEventHandler::handleDragLeaveEvent):
489         (QtWebPageEventHandler::handleDragMoveEvent):
490         (QtWebPageEventHandler::handleDropEvent):
491         (QtWebPageEventHandler::handleKeyPressEvent):
492         (QtWebPageEventHandler::handleKeyReleaseEvent):
493         (QtWebPageEventHandler::handleFocusInEvent):
494         (QtWebPageEventHandler::handleFocusOutEvent):
495         (QtWebPageEventHandler::handleInputMethodEvent):
496         (QtWebPageEventHandler::handleTouchEvent):
497         * UIProcess/qt/QtWebPageEventHandler.h:
498         (QtWebPageEventHandler):
499
500 2012-02-24  Simon Hausmann  <simon.hausmann@nokia.com>
501
502         [Qt] Use private QSGRenderNode in QQuickWebView for improved Qt Scene Graph integration
503         https://bugs.webkit.org/show_bug.cgi?id=79022
504
505         Reviewed by Csaba Osztrogonác.
506
507         * Target.pri:
508         * UIProcess/API/qt/qquickwebpage.cpp:
509         (PageProxyNode::PageProxyNode):
510         (PageProxyNode::changedStates):
511         (PageProxyNode::render):
512         (PageProxyNode):
513
514 2012-02-24  Carlos Garcia Campos  <cgarcia@igalia.com>
515
516         [GTK] Encode/decode Null ResourceResponse objects in WebKit2
517         https://bugs.webkit.org/show_bug.cgi?id=79471
518
519         Reviewed by Philippe Normand.
520
521         * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
522         (CoreIPC::::encode): Check whether ResourceResponse is Null before
523         encoding it.
524         (CoreIPC::::decode): Check whether response is Null and create a
525         Null ResourceResponse object in such case.
526
527 2012-02-24  Shinya Kawanaka  <shinyak@chromium.org>
528
529         SpellCheckRequest needs to know the context where the spellcheck happened.
530         https://bugs.webkit.org/show_bug.cgi?id=79320
531
532         Reviewed by Hajime Morita.
533
534         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
535         (WebKit::WebEditorClient::requestCheckingOfString):
536         * WebProcess/WebCoreSupport/WebEditorClient.h:
537
538 2012-02-23  Kenneth Rohde Christiansen  <kenneth@webkit.org>
539
540         [Qt] Tiling: Improve the method names dealing with moving and scaling.
541
542         Rubberstamped by Simon Hausmann.
543
544         * UIProcess/API/qt/qquickwebview.cpp:
545         (QQuickWebViewLegacyPrivate::updateViewportSize):
546         (QQuickWebViewFlickablePrivate::onComponentComplete):
547         (QQuickWebViewFlickablePrivate::updateViewportSize):
548         (QQuickWebViewFlickablePrivate::_q_commitScaleChange):
549         (QQuickWebViewPrivate::_q_commitPositionChange):
550         (QQuickWebViewFlickablePrivate::_q_resume):
551         * UIProcess/API/qt/qquickwebview_p.h:
552         * UIProcess/API/qt/qquickwebview_p_p.h:
553         (QQuickWebViewPrivate):
554         (QQuickWebViewPrivate::_q_commitScaleChange):
555         (QQuickWebViewFlickablePrivate):
556         * UIProcess/DrawingAreaProxy.h:
557         (WebKit::DrawingAreaProxy::setVisibleContentsRectForScaling):
558         (WebKit::DrawingAreaProxy::setVisibleContentsRectForPanning):
559         * UIProcess/DrawingAreaProxyImpl.cpp:
560         (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectForScaling):
561         (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectForPanning):
562         * UIProcess/DrawingAreaProxyImpl.h:
563         (DrawingAreaProxyImpl):
564         * UIProcess/LayerTreeHostProxy.h:
565         (LayerTreeHostProxy):
566         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
567         (WebKit::LayerTreeHostProxy::setVisibleContentsRectForPanning):
568         (WebKit::LayerTreeHostProxy::setVisibleContentsRectForScaling):
569         * UIProcess/qt/QtViewportInteractionEngine.cpp:
570         (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
571         (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
572         (WebKit::QtViewportInteractionEngine::wheelEvent):
573         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
574         * UIProcess/qt/QtViewportInteractionEngine.h:
575         (QtViewportInteractionEngine):
576         * WebProcess/WebPage/LayerTreeHost.h:
577         (WebKit::LayerTreeHost::setVisibleContentsRectForScaling):
578         (WebKit::LayerTreeHost::setVisibleContentsRectForPanning):
579         (WebKit::LayerTreeHost::setVisibleContentsRectForLayer):
580         * WebProcess/WebPage/LayerTreeHost.messages.in:
581         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
582         (WebKit::LayerTreeHostQt::setVisibleContentsRectForScaling):
583         (WebKit::LayerTreeHostQt::setVisibleContentsRectForPanning):
584         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
585         (LayerTreeHostQt):
586
587 2012-02-24  Sergio Villar Senin  <svillar@igalia.com>
588
589         [WK2] [GTK] Destructor not invoked in EditorClientFrameDestructionObserver
590         https://bugs.webkit.org/show_bug.cgi?id=79466
591
592         Reviewed by Philippe Normand.
593
594         Explicitly cast the observer before deleting it instead of just
595         deleting a generic pointer. We must to that in order to get the
596         destructor of the object properly called.
597
598         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
599         (WebKit::EditorClientFrameDestructionObserver::destroyOnClosureFinalization):
600
601 2012-02-23  Andy Estes  <aestes@apple.com>
602
603         Rename [setS|s]uppressIncrementalRendering to [setS|s]uppressesIncrementalRendering and make it WebPreferences API.
604         https://bugs.webkit.org/show_bug.cgi?id=79433
605
606         Reviewed by Dan Bernstein.
607
608         * Shared/WebPreferencesStore.h:
609         (WebKit):
610         * UIProcess/API/C/WKPreferences.cpp:
611         (WKPreferencesSetSuppressesIncrementalRendering):
612         (WKPreferencesGetSuppressesIncrementalRendering):
613         * UIProcess/API/C/WKPreferences.h:
614         * UIProcess/WebInspectorProxy.cpp:
615         (WebKit::createInspectorPageGroup):
616         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
617         (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
618         * WebProcess/WebPage/WebPage.cpp:
619         (WebKit::WebPage::updatePreferences):
620
621 2012-02-23  Mario Sanchez Prada  <msanchez@igalia.com>
622
623         [GTK] Wrong signal name on emission in WebKitWindowProperties.cpp
624         https://bugs.webkit.org/show_bug.cgi?id=79352
625
626         Reviewed by Philippe Normand.
627
628         Emit the signal 'resizable' instead of 'resizable-visible'.
629
630         * UIProcess/API/gtk/WebKitWindowProperties.cpp:
631         (webkitWindowPropertiesSetResizable): Use right signal name.
632
633 2012-02-23  Anders Carlsson  <andersca@apple.com>
634
635         Flush layer changes after layout when resizing web page
636         https://bugs.webkit.org/show_bug.cgi?id=79399
637         <rdar://problem/10920157>
638
639         Reviewed by Andreas Kling.
640
641         Flush layer changes after layout, otherwise the scrollbars won't be updated
642         until sometime later which looks bad.
643
644         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
645         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
646
647 2012-02-23  Daniel Bates  <dbates@webkit.org>
648
649         Add missing "Reviewed by" line to change log entry for changeset r108631
650         (https://bugs.webkit.org/show_bug.cgi?id=79252)
651
652         The patch landed in changeset r108631 was reviewed by Martin Robinson.
653
654         * ChangeLog:
655
656 2012-02-23  Patrick Gansterer  <paroga@webkit.org>
657
658         [CMake] Add WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS macro
659         https://bugs.webkit.org/show_bug.cgi?id=79371
660
661         Reviewed by Daniel Bates.
662
663         * CMakeLists.txt:
664
665 2012-02-23  Simon Hausmann  <simon.hausmann@nokia.com>
666
667         [Qt] Add support for touch cancellation
668         https://bugs.webkit.org/show_bug.cgi?id=79348
669
670         Reviewed by Kenneth Rohde Christiansen.
671
672         Convert and forward incoming touch cancellation events
673         to the web process.
674
675         * Shared/qt/WebEventFactoryQt.cpp:
676         (WebKit::webEventTypeForEvent):
677         (WebKit::WebEventFactory::createWebTouchEvent):
678         * UIProcess/API/qt/qquickwebview.cpp:
679         (QQuickWebView::event):
680         * UIProcess/qt/QtWebPageEventHandler.cpp:
681         (QtWebPageEventHandler::handleEvent):
682
683 2012-02-23  Brent Fulgham  <bfulgham@webkit.org>
684
685         [WinCairo] Build fix after r108428.
686
687         * win/WebKit2CFLite.def: Add missing export declaration.
688
689 2012-02-23  Simon Hausmann  <simon.hausmann@nokia.com>
690
691         Unreviewed test fix after r108614: Adjust public API after changes.
692
693         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
694
695 2012-02-23  Simon Hausmann  <simon.hausmann@nokia.com>
696
697         [Qt] Build fix. Qt WebKit2 can not be compiled due to QtWebPageEventHandler.
698         https://bugs.webkit.org/show_bug.cgi?id=79335
699
700         Reviewed by Kenneth Rohde Christiansen.
701
702         In the upcoming Qt 5 builds the convenient setInputMethodHints method on QQuickItem
703         will be removed. There's no need for us to use it, we can implement passing the hints
704         to the input method right away in our re-implementation of inputMethodQuery, which works
705         with old and newer Qt 5 builds.
706
707         * UIProcess/API/qt/qquickwebview.cpp:
708         (QQuickWebView::inputMethodQuery):
709         * UIProcess/qt/QtWebPageEventHandler.cpp:
710         (QtWebPageEventHandler::updateTextInputState):
711
712 2012-02-23  Sergio Villar Senin  <svillar@igalia.com>
713
714         [WK2][GTK] WebProcess SIGSEVs due to incorrect clipboard handling
715         https://bugs.webkit.org/show_bug.cgi?id=79252
716
717         Reviewed by Martin Robinson.
718
719         Do not execute clipboard callbacks after the Frame associated with
720         it is destroyed.
721
722         This change is already covered by the TestWebViewEditor unit tests
723         (among others), they hang (because WebProcess dies) without this
724         patch in Debug builds.
725
726         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
727         (EditorClientFrameDestructionObserver):
728         (WebKit::EditorClientFrameDestructionObserver::EditorClientFrameDestructionObserver):
729         (WebKit::EditorClientFrameDestructionObserver::frameDestroyed):
730         (WebKit::EditorClientFrameDestructionObserver::destroyOnClosureFinalization):
731         (WebKit):
732         (WebKit::WebEditorClient::setSelectionPrimaryClipboardIfNeeded):
733
734 2012-02-23  Kenneth Rohde Christiansen  <kenneth@webkit.org>
735
736         [Qt] Page doesn't get repainted while panning is in progress
737         https://bugs.webkit.org/show_bug.cgi?id=78602
738
739         Reviewed by Simon Hausmann.
740
741         The tiling code needed the current visibleContentsRect in order to be
742         able to create tiles, so we now make sure it gets it. We also needed
743         to make sure to set the trajectory vector while panning and while the
744         flicking engine was animating kinetic scrolling.
745
746         * UIProcess/API/qt/qquickwebview.cpp:
747         (QQuickWebViewFlickablePrivate::_q_updateVisibleContentRectAndScale):
748         (QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged):
749         * UIProcess/DrawingAreaProxy.h:
750         (WebKit::DrawingAreaProxy::setVisibleContentRectTrajectoryVector):
751         * UIProcess/DrawingAreaProxyImpl.cpp:
752         (WebKit::DrawingAreaProxyImpl::setVisibleContentRectTrajectoryVector):
753         * UIProcess/DrawingAreaProxyImpl.h:
754         (DrawingAreaProxyImpl):
755         * UIProcess/LayerTreeHostProxy.h:
756         (LayerTreeHostProxy):
757         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
758         (WebKit::LayerTreeHostProxy::setVisibleContentRectTrajectoryVector):
759         * UIProcess/qt/QtViewportInteractionEngine.cpp:
760         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
761         (WebKit::QtViewportInteractionEngine::flickableMovingStateChanged):
762         (WebKit):
763         (WebKit::QtViewportInteractionEngine::panMoveStarted):
764         (WebKit::QtViewportInteractionEngine::panMoveEnded):
765         (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
766         (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
767         * UIProcess/qt/QtViewportInteractionEngine.h:
768         (QtViewportInteractionEngine):
769         * WebProcess/WebPage/LayerTreeHost.h:
770         (WebKit::LayerTreeHost::setVisibleContentRectTrajectoryVector):
771         * WebProcess/WebPage/LayerTreeHost.messages.in:
772         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
773         (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
774         (WebKit::LayerTreeHostQt::setVisibleContentRectTrajectoryVector):
775         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
776         (LayerTreeHostQt):
777
778 2012-02-23  Patrick Gansterer  <paroga@webkit.org>
779
780         [CMAKE][WK2] Cleanup WebKit2/CMakeLists.txt.
781         https://bugs.webkit.org/show_bug.cgi?id=76122
782
783         Reviewed by Eric Seidel.
784
785         * CMakeLists.txt: Removed hardcoded WTF_USE_JSC preprocessor definition.
786
787 2012-02-23  Simon Hausmann  <simon.hausmann@nokia.com>
788
789         [WK2] Trivial build fix after r108615.
790
791         * WebProcess/WebPage/WebPage.cpp:
792         (WebKit::WebPage::WebPage):
793
794 2012-02-22  Michael Tyutyunik  <michael.tyutyunik@nokia.com>
795
796         [Qt][WK2] navigationType is missing in new API
797         https://bugs.webkit.org/show_bug.cgi?id=78867
798
799         Reviewed by Simon Hausmann.
800
801         In QtWebPagePolicyClient::decidePolicyForNavigationAction()
802         navigationType argument is dropped by mistake. Adding it back
803         and make it available through NavigationRequest.
804
805         * UIProcess/API/qt/qquickwebview_p.h:
806         * UIProcess/API/qt/qwebnavigationrequest.cpp:
807         (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
808         (QWebNavigationRequestPrivate):
809         (QWebNavigationRequest::QWebNavigationRequest):
810         (QWebNavigationRequest::navigationType):
811         * UIProcess/API/qt/qwebnavigationrequest_p.h:
812         * UIProcess/qt/QtWebPagePolicyClient.cpp:
813         (QtWebPagePolicyClient::decidePolicyForNavigationAction):
814         (toQuickWebViewNavigationType):
815         * UIProcess/qt/QtWebPagePolicyClient.h:
816         (QtWebPagePolicyClient):
817
818 2012-02-22  Anders Carlsson  <andersca@apple.com>
819
820         Implement TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange
821         https://bugs.webkit.org/show_bug.cgi?id=79297
822         <rdar://problem/10748510>
823
824         Reviewed by Beth Dakin.
825
826         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
827         (WebKit::TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange):
828         Send a message to the web process.
829
830         * WebProcess/WebPage/DrawingArea.h:
831         (WebKit::DrawingArea::setDeviceScaleFactor):
832         Add empty stub.
833
834         * WebProcess/WebPage/DrawingArea.messages.in:
835         Add SetDeviceScaleFactor message.
836
837         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
838         (WebKit::TiledCoreAnimationDrawingArea::setDeviceScaleFactor):
839         Call WebPage::setDeviceScaleFactor.
840
841 2012-02-22  Brady Eidson  <beidson@apple.com>
842
843         <rdar://problem/10406044> and https://bugs.webkit.org/show_bug.cgi?id=79279
844         Synchronous ShouldGoToBackForwardListItem causes lots of WebProcess hangs
845
846         Reviewed by Anders Carlsson.
847
848         Anytime the WebProcess sends a sync message up to the UI Process a hang can ensue.
849         
850         In the case of shouldGoToBackForwardListItem it seems many clients want a back/forward
851         notification but don't actually want to make a policy decision.
852
853         Making it an asynchronous notification instead of a synchronous policy call will remove the
854         possibility of a hang here.
855
856         If clients later decide it is important to have a policy here we should implement a form of
857         shouldGoToBackForwardListItem in the bundle loader client.
858
859         Add a notification "willGoToBackForwardListItem" to the WKPageLoaderClient:
860         * UIProcess/API/C/WKPage.h:
861
862         * UIProcess/WebPageProxy.cpp:
863         (WebKit::WebPageProxy::initializeLoaderClient): Tell the WebProcess whether it should be
864           sending the shouldGoToBackForwardListItem or willGoToBackForwardListItem form of this message.
865         (WebKit::WebPageProxy::shouldGoToBackForwardListItem): 
866         (WebKit::WebPageProxy::willGoToBackForwardListItem):
867         * UIProcess/WebPageProxy.h:
868         * UIProcess/WebPageProxy.messages.in: Add an asynchronous WillGoToBackForwardListItem message
869
870         Store a flag in the WebProcess - Sent from the UIProcess - to tell the FrameLoaderClient which form 
871         of the callback should be used:
872         * WebProcess/WebPage/WebPage.cpp:
873         (WebKit::WebPage::WebPage):
874         * WebProcess/WebPage/WebPage.h:
875         (WebKit::WebPage::willGoToBackForwardItemCallbackEnabled):
876         (WebKit::WebPage::setWillGoToBackForwardItemCallbackEnabled):
877         * WebProcess/WebPage/WebPage.messages.in:
878
879         * UIProcess/WebLoaderClient.cpp:
880         (WebKit::WebLoaderClient::shouldGoToBackForwardListItem): Only consider calling this for
881           version 0 clients.
882         (WebKit::WebLoaderClient::willGoToBackForwardListItem): Later clients get this callback.
883         * UIProcess/WebLoaderClient.h:
884         (WebLoaderClient):
885         
886         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
887         (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem): Send either the synchronous "should" message
888           or the asynchronous "will" message depending on which the WebProcess was last told that the
889           UIProcess expects. There is an edge case where the wrong one might be sent because the WebProcess
890           hasn't received the message about a change in the WKPageLoaderClient yet but that's probably okay;
891           It seems unlikely that a UIProcess client would ever rapidly change between v0 and other versions
892           of the loader client and the UIProcess of WebKit2 is equipped to handle that case if it comes up.
893
894 2012-02-16  Jon Lee  <jonlee@apple.com>
895
896         [WK2] Clearing notifications does not clean up internal state
897         https://bugs.webkit.org/show_bug.cgi?id=78861
898         <rdar://problem/10881167>
899
900         Reviewed by Anders Carlsson.
901
902         * WebProcess/Notifications/WebNotificationManager.cpp:
903         (WebKit::WebNotificationManager::clearNotifications): This function was missing removing the notification
904         entries from the other maps.
905         (WebKit::WebNotificationManager::didDestroyNotification): When the notification is destroyed, it should
906         also be removed from the context map.
907         (WebKit::WebNotificationManager::didCloseNotifications): Refactor to pull out the code that removes
908         a provided notification from the context map.
909         (WebKit::WebNotificationManager::removeNotificationFromContextMap): Find the notification in the map, and
910         remove it. If the map is empty, get rid of the entry.
911         * WebProcess/Notifications/WebNotificationManager.h:
912         (WebNotificationManager):
913
914 2012-02-22  Jon Lee  <jonlee@apple.com>
915
916         Code cleanup in WebNotificationManager (79285)
917         https://bugs.webkit.org/show_bug.cgi?id=79285
918         <rdar://problem/10914522>
919
920         Reviewed by Anders Carlsson.
921
922         * WebProcess/Notifications/WebNotificationManager.cpp:
923         (WebKit::WebNotificationManager::show): Simplify adding a blank vector to the map using .add(),
924         similar to what is found in WebNotificationClient.mm in WebKit 1.
925
926 2012-02-21  Ryosuke Niwa  <rniwa@webkit.org>
927
928         Remove the remaining uses of CSSStyleDeclaration in Editor
929         https://bugs.webkit.org/show_bug.cgi?id=78939
930
931         Reviewed by Enrica Casucci.
932
933         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
934         (WebKit::WebEditorClient::shouldApplyStyle):
935         * WebProcess/WebCoreSupport/WebEditorClient.h:
936         (WebEditorClient):
937
938 2012-02-22  Martin Robinson  <mrobinson@igalia.com>
939
940         [GTK] Clean build is broken when using make -j
941         https://bugs.webkit.org/show_bug.cgi?id=76388
942
943         * GNUmakefile.am: Add some WebKit2 sources to global sources lists
944         so that we can refer to them in separate GNUmakefiles.
945
946 2012-02-22  Antaryami Pandia  <antaryami.pandia@motorola.com>
947
948         [GTK][WK2] Add WebGL WebSetting.
949         https://bugs.webkit.org/show_bug.cgi?id=79217
950
951         Reviewed by Martin Robinson.
952
953         Add a WebSetting to enable/disable Webgl.
954
955         * UIProcess/API/gtk/WebKitSettings.cpp:
956         (webKitSettingsSetProperty):
957         (webKitSettingsGetProperty):
958         (webkit_settings_class_init):
959         (webkit_settings_set_enable_webaudio):
960         (webkit_settings_get_enable_webgl):
961         (webkit_settings_set_enable_webgl):
962         * UIProcess/API/gtk/WebKitSettings.h:
963         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
964         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
965         (testWebKitSettings):
966
967 2012-02-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
968
969         [Qt] Disregard previous backing store as soon as possible
970         https://bugs.webkit.org/show_bug.cgi?id=79232
971
972         Reviewed by Simon Hausmann and No'am Rosenthal.
973
974         Between creating the new backing store and painting the content,
975         we do not want to drop the previous one as that might result in
976         briefly seeing flickering as the old tiles may be dropped before
977         something replaces them.
978
979         But we do need to drop it at some point and we need to make sure
980         to not spike the memory usage before of this.
981
982         What we now do, is to store the previous backing store as before,
983         but drop all tiles which are not visible and then drop it as soon
984         as the visible rect (which might change due if followed by a quick
985         panning) has been fully covered by tiles.
986
987         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
988         (WebCore::WebGraphicsLayer::setContentsScale):
989         (WebCore::WebGraphicsLayer::updateContentBuffers):
990
991 2012-02-22  Michael Brüning  <michael.bruning@nokia.com>
992
993         [Qt][WK2] Implement proxy authentication handling.
994         https://bugs.webkit.org/show_bug.cgi?id=78792
995
996         Reviewed by Simon Hausmann.
997
998         This patch corrects two bugs with the previous implementation:
999         1. The signal proxyAuthenticationRequired was not connected to a
1000            slot.
1001         2. The slot onProxyAuthenticationRequired had the wrong parameters. 
1002
1003         * WebProcess/qt/QtNetworkAccessManager.cpp:
1004         (WebKit::QtNetworkAccessManager::QtNetworkAccessManager):
1005         (WebKit::QtNetworkAccessManager::onProxyAuthenticationRequired):
1006         * WebProcess/qt/QtNetworkAccessManager.h: Added include.
1007         (QtNetworkAccessManager):
1008
1009 2012-02-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1010
1011         Merge setVisibleRectTrajectoryVector and adjustVisibleRect to
1012         the more descriptive coverWithTilesIfNeeded
1013         https://bugs.webkit.org/show_bug.cgi?id=79230
1014
1015         Reviewed by Simon Hausmann.
1016
1017         Replace use by coverWithTilesIfNeeded().
1018
1019         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
1020         (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
1021         (WebCore::WebGraphicsLayer::adjustVisibleRect):
1022         (WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
1023
1024 2012-02-22  Zalan Bujtas  <zbujtas@gmail.com>
1025
1026         [Qt][WK2] Add frame flattening setting to QWebPreferences.
1027         https://bugs.webkit.org/show_bug.cgi?id=79099
1028
1029         Reviewed by Simon Hausmann.
1030
1031         Frame flattening is enabled by default for Qt WebKit2.
1032
1033         * UIProcess/API/qt/qquickwebview.cpp:
1034         (QQuickWebViewPrivate::initialize):
1035         * UIProcess/API/qt/qwebpreferences.cpp:
1036         (QWebPreferencesPrivate::testAttribute):
1037         (QWebPreferencesPrivate::setAttribute):
1038         (QWebPreferences::setNavigatorQtObjectEnabled):
1039         (QWebPreferences::frameFlatteningEnabled):
1040         (QWebPreferences::setFrameFlatteningEnabled):
1041         * UIProcess/API/qt/qwebpreferences_p.h:
1042
1043 2012-02-22  Ryosuke Niwa  <rniwa@webkit.org>
1044
1045         Remove the remaining uses of CSSStyleDeclaration in Editor
1046         https://bugs.webkit.org/show_bug.cgi?id=78939
1047
1048         Reviewed by Enrica Casucci.
1049
1050         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1051         (WebKit::WebEditorClient::shouldApplyStyle):
1052         * WebProcess/WebCoreSupport/WebEditorClient.h:
1053         (WebEditorClient):
1054
1055 2012-02-21  Carlos Garcia Campos  <cgarcia@igalia.com>
1056
1057         [GTK] Null ResourceErrors are encoded/decoded as empty ResourceErrors
1058         https://bugs.webkit.org/show_bug.cgi?id=79120
1059
1060         Reviewed by Martin Robinson.
1061
1062         * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
1063         (CoreIPC::::encode): Encode a boolean to indicate whether it's a
1064         Null error.
1065         (CoreIPC::::decode): Check whether the error is Null and do not
1066         continue decoding in such case.
1067
1068 2012-02-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
1069
1070         [Qt][WK2] Draw tiles of previous contents-scale for opaque layers if they don't intersect with previous tiles
1071         https://bugs.webkit.org/show_bug.cgi?id=78962
1072
1073         Only avoid painting old-scale tiles in semi-transparent situtations if the old
1074         tiles intersect with existing tiles.
1075
1076         Reviewed by Kenneth Rohde Christiansen.
1077
1078         * UIProcess/qt/LayerBackingStore.cpp:
1079         (WebKit::LayerBackingStore::paintToTextureMapper):
1080
1081 2012-02-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
1082
1083         [Qt] Previous web page appears outside content rect
1084         https://bugs.webkit.org/show_bug.cgi?id=78816
1085
1086         Apply a clip on painted tiles if some of the tiles fall outside of the target rect.
1087
1088         Reviewed by Kenneth Rohde Christiansen.
1089
1090         * UIProcess/qt/LayerBackingStore.cpp:
1091         (WebKit::LayerBackingStore::paintToTextureMapper):
1092
1093 2012-02-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
1094
1095         [Qt][WK2] Accelerated animations don't work on Mac
1096         https://bugs.webkit.org/show_bug.cgi?id=78963
1097
1098         Problem came from using a non-RunLoop timer.
1099         Remove the unused viewportUpdateTimer, and use the existing animationTimer instead.
1100         Use a continuous timer that we only stop when animations stop.
1101
1102         Reviewed by Kenneth Rohde Christiansen.
1103
1104         * UIProcess/LayerTreeHostProxy.h:
1105         (LayerTreeHostProxy):
1106         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
1107         (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
1108         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
1109         (WebKit):
1110         (WebKit::LayerTreeHostProxy::syncAnimations):
1111
1112 2012-02-21  Sam Weinig  <sam@webkit.org>
1113
1114         Attempt to fix the Snow Leopard build.
1115
1116         * Configurations/Base.xcconfig:
1117
1118 2012-02-21  Sam Weinig  <sam@webkit.org>
1119
1120         Use libc++ when building with Clang on Mac
1121         https://bugs.webkit.org/show_bug.cgi?id=78981
1122
1123         Reviewed by Dan Bernstein.
1124
1125         * Configurations/Base.xcconfig:
1126
1127 2012-02-21  Andras Becsi  <andras.becsi@nokia.com>
1128
1129         [Qt][WK2] Get rid of the dependency to QtWidgets
1130         https://bugs.webkit.org/show_bug.cgi?id=76276
1131
1132         Reviewed by Simon Hausmann.
1133
1134         * Target.pri:
1135         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
1136         (main):
1137         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
1138         * UIProcess/API/qt/tests/tests.pri:
1139         * UIProcess/API/qt/tests/util.h:
1140
1141 2012-02-20  Martin Robinson  <mrobinson@igalia.com>
1142
1143         [UNIX] Plugin information fields are not interpreted as UTF-8
1144         https://bugs.webkit.org/show_bug.cgi?id=78635
1145
1146         Reviewed by Gustavo Noronha Silva.
1147
1148         Interpret plugin metadata as UTF8 aways. This matches the behavior
1149         of Chromium and the Totem plugin.
1150
1151         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
1152         (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin): Use String::fromUTF8.
1153
1154 2012-02-20  Carlos Garcia Campos  <cgarcia@igalia.com>
1155
1156         [GTK] Adding SOUP_TYPE_PROXY_RESOLVER_DEFAULT feature to soup session makes WebProcess to hang
1157         https://bugs.webkit.org/show_bug.cgi?id=79036
1158
1159         Reviewed by Martin Robinson.
1160
1161         This looks like a bug in gobject. Initializing the WebProcess
1162         before creating the soup session seems to fix the problem. It's
1163         actually a workaround, but initializing the WebProcess as sson as
1164         possible it's a good idea in any case.
1165
1166         * WebProcess/gtk/WebProcessMainGtk.cpp:
1167         (WebKit::WebProcessMainGtk):
1168
1169 2012-02-20  Michael Brüning  <michael.bruning@nokia.com>
1170
1171         [Qt][WK2] Implement proxy authentication handling.
1172         https://bugs.webkit.org/show_bug.cgi?id=78792
1173
1174         Reviewed by Simon Hausmann.
1175
1176         This patch implements the proxy authentication handling
1177         for the Qt port in a similar matter to the http authentication
1178         implementation.
1179
1180         Since there is a need to pass the proxy port, which is of type uint16_t,
1181         from the WebProcess to the UIProcess, an encoder and a decoder for
1182         this type was added because it did not exist.
1183         
1184         The message that was added to the WebPageProxy is called synchronously
1185         as this is needed by the implementation of the network access manager
1186         and has also been implemented this way already for the http 
1187         authentication.
1188
1189         * Platform/CoreIPC/ArgumentDecoder.cpp:
1190         (CoreIPC::ArgumentDecoder::decodeUInt16):
1191         (CoreIPC):
1192         * Platform/CoreIPC/ArgumentDecoder.h:
1193         (ArgumentDecoder):
1194         (CoreIPC::ArgumentDecoder::decode):
1195         (CoreIPC):
1196         * Platform/CoreIPC/ArgumentEncoder.cpp:
1197         (CoreIPC::ArgumentEncoder::encodeUInt16):
1198         (CoreIPC):
1199         * Platform/CoreIPC/ArgumentEncoder.h:
1200         (ArgumentEncoder):
1201         (CoreIPC::ArgumentEncoder::encode):
1202         (CoreIPC):
1203         * UIProcess/API/qt/qquickwebview.cpp:
1204         (QQuickWebViewPrivate::QQuickWebViewPrivate):
1205         (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest):
1206         (QQuickWebViewExperimental::proxyAuthenticationDialog):
1207         (QQuickWebViewExperimental::setProxyAuthenticationDialog):
1208         * UIProcess/API/qt/qquickwebview_p.h:
1209         * UIProcess/API/qt/qquickwebview_p_p.h:
1210         (QQuickWebViewPrivate):
1211         * UIProcess/PageClient.h:
1212         (PageClient):
1213         * UIProcess/WebPageProxy.cpp:
1214         (WebKit::WebPageProxy::proxyAuthenticationRequiredRequest):
1215         (WebKit):
1216         * UIProcess/WebPageProxy.h:
1217         (WebPageProxy):
1218         * UIProcess/WebPageProxy.messages.in:
1219         * UIProcess/qt/QtDialogRunner.cpp:
1220         (ProxyAuthenticationDialogContextObject):
1221         (ProxyAuthenticationDialogContextObject::ProxyAuthenticationDialogContextObject):
1222         (ProxyAuthenticationDialogContextObject::hostname):
1223         (ProxyAuthenticationDialogContextObject::port):
1224         (ProxyAuthenticationDialogContextObject::prefilledUsername):
1225         (ProxyAuthenticationDialogContextObject::accept):
1226         (ProxyAuthenticationDialogContextObject::reject):
1227         (QtDialogRunner::initForProxyAuthentication):
1228         * UIProcess/qt/QtDialogRunner.h:
1229         (QtDialogRunner):
1230         * UIProcess/qt/QtPageClient.cpp:
1231         (QtPageClient::handleProxyAuthenticationRequiredRequest):
1232         * UIProcess/qt/QtPageClient.h:
1233         (QtPageClient):
1234         * WebProcess/WebPage/DecoderAdapter.cpp:
1235         (WebKit::DecoderAdapter::decodeUInt16):
1236         (WebKit):
1237         * WebProcess/WebPage/DecoderAdapter.h:
1238         (DecoderAdapter):
1239         * WebProcess/WebPage/EncoderAdapter.cpp:
1240         (WebKit::EncoderAdapter::encodeUInt16):
1241         (WebKit):
1242         * WebProcess/WebPage/EncoderAdapter.h:
1243         (EncoderAdapter):
1244         * WebProcess/qt/QtNetworkAccessManager.cpp:
1245         (WebKit::QtNetworkAccessManager::onProxyAuthenticationRequired):
1246         (WebKit):
1247         * WebProcess/qt/QtNetworkAccessManager.h:
1248         (QtNetworkAccessManager):
1249
1250 2012-02-20  Patrick Gansterer  <paroga@webkit.org>
1251
1252         [CMake] Update and sort list of source files.
1253
1254         * CMakeLists.txt:
1255
1256 2012-02-20  Martin Robinson  <mrobinson@igalia.com>
1257
1258         Fix WebKit2GTK+ for 'make distcheck'.
1259
1260         Instead of conditionally including WebKit2 GNUmakefiles, always
1261         include them and conditionally activate the final targets.
1262
1263         * GNUmakefile.am:
1264         * UIProcess/API/gtk/tests/GNUmakefile.am:
1265
1266 2012-02-20  Martin Robinson  <mrobinson@igalia.com>
1267
1268         [GTK][WK2] WebKit2 does not build if gtk-unix-printing-3.0 is not available
1269         https://bugs.webkit.org/show_bug.cgi?id=79011
1270
1271         Fix the build when gtk-unix-printing-3.0 is not present.
1272
1273         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
1274         (webkitPrintOperationRunDialog):
1275         (webkitPrintOperationRunDialogForFrame):
1276         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
1277         (WebKit::WebPrintOperationGtk::create):
1278
1279 2012-02-18  Dan Bernstein  <mitz@apple.com>
1280
1281         <rdar://problem/10891801> BackingStore::scroll() unnecessarily copies pixels around
1282         https://bugs.webkit.org/show_bug.cgi?id=78976
1283
1284         Reviewed by Anders Carlsson.
1285
1286         Rather than move pixels in the backing store in response to scrolling, we can maintain a
1287         mapping, for the most recently scrolled rect, from backing store coordinates to view
1288         client coordinates.
1289
1290         * UIProcess/BackingStore.h:
1291         * UIProcess/mac/BackingStoreMac.mm:
1292         (WebKit::BackingStore::performWithScrolledRectTransform): Added. Given a block to be
1293         performed on a rect, divides the rect into parts such that for each part the mapping from
1294         backing store coordinates to client coordinates is a (uniform) translation, and performs
1295         the block on that part, passing it the translation that applies to the part.
1296         (WebKit::BackingStore::resetScrolledRect): Added. Copies everything in the scrolled rect
1297         back to where it should be under the identity map, and resets the scrolled rect and offset.
1298         (WebKit::BackingStore::paint): Changed to call through performWithScrolledRectTransform().
1299         (WebKit::BackingStore::incorporateUpdate): Ditto.
1300         (WebKit::BackingStore::scroll): Now instead of copying pixels, just updates the scrolled
1301         rect and offset.
1302
1303 2012-02-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
1304
1305         [Qt][WK2] Allow opaque tiles
1306         https://bugs.webkit.org/show_bug.cgi?id=78809
1307
1308         Apply the SupportsAlpha flag only when the buffers actually have alpha.
1309
1310         Reviewed by Kenneth Rohde Christiansen.
1311
1312         * Shared/ShareableBitmap.h:
1313         (ShareableBitmap):
1314         * Shared/qt/ShareableBitmapQt.cpp:
1315         * UIProcess/qt/LayerBackingStore.cpp:
1316         (WebKit::LayerBackingStoreTile::swapBuffers):
1317
1318 2012-02-17  Adam Roben  <aroben@apple.com>
1319
1320         Clang build fix after r108119
1321
1322         * WebProcess/WebProcess.cpp:
1323         (WebKit::randomCrashThread): Annotate this function with NO_RETURN_DUE_TO_CRASH.
1324
1325 2012-02-17  Kalev Lember  <kalevlember@gmail.com>
1326
1327         Remove unused parameters from WTF threading API
1328         https://bugs.webkit.org/show_bug.cgi?id=78389
1329
1330         Reviewed by Adam Roben.
1331
1332         waitForThreadCompletion() had an out param 'void **result' to get the
1333         'void *' returned by ThreadFunction. However, the implementation in
1334         ThreadingWin.cpp ignored the out param, not filling it in. This had
1335         led to a situation where none of the client code made use of the param
1336         and just ignored it.
1337
1338         To clean this up, the patch changes the signature of ThreadFunction to
1339         return void instead of void* and drops the the unused 'void **result'
1340         parameter from waitForThreadCompletion. Also, all client code is
1341         updated for the API change.
1342
1343         As mentioned in https://bugs.webkit.org/show_bug.cgi?id=78389 , even
1344         though the change only affects internal API, Safari is using it
1345         directly and we'll need to keep the old versions around for ABI
1346         compatibility. For this, the patch adds compatibility wrappers with
1347         the old ABI.
1348
1349         * Platform/WorkQueue.h:
1350         (WorkQueue):
1351         * Platform/gtk/WorkQueueGtk.cpp:
1352         (WorkQueue::startWorkQueueThread):
1353         * UIProcess/Launcher/mac/ThreadLauncherMac.mm:
1354         (WebKit::webThreadBody):
1355         * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
1356         (WebKit::webThreadBody):
1357         * UIProcess/Launcher/win/ThreadLauncherWin.cpp:
1358         (WebKit::webThreadBody):
1359         * WebProcess/WebProcess.cpp:
1360         (WebKit::randomCrashThread):
1361         * win/WebKit2.def:
1362         * win/WebKit2CFLite.def:
1363
1364 2012-02-17  Mihnea Ovidenie  <mihnea@adobe.com>
1365
1366         CSS regions enabled by default
1367         https://bugs.webkit.org/show_bug.cgi?id=78525
1368
1369         Reviewed by David Hyatt.
1370
1371         Add a runtime preference to enable/disable regions functionality at runtime(WebKitCSSRegionsEnabled).
1372         CSSRegions are still enabled by default.
1373         In DRT, use layoutTestController.overridePreference("WebKitCSSRegionsEnabled", "0") to disable the css regions functionality.
1374
1375         * Shared/WebPreferencesStore.h:
1376         (WebKit):
1377         * UIProcess/API/C/WKPreferences.cpp:
1378         (WKPreferencesSetCSSRegionsEnabled):
1379         (WKPreferencesGetCSSRegionsEnabled):
1380         * UIProcess/API/C/WKPreferencesPrivate.h:
1381         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1382         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
1383         * WebProcess/WebPage/WebPage.cpp:
1384         (WebKit::WebPage::updatePreferences):
1385
1386 2012-02-17  Enrica Casucci  <enrica@apple.com>
1387
1388         Refactor DragData class to use PlatformStrategies in the Mac implementation.
1389         https://bugs.webkit.org/show_bug.cgi?id=78768
1390
1391         Reviewed by Darin Adler.
1392
1393         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added color() method.
1394         (WebKit::WebPlatformStrategies::color):
1395         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
1396
1397 2012-02-17  Martin Robinson  <mrobinson@igalia.com>
1398
1399         Fix some warnings encountered during the GTK+ build
1400         https://bugs.webkit.org/show_bug.cgi?id=78911
1401
1402         Reviewed by Xan Lopez.
1403
1404         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
1405         (attachLoaderClientToView): Initialize a new member of the loader client struct.
1406
1407 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
1408
1409         [GTK] Allow printing scaled pages in WebKit2 for printers that don't support it
1410         https://bugs.webkit.org/show_bug.cgi?id=78823
1411
1412         Reviewed by Gustavo Noronha Silva.
1413
1414         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
1415         (webkitPrintOperationRunDialogUnix): Enable scale option in print
1416         dialog.
1417         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
1418         (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
1419         manual scale to 1.
1420         (WebKit::WebPrintOperationGtk::rotatePageIfNeeded): Renamed and
1421         moved the needs rotate check here as an early return.
1422         (WebKit::WebPrintOperationGtk::prepareContextToDraw): Scale the
1423         page according to the manual scale factor.
1424         (WebKit::WebPrintOperationGtk::renderPage): Move rotatePage to
1425         prepareContextToDraw.
1426         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
1427
1428 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
1429
1430         [GTK] Allow printing multiple copies in WebKit2 for printers that don't support it
1431         https://bugs.webkit.org/show_bug.cgi?id=78805
1432
1433         Reviewed by Gustavo Noronha Silva.
1434
1435         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
1436         (webkitPrintOperationRunDialogUnix): Enable multiple copies and
1437         collate options in print dialog.
1438         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
1439         (WebKit::PrintPagesData::PrintPagesData): Initialize number of
1440         collated and uncolated copies done and total.
1441         (WebKit::PrintPagesData::collatedCopiesLeft): Helper function that
1442         returns the number of collated copies left to do.
1443         (WebKit::PrintPagesData::uncollatedCopiesLeft): Helper function
1444         that returns the number of uncollated copies left to do.
1445         (WebKit::PrintPagesData::copiesLeft): Helper function
1446         that returns the number of collated or uncollated copies left to
1447         do.
1448         (WebKit::PrintPagesData::incrementPageSequence): Do not finish the
1449         print if there are uncollated copies left, and do not increment
1450         sheet number if there are collated copies left.
1451         (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
1452         m_manualCopies to 1 and m_manualCollateCopies to false.
1453         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
1454
1455 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
1456
1457         [GTK] Allow printing pages in reverse order in WebKit2 for printers that don't support it
1458         https://bugs.webkit.org/show_bug.cgi?id=78799
1459
1460         Reviewed by Gustavo Noronha Silva.
1461
1462         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
1463         (webkitPrintOperationRunDialogUnix): Enable printing in reverse
1464         order option in print dialog.
1465         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
1466         (WebKit::PrintPagesData::PrintPagesData): Initialize sheetNumber
1467         and lastPagePosition depending on whether printing is in reverse
1468         order or not.
1469         (WebKit::PrintPagesData::incrementPageSequence): Use a negative
1470         increment step when printing in reverse order. Fix page
1471         incrementing when printing only odd/even pages broken in previous
1472         commit due to merge conflicts.
1473         (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
1474         reverse printing to false.
1475         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
1476
1477 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
1478
1479         [GTK] Allow printing only odd/even pages in WebKit2 for printers that don't support it
1480         https://bugs.webkit.org/show_bug.cgi?id=78793
1481
1482         Reviewed by Gustavo Noronha Silva.
1483
1484         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
1485         (webkitPrintOperationRunDialogUnix): Enable print odd/even pages
1486         option in print dialog.
1487         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
1488         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
1489         (WebKit::PrintPagesData::PrintPagesData): Add lastPagePosition and
1490         initialize it depending on the page set.
1491         (WebKit::PrintPagesData::incrementPageSequence): Use 2 step
1492         increment when printing only odd/even pages.
1493         (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
1494         m_manualPageSet to GTK_PAGE_SET_ALL.
1495
1496 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
1497
1498         [GTK] Allow printing multiple pages per sheet in WebKit2 for printers that don't support it
1499         https://bugs.webkit.org/show_bug.cgi?id=78715
1500
1501         Reviewed by Gustavo Noronha Silva.
1502
1503         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
1504         (webkitPrintOperationRunDialogUnix): Enable multiple pages per
1505         sheet options in print dialog.
1506         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
1507         (WebKit::PrintPagesData::PrintPagesData): Initialize sheetNumber
1508         and numberOfSheets. Move pagePosition to WebPrintOperationGtk.
1509         (WebKit::PrintPagesData::incrementPageSequence): Increment current
1510         sheet and page position.
1511         (WebKit::WebPrintOperationGtk::WebPrintOperationGtk):
1512         (WebKit::WebPrintOperationGtk::currentPageIsFirstPageOfSheet):
1513         Helper function to check whether current pages is the first one of
1514         the current sheet.
1515         (WebKit::WebPrintOperationGtk::currentPageIsLastPageOfSheet):
1516         Helper function to check whether current pages is the last one of
1517         the current sheet.
1518         (WebKit::WebPrintOperationGtk::getRowsAndColumnsOfPagesPerSheet):
1519         Returns the number of rows and columns of pages per sheet.
1520         (WebKit::WebPrintOperationGtk::getPositionOfPageInSheet): Returns
1521         the row and column number of the current page in the current sheet.
1522         (WebKit::WebPrintOperationGtk::prepareContextToDraw): Translate,
1523         scale and rotate accordingly to render every page in the right
1524         place of the sheet.
1525         (WebKit::WebPrintOperationGtk::renderPage): Call
1526         prepareContextToDraw() before drawing the page.
1527         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
1528         (WebKit::WebPrintOperationGtk::setNumberOfPagesToPrint):
1529         (WebKit::WebPrintOperationGtk::pagePosition):
1530         (WebKit::WebPrintOperationGtk::setPagePosition):
1531         (WebKit::WebPrintOperationGtk::numberUp):
1532         (WebKit::WebPrintOperationGtk::numberUpLayout):
1533
1534 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
1535
1536         [GTK] Rename WebKitPrintOperation::done signal to ::finished in WebKit2
1537         https://bugs.webkit.org/show_bug.cgi?id=78893
1538
1539         Reviewed by Gustavo Noronha Silva.
1540
1541         And it's not emitted anynmore when the print dialog has been
1542         cancelled. Since it's not possible to know whether the print
1543         dialog was cancelled or not, the enum WebKitPrintOperationResponse
1544         has been added, with Print and Cancel values, and it's used as
1545         return value of webkit_print_operation_run_dialog().
1546
1547         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
1548         (webkit_print_operation_class_init): Rename done as finished.
1549         (webkitPrintOperationRunDialogUnix): Return a
1550         WebKitPrintOperationResponse instead of bool.
1551         (webkitPrintOperationRunDialogWin32): Ditto.
1552         (drawPagesForPrintingCompleted): Emit finished instead of done.
1553         (webkitPrintOperationRunDialogForFrame): Do not emit finished if
1554         the dialog was cancelled and return a WebKitPrintOperationResponse.
1555         (webkit_print_operation_run_dialog): Return
1556         WebKitPrintOperationResponse.
1557         * UIProcess/API/gtk/WebKitPrintOperation.h: Add
1558         WebKitPrintOperationResponse enum.
1559         * UIProcess/API/gtk/WebKitPrintOperationPrivate.h:
1560         * UIProcess/API/gtk/WebKitWebView.cpp:
1561         (webkitWebViewPrintFrame): Check whether the dialog has been
1562         cancelled or not and connect to finish when the print operation is
1563         in progress to release the print operation object when printing
1564         finishes.
1565         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add
1566         WebKitPrintOperationResponse symbol.
1567         * UIProcess/API/gtk/tests/TestPrinting.cpp:
1568         (testPrintOperationPrintFinished): Use finished instead of done.
1569         (testPrintOperationPrint): Ditto.
1570
1571 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
1572
1573         [GTK] Add webkit_print_operation_print() to WebKit2 GTK+ API
1574         https://bugs.webkit.org/show_bug.cgi?id=76536
1575
1576         Reviewed by Gustavo Noronha Silva.
1577
1578         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
1579         (webkitPrintOperationPrintPagesForFrame): Helper function to call
1580         WebPageProxy::drawPagesForPrinting using the given
1581         GtkPrintSettings and GtkPageSetup.
1582         (webkitPrintOperationRunDialogForFrame): Use
1583         webkitPrintOperationPrintPagesForFrame().
1584         (webkit_print_operation_print): Print directly using current
1585         GtkPrintSettings and GtkPageSetup without showing the print
1586         dialog.
1587         * UIProcess/API/gtk/WebKitPrintOperation.h:
1588         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
1589         * UIProcess/API/gtk/tests/GNUmakefile.am:
1590         * UIProcess/API/gtk/tests/TestPrinting.cpp:
1591         (testPrintOperationPrintLoadChanged):
1592         (testPrintOperationPrintDone):
1593         (testPrintOperationPrintPrinter):
1594         (testPrintOperationPrint):
1595         (beforeAll):
1596         (afterAll):
1597
1598 2012-02-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
1599
1600         [Qt][WK2] Allow partial updates
1601         https://bugs.webkit.org/show_bug.cgi?id=78824
1602
1603         Instead of using UpdateInfo to fill the entire tile's texture, we use it as a patch that
1604         contains only the dirty rectangle of the current paint. This requires a lot less memory
1605         for small updates, for example when typing a text in an input field.
1606         This shows a significant reduction in overhead when testing on Mac with Instruments.
1607
1608         Reviewed by Simon Hausmann.
1609
1610         * UIProcess/qt/LayerBackingStore.cpp:
1611         (WebKit::LayerBackingStoreTile::swapBuffers):
1612         (WebKit::LayerBackingStoreTile::setBackBuffer):
1613         (WebKit):
1614         (WebKit::LayerBackingStore::updateTile):
1615         * UIProcess/qt/LayerBackingStore.h:
1616         (LayerBackingStoreTile):
1617         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
1618         (WebKit::LayerTreeHostProxy::updateTileForLayer):
1619         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
1620         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
1621
1622 2012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
1623
1624         [GTK] Make sure print operation object is alive until printing finishes in WebKit2
1625         https://bugs.webkit.org/show_bug.cgi?id=78829
1626
1627         Reviewed by Martin Robinson.
1628
1629         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
1630         (drawPagesForPrintingCompleted): Adopt the WebKitPrintOperation
1631         reference so that it's released when the callback finishes.
1632         (webkitPrintOperationRunDialogForFrame): Pass a reference of
1633         WebKitPrintOperation to the printing callback.
1634
1635 2012-02-15  Geoffrey Garen  <ggaren@apple.com>
1636
1637         Made Weak<T> single-owner, adding PassWeak<T>
1638         https://bugs.webkit.org/show_bug.cgi?id=78740
1639
1640         Reviewed by Sam Weinig.
1641
1642         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1643         (WebKit::NPRuntimeObjectMap::getOrCreateJSObject): Use raw pointer and
1644         PassWeak<T>, as required by our new hash map API.
1645
1646 2012-02-16  Sergio Villar Senin  <svillar@igalia.com>
1647
1648         [soup] Move important SoupSession feature initialization to WebCore
1649         https://bugs.webkit.org/show_bug.cgi?id=68602
1650
1651         Reviewed by Martin Robinson.
1652
1653         Moved content sniffer and decoder initialization from the
1654         WebProcess to WebCore because network stuff will not work as
1655         expected without them.
1656
1657         No new tests required as we're just moving stuff from the
1658         WebProcess to WebCore.
1659
1660         * WebProcess/gtk/WebProcessMainGtk.cpp:
1661         (WebKit::WebProcessMainGtk):
1662
1663 2012-02-16  Philippe Normand  <pnormand@igalia.com>
1664
1665         Unreviewed, rolling out r107941.
1666         http://trac.webkit.org/changeset/107941
1667         https://bugs.webkit.org/show_bug.cgi?id=68602
1668
1669         Broke 23 http tests on GTK
1670
1671         * WebProcess/gtk/WebProcessMainGtk.cpp:
1672         (WebKit::WebProcessMainGtk):
1673
1674 2012-02-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
1675
1676         [Texmap] Improve the way we deal with BGRA extension
1677         https://bugs.webkit.org/show_bug.cgi?id=78822
1678
1679         Get rid of swizzling in the web process. Instead, we moved swizzling back to
1680         TextureMapperGL, as we're moving towards a setup where textures are uploaded
1681         in the web process.
1682
1683         Reviewed by Kenneth Rohde Christiansen.
1684
1685         * UIProcess/qt/LayerBackingStore.cpp:
1686         (WebKit::LayerBackingStoreTile::swapBuffers):
1687         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
1688         (WebKit::LayerTreeHostProxy::createImage):
1689         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
1690         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
1691         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
1692         (WebKit::LayerTreeHostQt::adoptImageBackingStore):
1693
1694 2012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
1695
1696         Unreviewed. Fix WebKit2 GTK+ build after r107947.
1697
1698         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
1699         (webkitPrintOperationRunDialogForFrame):
1700
1701 2012-02-16  Alexander Færøy  <ahf@0x90.dk>
1702
1703         [Qt] Fix linking in debug builds on Mac OS X
1704         https://bugs.webkit.org/show_bug.cgi?id=78811
1705
1706         Reviewed by Kenneth Rohde Christiansen.
1707
1708         * UIProcess/API/qt/tests/bytearraytestdata.h:
1709
1710 2012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
1711
1712         [GTK] Page content is incorrectly translated whenh rendering pages for printing in WebKit2
1713         https://bugs.webkit.org/show_bug.cgi?id=78712
1714
1715         Reviewed by Martin Robinson.
1716
1717         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
1718         (WebKit::WebPrintOperationGtk::enumeratePrintersFunction):
1719         Simplify the code to select the printer.
1720         (WebKit::WebPrintOperationGtk::renderPage): Call cairo_save()
1721         before rendering the page and cairo_restore() when page has been
1722         rendered.
1723
1724 2012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
1725
1726         [GTK] Add WebKitPrintOperation to WebKit2 GTK+ API
1727         https://bugs.webkit.org/show_bug.cgi?id=76448
1728
1729         Reviewed by Martin Robinson.
1730
1731         * GNUmakefile.am: Add new files to compilation.
1732         * UIProcess/API/gtk/WebKitDefines.h:
1733         * UIProcess/API/gtk/WebKitPrintOperation.cpp: Added.
1734         (webViewDestroyed): Delete the print operation when the view
1735         widget associated is destroyed.
1736         (webkitPrintOperationConstructed): Connect to destroy signal of
1737         associated web view.
1738         (webkitPrintOperationGetProperty):
1739         (webkitPrintOperationSetProperty):
1740         (webkit_print_operation_init):
1741         (webkit_print_operation_class_init):
1742         (webkitPrintOperationRunDialogUnix): Use GtkPrintUnixDialog to
1743         show the printing dialog in UNIX platforms.
1744         (webkitPrintOperationRunDialogWin32): Empty, not implemented yet.
1745         (drawPagesForPrintingCompleted): Callback called when printing
1746         operation has finished in the web process.
1747         (webkitPrintOperationRunDialogForFrame): Run the printing dialog
1748         and start printing the given frame.
1749         (webkit_print_operation_new): Create a new print operation for the
1750         given web view.
1751         (webkit_print_operation_get_print_settings):
1752         (webkit_print_operation_set_print_settings):
1753         (webkit_print_operation_get_page_setup):
1754         (webkit_print_operation_set_page_setup):
1755         (webkit_print_operation_run_dialog): Run the print dialog to print
1756         the web view main frame.
1757         * UIProcess/API/gtk/WebKitPrintOperation.h: Added.
1758         * UIProcess/API/gtk/WebKitPrintOperationPrivate.h: Added.
1759         * UIProcess/API/gtk/WebKitUIClient.cpp:
1760         (printFrame): Call webkitWebViewPrintFrame.
1761         (attachUIClientToView): Add implementation for
1762         printFrame callback.
1763         * UIProcess/API/gtk/WebKitWebView.cpp:
1764         (webkit_web_view_class_init): Add WebKitWebView::print-requested
1765         signal.
1766         (webkitWebViewPrintFrame): Emit print-requested and show the print
1767         dialog to print the frame when not signal is not handled by user.
1768         * UIProcess/API/gtk/WebKitWebView.h:
1769         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
1770         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
1771         WebKitPrintOperation.
1772         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
1773         * UIProcess/API/gtk/tests/GNUmakefile.am:
1774         * UIProcess/API/gtk/tests/TestPrinting.cpp: Added.
1775         (testPrintOperationPrintSettings):
1776         (webViewPrintRequestedCallback):
1777         (testWebViewPrintRequested):
1778         (beforeAll):
1779         (afterAll):
1780         * UIProcess/API/gtk/webkit2.h: Include WebKitPrintOperation.h.
1781
1782 2012-02-16  Simon Hausmann  <simon.hausmann@nokia.com>
1783
1784         [Gtk][Efl][Qt] Move OpenGLShims out of cairo/ subdirectory
1785         https://bugs.webkit.org/show_bug.cgi?id=78800
1786
1787         Reviewed by Kenneth Rohde Christiansen.
1788
1789         * UIProcess/qt/LayerTreeHostProxyQt.cpp: Adjust to changed OpenGLShims.h
1790         location - no more cairo prefix needed.
1791
1792 2012-02-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
1793
1794         [Qt][WK2] Allow opaque tiles
1795         https://bugs.webkit.org/show_bug.cgi?id=78809
1796
1797         Set the supportsAlpha flag for TiledBackingStore when the layer has contentsOpaque enabled.
1798         Use the flag for ShareableBitmaps created by TiledBackingStore.
1799
1800         For now this will not have impact on performance/memory, because we allocate the same type
1801         of buffers for opaque and transparent tiles.
1802
1803         Reviewed by Kenneth Rohde Christiansen.
1804
1805         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
1806         (WebCore::WebGraphicsLayer::setContentsOpaque):
1807         (WebCore::WebGraphicsLayer::setContentsScale):
1808         (WebCore::WebGraphicsLayer::createBackingStore):
1809         (WebCore):
1810         (WebCore::WebGraphicsLayer::updateContentBuffers):
1811         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
1812         (WebGraphicsLayer):
1813         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
1814         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
1815
1816 2012-02-16  Sergio Villar Senin  <svillar@igalia.com>
1817
1818         [soup] Move important SoupSession feature initialization to WebCore
1819         https://bugs.webkit.org/show_bug.cgi?id=68602
1820
1821         Reviewed by Martin Robinson.
1822
1823         Moved content sniffer and decoder initialization from the
1824         WebProcess to WebCore because network stuff will not work as
1825         expected without them.
1826
1827         No new tests required as we're just moving stuff from the
1828         WebProcess to WebCore.
1829
1830         * WebProcess/gtk/WebProcessMainGtk.cpp:
1831         (WebKit::WebProcessMainGtk):
1832
1833 2012-02-16  Adenilson Cavalcanti  <cavalcantii@gmail.com>
1834
1835         [Qt][WK2] Split QWebPermissionRequest into QWebSecurityOrigin
1836         https://bugs.webkit.org/show_bug.cgi?id=73215
1837
1838         Reviewed by Kenneth Rohde Christiansen.
1839
1840         Introducing a new class to expose security origin information
1841         (port/scheme/etc), useful for inspecting the origin of permission
1842         requests.
1843
1844         * Target.pri:
1845         * UIProcess/API/qt/qtwebsecurityorigin.cpp: Added.
1846         (QtWebSecurityOrigin::QtWebSecurityOrigin):
1847         (QtWebSecurityOrigin::~QtWebSecurityOrigin):
1848         (QtWebSecurityOrigin::host):
1849         (QtWebSecurityOrigin::scheme):
1850         (QtWebSecurityOrigin::path):
1851         (QtWebSecurityOrigin::port):
1852         (QtWebSecurityOrigin::setHost):
1853         (QtWebSecurityOrigin::setScheme):
1854         (QtWebSecurityOrigin::setPath):
1855         (QtWebSecurityOrigin::setPort):
1856         * UIProcess/API/qt/qtwebsecurityorigin_p.h: Added.
1857         * UIProcess/API/qt/tests/qmltests/WebView/tst_origin.qml: Added.
1858         * UIProcess/API/qt/qwebpermissionrequest.cpp:
1859         (QWebPermissionRequestPrivate::QWebPermissionRequestPrivate):
1860         (QWebPermissionRequest::securityOrigin):
1861         * UIProcess/API/qt/qwebpermissionrequest_p.h:
1862         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
1863
1864 2012-02-16  Patrick Gansterer  <paroga@webkit.org>
1865
1866         [CMake] Add missing include directories.
1867
1868         * CMakeLists.txt:
1869
1870 2012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
1871
1872         [GTK] Document that local paths in html loaded with loadHTML might cause the web process to terminate
1873         https://bugs.webkit.org/show_bug.cgi?id=78719
1874
1875         Reviewed by Martin Robinson.
1876
1877         * UIProcess/API/gtk/WebKitWebView.cpp:
1878
1879 2012-02-15  Anders Carlsson  <andersca@apple.com>
1880
1881         Add TiledCoreAnimationDrawingArea::forceRepaint
1882         https://bugs.webkit.org/show_bug.cgi?id=78749
1883         <rdar://problem/10866221>
1884
1885         Reviewed by Sam Weinig.
1886
1887         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1888         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1889         (WebKit::TiledCoreAnimationDrawingArea::forceRepaint):
1890         Force a repaint and synchronize the layer tree to the UI process.
1891
1892 2012-02-15  Enrica Casucci  <enrica@apple.com>
1893
1894         Refactor ClipboardMac class to use PlatformStrategies.
1895         https://bugs.webkit.org/show_bug.cgi?id=78554
1896
1897         Reviewed by Anders Carlsson.
1898
1899         * WebProcess/WebCoreSupport/WebDragClient.h: Changed method signature to reference
1900         the pasteboard by name.
1901         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added new methods.
1902         (WebKit::WebPlatformStrategies::changeCount):
1903         (WebKit::WebPlatformStrategies::uniqueName):
1904         * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Ditto.
1905         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
1906         (WebKit::WebDragClient::declareAndWriteDragImage): Changed method signature to reference
1907         the pasteboard by name.
1908
1909 2012-02-15  Sadrul Habib Chowdhury  <sadrul@chromium.org>
1910
1911         Notify ChromeClient when touch-event handlers are installed/removed.
1912         https://bugs.webkit.org/show_bug.cgi?id=77440
1913
1914         Reviewed by Darin Fisher and Ryosuke Niwa.
1915
1916         * UIProcess/WebPageProxy.h:
1917         (WebKit::WebPageProxy::numTouchEventHandlersChanged):
1918         * WebProcess/WebCoreSupport/WebChromeClient.h:
1919
1920 2012-02-15  Patrick Gansterer  <paroga@webkit.org>
1921
1922         [CMake] Move RunLoop to WebCore/platform
1923         https://bugs.webkit.org/show_bug.cgi?id=78504
1924
1925         Reviewed by Adam Roben.
1926
1927         * CMakeLists.txt: Remove RunLoop.cpp from list of souces.
1928
1929 2012-02-14  Simon Hausmann  <simon.hausmann@nokia.com>
1930
1931         [Qt] Eliminate first set of QtWidgets dependencies from WebCore
1932         https://bugs.webkit.org/show_bug.cgi?id=78611
1933
1934         Reviewed by Kenneth Rohde Christiansen.
1935
1936         * UIProcess/qt/QtWebPageEventHandler.cpp: Add missing QCursor include
1937         to fix compilation.
1938
1939 2012-02-15  Roland Steiner  <rolandsteiner@chromium.org>
1940
1941         <style scoped>: Allow <style scoped> as a direct child of a ShadowRoot
1942         https://bugs.webkit.org/show_bug.cgi?id=77853
1943
1944         numberOfScopedHTMLStyleChildren got moved from Element into Node.
1945
1946         Reviewed by Dimitri Glazkov.
1947
1948         * win/WebKit2.def:
1949         * win/WebKit2CFLite.def:
1950
1951 2012-02-15  No'am Rosenthal  <noam.rosenthal@nokia.com>
1952
1953         [Texmap] Divide TextureMapperNode.cpp to 3 files.
1954         https://bugs.webkit.org/show_bug.cgi?id=76660
1955
1956         Rename TextureMapperNode to TextureMapperLayer.
1957
1958         Reviewed by Kenneth Rohde Christiansen.
1959
1960         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
1961         (WebKit::LayerTreeHostProxy::createLayer):
1962         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
1963         (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
1964         (WebKit::LayerTreeHostProxy::getBackingStore):
1965         (WebKit::LayerTreeHostProxy::ensureRootLayer):
1966         (WebKit::LayerTreeHostProxy::purgeGLResources):
1967
1968 2012-02-14  Anders Carlsson  <andersca@apple.com>
1969
1970         Swipe gestures don't work if main frame has a horizontal scrollbar
1971         https://bugs.webkit.org/show_bug.cgi?id=78650
1972         <rdar://problem/10864993>
1973
1974         Reviewed by Sam Weinig.
1975
1976         * WebProcess/WebPage/EventDispatcher.cpp:
1977         (WebKit::EventDispatcher::wheelEvent):
1978         ScrollingTree::tryToHandleWheelEvent now returns a tri-state enum so handle the extra case.
1979
1980         (WebKit::EventDispatcher::sendDidReceiveEvent):
1981         Rename this now that it takes a parameter indicating whether the event was handled or not.
1982
1983 2012-02-14  Brian Weinstein  <bweinstein@apple.com>
1984
1985         Web Inspector: Add the ability to show the resources panel on launch
1986         https://bugs.webkit.org/show_bug.cgi?id=78641
1987         
1988         Add WebKit2 API for the ability to show the resources panel. This calls down
1989         from the WK API all the way to InspectorFrontendClientLocal::showResources.
1990
1991         Reviewed by Timothy Hatcher.
1992
1993         * UIProcess/API/C/WKInspector.cpp:
1994         (WKInspectorShowResources): Call WebInspectorProxy::showResources.
1995         * UIProcess/API/C/WKInspector.h:
1996         * UIProcess/WebInspectorProxy.cpp:
1997         (WebKit::WebInspectorProxy::showResources): Send a message to the web process.
1998         * UIProcess/WebInspectorProxy.h:
1999         * WebProcess/WebPage/WebInspector.cpp:
2000         (WebKit::WebInspector::showResources): Call InspectorFrontendClientLocal::showResources.
2001         * WebProcess/WebPage/WebInspector.h:
2002         * WebProcess/WebPage/WebInspector.messages.in: Add a ShowResources message.
2003
2004 2012-02-14  Matt Lilek  <mrl@apple.com>
2005
2006         Don't ENABLE_DASHBOARD_SUPPORT unconditionally on all Mac platforms
2007         https://bugs.webkit.org/show_bug.cgi?id=78629
2008
2009         Reviewed by David Kilzer.
2010
2011         * Configurations/FeatureDefines.xcconfig:
2012
2013 2012-02-13  Raphael Kubo da Costa  <kubo@profusion.mobi>
2014
2015         [CMake] Merge WebKitEfl.cmake into FindEFL.cmake.
2016         https://bugs.webkit.org/show_bug.cgi?id=78566
2017
2018         Reviewed by Daniel Bates.
2019
2020         * PlatformEfl.cmake: Do not include WebKitEfl.cmake.
2021
2022 2012-02-14  No'am Rosenthal  <noam.rosenthal@nokia.com>
2023
2024         [Qt][Texmap] Refactor backing-store code in TextureMapper
2025         https://bugs.webkit.org/show_bug.cgi?id=78305
2026
2027         Move the backing-store code to LayerTreeBackingStore, implementing the virtual functions
2028         in TextureMapperBackingStore.
2029         We save the double-buffered tile in the backing-store, and then convert them to regular
2030         tiles in updateContents, based on the order of painting.
2031         Use TextureMapperCompositedImage for images instead of saving our own composited image
2032         registry.
2033
2034         Reviewed by Kenneth Rohde Christiansen.
2035
2036         * Target.pri:
2037         * UIProcess/LayerTreeHostProxy.h:
2038         (WebKit):
2039         (LayerTreeHostProxy):
2040         * UIProcess/qt/LayerBackingStore.cpp: Added.
2041         * UIProcess/qt/LayerBackingStore.h: Added.
2042         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2043         (WebKit::LayerTreeHostProxy::createLayer):
2044         (WebKit::LayerTreeHostProxy::syncLayerParameters):
2045         (WebKit::LayerTreeHostProxy::getBackingStore):
2046         (WebKit::LayerTreeHostProxy::createTile):
2047         (WebKit::LayerTreeHostProxy::removeTile):
2048         (WebKit::LayerTreeHostProxy::updateTile):
2049         (WebKit::LayerTreeHostProxy::createImage):
2050         (WebKit::LayerTreeHostProxy::assignImageToLayer):
2051         (WebKit::LayerTreeHostProxy::purgeGLResources):
2052         * WebProcess.pro:
2053
2054
2055 2012-02-14  Shinya Kawanaka  <shinyak@google.com>
2056
2057         Use youngestShadowRoot and oldestShadowRoot instead of Element::shadowRoot().
2058         https://bugs.webkit.org/show_bug.cgi?id=78455
2059
2060         Reviewed by Hajime Morita.
2061
2062         Exports necesarry symbols.
2063
2064         * win/WebKit2.def:
2065         * win/WebKit2CFLite.def:
2066
2067 2012-02-14  Alexey Proskuryakov  <ap@apple.com>
2068
2069         [Mac][Win][WK2] Switch to RFC 6455 protocol for WebSockets
2070         https://bugs.webkit.org/show_bug.cgi?id=78541
2071         <rdar://problem/10036695>
2072
2073         Reviewed by Kent Tamura.
2074
2075         * Shared/WebPreferencesStore.h: (WebKit): Changed default value of the preference.
2076
2077 2012-02-13  W. James MacLean  <wjmaclean@chromium.org>
2078
2079         [chromium] Remove obsolete zoom animation pathway.
2080         https://bugs.webkit.org/show_bug.cgi?id=78359
2081
2082         Reviewed by James Robinson.
2083
2084         This patch removes dead code from the previous incarnation of zoom animation for chromium.
2085
2086         WebProcess/Plugins/PDF/BuiltInPDFView.h:
2087         (BuiltInPDFView):
2088
2089 2012-02-13  Enrica Casucci  <enrica@apple.com>
2090
2091         Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies.
2092         https://bugs.webkit.org/show_bug.cgi?id=78282
2093
2094         This patch removes any accesss to the NSPasteboard object from the Pasteboard class which
2095         now makes use of a new pasteboardStrategy object that is implemented both in WebKit and
2096         WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard
2097         class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy
2098         interface but this one more step in the direction of removing access to NSPasteboard from
2099         the WebProcess.
2100         As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes.
2101
2102         Reviewed by Anders Carlsson.
2103
2104         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added implementation of PasteboardStrategy
2105         interface.
2106         (WebKit::WebPlatformStrategies::createPasteboardStrategy):
2107         (WebKit::WebPlatformStrategies::getTypes):
2108         (WebKit::WebPlatformStrategies::bufferForType):
2109         (WebKit::WebPlatformStrategies::getPathnamesForType):
2110         (WebKit::WebPlatformStrategies::stringForType):
2111         (WebKit::WebPlatformStrategies::copy):
2112         (WebKit::WebPlatformStrategies::setTypes):
2113         (WebKit::WebPlatformStrategies::setBufferForType):
2114         (WebKit::WebPlatformStrategies::setPathnamesForType):
2115         (WebKit::WebPlatformStrategies::setStringForType):
2116         * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Added PasteboardStrategy.
2117
2118 2012-02-13  Anders Carlsson  <andersca@apple.com>
2119
2120         The scrolling tree needs to know about the back forward state of the page
2121         https://bugs.webkit.org/show_bug.cgi?id=78523
2122         <rdar://problem/10756548>
2123
2124         Reviewed by Sam Weinig.
2125
2126         Pass the back/forward state in the WheelEvent message. This is pretty hacky but works well.
2127
2128         * Platform/CoreIPC/HandleMessage.h:
2129         (CoreIPC):
2130         (CoreIPC::callMemberFunction):
2131         * UIProcess/WebPageProxy.cpp:
2132         (WebKit::WebPageProxy::handleWheelEvent):
2133         (WebKit::WebPageProxy::didReceiveEvent):
2134         * WebProcess/WebPage/EventDispatcher.cpp:
2135         (WebKit::EventDispatcher::wheelEvent):
2136         * WebProcess/WebPage/EventDispatcher.h:
2137         (EventDispatcher):
2138         * WebProcess/WebPage/EventDispatcher.messages.in:
2139
2140 2012-02-13  Dan Bernstein  <mitz@apple.com>
2141
2142         WebKit2 build emits a warning about not stripping code-signed PluginProcess.app when copying it into the framework
2143         https://bugs.webkit.org/show_bug.cgi?id=78451
2144
2145         Reviewed by Sam Weinig.
2146
2147         * Configurations/Base.xcconfig: Set COPY_PHASE_STRIP to NO.
2148
2149 2012-02-13  Sam Weinig  <sam@webkit.org>
2150
2151         Windows build fix.
2152
2153         * UIProcess/win/WebPopupMenuProxyWin.cpp:
2154         (WebKit::WebPopupMenuProxyWin::scrollToRevealSelection):
2155
2156 2012-02-13  Zalan Bujtas  <zbujtas@gmail.com>
2157
2158         Manage ShareableBitmap object lifecycle properly, when QImage is created
2159         using the shared data.
2160         https://bugs.webkit.org/show_bug.cgi?id=77546
2161
2162         Reviewed by Simon Hausmann.
2163
2164         * Shared/ShareableBitmap.h:
2165         (ShareableBitmap):
2166         * Shared/qt/ShareableBitmapQt.cpp:
2167         (WebKit::ShareableBitmap::createQImage):
2168         (WebKit):
2169         (WebKit::ShareableBitmap::releaseSharedMemoryData):
2170
2171 2012-02-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
2172
2173         [EFL] Drop support for the Curl network backend.
2174         https://bugs.webkit.org/show_bug.cgi?id=77874
2175
2176         Reviewed by Eric Seidel.
2177
2178         Nobody seems to be maintaining the Curl backend in WebCore, the
2179         EFL port developers all seem to be using the Soup backend and the
2180         port itself has many features which are only implemented for the
2181         latter.
2182
2183         * PlatformEfl.cmake: Unconditionally build the glib/soup source
2184         files and unconditionally add the required include directories and
2185         libraries.
2186         * WebProcess/efl/WebProcessMainEfl.cpp:
2187         (WebKit::WebProcessMainEfl): Remove USE(SOUP) check.
2188
2189 2012-02-11  Sheriff Bot  <webkit.review.bot@gmail.com>
2190
2191         Unreviewed, rolling out r107435.
2192         http://trac.webkit.org/changeset/107435
2193         https://bugs.webkit.org/show_bug.cgi?id=78410
2194
2195         It broke the Qt build (Requested by Ossy on #webkit).
2196
2197         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2198         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
2199         (WebPlatformStrategies):
2200
2201 2012-02-10  Brian Weinstein  <bweinstein@apple.com>
2202
2203         Web Inspector: Add the ability to jump to the source for a given frame
2204         https://bugs.webkit.org/show_bug.cgi?id=78396
2205         
2206         Add WebKit2 API for the ability to show the source of a frame in the web inspector. This calls down
2207         from the WK API all the way to InspectorFrontendClientLocal::showMainResourceForFrame.
2208
2209         Reviewed by Tim Hatcher.
2210
2211         * UIProcess/API/C/WKInspector.cpp:
2212         (WKInspectorShowMainResourceForFrame): Call WebInspectorProxy::showMainResourceForFrame.
2213         * UIProcess/API/C/WKInspector.h:
2214
2215         * UIProcess/WebInspectorProxy.cpp:
2216         (WebKit::WebInspectorProxy::showMainResourceForFrame): Send a message to the web process, passing
2217             the frame ID of the frame we want to show the main resource of.
2218         * UIProcess/WebInspectorProxy.h:
2219
2220         * WebProcess/WebPage/WebInspector.cpp:
2221         (WebKit::WebInspector::showMainResourceForFrame): Get the WebFrame for the frame we want to show the
2222             main resource of from its ID. If we found a frame, call InspectorFrontendClientLocal::showMainResourceForFrame.
2223         * WebProcess/WebPage/WebInspector.h:
2224         
2225         * WebProcess/WebPage/WebInspector.messages.in: Add a new message.
2226
2227 2012-02-10  Adam Klein  <adamk@chromium.org>
2228
2229         Enable MUTATION_OBSERVERS by default on all platforms
2230         https://bugs.webkit.org/show_bug.cgi?id=78196
2231
2232         Reviewed by Ojan Vafai.
2233
2234         * Configurations/FeatureDefines.xcconfig:
2235
2236 2012-02-10  Enrica Casucci  <enrica@apple.com>
2237
2238         Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies.
2239         https://bugs.webkit.org/show_bug.cgi?id=78282
2240
2241         This patch removes any accesss to the NSPasteboard object from the Pasteboard class which
2242         now makes use of a new pasteboardStrategy object that is implemented both in WebKit and
2243         WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard
2244         class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy
2245         interface but this one more step in the direction of removing access to NSPasteboard from
2246         the WebProcess.
2247         As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes.
2248         
2249         Reviewed by Anders Carlsson.
2250
2251         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added implementation of PasteboardStrategy
2252         interface.
2253         (WebKit::WebPlatformStrategies::createPasteboardStrategy):
2254         (WebKit::WebPlatformStrategies::getTypes):
2255         (WebKit::WebPlatformStrategies::bufferForType):
2256         (WebKit::WebPlatformStrategies::getPathnamesForType):
2257         (WebKit::WebPlatformStrategies::stringForType):
2258         (WebKit::WebPlatformStrategies::copy):
2259         (WebKit::WebPlatformStrategies::setTypes):
2260         (WebKit::WebPlatformStrategies::setBufferForType):
2261         (WebKit::WebPlatformStrategies::setPathnamesForType):
2262         (WebKit::WebPlatformStrategies::setStringForType):
2263         * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Added PasteboardStrategy.
2264
2265 2012-02-09  Timothy Hatcher  <timothy@apple.com>
2266
2267         Prevent attaching when inspecting the Web Inspector.
2268
2269         Also adds some comments about keeping in sync with InspectorFrontendClientLocal::canAttachWindow
2270         and why there are two implementations of the same function.
2271
2272         https://webkit.org/b/78304
2273
2274         Reviewed by Brian Weinstein.
2275
2276         * UIProcess/WebInspectorProxy.cpp:
2277         (WebKit::WebInspectorProxy::canAttach): Prevent attaching when the page is an inspector page.
2278         Added comments about InspectorFrontendClientLocal::canAttachWindow.
2279         * UIProcess/WebInspectorProxy.h:
2280         (WebInspectorProxy): Added comment about keeping in sync with InspectorFrontendClientLocal.
2281
2282 2012-02-09  Alexey Proskuryakov  <ap@apple.com>
2283
2284         Managed network proxy settings are not used in WebProcess
2285         https://bugs.webkit.org/show_bug.cgi?id=78288
2286         <rdar://problem/9962116>
2287
2288         Reviewed by Anders Carlsson.
2289
2290         * WebProcess/com.apple.WebProcess.sb: Allow reading managed preferences.
2291
2292 2012-02-09  Alexey Proskuryakov  <ap@apple.com>
2293
2294         ASSERTION FAILED: checkURLReceivedFromWebProcess(originalURL) loading a local file, if the WebProcess crashed
2295         https://bugs.webkit.org/show_bug.cgi?id=70845
2296         <rdar://problem/10269985>
2297
2298         Reviewed by Anders Carlsson.
2299
2300         This also fixes some case where WebProcess did not get a sandbox extension after a crash.
2301
2302         * UIProcess/WebPageProxy.cpp:
2303         (WebKit::WebPageProxy::reattachToWebProcessWithItem): We no longer need to pass a sandbox
2304         extension here, we're now passing it at b/f navigation bottleneck.
2305         (WebKit::WebPageProxy::reload): Pass a sandbox extension - reload may mean reloading an error
2306         page after a crash, so WebProcess may no longer have the extension.
2307         (WebKit::WebPageProxy::goForward): We no longer need to pass a sandbox extension here,
2308         we're now passing it at b/f navigation bottleneck. Also, fixed a bug where we first null checked
2309         a WebBackForwardListItem pointer, and then used it anyway.
2310         (WebKit::WebPageProxy::goBack): Ditto.
2311         (WebKit::WebPageProxy::goToBackForwardItem): Ditto.
2312         (WebKit::WebPageProxy::backForwardGoToItem): This is the bottleneck. We get here both for UI
2313         actions like pressing the Back button, and for window.history.go() navigations. JS navigations
2314         previously didn't open up the sandbox. URLs in UI process b/f list are trusted, so it's
2315         always OK to grant a sandbox extension if one of them is a file: one.
2316
2317         * UIProcess/WebPageProxy.h: backForwardGoToItem() now returns a sandbox extension handle.
2318
2319         * UIProcess/WebPageProxy.messages.in: Ditto.
2320
2321         * UIProcess/WebProcessProxy.cpp:
2322         (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess): If a URL is in UI process b/f
2323         list, then it has been already vetted as something the Web process knows about. No need to
2324         crash if it actually attempts going there.
2325         (WebKit::WebProcessProxy::didReceiveInvalidMessage): Removed a useless comment (we have tons
2326         of fprintfs besides this one). Fixed log message syntax.
2327
2328         * UIProcess/cf/WebPageProxyCF.cpp: (WebKit::WebPageProxy::restoreFromSessionStateData):
2329         We no longer need to pass a sandbox extension here, we're now passing it at b/f navigation
2330         bottleneck. 
2331
2332         * WebProcess/WebPage/WebBackForwardListProxy.cpp: (WebKit::WebBackForwardListProxy::goToItem):
2333         We now get an extension here, when telling UI process that we're navigating to a b/f list item.
2334
2335         * WebProcess/WebPage/WebPage.cpp:
2336         (WebKit::WebPage::reload): Use the extension we're getting.
2337         (WebKit::WebPage::goForward): Don't use one we're not getting.
2338         (WebKit::WebPage::goBack): Ditto.
2339         (WebKit::WebPage::goToBackForwardItem): Ditto.
2340         (WebKit::WebPage::restoreSessionAndNavigateToCurrentItem): Ditto.
2341
2342         * WebProcess/WebPage/WebPage.h: Adjusted signatures accordingly.
2343
2344         * WebProcess/WebPage/WebPage.messages.in: Ditto.
2345
2346 2012-02-09  Matthew Delaney  <mdelaney@apple.com>
2347
2348         HiDPI: WebKit2's drag images are blurry
2349         https://bugs.webkit.org/show_bug.cgi?id=67779
2350
2351         Use the proper deviceScaleFactor() instead of accessing _intrinsicDeviceScaleFactor
2352
2353         Reviewed by Beth Dakin.
2354
2355         * UIProcess/API/mac/WKView.mm:
2356         (-[WKView _setDragImage:at:linkDrag:]):
2357
2358 2012-02-09  Alexey Proskuryakov  <ap@apple.com>
2359
2360         [WK2] Allow reading some debug-only preference files
2361         https://bugs.webkit.org/show_bug.cgi?id=78255
2362         <rdar://problem/9382382>
2363         <rdar://problem/10830558>
2364
2365         Reviewed by Dan Bernstein.
2366
2367         * WebProcess/com.apple.WebProcess.sb:
2368
2369 2012-02-09  Matthew Delaney  <mdelaney@apple.com>
2370
2371         HiDPI: WebKit2's link-dragging images are blurry
2372         https://bugs.webkit.org/show_bug.cgi?id=67779
2373
2374         Reviewed by Beth Dakin.
2375
2376         Teach startDrag about the deviceScaleFactor so that it creates
2377         an appropriately scaled bitmap image to ship over.
2378         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
2379         (WebKit::WebDragClient::startDrag):
2380         (WebKit::convertImageToBitmap):
2381
2382         Have setDragImage assume that it's receiving a bitmap image scaled
2383         up by the deviceScaleFactor that it sees.
2384         * UIProcess/API/mac/WKView.mm:
2385         (-[WKView _setDragImage:at:linkDrag:]):
2386
2387 2012-02-09  Carlos Garcia Campos  <cgarcia@igalia.com>
2388
2389         [GTK] Add WebKitWebView::mouse-target-changed signal to WebKit2 GTK+ API
2390         https://bugs.webkit.org/show_bug.cgi?id=78097
2391
2392         Reviewed by Martin Robinson.
2393
2394         * GNUmakefile.am: Add new files to compilation.
2395         * UIProcess/API/gtk/WebKitHitTestResult.cpp: Added.
2396         (webkitHitTestResultFinalize):
2397         (webkitHitTestResultGetProperty):
2398         (webkitHitTestResultSetProperty):
2399         (webkit_hit_test_result_init):
2400         (webkit_hit_test_result_class_init):
2401         (webkitHitTestResultCreate): Create a new WebKitHitTestResult for
2402         the given WKHitTestResult.
2403         (stringIsEqualToCString): Helper function to compare String and
2404         CString considering String::isEmpty() == CString.isNull().
2405         (webkitHitTestResultCompare): Helper function to check whether a
2406         WebKitHitTestResult contains the same information than the given
2407         WKHitTestResult.
2408         (webkit_hit_test_result_get_context):
2409         (webkit_hit_test_result_context_is_link):
2410         (webkit_hit_test_result_context_is_image):
2411         (webkit_hit_test_result_context_is_media):
2412         (webkit_hit_test_result_get_link_uri):
2413         (webkit_hit_test_result_get_link_title):
2414         (webkit_hit_test_result_get_link_label):
2415         (webkit_hit_test_result_get_image_uri):
2416         (webkit_hit_test_result_get_media_uri):
2417         * UIProcess/API/gtk/WebKitHitTestResult.h: Added.
2418         * UIProcess/API/gtk/WebKitHitTestResultPrivate.h:
2419         * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
2420         (webkitNavigationPolicyDecisionCreate): Use
2421         wkEventModifiersToGdkModifiers.
2422         * UIProcess/API/gtk/WebKitPrivate.cpp:
2423         (wkEventModifiersToGdkModifiers): Moved from
2424         WebKitNavigationPolicyDecision and renamed to wkEventModifiersToGdkModifiers.
2425         * UIProcess/API/gtk/WebKitPrivate.h:
2426         * UIProcess/API/gtk/WebKitUIClient.cpp:
2427         (mouseDidMoveOverElement): UI client callback that calls
2428         webkitWebViewMouseTargetChanged().
2429         (attachUIClientToView): Add implementation for callback
2430         mouseDidMoveOverElement.
2431         * UIProcess/API/gtk/WebKitWebView.cpp:
2432         (webkit_web_view_class_init): Add
2433         WebKitWebView::mouse-target-changed signal.
2434         (webkitWebViewMouseTargetChanged): Emit
2435         WebKitWebView::mouse-target-changed signal.
2436         * UIProcess/API/gtk/WebKitWebView.h:
2437         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
2438         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
2439         WebKitHitTestResult.
2440         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
2441         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
2442         (testWebViewMouseTarget):
2443         (beforeAll):
2444         * UIProcess/API/gtk/tests/WebViewTest.cpp:
2445         (WebViewTest::WebViewTest):
2446         (WebViewTest::~WebViewTest):
2447         (parentWindowMapped):
2448         (WebViewTest::showInWindowAndWaitUntilMapped): Method to add the
2449         view into a popup window and show it running the main loop until
2450         the window is mapped.
2451         (WebViewTest::mouseMoveTo): Method to synthesize a
2452         GDK_MOTION_EVENT on the given coordinates and using the given
2453         modifiers.
2454         * UIProcess/API/gtk/tests/WebViewTest.h:
2455         * UIProcess/API/gtk/webkit2.h: Include WebKitHitTestResult.h.
2456         * UIProcess/API/gtk/webkit2marshal.list:
2457
2458 2012-02-07  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2459
2460         [Qt] Fetch the visible rect from LayerTreeHost instead of keeping a copy in each layer.
2461         https://bugs.webkit.org/show_bug.cgi?id=78009
2462
2463         Reviewed by Noam Rosenthal.
2464
2465         Since WebGraphicsLayers are now accessed directly from LayerTreeHost, they don't
2466         need to keep the visible rect to pass it down their child layers anymore.
2467
2468         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2469         (WebCore::WebGraphicsLayer::setContentsScale):
2470         (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
2471         (WebCore::WebGraphicsLayer::adjustVisibleRect):
2472         (WebCore):
2473         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
2474         (WebGraphicsLayerClient):
2475         (WebGraphicsLayer):
2476         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2477         (WebKit::LayerTreeHostQt::registerLayer):
2478         (WebKit::LayerTreeHostQt::visibleContentsRect):
2479         (WebKit):
2480         (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
2481         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
2482         (LayerTreeHostQt):
2483
2484 2012-02-09  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2485
2486         [Qt] Control the lifetime of TiledBackingStores in WebGraphicsLayer.
2487         https://bugs.webkit.org/show_bug.cgi?id=78005
2488
2489         Reviewed by Noam Rosenthal.
2490
2491         This makes sure that no empty tiles are generated for layers without contents and that
2492         no interaction is made with the TiledBackingStore until we got a WebGraphicsLayerClient.
2493
2494         - Create the main TiledBackingStore only when the layer has drawsContent and has no
2495           directly composited image
2496         - Removed recreateBackingStoreIfNeeded and do the (re)creation of the backing stores
2497           in updateContentBuffers
2498         - Call purgeBackingStores on registered layers instead of passing it down the layer tree
2499
2500         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2501         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
2502         (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
2503         (WebCore::WebGraphicsLayer::setDrawsContent):
2504         (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
2505         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
2506         (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
2507         (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
2508         (WebCore::WebGraphicsLayer::updateContentBuffers):
2509         (WebCore::WebGraphicsLayer::purgeBackingStores):
2510         (WebCore::WebGraphicsLayer::setWebGraphicsLayerClient):
2511         (WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
2512         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
2513         (WebGraphicsLayer):
2514         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2515         (WebKit::LayerTreeHostQt::LayerTreeHostQt):
2516         (WebKit::LayerTreeHostQt::flushPendingLayerChanges):
2517         (WebKit):
2518         (WebKit::LayerTreeHostQt::purgeBackingStores):
2519         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
2520         (LayerTreeHostQt):
2521
2522 2012-02-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2523
2524         [Qt] Remove WebGraphicsLayer::updateTileBuffersRecursively
2525         https://bugs.webkit.org/show_bug.cgi?id=78105
2526
2527         Reviewed by Kenneth Rohde Christiansen.
2528
2529         The method is unused.
2530
2531         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2532         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
2533         (WebGraphicsLayer):
2534
2535 2012-02-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2536
2537         [Qt] Register individual WebGraphicsLayers to LayerTreeHost instead of handling the tree as a whole.
2538         https://bugs.webkit.org/show_bug.cgi?id=77976
2539
2540         Reviewed by Kenneth Rohde Christiansen.
2541
2542         The LayerTreeHost association had to be maintained between re-parented layers and it would be
2543         impossible to know if the layer would be disconnected from the LayerTreeHost only for reparenting
2544         or disconnected for good (in other words, that the LayerTreeHost could be deleted meanwhile).
2545
2546         Instead, this patch assumes that graphics layers will only be in contact with one instance of
2547         LayerTreeHost, and that this association can be kept until either the graphics layer or the layer
2548         tree host gets deleted.
2549
2550         The registered layers are kept in a set and the visible rect and scales are passed directly
2551         to layers instead of down the tree, through the root layer.
2552
2553         This also fixes the !m_layerInfo.imageBackingStoreID ASSERT that was popping in unit tests.
2554
2555         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2556         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
2557         (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
2558         (WebCore::WebGraphicsLayer::setChildren):
2559         (WebCore::WebGraphicsLayer::addChild):
2560         (WebCore::WebGraphicsLayer::addChildAtIndex):
2561         (WebCore::WebGraphicsLayer::addChildAbove):
2562         (WebCore::WebGraphicsLayer::addChildBelow):
2563         (WebCore::WebGraphicsLayer::replaceChild):
2564         (WebCore::WebGraphicsLayer::removeFromParent):
2565         (WebCore::WebGraphicsLayer::setContentsToImage):
2566         (WebCore::WebGraphicsLayer::setMaskLayer):
2567         (WebCore::WebGraphicsLayer::setReplicatedByLayer):
2568         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
2569         (WebCore::WebGraphicsLayer::setVisibleContentRectAndScale):
2570         (WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed):
2571         (WebCore::WebGraphicsLayer::createTile):
2572         (WebCore::WebGraphicsLayer::updateTile):
2573         (WebCore::WebGraphicsLayer::removeTile):
2574         (WebCore::WebGraphicsLayer::updateContentBuffers):
2575         (WebCore::WebGraphicsLayer::purgeBackingStores):
2576         (WebCore::WebGraphicsLayer::setWebGraphicsLayerClient):
2577         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
2578         (WebCore):
2579         (WebGraphicsLayerClient):
2580         (WebGraphicsLayer):
2581         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2582         (WebKit::LayerTreeHostQt::~LayerTreeHostQt):
2583         (WebKit::LayerTreeHostQt::LayerTreeHostQt):
2584         (WebKit::LayerTreeHostQt::attachLayer):
2585         (WebKit):
2586         (WebKit::LayerTreeHostQt::detachLayer):
2587         (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
2588         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
2589         (LayerTreeHostQt):
2590
2591 2012-02-07  Andras Becsi  <andras.becsi@nokia.com>
2592
2593         [Qt][WK2] WebView should use Flickable instead of QScroller to handle positioning
2594         https://bugs.webkit.org/show_bug.cgi?id=76275
2595
2596         Reviewed by Simon Hausmann and Kenneth Rohde Christiansen.
2597
2598         The current WebView implementation uses QScroller to manage positioning but other
2599         similar items in QML (ie. ListView, GridView) use Flickable as their base class.
2600         Since QScroller will be dropped from Qt5 this patch removes the QScroller code
2601         and redirects pan gestures to a dynamically created encapsulated Flickable instance
2602         (QtFlickProvider) which handles the positioning.
2603
2604         This implementation only uses public QML API and does not depend on declarative-private.
2605         It propagates a small subset of the Flickable API as the public API of the WebView.
2606         This minimalistic API is accessible via the experimental extension and makes it possible
2607         in QML to place additional items (such as toolbars, scroll indicators and floating menus)
2608         aroud the page.
2609         These items can use anchoring and binding for positioning on the flickable contentItem.
2610
2611         The patch depends however on the automatic touch->mouse event synthetization of Qt5.
2612         The touch events sent to the flickProvider are translated to mouse events automatically
2613         as long as the Flickable does not handle touch events directly.
2614
2615         After this change QtWebKit2 does no longer depend on QtWidgets and this dependency can be
2616         removed in a follow-up patch.
2617
2618         * Target.pri: Added QtFlickProvider source.
2619         * UIProcess/API/qt/qquickwebpage.cpp:
2620         (QQuickWebPagePrivate::paintToCurrentGLContext):
2621         (QQuickWebPage::transformToItem):
2622         (QQuickWebPagePrivate::updateSize):
2623         * UIProcess/API/qt/qquickwebview.cpp:
2624         (QQuickWebViewPrivate::QQuickWebViewPrivate):
2625         (QQuickWebViewPrivate::pageItemPos):
2626         (QQuickWebViewFlickablePrivate::pageItemPos):
2627         (QQuickWebViewFlickablePrivate::updateContentsSize):
2628         (QQuickWebViewFlickablePrivate::onComponentComplete):
2629         (QQuickWebViewFlickablePrivate::updateViewportSize):
2630         (QQuickWebViewExperimental::flickableData):
2631         (QQuickWebViewExperimental::contentItem):
2632         (QQuickWebViewExperimental::contentWidth):
2633         (QQuickWebViewExperimental::setContentWidth):
2634         (QQuickWebViewExperimental::contentHeight):
2635         (QQuickWebViewExperimental::setContentHeight):
2636         (QQuickWebViewExperimental::contentX):
2637         (QQuickWebViewExperimental::setContentX):
2638         (QQuickWebViewExperimental::contentY):
2639         (QQuickWebViewExperimental::setContentY):
2640         (QQuickWebView::pageItemPos):
2641         (QQuickWebView::updateContentsSize):
2642         * UIProcess/API/qt/qquickwebview_p.h:
2643         * UIProcess/API/qt/qquickwebview_p_p.h:
2644         (QQuickWebViewPrivate):
2645         (QQuickWebViewPrivate::updateContentsSize):
2646         (QQuickWebViewFlickablePrivate):
2647         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2648         (tst_QQuickWebView::scrollRequest):
2649         * UIProcess/qt/QtFlickProvider.cpp: Added.
2650         (QtFlickProvider::QtFlickProvider):
2651         (QtFlickProvider::handleTouchFlickEvent):
2652         (QtFlickProvider::contentItem):
2653         (QtFlickProvider::flickableData):
2654         (QtFlickProvider::contentPos):
2655         (QtFlickProvider::setContentPos):
2656         (QtFlickProvider::viewportSize):
2657         (QtFlickProvider::setViewportSize):
2658         (QtFlickProvider::returnToBounds):
2659         (QtFlickProvider::cancelFlick):
2660         (QtFlickProvider::isMoving):
2661         (QtFlickProvider::isDragging):
2662         (QtFlickProvider::isFlicking):
2663         (QtFlickProvider::contentWidth):
2664         (QtFlickProvider::setContentWidth):
2665         (QtFlickProvider::contentHeight):
2666         (QtFlickProvider::setContentHeight):
2667         (QtFlickProvider::contentX):
2668         (QtFlickProvider::setContentX):
2669         (QtFlickProvider::contentY):
2670         (QtFlickProvider::setContentY):
2671         * UIProcess/qt/QtFlickProvider.h: Added.
2672         (QtFlickProvider):
2673         * UIProcess/qt/QtPanGestureRecognizer.cpp:
2674         (WebKit::QtPanGestureRecognizer::recognize):
2675         * UIProcess/qt/QtPanGestureRecognizer.h:
2676         (QtPanGestureRecognizer):
2677         * UIProcess/qt/QtViewportInteractionEngine.cpp:
2678         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
2679         (WebKit::QtViewportInteractionEngine::setItemRectVisible):
2680         (WebKit::QtViewportInteractionEngine::scrollStateChanged):
2681         (WebKit):
2682         (WebKit::QtViewportInteractionEngine::wheelEvent):
2683         (WebKit::QtViewportInteractionEngine::reset):
2684         (WebKit::QtViewportInteractionEngine::applyConstraints):
2685         (WebKit::QtViewportInteractionEngine::scrollAnimationActive):
2686         (WebKit::QtViewportInteractionEngine::panGestureActive):
2687         (WebKit::QtViewportInteractionEngine::panGestureStarted):
2688         (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
2689         (WebKit::QtViewportInteractionEngine::panGestureCancelled):
2690         (WebKit::QtViewportInteractionEngine::panGestureEnded):
2691         (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
2692         (WebKit::QtViewportInteractionEngine::scaleContent):
2693         * UIProcess/qt/QtViewportInteractionEngine.h:
2694         (QtViewportInteractionEngine):
2695         * UIProcess/qt/QtWebPageEventHandler.cpp:
2696         (QtWebPageEventHandler::doneWithTouchEvent):
2697
2698 2012-02-08  Keunsoon Lee  <keunsoon.lee@samsung.com>
2699
2700         [WK2][EFL] creating dummy class derived from ResourceHandleClient for Efl download module.
2701         https://bugs.webkit.org/show_bug.cgi?id=76171
2702
2703         Reviewed by Andreas Kling.
2704
2705         FileDownloaderEfl is a practical class to operate file download.
2706         It communicates with Download class to start download
2707         and to notify downloading states to user(e.g. client application).
2708         Besides FileDownloaderEfl derives from ResourceHandleClient
2709         and receives chunked data from ResourceHandle directly
2710         or redirects data flow which is started from MainResourceLoader
2711         by mean of exchanging ResourceHandle's existing client for FileDownloaderEfl.
2712
2713         This patch has only dummy functions to make easy to review.
2714         Working patch will be uploaded on another bug thread.
2715
2716         * PlatformEfl.cmake: added new file to compile.
2717         * WebProcess/Downloads/Download.h: added FileDownloaderEfl's instance as a form of OwnPtr<FileDownloaderEfl>.
2718         (WebKit):
2719         (Download):
2720         * WebProcess/Downloads/efl/DownloadEfl.cpp:
2721         (WebKit::Download::start): calling to FileDownloaderEfl::start() to start download for passing ResourceRequest.
2722         * WebProcess/Downloads/efl/FileDownloaderEfl.cpp: Added. a practical class to operate file download.
2723         (WebKit):
2724         (WebKit::FileDownloaderEfl::create): create function, which returns PassOwnPtr<FileDownloaderEfl>.
2725         (WebKit::FileDownloaderEfl::FileDownloaderEfl): constructor, which receives Download* as a parameter.
2726         (WebKit::FileDownloaderEfl::~FileDownloaderEfl): deconstructor.
2727         (WebKit::FileDownloaderEfl::start): a function to start downloading for passed ResourceRequest.
2728         It does nothing for now, but shows how Download class can call FileDownloaderEfl's function.
2729         (WebKit::FileDownloaderEfl::didReceiveResponse): virtual function for ResourceHandleClient.
2730         It will receive response header information from ResourceHandle.
2731         (WebKit::FileDownloaderEfl::didReceiveData): virtual function for ResourceHandleClient.
2732         It will receive chunk data from ResourceHandle.
2733         (WebKit::FileDownloaderEfl::didFinishLoading): virtual function for ResourceHandleClient.
2734         It will be notified loading is finished from ResourceHandle.
2735         (WebKit::FileDownloaderEfl::didFail): virtual function for ResourceHandleClient.
2736         It will be notified loading is fail with ResourceError from ResourceHandle.
2737         (WebKit::FileDownloaderEfl::shouldUseCredentialStorage): virtual function for ResourceHandleClient.
2738         It returns whether to use credential storage or not.
2739         (WebKit::FileDownloaderEfl::didReceiveAuthenticationChallenge): virtual function for ResourceHandleClient.
2740         It will receive AuthenticationChallenge.
2741         (WebKit::FileDownloaderEfl::didCancelAuthenticationChallenge): virtual function for ResourceHandleClient.
2742         It will be notified AuthenticationChallenge is canceled.
2743         (WebKit::FileDownloaderEfl::receivedCancellation): virtual function for ResourceHandleClient.
2744         * WebProcess/Downloads/efl/FileDownloaderEfl.h: Added.
2745         (WebCore):
2746         (WebKit):
2747         (FileDownloaderEfl):
2748
2749 2012-02-07  MORITA Hajime  <morrita@google.com>
2750
2751         Replacement text should be available from the marker.
2752         https://bugs.webkit.org/show_bug.cgi?id=77934
2753
2754         Reviewed by Kent Tamura.
2755
2756         * win/WebKit2.def:
2757         * win/WebKit2CFLite.def:
2758
2759 2012-02-08  Anders Carlsson  <andersca@apple.com>
2760
2761         Don't use the wheel event handler count to track if a page has horizontal scrollbars
2762         https://bugs.webkit.org/show_bug.cgi?id=78192
2763
2764         Reviewed by Andreas Kling.
2765
2766         Prior to this change, we were incrementing and decrementing the wheel event handler count
2767         whenever a scrollable area gained or lost a horizontal scrollbar, so we could use the count
2768         to determine if Safari can handle horizontal wheel events directly or whether they have to be sent
2769         to the web process first.
2770
2771         What this meant was that whenever a page had horizontal scrollbars we'd have to send all scroll wheel events
2772         to the main thread instead of the scrolling thread, regardless of whether there were any wheel event handlers.
2773         
2774         After this change, we traverse the tree of scrollable areas after every layout and check if any of them
2775         have a horizontal scrollbar. (We still also check if there are wheel event handlers).
2776
2777         If traversing the tree after every layout is deemed to slow we can go back to caching the number of horizontal scrollbars
2778         in a page, but the number of subframes in a page is usually very small and the number of other scrollable areas is even smaller.
2779
2780         * UIProcess/WebPageProxy.cpp:
2781         (WebKit::WebPageProxy::WebPageProxy):
2782         (WebKit::WebPageProxy::willHandleHorizontalScrollEvents):
2783         * UIProcess/WebPageProxy.h:
2784         (WebKit::WebPageProxy::setCanShortCircuitHorizontalWheelEvents):
2785         (WebPageProxy):
2786         * UIProcess/WebPageProxy.messages.in:
2787         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2788         (WebKit::WebChromeClient::numWheelEventHandlersChanged):
2789         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2790         (WebKit::WebFrameLoaderClient::dispatchDidLayout):
2791         * WebProcess/WebPage/WebPage.cpp:
2792         (WebKit::WebPage::WebPage):
2793         (WebKit::WebPage::numWheelEventHandlersChanged):
2794         (WebKit):
2795         (WebKit::hasEnabledHorizontalScrollbar):
2796         (WebKit::pageContainsAnyHorizontalScrollbars):
2797         (WebKit::WebPage::recomputeShortCircuitHorizontalWheelEventsState):
2798         * WebProcess/WebPage/WebPage.h:
2799         (WebPage):
2800
2801 2012-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>
2802
2803         Unreviewed, rolling out r106920, r106924, r106933, r106939,
2804         and r107090.
2805         http://trac.webkit.org/changeset/106920
2806         http://trac.webkit.org/changeset/106924
2807         http://trac.webkit.org/changeset/106933
2808         http://trac.webkit.org/changeset/106939
2809         http://trac.webkit.org/changeset/107090
2810         https://bugs.webkit.org/show_bug.cgi?id=78124
2811
2812         Something is completely wrong this change (Requested by
2813         Ossy_gardener on #webkit).
2814
2815         * Shared/WebProcessCreationParameters.cpp:
2816         (WebKit::WebProcessCreationParameters::encode):
2817         (WebKit::WebProcessCreationParameters::decode):
2818         * Shared/WebProcessCreationParameters.h:
2819         (WebProcessCreationParameters):
2820         * UIProcess/WebContext.cpp:
2821         (WebKit::WebContext::WebContext):
2822         * UIProcess/qt/WebContextQt.cpp:
2823         (WebKit::WebContext::platformInitializeWebProcess):
2824         * WebProcess/qt/WebProcessQt.cpp:
2825         (WebKit):
2826         (WebKit::WebProcess::platformSetCacheModel):
2827         (WebKit::WebProcess::platformInitializeWebProcess):
2828
2829 2012-02-08  Carlos Garcia Campos  <cgarcia@igalia.com>
2830
2831         [GTK] Fix a crash when WebKitWebView is created without a WebContext
2832         https://bugs.webkit.org/show_bug.cgi?id=78104
2833
2834         Reviewed by Philippe Normand.
2835
2836         * UIProcess/API/gtk/WebKitWebView.cpp:
2837         (webkitWebViewSetProperty): Make sure WebKitWebView:web-context
2838         property is initialized to the default web context when a web
2839         context is not passed to g_object_new().
2840         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
2841         (testWebViewDefaultContext): Check that a web view created with
2842         g_object_new has the default context.
2843
2844 2012-02-08  Michael Brüning  <michael.bruning@nokia.com>
2845
2846         [Qt][WK2] Compute and set cache capacities using the current CacheModel
2847         https://bugs.webkit.org/show_bug.cgi?id=73918
2848
2849         Reviewed by Kenneth Rohde Christiansen.
2850
2851         * UIProcess/WebContext.cpp:
2852         (WebKit::WebContext::WebContext): Set default cacheModel for Qt platform to
2853         CacheModelPrimaryWebBrowser.
2854
2855 2012-02-08  Carlos Garcia Campos  <cgarcia@igalia.com>
2856
2857         [GTK] Fix WebKitWebView::decide-policy API documentation
2858         https://bugs.webkit.org/show_bug.cgi?id=78101
2859
2860         Reviewed by Martin Robinson.
2861
2862         - It refers to WebKitPolicyClient instead of WebKitWebView
2863         - Trailing ':' is missing
2864         - References @decision as WebKitNavigationPolicyDecision instead
2865         of WebKitPolicyDecision
2866
2867         * UIProcess/API/gtk/WebKitWebView.cpp:
2868         (webkit_web_view_class_init):
2869
2870 2012-02-08  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
2871
2872         [Qt] Build broken if qt missing openssl
2873         https://bugs.webkit.org/show_bug.cgi?id=77894
2874
2875         Reviewed by Chang Shu.
2876
2877         Build fix. No new test content. 
2878
2879         * WebProcess/qt/QtNetworkAccessManager.cpp:
2880         (WebKit::QtNetworkAccessManager::onSslErrors):
2881
2882 2012-02-08  Yael Aharon  <yael.aharon@nokia.com>
2883
2884         [WK2] Text notifications should have an iconURL
2885         https://bugs.webkit.org/show_bug.cgi?id=77968
2886
2887         Reviewed by Simon Hausmann.
2888         
2889         Per http://www.w3.org/TR/notifications simple text notifications should have an iconURL.
2890         Add an iconURL to WebNotification and add a public API to access it.
2891        
2892         * UIProcess/API/C/WKNotification.cpp:
2893         (WKNotificationCopyiconURL):
2894         * UIProcess/API/C/WKNotification.h:
2895         * UIProcess/Notifications/WebNotification.cpp:
2896         (WebKit::WebNotification::WebNotification):
2897         * UIProcess/Notifications/WebNotification.h:
2898         (WebKit::WebNotification::create):
2899         (WebKit::WebNotification::iconURL):
2900         (WebNotification):
2901         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
2902         (WebKit::WebNotificationManagerProxy::show):
2903         * UIProcess/Notifications/WebNotificationManagerProxy.h:
2904         (WebNotificationManagerProxy):
2905         * UIProcess/WebPageProxy.cpp:
2906         (WebKit::WebPageProxy::showNotification):
2907         * UIProcess/WebPageProxy.h:
2908         (WebPageProxy):
2909         * UIProcess/WebPageProxy.messages.in:
2910         * WebProcess/Notifications/WebNotificationManager.cpp:
2911         (WebKit::WebNotificationManager::show):
2912
2913 2012-02-08  Philippe Normand  <pnormand@igalia.com>
2914
2915         [GTK][WK2] enable-webaudio WebSetting
2916         https://bugs.webkit.org/show_bug.cgi?id=77959
2917
2918         Reviewed by Martin Robinson.
2919
2920         Add a new WebKitGTK WebSetting to enable/disable WebAudio at
2921         runtime.
2922
2923         * UIProcess/API/gtk/WebKitSettings.cpp:
2924         (webKitSettingsSetProperty):
2925         (webKitSettingsGetProperty):
2926         (webkit_settings_class_init):
2927         (webkit_settings_get_enable_webaudio):
2928         (webkit_settings_set_enable_webaudio):
2929         * UIProcess/API/gtk/WebKitSettings.h:
2930         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
2931         (testWebKitSettings):
2932
2933 2012-02-07  Martin Robinson  <mrobinson@igalia.com>
2934
2935         [GTK] [WK2] Add WebKitResponsePolicyDecision
2936         https://bugs.webkit.org/show_bug.cgi?id=76789
2937
2938         Reviewed by Philippe Normand.
2939
2940         Add a WebKitResponsePolicyDecision GObject, use it for response
2941         policy decisions and add a test.
2942
2943         * GNUmakefile.am: Added new source files to the list.
2944         * UIProcess/API/gtk/WebKitPolicyClient.cpp:
2945         (decidePolicyForResponseCallback): Added this callback which creates the request
2946         and fires the signal.
2947         (attachPolicyClientToPage): Added new callback to the C API policy client.
2948         * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp: Added.
2949         * UIProcess/API/gtk/WebKitResponsePolicyDecision.h: Added.
2950         * UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h: Added.
2951         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Added new docs.
2952         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ditto.
2953         * UIProcess/API/gtk/tests/TestWebKitPolicyClient.cpp:
2954         (testResponsePolicy): Added this test for response policy decisions.
2955         (serverCallback): Added a SoupServer to test policy response policy decisions.
2956         (beforeAll): Ditto.
2957         (afterAll): Ditto.
2958
2959 2012-02-07  Timothy Hatcher  <timothy@apple.com>
2960
2961         Avoid making a window for the Web Inspector when it is docked.
2962
2963         This also makes sure the inspector WKView is in a window before the page is loaded.
2964         This avoids some redundant work caused by moving it to a window later.
2965
2966         https://webkit.org/b/78064
2967
2968         Reviewed by Brian Weinstein.
2969
2970         * UIProcess/WebInspectorProxy.cpp:
2971         (WebKit::WebInspectorProxy::createInspectorPage): Set m_isAttached here...
2972         (WebKit::WebInspectorProxy::didLoadInspectorPage): ... instead of here.
2973         * UIProcess/WebInspectorProxy.h:
2974         (WebInspectorProxy):
2975         * UIProcess/mac/WebInspectorProxyMac.mm:
2976         (WebKit::WebInspectorProxy::createInspectorWindow): Added. Factored out of platformOpen.
2977         (WebKit::WebInspectorProxy::updateInspectorWindowTitle): Added. Factored out of platformInspectedURLChanged.
2978         (WebKit::WebInspectorProxy::platformCreateInspectorPage): Call platformAttach or createInspectorWindow.
2979         (WebKit::WebInspectorProxy::platformOpen): Make the view or window visible.
2980         (WebKit::WebInspectorProxy::platformDidClose): Only message m_inspectorWindow if it isn't nil.
2981         (WebKit::WebInspectorProxy::platformInspectedURLChanged): Store the urlString and call updateInspectorWindowTitle.
2982         (WebKit::WebInspectorProxy::inspectedViewFrameDidChange): Return early if not visible.
2983         (WebKit::WebInspectorProxy::platformAttach): Start out hidden if we are not visible yet. Destroy the window.
2984         (WebKit::WebInspectorProxy::platformDetach): Use createInspectorWindow to create it again.
2985
2986 2012-02-07  Tony Chang  <tony@chromium.org>
2987
2988         merge DashboardSupportCSSPropertyNames.in into CSSPropertyNames.in
2989         https://bugs.webkit.org/show_bug.cgi?id=78036
2990
2991         Reviewed by Darin Adler.
2992
2993         * Configurations/FeatureDefines.xcconfig: Add ENABLE_DASHBOARD_SUPPORT to FEATURE_DEFINES.
2994
2995 2012-02-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2996
2997         [CMAKE] Use *bin* and *lib* directories for executable and libraries.
2998         https://bugs.webkit.org/show_bug.cgi?id=77928
2999
3000         Reviewed by Daniel Bates.
3001
3002         CMake has used *Programs* directory for executable. In addition, shared libraries are being
3003         built in source directory. It is better to set common places in order to maintain executable
3004         and libraries. *bin* is for executable and *lib* is for library.
3005
3006         * CMakeLists.txt:
3007
3008 2012-02-07  Timothy Hatcher  <timothy@apple.com>
3009
3010         Initilize the WebPageProxy intrinsicDeviceScaleFactor on creation of the WKView.
3011
3012         If WKView was created and loaded a page with canvas elements before beinging moved
3013         to a window, the canvas elements would be locked in at a pixel ratio of 1. With this
3014         change the WKView will use the main screen's pixel ratio until it moves to a window.
3015
3016         Reviewed by Anders Carlsson.
3017
3018         * UIProcess/API/mac/WKView.mm:
3019         (-[WKView initWithFrame:contextRef:pageGroupRef:]): Call setIntrinsicDeviceScaleFactor.
3020
3021 2012-02-07  Alexey Proskuryakov  <ap@apple.com>
3022
3023         Keep a reference in didReceiveInvalidMessage.
3024         https://bugs.webkit.org/show_bug.cgi?id=78024
3025
3026         Reviewed by Anders Carlsson.
3027
3028         * UIProcess/WebConnectionToWebProcess.cpp:
3029         (WebKit::WebConnectionToWebProcess::didReceiveInvalidMessage):
3030
3031 2012-02-06  Anders Carlsson  <andersca@apple.com>
3032
3033         ScrollableAreaSet should be moved from Page to FrameView
3034         https://bugs.webkit.org/show_bug.cgi?id=62762
3035
3036         Reviewed by Beth Dakin.
3037
3038         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
3039         (WebKit::BuiltInPDFView::initialize):
3040         Call FrameView::addScrollableArea instead.
3041
3042         (WebKit::BuiltInPDFView::destroy):
3043         Call FrameView::removeScrollableArea instead.
3044
3045         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
3046         Remove disconnectFromPage since it no longer exists on ScrollableArea.
3047
3048 2012-02-07  Carlos Garcia Campos  <cgarcia@igalia.com>
3049
3050         [GTK] Add cut, copy and paste methods to WebKit2 GTK+ API
3051         https://bugs.webkit.org/show_bug.cgi?id=76998
3052
3053         Reviewed by Martin Robinson.
3054
3055         * GNUmakefile.am: Add WebKitEditingCommands.h.
3056         * UIProcess/API/gtk/WebKitEditingCommands.h: Added.
3057         * UIProcess/API/gtk/WebKitWebView.cpp:
3058         (didValidateCommand): Callback called by the C API when an editor
3059         command has been validated.
3060         (webkit_web_view_can_execute_editing_command): Asynchronously
3061         validate the given editing command.
3062         (webkit_web_view_can_execute_editing_command_finish): Finish async
3063         operation started by webkit_web_view_can_execute_editing_command().
3064         (webkit_web_view_execute_editing_command): Execute the given
3065         command.
3066         * UIProcess/API/gtk/WebKitWebView.h:
3067         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
3068         * UIProcess/API/gtk/tests/GNUmakefile.am:
3069         * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
3070         (LoadTrackingTest::provisionalLoadFailed): Do not finish the main
3071         loop on load failure, now finished is always called.
3072         * UIProcess/API/gtk/tests/TestBackForwardList.cpp: Use WebViewTest
3073         instead of LoadTrackingTest.
3074         * UIProcess/API/gtk/tests/TestWebViewEditor.cpp: Added.
3075         (testWebViewEditorCutCopyPasteNonEditable):
3076         (testWebViewEditorCutCopyPasteEditable):
3077         (beforeAll):
3078         (afterAll):
3079         * UIProcess/API/gtk/tests/WebViewTest.cpp:
3080         (loadChanged):
3081         (WebViewTest::waitUntilLoadFinished): Run a main loop until load
3082         finished.
3083         * UIProcess/API/gtk/tests/WebViewTest.h: Add waitUntilLoadFinished().
3084         * UIProcess/API/gtk/webkit2.h: Include WebKitEditingCommands.h.
3085
3086 2012-02-07  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3087
3088         Encode radius, force and rotationAngle in WebPlatformTouchPoint.
3089         https://bugs.webkit.org/show_bug.cgi?id=77986
3090
3091         Reviewed by Kenneth Rohde Christiansen.
3092
3093         * Shared/WebEvent.h:
3094         (WebKit::WebPlatformTouchPoint::WebPlatformTouchPoint):
3095         (WebPlatformTouchPoint):
3096         (WebKit::WebPlatformTouchPoint::radius):
3097         (WebKit::WebPlatformTouchPoint::rotationAngle):
3098         (WebKit::WebPlatformTouchPoint::force):
3099         * Shared/WebEventConversion.cpp:
3100         (WebKit::WebKit2PlatformTouchPoint::WebKit2PlatformTouchPoint):
3101         * Shared/WebPlatformTouchPoint.cpp:
3102         (WebKit::WebPlatformTouchPoint::WebPlatformTouchPoint):
3103         (WebKit::WebPlatformTouchPoint::encode):
3104         (WebKit::WebPlatformTouchPoint::decode):
3105
3106 2012-02-07  Andras Becsi  <andras.becsi@nokia.com>
3107
3108         [Qt] [WK2] Fix the debug build after r106920
3109
3110         * WebProcess/qt/WebProcessQt.cpp:
3111         (WebKit::WebProcess::platformSetCacheModel):
3112         Remove unnecessary assert.
3113
3114 2012-02-03  Andras Becsi  <andras.becsi@nokia.com>
3115
3116         [Qt][WK2] Add the componentComplete method to WebView
3117         https://bugs.webkit.org/show_bug.cgi?id=77111
3118
3119         Reviewed by Simon Hausmann.
3120
3121         Move the initialization of the interaction engine to componentComplete
3122         in preparation of switching to a Flickable based content positioning
3123         for the touch based WebView.
3124         Suspend the page and delay the dispatch of load success on startup until
3125         the component finished initialization. With this patch instantiating the
3126         WebView in C++ is only possible by creating a QDeclarativeComponent as
3127         the initialization depends on the componentComplete method being called.
3128         Also return valid default values in the viewport info functions if the
3129         interaction engine is not yet initialized because the viewport info
3130         component could finish initialization earlier than the WebView, which
3131         results in QML warnings during MiniBrowser startup.
3132
3133         * UIProcess/API/qt/qquickwebview.cpp:
3134         (QQuickWebViewPrivate::initialize):
3135         (QQuickWebViewPrivate::loadDidSucceed):
3136         (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
3137         (QQuickWebViewFlickablePrivate::initialize):
3138         (QQuickWebViewFlickablePrivate::onComponentComplete):
3139         (QQuickWebViewFlickablePrivate::loadDidSucceed):
3140         (QQuickWebViewFlickablePrivate::updateViewportSize):
3141         (QQuickWebViewFlickablePrivate::_q_resume):
3142         (QQuickWebView::geometryChanged):
3143         (QQuickWebView::componentComplete):
3144         * UIProcess/API/qt/qquickwebview_p.h:
3145         * UIProcess/API/qt/qquickwebview_p_p.h:
3146         (QQuickWebViewPrivate::onComponentComplete):
3147         (QQuickWebViewPrivate):
3148         (QQuickWebViewFlickablePrivate):
3149         * UIProcess/API/qt/qwebviewportinfo.cpp:
3150         (QWebViewportInfo::currentScale):
3151         (QWebViewportInfo::devicePixelRatio):
3152         (QWebViewportInfo::initialScale):
3153         (QWebViewportInfo::minimumScale):
3154         (QWebViewportInfo::maximumScale):
3155         (QWebViewportInfo::isScalable):
3156         (QWebViewportInfo::layoutSize):
3157         * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
3158         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
3159         (tst_QQuickWebView::tst_QQuickWebView):
3160         (tst_QQuickWebView::init):
3161         (tst_QQuickWebView::multipleWebViewWindows):
3162         (tst_QQuickWebView::multipleWebViews):
3163         * UIProcess/qt/QtWebPageLoadClient.cpp:
3164         (QtWebPageLoadClient::dispatchLoadSucceeded):
3165
3166 2012-02-07  YoungTaeck Song  <youngtaeck.song@samsung.com>
3167
3168         [EFL][WK2] Add ModuleEfl.cpp
3169         https://bugs.webkit.org/show_bug.cgi?id=63608
3170
3171         Reviewed by Andreas Kling.
3172
3173         Add first version of ModuleEfl.cpp including load(), unload() and platformFunctionPointer().
3174
3175         * Platform/Module.h:
3176         * Platform/efl/ModuleEfl.cpp: Added.
3177         (WebKit::Module::load):
3178         (WebKit::Module::unload):
3179         (WebKit::Module::platformFunctionPointer):
3180
3181 2012-02-07  Michael Brüning  <michael.bruning@nokia.com>
3182
3183         [Qt][WK2] Compute and set cache capacities using the current CacheModel
3184         https://bugs.webkit.org/show_bug.cgi?id=73918
3185
3186         Reviewed by Kenneth Rohde Christiansen.
3187
3188         First part of the implementation. The next steps are the implementation
3189         of the API for the Qt WebKit 2 port and the hybrid memory and disk cache.
3190
3191         * Shared/WebProcessCreationParameters.cpp:
3192         (WebKit::WebProcessCreationParameters::encode):
3193         (WebKit::WebProcessCreationParameters::decode):
3194         * Shared/WebProcessCreationParameters.h:
3195         (WebProcessCreationParameters):
3196         * UIProcess/qt/WebContextQt.cpp:
3197         (WebKit::defaultDiskCacheDirectory):
3198         (WebKit):
3199         (WebKit::WebContext::platformInitializeWebProcess):
3200         * WebProcess/qt/WebProcessQt.cpp:
3201         (WebKit::physicalMemorySizeInBytes):
3202         (WebKit):
3203         (WebKit::WebProcess::platformSetCacheModel):
3204         (WebKit::WebProcess::platformInitializeWebProcess):
3205
3206 2012-02-06  Shinya Kawanaka  <shinyak@google.com>
3207
3208         Remove Element::ensureShadowRoot export.
3209         https://bugs.webkit.org/show_bug.cgi?id=77932
3210
3211         Reviewed by Hajime Morita.
3212
3213         * win/WebKit2.def:
3214         * win/WebKit2CFLite.def:
3215
3216 2012-02-06  Martin Robinson  <mrobinson@igalia.com>
3217
3218         [GTK] Add TextureMapperGL implementation
3219         https://bugs.webkit.org/show_bug.cgi?id=75308
3220
3221         Reviewed by Alejandro G. Castro.
3222
3223         Fix the WebKit2 + AC build for GTK+.
3224
3225         * GNUmakefile.am: Add some missing source files.
3226         * UIProcess/DrawingAreaProxy.cpp:
3227         (WebKit): Add USE(TILED_BACKING_STORE) to the guard.
3228         * UIProcess/WebPageProxy.cpp:
3229         (WebKit::WebPageProxy::didReceiveMessage): Ditto.
3230         * WebProcess/WebPage/DrawingArea.h:
3231         (DrawingArea): Ditto.
3232         * WebProcess/WebPage/DrawingAreaImpl.cpp:
3233         (WebKit): Ditto.
3234         * WebProcess/WebPage/DrawingAreaImpl.h:
3235         (DrawingAreaImpl): Ditto.
3236
3237 2012-02-06  Martin Robinson  <mrobinson@igalia.com>
3238
3239         Fix some miscellaneous 'make dist' error for WebKitGTK+.
3240
3241         * GNUmakefile.am: Do not distribute generated files.
3242
3243 2012-02-06  Anders Carlsson  <andersca@apple.com>
3244
3245         Overlay scrollbars flash when window is simply activated
3246         https://bugs.webkit.org/show_bug.cgi?id=77911
3247
3248         Reviewed by Kenneth Russell.
3249
3250         * UIProcess/API/mac/WKView.mm:
3251         (-[WKView _updateWindowVisibility]):
3252         Use -[NSWindow isVisible] here, since we also want to consider the window hidden if the application itself is hidden.
3253
3254         (-[WKView _windowDidOrderOffScreen:]):
3255         (-[WKView _windowDidOrderOnScreen:]):
3256         Call -[WKView updateWindowVisibility].
3257
3258         * WebProcess/WebPage/WebPage.cpp:
3259         (WebKit::WebPage::setWindowIsVisible):
3260         Call FocusController::setContainingWindowIsVisible.
3261
3262 2012-02-06  Martin Robinson  <mrobinson@igalia.com>
3263
3264          [GTK] Fix remaining errors in GTK+ WebKit2 API
3265         https://bugs.webkit.org/show_bug.cgi?id=77890
3266
3267         Reviewed by Gustavo Noronha Silva.
3268
3269         Fix some style issues in the GTK+ WebKit2 API section of the source code.
3270
3271         * UIProcess/API/gtk/WebKitPrivate.h:
3272         * UIProcess/API/gtk/WebKitWebView.cpp:
3273         * UIProcess/API/gtk/tests/TestMain.h:
3274
3275 2012-02-06  Matthew Delaney  <mdelaney@apple.com>
3276
3277         toDataURL() uses stale data after putImageData()
3278         https://bugs.webkit.org/show_bug.cgi?id=65767
3279
3280         Reviewed by Chris Marrin.
3281
3282         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3283         (InitWebCoreSystemInterface):
3284
3285 2012-02-06  Ryosuke Niwa  <rniwa@webkit.org>
3286
3287         gcc build fix after r106749.
3288
3289         * UIProcess/WebPreferences.cpp:
3290         (WebKit::WebPreferences::WebPreferences):
3291
3292 2012-02-06  Martin Robinson  <mrobinson@igalia.com>
3293
3294         [GTK] WebKitWebView does a lot of work during size_allocate when not mapped
3295         https://bugs.webkit.org/show_bug.cgi?id=77743
3296
3297         Reviewed by Gustavo Noronha Silva.
3298
3299         Instead of resizing the guts of a WebView when it's not mapped, wait
3300         until it's mapped and do one resize. This prevents unmapped WebViews
3301         from adding to a container's resize cost.
3302
3303         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3304         (_WebKitWebViewBasePrivate): Added a new member needsResizeOnMap.
3305         (resizeWebKitWebViewBaseFromAllocation): Abstracted out this helper.
3306         (webkitWebViewBaseSizeAllocate): Wait until map to resize unmapped WebViews.
3307         (webkitWebViewBaseMap): Added this vmethod implementation.
3308         (webkit_web_view_base_class_init): Added vmethod.
3309
3310 2012-02-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3311
3312         WebGestureEvent can not encode delta and area.
3313         https://bugs.webkit.org/show_bug.cgi?id=77728
3314
3315         Support delta and area fields in WebGestureEvent, and send area with Qt tap gesture.
3316
3317         Reviewed by Kenneth Rohde Christiansen.
3318
3319         * Shared/WebEvent.h:
3320         (WebKit::WebGestureEvent::area):
3321         (WebKit::WebGestureEvent::delta):
3322         * Shared/WebEventConversion.cpp:
3323         (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
3324         * Shared/WebGestureEvent.cpp:
3325         (WebKit::WebGestureEvent::WebGestureEvent):
3326         (WebKit::WebGestureEvent::encode):
3327         (WebKit::WebGestureEvent::decode):
3328         * UIProcess/qt/QtWebPageEventHandler.cpp:
3329         (QtWebPageEventHandler::handleSingleTapEvent):
3330
3331 2012-02-03  Zalan Bujtas  <zbujtas@gmail.com>  and  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3332
3333         [Qt][WK2] Remove TiledDrawingArea and dependencies.
3334         https://bugs.webkit.org/show_bug.cgi?id=71681
3335
3336         Reviewed by Kenneth Rohde Christiansen.
3337
3338         Tiled drawing surface functionality got converted to LayerTree.
3339         TiledDrawingArea and its dependencies are not used by any port anymore.
3340
3341         * CMakeLists.txt:
3342         * GNUmakefile.am:
3343         * Shared/DrawingAreaInfo.h:
3344         * Target.pri:
3345         * UIProcess/API/qt/qquickwebpage.cpp:
3346         (QQuickWebPagePrivate::QQuickWebPagePrivate):
3347         * UIProcess/API/qt/qquickwebpage_p.h:
3348         * UIProcess/API/qt/qquickwebpage_p_p.h:
3349         (QQuickWebPagePrivate):
3350         * UIProcess/DrawingAreaProxy.h:
3351         * UIProcess/DrawingAreaProxy.messages.in:
3352         * UIProcess/TiledDrawingAreaProxy.cpp: Removed.
3353         * UIProcess/TiledDrawingAreaProxy.h: Removed.
3354         * UIProcess/qt/QtSGTileNode.cpp: Removed.
3355         * UIProcess/qt/QtSGTileNode.h: Removed.
3356         * UIProcess/qt/QtSGUpdateQueue.cpp: Removed.
3357         * UIProcess/qt/QtSGUpdateQueue.h: Removed.
3358         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: Removed.
3359         * WebProcess/WebPage/DrawingArea.cpp:
3360         (WebKit::DrawingArea::create):
3361         * WebProcess/WebPage/DrawingArea.h:
3362         * WebProcess/WebPage/DrawingArea.messages.in:
3363         * WebProcess/WebPage/TiledDrawingArea.cpp: Removed.
3364         * WebProcess/WebPage/TiledDrawingArea.h: Removed.
3365         * WebProcess/WebPage/WebPage.h:
3366         (WebPage):
3367
3368 2012-02-03  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3369
3370         [Qt] Don't version QtWebKit.experimental.
3371         https://bugs.webkit.org/show_bug.cgi?id=77739
3372
3373         Reviewed by Tor Arne Vestbø.
3374
3375         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml:
3376         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
3377         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
3378         * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
3379         * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml:
3380         * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml:
3381         * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
3382         * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml:
3383         * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
3384
3385 2012-02-06  Carlos Garcia Campos  <cgarcia@igalia.com>
3386
3387         [GTK] Fix several gtkdoc-fixxref warnings
3388         https://bugs.webkit.org/show_bug.cgi?id=77613
3389
3390         Reviewed by Martin Robinson.
3391
3392         * UIProcess/API/gtk/WebKitWindowProperties.cpp: Fix a typo, a
3393         colon was missing in WebKitWebView::ready-to-show.
3394
3395 2012-02-05  Dan Bernstein  <mitz@apple.com>
3396
3397         <rdar://problem/10809525> WebKit2’s WebFrameLoaderClient::shouldUseCredentialStorage() always returns true
3398         https://bugs.webkit.org/show_bug.cgi?id=77823
3399
3400         Reviewed by Anders Carlsson.
3401
3402         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
3403         * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
3404         (WebKit::InjectedBundlePageResourceLoadClient::shouldUseCredentialStorage): Added. Calls
3405         through to the client if it implements shouldUseCredentialStorage. Returns true otherwise.
3406         * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
3407         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3408         (WebKit::WebFrameLoaderClient::shouldUseCredentialStorage): Changed to call the injected
3409         bundle resource load client.
3410
3411 2012-02-04  Dan Bernstein  <mitz@apple.com>
3412
3413         <rdar://problem/10660698> Clients cannot prevent caching of individual responses
3414         https://bugs.webkit.org/show_bug.cgi?id=77822
3415
3416         Reviewed by Sam Weinig.
3417
3418         * Shared/APIClientTraits.cpp: Added definition of interfaceSizesByVersion for
3419         WKBundlePageResourceLoadClient.
3420         * Shared/APIClientTraits.h: Added APIClientTraits specialization for WKBundlePageResourceLoadClient.
3421         * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Added WKBundlePageShouldCacheResponseCallback
3422         typedef, added shouldCacheResponse member to WKBundlePageResourceLoadClient, and bumped
3423         kWKBundlePageResourceLoadClientCurrentVersion to 1.
3424         * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
3425         (WebKit::InjectedBundlePageResourceLoadClient::shouldCacheResponse): Added. Calls through
3426         to the client if it implements shouldCacheResponse. Returns true otherwise.
3427         * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
3428         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3429         (WebKit::WebFrameLoaderClient::willCacheResponse): Changed to call
3430         InjectedBundlePageResourceLoadClient::shouldCacheResponse() and return nil if the former
3431         returns false.
3432         (WebKit::WebFrameLoaderClient::shouldCacheResponse): Changed to call
3433         InjectedBundlePageResourceLoadClient::shouldCacheResponse().
3434
3435 2012-02-04  Sam Weinig  <sam@webkit.org>
3436
3437         Add ability to send WKURLRequests in WebKit2 API user messages
3438         https://bugs.webkit.org/show_bug.cgi?id=77819
3439
3440         Reviewed by Anders Carlsson.
3441
3442         Test: WebKit2UserMessageRoundTripTest API test.
3443
3444         * Shared/UserMessageCoders.h:
3445         (WebKit::UserMessageEncoder::baseEncode):
3446         (WebKit::UserMessageDecoder::baseDecode):
3447         Add encode/decode for WebURLRequest.
3448
3449 2012-02-04  Dan Bernstein  <mitz@apple.com>
3450
3451         <rdar://problem/10772406> WKPreferences instances cannot be copied
3452         https://bugs.webkit.org/show_bug.cgi?id=77816
3453
3454         Reviewed by Sam Weinig.
3455
3456         Test added in TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp.
3457
3458         * UIProcess/API/C/WKPreferences.cpp:
3459         (WKPreferencesCreateCopy): Added.
3460         * UIProcess/API/C/WKPreferencesPrivate.h:
3461         * UIProcess/WebPreferences.cpp:
3462         (WebKit::WebPreferences::WebPreferences): Added this constructor that copies the
3463         WebPreferencesStore of the given WebPreferences.
3464         * UIProcess/WebPreferences.h:
3465         (WebKit::WebPreferences::create): Added this create function that takes a WebPreferences
3466         instance and creates a new instance with a copy of the given instance’s store.
3467
3468 2012-02-03  Anders Carlsson  <andersca@apple.com>
3469
3470         WebKit2 should dispatch wheel events to the new ScrollingTree class
3471         https://bugs.webkit.org/show_bug.cgi?id=77795
3472
3473         Reviewed by Andreas Kling.
3474
3475         Replace all uses of ScrollingCoordinator with ScrollingTree instead.
3476         Also, don't try to handle gesture events on the scrolling thread anymore;
3477         we don't need to to that right now.
3478
3479         * WebProcess/WebPage/EventDispatcher.cpp:
3480         (WebKit::EventDispatcher::addScrollingTreeForPage):
3481         (WebKit::EventDispatcher::removeScrollingTreeForPage):
3482         (WebKit::EventDispatcher::wheelEvent):
3483         (WebKit::EventDispatcher::gestureEvent):
3484         * WebProcess/WebPage/EventDispatcher.h:
3485         (WebCore):
3486         (EventDispatcher):
3487         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3488         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
3489         (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
3490
3491 2012-02-03  Alexey Proskuryakov  <ap@apple.com>
3492
3493         [WK2 Mac] No need to allow access to input methods or keyboard layouts
3494         https://bugs.webkit.org/show_bug.cgi?id=77775
3495         <rdar://problem/9276253>
3496         <rdar://problem/9276268>
3497
3498         Reviewed by Dan Bernstein.
3499
3500         * WebProcess/com.apple.WebProcess.sb: These rules were likely only necessary in early days
3501         of WebKit2. If there are cases when this happens, that's likely wrong, and we need to know
3502         about that.
3503
3504 2012-02-03  Alexey Proskuryakov  <ap@apple.com>
3505
3506         [WK2] Use properly quoted string literals
3507         https://bugs.webkit.org/show_bug.cgi?id=77583
3508
3509         Reviewed by Darin Adler.
3510
3511         Also added some FIXMEs.
3512
3513         * WebProcess/com.apple.WebProcess.sb:
3514
3515 2012-02-03  Brady Eidson  <beidson@apple.com>
3516
3517         <rdar://problem/10742441> and https://bugs.webkit.org/show_bug.cgi?id=77766
3518         Need a WK2 API to filter which subframes go into WebArchives as they are created.
3519
3520         Reviewed by Darin Adler.
3521
3522         Add a new WKBundleFrame API that takes a filter callback object to allow or reject
3523         subframes from a WebArchive:
3524         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
3525         (WKBundleFrameCopyWebArchive):
3526         (WKBundleFrameCopyWebArchiveFilteringSubframes):
3527         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
3528
3529         Implement the above API by calling through to WebCore:
3530         * WebProcess/WebPage/WebFrame.cpp:
3531         (WebFrameFilter):
3532         (WebKit::WebFrameFilter::WebFrameFilter):
3533         (WebKit::WebFrameFilter::shouldIncludeSubframe):
3534         (WebKit::WebFrame::webArchiveData):
3535         * WebProcess/WebPage/WebFrame.h:
3536         (WebFrame):
3537
3538         * WebProcess/WebPage/WebPage.cpp:
3539         (WebKit::WebPage::getWebArchiveOfFrame):
3540
3541 2012-02-03  Alexey Proskuryakov  <ap@apple.com>
3542
3543         [Mac WK2] Use a minimally invasive way to fake plug-in process name
3544         https://bugs.webkit.org/show_bug.cgi?id=77682
3545
3546         Reviewed by Darin Adler.
3547
3548         * PluginProcess/PluginProcess.cpp: (WebKit::PluginProcess::netscapePluginModule):
3549         Only change the name as it's seen from within the process.
3550
3551         * Shared/Plugins/PluginQuirks.h: Fixed a typo.
3552
3553 2012-02-03  Beth Dakin  <bdakin@apple.com>
3554
3555         https://bugs.webkit.org/show_bug.cgi?id=77691
3556         Fix PlatformScreen layering violation and PlatformScreenMac's incorrect use 
3557         of device scale
3558
3559         Reviewed by Andy Estes.
3560
3561         toUserSpace() and toDeviceSpace() don't need to take device scale.
3562         * UIProcess/API/mac/WKView.mm:
3563         (-[WKView _convertToDeviceSpace:]):
3564         (-[WKView _convertToUserSpace:]):
3565
3566 2012-02-03  No'am Rosenthal  <noam.rosenthal@nokia.com>
3567
3568         [Qt][Texmap] Refactor TextureMapper API to use ImageBuffers when possible.
3569         https://bugs.webkit.org/show_bug.cgi?id=77148
3570
3571         Reviewed by Martin Robinson.
3572
3573         Use TextureMapper::create instead of creating TextureMapperGL/TextureMapperQt directly.
3574         Remove calls to unused API.
3575
3576         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
3577         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
3578         (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
3579         (WebKit::LayerTreeHostProxy::createImage):
3580         (WebKit::LayerTreeHostProxy::ensureRootLayer):
3581
3582 2012-02-03  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3583
3584         [Qt] Split QQuickWebViewPrivate in two classes, for desktop and touch behavior.
3585         https://bugs.webkit.org/show_bug.cgi?id=77632
3586
3587         Reviewed by Kenneth Rohde Christiansen.
3588
3589         Replace the runtime property setting the desktop behavior on each instance
3590         by a static boolean controlling the behavior used by future created WebViews.
3591
3592         * UIProcess/API/qt/qquickwebpage.cpp:
3593         Let only setContentsSize control the size of the drawing area instead of deferring
3594         it until geometryChanged is called.
3595         (QQuickWebPagePrivate::QQuickWebPagePrivate):
3596         * UIProcess/API/qt/qquickwebpage_p.h:
3597         * UIProcess/API/qt/qquickwebpage_p_p.h:
3598         (QQuickWebPagePrivate):
3599         * UIProcess/API/qt/qquickwebview.cpp:
3600         (createPrivateObject):
3601         (QQuickWebViewPrivate::QQuickWebViewPrivate):
3602         (QQuickWebViewPrivate::~QQuickWebViewPrivate):
3603         (QQuickWebViewPrivate::initialize):
3604         (QQuickWebViewPrivate::processDidCrash):
3605         (QQuickWebViewLegacyPrivate::QQuickWebViewLegacyPrivate):
3606         (QQuickWebViewLegacyPrivate::initialize):
3607         (QQuickWebViewLegacyPrivate::updateViewportSize):
3608         (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
3609         (QQuickWebViewFlickablePrivate::~QQuickWebViewFlickablePrivate):
3610         (QQuickWebViewFlickablePrivate::initialize):
3611         (QQuickWebViewFlickablePrivate::loadDidCommit):
3612         (QQuickWebViewFlickablePrivate::didFinishFirstNonEmptyLayout):
3613         (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
3614         (QQuickWebViewFlickablePrivate::updateViewportSize):
3615         (QQuickWebViewFlickablePrivate::_q_updateVisibleContentRectAndScale):
3616         (QQuickWebViewFlickablePrivate::_q_suspend):
3617         (QQuickWebViewFlickablePrivate::_q_resume):
3618         (QQuickWebViewFlickablePrivate::pageDidRequestScroll):
3619         (QQuickWebViewFlickablePrivate::didChangeContentsSize):
3620         (QQuickWebViewFlickablePrivate::computeViewportConstraints):
3621         (QQuickWebViewFlickablePrivate::PostTransitionState::apply):
3622         (QQuickWebViewExperimental::setFlickableViewportEnabled):
3623         The switch is now a static function that has to be called before a WebView
3624         is created. The switch can have it's default defined by the deploying platform.
3625         (QQuickWebViewExperimental::flickableViewportEnabled):
3626         (QQuickWebView::QQuickWebView):
3627         On creation of QQuickWebView, the static boolean is read to know if we want
3628         a QQuickWebViewTouchPrivate or a QQuickWebViewDesktopPrivate.
3629         (QQuickWebView::geometryChanged):
3630         * UIProcess/API/qt/qquickwebview_p.h:
3631         * UIProcess/API/qt/qquickwebview_p_p.h:
3632         (QQuickWebViewPrivate):
3633         (QQuickWebViewPrivate::loadDidCommit):
3634         (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
3635         (QQuickWebViewPrivate::didChangeViewportProperties):
3636         (QQuickWebViewPrivate::viewportInteractionEngine):
3637         (QQuickWebViewPrivate::updateViewportSize):
3638         (QQuickWebViewPrivate::_q_updateVisibleContentRectAndScale):
3639         (QQuickWebViewPrivate::_q_suspend):
3640         (QQuickWebViewPrivate::_q_resume):
3641         (QQuickWebViewPrivate::pageDidRequestScroll):
3642         (QQuickWebViewPrivate::didChangeContentsSize):
3643         (QQuickWebViewLegacyPrivate):
3644         (QQuickWebViewFlickablePrivate):
3645         (QQuickWebViewFlickablePrivate::viewportInteractionEngine):
3646         (PostTransitionState):
3647         (QQuickWebViewFlickablePrivate::PostTransitionState::PostTransitionState):
3648         * UIProcess/API/qt/qwebviewportinfo.cpp:
3649         (QWebViewportInfo::currentScale):
3650         (QWebViewportInfo::devicePixelRatio):
3651         (QWebViewportInfo::initialScale):
3652         (QWebViewportInfo::minimumScale):
3653         (QWebViewportInfo::maximumScale):
3654         (QWebViewportInfo::isScalable):
3655         (QWebViewportInfo::layoutSize):
3656         * UIProcess/API/qt/tests/publicapi/publicapi.pro:
3657         * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro: Added.
3658         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/DesktopWebView.qml: Removed.
3659         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml: Renamed
3660         from Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_itemSelector.qml.
3661         Moved to DesktopBehavior instead of using a DesktopWebView to workaround the touch event limitation.
3662         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
3663         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
3664         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
3665         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
3666         * UIProcess/API/qt/tests/qmltests/WebView.pro: Copied
3667         from Source/WebKit2/UIProcess/API/qt/tests/qmltests/qmltests.pro.
3668         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
3669         Split qmltests in two executables, tst_qmltests_DesktopBehavior and tst_qmltests_WebView.
3670         The former runs without setFlickableViewportEnabled and the later does.
3671         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
3672         (main):
3673         * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
3674         * UIProcess/API/qt/tests/tests.pri:
3675         * UIProcess/qt/QtWebPageEventHandler.cpp:
3676         (QtWebPageEventHandler::QtWebPageEventHandler):
3677
3678 2012-02-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3679
3680         [Qt] Rename content* to contents* in QQuickWebPage.
3681         https://bugs.webkit.org/show_bug.cgi?id=77629
3682
3683         Reviewed by Kenneth Rohde Christiansen.
3684
3685         * UIProcess/API/qt/qquickwebpage.cpp:
3686         (QQuickWebPagePrivate::QQuickWebPagePrivate):
3687         (QQuickWebPagePrivate::paintToCurrentGLContext):
3688         (QQuickWebPage::setContentsSize):
3689         (QQuickWebPage::contentsSize):
3690         (QQuickWebPage::setContentsScale):
3691         (QQuickWebPage::contentsScale):
3692         (QQuickWebPage::transformToItem):
3693         (QQuickWebPagePrivate::updateSize):
3694         * UIProcess/API/qt/qquickwebpage_p.h:
3695         * UIProcess/API/qt/qquickwebpage_p_p.h:
3696         (QQuickWebPagePrivate):
3697         * UIProcess/API/qt/qquickwebview.cpp:
3698         (QQuickWebViewPrivate::didChangeContentsSize):
3699         (QQuickWebViewPrivate::updateVisibleContentRectAndScale):
3700         (QQuickWebViewPrivate::PostTransitionState::apply):
3701         * UIProcess/API/qt/qwebviewportinfo.cpp:
3702         (QWebViewportInfo::contentsSize):
3703         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
3704         (tst_QQuickWebView::scrollRequest):
3705         * UIProcess/qt/QtViewportInteractionEngine.cpp:
3706         (WebKit::QtViewportInteractionEngine::setItemRectVisible):
3707         (WebKit::QtViewportInteractionEngine::event):
3708         (WebKit::QtViewportInteractionEngine::wheelEvent):
3709         (WebKit::QtViewportInteractionEngine::pagePositionRequest):
3710         (WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale):
3711         (WebKit::QtViewportInteractionEngine::applyConstraints):
3712         (WebKit::QtViewportInteractionEngine::currentCSSScale):
3713         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
3714         (WebKit::QtViewportInteractionEngine::scaleContent):
3715
3716 2012-02-03  Simon Hausmann  <simon.hausmann@nokia.com>
3717
3718         [Qt] Fix build when cross-compiling
3719         https://bugs.webkit.org/show_bug.cgi?id=77634
3720
3721         Reviewed by Tor Arne Vestbø.
3722
3723         * WebKit2.pri: Link in -lrt on linux mkspecs, regardless of whether gcc
3724         is in use or not. More specifically this fixes the case where the makespace
3725         is not linux-g++* but for a cross-compiling one like linux-arm-gnueabi-g++.
3726
3727 2012-02-03  Shinya Kawanaka  <shinyak@google.com>
3728
3729         Stop calling Element::ensureShadowRoot in Internals.
3730         https://bugs.webkit.org/show_bug.cgi?id=77612
3731
3732         Reviewed by Hajime Morita.
3733
3734         Exports symbols.
3735
3736         * win/WebKit2.def:
3737         * win/WebKit2CFLite.def:
3738
3739 2012-02-02  Sheriff Bot  <webkit.review.bot@gmail.com>
3740
3741         Unreviewed, rolling out r106620.
3742         http://trac.webkit.org/changeset/106620
3743         https://bugs.webkit.org/show_bug.cgi?id=77716
3744
3745         It broke non ENABLE(3D_RENDERING) builds (Requested by
3746         Ossy_morning on #webkit).
3747
3748         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
3749         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
3750         (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
3751         (WebKit::LayerTreeHostProxy::createImage):
3752         (WebKit::LayerTreeHostProxy::ensureRootLayer):
3753
3754 2012-02-02  No'am Rosenthal  <noam.rosenthal@nokia.com>
3755
3756         [Qt][Texmap] Refactor TextureMapper API to use ImageBuffers when possible.
3757         https://bugs.webkit.org/show_bug.cgi?id=77148
3758
3759         Reviewed by Martin Robinson.
3760
3761         Use TextureMapper::create instead of creating TextureMapperGL/TextureMapperQt directly.
3762         Remove calls to unused API.
3763
3764         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
3765         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
3766         (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
3767         (WebKit::LayerTreeHostProxy::createImage):
3768         (WebKit::LayerTreeHostProxy::ensureRootLayer):
3769
3770 2012-02-02  Jon Lee  <jonlee@apple.com>
3771
3772         Clear shown notifications when context is no longer active
3773         https://bugs.webkit.org/show_bug.cgi?id=77363
3774         <rdar://problem/10568907>
3775
3776         Reviewed by Darin Adler.
3777
3778         * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
3779         (WebKit::WebNotificationClient::clearNotifications): Forward the call to
3780         WebNotificationManager.
3781         * WebProcess/WebCoreSupport/WebNotificationClient.h:
3782         (WebNotificationClient):
3783
3784         * WebProcess/Notifications/WebNotificationManager.h: Add an additional map that maps
3785         all notifications associated with a given ScriptExecutionContext instance.
3786         * WebProcess/Notifications/WebNotificationManager.cpp:
3787         (WebKit::WebNotificationManager::show): Create a map entry for the notification's
3788         context if it doesn't exist already, and note that notification's ID. Also, correct
3789         the return value of show() if notifications are not enabled, to return false.
3790         (WebKit::WebNotificationManager::didCloseNotifications): When the notification is closed,
3791         we remove that notification from the map.
3792         (WebKit::WebNotificationManager::clearNotifications): Use the map entry for the given
3793         context, and pass that along to the proxy so that all of the notifications with those IDs
3794         can be cleared. In the meantime, we remove that context's map entry.
3795
3796         * UIProcess/Notifications/WebNotificationManagerProxy.messages.in: New ClearNotifications()
3797         message.
3798         * UIProcess/Notifications/WebNotificationManagerProxy.h:
3799         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
3800         (WebKit::WebNotificationManagerProxy::clearNotifications): Forward the call to the provider.
3801         Then remove this proxy's entries for the given notification IDs.
3802
3803         * UIProcess/Notifications/WebNotificationProvider.cpp:
3804         (WebKit::WebNotificationProvider::clearNotifications): Convert the vector of IDs to a mutable
3805         array.
3806         * UIProcess/Notifications/WebNotificationProvider.h:
3807         (WebNotificationProvider):
3808
3809         * UIProcess/API/C/WKNotificationProvider.h: Add WK API to tell the platform to clear the notifications.
3810
3811         Remove the #if guard since they already exist in WebNotificationManager functions:
3812         * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
3813         (WebKit::WebNotificationClient::show):
3814         (WebKit::WebNotificationClient::cancel):
3815         (WebKit::WebNotificationClient::notificationObjectDestroyed):
3816
3817 2012-02-02  Anders Carlsson  <andersca@apple.com>
3818
3819         NPAPI will not send mouse up events when mouse is outside plugin area
3820         https://bugs.webkit.org/show_bug.cgi?id=77657
3821         <rdar://problem/10160674>
3822
3823         Reviewed by Andreas Kling.
3824
3825         Use EventHandler::setCapturingMouseEventsNode to ensure we get all the mouse events when the mouse is down.
3826
3827         * WebProcess/Plugins/PluginView.cpp:
3828         (WebKit::PluginView::handleEvent):
3829
3830 2012-02-02  Claudio Saavedra  <csaavedra@igalia.com> and Martin Robinson  <mrobinson@igalia.com>
3831
3832         [GTK] WebKitWebView won't work in a GtkOffscreenWindow
3833         https://bugs.webkit.org/show_bug.cgi?id=76911
3834
3835         Reviewed by Philippe Normand.
3836
3837         * UIProcess/API/gtk/WebKitUIClient.cpp:
3838         (getWindowFrame): Use the new helper.
3839         * UIProcess/API/gtk/WebKitWebView.cpp:
3840         (webkitWebViewCreateJavaScriptDialog): Ditto
3841         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3842         (webkitWebViewBaseRealize): Ditto.
3843         (webkitWebViewBaseSizeAllocate): Ditto.
3844         (webkitWebViewBaseFocusInEvent): Ditto.
3845
3846 2012-02-01  Philippe Normand  <pnormand@igalia.com>
3847
3848         [GStreamer] FFTFrame implementation
3849         https://bugs.webkit.org/show_bug.cgi?id=73545
3850
3851         Reviewed by Chris Rogers.
3852
3853         * GNUmakefile.am: Remove libfftw compilation flags.
3854
3855 2012-02-01  No'am Rosenthal  <noam.rosenthal@nokia.com>
3856
3857         [Texmap] Use glScissors for clipping in TextureMapperGL when possible
3858         https://bugs.webkit.org/show_bug.cgi?id=77575
3859
3860         Reviewed by Martin Robinson.
3861
3862         Instead of applying the scissor clip in QQuickWebPage, we trickle it down to
3863         TextureMapperGL, and apply it there as part of beginClip(). All direct GL operations are
3864         now cleaned out of QQuickWebPage.
3865
3866         * UIProcess/API/qt/qquickwebpage.cpp:
3867         (QQuickWebPagePrivate::paintToCurrentGLContext):
3868         * UIProcess/DrawingAreaProxy.h:
3869         (WebKit::DrawingAreaProxy::paintToCurrentGLContext):
3870         * UIProcess/DrawingAreaProxyImpl.cpp:
3871         (WebKit::DrawingAreaProxyImpl::paintToCurrentGLContext):
3872         * UIProcess/DrawingAreaProxyImpl.h:
3873         (DrawingAreaProxyImpl):
3874         * UIProcess/LayerTreeHostProxy.h:
3875         (LayerTreeHostProxy):
3876         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
3877         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
3878
3879 2012-02-01  Dan Bernstein  <mitz@apple.com>
3880
3881         WebKit2 part of <rdar://problem/10442663> Paginated display does not respect page-break-{before,after}
3882         https://bugs.webkit.org/show_bug.cgi?id=77505
3883
3884         Reviewed by Darin Adler.
3885
3886         * Shared/WebPageCreationParameters.cpp:
3887         (WebKit::WebPageCreationParameters::encode): Encode paginationBehavesLikeColumns.
3888         (WebKit::WebPageCreationParameters::decode): Decode paginationBehavesLikeColumns.
3889         * Shared/WebPageCreationParameters.h:
3890         (WebPageCreationParameters): Added paginationBehavesLikeColumns boolean.
3891         * UIProcess/API/C/WKPage.cpp:
3892         (WKPageSetPaginationBehavesLikeColumns): Added this setter.
3893         (WKPageGetPaginationBehavesLikeColumns): Added this getter.
3894         * UIProcess/API/C/WKPagePrivate.h:
3895         * UIProcess/API/mac/WKBrowsingContextController.mm:
3896         (-[WKBrowsingContextController setPaginationBehavesLikeColumns:]): Added this Objective-C
3897         wrapper around WKPageSetPaginationBehavesLikeColumns.
3898         (-[WKBrowsingContextController paginationBehavesLikeColumns]): Added this Objective-C wrapper
3899         around WKPageGetPaginationBehavesLikeColumns.
3900         * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h:
3901         * UIProcess/WebPageProxy.cpp:
3902         (WebKit::WebPageProxy::WebPageProxy): Added call to setPaginationBehavesLikeColumns() with
3903         the value from the creation parameters.
3904         (WebKit::WebPageProxy::setPaginationBehavesLikeColumns): Added this setter.
3905         (WebKit::WebPageProxy::creationParameters): Populate paginationBehavesLikeColumns.
3906         * UIProcess/WebPageProxy.h:
3907         (WebKit::WebPageProxy::paginationBehavesLikeColumns): Added this getter.
3908         * WebProcess/WebPage/WebPage.cpp:
3909         (WebKit::WebPage::setPaginationBehavesLikeColumns): Added this setter.
3910         * WebProcess/WebPage/WebPage.h:
3911         * WebProcess/WebPage/WebPage.messages.in: Added SetPaginationBehavesLikeColumns message.
3912
3913 2012-02-01  Anders Carlsson  <andersca@apple.com>
3914
3915         REGRESSION (r104727): Strange graphics corruption opening a new tab in Safari
3916         https://bugs.webkit.org/show_bug.cgi?id=77578
3917         <rdar://problem/10767174>
3918
3919         Reviewed by Dan Bernstein.
3920
3921         Resizing a window will always invalidate the window backing store, so make sure to set
3922         _data->_windowHasValidBackingStore to NO whenever that happens.
3923
3924         * UIProcess/API/mac/WKView.mm:
3925         (-[WKView addWindowObserversForWindow:]):
3926         Use separate methods for the NSWindowDidMoveNotification and NSWindowDidResizeNotification notifications.
3927
3928         (-[WKView _windowDidMove:]):
3929         Call -[WKView _updateWindowAndViewFrames].
3930
3931         (-[WKView _windowDidResize:]):
3932         Call -[WKView _updateWindowAndViewFrames] and mark the window backing store as invalid.
3933
3934 2012-02-01  Beth Dakin  <bdakin@apple.com>
3935
3936         https://bugs.webkit.org/show_bug.cgi?id=77383
3937         Add a different didFirstVisuallNonEmptyLayout heuristic to experiment with
3938         -and corresponding-
3939         <rdar://problem/10709560>
3940
3941         Reviewed by Sam Weinig.
3942
3943         Machinery for didNewFirstVisuallNonEmptyLayout.
3944         * UIProcess/API/C/WKPage.h:
3945         * UIProcess/WebLoaderClient.cpp:
3946         (WebKit::WebLoaderClient::didNewFirstVisuallyNonEmptyLayout):
3947         (WebKit):
3948         * UIProcess/WebLoaderClient.h:
3949         (WebLoaderClient):
3950         * UIProcess/WebPageProxy.cpp:
3951         (WebKit::WebPageProxy::didNewFirstVisuallyNonEmptyLayout):
3952         (WebKit):
3953         * UIProcess/WebPageProxy.h:
3954         (WebPageProxy):
3955         * UIProcess/WebPageProxy.messages.in:
3956         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3957         (WebKit::WebFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout):
3958         (WebKit):
3959         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
3960         (WebFrameLoaderClient):
3961
3962         This temporary API allows the client to specify the threshold for the painted 
3963         objects counter on Page. This is temporary.
3964         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
3965         (WKBundlePageSetPaintedObjectsCounterThreshold):
3966         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
3967         * WebProcess/WebPage/WebPage.cpp:
3968         (WebKit::WebPage::setPaintedObjectsCounterThreshold):
3969         (WebKit):
3970         * WebProcess/WebPage/WebPage.h:
3971         (WebPage):
3972
3973 2012-01-31  Alexey Proskuryakov  <ap@apple.com>
3974
3975         REGRESSION (WebKit2): event.keyCode is always zero when typing in Russian
3976         https://bugs.webkit.org/show_bug.cgi?id=77473
3977         <rdar://problem/10751357>
3978
3979         Reviewed by Darin Adler.
3980
3981         * Shared/mac/WebEventFactory.mm: Removed broken copy/pasted implementation in favor of
3982         WebCore ones.
3983
3984 2012-01-31  Alexey Proskuryakov  <ap@apple.com>
3985
3986         PluginProcess should be able to use remote open and save panels
3987         https://bugs.webkit.org/show_bug.cgi?id=77461
3988         <rdar://problem/10783615>
3989
3990         Reviewed by Mark Rowe.
3991
3992         * PluginProcess/mac/PluginProcess.entitlements: Added.
3993         * PluginProcess/mac/add-entitlements.sh: Added.
3994         * WebKit2.xcodeproj/project.pbxproj:
3995         Add appropriate entitlement, plus ad hoc binary signing for it to work.
3996
3997 2012-01-31  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
3998
3999         Ensure tiles are repainted when scrolling using mouse wheel.
4000         https://bugs.webkit.org/show_bug.cgi?id=77339
4001
4002         A new slot visibleContentRectAndScaleChanged has been added
4003         that is emited by non-animated scrolling code in the
4004         QtViewportInteractionEngine.
4005
4006         Reviewed by Kenneth Rohde Christiansen.
4007
4008         * UIProcess/API/qt/qquickwebview.cpp:
4009         (QQuickWebViewPrivate::initializeDesktop):
4010         (QQuickWebViewPrivate::initializeTouch):
4011         (QQuickWebViewPrivate::_q_resume):
4012         (QQuickWebViewPrivate::_q_updateVisibleContentRectAndScale):
4013         (QQuickWebViewPrivate::updateTouchViewportSize):
4014         * UIProcess/API/qt/qquickwebview_p.h:
4015         * UIProcess/API/qt/qquickwebview_p_p.h:
4016         (QQuickWebViewPrivate):
4017         * UIProcess/qt/QtViewportInteractionEngine.cpp:
4018         (WebKit::QtViewportInteractionEngine::wheelEvent):
4019         * UIProcess/qt/QtViewportInteractionEngine.h:
4020         (QtViewportInteractionEngine):
4021
4022 2012-01-31  Zeno Albisser  <zeno@webkit.org>
4023
4024         [Qt][WK2] Make UIProcess decide about encoding of input data for application URL schemes.
4025         https://bugs.webkit.org/show_bug.cgi?id=77417
4026
4027         Make the UIProcess decide about the encoding and display
4028         a warning in case no encoding was defined.
4029         Make the QQuickNetworkReply store a QWeakPointer to the
4030         QQuickWebViewExperimental to get rid of hackish chain of parental queries.
4031
4032         Reviewed by Simon Hausmann.
4033
4034         * UIProcess/API/qt/qquicknetworkreply.cpp:
4035         (QQuickNetworkReply::send):
4036         (QQuickNetworkReply::setWebViewExperimental):
4037         * UIProcess/API/qt/qquicknetworkreply_p.h:
4038         * UIProcess/API/qt/qquickwebview.cpp:
4039         (QQuickWebViewExperimental::schemeDelegates_Append):
4040         * WebProcess/qt/QtNetworkReply.cpp:
4041         (WebKit::QtNetworkReply::QtNetworkReply):
4042         (WebKit::QtNetworkReply::setReplyData):
4043
4044 2012-01-30  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
4045
4046         [Qt] Disconnect the LayerTreeHost from layers when they get removed from their parent.
4047         https://bugs.webkit.org/show_bug.cgi?id=77362
4048
4049         Reviewed by Noam Rosenthal.
4050
4051         This fixes crashes seen in layout tests under certain timing circumstances
4052         that appeared after r106109 was landed.
4053
4054         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
4055         (WebCore::WebGraphicsLayer::replaceChild):
4056         (WebCore::WebGraphicsLayer::removeFromParent):
4057
4058 2012-01-30  Beth Dakin  <bdakin@apple.com>
4059
4060         https://bugs.webkit.org/show_bug.cgi?id=77263
4061         PlatformScreenMac should not rely on NSWindow for important bits of data
4062
4063         Reviewed by Geoff Garen.
4064
4065         toUserSpace() and toDeviceSpace() now take a parameter for the 
4066         deviceScaleFactor.
4067         * UIProcess/API/mac/WKView.mm:
4068         (-[WKView _convertToDeviceSpace:]):
4069         (-[WKView _convertToUserSpace:]):
4070
4071 2012-01-26  No'am Rosenthal  <noam.rosenthal@nokia.com> and Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
4072
4073         [Qt] WKTR: Use a software rendering pipiline when running tests.
4074         https://bugs.webkit.org/show_bug.cgi?id=76708
4075
4076         Reviewed by Kenneth Rohde Christiansen.
4077
4078         Animation layout tests require the graphics layers tree to be updated
4079         to pass. WebkitTestRunner doesn't show its wrapping QQuickView, which
4080         prevents the rendering pipeline to run and then in turn blocks the web
4081         process from processing further graphics layer updates.
4082
4083         This allows the tests to use a TextureMapperQt to empty the LayerTreeHost's
4084         message queue and render the layers in software on an offscr