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