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