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