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