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