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