494a79f1716eaf501243efacefb15833e9c4f214
[WebKit.git] / Source / WebKit2 / ChangeLog
1 2011-12-02  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2
3         [Qt] Do not apply the transition state before we are unsuspended
4
5         Reviewed by Simon Hausmann.
6
7         Also remove an accessor in the private, which is unneeded as
8         everything in the private class is supposed to be public or
9         only used by the private itself.
10
11         * UIProcess/API/qt/qquickwebview.cpp:
12         (QQuickWebViewPrivate::QQuickWebViewPrivate):
13         (QQuickWebViewPrivate::loadDidCommit):
14         (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
15         (QQuickWebViewPrivate::_q_suspend):
16         (QQuickWebViewPrivate::_q_resume):
17         (QQuickWebViewPrivate::didChangeContentsSize):
18         (QQuickWebViewPrivate::didChangeViewportProperties):
19         * UIProcess/API/qt/qquickwebview_p_p.h:
20
21 2011-12-02  Kenneth Rohde Christiansen  <kenneth@webkit.org>
22
23         Unreviewed buildfix, add missing include.
24
25         * WebProcess/Notifications/WebNotificationManager.cpp:
26
27 2011-12-02  Hajime Morrita  <morrita@chromium.org>
28
29         Unreviewed, rolling out r101751 and r101775.
30         http://trac.webkit.org/changeset/101751
31         http://trac.webkit.org/changeset/101775
32         https://bugs.webkit.org/show_bug.cgi?id=73191
33
34         breaks Windows build
35
36         * config.h:
37
38 2011-12-02  Carlos Garcia Campos  <cgarcia@igalia.com>
39
40         Unreviewed. Fix GTK+ build after r101750.
41
42         * GNUmakefile.am: Add missing files.
43
44 2011-12-02  Gustavo Noronha Silva  <gns@gnome.org>
45
46         Unreviewed. GTK+ build fix.
47
48         * GNUmakefile.am:
49
50 2011-12-02  Zalan Bujtas  <zbujtas@gmail.com>
51
52         [Qt][WK2] ASSERT at QQuickWebViewPrivate::computeViewportConstraints() when API test is exercising zero sized views.
53         https://bugs.webkit.org/show_bug.cgi?id=73441
54
55         Do not assert on empty available size, but return default constrain values instead.
56
57         Reviewed by Kenneth Rohde Christiansen.
58
59         * UIProcess/API/qt/qquickwebview.cpp:
60         (QQuickWebViewPrivate::computeViewportConstraints):
61         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
62         (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
63
64 2011-12-01  Hajime Morrita  <morrita@chromium.org>
65
66         JS_INLINE and WTF_INLINE should be visible from WebCore
67         https://bugs.webkit.org/show_bug.cgi?id=73191
68
69         Reviewed by Kevin Ollivier.
70
71         Removed macro definitions which is now provided by Platform.h
72
73         * config.h:
74
75 2011-12-01  Jon Lee  <jonlee@apple.com>
76
77         [WK2] Add further support for notifications
78         https://bugs.webkit.org/show_bug.cgi?id=73572
79         <rdar://problem/10472195>
80
81         Reviewed by Darin Adler.
82
83         * WebProcess/Notifications/WebNotificationManager.messages.in: Added. Contains messages for callbacks
84         from the notification platform.
85
86         * DerivedSources.make: Add WebNotificationManager.
87         * DerivedSources.pri: Ditto.
88         * Platform/CoreIPC/MessageID.h: Add message class.
89         * WebProcess/WebProcess.cpp:
90         (WebKit::WebProcess::didReceiveMessage): Forward calls to WebNotificationManager when needed.
91         * WebKit2.xcodeproj/project.pbxproj: Add new message files.
92         * win/WebKit2.vcproj: Adding new files to project.
93         * win/WebKit2Common.vsprops: Add Notifications to include paths
94
95         * UIProcess/WebNotification.h: Add and expose internal ID of each notification sent to the platform.
96         (WebKit::WebNotification::create):
97         (WebKit::WebNotification::notificationID):
98         (WebKit::isNotificationIDValid): Checks that the ID is not a value that might trip up the HashMaps used
99         for mapping IDs to notifications.
100         * UIProcess/WebNotification.cpp:
101         (WebKit::WebNotification::WebNotification):
102         (WebKit::WebNotification::encode):
103         (WebKit::WebNotification::decode):
104         * UIProcess/API/C/WKNotification.h: Expose notification ID to WKAPI.
105         * UIProcess/API/C/WKNotification.cpp:
106         (WKNotificationGetNotificationID):
107
108         * UIProcess/WebNotificationManagerProxy.h: Add callbacks for dispatching events back to the notification.
109         * UIProcess/WebNotificationManagerProxy.cpp:
110         (WebKit::WebNotificationManagerProxy::invalidate): Remove manager.
111         (WebKit::WebNotificationManagerProxy::show): Add manager prior to showing.
112         (WebKit::WebNotificationManagerProxy::cancel): Add manager prior to canceling.
113         (WebKit::WebNotificationManagerProxy::didDestroyNotification):
114         (WebKit::WebNotificationManagerProxy::providerDidShowNotification):
115         (WebKit::WebNotificationManagerProxy::providerDidClickNotification):
116         (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications):
117         * UIProcess/API/C/WKNotificationManager.h:
118         * UIProcess/API/C/WKNotificationManager.cpp:
119         (WKNotificationManagerProviderDidShowNotification):
120         (WKNotificationManagerProviderDidClickNotification):
121         (WKNotificationManagerProviderDidCloseNotifications):
122
123         * UIProcess/WebNotificationProvider.h:
124         * UIProcess/WebNotificationProvider.cpp:
125         (WebKit::WebNotificationProvider::show):
126         (WebKit::WebNotificationProvider::cancel):
127         (WebKit::WebNotificationProvider::didDestroyNotification):
128         (WebKit::WebNotificationProvider::addNotificationManager):
129         (WebKit::WebNotificationProvider::removeNotificationManager):
130         * UIProcess/API/C/WKNotificationProvider.h: Expose add/removeNotificationManager calls
131
132         * WebProcess/Notifications/WebNotificationManager.h: Add bookkeeping to keep track of notification IDs with
133         Notification instances.
134         * WebProcess/Notifications/WebNotificationManager.cpp:
135         (WebKit::generateNotificationID):
136         (WebKit::WebNotificationManager::didReceiveMessage):
137         (WebKit::WebNotificationManager::show):
138         (WebKit::WebNotificationManager::cancel):
139         (WebKit::WebNotificationManager::didDestroyNotification):
140         (WebKit::WebNotificationManager::didShowNotification):
141         (WebKit::WebNotificationManager::didClickNotification):
142         (WebKit::WebNotificationManager::didCloseNotifications):
143
144         * UIProcess/WebNotificationManagerProxy.messages.in: Add DidDestroyNotification message.
145         * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
146         (WebKit::WebNotificationClient::notificationObjectDestroyed): Implemented.
147
148 2011-12-01  Goutham J  <gouthamj@motorola.com>
149
150         [WEBKIT2] Fix for compilation warnings in WebContext.cpp
151         https://bugs.webkit.org/show_bug.cgi?id=69080
152
153         Fix compilation warning in WebKit2 builds.
154
155         Reviewed by Hajime Morita.
156
157         * UIProcess/WebContext.cpp:
158         (WebKit::WebContext::processDidFinishLaunching):
159         (WebKit::WebContext::startMemorySampler):
160
161 2011-12-01  Beth Dakin  <bdakin@apple.com>
162
163         https://bugs.webkit.org/show_bug.cgi?id=73592
164         REGRESSION (r100483): Can't drag out of background window
165         -and corresponding-
166         <rdar://problem/10508870>
167
168         Reviewed by Darin Adler.
169
170         If the mouse is pressed we need to do a full, normal hit test even if the window 
171         is not active. 
172         * WebProcess/WebPage/WebPage.cpp:
173         (WebKit::WebPage::mouseEvent):
174         (WebKit::WebPage::mouseEventSyncForTesting):
175
176 2011-12-01  Martin Robinson  <mrobinson@igalia.com>
177
178         [GTK] Add a helper function to find the current executable's path
179         https://bugs.webkit.org/show_bug.cgi?id=73473
180
181         Reviewed by Gustavo Noronha Silva.
182
183         Do a series of tests when looking for processes. First search the directory
184         specified by the environment variable, then the directory of the binary and
185         then the LIBEXECDIR.
186
187         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
188         (WebKit::findWebKitProcess): Added.
189         (WebKit::ProcessLauncher::launchProcess): Call the new helper to get the
190         binary location.
191
192 2011-12-01  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
193
194         [Qt] [WK2] QQuickWebView covers QML elements that should be rendered on top.
195         https://bugs.webkit.org/show_bug.cgi?id=73338
196
197         Reviewed by Noam Rosenthal.
198
199         Move painting of QQuickWebPage content from canvas afterrendering() to
200         QSGGeometryNode/QSGMaterial based paint node. Implementation uses QSGMaterialShader
201         updateState() method to draw TextureMapper graphics layers.
202         This is considered to be temporary until QSGNode::UserNodeType will be available.
203
204         * UIProcess/API/qt/qquickwebpage.cpp:
205         (QQuickWebPage::QQuickWebPage):
206         (QQuickWebPagePrivate::QQuickWebPagePrivate):
207         (PageProxyMaterialShader::attributeNames):
208         (PageProxyMaterialShader::vertexShader):
209         (PageProxyMaterialShader::fragmentShader):
210         (PageProxyMaterial::PageProxyMaterial):
211         (PageProxyMaterial::type):
212         (PageProxyMaterial::createShader):
213         (PageProxyNode::PageProxyNode):
214         (PageProxyNode::~PageProxyNode):
215         (PageProxyMaterialShader::updateState):
216         (QQuickWebPage::updatePaintNode):
217         (QQuickWebPagePrivate::resetPaintNode):
218         (QQuickWebPagePrivate::~QQuickWebPagePrivate):
219         * UIProcess/API/qt/qquickwebpage_p.h:
220         * UIProcess/API/qt/qquickwebpage_p_p.h:
221         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
222         (tst_QQuickWebView::showWebView):
223         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
224         (WebKit::LayerTreeHostProxy::didRenderFrame):
225
226 2011-12-01  Nayan Kumar K  <nayankk@motorola.com>
227
228         [WK2][GTK] Change default-font-size and default-monospace-font-size
229         https://bugs.webkit.org/show_bug.cgi?id=73468
230
231         Reviewed by Martin Robinson.
232
233         Set 'default-font-size' property value to 16px and 'default-monospace-font-size'
234         value to 13px.
235
236         * UIProcess/API/gtk/WebKitSettings.cpp:
237         (webkit_settings_class_init): Change the default font size settings.
238         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
239         (testWebKitSettings): Correct the test.
240
241 2011-12-01  Wajahat Siddiqui  <mdwajahatali.siddiqui@motorola.com>
242
243         Popup menu can get stuck in closed state when GtkMenu can't grab mouse.
244         https://bugs.webkit.org/show_bug.cgi?id=56466
245
246         Add a check if popup menu is not visible due to no mouse grab,
247         Ensure WebCore is in sync with proper state.
248
249         Reviewed by Martin Robinson.
250
251         * UIProcess/WebPageProxy.cpp:
252         (WebKit::WebPageProxy::failedToShowPopupMenu): Added Method to send message
253         to WebProcess.
254         * UIProcess/WebPageProxy.h:
255         * UIProcess/WebPopupMenuProxy.h:
256         * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
257         (WebKit::WebPopupMenuProxyGtk::showPopupMenu):
258         * WebProcess/WebCoreSupport/WebPopupMenu.h:
259         (WebKit::WebPopupMenu::client): Added Method to get WebCore::PopupMenuClient.
260         * WebProcess/WebPage/WebPage.cpp:
261         (WebKit::WebPage::failedToShowPopupMenu):
262         * WebProcess/WebPage/WebPage.h:
263         * WebProcess/WebPage/WebPage.messages.in: Added Message to inform WebProcess ShowPopupMenu failed.
264
265 2011-12-01  Pavel Feldman  <pfeldman@chromium.org>
266
267         Web Inspector: restore WebKit2 Safari menu items after capabilities refactoring regression.
268         https://bugs.webkit.org/show_bug.cgi?id=73554
269
270         Reviewed by Yury Semikhatsky.
271
272         * UIProcess/WebInspectorProxy.cpp:
273         (WebKit::WebInspectorProxy::didClose):
274
275 2011-11-30  Alexey Proskuryakov  <ap@apple.com>
276
277         Remove an unneeded argument from FrameLoaderClient::download
278         https://bugs.webkit.org/show_bug.cgi?id=73486
279
280         Reviewed by Andreas Kling.
281
282         * WebProcess/Downloads/Download.h:
283         * WebProcess/Downloads/DownloadManager.cpp:
284         (WebKit::DownloadManager::convertHandleToDownload):
285         * WebProcess/Downloads/DownloadManager.h:
286         * WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
287         (WebKit::Download::startWithHandle):
288         * WebProcess/Downloads/curl/DownloadCurl.cpp:
289         (WebKit::Download::startWithHandle):
290         * WebProcess/Downloads/mac/DownloadMac.mm:
291         (WebKit::Download::startWithHandle):
292         * WebProcess/Downloads/qt/DownloadQt.cpp:
293         (WebKit::Download::startWithHandle):
294         * WebProcess/Downloads/soup/DownloadSoup.cpp:
295         (WebKit::Download::startWithHandle):
296         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
297         (WebKit::WebFrameLoaderClient::download):
298         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
299         * WebProcess/WebPage/WebFrame.cpp:
300         (WebKit::WebFrame::convertHandleToDownload):
301         * WebProcess/WebPage/WebFrame.h:
302         Updated for the change. CF version is the only one worth seeing, as it was using the argument.
303
304 2011-11-30  Alexey Proskuryakov  <ap@apple.com>
305
306         Original page URL is not set in quarantine information when downloading using context menu Save Linked File
307         https://bugs.webkit.org/show_bug.cgi?id=73475
308         <rdar://problem/10500337>
309
310         Reviewed by Dan Bernstein.
311
312         * WebProcess/WebProcess.cpp: (WebKit::WebProcess::downloadRequest): Set main document URL
313         for the request, so that CFNetwork would know where te file was downloaded. Note that this
314         is an easier case than downloading due to clicks, since we don't really need to build a host
315         only URL, and could use full page URL. However, the same function is used for consistency.
316
317 2011-11-30  Igor Oliveira  <igor.oliveira@openbossa.org>
318
319         [WK2][Qt] AC animation startTime is wrong
320
321         [WK2][Qt] AC animation startTime is wrong
322         https://bugs.webkit.org/show_bug.cgi?id=73467
323
324         When WebProcess sends animation information to UIProcess, It uses the 
325         current time(WTF::currentTime) minus the timeOffset to set the start time 
326         animation. 
327
328         But there is a latency between the WebProcess and UIProcess communication 
329         and sometimes the animation transition starts late.
330
331         This patch fixes the bug moving the startTime calculation to UIProcess.
332
333         Reviewed by Noam Rosenthal.
334
335         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
336         (WebKit::LayerTreeHostProxy::syncLayerParameters):
337         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
338         (WebCore::WebGraphicsLayer::addAnimation):
339
340 2011-11-30  Csaba Osztrogonác  <ossy@webkit.org>
341
342         [Qt] Buildfix for generating forwarding headers
343         https://bugs.webkit.org/show_bug.cgi?id=73446
344
345         Reviewed by Noam Rosenthal.
346
347         * DerivedSources.pri: Always create the parent directory before generating a forwarding header.
348
349 2011-11-30  Dan Bernstein  <mitz@apple.com>
350
351         WebKit2 part of: Allow the length of a page along the pagination axis to differ from the length of the view
352         https://bugs.webkit.org/show_bug.cgi?id=73476
353
354         Reviewed by Anders Carlsson.
355
356         * Shared/WebPageCreationParameters.cpp:
357         (WebKit::WebPageCreationParameters::encode): Encode pageLength.
358         (WebKit::WebPageCreationParameters::decode): Decode pageLength.
359         * Shared/WebPageCreationParameters.h: Added pageLength.
360         * UIProcess/API/C/WKPage.cpp:
361         (WKPageSetPageLength): Added this accessor.
362         (WKPageGetPageLength): Ditto.
363         * UIProcess/API/C/WKPagePrivate.h:
364         * UIProcess/API/mac/WKBrowsingContextController.mm:
365         (-[WKBrowsingContextController setPageLength:]): Ditto.
366         (-[WKBrowsingContextController pageLength]): Ditto.
367         * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h:
368         * UIProcess/WebPageProxy.cpp:
369         (WebKit::WebPageProxy::WebPageProxy): Added initializer for m_pageLength.
370         (WebKit::WebPageProxy::setPageLength): Added.
371         (WebKit::WebPageProxy::creationParameters): Initialize pageLength.
372         * UIProcess/WebPageProxy.h:
373         (WebKit::WebPageProxy::pageLength): Added.
374         * WebProcess/WebPage/WebPage.cpp:
375         (WebKit::WebPage::WebPage): Set the page length based on the creation parameters.
376         (WebKit::WebPage::setPageLength): Added.
377         * WebProcess/WebPage/WebPage.h:
378         * WebProcess/WebPage/WebPage.messages.in: Added SetPageLength.
379
380 2011-11-30  Alejandro G. Castro  <alex@igalia.com>
381
382         [GTK] Add accelerated compositing compilation option
383         https://bugs.webkit.org/show_bug.cgi?id=73298
384
385         Compile whatever we have inside the USE(ACCELERATED_COMPOSITING)
386         define. Fix accelerated compositing compilation in WK2, update the
387         enter/exit functions.
388
389         Reviewed by Martin Robinson.
390
391         * UIProcess/API/gtk/PageClientImpl.cpp:
392         (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
393         (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
394         * UIProcess/API/gtk/PageClientImpl.h:
395
396 2011-11-29  Beth Dakin  <bdakin@apple.com>
397
398         https://bugs.webkit.org/show_bug.cgi?id=72751
399         WebKit2.MouseMoveAfterCrash API test is failing 
400
401         Reviewed by Sam Weinig.
402
403         windowIsFocused() is too restrictive. All we need to know is that the page is 
404         active.
405         * WebProcess/WebPage/WebPage.cpp:
406         (WebKit::WebPage::mouseEvent):
407         (WebKit::WebPage::mouseEventSyncForTesting):
408
409 2011-11-29  Sam Weinig  <sam@webkit.org>
410
411         Add move semantics to WKRetainPtr
412         https://bugs.webkit.org/show_bug.cgi?id=73400
413
414         Reviewed by Anders Carlsson.
415
416         * UIProcess/API/cpp/WKRetainPtr.h:
417         (WebKit::WKRetainPtr::WKRetainPtr):
418         Add a move constructor and move enabled assignment operators
419         to WKRetainPtr if the compiler being used supports rvalue
420         references. If the compiler does not support it, we fallback
421         to the copy semantics we have always had.
422
423 2011-11-30  Mario Sanchez Prada  <msanchez@igalia.com>
424
425         [Gtk] Links should be Tab-focusable by default
426         https://bugs.webkit.org/show_bug.cgi?id=73427
427
428         Reviewed by Martin Robinson.
429
430         * UIProcess/API/gtk/WebKitSettings.cpp:
431         (webkit_settings_class_init): Switch the default value for
432         'enable-tabs-to-links' property from FALSE to TRUE.
433         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
434         (testWebKitSettings): Updated unit test.
435
436 2011-11-30  Alexey Proskuryakov  <ap@apple.com>
437
438         Download page URL should be set by WebCore
439         https://bugs.webkit.org/show_bug.cgi?id=73358
440
441         Reviewed by Darin Adler.
442
443         * WebProcess/Downloads/mac/DownloadMac.mm:
444         (WebKit::Download::start): There is no need to set original URL post factum any more.
445         (WebKit::Download::startWithHandle): Ditto.
446
447 2011-11-30  Kenneth Rohde Christiansen  <kenneth@webkit.org>
448
449         Rename WebKit::ViewportUpdateGuard to *Deferrer and add some better
450         comments to explain its purpose.
451
452         Reviewed by Simon Hausmann.
453
454         * UIProcess/qt/QtViewportInteractionEngine.cpp:
455         (WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer):
456         (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
457         (WebKit::QtViewportInteractionEngine::setItemRectVisible):
458         (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
459         (WebKit::QtViewportInteractionEngine::scrollStateChanged):
460         (WebKit::QtViewportInteractionEngine::applyConstraints):
461         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
462         * UIProcess/qt/QtViewportInteractionEngine.h:
463
464 2011-11-30  Simon Hausmann  <simon.hausmann@nokia.com>
465
466         Build fix. The removal of the Qt threading back-end also removed
467         an implicit QString inclusion/forward-declaration.
468
469         * UIProcess/qt/QtWebContext.h:
470
471 2011-11-30  Kenneth Rohde Christiansen  <kenneth@webkit.org>
472
473         [Qt] Clean up the Qt viewport interaction engine
474
475         Reviewed by Simon Hausmann.
476
477         * UIProcess/qt/QtViewportInteractionEngine.cpp:
478         (WebKit::QtViewportInteractionEngine::reset):
479
480             Make sure reset is not called while suspended.
481
482         (WebKit::QtViewportInteractionEngine::applyConstraints):
483
484             We always need to apply the constrains due to initial-scale.
485
486             Now that we only apply the constrains when we are ready to
487             paint, it is impossible for the user to have interacted with
488             the content in the case the viewport meta tag was declared
489             in the <head> tag, and it is thus always applied.
490
491         (WebKit::QtViewportInteractionEngine::panGestureStarted):
492         (WebKit::QtViewportInteractionEngine::pinchGestureActive):
493
494             Fix this method to actually do what it advertises, before
495             it would be true even if just animation a bounce back effect.
496
497         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
498         (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
499         * UIProcess/qt/QtViewportInteractionEngine.h:
500
501             General, get rid of the interaction flags as we only need to
502             know whether the user interacted (panned, pinched, double-tapped).
503             Before we would still apply initial-scale if the user had panned
504             the content which can be pretty confusing.
505
506 2011-11-30  Simon Hausmann  <simon.hausmann@nokia.com>
507
508         Unreviewed prospective mac build fix after r101450.
509
510         * Platform/mac/ModuleMac.mm:
511         (WebKit::Module::unload): leakRef is declared with attribute warn_unused_result.
512
513 2011-11-30  Adenilson Cavalcanti  <adenilson.silva@openbossa.org>
514
515         [Qt][WK2] Implement permission API for Qt port
516         https://bugs.webkit.org/show_bug.cgi?id=59200
517
518         Permission API hookup for Geolocation, it allows to receive in WebView
519         a signal when a permission request is done (e.g. to grant permission
520         for accessing geolocation information) and set it accordingly.
521
522         Reviewed by Simon Hausmann.
523
524         * Target.pri:
525         * UIProcess/API/qt/qquickwebview_p.h:
526         * UIProcess/API/qt/qwebpermissionrequest.cpp: Added.
527         (QWebPermissionRequestPrivate::QWebPermissionRequestPrivate):
528         (QWebPermissionRequestPrivate::~QWebPermissionRequestPrivate):
529         (QWebPermissionRequest::create):
530         (QWebPermissionRequest::QWebPermissionRequest):
531         (QWebPermissionRequest::~QWebPermissionRequest):
532         (QWebPermissionRequest::type):
533         (QWebPermissionRequest::setAllow):
534         (QWebPermissionRequest::allow):
535         (QWebPermissionRequest::scheme):
536         (QWebPermissionRequest::host):
537         (QWebPermissionRequest::port):
538         * UIProcess/API/qt/qwebpermissionrequest_p.h: Added.
539         * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml: Added.
540         * UIProcess/API/qt/tests/qmltests/common/geolocation.html: Added.
541         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
542         * UIProcess/qt/QtWebPageUIClient.cpp:
543         (QtWebPageUIClient::QtWebPageUIClient):
544         (QtWebPageUIClient::permissionRequest):
545         (QtWebPageUIClient::policyForGeolocationPermissionRequest):
546         * UIProcess/qt/QtWebPageUIClient.h:
547
548 2011-11-30  Alexey Proskuryakov  <ap@apple.com>
549
550         -[WKView attributedSubstringForProposedRange:actualRange:] doesn't update actualRange when it's out of bounds
551         https://bugs.webkit.org/show_bug.cgi?id=67813
552
553         Reviewed by Simon Fraser.
554
555         * UIProcess/API/mac/WKView.mm:
556         (-[WKView attributedSubstringForProposedRange:actualRange:]): Update actualRange to match
557         result length.
558         (-[WKView firstRectForCharacterRange:actualRange:]): Added a FIXME. This is harder to
559         implement, and it's unclear if clients care at this time.
560
561 2011-11-29  Sam Weinig  <sam@webkit.org>
562
563         Remove RetainPtr::releaseRef
564         https://bugs.webkit.org/show_bug.cgi?id=73396
565
566         Reviewed by Dan Bernstein.
567
568         * Platform/mac/ModuleMac.mm:
569         (WebKit::Module::unload):
570         Replace the final use of RetainPtr::releaseRef() with RetainPtr::leakRef(),
571         its sexy replacement.
572
573 2011-11-29  Jessie Berlin  <jberlin@apple.com>
574
575         WKKeyValueStorageManagerGetKeyValueStorageOrigins may not report the correct list of origins
576         the first time it is called.
577         https://bugs.webkit.org/show_bug.cgi?id=73374 (<rdar://problem/10196057>)
578
579         Reviewed by Brady Eidson.
580
581         Queue any requests for the origins that have Local Storage until the StorageTracker is done
582         loading the list of those origins from disk.
583
584         * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
585         (WebKit::keyValueStorageOriginIdentifiers):
586         Refactored here from getKeyValueStorageOrigins so it can be used by didFinishLoadingOrigins.
587         (WebKit::dispatchDidGetKeyValueStorageOrigins):
588         Ditto.
589         (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
590         If the StorageTracker is not done loading the list of origins from disk, queue up the
591         request to be handled later.
592         (WebKit::WebKeyValueStorageManager::didFinishLoadingOrigins):
593         Dispatch the results for any requests that were make before the StorageTracker was done
594         loading the list of origins from disk.
595         (WebKit::WebKeyValueStorageManager::dispatchDidModifyOrigin):
596         * WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:
597
598         * WebProcess/WebProcess.cpp:
599         (WebKit::WebProcess::initializeWebProcess):
600         Set the WebKeyValueStorageManager as the StorageTrackerClient.
601
602 2011-11-29  Anders Carlsson  <andersca@apple.com>
603
604         Decorate adoptWK with WARN_UNUSED_RETURN
605         https://bugs.webkit.org/show_bug.cgi?id=73331
606
607         Reviewed by Sam Weinig.
608
609         * UIProcess/API/cpp/WKRetainPtr.h:
610         (WebKit::adoptWK):
611
612 2011-11-29  Carlos Garcia Campos  <cgarcia@igalia.com>
613
614         Unreviewed. Fix GTK+ WebKit2 build after r101312.
615
616         * Scripts/generate-forwarding-headers.pl: Add blackberry to the
617         list of platforms.
618
619 2011-11-29  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
620
621         [Qt] Don't hard-code the list of WebKit2 generated sources
622
623         The generated sources are... wait for it... generated. So
624         use the generator itself to figure out which sources we need
625         to compile.
626
627         Reviewed by Simon Hausmann.
628
629         * DerivedSources.pri:
630         * Target.pri:
631
632 2011-11-29  Carlos Garcia Campos  <cgarcia@igalia.com>
633
634         Unreviewed. Fix the GTK+ port build after r101307.
635
636         * GNUmakefile.am: Add missing files to compilation.
637
638 2011-11-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
639
640         [Qt] Add the infrastructure for enabling suspend/resume.
641
642         Reviewed by Simon Hausmann.
643
644         Also, remove the painting optimization as it is broken in some
645         situations, as there is an assumption in that comparison that
646         the guards cannot be nested, which goes against the design and
647         its use.
648
649         * UIProcess/API/qt/qquickwebview.cpp:
650         (QQuickWebViewPrivate::initializeDesktop):
651         (QQuickWebViewPrivate::initializeTouch):
652         (QQuickWebViewPrivate::_q_suspend):
653         (QQuickWebViewPrivate::_q_resume):
654         * UIProcess/API/qt/qquickwebview_p.h:
655         * UIProcess/API/qt/qquickwebview_p_p.h:
656         * UIProcess/qt/QtViewportInteractionEngine.cpp:
657         (WebKit::ViewportUpdateGuard::ViewportUpdateGuard):
658         (WebKit::ViewportUpdateGuard::~ViewportUpdateGuard):
659         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
660         (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
661         (WebKit::QtViewportInteractionEngine::scrollStateChanged):
662         (WebKit::QtViewportInteractionEngine::event):
663         (WebKit::QtViewportInteractionEngine::pagePositionRequest):
664         (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
665         (WebKit::QtViewportInteractionEngine::reset):
666         (WebKit::QtViewportInteractionEngine::applyConstraints):
667         (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
668         (WebKit::QtViewportInteractionEngine::panGestureEnded):
669         (WebKit::QtViewportInteractionEngine::pinchGestureActive):
670         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
671         (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
672         (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
673         (WebKit::QtViewportInteractionEngine::itemSizeChanged):
674         * UIProcess/qt/QtViewportInteractionEngine.h:
675
676 2011-11-29  Carlos Garcia Campos  <cgarcia@igalia.com>
677
678         [GTK] Add WebKitURIResponse to WebKit2 GTK+ API
679         https://bugs.webkit.org/show_bug.cgi?id=72946
680
681         Reviewed by Martin Robinson.
682
683         * GNUmakefile.am: Add new files to compilation.
684         * UIProcess/API/gtk/WebKitURIResponse.cpp: Added.
685         (webkitURIResponseFinalize):
686         (webkitURIResponseGetProperty):
687         (webkitURIResponseSetProperty):
688         (webkit_uri_response_class_init):
689         (webkit_uri_response_init):
690         (webkit_uri_response_get_uri): Return the URI of the response.
691         (webkit_uri_response_get_status_code): Return the status code of
692         the response, or SOUP_STATUS_NONE.
693         (webkit_uri_response_get_content_length): Return the expected
694         content length of the response.
695         (webkitURIResponseCreateForSoupMessage): Private function to
696         create a response object from a SoupMessage.
697         (webkitURIResponseGetSoupMessage): Return the soup message
698         associated to the response.
699         (webkitURIResponseSetContentLength): Set the expected content
700         length of the response. This is useful for non http responses.
701         * UIProcess/API/gtk/WebKitURIResponse.h: Added.
702         * UIProcess/API/gtk/WebKitURIResponsePrivate.h: Added.
703         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section.
704         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
705         * UIProcess/API/gtk/docs/webkit2gtk.types: Add
706         webkit_uri_response_get_type().
707         * UIProcess/API/gtk/webkit2.h: Add WebKitURIResponse.h.
708
709 2011-11-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
710
711         [Qt] QQuickWebView gets wrong position after reload
712         https://bugs.webkit.org/show_bug.cgi?id=73292
713
714         Reviewed by Simon Hausmann.
715
716         The ensureContentWithinViewportBoundary animates the current viewport
717         item into boundaries. That of course breaks when we try to animate it,
718         given the initial-scale which hasn't been applied; so apply it.
719
720         Also put the QScroller settings code in the ctor as it never changes.
721
722         * UIProcess/qt/QtViewportInteractionEngine.cpp:
723         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
724         (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
725         (WebKit::QtViewportInteractionEngine::reset):
726         (WebKit::QtViewportInteractionEngine::applyConstraints):
727         * UIProcess/qt/QtViewportInteractionEngine.h:
728
729 2011-11-29  Roland Steiner  <rolandsteiner@chromium.org>
730
731         <style scoped>: add ENABLE(STYLE_SCOPED) flag to WebKit
732         https://bugs.webkit.org/show_bug.cgi?id=72848
733
734         Reviewed by Dimitri Glazkov.
735
736         * Configurations/FeatureDefines.xcconfig:
737
738 2011-11-28  Jon Lee  <jonlee@apple.com>
739
740         Create skeleton framework for notifications support in WK2
741         https://bugs.webkit.org/show_bug.cgi?id=73253
742         <rdar://problem/10356943>
743
744         Reviewed by Sam Weinig.
745
746         * WebKit2.xcodeproj/project.pbxproj: Added classes for notification support.
747         * win/WebKit2.vcproj: Ditto.
748         * Target.pri: Ditto.
749         * Configurations/FeatureDefines.xcconfig: Split out ENABLE_NOTIFICATIONS based on platform.
750         * DerivedSources.make: Add Notifications to VPATH.
751         * Platform/CoreIPC/MessageID.h: List WebNotificationManagerProxy as a class with messages.
752         * Scripts/webkit2/messages.py: Mark WebCore::NotificationContents as a struct.
753
754         * Shared/API/c/WKBase.h: Map opaque types to NotificationProvider, NotificationManager, and Notification.
755         * UIProcess/API/C/WKAPICast.h: Map WK types toNotificationProvider, NotificationManager, and Notification.
756         * Shared/APIObject.h: Add Notification and NotificationManager as APIObjects.
757         * Shared/WebCoreArgumentCoders.cpp: Added coders for KURL.
758         (CoreIPC::::encode):
759         (CoreIPC::::decode):
760         * Shared/WebCoreArgumentCoders.h:
761
762         * UIProcess/WebNotification.cpp: Added.
763         (WebKit::WebNotification::WebNotification):
764         (WebKit::WebNotification::~WebNotification):
765         (WebKit::WebNotification::encode):
766         (WebKit::WebNotification::decode):
767         * UIProcess/WebNotification.h: Added.
768         (WebKit::WebNotification::create):
769         (WebKit::WebNotification::title):
770         (WebKit::WebNotification::body):
771         (WebKit::WebNotification::type):
772         * UIProcess/API/C/WKNotification.cpp: Added as API.
773         (WKNotificationGetTypeID):
774         (WKNotificationCopyTitle):
775         (WKNotificationCopyBody):
776         * UIProcess/API/C/WKNotification.h: Added as API.
777
778         * WebProcess/Notifications/WebNotificationManager.h: Added. Contains for now show() and cancel().
779         The rest of the notification client methods will be added later. These two functions send messages
780         to the manager proxy.
781         * WebProcess/Notifications/WebNotificationManager.cpp: Added.
782         (WebKit::WebNotificationManager::WebNotificationManager):
783         (WebKit::WebNotificationManager::~WebNotificationManager):
784         (WebKit::WebNotificationManager::show):
785         (WebKit::WebNotificationManager::cancel):
786
787         * UIProcess/WebNotificationManagerProxy.cpp: Added.
788         (WebKit::WebNotificationManagerProxy::create):
789         (WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy):
790         (WebKit::WebNotificationManagerProxy::~WebNotificationManagerProxy):
791         (WebKit::WebNotificationManagerProxy::invalidate):
792         (WebKit::WebNotificationManagerProxy::initializeProvider):
793         (WebKit::WebNotificationManagerProxy::didReceiveMessage):
794         (WebKit::WebNotificationManagerProxy::show):
795         (WebKit::WebNotificationManagerProxy::cancel):
796         * UIProcess/WebNotificationManagerProxy.h: Added.
797         (WebKit::WebNotificationManagerProxy::clearContext):
798         (WebKit::WebNotificationManagerProxy::type):
799         * UIProcess/WebNotificationManagerProxy.messages.in: Added.
800         * UIProcess/API/C/WKNotificationManager.cpp: Added.
801         (WKNotificationManagerGetTypeID):
802         (WKNotificationManagerSetProvider):
803         * UIProcess/API/C/WKNotificationManager.h: Added.
804
805         * UIProcess/WebContext.h: Add the notification manager to the web context.
806         (WebKit::WebContext::notificationManagerProxy): Access the manager.
807         * UIProcess/WebContext.cpp:
808         (WebKit::WebContext::WebContext): Boilerplate for managers.
809         (WebKit::WebContext::~WebContext): Boilerplate for managers.
810         (WebKit::WebContext::disconnectProcess): Boilerplate for managers.
811         (WebKit::WebContext::didReceiveMessage): Forward messages to the notification manager.
812         * UIProcess/API/C/WKContext.cpp: Expose as API.
813         (WKContextGetNotificationManager):
814         * UIProcess/API/C/WKContext.h: Expose as API.
815
816         * UIProcess/API/C/WKNotificationProvider.h: Added.
817         * UIProcess/WebNotificationProvider.h: Added as APIClient.
818         * UIProcess/WebNotificationProvider.cpp: Added.
819         (WebKit::WebNotificationProvider::show): Forward call to the client.
820         (WebKit::WebNotificationProvider::cancel): Forward call to the client.
821         * UIProcess/WebProcessProxy.cpp:
822         (WebKit::WebProcessProxy::didReceiveMessage): Forward messages for notification manager to the context.
823
824         * WebProcess/WebCoreSupport/WebChromeClient.cpp: Remove notificationPresenter().
825         * WebProcess/WebCoreSupport/WebChromeClient.h: Remove notificationPresenter().
826
827         * WebProcess/WebCoreSupport/WebNotificationClient.h: Added. Forwards client methods to manager.
828         * WebProcess/WebCoreSupport/WebNotificationClient.cpp: Added. Mostly stub implementation for now.
829         (WebKit::WebNotificationClient::WebNotificationClient):
830         (WebKit::WebNotificationClient::~WebNotificationClient):
831         (WebKit::WebNotificationClient::show):
832         (WebKit::WebNotificationClient::cancel):
833         (WebKit::WebNotificationClient::notificationObjectDestroyed):
834         (WebKit::WebNotificationClient::requestPermission):
835         (WebKit::WebNotificationClient::cancelRequestsForPermission):
836         (WebKit::WebNotificationClient::checkPermission):
837
838         * WebProcess/WebPage/WebPage.h: Added WebNotificationClient as one of its page clients.
839         * WebProcess/WebPage/WebPage.cpp:
840         (WebKit::WebPage::WebPage): Set the notification client to WebNotificationClient.
841         * WebProcess/WebProcess.h: Added WebNotificationManager.
842         (WebKit::WebProcess::notificationManager):
843         * WebProcess/WebProcess.cpp:
844         (WebKit::WebProcess::WebProcess): Initialize notificaton manager.
845
846 2011-11-28  Brent Fulgham  <bfulgham@webkit.org>
847
848         [WinCairo] Unreviewed build corrections.
849
850         * UIProcess/BackingStore.h: WinCairo doesn't need the Cairo backing
851           for widgets.
852         * win/WebKit2CFLite.def: Update to match WebKit2.def.
853
854 2011-11-28  Beth Dakin  <bdakin@apple.com>
855
856         https://bugs.webkit.org/show_bug.cgi?id=72551
857         When the recommended scrollbar style changes, WKView's tracking options should 
858         adjust accordingly
859         -and corresponding-
860         <rdar://problem/10409328>
861
862         Reviewed by Darin Adler.
863
864         These new functions take care of passing along the 
865         recommendedScrollbarStyleDidChange() message that originates in the ChromeClient. 
866         * UIProcess/API/mac/PageClientImpl.h:
867         * UIProcess/PageClient.h:
868         * UIProcess/WebPageProxy.cpp:
869         (WebKit::WebPageProxy::recommendedScrollbarStyleDidChange):
870         * UIProcess/WebPageProxy.h:
871         * UIProcess/WebPageProxy.messages.in:
872         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
873         (WebKit::WebChromeClient::recommendedScrollbarStyleDidChange):
874         * WebProcess/WebCoreSupport/WebChromeClient.h:
875
876         This is where we actually respond to the recommendedScrollbarStyleDidChange 
877         message. We remove the existing tracking area and create a new tracking area with 
878         the appropriate tracking options.
879         * UIProcess/API/mac/PageClientImpl.mm:
880         (WebKit::PageClientImpl::recommendedScrollbarStyleDidChange):
881
882         BuiltInPDFView inherits from WebCore::ScrollableArea, so scrollbarStyleChanged() 
883         must now take two parameters like the one in ScrollableArea.
884         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
885         (WebKit::BuiltInPDFView::scrollbarStyleChanged):
886         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
887
888 2011-11-28  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
889
890         [Qt][WK2] Fix panning after r101179
891         https://bugs.webkit.org/show_bug.cgi?id=73224
892
893         Reviewed by Noam Rosenthal.
894
895         We were wrongly checking for interactionEngine() instead of
896         !interactionEngine() after the QtWebPageEventHandler refactor.
897
898         * UIProcess/qt/QtPanGestureRecognizer.cpp:
899         (WebKit::QtPanGestureRecognizer::recognize):
900
901 2011-11-28  Kenneth Rohde Christiansen  <kenneth@webkit.org>
902
903         Make sure the useFixedLayout feature is consistently handled
904         https://bugs.webkit.org/show_bug.cgi?id=73212
905
906         Reviewed by Simon Hausmann.
907
908         Set the fixed layout on the UI side so that it is part of the page
909         creation parameters and ensure that the page parameters are set
910         before creating the page.
911
912         The parameters are set to our defaults and are now altered in the
913         WebKitTestRunner.
914
915         * UIProcess/API/qt/qquickwebview.cpp:
916         (QQuickWebViewPrivate::QQuickWebViewPrivate):
917         (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
918         (QQuickWebViewExperimental::setUseTraditionalDesktopBehaviour):
919         (QQuickWebView::QQuickWebView):
920         * UIProcess/WebPageProxy.cpp:
921         (WebKit::WebPageProxy::setUseFixedLayout):
922         * WebProcess/WebPage/WebPage.cpp:
923         (WebKit::WebPage::WebPage):
924
925             On the web process side the default value for useFixedLayout
926             wasn't actually read from the creation parameters. As it now may
927             be different than that of the FrameView, we now call
928             setFixedLayout in the constructor so make sure the value is
929             propagated to the FrameView.
930
931         (WebKit::WebPage::setFixedVisibleContentRect):
932         (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
933         (WebKit::WebPage::resizeToContentsIfNeeded):
934         (WebKit::WebPage::setViewportSize):
935         (WebKit::WebPage::setUseFixedLayout):
936         (WebKit::WebPage::setFixedLayoutSize):
937
938             The methods that depends on fixed layout now have asserts to make
939             sure that they are used properly.
940
941 2011-11-28  Carlos Garcia Campos  <cgarcia@igalia.com>
942
943         [GTK] Rename WebKitNetworkRequest to WebKitURIRequest
944         https://bugs.webkit.org/show_bug.cgi?id=73202
945
946         Reviewed by Martin Robinson.
947
948         Network is confusing because the request can be for a local file uri.
949
950         * GNUmakefile.am:
951         * UIProcess/API/gtk/WebKitNetworkRequest.h: Removed.
952         * UIProcess/API/gtk/WebKitURIRequest.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/WebKitNetworkRequest.cpp.
953         (webkitURIRequestFinalize):
954         (webkitURIRequestGetProperty):
955         (webkitURIRequestSetProperty):
956         (webkit_uri_request_class_init):
957         (webkit_uri_request_init):
958         (webkit_uri_request_new):
959         (webkit_uri_request_get_uri):
960         * UIProcess/API/gtk/WebKitURIRequest.h: Added.
961         * UIProcess/API/gtk/WebKitWebView.cpp:
962         (webkit_web_view_load_request):
963         * UIProcess/API/gtk/WebKitWebView.h:
964         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
965         * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
966         (testLoadRequest):
967         * UIProcess/API/gtk/tests/WebViewTest.cpp:
968         (WebViewTest::loadRequest):
969         * UIProcess/API/gtk/tests/WebViewTest.h:
970         * UIProcess/API/gtk/webkit2.h:
971
972 2011-11-28  Simon Hausmann  <simon.hausmann@nokia.com>
973
974         [Qt] WTF should be built as separate static library
975         https://bugs.webkit.org/show_bug.cgi?id=73201
976
977         Reviewed by Tor Arne Vestbø.
978
979         * Target.pri: Require wtf.
980         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp: Remove unnecessary config.h
981         inclusion and thus wtf dependency.
982
983 2011-11-28  Pavel Feldman  <pfeldman@chromium.org>
984
985         REGRESSION (r101201): Crash inside WebKit::WebInspector::didClose() when closing any tab
986         https://bugs.webkit.org/show_bug.cgi?id=73183
987
988         Reviewed by Yury Semikhatsky.
989
990         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
991         (WebKit::WebInspectorClient::closeInspectorFrontend):
992
993 2011-11-28  Balazs Kelemen  <kbalazs@webkit.org>
994
995         Reviewed by Simon Hausmann.
996
997         [WK2] fast/frames/iframe-plugin-load-remove-document-crash.html crashes
998         https://bugs.webkit.org/show_bug.cgi?id=63321
999
1000         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1001         (WebKit::NetscapePlugin::manualStreamDidFail): Don't assert that m_manualStream
1002         is not null since it is not guaranteed but instead handle the case when it is null
1003         with early return.
1004
1005 2011-11-27  Zeno Albisser  <zeno@webkit.org>
1006
1007         [Qt][WK2] MiniBrowser stops displaying content after surfing a few pages.
1008         https://bugs.webkit.org/show_bug.cgi?id=73172
1009
1010         Properly initialize WebLayerTreeInfo structures.
1011
1012         Reviewed by Andreas Kling.
1013
1014         * Shared/WebLayerTreeInfo.h:
1015         (WebKit::WebLayerUpdateInfo::WebLayerUpdateInfo):
1016         (WebKit::WebLayerAnimation::WebLayerAnimation):
1017         (WebKit::WebLayerInfo::WebLayerInfo):
1018         (WebKit::WebLayerTreeInfo::WebLayerTreeInfo):
1019
1020 2011-11-27  Mark Rowe  <mrowe@apple.com>
1021
1022         <http://webkit.org/b/72665> Switch to a more modern approach to retrieving the OS marketing version
1023
1024         Reviewed by Dan Bernstein.
1025
1026         * UIProcess/mac/WebPageProxyMac.mm:
1027         (WebKit::macOSXVersionString): Use WKGetMacOSXVersionString.
1028         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1029         (InitWebCoreSystemInterface): Set up wkGetMacOSXVersionString.
1030
1031 2011-11-26  Pavel Feldman  <pfeldman@google.com>
1032
1033         Web Inspector: remove disconnectFromBackend from the protocol.
1034         https://bugs.webkit.org/show_bug.cgi?id=73127
1035
1036         Reviewed by Yury Semikhatsky.
1037
1038         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
1039         (WebKit::WebInspectorClient::inspectorDestroyed):
1040         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
1041         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
1042
1043 2011-11-26  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1044
1045         [Qt] [WK2] QtDownloadManager doesn't need to be RefCounted
1046         https://bugs.webkit.org/show_bug.cgi?id=73151
1047
1048         Reviewed by Kenneth Rohde Christiansen.
1049
1050         QtDownloadManager is owned by QtWebContext, and doesn't need to be a RefCounted
1051         class. This commit also makes the callback handlers private -- following the similar
1052         approach we take in other clients of the C API.
1053
1054         * UIProcess/qt/QtDownloadManager.cpp:
1055         (WebKit::QtDownloadManager::QtDownloadManager):
1056         (WebKit::QtDownloadManager::addDownload):
1057         (WebKit::toQtDownloadManager):
1058         (WebKit::QtDownloadManager::didReceiveResponse):
1059         (WebKit::QtDownloadManager::didCreateDestination):
1060         (WebKit::QtDownloadManager::didFinishDownload): remove unused failingUrl local variable.
1061         (WebKit::QtDownloadManager::didFailDownload):
1062         (WebKit::QtDownloadManager::didReceiveDataForDownload):
1063         * UIProcess/qt/QtDownloadManager.h:
1064         * UIProcess/qt/QtWebContext.cpp:
1065         (WebKit::QtWebContext::initialize):
1066         * UIProcess/qt/QtWebContext.h:
1067
1068 2011-11-26  Sheriff Bot  <webkit.review.bot@gmail.com>
1069
1070         Unreviewed, rolling out r101193.
1071         http://trac.webkit.org/changeset/101193
1072         https://bugs.webkit.org/show_bug.cgi?id=73158
1073
1074         Breaks Windows and Qt minimal. (Requested by pfeldman on
1075         #webkit).
1076
1077         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
1078         (WebKit::WebInspectorClient::inspectorDestroyed):
1079         * WebProcess/WebCoreSupport/WebInspectorClient.h:
1080         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
1081         (WebKit::WebInspectorFrontendClient::disconnectFromBackend):
1082         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
1083
1084 2011-11-26  Pavel Feldman  <pfeldman@google.com>
1085
1086         Web Inspector: remove disconnectFromBackend from the protocol.
1087         https://bugs.webkit.org/show_bug.cgi?id=73127
1088
1089         Reviewed by Yury Semikhatsky.
1090
1091         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
1092         (WebKit::WebInspectorClient::inspectorDestroyed):
1093         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
1094         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
1095
1096 2011-11-25  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1097
1098         [Qt] [WK2] Remove WebContext related code from QtWebPageProxy
1099         https://bugs.webkit.org/show_bug.cgi?id=73150
1100
1101         Reviewed by Kenneth Rohde Christiansen.
1102
1103         Creates a QtWebContext class that abstracts away from QtWebPageProxy the
1104         handling of creating / maintaining the default WebContext, as well as the
1105         code for the WKContextRef clients.
1106
1107         Another motivation for having this entity is to have a proper place to add
1108         objects are bound to the context, like the QtDownloadManager.
1109
1110         * Target.pri:
1111         * UIProcess/qt/ClientImpl.cpp: Removed.
1112         * UIProcess/qt/ClientImpl.h: Removed.
1113         * UIProcess/qt/QtDownloadManager.cpp:
1114         * UIProcess/qt/QtWebContext.cpp: Added.
1115         (WebKit::QtWebContext::QtWebContext):
1116         (WebKit::QtWebContext::~QtWebContext):
1117         (WebKit::QtWebContext::create):
1118         (WebKit::QtWebContext::defaultContext):
1119         (WebKit::QtWebContext::createWebPage):
1120         (WebKit::QtWebContext::setNavigatorQtObjectEnabled):
1121         (WebKit::QtWebContext::postMessageToNavigatorQtObject):
1122         (WebKit::QtWebContext::initialize):
1123         (WebKit::QtWebContext::initializeContextInjectedBundleClient):
1124         (WebKit::toQtWebContext):
1125         (WebKit::QtWebContext::didReceiveMessageFromInjectedBundle):
1126         * UIProcess/qt/QtWebContext.h: Added.
1127         (WebKit::QtWebContext::downloadManager):
1128         * UIProcess/qt/QtWebPageProxy.cpp:
1129         (QtWebPageProxy::QtWebPageProxy):
1130         (QtWebPageProxy::~QtWebPageProxy):
1131         (QtWebPageProxy::setNavigatorQtObjectEnabled):
1132         (QtWebPageProxy::postMessageToNavigatorQtObject):
1133         (QtWebPageProxy::handleDownloadRequest):
1134         * UIProcess/qt/QtWebPageProxy.h:
1135
1136 2011-11-25  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1137
1138         [Qt][WK2] Refactor GestureRecognizers to use QtWebPageEventHandler
1139         https://bugs.webkit.org/show_bug.cgi?id=73096
1140
1141         Reviewed by Kenneth Rohde Christiansen.
1142
1143         Move all the interaction engine usage to QtWebPageEventHandler,
1144         making all GestureRecognizers (Tap, Pinch and Pan) use it directly.
1145
1146         * UIProcess/qt/QtGestureRecognizer.cpp:
1147         (WebKit::QtGestureRecognizer::QtGestureRecognizer):
1148         * UIProcess/qt/QtGestureRecognizer.h:
1149         * UIProcess/qt/QtPanGestureRecognizer.cpp:
1150         (WebKit::QtPanGestureRecognizer::QtPanGestureRecognizer):
1151         (WebKit::QtPanGestureRecognizer::recognize):
1152         * UIProcess/qt/QtPanGestureRecognizer.h:
1153         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
1154         (WebKit::QtPinchGestureRecognizer::QtPinchGestureRecognizer):
1155         (WebKit::QtPinchGestureRecognizer::recognize):
1156         * UIProcess/qt/QtPinchGestureRecognizer.h:
1157         * UIProcess/qt/QtTapGestureRecognizer.cpp:
1158         (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
1159         (WebKit::QtTapGestureRecognizer::recognize):
1160         (WebKit::QtTapGestureRecognizer::tapTimeout):
1161         * UIProcess/qt/QtTapGestureRecognizer.h:
1162         * UIProcess/qt/QtWebPageEventHandler.cpp:
1163         (QtWebPageEventHandler::QtWebPageEventHandler):
1164         (QtWebPageEventHandler::setViewportInteractionEngine):
1165         * UIProcess/qt/QtWebPageEventHandler.h:
1166         (QtWebPageEventHandler::interactionEngine):
1167
1168 2011-11-25  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1169
1170         [Qt] Remove unneeded declaration from QQuickWebPagePrivate
1171         https://bugs.webkit.org/show_bug.cgi?id=73141
1172
1173         Reviewed by Antonio Gomes.
1174
1175         Left-over from r101165.
1176
1177         * UIProcess/API/qt/qquickwebpage_p_p.h:
1178
1179 2011-11-17  Martin Robinson  <mrobinson@igalia.com>
1180
1181         [GTK] Integrate build-gtkdoc into build-webkit and make
1182         https://bugs.webkit.org/show_bug.cgi?id=72626
1183
1184         Reviewed by Philippe Normand.
1185
1186         * GNUmakefile.am: Removed references to build-gtkdoc and gtkdoc.py.
1187         * UIProcess/API/gtk/docs/build-gtkdoc: Removed.
1188
1189 2011-11-25  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1190
1191         Clean up code in WK2/ChromeClientClient related to viewport handling
1192         https://bugs.webkit.org/show_bug.cgi?id=73128
1193
1194         Reviewed by Simon Hausmann.
1195
1196         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1197         (WebKit::WebChromeClient::contentsSizeChanged):
1198
1199             Make sure that we only call resizeToContentsIfNeeded when we are
1200             using the tiled backing store and fixed layout as well.
1201
1202             Guard the scrollbar code so that it is only called when scroll
1203             delegation is not used. Do similarily for the frameset code,
1204             which makes no sense with frame flattening.
1205
1206         (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
1207
1208             This method is only called for the main frame, so the main frame
1209             check has been removed.
1210
1211 2011-11-25  Simon Hausmann  <simon.hausmann@nokia.com>
1212
1213         [Qt] Eliminate warnings about the deprecated QQuickCanvas::sceneGraphEngine() function.
1214
1215         Reviewed by Andreas Kling.
1216
1217         We use the function in question to find out if we can connect to the scene graph's
1218         afterRendering signal. The signal has been moved into QQuickCanvas right away, so
1219         we can connect to it as soon as we have a canvas.
1220
1221         * UIProcess/API/qt/qquickwebpage.cpp:
1222         (QQuickWebPagePrivate::initializeSceneGraphConnections):
1223         * UIProcess/API/qt/qquickwebpage_p.h:
1224
1225 2011-11-24  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1226
1227         [Qt][WK2] Move event handling out of QtWebPageProxy
1228         https://bugs.webkit.org/show_bug.cgi?id=73089
1229
1230         Reviewed by Kenneth Rohde Christiansen.
1231
1232         Move all logic related to event handling, gestures and the
1233         interaction engine out of QtWebPageProxy, creating a separate
1234         class called QtWebPageEventHandler. This handler will be created
1235         by the QQuickWebViewPrivate and will be registered into QtWebPageProxy.
1236         QQuickWebPage will now call handleEvent through this entity.
1237
1238         * Target.pri:
1239         * UIProcess/API/qt/qquickwebpage.cpp:
1240         (QQuickWebPage::event):
1241         * UIProcess/API/qt/qquickwebview.cpp:
1242         (QQuickWebViewPrivate::QQuickWebViewPrivate):
1243         (QQuickWebViewPrivate::initializeDesktop):
1244         (QQuickWebViewPrivate::initializeTouch):
1245         * UIProcess/API/qt/qquickwebview_p_p.h:
1246         * UIProcess/qt/QtTapGestureRecognizer.cpp:
1247         (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
1248         (WebKit::QtTapGestureRecognizer::recognize):
1249         (WebKit::QtTapGestureRecognizer::tapTimeout):
1250         * UIProcess/qt/QtTapGestureRecognizer.h:
1251         * UIProcess/qt/QtWebPageEventHandler.cpp: Added.
1252         (QtWebPageEventHandler::dragOperationToDropAction):
1253         (QtWebPageEventHandler::dragOperationToDropActions):
1254         (QtWebPageEventHandler::dropActionToDragOperation):
1255         (QtWebPageEventHandler::QtWebPageEventHandler):
1256         (QtWebPageEventHandler::~QtWebPageEventHandler):
1257         (QtWebPageEventHandler::handleEvent):
1258         (QtWebPageEventHandler::handleMouseMoveEvent):
1259         (QtWebPageEventHandler::handleMousePressEvent):
1260         (QtWebPageEventHandler::handleMouseReleaseEvent):
1261         (QtWebPageEventHandler::handleMouseDoubleClickEvent):
1262         (QtWebPageEventHandler::handleWheelEvent):
1263         (QtWebPageEventHandler::handleHoverLeaveEvent):
1264         (QtWebPageEventHandler::handleHoverMoveEvent):
1265         (QtWebPageEventHandler::handleDragEnterEvent):
1266         (QtWebPageEventHandler::handleDragLeaveEvent):
1267         (QtWebPageEventHandler::handleDragMoveEvent):
1268         (QtWebPageEventHandler::handleDropEvent):
1269         (QtWebPageEventHandler::handleSingleTapEvent):
1270         (QtWebPageEventHandler::handleDoubleTapEvent):
1271         (QtWebPageEventHandler::timerEvent):
1272         (QtWebPageEventHandler::handleKeyPressEvent):
1273         (QtWebPageEventHandler::handleKeyReleaseEvent):
1274         (QtWebPageEventHandler::handleFocusInEvent):
1275         (QtWebPageEventHandler::handleFocusOutEvent):
1276         (QtWebPageEventHandler::setViewportInteractionEngine):
1277         (QtWebPageEventHandler::touchEvent):
1278         (QtWebPageEventHandler::resetGestureRecognizers):
1279         (QtWebPageEventHandler::doneWithTouchEvent):
1280         (QtWebPageEventHandler::didFindZoomableArea):
1281         * UIProcess/qt/QtWebPageEventHandler.h: Added.
1282         * UIProcess/qt/QtWebPageProxy.cpp:
1283         (QtWebPageProxy::QtWebPageProxy):
1284         (QtWebPageProxy::init):
1285         (QtWebPageProxy::didFindZoomableArea):
1286         (QtWebPageProxy::processDidCrash):
1287         (QtWebPageProxy::startDrag):
1288         (QtWebPageProxy::doneWithTouchEvent):
1289         * UIProcess/qt/QtWebPageProxy.h:
1290         (QtWebPageProxy::eventHandler):
1291
1292 2011-11-25  Simon Hausmann  <simon.hausmann@nokia.com>
1293
1294         [Qt] Cleanup in QML tests.
1295
1296         Reviewed by Tor Arne Vestbø.
1297
1298         Use a simple QML component for the "DesktopWebView" instead of a new QML type.
1299         This will allow the use of the experimental extension in the future.
1300
1301         * UIProcess/API/qt/qquickwebview.cpp:
1302         (QQuickWebViewExperimental::useTraditionalDesktopBehaviour):
1303         * UIProcess/API/qt/qquickwebview_p.h:
1304         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/DesktopWebView.qml: Added.
1305         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
1306         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
1307         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
1308         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
1309         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
1310         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
1311         (main):
1312
1313 2011-11-24  Zeno Albisser  <zeno@webkit.org>
1314
1315         [Qt]WK2][Mac] Use Mac port's IPC implementation instead of Unix sockets
1316         https://bugs.webkit.org/show_bug.cgi?id=72495
1317
1318         Make Qt using mach ports and Grand Central Dispatch for IPC
1319         when building on Mac.
1320
1321         Reviewed by Simon Hausmann.
1322
1323         * Platform/CoreIPC/Attachment.cpp:
1324         * Platform/CoreIPC/Attachment.h:
1325         * Platform/CoreIPC/Connection.h:
1326         * Platform/CoreIPC/CoreIPCMessageKinds.h:
1327         * Platform/SharedMemory.h:
1328         * Platform/WorkQueue.h:
1329         * Platform/mac/MachUtilities.cpp:
1330         * Platform/mac/WorkQueueMac.cpp:
1331         * Target.pri:
1332         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
1333         (WebKit::ProcessLauncher::launchProcess):
1334         * UIProcess/WebProcessProxy.cpp:
1335         (WebKit::WebProcessProxy::didFinishLaunching):
1336         * WebProcess/qt/WebProcessMainQt.cpp:
1337         (WebKit::WebProcessMainQt):
1338
1339 2011-11-17  Oleg Romashin  <romaxa@gmail.com>
1340
1341         [Qt][WK2] Stop leaking memory in string QWK2 API's
1342         https://bugs.webkit.org/show_bug.cgi?id=72558
1343
1344         Reviewed by Simon Hausmann.
1345
1346         WKRef API pointers don't adopt the implementation pointers by default and the implementation pointers
1347         stay alive after destroying the API pointers.
1348         This patch adopts the implementation pointers correctly by using adoptWK that returns a WKRetainPtr
1349         that will be around temporarily and correctly release the object.
1350
1351         * UIProcess/qt/QtWebPageUIClient.cpp:
1352         (QtWebPageUIClient::mouseDidMoveOverElement):
1353         * UIProcess/qt/QtDownloadManager.cpp:
1354         (WebKit::qt_wk_didFailDownload):
1355         * UIProcess/qt/QtWebPageProxy.cpp:
1356         (QtWebPageProxy::load):
1357         (QtWebPageProxy::url):
1358         (QtWebPageProxy::title):
1359
1360 2011-11-24  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1361
1362         [Qt] Get rid of the buildDirForSource() function in the build system
1363
1364         At some point the plan was to allow for running qmake on sub-trees
1365         of the sources, into the top level build directory, but this is no
1366         longer possible, so no reason to keep the convenience function around.
1367
1368         Reviewed by Simon Hausmann.
1369
1370         * DerivedSources.pri:
1371
1372 2011-11-24  Patrick Gansterer  <paroga@webkit.org>
1373
1374         [CMake] Add missing source files
1375         https://bugs.webkit.org/show_bug.cgi?id=73052
1376
1377         Reviewed by Andreas Kling.
1378
1379         Add more generic files to the sources list and remove the EFL specific stuff.
1380
1381         * CMakeLists.txt:
1382
1383 2011-11-21  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1384
1385         [Qt][WK2] Move QQuickWebView::downloadRequested signal into experimental
1386         https://bugs.webkit.org/show_bug.cgi?id=72914
1387
1388         Reviewed by Andreas Kling.
1389
1390         Make the signal downloadRequested an experimental API from QQuickWebView
1391         and modify the qml test to use a WebView instead of a DesktopWebView.
1392
1393         * UIProcess/API/qt/qquickwebview_p.h:
1394         * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_download.qml.
1395         * UIProcess/API/qt/tests/qmltests/common/download.html: Removed.
1396         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
1397         * UIProcess/qt/QtWebPageProxy.cpp:
1398         (QtWebPageProxy::didReceiveDownloadResponse):
1399
1400 2011-11-22  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1401
1402         [Qt] [WK2] Expose onNavigationRequested signal instead of expecting a slot be defined from QML
1403         https://bugs.webkit.org/show_bug.cgi?id=72976
1404
1405         Reviewed by Tor Arne Vestbø.
1406
1407         Expecting slots/methods to be implemented in QML isn't very idiomatic in
1408         comparison with the alternative of having a signal. So we now use a signal
1409         for handling navigation requests, and expose a 'request' object with relevant
1410         metadata. There's also a settable property 'action' used to indicate whether
1411         the navigation should be ignored or trigger a download.
1412
1413         The pattern signal with an object parameter that can keep the reply is common in QML,
1414         and used for example for mouse signals.
1415
1416         * UIProcess/API/qt/qquickwebview.cpp:
1417         * UIProcess/API/qt/qquickwebview_p.h:
1418         * UIProcess/API/qt/qquickwebview_p_p.h:
1419         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationPolicyForUrl.qml.
1420         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
1421         * UIProcess/qt/QtWebPagePolicyClient.cpp:
1422         (NavigationRequest::NavigationRequest):
1423         (NavigationRequest::url):
1424         (NavigationRequest::button):
1425         (NavigationRequest::modifiers):
1426         (NavigationRequest::action):
1427         (NavigationRequest::setAction):
1428         (QtWebPagePolicyClient::decidePolicyForNavigationAction):
1429         * UIProcess/qt/QtWebPagePolicyClient.h:
1430
1431 2011-11-22  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1432
1433         [Qt] [WK2] Move PagePolicyClient related code to QtWebPagePolicyClient
1434         https://bugs.webkit.org/show_bug.cgi?id=72959
1435
1436         Reviewed by Andreas Kling.
1437
1438         Split PagePolicyClient related code from QtWebPageProxy/ClientImpl. The new
1439         QtWebPagePolicyClient registers itself with WKPageRef and it's owned by the
1440         QQuickWebViewPrivate. This is a move to clean up QtWebPageProxy object.
1441
1442         QtPolicyInterface abstraction was not helping us as much as the separation of
1443         the client code will. It was more useful when we had multiple WebViews.
1444
1445         * Target.pri:
1446         * UIProcess/API/qt/qquickwebview.cpp:
1447         (QQuickWebViewPrivate::QQuickWebViewPrivate):
1448         (toPolicyAction):
1449         (QQuickWebViewPrivate::navigationPolicyForURL):
1450         * UIProcess/API/qt/qquickwebview_p.h:
1451         * UIProcess/API/qt/qquickwebview_p_p.h:
1452         * UIProcess/qt/ClientImpl.cpp:
1453         * UIProcess/qt/ClientImpl.h:
1454         * UIProcess/qt/QtWebPagePolicyClient.cpp: Added.
1455         (QtWebPagePolicyClient::QtWebPagePolicyClient):
1456         (QtWebPagePolicyClient::decidePolicyForNavigationAction):
1457         (toQtWebPagePolicyClient):
1458         (toQtMouseButton):
1459         (toQtKeyboardModifiers):
1460         (QtWebPagePolicyClient::decidePolicyForResponse):
1461         * UIProcess/qt/QtWebPagePolicyClient.h: Renamed from Source/WebKit2/UIProcess/qt/QtPolicyInterface.h.
1462         * UIProcess/qt/QtWebPageProxy.cpp:
1463         (QtWebPageProxy::QtWebPageProxy):
1464         (QtWebPageProxy::init):
1465         * UIProcess/qt/QtWebPageProxy.h:
1466
1467 2011-11-23  Raphael Kubo da Costa  <kubo@profusion.mobi>
1468
1469         [CMake] Move the top-level logic to the top-level directory.
1470         https://bugs.webkit.org/show_bug.cgi?id=72685
1471
1472         Reviewed by Brent Fulgham.
1473
1474         * CMakeLists.txt: Adjust Source/ directory.
1475
1476 2011-11-22  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
1477
1478         Unreviewed : remove empty folders related to TouchWebView and DesktopWebView
1479         https://bugs.webkit.org/show_bug.cgi?id=72985
1480
1481         * UIProcess/API/qt/tests/qmltests/DesktopWebView: Removed.
1482         * UIProcess/API/qt/tests/qmltests/TouchWebView: Removed.
1483
1484 2011-11-22  Carlos Garcia Campos  <cgarcia@igalia.com>
1485
1486         Ensure web process before starting a download
1487         https://bugs.webkit.org/show_bug.cgi?id=72499
1488
1489         Reviewed by Anders Carlsson.
1490
1491         * UIProcess/WebContext.cpp:
1492         (WebKit::WebContext::download): Call ensureWebProcess().
1493
1494 2011-11-22  Csaba Osztrogonác  <ossy@webkit.org>
1495
1496         Unreviewed buildfix after r101001.
1497
1498         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
1499         (WebKit::WebInspectorClient::openInspectorFrontend): Use ASSERT_UNUSED instead of ASSERT.
1500
1501 2011-11-22  Pavel Feldman  <pfeldman@google.com>
1502
1503         Not reviewed: moving inspector frontend creation out of assert in WebKit2.
1504
1505         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
1506         (WebKit::WebInspectorClient::openInspectorFrontend):
1507
1508 2011-11-22  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1509
1510         [Qt][WK2] Fix and unskip loadHtml api test
1511         https://bugs.webkit.org/show_bug.cgi?id=72916
1512
1513         Reviewed by Andreas Kling.
1514
1515         Now that linkHovered events are working again we can fix and unskip this
1516         loadHtml test.
1517
1518         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
1519
1520 2011-11-22  Pavel Feldman  <pfeldman@google.com>
1521
1522         Web Inspector: remove Inspector::bringToFront from the protocol.
1523         https://bugs.webkit.org/show_bug.cgi?id=72937
1524
1525         Reviewed by Yury Semikhatsky.
1526
1527         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
1528         (WebKit::WebInspectorClient::openInspectorFrontend):
1529         (WebKit::WebInspectorClient::bringFrontendToFront):
1530         * WebProcess/WebCoreSupport/WebInspectorClient.h:
1531
1532 2011-11-22  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1533
1534         [Qt] [WK2] Move PageLoadClient related code to QtWebPageLoadClient
1535         https://bugs.webkit.org/show_bug.cgi?id=72928
1536
1537         Reviewed by Andreas Kling.
1538
1539         Split PageLoadClient related code from QtWebPageProxy/ClientImpl. The new
1540         QtWebPageLoadClient registers itself with WKPageRef and it's owned by the
1541         QQuickWebViewPrivate. This is a move to clean up QtWebPageProxy object.
1542
1543         * Target.pri:
1544         * UIProcess/API/qt/qquickwebview.cpp:
1545         (QQuickWebViewPrivate::QQuickWebViewPrivate):
1546         (QQuickWebView::loadProgress):
1547         * UIProcess/API/qt/qquickwebview_p.h:
1548         * UIProcess/API/qt/qquickwebview_p_p.h:
1549         * UIProcess/qt/ClientImpl.cpp:
1550         * UIProcess/qt/ClientImpl.h:
1551         * UIProcess/qt/QtWebPageLoadClient.cpp: Added.
1552         (QtWebPageLoadClient::QtWebPageLoadClient):
1553         (QtWebPageLoadClient::didStartProvisionalLoadForFrame):
1554         (QtWebPageLoadClient::didCommitLoadForFrame):
1555         (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
1556         (QtWebPageLoadClient::didReceiveTitleForFrame):
1557         (QtWebPageLoadClient::didFirstVisuallyNonEmptyLayoutForFrame):
1558         (QtWebPageLoadClient::dispatchLoadSucceeded):
1559         (QtWebPageLoadClient::dispatchLoadFailed):
1560         (QtWebPageLoadClient::setLoadProgress):
1561         (toQtWebPageLoadClient):
1562         (QtWebPageLoadClient::didFailProvisionalLoadWithErrorForFrame):
1563         (QtWebPageLoadClient::didFinishLoadForFrame):
1564         (QtWebPageLoadClient::didFailLoadWithErrorForFrame):
1565         (QtWebPageLoadClient::didStartProgress):
1566         (QtWebPageLoadClient::didChangeProgress):
1567         (QtWebPageLoadClient::didFinishProgress):
1568         * UIProcess/qt/QtWebPageLoadClient.h: Added.
1569         (QtWebPageLoadClient::loadProgress):
1570         * UIProcess/qt/QtWebPageProxy.cpp:
1571         (QtWebPageProxy::QtWebPageProxy):
1572         (QtWebPageProxy::init):
1573         (QtWebPageProxy::updateNavigationState):
1574         * UIProcess/qt/QtWebPageProxy.h:
1575
1576 2011-11-22  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1577
1578         [Qt] [WK2] Move PageUIClient related code to QtWebPageUIClient
1579         https://bugs.webkit.org/show_bug.cgi?id=72910
1580
1581         Reviewed by Andreas Kling.
1582
1583         Split PageUIClient related code from QtWebPageProxy/ClientImpl. The new
1584         QtWebPageUIClient registers itself with WKPageRef and it's owned by the
1585         QQuickWebViewPrivate. This is a move to clean up QtWebPageProxy object.
1586
1587         * Target.pri:
1588         * UIProcess/API/qt/qquickwebview.cpp:
1589         (QQuickWebViewPrivate::QQuickWebViewPrivate):
1590         (QQuickWebViewPrivate::chooseFiles):
1591         * UIProcess/API/qt/qquickwebview_p.h:
1592         * UIProcess/API/qt/qquickwebview_p_p.h:
1593         * UIProcess/qt/ClientImpl.cpp:
1594         * UIProcess/qt/ClientImpl.h:
1595         * UIProcess/qt/QtWebPageProxy.cpp:
1596         (QtWebPageProxy::init):
1597         * UIProcess/qt/QtWebPageProxy.h:
1598         * UIProcess/qt/QtWebPageUIClient.cpp: Added.
1599         (QtWebPageUIClient::QtWebPageUIClient):
1600         (QtWebPageUIClient::runJavaScriptAlert):
1601         (QtWebPageUIClient::runJavaScriptConfirm):
1602         (QtWebPageUIClient::runJavaScriptPrompt):
1603         (QtWebPageUIClient::runOpenPanel):
1604         (QtWebPageUIClient::setStatusText):
1605         (QtWebPageUIClient::mouseDidMoveOverElement):
1606         (toQtWebPageUIClient):
1607         (createNullWKString):
1608         * UIProcess/qt/QtWebPageUIClient.h: Added.
1609
1610 2011-11-22  Eunmi Lee  <eunmi15.lee@samsung.com>
1611
1612         [WK2] Modify EFL port's WebEventFactory to use EflKeyboardUtilities's
1613         keyIdentifierForEvasKeyName() and windowsKeyCodeForEvasKeyName().
1614         https://bugs.webkit.org/show_bug.cgi?id=72850
1615
1616         Reviewed by Anders Carlsson.
1617
1618         The EflKeyboardUtilities has been added, so we can use keyIdentifierForEvasKeyName() and
1619         windowsKeyCodeForEvasKeyName() for EFL port's WebEventFactory.
1620
1621         * Shared/efl/WebEventFactory.cpp:
1622         (WebKit::WebEventFactory::createWebKeyboardEvent):
1623
1624 2011-11-21  Alexis Menard  <alexis.menard@openbossa.org>
1625
1626         [Qt][WK2] REGRESSION(100483): It made 2 API tests fail
1627         https://bugs.webkit.org/show_bug.cgi?id=72612
1628
1629         Reviewed by Kenneth Rohde Christiansen.
1630
1631         Make sure that when the view is focused, the page knows about it.
1632         Also set a the view to be the focused item in the failing tests.
1633
1634         * UIProcess/API/qt/qquickwebpage_p.h:
1635         * UIProcess/API/qt/qquickwebview.cpp:
1636         (QQuickWebView::focusInEvent):
1637         (QQuickWebView::focusOutEvent):
1638         * UIProcess/API/qt/qquickwebview_p.h:
1639         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
1640         * UIProcess/qt/QtWebPageProxy.cpp:
1641         (QtWebPageProxy::isViewFocused):
1642
1643 2011-11-21  Simon Hausmann  <simon.hausmann@nokia.com>
1644
1645         [Qt] Speed up debug builds.
1646         https://bugs.webkit.org/show_bug.cgi?id=72882
1647
1648         Reviewed by Tor Arne Vestbø.
1649
1650         * Target.pri: Make BUILDING_WebKit2 available, so it can be
1651         used by the build system.
1652
1653 2011-11-21  Alexis Menard  <alexis.menard@openbossa.org>
1654
1655         [Qt] Remove unnecessary initialize method from QQuickWebView.
1656         https://bugs.webkit.org/show_bug.cgi?id=72905
1657
1658         Reviewed by Kenneth Rohde Christiansen.
1659
1660         We don't need this level of indirection.
1661
1662         * UIProcess/API/qt/qquickwebview.cpp:
1663         (QQuickWebViewPrivate::QQuickWebViewPrivate):
1664         (QQuickWebView::QQuickWebView):
1665         * UIProcess/API/qt/qquickwebview_p_p.h:
1666
1667 2011-11-21  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1668
1669         [Qt][WK2] Implement loadHtml API for QQuickWebView
1670         https://bugs.webkit.org/show_bug.cgi?id=72161
1671
1672         Reviewed by Simon Hausmann.
1673
1674         Implement QQuickWebView::loadHtml that calls QtWebPageProxy::loadHTMLString.
1675         This function will use WKPageLoadHTMLString in order to load HTML from a given string.
1676
1677         * UIProcess/API/qt/qquickwebview.cpp:
1678         (QQuickWebView::loadHtml):
1679         * UIProcess/API/qt/qquickwebview.h:
1680         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadHtml.qml: Added.
1681         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml: Added.
1682         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
1683         * UIProcess/qt/QtWebPageProxy.cpp:
1684         (QtWebPageProxy::loadHTMLString):
1685         * UIProcess/qt/QtWebPageProxy.h:
1686
1687 2011-11-21  Igor Oliveira  <igor.oliveira@openbossa.org>
1688
1689         [WK2][Qt] Move Accelerated Composite animations to UIProcess
1690         https://bugs.webkit.org/show_bug.cgi?id=72753
1691
1692         Currently, all the accelerated compositing animations are applied in WebProcess and
1693         for each frame generated, WebProcess needs to sync with UIProcess.
1694
1695         This patch moves the accelerated compositing animations to UIProcess reducing the
1696         amount of synchronization messages between WebProcess and UIProcess, this is done
1697         sending animations information to UIProcess.
1698
1699         Reviewed by Noam Rosenthal.
1700
1701         * Shared/WebCoreArgumentCoders.cpp:
1702         (CoreIPC::::encode):
1703         (CoreIPC::::decode):
1704
1705         Encode/Decode RefPtr<Animation> instead of Animation class. This facilitates
1706         the data serialization.
1707
1708         * Shared/WebCoreArgumentCoders.h:
1709         * Shared/WebLayerTreeInfo.cpp:
1710         (WebKit::WebLayerInfo::encode):
1711         (WebKit::WebLayerInfo::decode):
1712         (WebKit::WebLayerAnimation::encode):
1713         (WebKit::WebLayerAnimation::decode):
1714
1715         Create WebLayerAnimation struct, it is used to send animation information
1716         to UIProcess.
1717
1718         * Shared/WebLayerTreeInfo.h:
1719         (WebKit::WebLayerAnimation::WebLayerAnimation):
1720         * UIProcess/LayerTreeHostProxy.h:
1721         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
1722         (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
1723         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
1724         (WebKit::LayerTreeHostProxy::didFireViewportUpdateTimer):
1725         (WebKit::LayerTreeHostProxy::syncLayerParameters):
1726         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
1727         (WebCore::WebGraphicsLayer::addAnimation):
1728         (WebCore::WebGraphicsLayer::pauseAnimation):
1729         (WebCore::WebGraphicsLayer::removeAnimation):
1730         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
1731
1732 2011-11-21  Pavel Feldman  <pfeldman@chromium.org>
1733
1734         Web Inspector: [WebKit2] Do not access InspectorController from the "Develop" menu code.
1735         https://bugs.webkit.org/show_bug.cgi?id=63009
1736
1737         Reviewed by Yury Semikhatsky.
1738
1739         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
1740         (WebKit::WebInspectorClient::openInspectorFrontend):
1741         * WebProcess/WebPage/WebInspector.cpp:
1742         (WebKit::WebInspector::WebInspector):
1743         (WebKit::WebInspector::createInspectorPage):
1744         (WebKit::WebInspector::showConsole):
1745         (WebKit::WebInspector::startJavaScriptDebugging):
1746         (WebKit::WebInspector::stopJavaScriptDebugging):
1747         (WebKit::WebInspector::setJavaScriptProfilingEnabled):
1748         (WebKit::WebInspector::startJavaScriptProfiling):
1749         (WebKit::WebInspector::stopJavaScriptProfiling):
1750         (WebKit::WebInspector::startPageProfiling):
1751         (WebKit::WebInspector::stopPageProfiling):
1752         * WebProcess/WebPage/WebInspector.h:
1753
1754 2011-11-21  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1755
1756         [Qt] Add WebView.view attached property support for dialogs in QML
1757         https://bugs.webkit.org/show_bug.cgi?id=72825
1758
1759         Reviewed by Simon Hausmann.
1760
1761         When creating new dialogs, fill their WebView.view attached property
1762         with the WebView that's creating them. This follows the same pattern
1763         as QtQuick's ListView, enabling the usage of the same dialog component
1764         for different WebViews.
1765
1766         * UIProcess/API/qt/qquickwebview.cpp:
1767         (QQuickWebViewPrivate::runJavaScriptAlert):
1768         (QQuickWebViewPrivate::runJavaScriptConfirm):
1769         (QQuickWebViewPrivate::runJavaScriptPrompt):
1770         (QQuickWebViewPrivate::setViewInAttachedProperties):
1771         (QQuickWebViewAttached::QQuickWebViewAttached):
1772         (QQuickWebViewAttached::setView):
1773         (QQuickWebView::qmlAttachedProperties):
1774         * UIProcess/API/qt/qquickwebview_p.h:
1775         * UIProcess/API/qt/qquickwebview_p_p.h:
1776         * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
1777         * UIProcess/qt/QtDialogRunner.h:
1778         (QtDialogRunner::dialog):
1779
1780 2011-11-21  Jochen Eisinger  <jochen@chromium.org>
1781
1782         Implement Meta referrer
1783         https://bugs.webkit.org/show_bug.cgi?id=72674
1784
1785         Reviewed by Adam Barth.
1786
1787         * WebProcess/Plugins/PluginView.cpp:
1788         (WebKit::PluginView::loadURL):
1789
1790 2011-11-21  Carlos Garcia Campos  <cgarcia@igalia.com>
1791
1792         Unreviewed. Fix make distcheck build.
1793
1794         * GNUmakefile.am:
1795
1796 2011-10-17  Antonio Gomes  <agomes@rim.com>
1797
1798         Pass a Frame* parameter in EditorClient::respondToChangedSelection
1799         https://bugs.webkit.org/show_bug.cgi?id=70248
1800
1801         Reviewed by Ryosuke Niwa.
1802
1803         * WebProcess/WebCoreSupport/WebEditorClient.cpp: Make use of the newly added Frame* parameter.
1804         (WebKit::WebEditorClient::respondToChangedSelection):
1805         * WebProcess/WebCoreSupport/WebEditorClient.h:
1806
1807 2011-11-17  Mark Rowe  <mrowe@apple.com>
1808
1809         <http://webkit.org/b/72646> Disable deprecation warnings around code where we cannot easily
1810         switch away from the deprecated APIs.
1811
1812         Reviewed by Sam Weinig.
1813
1814         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
1815
1816 2011-11-19  Sheriff Bot  <webkit.review.bot@gmail.com>
1817
1818         Unreviewed, rolling out r100834.
1819         http://trac.webkit.org/changeset/100834
1820         https://bugs.webkit.org/show_bug.cgi?id=72806
1821
1822         this patch makes Qt run-webkit-test exit before finishing
1823         (Requested by igoroliveira on #webkit).
1824
1825         * Shared/WebCoreArgumentCoders.cpp:
1826         (CoreIPC::::encode):
1827         (CoreIPC::::decode):
1828         * Shared/WebCoreArgumentCoders.h:
1829         * Shared/WebLayerTreeInfo.cpp:
1830         (WebKit::WebLayerInfo::encode):
1831         (WebKit::WebLayerInfo::decode):
1832         * Shared/WebLayerTreeInfo.h:
1833         * UIProcess/LayerTreeHostProxy.h:
1834         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
1835         (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
1836         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
1837         (WebKit::LayerTreeHostProxy::syncLayerParameters):
1838         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
1839         (WebCore::WebGraphicsLayer::addAnimation):
1840         (WebCore::WebGraphicsLayer::pauseAnimation):
1841         (WebCore::WebGraphicsLayer::removeAnimation):
1842         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
1843
1844 2011-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>
1845
1846         Unreviewed, rolling out r100826.
1847         http://trac.webkit.org/changeset/100826
1848         https://bugs.webkit.org/show_bug.cgi?id=72786
1849
1850         Broke Chromium Mac build (Requested by aklein on #webkit).
1851
1852         * UIProcess/API/mac/PageClientImpl.h:
1853         * UIProcess/API/mac/PageClientImpl.mm:
1854         * UIProcess/PageClient.h:
1855         * UIProcess/WebPageProxy.cpp:
1856         * UIProcess/WebPageProxy.h:
1857         * UIProcess/WebPageProxy.messages.in:
1858         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
1859         (WebKit::BuiltInPDFView::scrollbarStyleChanged):
1860         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
1861         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1862         * WebProcess/WebCoreSupport/WebChromeClient.h:
1863
1864 2011-11-18  Igor Oliveira  <igor.oliveira@openbossa.org>
1865
1866         [WK2][Qt] Move Accelerated Composite animations to UIProcess
1867         https://bugs.webkit.org/show_bug.cgi?id=72753
1868
1869         Currently, all the accelerated compositing animations are applied in WebProcess and
1870         for each frame generated, WebProcess needs to sync with UIProcess.
1871
1872         This patch moves the accelerated compositing animations to UIProcess reducing the
1873         amount of synchronization messages between WebProcess and UIProcess, this is done
1874         sending animations information to UIProcess.
1875
1876         Reviewed by Noam Rosenthal.
1877
1878         * Shared/WebCoreArgumentCoders.cpp:
1879         (CoreIPC::::encode):
1880         (CoreIPC::::decode):
1881
1882         Encode/Decode RefPtr<Animation> instead of Animation class. This facilitates
1883         the data serialization.
1884
1885         * Shared/WebCoreArgumentCoders.h:
1886         * Shared/WebLayerTreeInfo.cpp:
1887         (WebKit::WebLayerInfo::encode):
1888         (WebKit::WebLayerInfo::decode):
1889         (WebKit::WebLayerAnimation::encode):
1890         (WebKit::WebLayerAnimation::decode):
1891
1892         Create WebLayerAnimation struct, it is used to send animation information
1893         to UIProcess.
1894
1895         * Shared/WebLayerTreeInfo.h:
1896         (WebKit::WebLayerAnimation::WebLayerAnimation):
1897         * UIProcess/LayerTreeHostProxy.h:
1898         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
1899         (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
1900         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
1901         (WebKit::LayerTreeHostProxy::updateSceneGraphUpdateTimerFired):
1902         (WebKit::LayerTreeHostProxy::syncLayerParameters):
1903         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
1904         (WebCore::WebGraphicsLayer::addAnimation):
1905         (WebCore::WebGraphicsLayer::pauseAnimation):
1906         (WebCore::WebGraphicsLayer::removeAnimation):
1907         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
1908
1909 2011-11-18  Beth Dakin  <bdakin@apple.com>
1910
1911         https://bugs.webkit.org/show_bug.cgi?id=72551
1912         When the recommended scrollbar style changes, WKView's tracking options should 
1913         adjust accordingly
1914         -and corresponding-
1915         <rdar://problem/10409328>
1916
1917         Reviewed by Darin Adler.
1918
1919         These new functions take care of passing along the 
1920         recommendedScrollbarStyleDidChange() message that originates in the ChromeClient. 
1921         * UIProcess/API/mac/PageClientImpl.h:
1922         * UIProcess/PageClient.h:
1923         * UIProcess/WebPageProxy.cpp:
1924         (WebKit::WebPageProxy::recommendedScrollbarStyleDidChange):
1925         * UIProcess/WebPageProxy.h:
1926         * UIProcess/WebPageProxy.messages.in:
1927         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1928         (WebKit::WebChromeClient::recommendedScrollbarStyleDidChange):
1929         * WebProcess/WebCoreSupport/WebChromeClient.h:
1930
1931         This is where we actually respond to the recommendedScrollbarStyleDidChange 
1932         message. We remove the existing tracking area and create a new tracking area with 
1933         the appropriate tracking options.
1934         * UIProcess/API/mac/PageClientImpl.mm:
1935         (WebKit::PageClientImpl::recommendedScrollbarStyleDidChange):
1936
1937         BuiltInPDFView inherits from WebCore::ScrollableArea, so scrollbarStyleChanged() 
1938         must now take two parameters like the one in ScrollableArea.
1939         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
1940         (WebKit::BuiltInPDFView::scrollbarStyleChanged):
1941         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
1942
1943 2011-11-18  Dinu Jacob  <dinu.jacob@nokia.com>
1944
1945         [Qt][Wk2] Add an API test for scroll request from javascript
1946         https://bugs.webkit.org/show_bug.cgi?id=72407
1947
1948         New API test added for QQuickWebView for javascript scroll request 
1949         Reviewed by Simon Hausmann.
1950
1951         * UIProcess/API/qt/tests/html/scroll.html: Added.
1952         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
1953         (tst_QQuickWebView::scrollRequest):
1954
1955 2011-11-18 No'am Rosenthal  <noam.rosenthal@nokia.com>
1956
1957         WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
1958         https://bugs.webkit.org/show_bug.cgi?id=61694
1959
1960         Add an ArgumentCoder for KeyframeValueList, and modify the TimingFunction ArgumentCoder to
1961         allow encoding const TimingFunctions and not just RefPtr<TimingFunction>.
1962
1963         Reviewed by Simon Hausmann.
1964
1965         * Scripts/webkit2/messages.py:
1966         * Shared/WebCoreArgumentCoders.cpp:
1967         (CoreIPC::::encode):
1968         (CoreIPC::::decode):
1969         * Shared/WebCoreArgumentCoders.h:
1970
1971 2011-11-18  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1972
1973         [Qt] Guard for the viewportInteractionEngine as it doesn't always exist.
1974
1975         Reviewed by Antonio Gomes.
1976
1977         The engine is non-existent when the view is configured to use desktop
1978         behavior.
1979
1980         * UIProcess/qt/QtWebPageProxy.cpp:
1981         (QtWebPageProxy::handleWheelEvent):
1982         (QtWebPageProxy::didFindZoomableArea):
1983
1984 2011-11-18  Carlos Garcia Campos  <cgarcia@igalia.com>
1985
1986         [GTK] Send DidCreateDestination to DownloadProxy when destination has been created
1987         https://bugs.webkit.org/show_bug.cgi?id=72724
1988
1989         Reviewed by Martin Robinson.
1990
1991         * WebProcess/Downloads/soup/DownloadSoup.cpp:
1992         (WebKit::DownloadClient::didReceiveResponse): Call
1993         didCreateDestination() when destination URI has been successfully
1994         created.
1995
1996 2011-11-18  Carlos Garcia Campos  <cgarcia@igalia.com>
1997
1998         [GTK] Cancel current download operation before download object is deleted
1999         https://bugs.webkit.org/show_bug.cgi?id=72721
2000
2001         Reviewed by Martin Robinson.
2002
2003         It fixes a crash in the web process when a download finishes early
2004         due to a failure.
2005
2006         * WebProcess/Downloads/soup/DownloadSoup.cpp:
2007         (WebKit::Download::cancel): Delete current ResourceHandle.
2008         (WebKit::Download::platformInvalidate): If there's a
2009         ResourceHandle active, cancel the download operation and delete
2010         the handle.
2011         (WebKit::Download::platformDidFinish): Delete current ResourceHandle.
2012
2013 2011-11-18  Carlos Garcia Campos  <cgarcia@igalia.com>
2014
2015         [GTK] Downloads not started by WebView only fail for transport errors
2016         https://bugs.webkit.org/show_bug.cgi?id=72718
2017
2018         Reviewed by Martin Robinson.
2019
2020         * WebProcess/Downloads/soup/DownloadSoup.cpp:
2021         (WebKit::DownloadClient::didReceiveResponse): Check if the http
2022         status of the response is an error code and finish the download
2023         with an error in such case.
2024
2025 2011-11-17  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2026
2027         [Qt] Support customizing JS alert/confirm/prompt dialogs using QML
2028         https://bugs.webkit.org/show_bug.cgi?id=72319
2029
2030         Reviewed by Simon Hausmann.
2031
2032         Adds alertDialog, confirmDialog and promptDialog properties to QQuickWebView's
2033         privateObject. These are QML components that are created by the webview when the
2034         corresponding function is called in JS.
2035
2036         The dialogs are created in a context that contains a model object, similar to
2037         ListView delegates. The "message" and "defaultValue" parameters are available
2038         in the model object, as well as slots expected to be called by the dialog.
2039
2040         This commit removes the old code for supporting QWidget builtin dialogs. The code
2041         wasn't working properly (closing any dialog was closing the app after QWindow
2042         refactoring in Qt5).
2043
2044         * Target.pri:
2045         * UIProcess/API/qt/qquickwebview.cpp:
2046         (QQuickWebViewPrivate::runJavaScriptAlert):
2047         (QQuickWebViewPrivate::runJavaScriptConfirm):
2048         (QQuickWebViewPrivate::runJavaScriptPrompt):
2049         (QQuickWebViewExperimental::alertDialog):
2050         (QQuickWebViewExperimental::setAlertDialog):
2051         (QQuickWebViewExperimental::confirmDialog):
2052         (QQuickWebViewExperimental::setConfirmDialog):
2053         (QQuickWebViewExperimental::promptDialog):
2054         (QQuickWebViewExperimental::setPromptDialog):
2055         * UIProcess/API/qt/qquickwebview_p.h:
2056         * UIProcess/API/qt/qquickwebview_p_p.h:
2057         * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml: Added.
2058         * UIProcess/API/qt/tests/qmltests/common/alert.html: Added.
2059         * UIProcess/API/qt/tests/qmltests/common/confirm.html: Added.
2060         * UIProcess/API/qt/tests/qmltests/common/prompt.html: Added.
2061         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
2062         * UIProcess/qt/QtDialogRunner.cpp: Added.
2063         (QtDialogRunner::QtDialogRunner):
2064         (QtDialogRunner::~QtDialogRunner):
2065         (DialogContextObject::DialogContextObject):
2066         (DialogContextObject::message):
2067         (DialogContextObject::defaultValue):
2068         (DialogContextObject::dismiss):
2069         (DialogContextObject::accept):
2070         (DialogContextObject::reject):
2071         (QtDialogRunner::initForAlert):
2072         (QtDialogRunner::initForConfirm):
2073         (QtDialogRunner::initForPrompt):
2074         (QtDialogRunner::createDialog):
2075         * UIProcess/qt/QtDialogRunner.h: Added.
2076         (QtDialogRunner::wasAccepted):
2077         (QtDialogRunner::result):
2078         (QtDialogRunner::onAccepted):
2079
2080 2011-11-18  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2081
2082         [Qt] Support wheel event together with resizesToContents
2083
2084         Reviewed by Simon Hausmann.
2085
2086         * UIProcess/API/qt/qquickwebpage.cpp:
2087         * UIProcess/qt/QtViewportInteractionEngine.cpp:
2088         (WebKit::QtViewportInteractionEngine::wheelEvent):
2089         * UIProcess/qt/QtViewportInteractionEngine.h:
2090         * UIProcess/qt/QtWebPageProxy.cpp:
2091         (QtWebPageProxy::handleWheelEvent):
2092
2093 2011-11-18  Simon Hausmann  <simon.hausmann@nokia.com>
2094
2095         [Qt][WK2] Layer violation: WebPopupMenuProxyQtDesktop.cpp uses files from WebKit/qt
2096         https://bugs.webkit.org/show_bug.cgi?id=72696
2097
2098         Reviewed by Kenneth Rohde Christiansen.
2099
2100         Implement the WK2 desktop popup by simply subclassing QComboBox and doing the
2101         same thing as QtWebComboBox from WK1 (a few lines of code).
2102
2103         * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
2104         (WebKit::WebPopupMenuProxyQtDesktop::WebPopupMenuProxyQtDesktop):
2105         (WebKit::WebPopupMenuProxyQtDesktop::~WebPopupMenuProxyQtDesktop):
2106         (WebKit::WebPopupMenuProxyQtDesktop::showPopupMenu):
2107         (WebKit::WebPopupMenuProxyQtDesktop::hidePopupMenu):
2108         (WebKit::WebPopupMenuProxyQtDesktop::eventFilter):
2109         (WebKit::WebPopupMenuProxyQtDesktop::setSelectedIndex):
2110         (WebKit::WebPopupMenuProxyQtDesktop::populate):
2111         * UIProcess/qt/WebPopupMenuProxyQtDesktop.h:
2112
2113 2011-11-18  Zeno Albisser  <zeno@webkit.org>
2114
2115         [Qt][WK2] setViewportInteractionEngine must also set the InteractionEngine for the tap recognizer.
2116         https://bugs.webkit.org/show_bug.cgi?id=72717
2117
2118         Reviewed by Kenneth Rohde Christiansen.
2119
2120         * UIProcess/qt/QtTapGestureRecognizer.cpp:
2121         (WebKit::QtTapGestureRecognizer::setViewportInteractionEngine):
2122         * UIProcess/qt/QtTapGestureRecognizer.h:
2123         * UIProcess/qt/QtWebPageProxy.cpp:
2124         (QtWebPageProxy::setViewportInteractionEngine):
2125         * UIProcess/qt/QtWebPageProxy.h:
2126
2127 2011-11-18  Simon Hausmann  <simon.hausmann@nokia.com>
2128
2129         [Qt][WK2] Fix popups for select elements.
2130
2131         Reviewed by Tor Arne Vestbø.
2132
2133         * UIProcess/qt/QtWebPageProxy.cpp:
2134         (QtWebPageProxy::createPopupMenuProxy): Fall back to the "desktop" implementation
2135         for the moment. Better than nothing :)
2136
2137 2011-11-18  Simon Hausmann  <simon.hausmann@nokia.com>
2138
2139         [Qt] Unreviewed debug build fix
2140
2141         * UIProcess/qt/QtWebPageProxy.cpp:
2142         (QtWebPageProxy::QtWebPageProxy): Don't assert on a non-existant
2143         variable.
2144
2145 2011-11-18  Simon Hausmann  <simon.hausmann@nokia.com>
2146
2147         [Qt] Removal of QtViewInterface part 3
2148
2149         Reviewed by Kenneth Rohde Christiansen.
2150
2151         Move the remaining forwarded calls from ClientImpl that went through
2152         ViewInterface and then PageProxy or WebView to go straight to
2153         QtWebPageProxy. QtViewInterface is empty now and therefore removed.
2154
2155         * Target.pri:
2156         * UIProcess/API/qt/qquickwebpage_p.h:
2157         * UIProcess/API/qt/qquickwebpage_p_p.h:
2158         * UIProcess/API/qt/qquickwebview.cpp:
2159         (QQuickWebViewPrivate::initialize):
2160         (QQuickWebViewPrivate::chooseFiles):
2161         * UIProcess/API/qt/qquickwebview_p.h:
2162         * UIProcess/API/qt/qquickwebview_p_p.h:
2163         * UIProcess/qt/ClientImpl.cpp:
2164         (qt_wk_runJavaScriptAlert):
2165         (qt_wk_runJavaScriptConfirm):
2166         (qt_wk_runJavaScriptPrompt):
2167         (qt_wk_setStatusText):
2168         (qt_wk_runOpenPanel):
2169         (qt_wk_mouseDidMoveOverElement):
2170         (setupPageUiClient):
2171         * UIProcess/qt/QtViewInterface.cpp: Removed.
2172         * UIProcess/qt/QtViewInterface.h: Removed.
2173         * UIProcess/qt/QtWebPageProxy.cpp:
2174         (QtWebPageProxy::QtWebPageProxy):
2175         (QtWebPageProxy::didChangeStatusText):
2176         (QtWebPageProxy::didMouseMoveOverElement):
2177         (QtWebPageProxy::showContextMenu):
2178         (QtWebPageProxy::hideContextMenu):
2179         (QtWebPageProxy::runJavaScriptAlert):
2180         (QtWebPageProxy::runJavaScriptConfirm):
2181         (QtWebPageProxy::runJavaScriptPrompt):
2182         (QtWebPageProxy::chooseFiles):
2183         (QtWebPageProxy::createContextMenuProxy):
2184         (QtWebPageProxy::didChangeLoadProgress):
2185         * UIProcess/qt/QtWebPageProxy.h:
2186         (QtWebPageProxy::contextMenuItemSelected):
2187         * UIProcess/qt/WebContextMenuProxyQt.cpp:
2188         (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
2189         (WebKit::WebContextMenuProxyQt::create):
2190         (WebKit::WebContextMenuProxyQt::hideContextMenu):
2191         * UIProcess/qt/WebContextMenuProxyQt.h:
2192
2193 2011-11-18  Zalan Bujtas  <zbujtas@gmail.com>
2194
2195         [Qt][WK2] UI process segfaults, when visiblity properties are set while the WebProcess is dead.
2196         https://bugs.webkit.org/show_bug.cgi?id=72699
2197
2198         The drawing area may be null, if the web process has crashed, but not yet recovered.
2199         Always null check against drawing area.
2200
2201         Reviewed by Simon Hausmann.
2202
2203         * UIProcess/qt/QtWebPageProxy.cpp:
2204         (QtWebPageProxy::setDrawingAreaSize):
2205         (QtWebPageProxy::setVisibleContentRectAndScale):
2206         (QtWebPageProxy::setVisibleContentRectTrajectoryVector):
2207
2208 2011-11-18  Simon Hausmann  <simon.hausmann@nokia.com>
2209
2210         [Qt] Removal of QtViewInterface part 2
2211
2212         Reviewed by Kenneth Rohde Christiansen.
2213
2214         Move all functions that forwarded from QtWebPageProxy to QtViewInterface and then
2215         to QQuickWebView straight into QtWebPageProxy.
2216
2217         * UIProcess/API/qt/qquickwebpage_p.h:
2218         * UIProcess/API/qt/qquickwebview.cpp:
2219         (QQuickWebViewPrivate::initialize):
2220         * UIProcess/API/qt/qquickwebview_p_p.h:
2221         * UIProcess/qt/QtViewInterface.cpp:
2222         * UIProcess/qt/QtViewInterface.h:
2223         * UIProcess/qt/QtWebPageProxy.cpp:
2224         (QtWebPageProxy::QtWebPageProxy):
2225         (QtWebPageProxy::setCursor):
2226         (QtWebPageProxy::isViewWindowActive):
2227         (QtWebPageProxy::isViewVisible):
2228         (QtWebPageProxy::pageDidRequestScroll):
2229         (QtWebPageProxy::didFinishFirstNonEmptyLayout):
2230         (QtWebPageProxy::didChangeContentsSize):
2231         (QtWebPageProxy::didChangeViewportProperties):
2232         (QtWebPageProxy::toolTipChanged):
2233         (QtWebPageProxy::didChangeUrl):
2234         (QtWebPageProxy::didChangeTitle):
2235         (QtWebPageProxy::loadDidBegin):
2236         (QtWebPageProxy::loadDidCommit):
2237         (QtWebPageProxy::loadDidSucceed):
2238         (QtWebPageProxy::loadDidFail):
2239         (QtWebPageProxy::didRelaunchProcess):
2240         (QtWebPageProxy::processDidCrash):
2241         (QtWebPageProxy::startDrag):
2242         (QtWebPageProxy::didReceiveDownloadResponse):
2243         * UIProcess/qt/QtWebPageProxy.h:
2244
2245 2011-11-18  Simon Hausmann  <simon.hausmann@nokia.com>
2246
2247         [Qt] Removal of QtViewInterface part 1
2248
2249         Reviewed by Kenneth Rohde Christiansen.
2250
2251         Replace functions of QtViewInterface that forward to QQuickWebPage with direct
2252         usage of QQuickWebPage. Also removed some dead code.
2253
2254         * UIProcess/API/qt/qquickwebpage.cpp:
2255         (QQuickWebPage::sceneGraphUpdateQueue):
2256         * UIProcess/API/qt/qquickwebpage_p.h:
2257         * UIProcess/API/qt/qquickwebview.cpp:
2258         (QQuickWebViewPrivate::initialize):
2259         * UIProcess/TiledDrawingAreaProxy.h:
2260         * UIProcess/qt/QtViewInterface.cpp:
2261         (WebKit::QtViewInterface::QtViewInterface):
2262         (WebKit::QtViewInterface::isVisible):
2263         * UIProcess/qt/QtViewInterface.h:
2264         * UIProcess/qt/QtWebPageProxy.cpp:
2265         (QtWebPageProxy::QtWebPageProxy):
2266         (QtWebPageProxy::setViewNeedsDisplay):
2267         (QtWebPageProxy::viewSize):
2268         (QtWebPageProxy::isViewFocused):
2269         (QtWebPageProxy::isViewVisible):
2270         (QtWebPageProxy::didRelaunchProcess):
2271         * UIProcess/qt/QtWebPageProxy.h:
2272         (QtWebPageProxy::qmlWebPage):
2273         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
2274
2275 2011-11-17  Simon Hausmann  <simon.hausmann@nokia.com>
2276
2277         [Qt] Layer violation: ThirdPartyCookiesQt.cpp uses QWebSettings in two places
2278         https://bugs.webkit.org/show_bug.cgi?id=72597
2279
2280         Reviewed by Kenneth Rohde Christiansen.
2281
2282         Stub implementation of new NetworkingContext::thirdPartyCookiePolicyPermission
2283         API.
2284
2285         * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
2286         (WebCore::WebFrameNetworkingContext::thirdPartyCookiePolicyPermission):
2287         * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h:
2288
2289 2011-11-17  Martin Robinson  <mrobinson@igalia.com>
2290
2291         [GTK] The process freezes when you right click on windowless Flash
2292         https://bugs.webkit.org/show_bug.cgi?id=69123
2293
2294         Reviewed by Xan Lopez.
2295
2296         Add a new plugin quirk for dealing with right-clicking on
2297         windowless Flash on x86_64 machines. This already exists for
2298         WebKit1.
2299
2300         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
2301         (WebKit::NetscapePluginModule::determineQuirks): If the plugin is
2302         Flash and we are on x86_64, then disable sending right-clicking
2303         events while in windowless mode.
2304         * Shared/Plugins/PluginQuirks.h: Add the new quirk.
2305         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
2306         (WebKit::NetscapePlugin::platformHandleMouseEvent): If the quirk
2307         is active  don't send right click events.
2308
2309 2011-11-17  Igor Oliveira  <igor.oliveira@openbossa.org>
2310
2311         [WK2] Fix TransformOperation serialization
2312         https://bugs.webkit.org/show_bug.cgi?id=72625
2313
2314         SimpleArgumentCoder can encode and decode just POD types. And according the 
2315         ISO/IEC 14882, POD types does not have virtual methods, however TransformOperation
2316         has pure virtual methods.
2317
2318         This patch fixes TransformOperation subclass serialization.
2319
2320         Reviewed by Noam Rosenthal.
2321
2322         * Shared/WebCoreArgumentCoders.cpp:
2323         (CoreIPC::::encode):
2324         (CoreIPC::::decode):
2325         (CoreIPC::encodeOperation):
2326         (CoreIPC::decodeOperation):
2327         * Shared/WebCoreArgumentCoders.h:
2328
2329 2011-11-17  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2330
2331         [Qt][WK2] Fix zero sized views in all QML tests
2332         https://bugs.webkit.org/show_bug.cgi?id=72633
2333
2334         Reviewed by Noam Rosenthal.
2335
2336         After r100590, zero sized WebViews are no longer supported and,
2337         therefore, the QML API tests need to be fixed.
2338
2339         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
2340         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml:
2341         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml:
2342         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadZeroSizeView.qml: Removed.
2343         * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
2344         * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml:
2345         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
2346
2347 2011-11-17  Alexis Menard  <alexis.menard@openbossa.org>
2348
2349         [Qt][WK2] Don't export the private QQuickView.
2350
2351         Reviewed by Kenneth Rohde Christiansen.
2352
2353         We don't need to export that class anymore as the experimental QML plugin
2354         does not expose this object anymore.
2355
2356         * UIProcess/API/qt/qquickwebview_p_p.h:
2357
2358 2011-11-17  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2359
2360         [Qt] Expose setUseTraditionalDesktopBehaviour() in QML experimental API
2361         https://bugs.webkit.org/show_bug.cgi?id=72610
2362
2363         Reviewed by Kenneth Rohde Christiansen.
2364
2365         * UIProcess/API/qt/qquickwebview_p.h:
2366
2367 2011-11-17  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2368
2369         Print warning for the Qt port when a process crashes and is relaunched
2370         https://bugs.webkit.org/show_bug.cgi?id=72607
2371
2372         Reviewed by Antonio Gomes.
2373
2374         Make the QtViewInterface::processDidCrash take a URL string argument,
2375         for being able to say which url was the origin of the crash.
2376
2377         We now additionally store the load state and url at process exit. This
2378         is needed for printing the warning and for further crash handling.
2379
2380         * UIProcess/PageClient.h:
2381         * UIProcess/WebPageProxy.cpp:
2382         (WebKit::WebPageProxy::processDidCrash):
2383         * UIProcess/qt/QtViewInterface.cpp:
2384         (WebKit::QtViewInterface::processDidCrash):
2385         (WebKit::QtViewInterface::didRelaunchProcess):
2386         * UIProcess/qt/QtViewInterface.h:
2387         * UIProcess/qt/QtWebPageProxy.cpp:
2388         (QtWebPageProxy::processDidCrash):
2389         * UIProcess/qt/QtWebPageProxy.h:
2390
2391 2011-11-17  Alexis Menard  <alexis.menard@openbossa.org>
2392
2393         [Qt][WK2] Cleanup dead code in QtWebPageProxy.
2394         https://bugs.webkit.org/show_bug.cgi?id=72608
2395
2396         Reviewed by Simon Hausmann.
2397
2398         Remove some dead code after we merged our views.
2399         QQuickWebView is now using AC which means that this
2400         path is never called now.
2401
2402         * UIProcess/qt/QtWebPageProxy.cpp:
2403         (QtWebPageProxy::didReceiveDownloadResponse):
2404         * UIProcess/qt/QtWebPageProxy.h:
2405
2406 2011-11-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2407
2408         [Qt] Remove forwarding header for WebKit2 C API
2409
2410         The Qt port of WebKit does not provide a C-API for the View classes.
2411
2412         Reviewed by Simon Hausmann.
2413
2414         * UIProcess/API/C/WebKit2.h:
2415         * UIProcess/API/qt/WKView.h: Removed.
2416
2417 2011-11-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2418
2419         [Qt] Resolve import and web-process paths automatically for QML tests
2420
2421         Reviewed by Kenneth Rohde Christiansen.
2422
2423         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
2424         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
2425         (main):
2426
2427 2011-11-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2428
2429         [Qt] Move WebKit2 C++ APIs to private API and build QML extension plugin on top of that
2430
2431         A new extension object has been added to QQuickWebView (the same approach should be used
2432         for other API classes that need experimental APIs). The QML extension mechanism is then
2433         built on top of the experimental object.
2434
2435         https://bugs.webkit.org/show_bug.cgi?id=72522
2436
2437         Reviewed by Simon Hausmann.
2438
2439         * Target.pri:
2440         * UIProcess/API/qt/qquickwebpage.cpp:
2441         * UIProcess/API/qt/qquickwebpage.h: Removed.
2442         * UIProcess/API/qt/qquickwebpage_p.h:
2443         * UIProcess/API/qt/qquickwebpage_p_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qquickwebviewprivateextension_p.h.
2444         * UIProcess/API/qt/qquickwebview.cpp:
2445         (QQuickWebViewExperimental::QQuickWebViewExperimental):
2446         (QQuickWebViewExperimental::~QQuickWebViewExperimental):
2447         (QQuickWebViewExperimental::setUseTraditionalDesktopBehaviour):
2448         (QQuickWebView::QQuickWebView):
2449         (QQuickWebView::experimental):
2450         * UIProcess/API/qt/qquickwebview.h: Removed.
2451         * UIProcess/API/qt/qquickwebview_p.h:
2452         * UIProcess/API/qt/qquickwebview_p_p.h: Copied from Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h.
2453         * UIProcess/API/qt/qquickwebviewprivateextension.cpp: Removed.
2454         * UIProcess/API/qt/qwebdownloaditem.cpp:
2455         * UIProcess/API/qt/qwebdownloaditem.h: Removed.
2456         * UIProcess/API/qt/qwebdownloaditem_p.h:
2457         * UIProcess/API/qt/qwebdownloaditem_p_p.h: Copied from Source/WebKit2/UIProcess/API/qt/qwebdownloaditem_p.h.
2458         (QWebDownloadItemPrivate::didReceiveResponse):
2459         * UIProcess/API/qt/qwebpreferences.cpp:
2460         * UIProcess/API/qt/qwebpreferences.h: Removed.
2461         * UIProcess/API/qt/qwebpreferences_p.h:
2462         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
2463         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
2464         (DesktopWebView::DesktopWebView):
2465         * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
2466         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2467         * UIProcess/qt/QtDownloadManager.cpp:
2468         * UIProcess/qt/QtViewInterface.cpp:
2469         * UIProcess/qt/QtWebError.h:
2470         * UIProcess/qt/QtWebPageProxy.cpp:
2471
2472 2011-11-17  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2473
2474         Unreviewed build fix.
2475
2476         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2477         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
2478
2479 2011-11-16  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2480
2481         Make use-fixed-layout work reliable
2482         https://bugs.webkit.org/show_bug.cgi?id=72511
2483
2484         Reviewed by Simon Hausmann.
2485
2486         The code handling use-fixed-layout wasn't 100% reliable. The code
2487         was changed to make sure the value is always correct.
2488
2489         It also doesn't set the value by looking at the previous FrameView,
2490         as that wouldn't work in cases, such as when the web process has
2491         crashed.
2492
2493         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2494         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
2495         * WebProcess/WebPage/WebPage.cpp:
2496         (WebKit::WebPage::WebPage):
2497         (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
2498         (WebKit::WebPage::setUseFixedLayout):
2499         * WebProcess/WebPage/WebPage.h:
2500         (WebKit::WebPage::useFixedLayout):
2501
2502             Store the state as m_useFixedLayout so that it can be used
2503             from the WebFrameLoaderClient.
2504
2505 2011-11-17  Zalan Bujtas  <zbujtas@gmail.com>
2506
2507         [Qt][WK2] Do not apply new viewport properties until after the first visually non-empty layout.
2508         https://bugs.webkit.org/show_bug.cgi?id=72508
2509
2510         Delay applying viewport properties on the viewport item until after the first visually non-empty
2511         layout finished. It enables the viewport to be intact until the new page is ready to be rendered.
2512
2513         Reviewed by Kenneth Rohde Christiansen.
2514
2515         * UIProcess/API/qt/qquickwebview.cpp:
2516         (QQuickWebViewPrivate::QQuickWebViewPrivate):
2517         (QQuickWebViewPrivate::loadDidCommit):
2518         (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
2519         (QQuickWebViewPrivate::didChangeContentsSize):
2520         (QQuickWebViewPrivate::didChangeViewportProperties):
2521         (QQuickWebViewPrivate::updateViewportSize):
2522         (QQuickWebViewPrivate::computeViewportConstraints):
2523         * UIProcess/API/qt/qquickwebview_p.h:
2524         (PostTransitionState::isTransitioningToNewPage):
2525         * UIProcess/qt/ClientImpl.cpp:
2526         (qt_wk_didFirstVisuallyNonEmptyLayoutForFrame):
2527         (setupPageLoaderClient):
2528         * UIProcess/qt/QtViewInterface.cpp:
2529         (WebKit::QtViewInterface::didFinishFirstNonEmptyLayout):
2530         (WebKit::QtViewInterface::didChangeContentsSize):
2531         (WebKit::QtViewInterface::didChangeViewportProperties):
2532         (WebKit::QtViewInterface::startDrag):
2533         * UIProcess/qt/QtViewInterface.h:
2534         * UIProcess/qt/QtViewportInteractionEngine.cpp:
2535         (WebKit::QtViewportInteractionEngine::reset):
2536         (WebKit::QtViewportInteractionEngine::applyConstraints):
2537         * UIProcess/qt/QtViewportInteractionEngine.h:
2538         * UIProcess/qt/QtWebPageProxy.cpp:
2539         (QtWebPageProxy::didFinishFirstNonEmptyLayout):
2540         (QtWebPageProxy::didChangeContentsSize):
2541         (QtWebPageProxy::didChangeViewportProperties):
2542         (QtWebPageProxy::startDrag):
2543         * UIProcess/qt/QtWebPageProxy.h:
2544
2545 2011-11-17  Eunmi Lee  <eunmi15.lee@samsung.com>
2546
2547         Reviewed by Martin Robinson.
2548
2549         [WK2] Move gtk/BackingStoreGtk.cpp to cairo/BackingStoreCairo.cpp to share with EFL port.
2550         https://bugs.webkit.org/show_bug.cgi?id=62444
2551
2552         Rename gtk/BackingStoreGtk.cpp to cairo/BackingStoreCairo.cpp to share with EFL port.
2553         The gtk/BackingStoreGtk.cpp only has cairo dependency, so it can be shared with other port
2554         that uses cairo.
2555
2556         * GNUmakefile.am:
2557         * UIProcess/BackingStore.h:
2558         * UIProcess/cairo/BackingStoreCairo.cpp: Renamed from Source/WebKit2/UIProcess/gtk/BackingStoreGtk.cpp.
2559         (WebKit::BackingStore::paint):
2560         (WebKit::BackingStore::incorporateUpdate):
2561         (WebKit::BackingStore::scroll):
2562
2563 2011-11-17  Nayan Kumar K  <nayankk@motorola.com>
2564
2565         [WebKit2][gtk] Add few more properties to WebKitSettings
2566         https://bugs.webkit.org/show_bug.cgi?id=72468
2567
2568         Reviewed by Martin Robinson.
2569
2570         Add 'enable-private-browsing', 'enable-developer-extras, 'enable-resizable-text-areas'
2571         and 'enable-tabs-to-links' properties to WebKitSettings.
2572
2573         * UIProcess/API/gtk/WebKitSettings.cpp:
2574         (webKitSettingsSetProperty): Add new set functions.
2575         (webKitSettingsGetProperty): Add new get functions.
2576         (webkit_settings_class_init): Add new properties.
2577         (webkit_settings_get_enable_private_browsing): Get 'enable-private-browsing' property.
2578         (webkit_settings_set_enable_private_browsing): Set 'enable-private-browsing' property.
2579         (webkit_settings_get_enable_developer_extras): Get 'enable-developer-extras' property.
2580         (webkit_settings_set_enable_developer_extras): Set 'enable-developer-extras' property.
2581         (webkit_settings_get_enable_resizable_text_areas): Get 'enable-resizable-text-areas' property.
2582         (webkit_settings_set_enable_resizable_text_areas): Set 'enable-resizable-text-areas' property.
2583         (webkit_settings_get_enable_tabs_to_links): Get 'enable-tabs-to-links' property.
2584         (webkit_settings_set_enable_tabs_to_links): Set 'enable-tabs-to-links' property.
2585         * UIProcess/API/gtk/WebKitSettings.h: New public APIs added.
2586         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: New APIs added.
2587         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
2588         (testWebKitSettings): Add new tests.
2589
2590 2011-11-17  Carlos Garcia Campos  <cgarcia@igalia.com>
2591
2592         Unreviewed. Fix WebKit2 GTK+ build after r100569.
2593
2594         * WebProcess/Downloads/soup/DownloadSoup.cpp:
2595         (WebKit::DownloadClient::didReceiveResponse):
2596
2597 2011-11-17  Nayan Kumar K  <nayankk@motorola.com>
2598
2599         [WebKit2][gtk] Fix assert while running TestWebKitSettings
2600         https://bugs.webkit.org/show_bug.cgi?id=72469
2601
2602         Reviewed by Martin Robinson.
2603
2604         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
2605         (testWebKitSettings): Correct the test.
2606
2607 2011-11-16  Carlos Garcia Campos  <cgarcia@igalia.com>
2608
2609         [GTK] Use a URI instead of local path to create download destination in WebKit2
2610         https://bugs.webkit.org/show_bug.cgi?id=72500
2611
2612         Reviewed by Philippe Normand.
2613
2614         * WebProcess/Downloads/soup/DownloadSoup.cpp:
2615         (WebKit::DownloadClient::didReceiveResponse): Use
2616         g_file_new_for_uri() instad of g_file_new_for_path(). Also use
2617         adoptGRef to fix a memory leak.
2618
2619 2011-11-16  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2620
2621         [Qt] Fix build after WTR AX support
2622         https://bugs.webkit.org/show_bug.cgi?id=72560
2623
2624         Reviewed by Geoffrey Garen.
2625
2626         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
2627         (WKAccessibilityRootObject):
2628         (WKAccessibilityFocusedObject):
2629
2630 2011-11-11  Adrienne Walker  <enne@google.com>
2631
2632         [chromium] Expose mock scrollbars to window.internals
2633         https://bugs.webkit.org/show_bug.cgi?id=72195
2634
2635         Reviewed by James Robinson.
2636
2637         * win/WebKit2.def:
2638         * win/WebKit2CFLite.def:
2639
2640 2011-11-16  Dan Bernstein  <mitz@apple.com>
2641
2642         WebKit2 part of <rdar://problem/10262242> Add API for paginated display
2643         https://bugs.webkit.org/show_bug.cgi?id=72537
2644
2645         Reviewed by Anders Carlsson.
2646
2647         * Shared/WebPageCreationParameters.cpp:
2648         (WebKit::WebPageCreationParameters::encode): Encode the pagination mode and gap between pages.
2649         (WebKit::WebPageCreationParameters::decode): Decode the pagination mode and gap between pages.
2650         * Shared/WebPageCreationParameters.h: Added paginationMode and gapBetweenPages members.
2651         * UIProcess/API/C/WKPage.cpp:
2652         (WKPageSetPaginationMode): Added this API wrapper.
2653         (WKPageGetPaginationMode): Ditto.
2654         (WKPageSetGapBetweenPages): Ditto.
2655         (WKPageGetGapBetweenPages): Ditto.
2656         (WKPageGetPageCount): Ditto.
2657         * UIProcess/API/C/WKPagePrivate.h: Added an enum and a definition of WKPaginationMode and
2658         accessors.
2659         * UIProcess/API/mac/WKBrowsingContextController.mm:
2660         (-[WKBrowsingContextController setPaginationMode:]): Added this API wrapper.
2661         (-[WKBrowsingContextController paginationMode]): Ditto.
2662         (-[WKBrowsingContextController setGapBetweenPages:]): Ditto.
2663         (-[WKBrowsingContextController gapBetweenPages]): Ditto.
2664         (-[WKBrowsingContextController pageCount]): Ditto.
2665         * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Added. Includes an enum and a definition
2666         of WKBrowsingContextPaginationMode and property declarations.
2667         * UIProcess/WebPageProxy.cpp:
2668         (WebKit::WebPageProxy::WebPageProxy): Added intialization of m_paginationMode, m_gapBetweenPages,
2669         and m_pageCount.
2670         (WebKit::WebPageProxy::setPaginationMode): Added this accessor, which caches the value and sends
2671         a message to the WebPage.
2672         (WebKit::WebPageProxy::setGapBetweenPages): Ditto.
2673         (WebKit::WebPageProxy::creationParameters): Set the pagination mode and gap between pages in the
2674         creation parameters.
2675         (WebKit::WebPageProxy::didChangePageCount): Added. Updates the cached page count.
2676         * UIProcess/WebPageProxy.h:
2677         (WebKit::WebPageProxy::paginationMode): Added this getter that returns a cached value.
2678         (WebKit::WebPageProxy::gapBetweenPages): Ditto.
2679         (WebKit::WebPageProxy::pageCount): Ditto.
2680         * UIProcess/WebPageProxy.messages.in: Added DidChangedPageCount, sent when the page count changes
2681         after layout.
2682         * WebKit2.xcodeproj/project.pbxproj: Added WKBrowsingContextControllerPrivate.h.
2683         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 
2684         (WebKit::WebFrameLoaderClient::dispatchDidLayout): Added a call to WebPage::mainFrameDidLayout(),
2685         allowing the page to respond to changes in the column count.
2686         * WebProcess/WebPage/WebPage.cpp:
2687         (WebKit::WebPage::WebPage): Added initializer for m_cachedPageCount.
2688         (WebKit::WebPage::setPaginationMode): Added.
2689         (WebKit::WebPage::setGapBetweenPages): Added.
2690         (WebKit::WebPage::mainFrameDidLayout): Added. Sends a DidChangePageCount message to the UI process
2691         if the page count has changed.
2692         * WebProcess/WebPage/WebPage.h:
2693         * WebProcess/WebPage/WebPage.messages.in: Added SetPaginationMode and SetGapBetweenPages messages.
2694
2695 2011-11-16  Chris Fleizach  <cfleizach@apple.com>
2696
2697         WebKitTestRunner needs to support accessibility-related DRT APIs
2698         https://bugs.webkit.org/show_bug.cgi?id=42131
2699
2700         Allow the injected bundle to retrieve the focused and root accessibility
2701         objects.
2702
2703         Reviewed by Beth Dakin.
2704
2705         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
2706         (WKAccessibilityRootObject):
2707         (WKAccessibilityFocusedObject):
2708         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
2709
2710 2011-11-16  Beth Dakin  <bdakin@apple.com>
2711
2712         https://bugs.webkit.org/show_bug.cgi?id=72400
2713         Scrollbar uiStateTransitionProgress requires tracking the mouse all the time
2714         -and corresponding-
2715         <rdar://problem/10409328>
2716
2717         Reviewed by Darin Adler.
2718
2719         Set up our initial tracking area based on the currently recommended scrollbar 
2720         style. Track the mouse all the time if the style is legacy.
2721         * UIProcess/API/mac/WKView.mm:
2722         (-[WKView initWithFrame:contextRef:pageGroupRef:]):
2723
2724         Now that we might be getting mouseMoved events all the time even when the window 
2725         is not key, make sure we opt into the new 'onlyUpdateScrollbars' mode for 
2726         EventHandler::mouseMoved() when the window is not focused.
2727         * WebProcess/WebPage/WebPage.cpp:
2728         (WebKit::handleMouseEvent):
2729         (WebKit::WebPage::mouseEvent):
2730         (WebKit::WebPage::mouseEventSyncForTesting):
2731
2732 2011-11-16  Martin Robinson  <mrobinson@igalia.com>
2733
2734         [GTK][WEBKIT2] Link error running gtkdoc-scangobj
2735         https://bugs.webkit.org/show_bug.cgi?id=72365
2736
2737         Reviewed by Xan Lopez.
2738
2739         * webkit2gtk.pc.in: Add a libjavascriptcore requirement to the WebKit2 pkgconfig
2740         file so that the compiler links to it.
2741
2742 2011-11-16  Balazs Kelemen  <kbalazs@webkit.org>
2743
2744         [WK2][X11] Don't leak the colormap we created for the plugin
2745         https://bugs.webkit.org/show_bug.cgi?id=72144
2746
2747         Reviewed by Xan Lopez.
2748
2749         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
2750         (WebKit::NetscapePlugin::platformDestroy):
2751
2752 2011-11-16  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
2753
2754         [Qt] [WK2] Crash in Connection::readyReadHandler() on socket error
2755         https://bugs.webkit.org/show_bug.cgi?id=72392
2756
2757         Reviewed by Simon Hausmann.
2758
2759         Add QWeakPointer to SocketNotifierResourceGuard::m_socketNotifier to track
2760         deallocation of referenced object.
2761
2762         * Platform/CoreIPC/unix/ConnectionUnix.cpp:
2763         (CoreIPC::SocketNotifierResourceGuard::SocketNotifierResourceGuard):
2764         (CoreIPC::SocketNotifierResourceGuard::~SocketNotifierResourceGuard):
2765
2766 2011-11-16  Zeno Albisser  <zeno@webkit.org>
2767
2768         [Qt][WK2][Mac] MiniBrowser cannot create socketpair.
2769         https://bugs.webkit.org/show_bug.cgi?id=72389
2770
2771         Use SOCK_DGRAM on mac instead of SOCK_SEQPACKET.
2772
2773         Reviewed by Tor Arne Vestbø.
2774
2775         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
2776
2777 2011-11-15  Carlos Garcia Campos  <cgarcia@igalia.com>
2778
2779         [GTK] Add webkit_web_view_load_request() to WebKit2 GTK+ API
2780         https://bugs.webkit.org/show_bug.cgi?id=72380
2781
2782         Reviewed by Martin Robinson.
2783
2784         It adds an initial implementation of WebKitNetworkRequest
2785         class that only contains a URI for now.
2786
2787         * GNUmakefile.am:
2788         * UIProcess/API/gtk/WebKitNetworkRequest.cpp: Added.
2789         (webkitNetworkRequestFinalize):
2790         (webkitNetworkRequestGetProperty):
2791         (webkitNetworkRequestSetProperty):
2792         (webkit_network_request_class_init):
2793         (webkit_network_request_init):
2794         (webkit_network_request_new):
2795         (webkit_network_request_get_uri):
2796         * UIProcess/API/gtk/WebKitNetworkRequest.h: Added.
2797         * UIProcess/API/gtk/WebKitWebView.cpp:
2798         (webkit_web_view_load_request): Use WKPageLoadURLRequest() to load
2799         the given WebKitNetworkRequest.
2800         * UIProcess/API/gtk/WebKitWebView.h:
2801         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
2802         * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
2803         (testLoadRequest):
2804         (beforeAll):
2805         * UIProcess/API/gtk/tests/WebViewTest.cpp:
2806         (WebViewTest::loadRequest):
2807         * UIProcess/API/gtk/tests/WebViewTest.h:
2808         * UIProcess/API/gtk/webkit2.h:
2809
2810 2011-11-15  Andy Estes  <aestes@apple.com>
2811
2812         Consolidate the logic that creates run loop observers for flushing layer tree changes to CoreAnimation
2813         https://bugs.webkit.org/show_bug.cgi?id=72106
2814
2815         Reviewed by Anders Carlsson.
2816
2817         Remove code that schedules layer flushes and use LayerFlushScheduler instead.
2818
2819         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h: Replace
2820         m_flushPendingLayerChangesRunLoopObserver with m_layerFlushScheduler
2821         and implement the LayerFlushSchedulerClient interface.
2822         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
2823         (WebKit::LayerTreeHostCAMac::LayerTreeHostCAMac): Instantiate
2824         m_layerFlushScheduler with the LayerTreeHost as the client.
2825         (WebKit::LayerTreeHostCAMac::~LayerTreeHostCAMac):
2826         (WebKit::LayerTreeHostCAMac::scheduleLayerFlush): Call LayerFlushScheduler::schedule().
2827         (WebKit::LayerTreeHostCAMac::setLayerFlushSchedulingEnabled): Call
2828         LayerFlushScheduler::suspend() or LayerFlushScheduler::resume().
2829         (WebKit::LayerTreeHostCAMac::invalidate): Call LayerFlushScheduler::invalidate().
2830         (WebKit::LayerTreeHostCAMac::flushLayers): Do the work that
2831         flushPendingLayerChangesRunLoopObserverCallback() used to do.
2832         (WebKit::LayerTreeHostCAMac::didPerformScheduledLayerFlush): Call LayerFlushScheduler::invalidate().
2833
2834 2011-11-15  Sam Weinig  <sam@webkit.org>
2835
2836         Add a connection client to the WKContext, to notify when new connections to the WebProcess are established
2837         https://bugs.webkit.org/show_bug.cgi?id=72433
2838
2839         Reviewed by Anders Carlsson.
2840
2841         * UIProcess/API/C/WKContext.cpp:
2842         (WKContextSetConnectionClient):
2843         * UIProcess/API/C/WKContext.h:
2844         * UIProcess/WebContext.cpp:
2845         (WebKit::WebContext::initializeConnectionClient):
2846         * UIProcess/WebContext.h:
2847         Add connection client API.
2848
2849         * UIProcess/WebContextConnectionClient.cpp: Added.
2850         (WebKit::WebContextConnectionClient::didCreateConnection):
2851         * UIProcess/WebContextConnectionClient.h: Added.
2852         Add basic implementation of the client. It is currently never triggered.
2853
2854 2011-11-15  Jongseok Yang  <js45.yang@samsung.com>
2855
2856         [SOUP][WK2] Add initial WebCookieManagerSoup.cpp for webkit2
2857         https://bugs.webkit.org/show_bug.cgi?id=72235
2858
2859         Reviewed by Gustavo Noronha Silva.
2860
2861         Add WebCookieManagerSoup.cpp and implement functions for the cookie accept policy.
2862         It's required when using the soup network backend.
2863         Remove WebCookieManagerEfl.cpp and WebCookieManagerGtk.cpp because GTK port and
2864         EFL port use soup network backend without a network backend of their own.
2865
2866         * GNUmakefile.am:
2867         * WebProcess/Cookies/efl/WebCookieManagerEfl.cpp: Removed.
2868         * WebProcess/Cookies/gtk/WebCookieManagerGtk.cpp: Removed.
2869         * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp: Added.
2870         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
2871         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
2872
2873 2011-11-15  Jochen Eisinger  <jochen@chromium.org>
2874
2875         Rename ReferrerPolicy to clarify its meaning
2876         https://bugs.webkit.org/show_bug.cgi?id=72420
2877
2878         Reviewed by Nate Chapin.
2879
2880         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
2881         (WebKit::WebContextMenuClient::searchWithGoogle):
2882         * WebProcess/WebPage/WebPage.cpp:
2883         (WebKit::WebPage::linkClicked):
2884
2885 2011-11-15  Sam Weinig  <sam@webkit.org>
2886
2887         Fix windows build.
2888
2889         * win/WebKit2Generated.make:
2890
2891 2011-11-15  Sam Weinig  <sam@webkit.org>
2892
2893         Add WebKit2 API object to represent a connection
2894         https://bugs.webkit.org/show_bug.cgi?id=72421
2895
2896         Reviewed by Anders Carlsson.
2897
2898         * GNUmakefile.am:
2899         * Target.pri:
2900         * WebKit2.xcodeproj/project.pbxproj:
2901         * win/WebKit2.vcproj:
2902         Add new files.
2903
2904         * Shared/API/c/WKBase.h:
2905         Add type.
2906
2907         * Shared/API/c/WKConnectionRef.cpp: Added.
2908         (WKConnectionGetTypeID):
2909         (WKConnectionSetConnectionClient):
2910         (WKConnectionPostMessage):
2911         * Shared/API/c/WKConnectionRef.h: Added.
2912         Expose interface. Currently no support for synchronous messages.
2913
2914         * Shared/API/c/WKSharedAPICast.h:
2915         Define relationship between WebConnection <-> WKConnectionRef.
2916
2917         * Shared/APIObject.h:
2918         Add API type.
2919
2920         * Shared/WebConnection.cpp: Added.
2921         (WebKit::WebConnection::~WebConnection):
2922         (WebKit::WebConnection::initializeConnectionClient):
2923         * Shared/WebConnection.h: Added.
2924         (WebKit::WebConnection::type):
2925         Sketch out the connection object. It is currently abstract
2926         to allow different implementations for the UI and WebProcess sides
2927         while retaining the same interface.
2928
2929         * Shared/WebConnectionClient.cpp: Added.
2930         (WebKit::WebConnectionClient::didReceiveMessage):
2931         (WebKit::WebConnectionClient::didClose):
2932         * Shared/WebConnectionClient.h: Added.
2933         Add simple client.
2934
2935         * UIProcess/API/C/WebKit2.h:
2936         Add new file.
2937
2938 2011-11-15  Chris Fleizach2  <cfleizach@apple.com>
2939
2940         AX: WKAccessibilityWebObjectPage should not call super in accessibilityAttributeValue:
2941         https://bugs.webkit.org/show_bug.cgi?id=72344
2942
2943         Reviewed by Beth Dakin.
2944
2945         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
2946         (-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):
2947
2948 2011-11-15  Anders Carlsson  <andersca@apple.com>
2949
2950         HostWindow screenToWindow/windowToScreen should be screenToRootView/rootViewToScreen
2951         https://bugs.webkit.org/show_bug.cgi?id=72397
2952
2953         Reviewed by Dan Bernstein.
2954
2955         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2956         (WebKit::WebChromeClient::screenToRootView):
2957         (WebKit::WebChromeClient::rootViewToScreen):
2958         * WebProcess/WebCoreSupport/WebChromeClient.h:
2959
2960 2011-11-14  Anders Carlsson  <andersca@apple.com>
2961
2962         HostWindow invalidation functions should use root view coordinates
2963         https://bugs.webkit.org/show_bug.cgi?id=72338
2964
2965         Reviewed by Dan Bernstein.
2966
2967         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2968         (WebKit::WebChromeClient::invalidateRootView):
2969         (WebKit::WebChromeClient::invalidateContentsAndRootView):
2970         * WebProcess/WebCoreSupport/WebChromeClient.h:
2971
2972 2011-11-15  Carlos Garcia Campos  <cgarcia@igalia.com>
2973
2974         [GTK] Implement download support in WebKit2
2975         https://bugs.webkit.org/show_bug.cgi?id=72258
2976
2977         Reviewed by Martin Robinson.
2978
2979         * WebProcess/Downloads/Download.h:
2980         * WebProcess/Downloads/soup/DownloadSoup.cpp:
2981         (WebKit::DownloadClient::DownloadClient):
2982         (WebKit::DownloadClient::downloadFailed):
2983         (WebKit::DownloadClient::didReceiveResponse):
2984         (WebKit::DownloadClient::didReceiveData):
2985         (WebKit::DownloadClient::didFinishLoading):
2986         (WebKit::DownloadClient::didFail):
2987         (WebKit::DownloadClient::wasBlocked):
2988         (WebKit::DownloadClient::cannotShowURL):
2989         (WebKit::Download::start):
2990         (WebKit::Download::startWithHandle):
2991         (WebKit::Download::cancel):
2992         (WebKit::Download::platformInvalidate):
2993
2994 2011-11-15  Mario Sanchez Prada  <msanchez@igalia.com>
2995
2996         [GTK][WEBKIT2] Add enable-caret-browsing property to WebKitSettings
2997         https://bugs.webkit.org/show_bug.cgi?id=72267
2998
2999         Reviewed by Martin Robinson.
3000
3001         Allow getting and setting the 'enable-caret-browsing' property
3002         through WebKitSettings.
3003
3004         * UIProcess/API/gtk/WebKitSettings.cpp:
3005         (webKitSettingsSetProperty): Added property setter.
3006         (webKitSettingsGetProperty): Added propery getter.
3007         (webkit_settings_class_init): Install property.
3008         (webkit_settings_get_enable_caret_browsing): Added.
3009         (webkit_settings_set_enable_caret_browsing): Added.
3010         * UIProcess/API/gtk/WebKitSettings.h: Expose new public APIs.
3011         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new sections for gtk-doc generation.
3012         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
3013         (testWebKitSettings): Added new API test.
3014
3015 2011-11-14  Julien Chaffraix  <jchaffraix@webkit.org>
3016
3017         Add --css-grid-layout to build-webkit and the build systems
3018         https://bugs.webkit.org/show_bug.cgi?id=72320
3019
3020         Reviewed by Ojan Vafai.
3021
3022         * Configurations/FeatureDefines.xcconfig:
3023
3024 2011-11-14  Tony Chang  <tony@chromium.org>
3025
3026         Remove the CSS3_FLEXBOX compile time flag and enable on all ports
3027         https://bugs.webkit.org/show_bug.cgi?id=72196
3028
3029         Reviewed by Ojan Vafai.
3030
3031         * Configurations/FeatureDefines.xcconfig:
3032
3033 2011-11-14  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
3034
3035         Intermittent asserts in TextureMapperGL::bindSurface on MiniBrowser startup
3036         https://bugs.webkit.org/show_bug.cgi?id=72299
3037
3038         Reviewed by Noam Rosenthal.
3039
3040         Added check that clipping rect is valid.
3041         Clear GL error that might remain from QT GL operations.
3042         Added GL error assert for scissor test operations.
3043
3044         * UIProcess/API/qt/qquickwebpage.cpp:
3045         (QQuickWebPagePrivate::paintToCurrentGLContext):
3046
3047 2011-11-14  Anders Carlsson  <andersca@apple.com>
3048
3049         Only send progress notifications for the main frame
3050         https://bugs.webkit.org/show_bug.cgi?id=72302
3051
3052         Reviewed by Sam Weinig.
3053
3054         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.
3055
3056         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3057         (WebKit::WebFrameLoaderClient::postProgressStartedNotification):
3058         (WebKit::WebFrameLoaderClient::postProgressEstimateChangedNotification):
3059         (WebKit::WebFrameLoaderClient::postProgressFinishedNotification):
3060
3061 2011-11-14  Alexis Menard  <alexis.menard@openbossa.org>
3062
3063         [Qt][WK2] Cleanup QML tests.
3064         https://bugs.webkit.org/show_bug.cgi?id=72259
3065
3066         Reviewed by Simon Hausmann.
3067
3068         Cleanup QML tests. This patch removes the duplicates after the merge of both views.
3069         I also isolated the desktop specific bits into its own directory.
3070
3071         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_download.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_download.qml.
3072         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml.
3073         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_messaging.qml.
3074         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationPolicyForUrl.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml.
3075         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgressSignal.qml: Removed.
3076         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadZeroSizeView.qml: Removed.
3077         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml: Removed.
3078         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml: Removed.
3079         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml: Removed.
3080         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml: Removed.
3081         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml: Removed.
3082         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadFail.qml.
3083         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgress.qml.
3084         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml.
3085         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadZeroSizeView.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml.
3086         * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml.
3087         * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml.
3088         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
3089
3090 2011-11-14  Mario Sanchez Prada  <msanchez@igalia.com>
3091
3092         Add support for the caretBrowsingEnabled preference in WebKit2
3093         https://bugs.webkit.org/show_bug.cgi?id=72266
3094
3095         Reviewed by Chris Fleizach.
3096
3097         * Shared/WebPreferencesStore.h: Add caretBrowsingEnabled getter
3098         and setter macro.
3099         * UIProcess/API/C/WKPreferences.h:
3100         * UIProcess/API/C/WKPreferences.cpp:
3101         (WKPreferencesSetCaretBrowsingEnabled): Added.
3102         (WKPreferencesGetCaretBrowsingEnabled): Added.
3103         * WebProcess/WebPage/WebPage.cpp:
3104         (WebKit::WebPage::updatePreferences): Update the
3105         caretBrowsingEnabledKey preference.
3106
3107 2011-11-14  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
3108
3109         [Qt] Remove reference to QWebNavigationController
3110         https://bugs.webkit.org/show_bug.cgi?id=72257
3111
3112         Reviewed by Simon Hausmann.
3113
3114         QWebNavigationController was removed in r99946, this is just a leftover.
3115
3116         * UIProcess/API/qt/qquickwebview.cpp:
3117         (QQuickWebViewPrivate::QQuickWebViewPrivate):
3118         * UIProcess/API/qt/qquickwebview_p.h:
3119
3120 2011-11-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3121
3122         [Qt] the QQuickWebView should support double-tap to zoom
3123         https://bugs.webkit.org/show_bug.cgi?id=72030
3124
3125         Reviewed by Andreas Kling.
3126
3127         * UIProcess/qt/QtViewInterface.cpp:
3128         * UIProcess/qt/QtViewInterface.h:
3129         * UIProcess/qt/QtViewportInteractionEngine.cpp:
3130         (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
3131         (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
3132         (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
3133         * UIProcess/qt/QtViewportInteractionEngine.h:
3134         * UIProcess/qt/QtWebPageProxy.cpp:
3135         (QtWebPageProxy::didFindZoomableArea):
3136
3137 2011-11-14  Zalan Bujtas  <zbujtas@gmail.com>
3138
3139         Build breaks with --no-javascript-debugger --no-inspector
3140         https://bugs.webkit.org/show_bug.cgi?id=72228
3141
3142         Reviewed by Simon Hausmann.
3143
3144         * UIProcess/WebPageProxy.cpp:
3145         (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
3146
3147 2011-11-13  Mark Rowe  <mrowe@apple.com>
3148
3149         Fix the 32-bit build.
3150
3151         * WebProcess/mac/WebProcessMac.mm:
3152         (WebKit::initializeSandbox): Use a format specifier and cast that works on more architectures.
3153
3154 2011-11-12  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3155
3156         [Qt][Symbian] Remove support for WINSCW compiler
3157         https://bugs.webkit.org/show_bug.cgi?id=70178
3158
3159         Reviewed by Chang Shu.
3160
3161         * Shared/API/c/WKString.h:
3162
3163 2011-11-12  Dan Bernstein  <mitz@apple.com>
3164
3165         <rdar://problem/10294191> REGRESSION (WebKit2): Lookup bubble sized and positioned incorrectly (vertically off)
3166         https://bugs.webkit.org/show_bug.cgi?id=72217
3167
3168         Reviewed by Dave Hyatt.
3169
3170         * UIProcess/API/mac/PageClientImpl.mm:
3171         (WebKit::PageClientImpl::didPerformDictionaryLookup): Rather than adding the NSFont’s ascender
3172         to the top of the text rect to establish the baseline here...
3173         * WebProcess/WebPage/mac/WebPageMac.mm:
3174         (WebKit::WebPage::performDictionaryLookupForRange): ...do it here, using the WebCore::Font’s
3175         ascender, which is what’s actually used when drawing the text.
3176
3177 2011-11-11  Nayan Kumar K  <nayankk@motorola.com>
3178
3179         [GTK][WEBKIT2] Add font and charset properties to WebKitWebSettings
3180         https://bugs.webkit.org/show_bug.cgi?id=68996
3181
3182         Reviewed by Martin Robinson.
3183
3184         Provision to query and set the font related properties (such as
3185         font-family, font-size) and charset properties (such as default-
3186         charset) is added.
3187
3188         * UIProcess/API/gtk/WebKitSettings.cpp: Added font and encoding properties.
3189         (webKitSettingsSetProperty): GObject set property function.
3190         (webKitSettingsGetProperty): GObject get property function.
3191         (webkit_settings_class_init): Few more signals installed.
3192         (webkit_settings_init): Initialization of instance variables.
3193         (webkit_web_settings_get_default_font_family): Get 'default-font-family'.
3194         (webkit_web_settings_set_default_font_family): Set 'default-font-family'.
3195         (webkit_web_settings_get_monospace_font_family): Get 'monospace-font-family'.
3196         (webkit_web_settings_set_monospace_font_family): Set 'monospace-font-family'.
3197         (webkit_web_settings_get_serif_font_family): Get 'serif-font-family'.
3198         (webkit_web_settings_set_serif_font_family): Set 'serif-font-family'.
3199         (webkit_web_settings_get_sans_serif_font_family): Get 'sans-serif-font-family'.
3200         (webkit_web_settings_set_sans_serif_font_family): Get 'sans-serif-font-family'.
3201         (webkit_web_settings_get_cursive_font_family): Get 'cursive-font-family'.
3202         (webkit_web_settings_set_cursive_font_family): Set 'cursive-font-family'.
3203         (webkit_web_settings_get_fantasy_font_family): Get 'fantasy-font-family'.
3204         (webkit_web_settings_set_fantasy_font_family): Set 'fantasy-font-family'.
3205         (webkit_web_settings_get_pictograph_font_family): Get 'pictograph-font-family'.
3206         (webkit_web_settings_set_pictograph_font_family): Set 'pictograph-font-family'.
3207         (webkit_web_settings_get_default_font_size): Get 'default-font-size'.
3208         (webkit_web_settings_set_default_font_size): Set 'default-font-size'.
3209         (webkit_web_settings_get_default_monospace_font_size): Get 'default-monospace-font-size'.
3210         (webkit_web_settings_set_default_monospace_font_size): Set 'default-monospace-font-size'.
3211         (webkit_web_settings_get_minimum_font_size): Get 'minimum-font-size'.
3212         (webkit_web_settings_set_minimum_font_size): Set 'minimum-font-size'.
3213         (webkit_web_settings_get_default_charset): Get 'default-charset'.
3214         (webkit_web_settings_set_default_charset): Set 'default-charset'.
3215         * UIProcess/API/gtk/WebKitSettings.h: Add new sections for gtk-doc generation.
3216         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Expose new public APIs.
3217         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
3218         (testWebKitSettings): Add new tests.
3219
3220 2011-11-11  Shinya Kawanaka  <shinyak@google.com>
3221
3222         Implement legacy text check emulation in unified text check interface.
3223         https://bugs.webkit.org/show_bug.cgi?id=70299
3224
3225         Reviewed by Hajime Morita.
3226
3227         * win/WebKit2.def:
3228         * win/WebKit2CFLite.def:
3229
3230 2011-11-11  Alexey Proskuryakov  <ap@apple.com>
3231
3232         WebProcess should use AppSandbox style quarantine
3233         https://bugs.webkit.org/show_bug.cgi?id=72168
3234         <rdar://problem/10434292>
3235
3236         Reviewed by Darin Adler.
3237
3238         * WebProcess/mac/WebProcessMac.mm: (WebKit::initializeSandbox): Just enable it.
3239
3240 2011-11-11  Darin Adler  <darin@apple.com>
3241
3242         * WebKit2.xcodeproj/project.pbxproj: Let a newer Xcode update this file.
3243         If an older Xcode downgrades this file and we have a risk of some kind of
3244         oscillating commit situation, please contact me so I know not to do this again.
3245
3246 2011-11-11  Mark Hahnenberg  <mhahnenberg@apple.com>
3247
3248         Add jsCast to replace static_cast
3249         https://bugs.webkit.org/show_bug.cgi?id=72071
3250
3251         Reviewed by Geoffrey Garen.
3252
3253         Added new jsCast and changed all of the static_cast sites in functions that 
3254         are in the MethodTable to use jsCast instead.
3255
3256         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
3257         (WebKit::JSNPObject::getCallData):
3258         (WebKit::JSNPObject::getConstructData):
3259         (WebKit::JSNPObject::getOwnPropertySlot):
3260         (WebKit::JSNPObject::getOwnPropertyDescriptor):
3261         (WebKit::JSNPObject::put):
3262         (WebKit::JSNPObject::deleteProperty):
3263         (WebKit::JSNPObject::deletePropertyByIndex):
3264         (WebKit::JSNPObject::getOwnPropertyNames):
3265
3266 2011-11-11  Timothy Hatcher  <timothy@apple.com>
3267
3268         Only use the textured window style mask when there is no override inspector page.
3269
3270         https://webkit.org/b/72142
3271
3272         Reviewed by Dan Bernstein.
3273
3274         * UIProcess/mac/WebInspectorProxyMac.mm:
3275         (WebKit::WebInspectorProxy::platformOpen): Don't set NSTexturedBackgroundWindowMask if
3276         there is an override inspector page. Make setAutorecalculatesContentBorderThickness:,
3277         setContentBorderThickness: and WKNSWindowMakeBottomCornersSquare conditional.
3278
3279 2011-11-11  Simon Hausmann  <simon.hausmann@nokia.com>
3280
3281         [Qt] Remove dead MeeGoTouch code.
3282
3283         Reviewed by Tor Arne Vestbø.
3284
3285         * WebProcess/qt/WebProcessMainQt.cpp:
3286         (WebKit::WebProcessMainQt):
3287
3288 2011-11-11  Alexis Menard  <alexis.menard@openbossa.org>
3289
3290         [Qt] Add a way to have experimental features in WebKit2
3291         https://bugs.webkit.org/show_bug.cgi?id=67707
3292
3293         Reviewed by Kenneth Rohde Christiansen.
3294
3295         Add new QML extensions for our public view. This extension
3296         returns the private object of the view so that the user could
3297         use unstable/unreleased APIs. This requires our private class
3298         to be exported and QObject subclass.
3299
3300         * Target.pri:
3301         * UIProcess/API/qt/qquickwebview.cpp:
3302         * UIProcess/API/qt/qquickwebview_p.h:
3303         * UIProcess/API/qt/qquickwebviewprivateextension.cpp: Added.
3304         (QQuickWebViewPrivateExtension::QQuickWebViewPrivateExtension):
3305         (QQuickWebViewPrivateExtension::viewPrivate):
3306         * UIProcess/API/qt/qquickwebviewprivateextension_p.h: Added.
3307
3308 2011-11-11  Simon Hausmann  <simon.hausmann@nokia.com>
3309
3310         [Qt][WK2] Remove QWebNavigationController
3311         https://bugs.webkit.org/show_bug.cgi?id=72113
3312
3313         Reviewed by Andreas Kling.
3314
3315         Fold the functions and properties of QWebNavigationController into
3316         QQuickWebView.
3317
3318         * Target.pri:
3319         * UIProcess/API/qt/WKView.h:
3320         * UIProcess/API/qt/qquickwebpage.cpp:
3321         (QQuickWebPagePrivate::QQuickWebPagePrivate):
3322         * UIProcess/API/qt/qquickwebpage.h:
3323         * UIProcess/API/qt/qquickwebpage_p.h:
3324         * UIProcess/API/qt/qquickwebview.cpp:
3325         (QQuickWebViewPrivate::initialize):
3326         (QQuickWebView::goBack):
3327         (QQuickWebView::goForward):
3328         (QQuickWebView::stop):
3329         (QQuickWebView::reload):
3330         (QQuickWebView::canGoBack):
3331         (QQuickWebView::canGoForward):
3332         (QQuickWebView::canStop):
3333         (QQuickWebView::canReload):
3334         (QQuickWebView::title):
3335         * UIProcess/API/qt/qquickwebview.h:
3336         * UIProcess/API/qt/qwebnavigationcontroller.cpp: Removed.
3337         * UIProcess/API/qt/qwebnavigationcontroller.h: Removed.
3338         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
3339         (tst_QQuickWebView::navigationStatusAtStartup):
3340         (LoadStartedCatcher::onLoadStarted):
3341         (tst_QQuickWebView::stopEnabledAfterLoadStarted):
3342         (tst_QQuickWebView::backAndForward):
3343         (tst_QQuickWebView::reload):
3344         (tst_QQuickWebView::stop):
3345
3346 2011-11-10  Beth Dakin  <bdakin@apple.com>
3347
3348         Once more for the QT build.
3349
3350         * UIProcess/qt/QtWebPageProxy.cpp:
3351         (QtWebPageProxy::setFindIndicator):
3352         * UIProcess/qt/QtWebPageProxy.h:
3353
3354 2011-11-10  Beth Dakin  <bdakin@apple.com>
3355
3356         More attempted build fix.
3357
3358         * UIProcess/API/efl/PageClientImpl.cpp:
3359         (WebKit::PageClientImpl::setFindIndicator):
3360         * UIProcess/API/efl/PageClientImpl.h:
3361         * UIProcess/API/gtk/PageClientImpl.cpp:
3362         (WebKit::PageClientImpl::setFindIndicator):
3363         * UIProcess/API/gtk/PageClientImpl.h:
3364
3365 2011-11-10  Anders Carlsson  <andersca@apple.com>
3366
3367         Fix 32-bit build.
3368
3369         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3370         (-[WKContentLayer drawInContext:]):
3371
3372 2011-11-10  Beth Dakin  <bdakin@apple.com>
3373
3374         Speculative build fix.
3375
3376         * UIProcess/win/WebView.cpp:
3377         (WebKit::WebView::setFindIndicator):
3378         * UIProcess/win/WebView.h:
3379
3380 2011-11-10  Beth Dakin  <bdakin@apple.com>
3381
3382         https://bugs.webkit.org/show_bug.cgi?id=66584
3383         WebKit2's find bouncy looks blurry after dragging window onto >1.0 scale factor 
3384         display
3385         -and corresponding-
3386         <rdar://problem/9987559>
3387
3388         Reviewed by Anders Carlsson.
3389
3390         The setFindIndicator message and various functions of the same name must all take 
3391         an additional parameter indicating whether or not setting the find indicator 
3392         should result in a bounce animation. This is because when the device scale factor 
3393         changes, if there is currently a find indicator, it must be re-set to a higher or 
3394         lower resolution version, but we don't want the bounce animation to happen again.
3395         * UIProcess/API/mac/FindIndicatorWindow.h:
3396         * UIProcess/API/mac/FindIndicatorWindow.mm:
3397         (WebKit::FindIndicatorWindow::setFindIndicator):
3398         * UIProcess/API/mac/PageClientImpl.h:
3399         * UIProcess/API/mac/PageClientImpl.mm:
3400         (WebKit::PageClientImpl::setFindIndicator):
3401         * UIProcess/API/mac/WKView.mm:
3402         (-[WKView _setFindIndicator:fadeOut:animate:]):
3403         * UIProcess/API/mac/WKViewInternal.h:
3404         * UIProcess/PageClient.h:
3405         * UIProcess/WebPageProxy.cpp:
3406         (WebKit::WebPageProxy::setFindIndicator):
3407         * UIProcess/WebPageProxy.h:
3408         * UIProcess/WebPageProxy.messages.in:
3409
3410         New function FindController::isShowingOverlay() is used to determine if 
3411         FindController::deviceScaleFactorDidChange() needs to be called.
3412         * WebProcess/WebPage/FindController.h:
3413         (WebKit::FindController::isShowingOverlay): 
3414
3415         FindController::deviceScaleFactorDidChange() calls updateFindIndicator to re-
3416         generate the bitmap at the appropriate scale factor, but tells it not to animate 
3417         this time.
3418         (WebKit::FindController::deviceScaleFactorDidChange):
3419
3420         updateFindIndicator() takes a new parameter indicating whether or not the 
3421         FindIndicator should animate. It defaults to true since the deviceScaleFactor 
3422         changing is the only case currently where we do not want it to animate.
3423         * WebProcess/WebPage/FindController.cpp:
3424         (WebKit::FindController::updateFindIndicator):
3425         (WebKit::FindController::hideFindIndicator):
3426
3427         Calls into FindController::deviceScaleFactorDidChange() when the scale factor has 
3428         changed and the find overlay is showing.
3429         * WebProcess/WebPage/WebPage.cpp:
3430         (WebKit::WebPage::setDeviceScaleFactor):
3431
3432 2011-11-10  Timothy Hatcher  <timothy@apple.com>
3433
3434         Make WKViews in NSPopovers render as they would in active windows.
3435
3436         The NSWindowDid{Become,Resign}KeyNotifications are not fired when NSPopovers
3437         are shown or hidden since they share key with the parent window. So WKView
3438         needs to update the active state during order on/off screen notifications.
3439
3440         https://webkit.org/b/68435
3441
3442         Reviewed by John Sullivan.
3443
3444         * UIProcess/API/mac/WKView.mm:
3445         (-[WKView _windowDidOrderOffScreen:]): Call viewStateDidChange with WebPageProxy::ViewWindowIsActive.
3446         (-[WKView _windowDidOrderOnScreen:]): Ditto.
3447
3448 2011-11-10  Anders Carlsson  <andersca@apple.com>
3449
3450         Add a simple content layer to TiledCoreAnimationDrawingArea
3451         https://bugs.webkit.org/show_bug.cgi?id=72044
3452
3453         Reviewed by Darin Adler.
3454
3455         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
3456         Add a content layer member variable.
3457
3458         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3459         (-[WKContentLayer _initWithWebPage:WebKit::]):
3460         Add initializer.
3461
3462         (-[WKContentLayer drawInContext:]):
3463         Lay out and draw the web page.
3464
3465         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
3466         Add the content layer as a sublayer of the root layer.
3467
3468         (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay):
3469         (WebKit::TiledCoreAnimationDrawingArea::scroll):
3470         Tell the content layer to paint.
3471
3472         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
3473         Resize the content layer as well.
3474
3475 2011-11-10  Anders Carlsson  <andersca@apple.com>
3476
3477         The WKView layer hosting subview needs to be flipped
3478         https://bugs.webkit.org/show_bug.cgi?id=72042
3479
3480         Reviewed by Darin Adler.
3481
3482         In order to match the Core Animation layer hierarchy, the layer hosting WKView
3483         subview needs to be flipped.
3484
3485         * UIProcess/API/mac/WKView.mm:
3486         (-[WKFlippedView isFlipped]):
3487         Add a NSView subview whose sole purpose is to be flipped.
3488
3489         (-[WKView _enterAcceleratedCompositingMode:]):
3490         Create a WKFlippedView instead of a regular NSView.
3491
3492 2011-11-10  Balazs Kelemen  <kbalazs@webkit.org>
3493
3494         [Qt] X11 plugins need to be reworked for Qt5
3495         https://bugs.webkit.org/show_bug.cgi?id=70023
3496
3497         Reviewed by Simon Hausmann.
3498
3499         * Target.pri:
3500         * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
3501         (WebKit::PluginInfoStore::pluginsDirectories):
3502         Kill the last dependency from the WebKit1 plugin system.
3503         This is necessary because currently we don't build the WebKit1
3504         plugin code. The function is equivalent with the XP_UNIX part of
3505         PluginDatabase::defaultPluginDirectories.
3506
3507         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
3508         (WebKit::NPN_GetValue):
3509         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
3510         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
3511         (WebKit::getPluginDisplay):
3512         (WebKit::x11Screen):
3513         (WebKit::displayDepth):
3514         (WebKit::rootWindowID):
3515         (WebKit::NetscapePlugin::x11HostDisplay):
3516         (WebKit::NetscapePlugin::platformPostInitialize):
3517         (WebKit::NetscapePlugin::platformDestroy):
3518         (WebKit::NetscapePlugin::platformGeometryDidChange):
3519         (WebKit::NetscapePlugin::platformPaint):
3520         (WebKit::initializeXEvent):
3521         Rework plugin initialization and drawing model.
3522
3523 2011-11-10  Martin Robinson  <mrobinson@igalia.com>
3524
3525         [GTK] [WebKit2] Fix remaining gtkdoc errors
3526         https://bugs.webkit.org/show_bug.cgi?id=71990
3527
3528         Reviewed by Philippe Normand.
3529
3530         * UIProcess/API/gtk/WebKitWebView.cpp: Update add the phrase "property" to
3531         references to properties, because the gtkdoc stylesheet does not differeniate
3532         between properties and signals. Standardize the way we talk about property
3533         notifications.
3534         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add an include to silence 
3535         warnings about GIR annotations.
3536         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add the decorators the private section.
3537
3538 2011-11-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3539
3540         [Qt] Clean up how singe / double taps are handled
3541         https://bugs.webkit.org/show_bug.cgi?id=72024
3542
3543         Reviewed by Simon Hausmann.
3544
3545         Move all decision making to the QtWebPageProxy.
3546
3547         * UIProcess/qt/QtTapGestureRecognizer.cpp:
3548         (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
3549         (WebKit::QtTapGestureRecognizer::recognize):
3550         (WebKit::QtTapGestureRecognizer::tapTimeout):
3551         * UIProcess/qt/QtTapGestureRecognizer.h:
3552         * UIProcess/qt/QtWebPageProxy.cpp:
3553         (QtWebPageProxy::QtWebPageProxy):
3554         (QtWebPageProxy::handleSingleTapEvent):
3555         (QtWebPageProxy::handleDoubleTapEvent):
3556         * UIProcess/qt/QtWebPageProxy.h:
3557
3558 2011-11-10  Simon Hausmann  <simon.hausmann@nokia.com>
3559
3560         [Qt] Clean up build system
3561
3562         Reviewed by Tor Arne Vestbø.
3563
3564         Now that we use whole-archive linking we can fold the files that contain exported
3565         symbols back into the WebKit2 static library.
3566
3567         * Target.pri: Fold in sources from WebKit2.pri.
3568         * WebKit2.pri: Removed.
3569
3570 2011-11-10  Alexis Menard  <alexis.menard@openbossa.org>
3571
3572         [Qt] Merge QTouchWebView and QDesktopWebView into one class
3573         https://bugs.webkit.org/show_bug.cgi?id=71355
3574
3575         Reviewed by Kenneth Rohde Christiansen.
3576
3577         Merge QTouchWebView and QDesktopWebView into one class called
3578         QQuickWebView and its attached page QQuickWebPage. You can switch to the
3579         traditional desktop use case with the private header. Also now on desktop
3580         platforms AC is turn on by default. I also merged our two
3581         subclasses of QtViewInterface into one as the split doesn't make
3582         that much sense anymore. In the future we want to be able to enable the
3583         traditional desktop use case depending the platform the code is running.
3584         API tests and QML tests have been updated.
3585
3586         * Target.pri:
3587         * UIProcess/API/qt/WKView.h:
3588         * UIProcess/API/qt/qbasewebview.cpp: Removed.
3589         * UIProcess/API/qt/qbasewebview_p.h: Removed.
3590         * UIProcess/API/qt/qdesktopwebview.cpp: Removed.
3591         * UIProcess/API/qt/qdesktopwebview.h: Removed.
3592         * UIProcess/API/qt/qdesktopwebview_p.h: Removed.
3593         * UIProcess/API/qt/qquickwebpage.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qtouchwebpage.cpp.
3594         (QQuickWebPage::QQuickWebPage):
3595         (QQuickWebPage::~QQuickWebPage):
3596         (QQuickWebPage::keyPressEvent):
3597         (QQuickWebPage::keyReleaseEvent):
3598         (QQuickWebPage::inputMethodEvent):
3599         (QQuickWebPage::focusInEvent):
3600         (QQuickWebPage::focusOutEvent):
3601         (QQuickWebPage::mousePressEvent):
3602         (QQuickWebPage::mouseMoveEvent):
3603         (QQuickWebPage::mouseReleaseEvent):
3604         (QQuickWebPage::mouseDoubleClickEvent):
3605         (QQuickWebPage::wheelEvent):
3606         (QQuickWebPage::hoverEnterEvent):
3607         (QQuickWebPage::hoverMoveEvent):
3608         (QQuickWebPage::hoverLeaveEvent):
3609         (QQuickWebPage::dragMoveEvent):
3610         (QQuickWebPage::dragEnterEvent):
3611         (QQuickWebPage::dragLeaveEvent):
3612         (QQuickWebPage::dropEvent):
3613         (QQuickWebPage::geometryChanged):
3614         (QQuickWebPage::event):
3615         (QQuickWebPage::touchEvent):
3616         (QQuickWebPage::itemChange):
3617         (QQuickWebPagePrivate::QQuickWebPagePrivate):
3618         (QQuickWebPagePrivate::initializeSceneGraphConnections):
3619         (QQuickWebPagePrivate::setPageProxy):
3620         (computeEffectiveOpacity):
3621         (QQuickWebPagePrivate::paintToCurrentGLContext):
3622         (QQuickWebPagePrivate::_q_onAfterSceneRender):
3623         (QQuickWebPagePrivate::_q_onSceneGraphInitialized):
3624         * UIProcess/API/qt/qquickwebpage.h: Renamed from Source/WebKit2/UIProcess/API/qt/qtouchwebpage.h.
3625         * UIProcess/API/qt/qquickwebpage_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qtouchwebpage_p.h.
3626         * UIProcess/API/qt/qquickwebview.cpp: Added.
3627         (QQuickWebViewPrivate::QQuickWebViewPrivate):
3628         (QQuickWebViewPrivate::enableMouseEvents):
3629         (QQuickWebViewPrivate::disableMouseEvents):
3630         (QQuickWebViewPrivate::initialize):
3631         (QQuickWebViewPrivate::initializeDesktop):
3632         (QQuickWebViewPrivate::initializeTouch):
3633         (QQuickWebViewPrivate::loadDidCommit):
3634         (QQuickWebViewPrivate::contentSizeChanged):
3635         (QQuickWebViewPrivate::scrollPositionRequested):
3636         (QQuickWebViewPrivate::_q_viewportUpdated):
3637         (QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged):
3638         (QQuickWebViewPrivate::_q_onVisibleChanged):
3639         (QQuickWebViewPrivate::updateViewportSize):
3640         (QQuickWebViewPrivate::updateViewportConstraints):
3641         (QQuickWebViewPrivate::didChangeViewportProperties):
3642         (QQuickWebViewPrivate::runJavaScriptAlert):
3643         (QQuickWebViewPrivate::runJavaScriptConfirm):
3644         (QQuickWebViewPrivate::runJavaScriptPrompt):
3645         (QQuickWebViewPrivate::chooseFiles):
3646         (QQuickWebViewPrivate::_q_onOpenPanelFilesSelected):
3647         (QQuickWebViewPrivate::_q_onOpenPanelFinished):
3648         (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
3649         (toPolicyAction):
3650         (hasMetaMethod):
3651         (QQuickWebViewPrivate::navigationPolicyForURL):
3652         (QQuickWebViewPrivate::setPageProxy):
3653         (QQuickWebView::QQuickWebView):
3654         (QQuickWebView::~QQuickWebView):
3655         (QQuickWebView::page):
3656         (QQuickWebView::load):
3657         (QQuickWebView::postMessage):
3658         (QQuickWebView::url):
3659         (QQuickWebView::loadProgress):
3660         (QQuickWebView::title):
3661         (QQuickWebView::navigationController):
3662         (QQuickWebView::preferences):
3663         (QQuickWebView::geometryChanged):
3664         (QQuickWebView::touchEvent):
3665         (QQuickWebView::pageRef):
3666         * UIProcess/API/qt/qquickwebview.h: Renamed from Source/WebKit2/UIProcess/API/qt/qbasewebview.h.
3667         * UIProcess/API/qt/qquickwebview_p.h: Added.
3668         * UIProcess/API/qt/qtouchwebview.cpp: Removed.
3669         * UIProcess/API/qt/qtouchwebview.h: Removed.
3670         * UIProcess/API/qt/qtouchwebview_p.h: Removed.
3671         * UIProcess/API/qt/tests/commonviewtests/commonviewtests.pro: Removed.
3672         * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp: Removed.
3673         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp: Removed.
3674         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h: Removed.
3675         * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp: Removed.
3676         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_download.qml:
3677         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml:
3678         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadFail.qml:
3679         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgress.qml:
3680         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgressSignal.qml:
3681         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadZeroSizeView.qml:
3682         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_messaging.qml:
3683         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml:
3684         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml:
3685         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml:
3686         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml:
3687         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml:
3688         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml:
3689         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml:
3690         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml:
3691         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml:
3692         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml:
3693         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
3694         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
3695         (DesktopWebView::DesktopWebView):
3696         (main):
3697         * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qdesktopwebview/qdesktopwebview.pro.
3698         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: Added.
3699         (tst_QQuickWebView::tst_QQuickWebView):
3700         (tst_QQuickWebView::init):
3701         (tst_QQuickWebView::cleanup):
3702         (tst_QQuickWebView::webView):
3703         (tst_QQuickWebView::accessPage):
3704         (tst_QQuickWebView::navigationStatusAtStartup):
3705         (LoadStartedCatcher::LoadStartedCatcher):
3706         (LoadStartedCatcher::onLoadStarted):
3707         (tst_QQuickWebView::stopEnabledAfterLoadStarted):
3708         (tst_QQuickWebView::baseUrl):
3709         (tst_QQuickWebView::loadEmptyUrl):
3710         (tst_QQuickWebView::loadEmptyPageViewVisible):
3711         (tst_QQuickWebView::loadEmptyPageViewHidden):
3712         (tst_QQuickWebView::loadNonexistentFileUrl):
3713         (tst_QQuickWebView::backAndForward):
3714         (tst_QQuickWebView::reload):
3715         (tst_QQuickWebView::stop):
3716         (tst_QQuickWebView::loadProgress):
3717         (tst_QQuickWebView::show):
3718         * UIProcess/API/qt/tests/qtouchwebview/qtouchwebview.pro: Removed.
3719         * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp: Removed.
3720         * UIProcess/API/qt/tests/testwindow.h:
3721         * UIProcess/TiledDrawingAreaProxy.h:
3722         * UIProcess/qt/QtGestureRecognizer.cpp:
3723         (WebKit::QtGestureRecognizer::QtGestureRecognizer):
3724         (WebKit::QtGestureRecognizer::setViewportInteractionEngine):
3725         * UIProcess/qt/QtGestureRecognizer.h:
3726         * UIProcess/qt/QtPanGestureRecognizer.cpp:
3727         (WebKit::QtPanGestureRecognizer::setViewportInteractionEngine):
3728         (WebKit::QtPanGestureRecognizer::recognize):
3729         * UIProcess/qt/QtPanGestureRecognizer.h:
3730         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
3731         (WebKit::QtPinchGestureRecognizer::recognize):
3732         (WebKit::QtPinchGestureRecognizer::setViewportInteractionEngine):
3733         * UIProcess/qt/QtPinchGestureRecognizer.h:
3734         * UIProcess/qt/QtTouchViewInterface.cpp: Removed.
3735         * UIProcess/qt/QtTouchViewInterface.h: Removed.
3736         * UIProcess/qt/QtViewInterface.cpp: Added.
3737         (WebKit::QtViewInterface::QtViewInterface):
3738         (WebKit::QtViewInterface::didFindZoomableArea):
3739         (WebKit::QtViewInterface::sceneGraphUpdateQueue):
3740         (WebKit::QtViewInterface::setViewNeedsDisplay):
3741         (WebKit::QtViewInterface::drawingAreaSize):
3742         (WebKit::QtViewInterface::contentSizeChanged):
3743         (WebKit::QtViewInterface::scrollPositionRequested):
3744         (WebKit::QtViewInterface::isActive):
3745         (WebKit::QtViewInterface::hasFocus):
3746         (WebKit::QtViewInterface::isVisible):
3747         (WebKit::QtViewInterface::startDrag):
3748         (WebKit::QtViewInterface::didChangeViewportProperties):
3749         (WebKit::QtViewInterface::didChangeUrl):
3750         (WebKit::QtViewInterface::didChangeTitle):
3751         (WebKit::QtViewInterface::didChangeToolTip):
3752         (WebKit::QtViewInterface::didChangeStatusText):
3753         (WebKit::QtViewInterface::didChangeCursor):
3754         (WebKit::QtViewInterface::loadDidBegin):
3755         (WebKit::QtViewInterface::loadDidCommit):
3756         (WebKit::QtViewInterface::loadDidSucceed):
3757         (WebKit::QtViewInterface::loadDidFail):
3758         (WebKit::QtViewInterface::didChangeLoadProgress):
3759         (WebKit::QtViewInterface::didMouseMoveOverElement):
3760         (WebKit::QtViewInterface::showContextMenu):
3761         (WebKit::QtViewInterface::hideContextMenu):
3762         (WebKit::QtViewInterface::runJavaScriptAlert):
3763         (WebKit::QtViewInterface::runJavaScriptConfirm):
3764         (WebKit::QtViewInterface::runJavaScriptPrompt):
3765         (WebKit::QtViewInterface::processDidCrash):
3766         (WebKit::QtViewInterface::didRelaunchProcess):
3767         (WebKit::QtViewInterface::engine):
3768         (WebKit::QtViewInterface::downloadRequested):
3769         (WebKit::QtViewInterface::chooseFiles):
3770         * UIProcess/qt/QtViewInterface.h:
3771         * UIProcess/qt/QtWebPageProxy.h:
3772         (QtWebPageProxy::setViewportInteractionEngine):
3773         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
3774         * WebKit2.pri:
3775
3776 2011-11-10  Carlos Garcia Campos  <cgarcia@igalia.com>
3777
3778         Unreviewed. Fix make distcheck build.
3779
3780         * GNUmakefile.am: Fix typos in gtk-doc files and scripts.
3781
3782 2011-11-10  Simon Hausmann  <simon.hausmann@nokia.com>
3783
3784         Unreviewed Mac build fix: Remove TapAndHold gesture type.
3785
3786         It broke the build because it's unhandled. Remove it since it's not
3787         supported at the moment anyway. (looks like an accidental addition?)
3788
3789         * Shared/WebEvent.h:
3790         * UIProcess/qt/QtTapGestureRecognizer.cpp:
3791         (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
3792
3793 2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
3794
3795         [Qt] Enable exports and constructor functions in static libs
3796
3797         Reviewed by Tor Arne Vestbø.
3798
3799         * WebProcess/WebPage/qt/WebPageQt.cpp:
3800         (WebKit::WebPage::platformInitialize): Remove unnecessary manual Qt resource
3801         initialization.
3802
3803 2011-11-10  Zeno Albisser  <zeno.albisser@nokia.com>
3804
3805         [Qt][WK2] Add Tap Gesture recognition to UIProcess
3806         https://bugs.webkit.org/show_bug.cgi?id=71841
3807
3808         Add a Tap gesture recognizer that delivers GestureSingleTap
3809         and GestureTapAndHold events through the WebPageProxy.
3810         Add a GestureTapAndHold to WebEvent.
3811         Add a DoubleTap gesture for zooming in and out.
3812
3813         This patch is based on work of Benjamin Poulain.
3814
3815         Reviewed by Kenneth Rohde Christiansen.
3816
3817         * Shared/WebEvent.h:
3818         * Target.pri:
3819         * UIProcess/qt/QtTapGestureRecognizer.cpp: Added.
3820         (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
3821         (WebKit::QtTapGestureRecognizer::setWebPageProxy):
3822         (WebKit::QtTapGestureRecognizer::recognize):
3823         (WebKit::QtTapGestureRecognizer::tapTimeout):
3824         (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
3825         (WebKit::QtTapGestureRecognizer::reset):
3826         (WebKit::QtTapGestureRecognizer::timerEvent):
3827         * UIProcess/qt/QtTapGestureRecognizer.h: Added.
3828         * UIProcess/qt/QtWebPageProxy.cpp:
3829         (QtWebPageProxy::QtWebPageProxy):
3830         (QtWebPageProxy::processDidCrash):
3831         (QtWebPageProxy::doneWithTouchEvent):
3832         * UIProcess/qt/QtWebPageProxy.h:
3833
3834 2011-11-09  Shinya Kawanaka  <shinyak@google.com>
3835
3836         Internals.markerRangeForNode should be able to take markers by specifying a marker type.
3837         https://bugs.webkit.org/show_bug.cgi?id=71792
3838
3839         Reviewed by Hajime Morita.
3840
3841         * win/WebKit2.def: Exposed necessary references.
3842         * win/WebKit2CFLite.def: ditto.
3843
3844 2011-10-26  Martin Robinson  <mrobinson@igalia.com>
3845
3846         [GTK] [WebKit] Replace the gtkdoc autools magic with something more flexible
3847         https://bugs.webkit.org/show_bug.cgi?id=70877
3848
3849         Reviewed by Philippe Normand.
3850
3851         Add a script that runs gtkdoc manually instead of using the autotools
3852         magic. Remove now unused gtkdoc files.
3853
3854         * GNUmakefile.am: Remove references to removed gtkdoc files.
3855         * UIProcess/API/gtk/docs/GNUmakefile.am: Removed.
3856         * UIProcess/API/gtk/docs/build-gtkdoc: Added.
3857         * UIProcess/API/gtk/docs/gtkdoc.py: Added.
3858         * UIProcess/API/gtk/docs/version.xml.in: Removed.
3859
3860 2011-11-09  Alexey Proskuryakov  <ap@apple.com>
3861
3862         <rdar://problem/10423024> WebProcess doesn't use AuthBrokerAgent for proxy credentials
3863         https://bugs.webkit.org/show_bug.cgi?id=71964
3864
3865         Reviewed by Darin Adler.
3866
3867         * WebProcess/com.apple.WebProcess.sb: Allow mach-lookup of com.apple.cfnetwork.AuthBrokerAgent.
3868
3869 2011-11-09  Anders Carlsson  <andersca@apple.com>
3870
3871         Element::boundsInWindowSpace should be Element::boundsInRootViewSpace
3872         https://bugs.webkit.org/show_bug.cgi?id=71955
3873
3874         Reviewed by Sam Weinig.
3875
3876         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
3877         (WebKit::InjectedBundleNodeHandle::elementBounds):
3878         Call Element::boundsInRootViewSpace.
3879
3880 2011-11-09  Alexis Menard  <alexis.menard@openbossa.org>
3881
3882         WebGraphicsLayer behaves wrongly when no contentsScale is set.
3883         https://bugs.webkit.org/show_bug.cgi?id=71959
3884
3885         Reviewed by Noam Rosenthal.
3886
3887         The contentsScale needs to get a default value just like
3888         TiledBackingStore in case no value is explicitely set.
3889
3890         It is covered by existing tests.
3891
3892         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
3893         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
3894
3895 2011-11-09  Mark Hahnenberg  <mhahnenberg@apple.com>
3896
3897         De-virtualize JSObject::getOwnPropertyDescriptor
3898         https://bugs.webkit.org/show_bug.cgi?id=71523
3899
3900         Reviewed by Sam Weinig.
3901
3902         Added getOwnPropertyDescriptor to the MethodTable, changed all of the 
3903         virtual versions of getOwnPropertyDescriptor to static ones, and 
3904         changed all of the call sites to the corresponding lookup in the MethodTable.
3905
3906         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
3907         (WebKit::JSNPObject::getOwnPropertyDescriptor):
3908         * WebProcess/Plugins/Netscape/JSNPObject.h:
3909
3910 2011-11-09  Alexandru Chiculita  <achicu@adobe.com>
3911
3912         Fixing build on MacOSX SL after 71838
3913         https://bugs.webkit.org/show_bug.cgi?id=71912
3914
3915         Reviewed by Anders Carlsson.
3916
3917         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3918         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
3919
3920 2011-11-09  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3921
3922         [WebKit2] Prepare viewport meta handling for desktop usage
3923         https://bugs.webkit.org/show_bug.cgi?id=71907
3924
3925         Reviewed by Simon Hausmann.
3926
3927         This is only used by Qt so far. Now we don't always layout pages
3928         without the viewport meta tag, using 980 as the layout width, but
3929         instead we use that value (it is a setting) as a minimum value, or
3930         else we use the viewport width.
3931
3932         * UIProcess/API/qt/qtouchwebview.cpp:
3933         (QTouchWebViewPrivate::updateViewportSize):
3934         (QTouchWebViewPrivate::updateViewportConstraints):
3935         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3936         (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
3937         * WebProcess/WebPage/WebPage.cpp:
3938         (WebKit::WebPage::setViewportSize):
3939
3940 2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
3941
3942         Unreviewed, rolling out r99701.
3943         http://trac.webkit.org/changeset/99701
3944
3945         Breaks Qt mac build
3946
3947         * WebProcess/WebPage/qt/WebPageQt.cpp:
3948         (initResources):
3949         (WebKit::WebPage::platformInitialize):
3950
3951 2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
3952
3953         [Qt] Enable exports and constructor functions in static libs
3954
3955         Reviewed by Tor Arne Vestbø.
3956
3957         * WebProcess/WebPage/qt/WebPageQt.cpp:
3958         (WebKit::WebPage::platformInitialize): Remove unnecessary manual Qt resource
3959         initialization.
3960
3961 2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
3962
3963         [Qt] Fix geolocation enabled build.
3964
3965         Reviewed by Tor Arne Vestbø.
3966
3967         * Target.pri: Add QT += location to get the right module includes.
3968         * UIProcess/qt/WebGeolocationProviderQt.cpp: Include the moc file with the right name (GeoLocation -> Geolocation)
3969         * UIProcess/qt/WebGeolocationProviderQt.h: Removed the ENABLE(GEOLOCATION) guards, otherwise moc doesn't generate
3970         code, because it can't interpret the ENABLE() macro.
3971
3972 2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
3973
3974         [Qt] Build system cleanup
3975         https://bugs.webkit.org/show_bug.cgi?id=71815
3976
3977         Reviewed by Kenneth Rohde Christiansen.
3978
3979         * Target.pri: Removed duplicated sources that are compiled also into QtWebKit.so through api.pri.
3980         * UIProcess/qt/WebGeolocationProviderQt.cpp: Include the moc file here, as it should only be compiled
3981         if geolocation is enabled.
3982         * UIProcess/qt/WebGeolocationProviderQt.h: Provide ENABLE(GEOLOCATION) guards around class definition.
3983
3984 2011-11-08  Simon Hausmann  <simon.hausmann@nokia.com>
3985
3986         [Qt] Replace use of QApplication with QGuiApplication
3987         https://bugs.webkit.org/show_bug.cgi?id=71794
3988
3989         Reviewed by Andreas Kling.
3990
3991         * Platform/CoreIPC/unix/ConnectionUnix.cpp: Remove unnecessary QApplication inclusion.
3992         * Platform/qt/RunLoopQt.cpp: Replace QApplication include with QCoreApplication.
3993         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: Ditto.
3994         * UIProcess/Launcher/qt/ThreadLauncherQt.cpp: Remove unnecessary QApplication inclusion.
3995         * UIProcess/qt/QtWebPageProxy.cpp:
3996         (QtWebPageProxy::handleMousePressEvent): Replace QApplication usage with QStyleHints.
3997         (QtWebPageProxy::handleMouseDoubleClickEvent): Ditto.
3998
3999 2011-11-07  Adam Barth  <abarth@webkit.org>
4000
4001         Move static "policy" state from SecurityOrigin.cpp to SecurityPolicy.cpp
4002         https://bugs.webkit.org/show_bug.cgi?id=71755
4003
4004         Reviewed by Eric Seidel.
4005
4006         * WebProcess/InjectedBundle/InjectedBundle.cpp:
4007         (WebKit::InjectedBundle::addOriginAccessWhitelistEntry):
4008         (WebKit::InjectedBundle::removeOriginAccessWhitelistEntry):
4009         (WebKit::InjectedBundle::resetOriginAccessWhitelists):
4010         * WebProcess/Plugins/PluginView.cpp:
4011         (WebKit::PluginView::loadURL):
4012
4013 2011-11-08  Brent Fulgham  <bfulgham@webkit.org>
4014
4015         [WinCairo] Unreviewed build fix after r99613.
4016
4017         * win/WebKit2CFLite.def: Add missing export.
4018
4019 2011-11-08  Brent Fulgham  <bfulgham@webkit.org>
4020
4021         [WinCairo] Unreviewed build fix after r98624 and r99613.
4022
4023         * win/WebKit2CFLite.def: Add missing exports.
4024
4025 2011-11-08  Beth Dakin  <bdakin@apple.com>
4026
4027         https://bugs.webkit.org/show_bug.cgi?id=71856
4028         WebKit should use new NSWindowDidChangeBackingPropertiesNotification instead of 
4029         old NSWindowDidChangeResolutionNotification
4030         -and corresponding-
4031         <rdar://problem/10317253>
4032
4033         Reviewed by Tim Hatcher.
4034
4035         * UIProcess/API/mac/WKView.mm:
4036         (-[WKView addWindowObserversForWindow:]):
4037         (-[WKView removeWindowObservers]):
4038
4039         We have to check that the backing scale factor actually changed since this 
4040         notification can also be used to signify other changes. 
4041         (-[WKView _windowDidChangeBackingProperties:]):
4042
4043 2011-11-08  Anders Carlsson  <andersca@apple.com>
4044
4045         Add a basic layer hierarchy to the Core Animation drawing area
4046         https://bugs.webkit.org/show_bug.cgi?id=71838
4047
4048         Reviewed by Sam Weinig.
4049
4050         * UIProcess/API/mac/WKView.mm:
4051         (-[WKView drawRect:]):
4052         Return early if we're using a tiled drawing area.
4053
4054         (-[WKView initWithFrame:contextRef:pageGroupRef:]):
4055         If we're using a tiled drawing area, make the WKView layer backed and set its layer
4056         to a simple CALayer with a white background and set the view's content redraw policy
4057         to never to avoid ever calling drawRect.
4058
4059         * UIProcess/DrawingAreaProxy.h:
4060         (WebKit::DrawingAreaProxy::didUpdateGeometry):
4061         * UIProcess/DrawingAreaProxy.messages.in:
4062         Add a new didUpdateGeometry message.
4063
4064         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
4065         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
4066         (WebKit::TiledCoreAnimationDrawingAreaProxy::TiledCoreAnimationDrawingAreaProxy):
4067         Initialize m_isWaitingForDidUpdateGeometry.
4068
4069         (WebKit::TiledCoreAnimationDrawingAreaProxy::sizeDidChange):
4070         Send an UpdateGeometry message to the web process and wait for a reply.
4071
4072         (WebKit::TiledCoreAnimationDrawingAreaProxy::enterAcceleratedCompositingMode):
4073         Tell the web page proxy to enter accelerated compositing mode.
4074
4075         (WebKit::TiledCoreAnimationDrawingAreaProxy::exitAcceleratedCompositingMode):
4076         Assert that this function is never called.
4077
4078         (WebKit::TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry):
4079         Send another UpdateGeometry message if needed.
4080
4081         (WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry):
4082         Add helper function to actually send the UpdateGeometry message.
4083
4084         * WebProcess/WebPage/DrawingArea.h:
4085         (WebKit::DrawingArea::updateGeometry):
4086         * WebProcess/WebPage/DrawingArea.messages.in:
4087         Add UpdateGeometry message.
4088
4089         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
4090         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
4091         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
4092         Create a red root layer and a remote layer client that hosts it.
4093
4094         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
4095         Resize the root layer and tell the UI process that we've updated the geometry.
4096
4097 2011-11-08  Dan Bernstein  <mitz@apple.com>
4098
4099         <rdar://problem/10262225> Allow RenderView to have columns
4100         https://bugs.webkit.org/show_bug.cgi?id=71840
4101
4102         * win/WebKit2.def: Export Page::setPagination() for WebCoreTestSupport.
4103
4104 2011-11-08  Jon Lee  <jonlee@apple.com>
4105
4106         [WK2] Expose acceptMIMETypes for file inputs
4107         https://bugs.webkit.org/show_bug.cgi?id=71836
4108         <rdar://problem/10407367>
4109
4110         Reviewed by Anders Carlsson.
4111
4112         * Shared/WebOpenPanelParameters.cpp:
4113         (WebKit::WebOpenPanelParameters::acceptMIMETypes):
4114         * Shared/WebOpenPanelParameters.h:
4115         * UIProcess/API/C/WKOpenPanelParameters.cpp:
4116         (WKOpenPanelParametersCopyAcceptedMIMETypes):
4117         * UIProcess/API/C/WKOpenPanelParameters.h:
4118
4119 2011-11-08  Zan Dobersek  <zandobersek@gmail.com>
4120
4121         [WK2][GTK] The default database & local storage directory names should note they exist for Gtk port's needs
4122         https://bugs.webkit.org/show_bug.cgi?id=71837
4123
4124         Reviewed by Martin Robinson.
4125
4126         Ensure that directories for databases and local storage are in a 'webkitgtk'
4127         directory in current user's data directory, noting they originate from the Gtk port.
4128
4129         * UIProcess/gtk/WebContextGtk.cpp:
4130         (WebKit::WebContext::platformDefaultDatabaseDirectory):
4131         (WebKit::WebContext::platformDefaultLocalStorageDirectory):
4132
4133 2011-11-08  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
4134
4135         [Qt] Workaround some problems in QML API tests
4136         https://bugs.webkit.org/show_bug.cgi?id=71818
4137
4138         Reviewed by Tor Arne Vestbø.
4139
4140         This commit workaround the issue of QML's QtTest crashing when we run tests after
4141         "windowShown". We delay to the next run of the mainloop. This workaround is not
4142         pretty but shouldn't affect the semantics of the tests. And we benefit more from
4143         having working tests right now.
4144
4145         This patch also improves Download to: wait for the load before emitting click, and
4146         properly identifying the "succeeded" signal of the downloadItem object.
4147
4148         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_download.qml:
4149         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml:
4150         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml:
4151
4152 2011-11-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>
4153
4154         Clean up QtViewportInteractionEngine
4155
4156         Reviewed by Simon Hausmann.
4157
4158         * UIProcess/qt/QtViewportInteractionEngine.cpp:
4159         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
4160         (WebKit::QtViewportInteractionEngine::setItemRectVisible):
4161
4162             Rename the method to make it more obvious what it does. Avoid implicit
4163             conversion to/from QVariant.
4164
4165         (WebKit::QtViewportInteractionEngine::pagePositionRequest):
4166         (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
4167         (WebKit::QtViewportInteractionEngine::itemSizeChanged):
4168
4169             Only call this method on item size changes, and not for every interaction
4170             with the viewport item. Before this change it was even being called during
4171             animations.
4172
4173         * UIProcess/qt/QtViewportInteractionEngine.h:
4174         (WebKit::QtViewportInteractionEngine::scaleAnimationValueChanged):
4175
4176             Rename to make it clean that this is called from the animator.
4177
4178 2011-11-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>
4179
4180         [Qt] Improve the animation time constant
4181         https://bugs.webkit.org/show_bug.cgi?id=71790
4182
4183         Reviewed by Simon Hausmann.
4184
4185         Use 250 milliseconds instead of 400, which feels a lot more natural
4186         and makes the mini browser feel more responsive.
4187
4188         * UIProcess/qt/QtViewportInteractionEngine.cpp:
4189
4190 2011-11-08  Alexis Menard  <alexis.menard@openbossa.org>
4191
4192         [Qt] Merge QtDesktopWebPageProxy and QtTouchWebPageProxy into QtWebPageProxy.
4193         https://bugs.webkit.org/show_bug.cgi?id=71355
4194
4195         Reviewed by Simon Hausmann.
4196
4197         As we try to unify our public API offer we need to merge our double
4198         WebPageProxy implementations first into a common class. That will help
4199         to merge our TouchWebView and DesktopWebView views into one class later.
4200         This commit just merge stuff around and doesn't contain any functional changes.
4201
4202         * Target.pri:
4203         * UIProcess/API/qt/qdesktopwebview.cpp:
4204         (QDesktopWebViewPrivate::init):
4205         * UIProcess/API/qt/qtouchwebpage.cpp:
4206         (QTouchWebPagePrivate::paintToCurrentGLContext):
4207         * UIProcess/API/qt/qtouchwebpage.h:
4208         * UIProcess/API/qt/qtouchwebpage_p.h:
4209         * UIProcess/API/qt/qtouchwebview.cpp:
4210         (QTouchWebViewPrivate::init):
4211         (QTouchWebViewPrivate::_q_viewportUpdated):
4212         (QTouchWebViewPrivate::_q_viewportTrajectoryVectorChanged):
4213         * UIProcess/API/qt/qtouchwebview_p.h:
4214         * UIProcess/qt/QtDesktopWebPageProxy.cpp: Removed.
4215         * UIProcess/qt/QtDesktopWebPageProxy.h: Removed.
4216         * UIProcess/qt/QtTouchWebPageProxy.cpp: Removed.
4217         * UIProcess/qt/QtTouchWebPageProxy.h: Removed.
4218         * UIProcess/qt/QtWebPageProxy.cpp: