[Qt][WK2] Move QQuickWebView::downloadRequested signal into experimental
[WebKit.git] / Source / WebKit2 / ChangeLog
1 2011-11-21  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2
3         [Qt][WK2] Move QQuickWebView::downloadRequested signal into experimental
4         https://bugs.webkit.org/show_bug.cgi?id=72914
5
6         Reviewed by Andreas Kling.
7
8         Make the signal downloadRequested an experimental API from QQuickWebView
9         and modify the qml test to use a WebView instead of a DesktopWebView.
10
11         * UIProcess/API/qt/qquickwebview_p.h:
12         * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_download.qml.
13         * UIProcess/API/qt/tests/qmltests/common/download.html: Removed.
14         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
15         * UIProcess/qt/QtWebPageProxy.cpp:
16         (QtWebPageProxy::didReceiveDownloadResponse):
17
18 2011-11-22  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
19
20         [Qt] [WK2] Expose onNavigationRequested signal instead of expecting a slot be defined from QML
21         https://bugs.webkit.org/show_bug.cgi?id=72976
22
23         Reviewed by Tor Arne Vestbø.
24
25         Expecting slots/methods to be implemented in QML isn't very idiomatic in
26         comparison with the alternative of having a signal. So we now use a signal
27         for handling navigation requests, and expose a 'request' object with relevant
28         metadata. There's also a settable property 'action' used to indicate whether
29         the navigation should be ignored or trigger a download.
30
31         The pattern signal with an object parameter that can keep the reply is common in QML,
32         and used for example for mouse signals.
33
34         * UIProcess/API/qt/qquickwebview.cpp:
35         * UIProcess/API/qt/qquickwebview_p.h:
36         * UIProcess/API/qt/qquickwebview_p_p.h:
37         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationPolicyForUrl.qml.
38         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
39         * UIProcess/qt/QtWebPagePolicyClient.cpp:
40         (NavigationRequest::NavigationRequest):
41         (NavigationRequest::url):
42         (NavigationRequest::button):
43         (NavigationRequest::modifiers):
44         (NavigationRequest::action):
45         (NavigationRequest::setAction):
46         (QtWebPagePolicyClient::decidePolicyForNavigationAction):
47         * UIProcess/qt/QtWebPagePolicyClient.h:
48
49 2011-11-22  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
50
51         [Qt] [WK2] Move PagePolicyClient related code to QtWebPagePolicyClient
52         https://bugs.webkit.org/show_bug.cgi?id=72959
53
54         Reviewed by Andreas Kling.
55
56         Split PagePolicyClient related code from QtWebPageProxy/ClientImpl. The new
57         QtWebPagePolicyClient registers itself with WKPageRef and it's owned by the
58         QQuickWebViewPrivate. This is a move to clean up QtWebPageProxy object.
59
60         QtPolicyInterface abstraction was not helping us as much as the separation of
61         the client code will. It was more useful when we had multiple WebViews.
62
63         * Target.pri:
64         * UIProcess/API/qt/qquickwebview.cpp:
65         (QQuickWebViewPrivate::QQuickWebViewPrivate):
66         (toPolicyAction):
67         (QQuickWebViewPrivate::navigationPolicyForURL):
68         * UIProcess/API/qt/qquickwebview_p.h:
69         * UIProcess/API/qt/qquickwebview_p_p.h:
70         * UIProcess/qt/ClientImpl.cpp:
71         * UIProcess/qt/ClientImpl.h:
72         * UIProcess/qt/QtWebPagePolicyClient.cpp: Added.
73         (QtWebPagePolicyClient::QtWebPagePolicyClient):
74         (QtWebPagePolicyClient::decidePolicyForNavigationAction):
75         (toQtWebPagePolicyClient):
76         (toQtMouseButton):
77         (toQtKeyboardModifiers):
78         (QtWebPagePolicyClient::decidePolicyForResponse):
79         * UIProcess/qt/QtWebPagePolicyClient.h: Renamed from Source/WebKit2/UIProcess/qt/QtPolicyInterface.h.
80         * UIProcess/qt/QtWebPageProxy.cpp:
81         (QtWebPageProxy::QtWebPageProxy):
82         (QtWebPageProxy::init):
83         * UIProcess/qt/QtWebPageProxy.h:
84
85 2011-11-23  Raphael Kubo da Costa  <kubo@profusion.mobi>
86
87         [CMake] Move the top-level logic to the top-level directory.
88         https://bugs.webkit.org/show_bug.cgi?id=72685
89
90         Reviewed by Brent Fulgham.
91
92         * CMakeLists.txt: Adjust Source/ directory.
93
94 2011-11-22  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
95
96         Unreviewed : remove empty folders related to TouchWebView and DesktopWebView
97         https://bugs.webkit.org/show_bug.cgi?id=72985
98
99         * UIProcess/API/qt/tests/qmltests/DesktopWebView: Removed.
100         * UIProcess/API/qt/tests/qmltests/TouchWebView: Removed.
101
102 2011-11-22  Carlos Garcia Campos  <cgarcia@igalia.com>
103
104         Ensure web process before starting a download
105         https://bugs.webkit.org/show_bug.cgi?id=72499
106
107         Reviewed by Anders Carlsson.
108
109         * UIProcess/WebContext.cpp:
110         (WebKit::WebContext::download): Call ensureWebProcess().
111
112 2011-11-22  Csaba Osztrogonác  <ossy@webkit.org>
113
114         Unreviewed buildfix after r101001.
115
116         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
117         (WebKit::WebInspectorClient::openInspectorFrontend): Use ASSERT_UNUSED instead of ASSERT.
118
119 2011-11-22  Pavel Feldman  <pfeldman@google.com>
120
121         Not reviewed: moving inspector frontend creation out of assert in WebKit2.
122
123         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
124         (WebKit::WebInspectorClient::openInspectorFrontend):
125
126 2011-11-22  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
127
128         [Qt][WK2] Fix and unskip loadHtml api test
129         https://bugs.webkit.org/show_bug.cgi?id=72916
130
131         Reviewed by Andreas Kling.
132
133         Now that linkHovered events are working again we can fix and unskip this
134         loadHtml test.
135
136         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
137
138 2011-11-22  Pavel Feldman  <pfeldman@google.com>
139
140         Web Inspector: remove Inspector::bringToFront from the protocol.
141         https://bugs.webkit.org/show_bug.cgi?id=72937
142
143         Reviewed by Yury Semikhatsky.
144
145         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
146         (WebKit::WebInspectorClient::openInspectorFrontend):
147         (WebKit::WebInspectorClient::bringFrontendToFront):
148         * WebProcess/WebCoreSupport/WebInspectorClient.h:
149
150 2011-11-22  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
151
152         [Qt] [WK2] Move PageLoadClient related code to QtWebPageLoadClient
153         https://bugs.webkit.org/show_bug.cgi?id=72928
154
155         Reviewed by Andreas Kling.
156
157         Split PageLoadClient related code from QtWebPageProxy/ClientImpl. The new
158         QtWebPageLoadClient registers itself with WKPageRef and it's owned by the
159         QQuickWebViewPrivate. This is a move to clean up QtWebPageProxy object.
160
161         * Target.pri:
162         * UIProcess/API/qt/qquickwebview.cpp:
163         (QQuickWebViewPrivate::QQuickWebViewPrivate):
164         (QQuickWebView::loadProgress):
165         * UIProcess/API/qt/qquickwebview_p.h:
166         * UIProcess/API/qt/qquickwebview_p_p.h:
167         * UIProcess/qt/ClientImpl.cpp:
168         * UIProcess/qt/ClientImpl.h:
169         * UIProcess/qt/QtWebPageLoadClient.cpp: Added.
170         (QtWebPageLoadClient::QtWebPageLoadClient):
171         (QtWebPageLoadClient::didStartProvisionalLoadForFrame):
172         (QtWebPageLoadClient::didCommitLoadForFrame):
173         (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
174         (QtWebPageLoadClient::didReceiveTitleForFrame):
175         (QtWebPageLoadClient::didFirstVisuallyNonEmptyLayoutForFrame):
176         (QtWebPageLoadClient::dispatchLoadSucceeded):
177         (QtWebPageLoadClient::dispatchLoadFailed):
178         (QtWebPageLoadClient::setLoadProgress):
179         (toQtWebPageLoadClient):
180         (QtWebPageLoadClient::didFailProvisionalLoadWithErrorForFrame):
181         (QtWebPageLoadClient::didFinishLoadForFrame):
182         (QtWebPageLoadClient::didFailLoadWithErrorForFrame):
183         (QtWebPageLoadClient::didStartProgress):
184         (QtWebPageLoadClient::didChangeProgress):
185         (QtWebPageLoadClient::didFinishProgress):
186         * UIProcess/qt/QtWebPageLoadClient.h: Added.
187         (QtWebPageLoadClient::loadProgress):
188         * UIProcess/qt/QtWebPageProxy.cpp:
189         (QtWebPageProxy::QtWebPageProxy):
190         (QtWebPageProxy::init):
191         (QtWebPageProxy::updateNavigationState):
192         * UIProcess/qt/QtWebPageProxy.h:
193
194 2011-11-22  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
195
196         [Qt] [WK2] Move PageUIClient related code to QtWebPageUIClient
197         https://bugs.webkit.org/show_bug.cgi?id=72910
198
199         Reviewed by Andreas Kling.
200
201         Split PageUIClient related code from QtWebPageProxy/ClientImpl. The new
202         QtWebPageUIClient registers itself with WKPageRef and it's owned by the
203         QQuickWebViewPrivate. This is a move to clean up QtWebPageProxy object.
204
205         * Target.pri:
206         * UIProcess/API/qt/qquickwebview.cpp:
207         (QQuickWebViewPrivate::QQuickWebViewPrivate):
208         (QQuickWebViewPrivate::chooseFiles):
209         * UIProcess/API/qt/qquickwebview_p.h:
210         * UIProcess/API/qt/qquickwebview_p_p.h:
211         * UIProcess/qt/ClientImpl.cpp:
212         * UIProcess/qt/ClientImpl.h:
213         * UIProcess/qt/QtWebPageProxy.cpp:
214         (QtWebPageProxy::init):
215         * UIProcess/qt/QtWebPageProxy.h:
216         * UIProcess/qt/QtWebPageUIClient.cpp: Added.
217         (QtWebPageUIClient::QtWebPageUIClient):
218         (QtWebPageUIClient::runJavaScriptAlert):
219         (QtWebPageUIClient::runJavaScriptConfirm):
220         (QtWebPageUIClient::runJavaScriptPrompt):
221         (QtWebPageUIClient::runOpenPanel):
222         (QtWebPageUIClient::setStatusText):
223         (QtWebPageUIClient::mouseDidMoveOverElement):
224         (toQtWebPageUIClient):
225         (createNullWKString):
226         * UIProcess/qt/QtWebPageUIClient.h: Added.
227
228 2011-11-22  Eunmi Lee  <eunmi15.lee@samsung.com>
229
230         [WK2] Modify EFL port's WebEventFactory to use EflKeyboardUtilities's
231         keyIdentifierForEvasKeyName() and windowsKeyCodeForEvasKeyName().
232         https://bugs.webkit.org/show_bug.cgi?id=72850
233
234         Reviewed by Anders Carlsson.
235
236         The EflKeyboardUtilities has been added, so we can use keyIdentifierForEvasKeyName() and
237         windowsKeyCodeForEvasKeyName() for EFL port's WebEventFactory.
238
239         * Shared/efl/WebEventFactory.cpp:
240         (WebKit::WebEventFactory::createWebKeyboardEvent):
241
242 2011-11-21  Alexis Menard  <alexis.menard@openbossa.org>
243
244         [Qt][WK2] REGRESSION(100483): It made 2 API tests fail
245         https://bugs.webkit.org/show_bug.cgi?id=72612
246
247         Reviewed by Kenneth Rohde Christiansen.
248
249         Make sure that when the view is focused, the page knows about it.
250         Also set a the view to be the focused item in the failing tests.
251
252         * UIProcess/API/qt/qquickwebpage_p.h:
253         * UIProcess/API/qt/qquickwebview.cpp:
254         (QQuickWebView::focusInEvent):
255         (QQuickWebView::focusOutEvent):
256         * UIProcess/API/qt/qquickwebview_p.h:
257         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
258         * UIProcess/qt/QtWebPageProxy.cpp:
259         (QtWebPageProxy::isViewFocused):
260
261 2011-11-21  Simon Hausmann  <simon.hausmann@nokia.com>
262
263         [Qt] Speed up debug builds.
264         https://bugs.webkit.org/show_bug.cgi?id=72882
265
266         Reviewed by Tor Arne Vestbø.
267
268         * Target.pri: Make BUILDING_WebKit2 available, so it can be
269         used by the build system.
270
271 2011-11-21  Alexis Menard  <alexis.menard@openbossa.org>
272
273         [Qt] Remove unnecessary initialize method from QQuickWebView.
274         https://bugs.webkit.org/show_bug.cgi?id=72905
275
276         Reviewed by Kenneth Rohde Christiansen.
277
278         We don't need this level of indirection.
279
280         * UIProcess/API/qt/qquickwebview.cpp:
281         (QQuickWebViewPrivate::QQuickWebViewPrivate):
282         (QQuickWebView::QQuickWebView):
283         * UIProcess/API/qt/qquickwebview_p_p.h:
284
285 2011-11-21  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
286
287         [Qt][WK2] Implement loadHtml API for QQuickWebView
288         https://bugs.webkit.org/show_bug.cgi?id=72161
289
290         Reviewed by Simon Hausmann.
291
292         Implement QQuickWebView::loadHtml that calls QtWebPageProxy::loadHTMLString.
293         This function will use WKPageLoadHTMLString in order to load HTML from a given string.
294
295         * UIProcess/API/qt/qquickwebview.cpp:
296         (QQuickWebView::loadHtml):
297         * UIProcess/API/qt/qquickwebview.h:
298         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadHtml.qml: Added.
299         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml: Added.
300         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
301         * UIProcess/qt/QtWebPageProxy.cpp:
302         (QtWebPageProxy::loadHTMLString):
303         * UIProcess/qt/QtWebPageProxy.h:
304
305 2011-11-21  Igor Oliveira  <igor.oliveira@openbossa.org>
306
307         [WK2][Qt] Move Accelerated Composite animations to UIProcess
308         https://bugs.webkit.org/show_bug.cgi?id=72753
309
310         Currently, all the accelerated compositing animations are applied in WebProcess and
311         for each frame generated, WebProcess needs to sync with UIProcess.
312
313         This patch moves the accelerated compositing animations to UIProcess reducing the
314         amount of synchronization messages between WebProcess and UIProcess, this is done
315         sending animations information to UIProcess.
316
317         Reviewed by Noam Rosenthal.
318
319         * Shared/WebCoreArgumentCoders.cpp:
320         (CoreIPC::::encode):
321         (CoreIPC::::decode):
322
323         Encode/Decode RefPtr<Animation> instead of Animation class. This facilitates
324         the data serialization.
325
326         * Shared/WebCoreArgumentCoders.h:
327         * Shared/WebLayerTreeInfo.cpp:
328         (WebKit::WebLayerInfo::encode):
329         (WebKit::WebLayerInfo::decode):
330         (WebKit::WebLayerAnimation::encode):
331         (WebKit::WebLayerAnimation::decode):
332
333         Create WebLayerAnimation struct, it is used to send animation information
334         to UIProcess.
335
336         * Shared/WebLayerTreeInfo.h:
337         (WebKit::WebLayerAnimation::WebLayerAnimation):
338         * UIProcess/LayerTreeHostProxy.h:
339         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
340         (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
341         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
342         (WebKit::LayerTreeHostProxy::didFireViewportUpdateTimer):
343         (WebKit::LayerTreeHostProxy::syncLayerParameters):
344         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
345         (WebCore::WebGraphicsLayer::addAnimation):
346         (WebCore::WebGraphicsLayer::pauseAnimation):
347         (WebCore::WebGraphicsLayer::removeAnimation):
348         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
349
350 2011-11-21  Pavel Feldman  <pfeldman@chromium.org>
351
352         Web Inspector: [WebKit2] Do not access InspectorController from the "Develop" menu code.
353         https://bugs.webkit.org/show_bug.cgi?id=63009
354
355         Reviewed by Yury Semikhatsky.
356
357         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
358         (WebKit::WebInspectorClient::openInspectorFrontend):
359         * WebProcess/WebPage/WebInspector.cpp:
360         (WebKit::WebInspector::WebInspector):
361         (WebKit::WebInspector::createInspectorPage):
362         (WebKit::WebInspector::showConsole):
363         (WebKit::WebInspector::startJavaScriptDebugging):
364         (WebKit::WebInspector::stopJavaScriptDebugging):
365         (WebKit::WebInspector::setJavaScriptProfilingEnabled):
366         (WebKit::WebInspector::startJavaScriptProfiling):
367         (WebKit::WebInspector::stopJavaScriptProfiling):
368         (WebKit::WebInspector::startPageProfiling):
369         (WebKit::WebInspector::stopPageProfiling):
370         * WebProcess/WebPage/WebInspector.h:
371
372 2011-11-21  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
373
374         [Qt] Add WebView.view attached property support for dialogs in QML
375         https://bugs.webkit.org/show_bug.cgi?id=72825
376
377         Reviewed by Simon Hausmann.
378
379         When creating new dialogs, fill their WebView.view attached property
380         with the WebView that's creating them. This follows the same pattern
381         as QtQuick's ListView, enabling the usage of the same dialog component
382         for different WebViews.
383
384         * UIProcess/API/qt/qquickwebview.cpp:
385         (QQuickWebViewPrivate::runJavaScriptAlert):
386         (QQuickWebViewPrivate::runJavaScriptConfirm):
387         (QQuickWebViewPrivate::runJavaScriptPrompt):
388         (QQuickWebViewPrivate::setViewInAttachedProperties):
389         (QQuickWebViewAttached::QQuickWebViewAttached):
390         (QQuickWebViewAttached::setView):
391         (QQuickWebView::qmlAttachedProperties):
392         * UIProcess/API/qt/qquickwebview_p.h:
393         * UIProcess/API/qt/qquickwebview_p_p.h:
394         * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
395         * UIProcess/qt/QtDialogRunner.h:
396         (QtDialogRunner::dialog):
397
398 2011-11-21  Jochen Eisinger  <jochen@chromium.org>
399
400         Implement Meta referrer
401         https://bugs.webkit.org/show_bug.cgi?id=72674
402
403         Reviewed by Adam Barth.
404
405         * WebProcess/Plugins/PluginView.cpp:
406         (WebKit::PluginView::loadURL):
407
408 2011-11-21  Carlos Garcia Campos  <cgarcia@igalia.com>
409
410         Unreviewed. Fix make distcheck build.
411
412         * GNUmakefile.am:
413
414 2011-10-17  Antonio Gomes  <agomes@rim.com>
415
416         Pass a Frame* parameter in EditorClient::respondToChangedSelection
417         https://bugs.webkit.org/show_bug.cgi?id=70248
418
419         Reviewed by Ryosuke Niwa.
420
421         * WebProcess/WebCoreSupport/WebEditorClient.cpp: Make use of the newly added Frame* parameter.
422         (WebKit::WebEditorClient::respondToChangedSelection):
423         * WebProcess/WebCoreSupport/WebEditorClient.h:
424
425 2011-11-17  Mark Rowe  <mrowe@apple.com>
426
427         <http://webkit.org/b/72646> Disable deprecation warnings around code where we cannot easily
428         switch away from the deprecated APIs.
429
430         Reviewed by Sam Weinig.
431
432         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
433
434 2011-11-19  Sheriff Bot  <webkit.review.bot@gmail.com>
435
436         Unreviewed, rolling out r100834.
437         http://trac.webkit.org/changeset/100834
438         https://bugs.webkit.org/show_bug.cgi?id=72806
439
440         this patch makes Qt run-webkit-test exit before finishing
441         (Requested by igoroliveira on #webkit).
442
443         * Shared/WebCoreArgumentCoders.cpp:
444         (CoreIPC::::encode):
445         (CoreIPC::::decode):
446         * Shared/WebCoreArgumentCoders.h:
447         * Shared/WebLayerTreeInfo.cpp:
448         (WebKit::WebLayerInfo::encode):
449         (WebKit::WebLayerInfo::decode):
450         * Shared/WebLayerTreeInfo.h:
451         * UIProcess/LayerTreeHostProxy.h:
452         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
453         (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
454         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
455         (WebKit::LayerTreeHostProxy::syncLayerParameters):
456         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
457         (WebCore::WebGraphicsLayer::addAnimation):
458         (WebCore::WebGraphicsLayer::pauseAnimation):
459         (WebCore::WebGraphicsLayer::removeAnimation):
460         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
461
462 2011-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>
463
464         Unreviewed, rolling out r100826.
465         http://trac.webkit.org/changeset/100826
466         https://bugs.webkit.org/show_bug.cgi?id=72786
467
468         Broke Chromium Mac build (Requested by aklein on #webkit).
469
470         * UIProcess/API/mac/PageClientImpl.h:
471         * UIProcess/API/mac/PageClientImpl.mm:
472         * UIProcess/PageClient.h:
473         * UIProcess/WebPageProxy.cpp:
474         * UIProcess/WebPageProxy.h:
475         * UIProcess/WebPageProxy.messages.in:
476         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
477         (WebKit::BuiltInPDFView::scrollbarStyleChanged):
478         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
479         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
480         * WebProcess/WebCoreSupport/WebChromeClient.h:
481
482 2011-11-18  Igor Oliveira  <igor.oliveira@openbossa.org>
483
484         [WK2][Qt] Move Accelerated Composite animations to UIProcess
485         https://bugs.webkit.org/show_bug.cgi?id=72753
486
487         Currently, all the accelerated compositing animations are applied in WebProcess and
488         for each frame generated, WebProcess needs to sync with UIProcess.
489
490         This patch moves the accelerated compositing animations to UIProcess reducing the
491         amount of synchronization messages between WebProcess and UIProcess, this is done
492         sending animations information to UIProcess.
493
494         Reviewed by Noam Rosenthal.
495
496         * Shared/WebCoreArgumentCoders.cpp:
497         (CoreIPC::::encode):
498         (CoreIPC::::decode):
499
500         Encode/Decode RefPtr<Animation> instead of Animation class. This facilitates
501         the data serialization.
502
503         * Shared/WebCoreArgumentCoders.h:
504         * Shared/WebLayerTreeInfo.cpp:
505         (WebKit::WebLayerInfo::encode):
506         (WebKit::WebLayerInfo::decode):
507         (WebKit::WebLayerAnimation::encode):
508         (WebKit::WebLayerAnimation::decode):
509
510         Create WebLayerAnimation struct, it is used to send animation information
511         to UIProcess.
512
513         * Shared/WebLayerTreeInfo.h:
514         (WebKit::WebLayerAnimation::WebLayerAnimation):
515         * UIProcess/LayerTreeHostProxy.h:
516         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
517         (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
518         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
519         (WebKit::LayerTreeHostProxy::updateSceneGraphUpdateTimerFired):
520         (WebKit::LayerTreeHostProxy::syncLayerParameters):
521         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
522         (WebCore::WebGraphicsLayer::addAnimation):
523         (WebCore::WebGraphicsLayer::pauseAnimation):
524         (WebCore::WebGraphicsLayer::removeAnimation):
525         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
526
527 2011-11-18  Beth Dakin  <bdakin@apple.com>
528
529         https://bugs.webkit.org/show_bug.cgi?id=72551
530         When the recommended scrollbar style changes, WKView's tracking options should 
531         adjust accordingly
532         -and corresponding-
533         <rdar://problem/10409328>
534
535         Reviewed by Darin Adler.
536
537         These new functions take care of passing along the 
538         recommendedScrollbarStyleDidChange() message that originates in the ChromeClient. 
539         * UIProcess/API/mac/PageClientImpl.h:
540         * UIProcess/PageClient.h:
541         * UIProcess/WebPageProxy.cpp:
542         (WebKit::WebPageProxy::recommendedScrollbarStyleDidChange):
543         * UIProcess/WebPageProxy.h:
544         * UIProcess/WebPageProxy.messages.in:
545         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
546         (WebKit::WebChromeClient::recommendedScrollbarStyleDidChange):
547         * WebProcess/WebCoreSupport/WebChromeClient.h:
548
549         This is where we actually respond to the recommendedScrollbarStyleDidChange 
550         message. We remove the existing tracking area and create a new tracking area with 
551         the appropriate tracking options.
552         * UIProcess/API/mac/PageClientImpl.mm:
553         (WebKit::PageClientImpl::recommendedScrollbarStyleDidChange):
554
555         BuiltInPDFView inherits from WebCore::ScrollableArea, so scrollbarStyleChanged() 
556         must now take two parameters like the one in ScrollableArea.
557         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
558         (WebKit::BuiltInPDFView::scrollbarStyleChanged):
559         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
560
561 2011-11-18  Dinu Jacob  <dinu.jacob@nokia.com>
562
563         [Qt][Wk2] Add an API test for scroll request from javascript
564         https://bugs.webkit.org/show_bug.cgi?id=72407
565
566         New API test added for QQuickWebView for javascript scroll request 
567         Reviewed by Simon Hausmann.
568
569         * UIProcess/API/qt/tests/html/scroll.html: Added.
570         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
571         (tst_QQuickWebView::scrollRequest):
572
573 2011-11-18 No'am Rosenthal  <noam.rosenthal@nokia.com>
574
575         WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
576         https://bugs.webkit.org/show_bug.cgi?id=61694
577
578         Add an ArgumentCoder for KeyframeValueList, and modify the TimingFunction ArgumentCoder to
579         allow encoding const TimingFunctions and not just RefPtr<TimingFunction>.
580
581         Reviewed by Simon Hausmann.
582
583         * Scripts/webkit2/messages.py:
584         * Shared/WebCoreArgumentCoders.cpp:
585         (CoreIPC::::encode):
586         (CoreIPC::::decode):
587         * Shared/WebCoreArgumentCoders.h:
588
589 2011-11-18  Kenneth Rohde Christiansen  <kenneth@webkit.org>
590
591         [Qt] Guard for the viewportInteractionEngine as it doesn't always exist.
592
593         Reviewed by Antonio Gomes.
594
595         The engine is non-existent when the view is configured to use desktop
596         behavior.
597
598         * UIProcess/qt/QtWebPageProxy.cpp:
599         (QtWebPageProxy::handleWheelEvent):
600         (QtWebPageProxy::didFindZoomableArea):
601
602 2011-11-18  Carlos Garcia Campos  <cgarcia@igalia.com>
603
604         [GTK] Send DidCreateDestination to DownloadProxy when destination has been created
605         https://bugs.webkit.org/show_bug.cgi?id=72724
606
607         Reviewed by Martin Robinson.
608
609         * WebProcess/Downloads/soup/DownloadSoup.cpp:
610         (WebKit::DownloadClient::didReceiveResponse): Call
611         didCreateDestination() when destination URI has been successfully
612         created.
613
614 2011-11-18  Carlos Garcia Campos  <cgarcia@igalia.com>
615
616         [GTK] Cancel current download operation before download object is deleted
617         https://bugs.webkit.org/show_bug.cgi?id=72721
618
619         Reviewed by Martin Robinson.
620
621         It fixes a crash in the web process when a download finishes early
622         due to a failure.
623
624         * WebProcess/Downloads/soup/DownloadSoup.cpp:
625         (WebKit::Download::cancel): Delete current ResourceHandle.
626         (WebKit::Download::platformInvalidate): If there's a
627         ResourceHandle active, cancel the download operation and delete
628         the handle.
629         (WebKit::Download::platformDidFinish): Delete current ResourceHandle.
630
631 2011-11-18  Carlos Garcia Campos  <cgarcia@igalia.com>
632
633         [GTK] Downloads not started by WebView only fail for transport errors
634         https://bugs.webkit.org/show_bug.cgi?id=72718
635
636         Reviewed by Martin Robinson.
637
638         * WebProcess/Downloads/soup/DownloadSoup.cpp:
639         (WebKit::DownloadClient::didReceiveResponse): Check if the http
640         status of the response is an error code and finish the download
641         with an error in such case.
642
643 2011-11-17  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
644
645         [Qt] Support customizing JS alert/confirm/prompt dialogs using QML
646         https://bugs.webkit.org/show_bug.cgi?id=72319
647
648         Reviewed by Simon Hausmann.
649
650         Adds alertDialog, confirmDialog and promptDialog properties to QQuickWebView's
651         privateObject. These are QML components that are created by the webview when the
652         corresponding function is called in JS.
653
654         The dialogs are created in a context that contains a model object, similar to
655         ListView delegates. The "message" and "defaultValue" parameters are available
656         in the model object, as well as slots expected to be called by the dialog.
657
658         This commit removes the old code for supporting QWidget builtin dialogs. The code
659         wasn't working properly (closing any dialog was closing the app after QWindow
660         refactoring in Qt5).
661
662         * Target.pri:
663         * UIProcess/API/qt/qquickwebview.cpp:
664         (QQuickWebViewPrivate::runJavaScriptAlert):
665         (QQuickWebViewPrivate::runJavaScriptConfirm):
666         (QQuickWebViewPrivate::runJavaScriptPrompt):
667         (QQuickWebViewExperimental::alertDialog):
668         (QQuickWebViewExperimental::setAlertDialog):
669         (QQuickWebViewExperimental::confirmDialog):
670         (QQuickWebViewExperimental::setConfirmDialog):
671         (QQuickWebViewExperimental::promptDialog):
672         (QQuickWebViewExperimental::setPromptDialog):
673         * UIProcess/API/qt/qquickwebview_p.h:
674         * UIProcess/API/qt/qquickwebview_p_p.h:
675         * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml: Added.
676         * UIProcess/API/qt/tests/qmltests/common/alert.html: Added.
677         * UIProcess/API/qt/tests/qmltests/common/confirm.html: Added.
678         * UIProcess/API/qt/tests/qmltests/common/prompt.html: Added.
679         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
680         * UIProcess/qt/QtDialogRunner.cpp: Added.
681         (QtDialogRunner::QtDialogRunner):
682         (QtDialogRunner::~QtDialogRunner):
683         (DialogContextObject::DialogContextObject):
684         (DialogContextObject::message):
685         (DialogContextObject::defaultValue):
686         (DialogContextObject::dismiss):
687         (DialogContextObject::accept):
688         (DialogContextObject::reject):
689         (QtDialogRunner::initForAlert):
690         (QtDialogRunner::initForConfirm):
691         (QtDialogRunner::initForPrompt):
692         (QtDialogRunner::createDialog):
693         * UIProcess/qt/QtDialogRunner.h: Added.
694         (QtDialogRunner::wasAccepted):
695         (QtDialogRunner::result):
696         (QtDialogRunner::onAccepted):
697
698 2011-11-18  Kenneth Rohde Christiansen  <kenneth@webkit.org>
699
700         [Qt] Support wheel event together with resizesToContents
701
702         Reviewed by Simon Hausmann.
703
704         * UIProcess/API/qt/qquickwebpage.cpp:
705         * UIProcess/qt/QtViewportInteractionEngine.cpp:
706         (WebKit::QtViewportInteractionEngine::wheelEvent):
707         * UIProcess/qt/QtViewportInteractionEngine.h:
708         * UIProcess/qt/QtWebPageProxy.cpp:
709         (QtWebPageProxy::handleWheelEvent):
710
711 2011-11-18  Simon Hausmann  <simon.hausmann@nokia.com>
712
713         [Qt][WK2] Layer violation: WebPopupMenuProxyQtDesktop.cpp uses files from WebKit/qt
714         https://bugs.webkit.org/show_bug.cgi?id=72696
715
716         Reviewed by Kenneth Rohde Christiansen.
717
718         Implement the WK2 desktop popup by simply subclassing QComboBox and doing the
719         same thing as QtWebComboBox from WK1 (a few lines of code).
720
721         * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
722         (WebKit::WebPopupMenuProxyQtDesktop::WebPopupMenuProxyQtDesktop):
723         (WebKit::WebPopupMenuProxyQtDesktop::~WebPopupMenuProxyQtDesktop):
724         (WebKit::WebPopupMenuProxyQtDesktop::showPopupMenu):
725         (WebKit::WebPopupMenuProxyQtDesktop::hidePopupMenu):
726         (WebKit::WebPopupMenuProxyQtDesktop::eventFilter):
727         (WebKit::WebPopupMenuProxyQtDesktop::setSelectedIndex):
728         (WebKit::WebPopupMenuProxyQtDesktop::populate):
729         * UIProcess/qt/WebPopupMenuProxyQtDesktop.h:
730
731 2011-11-18  Zeno Albisser  <zeno@webkit.org>
732
733         [Qt][WK2] setViewportInteractionEngine must also set the InteractionEngine for the tap recognizer.
734         https://bugs.webkit.org/show_bug.cgi?id=72717
735
736         Reviewed by Kenneth Rohde Christiansen.
737
738         * UIProcess/qt/QtTapGestureRecognizer.cpp:
739         (WebKit::QtTapGestureRecognizer::setViewportInteractionEngine):
740         * UIProcess/qt/QtTapGestureRecognizer.h:
741         * UIProcess/qt/QtWebPageProxy.cpp:
742         (QtWebPageProxy::setViewportInteractionEngine):
743         * UIProcess/qt/QtWebPageProxy.h:
744
745 2011-11-18  Simon Hausmann  <simon.hausmann@nokia.com>
746
747         [Qt][WK2] Fix popups for select elements.
748
749         Reviewed by Tor Arne Vestbø.
750
751         * UIProcess/qt/QtWebPageProxy.cpp:
752         (QtWebPageProxy::createPopupMenuProxy): Fall back to the "desktop" implementation
753         for the moment. Better than nothing :)
754
755 2011-11-18  Simon Hausmann  <simon.hausmann@nokia.com>
756
757         [Qt] Unreviewed debug build fix
758
759         * UIProcess/qt/QtWebPageProxy.cpp:
760         (QtWebPageProxy::QtWebPageProxy): Don't assert on a non-existant
761         variable.
762
763 2011-11-18  Simon Hausmann  <simon.hausmann@nokia.com>
764
765         [Qt] Removal of QtViewInterface part 3
766
767         Reviewed by Kenneth Rohde Christiansen.
768
769         Move the remaining forwarded calls from ClientImpl that went through
770         ViewInterface and then PageProxy or WebView to go straight to
771         QtWebPageProxy. QtViewInterface is empty now and therefore removed.
772
773         * Target.pri:
774         * UIProcess/API/qt/qquickwebpage_p.h:
775         * UIProcess/API/qt/qquickwebpage_p_p.h:
776         * UIProcess/API/qt/qquickwebview.cpp:
777         (QQuickWebViewPrivate::initialize):
778         (QQuickWebViewPrivate::chooseFiles):
779         * UIProcess/API/qt/qquickwebview_p.h:
780         * UIProcess/API/qt/qquickwebview_p_p.h:
781         * UIProcess/qt/ClientImpl.cpp:
782         (qt_wk_runJavaScriptAlert):
783         (qt_wk_runJavaScriptConfirm):
784         (qt_wk_runJavaScriptPrompt):
785         (qt_wk_setStatusText):
786         (qt_wk_runOpenPanel):
787         (qt_wk_mouseDidMoveOverElement):
788         (setupPageUiClient):
789         * UIProcess/qt/QtViewInterface.cpp: Removed.
790         * UIProcess/qt/QtViewInterface.h: Removed.
791         * UIProcess/qt/QtWebPageProxy.cpp:
792         (QtWebPageProxy::QtWebPageProxy):
793         (QtWebPageProxy::didChangeStatusText):
794         (QtWebPageProxy::didMouseMoveOverElement):
795         (QtWebPageProxy::showContextMenu):
796         (QtWebPageProxy::hideContextMenu):
797         (QtWebPageProxy::runJavaScriptAlert):
798         (QtWebPageProxy::runJavaScriptConfirm):
799         (QtWebPageProxy::runJavaScriptPrompt):
800         (QtWebPageProxy::chooseFiles):
801         (QtWebPageProxy::createContextMenuProxy):
802         (QtWebPageProxy::didChangeLoadProgress):
803         * UIProcess/qt/QtWebPageProxy.h:
804         (QtWebPageProxy::contextMenuItemSelected):
805         * UIProcess/qt/WebContextMenuProxyQt.cpp:
806         (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
807         (WebKit::WebContextMenuProxyQt::create):
808         (WebKit::WebContextMenuProxyQt::hideContextMenu):
809         * UIProcess/qt/WebContextMenuProxyQt.h:
810
811 2011-11-18  Zalan Bujtas  <zbujtas@gmail.com>
812
813         [Qt][WK2] UI process segfaults, when visiblity properties are set while the WebProcess is dead.
814         https://bugs.webkit.org/show_bug.cgi?id=72699
815
816         The drawing area may be null, if the web process has crashed, but not yet recovered.
817         Always null check against drawing area.
818
819         Reviewed by Simon Hausmann.
820
821         * UIProcess/qt/QtWebPageProxy.cpp:
822         (QtWebPageProxy::setDrawingAreaSize):
823         (QtWebPageProxy::setVisibleContentRectAndScale):
824         (QtWebPageProxy::setVisibleContentRectTrajectoryVector):
825
826 2011-11-18  Simon Hausmann  <simon.hausmann@nokia.com>
827
828         [Qt] Removal of QtViewInterface part 2
829
830         Reviewed by Kenneth Rohde Christiansen.
831
832         Move all functions that forwarded from QtWebPageProxy to QtViewInterface and then
833         to QQuickWebView straight into QtWebPageProxy.
834
835         * UIProcess/API/qt/qquickwebpage_p.h:
836         * UIProcess/API/qt/qquickwebview.cpp:
837         (QQuickWebViewPrivate::initialize):
838         * UIProcess/API/qt/qquickwebview_p_p.h:
839         * UIProcess/qt/QtViewInterface.cpp:
840         * UIProcess/qt/QtViewInterface.h:
841         * UIProcess/qt/QtWebPageProxy.cpp:
842         (QtWebPageProxy::QtWebPageProxy):
843         (QtWebPageProxy::setCursor):
844         (QtWebPageProxy::isViewWindowActive):
845         (QtWebPageProxy::isViewVisible):
846         (QtWebPageProxy::pageDidRequestScroll):
847         (QtWebPageProxy::didFinishFirstNonEmptyLayout):
848         (QtWebPageProxy::didChangeContentsSize):
849         (QtWebPageProxy::didChangeViewportProperties):
850         (QtWebPageProxy::toolTipChanged):
851         (QtWebPageProxy::didChangeUrl):
852         (QtWebPageProxy::didChangeTitle):
853         (QtWebPageProxy::loadDidBegin):
854         (QtWebPageProxy::loadDidCommit):
855         (QtWebPageProxy::loadDidSucceed):
856         (QtWebPageProxy::loadDidFail):
857         (QtWebPageProxy::didRelaunchProcess):
858         (QtWebPageProxy::processDidCrash):
859         (QtWebPageProxy::startDrag):
860         (QtWebPageProxy::didReceiveDownloadResponse):
861         * UIProcess/qt/QtWebPageProxy.h:
862
863 2011-11-18  Simon Hausmann  <simon.hausmann@nokia.com>
864
865         [Qt] Removal of QtViewInterface part 1
866
867         Reviewed by Kenneth Rohde Christiansen.
868
869         Replace functions of QtViewInterface that forward to QQuickWebPage with direct
870         usage of QQuickWebPage. Also removed some dead code.
871
872         * UIProcess/API/qt/qquickwebpage.cpp:
873         (QQuickWebPage::sceneGraphUpdateQueue):
874         * UIProcess/API/qt/qquickwebpage_p.h:
875         * UIProcess/API/qt/qquickwebview.cpp:
876         (QQuickWebViewPrivate::initialize):
877         * UIProcess/TiledDrawingAreaProxy.h:
878         * UIProcess/qt/QtViewInterface.cpp:
879         (WebKit::QtViewInterface::QtViewInterface):
880         (WebKit::QtViewInterface::isVisible):
881         * UIProcess/qt/QtViewInterface.h:
882         * UIProcess/qt/QtWebPageProxy.cpp:
883         (QtWebPageProxy::QtWebPageProxy):
884         (QtWebPageProxy::setViewNeedsDisplay):
885         (QtWebPageProxy::viewSize):
886         (QtWebPageProxy::isViewFocused):
887         (QtWebPageProxy::isViewVisible):
888         (QtWebPageProxy::didRelaunchProcess):
889         * UIProcess/qt/QtWebPageProxy.h:
890         (QtWebPageProxy::qmlWebPage):
891         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
892
893 2011-11-17  Simon Hausmann  <simon.hausmann@nokia.com>
894
895         [Qt] Layer violation: ThirdPartyCookiesQt.cpp uses QWebSettings in two places
896         https://bugs.webkit.org/show_bug.cgi?id=72597
897
898         Reviewed by Kenneth Rohde Christiansen.
899
900         Stub implementation of new NetworkingContext::thirdPartyCookiePolicyPermission
901         API.
902
903         * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
904         (WebCore::WebFrameNetworkingContext::thirdPartyCookiePolicyPermission):
905         * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h:
906
907 2011-11-17  Martin Robinson  <mrobinson@igalia.com>
908
909         [GTK] The process freezes when you right click on windowless Flash
910         https://bugs.webkit.org/show_bug.cgi?id=69123
911
912         Reviewed by Xan Lopez.
913
914         Add a new plugin quirk for dealing with right-clicking on
915         windowless Flash on x86_64 machines. This already exists for
916         WebKit1.
917
918         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
919         (WebKit::NetscapePluginModule::determineQuirks): If the plugin is
920         Flash and we are on x86_64, then disable sending right-clicking
921         events while in windowless mode.
922         * Shared/Plugins/PluginQuirks.h: Add the new quirk.
923         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
924         (WebKit::NetscapePlugin::platformHandleMouseEvent): If the quirk
925         is active  don't send right click events.
926
927 2011-11-17  Igor Oliveira  <igor.oliveira@openbossa.org>
928
929         [WK2] Fix TransformOperation serialization
930         https://bugs.webkit.org/show_bug.cgi?id=72625
931
932         SimpleArgumentCoder can encode and decode just POD types. And according the 
933         ISO/IEC 14882, POD types does not have virtual methods, however TransformOperation
934         has pure virtual methods.
935
936         This patch fixes TransformOperation subclass serialization.
937
938         Reviewed by Noam Rosenthal.
939
940         * Shared/WebCoreArgumentCoders.cpp:
941         (CoreIPC::::encode):
942         (CoreIPC::::decode):
943         (CoreIPC::encodeOperation):
944         (CoreIPC::decodeOperation):
945         * Shared/WebCoreArgumentCoders.h:
946
947 2011-11-17  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
948
949         [Qt][WK2] Fix zero sized views in all QML tests
950         https://bugs.webkit.org/show_bug.cgi?id=72633
951
952         Reviewed by Noam Rosenthal.
953
954         After r100590, zero sized WebViews are no longer supported and,
955         therefore, the QML API tests need to be fixed.
956
957         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
958         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml:
959         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml:
960         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadZeroSizeView.qml: Removed.
961         * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
962         * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml:
963         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
964
965 2011-11-17  Alexis Menard  <alexis.menard@openbossa.org>
966
967         [Qt][WK2] Don't export the private QQuickView.
968
969         Reviewed by Kenneth Rohde Christiansen.
970
971         We don't need to export that class anymore as the experimental QML plugin
972         does not expose this object anymore.
973
974         * UIProcess/API/qt/qquickwebview_p_p.h:
975
976 2011-11-17  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
977
978         [Qt] Expose setUseTraditionalDesktopBehaviour() in QML experimental API
979         https://bugs.webkit.org/show_bug.cgi?id=72610
980
981         Reviewed by Kenneth Rohde Christiansen.
982
983         * UIProcess/API/qt/qquickwebview_p.h:
984
985 2011-11-17  Kenneth Rohde Christiansen  <kenneth@webkit.org>
986
987         Print warning for the Qt port when a process crashes and is relaunched
988         https://bugs.webkit.org/show_bug.cgi?id=72607
989
990         Reviewed by Antonio Gomes.
991
992         Make the QtViewInterface::processDidCrash take a URL string argument,
993         for being able to say which url was the origin of the crash.
994
995         We now additionally store the load state and url at process exit. This
996         is needed for printing the warning and for further crash handling.
997
998         * UIProcess/PageClient.h:
999         * UIProcess/WebPageProxy.cpp:
1000         (WebKit::WebPageProxy::processDidCrash):
1001         * UIProcess/qt/QtViewInterface.cpp:
1002         (WebKit::QtViewInterface::processDidCrash):
1003         (WebKit::QtViewInterface::didRelaunchProcess):
1004         * UIProcess/qt/QtViewInterface.h:
1005         * UIProcess/qt/QtWebPageProxy.cpp:
1006         (QtWebPageProxy::processDidCrash):
1007         * UIProcess/qt/QtWebPageProxy.h:
1008
1009 2011-11-17  Alexis Menard  <alexis.menard@openbossa.org>
1010
1011         [Qt][WK2] Cleanup dead code in QtWebPageProxy.
1012         https://bugs.webkit.org/show_bug.cgi?id=72608
1013
1014         Reviewed by Simon Hausmann.
1015
1016         Remove some dead code after we merged our views.
1017         QQuickWebView is now using AC which means that this
1018         path is never called now.
1019
1020         * UIProcess/qt/QtWebPageProxy.cpp:
1021         (QtWebPageProxy::didReceiveDownloadResponse):
1022         * UIProcess/qt/QtWebPageProxy.h:
1023
1024 2011-11-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1025
1026         [Qt] Remove forwarding header for WebKit2 C API
1027
1028         The Qt port of WebKit does not provide a C-API for the View classes.
1029
1030         Reviewed by Simon Hausmann.
1031
1032         * UIProcess/API/C/WebKit2.h:
1033         * UIProcess/API/qt/WKView.h: Removed.
1034
1035 2011-11-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1036
1037         [Qt] Resolve import and web-process paths automatically for QML tests
1038
1039         Reviewed by Kenneth Rohde Christiansen.
1040
1041         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
1042         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
1043         (main):
1044
1045 2011-11-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1046
1047         [Qt] Move WebKit2 C++ APIs to private API and build QML extension plugin on top of that
1048
1049         A new extension object has been added to QQuickWebView (the same approach should be used
1050         for other API classes that need experimental APIs). The QML extension mechanism is then
1051         built on top of the experimental object.
1052
1053         https://bugs.webkit.org/show_bug.cgi?id=72522
1054
1055         Reviewed by Simon Hausmann.
1056
1057         * Target.pri:
1058         * UIProcess/API/qt/qquickwebpage.cpp:
1059         * UIProcess/API/qt/qquickwebpage.h: Removed.
1060         * UIProcess/API/qt/qquickwebpage_p.h:
1061         * UIProcess/API/qt/qquickwebpage_p_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qquickwebviewprivateextension_p.h.
1062         * UIProcess/API/qt/qquickwebview.cpp:
1063         (QQuickWebViewExperimental::QQuickWebViewExperimental):
1064         (QQuickWebViewExperimental::~QQuickWebViewExperimental):
1065         (QQuickWebViewExperimental::setUseTraditionalDesktopBehaviour):
1066         (QQuickWebView::QQuickWebView):
1067         (QQuickWebView::experimental):
1068         * UIProcess/API/qt/qquickwebview.h: Removed.
1069         * UIProcess/API/qt/qquickwebview_p.h:
1070         * UIProcess/API/qt/qquickwebview_p_p.h: Copied from Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h.
1071         * UIProcess/API/qt/qquickwebviewprivateextension.cpp: Removed.
1072         * UIProcess/API/qt/qwebdownloaditem.cpp:
1073         * UIProcess/API/qt/qwebdownloaditem.h: Removed.
1074         * UIProcess/API/qt/qwebdownloaditem_p.h:
1075         * UIProcess/API/qt/qwebdownloaditem_p_p.h: Copied from Source/WebKit2/UIProcess/API/qt/qwebdownloaditem_p.h.
1076         (QWebDownloadItemPrivate::didReceiveResponse):
1077         * UIProcess/API/qt/qwebpreferences.cpp:
1078         * UIProcess/API/qt/qwebpreferences.h: Removed.
1079         * UIProcess/API/qt/qwebpreferences_p.h:
1080         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
1081         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
1082         (DesktopWebView::DesktopWebView):
1083         * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
1084         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
1085         * UIProcess/qt/QtDownloadManager.cpp:
1086         * UIProcess/qt/QtViewInterface.cpp:
1087         * UIProcess/qt/QtWebError.h:
1088         * UIProcess/qt/QtWebPageProxy.cpp:
1089
1090 2011-11-17  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1091
1092         Unreviewed build fix.
1093
1094         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1095         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
1096
1097 2011-11-16  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1098
1099         Make use-fixed-layout work reliable
1100         https://bugs.webkit.org/show_bug.cgi?id=72511
1101
1102         Reviewed by Simon Hausmann.
1103
1104         The code handling use-fixed-layout wasn't 100% reliable. The code
1105         was changed to make sure the value is always correct.
1106
1107         It also doesn't set the value by looking at the previous FrameView,
1108         as that wouldn't work in cases, such as when the web process has
1109         crashed.
1110
1111         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1112         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
1113         * WebProcess/WebPage/WebPage.cpp:
1114         (WebKit::WebPage::WebPage):
1115         (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
1116         (WebKit::WebPage::setUseFixedLayout):
1117         * WebProcess/WebPage/WebPage.h:
1118         (WebKit::WebPage::useFixedLayout):
1119
1120             Store the state as m_useFixedLayout so that it can be used
1121             from the WebFrameLoaderClient.
1122
1123 2011-11-17  Zalan Bujtas  <zbujtas@gmail.com>
1124
1125         [Qt][WK2] Do not apply new viewport properties until after the first visually non-empty layout.
1126         https://bugs.webkit.org/show_bug.cgi?id=72508
1127
1128         Delay applying viewport properties on the viewport item until after the first visually non-empty
1129         layout finished. It enables the viewport to be intact until the new page is ready to be rendered.
1130
1131         Reviewed by Kenneth Rohde Christiansen.
1132
1133         * UIProcess/API/qt/qquickwebview.cpp:
1134         (QQuickWebViewPrivate::QQuickWebViewPrivate):
1135         (QQuickWebViewPrivate::loadDidCommit):
1136         (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
1137         (QQuickWebViewPrivate::didChangeContentsSize):
1138         (QQuickWebViewPrivate::didChangeViewportProperties):
1139         (QQuickWebViewPrivate::updateViewportSize):
1140         (QQuickWebViewPrivate::computeViewportConstraints):
1141         * UIProcess/API/qt/qquickwebview_p.h:
1142         (PostTransitionState::isTransitioningToNewPage):
1143         * UIProcess/qt/ClientImpl.cpp:
1144         (qt_wk_didFirstVisuallyNonEmptyLayoutForFrame):
1145         (setupPageLoaderClient):
1146         * UIProcess/qt/QtViewInterface.cpp:
1147         (WebKit::QtViewInterface::didFinishFirstNonEmptyLayout):
1148         (WebKit::QtViewInterface::didChangeContentsSize):
1149         (WebKit::QtViewInterface::didChangeViewportProperties):
1150         (WebKit::QtViewInterface::startDrag):
1151         * UIProcess/qt/QtViewInterface.h:
1152         * UIProcess/qt/QtViewportInteractionEngine.cpp:
1153         (WebKit::QtViewportInteractionEngine::reset):
1154         (WebKit::QtViewportInteractionEngine::applyConstraints):
1155         * UIProcess/qt/QtViewportInteractionEngine.h:
1156         * UIProcess/qt/QtWebPageProxy.cpp:
1157         (QtWebPageProxy::didFinishFirstNonEmptyLayout):
1158         (QtWebPageProxy::didChangeContentsSize):
1159         (QtWebPageProxy::didChangeViewportProperties):
1160         (QtWebPageProxy::startDrag):
1161         * UIProcess/qt/QtWebPageProxy.h:
1162
1163 2011-11-17  Eunmi Lee  <eunmi15.lee@samsung.com>
1164
1165         Reviewed by Martin Robinson.
1166
1167         [WK2] Move gtk/BackingStoreGtk.cpp to cairo/BackingStoreCairo.cpp to share with EFL port.
1168         https://bugs.webkit.org/show_bug.cgi?id=62444
1169
1170         Rename gtk/BackingStoreGtk.cpp to cairo/BackingStoreCairo.cpp to share with EFL port.
1171         The gtk/BackingStoreGtk.cpp only has cairo dependency, so it can be shared with other port
1172         that uses cairo.
1173
1174         * GNUmakefile.am:
1175         * UIProcess/BackingStore.h:
1176         * UIProcess/cairo/BackingStoreCairo.cpp: Renamed from Source/WebKit2/UIProcess/gtk/BackingStoreGtk.cpp.
1177         (WebKit::BackingStore::paint):
1178         (WebKit::BackingStore::incorporateUpdate):
1179         (WebKit::BackingStore::scroll):
1180
1181 2011-11-17  Nayan Kumar K  <nayankk@motorola.com>
1182
1183         [WebKit2][gtk] Add few more properties to WebKitSettings
1184         https://bugs.webkit.org/show_bug.cgi?id=72468
1185
1186         Reviewed by Martin Robinson.
1187
1188         Add 'enable-private-browsing', 'enable-developer-extras, 'enable-resizable-text-areas'
1189         and 'enable-tabs-to-links' properties to WebKitSettings.
1190
1191         * UIProcess/API/gtk/WebKitSettings.cpp:
1192         (webKitSettingsSetProperty): Add new set functions.
1193         (webKitSettingsGetProperty): Add new get functions.
1194         (webkit_settings_class_init): Add new properties.
1195         (webkit_settings_get_enable_private_browsing): Get 'enable-private-browsing' property.
1196         (webkit_settings_set_enable_private_browsing): Set 'enable-private-browsing' property.
1197         (webkit_settings_get_enable_developer_extras): Get 'enable-developer-extras' property.
1198         (webkit_settings_set_enable_developer_extras): Set 'enable-developer-extras' property.
1199         (webkit_settings_get_enable_resizable_text_areas): Get 'enable-resizable-text-areas' property.
1200         (webkit_settings_set_enable_resizable_text_areas): Set 'enable-resizable-text-areas' property.
1201         (webkit_settings_get_enable_tabs_to_links): Get 'enable-tabs-to-links' property.
1202         (webkit_settings_set_enable_tabs_to_links): Set 'enable-tabs-to-links' property.
1203         * UIProcess/API/gtk/WebKitSettings.h: New public APIs added.
1204         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: New APIs added.
1205         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
1206         (testWebKitSettings): Add new tests.
1207
1208 2011-11-17  Carlos Garcia Campos  <cgarcia@igalia.com>
1209
1210         Unreviewed. Fix WebKit2 GTK+ build after r100569.
1211
1212         * WebProcess/Downloads/soup/DownloadSoup.cpp:
1213         (WebKit::DownloadClient::didReceiveResponse):
1214
1215 2011-11-17  Nayan Kumar K  <nayankk@motorola.com>
1216
1217         [WebKit2][gtk] Fix assert while running TestWebKitSettings
1218         https://bugs.webkit.org/show_bug.cgi?id=72469
1219
1220         Reviewed by Martin Robinson.
1221
1222         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
1223         (testWebKitSettings): Correct the test.
1224
1225 2011-11-16  Carlos Garcia Campos  <cgarcia@igalia.com>
1226
1227         [GTK] Use a URI instead of local path to create download destination in WebKit2
1228         https://bugs.webkit.org/show_bug.cgi?id=72500
1229
1230         Reviewed by Philippe Normand.
1231
1232         * WebProcess/Downloads/soup/DownloadSoup.cpp:
1233         (WebKit::DownloadClient::didReceiveResponse): Use
1234         g_file_new_for_uri() instad of g_file_new_for_path(). Also use
1235         adoptGRef to fix a memory leak.
1236
1237 2011-11-16  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1238
1239         [Qt] Fix build after WTR AX support
1240         https://bugs.webkit.org/show_bug.cgi?id=72560
1241
1242         Reviewed by Geoffrey Garen.
1243
1244         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1245         (WKAccessibilityRootObject):
1246         (WKAccessibilityFocusedObject):
1247
1248 2011-11-11  Adrienne Walker  <enne@google.com>
1249
1250         [chromium] Expose mock scrollbars to window.internals
1251         https://bugs.webkit.org/show_bug.cgi?id=72195
1252
1253         Reviewed by James Robinson.
1254
1255         * win/WebKit2.def:
1256         * win/WebKit2CFLite.def:
1257
1258 2011-11-16  Dan Bernstein  <mitz@apple.com>
1259
1260         WebKit2 part of <rdar://problem/10262242> Add API for paginated display
1261         https://bugs.webkit.org/show_bug.cgi?id=72537
1262
1263         Reviewed by Anders Carlsson.
1264
1265         * Shared/WebPageCreationParameters.cpp:
1266         (WebKit::WebPageCreationParameters::encode): Encode the pagination mode and gap between pages.
1267         (WebKit::WebPageCreationParameters::decode): Decode the pagination mode and gap between pages.
1268         * Shared/WebPageCreationParameters.h: Added paginationMode and gapBetweenPages members.
1269         * UIProcess/API/C/WKPage.cpp:
1270         (WKPageSetPaginationMode): Added this API wrapper.
1271         (WKPageGetPaginationMode): Ditto.
1272         (WKPageSetGapBetweenPages): Ditto.
1273         (WKPageGetGapBetweenPages): Ditto.
1274         (WKPageGetPageCount): Ditto.
1275         * UIProcess/API/C/WKPagePrivate.h: Added an enum and a definition of WKPaginationMode and
1276         accessors.
1277         * UIProcess/API/mac/WKBrowsingContextController.mm:
1278         (-[WKBrowsingContextController setPaginationMode:]): Added this API wrapper.
1279         (-[WKBrowsingContextController paginationMode]): Ditto.
1280         (-[WKBrowsingContextController setGapBetweenPages:]): Ditto.
1281         (-[WKBrowsingContextController gapBetweenPages]): Ditto.
1282         (-[WKBrowsingContextController pageCount]): Ditto.
1283         * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Added. Includes an enum and a definition
1284         of WKBrowsingContextPaginationMode and property declarations.
1285         * UIProcess/WebPageProxy.cpp:
1286         (WebKit::WebPageProxy::WebPageProxy): Added intialization of m_paginationMode, m_gapBetweenPages,
1287         and m_pageCount.
1288         (WebKit::WebPageProxy::setPaginationMode): Added this accessor, which caches the value and sends
1289         a message to the WebPage.
1290         (WebKit::WebPageProxy::setGapBetweenPages): Ditto.
1291         (WebKit::WebPageProxy::creationParameters): Set the pagination mode and gap between pages in the
1292         creation parameters.
1293         (WebKit::WebPageProxy::didChangePageCount): Added. Updates the cached page count.
1294         * UIProcess/WebPageProxy.h:
1295         (WebKit::WebPageProxy::paginationMode): Added this getter that returns a cached value.
1296         (WebKit::WebPageProxy::gapBetweenPages): Ditto.
1297         (WebKit::WebPageProxy::pageCount): Ditto.
1298         * UIProcess/WebPageProxy.messages.in: Added DidChangedPageCount, sent when the page count changes
1299         after layout.
1300         * WebKit2.xcodeproj/project.pbxproj: Added WKBrowsingContextControllerPrivate.h.
1301         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 
1302         (WebKit::WebFrameLoaderClient::dispatchDidLayout): Added a call to WebPage::mainFrameDidLayout(),
1303         allowing the page to respond to changes in the column count.
1304         * WebProcess/WebPage/WebPage.cpp:
1305         (WebKit::WebPage::WebPage): Added initializer for m_cachedPageCount.
1306         (WebKit::WebPage::setPaginationMode): Added.
1307         (WebKit::WebPage::setGapBetweenPages): Added.
1308         (WebKit::WebPage::mainFrameDidLayout): Added. Sends a DidChangePageCount message to the UI process
1309         if the page count has changed.
1310         * WebProcess/WebPage/WebPage.h:
1311         * WebProcess/WebPage/WebPage.messages.in: Added SetPaginationMode and SetGapBetweenPages messages.
1312
1313 2011-11-16  Chris Fleizach  <cfleizach@apple.com>
1314
1315         WebKitTestRunner needs to support accessibility-related DRT APIs
1316         https://bugs.webkit.org/show_bug.cgi?id=42131
1317
1318         Allow the injected bundle to retrieve the focused and root accessibility
1319         objects.
1320
1321         Reviewed by Beth Dakin.
1322
1323         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1324         (WKAccessibilityRootObject):
1325         (WKAccessibilityFocusedObject):
1326         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
1327
1328 2011-11-16  Beth Dakin  <bdakin@apple.com>
1329
1330         https://bugs.webkit.org/show_bug.cgi?id=72400
1331         Scrollbar uiStateTransitionProgress requires tracking the mouse all the time
1332         -and corresponding-
1333         <rdar://problem/10409328>
1334
1335         Reviewed by Darin Adler.
1336
1337         Set up our initial tracking area based on the currently recommended scrollbar 
1338         style. Track the mouse all the time if the style is legacy.
1339         * UIProcess/API/mac/WKView.mm:
1340         (-[WKView initWithFrame:contextRef:pageGroupRef:]):
1341
1342         Now that we might be getting mouseMoved events all the time even when the window 
1343         is not key, make sure we opt into the new 'onlyUpdateScrollbars' mode for 
1344         EventHandler::mouseMoved() when the window is not focused.
1345         * WebProcess/WebPage/WebPage.cpp:
1346         (WebKit::handleMouseEvent):
1347         (WebKit::WebPage::mouseEvent):
1348         (WebKit::WebPage::mouseEventSyncForTesting):
1349
1350 2011-11-16  Martin Robinson  <mrobinson@igalia.com>
1351
1352         [GTK][WEBKIT2] Link error running gtkdoc-scangobj
1353         https://bugs.webkit.org/show_bug.cgi?id=72365
1354
1355         Reviewed by Xan Lopez.
1356
1357         * webkit2gtk.pc.in: Add a libjavascriptcore requirement to the WebKit2 pkgconfig
1358         file so that the compiler links to it.
1359
1360 2011-11-16  Balazs Kelemen  <kbalazs@webkit.org>
1361
1362         [WK2][X11] Don't leak the colormap we created for the plugin
1363         https://bugs.webkit.org/show_bug.cgi?id=72144
1364
1365         Reviewed by Xan Lopez.
1366
1367         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
1368         (WebKit::NetscapePlugin::platformDestroy):
1369
1370 2011-11-16  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
1371
1372         [Qt] [WK2] Crash in Connection::readyReadHandler() on socket error
1373         https://bugs.webkit.org/show_bug.cgi?id=72392
1374
1375         Reviewed by Simon Hausmann.
1376
1377         Add QWeakPointer to SocketNotifierResourceGuard::m_socketNotifier to track
1378         deallocation of referenced object.
1379
1380         * Platform/CoreIPC/unix/ConnectionUnix.cpp:
1381         (CoreIPC::SocketNotifierResourceGuard::SocketNotifierResourceGuard):
1382         (CoreIPC::SocketNotifierResourceGuard::~SocketNotifierResourceGuard):
1383
1384 2011-11-16  Zeno Albisser  <zeno@webkit.org>
1385
1386         [Qt][WK2][Mac] MiniBrowser cannot create socketpair.
1387         https://bugs.webkit.org/show_bug.cgi?id=72389
1388
1389         Use SOCK_DGRAM on mac instead of SOCK_SEQPACKET.
1390
1391         Reviewed by Tor Arne Vestbø.
1392
1393         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
1394
1395 2011-11-15  Carlos Garcia Campos  <cgarcia@igalia.com>
1396
1397         [GTK] Add webkit_web_view_load_request() to WebKit2 GTK+ API
1398         https://bugs.webkit.org/show_bug.cgi?id=72380
1399
1400         Reviewed by Martin Robinson.
1401
1402         It adds an initial implementation of WebKitNetworkRequest
1403         class that only contains a URI for now.
1404
1405         * GNUmakefile.am:
1406         * UIProcess/API/gtk/WebKitNetworkRequest.cpp: Added.
1407         (webkitNetworkRequestFinalize):
1408         (webkitNetworkRequestGetProperty):
1409         (webkitNetworkRequestSetProperty):
1410         (webkit_network_request_class_init):
1411         (webkit_network_request_init):
1412         (webkit_network_request_new):
1413         (webkit_network_request_get_uri):
1414         * UIProcess/API/gtk/WebKitNetworkRequest.h: Added.
1415         * UIProcess/API/gtk/WebKitWebView.cpp:
1416         (webkit_web_view_load_request): Use WKPageLoadURLRequest() to load
1417         the given WebKitNetworkRequest.
1418         * UIProcess/API/gtk/WebKitWebView.h:
1419         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
1420         * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
1421         (testLoadRequest):
1422         (beforeAll):
1423         * UIProcess/API/gtk/tests/WebViewTest.cpp:
1424         (WebViewTest::loadRequest):
1425         * UIProcess/API/gtk/tests/WebViewTest.h:
1426         * UIProcess/API/gtk/webkit2.h:
1427
1428 2011-11-15  Andy Estes  <aestes@apple.com>
1429
1430         Consolidate the logic that creates run loop observers for flushing layer tree changes to CoreAnimation
1431         https://bugs.webkit.org/show_bug.cgi?id=72106
1432
1433         Reviewed by Anders Carlsson.
1434
1435         Remove code that schedules layer flushes and use LayerFlushScheduler instead.
1436
1437         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h: Replace
1438         m_flushPendingLayerChangesRunLoopObserver with m_layerFlushScheduler
1439         and implement the LayerFlushSchedulerClient interface.
1440         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
1441         (WebKit::LayerTreeHostCAMac::LayerTreeHostCAMac): Instantiate
1442         m_layerFlushScheduler with the LayerTreeHost as the client.
1443         (WebKit::LayerTreeHostCAMac::~LayerTreeHostCAMac):
1444         (WebKit::LayerTreeHostCAMac::scheduleLayerFlush): Call LayerFlushScheduler::schedule().
1445         (WebKit::LayerTreeHostCAMac::setLayerFlushSchedulingEnabled): Call
1446         LayerFlushScheduler::suspend() or LayerFlushScheduler::resume().
1447         (WebKit::LayerTreeHostCAMac::invalidate): Call LayerFlushScheduler::invalidate().
1448         (WebKit::LayerTreeHostCAMac::flushLayers): Do the work that
1449         flushPendingLayerChangesRunLoopObserverCallback() used to do.
1450         (WebKit::LayerTreeHostCAMac::didPerformScheduledLayerFlush): Call LayerFlushScheduler::invalidate().
1451
1452 2011-11-15  Sam Weinig  <sam@webkit.org>
1453
1454         Add a connection client to the WKContext, to notify when new connections to the WebProcess are established
1455         https://bugs.webkit.org/show_bug.cgi?id=72433
1456
1457         Reviewed by Anders Carlsson.
1458
1459         * UIProcess/API/C/WKContext.cpp:
1460         (WKContextSetConnectionClient):
1461         * UIProcess/API/C/WKContext.h:
1462         * UIProcess/WebContext.cpp:
1463         (WebKit::WebContext::initializeConnectionClient):
1464         * UIProcess/WebContext.h:
1465         Add connection client API.
1466
1467         * UIProcess/WebContextConnectionClient.cpp: Added.
1468         (WebKit::WebContextConnectionClient::didCreateConnection):
1469         * UIProcess/WebContextConnectionClient.h: Added.
1470         Add basic implementation of the client. It is currently never triggered.
1471
1472 2011-11-15  Jongseok Yang  <js45.yang@samsung.com>
1473
1474         [SOUP][WK2] Add initial WebCookieManagerSoup.cpp for webkit2
1475         https://bugs.webkit.org/show_bug.cgi?id=72235
1476
1477         Reviewed by Gustavo Noronha Silva.
1478
1479         Add WebCookieManagerSoup.cpp and implement functions for the cookie accept policy.
1480         It's required when using the soup network backend.
1481         Remove WebCookieManagerEfl.cpp and WebCookieManagerGtk.cpp because GTK port and
1482         EFL port use soup network backend without a network backend of their own.
1483
1484         * GNUmakefile.am:
1485         * WebProcess/Cookies/efl/WebCookieManagerEfl.cpp: Removed.
1486         * WebProcess/Cookies/gtk/WebCookieManagerGtk.cpp: Removed.
1487         * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp: Added.
1488         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
1489         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
1490
1491 2011-11-15  Jochen Eisinger  <jochen@chromium.org>
1492
1493         Rename ReferrerPolicy to clarify its meaning
1494         https://bugs.webkit.org/show_bug.cgi?id=72420
1495
1496         Reviewed by Nate Chapin.
1497
1498         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
1499         (WebKit::WebContextMenuClient::searchWithGoogle):
1500         * WebProcess/WebPage/WebPage.cpp:
1501         (WebKit::WebPage::linkClicked):
1502
1503 2011-11-15  Sam Weinig  <sam@webkit.org>
1504
1505         Fix windows build.
1506
1507         * win/WebKit2Generated.make:
1508
1509 2011-11-15  Sam Weinig  <sam@webkit.org>
1510
1511         Add WebKit2 API object to represent a connection
1512         https://bugs.webkit.org/show_bug.cgi?id=72421
1513
1514         Reviewed by Anders Carlsson.
1515
1516         * GNUmakefile.am:
1517         * Target.pri:
1518         * WebKit2.xcodeproj/project.pbxproj:
1519         * win/WebKit2.vcproj:
1520         Add new files.
1521
1522         * Shared/API/c/WKBase.h:
1523         Add type.
1524
1525         * Shared/API/c/WKConnectionRef.cpp: Added.
1526         (WKConnectionGetTypeID):
1527         (WKConnectionSetConnectionClient):
1528         (WKConnectionPostMessage):
1529         * Shared/API/c/WKConnectionRef.h: Added.
1530         Expose interface. Currently no support for synchronous messages.
1531
1532         * Shared/API/c/WKSharedAPICast.h:
1533         Define relationship between WebConnection <-> WKConnectionRef.
1534
1535         * Shared/APIObject.h:
1536         Add API type.
1537
1538         * Shared/WebConnection.cpp: Added.
1539         (WebKit::WebConnection::~WebConnection):
1540         (WebKit::WebConnection::initializeConnectionClient):
1541         * Shared/WebConnection.h: Added.
1542         (WebKit::WebConnection::type):
1543         Sketch out the connection object. It is currently abstract
1544         to allow different implementations for the UI and WebProcess sides
1545         while retaining the same interface.
1546
1547         * Shared/WebConnectionClient.cpp: Added.
1548         (WebKit::WebConnectionClient::didReceiveMessage):
1549         (WebKit::WebConnectionClient::didClose):
1550         * Shared/WebConnectionClient.h: Added.
1551         Add simple client.
1552
1553         * UIProcess/API/C/WebKit2.h:
1554         Add new file.
1555
1556 2011-11-15  Chris Fleizach2  <cfleizach@apple.com>
1557
1558         AX: WKAccessibilityWebObjectPage should not call super in accessibilityAttributeValue:
1559         https://bugs.webkit.org/show_bug.cgi?id=72344
1560
1561         Reviewed by Beth Dakin.
1562
1563         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
1564         (-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):
1565
1566 2011-11-15  Anders Carlsson  <andersca@apple.com>
1567
1568         HostWindow screenToWindow/windowToScreen should be screenToRootView/rootViewToScreen
1569         https://bugs.webkit.org/show_bug.cgi?id=72397
1570
1571         Reviewed by Dan Bernstein.
1572
1573         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1574         (WebKit::WebChromeClient::screenToRootView):
1575         (WebKit::WebChromeClient::rootViewToScreen):
1576         * WebProcess/WebCoreSupport/WebChromeClient.h:
1577
1578 2011-11-14  Anders Carlsson  <andersca@apple.com>
1579
1580         HostWindow invalidation functions should use root view coordinates
1581         https://bugs.webkit.org/show_bug.cgi?id=72338
1582
1583         Reviewed by Dan Bernstein.
1584
1585         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1586         (WebKit::WebChromeClient::invalidateRootView):
1587         (WebKit::WebChromeClient::invalidateContentsAndRootView):
1588         * WebProcess/WebCoreSupport/WebChromeClient.h:
1589
1590 2011-11-15  Carlos Garcia Campos  <cgarcia@igalia.com>
1591
1592         [GTK] Implement download support in WebKit2
1593         https://bugs.webkit.org/show_bug.cgi?id=72258
1594
1595         Reviewed by Martin Robinson.
1596
1597         * WebProcess/Downloads/Download.h:
1598         * WebProcess/Downloads/soup/DownloadSoup.cpp:
1599         (WebKit::DownloadClient::DownloadClient):
1600         (WebKit::DownloadClient::downloadFailed):
1601         (WebKit::DownloadClient::didReceiveResponse):
1602         (WebKit::DownloadClient::didReceiveData):
1603         (WebKit::DownloadClient::didFinishLoading):
1604         (WebKit::DownloadClient::didFail):
1605         (WebKit::DownloadClient::wasBlocked):
1606         (WebKit::DownloadClient::cannotShowURL):
1607         (WebKit::Download::start):
1608         (WebKit::Download::startWithHandle):
1609         (WebKit::Download::cancel):
1610         (WebKit::Download::platformInvalidate):
1611
1612 2011-11-15  Mario Sanchez Prada  <msanchez@igalia.com>
1613
1614         [GTK][WEBKIT2] Add enable-caret-browsing property to WebKitSettings
1615         https://bugs.webkit.org/show_bug.cgi?id=72267
1616
1617         Reviewed by Martin Robinson.
1618
1619         Allow getting and setting the 'enable-caret-browsing' property
1620         through WebKitSettings.
1621
1622         * UIProcess/API/gtk/WebKitSettings.cpp:
1623         (webKitSettingsSetProperty): Added property setter.
1624         (webKitSettingsGetProperty): Added propery getter.
1625         (webkit_settings_class_init): Install property.
1626         (webkit_settings_get_enable_caret_browsing): Added.
1627         (webkit_settings_set_enable_caret_browsing): Added.
1628         * UIProcess/API/gtk/WebKitSettings.h: Expose new public APIs.
1629         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new sections for gtk-doc generation.
1630         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
1631         (testWebKitSettings): Added new API test.
1632
1633 2011-11-14  Julien Chaffraix  <jchaffraix@webkit.org>
1634
1635         Add --css-grid-layout to build-webkit and the build systems
1636         https://bugs.webkit.org/show_bug.cgi?id=72320
1637
1638         Reviewed by Ojan Vafai.
1639
1640         * Configurations/FeatureDefines.xcconfig:
1641
1642 2011-11-14  Tony Chang  <tony@chromium.org>
1643
1644         Remove the CSS3_FLEXBOX compile time flag and enable on all ports
1645         https://bugs.webkit.org/show_bug.cgi?id=72196
1646
1647         Reviewed by Ojan Vafai.
1648
1649         * Configurations/FeatureDefines.xcconfig:
1650
1651 2011-11-14  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
1652
1653         Intermittent asserts in TextureMapperGL::bindSurface on MiniBrowser startup
1654         https://bugs.webkit.org/show_bug.cgi?id=72299
1655
1656         Reviewed by Noam Rosenthal.
1657
1658         Added check that clipping rect is valid.
1659         Clear GL error that might remain from QT GL operations.
1660         Added GL error assert for scissor test operations.
1661
1662         * UIProcess/API/qt/qquickwebpage.cpp:
1663         (QQuickWebPagePrivate::paintToCurrentGLContext):
1664
1665 2011-11-14  Anders Carlsson  <andersca@apple.com>
1666
1667         Only send progress notifications for the main frame
1668         https://bugs.webkit.org/show_bug.cgi?id=72302
1669
1670         Reviewed by Sam Weinig.
1671
1672         Since it's impossible in the API to tell which frame the progress notifications are for, just send them to the main frame for now.
1673
1674         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1675         (WebKit::WebFrameLoaderClient::postProgressStartedNotification):
1676         (WebKit::WebFrameLoaderClient::postProgressEstimateChangedNotification):
1677         (WebKit::WebFrameLoaderClient::postProgressFinishedNotification):
1678
1679 2011-11-14  Alexis Menard  <alexis.menard@openbossa.org>
1680
1681         [Qt][WK2] Cleanup QML tests.
1682         https://bugs.webkit.org/show_bug.cgi?id=72259
1683
1684         Reviewed by Simon Hausmann.
1685
1686         Cleanup QML tests. This patch removes the duplicates after the merge of both views.
1687         I also isolated the desktop specific bits into its own directory.
1688
1689         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_download.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_download.qml.
1690         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml.
1691         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_messaging.qml.
1692         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationPolicyForUrl.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml.
1693         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgressSignal.qml: Removed.
1694         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadZeroSizeView.qml: Removed.
1695         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml: Removed.
1696         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml: Removed.
1697         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml: Removed.
1698         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml: Removed.
1699         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml: Removed.
1700         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadFail.qml.
1701         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgress.qml.
1702         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml.
1703         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadZeroSizeView.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml.
1704         * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml.
1705         * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml.
1706         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
1707
1708 2011-11-14  Mario Sanchez Prada  <msanchez@igalia.com>
1709
1710         Add support for the caretBrowsingEnabled preference in WebKit2
1711         https://bugs.webkit.org/show_bug.cgi?id=72266
1712
1713         Reviewed by Chris Fleizach.
1714
1715         * Shared/WebPreferencesStore.h: Add caretBrowsingEnabled getter
1716         and setter macro.
1717         * UIProcess/API/C/WKPreferences.h:
1718         * UIProcess/API/C/WKPreferences.cpp:
1719         (WKPreferencesSetCaretBrowsingEnabled): Added.
1720         (WKPreferencesGetCaretBrowsingEnabled): Added.
1721         * WebProcess/WebPage/WebPage.cpp:
1722         (WebKit::WebPage::updatePreferences): Update the
1723         caretBrowsingEnabledKey preference.
1724
1725 2011-11-14  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1726
1727         [Qt] Remove reference to QWebNavigationController
1728         https://bugs.webkit.org/show_bug.cgi?id=72257
1729
1730         Reviewed by Simon Hausmann.
1731
1732         QWebNavigationController was removed in r99946, this is just a leftover.
1733
1734         * UIProcess/API/qt/qquickwebview.cpp:
1735         (QQuickWebViewPrivate::QQuickWebViewPrivate):
1736         * UIProcess/API/qt/qquickwebview_p.h:
1737
1738 2011-11-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1739
1740         [Qt] the QQuickWebView should support double-tap to zoom
1741         https://bugs.webkit.org/show_bug.cgi?id=72030
1742
1743         Reviewed by Andreas Kling.
1744
1745         * UIProcess/qt/QtViewInterface.cpp:
1746         * UIProcess/qt/QtViewInterface.h:
1747         * UIProcess/qt/QtViewportInteractionEngine.cpp:
1748         (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
1749         (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
1750         (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
1751         * UIProcess/qt/QtViewportInteractionEngine.h:
1752         * UIProcess/qt/QtWebPageProxy.cpp:
1753         (QtWebPageProxy::didFindZoomableArea):
1754
1755 2011-11-14  Zalan Bujtas  <zbujtas@gmail.com>
1756
1757         Build breaks with --no-javascript-debugger --no-inspector
1758         https://bugs.webkit.org/show_bug.cgi?id=72228
1759
1760         Reviewed by Simon Hausmann.
1761
1762         * UIProcess/WebPageProxy.cpp:
1763         (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
1764
1765 2011-11-13  Mark Rowe  <mrowe@apple.com>
1766
1767         Fix the 32-bit build.
1768
1769         * WebProcess/mac/WebProcessMac.mm:
1770         (WebKit::initializeSandbox): Use a format specifier and cast that works on more architectures.
1771
1772 2011-11-12  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1773
1774         [Qt][Symbian] Remove support for WINSCW compiler
1775         https://bugs.webkit.org/show_bug.cgi?id=70178
1776
1777         Reviewed by Chang Shu.
1778
1779         * Shared/API/c/WKString.h:
1780
1781 2011-11-12  Dan Bernstein  <mitz@apple.com>
1782
1783         <rdar://problem/10294191> REGRESSION (WebKit2): Lookup bubble sized and positioned incorrectly (vertically off)
1784         https://bugs.webkit.org/show_bug.cgi?id=72217
1785
1786         Reviewed by Dave Hyatt.
1787
1788         * UIProcess/API/mac/PageClientImpl.mm:
1789         (WebKit::PageClientImpl::didPerformDictionaryLookup): Rather than adding the NSFont’s ascender
1790         to the top of the text rect to establish the baseline here...
1791         * WebProcess/WebPage/mac/WebPageMac.mm:
1792         (WebKit::WebPage::performDictionaryLookupForRange): ...do it here, using the WebCore::Font’s
1793         ascender, which is what’s actually used when drawing the text.
1794
1795 2011-11-11  Nayan Kumar K  <nayankk@motorola.com>
1796
1797         [GTK][WEBKIT2] Add font and charset properties to WebKitWebSettings
1798         https://bugs.webkit.org/show_bug.cgi?id=68996
1799
1800         Reviewed by Martin Robinson.
1801
1802         Provision to query and set the font related properties (such as
1803         font-family, font-size) and charset properties (such as default-
1804         charset) is added.
1805
1806         * UIProcess/API/gtk/WebKitSettings.cpp: Added font and encoding properties.
1807         (webKitSettingsSetProperty): GObject set property function.
1808         (webKitSettingsGetProperty): GObject get property function.
1809         (webkit_settings_class_init): Few more signals installed.
1810         (webkit_settings_init): Initialization of instance variables.
1811         (webkit_web_settings_get_default_font_family): Get 'default-font-family'.
1812         (webkit_web_settings_set_default_font_family): Set 'default-font-family'.
1813         (webkit_web_settings_get_monospace_font_family): Get 'monospace-font-family'.
1814         (webkit_web_settings_set_monospace_font_family): Set 'monospace-font-family'.
1815         (webkit_web_settings_get_serif_font_family): Get 'serif-font-family'.
1816         (webkit_web_settings_set_serif_font_family): Set 'serif-font-family'.
1817         (webkit_web_settings_get_sans_serif_font_family): Get 'sans-serif-font-family'.
1818         (webkit_web_settings_set_sans_serif_font_family): Get 'sans-serif-font-family'.
1819         (webkit_web_settings_get_cursive_font_family): Get 'cursive-font-family'.
1820         (webkit_web_settings_set_cursive_font_family): Set 'cursive-font-family'.
1821         (webkit_web_settings_get_fantasy_font_family): Get 'fantasy-font-family'.
1822         (webkit_web_settings_set_fantasy_font_family): Set 'fantasy-font-family'.
1823         (webkit_web_settings_get_pictograph_font_family): Get 'pictograph-font-family'.
1824         (webkit_web_settings_set_pictograph_font_family): Set 'pictograph-font-family'.
1825         (webkit_web_settings_get_default_font_size): Get 'default-font-size'.
1826         (webkit_web_settings_set_default_font_size): Set 'default-font-size'.
1827         (webkit_web_settings_get_default_monospace_font_size): Get 'default-monospace-font-size'.
1828         (webkit_web_settings_set_default_monospace_font_size): Set 'default-monospace-font-size'.
1829         (webkit_web_settings_get_minimum_font_size): Get 'minimum-font-size'.
1830         (webkit_web_settings_set_minimum_font_size): Set 'minimum-font-size'.
1831         (webkit_web_settings_get_default_charset): Get 'default-charset'.
1832         (webkit_web_settings_set_default_charset): Set 'default-charset'.
1833         * UIProcess/API/gtk/WebKitSettings.h: Add new sections for gtk-doc generation.
1834         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Expose new public APIs.
1835         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
1836         (testWebKitSettings): Add new tests.
1837
1838 2011-11-11  Shinya Kawanaka  <shinyak@google.com>
1839
1840         Implement legacy text check emulation in unified text check interface.
1841         https://bugs.webkit.org/show_bug.cgi?id=70299
1842
1843         Reviewed by Hajime Morita.
1844
1845         * win/WebKit2.def:
1846         * win/WebKit2CFLite.def:
1847
1848 2011-11-11  Alexey Proskuryakov  <ap@apple.com>
1849
1850         WebProcess should use AppSandbox style quarantine
1851         https://bugs.webkit.org/show_bug.cgi?id=72168
1852         <rdar://problem/10434292>
1853
1854         Reviewed by Darin Adler.
1855
1856         * WebProcess/mac/WebProcessMac.mm: (WebKit::initializeSandbox): Just enable it.
1857
1858 2011-11-11  Darin Adler  <darin@apple.com>
1859
1860         * WebKit2.xcodeproj/project.pbxproj: Let a newer Xcode update this file.
1861         If an older Xcode downgrades this file and we have a risk of some kind of
1862         oscillating commit situation, please contact me so I know not to do this again.
1863
1864 2011-11-11  Mark Hahnenberg  <mhahnenberg@apple.com>
1865
1866         Add jsCast to replace static_cast
1867         https://bugs.webkit.org/show_bug.cgi?id=72071
1868
1869         Reviewed by Geoffrey Garen.
1870
1871         Added new jsCast and changed all of the static_cast sites in functions that 
1872         are in the MethodTable to use jsCast instead.
1873
1874         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1875         (WebKit::JSNPObject::getCallData):
1876         (WebKit::JSNPObject::getConstructData):
1877         (WebKit::JSNPObject::getOwnPropertySlot):
1878         (WebKit::JSNPObject::getOwnPropertyDescriptor):
1879         (WebKit::JSNPObject::put):
1880         (WebKit::JSNPObject::deleteProperty):
1881         (WebKit::JSNPObject::deletePropertyByIndex):
1882         (WebKit::JSNPObject::getOwnPropertyNames):
1883
1884 2011-11-11  Timothy Hatcher  <timothy@apple.com>
1885
1886         Only use the textured window style mask when there is no override inspector page.
1887
1888         https://webkit.org/b/72142
1889
1890         Reviewed by Dan Bernstein.
1891
1892         * UIProcess/mac/WebInspectorProxyMac.mm:
1893         (WebKit::WebInspectorProxy::platformOpen): Don't set NSTexturedBackgroundWindowMask if
1894         there is an override inspector page. Make setAutorecalculatesContentBorderThickness:,
1895         setContentBorderThickness: and WKNSWindowMakeBottomCornersSquare conditional.
1896
1897 2011-11-11  Simon Hausmann  <simon.hausmann@nokia.com>
1898
1899         [Qt] Remove dead MeeGoTouch code.
1900
1901         Reviewed by Tor Arne Vestbø.
1902
1903         * WebProcess/qt/WebProcessMainQt.cpp:
1904         (WebKit::WebProcessMainQt):
1905
1906 2011-11-11  Alexis Menard  <alexis.menard@openbossa.org>
1907
1908         [Qt] Add a way to have experimental features in WebKit2
1909         https://bugs.webkit.org/show_bug.cgi?id=67707
1910
1911         Reviewed by Kenneth Rohde Christiansen.
1912
1913         Add new QML extensions for our public view. This extension
1914         returns the private object of the view so that the user could
1915         use unstable/unreleased APIs. This requires our private class
1916         to be exported and QObject subclass.
1917
1918         * Target.pri:
1919         * UIProcess/API/qt/qquickwebview.cpp:
1920         * UIProcess/API/qt/qquickwebview_p.h:
1921         * UIProcess/API/qt/qquickwebviewprivateextension.cpp: Added.
1922         (QQuickWebViewPrivateExtension::QQuickWebViewPrivateExtension):
1923         (QQuickWebViewPrivateExtension::viewPrivate):
1924         * UIProcess/API/qt/qquickwebviewprivateextension_p.h: Added.
1925
1926 2011-11-11  Simon Hausmann  <simon.hausmann@nokia.com>
1927
1928         [Qt][WK2] Remove QWebNavigationController
1929         https://bugs.webkit.org/show_bug.cgi?id=72113
1930
1931         Reviewed by Andreas Kling.
1932
1933         Fold the functions and properties of QWebNavigationController into
1934         QQuickWebView.
1935
1936         * Target.pri:
1937         * UIProcess/API/qt/WKView.h:
1938         * UIProcess/API/qt/qquickwebpage.cpp:
1939         (QQuickWebPagePrivate::QQuickWebPagePrivate):
1940         * UIProcess/API/qt/qquickwebpage.h:
1941         * UIProcess/API/qt/qquickwebpage_p.h:
1942         * UIProcess/API/qt/qquickwebview.cpp:
1943         (QQuickWebViewPrivate::initialize):
1944         (QQuickWebView::goBack):
1945         (QQuickWebView::goForward):
1946         (QQuickWebView::stop):
1947         (QQuickWebView::reload):
1948         (QQuickWebView::canGoBack):
1949         (QQuickWebView::canGoForward):
1950         (QQuickWebView::canStop):
1951         (QQuickWebView::canReload):
1952         (QQuickWebView::title):
1953         * UIProcess/API/qt/qquickwebview.h:
1954         * UIProcess/API/qt/qwebnavigationcontroller.cpp: Removed.
1955         * UIProcess/API/qt/qwebnavigationcontroller.h: Removed.
1956         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
1957         (tst_QQuickWebView::navigationStatusAtStartup):
1958         (LoadStartedCatcher::onLoadStarted):
1959         (tst_QQuickWebView::stopEnabledAfterLoadStarted):
1960         (tst_QQuickWebView::backAndForward):
1961         (tst_QQuickWebView::reload):
1962         (tst_QQuickWebView::stop):
1963
1964 2011-11-10  Beth Dakin  <bdakin@apple.com>
1965
1966         Once more for the QT build.
1967
1968         * UIProcess/qt/QtWebPageProxy.cpp:
1969         (QtWebPageProxy::setFindIndicator):
1970         * UIProcess/qt/QtWebPageProxy.h:
1971
1972 2011-11-10  Beth Dakin  <bdakin@apple.com>
1973
1974         More attempted build fix.
1975
1976         * UIProcess/API/efl/PageClientImpl.cpp:
1977         (WebKit::PageClientImpl::setFindIndicator):
1978         * UIProcess/API/efl/PageClientImpl.h:
1979         * UIProcess/API/gtk/PageClientImpl.cpp:
1980         (WebKit::PageClientImpl::setFindIndicator):
1981         * UIProcess/API/gtk/PageClientImpl.h:
1982
1983 2011-11-10  Anders Carlsson  <andersca@apple.com>
1984
1985         Fix 32-bit build.
1986
1987         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1988         (-[WKContentLayer drawInContext:]):
1989
1990 2011-11-10  Beth Dakin  <bdakin@apple.com>
1991
1992         Speculative build fix.
1993
1994         * UIProcess/win/WebView.cpp:
1995         (WebKit::WebView::setFindIndicator):
1996         * UIProcess/win/WebView.h:
1997
1998 2011-11-10  Beth Dakin  <bdakin@apple.com>
1999
2000         https://bugs.webkit.org/show_bug.cgi?id=66584
2001         WebKit2's find bouncy looks blurry after dragging window onto >1.0 scale factor 
2002         display
2003         -and corresponding-
2004         <rdar://problem/9987559>
2005
2006         Reviewed by Anders Carlsson.
2007
2008         The setFindIndicator message and various functions of the same name must all take 
2009         an additional parameter indicating whether or not setting the find indicator 
2010         should result in a bounce animation. This is because when the device scale factor 
2011         changes, if there is currently a find indicator, it must be re-set to a higher or 
2012         lower resolution version, but we don't want the bounce animation to happen again.
2013         * UIProcess/API/mac/FindIndicatorWindow.h:
2014         * UIProcess/API/mac/FindIndicatorWindow.mm:
2015         (WebKit::FindIndicatorWindow::setFindIndicator):
2016         * UIProcess/API/mac/PageClientImpl.h:
2017         * UIProcess/API/mac/PageClientImpl.mm:
2018         (WebKit::PageClientImpl::setFindIndicator):
2019         * UIProcess/API/mac/WKView.mm:
2020         (-[WKView _setFindIndicator:fadeOut:animate:]):
2021         * UIProcess/API/mac/WKViewInternal.h:
2022         * UIProcess/PageClient.h:
2023         * UIProcess/WebPageProxy.cpp:
2024         (WebKit::WebPageProxy::setFindIndicator):
2025         * UIProcess/WebPageProxy.h:
2026         * UIProcess/WebPageProxy.messages.in:
2027
2028         New function FindController::isShowingOverlay() is used to determine if 
2029         FindController::deviceScaleFactorDidChange() needs to be called.
2030         * WebProcess/WebPage/FindController.h:
2031         (WebKit::FindController::isShowingOverlay): 
2032
2033         FindController::deviceScaleFactorDidChange() calls updateFindIndicator to re-
2034         generate the bitmap at the appropriate scale factor, but tells it not to animate 
2035         this time.
2036         (WebKit::FindController::deviceScaleFactorDidChange):
2037
2038         updateFindIndicator() takes a new parameter indicating whether or not the 
2039         FindIndicator should animate. It defaults to true since the deviceScaleFactor 
2040         changing is the only case currently where we do not want it to animate.
2041         * WebProcess/WebPage/FindController.cpp:
2042         (WebKit::FindController::updateFindIndicator):
2043         (WebKit::FindController::hideFindIndicator):
2044
2045         Calls into FindController::deviceScaleFactorDidChange() when the scale factor has 
2046         changed and the find overlay is showing.
2047         * WebProcess/WebPage/WebPage.cpp:
2048         (WebKit::WebPage::setDeviceScaleFactor):
2049
2050 2011-11-10  Timothy Hatcher  <timothy@apple.com>
2051
2052         Make WKViews in NSPopovers render as they would in active windows.
2053
2054         The NSWindowDid{Become,Resign}KeyNotifications are not fired when NSPopovers
2055         are shown or hidden since they share key with the parent window. So WKView
2056         needs to update the active state during order on/off screen notifications.
2057
2058         https://webkit.org/b/68435
2059
2060         Reviewed by John Sullivan.
2061
2062         * UIProcess/API/mac/WKView.mm:
2063         (-[WKView _windowDidOrderOffScreen:]): Call viewStateDidChange with WebPageProxy::ViewWindowIsActive.
2064         (-[WKView _windowDidOrderOnScreen:]): Ditto.
2065
2066 2011-11-10  Anders Carlsson  <andersca@apple.com>
2067
2068         Add a simple content layer to TiledCoreAnimationDrawingArea
2069         https://bugs.webkit.org/show_bug.cgi?id=72044
2070
2071         Reviewed by Darin Adler.
2072
2073         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2074         Add a content layer member variable.
2075
2076         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2077         (-[WKContentLayer _initWithWebPage:WebKit::]):
2078         Add initializer.
2079
2080         (-[WKContentLayer drawInContext:]):
2081         Lay out and draw the web page.
2082
2083         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
2084         Add the content layer as a sublayer of the root layer.
2085
2086         (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay):
2087         (WebKit::TiledCoreAnimationDrawingArea::scroll):
2088         Tell the content layer to paint.
2089
2090         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
2091         Resize the content layer as well.
2092
2093 2011-11-10  Anders Carlsson  <andersca@apple.com>
2094
2095         The WKView layer hosting subview needs to be flipped
2096         https://bugs.webkit.org/show_bug.cgi?id=72042
2097
2098         Reviewed by Darin Adler.
2099
2100         In order to match the Core Animation layer hierarchy, the layer hosting WKView
2101         subview needs to be flipped.
2102
2103         * UIProcess/API/mac/WKView.mm:
2104         (-[WKFlippedView isFlipped]):
2105         Add a NSView subview whose sole purpose is to be flipped.
2106
2107         (-[WKView _enterAcceleratedCompositingMode:]):
2108         Create a WKFlippedView instead of a regular NSView.
2109
2110 2011-11-10  Balazs Kelemen  <kbalazs@webkit.org>
2111
2112         [Qt] X11 plugins need to be reworked for Qt5
2113         https://bugs.webkit.org/show_bug.cgi?id=70023
2114
2115         Reviewed by Simon Hausmann.
2116
2117         * Target.pri:
2118         * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
2119         (WebKit::PluginInfoStore::pluginsDirectories):
2120         Kill the last dependency from the WebKit1 plugin system.
2121         This is necessary because currently we don't build the WebKit1
2122         plugin code. The function is equivalent with the XP_UNIX part of
2123         PluginDatabase::defaultPluginDirectories.
2124
2125         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
2126         (WebKit::NPN_GetValue):
2127         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2128         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
2129         (WebKit::getPluginDisplay):
2130         (WebKit::x11Screen):
2131         (WebKit::displayDepth):
2132         (WebKit::rootWindowID):
2133         (WebKit::NetscapePlugin::x11HostDisplay):
2134         (WebKit::NetscapePlugin::platformPostInitialize):
2135         (WebKit::NetscapePlugin::platformDestroy):
2136         (WebKit::NetscapePlugin::platformGeometryDidChange):
2137         (WebKit::NetscapePlugin::platformPaint):
2138         (WebKit::initializeXEvent):
2139         Rework plugin initialization and drawing model.
2140
2141 2011-11-10  Martin Robinson  <mrobinson@igalia.com>
2142
2143         [GTK] [WebKit2] Fix remaining gtkdoc errors
2144         https://bugs.webkit.org/show_bug.cgi?id=71990
2145
2146         Reviewed by Philippe Normand.
2147
2148         * UIProcess/API/gtk/WebKitWebView.cpp: Update add the phrase "property" to
2149         references to properties, because the gtkdoc stylesheet does not differeniate
2150         between properties and signals. Standardize the way we talk about property
2151         notifications.
2152         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add an include to silence 
2153         warnings about GIR annotations.
2154         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add the decorators the private section.
2155
2156 2011-11-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2157
2158         [Qt] Clean up how singe / double taps are handled
2159         https://bugs.webkit.org/show_bug.cgi?id=72024
2160
2161         Reviewed by Simon Hausmann.
2162
2163         Move all decision making to the QtWebPageProxy.
2164
2165         * UIProcess/qt/QtTapGestureRecognizer.cpp:
2166         (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
2167         (WebKit::QtTapGestureRecognizer::recognize):
2168         (WebKit::QtTapGestureRecognizer::tapTimeout):
2169         * UIProcess/qt/QtTapGestureRecognizer.h:
2170         * UIProcess/qt/QtWebPageProxy.cpp:
2171         (QtWebPageProxy::QtWebPageProxy):
2172         (QtWebPageProxy::handleSingleTapEvent):
2173         (QtWebPageProxy::handleDoubleTapEvent):
2174         * UIProcess/qt/QtWebPageProxy.h:
2175
2176 2011-11-10  Simon Hausmann  <simon.hausmann@nokia.com>
2177
2178         [Qt] Clean up build system
2179
2180         Reviewed by Tor Arne Vestbø.
2181
2182         Now that we use whole-archive linking we can fold the files that contain exported
2183         symbols back into the WebKit2 static library.
2184
2185         * Target.pri: Fold in sources from WebKit2.pri.
2186         * WebKit2.pri: Removed.
2187
2188 2011-11-10  Alexis Menard  <alexis.menard@openbossa.org>
2189
2190         [Qt] Merge QTouchWebView and QDesktopWebView into one class
2191         https://bugs.webkit.org/show_bug.cgi?id=71355
2192
2193         Reviewed by Kenneth Rohde Christiansen.
2194
2195         Merge QTouchWebView and QDesktopWebView into one class called
2196         QQuickWebView and its attached page QQuickWebPage. You can switch to the
2197         traditional desktop use case with the private header. Also now on desktop
2198         platforms AC is turn on by default. I also merged our two
2199         subclasses of QtViewInterface into one as the split doesn't make
2200         that much sense anymore. In the future we want to be able to enable the
2201         traditional desktop use case depending the platform the code is running.
2202         API tests and QML tests have been updated.
2203
2204         * Target.pri:
2205         * UIProcess/API/qt/WKView.h:
2206         * UIProcess/API/qt/qbasewebview.cpp: Removed.
2207         * UIProcess/API/qt/qbasewebview_p.h: Removed.
2208         * UIProcess/API/qt/qdesktopwebview.cpp: Removed.
2209         * UIProcess/API/qt/qdesktopwebview.h: Removed.
2210         * UIProcess/API/qt/qdesktopwebview_p.h: Removed.
2211         * UIProcess/API/qt/qquickwebpage.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qtouchwebpage.cpp.
2212         (QQuickWebPage::QQuickWebPage):
2213         (QQuickWebPage::~QQuickWebPage):
2214         (QQuickWebPage::keyPressEvent):
2215         (QQuickWebPage::keyReleaseEvent):
2216         (QQuickWebPage::inputMethodEvent):
2217         (QQuickWebPage::focusInEvent):
2218         (QQuickWebPage::focusOutEvent):
2219         (QQuickWebPage::mousePressEvent):
2220         (QQuickWebPage::mouseMoveEvent):
2221         (QQuickWebPage::mouseReleaseEvent):
2222         (QQuickWebPage::mouseDoubleClickEvent):
2223         (QQuickWebPage::wheelEvent):
2224         (QQuickWebPage::hoverEnterEvent):
2225         (QQuickWebPage::hoverMoveEvent):
2226         (QQuickWebPage::hoverLeaveEvent):
2227         (QQuickWebPage::dragMoveEvent):
2228         (QQuickWebPage::dragEnterEvent):
2229         (QQuickWebPage::dragLeaveEvent):
2230         (QQuickWebPage::dropEvent):
2231         (QQuickWebPage::geometryChanged):
2232         (QQuickWebPage::event):
2233         (QQuickWebPage::touchEvent):
2234         (QQuickWebPage::itemChange):
2235         (QQuickWebPagePrivate::QQuickWebPagePrivate):
2236         (QQuickWebPagePrivate::initializeSceneGraphConnections):
2237         (QQuickWebPagePrivate::setPageProxy):
2238         (computeEffectiveOpacity):
2239         (QQuickWebPagePrivate::paintToCurrentGLContext):
2240         (QQuickWebPagePrivate::_q_onAfterSceneRender):
2241         (QQuickWebPagePrivate::_q_onSceneGraphInitialized):
2242         * UIProcess/API/qt/qquickwebpage.h: Renamed from Source/WebKit2/UIProcess/API/qt/qtouchwebpage.h.
2243         * UIProcess/API/qt/qquickwebpage_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qtouchwebpage_p.h.
2244         * UIProcess/API/qt/qquickwebview.cpp: Added.
2245         (QQuickWebViewPrivate::QQuickWebViewPrivate):
2246         (QQuickWebViewPrivate::enableMouseEvents):
2247         (QQuickWebViewPrivate::disableMouseEvents):
2248         (QQuickWebViewPrivate::initialize):
2249         (QQuickWebViewPrivate::initializeDesktop):
2250         (QQuickWebViewPrivate::initializeTouch):
2251         (QQuickWebViewPrivate::loadDidCommit):
2252         (QQuickWebViewPrivate::contentSizeChanged):
2253         (QQuickWebViewPrivate::scrollPositionRequested):
2254         (QQuickWebViewPrivate::_q_viewportUpdated):
2255         (QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged):
2256         (QQuickWebViewPrivate::_q_onVisibleChanged):
2257         (QQuickWebViewPrivate::updateViewportSize):
2258         (QQuickWebViewPrivate::updateViewportConstraints):
2259         (QQuickWebViewPrivate::didChangeViewportProperties):
2260         (QQuickWebViewPrivate::runJavaScriptAlert):
2261         (QQuickWebViewPrivate::runJavaScriptConfirm):
2262         (QQuickWebViewPrivate::runJavaScriptPrompt):
2263         (QQuickWebViewPrivate::chooseFiles):
2264         (QQuickWebViewPrivate::_q_onOpenPanelFilesSelected):
2265         (QQuickWebViewPrivate::_q_onOpenPanelFinished):
2266         (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
2267         (toPolicyAction):
2268         (hasMetaMethod):
2269         (QQuickWebViewPrivate::navigationPolicyForURL):
2270         (QQuickWebViewPrivate::setPageProxy):
2271         (QQuickWebView::QQuickWebView):
2272         (QQuickWebView::~QQuickWebView):
2273         (QQuickWebView::page):
2274         (QQuickWebView::load):
2275         (QQuickWebView::postMessage):
2276         (QQuickWebView::url):
2277         (QQuickWebView::loadProgress):
2278         (QQuickWebView::title):
2279         (QQuickWebView::navigationController):
2280         (QQuickWebView::preferences):
2281         (QQuickWebView::geometryChanged):
2282         (QQuickWebView::touchEvent):
2283         (QQuickWebView::pageRef):
2284         * UIProcess/API/qt/qquickwebview.h: Renamed from Source/WebKit2/UIProcess/API/qt/qbasewebview.h.
2285         * UIProcess/API/qt/qquickwebview_p.h: Added.
2286         * UIProcess/API/qt/qtouchwebview.cpp: Removed.
2287         * UIProcess/API/qt/qtouchwebview.h: Removed.
2288         * UIProcess/API/qt/qtouchwebview_p.h: Removed.
2289         * UIProcess/API/qt/tests/commonviewtests/commonviewtests.pro: Removed.
2290         * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp: Removed.
2291         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp: Removed.
2292         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h: Removed.
2293         * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp: Removed.
2294         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_download.qml:
2295         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml:
2296         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadFail.qml:
2297         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgress.qml:
2298         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgressSignal.qml:
2299         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadZeroSizeView.qml:
2300         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_messaging.qml:
2301         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml:
2302         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml:
2303         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml:
2304         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml:
2305         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml:
2306         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml:
2307         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml:
2308         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml:
2309         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml:
2310         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml:
2311         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
2312         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
2313         (DesktopWebView::DesktopWebView):
2314         (main):
2315         * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qdesktopwebview/qdesktopwebview.pro.
2316         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: Added.
2317         (tst_QQuickWebView::tst_QQuickWebView):
2318         (tst_QQuickWebView::init):
2319         (tst_QQuickWebView::cleanup):
2320         (tst_QQuickWebView::webView):
2321         (tst_QQuickWebView::accessPage):
2322         (tst_QQuickWebView::navigationStatusAtStartup):
2323         (LoadStartedCatcher::LoadStartedCatcher):
2324         (LoadStartedCatcher::onLoadStarted):
2325         (tst_QQuickWebView::stopEnabledAfterLoadStarted):
2326         (tst_QQuickWebView::baseUrl):
2327         (tst_QQuickWebView::loadEmptyUrl):
2328         (tst_QQuickWebView::loadEmptyPageViewVisible):
2329         (tst_QQuickWebView::loadEmptyPageViewHidden):
2330         (tst_QQuickWebView::loadNonexistentFileUrl):
2331         (tst_QQuickWebView::backAndForward):
2332         (tst_QQuickWebView::reload):
2333         (tst_QQuickWebView::stop):
2334         (tst_QQuickWebView::loadProgress):
2335         (tst_QQuickWebView::show):
2336         * UIProcess/API/qt/tests/qtouchwebview/qtouchwebview.pro: Removed.
2337         * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp: Removed.
2338         * UIProcess/API/qt/tests/testwindow.h:
2339         * UIProcess/TiledDrawingAreaProxy.h:
2340         * UIProcess/qt/QtGestureRecognizer.cpp:
2341         (WebKit::QtGestureRecognizer::QtGestureRecognizer):
2342         (WebKit::QtGestureRecognizer::setViewportInteractionEngine):
2343         * UIProcess/qt/QtGestureRecognizer.h:
2344         * UIProcess/qt/QtPanGestureRecognizer.cpp:
2345         (WebKit::QtPanGestureRecognizer::setViewportInteractionEngine):
2346         (WebKit::QtPanGestureRecognizer::recognize):
2347         * UIProcess/qt/QtPanGestureRecognizer.h:
2348         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
2349         (WebKit::QtPinchGestureRecognizer::recognize):
2350         (WebKit::QtPinchGestureRecognizer::setViewportInteractionEngine):
2351         * UIProcess/qt/QtPinchGestureRecognizer.h:
2352         * UIProcess/qt/QtTouchViewInterface.cpp: Removed.
2353         * UIProcess/qt/QtTouchViewInterface.h: Removed.
2354         * UIProcess/qt/QtViewInterface.cpp: Added.
2355         (WebKit::QtViewInterface::QtViewInterface):
2356         (WebKit::QtViewInterface::didFindZoomableArea):
2357         (WebKit::QtViewInterface::sceneGraphUpdateQueue):
2358         (WebKit::QtViewInterface::setViewNeedsDisplay):
2359         (WebKit::QtViewInterface::drawingAreaSize):
2360         (WebKit::QtViewInterface::contentSizeChanged):
2361         (WebKit::QtViewInterface::scrollPositionRequested):
2362         (WebKit::QtViewInterface::isActive):
2363         (WebKit::QtViewInterface::hasFocus):
2364         (WebKit::QtViewInterface::isVisible):
2365         (WebKit::QtViewInterface::startDrag):
2366         (WebKit::QtViewInterface::didChangeViewportProperties):
2367         (WebKit::QtViewInterface::didChangeUrl):
2368         (WebKit::QtViewInterface::didChangeTitle):
2369         (WebKit::QtViewInterface::didChangeToolTip):
2370         (WebKit::QtViewInterface::didChangeStatusText):
2371         (WebKit::QtViewInterface::didChangeCursor):
2372         (WebKit::QtViewInterface::loadDidBegin):
2373         (WebKit::QtViewInterface::loadDidCommit):
2374         (WebKit::QtViewInterface::loadDidSucceed):
2375         (WebKit::QtViewInterface::loadDidFail):
2376         (WebKit::QtViewInterface::didChangeLoadProgress):
2377         (WebKit::QtViewInterface::didMouseMoveOverElement):
2378         (WebKit::QtViewInterface::showContextMenu):
2379         (WebKit::QtViewInterface::hideContextMenu):
2380         (WebKit::QtViewInterface::runJavaScriptAlert):
2381         (WebKit::QtViewInterface::runJavaScriptConfirm):
2382         (WebKit::QtViewInterface::runJavaScriptPrompt):
2383         (WebKit::QtViewInterface::processDidCrash):
2384         (WebKit::QtViewInterface::didRelaunchProcess):
2385         (WebKit::QtViewInterface::engine):
2386         (WebKit::QtViewInterface::downloadRequested):
2387         (WebKit::QtViewInterface::chooseFiles):
2388         * UIProcess/qt/QtViewInterface.h:
2389         * UIProcess/qt/QtWebPageProxy.h:
2390         (QtWebPageProxy::setViewportInteractionEngine):
2391         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
2392         * WebKit2.pri:
2393
2394 2011-11-10  Carlos Garcia Campos  <cgarcia@igalia.com>
2395
2396         Unreviewed. Fix make distcheck build.
2397
2398         * GNUmakefile.am: Fix typos in gtk-doc files and scripts.
2399
2400 2011-11-10  Simon Hausmann  <simon.hausmann@nokia.com>
2401
2402         Unreviewed Mac build fix: Remove TapAndHold gesture type.
2403
2404         It broke the build because it's unhandled. Remove it since it's not
2405         supported at the moment anyway. (looks like an accidental addition?)
2406
2407         * Shared/WebEvent.h:
2408         * UIProcess/qt/QtTapGestureRecognizer.cpp:
2409         (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
2410
2411 2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
2412
2413         [Qt] Enable exports and constructor functions in static libs
2414
2415         Reviewed by Tor Arne Vestbø.
2416
2417         * WebProcess/WebPage/qt/WebPageQt.cpp:
2418         (WebKit::WebPage::platformInitialize): Remove unnecessary manual Qt resource
2419         initialization.
2420
2421 2011-11-10  Zeno Albisser  <zeno.albisser@nokia.com>
2422
2423         [Qt][WK2] Add Tap Gesture recognition to UIProcess
2424         https://bugs.webkit.org/show_bug.cgi?id=71841
2425
2426         Add a Tap gesture recognizer that delivers GestureSingleTap
2427         and GestureTapAndHold events through the WebPageProxy.
2428         Add a GestureTapAndHold to WebEvent.
2429         Add a DoubleTap gesture for zooming in and out.
2430
2431         This patch is based on work of Benjamin Poulain.
2432
2433         Reviewed by Kenneth Rohde Christiansen.
2434
2435         * Shared/WebEvent.h:
2436         * Target.pri:
2437         * UIProcess/qt/QtTapGestureRecognizer.cpp: Added.
2438         (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
2439         (WebKit::QtTapGestureRecognizer::setWebPageProxy):
2440         (WebKit::QtTapGestureRecognizer::recognize):
2441         (WebKit::QtTapGestureRecognizer::tapTimeout):
2442         (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
2443         (WebKit::QtTapGestureRecognizer::reset):
2444         (WebKit::QtTapGestureRecognizer::timerEvent):
2445         * UIProcess/qt/QtTapGestureRecognizer.h: Added.
2446         * UIProcess/qt/QtWebPageProxy.cpp:
2447         (QtWebPageProxy::QtWebPageProxy):
2448         (QtWebPageProxy::processDidCrash):
2449         (QtWebPageProxy::doneWithTouchEvent):
2450         * UIProcess/qt/QtWebPageProxy.h:
2451
2452 2011-11-09  Shinya Kawanaka  <shinyak@google.com>
2453
2454         Internals.markerRangeForNode should be able to take markers by specifying a marker type.
2455         https://bugs.webkit.org/show_bug.cgi?id=71792
2456
2457         Reviewed by Hajime Morita.
2458
2459         * win/WebKit2.def: Exposed necessary references.
2460         * win/WebKit2CFLite.def: ditto.
2461
2462 2011-10-26  Martin Robinson  <mrobinson@igalia.com>
2463
2464         [GTK] [WebKit] Replace the gtkdoc autools magic with something more flexible
2465         https://bugs.webkit.org/show_bug.cgi?id=70877
2466
2467         Reviewed by Philippe Normand.
2468
2469         Add a script that runs gtkdoc manually instead of using the autotools
2470         magic. Remove now unused gtkdoc files.
2471
2472         * GNUmakefile.am: Remove references to removed gtkdoc files.
2473         * UIProcess/API/gtk/docs/GNUmakefile.am: Removed.
2474         * UIProcess/API/gtk/docs/build-gtkdoc: Added.
2475         * UIProcess/API/gtk/docs/gtkdoc.py: Added.
2476         * UIProcess/API/gtk/docs/version.xml.in: Removed.
2477
2478 2011-11-09  Alexey Proskuryakov  <ap@apple.com>
2479
2480         <rdar://problem/10423024> WebProcess doesn't use AuthBrokerAgent for proxy credentials
2481         https://bugs.webkit.org/show_bug.cgi?id=71964
2482
2483         Reviewed by Darin Adler.
2484
2485         * WebProcess/com.apple.WebProcess.sb: Allow mach-lookup of com.apple.cfnetwork.AuthBrokerAgent.
2486
2487 2011-11-09  Anders Carlsson  <andersca@apple.com>
2488
2489         Element::boundsInWindowSpace should be Element::boundsInRootViewSpace
2490         https://bugs.webkit.org/show_bug.cgi?id=71955
2491
2492         Reviewed by Sam Weinig.
2493
2494         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
2495         (WebKit::InjectedBundleNodeHandle::elementBounds):
2496         Call Element::boundsInRootViewSpace.
2497
2498 2011-11-09  Alexis Menard  <alexis.menard@openbossa.org>
2499
2500         WebGraphicsLayer behaves wrongly when no contentsScale is set.
2501         https://bugs.webkit.org/show_bug.cgi?id=71959
2502
2503         Reviewed by Noam Rosenthal.
2504
2505         The contentsScale needs to get a default value just like
2506         TiledBackingStore in case no value is explicitely set.
2507
2508         It is covered by existing tests.
2509
2510         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2511         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
2512
2513 2011-11-09  Mark Hahnenberg  <mhahnenberg@apple.com>
2514
2515         De-virtualize JSObject::getOwnPropertyDescriptor
2516         https://bugs.webkit.org/show_bug.cgi?id=71523
2517
2518         Reviewed by Sam Weinig.
2519
2520         Added getOwnPropertyDescriptor to the MethodTable, changed all of the 
2521         virtual versions of getOwnPropertyDescriptor to static ones, and 
2522         changed all of the call sites to the corresponding lookup in the MethodTable.
2523
2524         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2525         (WebKit::JSNPObject::getOwnPropertyDescriptor):
2526         * WebProcess/Plugins/Netscape/JSNPObject.h:
2527
2528 2011-11-09  Alexandru Chiculita  <achicu@adobe.com>
2529
2530         Fixing build on MacOSX SL after 71838
2531         https://bugs.webkit.org/show_bug.cgi?id=71912
2532
2533         Reviewed by Anders Carlsson.
2534
2535         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2536         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
2537
2538 2011-11-09  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2539
2540         [WebKit2] Prepare viewport meta handling for desktop usage
2541         https://bugs.webkit.org/show_bug.cgi?id=71907
2542
2543         Reviewed by Simon Hausmann.
2544
2545         This is only used by Qt so far. Now we don't always layout pages
2546         without the viewport meta tag, using 980 as the layout width, but
2547         instead we use that value (it is a setting) as a minimum value, or
2548         else we use the viewport width.
2549
2550         * UIProcess/API/qt/qtouchwebview.cpp:
2551         (QTouchWebViewPrivate::updateViewportSize):
2552         (QTouchWebViewPrivate::updateViewportConstraints):
2553         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2554         (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
2555         * WebProcess/WebPage/WebPage.cpp:
2556         (WebKit::WebPage::setViewportSize):
2557
2558 2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
2559
2560         Unreviewed, rolling out r99701.
2561         http://trac.webkit.org/changeset/99701
2562
2563         Breaks Qt mac build
2564
2565         * WebProcess/WebPage/qt/WebPageQt.cpp:
2566         (initResources):
2567         (WebKit::WebPage::platformInitialize):
2568
2569 2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
2570
2571         [Qt] Enable exports and constructor functions in static libs
2572
2573         Reviewed by Tor Arne Vestbø.
2574
2575         * WebProcess/WebPage/qt/WebPageQt.cpp:
2576         (WebKit::WebPage::platformInitialize): Remove unnecessary manual Qt resource
2577         initialization.
2578
2579 2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
2580
2581         [Qt] Fix geolocation enabled build.
2582
2583         Reviewed by Tor Arne Vestbø.
2584
2585         * Target.pri: Add QT += location to get the right module includes.
2586         * UIProcess/qt/WebGeolocationProviderQt.cpp: Include the moc file with the right name (GeoLocation -> Geolocation)
2587         * UIProcess/qt/WebGeolocationProviderQt.h: Removed the ENABLE(GEOLOCATION) guards, otherwise moc doesn't generate
2588         code, because it can't interpret the ENABLE() macro.
2589
2590 2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
2591
2592         [Qt] Build system cleanup
2593         https://bugs.webkit.org/show_bug.cgi?id=71815
2594
2595         Reviewed by Kenneth Rohde Christiansen.
2596
2597         * Target.pri: Removed duplicated sources that are compiled also into QtWebKit.so through api.pri.
2598         * UIProcess/qt/WebGeolocationProviderQt.cpp: Include the moc file here, as it should only be compiled
2599         if geolocation is enabled.
2600         * UIProcess/qt/WebGeolocationProviderQt.h: Provide ENABLE(GEOLOCATION) guards around class definition.
2601
2602 2011-11-08  Simon Hausmann  <simon.hausmann@nokia.com>
2603
2604         [Qt] Replace use of QApplication with QGuiApplication
2605         https://bugs.webkit.org/show_bug.cgi?id=71794
2606
2607         Reviewed by Andreas Kling.
2608
2609         * Platform/CoreIPC/unix/ConnectionUnix.cpp: Remove unnecessary QApplication inclusion.
2610         * Platform/qt/RunLoopQt.cpp: Replace QApplication include with QCoreApplication.
2611         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: Ditto.
2612         * UIProcess/Launcher/qt/ThreadLauncherQt.cpp: Remove unnecessary QApplication inclusion.
2613         * UIProcess/qt/QtWebPageProxy.cpp:
2614         (QtWebPageProxy::handleMousePressEvent): Replace QApplication usage with QStyleHints.
2615         (QtWebPageProxy::handleMouseDoubleClickEvent): Ditto.
2616
2617 2011-11-07  Adam Barth  <abarth@webkit.org>
2618
2619         Move static "policy" state from SecurityOrigin.cpp to SecurityPolicy.cpp
2620         https://bugs.webkit.org/show_bug.cgi?id=71755
2621
2622         Reviewed by Eric Seidel.
2623
2624         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2625         (WebKit::InjectedBundle::addOriginAccessWhitelistEntry):
2626         (WebKit::InjectedBundle::removeOriginAccessWhitelistEntry):
2627         (WebKit::InjectedBundle::resetOriginAccessWhitelists):
2628         * WebProcess/Plugins/PluginView.cpp:
2629         (WebKit::PluginView::loadURL):
2630
2631 2011-11-08  Brent Fulgham  <bfulgham@webkit.org>
2632
2633         [WinCairo] Unreviewed build fix after r99613.
2634
2635         * win/WebKit2CFLite.def: Add missing export.
2636
2637 2011-11-08  Brent Fulgham  <bfulgham@webkit.org>
2638
2639         [WinCairo] Unreviewed build fix after r98624 and r99613.
2640
2641         * win/WebKit2CFLite.def: Add missing exports.
2642
2643 2011-11-08  Beth Dakin  <bdakin@apple.com>
2644
2645         https://bugs.webkit.org/show_bug.cgi?id=71856
2646         WebKit should use new NSWindowDidChangeBackingPropertiesNotification instead of 
2647         old NSWindowDidChangeResolutionNotification
2648         -and corresponding-
2649         <rdar://problem/10317253>
2650
2651         Reviewed by Tim Hatcher.
2652
2653         * UIProcess/API/mac/WKView.mm:
2654         (-[WKView addWindowObserversForWindow:]):
2655         (-[WKView removeWindowObservers]):
2656
2657         We have to check that the backing scale factor actually changed since this 
2658         notification can also be used to signify other changes. 
2659         (-[WKView _windowDidChangeBackingProperties:]):
2660
2661 2011-11-08  Anders Carlsson  <andersca@apple.com>
2662
2663         Add a basic layer hierarchy to the Core Animation drawing area
2664         https://bugs.webkit.org/show_bug.cgi?id=71838
2665
2666         Reviewed by Sam Weinig.
2667
2668         * UIProcess/API/mac/WKView.mm:
2669         (-[WKView drawRect:]):
2670         Return early if we're using a tiled drawing area.
2671
2672         (-[WKView initWithFrame:contextRef:pageGroupRef:]):
2673         If we're using a tiled drawing area, make the WKView layer backed and set its layer
2674         to a simple CALayer with a white background and set the view's content redraw policy
2675         to never to avoid ever calling drawRect.
2676
2677         * UIProcess/DrawingAreaProxy.h:
2678         (WebKit::DrawingAreaProxy::didUpdateGeometry):
2679         * UIProcess/DrawingAreaProxy.messages.in:
2680         Add a new didUpdateGeometry message.
2681
2682         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
2683         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
2684         (WebKit::TiledCoreAnimationDrawingAreaProxy::TiledCoreAnimationDrawingAreaProxy):
2685         Initialize m_isWaitingForDidUpdateGeometry.
2686
2687         (WebKit::TiledCoreAnimationDrawingAreaProxy::sizeDidChange):
2688         Send an UpdateGeometry message to the web process and wait for a reply.
2689
2690         (WebKit::TiledCoreAnimationDrawingAreaProxy::enterAcceleratedCompositingMode):
2691         Tell the web page proxy to enter accelerated compositing mode.
2692
2693         (WebKit::TiledCoreAnimationDrawingAreaProxy::exitAcceleratedCompositingMode):
2694         Assert that this function is never called.
2695
2696         (WebKit::TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry):
2697         Send another UpdateGeometry message if needed.
2698
2699         (WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry):
2700         Add helper function to actually send the UpdateGeometry message.
2701
2702         * WebProcess/WebPage/DrawingArea.h:
2703         (WebKit::DrawingArea::updateGeometry):
2704         * WebProcess/WebPage/DrawingArea.messages.in:
2705         Add UpdateGeometry message.
2706
2707         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2708         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2709         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
2710         Create a red root layer and a remote layer client that hosts it.
2711
2712         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
2713         Resize the root layer and tell the UI process that we've updated the geometry.
2714
2715 2011-11-08  Dan Bernstein  <mitz@apple.com>
2716
2717         <rdar://problem/10262225> Allow RenderView to have columns
2718         https://bugs.webkit.org/show_bug.cgi?id=71840
2719
2720         * win/WebKit2.def: Export Page::setPagination() for WebCoreTestSupport.
2721
2722 2011-11-08  Jon Lee  <jonlee@apple.com>
2723
2724         [WK2] Expose acceptMIMETypes for file inputs
2725         https://bugs.webkit.org/show_bug.cgi?id=71836
2726         <rdar://problem/10407367>
2727
2728         Reviewed by Anders Carlsson.
2729
2730         * Shared/WebOpenPanelParameters.cpp:
2731         (WebKit::WebOpenPanelParameters::acceptMIMETypes):
2732         * Shared/WebOpenPanelParameters.h:
2733         * UIProcess/API/C/WKOpenPanelParameters.cpp:
2734         (WKOpenPanelParametersCopyAcceptedMIMETypes):
2735         * UIProcess/API/C/WKOpenPanelParameters.h:
2736
2737 2011-11-08  Zan Dobersek  <zandobersek@gmail.com>
2738
2739         [WK2][GTK] The default database & local storage directory names should note they exist for Gtk port's needs
2740         https://bugs.webkit.org/show_bug.cgi?id=71837
2741
2742         Reviewed by Martin Robinson.
2743
2744         Ensure that directories for databases and local storage are in a 'webkitgtk'
2745         directory in current user's data directory, noting they originate from the Gtk port.
2746
2747         * UIProcess/gtk/WebContextGtk.cpp:
2748         (WebKit::WebContext::platformDefaultDatabaseDirectory):
2749         (WebKit::WebContext::platformDefaultLocalStorageDirectory):
2750
2751 2011-11-08  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2752
2753         [Qt] Workaround some problems in QML API tests
2754         https://bugs.webkit.org/show_bug.cgi?id=71818
2755
2756         Reviewed by Tor Arne Vestbø.
2757
2758         This commit workaround the issue of QML's QtTest crashing when we run tests after
2759         "windowShown". We delay to the next run of the mainloop. This workaround is not
2760         pretty but shouldn't affect the semantics of the tests. And we benefit more from
2761         having working tests right now.
2762
2763         This patch also improves Download to: wait for the load before emitting click, and
2764         properly identifying the "succeeded" signal of the downloadItem object.
2765
2766         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_download.qml:
2767         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml:
2768         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml:
2769
2770 2011-11-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2771
2772         Clean up QtViewportInteractionEngine
2773
2774         Reviewed by Simon Hausmann.
2775
2776         * UIProcess/qt/QtViewportInteractionEngine.cpp:
2777         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
2778         (WebKit::QtViewportInteractionEngine::setItemRectVisible):
2779
2780             Rename the method to make it more obvious what it does. Avoid implicit
2781             conversion to/from QVariant.
2782
2783         (WebKit::QtViewportInteractionEngine::pagePositionRequest):
2784         (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
2785         (WebKit::QtViewportInteractionEngine::itemSizeChanged):
2786
2787             Only call this method on item size changes, and not for every interaction
2788             with the viewport item. Before this change it was even being called during
2789             animations.
2790
2791         * UIProcess/qt/QtViewportInteractionEngine.h:
2792         (WebKit::QtViewportInteractionEngine::scaleAnimationValueChanged):
2793
2794             Rename to make it clean that this is called from the animator.
2795
2796 2011-11-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2797
2798         [Qt] Improve the animation time constant
2799         https://bugs.webkit.org/show_bug.cgi?id=71790
2800
2801         Reviewed by Simon Hausmann.
2802
2803         Use 250 milliseconds instead of 400, which feels a lot more natural
2804         and makes the mini browser feel more responsive.
2805
2806         * UIProcess/qt/QtViewportInteractionEngine.cpp:
2807
2808 2011-11-08  Alexis Menard  <alexis.menard@openbossa.org>
2809
2810         [Qt] Merge QtDesktopWebPageProxy and QtTouchWebPageProxy into QtWebPageProxy.
2811         https://bugs.webkit.org/show_bug.cgi?id=71355
2812
2813         Reviewed by Simon Hausmann.
2814
2815         As we try to unify our public API offer we need to merge our double
2816         WebPageProxy implementations first into a common class. That will help
2817         to merge our TouchWebView and DesktopWebView views into one class later.
2818         This commit just merge stuff around and doesn't contain any functional changes.
2819
2820         * Target.pri:
2821         * UIProcess/API/qt/qdesktopwebview.cpp:
2822         (QDesktopWebViewPrivate::init):
2823         * UIProcess/API/qt/qtouchwebpage.cpp:
2824         (QTouchWebPagePrivate::paintToCurrentGLContext):
2825         * UIProcess/API/qt/qtouchwebpage.h:
2826         * UIProcess/API/qt/qtouchwebpage_p.h:
2827         * UIProcess/API/qt/qtouchwebview.cpp:
2828         (QTouchWebViewPrivate::init):
2829         (QTouchWebViewPrivate::_q_viewportUpdated):
2830         (QTouchWebViewPrivate::_q_viewportTrajectoryVectorChanged):
2831         * UIProcess/API/qt/qtouchwebview_p.h:
2832         * UIProcess/qt/QtDesktopWebPageProxy.cpp: Removed.
2833         * UIProcess/qt/QtDesktopWebPageProxy.h: Removed.
2834         * UIProcess/qt/QtTouchWebPageProxy.cpp: Removed.
2835         * UIProcess/qt/QtTouchWebPageProxy.h: Removed.
2836         * UIProcess/qt/QtWebPageProxy.cpp:
2837         (dragOperationToDropAction):
2838         (QtWebPageProxy::QtWebPageProxy):
2839         (QtWebPageProxy::handleEvent):
2840         (QtWebPageProxy::handleMouseMoveEvent):
2841         (QtWebPageProxy::handleMousePressEvent):
2842         (QtWebPageProxy::handleMouseReleaseEvent):
2843         (QtWebPageProxy::handleMouseDoubleClickEvent):
2844         (QtWebPageProxy::handleWheelEvent):
2845         (QtWebPageProxy::handleHoverLeaveEvent):
2846         (QtWebPageProxy::handleHoverMoveEvent):
2847         (QtWebPageProxy::handleDragEnterEvent):
2848         (QtWebPageProxy::handleDragLeaveEvent):
2849         (QtWebPageProxy::handleDragMoveEvent):
2850         (QtWebPageProxy::handleDropEvent):
2851         (QtWebPageProxy::timerEvent):
2852         (QtWebPageProxy::processDidCrash):
2853         (QtWebPageProxy::didReceiveDownloadResponse):
2854         (QtWebPageProxy::paintContent):
2855         (QtWebPageProxy::createDrawingAreaProxy):
2856         (QtWebPageProxy::renderToCurrentGLContext):
2857         (QtWebPageProxy::doneWithTouchEvent):
2858         (QtWebPageProxy::setVisibleContentRectAndScale):
2859         (QtWebPageProxy::setVisibleContentRectTrajectoryVector):
2860         (QtWebPageProxy::touchEvent):
2861         (QtWebPageProxy::findZoomableAreaForPoint):
2862         * UIProcess/qt/QtWebPageProxy.h:
2863
2864 2011-11-08  Zan Dobersek  <zandobersek@gmail.com>
2865
2866         [WK2][GTK] Application cache directory is incorrectly set
2867         https://bugs.webkit.org/show_bug.cgi?id=70680
2868
2869         Reviewed by Philippe Normand.
2870
2871         Correctly set application cache directory to be in current
2872         user's default cache directory.
2873
2874         * UIProcess/gtk/WebContextGtk.cpp:
2875         (WebKit::WebContext::applicationCacheDirectory):
2876
2877 2011-11-07  Emil A Eklund  <eae@chromium.org>
2878
2879         Revert platform and scrolling to ints
2880         https://bugs.webkit.org/show_bug.cgi?id=71585
2881
2882         Reviewed by Eric Seidel.
2883
2884         Replace all uses of LayoutUnit and related types with ints in platform
2885         and scrolling code.
2886
2887         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
2888         (WebKit::BuiltInPDFView::invalidateScrollbarRect):
2889         (WebKit::BuiltInPDFView::visibleHeight):
2890         (WebKit::BuiltInPDFView::visibleWidth):
2891         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
2892
2893 2011-11-07  Adam Barth  <abarth@webkit.org>
2894
2895         Move DomainRelaxationForbidden scheme registry to SchemeRegistry
2896         https://bugs.webkit.org/show_bug.cgi?id=71750
2897
2898         Reviewed by Eric Seidel.
2899
2900         * WebProcess/WebProcess.cpp:
2901         (WebKit::WebProcess::setDomainRelaxationForbiddenForURLScheme):
2902
2903 2011-11-07  Beth Dakin  <bdakin@apple.com>
2904
2905         https://bugs.webkit.org/show_bug.cgi?id=71490
2906         Support uiStateTransitionProgress for scrollbars
2907         -and corresponding-
2908         <rdar://problem/9849612>
2909
2910         Reviewed by Sam Weinig.
2911
2912         Scrollbar::mouseUp() now takes a PlatformMouseEvent as a parameter.
2913         * UIProcess/win/WebPopupMenuProxyWin.cpp:
2914         (WebKit::WebPopupMenuProxyWin::onLButtonUp):
2915         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
2916         (WebKit::BuiltInPDFView::handleMouseEvent):
2917
2918 2011-11-07  Alexey Proskuryakov  <ap@apple.com>
2919
2920         The Full Keyboard Access preference should be read in the UI process
2921         https://bugs.webkit.org/show_bug.cgi?id=71734
2922         <rdar://problem/9237619>
2923
2924         Reviewed by Darin Adler.
2925
2926         This is consistent with how other global preferences (like language) are handled, and lets
2927         us tighten up the sandbox a little.
2928
2929         * Shared/WebProcessCreationParameters.cpp:
2930         (WebKit::WebProcessCreationParameters::encode):
2931         (WebKit::WebProcessCreationParameters::decode):
2932         * Shared/WebProcessCreationParameters.h:
2933         Added fullKeyboardAccessEnabled, so that newly started processes have the right preference value.
2934
2935         * UIProcess/WebContext.h:
2936         * UIProcess/WebContext.cpp:
2937         (WebKit::WebContext::fullKeyboardAccessModeChanged): If preference changes while a web process
2938         is already running, tell it.
2939         (WebKit::WebContext::ensureWebProcess): Set parameters.fullKeyboardAccessEnabled from current
2940         preference.
2941
2942         * UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::fullKeyboardAccessEnabled):
2943         * UIProcess/mac/WebProcessProxyMac.mm: (WebKit::WebProcessProxy::fullKeyboardAccessEnabled):
2944         * UIProcess/WebProcessProxy.h:
2945         Proxy it to Objective-C code. WebProcessProxy is as good place to have the static function
2946         as any. One day, we will make code more consistent with language and other global preferences.
2947
2948         * UIProcess/mac/WKFullKeyboardAccessWatcher.h: Copied from Source/WebKit2/WebProcess/mac/WKFullKeyboardAccessWatcher.h.
2949         * UIProcess/mac/WKFullKeyboardAccessWatcher.mm: Copied from Source/WebKit2/WebProcess/mac/WKFullKeyboardAccessWatcher.mm.
2950         * WebProcess/mac/WKFullKeyboardAccessWatcher.h: Removed.
2951         * WebProcess/mac/WKFullKeyboardAccessWatcher.mm: Removed.
2952         (-[WKFullKeyboardAccessWatcher retrieveKeyboardUIModeFromPreferences:]): Once retrieved,
2953         push the preference value.
2954
2955         * WebKit2.xcodeproj/project.pbxproj: WKFullKeyboardAccessWatcher is now in UI process.
2956
2957         * WebProcess/WebProcess.h:
2958         * WebProcess/WebProcess.cpp:
2959         (WebKit::WebProcess::WebProcess):
2960         (WebKit::WebProcess::fullKeyboardAccessModeChanged):
2961         (WebKit::WebProcess::fullKeyboardAccessEnabled):
2962         * WebProcess/mac/WebProcessMac.mm:
2963         WebCprocess now holds the preference value in a mamber value, which UI process pushes
2964         updates to.
2965
2966         * WebProcess/WebProcess.messages.in: Added a message for changes preference value.
2967
2968         * WebProcess/com.apple.WebProcess.sb: We no longer need read access to com.apple.universalaccess.plist.
2969
2970 2011-11-07  Anders Carlsson  <andersca@apple.com>
2971
2972         Add TiledCoreAnimationDrawingArea stub classes
2973         https://bugs.webkit.org/show_bug.cgi?id=71729
2974
2975         Reviewed by Sam Weinig.
2976
2977         * Shared/DrawingAreaInfo.h:
2978         * UIProcess/API/mac/WKView.mm:
2979         (-[WKView _shouldUseTiledDrawingArea]):
2980         (-[WKView WebKit::]):
2981         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h.
2982         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: Copied from Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp.
2983         (WebKit::TiledCoreAnimationDrawingAreaProxy::create):
2984         (WebKit::TiledCoreAnimationDrawingAreaProxy::TiledCoreAnimationDrawingAreaProxy):
2985         (WebKit::TiledCoreAnimationDrawingAreaProxy::~TiledCoreAnimationDrawingAreaProxy):
2986         (WebKit::TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange):
2987         (WebKit::TiledCoreAnimationDrawingAreaProxy::sizeDidChange):
2988         * WebKit2.xcodeproj/project.pbxproj:
2989         * WebProcess/WebPage/DrawingArea.cpp:
2990         (WebKit::DrawingArea::create):
2991         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: Copied from Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp.
2992         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: Copied from Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp.
2993         (WebKit::TiledCoreAnimationDrawingArea::create):
2994         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
2995         (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
2996         (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay):
2997         (WebKit::TiledCoreAnimationDrawingArea::scroll):
2998         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
2999         (WebKit::TiledCoreAnimationDrawingArea::scheduleCompositingLayerSync):
3000
3001 2011-11-07  Anders Carlsson  <andersca@apple.com>
3002
3003         Follow-up build fix.
3004
3005         * WebProcess/WebPage/DrawingAreaImpl.h:
3006
3007 2011-11-07  Anders Carlsson  <andersca@apple.com>
3008
3009         Remove unused DrawingArea::syncCompositingLayers
3010         https://bugs.webkit.org/show_bug.cgi?id=71717
3011
3012         Reviewed by John Sullivan.
3013
3014         * WebProcess/WebPage/DrawingArea.h:
3015         * WebProcess/WebPage/DrawingAreaImpl.cpp:
3016         * WebProcess/WebPage/TiledDrawingArea.h:
3017
3018 2011-11-07  Anders Carlsson  <andersca@apple.com>
3019
3020         Rename NetscapePlugin::wantsWindowRelativeNPWindowCoordinates to NetscapePlugin::wantsPluginRelativeNPWindowCoordinates
3021         https://bugs.webkit.org/show_bug.cgi?id=71708
3022
3023         Reviewed by Sam Weinig.
3024
3025         The name wantsPluginRelativeNPWindowCoordinates is more clear than wantsWindowRelativeNPWindowCoordinates. Rename the functions
3026         everywhere and, since the meaning is now inverted, invert the checks and return values.
3027
3028         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
3029         (WebKit::NetscapePlugin::callSetWindow):
3030         (WebKit::NetscapePlugin::geometryDidChange):
3031         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
3032         * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp:
3033         (WebKit::NetscapePlugin::wantsPluginRelativeNPWindowCoordinates):
3034         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
3035         (WebKit::NetscapePlugin::wantsPluginRelativeNPWindowCoordinates):
3036         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
3037         (WebKit::NetscapePlugin::wantsPluginRelativeNPWindowCoordinates):
3038         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
3039         (WebKit::NetscapePlugin::wantsPluginRelativeNPWindowCoordinates):
3040
3041 2011-11-07  Anders Carlsson  <andersca@apple.com>
3042
3043         NetscapePlugin::wantsWindowRelativeNPWindowCoordinates should return false on Mac
3044         https://bugs.webkit.org/show_bug.cgi?id=71707
3045
3046         Reviewed by Sam Weinig.
3047
3048         This changes the way the fake Carbon plug-in window is positioned, so that it's always the same size
3049         and location as the plug-in (relative to the screen).
3050
3051         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
3052         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
3053         (WebKit::NetscapePlugin::platformGeometryDidChange):
3054         Call updateFakeWindowBounds.
3055
3056         (WebKit::NetscapePlugin::updateFakeWindowBounds):
3057         Convert the plug-in position to screen coordinates and set the window bounds to be the location and
3058         size of the plug-in, where the location is relative to the screen.
3059
3060         (WebKit::NetscapePlugin::wantsWindowRelativeNPWindowCoordinates):
3061         Return false.
3062
3063         (WebKit::NetscapePlugin::windowAndViewFramesChanged):
3064         Call updateFakeWindowBounds.
3065
3066 2011-11-07  Sam Weinig  <sam@webkit.org>
3067
3068         WKPage.h should be in PrivateHeaders.
3069
3070         Rubber-stamped by Anders Carlsson.
3071
3072         * WebKit2.xcodeproj/project.pbxproj:
3073         Mark WKPage.h private.
3074
3075 2011-11-07  Anders Carlsson  <andersca@apple.com>
3076
3077         Simplify NetscapePlugin::convertPoint and make it work (in theory) with transformed plug-ins
3078         https://bugs.webkit.org/show_bug.cgi?id=71699
3079
3080         Reviewed by Sam Weinig.
3081
3082         Add a getScreenTransform function which given a coordinate space returns a transform that converts a
3083         point from that coordinate space to the screen coordinate space. We then get the source -> screen transform
3084         and the destination -> screen transform. We invert the destination -> screen transform, multiply it with the
3085         source -> screen transform and use mapPoint to get a complete affine transform from the source to the destination space
3086         and use mapPoint to map the source point and return the destination point.
3087
3088         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
3089         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
3090         (WebKit::NetscapePlugin::getScreenTransform):
3091         (WebKit::NetscapePlugin::convertPoint):
3092
3093         * WebProcess/Plugins/PluginView.cpp:
3094         (WebKit::PluginView::initializePlugin):
3095         Call windowAndViewFramesChanged before viewGeometryDidChange so that the window and view frames will be up to date by
3096         the time NPP_SetWindow is called in the plug-in.
3097
3098 2011-11-07  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3099
3100         [Qt] Put handling of gestures and their interaction in one place
3101         https://bugs.webkit.org/show_bug.cgi?id=71682
3102
3103         Reviewed by Simon Hausmann.
3104
3105         Before this patch, the interaction (ie. cancelling animations, events)
3106         was handled in the respective recognizers which then knew about each
3107         others.
3108
3109         * UIProcess/qt/QtGestureRecognizer.h:
3110         (WebKit::QtGestureRecognizer::isRecognized):
3111         * UIProcess/qt/QtPanGestureRecognizer.cpp:
3112         (WebKit::QtPanGestureRecognizer::recognize):
3113         * UIProcess/qt/QtPanGestureRecognizer.h:
3114         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
3115         (WebKit::QtPinchGestureRecognizer::recognize):
3116         * UIProcess/qt/QtPinchGestureRecognizer.h:
3117         * UIProcess/qt/QtTouchWebPageProxy.cpp:
3118         (QtTouchWebPageProxy::QtTouchWebPageProxy):
3119         (QtTouchWebPageProxy::doneWithTouchEvent):
3120         * UIProcess/qt/QtTouchWebPageProxy.h:
3121         * UIProcess/qt/QtViewportInteractionEngine.cpp:
3122         (WebKit::QtViewportInteractionEngine::pagePositionRequest):
3123         (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
3124         (WebKit::QtViewportInteractionEngine::scrollAnimationActive):
3125         (WebKit::QtViewportInteractionEngine::interruptScrollAnimation):
3126         (WebKit::QtViewportInteractionEngine::panGestureActive):
3127         (WebKit::QtViewportInteractionEngine::scaleAnimationActive):
3128         (WebKit::QtViewportInteractionEngine::interruptScaleAnimation):
3129         (WebKit::QtViewportInteractionEngine::pinchGestureActive):
3130         * UIProcess/qt/QtViewportInteractionEngine.h:
3131
3132 2011-11-07  Simon Hausmann  <simon.hausmann@nokia.com>
3133
3134         [Qt] Make it possible to include qdesktopwebview.h from apps
3135
3136         Reviewed by Tor Arne Vestbø.
3137
3138         * UIProcess/API/qt/qdesktopwebview.h: Don't include C API headers, forward
3139         declare the structs manually.
3140
3141 2011-11-07  Simon Hausmann  <simon.hausmann@nokia.com>
3142
3143         [Qt] Fix failing inspector tests after build system changes
3144         https://bugs.webkit.org/show_bug.cgi?id=71677
3145
3146         Reviewed by Tor Arne Vestbø.
3147
3148         Ensure symbols from the qt resource system are referenced
3149         from outside the static webcore library. One way of doing that is
3150         to initialize the resources right away, as explained in the documentation
3151         of th Qt resource system.
3152
3153         * WebProcess/WebPage/qt/WebPageQt.cpp:
3154         (initResources):
3155         (WebKit::WebPage::platformInitialize):
3156
3157 2011-11-03  Anders Carlsson  <andersca@apple.com>
3158
3159         Add NetscapePlugin::convertFromRootView
3160         https://bugs.webkit.org/show_bug.cgi?id=71526
3161
3162         Reviewed by Sam Weinig.
3163
3164         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
3165         (WebKit::NetscapePlugin::convertFromRootView):
3166         New function that converts a point from root view coordinates to plug-in coordinates.
3167         Returns false if the conversion can't be done.
3168
3169         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
3170         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
3171         (WebKit::fillInCocoaEventFromMouseEvent):
3172         (WebKit::initializeMouseEvent):
3173         (WebKit::NetscapePlugin::platformHandleMouseEvent):
3174         (WebKit::NetscapePlugin::platformHandleWheelEvent):
3175         (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
3176         (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
3177         Use convertFromRootView instead of subtracting m_frameRectInWindowCoordinates.location() from the
3178         event position (which is in root view coordinates).
3179
3180 2011-11-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3181
3182         [Qt] Refactor and clean up the qmake build system
3183
3184         The qmake build system has accumulated a bit of cruft and redundancy
3185         over time. There's also a fairly tight coupling between how to build
3186         the various targets, and _what_ to build, making it harder to add new
3187         rules or sources. This patch aims to elevate these issues somewhat.
3188
3189         This is a short-list of the changes:
3190
3191           * The rules for how to build targets are now mostly contained as
3192             prf-files in Tools/qmake/mkspecs/features. Using mkspecs also
3193             allows us to do pre- and post-processing of each project file,
3194             which helps to clean up the actual project files.
3195
3196           * Derived sources are no longer generated as a separate make-step
3197             but is part of each target's project file as a subdir. Makefile
3198             rules are used to ensure that we run make on the derived sources
3199             before running qmake on the actual target makefile. This makes
3200             it easier to keep a proper dependency between derived sources
3201             and the target.
3202
3203           * We use GNU make and the compiler to generate dependencies on
3204             UNIX-based systems running Qt 5. This allows us to lessen the
3205             need to run qmake, which should reduce compile time.
3206
3207           * WebKit2 is now build by default if building with Qt 5. It can
3208             be disabled by passing --no-webkit2 to build-webkit.
3209
3210         The result of these changes are hopefully a cleaner and easier
3211         build system to modify, and faster build times due to no longer
3212         running qmake on every single build. It's also a first step
3213         towards possibly generating the list of sources using another
3214         build system.
3215
3216         https://bugs.webkit.org/show_bug.cgi?id=71222
3217
3218         Reviewed by Simon Hausmann.
3219
3220         * DerivedSources.pri: Renamed from Source/WebKit2/DerivedSources.pro.
3221         * Target.pri: Copied from Source/WebKit2/WebKit2.pro.
3222         * UIProcess/API/qt/tests/tests.pri:
3223         * UIProcess/API/qt/tests/tests.pro: Removed.
3224         * WebKit2.pri:
3225         * WebKit2.pro:
3226         * WebKit2API.pri: Removed.
3227         * WebProcess.pro:
3228
3229 2011-11-04  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3230
3231         [Qt] Support programmatic scrolling with the QTouchWebView
3232
3233         Reviewed by Simon Hausmann.
3234
3235         As more code can be shared between the programmatic scrolling and the
3236         method for ensuring that the contents are within valid bounds, this
3237         patch includes a bit of refactoring as well.
3238
3239         * UIProcess/API/qt/qdesktopwebview_p.h:
3240         (QDesktopWebViewPrivate::scrollPositionRequested):
3241         * UIProcess/API/qt/qtouchwebview.cpp:
3242         (QTouchWebViewPrivate::scrollPositionRequested):
3243         * UIProcess/API/qt/qtouchwebview_p.h:
3244         * UIProcess/qt/QtTouchViewInterface.cpp:
3245         (WebKit::QtTouchViewInterface::scrollPositionRequested):
3246         * UIProcess/qt/QtTouchViewInterface.h:
3247         * UIProcess/qt/QtViewInterface.h:
3248         * UIProcess/qt/QtViewportInteractionEngine.cpp:
3249         (WebKit::QtViewportInteractionEngine::event):
3250         (WebKit::boundPosition):
3251         (WebKit::QtViewportInteractionEngine::pagePositionRequest):
3252         (WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale):
3253         (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
3254         (WebKit::QtViewportInteractionEngine::setConstraints):
3255         (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
3256         (WebKit::QtViewportInteractionEngine::contentViewportChanged):
3257         * UIProcess/qt/QtViewportInteractionEngine.h:
3258         * UIProcess/qt/QtWebPageProxy.cpp:
3259         (QtWebPageProxy::pageDidRequestScroll):
3260         * UIProcess/qt/QtWebPageProxy.h:
3261
3262 2011-11-03  Mark Hahnenberg  <mhahnenberg@apple.com>
3263
3264         De-virtualize JSObject::getPropertyNames
3265         https://bugs.webkit.org/show_bug.cgi?id=71306
3266
3267         Reviewed by Darin Adler.
3268
3269         Added getPropertyNames to the MethodTable, changed all the virtual 
3270         implementations of getPropertyNames to static ones, and replaced 
3271         all call sites with corresponding lookups in the MethodTable.
3272
3273         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
3274         (WebKit::NPJSObject::enumerate):
3275
3276 2011-11-03  Anders Carlsson  <andersca@apple.com>
3277
3278         Get rid of NetscapePlugin::m_clipRectInWindowCoordinates
3279         https://bugs.webkit.org/show_bug.cgi?id=71521
3280
3281         Reviewed by Dan Bernstein.
3282
3283         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
3284         (WebKit::NetscapePlugin::geometryDidChange):
3285         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
3286
3287 2011-11-03  Anders Carlsson  <andersca@apple.com>
3288
3289         Use convertToRootView(IntPoint()) instead of m_frameRectInWindowCoordinates.location() where possible
3290         https://bugs.webkit.org/show_bug.cgi?id=71520
3291
3292         Reviewed by Dan Bernstein.
3293
3294         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
3295         (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate):
3296         (WebKit::NetscapePlugin::platformPaint):
3297         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
3298         (WebKit::NetscapePlugin::platformHandleMouseEvent):
3299         (WebKit::NetscapePlugin::platformHandleWheelEvent):
3300         (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
3301         (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
3302
3303 2011-11-03  Anders Carlsson  <andersca@apple.com>
3304
3305         Add NetscapePlugin::convertToRootView
3306         https://bugs.webkit.org/show_bug.cgi?id=71519
3307
3308         Reviewed by Darin Adler.
3309
3310         Yet another step towards eliminating uses of m_frameRectInWindowCoordinates.
3311
3312         Also, use the "root view" terminology, since that's really what we mean here.
3313
3314         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
3315         (WebKit::NetscapePlugin::callSetWindow):
3316         Use convertToRootView to get the plug-in location and clip rect in root view coordinates.
3317
3318         (WebKit::NetscapePlugin::convertToRootView):
3319         Apply the m_pluginToRootViewTransform.mapPoint transform.
3320
3321         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
3322         Add convertToRootView.
3323
3324 2011-11-03  Anders Carlsson  <andersca@apple.com>
3325
3326         Move plug-in size and backing store checks to PluginProxy::updateBackingStore
3327         https://bugs.webkit.org/show_bug.cgi?id=71508
3328
3329         Reviewed by Darin Adler.
3330
3331         * WebProcess/Plugins/PluginProxy.cpp:
3332         (WebKit::PluginProxy::geometryDidChange):
3333         Remove code to send back an empty backing store if the plug-in size is empty
3334         or doesn't need a backing store. This check is now done...
3335
3336         (WebKit::PluginProxy::updateBackingStore):
3337         ...here.
3338
3339 2011-11-03  Anders Carlsson  <andersca@apple.com>
3340
3341         Get rid of PluginControllerProxy::m_frameRectInWindowCoordinates
3342         https://bugs.webkit.org/show_bug.cgi?id=71506
3343
3344         Reviewed by Darin Adler.
3345
3346         * PluginProcess/PluginControllerProxy.cpp:
3347         (WebKit::PluginControllerProxy::geometryDidChange):
3348         This no longer needs to take the frame rect in window coordinates.
3349
3350         * PluginProcess/PluginControllerProxy.h:
3351         * PluginProcess/PluginControllerProxy.messages.in:
3352         Remove frameRectInWindowCoordinates from the GeometryDidChange message.
3353
3354         * WebProcess/Plugins/PluginProxy.cpp:
3355         (WebKit::PluginProxy::geometryDidChange):
3356         Don't pass frameRectInWindowCoordinates when sending GeometryDidChange.
3357
3358 2011-11-03  Anders Carlsson  <andersca@apple.com>
3359
3360         Get rid of Plugin::wantsWindowRelativeCoordinates()
3361         https://bugs.webkit.org/show_bug.cgi?id=71504
3362
3363         Reviewed by Darin Adler.
3364
3365         Since all Plugin subclasses now return false for wantsWindowRelativeCoordinates,
3366         we can go ahead and remove it.
3367
3368         * PluginProcess/PluginControllerProxy.cpp:
3369         (WebKit::PluginControllerProxy::paint):
3370         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
3371         (WebKit::NetscapePlugin::snapshot):
3372         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
3373         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
3374         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
3375         * WebProcess/Plugins/Plugin.h:
3376         * WebProcess/Plugins/PluginProxy.cpp:
3377         * WebProcess/Plugins/PluginProxy.h:
3378         * WebProcess/Plugins/PluginView.cpp:
3379         (WebKit::PluginView::paint):
3380
3381 2011-11-03  Anders Carlsson  <andersca@apple.com>
3382
3383         NetscapePlugin::wantsWindowRelativeCoordinates should return false for all ports
3384         https://bugs.webkit.org/show_bug.cgi?id=71501
3385
3386         Reviewed by Darin Adler.
3387
3388         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
3389         (WebKit::NetscapePlugin::wantsWindowRelativeCoordinates):
3390         Return false.
3391
3392         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
3393         (WebKit::NetscapePlugin::platformGeometryDidChange):
3394         Use m_pluginSize instead of m_frameRectInWindowCoordinates.size().
3395
3396         (WebKit::NetscapePlugin::platformPaint):
3397         No need to translate back and forth between window and plug-in relative coordinates anymore.
3398
3399 2011-11-03  Darin Adler  <darin@apple.com>
3400
3401         Change remaining callers of releaseRef to call leakRef
3402         https://bugs.webkit.org/show_bug.cgi?id=71422
3403
3404         Reviewed by Darin Fisher.
3405
3406         * Platform/mac/ModuleMac.mm:
3407         (WebKit::Module::load):
3408         * Shared/API/c/WKArray.cpp:
3409         (WKArrayCreate):
3410         * Shared/API/c/WKData.cpp:
3411         (WKDataCreate):
3412         * Shared/API/c/WKDictionary.cpp:
3413         (WKDictionaryCopyKeys):
3414         * Shared/API/c/WKGeometry.cpp:
3415         (WKPointCreate):
3416         (WKSizeCreate):
3417         (WKRectCreate):
3418         * Shared/API/c/WKMutableArray.cpp:
3419         (WKMutableArrayCreate):
3420         * Shared/API/c/WKMutableDictionary.cpp:
3421         (WKMutableDictionaryCreate):
3422         * Shared/API/c/WKNumber.cpp:
3423         (WKBooleanCreate):
3424         (WKDoubleCreate):
3425         (WKUInt64Create):
3426         * Shared/API/c/WKSharedAPICast.h:
3427         (WebKit::toCopiedAPI):
3428         (WebKit::toCopiedURLAPI):
3429         * Shared/API/c/cf/WKErrorCF.cpp:
3430         (WKErrorCreateWithCFError):
3431         * Shared/API/c/cf/WKURLRequestCF.cpp:
3432         (WKURLRequestCreateWithCFURLRequest):
3433         * Shared/API/c/cf/WKURLResponseCF.cpp:
3434         (WKURLResponseCreateWithCFURLResponse):
3435         * Shared/API/c/mac/WKURLRequestNS.mm:
3436         (WKURLRequestCreateWithNSURLRequest):
3437         * Shared/API/c/mac/WKURLResponseNS.mm:
3438         (WKURLResponseCreateWithNSURLResponse):
3439         * Shared/cf/ArgumentCodersCF.cpp:
3440         (CoreIPC::decode):
3441         * UIProcess/API/C/WKBackForwardList.cpp:
3442         (WKBackForwardListCopyBackListWithLimit):
3443         (WKBackForwardListCopyForwardListWithLimit):
3444         * UIProcess/API/C/WKContext.cpp:
3445         (WKContextCreate):
3446         (WKContextCreateWithInjectedBundlePath):
3447         * UIProcess/API/C/WKCredential.cpp:
3448         (WKCredentialCreate):
3449         (WKCredentialCreateWithCertificateInfo):
3450         * UIProcess/API/C/WKDatabaseManager.cpp:
3451         (WKDatabaseManagerGetOriginKey):
3452         (WKDatabaseManagerGetOriginQuotaKey):
3453         (WKDatabaseManagerGetOriginUsageKey):
3454         (WKDatabaseManagerGetDatabaseDetailsKey):
3455         (WKDatabaseManagerGetDatabaseDetailsNameKey):
3456         (WKDatabaseManagerGetDatabaseDetailsDisplayNameKey):
3457         (WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey):
3458         (WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey):
3459         * UIProcess/API/C/WKFrame.cpp:
3460         (WKFrameCopyChildFrames):
3461         * UIProcess/API/C/WKGeolocationPosition.cpp:
3462         (WKGeolocationPositionCreate):
3463         * UIProcess/API/C/WKGrammarDetail.cpp:
3464         (WKGrammarDetailCreate):
3465         * UIProcess/API/C/WKPage.cpp:
3466         (WKPageGetSessionHistoryURLValueType):
3467         (WKPageCopySessionState):
3468         * UIProcess/API/C/WKPreferences.cpp:
3469         (WKPreferencesCreateWithIdentifier):
3470         * UIProcess/API/C/win/WKView.cpp:
3471         (WKViewCreate):
3472         * UIProcess/win/WebUndoClient.cpp:
3473         (WebKit::WebUndoClient::registerEditCommand):
3474         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
3475         (WKBundleFrameCopyChildFrames):
3476         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
3477         (WKBundleNodeHandleCreate):
3478         (WKBundleNodeHandleCopyDocument):
3479         (WKBundleNodeHandleCopyHTMLTableCellElementCellAbove):
3480         (WKBundleNodeHandleCopyDocumentFrame):
3481         (WKBundleNodeHandleCopyHTMLFrameElementContentFrame):
3482         (WKBundleNodeHandleCopyHTMLIFrameElementContentFrame):
3483         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
3484         (WKBundlePageCopyTrackedRepaintRects):
3485         * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
3486         (WKBundleScriptWorldCreateWorld):
3487         Use leakRef.
3488
3489 2011-11-02  Darin Adler  <darin@apple.com>
3490
3491         Change remaining callers of releaseRef to call leakRef
3492         https://bugs.webkit.org/show_bug.cgi?id=71422
3493
3494         Reviewed by Darin Fisher.
3495
3496         * Platform/mac/ModuleMac.mm:
3497         (WebKit::Module::load): Use leakRef.
3498         (WebKit::Module::unload): Use leakRef, and cast to void
3499         to avoid unused return value warning.
3500
3501         * Shared/API/c/WKArray.cpp:
3502         (WKArrayCreate):
3503         * Shared/API/c/WKData.cpp:
3504         (WKDataCreate):
3505         * Shared/API/c/WKDictionary.cpp:
3506         (WKDictionaryCopyKeys):
3507         * Shared/API/c/WKGeometry.cpp:
3508         (WKPointCreate):
3509         (WKSizeCreate):
3510         (WKRectCreate):
3511         * Shared/API/c/WKMutableArray.cpp:
3512         (WKMutableArrayCreate):
3513         * Shared/API/c/WKMutableDictionary.cpp:
3514         (WKMutableDictionaryCreate):
3515         * Shared/API/c/WKNumber.cpp:
3516         (WKBooleanCreate):
3517         (WKDoubleCreate):
3518         (WKUInt64Create):
3519         * Shared/API/c/WKSharedAPICast.h:
3520         (WebKit::toCopiedAPI):
3521         (WebKit::toCopiedURLAPI):
3522         * Shared/API/c/cf/WKErrorCF.cpp:
3523         (WKErrorCreateWithCFError):
3524         * Shared/API/c/cf/WKURLRequestCF.cpp:
3525         (WKURLRequestCreateWithCFURLRequest):
3526         * Shared/API/c/cf/WKURLResponseCF.cpp:
3527         (WKURLResponseCreateWithCFURLResponse):
3528         * Shared/API/c/mac/WKURLRequestNS.mm:
3529         (WKURLRequestCreateWithNSURLRequest):
3530         * Shared/API/c/mac/WKURLResponseNS.mm:
3531         (WKURLResponseCreateWithNSURLResponse):
3532         * Shared/cf/ArgumentCodersCF.cpp:
3533         (CoreIPC::decode):
3534         * UIProcess/API/C/WKBackForwardList.cpp:
3535         (WKBackForwardListCopyBackListWithLimit):
3536         (WKBackForwardListCopyForwardListWithLimit):
3537         * UIProcess/API/C/WKContext.cpp:
3538         (WKContextCreate):
3539         (WKContextCreateWithInjectedBundlePath):
3540         * UIProcess/API/C/WKCredential.cpp:
3541         (WKCredentialCreate):
3542         (WKCredentialCreateWithCertificateInfo):
3543         * UIProcess/API/C/WKDatabaseManager.cpp:
3544         (WKDatabaseManagerGetOriginKey):
3545         (WKDatabaseManagerGetOriginQuotaKey):
3546         (WKDatabaseManagerGetOriginUsageKey):
3547         (WKDatabaseManagerGetDatabaseDetailsKey):
3548         (WKDatabaseManagerGetDatabaseDetailsNameKey):
3549         (WKDatabaseManagerGetDatabaseDetailsDisplayNameKey):
3550         (WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey):
3551         (WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey):
3552         * UIProcess/API/C/WKFrame.cpp:
3553         (WKFrameCopyChildFrames):
3554         * UIProcess/API/C/WKGeolocationPosition.cpp:
3555         (WKGeolocationPositionCreate):
3556         * UIProcess/API/C/WKGrammarDetail.cpp:
3557         (WKGrammarDetailCreate):
3558         * UIProcess/API/C/WKPage.cpp:
3559         (WKPageGetSessionHistoryURLValueType):
3560         (WKPageCopySessionState):
3561         * UIProcess/API/C/WKPreferences.cpp:
3562         (WKPreferencesCreateWithIdentifier):
3563         * UIProcess/API/C/win/WKView.cpp:
3564         (WKViewCreate):
3565         * UIProcess/win/WebUndoClient.cpp:
3566         (WebKit::WebUndoClient::registerEditCommand):
3567         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
3568         (WKBundleFrameCopyChildFrames):
3569         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
3570         (WKBundleNodeHandleCreate):
3571         (WKBundleNodeHandleCopyDocument):
3572         (WKBundleNodeHandleCopyHTMLTableCellElementCellAbove):
3573         (WKBundleNodeHandleCopyDocumentFrame):
3574         (WKBundleNodeHandleCopyHTMLFrameElementContentFrame):
3575         (WKBundleNodeHandleCopyHTMLIFrameElementContentFrame):
3576         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
3577         (WKBundlePageCopyTrackedRepaintRects):
3578         * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
3579         (WKBundleScriptWorldCreateWorld):
3580         Use leakRef.
3581
3582 2011-11-03&nb