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