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