ValueProfile/PredictedType contains dead code, and doesn't recognize functions
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2011-11-10  Timothy Hatcher  <timothy@apple.com>
2
3         Make WKViews in NSPopovers render as they would in active windows.
4
5         The NSWindowDid{Become,Resign}KeyNotifications are not fired when NSPopovers
6         are shown or hidden since they share key with the parent window. So WKView
7         needs to update the active state during order on/off screen notifications.
8
9         https://webkit.org/b/68435
10
11         Reviewed by John Sullivan.
12
13         * UIProcess/API/mac/WKView.mm:
14         (-[WKView _windowDidOrderOffScreen:]): Call viewStateDidChange with WebPageProxy::ViewWindowIsActive.
15         (-[WKView _windowDidOrderOnScreen:]): Ditto.
16
17 2011-11-10  Anders Carlsson  <andersca@apple.com>
18
19         Add a simple content layer to TiledCoreAnimationDrawingArea
20         https://bugs.webkit.org/show_bug.cgi?id=72044
21
22         Reviewed by Darin Adler.
23
24         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
25         Add a content layer member variable.
26
27         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
28         (-[WKContentLayer _initWithWebPage:WebKit::]):
29         Add initializer.
30
31         (-[WKContentLayer drawInContext:]):
32         Lay out and draw the web page.
33
34         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
35         Add the content layer as a sublayer of the root layer.
36
37         (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay):
38         (WebKit::TiledCoreAnimationDrawingArea::scroll):
39         Tell the content layer to paint.
40
41         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
42         Resize the content layer as well.
43
44 2011-11-10  Anders Carlsson  <andersca@apple.com>
45
46         The WKView layer hosting subview needs to be flipped
47         https://bugs.webkit.org/show_bug.cgi?id=72042
48
49         Reviewed by Darin Adler.
50
51         In order to match the Core Animation layer hierarchy, the layer hosting WKView
52         subview needs to be flipped.
53
54         * UIProcess/API/mac/WKView.mm:
55         (-[WKFlippedView isFlipped]):
56         Add a NSView subview whose sole purpose is to be flipped.
57
58         (-[WKView _enterAcceleratedCompositingMode:]):
59         Create a WKFlippedView instead of a regular NSView.
60
61 2011-11-10  Balazs Kelemen  <kbalazs@webkit.org>
62
63         [Qt] X11 plugins need to be reworked for Qt5
64         https://bugs.webkit.org/show_bug.cgi?id=70023
65
66         Reviewed by Simon Hausmann.
67
68         * Target.pri:
69         * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
70         (WebKit::PluginInfoStore::pluginsDirectories):
71         Kill the last dependency from the WebKit1 plugin system.
72         This is necessary because currently we don't build the WebKit1
73         plugin code. The function is equivalent with the XP_UNIX part of
74         PluginDatabase::defaultPluginDirectories.
75
76         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
77         (WebKit::NPN_GetValue):
78         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
79         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
80         (WebKit::getPluginDisplay):
81         (WebKit::x11Screen):
82         (WebKit::displayDepth):
83         (WebKit::rootWindowID):
84         (WebKit::NetscapePlugin::x11HostDisplay):
85         (WebKit::NetscapePlugin::platformPostInitialize):
86         (WebKit::NetscapePlugin::platformDestroy):
87         (WebKit::NetscapePlugin::platformGeometryDidChange):
88         (WebKit::NetscapePlugin::platformPaint):
89         (WebKit::initializeXEvent):
90         Rework plugin initialization and drawing model.
91
92 2011-11-10  Martin Robinson  <mrobinson@igalia.com>
93
94         [GTK] [WebKit2] Fix remaining gtkdoc errors
95         https://bugs.webkit.org/show_bug.cgi?id=71990
96
97         Reviewed by Philippe Normand.
98
99         * UIProcess/API/gtk/WebKitWebView.cpp: Update add the phrase "property" to
100         references to properties, because the gtkdoc stylesheet does not differeniate
101         between properties and signals. Standardize the way we talk about property
102         notifications.
103         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add an include to silence 
104         warnings about GIR annotations.
105         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add the decorators the private section.
106
107 2011-11-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
108
109         [Qt] Clean up how singe / double taps are handled
110         https://bugs.webkit.org/show_bug.cgi?id=72024
111
112         Reviewed by Simon Hausmann.
113
114         Move all decision making to the QtWebPageProxy.
115
116         * UIProcess/qt/QtTapGestureRecognizer.cpp:
117         (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
118         (WebKit::QtTapGestureRecognizer::recognize):
119         (WebKit::QtTapGestureRecognizer::tapTimeout):
120         * UIProcess/qt/QtTapGestureRecognizer.h:
121         * UIProcess/qt/QtWebPageProxy.cpp:
122         (QtWebPageProxy::QtWebPageProxy):
123         (QtWebPageProxy::handleSingleTapEvent):
124         (QtWebPageProxy::handleDoubleTapEvent):
125         * UIProcess/qt/QtWebPageProxy.h:
126
127 2011-11-10  Simon Hausmann  <simon.hausmann@nokia.com>
128
129         [Qt] Clean up build system
130
131         Reviewed by Tor Arne Vestbø.
132
133         Now that we use whole-archive linking we can fold the files that contain exported
134         symbols back into the WebKit2 static library.
135
136         * Target.pri: Fold in sources from WebKit2.pri.
137         * WebKit2.pri: Removed.
138
139 2011-11-10  Alexis Menard  <alexis.menard@openbossa.org>
140
141         [Qt] Merge QTouchWebView and QDesktopWebView into one class
142         https://bugs.webkit.org/show_bug.cgi?id=71355
143
144         Reviewed by Kenneth Rohde Christiansen.
145
146         Merge QTouchWebView and QDesktopWebView into one class called
147         QQuickWebView and its attached page QQuickWebPage. You can switch to the
148         traditional desktop use case with the private header. Also now on desktop
149         platforms AC is turn on by default. I also merged our two
150         subclasses of QtViewInterface into one as the split doesn't make
151         that much sense anymore. In the future we want to be able to enable the
152         traditional desktop use case depending the platform the code is running.
153         API tests and QML tests have been updated.
154
155         * Target.pri:
156         * UIProcess/API/qt/WKView.h:
157         * UIProcess/API/qt/qbasewebview.cpp: Removed.
158         * UIProcess/API/qt/qbasewebview_p.h: Removed.
159         * UIProcess/API/qt/qdesktopwebview.cpp: Removed.
160         * UIProcess/API/qt/qdesktopwebview.h: Removed.
161         * UIProcess/API/qt/qdesktopwebview_p.h: Removed.
162         * UIProcess/API/qt/qquickwebpage.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qtouchwebpage.cpp.
163         (QQuickWebPage::QQuickWebPage):
164         (QQuickWebPage::~QQuickWebPage):
165         (QQuickWebPage::keyPressEvent):
166         (QQuickWebPage::keyReleaseEvent):
167         (QQuickWebPage::inputMethodEvent):
168         (QQuickWebPage::focusInEvent):
169         (QQuickWebPage::focusOutEvent):
170         (QQuickWebPage::mousePressEvent):
171         (QQuickWebPage::mouseMoveEvent):
172         (QQuickWebPage::mouseReleaseEvent):
173         (QQuickWebPage::mouseDoubleClickEvent):
174         (QQuickWebPage::wheelEvent):
175         (QQuickWebPage::hoverEnterEvent):
176         (QQuickWebPage::hoverMoveEvent):
177         (QQuickWebPage::hoverLeaveEvent):
178         (QQuickWebPage::dragMoveEvent):
179         (QQuickWebPage::dragEnterEvent):
180         (QQuickWebPage::dragLeaveEvent):
181         (QQuickWebPage::dropEvent):
182         (QQuickWebPage::geometryChanged):
183         (QQuickWebPage::event):
184         (QQuickWebPage::touchEvent):
185         (QQuickWebPage::itemChange):
186         (QQuickWebPagePrivate::QQuickWebPagePrivate):
187         (QQuickWebPagePrivate::initializeSceneGraphConnections):
188         (QQuickWebPagePrivate::setPageProxy):
189         (computeEffectiveOpacity):
190         (QQuickWebPagePrivate::paintToCurrentGLContext):
191         (QQuickWebPagePrivate::_q_onAfterSceneRender):
192         (QQuickWebPagePrivate::_q_onSceneGraphInitialized):
193         * UIProcess/API/qt/qquickwebpage.h: Renamed from Source/WebKit2/UIProcess/API/qt/qtouchwebpage.h.
194         * UIProcess/API/qt/qquickwebpage_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qtouchwebpage_p.h.
195         * UIProcess/API/qt/qquickwebview.cpp: Added.
196         (QQuickWebViewPrivate::QQuickWebViewPrivate):
197         (QQuickWebViewPrivate::enableMouseEvents):
198         (QQuickWebViewPrivate::disableMouseEvents):
199         (QQuickWebViewPrivate::initialize):
200         (QQuickWebViewPrivate::initializeDesktop):
201         (QQuickWebViewPrivate::initializeTouch):
202         (QQuickWebViewPrivate::loadDidCommit):
203         (QQuickWebViewPrivate::contentSizeChanged):
204         (QQuickWebViewPrivate::scrollPositionRequested):
205         (QQuickWebViewPrivate::_q_viewportUpdated):
206         (QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged):
207         (QQuickWebViewPrivate::_q_onVisibleChanged):
208         (QQuickWebViewPrivate::updateViewportSize):
209         (QQuickWebViewPrivate::updateViewportConstraints):
210         (QQuickWebViewPrivate::didChangeViewportProperties):
211         (QQuickWebViewPrivate::runJavaScriptAlert):
212         (QQuickWebViewPrivate::runJavaScriptConfirm):
213         (QQuickWebViewPrivate::runJavaScriptPrompt):
214         (QQuickWebViewPrivate::chooseFiles):
215         (QQuickWebViewPrivate::_q_onOpenPanelFilesSelected):
216         (QQuickWebViewPrivate::_q_onOpenPanelFinished):
217         (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
218         (toPolicyAction):
219         (hasMetaMethod):
220         (QQuickWebViewPrivate::navigationPolicyForURL):
221         (QQuickWebViewPrivate::setPageProxy):
222         (QQuickWebView::QQuickWebView):
223         (QQuickWebView::~QQuickWebView):
224         (QQuickWebView::page):
225         (QQuickWebView::load):
226         (QQuickWebView::postMessage):
227         (QQuickWebView::url):
228         (QQuickWebView::loadProgress):
229         (QQuickWebView::title):
230         (QQuickWebView::navigationController):
231         (QQuickWebView::preferences):
232         (QQuickWebView::geometryChanged):
233         (QQuickWebView::touchEvent):
234         (QQuickWebView::pageRef):
235         * UIProcess/API/qt/qquickwebview.h: Renamed from Source/WebKit2/UIProcess/API/qt/qbasewebview.h.
236         * UIProcess/API/qt/qquickwebview_p.h: Added.
237         * UIProcess/API/qt/qtouchwebview.cpp: Removed.
238         * UIProcess/API/qt/qtouchwebview.h: Removed.
239         * UIProcess/API/qt/qtouchwebview_p.h: Removed.
240         * UIProcess/API/qt/tests/commonviewtests/commonviewtests.pro: Removed.
241         * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp: Removed.
242         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp: Removed.
243         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h: Removed.
244         * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp: Removed.
245         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_download.qml:
246         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml:
247         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadFail.qml:
248         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgress.qml:
249         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgressSignal.qml:
250         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadZeroSizeView.qml:
251         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_messaging.qml:
252         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml:
253         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml:
254         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml:
255         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml:
256         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml:
257         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml:
258         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml:
259         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml:
260         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml:
261         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml:
262         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
263         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
264         (DesktopWebView::DesktopWebView):
265         (main):
266         * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qdesktopwebview/qdesktopwebview.pro.
267         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: Added.
268         (tst_QQuickWebView::tst_QQuickWebView):
269         (tst_QQuickWebView::init):
270         (tst_QQuickWebView::cleanup):
271         (tst_QQuickWebView::webView):
272         (tst_QQuickWebView::accessPage):
273         (tst_QQuickWebView::navigationStatusAtStartup):
274         (LoadStartedCatcher::LoadStartedCatcher):
275         (LoadStartedCatcher::onLoadStarted):
276         (tst_QQuickWebView::stopEnabledAfterLoadStarted):
277         (tst_QQuickWebView::baseUrl):
278         (tst_QQuickWebView::loadEmptyUrl):
279         (tst_QQuickWebView::loadEmptyPageViewVisible):
280         (tst_QQuickWebView::loadEmptyPageViewHidden):
281         (tst_QQuickWebView::loadNonexistentFileUrl):
282         (tst_QQuickWebView::backAndForward):
283         (tst_QQuickWebView::reload):
284         (tst_QQuickWebView::stop):
285         (tst_QQuickWebView::loadProgress):
286         (tst_QQuickWebView::show):
287         * UIProcess/API/qt/tests/qtouchwebview/qtouchwebview.pro: Removed.
288         * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp: Removed.
289         * UIProcess/API/qt/tests/testwindow.h:
290         * UIProcess/TiledDrawingAreaProxy.h:
291         * UIProcess/qt/QtGestureRecognizer.cpp:
292         (WebKit::QtGestureRecognizer::QtGestureRecognizer):
293         (WebKit::QtGestureRecognizer::setViewportInteractionEngine):
294         * UIProcess/qt/QtGestureRecognizer.h:
295         * UIProcess/qt/QtPanGestureRecognizer.cpp:
296         (WebKit::QtPanGestureRecognizer::setViewportInteractionEngine):
297         (WebKit::QtPanGestureRecognizer::recognize):
298         * UIProcess/qt/QtPanGestureRecognizer.h:
299         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
300         (WebKit::QtPinchGestureRecognizer::recognize):
301         (WebKit::QtPinchGestureRecognizer::setViewportInteractionEngine):
302         * UIProcess/qt/QtPinchGestureRecognizer.h:
303         * UIProcess/qt/QtTouchViewInterface.cpp: Removed.
304         * UIProcess/qt/QtTouchViewInterface.h: Removed.
305         * UIProcess/qt/QtViewInterface.cpp: Added.
306         (WebKit::QtViewInterface::QtViewInterface):
307         (WebKit::QtViewInterface::didFindZoomableArea):
308         (WebKit::QtViewInterface::sceneGraphUpdateQueue):
309         (WebKit::QtViewInterface::setViewNeedsDisplay):
310         (WebKit::QtViewInterface::drawingAreaSize):
311         (WebKit::QtViewInterface::contentSizeChanged):
312         (WebKit::QtViewInterface::scrollPositionRequested):
313         (WebKit::QtViewInterface::isActive):
314         (WebKit::QtViewInterface::hasFocus):
315         (WebKit::QtViewInterface::isVisible):
316         (WebKit::QtViewInterface::startDrag):
317         (WebKit::QtViewInterface::didChangeViewportProperties):
318         (WebKit::QtViewInterface::didChangeUrl):
319         (WebKit::QtViewInterface::didChangeTitle):
320         (WebKit::QtViewInterface::didChangeToolTip):
321         (WebKit::QtViewInterface::didChangeStatusText):
322         (WebKit::QtViewInterface::didChangeCursor):
323         (WebKit::QtViewInterface::loadDidBegin):
324         (WebKit::QtViewInterface::loadDidCommit):
325         (WebKit::QtViewInterface::loadDidSucceed):
326         (WebKit::QtViewInterface::loadDidFail):
327         (WebKit::QtViewInterface::didChangeLoadProgress):
328         (WebKit::QtViewInterface::didMouseMoveOverElement):
329         (WebKit::QtViewInterface::showContextMenu):
330         (WebKit::QtViewInterface::hideContextMenu):
331         (WebKit::QtViewInterface::runJavaScriptAlert):
332         (WebKit::QtViewInterface::runJavaScriptConfirm):
333         (WebKit::QtViewInterface::runJavaScriptPrompt):
334         (WebKit::QtViewInterface::processDidCrash):
335         (WebKit::QtViewInterface::didRelaunchProcess):
336         (WebKit::QtViewInterface::engine):
337         (WebKit::QtViewInterface::downloadRequested):
338         (WebKit::QtViewInterface::chooseFiles):
339         * UIProcess/qt/QtViewInterface.h:
340         * UIProcess/qt/QtWebPageProxy.h:
341         (QtWebPageProxy::setViewportInteractionEngine):
342         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
343         * WebKit2.pri:
344
345 2011-11-10  Carlos Garcia Campos  <cgarcia@igalia.com>
346
347         Unreviewed. Fix make distcheck build.
348
349         * GNUmakefile.am: Fix typos in gtk-doc files and scripts.
350
351 2011-11-10  Simon Hausmann  <simon.hausmann@nokia.com>
352
353         Unreviewed Mac build fix: Remove TapAndHold gesture type.
354
355         It broke the build because it's unhandled. Remove it since it's not
356         supported at the moment anyway. (looks like an accidental addition?)
357
358         * Shared/WebEvent.h:
359         * UIProcess/qt/QtTapGestureRecognizer.cpp:
360         (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
361
362 2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
363
364         [Qt] Enable exports and constructor functions in static libs
365
366         Reviewed by Tor Arne Vestbø.
367
368         * WebProcess/WebPage/qt/WebPageQt.cpp:
369         (WebKit::WebPage::platformInitialize): Remove unnecessary manual Qt resource
370         initialization.
371
372 2011-11-10  Zeno Albisser  <zeno.albisser@nokia.com>
373
374         [Qt][WK2] Add Tap Gesture recognition to UIProcess
375         https://bugs.webkit.org/show_bug.cgi?id=71841
376
377         Add a Tap gesture recognizer that delivers GestureSingleTap
378         and GestureTapAndHold events through the WebPageProxy.
379         Add a GestureTapAndHold to WebEvent.
380         Add a DoubleTap gesture for zooming in and out.
381
382         This patch is based on work of Benjamin Poulain.
383
384         Reviewed by Kenneth Rohde Christiansen.
385
386         * Shared/WebEvent.h:
387         * Target.pri:
388         * UIProcess/qt/QtTapGestureRecognizer.cpp: Added.
389         (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
390         (WebKit::QtTapGestureRecognizer::setWebPageProxy):
391         (WebKit::QtTapGestureRecognizer::recognize):
392         (WebKit::QtTapGestureRecognizer::tapTimeout):
393         (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
394         (WebKit::QtTapGestureRecognizer::reset):
395         (WebKit::QtTapGestureRecognizer::timerEvent):
396         * UIProcess/qt/QtTapGestureRecognizer.h: Added.
397         * UIProcess/qt/QtWebPageProxy.cpp:
398         (QtWebPageProxy::QtWebPageProxy):
399         (QtWebPageProxy::processDidCrash):
400         (QtWebPageProxy::doneWithTouchEvent):
401         * UIProcess/qt/QtWebPageProxy.h:
402
403 2011-11-09  Shinya Kawanaka  <shinyak@google.com>
404
405         Internals.markerRangeForNode should be able to take markers by specifying a marker type.
406         https://bugs.webkit.org/show_bug.cgi?id=71792
407
408         Reviewed by Hajime Morita.
409
410         * win/WebKit2.def: Exposed necessary references.
411         * win/WebKit2CFLite.def: ditto.
412
413 2011-10-26  Martin Robinson  <mrobinson@igalia.com>
414
415         [GTK] [WebKit] Replace the gtkdoc autools magic with something more flexible
416         https://bugs.webkit.org/show_bug.cgi?id=70877
417
418         Reviewed by Philippe Normand.
419
420         Add a script that runs gtkdoc manually instead of using the autotools
421         magic. Remove now unused gtkdoc files.
422
423         * GNUmakefile.am: Remove references to removed gtkdoc files.
424         * UIProcess/API/gtk/docs/GNUmakefile.am: Removed.
425         * UIProcess/API/gtk/docs/build-gtkdoc: Added.
426         * UIProcess/API/gtk/docs/gtkdoc.py: Added.
427         * UIProcess/API/gtk/docs/version.xml.in: Removed.
428
429 2011-11-09  Alexey Proskuryakov  <ap@apple.com>
430
431         <rdar://problem/10423024> WebProcess doesn't use AuthBrokerAgent for proxy credentials
432         https://bugs.webkit.org/show_bug.cgi?id=71964
433
434         Reviewed by Darin Adler.
435
436         * WebProcess/com.apple.WebProcess.sb: Allow mach-lookup of com.apple.cfnetwork.AuthBrokerAgent.
437
438 2011-11-09  Anders Carlsson  <andersca@apple.com>
439
440         Element::boundsInWindowSpace should be Element::boundsInRootViewSpace
441         https://bugs.webkit.org/show_bug.cgi?id=71955
442
443         Reviewed by Sam Weinig.
444
445         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
446         (WebKit::InjectedBundleNodeHandle::elementBounds):
447         Call Element::boundsInRootViewSpace.
448
449 2011-11-09  Alexis Menard  <alexis.menard@openbossa.org>
450
451         WebGraphicsLayer behaves wrongly when no contentsScale is set.
452         https://bugs.webkit.org/show_bug.cgi?id=71959
453
454         Reviewed by Noam Rosenthal.
455
456         The contentsScale needs to get a default value just like
457         TiledBackingStore in case no value is explicitely set.
458
459         It is covered by existing tests.
460
461         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
462         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
463
464 2011-11-09  Mark Hahnenberg  <mhahnenberg@apple.com>
465
466         De-virtualize JSObject::getOwnPropertyDescriptor
467         https://bugs.webkit.org/show_bug.cgi?id=71523
468
469         Reviewed by Sam Weinig.
470
471         Added getOwnPropertyDescriptor to the MethodTable, changed all of the 
472         virtual versions of getOwnPropertyDescriptor to static ones, and 
473         changed all of the call sites to the corresponding lookup in the MethodTable.
474
475         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
476         (WebKit::JSNPObject::getOwnPropertyDescriptor):
477         * WebProcess/Plugins/Netscape/JSNPObject.h:
478
479 2011-11-09  Alexandru Chiculita  <achicu@adobe.com>
480
481         Fixing build on MacOSX SL after 71838
482         https://bugs.webkit.org/show_bug.cgi?id=71912
483
484         Reviewed by Anders Carlsson.
485
486         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
487         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
488
489 2011-11-09  Kenneth Rohde Christiansen  <kenneth@webkit.org>
490
491         [WebKit2] Prepare viewport meta handling for desktop usage
492         https://bugs.webkit.org/show_bug.cgi?id=71907
493
494         Reviewed by Simon Hausmann.
495
496         This is only used by Qt so far. Now we don't always layout pages
497         without the viewport meta tag, using 980 as the layout width, but
498         instead we use that value (it is a setting) as a minimum value, or
499         else we use the viewport width.
500
501         * UIProcess/API/qt/qtouchwebview.cpp:
502         (QTouchWebViewPrivate::updateViewportSize):
503         (QTouchWebViewPrivate::updateViewportConstraints):
504         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
505         (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
506         * WebProcess/WebPage/WebPage.cpp:
507         (WebKit::WebPage::setViewportSize):
508
509 2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
510
511         Unreviewed, rolling out r99701.
512         http://trac.webkit.org/changeset/99701
513
514         Breaks Qt mac build
515
516         * WebProcess/WebPage/qt/WebPageQt.cpp:
517         (initResources):
518         (WebKit::WebPage::platformInitialize):
519
520 2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
521
522         [Qt] Enable exports and constructor functions in static libs
523
524         Reviewed by Tor Arne Vestbø.
525
526         * WebProcess/WebPage/qt/WebPageQt.cpp:
527         (WebKit::WebPage::platformInitialize): Remove unnecessary manual Qt resource
528         initialization.
529
530 2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
531
532         [Qt] Fix geolocation enabled build.
533
534         Reviewed by Tor Arne Vestbø.
535
536         * Target.pri: Add QT += location to get the right module includes.
537         * UIProcess/qt/WebGeolocationProviderQt.cpp: Include the moc file with the right name (GeoLocation -> Geolocation)
538         * UIProcess/qt/WebGeolocationProviderQt.h: Removed the ENABLE(GEOLOCATION) guards, otherwise moc doesn't generate
539         code, because it can't interpret the ENABLE() macro.
540
541 2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
542
543         [Qt] Build system cleanup
544         https://bugs.webkit.org/show_bug.cgi?id=71815
545
546         Reviewed by Kenneth Rohde Christiansen.
547
548         * Target.pri: Removed duplicated sources that are compiled also into QtWebKit.so through api.pri.
549         * UIProcess/qt/WebGeolocationProviderQt.cpp: Include the moc file here, as it should only be compiled
550         if geolocation is enabled.
551         * UIProcess/qt/WebGeolocationProviderQt.h: Provide ENABLE(GEOLOCATION) guards around class definition.
552
553 2011-11-08  Simon Hausmann  <simon.hausmann@nokia.com>
554
555         [Qt] Replace use of QApplication with QGuiApplication
556         https://bugs.webkit.org/show_bug.cgi?id=71794
557
558         Reviewed by Andreas Kling.
559
560         * Platform/CoreIPC/unix/ConnectionUnix.cpp: Remove unnecessary QApplication inclusion.
561         * Platform/qt/RunLoopQt.cpp: Replace QApplication include with QCoreApplication.
562         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: Ditto.
563         * UIProcess/Launcher/qt/ThreadLauncherQt.cpp: Remove unnecessary QApplication inclusion.
564         * UIProcess/qt/QtWebPageProxy.cpp:
565         (QtWebPageProxy::handleMousePressEvent): Replace QApplication usage with QStyleHints.
566         (QtWebPageProxy::handleMouseDoubleClickEvent): Ditto.
567
568 2011-11-07  Adam Barth  <abarth@webkit.org>
569
570         Move static "policy" state from SecurityOrigin.cpp to SecurityPolicy.cpp
571         https://bugs.webkit.org/show_bug.cgi?id=71755
572
573         Reviewed by Eric Seidel.
574
575         * WebProcess/InjectedBundle/InjectedBundle.cpp:
576         (WebKit::InjectedBundle::addOriginAccessWhitelistEntry):
577         (WebKit::InjectedBundle::removeOriginAccessWhitelistEntry):
578         (WebKit::InjectedBundle::resetOriginAccessWhitelists):
579         * WebProcess/Plugins/PluginView.cpp:
580         (WebKit::PluginView::loadURL):
581
582 2011-11-08  Brent Fulgham  <bfulgham@webkit.org>
583
584         [WinCairo] Unreviewed build fix after r99613.
585
586         * win/WebKit2CFLite.def: Add missing export.
587
588 2011-11-08  Brent Fulgham  <bfulgham@webkit.org>
589
590         [WinCairo] Unreviewed build fix after r98624 and r99613.
591
592         * win/WebKit2CFLite.def: Add missing exports.
593
594 2011-11-08  Beth Dakin  <bdakin@apple.com>
595
596         https://bugs.webkit.org/show_bug.cgi?id=71856
597         WebKit should use new NSWindowDidChangeBackingPropertiesNotification instead of 
598         old NSWindowDidChangeResolutionNotification
599         -and corresponding-
600         <rdar://problem/10317253>
601
602         Reviewed by Tim Hatcher.
603
604         * UIProcess/API/mac/WKView.mm:
605         (-[WKView addWindowObserversForWindow:]):
606         (-[WKView removeWindowObservers]):
607
608         We have to check that the backing scale factor actually changed since this 
609         notification can also be used to signify other changes. 
610         (-[WKView _windowDidChangeBackingProperties:]):
611
612 2011-11-08  Anders Carlsson  <andersca@apple.com>
613
614         Add a basic layer hierarchy to the Core Animation drawing area
615         https://bugs.webkit.org/show_bug.cgi?id=71838
616
617         Reviewed by Sam Weinig.
618
619         * UIProcess/API/mac/WKView.mm:
620         (-[WKView drawRect:]):
621         Return early if we're using a tiled drawing area.
622
623         (-[WKView initWithFrame:contextRef:pageGroupRef:]):
624         If we're using a tiled drawing area, make the WKView layer backed and set its layer
625         to a simple CALayer with a white background and set the view's content redraw policy
626         to never to avoid ever calling drawRect.
627
628         * UIProcess/DrawingAreaProxy.h:
629         (WebKit::DrawingAreaProxy::didUpdateGeometry):
630         * UIProcess/DrawingAreaProxy.messages.in:
631         Add a new didUpdateGeometry message.
632
633         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
634         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
635         (WebKit::TiledCoreAnimationDrawingAreaProxy::TiledCoreAnimationDrawingAreaProxy):
636         Initialize m_isWaitingForDidUpdateGeometry.
637
638         (WebKit::TiledCoreAnimationDrawingAreaProxy::sizeDidChange):
639         Send an UpdateGeometry message to the web process and wait for a reply.
640
641         (WebKit::TiledCoreAnimationDrawingAreaProxy::enterAcceleratedCompositingMode):
642         Tell the web page proxy to enter accelerated compositing mode.
643
644         (WebKit::TiledCoreAnimationDrawingAreaProxy::exitAcceleratedCompositingMode):
645         Assert that this function is never called.
646
647         (WebKit::TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry):
648         Send another UpdateGeometry message if needed.
649
650         (WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry):
651         Add helper function to actually send the UpdateGeometry message.
652
653         * WebProcess/WebPage/DrawingArea.h:
654         (WebKit::DrawingArea::updateGeometry):
655         * WebProcess/WebPage/DrawingArea.messages.in:
656         Add UpdateGeometry message.
657
658         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
659         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
660         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
661         Create a red root layer and a remote layer client that hosts it.
662
663         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
664         Resize the root layer and tell the UI process that we've updated the geometry.
665
666 2011-11-08  Dan Bernstein  <mitz@apple.com>
667
668         <rdar://problem/10262225> Allow RenderView to have columns
669         https://bugs.webkit.org/show_bug.cgi?id=71840
670
671         * win/WebKit2.def: Export Page::setPagination() for WebCoreTestSupport.
672
673 2011-11-08  Jon Lee  <jonlee@apple.com>
674
675         [WK2] Expose acceptMIMETypes for file inputs
676         https://bugs.webkit.org/show_bug.cgi?id=71836
677         <rdar://problem/10407367>
678
679         Reviewed by Anders Carlsson.
680
681         * Shared/WebOpenPanelParameters.cpp:
682         (WebKit::WebOpenPanelParameters::acceptMIMETypes):
683         * Shared/WebOpenPanelParameters.h:
684         * UIProcess/API/C/WKOpenPanelParameters.cpp:
685         (WKOpenPanelParametersCopyAcceptedMIMETypes):
686         * UIProcess/API/C/WKOpenPanelParameters.h:
687
688 2011-11-08  Zan Dobersek  <zandobersek@gmail.com>
689
690         [WK2][GTK] The default database & local storage directory names should note they exist for Gtk port's needs
691         https://bugs.webkit.org/show_bug.cgi?id=71837
692
693         Reviewed by Martin Robinson.
694
695         Ensure that directories for databases and local storage are in a 'webkitgtk'
696         directory in current user's data directory, noting they originate from the Gtk port.
697
698         * UIProcess/gtk/WebContextGtk.cpp:
699         (WebKit::WebContext::platformDefaultDatabaseDirectory):
700         (WebKit::WebContext::platformDefaultLocalStorageDirectory):
701
702 2011-11-08  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
703
704         [Qt] Workaround some problems in QML API tests
705         https://bugs.webkit.org/show_bug.cgi?id=71818
706
707         Reviewed by Tor Arne Vestbø.
708
709         This commit workaround the issue of QML's QtTest crashing when we run tests after
710         "windowShown". We delay to the next run of the mainloop. This workaround is not
711         pretty but shouldn't affect the semantics of the tests. And we benefit more from
712         having working tests right now.
713
714         This patch also improves Download to: wait for the load before emitting click, and
715         properly identifying the "succeeded" signal of the downloadItem object.
716
717         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_download.qml:
718         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml:
719         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml:
720
721 2011-11-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>
722
723         Clean up QtViewportInteractionEngine
724
725         Reviewed by Simon Hausmann.
726
727         * UIProcess/qt/QtViewportInteractionEngine.cpp:
728         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
729         (WebKit::QtViewportInteractionEngine::setItemRectVisible):
730
731             Rename the method to make it more obvious what it does. Avoid implicit
732             conversion to/from QVariant.
733
734         (WebKit::QtViewportInteractionEngine::pagePositionRequest):
735         (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
736         (WebKit::QtViewportInteractionEngine::itemSizeChanged):
737
738             Only call this method on item size changes, and not for every interaction
739             with the viewport item. Before this change it was even being called during
740             animations.
741
742         * UIProcess/qt/QtViewportInteractionEngine.h:
743         (WebKit::QtViewportInteractionEngine::scaleAnimationValueChanged):
744
745             Rename to make it clean that this is called from the animator.
746
747 2011-11-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>
748
749         [Qt] Improve the animation time constant
750         https://bugs.webkit.org/show_bug.cgi?id=71790
751
752         Reviewed by Simon Hausmann.
753
754         Use 250 milliseconds instead of 400, which feels a lot more natural
755         and makes the mini browser feel more responsive.
756
757         * UIProcess/qt/QtViewportInteractionEngine.cpp:
758
759 2011-11-08  Alexis Menard  <alexis.menard@openbossa.org>
760
761         [Qt] Merge QtDesktopWebPageProxy and QtTouchWebPageProxy into QtWebPageProxy.
762         https://bugs.webkit.org/show_bug.cgi?id=71355
763
764         Reviewed by Simon Hausmann.
765
766         As we try to unify our public API offer we need to merge our double
767         WebPageProxy implementations first into a common class. That will help
768         to merge our TouchWebView and DesktopWebView views into one class later.
769         This commit just merge stuff around and doesn't contain any functional changes.
770
771         * Target.pri:
772         * UIProcess/API/qt/qdesktopwebview.cpp:
773         (QDesktopWebViewPrivate::init):
774         * UIProcess/API/qt/qtouchwebpage.cpp:
775         (QTouchWebPagePrivate::paintToCurrentGLContext):
776         * UIProcess/API/qt/qtouchwebpage.h:
777         * UIProcess/API/qt/qtouchwebpage_p.h:
778         * UIProcess/API/qt/qtouchwebview.cpp:
779         (QTouchWebViewPrivate::init):
780         (QTouchWebViewPrivate::_q_viewportUpdated):
781         (QTouchWebViewPrivate::_q_viewportTrajectoryVectorChanged):
782         * UIProcess/API/qt/qtouchwebview_p.h:
783         * UIProcess/qt/QtDesktopWebPageProxy.cpp: Removed.
784         * UIProcess/qt/QtDesktopWebPageProxy.h: Removed.
785         * UIProcess/qt/QtTouchWebPageProxy.cpp: Removed.
786         * UIProcess/qt/QtTouchWebPageProxy.h: Removed.
787         * UIProcess/qt/QtWebPageProxy.cpp:
788         (dragOperationToDropAction):
789         (QtWebPageProxy::QtWebPageProxy):
790         (QtWebPageProxy::handleEvent):
791         (QtWebPageProxy::handleMouseMoveEvent):
792         (QtWebPageProxy::handleMousePressEvent):
793         (QtWebPageProxy::handleMouseReleaseEvent):
794         (QtWebPageProxy::handleMouseDoubleClickEvent):
795         (QtWebPageProxy::handleWheelEvent):
796         (QtWebPageProxy::handleHoverLeaveEvent):
797         (QtWebPageProxy::handleHoverMoveEvent):
798         (QtWebPageProxy::handleDragEnterEvent):
799         (QtWebPageProxy::handleDragLeaveEvent):
800         (QtWebPageProxy::handleDragMoveEvent):
801         (QtWebPageProxy::handleDropEvent):
802         (QtWebPageProxy::timerEvent):
803         (QtWebPageProxy::processDidCrash):
804         (QtWebPageProxy::didReceiveDownloadResponse):
805         (QtWebPageProxy::paintContent):
806         (QtWebPageProxy::createDrawingAreaProxy):
807         (QtWebPageProxy::renderToCurrentGLContext):
808         (QtWebPageProxy::doneWithTouchEvent):
809         (QtWebPageProxy::setVisibleContentRectAndScale):
810         (QtWebPageProxy::setVisibleContentRectTrajectoryVector):
811         (QtWebPageProxy::touchEvent):
812         (QtWebPageProxy::findZoomableAreaForPoint):
813         * UIProcess/qt/QtWebPageProxy.h:
814
815 2011-11-08  Zan Dobersek  <zandobersek@gmail.com>
816
817         [WK2][GTK] Application cache directory is incorrectly set
818         https://bugs.webkit.org/show_bug.cgi?id=70680
819
820         Reviewed by Philippe Normand.
821
822         Correctly set application cache directory to be in current
823         user's default cache directory.
824
825         * UIProcess/gtk/WebContextGtk.cpp:
826         (WebKit::WebContext::applicationCacheDirectory):
827
828 2011-11-07  Emil A Eklund  <eae@chromium.org>
829
830         Revert platform and scrolling to ints
831         https://bugs.webkit.org/show_bug.cgi?id=71585
832
833         Reviewed by Eric Seidel.
834
835         Replace all uses of LayoutUnit and related types with ints in platform
836         and scrolling code.
837
838         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
839         (WebKit::BuiltInPDFView::invalidateScrollbarRect):
840         (WebKit::BuiltInPDFView::visibleHeight):
841         (WebKit::BuiltInPDFView::visibleWidth):
842         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
843
844 2011-11-07  Adam Barth  <abarth@webkit.org>
845
846         Move DomainRelaxationForbidden scheme registry to SchemeRegistry
847         https://bugs.webkit.org/show_bug.cgi?id=71750
848
849         Reviewed by Eric Seidel.
850
851         * WebProcess/WebProcess.cpp:
852         (WebKit::WebProcess::setDomainRelaxationForbiddenForURLScheme):
853
854 2011-11-07  Beth Dakin  <bdakin@apple.com>
855
856         https://bugs.webkit.org/show_bug.cgi?id=71490
857         Support uiStateTransitionProgress for scrollbars
858         -and corresponding-
859         <rdar://problem/9849612>
860
861         Reviewed by Sam Weinig.
862
863         Scrollbar::mouseUp() now takes a PlatformMouseEvent as a parameter.
864         * UIProcess/win/WebPopupMenuProxyWin.cpp:
865         (WebKit::WebPopupMenuProxyWin::onLButtonUp):
866         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
867         (WebKit::BuiltInPDFView::handleMouseEvent):
868
869 2011-11-07  Alexey Proskuryakov  <ap@apple.com>
870
871         The Full Keyboard Access preference should be read in the UI process
872         https://bugs.webkit.org/show_bug.cgi?id=71734
873         <rdar://problem/9237619>
874
875         Reviewed by Darin Adler.
876
877         This is consistent with how other global preferences (like language) are handled, and lets
878         us tighten up the sandbox a little.
879
880         * Shared/WebProcessCreationParameters.cpp:
881         (WebKit::WebProcessCreationParameters::encode):
882         (WebKit::WebProcessCreationParameters::decode):
883         * Shared/WebProcessCreationParameters.h:
884         Added fullKeyboardAccessEnabled, so that newly started processes have the right preference value.
885
886         * UIProcess/WebContext.h:
887         * UIProcess/WebContext.cpp:
888         (WebKit::WebContext::fullKeyboardAccessModeChanged): If preference changes while a web process
889         is already running, tell it.
890         (WebKit::WebContext::ensureWebProcess): Set parameters.fullKeyboardAccessEnabled from current
891         preference.
892
893         * UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::fullKeyboardAccessEnabled):
894         * UIProcess/mac/WebProcessProxyMac.mm: (WebKit::WebProcessProxy::fullKeyboardAccessEnabled):
895         * UIProcess/WebProcessProxy.h:
896         Proxy it to Objective-C code. WebProcessProxy is as good place to have the static function
897         as any. One day, we will make code more consistent with language and other global preferences.
898
899         * UIProcess/mac/WKFullKeyboardAccessWatcher.h: Copied from Source/WebKit2/WebProcess/mac/WKFullKeyboardAccessWatcher.h.
900         * UIProcess/mac/WKFullKeyboardAccessWatcher.mm: Copied from Source/WebKit2/WebProcess/mac/WKFullKeyboardAccessWatcher.mm.
901         * WebProcess/mac/WKFullKeyboardAccessWatcher.h: Removed.
902         * WebProcess/mac/WKFullKeyboardAccessWatcher.mm: Removed.
903         (-[WKFullKeyboardAccessWatcher retrieveKeyboardUIModeFromPreferences:]): Once retrieved,
904         push the preference value.
905
906         * WebKit2.xcodeproj/project.pbxproj: WKFullKeyboardAccessWatcher is now in UI process.
907
908         * WebProcess/WebProcess.h:
909         * WebProcess/WebProcess.cpp:
910         (WebKit::WebProcess::WebProcess):
911         (WebKit::WebProcess::fullKeyboardAccessModeChanged):
912         (WebKit::WebProcess::fullKeyboardAccessEnabled):
913         * WebProcess/mac/WebProcessMac.mm:
914         WebCprocess now holds the preference value in a mamber value, which UI process pushes
915         updates to.
916
917         * WebProcess/WebProcess.messages.in: Added a message for changes preference value.
918
919         * WebProcess/com.apple.WebProcess.sb: We no longer need read access to com.apple.universalaccess.plist.
920
921 2011-11-07  Anders Carlsson  <andersca@apple.com>
922
923         Add TiledCoreAnimationDrawingArea stub classes
924         https://bugs.webkit.org/show_bug.cgi?id=71729
925
926         Reviewed by Sam Weinig.
927
928         * Shared/DrawingAreaInfo.h:
929         * UIProcess/API/mac/WKView.mm:
930         (-[WKView _shouldUseTiledDrawingArea]):
931         (-[WKView WebKit::]):
932         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h.
933         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: Copied from Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp.
934         (WebKit::TiledCoreAnimationDrawingAreaProxy::create):
935         (WebKit::TiledCoreAnimationDrawingAreaProxy::TiledCoreAnimationDrawingAreaProxy):
936         (WebKit::TiledCoreAnimationDrawingAreaProxy::~TiledCoreAnimationDrawingAreaProxy):
937         (WebKit::TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange):
938         (WebKit::TiledCoreAnimationDrawingAreaProxy::sizeDidChange):
939         * WebKit2.xcodeproj/project.pbxproj:
940         * WebProcess/WebPage/DrawingArea.cpp:
941         (WebKit::DrawingArea::create):
942         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: Copied from Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp.
943         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: Copied from Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp.
944         (WebKit::TiledCoreAnimationDrawingArea::create):
945         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
946         (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
947         (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay):
948         (WebKit::TiledCoreAnimationDrawingArea::scroll):
949         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
950         (WebKit::TiledCoreAnimationDrawingArea::scheduleCompositingLayerSync):
951
952 2011-11-07  Anders Carlsson  <andersca@apple.com>
953
954         Follow-up build fix.
955
956         * WebProcess/WebPage/DrawingAreaImpl.h:
957
958 2011-11-07  Anders Carlsson  <andersca@apple.com>
959
960         Remove unused DrawingArea::syncCompositingLayers
961         https://bugs.webkit.org/show_bug.cgi?id=71717
962
963         Reviewed by John Sullivan.
964
965         * WebProcess/WebPage/DrawingArea.h:
966         * WebProcess/WebPage/DrawingAreaImpl.cpp:
967         * WebProcess/WebPage/TiledDrawingArea.h:
968
969 2011-11-07  Anders Carlsson  <andersca@apple.com>
970
971         Rename NetscapePlugin::wantsWindowRelativeNPWindowCoordinates to NetscapePlugin::wantsPluginRelativeNPWindowCoordinates
972         https://bugs.webkit.org/show_bug.cgi?id=71708
973
974         Reviewed by Sam Weinig.
975
976         The name wantsPluginRelativeNPWindowCoordinates is more clear than wantsWindowRelativeNPWindowCoordinates. Rename the functions
977         everywhere and, since the meaning is now inverted, invert the checks and return values.
978
979         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
980         (WebKit::NetscapePlugin::callSetWindow):
981         (WebKit::NetscapePlugin::geometryDidChange):
982         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
983         * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp:
984         (WebKit::NetscapePlugin::wantsPluginRelativeNPWindowCoordinates):
985         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
986         (WebKit::NetscapePlugin::wantsPluginRelativeNPWindowCoordinates):
987         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
988         (WebKit::NetscapePlugin::wantsPluginRelativeNPWindowCoordinates):
989         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
990         (WebKit::NetscapePlugin::wantsPluginRelativeNPWindowCoordinates):
991
992 2011-11-07  Anders Carlsson  <andersca@apple.com>
993
994         NetscapePlugin::wantsWindowRelativeNPWindowCoordinates should return false on Mac
995         https://bugs.webkit.org/show_bug.cgi?id=71707
996
997         Reviewed by Sam Weinig.
998
999         This changes the way the fake Carbon plug-in window is positioned, so that it's always the same size
1000         and location as the plug-in (relative to the screen).
1001
1002         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1003         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
1004         (WebKit::NetscapePlugin::platformGeometryDidChange):
1005         Call updateFakeWindowBounds.
1006
1007         (WebKit::NetscapePlugin::updateFakeWindowBounds):
1008         Convert the plug-in position to screen coordinates and set the window bounds to be the location and
1009         size of the plug-in, where the location is relative to the screen.
1010
1011         (WebKit::NetscapePlugin::wantsWindowRelativeNPWindowCoordinates):
1012         Return false.
1013
1014         (WebKit::NetscapePlugin::windowAndViewFramesChanged):
1015         Call updateFakeWindowBounds.
1016
1017 2011-11-07  Sam Weinig  <sam@webkit.org>
1018
1019         WKPage.h should be in PrivateHeaders.
1020
1021         Rubber-stamped by Anders Carlsson.
1022
1023         * WebKit2.xcodeproj/project.pbxproj:
1024         Mark WKPage.h private.
1025
1026 2011-11-07  Anders Carlsson  <andersca@apple.com>
1027
1028         Simplify NetscapePlugin::convertPoint and make it work (in theory) with transformed plug-ins
1029         https://bugs.webkit.org/show_bug.cgi?id=71699
1030
1031         Reviewed by Sam Weinig.
1032
1033         Add a getScreenTransform function which given a coordinate space returns a transform that converts a
1034         point from that coordinate space to the screen coordinate space. We then get the source -> screen transform
1035         and the destination -> screen transform. We invert the destination -> screen transform, multiply it with the
1036         source -> screen transform and use mapPoint to get a complete affine transform from the source to the destination space
1037         and use mapPoint to map the source point and return the destination point.
1038
1039         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1040         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
1041         (WebKit::NetscapePlugin::getScreenTransform):
1042         (WebKit::NetscapePlugin::convertPoint):
1043
1044         * WebProcess/Plugins/PluginView.cpp:
1045         (WebKit::PluginView::initializePlugin):
1046         Call windowAndViewFramesChanged before viewGeometryDidChange so that the window and view frames will be up to date by
1047         the time NPP_SetWindow is called in the plug-in.
1048
1049 2011-11-07  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1050
1051         [Qt] Put handling of gestures and their interaction in one place
1052         https://bugs.webkit.org/show_bug.cgi?id=71682
1053
1054         Reviewed by Simon Hausmann.
1055
1056         Before this patch, the interaction (ie. cancelling animations, events)
1057         was handled in the respective recognizers which then knew about each
1058         others.
1059
1060         * UIProcess/qt/QtGestureRecognizer.h:
1061         (WebKit::QtGestureRecognizer::isRecognized):
1062         * UIProcess/qt/QtPanGestureRecognizer.cpp:
1063         (WebKit::QtPanGestureRecognizer::recognize):
1064         * UIProcess/qt/QtPanGestureRecognizer.h:
1065         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
1066         (WebKit::QtPinchGestureRecognizer::recognize):
1067         * UIProcess/qt/QtPinchGestureRecognizer.h:
1068         * UIProcess/qt/QtTouchWebPageProxy.cpp:
1069         (QtTouchWebPageProxy::QtTouchWebPageProxy):
1070         (QtTouchWebPageProxy::doneWithTouchEvent):
1071         * UIProcess/qt/QtTouchWebPageProxy.h:
1072         * UIProcess/qt/QtViewportInteractionEngine.cpp:
1073         (WebKit::QtViewportInteractionEngine::pagePositionRequest):
1074         (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
1075         (WebKit::QtViewportInteractionEngine::scrollAnimationActive):
1076         (WebKit::QtViewportInteractionEngine::interruptScrollAnimation):
1077         (WebKit::QtViewportInteractionEngine::panGestureActive):
1078         (WebKit::QtViewportInteractionEngine::scaleAnimationActive):
1079         (WebKit::QtViewportInteractionEngine::interruptScaleAnimation):
1080         (WebKit::QtViewportInteractionEngine::pinchGestureActive):
1081         * UIProcess/qt/QtViewportInteractionEngine.h:
1082
1083 2011-11-07  Simon Hausmann  <simon.hausmann@nokia.com>
1084
1085         [Qt] Make it possible to include qdesktopwebview.h from apps
1086
1087         Reviewed by Tor Arne Vestbø.
1088
1089         * UIProcess/API/qt/qdesktopwebview.h: Don't include C API headers, forward
1090         declare the structs manually.
1091
1092 2011-11-07  Simon Hausmann  <simon.hausmann@nokia.com>
1093
1094         [Qt] Fix failing inspector tests after build system changes
1095         https://bugs.webkit.org/show_bug.cgi?id=71677
1096
1097         Reviewed by Tor Arne Vestbø.
1098
1099         Ensure symbols from the qt resource system are referenced
1100         from outside the static webcore library. One way of doing that is
1101         to initialize the resources right away, as explained in the documentation
1102         of th Qt resource system.
1103
1104         * WebProcess/WebPage/qt/WebPageQt.cpp:
1105         (initResources):
1106         (WebKit::WebPage::platformInitialize):
1107
1108 2011-11-03  Anders Carlsson  <andersca@apple.com>
1109
1110         Add NetscapePlugin::convertFromRootView
1111         https://bugs.webkit.org/show_bug.cgi?id=71526
1112
1113         Reviewed by Sam Weinig.
1114
1115         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1116         (WebKit::NetscapePlugin::convertFromRootView):
1117         New function that converts a point from root view coordinates to plug-in coordinates.
1118         Returns false if the conversion can't be done.
1119
1120         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1121         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
1122         (WebKit::fillInCocoaEventFromMouseEvent):
1123         (WebKit::initializeMouseEvent):
1124         (WebKit::NetscapePlugin::platformHandleMouseEvent):
1125         (WebKit::NetscapePlugin::platformHandleWheelEvent):
1126         (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
1127         (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
1128         Use convertFromRootView instead of subtracting m_frameRectInWindowCoordinates.location() from the
1129         event position (which is in root view coordinates).
1130
1131 2011-11-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1132
1133         [Qt] Refactor and clean up the qmake build system
1134
1135         The qmake build system has accumulated a bit of cruft and redundancy
1136         over time. There's also a fairly tight coupling between how to build
1137         the various targets, and _what_ to build, making it harder to add new
1138         rules or sources. This patch aims to elevate these issues somewhat.
1139
1140         This is a short-list of the changes:
1141
1142           * The rules for how to build targets are now mostly contained as
1143             prf-files in Tools/qmake/mkspecs/features. Using mkspecs also
1144             allows us to do pre- and post-processing of each project file,
1145             which helps to clean up the actual project files.
1146
1147           * Derived sources are no longer generated as a separate make-step
1148             but is part of each target's project file as a subdir. Makefile
1149             rules are used to ensure that we run make on the derived sources
1150             before running qmake on the actual target makefile. This makes
1151             it easier to keep a proper dependency between derived sources
1152             and the target.
1153
1154           * We use GNU make and the compiler to generate dependencies on
1155             UNIX-based systems running Qt 5. This allows us to lessen the
1156             need to run qmake, which should reduce compile time.
1157
1158           * WebKit2 is now build by default if building with Qt 5. It can
1159             be disabled by passing --no-webkit2 to build-webkit.
1160
1161         The result of these changes are hopefully a cleaner and easier
1162         build system to modify, and faster build times due to no longer
1163         running qmake on every single build. It's also a first step
1164         towards possibly generating the list of sources using another
1165         build system.
1166
1167         https://bugs.webkit.org/show_bug.cgi?id=71222
1168
1169         Reviewed by Simon Hausmann.
1170
1171         * DerivedSources.pri: Renamed from Source/WebKit2/DerivedSources.pro.
1172         * Target.pri: Copied from Source/WebKit2/WebKit2.pro.
1173         * UIProcess/API/qt/tests/tests.pri:
1174         * UIProcess/API/qt/tests/tests.pro: Removed.
1175         * WebKit2.pri:
1176         * WebKit2.pro:
1177         * WebKit2API.pri: Removed.
1178         * WebProcess.pro:
1179
1180 2011-11-04  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1181
1182         [Qt] Support programmatic scrolling with the QTouchWebView
1183
1184         Reviewed by Simon Hausmann.
1185
1186         As more code can be shared between the programmatic scrolling and the
1187         method for ensuring that the contents are within valid bounds, this
1188         patch includes a bit of refactoring as well.
1189
1190         * UIProcess/API/qt/qdesktopwebview_p.h:
1191         (QDesktopWebViewPrivate::scrollPositionRequested):
1192         * UIProcess/API/qt/qtouchwebview.cpp:
1193         (QTouchWebViewPrivate::scrollPositionRequested):
1194         * UIProcess/API/qt/qtouchwebview_p.h:
1195         * UIProcess/qt/QtTouchViewInterface.cpp:
1196         (WebKit::QtTouchViewInterface::scrollPositionRequested):
1197         * UIProcess/qt/QtTouchViewInterface.h:
1198         * UIProcess/qt/QtViewInterface.h:
1199         * UIProcess/qt/QtViewportInteractionEngine.cpp:
1200         (WebKit::QtViewportInteractionEngine::event):
1201         (WebKit::boundPosition):
1202         (WebKit::QtViewportInteractionEngine::pagePositionRequest):
1203         (WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale):
1204         (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
1205         (WebKit::QtViewportInteractionEngine::setConstraints):
1206         (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
1207         (WebKit::QtViewportInteractionEngine::contentViewportChanged):
1208         * UIProcess/qt/QtViewportInteractionEngine.h:
1209         * UIProcess/qt/QtWebPageProxy.cpp:
1210         (QtWebPageProxy::pageDidRequestScroll):
1211         * UIProcess/qt/QtWebPageProxy.h:
1212
1213 2011-11-03  Mark Hahnenberg  <mhahnenberg@apple.com>
1214
1215         De-virtualize JSObject::getPropertyNames
1216         https://bugs.webkit.org/show_bug.cgi?id=71306
1217
1218         Reviewed by Darin Adler.
1219
1220         Added getPropertyNames to the MethodTable, changed all the virtual 
1221         implementations of getPropertyNames to static ones, and replaced 
1222         all call sites with corresponding lookups in the MethodTable.
1223
1224         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
1225         (WebKit::NPJSObject::enumerate):
1226
1227 2011-11-03  Anders Carlsson  <andersca@apple.com>
1228
1229         Get rid of NetscapePlugin::m_clipRectInWindowCoordinates
1230         https://bugs.webkit.org/show_bug.cgi?id=71521
1231
1232         Reviewed by Dan Bernstein.
1233
1234         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1235         (WebKit::NetscapePlugin::geometryDidChange):
1236         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1237
1238 2011-11-03  Anders Carlsson  <andersca@apple.com>
1239
1240         Use convertToRootView(IntPoint()) instead of m_frameRectInWindowCoordinates.location() where possible
1241         https://bugs.webkit.org/show_bug.cgi?id=71520
1242
1243         Reviewed by Dan Bernstein.
1244
1245         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
1246         (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate):
1247         (WebKit::NetscapePlugin::platformPaint):
1248         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
1249         (WebKit::NetscapePlugin::platformHandleMouseEvent):
1250         (WebKit::NetscapePlugin::platformHandleWheelEvent):
1251         (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
1252         (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
1253
1254 2011-11-03  Anders Carlsson  <andersca@apple.com>
1255
1256         Add NetscapePlugin::convertToRootView
1257         https://bugs.webkit.org/show_bug.cgi?id=71519
1258
1259         Reviewed by Darin Adler.
1260
1261         Yet another step towards eliminating uses of m_frameRectInWindowCoordinates.
1262
1263         Also, use the "root view" terminology, since that's really what we mean here.
1264
1265         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1266         (WebKit::NetscapePlugin::callSetWindow):
1267         Use convertToRootView to get the plug-in location and clip rect in root view coordinates.
1268
1269         (WebKit::NetscapePlugin::convertToRootView):
1270         Apply the m_pluginToRootViewTransform.mapPoint transform.
1271
1272         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1273         Add convertToRootView.
1274
1275 2011-11-03  Anders Carlsson  <andersca@apple.com>
1276
1277         Move plug-in size and backing store checks to PluginProxy::updateBackingStore
1278         https://bugs.webkit.org/show_bug.cgi?id=71508
1279
1280         Reviewed by Darin Adler.
1281
1282         * WebProcess/Plugins/PluginProxy.cpp:
1283         (WebKit::PluginProxy::geometryDidChange):
1284         Remove code to send back an empty backing store if the plug-in size is empty
1285         or doesn't need a backing store. This check is now done...
1286
1287         (WebKit::PluginProxy::updateBackingStore):
1288         ...here.
1289
1290 2011-11-03  Anders Carlsson  <andersca@apple.com>
1291
1292         Get rid of PluginControllerProxy::m_frameRectInWindowCoordinates
1293         https://bugs.webkit.org/show_bug.cgi?id=71506
1294
1295         Reviewed by Darin Adler.
1296
1297         * PluginProcess/PluginControllerProxy.cpp:
1298         (WebKit::PluginControllerProxy::geometryDidChange):
1299         This no longer needs to take the frame rect in window coordinates.
1300
1301         * PluginProcess/PluginControllerProxy.h:
1302         * PluginProcess/PluginControllerProxy.messages.in:
1303         Remove frameRectInWindowCoordinates from the GeometryDidChange message.
1304
1305         * WebProcess/Plugins/PluginProxy.cpp:
1306         (WebKit::PluginProxy::geometryDidChange):
1307         Don't pass frameRectInWindowCoordinates when sending GeometryDidChange.
1308
1309 2011-11-03  Anders Carlsson  <andersca@apple.com>
1310
1311         Get rid of Plugin::wantsWindowRelativeCoordinates()
1312         https://bugs.webkit.org/show_bug.cgi?id=71504
1313
1314         Reviewed by Darin Adler.
1315
1316         Since all Plugin subclasses now return false for wantsWindowRelativeCoordinates,
1317         we can go ahead and remove it.
1318
1319         * PluginProcess/PluginControllerProxy.cpp:
1320         (WebKit::PluginControllerProxy::paint):
1321         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1322         (WebKit::NetscapePlugin::snapshot):
1323         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1324         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
1325         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
1326         * WebProcess/Plugins/Plugin.h:
1327         * WebProcess/Plugins/PluginProxy.cpp:
1328         * WebProcess/Plugins/PluginProxy.h:
1329         * WebProcess/Plugins/PluginView.cpp:
1330         (WebKit::PluginView::paint):
1331
1332 2011-11-03  Anders Carlsson  <andersca@apple.com>
1333
1334         NetscapePlugin::wantsWindowRelativeCoordinates should return false for all ports
1335         https://bugs.webkit.org/show_bug.cgi?id=71501
1336
1337         Reviewed by Darin Adler.
1338
1339         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1340         (WebKit::NetscapePlugin::wantsWindowRelativeCoordinates):
1341         Return false.
1342
1343         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
1344         (WebKit::NetscapePlugin::platformGeometryDidChange):
1345         Use m_pluginSize instead of m_frameRectInWindowCoordinates.size().
1346
1347         (WebKit::NetscapePlugin::platformPaint):
1348         No need to translate back and forth between window and plug-in relative coordinates anymore.
1349
1350 2011-11-03  Darin Adler  <darin@apple.com>
1351
1352         Change remaining callers of releaseRef to call leakRef
1353         https://bugs.webkit.org/show_bug.cgi?id=71422
1354
1355         Reviewed by Darin Fisher.
1356
1357         * Platform/mac/ModuleMac.mm:
1358         (WebKit::Module::load):
1359         * Shared/API/c/WKArray.cpp:
1360         (WKArrayCreate):
1361         * Shared/API/c/WKData.cpp:
1362         (WKDataCreate):
1363         * Shared/API/c/WKDictionary.cpp:
1364         (WKDictionaryCopyKeys):
1365         * Shared/API/c/WKGeometry.cpp:
1366         (WKPointCreate):
1367         (WKSizeCreate):
1368         (WKRectCreate):
1369         * Shared/API/c/WKMutableArray.cpp:
1370         (WKMutableArrayCreate):
1371         * Shared/API/c/WKMutableDictionary.cpp:
1372         (WKMutableDictionaryCreate):
1373         * Shared/API/c/WKNumber.cpp:
1374         (WKBooleanCreate):
1375         (WKDoubleCreate):
1376         (WKUInt64Create):
1377         * Shared/API/c/WKSharedAPICast.h:
1378         (WebKit::toCopiedAPI):
1379         (WebKit::toCopiedURLAPI):
1380         * Shared/API/c/cf/WKErrorCF.cpp:
1381         (WKErrorCreateWithCFError):
1382         * Shared/API/c/cf/WKURLRequestCF.cpp:
1383         (WKURLRequestCreateWithCFURLRequest):
1384         * Shared/API/c/cf/WKURLResponseCF.cpp:
1385         (WKURLResponseCreateWithCFURLResponse):
1386         * Shared/API/c/mac/WKURLRequestNS.mm:
1387         (WKURLRequestCreateWithNSURLRequest):
1388         * Shared/API/c/mac/WKURLResponseNS.mm:
1389         (WKURLResponseCreateWithNSURLResponse):
1390         * Shared/cf/ArgumentCodersCF.cpp:
1391         (CoreIPC::decode):
1392         * UIProcess/API/C/WKBackForwardList.cpp:
1393         (WKBackForwardListCopyBackListWithLimit):
1394         (WKBackForwardListCopyForwardListWithLimit):
1395         * UIProcess/API/C/WKContext.cpp:
1396         (WKContextCreate):
1397         (WKContextCreateWithInjectedBundlePath):
1398         * UIProcess/API/C/WKCredential.cpp:
1399         (WKCredentialCreate):
1400         (WKCredentialCreateWithCertificateInfo):
1401         * UIProcess/API/C/WKDatabaseManager.cpp:
1402         (WKDatabaseManagerGetOriginKey):
1403         (WKDatabaseManagerGetOriginQuotaKey):
1404         (WKDatabaseManagerGetOriginUsageKey):
1405         (WKDatabaseManagerGetDatabaseDetailsKey):
1406         (WKDatabaseManagerGetDatabaseDetailsNameKey):
1407         (WKDatabaseManagerGetDatabaseDetailsDisplayNameKey):
1408         (WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey):
1409         (WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey):
1410         * UIProcess/API/C/WKFrame.cpp:
1411         (WKFrameCopyChildFrames):
1412         * UIProcess/API/C/WKGeolocationPosition.cpp:
1413         (WKGeolocationPositionCreate):
1414         * UIProcess/API/C/WKGrammarDetail.cpp:
1415         (WKGrammarDetailCreate):
1416         * UIProcess/API/C/WKPage.cpp:
1417         (WKPageGetSessionHistoryURLValueType):
1418         (WKPageCopySessionState):
1419         * UIProcess/API/C/WKPreferences.cpp:
1420         (WKPreferencesCreateWithIdentifier):
1421         * UIProcess/API/C/win/WKView.cpp:
1422         (WKViewCreate):
1423         * UIProcess/win/WebUndoClient.cpp:
1424         (WebKit::WebUndoClient::registerEditCommand):
1425         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1426         (WKBundleFrameCopyChildFrames):
1427         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
1428         (WKBundleNodeHandleCreate):
1429         (WKBundleNodeHandleCopyDocument):
1430         (WKBundleNodeHandleCopyHTMLTableCellElementCellAbove):
1431         (WKBundleNodeHandleCopyDocumentFrame):
1432         (WKBundleNodeHandleCopyHTMLFrameElementContentFrame):
1433         (WKBundleNodeHandleCopyHTMLIFrameElementContentFrame):
1434         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1435         (WKBundlePageCopyTrackedRepaintRects):
1436         * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
1437         (WKBundleScriptWorldCreateWorld):
1438         Use leakRef.
1439
1440 2011-11-02  Darin Adler  <darin@apple.com>
1441
1442         Change remaining callers of releaseRef to call leakRef
1443         https://bugs.webkit.org/show_bug.cgi?id=71422
1444
1445         Reviewed by Darin Fisher.
1446
1447         * Platform/mac/ModuleMac.mm:
1448         (WebKit::Module::load): Use leakRef.
1449         (WebKit::Module::unload): Use leakRef, and cast to void
1450         to avoid unused return value warning.
1451
1452         * Shared/API/c/WKArray.cpp:
1453         (WKArrayCreate):
1454         * Shared/API/c/WKData.cpp:
1455         (WKDataCreate):
1456         * Shared/API/c/WKDictionary.cpp:
1457         (WKDictionaryCopyKeys):
1458         * Shared/API/c/WKGeometry.cpp:
1459         (WKPointCreate):
1460         (WKSizeCreate):
1461         (WKRectCreate):
1462         * Shared/API/c/WKMutableArray.cpp:
1463         (WKMutableArrayCreate):
1464         * Shared/API/c/WKMutableDictionary.cpp:
1465         (WKMutableDictionaryCreate):
1466         * Shared/API/c/WKNumber.cpp:
1467         (WKBooleanCreate):
1468         (WKDoubleCreate):
1469         (WKUInt64Create):
1470         * Shared/API/c/WKSharedAPICast.h:
1471         (WebKit::toCopiedAPI):
1472         (WebKit::toCopiedURLAPI):
1473         * Shared/API/c/cf/WKErrorCF.cpp:
1474         (WKErrorCreateWithCFError):
1475         * Shared/API/c/cf/WKURLRequestCF.cpp:
1476         (WKURLRequestCreateWithCFURLRequest):
1477         * Shared/API/c/cf/WKURLResponseCF.cpp:
1478         (WKURLResponseCreateWithCFURLResponse):
1479         * Shared/API/c/mac/WKURLRequestNS.mm:
1480         (WKURLRequestCreateWithNSURLRequest):
1481         * Shared/API/c/mac/WKURLResponseNS.mm:
1482         (WKURLResponseCreateWithNSURLResponse):
1483         * Shared/cf/ArgumentCodersCF.cpp:
1484         (CoreIPC::decode):
1485         * UIProcess/API/C/WKBackForwardList.cpp:
1486         (WKBackForwardListCopyBackListWithLimit):
1487         (WKBackForwardListCopyForwardListWithLimit):
1488         * UIProcess/API/C/WKContext.cpp:
1489         (WKContextCreate):
1490         (WKContextCreateWithInjectedBundlePath):
1491         * UIProcess/API/C/WKCredential.cpp:
1492         (WKCredentialCreate):
1493         (WKCredentialCreateWithCertificateInfo):
1494         * UIProcess/API/C/WKDatabaseManager.cpp:
1495         (WKDatabaseManagerGetOriginKey):
1496         (WKDatabaseManagerGetOriginQuotaKey):
1497         (WKDatabaseManagerGetOriginUsageKey):
1498         (WKDatabaseManagerGetDatabaseDetailsKey):
1499         (WKDatabaseManagerGetDatabaseDetailsNameKey):
1500         (WKDatabaseManagerGetDatabaseDetailsDisplayNameKey):
1501         (WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey):
1502         (WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey):
1503         * UIProcess/API/C/WKFrame.cpp:
1504         (WKFrameCopyChildFrames):
1505         * UIProcess/API/C/WKGeolocationPosition.cpp:
1506         (WKGeolocationPositionCreate):
1507         * UIProcess/API/C/WKGrammarDetail.cpp:
1508         (WKGrammarDetailCreate):
1509         * UIProcess/API/C/WKPage.cpp:
1510         (WKPageGetSessionHistoryURLValueType):
1511         (WKPageCopySessionState):
1512         * UIProcess/API/C/WKPreferences.cpp:
1513         (WKPreferencesCreateWithIdentifier):
1514         * UIProcess/API/C/win/WKView.cpp:
1515         (WKViewCreate):
1516         * UIProcess/win/WebUndoClient.cpp:
1517         (WebKit::WebUndoClient::registerEditCommand):
1518         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1519         (WKBundleFrameCopyChildFrames):
1520         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
1521         (WKBundleNodeHandleCreate):
1522         (WKBundleNodeHandleCopyDocument):
1523         (WKBundleNodeHandleCopyHTMLTableCellElementCellAbove):
1524         (WKBundleNodeHandleCopyDocumentFrame):
1525         (WKBundleNodeHandleCopyHTMLFrameElementContentFrame):
1526         (WKBundleNodeHandleCopyHTMLIFrameElementContentFrame):
1527         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1528         (WKBundlePageCopyTrackedRepaintRects):
1529         * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
1530         (WKBundleScriptWorldCreateWorld):
1531         Use leakRef.
1532
1533 2011-11-03  Anders Carlsson  <andersca@apple.com>
1534
1535         NetscapePlugin should use plug-in relative coordinates on Mac
1536         https://bugs.webkit.org/show_bug.cgi?id=71486
1537
1538         Reviewed by Adam Roben.
1539
1540         * PluginProcess/PluginControllerProxy.cpp:
1541         (WebKit::PluginControllerProxy::paint):
1542         Don't translate the graphics context when the plug-in doesn't want window relative coordinates.
1543         This also fixed a bug I introduced in my previous commit where we'd always pass the dirty rect in
1544         plug-in coordinates even if the plug-in wants window relative coordinates.
1545
1546         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1547         (WebKit::NetscapePlugin::snapshot):
1548         Don't do the whole translate dance if the plug-in doesn't want window relative coordinates.
1549
1550         (WebKit::NetscapePlugin::wantsWindowRelativeCoordinates):
1551         Return false for PLATFORM_ARCHITECTURE(MAC).
1552
1553         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
1554         (WebKit::NetscapePlugin::platformPaint):
1555         Simplify code now that we know that the we're always given plug-in relative coordinates.
1556
1557 2011-11-03  Anders Carlsson  <andersca@apple.com>
1558
1559         PluginControllerProxy's dirty rect should be in plug-in coordinates
1560         https://bugs.webkit.org/show_bug.cgi?id=71481
1561
1562         Reviewed by Sam Weinig.
1563
1564         * PluginProcess/PluginControllerProxy.cpp:
1565         (WebKit::PluginControllerProxy::paint):
1566         Convert the dirty rect to window coordinates before passing it to the plug-in.
1567
1568         (WebKit::PluginControllerProxy::invalidate):
1569         No need to convert the dirty rect to window coordinates.
1570
1571         (WebKit::PluginControllerProxy::paintEntirePlugin):
1572         Use m_pluginSize instead of m_frameRectInWindowCoordinates.isEmpty.
1573
1574 2011-11-03  Anders Carlsson  <andersca@apple.com>
1575
1576         Use the right function to determine whether NPWindow coordinates should be window relative
1577         https://bugs.webkit.org/show_bug.cgi?id=71480
1578
1579         Reviewed by Adam Roben.
1580
1581         We want to use wantsWindowRelativeNPWindowCoordinates here, and not wantsWindowRelativeCoordinates
1582         which is a temporary function that will be removed (and that returns the wrong value!)
1583
1584         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1585         (WebKit::NetscapePlugin::geometryDidChange):
1586
1587 2011-11-03  Simon Hausmann  <simon.hausmann@nokia.com>
1588
1589         Unreviewed build fix after r99195.
1590
1591         The right name is restrictMinimumScaleFactorToViewportSize.
1592
1593         * UIProcess/API/qt/qtouchwebview.cpp:
1594         (QTouchWebViewPrivate::updateViewportConstraints):
1595
1596 2011-11-03  Carlos Garcia Campos  <cgarcia@igalia.com>
1597
1598         [GTK] Use WEBKIT_API instead of WK_EXPORT in WebKitEnumTypes.h
1599         https://bugs.webkit.org/show_bug.cgi?id=71457
1600
1601         Reviewed by Martin Robinson.
1602
1603         * GNUmakefile.am:
1604
1605 2011-11-03  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1606
1607         [Qt] Bounce back limits are wrong in some situations
1608         https://bugs.webkit.org/show_bug.cgi?id=71471
1609
1610         Reviewed by Simon Hausmann.
1611
1612         The valid position points were in viewport coordinates, but we were
1613         requiring valid position points in content coordinates.
1614
1615         * UIProcess/qt/QtViewportInteractionEngine.cpp:
1616         (WebKit::QtViewportInteractionEngine::animateContentIntoBoundariesIfNeeded):
1617
1618 2011-11-03  Fady Samuel  <fsamuel@chromium.org>
1619
1620         Removing line in computeViewportAttributes that enforces a minimum scale factor to never allow zooming out more than viewport
1621         https://bugs.webkit.org/show_bug.cgi?id=70609
1622
1623         Reviewed by Kenneth Rohde Christiansen.
1624
1625         * UIProcess/API/qt/qtouchwebview.cpp:
1626         (QTouchWebViewPrivate::updateViewportConstraints):
1627         * WebProcess/WebPage/WebPage.cpp:
1628         (WebKit::WebPage::viewportConfigurationAsText):
1629
1630 2011-11-03  Andras Becsi  <andras.becsi@nokia.com>
1631
1632         [Qt][WK2] Fix the signal signature of the loadFailed API test.
1633
1634         Rubber-stamped by Simon Hausmann.
1635
1636         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
1637         (WebViewAbstraction::touchViewLoadFailed):
1638         (WebViewAbstraction::desktopViewLoadFailed):
1639
1640 2011-11-03  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1641
1642         [Qt] Fix an assertion under WebPage::setViewportSize.
1643         https://bugs.webkit.org/show_bug.cgi?id=71473
1644
1645         Reviewed by Simon Hausmann.
1646
1647         The web view can have an empty size and it causes the assert in computeViewportAttributes.
1648         Don't notify the web page of such a size change in this case.
1649
1650         * UIProcess/API/qt/qtouchwebview.cpp:
1651         (QTouchWebViewPrivate::updateViewportSize):
1652
1653 2011-11-03  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1654
1655         [WK2] State variable name refactor in WebPageProxy.cpp
1656         https://bugs.webkit.org/show_bug.cgi?id=71467
1657
1658         Reviewed by Andreas Kling.
1659
1660         Renaming m_inDecidePolicyForMIMEType to m_inDecidePolicyForResponse after
1661         https://bugs.webkit.org/show_bug.cgi?id=55827 .
1662
1663         * UIProcess/WebPageProxy.cpp:
1664         (WebKit::WebPageProxy::WebPageProxy):
1665         (WebKit::WebPageProxy::receivedPolicyDecision):
1666         (WebKit::WebPageProxy::decidePolicyForResponse):
1667         * UIProcess/WebPageProxy.h:
1668
1669 2011-11-03  Nayan Kumar K  <nayankk@motorola.com>
1670
1671         [GTK][WEBKIT2] Add support for title property in WebKitWebView.
1672         https://bugs.webkit.org/show_bug.cgi?id=68074
1673
1674         Reviewed by Philippe Normand.
1675
1676         Support for 'title' property is added in WebKitWebView.
1677         Functions to get the value of this property is provided.
1678
1679         * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
1680         (didReceiveTitleForFrame): LoaderClient titleRecieve callback.
1681         (webkitWebLoaderClientAttachLoaderClientToPage): Register didReceiveTitleForFrame callback.
1682         * UIProcess/API/gtk/WebKitWebView.cpp:
1683         (webkitWebViewGetProperty): 'title' property get function.
1684         (webkit_web_view_class_init): Register new property.
1685         (webkitWebViewSetTitle): Notify WebKitWebView about title receive.
1686         (webkit_web_view_get_title): API to get main frame title.
1687         * UIProcess/API/gtk/WebKitWebView.h: webkit_web_view_get_title API expose.
1688         * UIProcess/API/gtk/WebKitWebViewPrivate.h: Added private API.
1689         * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
1690         (testWebViewTitle): Test webkit_web_view_get_title API.
1691         (beforeAll): Add testWebViewTitle test.
1692
1693 2011-11-03  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1694
1695         [Qt][WK2] Download support and API in UIProcess
1696         https://bugs.webkit.org/show_bug.cgi?id=68962
1697
1698         Reviewed by Simon Hausmann.
1699
1700         We implement our WkContextDownloadClient and the needed callbacks.
1701         We also add APIs by exposing QWebDownloadItem. Objects from this type
1702         have their ownership handled by QDesktopWebView and will be created or
1703         destroyed as needed. Classes implementing ViewInterface (QDesktopWebViewPrivate
1704         and TouchViewInterface) will receive a signal (downloadRequested) with a pointer
1705         to the recently created QWebDownloadItem. With that they can connect the proper
1706         signals and slots, set the download destination path and then call start().
1707         Objects of this type will provide the progress of a download, a slot to cancel it,
1708         and signals for getting finished or failure status.
1709         QWebDownloadItem was also exposed in QML.
1710         Qt needed an asynchronous way for UIProcess to return a destination path to WebProcess,
1711         therefore the startTransfer API was added to WebKit2's Download handlers.
1712
1713         * Shared/qt/WebCoreArgumentCodersQt.cpp:
1714         (CoreIPC::::encode):
1715         (CoreIPC::::decode):
1716         Add encoding and decoding of suggestedFilename for ResourceResponse.
1717
1718         * UIProcess/API/qt/WKView.h:
1719         * UIProcess/API/qt/qbasewebview.h: Add signal downloadRequested.
1720         * UIProcess/API/qt/qdesktopwebview.cpp:
1721         (QDesktopWebViewPrivate::downloadRequested):
1722         * UIProcess/API/qt/qdesktopwebview_p.h:
1723
1724         * UIProcess/API/qt/qwebdownloaditem.cpp: Added.
1725         (QWebDownloadItemPrivate::QWebDownloadItemPrivate):
1726         (QWebDownloadItem::QWebDownloadItem):
1727         (QWebDownloadItem::~QWebDownloadItem):
1728         (QWebDownloadItem::url):
1729         (QWebDownloadItem::destinationPath):
1730         (QWebDownloadItem::setDestinationPath):
1731         (QWebDownloadItem::suggestedFilename):
1732         (QWebDownloadItem::mimeType):
1733         (QWebDownloadItem::expectedContentLength):
1734         (QWebDownloadItem::totalBytesReceived):
1735         (QWebDownloadItem::cancel):
1736         (QWebDownloadItem::start):
1737         * UIProcess/API/qt/qwebdownloaditem.h: Added.
1738         * UIProcess/API/qt/qwebdownloaditem_p.h: Added.
1739         (QWebDownloadItemPrivate::didReceiveResponse):
1740
1741         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_download.qml: Added.
1742         * UIProcess/API/qt/tests/qmltests/common/download.html: Added.
1743         * UIProcess/API/qt/tests/qmltests/common/download.zip: Added.
1744         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
1745
1746         * UIProcess/Downloads/DownloadProxy.cpp:
1747         (WebKit::DownloadProxy::startTransfer): Qt only function added.
1748         * UIProcess/Downloads/DownloadProxy.h:
1749
1750         * UIProcess/PageClient.h: Added Qt specific function to call handleDownloadRequest from QtWebPageProxy.
1751
1752         * UIProcess/WebContext.cpp:
1753         (WebKit::WebContext::download):
1754         Using WebPageProxy::handleDownloadRequest to bootstrap a download through PageClient.
1755
1756         * UIProcess/WebPageProxy.cpp:
1757         (WebKit::WebPageProxy::receivedPolicyDecision):
1758         Using handleDownloadRequest() to bootstrap a download through PageClient.
1759         (WebKit::WebPageProxy::handleDownloadRequest): Calls PageClient::handleDownloadRequest().
1760         * UIProcess/WebPageProxy.h:
1761
1762         * UIProcess/qt/QtDownloadManager.cpp: Added.
1763         (WebKit::toQtDownloadManager):
1764         (WebKit::qt_wk_didReceiveResponse):
1765         (WebKit::qt_wk_didCreateDestination):
1766         (WebKit::qt_wk_didFinishDownload):
1767         (WebKit::qt_wk_didFailDownload):
1768         (WebKit::qt_wk_didReceiveDataForDownload):
1769         (QtDownloadManager::downloadReceivedResponse): Will reach QtWebPageProxy::didReceiveDownloadResponse.
1770         (QtDownloadManager::downloadCreatedDestination):
1771         (QtDownloadManager::downloadFinished):
1772         (QtDownloadManager::downloadFailed):
1773         (QtDownloadManager::downloadDataReceived):
1774         * UIProcess/qt/QtDownloadManager.h: Added.
1775         Bootstrap our WKContextDownloadClient and set its callbacks.
1776         This entity will also handle all downloads and keep a map of them.
1777         It will be kept alive together with the WebContext as a static member
1778         of QtWebPageProxy, so we can keep it across several WebPages and, therefore,
1779         WebViews.
1780
1781         * UIProcess/qt/QtWebPageProxy.cpp:
1782         (QtWebPageProxy::defaultWKContext):
1783         (QtWebPageProxy::~QtWebPageProxy):
1784         (QtWebPageProxy::handleDownloadRequest):
1785         (QtWebPageProxy::didReceiveDownloadResponse):
1786         * UIProcess/qt/QtWebPageProxy.h:
1787         From now on it will keep a static QtDownloadManager to live together
1788         with the default WebContext. It implements PageClient::handleDownloadRequest.
1789         QtWebPageProxy::didReceiveDownloadResponse will emit the view's signal downloadRequested.
1790
1791        * UIProcess/qt/QtTouchViewInterface.h:
1792         (WebKit::QtTouchViewInterface::downloadRequested):
1793         * UIProcess/qt/QtViewInterface.h:
1794
1795         * UIProcess/qt/qweberror.cpp:
1796         (QWebError::description):
1797         * UIProcess/qt/qweberror.h:
1798         (QWebError::errorCodeAsDownloadError):
1799         Add Download error handling to QWebError and a new API
1800         to retrieve the error description from the original ResourceError.
1801         Also, it now has QWebDownloadItem::DownloadError errorCodeAsDownloadError()
1802         that returns the error code as a DownloadError.
1803
1804         * WebKit2.pro:
1805         * WebKit2API.pri:
1806
1807         * WebProcess/Downloads/Download.h:
1808         * WebProcess/Downloads/DownloadManager.cpp:
1809         (WebKit::DownloadManager::startTransfer):
1810         * WebProcess/Downloads/DownloadManager.h:
1811         Adding Qt specific startTransfer function.
1812
1813         * WebProcess/Downloads/qt/DownloadQt.cpp:
1814         (WebKit::Download::start):
1815         (WebKit::Download::startWithHandle):
1816         (WebKit::Download::didDecideDestination):
1817         (WebKit::Download::startTransfer):
1818         * WebProcess/Downloads/qt/QtFileDownloader.cpp:
1819         (WebKit::QtFileDownloader::init): start() was renamed to init().
1820         (WebKit::QtFileDownloader::determineFilename):
1821         Calling onReadyRead() here was unnecessary and it was triggering the overall
1822         download process even before DownloadManager finished startDownload(). This
1823         was leading to a DownloadManager with an empty list of downloads.
1824         (WebKit::QtFileDownloader::startTransfer): decidedDestination() became startTransfer().
1825         (WebKit::QtFileDownloader::abortDownloadWritingAndEmitError):
1826         (WebKit::QtFileDownloader::handleDownloadResponse):
1827         (WebKit::QtFileDownloader::onReadyRead):
1828         (WebKit::QtFileDownloader::onFinished):
1829         (WebKit::QtFileDownloader::cancel):
1830         * WebProcess/Downloads/qt/QtFileDownloader.h:
1831
1832         * WebProcess/WebProcess.cpp:
1833         (WebKit::WebProcess::startTransfer):
1834         * WebProcess/WebProcess.h:
1835         * WebProcess/WebProcess.messages.in:
1836         Adding Qt specific message StartTransfer and handling function.
1837
1838 2011-11-03  Nayan Kumar K  <nayankk@motorola.com>
1839
1840         Add webkit_web_view_load_html and webkit_web_view_load_plain_text APIs.
1841         https://bugs.webkit.org/show_bug.cgi?id=69249
1842
1843         Reviewed by Philippe Normand.
1844
1845         This patch adds support for 2 more load APIs, namely
1846         webkit_web_view_load_html and webkit_web_view_load_plain_text.
1847
1848         * UIProcess/API/gtk/WebKitWebView.cpp:
1849         (webkit_web_view_load_html): New API to load html string.
1850         (webkit_web_view_load_plain_text): New API to load plain text.
1851         * UIProcess/API/gtk/WebKitWebView.h: Public API addition.
1852         * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
1853         (testLoadHtml): Test webkit_web_view_load_html API.
1854         (testLoadPlainText): Test webkit_web_view_load_plain_text API.
1855         (beforeAll): Add new tests.
1856         * UIProcess/API/gtk/tests/WebViewTest.cpp:
1857         (WebViewTest::loadHtml): Test webkit_web_view_load_html API.
1858         (WebViewTest::loadPlainText): Test webkit_web_view_load_plain_text API.
1859         * UIProcess/API/gtk/tests/WebViewTest.h:
1860
1861 2011-11-03  Simon Hausmann  <simon.hausmann@nokia.com>
1862
1863         [Qt][WK2] Failing assertion with desktop webview when touch mocking in MinBrowser
1864         https://bugs.webkit.org/show_bug.cgi?id=71452
1865
1866         Reviewed by Andreas Kling.
1867
1868         Don't re-implement touchEvent(), we don't intend to support touch events as we
1869         receive them from the QQuickCanvas at this point.
1870
1871         * UIProcess/API/qt/qdesktopwebview.cpp:
1872         * UIProcess/API/qt/qdesktopwebview.h:
1873
1874 2011-11-03  Simon Hausmann  <simon.hausmann@nokia.com>
1875
1876         [Qt] [WK2] MiniBrowser assert in QtWebProccess on startup in debug build.
1877         https://bugs.webkit.org/show_bug.cgi?id=71196
1878
1879         Reviewed by Kenneth Rohde Christiansen.
1880
1881         Ensure AC is turned off for the desktop view before we launch the process.
1882         This avoids "accidential" enterAc/exitAc calls that cause failing assertions
1883         because we don't really support AC in this setup.
1884
1885         The touch side works the same way, i.e. enable the preference before calling
1886         init().
1887
1888         * UIProcess/qt/QtDesktopWebPageProxy.cpp:
1889         (QtDesktopWebPageProxy::QtDesktopWebPageProxy):
1890
1891 2011-11-03  Balazs Kelemen  <kbalazs@webkit.org>
1892
1893         [Qt] X11 plugins need to be reworked for Qt5
1894         https://bugs.webkit.org/show_bug.cgi?id=70023
1895
1896         Reviewed by Simon Hausmann.
1897
1898         Disable X11 plugins.
1899         * config.h:
1900
1901 2011-11-03  Simon Hausmann  <simon.hausmann@nokia.com>
1902
1903         Unreviewed Qt build fix(es).
1904
1905         * UIProcess/qt/QtDesktopWebPageProxy.cpp:
1906         (QtDesktopWebPageProxy::handleDragMoveEvent): Adapt to dragSession API change.
1907         (QtDesktopWebPageProxy::handleDropEvent): Ditto.
1908         * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp:
1909         (WebKit::NetscapePlugin::wantsWindowRelativeNPWindowCoordinates): Implement here
1910         also, for plugin-disabled builds.
1911
1912 2011-11-03  ChangSeok Oh  <shivamidow@gmail.com>
1913
1914         [GTK] Fix build-break on r99143
1915         https://bugs.webkit.org/show_bug.cgi?id=71440
1916
1917         Reviewed by Philippe Normand.
1918
1919         dragOperation() should be replaced with dragSession().operation since it was removed.
1920         And didDetectXSSForFrame of WKPageLoaderClient should be relocated.
1921
1922         * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
1923         (webkitWebLoaderClientAttachLoaderClientToPage):
1924         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1925         (webkitWebViewBaseDragDataReceived):
1926         (webkitWebViewBaseDragMotion):
1927
1928 2011-11-03  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
1929
1930         [Qt] Flagging usage of X11 headers under PLAT_ARCH(X11)
1931         https://bugs.webkit.org/show_bug.cgi?id=71409
1932
1933         Reviewed by Simon Hausmann.
1934
1935         Build fix for building qtwebkit with latest qt5 which has removed Qt X11 headers.
1936
1937         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1938
1939 2011-11-03  Philippe Normand  <pnormand@igalia.com>
1940
1941         Unreviewed, GTK build fix after r99093...
1942
1943         * PluginProcess/PluginControllerProxy.h:
1944
1945 2011-11-02  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
1946
1947         [Qt] [WK] Debug build broken
1948         https://bugs.webkit.org/show_bug.cgi?id=71417
1949
1950         Add WKNumber.h for WKBooleanGetTypeID
1951         Replace WKGetTypeId with WKGetTypeID
1952         Add initialization for didDetectXSSForFrame member in WKBundlePageLoaderClient
1953         instance.
1954
1955         Reviewed by Noam Rosenthal.
1956
1957         * WebProcess/qt/QtBuiltinBundle.cpp:
1958         (WebKit::QtBuiltinBundle::handleSetNavigatorQtObjectEnabled):
1959         * WebProcess/qt/QtBuiltinBundlePage.cpp:
1960         (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
1961
1962 2011-11-02  Mark Hahnenberg  <mhahnenberg@apple.com>
1963
1964         De-virtualize JSObject::getOwnPropertyNames
1965         https://bugs.webkit.org/show_bug.cgi?id=71307
1966
1967         Reviewed by Darin Adler.
1968
1969         Added getOwnPropertyNames to the MethodTable, changed all the virtual 
1970         implementations of getOwnPropertyNames to static ones, and replaced 
1971         all call sites with corresponding lookups in the MethodTable.
1972
1973         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1974         (WebKit::JSNPObject::getOwnPropertyNames):
1975         * WebProcess/Plugins/Netscape/JSNPObject.h:
1976
1977 2011-11-02  Anders Carlsson  <andersca@apple.com>
1978
1979         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
1980         https://bugs.webkit.org/show_bug.cgi?id=71418
1981
1982         Reviewed by Adam Roben.
1983
1984         This avoids calling into the plug-in when only the plug-in position relative to the window changes.
1985     
1986         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1987         (WebKit::NetscapePlugin::geometryDidChange):
1988
1989 2011-11-02  Jon Lee  <jonlee@apple.com>
1990
1991         Fix syntax error.
1992
1993         * WebProcess/WebPage/WebPage.cpp:
1994         (WebKit::WebPage::performDragControllerAction):
1995
1996 2011-11-02  Jon Lee  <jonlee@apple.com>
1997
1998         Fix build error from r99108.
1999
2000         * WebProcess/WebPage/WebPage.cpp:
2001         (WebKit::WebPage::performDragControllerAction):
2002
2003 2011-11-02  Dean Jackson  <dino@apple.com>
2004
2005         Add ENABLE_CSS_SHADERS flag
2006         https://bugs.webkit.org/show_bug.cgi?id=71394
2007
2008         Reviewed by Sam Weinig.
2009
2010         * Configurations/FeatureDefines.xcconfig:
2011
2012 2011-11-02  Anders Carlsson  <andersca@apple.com>
2013
2014         Allow the various plug-in ports to decide whether NPWindow coordinates should be window-relative
2015         https://bugs.webkit.org/show_bug.cgi?id=71415
2016
2017         Reviewed by Darin Adler.
2018
2019         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2020         (WebKit::NetscapePlugin::callSetWindow):
2021         Remove the PLUGIN_ARCHITECTURE(X11) ifdef and set the NPWindow members
2022         based on the return value of wantsWindowRelativeNPWindowCoordinates.
2023
2024         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2025         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2026         (WebKit::NetscapePlugin::wantsWindowRelativeNPWindowCoordinates):
2027         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
2028         (WebKit::NetscapePlugin::wantsWindowRelativeNPWindowCoordinates):
2029         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
2030         (WebKit::NetscapePlugin::wantsWindowRelativeNPWindowCoordinates):
2031         Add platform specific implementations.
2032
2033 2011-11-02  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
2034
2035         [Qt] [WK] Debug build broken after r99065
2036         https://bugs.webkit.org/show_bug.cgi?id=71397
2037
2038         Remove reference to panGestureActive becuase it is not defined anywhere.
2039
2040         Reviewed by Simon Hausmann.
2041
2042         * UIProcess/qt/QtViewportInteractionEngine.cpp:
2043         (WebKit::QtViewportInteractionEngine::panGestureStarted):
2044
2045 2011-11-02  Jon Lee  <jonlee@apple.com>
2046
2047         Update dragging info on mac when user is dragging files into view
2048         https://bugs.webkit.org/show_bug.cgi?id=71325
2049         <rdar://problem/10379193>
2050
2051         Reviewed by Darin Adler.
2052
2053         * UIProcess/API/mac/WKView.mm:
2054         (-[WKView draggingUpdated:]): Based on the DragSession, we update NSDraggingInfo
2055         to update the badge and dragging formation.
2056
2057 2011-11-02  Jon Lee  <jonlee@apple.com>
2058
2059         Expand DragController to provide more information about the dragging session
2060         https://bugs.webkit.org/show_bug.cgi?id=71324
2061         <rdar://problem/10379175>
2062
2063         Reviewed by Darin Adler.
2064
2065         We now pass the DragSession struct from the Web to the UI process, instead of the
2066         DragOperation enum.
2067
2068         * Scripts/webkit2/messages.py:
2069         * Shared/WebCoreArgumentCoders.cpp:
2070         (CoreIPC::::encode):
2071         (CoreIPC::::decode):
2072         * Shared/WebCoreArgumentCoders.h:
2073         * UIProcess/API/mac/WKView.mm:
2074         (-[WKView draggingUpdated:]):
2075         * UIProcess/WebPageProxy.cpp:
2076         (WebKit::WebPageProxy::WebPageProxy): We now cache the last known DragSession state
2077         (WebKit::WebPageProxy::didPerformDragControllerAction):
2078         * UIProcess/WebPageProxy.h:
2079         (WebKit::WebPageProxy::dragSession):
2080         (WebKit::WebPageProxy::resetDragOperation):
2081         * UIProcess/WebPageProxy.messages.in:
2082         * UIProcess/win/WebView.cpp:
2083         (WebKit::WebView::keyStateToDragOperation):
2084         (WebKit::WebView::DragEnter):
2085         (WebKit::WebView::DragOver):
2086         * WebProcess/WebPage/WebPage.cpp:
2087         (WebKit::WebPage::performDragControllerAction):
2088
2089 2011-11-02  Anders Carlsson  <andersca@apple.com>
2090
2091         Get rid of Plugin::deprecatedGeometryDidChange
2092         https://bugs.webkit.org/show_bug.cgi?id=71411
2093
2094         Reviewed by Sam Weinig.
2095
2096         Now that all Plugin subclasses implement geometryDidChange and do all the work there
2097         we can get rid of deprecatedGeometryDidChange.
2098
2099         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2100         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2101         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
2102         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
2103         * WebProcess/Plugins/Plugin.h:
2104         * WebProcess/Plugins/PluginProxy.cpp:
2105         * WebProcess/Plugins/PluginProxy.h:
2106         * WebProcess/Plugins/PluginView.cpp:
2107         (WebKit::PluginView::viewGeometryDidChange):
2108
2109 2011-11-02  Anders Carlsson  <andersca@apple.com>
2110
2111         Move back functions that were not added.
2112
2113         * UIProcess/API/C/WKPage.h:
2114
2115 2011-11-02  Anders Carlsson  <andersca@apple.com>
2116
2117         Fix build and WebKit2 ABI.
2118
2119         * Shared/APIClientTraits.cpp:
2120         * Shared/APIClientTraits.h:
2121         Add page loader client sizes.
2122
2123         * UIProcess/API/C/WKPage.h:
2124         Move the newly added callback functions in the loader client last and bump the
2125         WKPageLoaderClient version.
2126         
2127 2011-11-02  Anders Carlsson  <andersca@apple.com>
2128
2129         Fix build.
2130
2131         * WebProcess/Plugins/PluginView.h:
2132
2133 2011-11-02  Tom Sepez  <tsepez@chromium.org>
2134
2135         XSSAuditor is silent
2136         https://bugs.webkit.org/show_bug.cgi?id=70973
2137
2138         Reviewed by Adam Barth.
2139
2140         * UIProcess/API/C/WKPage.h:
2141         * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
2142         (webkitWebLoaderClientAttachLoaderClientToPage):
2143         * UIProcess/WebLoaderClient.cpp:
2144         (WebKit::WebLoaderClient::didDetectXSSForFrame):
2145         * UIProcess/WebLoaderClient.h:
2146         * UIProcess/WebPageProxy.cpp:
2147         (WebKit::WebPageProxy::didDetectXSSForFrame):
2148         * UIProcess/WebPageProxy.h:
2149         * UIProcess/WebPageProxy.messages.in:
2150         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2151         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
2152         (WebKit::InjectedBundlePageLoaderClient::didDetectXSSForFrame):
2153         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
2154         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2155         (WebKit::WebFrameLoaderClient::didDetectXSS):
2156         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2157
2158 2011-11-02  Anders Carlsson  <andersca@apple.com>
2159
2160         More window relative coordinate usage removal
2161         https://bugs.webkit.org/show_bug.cgi?id=71393
2162
2163         Reviewed by Adam Roben.
2164
2165         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
2166         (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate):
2167         Just use m_clipRect instead of converting m_clipRectInWindowCoordinates to plug-in coordinates.
2168
2169         (WebKit::NetscapePlugin::platformPaint):
2170         Use m_pluginSize instead of m_frameRectInWindowCoordinates.size().
2171
2172         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
2173         (WebKit::NetscapePlugin::platformPaint):
2174         Ditto.
2175
2176 2011-11-02  Anders Carlsson  <andersca@apple.com>
2177
2178         Fix non-Mac builds and remove #if PLATFORM(MAC) around all contents scale factor functions.
2179
2180         * PluginProcess/PluginControllerProxy.cpp:
2181         (WebKit::PluginControllerProxy::PluginControllerProxy):
2182         (WebKit::PluginControllerProxy::contentsScaleFactor):
2183         (WebKit::PluginControllerProxy::geometryDidChange):
2184         * PluginProcess/PluginControllerProxy.h:
2185         * PluginProcess/PluginCreationParameters.cpp:
2186         (WebKit::PluginCreationParameters::PluginCreationParameters):
2187         (WebKit::PluginCreationParameters::encode):
2188         (WebKit::PluginCreationParameters::decode):
2189         * PluginProcess/PluginCreationParameters.h:
2190         * PluginProcess/mac/PluginControllerProxyMac.mm:
2191         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2192         (WebKit::NetscapePlugin::contentsScaleFactor):
2193         (WebKit::NetscapePlugin::getAuthenticationInfo):
2194         (WebKit::NetscapePlugin::snapshot):
2195         (WebKit::NetscapePlugin::contentsScaleFactorChanged):
2196         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2197         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2198         * WebProcess/Plugins/Plugin.h:
2199         * WebProcess/Plugins/PluginController.h:
2200         * WebProcess/Plugins/PluginProxy.cpp:
2201         (WebKit::PluginProxy::initialize):
2202         (WebKit::PluginProxy::contentsScaleFactorChanged):
2203         (WebKit::PluginProxy::contentsScaleFactor):
2204         * WebProcess/Plugins/PluginProxy.h:
2205         * WebProcess/Plugins/PluginView.cpp:
2206         (WebKit::PluginView::contentsScaleFactor):
2207
2208 2011-11-02  Anders Carlsson  <andersca@apple.com>
2209
2210         Use m_pluginSize instead of m_frameRectInWindowCoordinates.size() in NetscapePlugin.
2211         https://bugs.webkit.org/show_bug.cgi?id=71390
2212
2213         Reviewed by Adam Roben.
2214
2215         m_pluginSize is always equal to m_frameRectInWindowCoordinates.size() and this moves us one
2216         sall step further towards eliminating m_frameRectInWindowCoordinates.
2217
2218         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2219         (WebKit::NetscapePlugin::invalidate):
2220         (WebKit::NetscapePlugin::snapshot):
2221
2222 2011-11-02  Anders Carlsson  <andersca@apple.com>
2223
2224         Fix non-Mac builds.
2225
2226         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2227         (WebKit::NetscapePlugin::snapshot):
2228
2229 2011-11-02  Anders Carlsson  <andersca@apple.com>
2230
2231         Plug-in snapshots are blurry in HiDPI
2232         https://bugs.webkit.org/show_bug.cgi?id=71387
2233         <rdar://problem/10385393>
2234
2235         Reviewed by Adam Roben.
2236
2237         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2238         (WebKit::NetscapePlugin::snapshot):
2239         Create the backing store in the right size and apply the contents scale factor
2240         to the newly created graphics context.
2241
2242         * WebProcess/Plugins/PluginView.cpp:
2243         (WebKit::PluginView::paint):
2244         Pass the scale factor to ShareableBitmap::paint.
2245
2246 2011-11-02  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2247
2248         [Qt] Implement message exchange between WebView and the web page
2249         https://bugs.webkit.org/show_bug.cgi?id=70545
2250
2251         Reviewed by Noam Rosenthal.
2252
2253         Adds a mechanism for the WebView to send messages to the JavaScript environment
2254         of the web page. In the WebView we have a method postMessage() and a signal
2255         messageReceived(), while in the web page we expose a navigator.qt object with a
2256         postMessage() method and a onmessage property. The messages are objects that
2257         follow the same structure as MessageEvents.
2258
2259         The feature is disabled by default, and can be enabled by setting
2260         QWebPreferences::navigatorQtObjectEnabled property to true. Changes take effect
2261         after the next load(). QML tests are included.
2262
2263         * UIProcess/qt/ClientImpl.h:
2264         * UIProcess/qt/ClientImpl.cpp:
2265         (setupContextInjectedBundleClient): Helper to register the injected bundle client.
2266         (qt_wk_didReceiveMessageFromInjectedBundle): Decode and dispatch a message received
2267         from the WebProcess to the WebPageProxy.
2268
2269         * UIProcess/PageClient.h:
2270         (WebKit::PageClient::didReceiveMessageFromNavigatorQtObject):
2271         * UIProcess/WebPageProxy.cpp:
2272         (WebKit::WebPageProxy::didReceiveMessageFromNavigatorQtObject):
2273         * UIProcess/WebPageProxy.h:
2274         Handle messages received from the navigator.qt object via the injected bundle. Called
2275         from the ClientImpl.
2276
2277         * UIProcess/API/qt/qbasewebview.cpp:
2278         (QBaseWebView::postMessage):
2279         (QBaseWebViewPrivate::setPageProxy):
2280         * UIProcess/API/qt/qbasewebview.h:
2281         * UIProcess/API/qt/qwebpreferences.cpp:
2282         (QWebPreferences::navigatorQtObjectEnabled):
2283         (QWebPreferences::setNavigatorQtObjectEnabled):
2284         * UIProcess/API/qt/qwebpreferences.h:
2285         The signal, slot and the setting to enable the feature.
2286
2287         * UIProcess/qt/QtWebPageProxy.cpp:
2288         (QtWebPageProxy::defaultWKContext): setup the injected bundle client for this the
2289         default context so we can listen to messages from it.
2290
2291         (QtWebPageProxy::QtWebPageProxy):
2292         (QtWebPageProxy::didReceiveMessageFromNavigatorQtObject):
2293         (QtWebPageProxy::setNavigatorQtObjectEnabled):
2294         (QtWebPageProxy::postMessageToNavigatorQtObject):
2295         * UIProcess/qt/QtWebPageProxy.h:
2296         (QtWebPageProxy::navigatorQtObjectEnabled):
2297         Enabling and sending messages to the navigator.qt object are done by sending messages to
2298         the injected bundle, identifying the page that we want to act on.
2299
2300         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_messaging.qml: Added.
2301         * UIProcess/API/qt/tests/qmltests/common/messaging.html: Added.
2302         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
2303         * WebProcess/qt/QtBuiltinBundle.cpp:
2304         (WebKit::QtBuiltinBundle::initialize):
2305         (WebKit::QtBuiltinBundle::didReceiveMessage):
2306         (WebKit::QtBuiltinBundle::handleMessageToNavigatorQtObject):
2307         (WebKit::QtBuiltinBundle::handleSetNavigatorQtObjectEnabled):
2308         * WebProcess/qt/QtBuiltinBundle.h:
2309         * WebProcess/qt/QtBuiltinBundlePage.cpp:
2310         (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
2311         (WebKit::QtBuiltinBundlePage::~QtBuiltinBundlePage):
2312         (WebKit::QtBuiltinBundlePage::didClearWindowForFrame):
2313         (WebKit::qt_postMessageCallback):
2314         (WebKit::QtBuiltinBundlePage::postMessageFromNavigatorQtObject):
2315         (WebKit::createWrappedMessage):
2316         (WebKit::QtBuiltinBundlePage::didReceiveMessageToNavigatorQtObject):
2317         (WebKit::QtBuiltinBundlePage::setNavigatorQtObjectEnabled):
2318         (WebKit::QtBuiltinBundlePage::registerNavigatorQtObject):
2319         (WebKit::QtBuiltinBundlePage::navigatorQtObjectClass):
2320         * WebProcess/qt/QtBuiltinBundlePage.h:
2321         (WebKit::QtBuiltinBundlePage::navigatorQtObjectEnabled):
2322
2323 2011-11-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2324
2325         [Qt] Fix qmltest API test failures related to r98973.
2326         https://bugs.webkit.org/show_bug.cgi?id=71280
2327
2328         Reviewed by Noam Rosenthal.
2329
2330         Most of the API was moved from TouchWebView.page to TouchWebView directly.
2331         Fixed the qml tests to reflect this change.
2332
2333         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml:
2334         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml:
2335         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml:
2336         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml:
2337         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml:
2338         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml:
2339         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml:
2340
2341 2011-11-02  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2342
2343         [Qt] Handle interruption of page interaction better
2344         https://bugs.webkit.org/show_bug.cgi?id=71366
2345
2346         Reviewed by Simon Hausmann.
2347
2348         Touching the screen when a kinetic scrolling animation is running or
2349         it is bouncing back because it was out of bounds, the animation is
2350         immediately stopped and the content is immediately put into valid
2351         bounds.
2352
2353         Touching the screen when the contents is bouncing back from a pinch
2354         zoom which was out of bounds, we do not stop the animation, but
2355         instead ignored the touch events while the animation lasts.
2356
2357         In the future we want to queue the events instead.
2358
2359         This also fixes some issues which was present before: As the bounce
2360         back animation from pinch zoom centers the content using the contents
2361         point which was in the center of the viewport, this animation could
2362         not be used when stopping a pan animation, as it wouldn't position the
2363         content at the place it was when the pan animation was interrupted.
2364
2365         * UIProcess/qt/QtPanGestureRecognizer.cpp:
2366         (WebKit::QtPanGestureRecognizer::recognize):
2367         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
2368         (WebKit::QtPinchGestureRecognizer::recognize):
2369         * UIProcess/qt/QtViewportInteractionEngine.cpp:
2370         (WebKit::QtViewportInteractionEngine::animateContentIntoBoundariesIfNeeded):
2371         (WebKit::QtViewportInteractionEngine::reset):
2372         (WebKit::QtViewportInteractionEngine::setConstraints):
2373         (WebKit::QtViewportInteractionEngine::panAnimationActive):
2374         (WebKit::QtViewportInteractionEngine::panGestureStarted):
2375         (WebKit::QtViewportInteractionEngine::panGestureCancelled):
2376         (WebKit::QtViewportInteractionEngine::pinchAnimationActive):
2377         * UIProcess/qt/QtViewportInteractionEngine.h:
2378
2379 2011-11-02  Zalan Bujtas  <zbujtas@gmail.com>
2380
2381         [Qt][WK2] Move content to resize (setResizesToContentsUsingLayoutSize) from UI process to Web process
2382         https://bugs.webkit.org/show_bug.cgi?id=71107
2383
2384         Reviewed by Kenneth Rohde Christiansen.
2385
2386         Reduce the number of IPC calls to WebProcess by moving the content to resize
2387         calls from UI process to Web process.
2388
2389         * UIProcess/API/qt/qtouchwebview.cpp:
2390         (QTouchWebViewPrivate::updateViewportSize):
2391         (QTouchWebViewPrivate::updateViewportConstraints):
2392         (QTouchWebView::geometryChanged):
2393         * UIProcess/API/qt/qtouchwebview_p.h:
2394         * UIProcess/WebPageProxy.cpp:
2395         (WebKit::WebPageProxy::setViewportSize):
2396         (WebKit::WebPageProxy::preferencesDidChange):
2397         * UIProcess/WebPageProxy.h:
2398         * UIProcess/qt/QtTouchWebPageProxy.cpp:
2399         * UIProcess/qt/QtTouchWebPageProxy.h:
2400         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2401         (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
2402         * WebProcess/WebPage/WebPage.messages.in:
2403
2404 2011-10-18  Dinu Jacob  <dinu.jacob@nokia.com>
2405
2406         [Qt][WK2]: Shouldn't send unhandled TouchCancel event to gesture recognizers
2407         https://bugs.webkit.org/show_bug.cgi?id=70333
2408
2409         Reviewed by Simon Hausmann.
2410
2411         Gesture recognizers should be reset for unhandled TouchCancel event.
2412
2413         * UIProcess/qt/qtouchwebpageproxy.cpp:
2414         (QTouchWebPageProxy::doneWithTouchEvent):
2415
2416 2011-11-02  Simon Hausmann  <simon.hausmann@nokia.com>
2417
2418         [Qt][WK2] Add support for touch event testing to WebKitTestRunner
2419         https://bugs.webkit.org/show_bug.cgi?id=71310
2420
2421         Reviewed by Kenneth Rohde Christiansen.
2422
2423         * UIProcess/WebPageProxy.cpp:
2424         (WebKit::WebPageProxy::handleTouchEvent): Add support for m_shouldSendEventsSynchronously.
2425         * UIProcess/qt/QtDesktopWebPageProxy.cpp:
2426         (QtDesktopWebPageProxy::handleEvent): Handle plain touch events in the desktop page proxy by
2427         forwarding them appropriately. We will receive them from WTR through ::event, but we won't
2428         receive them from QQuickCanvas (i.e. the user) because that doesn't uses ::event but only
2429         dedicated fooEvent() handlers, of which we don't re-implement the touch version.
2430         (QtDesktopWebPageProxy::handleTouchEvent): Forward touch events to WebPageProxy.
2431         * UIProcess/qt/QtDesktopWebPageProxy.h:
2432         * WebProcess/WebPage/WebPage.cpp:
2433         (WebKit::WebPage::touchEventSyncForTesting): Add support for synchronous touch event testing,
2434         similar to the way it's done for mouse events.
2435         * WebProcess/WebPage/WebPage.h: Ditto.
2436         * WebProcess/WebPage/WebPage.messages.in: Ditto.
2437
2438 2011-11-02  Simon Hausmann  <simon.hausmann@nokia.com>
2439
2440         [WK2] Remove unused/duplicated modifiers member from WebTouchEvent
2441         https://bugs.webkit.org/show_bug.cgi?id=71353
2442
2443         Reviewed by Kenneth Rohde Christiansen.
2444
2445         WebTouchEvent::m_[ctrl,alt,meta,shift]Key are redundant compared to
2446         WebEvent::m_modifiers. The latter is fully populated and used, the former
2447         can be safely removed.
2448
2449         * Shared/WebEvent.h:
2450         * Shared/WebTouchEvent.cpp:
2451         (WebKit::WebTouchEvent::WebTouchEvent):
2452         * Shared/qt/WebEventFactoryQt.cpp:
2453         (WebKit::WebEventFactory::createWebTouchEvent):
2454
2455 2011-11-02  Philippe Normand  <pnormand@igalia.com>
2456
2457         Unreviewed, skip testWebKitSettingsNewWithSettings affected by bug
2458         70127.
2459
2460         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
2461         (testWebKitSettingsNewWithSettings):
2462
2463 2011-11-01  Andras Becsi  <andras.becsi@nokia.com>
2464
2465         [Qt][WK2] Make API tests less noisy
2466         https://bugs.webkit.org/show_bug.cgi?id=71295
2467
2468         Reviewed by Simon Hausmann.
2469
2470         Suppress superfluous debug messages of Qt5.
2471
2472         * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
2473         * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp:
2474         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
2475         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
2476         (main):
2477         * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp:
2478         * UIProcess/API/qt/tests/util.cpp:
2479         (messageHandler):
2480         * UIProcess/API/qt/tests/util.h:
2481
2482 2011-11-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2483
2484         [Qt] Merge common desktop and touch view APIs under a base class.
2485         https://bugs.webkit.org/show_bug.cgi?id=71280
2486
2487         Reviewed by Andreas Kling.
2488
2489         - Make QDesktopWebView and QTouchWebView inherit from QBaseWebView.
2490         - Move methods from QTouchWebPage to QTouchWebView (through the base class).
2491
2492         We use the same convenience macros as Qt internally by hiding QObject::d_ptr
2493         with QBaseWebView::d_ptr instead of inheriting QBaseWebViewPrivate from
2494         QQuickItemPrivate.
2495         Also, QBaseWebView currently inherits from QQuickPaintedItem since QDesktopWebView
2496         needs it, but should be changed as soon as this is not required anymore.
2497
2498         * UIProcess/API/qt/qbasewebview.cpp: Added.
2499         (QBaseWebViewPrivate::QBaseWebViewPrivate):
2500         (QBaseWebViewPrivate::setPageProxy):
2501         (QBaseWebView::QBaseWebView):
2502         (QBaseWebView::~QBaseWebView):
2503         (QBaseWebView::load):
2504         (QBaseWebView::url):
2505         (QBaseWebView::loadProgress):
2506         (QBaseWebView::title):
2507         (QBaseWebView::navigationController):
2508         (QBaseWebView::preferences):
2509         * UIProcess/API/qt/qbasewebview.h: Copied from Source/WebKit2/UIProcess/API/qt/qtouchwebpage.h.
2510         * UIProcess/API/qt/qbasewebview_p.h: Copied from Source/WebKit2/UIProcess/API/qt/qtouchwebpage_p.h.
2511         (QBaseWebViewPrivate::~QBaseWebViewPrivate):
2512         * UIProcess/API/qt/qdesktopwebview.cpp:
2513         (QDesktopWebViewPrivate::QDesktopWebViewPrivate):
2514         (QDesktopWebViewPrivate::enableMouseEvents):
2515         (QDesktopWebViewPrivate::disableMouseEvents):
2516         (QDesktopWebViewPrivate::webView):
2517         (QDesktopWebViewPrivate::setViewNeedsDisplay):
2518         (QDesktopWebViewPrivate::drawingAreaSize):
2519         (QDesktopWebViewPrivate::hasFocus):
2520         (QDesktopWebViewPrivate::isVisible):
2521         (QDesktopWebViewPrivate::startDrag):
2522         (QDesktopWebViewPrivate::didChangeUrl):
2523         (QDesktopWebViewPrivate::didChangeTitle):
2524         (QDesktopWebViewPrivate::didChangeStatusText):
2525         (QDesktopWebViewPrivate::loadDidBegin):
2526         (QDesktopWebViewPrivate::loadDidSucceed):
2527         (QDesktopWebViewPrivate::loadDidFail):
2528         (QDesktopWebViewPrivate::didChangeLoadProgress):
2529         (QDesktopWebViewPrivate::showContextMenu):
2530         (QDesktopWebViewPrivate::runJavaScriptAlert):
2531         (QDesktopWebViewPrivate::runJavaScriptConfirm):
2532         (QDesktopWebViewPrivate::runJavaScriptPrompt):
2533         (QDesktopWebView::QDesktopWebView):
2534         (QDesktopWebViewPrivate::init):
2535         (QDesktopWebView::~QDesktopWebView):
2536         (QDesktopWebView::geometryChanged):
2537         (QDesktopWebView::paint):
2538         (QDesktopWebView::event):
2539         (QDesktopWebView::pageRef):
2540         (QDesktopWebViewPrivate::processDidCrash):
2541         (QDesktopWebViewPrivate::didRelaunchProcess):
2542         (QDesktopWebViewPrivate::engine):
2543         (QDesktopWebViewPrivate::chooseFiles):
2544         (QDesktopWebViewPrivate::_q_onOpenPanelFilesSelected):
2545         (QDesktopWebViewPrivate::_q_onOpenPanelFinished):
2546         (QDesktopWebViewPrivate::didMouseMoveOverElement):
2547         (QDesktopWebViewPrivate::navigationPolicyForURL):
2548         * UIProcess/API/qt/qdesktopwebview.h:
2549         * UIProcess/API/qt/qdesktopwebview_p.h:
2550         * UIProcess/API/qt/qtouchwebpage.cpp:
2551         (QTouchWebPage::event):
2552         (QTouchWebPage::geometryChanged):
2553         (QTouchWebPagePrivate::QTouchWebPagePrivate):
2554         (QTouchWebPagePrivate::setPageProxy):
2555         (QTouchWebPagePrivate::paintToCurrentGLContext):
2556         * UIProcess/API/qt/qtouchwebpage.h:
2557         * UIProcess/API/qt/qtouchwebpage_p.h:
2558         (QTouchWebPagePrivate::touchPageProxy):
2559         * UIProcess/API/qt/qtouchwebview.cpp:
2560         (QTouchWebViewPrivate::init):
2561         (QTouchWebViewPrivate::loadDidCommit):
2562         (QTouchWebViewPrivate::_q_viewportUpdated):
2563         (QTouchWebViewPrivate::_q_viewportTrajectoryVectorChanged):
2564         (QTouchWebViewPrivate::updateViewportConstraints):
2565         (QTouchWebView::QTouchWebView):
2566         (QTouchWebView::~QTouchWebView):
2567         (QTouchWebView::page):
2568         (QTouchWebView::geometryChanged):
2569         (QTouchWebView::onVisibleChanged):
2570         * UIProcess/API/qt/qtouchwebview.h:
2571         * UIProcess/API/qt/qtouchwebview_p.h:
2572         (QTouchWebViewPrivate::touchPageProxy):
2573         * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
2574         (tst_CommonViewTests::loadNonexistentFileUrl):
2575         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
2576         (WebViewAbstraction::WebViewAbstraction):
2577         (WebViewAbstraction::load):
2578         (WebViewAbstraction::url):
2579         (WebViewAbstraction::loadProgress):
2580         (WebViewAbstraction::goBack):
2581         (WebViewAbstraction::goForward):
2582         (WebViewAbstraction::stop):
2583         (WebViewAbstraction::reload):
2584         (WebViewAbstraction::touchViewLoadFailed):
2585         (WebViewAbstraction::desktopViewLoadFailed):
2586         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
2587         * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp:
2588         (tst_QTouchWebView::navigationStatusAtStartup):
2589         * UIProcess/qt/QtDesktopWebPageProxy.cpp:
2590         (QtDesktopWebPageProxy::createPopupMenuProxy):
2591         * UIProcess/qt/QtTouchViewInterface.cpp:
2592         (WebKit::QtTouchViewInterface::didChangeViewportProperties):
2593         (WebKit::QtTouchViewInterface::didChangeUrl):
2594         (WebKit::QtTouchViewInterface::didChangeTitle):
2595         (WebKit::QtTouchViewInterface::loadDidBegin):
2596         (WebKit::QtTouchViewInterface::loadDidCommit):
2597         (WebKit::QtTouchViewInterface::loadDidSucceed):
2598         (WebKit::QtTouchViewInterface::loadDidFail):
2599         (WebKit::QtTouchViewInterface::didChangeLoadProgress):
2600         * WebKit2API.pri:
2601
2602 2011-10-31  Anders Carlsson  <andersca@apple.com>
2603
2604         PluginProxy shouldn't use window-relative coordinates
2605         https://bugs.webkit.org/show_bug.cgi?id=71261
2606
2607         Reviewed by Adam Roben.
2608
2609         Change PluginProxy::wantsWindowRelativeCoordinates to return false and remove
2610         m_frameRectInWindowCoordinates and m_clipRectInWindowCoordinates. This is yet another step
2611         towards eliminating window-relative coordinates wherever possible.
2612
2613         * WebProcess/Plugins/PluginProxy.cpp:
2614         (WebKit::PluginProxy::paint):
2615         Since the dirty rect passed to paint is now in plug-in coordinates, there's no need to convert it
2616         from window coordinates to plug-in coordinates before passing it to BackingStore::paint.
2617
2618         (WebKit::PluginProxy::deprecatedGeometryDidChange):
2619         Assert that we're not calling this anymore.
2620
2621         (WebKit::PluginProxy::wantsWindowRelativeCoordinates):
2622         Return false.
2623
2624 2011-11-01  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2625
2626         The QtViewportInteractionEngine should consider DPI adjustment
2627         https://bugs.webkit.org/show_bug.cgi?id=71283
2628
2629         Reviewed by Simon Hausmann.
2630
2631         * UIProcess/API/qt/qtouchwebview.cpp:
2632
2633             Add some default values for now to make sure we are testing the
2634             DPI adjustment / CSS-item space conversion.
2635
2636         (QTouchWebViewPrivate::updateViewportConstraints):
2637         * UIProcess/qt/QtViewportInteractionEngine.cpp:
2638         (WebKit::ViewportUpdateGuard::ViewportUpdateGuard):
2639         (WebKit::ViewportUpdateGuard::~ViewportUpdateGuard):
2640
2641             Clean up the guard to be more understandable.
2642
2643         (WebKit::QtViewportInteractionEngine::cssScaleFromItem):
2644         (WebKit::QtViewportInteractionEngine::itemScaleFromCSS):
2645
2646             Add methods for converting between CSS and item space.
2647
2648         (WebKit::QtViewportInteractionEngine::innerBoundedCSSScale):
2649         (WebKit::QtViewportInteractionEngine::outerBoundedCSSScale):
2650
2651             Make it clean which methods uses which coord space.
2652
2653         (WebKit::QtViewportInteractionEngine::updateVisibleRect):
2654         (WebKit::QtViewportInteractionEngine::event):
2655         (WebKit::QtViewportInteractionEngine::computePosRangeForItemScale):
2656
2657             Rename calculateBoundariesForScale and change its implementation to
2658             be correct. The new name reflects the space in which the computation
2659             takes place and reflects similar Qt API.
2660
2661         (WebKit::QtViewportInteractionEngine::animateContentIntoBoundariesIfNeeded):
2662         (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
2663         (WebKit::QtViewportInteractionEngine::scaleContent):
2664
2665             Make sure to consider the right coord space.
2666
2667         * UIProcess/qt/QtViewportInteractionEngine.h:
2668         (WebKit::QtViewportInteractionEngine::Constraints::Constraints):
2669
2670             Add the devicePixelRatio.
2671
2672 2011-11-01  Simon Hausmann  <simon.hausmann@nokia.com>
2673
2674         Prospective clang build fix.
2675
2676         Reviewed by Andreas Kling.
2677
2678         * UIProcess/WebPageProxy.cpp:
2679         (WebKit::WebPageProxy::didReceiveEvent): Handle GestureSingleTap in the event type switch.
2680
2681 2011-11-01  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2682
2683         [Qt] Create infrastructure for Qt's builtin bundle in web process.
2684         https://bugs.webkit.org/show_bug.cgi?id=71279
2685
2686         Reviewed by Simon Hausmann.
2687
2688         Create a builtin bundle for Qt port: an InjectedBundle which the code is together
2689         with the Qt's web process instead of being in a different library. This gives us
2690         access to many hooks at web process (using WKBundle* functions of C API) without
2691         adding any maintenance burden to cross-port code.
2692
2693         Since we also use a InjectedBundle in the WebKitTestRunner, we only install our
2694         builtin bundle if there's no other installed. This is fine because WTR won't use
2695         the extra runtime features that we plan to provide with the builtin bundle.
2696
2697         * WebKit2.pro:
2698         * WebProcess/qt/QtBuiltinBundle.cpp: Added.
2699         (WebKit::QtBuiltinBundle::~QtBuiltinBundle):
2700         (WebKit::QtBuiltinBundle::shared):
2701         (WebKit::QtBuiltinBundle::initialize):
2702         (WebKit::QtBuiltinBundle::didCreatePage):
2703         (WebKit::QtBuiltinBundle::willDestroyPage):
2704         (WebKit::QtBuiltinBundle::bundlePageForPageRef):
2705         * WebProcess/qt/QtBuiltinBundle.h: Added.
2706         (WebKit::QtBuiltinBundle::toRef):
2707         Object that holds a WKBundleRef and keeps track of the pages in the current context.
2708
2709         * WebProcess/qt/QtBuiltinBundlePage.cpp: Added.
2710         (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
2711         (WebKit::QtBuiltinBundlePage::~QtBuiltinBundlePage):
2712         * WebProcess/qt/QtBuiltinBundlePage.h: Added.
2713         (WebKit::QtBuiltinBundlePage::page):
2714         Our representation for pages from the bundle perspective. This will be the right
2715         place to registering page related clients.
2716
2717         * WebProcess/qt/WebProcessQt.cpp:
2718         (WebKit::WebProcess::platformInitializeWebProcess):
2719         If there's no bundle to be loaded, initialize Qt builtin bundle, which will register the
2720         bundle client for this context.
2721
2722 2011-11-01  Simon Hausmann  <simon.hausmann@nokia.com>
2723
2724         [WK2] Add WebGestureEvents to the Qt build and enable PlatformGestureEvent::TapType
2725         https://bugs.webkit.org/show_bug.cgi?id=71274
2726
2727         Reviewed by Kenneth Christiansen.
2728
2729         * Shared/WebEvent.h: Add GestureSingleTap as gesture type.
2730         * Shared/WebEventConversion.cpp:
2731         (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent): Support converting
2732         WebEven::GestureSingleTap to PlatformGestureEvent::TapType.
2733         * Shared/WebGestureEvent.cpp:
2734         (WebKit::WebGestureEvent::isGestureEventType): GestureSingleTap is a valid gesture event type.
2735         * WebKit2.pro: Add WebGestureEvent.cpp to the build.
2736
2737 2011-10-31  Anders Carlsson  <andersca@apple.com>
2738
2739         PluginProxy::Update should pass the painted rect in plug-in coordinates
2740         https://bugs.webkit.org/show_bug.cgi?id=71257
2741
2742         Reviewed by Adam Roben.
2743
2744         This is one step in the process of migrating away from window relative coordinates
2745         and use plug-in relative coordinates instead, since window relative coordinates won't work
2746         with transforms.
2747
2748         * PluginProcess/PluginControllerProxy.cpp:
2749         (WebKit::PluginControllerProxy::paint):
2750         Convert the dirty rect back to plug-in coordinates.
2751
2752         * WebProcess/Plugins/PluginProxy.cpp:
2753         (WebKit::PluginProxy::update):
2754         No need to convert the painted rect back to plug-in coordinates anymore.
2755
2756         * WebProcess/Plugins/PluginProxy.messages.in:
2757         Document that the painted rect is in plug-in coordinates.
2758
2759 2011-10-31  Anders Carlsson  <andersca@apple.com>
2760
2761         PluginControllerProxy should call Plugin::geometryDidChange
2762         https://bugs.webkit.org/show_bug.cgi?id=71255
2763
2764         Reviewed by Sam Weinig.
2765
2766         Pass enough information over in the GeometryDidChange message sent from
2767         PluginProxy to PluginControllerProxy so that PluginControllerProxy can call
2768         Plugin::geometryDidChange.
2769
2770         * PluginProcess/PluginControllerProxy.cpp:
2771         (WebKit::PluginControllerProxy::paint):
2772         (WebKit::PluginControllerProxy::invalidate):
2773         (WebKit::PluginControllerProxy::paintEntirePlugin):
2774         Update for rename from m_frameRect to m_frameRectInWindowCoordinates.
2775
2776         (WebKit::PluginControllerProxy::geometryDidChange):
2777         This now takes the plug-in size and the plug-in to root view transform as well.
2778
2779         * PluginProcess/PluginControllerProxy.h:
2780         Store the plug-in size and rename m_frameRect to m_frameRectInWindowCoordinates.
2781
2782         * PluginProcess/PluginControllerProxy.messages.in:
2783         Update message signature.
2784
2785         * PluginProcess/mac/PluginControllerProxyMac.mm:
2786         (WebKit::PluginControllerProxy::platformGeometryDidChange):
2787         Use the plug-in size instead of the frame rect size.
2788
2789         * Shared/WebCoreArgumentCoders.cpp:
2790         (CoreIPC::::encode):
2791         (CoreIPC::::decode):
2792         * Shared/WebCoreArgumentCoders.h:
2793         Add encoder/decoder for WebCore::AffineTransform.
2794
2795         * WebProcess/Plugins/PluginProxy.cpp:
2796         (WebKit::PluginProxy::geometryDidChange):
2797         Compute the frame rect in window coordinates and send it over.
2798
2799         (WebKit::PluginProxy::deprecatedGeometryDidChange):
2800         Move call to geometryDidChange() from here to the new PluginProxy::geometryDidChange.
2801
2802 2011-10-31  Anders Carlsson  <andersca@apple.com>
2803
2804         Remove some uses of m_frameRectInWindowCoordinates from PluginProxy
2805         https://bugs.webkit.org/show_bug.cgi?id=71252
2806
2807         Reviewed by Darin Adler.
2808
2809         * WebProcess/Plugins/PluginProxy.cpp:
2810         (WebKit::PluginProxy::paint):
2811         (WebKit::PluginProxy::geometryDidChange):
2812         (WebKit::PluginProxy::updateBackingStore):
2813         (WebKit::PluginProxy::pluginBounds):
2814         * WebProcess/Plugins/PluginProxy.h:
2815
2816 2011-10-31  Anders Carlsson  <andersca@apple.com>
2817
2818         Implement PluginProxy::geometryDidChange
2819         https://bugs.webkit.org/show_bug.cgi?id=71251
2820
2821         Reviewed by Sam Weinig.
2822
2823         Keep track of the plug-in size, the clip rect in plug-in coordinates and the
2824         transformation matrix from the root view to the plug-in.
2825
2826         * WebProcess/Plugins/PluginProxy.cpp:
2827         (WebKit::PluginProxy::geometryDidChange):
2828         * WebProcess/Plugins/PluginProxy.h:
2829
2830 2011-10-31  Anders Carlsson  <andersca@apple.com>
2831
2832         Fix the X11 build.
2833
2834         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
2835         (WebKit::NetscapePlugin::platformGeometryDidChange):
2836         (WebKit::NetscapePlugin::platformPaint):
2837         (WebKit::NetscapePlugin::platformHandleMouseEvent):
2838         (WebKit::NetscapePlugin::platformHandleWheelEvent):
2839         (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
2840         (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
2841
2842 2011-10-31  Anders Carlsson  <andersca@apple.com>
2843
2844         Factor code to resize the plug-in backing store out into a separate function
2845         https://bugs.webkit.org/show_bug.cgi?id=71250
2846
2847         Reviewed by Adam Roben.
2848
2849         Add a PluginProxy::contentsScaleFactor helper function to get rid of a bunch of PLATFORM(MAC) #ifdefs,
2850         and move the code to update the backing store out into a separate function.
2851
2852         * WebProcess/Plugins/PluginProxy.cpp:
2853         (WebKit::PluginProxy::initialize):
2854         (WebKit::PluginProxy::paint):
2855         (WebKit::PluginProxy::geometryDidChange):
2856         (WebKit::PluginProxy::contentsScaleFactor):
2857         (WebKit::PluginProxy::updateBackingStore):
2858         (WebKit::PluginProxy::update):
2859         * WebProcess/Plugins/PluginProxy.h:
2860
2861 2011-10-31  Jeff Miller  <jeffm@apple.com>
2862
2863         Add more APIs to WKUserContentURLPattern.h
2864         https://bugs.webkit.org/show_bug.cgi?id=71245
2865         
2866         Add additional WKUserContentURLPattern APIs to match what was provided by
2867         the equivalent WebKit1 API.
2868
2869         Reviewed by Darin Adler.
2870
2871         * Shared/API/c/WKUserContentURLPattern.cpp:
2872         (WKUserContentURLPatternCopyHost): Added.
2873         (WKUserContentURLPatternCopyScheme): Added.
2874         (WKUserContentURLPatternIsValid): Added.
2875         (WKUserContentURLPatternMatchesSubdomains): Added.
2876         
2877         * Shared/API/c/WKUserContentURLPattern.h: Added new APIs.
2878         
2879         * Shared/WebUserContentURLPattern.h:
2880         (WebKit::WebUserContentURLPattern::host): Added.
2881         (WebKit::WebUserContentURLPattern::scheme): Added.
2882         (WebKit::WebUserContentURLPattern::isValid): Added.
2883         (WebKit::WebUserContentURLPattern::matchesSubdomains): Added.
2884
2885 2011-10-31  Anders Carlsson  <andersca@apple.com>
2886
2887         More work on making plug-ins work better with transforms
2888         https://bugs.webkit.org/show_bug.cgi?id=71241
2889
2890         Reviewed by Darin Adler.
2891
2892         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2893         (WebKit::NetscapePlugin::geometryDidChange):
2894         Implement NetscapePlugin::geometryDidChange and store the plug-in size,
2895         the clip rect and the root view transform. Use the transform to compute the window
2896         relative frame and clip rects.
2897
2898         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2899         Add new member variables.
2900
2901         * WebProcess/Plugins/PluginView.cpp:
2902         (WebKit::PluginView::viewGeometryDidChange):
2903         Always call the new Plugin::geometryDidChange.
2904
2905 2011-10-27  Anders Carlsson  <andersca@apple.com>
2906
2907         Rename a couple of NetscapePlugin and PluginProxy member variables
2908         https://bugs.webkit.org/show_bug.cgi?id=71086
2909
2910         Reviewed by Sam Weinig.
2911
2912         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2913         (WebKit::NetscapePlugin::invalidate):
2914         (WebKit::NetscapePlugin::callSetWindow):
2915         (WebKit::NetscapePlugin::snapshot):
2916         (WebKit::NetscapePlugin::deprecatedGeometryDidChange):
2917         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2918         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2919         (WebKit::NetscapePlugin::platformPaint):
2920         (WebKit::NetscapePlugin::platformHandleMouseEvent):
2921         (WebKit::NetscapePlugin::platformHandleWheelEvent):
2922         (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
2923         (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
2924         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
2925         (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate):
2926         (WebKit::NetscapePlugin::platformPaint):
2927         * WebProcess/Plugins/PluginProxy.cpp:
2928         (WebKit::PluginProxy::paint):
2929         (WebKit::PluginProxy::geometryDidChange):
2930         (WebKit::PluginProxy::deprecatedGeometryDidChange):
2931         (WebKit::PluginProxy::update):
2932         * WebProcess/Plugins/PluginProxy.h:
2933         * WebProcess/Plugins/PluginView.cpp:
2934         (WebKit::PluginView::viewGeometryDidChange):
2935
2936 2011-10-31  Andras Becsi  <andras.becsi@nokia.com>
2937
2938         [Qt][WK2] Fix qmltests after r98460 added widgets dependency.
2939
2940         Reviewed by Simon Hausmann.
2941
2942         Use QApplication and QtWidgets until we get rid of the widgets dependency of QScroller.
2943
2944         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
2945         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
2946         (main):
2947
2948 2011-10-31  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2949
2950         [Qt] Make QWebPreferences hold a QtWebPageProxy
2951         https://bugs.webkit.org/show_bug.cgi?id=71219
2952
2953         Reviewed by Andreas Kling.
2954
2955         Change QWebPreferences to keep a pointer to QtWebPageProxy.  The reason is that
2956         some features we want to control (like the messaging exchange between WebView and
2957         the web process) are not available via WKPreferencesRef.
2958
2959         QtWebPageProxy now uses an OwnPtr to keep the QWebPreferences to clarify the
2960         ownership relationship. Before this change the QWebPreferences created was leaking.
2961
2962         * UIProcess/API/qt/qwebpreferences.cpp:
2963         (QWebPreferencesPrivate::createPreferences):
2964         (QWebPreferencesPrivate::testAttribute):
2965         (QWebPreferencesPrivate::setAttribute):
2966         (QWebPreferencesPrivate::setFontFamily):
2967         (QWebPreferencesPrivate::fontFamily):
2968         (QWebPreferencesPrivate::setFontSize):
2969         (QWebPreferencesPrivate::fontSize):
2970         (QWebPreferencesPrivate::preferencesRef):
2971         * UIProcess/API/qt/qwebpreferences.h:
2972         * UIProcess/API/qt/qwebpreferences_p.h:
2973         * UIProcess/qt/QtWebPageProxy.cpp:
2974         (QtWebPageProxy::QtWebPageProxy):
2975         (QtWebPageProxy::preferences):
2976         * UIProcess/qt/QtWebPageProxy.h:
2977
2978 2011-10-31  Carlos Garcia Campos  <cgarcia@igalia.com>
2979
2980         [GTK] Add webkit_settings_new_with_settings() to WebKit2 GTK+ API
2981         https://bugs.webkit.org/show_bug.cgi?id=71111
2982
2983         Reviewed by Martin Robinson.
2984
2985         Convenient method to create a WebKitSettings object with initial
2986         settings.
2987
2988         * UIProcess/API/gtk/WebKitSettings.cpp:
2989         (webkit_settings_new_with_settings):
2990         * UIProcess/API/gtk/WebKitSettings.h:
2991         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
2992         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
2993         (testWebKitSettingsNewWithSettings):
2994         (beforeAll):
2995
2996 2011-10-31  Carlos Garcia Campos  <cgarcia@igalia.com>
2997
2998         [GTK] Add methods to get/set the settings of a web view to WebKit2 GTK+ API
2999         https://bugs.webkit.org/show_bug.cgi?id=71109
3000
3001         Reviewed by Martin Robinson.
3002
3003         * GNUmakefile.am: Add WebKitSettingsPrivate.h.
3004         * UIProcess/API/gtk/WebKitSettings.cpp:
3005         (webkitSettingsAttachSettingsToPage): Set the preferences of the
3006         given WebKitSettings object to the page group of the given WKPage.
3007         * UIProcess/API/gtk/WebKitSettingsPrivate.h: Added.
3008         * UIProcess/API/gtk/WebKitWebView.cpp:
3009         (webkitWebViewConstructed): Create the default WebKitSettings for
3010         the view.
3011         (webkit_web_view_set_settings):
3012         (webkit_web_view_get_settings):
3013         * UIProcess/API/gtk/WebKitWebView.h:
3014         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
3015         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
3016         (testWebViewSettings):
3017         (beforeAll):
3018
3019 2011-10-31  Carlos Garcia Campos  <cgarcia@igalia.com>
3020
3021         Unreviewed. Fix make distcheck build.
3022
3023         * GNUmakefile.am: Remove docs/GNUmakefile.in from EXTRA_DIST,
3024         since its generation was removed from configure.ac in r98498.
3025
3026 2011-10-28  Jeff Miller  <jeffm@apple.com>
3027
3028         More work on WebKit2 should respect WebKitOmitPDFSupport preference on the Mac
3029         https://bugs.webkit.org/show_bug.cgi?id=71156
3030         
3031         Don't include PDF and PostScript types in the set of MIME types with custom representations
3032         when initializing the web process if WebKitOmitPDFSupport is set.
3033         
3034         I believe the previous patch r98513 was actually sufficient to prevent PDFs from being
3035         shown inline when this preference was set, but to be complete we should exclude the MIME
3036         types here as well.
3037
3038         Reviewed by Alexey Proskuryakov.
3039
3040         * UIProcess/mac/WebContextMac.mm:
3041         (WebKit::WebContext::platformInitializeWebProcess):
3042
3043 2011-10-28  John Sullivan  <sullivan@apple.com>
3044
3045         WebKit2 part of:
3046         https://bugs.webkit.org/show_bug.cgi?id=71142
3047         Whether backspace goes Back should be configurable
3048
3049         Reviewed by Sam Weinig.
3050
3051         * Shared/WebPreferencesStore.h:
3052         Declared backspaceKeyNavigationEnabled property using macro. This initializes
3053         it to true, to match current behavior.
3054         
3055         * UIProcess/API/C/WKPreferences.cpp:
3056         (WKPreferencesSetBackspaceKeyNavigationEnabled):
3057         New function, pass value to impl.
3058         (WKPreferencesGetBackspaceKeyNavigationEnabled):
3059         New function, returns result from impl.
3060         
3061         * UIProcess/API/C/WKPreferences.h:
3062         Declared API functions for new preference.
3063         
3064         * WebProcess/WebPage/WebPage.cpp:
3065         (WebKit::WebPage::updatePreferences):
3066         Updates WebCore settings from WebKit2 prefs.
3067
3068 2011-10-28  Timothy Hatcher  <timothy@apple.com>
3069
3070         Support using a different front-end for the Web Inspector in WebKit2.
3071
3072         rdar://problem/10318665
3073         https://webkit.org/b/71089
3074
3075         Reviewed by Sam Weinig.
3076
3077         * Shared/WebProcessCreationParameters.cpp:
3078         (WebKit::WebProcessCreationParameters::encode): Added webInspectorBasePath and webInspectorLocalizedStringsPath.
3079         (WebKit::WebProcessCreationParameters::decode): Ditto.
3080         * Shared/WebProcessCreationParameters.h:
3081         * UIProcess/API/C/WKContext.cpp:
3082         (WKContextSetOverrideWebInspectorBaseDirectory): Added. Calls through to WebContext.
3083         (WKContextSetOverrideWebInspectorPagePath): Ditto.
3084         (WKContextSetOverrideWebInspectorLocalizedStringsPath): Ditto.
3085         * UIProcess/API/C/WKContextPrivate.h:
3086         * UIProcess/WebContext.cpp:
3087         (WebKit::WebContext::ensureWebProcess): Set webInspectorBasePath and webInspectorLocalizedStringsPath.
3088         * UIProcess/WebContext.h:
3089         (WebKit::WebContext::overrideWebInspectorBaseDirectory): Added.
3090         (WebKit::WebContext::setOverrideWebInspectorBaseDirectory): Added.
3091         (WebKit::WebContext::overrideWebInspectorPagePath): Added.
3092         (WebKit::WebContext::setOverrideWebInspectorPagePath): Added.
3093         (WebKit::WebContext::setOverrideWebInspectorLocalizedStringsPath): Added.
3094         * UIProcess/mac/WebInspectorProxyMac.mm:
3095         (WebKit::WebInspectorProxy::inspectorPageURL): Use WebContext::overrideWebInspectorPagePath if set.
3096         (WebKit::WebInspectorProxy::inspectorBaseURL): Use WebContext::overrideWebInspectorBaseDirectory if set.
3097         * WebProcess/WebPage/WebInspector.h:
3098         * WebProcess/WebPage/mac/WebInspectorMac.mm:
3099         (WebKit::globalInspectorLocalizedStringsURL): Added. Static storage for the setting.
3100         (WebKit::WebInspector::setLocalizedStringsPath): Added. Set globalInspectorLocalizedStringsURL.
3101         (WebKit::WebInspector::localizedStringsURL): Return globalInspectorLocalizedStringsURL.
3102         * WebProcess/com.apple.WebProcess.sb: Added read-only subpath for WEBKIT_WEB_INSPECTOR_DIR.
3103         * WebProcess/mac/WebProcessMac.mm:
3104         (WebKit::appendReadonlySandboxDirectory): Check path for empty to prevent an exception when
3105         calling through to fileSystemRepresentation.
3106         (WebKit::initializeSandbox): Added WEBKIT_WEB_INSPECTOR_DIR parameter.
3107         (WebKit::WebProcess::platformInitializeWebProcess): Call WebInspector::setLocalizedStringsPath.
3108
3109 2011-10-28  Alexey Proskuryakov  <ap@apple.com>
3110
3111         Clean up BuiltInPDFView a little
3112         https://bugs.webkit.org/show_bug.cgi?id=71133
3113
3114         Reviewed by Daniel Bates.
3115
3116         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: (WebKit::BuiltInPDFView::createScrollbar):
3117         Removed an incorrect FIXME. Custom scrollbars specified in a document don't apply
3118         to subframes, and thus shouldn't apply to PDFs.
3119
3120         * WebProcess/Plugins/PDF/BuiltInPDFView.h: (WebKit::BuiltInPDFView::zoomAnimatorTransformChanged):
3121         Moved to a correct location. This is not a Plugin method, but a ScrollView one.
3122
3123 2011-10-28  Jochen Eisinger  <jochen@chromium.org>
3124
3125         Rename a number of methods mentioning JavaScript to just Script instead
3126         https://bugs.webkit.org/show_bug.cgi?id=71105
3127
3128         Reviewed by Adam Barth.
3129
3130         * WebProcess/WebPage/WebPage.cpp:
3131         (WebKit::WebPage::updatePreferences):
3132
3133 2011-10-28  Csaba Osztrogonác  <ossy@webkit.org>
3134
3135         [Qt] Adapt to QSG* to QQuick* API change in qtdeclarative
3136         https://bugs.webkit.org/show_bug.cgi?id=70494
3137
3138         One more buildfix. (unreviewed)
3139
3140         * UIProcess/API/qt/qtouchwebpage.cpp:
3141         (computeEffectiveOpacity):
3142         (QTouchWebPage::itemChange):
3143
3144 2011-10-28  Simon Hausmann  <simon.hausmann@nokia.com>
3145
3146         [Qt] Adapt to QSG* to QQuick* API change in qtdeclarative
3147         https://bugs.webkit.org/show_bug.cgi?id=70494
3148
3149         Reviewed by Kenneth Christiansen.
3150
3151         Use QQuick* instead of QSG* as well as QStandardPaths
3152         instead of QDesktopLocation.
3153
3154         * UIProcess/API/qt/qdesktopwebview.cpp:
3155         (QDesktopWebView::QDesktopWebView):
3156         (QDesktopWebView::geometryChanged):
3157         (QDesktopWebView::event):
3158         (QDesktopWebViewPrivate::engine):
3159         * UIProcess/API/qt/qdesktopwebview.h:
3160         * UIProcess/API/qt/qtouchwebpage.cpp:
3161         (QTouchWebPage::QTouchWebPage):
3162         (QTouchWebPage::event):
3163         (QTouchWebPage::geometryChanged):
3164         * UIProcess/API/qt/qtouchwebpage.h:
3165         * UIProcess/API/qt/qtouchwebview.cpp:
3166         (QTouchWebView::QTouchWebView):
3167         (QTouchWebView::geometryChanged):
3168         (QTouchWebView::touchEvent):
3169         * UIProcess/API/qt/qtouchwebview.h:
3170         * UIProcess/API/qt/tests/testwindow.h:
3171         (TestWindow::TestWindow):
3172         (TestWindow::resizeEvent):
3173         * UIProcess/qt/QtDesktopWebPageProxy.cpp:
3174         (QtDesktopWebPageProxy::createPopupMenuProxy):
3175         * UIProcess/qt/QtSGUpdateQueue.cpp:
3176         (WebKit::QtSGUpdateQueue::QtSGUpdateQueue):
3177         * UIProcess/qt/QtSGUpdateQueue.h:
3178         * UIProcess/qt/QtTouchViewInterface.cpp:
3179         (WebKit::QtTouchViewInterface::engine):
3180         * UIProcess/qt/QtViewportInteractionEngine.cpp:
3181         (WebKit::contentRectInViewportCoordinates):
3182         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
3183         * UIProcess/qt/QtViewportInteractionEngine.h:
3184         * UIProcess/qt/WebContextQt.cpp:
3185         (WebKit::defaultDataLocation):
3186         * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
3187         (WebKit::WebPopupMenuProxyQtDesktop::WebPopupMenuProxyQtDesktop):
3188         * UIProcess/qt/WebPopupMenuProxyQtDesktop.h:
3189         (WebKit::WebPopupMenuProxyQtDesktop::create):
3190
3191 2011-10-28  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3192
3193         [Qt] Make the kinetic engine use the same curve and constants as on the N9
3194         https://bugs.webkit.org/show_bug.cgi?id=71102
3195
3196         Reviewed by Simon Hausmann.
3197
3198         Now that we are using the QScroller for kinetic scrolling and page
3199         interaction, we need to make sure it uses the same curve (exponential)
3200         and the same values as the MeeGo Touch physics engine used on the N9.
3201
3202         * UIProcess/qt/QtViewportInteractionEngine.cpp:
3203         (WebKit::QtViewportInteractionEngine::reset):
3204
3205 2011-10-28  Carlos Garcia Campos  <cgarcia@igalia.com>
3206
3207         [GTK] Add webkit_web_view_get_uri() to WebKit2 GTK+ API
3208         https://bugs.webkit.org/show_bug.cgi?id=70814
3209
3210         Reviewed by Gustavo Noronha Silva.
3211
3212         * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
3213         (didStartProvisionalLoadForFrame): Update WebView URI to make sure
3214         it's updated to provisional URL.
3215         (didReceiveServerRedirectForProvisionalLoadForFrame): Update
3216         WebView URI if there's a server redirection.
3217         (didCommitLoadForFrame): Update WebView URI to make sure it
3218         contains the final one.
3219         (didSameDocumentNavigationForFrame): Update WebView URI when a
3220         navigation action within the same document is performed.
3221         (webkitWebLoaderClientAttachLoaderClientToPage): Add
3222         implementation for didSameDocumentNavigationForFrame callback.
3223         * UIProcess/API/gtk/WebKitWebView.cpp:
3224         (webkit_web_view_class_init): Add URI property.
3225         (webkitWebViewUpdateURI): Check whether current active URI has
3226         changed to updated it and emit ::notify signal if it changes.
3227         (webkit_web_view_load_uri): Call webkitWebViewUpdateURI() to make
3228         sure the active URI is updated when load operation is started.
3229         (webkit_web_view_load_alternate_html): Ditto.
3230         (webkit_web_view_reload): Ditto.
3231         (webkit_web_view_reload_bypass_cache): Ditto.
3232         (webkit_web_view_go_back): Ditto.
3233         (webkit_web_view_go_forward): Ditto.
3234         (webkit_web_view_get_uri): Ditto.
3235         (webkit_web_view_go_to_back_forward_list_item): Ditto.
3236         * UIProcess/API/gtk/WebKitWebView.h:
3237         * UIProcess/API/gtk/WebKitWebViewPrivate.h: Add
3238         webkitWebViewUpdateURI().
3239         * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
3240         (provisionalLoadStartedCallback): Check provisional URL is the
3241         requested URI.
3242         (provisionalLoadReceivedServerRedirectCallback): Check provisional
3243         URL after server redirection is the expected redirected URI.
3244         (provisionalLoadFailedCallback): Check active URI.
3245         (loadCommittedCallback): Ditto.
3246         (loadFinishedCallback): Ditto.
3247         (loadFailedCallback): Ditto
3248         (LoadTrackingTest::LoadTrackingTest): Check active URI is NULL
3249         before any loading operation has started.
3250         * UIProcess/API/gtk/tests/LoadTrackingTest.h:
3251         (LoadTrackingTest::setRedirectURI): Set the redirect URI to check
3252         it after a server redirection.
3253         * UIProcess/API/gtk/tests/TestBackForwardList.cpp:
3254         (testBackForwardListNavigation): Use WebViewTest methods for
3255         navigation actions instead of using WebKitWebView API directly.
3256         (testBackForwardListLimitAndCache): Ditto.
3257         * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
3258         (testLoadingStatus): Ditto.
3259         (testLoadingError): Ditto.
3260         (testLoadAlternateContent): Ditto.
3261         (testLoadCancelled): Ditto.
3262         (testWebViewReload): Ditto.
3263         (testLoadProgress): Ditto.
3264         (testWebViewActiveURI): Add a test to check that notify signal is
3265         emitted when active URI changes and it's correctly updated when
3266         loader client signals are emitted.
3267         (beforeAll): Add active-uri test.
3268         * UIProcess/API/gtk/tests/WebViewTest.cpp: Add custom load methods
3269         wrapping the WebKitWebView ones, to initialize the active URI to
3270         the requested one, so that it can be checked by the loader client
3271         test.
3272         (WebViewTest::loadURI):
3273         (WebViewTest::loadAlternateHTML):
3274         (WebViewTest::goBack):
3275         (WebViewTest::goForward):
3276         (WebViewTest::goToBackForwardListItem):
3277         * UIProcess/API/gtk/tests/WebViewTest.h:
3278
3279 2011-10-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
3280
3281         [Qt][WK2] Synchronize tiling with accelerated compositing
3282         https://bugs.webkit.org/show_bug.cgi?id=69151
3283
3284         Reviewed by Simon Hausmann.
3285
3286         Make QTouchWebView always render with accelerated compositing.
3287         At first, the web content would only render after the rest of the scene has rendered. In a
3288         future patch we'll enable rendering the web content via an FBO, which would cover all other
3289         cases as well.
3290
3291         Right now this only works for QTouchWebView, and thus accelerated compositing is disabled
3292         for desktop web-views. This required adding some settings enablers in Q
3293         WebPreferencesPrivate. Those are not exposed to the public API, as they are an implementation
3294         detail.
3295
3296         * UIProcess/API/qt/qtouchwebpage.cpp:
3297         (QTouchWebPage::QTouchWebPage):
3298         (QTouchWebPage::initSceneGraphConnections):
3299         (QTouchWebPagePrivate::QTouchWebPagePrivate):
3300         (QTouchWebPagePrivate::setPage):
3301         (computeEffectiveOpacity):
3302         (QTouchWebPagePrivate::paintToCurrentGLContext):
3303         (QTouchWebPagePrivate::_q_onAfterSceneRender):
3304         (QTouchWebPagePrivate::_q_onSceneGraphInitialized):
3305         (QTouchWebPage::itemChange):
3306         * UIProcess/API/qt/qtouchwebpage.h:
3307         * UIProcess/API/qt/qtouchwebpage_p.h:
3308         * UIProcess/API/qt/qwebpreferences.cpp:
3309         (QWebPreferencesPrivate::testAttribute):
3310         (QWebPreferencesPrivate::setAttribute):
3311         (QWebPreferencesPrivate::get):
3312         * UIProcess/API/qt/qwebpreferences_p.h:
3313         * UIProcess/TiledDrawingAreaProxy.cpp:
3314         (WebKit::TiledDrawingAreaProxy::renderNextFrame):
3315         * UIProcess/qt/QtDesktopWebPageProxy.cpp:
3316         (QtDesktopWebPageProxy::QtDesktopWebPageProxy):
3317         * UIProcess/qt/QtTouchViewInterface.cpp:
3318         (WebKit::QtTouchViewInterface::setViewNeedsDisplay):
3319         * UIProcess/qt/QtTouchWebPageProxy.cpp:
3320         (QtTouchWebPageProxy::QtTouchWebPageProxy):
3321         (QtTouchWebPageProxy::createDrawingAreaProxy):
3322         (QtTouchWebPageProxy::renderToCurrentGLContext):
3323         (QtTouchWebPageProxy::setVisibleContentRectAndScale):
3324         (QtTouchWebPageProxy::setVisibleContentRectTrajectoryVector):
3325         (QtTouchWebPageProxy::renderNextFrame):
3326         * UIProcess/qt/QtTouchWebPageProxy.h:
3327         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
3328         (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
3329         * WebProcess/WebPage/qt/WebPageQt.cpp:
3330         (WebKit::WebPage::platformInitialize):
3331         * WebProcess/qt/WebProcessMainQt.cpp:
3332         (WebKit::WebProcessMainQt):
3333
3334 2011-10-27  Martin Robinson  <mrobinson@igalia.com>
3335
3336         Fix the GTK+ build after r98664.
3337
3338         * WebProcess/Plugins/Plugin.h: Add an IntSize forward declaration.
3339
3340 2011-10-27  Anders Carlsson  <andersca@apple.com>
3341
3342         Add a Plugin::geometryDidChange that will work with transforms
3343         https://bugs.webkit.org/show_bug.cgi?id=71072
3344
3345         Reviewed by Simon Fraser.
3346
3347         Add a new Plugin::geometryDidChange pure virtual member function, that takes
3348         the size of the plug-in, the clip rect (in plug-in coordinates), and a matrix that makes
3349         it possible to convert between root view coordinates and plug-in coordinates.
3350
3351         PluginView only calls this new geometryDidChange member function if 
3352         Plugin::wantsWindowRelativeCoordinates returns false, which is only true for BuiltInPDFView right now.
3353
3354         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
3355         (WebKit::NetscapePlugin::geometryDidChange):
3356         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
3357         Add stub.
3358
3359         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
3360         (WebKit::BuiltInPDFView::updateScrollbars):
3361         (WebKit::BuiltInPDFView::pdfDocumentDidLoad):
3362         (WebKit::BuiltInPDFView::paintContent):
3363         (WebKit::BuiltInPDFView::deprecatedGeometryDidChange):
3364         (WebKit::BuiltInPDFView::geometryDidChange):
3365         (WebKit::BuiltInPDFView::setScrollOffset):
3366         (WebKit::BuiltInPDFView::maximumScrollPosition):
3367         (WebKit::BuiltInPDFView::visibleHeight):
3368         (WebKit::BuiltInPDFView::visibleWidth):
3369         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
3370         There's no need to keep track of the plug-in rect anymore.
3371
3372         * WebProcess/Plugins/Plugin.h:
3373         Add and document geometryDidChange.
3374
3375         * WebProcess/Plugins/PluginProxy.cpp:
3376         (WebKit::PluginProxy::geometryDidChange):
3377         * WebProcess/Plugins/PluginProxy.h:
3378         Add stub.
3379
3380         * WebProcess/Plugins/PluginView.cpp:
3381         (WebKit::PluginView::viewGeometryDidChange):
3382         Call geometryDidChange.
3383
3384 2011-10-27  Joseph Pecoraro  <pecoraro@apple.com>
3385
3386         Reviewed by David Kilzer.
3387
3388         Make FeatureDefines Identical Across OS X Projects
3389         https://bugs.webkit.org/show_bug.cgi?id=71051
3390
3391         * Configurations/FeatureDefines.xcconfig:
3392
3393 2011-10-27  Anders Carlsson  <andersca@apple.com>
3394
3395         Rename Plugin::geometryDidChange to Plugin::deprecatedGeometryDidChange
3396         https://bugs.webkit.org/show_bug.cgi?id=71065
3397
3398         Reviewed by Simon Fraser.
3399
3400         In preparation for adding a version of geometryDidChange that doesn't take window coordinates.
3401
3402         * PluginProcess/PluginControllerProxy.cpp:
3403         (WebKit::PluginControllerProxy::geometryDidChange):
3404         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
3405         (WebKit::NetscapePlugin::deprecatedGeometryDidChange):
3406         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
3407         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
3408         (WebKit::BuiltInPDFView::deprecatedGeometryDidChange):
3409         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
3410         * WebProcess/Plugins/Plugin.h:
3411         * WebProcess/Plugins/PluginProxy.cpp:
3412         (WebKit::PluginProxy::deprecatedGeometryDidChange):
3413         * WebProcess/Plugins/PluginProxy.h:
3414         * WebProcess/Plugins/PluginView.cpp:
3415         (WebKit::PluginView::viewGeometryDidChange):
3416
3417 2011-10-27  Michael Saboff  <msaboff@apple.com>
3418
3419         Investigate storing strings in 8-bit buffers when possible
3420         https://bugs.webkit.org/show_bug.cgi?id=66161
3421
3422         Added export of StringImpl::getData16SlowCase for linking tests.
3423
3424         Reviewed by Geoffrey Garen.
3425
3426         * win/WebKit2.def:
3427
3428 2011-10-27  Sam Weinig  <sam@webkit.org>
3429
3430         Add allowsPlugIns property to WKBrowsingContextGroup
3431         https://bugs.webkit.org/show_bug.cgi?id=70987
3432
3433         Reviewed by Anders Carlsson.
3434
3435         Test: WKBrowsingContextGroupTest.GetSetPluginsEnabled
3436
3437         * UIProcess/API/mac/WKBrowsingContextGroup.h:
3438         * UIProcess/API/mac/WKBrowsingContextGroup.mm:
3439         (-[WKBrowsingContextGroup allowsJavaScript]):
3440         (-[WKBrowsingContextGroup setAllowsJavaScript:]):
3441         Rename to allowsJavaScript/setAllowsJavaScript.
3442
3443         (-[WKBrowsingContextGroup allowsPlugIns]):
3444         (-[WKBrowsingContextGroup setAllowsPlugIns:]):
3445         Add allowsPlugIns/setAllowsPlugIns.
3446
3447 2011-10-27  Carlos Garcia Campos  <cgarcia@igalia.com>
3448
3449         [Cairo] Implement ShareableBitmap::paint() when scaleFactor=1
3450         https://bugs.webkit.org/show_bug.cgi?id=71027
3451
3452         Reviewed by Martin Robinson.
3453
3454         Fixes windowless plugins in GTK+ port.
3455
3456         * Shared/cairo/ShareableBitmapCairo.cpp:
3457         (WebKit::ShareableBitmap::paint): When scaleFactor is 1, simply
3458         call the paint method that doesn't receive a scaleFactor.
3459
3460 2011-10-27  Sheriff Bot  <webkit.review.bot@gmail.com>
3461
3462         Unreviewed, rolling out r98556.
3463         http://trac.webkit.org/changeset/98556
3464         https://bugs.webkit.org/show_bug.cgi?id=71031
3465
3466         The test added by the patch doesn't pass on Snow Leopard
3467         (Requested by rniwa on #webkit).
3468
3469         * win/WebKit2.def:
3470         * win/WebKit2CFLite.def:
3471
3472 2011-10-27  Mark Hahnenberg  <mhahnenberg@apple.com>
3473
3474         De-virtualize JSCell::toThisObject
3475         https://bugs.webkit.org/show_bug.cgi?id=70958
3476
3477         Reviewed by Geoffrey Garen.
3478
3479         Converted all instances of toThisObject to static functions, 
3480         added toThisObject to the MethodTable, and replaced all call sites
3481         with a corresponding lookup in the MethodTable.
3482
3483         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
3484         (WebKit::NPJSObject::invoke):
3485
3486 2011-10-27  Adam Roben  <aroben@apple.com>
3487
3488         Add WKBundlePageGetBackingScaleFactor
3489
3490         Fixes <http://webkit.org/b/71025> <rdar://problem/10355037> REGRESSION (r97191): Clients
3491         can't reliably determine the scale factor of snapshots returned via
3492         WKBundlePageCreateSnapshot* API
3493
3494         Reviewed by Sam Weinig.
3495
3496         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
3497         (WKBundlePageGetBackingScaleFactor):