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