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