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