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