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