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