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