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