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