java/java-and-plugins.html test failing
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2012-03-14  Anders Carlsson  <andersca@apple.com>
2
3         java/java-and-plugins.html test failing
4         https://bugs.webkit.org/show_bug.cgi?id=81188
5         <rdar://problem/11048657>
6
7         Reviewed by Sam Weinig.
8
9         When we're marshaling NPObjects that wrap plug-in objects, make sure to check that the
10         current plug-in instance is the same as the plug-in instance the object came from and don't
11         pass the unwrapped object ID if that is the case.
12
13         * Shared/Plugins/NPRemoteObjectMap.cpp:
14         (WebKit::remoteNPObjectID):
15         (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
16
17 2012-03-14  Matt Falkenhagen  <falken@chromium.org>
18
19         Allow per-script font settings to be specified in layout tests
20         https://bugs.webkit.org/show_bug.cgi?id=78184
21
22         Reviewed by Hajime Morita.
23
24         This adds per-script font settings to InternalSettings, so it can be used in layout tests instead of
25         the per-script font settings support in DumpRenderTree overridePreference, which has only been implemented
26         for Chromium so far.
27
28         * win/WebKit2.def: Added symbols.
29         * win/WebKit2CFLite.def: Added symbols.
30
31 2012-03-14  Michael Saboff  <msaboff@apple.com>
32
33         REGRESSION(r110383): ASSERTION failures in JSCell::finishCreation causing multiple tests to "crash" on the Lion Intel Debug Bots
34         https://bugs.webkit.org/show_bug.cgi?id=80993
35
36         Reviewed by Mark Rowe.
37
38         Moved $(BUILT_PRODUCTS_DIR)/usr/local/include to the front of HEADER_SEARCH_PATH
39         to fix builds given the wtf move.
40
41         * Configurations/BaseTarget.xcconfig:
42
43 2012-03-14  Andy Estes  <aestes@apple.com>
44
45         Stop shadowing the argument to drawRect: with a local variable.
46
47         Reviewed by Sam Weinig.
48
49         * UIProcess/API/mac/WKView.mm:
50         (-[WKView drawRect:]):
51
52 2012-03-13  Jon Lee  <jonlee@apple.com>
53
54         Separate NOTIFICATIONS and LEGACY_NOTIFICATIONS
55         https://bugs.webkit.org/show_bug.cgi?id=80922
56         <rdar://problem/11035082>
57
58         Reviewed by Jian Li.
59
60         You can include either NOTIFICATIONS or LEGACY_NOTIFICATIONS and have a complete API.
61         LEGACY_NOTIFICATIONS should cover all of the previous functionality, and NOTIFICATIONS will cover the
62         new API. Therefore, APIs that are common between the two will have:
63         #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
64
65         This patch initially sets both to be exactly the same. As other bugs with patches begin to migrate to
66         the new API, the defines will begin to split. This allows ports to decide which set of APIs to include.
67
68         Update everything to be #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
69         * Shared/WebProcessCreationParameters.cpp:
70         (WebKit::WebProcessCreationParameters::encode):
71         (WebKit::WebProcessCreationParameters::decode):
72         * Shared/WebProcessCreationParameters.h:
73         (WebProcessCreationParameters):
74         * UIProcess/WebContext.cpp:
75         (WebKit::WebContext::ensureWebProcess):
76         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
77         (WebKit):
78         (WebKit::NotificationPermissionRequestManager::startRequest):
79         (WebKit::NotificationPermissionRequestManager::cancelRequest):
80         (WebKit::NotificationPermissionRequestManager::permissionLevel):
81         (WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision):
82         * WebProcess/Notifications/WebNotificationManager.cpp:
83         (WebKit):
84         (WebKit::WebNotificationManager::initialize):
85         (WebKit::WebNotificationManager::didUpdateNotificationDecision):
86         (WebKit::WebNotificationManager::didRemoveNotificationDecisions):
87         (WebKit::WebNotificationManager::policyForOrigin):
88         (WebKit::WebNotificationManager::show):
89         (WebKit::WebNotificationManager::cancel):
90         (WebKit::WebNotificationManager::clearNotifications):
91         (WebKit::WebNotificationManager::didDestroyNotification):
92         (WebKit::WebNotificationManager::didShowNotification):
93         (WebKit::WebNotificationManager::didClickNotification):
94         (WebKit::WebNotificationManager::didCloseNotifications):
95         * WebProcess/Notifications/WebNotificationManager.h:
96         (WebNotificationManager):
97         * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
98         * WebProcess/WebCoreSupport/WebNotificationClient.h:
99         * WebProcess/WebPage/WebPage.cpp:
100         (WebKit::WebPage::WebPage):
101         (WebKit::WebPage::updatePreferences):
102         * WebProcess/WebProcess.cpp:
103         (WebKit::WebProcess::WebProcess):
104         (WebKit::WebProcess::didReceiveMessage):
105         * WebProcess/WebProcess.h:
106         (WebProcess):
107         * WebProcess/mac/WebProcessMac.mm:
108         (WebKit::WebProcess::platformInitializeWebProcess):
109
110 2012-03-14  Dinu Jacob  <dinu.jacob@nokia.com>
111
112         [Qt][WK2] Move code common to both ProxyAuthentication and Authentication context objects into a base class
113         https://bugs.webkit.org/show_bug.cgi?id=80627
114
115         Reviewed by Kenneth Rohde Christiansen.
116
117         No impact to QML API.
118
119         * UIProcess/qt/QtDialogRunner.cpp:
120         (BaseAuthenticationContextObject):
121         (BaseAuthenticationContextObject::BaseAuthenticationContextObject):
122         (HttpAuthenticationDialogContextObject):
123         (HttpAuthenticationDialogContextObject::HttpAuthenticationDialogContextObject):
124         (HttpAuthenticationDialogContextObject::realm):
125         (ProxyAuthenticationDialogContextObject):
126         (ProxyAuthenticationDialogContextObject::ProxyAuthenticationDialogContextObject):
127         (QtDialogRunner::initForAuthentication):
128
129 2012-03-14  Anders Carlsson  <andersca@apple.com>
130
131         With tiled drawing enabled, clicking a link to a PDF causes a cross-fade
132         https://bugs.webkit.org/show_bug.cgi?id=79247
133         <rdar://problem/10910808>
134
135         Reviewed by Sam Weinig.
136
137         Instead of creating a new CALayer for the WKView when we're in tiled mode, re-use the existing layer that AppKit makes for us.
138         This way, we won't get any implicit animations when we change layer properties (such as sublayers in this case).
139
140         * UIProcess/API/mac/WKView.mm:
141         (-[WKView initWithFrame:contextRef:pageGroupRef:]):
142         (-[WKView wantsUpdateLayer]):
143         (-[WKView updateLayer]):
144
145 2012-03-14  Alexey Proskuryakov  <ap@apple.com>
146
147         WebProcess sometimes hits an assertion in SandboxExtensionTracker::didCommitProvisionalLoad after running regression tests
148         https://bugs.webkit.org/show_bug.cgi?id=81150
149         <rdar://problem/11002254>
150
151         Reviewed by Anders Carlsson.
152
153         * WebProcess/WebPage/WebPage.cpp:
154         (WebKit::WebPage::SandboxExtensionTracker::didCommitProvisionalLoad):
155         (WebKit::WebPage::SandboxExtensionTracker::didFailProvisionalLoad):
156         It's not great, but for now we need to handle this case. Hopefully, some day we'll make
157         both WebKit2 processes better aware of what's going on with loading in WebCore.
158
159 2012-03-14  Anders Carlsson  <andersca@apple.com>
160
161         Fix UI process crash when a plug-in process crashes with a modal dialog showing
162         https://bugs.webkit.org/show_bug.cgi?id=81139
163         <rdar://problem/9641197>
164
165         Reviewed by Dan Bernstein.
166
167         When a plug-in process crashes, its corresponding PluginProcessProxy object is deleted immediately,
168         which is bad if we're currently running a nested run loop.
169
170         Fix this by making PluginProcessProxy ref-counted and protecting it before the call to -[NSApp runModalForWindow:].
171
172         * UIProcess/Plugins/PluginProcessManager.cpp:
173         (WebKit::PluginProcessManager::pluginProcessWithPath):
174         (WebKit::PluginProcessManager::getOrCreatePluginProcess):
175         * UIProcess/Plugins/PluginProcessManager.h:
176         (PluginProcessManager):
177         * UIProcess/Plugins/PluginProcessProxy.cpp:
178         (WebKit::PluginProcessProxy::create):
179         (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
180         * UIProcess/Plugins/PluginProcessProxy.h:
181         (PluginProcessProxy):
182         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
183         (WebKit::PluginProcessProxy::setModalWindowIsShowing):
184         (WebKit::PluginProcessProxy::beginModal):
185
186 2012-03-14  Carlos Garcia Campos  <cgarcia@igalia.com>
187
188         [GTK] Handle printing errors in WebKit2
189         https://bugs.webkit.org/show_bug.cgi?id=77197
190
191         Reviewed by Gustavo Noronha Silva.
192
193         * UIProcess/API/gtk/WebKitError.cpp:
194         (webkit_print_error_quark): Add new error domain for print
195         errors.
196         * UIProcess/API/gtk/WebKitError.h: Ad print errors.
197         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
198         (webkit_print_operation_class_init): Add
199         WebKitPrintOperation::failed signal.
200         (drawPagesForPrintingCompleted): Emit WebKitPrintOperation::failed
201         when the print operation failed with the given error.
202         (webkitPrintOperationPrintPagesForFrame): Use
203         PrintFinishedCallback instead of a VoidCallback.
204         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
205         * UIProcess/API/gtk/tests/TestPrinting.cpp:
206         (testPrintOperationPrint):
207         (testPrintOperationErrors): Test different print errors are
208         correctly reported.
209         (beforeAll):
210         * UIProcess/WebPageProxy.cpp:
211         (WebKit::WebPageProxy::close): Invalidate print finished callbacks
212         map.
213         (WebKit::WebPageProxy::printFinishedCallback): Callback called
214         when the print operation has finished in the web process.
215         (WebKit::WebPageProxy::processDidCrash): Invalidate print finished
216         callbacks map.
217         (WebKit::WebPageProxy::drawPagesForPrinting): Use a
218         PrintFinishedCallback instead of a VoidCallback.
219         * UIProcess/WebPageProxy.h:
220         (WebKit): Delcare PrintFinishedCallback as a generic callback.
221         (WebPageProxy):
222         * UIProcess/WebPageProxy.messages.in: Use PrintFinishedCallback
223         instead of VoidCallback as callback argument of
224         DrawPagesForPrinting message.
225         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
226         (WebKit::PrintPagesData::PrintPagesData): Mark the data as invalid
227         when there are no pages to print.
228         (PrintPagesData): Add isValid parameter to mark the data struct as
229         invalid.
230         (WebKit::WebPrintOperationGtk::printPagesIdleDone): Call
231         printPagesDone() instead of printDone().
232         (WebKit::WebPrintOperationGtk::printPagesDone): Renamed.
233         (WebKit::WebPrintOperationGtk::printDone): Notify the UI process
234         that the print operation has finsihed.
235         (WebKit::WebPrintOperationGtk::print): Finish the print if the
236         PrintPagesData struct is not valid.
237         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
238
239 2012-03-13  Jer Noble  <jer.noble@apple.com>
240
241         Lion Intel Debug WebKit2 Tests crashing under [WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]
242         https://bugs.webkit.org/show_bug.cgi?id=81056
243
244         Reviewed by Jessie Berlin.
245
246         Give the InjectedBundlePageFullScreenClient a first crack at beganEnterFullScreen and beganExitFullScreen:
247         * WebProcess/FullScreen/WebFullScreenManager.cpp:
248         (WebKit::WebFullScreenManager::willEnterFullScreen):
249         (WebKit::WebFullScreenManager::willExitFullScreen):
250
251         And call the client function if it exists; otherwise, continue to message the page:
252         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
253         * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.cpp:
254         (WebKit::InjectedBundlePageFullScreenClient::beganEnterFullScreen):
255         (WebKit::InjectedBundlePageFullScreenClient::beganExitFullScreen):
256         * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h:
257
258         Add a custom APIClientTraits for InjectedBundlePageFullScreenClient to handle the API number change.
259         * Shared/APIClientTraits.cpp:
260         * Shared/APIClientTraits.h:
261
262 2012-03-14  Andrey Kosyakov  <caseq@chromium.org>
263
264         Web Inspector: add didCancelFrame timeline event
265         https://bugs.webkit.org/show_bug.cgi?id=80994
266
267         Reviewed by Pavel Feldman.
268
269         * win/WebKit2.def:
270         * win/WebKit2CFLite.def:
271
272 2012-03-13  Anders Carlsson  <andersca@apple.com>
273
274         Find bouncy doesn’t hide when a subframe is scrolled
275         https://bugs.webkit.org/show_bug.cgi?id=81060
276         <rdar://problem/9365329>
277
278         Reviewed by Andreas Kling.
279
280         Instead of hiding the find indicator when pageDidScroll is called, add a check to FindController::drawRect and hide
281         the find indicator there if the find selection bounds have changed since the last call to drawRect.
282
283         * WebProcess/WebPage/FindController.cpp:
284         (WebKit::FindController::updateFindIndicator):
285         (WebKit::FindController::drawRect):
286         * WebProcess/WebPage/FindController.h:
287         (FindController):
288         * WebProcess/WebPage/WebPage.cpp:
289         (WebKit::WebPage::pageDidScroll):
290
291 2012-03-13  Jeff Miller  <jeffm@apple.com>
292
293         Support loading a WKPage from web archive data
294         https://bugs.webkit.org/show_bug.cgi?id=81044
295
296         This code was written by Jessie Berlin.
297
298         Reviewed by Brady Eidson.
299
300         * UIProcess/API/C/WKPage.cpp:
301         (WKPageLoadWebArchiveData): Added.
302         
303         * UIProcess/API/C/WKPage.h: Added WKPageLoadWebArchiveData().
304         
305         * UIProcess/WebPageProxy.cpp:
306         (WebKit::WebPageProxy::loadWebArchiveData): Added.
307         
308         * UIProcess/WebPageProxy.h: Added loadWebArchiveData().
309
310         * WebProcess/WebPage/WebPage.cpp:
311         (WebKit::WebPage::loadWebArchiveData): Added.
312         
313         * WebProcess/WebPage/WebPage.h: Added loadWebArchiveData().
314
315         * WebProcess/WebPage/WebPage.messages.in: Added LoadWebArchiveData message.
316
317 2012-03-13  Adam Barth  <abarth@webkit.org> && Benjamin Poulain  <bpoulain@apple.com>
318
319         Always enable ENABLE(CLIENT_BASED_GEOLOCATION)
320         https://bugs.webkit.org/show_bug.cgi?id=78853
321
322         Reviewed by Adam Barth.
323
324         * Configurations/FeatureDefines.xcconfig:
325         * WebProcess/Geolocation/WebGeolocationManager.cpp:
326         (WebKit::WebGeolocationManager::registerWebPage):
327         (WebKit::WebGeolocationManager::unregisterWebPage):
328         (WebKit::WebGeolocationManager::didChangePosition):
329         (WebKit::WebGeolocationManager::didFailToDeterminePosition):
330         * WebProcess/InjectedBundle/InjectedBundle.cpp:
331         (WebKit::InjectedBundle::setGeoLocationPermission):
332         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
333         (WebKit):
334         * WebProcess/WebCoreSupport/WebChromeClient.h:
335         (WebChromeClient):
336         * WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
337         * WebProcess/WebCoreSupport/WebGeolocationClient.h:
338         * WebProcess/WebPage/WebPage.cpp:
339         (WebKit::WebPage::WebPage):
340         * mac/WebKit2.order:
341
342 2012-03-13  Max Vujovic  <mvujovic@adobe.com>
343
344         Add a method to window.internals to enable testing of inspector highlight rects
345         https://bugs.webkit.org/show_bug.cgi?id=80338
346
347         Reviewed by Pavel Feldman.
348
349         * win/WebKit2.def: Export symbols for win.
350         * win/WebKit2CFLite.def: Same as above.
351
352 2012-03-13  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
353
354         [Qt] Set correct device width and height.
355         https://bugs.webkit.org/show_bug.cgi?id=80980
356
357         Reviewed by Tor Arne Vestbø.
358
359         * UIProcess/API/qt/qquickwebview.cpp:
360         (QQuickWebViewFlickablePrivate::computeViewportConstraints):
361
362 2012-03-12  Sam Weinig  <sam@webkit.org>
363
364         Fix typo in PageClientImpl where we were overriding viewLayerHostingMode with
365         a function called layerHostingMode.
366
367         Reviewed by Anders Carlsson.
368
369         * UIProcess/API/mac/PageClientImpl.h:
370         * UIProcess/API/mac/PageClientImpl.mm:
371         (WebKit::PageClientImpl::viewLayerHostingMode):
372         Update name and add OVERRIDE to catch this in the future.
373
374 2012-03-12  Enrica Casucci  <enrica@apple.com>
375
376         WebKit2: remove NSPasteboard access for promised data from the WebProcess
377         https://bugs.webkit.org/show_bug.cgi?id=80073
378
379         Reviewed by Alexey Proskuryakov.
380
381         This patch removes the last remaining access to NSPasteboard from the WebProcess.
382         The code in WebDragClient::declareAndWriteDragImage now packages all the data
383         required for the drag and the promised drag types and sends one request to the UI
384         process that will place the data in the NSPasteboard when appropriate.
385         
386         * UIProcess/API/mac/PageClientImpl.h: Added setPromisedData method.
387         * UIProcess/API/mac/PageClientImpl.mm:
388         (WebKit::PageClientImpl::setPromisedData):
389         * UIProcess/API/mac/WKView.mm:
390         (matchesExtensionOrEquivalent): Added.
391         (fileExists): Added.
392         (pathWithUniqueFilenameForPath): Added.
393         (-[WKView _setPromisedData:WebCore::withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:WebCore::forPasteboard:]):
394         (-[WKView pasteboardChangedOwner:]):
395         (-[WKView pasteboard:provideDataForType:]):
396         (-[WKView namesOfPromisedFilesDroppedAtDestination:]):
397         * UIProcess/API/mac/WKViewInternal.h: Added _setPromisedData.
398         * UIProcess/PageClient.h:
399         * UIProcess/WebPageProxy.h: Added method for the new message.
400         * UIProcess/WebPageProxy.messages.in: Added setPromisedData message.
401         * UIProcess/mac/WebPageProxyMac.mm:
402         (WebKit::WebPageProxy::setPromisedData):
403         * WebProcess/WebCoreSupport/WebDragClient.cpp:
404         * WebProcess/WebCoreSupport/WebDragClient.h:
405         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
406         (WebKit::WebDragClient::declareAndWriteDragImage):
407         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
408         (InitWebCoreSystemInterface): Added SetMetadataURL.
409
410 2012-03-12  Andras Becsi  <andras.becsi@nokia.com>
411
412         [Qt][WK2] Add support for rudimentary scroll indicators in MiniBrowser
413         https://bugs.webkit.org/show_bug.cgi?id=80832
414
415         Reviewed by Tor Arne Vestbø.
416
417         Since the ScrollDecorator QML component requires a Flickable in its API
418         we need to expose the Flickable in QML for now and we also need to add
419         a notifier because we instantiate the internal Flickable only when the
420         WebView component completes construction.
421
422         * UIProcess/API/qt/qquickwebview.cpp:
423         (QQuickWebViewFlickablePrivate::onComponentComplete):
424         (QQuickWebViewExperimental::flickable):
425         * UIProcess/API/qt/qquickwebview_p.h:
426
427 2012-03-11  Timothy Hatcher  <timothy@apple.com>
428
429         Update how the Web Inspector resources are loaded.
430
431         https://bugs.webkit.org/show_bug.cgi?id=80814
432         rdar://problem/10359959
433
434         Reviewed by John Sullivan.
435
436         * Shared/WebPreferencesStore.h:
437         (WebKit): Added InspectorUsesWebKitUserInterface.
438         * Shared/WebProcessCreationParameters.cpp:
439         (WebKit::WebProcessCreationParameters::encode): Removed webInspectorLocalizedStringsPath.
440         (WebKit::WebProcessCreationParameters::decode): Ditto.
441         * Shared/WebProcessCreationParameters.h: Ditto.
442         (WebProcessCreationParameters): Ditto.
443         * UIProcess/API/C/WKContext.cpp:
444         * UIProcess/API/C/WKContextPrivate.h:
445         * UIProcess/API/C/WKPreferences.cpp:
446         (WKPreferencesSetInspectorUsesWebKitUserInterface): Added.
447         (WKPreferencesGetInspectorUsesWebKitUserInterface): Added.
448         * UIProcess/API/C/WKPreferencesPrivate.h:
449         * UIProcess/WebContext.cpp:
450         (WebKit::WebContext::ensureWebProcess): Removed webInspectorLocalizedStringsPath.
451         * UIProcess/WebContext.h:
452         (WebContext): Ditto.
453         * UIProcess/mac/WebInspectorProxyMac.mm:
454         (WebKit::inspectorReallyUsesWebKitUserInterface): Added.
455         (WebKit::WebInspectorProxy::createInspectorWindow): Use inspectorReallyUsesWebKitUserInterface
456         to determine if texture should be used.
457         (WebKit::WebInspectorProxy::inspectorPageURL): Choose the right path.
458         (WebKit::WebInspectorProxy::inspectorBaseURL): Ditto.
459         * WebProcess/WebPage/WebInspector.h:
460         * WebProcess/WebPage/mac/WebInspectorMac.mm:
461         (WebKit::inspectorReallyUsesWebKitUserInterface):
462         (WebKit::WebInspector::setInspectorUsesWebKitUserInterface): Added.
463         (WebKit::WebInspector::localizedStringsURL):
464         * WebProcess/WebPage/mac/WebPageMac.mm:
465         (WebKit::WebPage::platformPreferencesDidChange): Call WebInspector::setInspectorUsesWebKitUserInterface.
466         * WebProcess/mac/WebProcessMac.mm:
467         (WebKit::WebProcess::platformInitializeWebProcess): Removed call to WebInspector::setLocalizedStringsPath.
468
469 2012-03-11  Andy Estes  <aestes@apple.com>
470
471         Remove unnecessary call to NSSizeToCGSize().
472         https://bugs.webkit.org/show_bug.cgi?id=80817
473
474         Reviewed by Dan Bernstein.
475
476         There is no need to call NSSizeToCGSize() to convert an IntSize to a
477         CGSize. IntSize defines a conversion function to CGSize that will do
478         this for us implicitly.
479
480         * UIProcess/mac/BackingStoreMac.mm:
481         (WebKit::BackingStore::backingStoreContext): Do not call NSSizeToCGSize().
482
483 2012-03-11  Dan Bernstein  <mitz@apple.com>
484
485         WebKit2 lacks API for obtaining a representation of the RenderLayer tree of a page, like WebRenderLayer
486         <http://webkit.org/b/80791>
487
488         Reviewed by Anders Carlsson.
489
490         * CMakeLists.txt:
491         * GNUmakefile.am:
492
493         * Shared/API/c/WKBase.h: Added a type definition of WKRenderLayerRef.
494
495         * Shared/API/c/WKRenderLayer.cpp: Added.
496         (WKRenderLayerGetTypeID): Added. Returns the WKRenderLayer type ID.
497         (WKRenderLayerCopyRendererName): Added this getter wrapper.
498         (WKRenderLayerCopyElementTagName): Ditto.
499         (WKRenderLayerCopyElementID): Ditto.
500         (WKRenderLayerGetElementClassNames): Ditto.
501         (WKRenderLayerGetAbsoluteBounds): Ditto.
502         (WKRenderLayerIsClipping): Ditto.
503         (WKRenderLayerIsClipped): Ditto.
504         (WKRenderLayerIsReflection): Ditto.
505         (WKRenderLayerGetCompositingLayerType): Ditto.
506         (WKRenderLayerGetNegativeZOrderList): Ditto.
507         (WKRenderLayerGetNormalFlowList): Ditto.
508         (WKRenderLayerGetPositiveZOrderList): Ditto.
509
510         * Shared/API/c/WKRenderLayer.h: Added.
511
512         * Shared/APIObject.h: Added TypeRenderLayer to the APIObject::Type enum.
513
514         * Shared/UserMessageCoders.h:
515         (WebKit::UserMessageEncoder::baseEncode): Added WebRenderLayer encoding.
516         (WebKit::UserMessageDecoder::baseDecode): Added WebRenderLayer decoding.
517
518         * Shared/WebRenderLayer.cpp: Added.
519         (WebKit::WebRenderLayer::create): Added. Creates a WebRenderLayer for the page’s main
520         frame’s root layer.
521         (WebKit::WebRenderLayer::createArrayFromLayerList): Added this helper function.
522         (WebKit::WebRenderLayer::WebRenderLayer): Added. Constructs a WebRenderLayer with the
523         renderer name, element tag, ID and class names, metrics, child lists, and compositing
524         layer properties of the given RenderLayer.
525
526         * Shared/WebRenderLayer.h: Added.
527         (WebKit::WebRenderLayer::create):
528         (WebKit::WebRenderLayer::negativeZOrderList):
529         (WebKit::WebRenderLayer::normalFlowList):
530         (WebKit::WebRenderLayer::positiveZOrderList):
531         (WebKit::WebRenderLayer::renderObjectName):
532         (WebKit::WebRenderLayer::elementTagName):
533         (WebKit::WebRenderLayer::elementID):
534         (WebKit::WebRenderLayer::elementClassNames):
535         (WebKit::WebRenderLayer::isReflection):
536         (WebKit::WebRenderLayer::isClipping):
537         (WebKit::WebRenderLayer::isClipped):
538         (WebKit::WebRenderLayer::compositingLayerType):
539         (WebKit::WebRenderLayer::absoluteBoundingBox):
540         (WebKit::WebRenderLayer::WebRenderLayer):
541
542         * Target.pri
543
544         * UIProcess/API/C/WKAPICast.h: Added a mapping between WKRenderLayerRef and WebRenderLayer.
545
546         * WebKit2.xcodeproj/project.pbxproj: Added WebRenderLayer.{cpp,h} and WKRenderLayer.{cpp,h}.
547
548         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
549         (WKBundlePageCopyRenderLayerTree): Added this bundle API for getting the layer tree.
550
551         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
552
553         * win/WebKit2.vcproj:
554
555 2012-03-11  Joseph Pecoraro  <pecoraro@apple.com>
556
557         <http://webkit.org/b/80782> Web Inspector: Crash using released frontendClient when resizing window with closed inspector
558
559         The WebInspectorFrontendClient reference should be cleared when the
560         WebInspectorClient::closeInspectorFrontend is called. This adds a
561         destroyInspectorPage to mirror createInspectorPage and clear the weak
562         pointers that are no longer valid.
563
564         Reviewed by Pavel Feldman.
565
566         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
567         (WebKit::WebInspectorClient::closeInspectorFrontend):
568         (WebKit::WebInspectorClient::didResizeMainFrame):
569         * WebProcess/WebPage/WebInspector.cpp:
570         (WebKit::WebInspector::destroyInspectorPage):
571         * WebProcess/WebPage/WebInspector.h:
572
573 2012-03-11  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
574
575         [Qt] [WK2] Support threaded renderer in WK2
576         https://bugs.webkit.org/show_bug.cgi?id=76661
577
578         Reviewed by Noam Rosenthal.
579
580         Implement Qt5 threaded rendering support for Qt WebKit2.
581         Parts of LayerTreeHostProxy which contain layer tree and layer painting objects 
582         are moved to separate class called WebLayerTreeRenderer. WebLayerTreeRenderer is 
583         thread safe ref counted and referenced by LayerTreeHostProxy and paint node.
584         All layer tree and graphics objects are created, accessed and deallocated from Qt 
585         Scenegraph's paint thread only.
586         Layer tree updates from render queue are fetched in updatePaintNode call stack when 
587         main thread is locked.
588         Messages from paint thread to web process are passed through MainThreadGuardedInvoker 
589         call gate (implemented by Noam Rosenthal and previously reviewed by Kenneth Rohde 
590         Christiansen).
591
592         * Target.pri:
593         * UIProcess/API/qt/qquickwebpage.cpp:
594         (PageProxyNode::PageProxyNode):
595         (PageProxyNode::render):
596         (PageProxyNode::~PageProxyNode):
597         (PageProxyNode::layerTreeRenderer):
598         (PageProxyNode):
599         (PageProxyNode::setScale):
600         (QQuickWebPage::updatePaintNode):
601         (QQuickWebPagePrivate::~QQuickWebPagePrivate):
602         * UIProcess/LayerTreeHostProxy.cpp: Added.
603         (WebKit):
604         (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
605         (WebKit::LayerTreeHostProxy::~LayerTreeHostProxy):
606         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
607         (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
608         (WebKit::LayerTreeHostProxy::updateViewport):
609         (WebKit::LayerTreeHostProxy::dispatchUpdate):
610         (WebKit::LayerTreeHostProxy::createTileForLayer):
611         (WebKit::LayerTreeHostProxy::updateTileForLayer):
612         (WebKit::LayerTreeHostProxy::removeTileForLayer):
613         (WebKit::LayerTreeHostProxy::deleteCompositingLayer):
614         (WebKit::LayerTreeHostProxy::setRootCompositingLayer):
615         (WebKit::LayerTreeHostProxy::syncCompositingLayerState):
616         (WebKit::LayerTreeHostProxy::didRenderFrame):
617         (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
618         (WebKit::LayerTreeHostProxy::destroyDirectlyCompositedImage):
619         (WebKit::LayerTreeHostProxy::setVisibleContentsRectForPanning):
620         (WebKit::LayerTreeHostProxy::setVisibleContentsRectForScaling):
621         (WebKit::LayerTreeHostProxy::renderNextFrame):
622         (WebKit::LayerTreeHostProxy::purgeBackingStores):
623         * UIProcess/LayerTreeHostProxy.h:
624         (WebKit):
625         (LayerTreeHostProxy):
626         (WebKit::LayerTreeHostProxy::layerTreeRenderer):
627         * UIProcess/WebLayerTreeRenderer.cpp: Renamed from Source/WebKit2/UIProcess/qt/LayerTreeHostProxyQt.cpp.
628         (WebKit):
629         (MainThreadGuardedInvoker):
630         (WebKit::MainThreadGuardedInvoker::call):
631         (WebKit::MainThreadGuardedInvoker::MainThreadGuardedInvoker):
632         (WebKit::MainThreadGuardedInvoker::invoke):
633         (WebKit::WebLayerTreeRenderer::callOnMainTread):
634         (WebKit::WebLayerTreeRenderer::WebLayerTreeRenderer):
635         (WebKit::WebLayerTreeRenderer::~WebLayerTreeRenderer):
636         (WebKit::WebLayerTreeRenderer::createLayer):
637         (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
638         (WebKit::WebLayerTreeRenderer::syncAnimations):
639         (WebKit::WebLayerTreeRenderer::paintToGraphicsContext):
640         (WebKit::WebLayerTreeRenderer::setVisibleContentsRectForScaling):
641         (WebKit::WebLayerTreeRenderer::updateViewport):
642         (WebKit::WebLayerTreeRenderer::syncLayerParameters):
643         (WebKit::WebLayerTreeRenderer::deleteLayer):
644         (WebKit::WebLayerTreeRenderer::ensureLayer):
645         (WebKit::WebLayerTreeRenderer::setRootLayerID):
646         (WebKit::WebLayerTreeRenderer::getBackingStore):
647         (WebKit::WebLayerTreeRenderer::createTile):
648         (WebKit::WebLayerTreeRenderer::removeTile):
649         (WebKit::WebLayerTreeRenderer::updateTile):
650         (WebKit::WebLayerTreeRenderer::createImage):
651         (WebKit::WebLayerTreeRenderer::destroyImage):
652         (WebKit::WebLayerTreeRenderer::assignImageToLayer):
653         (WebKit::WebLayerTreeRenderer::swapBuffers):
654         (WebKit::WebLayerTreeRenderer::flushLayerChanges):
655         (WebKit::WebLayerTreeRenderer::renderNextFrame):
656         (WebKit::WebLayerTreeRenderer::ensureRootLayer):
657         (WebKit::WebLayerTreeRenderer::syncRemoteContent):
658         (WebKit::WebLayerTreeRenderer::purgeGLResources):
659         (WebKit::WebLayerTreeRenderer::purgeBackingStores):
660         (WebKit::WebLayerTreeRenderer::detach):
661         (WebKit::WebLayerTreeRenderer::appendUpdate):
662         * UIProcess/WebLayerTreeRenderer.h: Copied from Source/WebKit2/UIProcess/LayerTreeHostProxy.h.
663         (WebKit):
664         (WebLayerTreeRenderer):
665         (WebKit::WebLayerTreeRenderer::layerByID):
666         (WebKit::WebLayerTreeRenderer::rootLayer):
667         (WebKit::WebLayerTreeRenderer::notifyAnimationStarted):
668         (WebKit::WebLayerTreeRenderer::notifySyncRequired):
669         (WebKit::WebLayerTreeRenderer::showDebugBorders):
670         (WebKit::WebLayerTreeRenderer::showRepaintCounter):
671         (WebKit::WebLayerTreeRenderer::paintContents):
672
673 2012-03-09  Jon Lee  <jonlee@apple.com>
674
675         Rename NotificationPresenter to NotificationClient
676         https://bugs.webkit.org/show_bug.cgi?id=80488
677         <rdar://problem/10965558>
678
679         Reviewed by Kentaro Hara.
680
681         Refactor to use renamed WebCore::NotificationClient.
682         * UIProcess/Notifications/WebNotificationManagerProxy.h:
683         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
684         (WebKit::NotificationPermissionRequestManager::startRequest):
685         (WebKit::NotificationPermissionRequestManager::permissionLevel):
686         * WebProcess/Notifications/NotificationPermissionRequestManager.h:
687         (NotificationPermissionRequestManager):
688         * WebProcess/Notifications/WebNotificationManager.cpp:
689         (WebKit::WebNotificationManager::policyForOrigin):
690         * WebProcess/Notifications/WebNotificationManager.h:
691         (WebNotificationManager):
692         * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
693         (WebKit::WebNotificationClient::checkPermission):
694         * WebProcess/WebCoreSupport/WebNotificationClient.h:
695         (WebNotificationClient):
696
697 2012-03-09  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
698
699         [Qt] [WK2] Shouldn't use item for clipping rect calculation in paint node.
700         https://bugs.webkit.org/show_bug.cgi?id=80714
701
702         Reviewed by Noam Rosenthal.
703
704         Replace item based clip-rect calculation with clipping-nodes based calculation.
705         This is required for threaded rendering, since we don't have access to the QSGItems
706         from the render thread.
707
708         * UIProcess/API/qt/qquickwebpage.cpp:
709         (QQuickWebPage::QQuickWebPage):
710         (QQuickWebPagePrivate::paintToCurrentGLContext):
711         (PageProxyNode::render):
712         (PageProxyNode::clipRect):
713         (PageProxyNode):
714         * UIProcess/API/qt/qquickwebpage_p_p.h:
715         (QQuickWebPagePrivate):
716         * UIProcess/API/qt/qquickwebview.cpp:
717         (QQuickWebView::QQuickWebView):
718
719 2012-03-09  Enrica Casucci  <enrica@apple.com>
720
721         Move WebNSURLExtras code down to WebCore.
722         https://bugs.webkit.org/show_bug.cgi?id=80611
723
724         Reviewed by Alexey Proskuryakov.
725
726         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
727         (InitWebCoreSystemInterface):
728
729 2012-03-09  Jeff Miller  <jeffm@apple.com>
730
731         Add WKPageEndPrinting() to balance WKPageBeginPrinting()
732         https://bugs.webkit.org/show_bug.cgi?id=80739
733
734         Reviewed by Dan Bernstein.
735
736         * UIProcess/API/C/WKPage.cpp:
737         (WKPageEndPrinting): Added.
738         
739         * UIProcess/API/C/WKPagePrivate.h: Added WKPageEndPrinting().
740
741 2012-03-09  Emil A Eklund  <eae@chromium.org>
742
743         Add roundedPoint to HitTestResult and change platform code to use it
744         https://bugs.webkit.org/show_bug.cgi?id=80715
745
746         Reviewed by James Robinson.
747
748         Change ports to use roundedPoint to avoid exposing subpixel types to
749         platform code.
750
751         * WebProcess/WebPage/WebContextMenu.cpp:
752         (WebKit::WebContextMenu::show):
753
754 2012-03-09  Alexey Proskuryakov  <ap@apple.com>
755
756         [Mac] Pass sandbox profiles through preprocessor
757         https://bugs.webkit.org/show_bug.cgi?id=80651
758
759         Reviewed by Mark Rowe.
760
761         * DerivedSources.make: Preprocess sandbox profiles.
762
763         * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb: Removed.
764         * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.in: Copied from Source/WebKit2/PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.
765         * WebProcess/com.apple.WebProcess.sb: Removed.
766         * WebProcess/com.apple.WebProcess.sb.in: Copied from Source/WebKit2/WebProcess/com.apple.WebProcess.sb.
767         Renamed to avoid make finding the wrong original in default paths.
768
769         * WebKit2.xcodeproj/project.pbxproj: Copy preprocessed files to Resources, not originals.
770         Also, changed DerivedSources target to use BaseTarget.xcconfig to have correct include paths.
771
772 2012-03-09  Jon Lee  <jonlee@apple.com>
773
774         Add support for ENABLE(LEGACY_NOTIFICATIONS)
775         https://bugs.webkit.org/show_bug.cgi?id=80497
776
777         Reviewed by Adam Barth.
778
779         Prep for b80472: Update API for Web Notifications
780         * Configurations/FeatureDefines.xcconfig:
781
782 2012-03-09  Ashod Nakashian  <ashodnakashian@yahoo.com>
783
784         Bash scripts should support LF endings only
785         https://bugs.webkit.org/show_bug.cgi?id=79509
786
787         Reviewed by David Kilzer.
788
789         * win/build-generated-files.sh: Added properties svn:executable and svn:eol-style.
790
791 2012-03-08  Enrica Casucci  <enrica@apple.com>
792
793         REGRESSION (r109022): Files dragged onto input controls cannot be read due to sandbox violation.
794         https://bugs.webkit.org/show_bug.cgi?id=80203
795         <rdar://problem/10976643>
796
797         Reviewed by Alexey Proskuryakov.
798
799         This patch reverts a small part fo r109022, leaving access to
800         NSPasteboard in the WebProcess when retrieving pathnames for
801         files being dragged. This avoid the sandbox violation until we
802         implement a mechanism to provide a sandbox extension to the WebProcess.
803         
804         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
805         (WebKit::WebPlatformStrategies::getPathnamesForType):
806
807 2012-03-09  Sheriff Bot  <webkit.review.bot@gmail.com>
808
809         Unreviewed, rolling out r110191, r110202, and r110279.
810         http://trac.webkit.org/changeset/110191
811         http://trac.webkit.org/changeset/110202
812         http://trac.webkit.org/changeset/110279
813         https://bugs.webkit.org/show_bug.cgi?id=80694
814
815         They broke !ENABLE(INSPECTOR) builds (Requested by Ossy on
816         #webkit).
817
818         * win/WebKit2.def:
819         * win/WebKit2CFLite.def:
820
821 2012-03-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
822
823         [Qt] Use Qt's module system for install rules and depending on QtWebKit
824
825         Instead of rolling our own install rules we now use the same approach as
826         every other Qt module, by loading qt_module.prf and qt_module_config.prf.
827
828         This ensures that we follow the same semantics as the rest of Qt on
829         what sort of config options are enabled by default (create_cmake eg.).
830         It also allows us to use QT += webkit instead of the workaround we had
831         with CONFIG += qtwebkit.
832
833         We do however force Qt to always treat our build as a non-developer build,
834         so the libraries will end up in the WebKit lib directory instead of the
835         qtbase directory (as with a normal developer-build). This allows us to
836         keep the webkit-build self-contained. If Qt is a developer build we still
837         copy the module file manually to Qt, so that you don't have to install
838         WebKit to make it available.
839
840         For non-developer builds of Qt, it is still possible to use the built
841         WebKit libraries without having to install them, by having the variable
842         QMAKE_EXTRA_MODULE_FORWARDS set in the project's .qmake.cache file,
843         pointing to $WEBKITOUTUTDIR/$CONFIGURATION/modules.
844
845         https://bugs.webkit.org/show_bug.cgi?id=80590
846
847         Reviewed by Simon Hausmann.
848
849         * UIProcess/API/qt/tests/publicapi/publicapi.pro:
850         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
851         * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
852         * UIProcess/API/qt/tests/qmltests/WebView.pro:
853         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
854         * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
855         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
856         * UIProcess/API/qt/tests/tests.pri:
857         * UIProcess/API/qt/tests/util.cpp:
858         * WebProcess.pro:
859
860 2012-03-08  No'am Rosenthal  <noam.rosenthal@nokia.com>
861
862         [Qt][WK2] Allow transparent WebViews
863         https://bugs.webkit.org/show_bug.cgi?id=80608
864
865         Reviewed by Tor Arne Vestbø.
866
867         Added support for transparentBackground in QQuickWebViewExperimental.
868         This uses the existing drawsTransparentBackground property in WebKit2.
869         Also, changed LayerTreeHostQt to set the contentsOpaque flag when the root layer changes,
870         otherwise the change doesn't take effect.
871
872         A new API test was added.
873
874         * UIProcess/API/qt/qquickwebview.cpp:
875         (QQuickWebViewPrivate::setTransparentBackground):
876         (QQuickWebViewPrivate::transparentBackground):
877         (QQuickWebViewExperimental::transparentBackground):
878         (QQuickWebViewExperimental::setTransparentBackground):
879         * UIProcess/API/qt/qquickwebview_p.h:
880         * UIProcess/API/qt/qquickwebview_p_p.h:
881         (QQuickWebViewPrivate):
882         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
883         (tst_QQuickWebView):
884         (tst_QQuickWebView::transparentWebViews):
885         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
886         (WebKit::LayerTreeHostQt::LayerTreeHostQt):
887         (WebKit::LayerTreeHostQt::setRootCompositingLayer):
888
889 2012-03-08  Gustavo Noronha Silva  <gns@gnome.org>
890
891         GTK+ build fix. Only try to get the backing from the layer in when
892         ACCELERATED_COMPOSITING is enabled.
893
894         Rubber-stamped by Ryosuke Niwa.
895
896         * WebProcess/FullScreen/WebFullScreenManager.cpp:
897         (WebKit::screenRectOfContents):
898
899 2012-03-08  Ryosuke Niwa  <rniwa@webkit.org>
900
901         Mac build fix for micro data API.
902
903         * Configurations/FeatureDefines.xcconfig:
904
905 >>>>>>> .r110352
906 2012-03-08  Jer Noble  <jer.noble@apple.com>
907
908         Unreviewed Snow Leopard build fix.
909
910         On Leopard and Snow Leopard, provide an implementation for -[NSWindow convertRectToScreen:].
911
912         * UIProcess/mac/WKFullScreenWindowController.mm:
913         (-[NSWindow convertRectToScreen:]):
914
915 2012-03-08  Jer Noble  <jer.noble@apple.com>
916
917         Further unreviewed build fix.
918
919         Add in the WebCore namespace, so that IntRect is pulled in.
920
921         * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
922         * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
923         * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
924
925 2012-03-08  Jer Noble  <jer.noble@apple.com>
926
927         Unreviewed build fix.
928         
929         Add stub implementations of beganEnterFullScreen and beganExitFullScreen
930         to platform-specific WebFullScreenManagerProxy implementations.
931
932         * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
933         (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
934         (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
935         * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
936         (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
937         (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
938         * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
939         (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
940         (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
941
942 2012-03-08  Jer Noble  <jer.noble@apple.com>
943
944         Full Screen Refactor Part 3: Animate into Full Screen mode using new animation classes.
945         https://bugs.webkit.org/show_bug.cgi?id=78928
946
947         Reviewed by Anders Carlsson.
948
949         Boilerplate changes to WebKit2 IPC messages and supporting functions.
950         * UIProcess/WebFullScreenManagerProxy.cpp:
951         (WebKit::WebFullScreenManagerProxy::setAnimatingFullScreen): Added boilerplate.
952         * UIProcess/WebFullScreenManagerProxy.h:
953         * UIProcess/WebFullScreenManagerProxy.messages.in:
954         * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
955         (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen): Added boilerplate.
956         (WebKit::WebFullScreenManagerProxy::beganExitFullScreen): Added boilerplate.
957         * WebProcess/FullScreen/WebFullScreenManager.cpp:
958         (WebKit::screenRectOfContents): Added.  Calculates the screen rect of an element's contents.
959         (WebKit::WebFullScreenManager::enterFullScreenForElement): Use screenRectOfContents()
960         (WebKit::WebFullScreenManager::willEnterFullScreen): Ditto. Do not set the background color. Call new BeganEnterFullScreen
961             XPC message.
962         (WebKit::WebFullScreenManager::didEnterFullScreen): Do not set the background color.
963         (WebKit::WebFullScreenManager::willExitFullScreen): Use screenRectOfContents. Do not set the background color. Call new
964             BeganExitFullScreen XPC message.
965         (WebKit::WebFullScreenManager::didExitFullScreen): Do not set the background color.
966         (WebKit::WebFullScreenManager::setAnimatingFullScreen): Added boilerplate.
967         * WebProcess/FullScreen/WebFullScreenManager.h:
968         * WebProcess/FullScreen/WebFullScreenManager.messages.in:
969
970         * UIProcess/mac/WKFullScreenWindowController.h:
971         * UIProcess/mac/WKFullScreenWindowController.mm:
972         (-[WKFullScreenWindowController cancelOperation:]): Renamed from _requestExitWithAnimation:.
973         (-[WKFullScreenWindowController applicationDidResignActive:]): Call cancelOperation: instead
974             of _requestExitWithAnimation.
975         (-[WKFullScreenWindowController applicationDidChangeScreenParameters:]): Set the frame of
976             both the full screen window and the background window.
977         (-[WKFullScreenWindowController enterFullScreen:]): Save a rendered image of the current
978             page to use in the placeholder.
979         (-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]): Renamed from 
980             beganEnterFullScreenAnimation.
981         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): No need to swap 
982             placeholder views here, as they were already swapped in beganEnter...:.
983         (-[WKFullScreenWindowController exitFullScreen]):
984         (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]): Renamed from 
985             beganExitFullScreenAnimation.
986         (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Swap web view back into place.
987         (-[WKFullScreenWindowController close]):
988         (-[WKFullScreenWindowController animationDidEnd:]): Added.
989         (createBackgroundFullscreenWindow): Added.
990         (windowFrameFromApparentFrames): Added.
991         (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): Added.
992         (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): Added.
993
994 2012-03-08  Jer Noble  <jer.noble@apple.com>
995
996         Full Screen Refactor Part 2: Remove unnecessary WebKit2 APIs for Full Screen made
997         https://bugs.webkit.org/show_bug.cgi?id=78926
998
999         Reviewed by John Sullivan.
1000
1001         The following functions (and also their Proxy versions) were removed completely:
1002         WebFullScreenManager::enterAcceleratedCompositingMode(const LayerTreeContext&)
1003         WebFullScreenManager::exitAcceleratedCompositingMode()
1004         WebFullScreenManager::beganEnterFullScreenAnimation()
1005         WebFullScreenManager::finishedEnterFullScreenAnimation(bool)
1006         WebFullScreenManager::beganExitFullScreenAnimation()
1007         WebFullScreenManager::finishedExitFullScreenAnimation(bool)
1008         WebFullScreenManager::getFullScreenRect(WebCore::IntRect&)
1009
1010         * UIProcess/WebFullScreenManagerProxy.cpp:
1011         * UIProcess/WebFullScreenManagerProxy.h:
1012         (WebKit::WebFullScreenManagerProxy::beginEnterFullScreenAnimation):
1013         (WebKit::WebFullScreenManagerProxy::beginExitFullScreenAnimation):
1014         (WebKit::WebFullScreenManagerProxy::disposeOfLayerClient):
1015         (WebFullScreenManagerProxy):
1016         * UIProcess/WebFullScreenManagerProxy.messages.in:
1017         * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
1018         * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
1019         * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
1020         * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
1021         (WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation):
1022         * WebKit2.xcodeproj/project.pbxproj:
1023         * WebProcess/FullScreen/WebFullScreenManager.cpp:
1024         (WebKit::WebFullScreenManager::create):
1025         (WebKit::WebFullScreenManager::~WebFullScreenManager):
1026         * WebProcess/FullScreen/WebFullScreenManager.h:
1027         (WebFullScreenManager):
1028         * WebProcess/FullScreen/WebFullScreenManager.messages.in:
1029         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1030         (WebKit::WebChromeClient::exitFullScreenForElement):
1031         * WebProcess/WebCoreSupport/WebChromeClient.h:
1032         (WebChromeClient):
1033
1034         Additionally, the platform-specific WebFullScreenManager subclasses were removed, as no
1035         platform-specific implementations remained after the above functions were removed:
1036         * GNUmakefile.am:
1037         * Target.pri:
1038         * win/WebKit2.vcproj:
1039         * WebProcess/FullScreen/gtk/WebFullScreenManagerGtk.cpp: Removed.
1040         * WebProcess/FullScreen/gtk/WebFullScreenManagerGtk.h: Removed.
1041         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h: Removed.
1042         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm: Removed.
1043         * WebProcess/FullScreen/qt/WebFullScreenManagerQt.cpp: Removed.
1044         * WebProcess/FullScreen/qt/WebFullScreenManagerQt.h: Removed.
1045         * WebProcess/FullScreen/win/WebFullScreenManagerWin.cpp: Removed.
1046         * WebProcess/FullScreen/win/WebFullScreenManagerWin.h: Removed.
1047
1048 2012-03-08  Matt Lilek  <mrl@apple.com>
1049
1050         Don't enable VIDEO_TRACK on all OS X platforms
1051         https://bugs.webkit.org/show_bug.cgi?id=80635
1052
1053         Reviewed by Eric Carlson.
1054
1055         * Configurations/FeatureDefines.xcconfig:
1056
1057 2012-03-08  Max Vujovic  <mvujovic@adobe.com>
1058
1059         Add a method to window.internals to enable testing of inspector highlight rects
1060         https://bugs.webkit.org/show_bug.cgi?id=80338
1061
1062         Reviewed by Pavel Feldman.
1063
1064         * win/WebKit2.def: Export symbols for win.
1065         * win/WebKit2CFLite.def: Same as above.
1066
1067 2012-03-08  Dinu Jacob  <dinu.jacob@nokia.com>
1068
1069         [Qt WK2] Remove duplicate code related to dialog handling in QQuickWebView
1070         https://bugs.webkit.org/show_bug.cgi?id=80557
1071
1072         Reviewed by Simon Hausmann.
1073
1074         Move common code related to running QtDialogRunner into a separate function
1075  
1076         * UIProcess/API/qt/qquickwebview.cpp:
1077         (QQuickWebViewPrivate::runJavaScriptAlert):
1078         (QQuickWebViewPrivate::runJavaScriptConfirm):
1079         (QQuickWebViewPrivate::runJavaScriptPrompt):
1080         (QQuickWebViewPrivate::handleAuthenticationRequiredRequest):
1081         (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest):
1082         (QQuickWebViewPrivate::handleCertificateVerificationRequest):
1083         (QQuickWebViewPrivate::execDialogRunner):
1084         * UIProcess/API/qt/qquickwebview_p_p.h:
1085         (QQuickWebViewPrivate):
1086
1087 2012-03-07  Dinu Jacob  <dinu.jacob@nokia.com>
1088
1089         [Qt] Authentication dialog does not work
1090         https://bugs.webkit.org/show_bug.cgi?id=79738
1091
1092         Reviewed by Simon Hausmann.
1093
1094         QQuickWebView should accept touch events only if there is
1095         no active dialog.
1096
1097         * UIProcess/API/qt/qquickwebview.cpp:
1098         (QQuickWebViewPrivate::QQuickWebViewPrivate):
1099         (QQuickWebViewPrivate::runJavaScriptAlert):
1100         (QQuickWebViewPrivate::runJavaScriptConfirm):
1101         (QQuickWebViewPrivate::runJavaScriptPrompt):
1102         (QQuickWebViewPrivate::handleAuthenticationRequiredRequest):
1103         (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest):
1104         (QQuickWebViewPrivate::handleCertificateVerificationRequest):
1105         (QQuickWebView::touchEvent):
1106         * UIProcess/API/qt/qquickwebview_p_p.h:
1107         (QQuickWebViewPrivate):
1108
1109 2012-03-07  Dan Bernstein  <mitz@apple.com>
1110
1111         <rdar://problem/8494396> WebKit2 lacks API for obtaining a representation of the render tree of a page, like WebRenderNode
1112         https://bugs.webkit.org/show_bug.cgi?id=80230
1113
1114         Reviewed by Beth Dakin.
1115
1116         * CMakeLists.txt:
1117         * GNUmakefile.am:
1118
1119         * Shared/API/c/WKBase.h: Added a type definition of WKRenderObjectRef.
1120
1121         * Shared/API/c/WKRenderObject.cpp: Added.
1122         (WKRenderObjectGetTypeID): Added. Returns the WKRenderObject type ID.
1123         (WKRenderObjectCopyName): Added this getter wrapper.
1124         (WKRenderObjectGetAbsolutePosition): Ditto.
1125         (WKRenderObjectGetFrameRect): Ditto.
1126         (WKRenderObjectGetChildren): Ditto.
1127
1128         * Shared/API/c/WKRenderObject.h: Added.
1129
1130         * Shared/APIObject.h: Added TypeRenderObject to the APIObject::Type enum.
1131         * Shared/UserMessageCoders.h:
1132         (WebKit::UserMessageEncoder::baseEncode): Added WebRenderObject encoding.
1133         (WebKit::UserMessageDecoder::baseDecode): Added WebRenderObject decoding.
1134         * Shared/WebRenderObject.cpp: Added.
1135         (WebKit::WebRenderObject::create): Added. Creates a WebRenderObject for the page’s main
1136         frame content renderer.
1137         (WebKit::WebRenderObject::WebRenderObject): Added. Constructs a WebRenderObject with the
1138         name, metrics and children of the given RenderObject, following the rules used in WebKit1
1139         WebRenderNode. In particular, a RenderWidget representing a frame gets the frame’s content
1140         renderer as a child.
1141
1142         * Shared/WebRenderObject.h: Added.
1143         (WebKit::WebRenderObject::create):
1144         (WebKit::WebRenderObject::children):
1145         (WebKit::WebRenderObject::name):
1146         (WebKit::WebRenderObject::absolutePosition):
1147         (WebKit::WebRenderObject::frameRect):
1148         (WebKit::WebRenderObject::WebRenderObject):
1149
1150         * Target.pri:
1151
1152         * UIProcess/API/C/WKAPICast.h: Added a mapping between WKRenderObjectRef and WebRenderObject.
1153
1154         * WebKit2.xcodeproj/project.pbxproj: Added WebRenderObject.{cpp,h} and WKRenderObject.{cpp.h}.
1155
1156         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1157         (WKBundlePageCopyRenderTree): Added this bundle API for getting the render tree.
1158
1159         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
1160
1161         * win/WebKit2.vcproj:
1162
1163 2012-03-07  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1164
1165         Pinch zoom acts weirdly on nytimes.com while loading
1166         https://webkit.org/b/80508
1167
1168         Reviewed by Simon Hausmann.
1169
1170         Make sure to suspend the page while doing pinch zooming.
1171         If the page is suspended (which happens while pinch zooming)
1172         then do not send touch events to the page, even if it has
1173         listeners.
1174
1175         * UIProcess/WebPageProxy.cpp:
1176         (WebKit::WebPageProxy::handleTouchEvent):
1177         * UIProcess/qt/QtViewportInteractionEngine.cpp:
1178         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
1179
1180 2012-03-05  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1181
1182         [Qt] QWebNavigationRequest 'action' property should have an enum type instead of int
1183         https://bugs.webkit.org/show_bug.cgi?id=80164
1184
1185         Reviewed by Simon Hausmann.
1186
1187         Use the appropriate enum type instead of int. Make IgnoreRequest have a bigger
1188         value that give some room for us to put Experimental values in the middle. This
1189         way the Experimental values are in a valid range for the original enumeration. To
1190         avoid confusion, the Experimental enumeration was renamed.
1191
1192         * UIProcess/API/qt/qquickwebview_p.h:
1193         * UIProcess/API/qt/qwebnavigationrequest.cpp:
1194         (QWebNavigationRequestPrivate):
1195         (QWebNavigationRequest::setAction):
1196         (QWebNavigationRequest::action):
1197         * UIProcess/API/qt/qwebnavigationrequest_p.h:
1198         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
1199
1200 2012-03-07  Andras Becsi  <andras.becsi@nokia.com>
1201
1202         [WK2] Make it possible to build without geolocation support
1203         https://bugs.webkit.org/show_bug.cgi?id=80426
1204
1205         Reviewed by Simon Hausmann.
1206
1207         Add missing guards.
1208
1209         * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
1210         (WebKit::GeolocationPermissionRequestManagerProxy::didReceiveGeolocationPermissionDecision):
1211         * UIProcess/WebPageProxy.cpp:
1212         (WebKit::WebPageProxy::close):
1213         (WebKit::WebPageProxy::processDidCrash):
1214         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
1215         * WebProcess/WebPage/WebPage.cpp:
1216         (WebKit::WebPage::WebPage):
1217         (WebKit):
1218         * WebProcess/WebPage/WebPage.h:
1219         (WebPage):
1220         * WebProcess/WebPage/WebPage.messages.in:
1221
1222 2012-03-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
1223
1224         [CMake] Make the removal of transitive library dependencies work with CMake < 2.8.7.
1225         https://bugs.webkit.org/show_bug.cgi?id=80469
1226
1227         Reviewed by Antonio Gomes.
1228
1229         * CMakeLists.txt: Manually set the LINK_INTERFACE_LIBRARIES target
1230         property on the library being created.
1231
1232 2012-03-06  Hugo Parente Lima  <hugo.lima@openbossa.org>
1233
1234         MiniBrowser --window-size 480x800 www.nytimes.com doesn't paint bottom tiles.
1235         https://bugs.webkit.org/show_bug.cgi?id=80313
1236
1237         Reviewed by Kenneth Rohde Christiansen.
1238
1239         Fix the math to get the visible rectangle and add a method to get it.
1240
1241         * UIProcess/API/qt/qquickwebview.cpp:
1242         (QQuickWebViewPrivate::visibleContentsRect):
1243         (QQuickWebViewFlickablePrivate::_q_commitScaleChange):
1244         (QQuickWebViewPrivate::_q_commitPositionChange):
1245         * UIProcess/API/qt/qquickwebview_p_p.h:
1246         (QQuickWebViewPrivate):
1247
1248 2012-03-05  Joseph Pecoraro  <pecoraro@apple.com>
1249
1250         Web Inspector: Hide dock button when not allowed to dock
1251         https://bugs.webkit.org/show_bug.cgi?id=78575
1252
1253         Reviewed by Pavel Feldman.
1254
1255         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
1256         (WebKit::WebInspectorClient::didResizeMainFrame):
1257         * WebProcess/WebCoreSupport/WebInspectorClient.h:
1258         * WebProcess/WebPage/WebInspector.cpp:
1259         (WebKit::WebInspector::updateDockingAvailability):
1260         * WebProcess/WebPage/WebInspector.h:
1261
1262 2012-03-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1263
1264         [Qt] Interaction Engine suspends content during pageload.
1265         https://bugs.webkit.org/show_bug.cgi?id=80294
1266
1267         Only suspend content when viewport updates are deferred
1268         for a non-instantanious interaction.
1269
1270         Reviewed by Kenneth Rohde Christiansen.
1271
1272         * UIProcess/qt/QtViewportInteractionEngine.cpp:
1273         (WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer):
1274         (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
1275         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
1276         (WebKit::QtViewportInteractionEngine::flickableMoveStarted):
1277         (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
1278         * UIProcess/qt/QtViewportInteractionEngine.h:
1279         (QtViewportInteractionEngine):
1280
1281 2012-03-06  Simon Hausmann  <simon.hausmann@nokia.com>
1282
1283         [Qt] Make QQuickWebView's url property work with a flickable webview
1284
1285         Reviewed by Tor Arne Vestbø.
1286
1287         QQuickWebViewPrivate::onComponentComplete implements the deferred url loading
1288         when the url property is set in the component instantiation. QQuickWebViewFlickablePrivate
1289         is the private sub-class used for a flickable webview, which re-implemented onComponentComplete
1290         but forgot to call the base implementation.
1291
1292         * UIProcess/API/qt/qquickwebview.cpp:
1293         (QQuickWebViewFlickablePrivate::onComponentComplete):
1294
1295 2012-03-06  Carlos Garcia Campos  <cgarcia@igalia.com>
1296
1297         [GTK] Fix several documentation issues in WebKit2 GTK+ API
1298         https://bugs.webkit.org/show_bug.cgi?id=80281
1299
1300         Reviewed by Martin Robinson.
1301
1302         * UIProcess/API/gtk/WebKitFindController.cpp:
1303         * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
1304         (webkit_navigation_policy_decision_class_init):
1305         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
1306         * UIProcess/API/gtk/WebKitWebView.h:
1307
1308 2012-03-06  Carlos Garcia Campos  <cgarcia@igalia.com>
1309
1310         [GTK] Use a single signal for script dialogs in WebKit2 GTK+ API
1311         https://bugs.webkit.org/show_bug.cgi?id=80271
1312
1313         Reviewed by Martin Robinson.
1314
1315         Add a new signal WebKitWebView::script-dialog that passes a
1316         WebKitScriptDialog boxed type that can be used to build the dialog
1317         and set the responses. It simplifies the API and makes it bindings
1318         friendly.
1319
1320         * GNUmakefile.am:
1321         * UIProcess/API/gtk/WebKitScriptDialog.cpp: Added.
1322         (webkitScriptDialogCopy): Copy method for boxed type.
1323         (webkitScriptDialogFree): Free method for boxed type.
1324         (webkit_script_dialog_get_dialog_type): Return the type of dialog:
1325         alert, confirm or prompt.
1326         (webkit_script_dialog_get_message): Return the message of the dialog.
1327         (webkit_script_dialog_confirm_set_confirmed): Set whether user
1328         confirmed the dialog, for confirm dialogs.
1329         (webkit_script_dialog_prompt_get_default_text): Get the default
1330         text of prompt dialogs.
1331         (webkit_script_dialog_prompt_set_text): Set the text entered by
1332         the user, for prompt dialogs.
1333         * UIProcess/API/gtk/WebKitScriptDialog.h: Added.
1334         * UIProcess/API/gtk/WebKitScriptDialogPrivate.h: Added.
1335         * UIProcess/API/gtk/WebKitWebView.cpp:
1336         (webkitWebViewScriptDialog): Default implementation of
1337         WebKitWebView::script-dialog signal.
1338         (webkit_web_view_class_init): Add WebKitWebView::script-dialog and
1339         remove alert, confirm and propmpt.
1340         (webkitWebViewRunJavaScriptAlert): Create a WebKitScriptDialog and
1341         emit WebKitWebView::script-dialog signal.
1342         (webkitWebViewRunJavaScriptConfirm): Ditto.
1343         (webkitWebViewRunJavaScriptPrompt): Ditto.
1344         * UIProcess/API/gtk/WebKitWebView.h:
1345         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new
1346         symbols.
1347         * UIProcess/API/gtk/docs/webkit2gtk.types: Add webkit_script_dialog_get_type().
1348         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
1349         (testWebViewJavaScriptDialogs): Update javascript dialog test to
1350         use the new API.
1351         * UIProcess/API/gtk/webkit2marshal.list:
1352         * UIProcess/API/gtk/webkit2.h:
1353
1354 2012-03-05  Gavin Barraclough  <barraclough@apple.com>
1355
1356         putByIndex should throw in strict mode
1357         https://bugs.webkit.org/show_bug.cgi?id=80335
1358
1359         Reviewed by Filip Pizlo.
1360
1361         Make the MethodTable PutByIndex trap take a boolean 'shouldThrow' parameter.
1362
1363         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
1364         (WebKit::NPJSObject::setProperty):
1365
1366 2012-03-05  Joseph Pecoraro  <pecoraro@apple.com>
1367
1368         Unreviewed rollout of r109858 for restructuring.
1369
1370 2012-03-05  Joseph Pecoraro  <pecoraro@apple.com>
1371
1372         <http://webkit.org/b/78575> Web Inspector: Hide dock button when not allowed to dock
1373
1374         Reviewed by Timothy Hatcher.
1375
1376         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
1377         (WebKit::WebInspectorClient::updateDockingAvailability):
1378         * WebProcess/WebCoreSupport/WebInspectorClient.h:
1379         * WebProcess/WebPage/WebInspector.cpp:
1380         (WebKit::WebInspector::updateDockingAvailability):
1381         * WebProcess/WebPage/WebInspector.h:
1382
1383 2012-03-05  Anders Carlsson  <andersca@apple.com>
1384
1385         pinch-to-zoom and double-tap flicker when using the new scrolling model
1386         https://bugs.webkit.org/show_bug.cgi?id=80368
1387         <rdar://problem/10866221>
1388
1389         Reviewed by Sam Weinig.
1390
1391         Add a way for drawing areas to respond to callback based force repaint requests asynchronously.
1392         This is currently needed for the tiled drawing area when there might be outstanding scroll updates
1393         that are sent from the scrolling thread to the main thread and we need to ensure that they're processed
1394         before sending a message back.
1395
1396         * WebProcess/WebPage/DrawingArea.h:
1397         (WebKit::DrawingArea::forceRepaintAsync):
1398         Add new member function.
1399
1400         * WebProcess/WebPage/WebPage.cpp:
1401         (WebKit::WebPage::forceRepaint):
1402         Try forceRepaintAsync first.
1403
1404         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1405         (WebKit::forceRepaintAndSendMessage):
1406         Force the repaint and send the message.
1407
1408         (WebKit::dispatchBackToMainThread):
1409         Dispatch a call to forceRepaintAndSendMessage to the main thread.
1410
1411         (WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync):
1412         Dispatch a function on the scrolling thread. Its sole purpose is to dispatch a function back to the
1413         main thread, ensuring that all previously dispatched functions have been executed.
1414
1415 2012-03-05  Enrica Casucci  <enrica@apple.com>
1416
1417         Can't type on some websites (plug-ins steal key events).
1418         <rdar://problem/10892291>
1419
1420         When the plugin is disabled, it is necessary to reset _pluginComplexTextInputIdentifier
1421         in order to return the correct input context. Failure to do so results in the inputContext
1422         method to return the plugin input context instead of the context of the browser view.
1423         
1424         Reviewed by Sam Weinig.
1425
1426         * UIProcess/API/mac/WKView.mm:
1427         (-[WKView _setPluginComplexTextInputState:]):
1428         (-[WKView _handlePluginComplexTextInputKeyDown:]):
1429
1430 2012-03-05  Anders Carlsson  <andersca@apple.com>
1431
1432         Be more aggressive about repainting page overlays
1433         https://bugs.webkit.org/show_bug.cgi?id=80336
1434         <rdar://problem/10965943>
1435
1436         Reviewed by Simon Fraser.
1437
1438         Whenever we're flushing layers and we have a page overlay, check if the main frame
1439         has scrolled or if the main frame root content layer needs to be repainted and force the
1440         overlay layer to be repainted if either of those conditions are true.
1441
1442         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1443         (TiledCoreAnimationDrawingArea):
1444         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1445         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
1446         (WebKit::TiledCoreAnimationDrawingArea::shouldRepaintPageOverlayLayer):
1447         (WebKit):
1448
1449 2012-03-05  Sam Weinig  <sam@webkit.org>
1450
1451         Add support for hosting layers in the window server in WebKit2
1452         <rdar://problem/10400246>
1453         https://bugs.webkit.org/show_bug.cgi?id=80310
1454
1455         Reviewed by Anders Carlsson.
1456
1457         This currently only works if you are using TiledCoreAnimation drawing model.
1458
1459         * Platform/mac/LayerHostingContext.h: Renamed from Source/WebKit2/Platform/mac/RemoteLayerClient.h.
1460         * Platform/mac/LayerHostingContext.mm: Renamed from Source/WebKit2/Platform/mac/RemoteLayerClient.mm.
1461         (WebKit::LayerHostingContext::createForPort):
1462         (WebKit::LayerHostingContext::LayerHostingContext):
1463         (WebKit::LayerHostingContext::createForWindowServer):
1464         (WebKit::LayerHostingContext::~LayerHostingContext):
1465         (WebKit::LayerHostingContext::setRootLayer):
1466         (WebKit::LayerHostingContext::rootLayer):
1467         (WebKit::LayerHostingContext::contextID):
1468         (WebKit::LayerHostingContext::invalidate):
1469         Renamed RemoteLayerClient to LayerHostingContext and add ability to use the window server
1470         as the remote context.
1471
1472         * PluginProcess/PluginControllerProxy.cpp:
1473         * PluginProcess/PluginControllerProxy.h:
1474         * PluginProcess/mac/PluginControllerProxyMac.mm:
1475         Update for new names.
1476
1477         * Shared/LayerTreeContext.h:
1478         Add LayerHostingMode enum.
1479
1480         * UIProcess/PageClient.h:
1481         * UIProcess/API/mac/PageClientImpl.h:
1482         * UIProcess/API/mac/PageClientImpl.mm:
1483         (WebKit::PageClientImpl::layerHostingMode):
1484         (WebKit::PageClientImpl::updateAcceleratedCompositingMode):
1485         Add PageClient access points to get the current layer hosting mode,
1486         and a hook to tell the underlying view that the layer hosting context
1487         has changed.
1488
1489         * UIProcess/API/mac/WKViewInternal.h:
1490         * UIProcess/API/mac/WKView.mm:
1491         (-[WKView _updateAcceleratedCompositingMode:WebKit::]):
1492         Implement responding to a new layer hosting context as a simple
1493         exit and re-entrance of compositing.
1494
1495         * UIProcess/DrawingAreaProxy.h:
1496         (WebKit::DrawingAreaProxy::layerHostingModeDidChange):
1497         (WebKit::DrawingAreaProxy::updateAcceleratedCompositingMode):
1498         * UIProcess/DrawingAreaProxy.messages.in:
1499         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
1500         (TiledCoreAnimationDrawingAreaProxy):
1501         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
1502         (WebKit::TiledCoreAnimationDrawingAreaProxy::layerHostingModeDidChange):
1503         (WebKit::TiledCoreAnimationDrawingAreaProxy::updateAcceleratedCompositingMode):
1504         Pipe layer hosting changes around.
1505
1506         * UIProcess/WebPageProxy.h:
1507         (WebKit::WebPageProxy::layerHostingMode):
1508         * UIProcess/WebPageProxy.cpp:
1509         (WebKit::WebPageProxy::WebPageProxy):
1510         (WebKit::WebPageProxy::viewStateDidChange):
1511         Cache the current layer hosting mode so we don't overzealously
1512         tell the WebProcess to reset its context. Re-check layer hosting
1513         mode each time we are added/removed from a window.
1514
1515         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h:
1516         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
1517         Update for new names.
1518
1519         * WebProcess/WebPage/DrawingArea.h:
1520         (WebKit::DrawingArea::setDeviceScaleFactor):
1521         (WebKit::DrawingArea::setLayerHostingMode):
1522         * WebProcess/WebPage/DrawingArea.messages.in:
1523         Pipe layer hosting changes around.
1524
1525         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
1526         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
1527         (WebKit::LayerTreeHostCAMac::~LayerTreeHostCAMac):
1528         (WebKit::LayerTreeHostCAMac::platformInitialize):
1529         (WebKit::LayerTreeHostCAMac::invalidate):
1530         Update for new names.
1531
1532         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1533         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1534         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
1535         (WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode):
1536         Respond to a change in the layer hosting mode by invalidating our old context,
1537         making a new one of the right type, and informing the UIProcess of our new context.
1538
1539         * WebKit2.xcodeproj/project.pbxproj:
1540         Add new files.
1541
1542 2012-03-05  Anders Carlsson  <andersca@apple.com>
1543
1544         Always update the scroll layer position on the main thread when we have an overlay
1545         https://bugs.webkit.org/show_bug.cgi?id=80324
1546
1547         Reviewed by Sam Weinig.
1548
1549         Call setForceMainThreadScrollLayerPositionUpdates when installing and uninstalling page overlays,
1550         so we'll be able to synchronize painting between the tile cache and the page overlays.
1551
1552         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1553         (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
1554         (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
1555
1556 2012-03-05  Timothy Hatcher  <timothy@apple.com>
1557
1558         Change how the Web Inspector Develop menu actions work.
1559
1560         This removes the methods used by Safari's Develop menu. They can now be implemented in Safari.
1561
1562         https://webkit.org/b/80308
1563
1564         Reviewed by John Sullivan.
1565
1566         * UIProcess/API/C/mac/WKInspectorPrivateMac.h: Renamed from Source/WebKit2/UIProcess/API/C/mac/WKInspectorMac.h.
1567         * UIProcess/mac/WebInspectorProxyMac.mm:
1568         (-[WKWebInspectorProxyObjCAdapter inspectorRef]): Added.
1569         * WebKit2.xcodeproj/project.pbxproj: Renamed WKInspectorPrivateMac.h to better reflect its private nature.
1570
1571 2012-03-02  Jon Lee  <jonlee@apple.com>
1572
1573         Add support for notification replaceId in Mac WebKit and WK2
1574         https://bugs.webkit.org/show_bug.cgi?id=80206
1575         <rdar://problem/10965574>
1576
1577         Reviewed by Sam Weinig.
1578
1579         * UIProcess/API/C/WKNotification.cpp: Add WK API.
1580         (WKNotificationCopyReplaceID):
1581         * UIProcess/API/C/WKNotification.h:
1582         * UIProcess/Notifications/WebNotification.cpp:
1583         (WebKit::WebNotification::WebNotification):
1584         * UIProcess/Notifications/WebNotification.h: Add replaceID member.
1585         (WebKit::WebNotification::create):
1586         (WebKit::WebNotification::replaceID):
1587         (WebNotification):
1588         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
1589         (WebKit::WebNotificationManagerProxy::show):
1590         * UIProcess/Notifications/WebNotificationManagerProxy.h:
1591         (WebNotificationManagerProxy):
1592         * UIProcess/WebPageProxy.cpp:
1593         (WebKit::WebPageProxy::showNotification):
1594         * UIProcess/WebPageProxy.h:
1595         (WebPageProxy):
1596         * UIProcess/WebPageProxy.messages.in: Add replaceID to the showNotification message.
1597         * WebProcess/Notifications/WebNotificationManager.cpp:
1598         (WebKit::WebNotificationManager::show):
1599
1600 2012-03-05  Sheriff Bot  <webkit.review.bot@gmail.com>
1601
1602         Unreviewed, rolling out r109748.
1603         http://trac.webkit.org/changeset/109748
1604         https://bugs.webkit.org/show_bug.cgi?id=80296
1605
1606         Made some tests crash, will fix and recommit (Requested by
1607         noamr on #webkit).
1608
1609         * Target.pri:
1610         * UIProcess/API/qt/qquickwebpage.cpp:
1611         (QQuickWebPagePrivate::paintToCurrentGLContext):
1612         (PageProxyNode::PageProxyNode):
1613         (PageProxyNode):
1614         (PageProxyNode::changedStates):
1615         (PageProxyNode::render):
1616         (PageProxyNode::~PageProxyNode):
1617         (QQuickWebPage::updatePaintNode):
1618         (QQuickWebPagePrivate::updateSize):
1619         (QQuickWebPagePrivate::resetPaintNode):
1620         (QQuickWebPagePrivate::~QQuickWebPagePrivate):
1621         * UIProcess/API/qt/qquickwebpage_p_p.h:
1622         (QQuickWebPagePrivate):
1623         * UIProcess/DrawingAreaProxy.h:
1624         (WebKit):
1625         (WebKit::DrawingAreaProxy::layerTreeHostProxy):
1626         (DrawingAreaProxy):
1627         * UIProcess/DrawingAreaProxyImpl.cpp:
1628         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
1629         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
1630         * UIProcess/LayerTreeHostProxy.h:
1631         (LayerTreeHostProxy):
1632         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
1633         (WebKit::LayerTreeHostProxy::syncAnimations):
1634         (WebKit::LayerTreeHostProxy::updateViewport):
1635         (WebKit::LayerTreeHostProxy::syncLayerParameters):
1636         (WebKit::LayerTreeHostProxy::flushLayerChanges):
1637         (WebKit::LayerTreeHostProxy::ensureRootLayer):
1638         (WebKit::LayerTreeHostProxy::syncRemoteContent):
1639         (WebKit::LayerTreeHostProxy::dispatchUpdate):
1640         (WebKit):
1641         (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
1642         (WebKit::LayerTreeHostProxy::purgeGLResources):
1643         * UIProcess/qt/QtWebPageSGNode.cpp: Removed.
1644         * UIProcess/qt/QtWebPageSGNode.h: Removed.
1645
1646 2012-03-05  Joone Hur  <joone.hur@collabora.co.uk>
1647
1648         [GTK] zlib link error with --enable-webkit2
1649         https://bugs.webkit.org/show_bug.cgi?id=79877
1650
1651         Reviewed by Martin Robinson.
1652
1653         zlib should be linked properly.
1654
1655         * GNUmakefile.am: Link $(ZLIB_LIBS) with libwebkit2gtk instead of
1656         linking it with WebKitWebProcess.
1657
1658 2012-03-05  Carlos Garcia Campos  <cgarcia@igalia.com>
1659
1660         [WK2] WKPageGetContextMenuFromProposedContextMenuCallback should pass a HitTestResult
1661         https://bugs.webkit.org/show_bug.cgi?id=77208
1662
1663         Reviewed by Anders Carlsson.
1664
1665         A HitTestResultData is now passed to ShowContextMenu WebPageProxy
1666         message instead of the ContextMenuState. ContextMenu client has
1667         been updated to pass the HitTestResult to the
1668         getContextMenuFromProposedMenu callback.
1669
1670         * GNUmakefile.am: Remove ContextMenuState.h.
1671         * Shared/APIClientTraits.h:
1672         * Shared/ContextMenuState.h: Removed.
1673         * Shared/WebHitTestResult.h:
1674         (WebKit::WebHitTestResult::Data::Data): Add constructor that takes
1675         a WebCore::HitTestResult.
1676         * UIProcess/API/C/WKPage.h: Add HitTestResult parameter to
1677         getContextMenuFromProposedMenu callback and deprecate the old
1678         version.
1679         * UIProcess/WebPageContextMenuClient.cpp:
1680         (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
1681         Pass a HitTestResult to getContextMenuFromProposedMenu or use the
1682         deprecated one if client version is an old one.
1683         * UIProcess/WebPageContextMenuClient.h:
1684         * UIProcess/WebPageProxy.cpp:
1685         (WebKit::WebPageProxy::showContextMenu):
1686         (WebKit::WebPageProxy::internalShowContextMenu): Save the
1687         WebHitTestResult::Data to use it for handling context menu actions.
1688         (WebKit::WebPageProxy::contextMenuItemSelected): Use the saved
1689         WebHitTestResult::Data.
1690         * UIProcess/WebPageProxy.h:
1691         * UIProcess/WebPageProxy.messages.in:
1692         * WebKit2.xcodeproj/project.pbxproj: Remove ContextMenuState.h.
1693         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1694         (WebKit::WebChromeClient::mouseDidMoveOverElement): Use the new
1695         WebHitTestResult::Data constructor that takes a WebCore::HitTestResult.
1696         * WebProcess/WebPage/WebContextMenu.cpp:
1697         (WebKit::WebContextMenu::show): Create a WebHitTestResult::Data
1698         instead of a ContextMenuState and pass it to ShowContextMenu message.
1699         * win/WebKit2.vcproj: ContextMenuState.h.
1700
1701 2012-03-05  No'am Rosenthal  <noam.rosenthal@nokia.com>
1702
1703         [Qt] [WK2] Support threaded renderer in WK2
1704         https://bugs.webkit.org/show_bug.cgi?id=76661
1705
1706         Made the appropriate fixes in the UI process code to make rendering thread-safe.
1707         - Separated the scenegraph node code to QtWebPageSGNode. QtWebPageSGNode has direct access
1708           to LayerTreeHostProxy.
1709
1710         - Each function in LayerTreeHostProxy can be either called from the main thread (handling
1711           messages from the web process), or from the renderer thread (handling the GL context).
1712           The render-queue is locked with a mutex, and messages back to the web process are sent
1713           via callOnMainThread.
1714
1715         - LayerTreeHostProxy is now ThreadSafeRefCounted. That is done to make sure that the GL
1716           resources it creates are only freed when the QtWebPageSGNode is deleted, which can be
1717           before or after the owning DrawingAreaProxy is deleted. This ensures that the class is
1718           deleted only after its GL resources are freed, otherwise those resources may leak.
1719
1720         Based on a patch by Viatcheslav Ostapenko.
1721
1722         Reviewed by Kenneth Rohde Christiansen.
1723
1724         * Target.pri: Added new files.
1725         * UIProcess/API/qt/qquickwebpage.cpp: Moved QtWebPageSGNode out.
1726         (QQuickWebPage::updatePaintNode): Call QtWebPageSGNode
1727         (QQuickWebPagePrivate::updateSize): Call QtWebPageSGNode
1728         (QQuickWebPagePrivate::didDeleteSGWebPageNode): Override QtWebPageSGNode::Client
1729         (QQuickWebPagePrivate::~QQuickWebPagePrivate):
1730         * UIProcess/API/qt/qquickwebpage_p_p.h:
1731         (QQuickWebPagePrivate):
1732         * UIProcess/DrawingAreaProxy.h:
1733         (WebKit):
1734         (WebKit::DrawingAreaProxy::layerTreeHostProxy): Made LayerTreeHostProxy ref-counted.
1735         (DrawingAreaProxy):
1736         * UIProcess/DrawingAreaProxyImpl.cpp:
1737         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
1738         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
1739         * UIProcess/LayerTreeHostProxy.h:
1740         (WebKit):
1741         (WebKit::LayerTreeHostProxy::create):
1742         (LayerTreeHostProxy):
1743         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
1744         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
1745         (WebKit):
1746         (MainThreadGuardedInvoker):
1747             A class that allows invoking functions in the main thread, while guarding a ref-
1748             counted object.
1749
1750         (WebKit::MainThreadGuardedInvoker::call):
1751         (WebKit::MainThreadGuardedInvoker::MainThreadGuardedInvoker):
1752         (WebKit::MainThreadGuardedInvoker::invoke):
1753         (WebKit::LayerTreeHostProxy::syncAnimations):
1754         (WebKit::LayerTreeHostProxy::updateViewport):
1755         (WebKit::LayerTreeHostProxy::detachDrawingArea):
1756         (WebKit::LayerTreeHostProxy::syncLayerParameters):
1757         (WebKit::LayerTreeHostProxy::setShouldRenderNextFrame):
1758         (WebKit::LayerTreeHostProxy::flushLayerChanges):
1759         (WebKit::LayerTreeHostProxy::ensureRootLayer):
1760         (WebKit::LayerTreeHostProxy::syncRemoteContent):
1761         (WebKit::LayerTreeHostProxy::dispatchUpdate):
1762         (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
1763         (WebKit::LayerTreeHostProxy::purgeGLResources):
1764         * UIProcess/qt/QtWebPageSGNode.cpp: Added.
1765         * UIProcess/qt/QtWebPageSGNode.h: Added.
1766
1767 2012-03-04  Raphael Kubo da Costa  <kubo@profusion.mobi>
1768
1769         [CMake] Libraries are installed to /usr/lib and not /usr/lib64 on x86_64
1770         https://bugs.webkit.org/show_bug.cgi?id=71507
1771
1772         Reviewed by Antonio Gomes.
1773
1774         * CMakeLists.txt: Use ${LIB_INSTALL_DIR} instead of hardcoding "lib".
1775
1776 2012-03-03  Simon Hausmann  <simon.hausmann@nokia.com>
1777
1778         [Qt] Fix static_libs_as_shared build
1779         https://bugs.webkit.org/show_bug.cgi?id=80214
1780
1781         Reviewed by Tor Arne Vestbø.
1782
1783         Replace (static) link time dependency to WK1 with entrypoint
1784         in the separate WebProcess for activating the QStyle theme if
1785         necessary.
1786
1787         * Target.pri:
1788         * UIProcess/Launcher/ProcessLauncher.h:
1789         * WebProcess/qt/WebProcessMainQt.cpp:
1790         (WebKit::WebProcessMainQt):
1791         * qt/MainQt.cpp:
1792         (WebKit):
1793         (main):
1794
1795 2012-03-03  Hans Wennborg  <hans@chromium.org>
1796
1797         Implement Speech JavaScript API
1798         https://bugs.webkit.org/show_bug.cgi?id=80019
1799
1800         Reviewed by Adam Barth.
1801
1802         Add ENABLE_SCRIPTED_SPEECH.
1803
1804         * Configurations/FeatureDefines.xcconfig:
1805
1806 2012-03-03  No'am Rosenthal  <noam.rosenthal@nokia.com>
1807
1808         [Qt] Use the existing inheritedOpacity/matrix properties of QSGNode
1809         https://bugs.webkit.org/show_bug.cgi?id=79543
1810
1811         Use QSGNode::inheritedOpacity() and QSGNode::matrix().
1812         Also, remove flags from changedStates() that we don't actually touch.
1813         This is covered by existing API tests.
1814
1815         Reviewed by Kenneth Rohde Christiansen.
1816
1817         * UIProcess/API/qt/qquickwebpage.cpp:
1818         (QQuickWebPagePrivate::paintToCurrentGLContext):
1819         (PageProxyNode::changedStates):
1820         (PageProxyNode::render):
1821         * UIProcess/API/qt/qquickwebpage_p_p.h:
1822         (QQuickWebPagePrivate):
1823
1824 2012-03-03  Anders Carlsson  <andersca@apple.com>
1825
1826         Fix build with newer versions of clang.
1827
1828         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1829         (WebKit::NPN_GetValue):
1830         Cast the switch parameter to unsigned to prevent warnings about case values not being part of the enum type.
1831
1832 2012-03-02  Andy Estes  <aestes@apple.com>
1833
1834         Move nsStringFromWebCoreString out of PageClientImpl
1835         https://bugs.webkit.org/show_bug.cgi?id=80202
1836
1837         Reviewed by Sam Weinig.
1838
1839         nsStringFromWebCoreString() doesn't really belong in PageClientImpl.mm,
1840         and it makes us include PageClientImpl.h in places where we shouldn't.
1841         Move this function into StringUtilities.{h, mm}.
1842
1843         * Platform/mac/StringUtilities.h: Added.
1844         * Platform/mac/StringUtilities.mm: Added.
1845         (WebKit::nsStringFromWebCoreString):
1846         * UIProcess/API/mac/PageClientImpl.h:
1847         * UIProcess/API/mac/PageClientImpl.mm:
1848         * UIProcess/API/mac/WKView.mm:
1849         * UIProcess/mac/WebContextMenuProxyMac.mm:
1850         * UIProcess/mac/WebPageProxyMac.mm:
1851         * UIProcess/mac/WebPopupMenuProxyMac.mm:
1852         * UIProcess/mac/WebPreferencesMac.mm:
1853         * WebKit2.xcodeproj/project.pbxproj:
1854
1855 2012-03-02  Andy Estes  <aestes@apple.com>
1856
1857         Remove com.apple.WebKit.PluginProcess.sb from WebKit2.xcodeproj's Headers build phase
1858         https://bugs.webkit.org/show_bug.cgi?id=80197
1859
1860         Reviewed by Alexey Proskuryakov.
1861
1862         It doesn't belong there, and it makes Xcode consider the project to be
1863         invalid, triggering assertions in some builds of Xcode.
1864
1865         * WebKit2.xcodeproj/project.pbxproj:
1866
1867 2012-03-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1868
1869         [Qt] Fix spelling mistake in header guard
1870
1871         Reviewed by Noam Rosenthal.
1872
1873         * UIProcess/API/qt/qwebviewportinfo_p.h:
1874
1875 2012-03-02  Carlos Garcia Campos  <cgarcia@igalia.com>
1876
1877         [GTK] Invalid check in webkit_web_view_set_zoom_level() when zoom-text-only is enabled
1878         https://bugs.webkit.org/show_bug.cgi?id=80150
1879
1880         Reviewed by Philippe Normand.
1881
1882         * UIProcess/API/gtk/WebKitWebView.cpp:
1883         (webkit_web_view_set_zoom_level): Use
1884         webkit_web_view_get_zoom_level() instead of
1885         WKPageGetPageZoomFactor() to get the current effective zoom level
1886         depending on zoom-text-only setting.
1887
1888 2012-03-02  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1889
1890         Fix build on AppleWebKit after 109548.
1891
1892         * mac/WebKit2.order:
1893
1894 2012-03-02  Simon Hausmann  <simon.hausmann@nokia.com>
1895
1896         [Qt] Fix tests run with WTR not using QStyle theme
1897         https://bugs.webkit.org/show_bug.cgi?id=80147
1898
1899         Reviewed by Csaba Osztrogonác.
1900
1901         Use an environment variable (set by WTR) to select the QStyle theme.
1902         This is a temporary kludge until we rebase the layout tests to use the
1903         QStyle independent "mobile" theme. This also temporarily breaks the
1904         force_static_libs_as_shared build.
1905
1906         * Target.pri:
1907         * WebProcess/qt/WebProcessMainQt.cpp:
1908         (WebKit::WebProcessMainQt):
1909
1910 2012-03-02  Simon Hausmann  <simon.hausmann@nokia.com>
1911
1912         [Qt] Compile WebCore without QtWidgets
1913         https://bugs.webkit.org/show_bug.cgi?id=80141
1914
1915         Reviewed by Tor Arne Vestbø.
1916
1917         * Shared/qt/WebEventFactoryQt.cpp: Removed unnecessary include.
1918         * Target.pri: Require widgets for WK2 for the moment, until bug #79458
1919         is fixed.
1920
1921 2012-03-02  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1922
1923         Suspend/Resume API for pausing timers and animations.
1924         https://bugs.webkit.org/show_bug.cgi?id=76063
1925
1926         Based on the initial work of Zalan Bujtas <zalan.bujtas@nokia.com>,
1927
1928         Adds suspend and resume API for WebKit2 and uses it in Qt to
1929         suspend animations and DOM timers during panning and zoom.
1930
1931         Reviewed by Kenneth Rohde Christiansen.
1932
1933         * UIProcess/API/qt/qquickwebview.cpp:
1934         (QQuickWebViewFlickablePrivate::_q_suspend):
1935         (QQuickWebViewFlickablePrivate::_q_resume):
1936         * UIProcess/WebPageProxy.cpp:
1937         (WebKit::WebPageProxy::WebPageProxy):
1938         (WebKit::WebPageProxy::resumeActiveDOMObjectsAndAnimations):
1939         (WebKit::WebPageProxy::suspendActiveDOMObjectsAndAnimations):
1940         (WebKit::WebPageProxy::processDidCrash):
1941         * UIProcess/WebPageProxy.h:
1942         * WebProcess/WebPage/WebPage.cpp:
1943         (WebKit::WebPage::suspendActiveDOMObjectsAndAnimations):
1944         (WebKit::WebPage::resumeActiveDOMObjectsAndAnimations):
1945         * WebProcess/WebPage/WebPage.h:
1946         * WebProcess/WebPage/WebPage.messages.in:
1947
1948 2012-03-02  Joone Hur  <joone.hur@collabora.co.uk>
1949
1950         Unreviewed. Fix WebKit2 GTK+ build.
1951
1952         * GNUmakefile.am: allow WebKitWebProcess to link with zlib properly.
1953
1954 2012-03-01  Andras Becsi  <andras.becsi@nokia.com>
1955
1956         [Qt][WK2] Make the interaction with the Flickable work on the N9
1957         https://bugs.webkit.org/show_bug.cgi?id=80029
1958
1959         Reviewed by Simon Hausmann.
1960
1961         Because the WebView item accepts all touch events it receives and sends
1962         them to the web process before propagating them to the gesture recognizers,
1963         which is correct behaviour, we can not rely on the touch->mouse conversion
1964         of Qt5 when controlling Flickable. Hence we need to convert the received
1965         touch events to mouse events in the QtFlickProvider.
1966
1967         * UIProcess/qt/QtFlickProvider.cpp:
1968         (QtFlickProvider::handleTouchFlickEvent):
1969         Do the touch to mouse event conversion for the Flickable.
1970         * UIProcess/qt/QtPanGestureRecognizer.cpp:
1971         (WebKit::QtPanGestureRecognizer::recognize):
1972         A touch begin event should cancel the previous pan gesture
1973         and stop the ongoing flick animation.
1974
1975 2012-03-01  Anders Carlsson  <andersca@apple.com>
1976
1977         Assertion failure in pageContainsAnyHorizontalScrollbars() (scrollableArea->isOnActivePage()) when leaving pages with embedded PDFs
1978         https://bugs.webkit.org/show_bug.cgi?id=80044
1979         <rdar://problem/10919940>
1980
1981         Reviewed by Brady Eidson.
1982
1983         Remove the code that would add and remove wheel event handlers since that's not what we want to track.
1984         Instead, dynamically add and remove the view as its scrollbars come and go.
1985
1986         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
1987         (WebKit::BuiltInPDFView::updateScrollbars):
1988         (WebKit::BuiltInPDFView::initialize):
1989         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
1990         (BuiltInPDFView):
1991
1992 2012-03-01  Kangil Han  <kangil.han@samsung.com>
1993
1994         [DRT] Remove all PlainTextController usages in existing tests by adding internal API
1995         https://bugs.webkit.org/show_bug.cgi?id=78570
1996
1997         Reviewed by Hajime Morita.
1998
1999         This patch will remove all PlainTextController usages
2000         in existing DRT tests by adding internal API to WebCore/testing/Internals
2001
2002         * win/WebKit2.def:
2003         * win/WebKit2CFLite.def:
2004
2005 2012-03-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2006
2007         Unreviewed, rolling out r109255.
2008         http://trac.webkit.org/changeset/109255
2009         https://bugs.webkit.org/show_bug.cgi?id=79932
2010
2011         Breaks rounded rects with dashed strokes in SVG
2012
2013         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
2014         (InitWebCoreSystemInterface):
2015
2016 2012-03-01  Sergio Villar Senin  <svillar@igalia.com>
2017
2018         [WK2] [GTK] [libsoup] SoupSession should use system CA
2019         https://bugs.webkit.org/show_bug.cgi?id=79657
2020
2021         Reviewed by Martin Robinson.
2022
2023         SoupSession sould use system CA list to validate SSL
2024         certificates. Do not use strict certificate validation though as
2025         we want clients to decide whether or not accept/decline invalid
2026         certificates (API to be added later).
2027
2028         No new tests required as current behaviour does not change at all
2029         as we continue to accept invalid certificates by default.
2030
2031         * WebProcess/gtk/WebProcessMainGtk.cpp:
2032         (WebKit::WebProcessMainGtk):
2033
2034 2012-03-01  Carlos Garcia Campos  <cgarcia@igalia.com>
2035
2036         Unreviewed. Fix WebKit2 GTK+ build.
2037
2038         * UIProcess/API/gtk/WebKitDefines.h:
2039         * UIProcess/API/gtk/WebKitWebView.h:
2040
2041 2012-02-29  Simon Hausmann  <simon.hausmann@nokia.com>
2042
2043         [Qt][WK2] QQuickWebView::event should lookup faster which events QQuickWebPage can handle
2044         https://bugs.webkit.org/show_bug.cgi?id=78047
2045
2046         Reviewed by Kenneth Rohde Christiansen.
2047
2048         Replaced double-dispatch of events with direct forwarding of events from QQuickWebView::*Event to
2049         QtWebPageEventHandler::handle*Event.
2050
2051         * UIProcess/API/qt/qquickwebview.cpp:
2052         (QQuickWebView::keyPressEvent):
2053         (QQuickWebView::keyReleaseEvent):
2054         (QQuickWebView::inputMethodEvent):
2055         (QQuickWebView::focusInEvent):
2056         (QQuickWebView::focusOutEvent):
2057         (QQuickWebView::touchEvent):
2058         (QQuickWebView::mousePressEvent):
2059         (QQuickWebView::mouseMoveEvent):
2060         (QQuickWebView::mouseReleaseEvent):
2061         (QQuickWebView::mouseDoubleClickEvent):
2062         (QQuickWebView::wheelEvent):
2063         (QQuickWebView::hoverEnterEvent):
2064         (QQuickWebView::hoverMoveEvent):
2065         (QQuickWebView::hoverLeaveEvent):
2066         (QQuickWebView::dragMoveEvent):
2067         (QQuickWebView::dragEnterEvent):
2068         (QQuickWebView::dragLeaveEvent):
2069         (QQuickWebView::dropEvent):
2070         (QQuickWebView::event):
2071         * UIProcess/qt/QtWebPageEventHandler.cpp:
2072         (QtWebPageEventHandler::handleMouseMoveEvent):
2073         (QtWebPageEventHandler::handleMousePressEvent):
2074         (QtWebPageEventHandler::handleMouseReleaseEvent):
2075         (QtWebPageEventHandler::handleWheelEvent):
2076         (QtWebPageEventHandler::handleHoverLeaveEvent):
2077         (QtWebPageEventHandler::handleHoverMoveEvent):
2078         (QtWebPageEventHandler::handleDragEnterEvent):
2079         (QtWebPageEventHandler::handleDragLeaveEvent):
2080         (QtWebPageEventHandler::handleDragMoveEvent):
2081         (QtWebPageEventHandler::handleDropEvent):
2082         (QtWebPageEventHandler::handleKeyPressEvent):
2083         (QtWebPageEventHandler::handleKeyReleaseEvent):
2084         (QtWebPageEventHandler::handleFocusInEvent):
2085         (QtWebPageEventHandler::handleFocusOutEvent):
2086         (QtWebPageEventHandler::handleInputMethodEvent):
2087         (QtWebPageEventHandler::handleTouchEvent):
2088         * UIProcess/qt/QtWebPageEventHandler.h:
2089         (QtWebPageEventHandler):
2090
2091 2012-03-01  Csaba Osztrogonác  <ossy@webkit.org>
2092
2093         [Qt][WK2] Unreviewed buildfix after r109277.
2094
2095         * WebProcess/qt/QtBuiltinBundlePage.cpp:
2096         (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
2097
2098 2012-02-29  No'am Rosenthal  <noam.rosenthal@nokia.com>
2099
2100         [Qt][WK2] Get rid of the #ifdef mess in LayerTreeHost[Proxy]
2101         https://bugs.webkit.org/show_bug.cgi?id=79501
2102
2103         Use a new UI_SIDE_COMPOSITING flag instead of the several #ifdef flags we currently use.
2104
2105         Reviewed by Kenneth Rohde Christiansen.
2106
2107         * Shared/WebLayerTreeInfo.cpp:
2108         * Shared/WebLayerTreeInfo.h:
2109         * UIProcess/DrawingAreaProxy.cpp:
2110         (WebKit):
2111         * UIProcess/DrawingAreaProxy.h:
2112         (DrawingAreaProxy):
2113         * UIProcess/DrawingAreaProxyImpl.cpp:
2114         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
2115         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
2116         (WebKit):
2117         * UIProcess/DrawingAreaProxyImpl.h:
2118         (DrawingAreaProxyImpl):
2119         * UIProcess/LayerTreeHostProxy.h:
2120         (LayerTreeHostProxy):
2121         * UIProcess/WebPageProxy.cpp:
2122         (WebKit::WebPageProxy::didReceiveMessage):
2123         * UIProcess/qt/LayerBackingStore.cpp:
2124         * UIProcess/qt/LayerBackingStore.h:
2125         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2126         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2127         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
2128         * WebProcess/WebPage/DrawingArea.h:
2129         (DrawingArea):
2130         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2131         (WebKit):
2132         * WebProcess/WebPage/DrawingAreaImpl.h:
2133         (DrawingAreaImpl):
2134         * WebProcess/WebPage/LayerTreeHost.cpp:
2135         (WebKit::LayerTreeHost::create):
2136         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2137         (WebKit::LayerTreeHostQt::purgeBackingStores):
2138         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
2139         (LayerTreeHostQt):
2140
2141 2012-02-28  Brian Weinstein  <bweinstein@apple.com>
2142
2143         WebKit2: didNewFirstVisuallyNonEmptyLayout should be sent to injected bundle
2144         https://bugs.webkit.org/show_bug.cgi?id=79849
2145         
2146         Tell the injected bundle about didNewFirstVisuallyNonEmptyLayout (we currently
2147         just tell the UI process).
2148
2149         Reviewed by Beth Dakin.
2150
2151         * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add didNewFirstVisuallyNonEmptyLayout to version 1.
2152         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
2153         (WebKit::InjectedBundlePageLoaderClient::didNewFirstVisuallyNonEmptyLayout): Call through to the
2154             client.
2155         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
2156         (InjectedBundlePageLoaderClient):
2157         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2158         (WebKit::WebFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout): Tell the injected
2159             bundle.
2160
2161 2012-02-29  Tim Horton  <timothy_horton@apple.com>
2162
2163         Make use of CG rounded-rect primitives
2164         https://bugs.webkit.org/show_bug.cgi?id=79932
2165         <rdar://problem/9274953>
2166
2167         Reviewed by Simon Fraser.
2168
2169         Add wkCGPathAddRoundedRect.
2170
2171         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
2172         (InitWebCoreSystemInterface):
2173
2174 2012-02-29  Andy Estes  <aestes@apple.com>
2175
2176         CFURLDownloadScheduleWithCurrentMessageQueue only exists on Windows
2177         https://bugs.webkit.org/show_bug.cgi?id=79936
2178
2179         Reviewed by Brady Eidson.
2180
2181         CFURLDownloadScheduleWithCurrentMessageQueue only exists on Windows
2182         platforms. Non-Windows platforms that use CFNetwork-based downloads
2183         should omit this call.
2184
2185         * WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
2186         (WebKit::Download::start):
2187
2188 2012-02-29  Rafael Brandao  <rafael.lobo@openbossa.org>
2189
2190         [Qt][WK2] We should not add NetscapeBrowserFuncs.cpp as header
2191         https://bugs.webkit.org/show_bug.cgi?id=79847
2192
2193         Reviewed by Alexey Proskuryakov.
2194
2195         * Target.pri: Fix typo, so we can add ".h" file instead.
2196
2197 2012-02-29  Sam Weinig  <sam@webkit.org>
2198
2199         When invoking Lookup while zoomed in, the highlighted word renders out of line
2200         <rdar://problem/10812527>
2201
2202         Reviewed by Simon Fraser.
2203
2204         * WebProcess/WebPage/mac/WebPageMac.mm:
2205         (WebKit::WebPage::performDictionaryLookupForRange):
2206         Make sure to scale the ascent when determining the origin for the overlay.
2207
2208 2012-02-29  Carlos Garcia Campos  <cgarcia@igalia.com>
2209
2210         [GTK] Use text or page zoom factor in WebKitWebView depending on zoom-text-only
2211         https://bugs.webkit.org/show_bug.cgi?id=75252
2212
2213         Reviewed by Gustavo Noronha Silva.
2214
2215         * UIProcess/API/gtk/WebKitWebView.cpp:
2216         (zoomTextOnlyChanged): Update text/page zoom factor when
2217         zoom-text-only setting changes.
2218         (webkitWebViewSetSettings): Helper function to set the settings
2219         object for the web view, initializing the settings for the page
2220         and connecting to notify::zoom-text-only signal.
2221         (webkitWebViewConstructed): Use webkitWebViewSetSettings().
2222         (webkit_web_view_set_settings): Use webkitWebViewSetSettings() and
2223         disconnect from the notify::zoom-text-only signal of the previous
2224         settings object.
2225         (webkit_web_view_set_zoom_level): Set text/page zoom factor
2226         depending on WebKitSettings:zoom-text-only property.
2227         (webkit_web_view_get_zoom_level): Get text/page zoom factor
2228         depending on WebKitSettings:zoom-text-only property.
2229         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
2230         (testWebViewZoomLevel):
2231
2232 2012-02-29  Carlos Garcia Campos  <cgarcia@igalia.com>
2233
2234         [GTK] Add zoom-text-only setting to WebKit2 GTK+ API
2235         https://bugs.webkit.org/show_bug.cgi?id=75249
2236
2237         Reviewed by Gustavo Noronha Silva.
2238
2239         To set whether zoom level of web view should affect only the text
2240         or all page contents. It's disabled by default.
2241
2242         * UIProcess/API/gtk/WebKitSettings.cpp:
2243         (webKitSettingsSetProperty):
2244         (webKitSettingsGetProperty):
2245         (webkit_settings_class_init): Add WebKitSettings:zoom-text-only
2246         property.
2247         (webkit_settings_set_zoom_text_only): Set
2248         WebKitSettings:zoom-text-only.
2249         (webkit_settings_get_zoom_text_only): Get
2250         WebKitSettings:zoom-text-only.
2251         * UIProcess/API/gtk/WebKitSettings.h:
2252         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new
2253         symbols.
2254         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
2255         (testWebKitSettings):
2256
2257 2012-02-29  Sergio Villar Senin  <svillar@igalia.com>
2258
2259         DidFindString should be emitted even if FindOptionsShowOverlay is not enabled
2260         https://bugs.webkit.org/show_bug.cgi?id=76522
2261
2262         Reviewed by Darin Adler.
2263
2264         DidFindString message should be issued always even if neither
2265         FindOptionsShowOverlay or FindOptionsShowHighlight are
2266         provided. The difference is that if any of those flags are present
2267         the find operation will look for all the appearances of the text
2268         in the web view, otherwise it will just look and report the next
2269         occurrence.
2270
2271         This patch removes the temporary workaround added in r109222 to
2272         the WebKitFindController unit tests.
2273
2274         * UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
2275         * WebProcess/WebPage/FindController.cpp:
2276         (WebKit::FindController::findString):
2277
2278 2012-01-19  Sergio Villar Senin  <svillar@igalia.com>
2279
2280         [GTK] [WK2] Add Find API
2281         https://bugs.webkit.org/show_bug.cgi?id=76070
2282
2283         Reviewed by Martin Robinson.
2284
2285         This patch adds a new public find API for the Gtk+ WK2 port. It
2286         defines a new object called WebKitFindController owned by each
2287         WebKitWebView. Clients will use this new object to search strings
2288         in the WebKitWebView.
2289
2290         Changes include also documentation and unit tests for the new
2291         public API.
2292
2293         * GNUmakefile.am:
2294         * UIProcess/API/gtk/WebKitDefines.h:
2295         * UIProcess/API/gtk/WebKitFindController.cpp: Added.
2296         (didFindString): implementation of the WKPage Find interface.
2297         (didFailToFindString): Ditto.
2298         (didCountStringMatches): Ditto.
2299         (webkit_find_controller_init):
2300         (getWKPageFromWebKitWebView):
2301         (webkitFindControllerConstructed):
2302         (webkitFindControllerGetProperty):
2303         (webkitFindControllerSetProperty):
2304         (webkitFindControllerFinalize):
2305         (webkit_find_controller_class_init):
2306         (webkit_find_controller_get_search_text):
2307         (webkit_find_controller_get_options):
2308         (webkit_find_controller_get_max_match_count):
2309         (webkit_find_controller_get_web_view):
2310         (webKitFindControllerPerform):
2311         (webKitFindControllerSetSearchData):
2312         (webkit_find_controller_search): asynchronously looks for the
2313         search string in the WebKitWebView.
2314         (webkit_find_controller_search_finish): unhighlights text matches.
2315         (webkit_find_controller_search_next):
2316         (webkit_find_controller_search_previous):
2317         (webkit_find_controller_count_matches): asynchronously counts the
2318         number of matches of the search string in the WebKitWebView.
2319         * UIProcess/API/gtk/WebKitFindController.h: Added.
2320         * UIProcess/API/gtk/WebKitPrivate.h:
2321         * UIProcess/API/gtk/WebKitWebView.cpp:
2322         (webkit_web_view_get_find_controller): returns the
2323         WebKitFindController instance owned by the WebKitWebView.
2324         * UIProcess/API/gtk/WebKitWebView.h:
2325         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
2326         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
2327         * UIProcess/API/gtk/docs/webkit2gtk.types:
2328         * UIProcess/API/gtk/tests/GNUmakefile.am:
2329         * UIProcess/API/gtk/tests/TestWebKitFindController.cpp: Added.
2330         (testFindControllerTextFound):
2331         (testFindControllerTextNotFound):
2332         (testFindControllerMatchCount):
2333         (testFindControllerMaxMatchCount):
2334         (testFindControllerNext):
2335         (testFindControllerPrevious):
2336         (testFindControllerCountedMatches):
2337         (testFindControllerOptions):
2338         (testFindControllerInstance):
2339         (testFindControllerGetters):
2340         (testFindControllerHide):
2341         (beforeAll):
2342         (afterAll):
2343         * UIProcess/API/gtk/webkit2.h:
2344
2345 2012-02-28  Simon Fraser  <simon.fraser@apple.com>
2346
2347         Update WebKitSystemInterface.
2348
2349         Reviewed by Sam Weinig.
2350
2351         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
2352         (InitWebCoreSystemInterface):
2353
2354 2012-02-28  Hugo Parente Lima  <hugo.lima@openbossa.org>
2355
2356         All mouse events after a right click are ignored when they came from WebkitTestRunner
2357         https://bugs.webkit.org/show_bug.cgi?id=77350
2358
2359         Reviewed by Chang Shu.
2360
2361         Never ignore mouse events when using sync events, even if the context menu is being
2362         show but the Ui did replied the ShowContextMenu event with a ContextMenuHidden.
2363
2364         * WebProcess/WebPage/WebPage.cpp:
2365         (WebKit::WebPage::mouseEventSyncForTesting):
2366
2367 2012-02-28  Alexey Proskuryakov  <ap@apple.com>
2368
2369         More build fix.
2370
2371         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Check for build platform
2372         properly.
2373
2374 2012-02-28  Alexey Proskuryakov  <ap@apple.com>
2375
2376         Build fix.
2377
2378         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue):
2379         Check for build platform properly.
2380
2381 2012-02-28  Enrica Casucci  <enrica@apple.com>
2382
2383         More Pasteboard code cleanup.
2384         https://bugs.webkit.org/show_bug.cgi?id=79816
2385
2386         Removing the last references to NSPasteboard.
2387         
2388         Reviewed by Alexey Proskuryakov.
2389
2390         * WebProcess/WebCoreSupport/WebEditorClient.h:
2391         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
2392         (WebKit::WebEditorClient::setInsertionPasteboard):
2393
2394 2012-02-28  Alexey Proskuryakov  <ap@apple.com>
2395
2396         [Mac] Add an experimental SPI for plug-ins to enter sandbox
2397         https://bugs.webkit.org/show_bug.cgi?id=79709
2398
2399         Reviewed by Anders Carlsson.
2400
2401         * PluginProcess/PluginProcess.h: (WebKit::PluginProcess::pluginPath): Exposed plugin path.
2402
2403         * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb: Added.
2404
2405         * WebKit2.xcodeproj/project.pbxproj: Added new files.
2406
2407         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue): Exposed
2408         a function to access sandboxing functions when available.
2409
2410         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h: Added.
2411         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Added.
2412
2413 2012-02-28  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
2414
2415         [Qt] Allow read/write to the WebView.url property
2416         https://bugs.webkit.org/show_bug.cgi?id=77554
2417
2418         Reviewed by Tor Arne Vestbø.
2419
2420         Change QML API WebView.url to read/write to reflect either the url requested by the user.
2421         Also removed WebView.load(url). Defers setting url (loading page) until onComponentComplete is triggered. 
2422         Fixed c++ and qml tests to reflect the new API.
2423
2424         * Target.pri:
2425         * UIProcess/API/qt/qquickwebview.cpp:
2426         (QQuickWebViewPrivate::QQuickWebViewPrivate):
2427         (QQuickWebViewPrivate::onComponentComplete):
2428         (QQuickWebView::setUrl):
2429         * UIProcess/API/qt/qquickwebview_p_p.h:
2430         (QQuickWebViewPrivate):
2431         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2432         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml:
2433         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
2434         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
2435         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
2436         * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
2437         * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml:
2438         * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
2439         * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml:
2440         * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
2441         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
2442         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml:
2443         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml:
2444         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
2445         * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml:
2446         * UIProcess/API/qt/tests/qmltests/WebView/tst_origin.qml:
2447         * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
2448         * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml:
2449         * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml:
2450         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2451         (tst_QQuickWebView::loadEmptyPageViewHidden):
2452         (tst_QQuickWebView::loadNonexistentFileUrl):
2453
2454 2012-02-28  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2455
2456         [Qt] Signal and property cleanup in QQuickWebView
2457         https://bugs.webkit.org/show_bug.cgi?id=78820
2458
2459         Reviewed by Noam Rosenthal.
2460
2461         - Remove parameters from property change notify signals:
2462           titleChanged, urlChanged, iconChanged, loadProgressChanged
2463         - Rename the parameters of linkHovered to prevent shadoing properties of WebView
2464         - Rename navigationStateChanged to navigationHistoryChanged
2465
2466         * UIProcess/API/qt/qquickwebview.cpp:
2467         (QQuickWebViewPrivate::QQuickWebViewPrivate):
2468         (QQuickWebViewPrivate::initialize):
2469         (QQuickWebViewPrivate::_q_onUrlChanged):
2470         (QQuickWebViewPrivate::setIcon):
2471         * UIProcess/API/qt/qquickwebview_p.h:
2472         * UIProcess/API/qt/qquickwebview_p_p.h:
2473         (QQuickWebViewPrivate):
2474         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2475         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
2476         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
2477         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2478         (tst_QQuickWebView::loadProgress):
2479         * UIProcess/qt/QtWebPageLoadClient.cpp:
2480         (QtWebPageLoadClient::didCommitLoadForFrame):
2481         (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
2482         (QtWebPageLoadClient::didReceiveTitleForFrame):
2483         (QtWebPageLoadClient::setLoadProgress):
2484         * UIProcess/qt/QtWebPageLoadClient.h:
2485         (QtWebPageLoadClient):
2486
2487 2012-02-28  Mario Sanchez Prada  <msanchez@igalia.com>
2488
2489         [GTK] Add GMainLoop and GMainContext to be handled by GRefPtr
2490         https://bugs.webkit.org/show_bug.cgi?id=79496
2491
2492         Reviewed by Martin Robinson.
2493
2494         Updated places where raw pointers to GMainLoop and GMainContext
2495         were being used, replacing them with GRefPtr-based code.
2496
2497         * Platform/WorkQueue.h:
2498         (WorkQueue):
2499         * Platform/gtk/WorkQueueGtk.cpp:
2500         (WorkQueue::platformInitialize):
2501         (WorkQueue::platformInvalidate):
2502         (WorkQueue::workQueueThreadBody):
2503         (WorkQueue::registerEventSourceHandler):
2504         (WorkQueue::dispatchOnSource):
2505         * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
2506         (WebKit::WebPopupMenuProxyGtk::WebPopupMenuProxyGtk):
2507         (WebKit::WebPopupMenuProxyGtk::showPopupMenu):
2508         (WebKit::WebPopupMenuProxyGtk::shutdownRunLoop):
2509         * UIProcess/gtk/WebPopupMenuProxyGtk.h:
2510         (WebPopupMenuProxyGtk):
2511
2512 2012-02-28  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2513
2514         [Qt] Initialize QtWebContext as much as we can in its constructor.
2515         https://bugs.webkit.org/show_bug.cgi?id=79809
2516
2517         Reviewed by Tor Arne Vestbø.
2518
2519         The icon database wouldn't be initialized on the QtWebContext while in WebKitTestRunner
2520         since it doesn't call the initialize method on it after creating it.
2521         Remove the initialize method, move the download manager and icon database initialization
2522         in the constructor and call initializeContextInjectedBundleClient directly in
2523         defaultContext to prevent overriding WKTR's injected bundle client.
2524
2525         * UIProcess/qt/QtWebContext.cpp:
2526         (WebKit::QtWebContext::QtWebContext):
2527         (WebKit::QtWebContext::defaultContext):
2528         * UIProcess/qt/QtWebContext.h:
2529         (QtWebContext):
2530
2531 2012-02-28  Carlos Garcia Campos  <cgarcia@igalia.com>
2532
2533         [GTK] Inconsistent state of WebKitWebView when replacing content in WebKit2
2534         https://bugs.webkit.org/show_bug.cgi?id=79775
2535
2536         Reviewed by Martin Robinson.
2537
2538         Use an enum instead of a boolean to track the status of a
2539         replace_content() load operation. We need to know when the load of
2540         the replace content actually starts to not ignore valid load
2541         events of a previous ongoing load operation.
2542
2543         * UIProcess/API/gtk/WebKitWebView.cpp:
2544         (webkitWebViewLoadChanged): Transit to new replace content state
2545         when replacing content depending on the load event.
2546         (webkitWebViewLoadFailed): Ignore load failed events when
2547         replacing content.
2548         (webkitWebViewSetEstimatedLoadProgress): Ignore load progress when
2549         replacing content.
2550         (webkit_web_view_replace_content): Set replace content status to
2551         WillReplaceContent.
2552         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
2553         (replaceContentLoadCallback):
2554         (testWebViewReplaceContent):
2555         * UIProcess/API/gtk/tests/WebViewTest.cpp:
2556         (titleChanged):
2557         (WebViewTest::waitUntilTitleChanged): Convenient method to wait
2558         until title changes. Use with replaceConent() since load events
2559         are not emitted when replacing content.
2560         * UIProcess/API/gtk/tests/WebViewTest.h:
2561
2562 2012-02-27  Anders Carlsson  <andersca@apple.com>
2563
2564         Add basic page overlay support to TiledCoreAnimationDrawingArea
2565         https://bugs.webkit.org/show_bug.cgi?id=79716
2566         <rdar://problem/10923079>
2567
2568         Reviewed by Sam Weinig.
2569
2570         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2571         Make TiledCoreAnimationDrawingArea a GraphicsLayerClient.
2572
2573         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2574         (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
2575         Create the page overlay layer.
2576
2577         (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
2578         Destroy the page overlay layer.
2579
2580         (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
2581         Mark the page overlay layer as needing display.
2582
2583         (WebKit::TiledCoreAnimationDrawingArea::notifyAnimationStarted):
2584         (WebKit::TiledCoreAnimationDrawingArea::notifySyncRequired):
2585         Add empty GraphisLayerClient member function implementations.
2586
2587         (WebKit::TiledCoreAnimationDrawingArea::paintContents):
2588         Ask the page overlay to paint itself.
2589
2590         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
2591         Flush the page overlay layer.
2592         
2593         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
2594         Resize the page overlay layer.
2595
2596         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
2597         If we have a page overlay layer, add it as a sublayer of the root layer.
2598
2599         (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
2600         Create the page overlay layer and add it as a sublayer of the root layer.
2601
2602         (WebKit::TiledCoreAnimationDrawingArea::destroyPageOverlayLayer):
2603         Remove the page overlay layer and destroy it.
2604
2605 2012-02-28  Carlos Garcia Campos  <cgarcia@igalia.com>
2606
2607         [GTK] Remove virtual methods of WebKitDownload signals in WebKit2 GTK+ API
2608         https://bugs.webkit.org/show_bug.cgi?id=79804
2609
2610         Reviewed by Martin Robinson.
2611
2612         That comes from the first patch that followed the approach of the
2613         first LoaderClient implementation. With current implementation
2614         download signals, except decide-destination, don't need to be
2615         true_handled, and they won't have a default handler
2616         implementation. Also the download object is not supposed to be
2617         inheritable, since instances are created privately by the
2618         WebContext, so it's not possible to override the virtual methods
2619         in derived classes.
2620
2621         * UIProcess/API/gtk/WebKitDownload.cpp:
2622         (webkit_download_class_init):
2623         (webkitDownloadNotifyProgress):
2624         (webkitDownloadFailed):
2625         (webkitDownloadFinished):
2626         * UIProcess/API/gtk/WebKitDownload.h:
2627         (_WebKitDownloadClass):
2628         * UIProcess/API/gtk/webkit2marshal.list:
2629
2630 2012-02-28  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2631
2632         [Qt] Fix build for WK2, do not use enum type if values can be outside the enum
2633         https://bugs.webkit.org/show_bug.cgi?id=79800
2634
2635         Reviewed by Csaba Osztrogonác.
2636
2637         We have two different enums called NavigationRequestAction. If we use one of them
2638         to store the variables, compilers can rightfully warn about comparison with
2639         values from other enums.
2640
2641         We might revisit the strategy of exposing different enumerations in experimental,
2642         but for now, fallback to using int for the 'action' property in
2643         QWebNavigationRequest.
2644
2645         * UIProcess/API/qt/qwebnavigationrequest.cpp:
2646         (QWebNavigationRequestPrivate):
2647         (QWebNavigationRequest::setAction):
2648         (QWebNavigationRequest::action):
2649         * UIProcess/API/qt/qwebnavigationrequest_p.h:
2650         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2651
2652 2012-02-27  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2653
2654         [Qt] API changes to QWebNavigationRequest
2655         https://bugs.webkit.org/show_bug.cgi?id=78821
2656
2657         Reviewed by Kenneth Rohde Christiansen.
2658
2659         Changes discussed in API review at Szeged: rename 'button' to 'mouseButton',
2660         rename 'modifiers' to 'keyboardModifiers', remove 'originatingUrl' and
2661         use the enum type for 'action'.
2662
2663         * UIProcess/API/qt/qwebnavigationrequest.cpp:
2664         (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
2665         (QWebNavigationRequestPrivate):
2666         (QWebNavigationRequest::QWebNavigationRequest):
2667         (QWebNavigationRequest::setAction):
2668         (QWebNavigationRequest::mouseButton):
2669         (QWebNavigationRequest::keyboardModifiers):
2670         (QWebNavigationRequest::action):
2671         * UIProcess/API/qt/qwebnavigationrequest_p.h:
2672         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2673         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
2674         * UIProcess/qt/QtWebPagePolicyClient.cpp:
2675         (QtWebPagePolicyClient::decidePolicyForNavigationAction):
2676         * UIProcess/qt/QtWebPagePolicyClient.h:
2677         (QtWebPagePolicyClient):
2678
2679 2012-02-28  Shinya Kawanaka  <shinyak@chromium.org>
2680
2681         Element should be able to have multiple shadow roots.
2682         https://bugs.webkit.org/show_bug.cgi?id=77931
2683
2684         Reviewed by Hajime Morita.
2685
2686         * win/WebKit2.def:
2687         * win/WebKit2CFLite.def:
2688
2689 2012-02-28  Hugo Parente Lima  <hugo.lima@openbossa.org>
2690
2691         [Qt][WK2] Use movementStarted/Ended signals instead of movingChanged on QtViewportInterationEngine
2692         https://bugs.webkit.org/show_bug.cgi?id=79521
2693
2694         Reviewed by Kenneth Rohde Christiansen.
2695
2696         movingChanged() signal is emitted many times, so the use of movementStarted() and
2697         movementEnded() is a better choice.
2698
2699         * UIProcess/qt/QtFlickProvider.cpp:
2700         (QtFlickProvider::QtFlickProvider):
2701         * UIProcess/qt/QtFlickProvider.h:
2702         (QtFlickProvider):
2703         * UIProcess/qt/QtViewportInteractionEngine.cpp:
2704         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
2705         * UIProcess/qt/QtViewportInteractionEngine.h:
2706         (QtViewportInteractionEngine):
2707
2708 2012-02-27  Shinya Kawanaka  <shinyak@chromium.org>
2709
2710         Element::removeShadowRoot() and setShadowRoot() should be moved into ShadowTree.
2711         https://bugs.webkit.org/show_bug.cgi?id=78313
2712
2713         Reviewed by Hajime Morita.
2714
2715         * win/WebKit2.def:
2716         * win/WebKit2CFLite.def:
2717
2718 2012-02-27  Brady Eidson  <beidson@apple.com>
2719
2720         <rdar://problem/10924993> and https://bugs.webkit.org/show_bug.cgi?id=79725
2721         <a ping> doesn't work in WebKit2
2722
2723         Reviewed by Alexey Proskuryakov.
2724
2725         * WebProcess/WebPage/WebPage.cpp:
2726         (WebKit::WebPage::updatePreferences): Push the WK2 <a ping> setting to WebCore::Settings.
2727
2728 2012-02-27  Enrica Casucci  <enrica@apple.com>
2729
2730         WebKit2: implement platform strategy to access Pasteboard in the UI process.
2731         https://bugs.webkit.org/show_bug.cgi?id=79253
2732         <rdar://problem/9971876>
2733
2734         Reviewed by Alexey Proskuryakov.
2735
2736         * UIProcess/WebContext.h:
2737         * UIProcess/WebContext.messages.in: Added messages to access NSPasteboard
2738         in the UI process.
2739         * UIProcess/mac/WebContextMac.mm: Added methods corresponding to the
2740         new messages.
2741         (WebKit::WebContext::getPasteboardTypes):
2742         (WebKit::WebContext::getPasteboardPathnamesForType):
2743         (WebKit::WebContext::getPasteboardStringForType):
2744         (WebKit::WebContext::getPasteboardBufferForType):
2745         (WebKit::WebContext::pasteboardCopy):
2746         (WebKit::WebContext::getPasteboardChangeCount):
2747         (WebKit::WebContext::getPasteboardUniqueName):
2748         (WebKit::WebContext::getPasteboardColor):
2749         (WebKit::WebContext::setPasteboardTypes):
2750         (WebKit::WebContext::setPasteboardPathnamesForType):
2751         (WebKit::WebContext::setPasteboardStringForType):
2752         (WebKit::WebContext::setPasteboardBufferForType):
2753         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: New implementation of the PasteboardStrategy using message exchange
2754         with the UI process.
2755         (WebKit::WebPlatformStrategies::getTypes):
2756         (WebKit::WebPlatformStrategies::bufferForType):
2757         (WebKit::WebPlatformStrategies::getPathnamesForType):
2758         (WebKit::WebPlatformStrategies::stringForType):
2759         (WebKit::WebPlatformStrategies::copy):
2760         (WebKit::WebPlatformStrategies::changeCount):
2761         (WebKit::WebPlatformStrategies::uniqueName):
2762         (WebKit::WebPlatformStrategies::color):
2763         (WebKit::WebPlatformStrategies::setTypes):
2764         (WebKit::WebPlatformStrategies::setBufferForType):
2765         (WebKit::WebPlatformStrategies::setPathnamesForType):
2766         (WebKit::WebPlatformStrategies::setStringForType):
2767
2768 2012-02-27  Dan Bernstein  <mitz@apple.com>
2769
2770         <rdar://problem/9557598> REGRESSION (WebKit2): Non-activating links sometimes don’t work
2771         https://bugs.webkit.org/show_bug.cgi?id=79607
2772
2773         Reviewed by Adele Peterson.
2774
2775         Test: TestWebKitAPI/Tests/mac/AcceptsFirstMouse.mm
2776
2777         This was caused by not mapping the mouse event coordinates from window coordinates to
2778         document coordinates.
2779
2780         * WebProcess/WebPage/mac/WebPageMac.mm:
2781         (WebKit::WebPage::performDictionaryLookupAtLocation): Convert the point to main frame
2782         coordinates when performing the hit test.
2783         (WebKit::WebPage::shouldDelayWindowOrderingEvent): Convert the point to the main or focused
2784         frame coordinates when perfomring the hit test.
2785         (WebKit::WebPage::acceptsFirstMouse): Ditto.
2786
2787 2012-02-27  Timothy Hatcher  <timothy@apple.com>
2788
2789         Add WKInspector API to know when the Web Inspector is the frontmost window.
2790
2791         Also makes the Safari Develop menu items work when the Web Inspector is frontmost.
2792
2793         https://webkit.org/b/79649
2794
2795         Reviewed by John Sullivan.
2796
2797         * UIProcess/API/C/WKInspector.cpp:
2798         (WKInspectorIsFront): Added. Call WebInspectorProxy::isFront.
2799         * UIProcess/API/C/WKInspector.h:
2800         * UIProcess/WebInspectorProxy.cpp:
2801         (WebKit::WebInspectorProxy::isFront): Added. Call platformIsFront.
2802         * UIProcess/WebInspectorProxy.h:
2803         * UIProcess/efl/WebInspectorEfl.cpp:
2804         (WebKit::WebInspectorProxy::platformIsFront): Added stub.
2805         * UIProcess/gtk/WebInspectorGtk.cpp:
2806         (WebKit::WebInspectorProxy::platformIsFront): Added stub.
2807         * UIProcess/mac/WebInspectorProxyMac.mm:
2808         (-[WKWebInspectorProxyObjCAdapter showWebInspector:]): Added. Makes the Develop menu items in Safari work when
2809         the Web Inspector window is front.
2810         (-[WKWebInspectorProxyObjCAdapter showErrorConsole:]): Added. Ditto.
2811         (-[WKWebInspectorProxyObjCAdapter showResources:]): Added. Ditto.
2812         (-[WKWebInspectorProxyObjCAdapter viewSource:]): Added. Ditto.
2813         (-[WKWebInspectorProxyObjCAdapter toggleDebuggingJavaScript:]): Added. Ditto.
2814         (-[WKWebInspectorProxyObjCAdapter toggleProfilingJavaScript:]): Added. Ditto.
2815         (-[WKWebInspectorProxyObjCAdapter validateUserInterfaceItem:]): Added. Update the menu item titles.
2816         (WebKit::WebInspectorProxy::platformIsFront): Added. Return if visible and the window is main.
2817         * UIProcess/qt/WebInspectorProxyQt.cpp:
2818         (WebKit::WebInspectorProxy::platformIsFront): Added stub.
2819         * UIProcess/win/WebInspectorProxyWin.cpp:
2820         (WebKit::WebInspectorProxy::platformIsFront): Added stub.
2821
2822 2012-02-26  YoungTaeck Song  <youngtaeck.song@samsung.com>
2823
2824         [EFL][WK2] Add InjectedBundleEfl.cpp
2825         https://bugs.webkit.org/show_bug.cgi?id=75463
2826
2827         Reviewed by Andreas Kling.
2828
2829         Add first version of InjectedBundleEfl.cpp including load() and placeholder for activateMacFontAscentHack().
2830
2831         * WebProcess/InjectedBundle/InjectedBundle.h:
2832         * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp:
2833         (WebKit::InjectedBundle::load):
2834         (WebKit::InjectedBundle::activateMacFontAscentHack):
2835
2836 2012-02-26  Shinya Kawanaka  <shinyak@chromium.org>
2837
2838         Rename ShadowRootList to ShadowTree.
2839         https://bugs.webkit.org/show_bug.cgi?id=79342
2840
2841         Reviewed by Hajime Morita.
2842
2843         * win/WebKit2.def:
2844         * win/WebKit2CFLite.def:
2845
2846 2012-02-26  Hajime Morrita  <morrita@chromium.org>
2847
2848         Move ChromeClient::showContextMenu() to ContextMenuClient
2849         https://bugs.webkit.org/show_bug.cgi?id=79427
2850
2851         Reviewed by Adam Barth.
2852
2853         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2854         * WebProcess/WebCoreSupport/WebChromeClient.h:
2855         (WebChromeClient):
2856         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
2857         (WebKit):
2858         (WebKit::WebContextMenuClient::showContextMenu): Moved from WebChromeClient
2859         * WebProcess/WebCoreSupport/WebContextMenuClient.h:
2860         (WebContextMenuClient):
2861         * WebProcess/WebPage/WebPage.cpp:
2862         (WebKit::handleContextMenuEvent):
2863         (WebKit::handleMouseEvent):
2864         (WebKit::WebPage::mouseEvent):
2865         (WebKit::WebPage::mouseEventSyncForTesting):
2866
2867 2012-02-26  Huang Dongsung  <luxtella@company100.net>
2868
2869         Use Functional instead of a MessageQueue for messages to the LayerTreeHostProxy
2870         renderer.
2871         https://bugs.webkit.org/show_bug.cgi?id=79478
2872
2873         This makes a lot of the broilerplate code for message-passing unnecessary, and
2874         results in a much more succinct implementation.
2875
2876         Reviewed by Noam Rosenthal.
2877
2878         * UIProcess/LayerTreeHostProxy.h:
2879         (WebKit):
2880         (LayerTreeHostProxy):
2881         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2882         (WebKit):
2883         (WebKit::LayerTreeHostProxy::updateTile):
2884         (WebKit::LayerTreeHostProxy::createImage):
2885         (WebKit::LayerTreeHostProxy::syncRemoteContent):
2886         (WebKit::LayerTreeHostProxy::dispatchUpdate):
2887         (WebKit::LayerTreeHostProxy::createTileForLayer):
2888         (WebKit::LayerTreeHostProxy::updateTileForLayer):
2889         (WebKit::LayerTreeHostProxy::removeTileForLayer):
2890         (WebKit::LayerTreeHostProxy::deleteCompositingLayer):
2891         (WebKit::LayerTreeHostProxy::setRootCompositingLayer):
2892         (WebKit::LayerTreeHostProxy::syncCompositingLayerState):
2893         (WebKit::LayerTreeHostProxy::didRenderFrame):
2894         (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
2895         (WebKit::LayerTreeHostProxy::destroyDirectlyCompositedImage):
2896
2897 2012-02-26  Filip Pizlo  <fpizlo@apple.com>
2898
2899         Build fix for SL.
2900
2901         * Platform/mac/RemoteLayerClient.mm:
2902         (WebKit::RemoteLayerClient::RemoteLayerClient):
2903
2904 2012-02-26  Sam Weinig  <sam@webkit.org>
2905
2906         Encapsulate uses of WKSI to setup a remote layer into a new RemoteLayerClient class
2907         https://bugs.webkit.org/show_bug.cgi?id=79612
2908
2909         Reviewed by Anders Carlsson.
2910
2911         * Platform/mac/RemoteLayerClient.h: 
2912         * Platform/mac/RemoteLayerClient.mm: 
2913         (WebKit::RemoteLayerClient::create):
2914         (WebKit::RemoteLayerClient::RemoteLayerClient):
2915         (WebKit::RemoteLayerClient::~RemoteLayerClient):
2916         (WebKit::RemoteLayerClient::clientID):
2917         (WebKit::RemoteLayerClient::invalidate):
2918         New class that encapsulates calls to WKSI WKCARemoteLayerClient*. For platforms
2919         where the use of WKSI is not necessary, due to CARemoteLayerClient being available,
2920         stop using WKSI.
2921
2922         * PluginProcess/PluginControllerProxy.cpp:
2923         * PluginProcess/PluginControllerProxy.h:
2924         * PluginProcess/mac/PluginControllerProxyMac.mm:
2925         (WebKit::PluginControllerProxy::platformInitialize):
2926         (WebKit::PluginControllerProxy::platformDestroy):
2927         (WebKit::PluginControllerProxy::remoteLayerClientID):
2928         (WebKit::PluginControllerProxy::platformGeometryDidChange):
2929         * WebKit2.xcodeproj/project.pbxproj:
2930         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h:
2931         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
2932         (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer):
2933         (WebKit::WebFullScreenManagerMac::disposeOfLayerClient):
2934         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
2935         (LayerTreeHostCAMac):
2936         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
2937         (WebKit::LayerTreeHostCAMac::platformInitialize):
2938         (WebKit::LayerTreeHostCAMac::invalidate):
2939         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2940         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2941         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
2942         Switch to using RemoteLayerClient.
2943
2944         * UIProcess/mac/WebContextMac.mm:
2945         (WebKit::WebContext::platformInitializeWebProcess):
2946         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
2947         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
2948         Use CARemoteLayerServer directly if available.
2949
2950 2012-02-25  Anders Carlsson  <andersca@apple.com>
2951
2952         Address review feedback from Andreas Kling.
2953
2954         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2955         (WebKit::NetscapePlugin::platformHandleMouseEvent):
2956
2957 2012-02-25  Anders Carlsson  <andersca@apple.com>
2958
2959         Mouse tracking incorrect in Silverlight when using multi monitor with offset arrangement
2960         https://bugs.webkit.org/show_bug.cgi?id=79589
2961         <rdar://problem/9719592>
2962
2963         Reviewed by Sam Weinig.
2964
2965         In the Carbon event model, mouse event coordinates are flipped relative to the first screen,
2966         whereas the coordinates we get from the WebMouseEvent are flipped relative to the screen where
2967         the containing WKView is on.
2968
2969         Instead of passing the global coordinates to NPP_HandleEvent, convert them to the flipped screen coordinate
2970         system that the plug-in expects.
2971
2972         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
2973         (WebKit::NetscapePlugin::platformHandleMouseEvent):
2974
2975 2012-02-25  Sheriff Bot  <webkit.review.bot@gmail.com>
2976
2977         Unreviewed, rolling out r108900.
2978         http://trac.webkit.org/changeset/108900
2979         https://bugs.webkit.org/show_bug.cgi?id=79587
2980
2981         broke some API tests, will investigate and re-commit
2982         (Requested by noamr on #webkit).
2983
2984         * UIProcess/API/qt/qquickwebpage.cpp:
2985         (computeEffectiveOpacity):
2986         (QQuickWebPagePrivate::paintToCurrentGLContext):
2987         (PageProxyNode::changedStates):
2988         (PageProxyNode::render):
2989         * UIProcess/API/qt/qquickwebpage_p_p.h:
2990         (QQuickWebPagePrivate):
2991
2992 2012-02-25  No'am Rosenthal  <noam.rosenthal@nokia.com>
2993
2994         [Qt] Use the existing inheritedOpacity/matrix properties of QSGNode
2995         https://bugs.webkit.org/show_bug.cgi?id=79543
2996
2997         Use QSGNode::inheritedOpacity() and QSGNode::matrix().
2998         Also, remove flags from changedStates() that we don't actually touch.
2999
3000         Reviewed by Kenneth Rohde Christiansen.
3001
3002         * UIProcess/API/qt/qquickwebpage.cpp:
3003         (QQuickWebPagePrivate::paintToCurrentGLContext):
3004         (PageProxyNode::changedStates):
3005         (PageProxyNode::render):
3006         * UIProcess/API/qt/qquickwebpage_p_p.h:
3007         (QQuickWebPagePrivate):
3008
3009 2012-02-25  Sheriff Bot  <webkit.review.bot@gmail.com>
3010
3011         Unreviewed, rolling out r108816.
3012         http://trac.webkit.org/changeset/108816
3013         https://bugs.webkit.org/show_bug.cgi?id=79562
3014
3015         It made many tests crash and timeout on Qt-WK2 (Requested by
3016         ossy__ on #webkit).
3017
3018         * UIProcess/API/qt/qquickwebview.cpp:
3019         (QQuickWebViewPrivate::QQuickWebViewPrivate):
3020         (QQuickWebViewPrivate::initialize):
3021         (QQuickWebViewPrivate::setIcon):
3022         * UIProcess/API/qt/qquickwebview_p.h:
3023         * UIProcess/API/qt/qquickwebview_p_p.h:
3024         (QQuickWebViewPrivate):
3025         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
3026         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
3027         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
3028         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
3029         (tst_QQuickWebView::loadProgress):
3030         * UIProcess/qt/QtWebPageLoadClient.cpp:
3031         (QtWebPageLoadClient::didCommitLoadForFrame):
3032         (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
3033         (QtWebPageLoadClient::didReceiveTitleForFrame):
3034         (QtWebPageLoadClient::setLoadProgress):
3035         * UIProcess/qt/QtWebPageLoadClient.h:
3036         (QtWebPageLoadClient):
3037
3038 2012-02-24  Andy Estes  <aestes@apple.com>
3039
3040         REGRESSION (r108730): Webkit nightlies fails to start due to WKPreferencesGetSuppressIncrementalRendering renaming
3041         https://bugs.webkit.org/show_bug.cgi?id=79515
3042
3043         Reviewed by Alexey Proskuryakov.
3044
3045         Some versions of Safari contain call sites to two functions in WebKit2
3046         that were removed in r108730. Restore these two functions so that these
3047         versions of Safari can be used with WebKit nightly builds.
3048
3049         * UIProcess/API/C/WKPreferences.cpp:
3050         (WKPreferencesSetSuppressIncrementalRendering):
3051         (WKPreferencesGetSuppressIncrementalRendering):
3052         * UIProcess/API/C/WKPreferences.h:
3053
3054 2012-02-24  Jessie Berlin  <jberlin@apple.com>
3055
3056         requestPermission callback not invoked if the WebProcess doesn't have to ask the UI Process
3057         about the permission level.
3058         https://bugs.webkit.org/show_bug.cgi?id=79494
3059
3060         Reviewed by Jon Honeycutt.
3061
3062         Invoke the callback in the case where the permission level is known and no message is sent
3063         to the UI Process.
3064
3065         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
3066         (WebKit::NotificationPermissionRequestManager::startRequest):
3067
3068 2012-02-24  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3069
3070         [Qt] Signal and property cleanup in QQuickWebView
3071         https://bugs.webkit.org/show_bug.cgi?id=78820
3072
3073         Reviewed by Simon Hausmann.
3074
3075         - Remove parameters from property change notify signals:
3076           titleChanged, urlChanged, iconChanged, loadProgressChanged
3077         - Rename the parameters of linkHovered to prevent shadoing properties of WebView
3078         - Rename navigationStateChanged to navigationHistoryChanged
3079
3080         * UIProcess/API/qt/qquickwebview.cpp:
3081         (QQuickWebViewPrivate::QQuickWebViewPrivate):
3082         (QQuickWebViewPrivate::initialize):
3083         (QQuickWebViewPrivate::_q_onUrlChanged):
3084         (QQuickWebViewPrivate::setIcon):
3085         * UIProcess/API/qt/qquickwebview_p.h:
3086         * UIProcess/API/qt/qquickwebview_p_p.h:
3087         (QQuickWebViewPrivate):
3088         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
3089         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
3090         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
3091         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
3092         (tst_QQuickWebView::loadProgress):
3093         * UIProcess/qt/QtWebPageLoadClient.cpp:
3094         (QtWebPageLoadClient::didCommitLoadForFrame):
3095         (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
3096         (QtWebPageLoadClient::didReceiveTitleForFrame):
3097         (QtWebPageLoadClient::setLoadProgress):
3098         * UIProcess/qt/QtWebPageLoadClient.h:
3099         (QtWebPageLoadClient):
3100
3101 2012-02-24  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3102
3103         [Qt] API: Unify the loading properties and signals.
3104         https://bugs.webkit.org/show_bug.cgi?id=79486
3105
3106         Reviewed by Simon Hausmann.
3107
3108         - Remove the canReload signal, instead assume that calling reload in those cases
3109           won't have any effect.
3110         - Replace loadStarted, loadSucceeded and loadFailed by a single signal: loadingChanged.
3111           The signal carries an argument with a status and error codes giving the intended context.
3112         - Use loadingChanged as the notification signal for the property "loading" instead of
3113           navigationStateChanged.
3114
3115         Also update all API tests to use the new loading signals and add some utility functions
3116         to track the loading since the new API aims to be more adapted to declarative logic
3117         and the auto tests are using an imperative logic.
3118
3119         * Target.pri:
3120         * UIProcess/API/qt/qquickwebview.cpp:
3121         (QQuickWebViewPrivate::QQuickWebViewPrivate):
3122         (QQuickWebViewPrivate::loadDidSucceed):
3123         (QQuickWebViewPrivate::didChangeLoadingState):
3124         (QQuickWebViewPrivate::processDidCrash):
3125         (QQuickWebViewPrivate::didRelaunchProcess):
3126         * UIProcess/API/qt/qquickwebview_p.h:
3127         * UIProcess/API/qt/qquickwebview_p_p.h:
3128         (QQuickWebViewPrivate):
3129         * UIProcess/API/qt/qwebloadrequest.cpp: Added.
3130         (QWebLoadRequestPrivate):
3131         (QWebLoadRequestPrivate::QWebLoadRequestPrivate):
3132         (QWebLoadRequest::QWebLoadRequest):
3133         (QWebLoadRequest::~QWebLoadRequest):
3134         (QWebLoadRequest::url):
3135         (QWebLoadRequest::status):
3136         (QWebLoadRequest::errorString):
3137         (QWebLoadRequest::errorDomain):
3138         (QWebLoadRequest::errorCode):
3139         * UIProcess/API/qt/qwebloadrequest_p.h: Added.
3140         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
3141         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml:
3142         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
3143         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
3144         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
3145         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
3146         * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
3147         * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
3148         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
3149         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadHtml.qml:
3150         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml:
3151         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml:
3152         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
3153         * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml:
3154         * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
3155         * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml:
3156         * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml:
3157         * UIProcess/API/qt/tests/qmltests/common/TestWebView.qml: Added.
3158         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
3159         (tst_QQuickWebView::navigationStatusAtStartup):
3160         (LoadStartedCatcher::LoadStartedCatcher):
3161         (LoadStartedCatcher::onLoadingChanged):
3162         (tst_QQuickWebView::stopEnabledAfterLoadStarted):
3163         (tst_QQuickWebView::loadEmptyPageViewHidden):
3164         (tst_QQuickWebView::loadNonexistentFileUrl):
3165         (tst_QQuickWebView::backAndForward):
3166         (tst_QQuickWebView::reload):
3167         (tst_QQuickWebView::stop):
3168         (tst_QQuickWebView::loadProgress):
3169         (tst_QQuickWebView::showWebView):
3170         (tst_QQuickWebView::multipleWebViewWindows):
3171         (tst_QQuickWebView::multipleWebViews):
3172         (tst_QQuickWebView::scrollRequest):
3173         * UIProcess/API/qt/tests/util.cpp:
3174         (LoadSpy):
3175         (LoadSpy::LoadSpy):
3176         (LoadSpy::onLoadingChanged):
3177         (waitForLoadSucceeded):
3178         (waitForLoadFailed):
3179         * UIProcess/API/qt/tests/util.h:
3180         * UIProcess/qt/QtWebError.h:
3181         * UIProcess/qt/QtWebPageLoadClient.cpp:
3182         (QtWebPageLoadClient::didStartProvisionalLoadForFrame):
3183         (QtWebPageLoadClient::dispatchLoadFailed):
3184         * UIProcess/qt/QtWebPageLoadClient.h:
3185         (QtWebPageLoadClient):
3186
3187 2012-02-24  Simon Hausmann  <simon.hausmann@nokia.com>
3188
3189         Unreviewed, rolling out r108798.
3190         http://trac.webkit.org/changeset/108798
3191         https://bugs.webkit.org/show_bug.cgi?id=78047
3192
3193         Broke too many Qt WK2 tests.
3194
3195         * UIProcess/API/qt/qquickwebview.cpp:
3196         (QQuickWebView::keyPressEvent):
3197         (QQuickWebView::keyReleaseEvent):
3198         (QQuickWebView::inputMethodEvent):
3199         (QQuickWebView::focusInEvent):
3200         (QQuickWebView::focusOutEvent):
3201         (QQuickWebView::touchEvent):
3202         (QQuickWebView::mousePressEvent):
3203         (QQuickWebView::mouseMoveEvent):
3204         (QQuickWebView::mouseReleaseEvent):
3205         (QQuickWebView::mouseDoubleClickEvent):
3206         (QQuickWebView::wheelEvent):
3207         (QQuickWebView::hoverEnterEvent):
3208         (QQuickWebView::hoverMoveEvent):
3209         (QQuickWebView::hoverLeaveEvent):
3210         (QQuickWebView::dragMoveEvent):
3211         (QQuickWebView::dragEnterEvent):
3212         (QQuickWebView::dragLeaveEvent):
3213         (QQuickWebView::dropEvent):
3214         (QQuickWebView::event):
3215         * UIProcess/qt/QtWebPageEventHandler.cpp:
3216         (QtWebPageEventHandler::handleEvent):
3217         (QtWebPageEventHandler::handleMouseMoveEvent):
3218         (QtWebPageEventHandler::handleMousePressEvent):
3219         (QtWebPageEventHandler::handleMouseReleaseEvent):
3220         (QtWebPageEventHandler::handleWheelEvent):
3221         (QtWebPageEventHandler::handleHoverLeaveEvent):
3222         (QtWebPageEventHandler::handleHoverMoveEvent):
3223         (QtWebPageEventHandler::handleDragEnterEvent):
3224         (QtWebPageEventHandler::handleDragLeaveEvent):
3225         (QtWebPageEventHandler::handleDragMoveEvent):
3226         (QtWebPageEventHandler::handleDropEvent):
3227         (QtWebPageEventHandler::handleKeyPressEvent):
3228         (QtWebPageEventHandler::handleKeyReleaseEvent):
3229         (QtWebPageEventHandler::handleFocusInEvent):
3230         (QtWebPageEventHandler::handleFocusOutEvent):
3231         (QtWebPageEventHandler::inputMethodEvent):
3232         (QtWebPageEventHandler::touchEvent):
3233         * UIProcess/qt/QtWebPageEventHandler.h:
3234         (QtWebPageEventHandler):
3235
3236 2012-02-24  Simon Hausmann  <simon.hausmann@nokia.com>
3237
3238         [Qt][WK2] QQuickWebView::event should lookup faster which events QQuickWebPage can handle
3239         https://bugs.webkit.org/show_bug.cgi?id=78047
3240
3241         Reviewed by Kenneth Rohde Christiansen.
3242
3243         Replaced double-dispatch of events with direct forwarding of events from QQuickWebView::*Event to
3244         QtWebPageEventHandler::handle*Event.
3245
3246         * UIProcess/API/qt/qquickwebview.cpp:
3247         (QQuickWebView::keyPressEvent):
3248         (QQuickWebView::keyReleaseEvent):
3249         (QQuickWebView::inputMethodEvent):
3250         (QQuickWebView::focusInEvent):
3251         (QQuickWebView::focusOutEvent):
3252         (QQuickWebView::touchEvent):
3253         (QQuickWebView::mousePressEvent):
3254         (QQuickWebView::mouseMoveEvent):
3255         (QQuickWebView::mouseReleaseEvent):
3256         (QQuickWebView::mouseDoubleClickEvent):
3257         (QQuickWebView::wheelEvent):
3258         (QQuickWebView::hoverEnterEvent):
3259         (QQuickWebView::hoverMoveEvent):
3260         (QQuickWebView::hoverLeaveEvent):
3261         (QQuickWebView::dragMoveEvent):
3262         (QQuickWebView::dragEnterEvent):
3263         (QQuickWebView::dragLeaveEvent):
3264         (QQuickWebView::dropEvent):
3265         (QQuickWebView::event):
3266         * UIProcess/qt/QtWebPageEventHandler.cpp:
3267         (QtWebPageEventHandler::handleMouseMoveEvent):
3268         (QtWebPageEventHandler::handleMousePressEvent):
3269         (QtWebPageEventHandler::handleMouseReleaseEvent):
3270         (QtWebPageEventHandler::handleWheelEvent):
3271         (QtWebPageEventHandler::handleHoverLeaveEvent):
3272         (QtWebPageEventHandler::handleHoverMoveEvent):
3273         (QtWebPageEventHandler::handleDragEnterEvent):
3274         (QtWebPageEventHandler::handleDragLeaveEvent):
3275         (QtWebPageEventHandler::handleDragMoveEvent):
3276         (QtWebPageEventHandler::handleDropEvent):
3277         (QtWebPageEventHandler::handleKeyPressEvent):
3278         (QtWebPageEventHandler::handleKeyReleaseEvent):
3279         (QtWebPageEventHandler::handleFocusInEvent):
3280         (QtWebPageEventHandler::handleFocusOutEvent):
3281         (QtWebPageEventHandler::handleInputMethodEvent):
3282         (QtWebPageEventHandler::handleTouchEvent):
3283         * UIProcess/qt/QtWebPageEventHandler.h:
3284         (QtWebPageEventHandler):
3285
3286 2012-02-24  Simon Hausmann  <simon.hausmann@nokia.com>
3287
3288         [Qt] Use private QSGRenderNode in QQuickWebView for improved Qt Scene Graph integration
3289         https://bugs.webkit.org/show_bug.cgi?id=79022
3290
3291         Reviewed by Csaba Osztrogonác.
3292
3293         * Target.pri:
3294         * UIProcess/API/qt/qquickwebpage.cpp:
3295         (PageProxyNode::PageProxyNode):
3296         (PageProxyNode::changedStates):
3297         (PageProxyNode::render):
3298         (PageProxyNode):
3299
3300 2012-02-24  Carlos Garcia Campos  <cgarcia@igalia.com>
3301
3302         [GTK] Encode/decode Null ResourceResponse objects in WebKit2
3303         https://bugs.webkit.org/show_bug.cgi?id=79471
3304
3305         Reviewed by Philippe Normand.
3306
3307         * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
3308         (CoreIPC::::encode): Check whether ResourceResponse is Null before
3309         encoding it.
3310         (CoreIPC::::decode): Check whether response is Null and create a
3311         Null ResourceResponse object in such case.
3312
3313 2012-02-24  Shinya Kawanaka  <shinyak@chromium.org>
3314
3315         SpellCheckRequest needs to know the context where the spellcheck happened.
3316         https://bugs.webkit.org/show_bug.cgi?id=79320
3317
3318         Reviewed by Hajime Morita.
3319
3320         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
3321         (WebKit::WebEditorClient::requestCheckingOfString):
3322         * WebProcess/WebCoreSupport/WebEditorClient.h:
3323
3324 2012-02-23  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3325
3326         [Qt] Tiling: Improve the method names dealing with moving and scaling.
3327
3328         Rubberstamped by Simon Hausmann.
3329
3330         * UIProcess/API/qt/qquickwebview.cpp:
3331         (QQuickWebViewLegacyPrivate::updateViewportSize):
3332         (QQuickWebViewFlickablePrivate::onComponentComplete):
3333         (QQuickWebViewFlickablePrivate::updateViewportSize):
3334         (QQuickWebViewFlickablePrivate::_q_commitScaleChange):
3335         (QQuickWebViewPrivate::_q_commitPositionChange):
3336         (QQuickWebViewFlickablePrivate::_q_resume):
3337         * UIProcess/API/qt/qquickwebview_p.h:
3338         * UIProcess/API/qt/qquickwebview_p_p.h:
3339         (QQuickWebViewPrivate):
3340         (QQuickWebViewPrivate::_q_commitScaleChange):
3341         (QQuickWebViewFlickablePrivate):
3342         * UIProcess/DrawingAreaProxy.h:
3343         (WebKit::DrawingAreaProxy::setVisibleContentsRectForScaling):
3344         (WebKit::DrawingAreaProxy::setVisibleContentsRectForPanning):
3345         * UIProcess/DrawingAreaProxyImpl.cpp:
3346         (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectForScaling):
3347         (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectForPanning):
3348         * UIProcess/DrawingAreaProxyImpl.h:
3349         (DrawingAreaProxyImpl):
3350         * UIProcess/LayerTreeHostProxy.h:
3351         (LayerTreeHostProxy):
3352         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
3353         (WebKit::LayerTreeHostProxy::setVisibleContentsRectForPanning):
3354         (WebKit::LayerTreeHostProxy::setVisibleContentsRectForScaling):
3355         * UIProcess/qt/QtViewportInteractionEngine.cpp:
3356         (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
3357         (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
3358         (WebKit::QtViewportInteractionEngine::wheelEvent):
3359         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
3360         * UIProcess/qt/QtViewportInteractionEngine.h:
3361         (QtViewportInteractionEngine):
3362         * WebProcess/WebPage/LayerTreeHost.h:
3363         (WebKit::LayerTreeHost::setVisibleContentsRectForScaling):
3364         (WebKit::LayerTreeHost::setVisibleContentsRectForPanning):
3365         (WebKit::LayerTreeHost::setVisibleContentsRectForLayer):
3366         * WebProcess/WebPage/LayerTreeHost.messages.in:
3367         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
3368         (WebKit::LayerTreeHostQt::setVisibleContentsRectForScaling):
3369         (WebKit::LayerTreeHostQt::setVisibleContentsRectForPanning):
3370         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
3371         (LayerTreeHostQt):
3372
3373 2012-02-24  Sergio Villar Senin  <svillar@igalia.com>
3374
3375         [WK2] [GTK] Destructor not invoked in EditorClientFrameDestructionObserver
3376         https://bugs.webkit.org/show_bug.cgi?id=79466
3377
3378         Reviewed by Philippe Normand.
3379
3380         Explicitly cast the observer before deleting it instead of just
3381         deleting a generic pointer. We must to that in order to get the
3382         destructor of the object properly called.
3383
3384         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
3385         (WebKit::EditorClientFrameDestructionObserver::destroyOnClosureFinalization):
3386
3387 2012-02-23  Andy Estes  <aestes@apple.com>
3388
3389         Rename [setS|s]uppressIncrementalRendering to [setS|s]uppressesIncrementalRendering and make it WebPreferences API.
3390         https://bugs.webkit.org/show_bug.cgi?id=79433
3391
3392         Reviewed by Dan Bernstein.
3393
3394         * Shared/WebPreferencesStore.h:
3395         (WebKit):
3396         * UIProcess/API/C/WKPreferences.cpp:
3397         (WKPreferencesSetSuppressesIncrementalRendering):
3398         (WKPreferencesGetSuppressesIncrementalRendering):
3399         * UIProcess/API/C/WKPreferences.h:
3400         * UIProcess/WebInspectorProxy.cpp:
3401         (WebKit::createInspectorPageGroup):
3402         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3403         (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
3404         * WebProcess/WebPage/WebPage.cpp:
3405         (WebKit::WebPage::updatePreferences):
3406
3407 2012-02-23  Mario Sanchez Prada  <msanchez@igalia.com>
3408
3409         [GTK] Wrong signal name on emission in WebKitWindowProperties.cpp
3410         https://bugs.webkit.org/show_bug.cgi?id=79352
3411
3412         Reviewed by Philippe Normand.
3413
3414         Emit the signal 'resizable' instead of 'resizable-visible'.
3415
3416         * UIProcess/API/gtk/WebKitWindowProperties.cpp:
3417         (webkitWindowPropertiesSetResizable): Use right signal name.
3418
3419 2012-02-23  Anders Carlsson  <andersca@apple.com>
3420
3421         Flush layer changes after layout when resizing web page
3422         https://bugs.webkit.org/show_bug.cgi?id=79399
3423         <rdar://problem/10920157>
3424
3425         Reviewed by Andreas Kling.
3426
3427         Flush layer changes after layout, otherwise the scrollbars won't be updated
3428         until sometime later which looks bad.
3429
3430         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3431         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
3432
3433 2012-02-23  Daniel Bates  <dbates@webkit.org>
3434
3435         Add missing "Reviewed by" line to change log entry for changeset r108631
3436         (https://bugs.webkit.org/show_bug.cgi?id=79252)
3437
3438         The patch landed in changeset r108631 was reviewed by Martin Robinson.
3439
3440         * ChangeLog:
3441
3442 2012-02-23  Patrick Gansterer  <paroga@webkit.org>
3443
3444         [CMake] Add WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS macro
3445         https://bugs.webkit.org/show_bug.cgi?id=79371
3446
3447         Reviewed by Daniel Bates.
3448
3449         * CMakeLists.txt:
3450
3451 2012-02-23  Simon Hausmann  <simon.hausmann@nokia.com>
3452
3453         [Qt] Add support for touch cancellation
3454         https://bugs.webkit.org/show_bug.cgi?id=79348
3455
3456         Reviewed by Kenneth Rohde Christiansen.
3457
3458         Convert and forward incoming touch cancellation events
3459         to the web process.
3460
3461         * Shared/qt/WebEventFactoryQt.cpp:
3462         (WebKit::webEventTypeForEvent):
3463         (WebKit::WebEventFactory::createWebTouchEvent):
3464         * UIProcess/API/qt/qquickwebview.cpp:
3465         (QQuickWebView::event):
3466         * UIProcess/qt/QtWebPageEventHandler.cpp:
3467         (QtWebPageEventHandler::handleEvent):
3468
3469 2012-02-23  Brent Fulgham  <bfulgham@webkit.org>
3470
3471         [WinCairo] Build fix after r108428.
3472
3473         * win/WebKit2CFLite.def: Add missing export declaration.
3474
3475 2012-02-23  Simon Hausmann  <simon.hausmann@nokia.com>
3476
3477         Unreviewed test fix after r108614: Adjust public API after changes.
3478
3479         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
3480
3481 2012-02-23  Simon Hausmann  <simon.hausmann@nokia.com>
3482
3483         [Qt] Build fix. Qt WebKit2 can not be compiled due to QtWebPageEventHandler.
3484         https://bugs.webkit.org/show_bug.cgi?id=79335
3485
3486         Reviewed by Kenneth Rohde Christiansen.
3487
3488         In the upcoming Qt 5 builds the convenient setInputMethodHints method on QQuickItem
3489         will be removed. There's no need for us to use it, we can implement passing the hints
3490         to the input method right away in our re-implementation of inputMethodQuery, which works
3491         with old and newer Qt 5 builds.
3492
3493