Source/WebKit2: Add API to get the parent frame in WKBundleFrameRef
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2012-01-27  Ada Chan  <adachan@apple.com>
2
3         Add API to get the parent frame in WKBundleFrameRef
4         https://bugs.webkit.org/show_bug.cgi?id=77161
5
6         Reviewed by Anders Carlsson.
7
8         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
9         (WKBundleFrameGetParentFrame): Get the parent frame by calling WebFrame::parentFrame().
10         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
11         * WebProcess/WebPage/WebFrame.cpp:
12         (WebKit::WebFrame::parentFrame): Return null if the frame does not have an owner element.
13         Otherwise, return the owner element's frame.
14         * WebProcess/WebPage/WebFrame.h:
15
16 2012-01-27  Gustavo Noronha Silva  <gns@gnome.org>
17
18         [GTK] Sometimes fails to build when using make -j
19         https://bugs.webkit.org/show_bug.cgi?id=77226
20
21         Reviewed by Martin Robinson.
22
23         * GNUmakefile.am: use a different name for the scripts used to
24         generate enum files for WebKitGTK+ and WebKit2GTK+, so they do not
25         clash;
26
27 2012-01-27  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
28
29         Fix overridePreference for WebKitHixie76WebSocketProtocolEnabled in WebKitTestRunner.
30         https://bugs.webkit.org/show_bug.cgi?id=77220
31
32         Reviewed by Noam Rosenthal.
33
34         * WebProcess/InjectedBundle/InjectedBundle.cpp:
35         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): The macro already stringify TestRunnerName.
36
37 2012-01-27  Carlos Garcia Campos  <cgarcia@igalia.com>
38
39         [GTK] Add a GKeyFile especialization to GOwnPtr
40         https://bugs.webkit.org/show_bug.cgi?id=77191
41
42         Reviewed by Martin Robinson.
43
44         * Shared/gtk/ArgumentCodersGtk.cpp:
45         (CoreIPC::decodeGKeyFile): Use GOwnPtr for GKeyFile.
46         (CoreIPC::encode): Ditto.
47         (CoreIPC::decode): Ditto.
48
49 2012-01-27  Kenneth Rohde Christiansen  <kenneth@webkit.org>
50
51         [Qt] Fade out tap highlighting when starting to pan
52         https://bugs.webkit.org/show_bug.cgi?id=77202
53
54         Reviewed by Simon Hausmann.
55
56         Basically we need to fade out the potential tap highlighting
57         when ever the gesture recognition fails or another gesture
58         is recognized. We do that with this change.
59
60         * UIProcess/qt/QtTapGestureRecognizer.cpp:
61         (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
62         (WebKit::QtTapGestureRecognizer::recognize):
63         (WebKit::QtTapGestureRecognizer::reset):
64
65             Remove reset as it does nothing but call code before the
66             event handler is installed.
67
68 2012-01-26  No'am Rosenthal  <noam.rosenthal@nokia.com> and Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
69
70         [Qt] WKTR: Use a software rendering pipiline when running tests.
71         https://bugs.webkit.org/show_bug.cgi?id=76708
72
73         Reviewed by Kenneth Rohde Christiansen.
74
75         Animation layout tests require the graphics layers tree to be updated
76         to pass. WebkitTestRunner doesn't show its wrapping QQuickView, which
77         prevents the rendering pipeline to run and then in turn blocks the web
78         process from processing further graphics layer updates.
79
80         This allows the tests to use a TextureMapperQt to empty the LayerTreeHost's
81         message queue and render the layers in software on an offscreen buffer.
82
83         * UIProcess/API/qt/qquickwebpage.cpp:
84         (QQuickWebPagePrivate::paint):
85         * UIProcess/API/qt/qquickwebview.cpp:
86         (QQuickWebViewPrivate::QQuickWebViewPrivate):
87         (QQuickWebViewPrivate::setNeedsDisplay):
88         (QQuickWebViewExperimental::setRenderToOffscreenBuffer):
89         (QQuickWebViewExperimental::renderToOffscreenBuffer):
90         * UIProcess/API/qt/qquickwebview_p.h:
91         * UIProcess/API/qt/qquickwebview_p_p.h:
92         (QQuickWebViewPrivate::setRenderToOffscreenBuffer):
93         (QQuickWebViewPrivate::renderToOffscreenBuffer):
94         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
95         (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
96
97 2012-01-27  Simon Hausmann  <simon.hausmann@nokia.com>
98
99         [Qt] Re-creating QQuickWebView starts new web process every time
100         https://bugs.webkit.org/show_bug.cgi?id=77194
101
102         Reviewed by Kenneth Rohde Christiansen.
103
104         Since the WebKit::WebContext is never fully destructed due to circular
105         references, we should use the real shared context instead of re-creating
106         a new WebContext every time.
107
108         * UIProcess/qt/QtWebContext.cpp:
109         (WebKit::QtWebContext::defaultContext):
110
111 2012-01-26  Carlos Garcia Campos  <cgarcia@igalia.com>
112
113         [GTK] Add basic printing support to WebKit2
114         https://bugs.webkit.org/show_bug.cgi?id=76172
115
116         Reviewed by Gustavo Noronha Silva.
117
118         * GNUmakefile.am: Add new files to compilation.
119         * Shared/PrintInfo.cpp:
120         (WebKit::PrintInfo::encode): Encode also GtkPrintSettings and
121         GtkPageSetup for the GTK+ port.
122         (WebKit::PrintInfo::decode): Decode also GtkPrintSettings and
123         GtkPageSetup for the GTK+ port.
124         * Shared/PrintInfo.h: Add GtkPrintSettings and GtkPageSetup member
125         for the GTK+ port.
126         * Shared/gtk/ArgumentCodersGtk.cpp:
127         (CoreIPC::encodeGKeyFile): Helper function to encode a GKeyFile as
128         a DataReference object.
129         (CoreIPC::decodeGKeyFile): Helper function to decode a GKeyFile to
130         a DataReference object.
131         (CoreIPC::encode): Encode GtkPrintSettings and GtkPageSetup using
132         the GKeyFile representation.
133         (CoreIPC::decode): Decode GtkPrintSettings and GtkPageSetup using
134         the GKeyFile representation.
135         * Shared/gtk/ArgumentCodersGtk.h:
136         * Shared/gtk/PrintInfoGtk.cpp: Copied from Source/WebKit2/Shared/PrintInfo.cpp.
137         (WebKit::PrintInfo::PrintInfo): Add PrintInfo constructor that
138         takes GtkPrintSettings and GtkPageSetup instances.
139         * UIProcess/WebPageProxy.cpp:
140         (WebKit::WebPageProxy::drawPagesForPrinting): Send
141         DrawPagesForPrinting message to Web process to start printing.
142         * UIProcess/WebPageProxy.h:
143         * WebProcess/WebPage/WebPage.cpp:
144         (WebKit::WebPage::beginPrinting): Create a WebPrintOperationGtk.
145         (WebKit::WebPage::endPrinting): Delete the WebPrintOperationGtk
146         object.
147         (WebKit::WebPage::drawPagesForPrinting): Start printing pages.
148         * WebProcess/WebPage/WebPage.h:
149         * WebProcess/WebPage/WebPage.messages.in: Add DrawPagesForPrinting message.
150         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: Added.
151         (WebKit::PrintPagesData::PrintPagesData): Struct to store all data
152         used to render pages for printing.
153         (WebKit::PrintPagesData::incrementPageSequence): Helper function
154         to increment the page sequence.
155         (WebKit::WebPrintOperationGtk::create): Create a
156         WebPrintOperationGtkUnix or WebPrintOperationGtkWin32 depending on
157         the platform.
158         (WebKit::WebPrintOperationGtk::WebPrintOperationGtk):
159         (WebKit::WebPrintOperationGtk::~WebPrintOperationGtk):
160         (WebKit::WebPrintOperationGtk::pageCount): Return the total pages
161         of the document to print.
162         (WebKit::WebPrintOperationGtk::rotatePage): Helper function to
163         transform the context according to orientation.
164         (WebKit::WebPrintOperationGtk::renderPage): Render the given page
165         into the printing context.
166         (WebKit::WebPrintOperationGtk::printPagesIdle): Idle function used
167         to print pages.
168         (WebKit::WebPrintOperationGtk::printPagesIdleDone): Callback
169         called when printPagesIdle finishes.
170         (WebKit::WebPrintOperationGtk::printDone): Helper function to
171         finish the print operation, called when all pages have been rendered.
172         (WebKit::WebPrintOperationGtk::print): Start printing the document
173         using the given cairo surface.
174         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h: Added.
175         (WebKit::WebPrintOperationGtk::printSettings):
176         (WebKit::WebPrintOperationGtk::pageSetup):
177         (WebKit::WebPrintOperationGtk::pagesToPrint):
178         (WebKit::WebPrintOperationGtk::pageRanges):
179         (WebKit::WebPrintOperationGtk::pageRangesCount):
180
181 2012-01-26  Tim Horton  <hortont424@gmail.com>
182
183         3D transformed elements hide when showing the print dialog
184         https://bugs.webkit.org/show_bug.cgi?id=45894
185         <rdar://problem/7441593>
186
187         Reviewed by Andy Estes.
188
189         Suspend updates of the compositing layer tree while printing is taking place,
190         preventing on-screen layers from moving to their print-mode positions.
191
192         * WebProcess/WebPage/WebPage.cpp:
193         (WebKit::WebPage::beginPrinting):
194         (WebKit::WebPage::endPrinting):
195         * WebProcess/WebPage/ca/LayerTreeHostCA.h:
196         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
197         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
198         (WebKit::LayerTreeHostCAMac::forceRepaint):
199         (WebKit::LayerTreeHostCAMac::flushPendingLayerChanges):
200
201 2012-01-26  Andras Becsi  <andras.becsi@nokia.com>
202
203         [Qt][WK2] Add the componentComplete method to WebView
204         https://bugs.webkit.org/show_bug.cgi?id=77111
205
206         Reviewed by Kenneth Rohde Christiansen.
207
208         Move the touch/desktop initialization to componentComplete.
209         Also return valid default values in the viewport info functions
210         if the interaction engine is not yet initialized because the
211         viewport info component could finish initialization earlier
212         than the WebView, which results in QML warnings during MiniBrowser
213         startup.
214
215         * UIProcess/API/qt/qquickwebview.cpp:
216         (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
217         (QQuickWebView::geometryChanged):
218         (QQuickWebView::componentComplete):
219         * UIProcess/API/qt/qquickwebview_p.h:
220         * UIProcess/API/qt/qwebviewportinfo.cpp:
221         (QWebViewportInfo::currentScale):
222         (QWebViewportInfo::devicePixelRatio):
223         (QWebViewportInfo::initialScale):
224         (QWebViewportInfo::minimumScale):
225         (QWebViewportInfo::maximumScale):
226         (QWebViewportInfo::isScalable):
227         (QWebViewportInfo::layoutSize):
228
229 2012-01-26  Anders Carlsson  <andersca@apple.com>
230
231         WebWheelEvent::Phase and PlatformWheelEvent::Phase declarations should match AppKit
232         https://bugs.webkit.org/show_bug.cgi?id=77123
233
234         Reviewed by Beth Dakin.
235
236         * Shared/WebEvent.h:
237         ():
238         * Shared/mac/WebEventFactory.mm:
239         (WebKit::phaseForEvent):
240
241 2012-01-26  Andras Becsi  <andras.becsi@nokia.com>
242
243         ASSERT(!m_overlay) reached in TapHighlightController.cpp:73
244         https://bugs.webkit.org/show_bug.cgi?id=77117
245
246         Reviewed by Tor Arne Vestbø.
247
248         The PageOverlay does only get uninstalled after the fade-out animation finishes,
249         so do not assert on !m_overlay after the uninstallPageOverlay call.
250
251         * WebProcess/WebPage/TapHighlightController.cpp:
252         (WebKit::TapHighlightController::hideHighlight):
253
254 2012-01-26  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
255
256         WebPreferencesStore: use DEFINE_STATIC_LOCAL for overrides HashMap
257         https://bugs.webkit.org/show_bug.cgi?id=77109
258
259         Reviewed by Andreas Kling.
260
261         Fix build for Clang.
262
263         * Shared/WebPreferencesStore.cpp:
264         (WebKit):
265         (WebKit::boolTestRunnerOverridesMap):
266         (WebKit::WebPreferencesStore::overrideBoolValueForKey):
267         (WebKit::WebPreferencesStore::removeTestRunnerOverrides):
268         (WebKit::WebPreferencesStore::getBoolValueForKey):
269
270 2012-01-26  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
271
272         Implement overridePreference for boolean preferences in WebKitTestRunner
273         https://bugs.webkit.org/show_bug.cgi?id=77033
274
275         Reviewed by Alexey Proskuryakov.
276
277         Implement a way to WebKitTestRunner override preferences for the pages
278         loaded. Follows the same approach taken by
279         overrideXSSAuditorEnabledForTestRunner() from r66551, but generalizing to many
280         preferences.
281
282         Preferences are stored in the UI process using WebPreferencesStore, and when
283         there's a change, this data is sent to Web process, triggering
284         WebPage::preferencesDidChange(), which take a WebPreferencesStore and apply it's
285         data to the WebCore::Settings object.
286
287         The overridePreference() is executed on the Web process, and set the preferences
288         without communicating to the UI process. The overriden preferences are stored in
289         a static map and WebPreferencesStore query this map before returning the values
290         of each preference. This static map is used only on the Web process.
291
292         To clear the overrides we need to clear the map. Since WTR only sets preferences
293         when resetting the page, we hook the clearing at WebPage::preferencesDidChange().
294         A WKPreferences private function was exposed to WTR force the update, in case
295         there's no effective change at UI process (all the properties remains the same).
296
297         This clearing could be improved by creating a proper message instead of hooking
298         at WebPage::preferencesDidChange().
299
300         * Shared/WebPreferencesStore.cpp:
301         (WebKit::WebPreferencesStore::decode):
302         (WebKit::WebPreferencesStore::overrideBoolValueForKey):
303         (WebKit::WebPreferencesStore::removeTestRunnerOverrides):
304         (WebKit::WebPreferencesStore::getBoolValueForKey):
305         * Shared/WebPreferencesStore.h:
306         * UIProcess/API/C/WKPreferences.cpp:
307         (WKPreferencesResetTestRunnerOverrides):
308         * UIProcess/API/C/WKPreferencesPrivate.h:
309         * UIProcess/WebPreferences.h:
310         (WebKit::WebPreferences::forceUpdate):
311         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
312         (WKBundleOverrideBoolPreferenceForTestRunner):
313         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
314         * WebProcess/InjectedBundle/InjectedBundle.cpp:
315         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
316         (WebKit::InjectedBundle::overrideXSSAuditorEnabledForTestRunner):
317         * WebProcess/InjectedBundle/InjectedBundle.h:
318
319 2012-01-26  Carlos Garcia Campos  <cgarcia@igalia.com>
320
321         [GTK][WK2] Primary clipboard should be updated with the current selection in X11 platforms
322         https://bugs.webkit.org/show_bug.cgi?id=77097
323
324         Reviewed by Martin Robinson.
325
326         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
327         (WebKit::WebEditorClient::respondToChangedSelection): Call
328         setSelectionPrimaryClipboardIfNeeded() to update primary clipboard
329         in X11 platforms.
330         * WebProcess/WebCoreSupport/WebEditorClient.h:
331         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
332         (WebKit::collapseSelection): Callback called when clearing
333         clipboard contents.
334         (WebKit::WebEditorClient::setSelectionPrimaryClipboardIfNeeded):
335         Updaye primary clipboard with the current selection.
336
337 2012-01-26  Zeno Albisser  <zeno@webkit.org>
338
339         [Qt][WK2] Use QVariant for payload data in application URL schemes.
340         https://bugs.webkit.org/show_bug.cgi?id=77007
341
342         Make application schemes use QVariant for payload data.
343         This allows passing QByteArrays as well as simple String data.
344
345         Remove unneeded http header parts that were exposed in
346         QQuickNetworkReply.
347
348         Add ByteArrayTestData class to allow injecting QByteArray
349         data into an application scheme handler for testing.
350
351         Reviewed by Simon Hausmann.
352
353         * Shared/qt/QtNetworkReplyData.cpp:
354         (WebKit::QtNetworkReplyData::QtNetworkReplyData):
355         (WebKit::QtNetworkReplyData::encode):
356         (WebKit::QtNetworkReplyData::decode):
357         * Shared/qt/QtNetworkReplyData.h:
358         * UIProcess/API/qt/qquicknetworkreply.cpp:
359         (QQuickNetworkReply::QQuickNetworkReply):
360         (QQuickNetworkReply::data):
361         (QQuickNetworkReply::setData):
362         (QQuickNetworkReply::send):
363         * UIProcess/API/qt/qquicknetworkreply_p.h:
364         * UIProcess/API/qt/tests/bytearraytestdata.cpp: Added.
365         (ByteArrayTestData::ByteArrayTestData):
366         (ByteArrayTestData::latin1Data):
367         (ByteArrayTestData::utf8Data):
368         * UIProcess/API/qt/tests/bytearraytestdata.h: Added.
369         * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
370         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
371         (main):
372         * UIProcess/API/qt/tests/tests.pri:
373         * WebProcess/qt/QtNetworkReply.cpp:
374         (WebKit::QtNetworkReply::setReplyData):
375         * WebProcess/qt/QtNetworkReply.h:
376
377 2012-01-26  Thiago Marcos P. Santos  <tmpsantos@gmail.com>
378
379         [Qt] Fixed build when using force_static_libs_as_shared
380         https://bugs.webkit.org/attachment.cgi?bugid=77082
381
382         Reviewed by Simon Hausmann.
383
384         * Target.pri:
385
386 2012-01-26  Nándor Huszka  <huszka.nandor@stud.u-szeged.hu>
387
388         [WK2] WebKitTestRunner needs layoutTestController.setGeolocationPermission
389         https://bugs.webkit.org/show_bug.cgi?id=42545
390
391         Reviewed by Zoltan Herczeg.
392
393         Implement the setGeolocationPermission method.
394
395         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
396         (WKBundleSetGeolocationPermission):
397         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
398         * WebProcess/InjectedBundle/InjectedBundle.cpp:
399         (WebKit::InjectedBundle::setGeoLocationPermission):
400         (WebKit):
401         * WebProcess/InjectedBundle/InjectedBundle.h:
402         (InjectedBundle):
403
404 2012-01-25  Mark Rowe  <mrowe@apple.com>
405
406         Build in to an alternate location when USE_STAGING_INSTALL_PATH is set.
407
408         <rdar://problem/10609417> Adopt USE_STAGING_INSTALL_PATH
409
410         Reviewed by David Kilzer.
411
412         * Configurations/BaseTarget.xcconfig: Define NORMAL_WEBKIT2_FRAMEWORKS_DIR, which contains
413         the path where WebKit is normally installed. Update WEBKIT2_FRAMEWORKS_DIR to point to
414         the staged frameworks directory when USE_STAGING_INSTALL_PATH is set. Update
415         UMBRELLA_FRAMEWORKS_DIR so we can find WebCore at the top level of the staged frameworks
416         directory when USE_STAGING_INSTALL_PATH is set, rather than finding it embedded inside of
417         WebKit.framework.
418         * Configurations/PluginProcess.xcconfig: Set our install path based on WEBKIT2_FRAMEWORKS_DIR.
419         * Configurations/WebKit2.xcconfig: Set our install path based on WEBKIT2_FRAMEWORKS_DIR.
420         Always set the framework's install name based on the normal framework location. This prevents
421         an incorrect install name from being used when installing in to the staged frameworks directory.
422         * Configurations/WebProcess.xcconfig: Set our install path based on WEBKIT2_FRAMEWORKS_DIR.
423
424 2012-01-25  No'am Rosenthal  <noam.rosenthal@nokia.com>
425
426         [WK2][Qt] REGRESSION: Pages with transform animations sometimes omit some of the layers since r105413
427         https://bugs.webkit.org/show_bug.cgi?id=76886
428
429         Reviewed by Kenneth Rohde Christiansen.
430
431         We now render the whole layer if it or one if its ancestors has an active transform
432         animations. It's possible to optimize further in the future, but not currently necessary.
433         Also, we make sure that when a WebGraphicsLayer's property that affects transformation is
434         changed, all its descandants layers are marked as modified so that we re-adjust their
435         visible rect in the next pass.
436
437         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
438         (WebCore::WebGraphicsLayer::notifyChangeRecursively):
439         (WebCore):
440         (WebCore::WebGraphicsLayer::setPosition):
441         (WebCore::WebGraphicsLayer::setAnchorPoint):
442         (WebCore::WebGraphicsLayer::setSize):
443         (WebCore::WebGraphicsLayer::setTransform):
444         (WebCore::WebGraphicsLayer::setChildrenTransform):
445         (WebCore::WebGraphicsLayer::setPreserves3D):
446         (WebCore::WebGraphicsLayer::setMasksToBounds):
447         (WebCore::WebGraphicsLayer::addAnimation):
448         (WebCore::WebGraphicsLayer::removeAnimation):
449         (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
450         (WebCore::WebGraphicsLayer::selfOrAncestorHasActiveTransformAnimations):
451         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
452         (WebGraphicsLayer):
453
454 2012-01-25  Hajime Morita  <morrita@google.com>
455
456         ENABLE_SHADOW_DOM should be available via build-webkit --shadow-dom
457         https://bugs.webkit.org/show_bug.cgi?id=76863
458
459         Reviewed by Dimitri Glazkov.
460
461         Added a feature flag.
462
463         * Configurations/FeatureDefines.xcconfig:
464
465 2012-01-25  Martin Robinson  <mrobinson@igalia.com>
466
467         [WK2] Navigation events not triggered by a mouse event claim to be triggered by the left mouse button during policy decisions
468         https://bugs.webkit.org/show_bug.cgi?id=76344
469
470         Reviewed by Sam Weinig.
471
472         When creating InjectedBundleNavigationActions, initialize the mouse button to NoButton.
473         This ensures that when there is no mouse event associated with the action, when the event
474         hits the client-API layer, the button is still NoButton.
475
476         * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
477         (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction): Initialize m_mouseButton
478         to WebMouseEvent::NoButton.
479
480 2012-01-25  Kenneth Rohde Christiansen  <kenneth@webkit.org>
481
482         [Qt] Implement tap feedback respecting -webkit-tap-highlight-color
483         https://bugs.webkit.org/show_bug.cgi?id=76914
484
485         Reviewed by Simon Hausmann.
486
487         Implement tap highlighting for Qt. When a touch press is issued,
488         which is not handled by the web page, then we highlight any
489         activatable node below. In all otehr cases, we hide any highlights.
490
491         The highlighting itself is painted on an accelerated PageOverlay,
492         on the web process side.
493
494         * Target.pri:
495         * UIProcess/WebPageProxy.cpp:
496         (WebKit::WebPageProxy::handlePotentialActivation):
497         * UIProcess/WebPageProxy.h:
498         * UIProcess/qt/QtTapGestureRecognizer.cpp:
499         (WebKit::QtTapGestureRecognizer::recognize):
500         * UIProcess/qt/QtWebPageEventHandler.cpp:
501         (QtWebPageEventHandler::handlePotentialSingleTapEvent):
502         * UIProcess/qt/QtWebPageEventHandler.h:
503         * WebProcess/WebPage/TapHighlightController.cpp: Added.
504         (WebKit::TapHighlightController::TapHighlightController):
505         (WebKit::TapHighlightController::~TapHighlightController):
506         (WebKit::TapHighlightController::highlight):
507         (WebKit::TapHighlightController::hideHighlight):
508         (WebKit::TapHighlightController::pageOverlayDestroyed):
509         (WebKit::TapHighlightController::willMoveToWebPage):
510         (WebKit::TapHighlightController::didMoveToWebPage):
511         (WebKit::highlightColor):
512         (WebKit::TapHighlightController::drawRect):
513         (WebKit::TapHighlightController::mouseEvent):
514         * WebProcess/WebPage/TapHighlightController.h: Added.
515         * WebProcess/WebPage/WebPage.cpp:
516         (WebKit::WebPage::WebPage):
517         (WebKit::WebPage::highlightPotentialActivation):
518         * WebProcess/WebPage/WebPage.h:
519         (WebKit::WebPage::tapHighlightController):
520         * WebProcess/WebPage/WebPage.messages.in:
521
522 2012-01-25  Nándor Huszka  <huszka.nandor@stud.u-szeged.hu>
523
524         [WK2] WebKitTestRunner needs layoutTestController.setPopupBlockingEnabled
525         https://bugs.webkit.org/show_bug.cgi?id=63458
526
527         Reviewed by Adam Roben.
528
529         Implement the setPopupBlockingEnabled method.
530
531         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
532         (WKBundleSetPrivateBrowsingEnabled):
533         (WKBundleSetPopupBlockingEnabled):
534         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
535         * WebProcess/InjectedBundle/InjectedBundle.cpp:
536         (WebKit::InjectedBundle::setPopupBlockingEnabled):
537         * WebProcess/InjectedBundle/InjectedBundle.h:
538
539 2012-01-25  Yael Aharon  <yael.aharon@nokia.com>
540
541         [Qt] Build fix when using force_static_libs_as_shared
542         https://bugs.webkit.org/show_bug.cgi?id=76832
543
544         Reviewed by Simon Hausmann.
545
546         Add a dependency on QtWidgets.
547
548         * Target.pri:
549
550 2012-01-24  Sergio Villar Senin  <svillar@igalia.com>
551
552         [WK2] FindController should not assume that ports do not want to highlight text matches
553         https://bugs.webkit.org/show_bug.cgi?id=76921
554
555         Reviewed by Darin Adler.
556
557         FindController must obey the FindOptionsShowHighlight flag instead
558         of assuming that ports do not want to highlight search matches.
559
560         * Shared/API/c/WKFindOptions.h: added kWKFindOptionsShowHighlight.
561         * Shared/API/c/WKSharedAPICast.h:
562         (WebKit::toFindOptions): Ditto.
563         * Shared/WebFindOptions.h: added FindOptionsShowHighlight.
564         * WebProcess/WebPage/FindController.cpp:
565         (WebKit::FindController::findString):
566
567 2012-01-25  Carlos Garcia Campos  <cgarcia@igalia.com>
568
569         [GTK] Page clients don't need to be GObjects anymore in WebKit2 GTK+ API
570         https://bugs.webkit.org/show_bug.cgi?id=76899
571
572         Reviewed by Martin Robinson.
573
574         * UIProcess/API/gtk/WebKitLoaderClient.cpp: Renamed from
575         Source/WebKit2/UIProcess/API/gtk/WebKitWebLoaderClient.cpp.
576         (didStartProvisionalLoadForFrame): Use clientInfo instead fo
577         getting the view from the page.
578         (didReceiveServerRedirectForProvisionalLoadForFrame): Ditto.
579         (didFailProvisionalLoadWithErrorForFrame): Ditto.
580         (didCommitLoadForFrame): Ditto.
581         (didFinishLoadForFrame): Ditto.
582         (didFailLoadWithErrorForFrame): Ditto.
583         (didSameDocumentNavigationForFrame): Ditto.
584         (didReceiveTitleForFrame): Ditto.
585         (didChangeProgress): Ditto.
586         (didChangeBackForwardList): Ditto.
587         (attachLoaderClientToView): Pass WebKitWebView as clientInfo to
588         callbacks.
589         * UIProcess/API/gtk/WebKitLoaderClient.h: Added.
590         * UIProcess/API/gtk/WebKitUIClient.cpp:
591         (createNewPage): Use clientInfo instead fo getting the view from
592         the page.
593         (showPage): Ditto.
594         (closePage): Ditto.
595         (runJavaScriptAlert): Ditto.
596         (runJavaScriptConfirm): Ditto.
597         (runJavaScriptPrompt): Ditto.
598         (toolbarsAreVisible): Ditto.
599         (setToolbarsAreVisible): Ditto.
600         (menuBarIsVisible): Ditto.
601         (setMenuBarIsVisible): Ditto.
602         (statusBarIsVisible): Ditto.
603         (setStatusBarIsVisible): Ditto.
604         (isResizable): Ditto.
605         (setIsResizable): Ditto.
606         (getWindowFrame): Ditto.
607         (setWindowFrame): Ditto.
608         (attachUIClientToView): Pass WebKitWebView as clientInfo to
609         callbacks.
610         * UIProcess/API/gtk/WebKitUIClient.h: Remove GObject boilerplate.
611         * UIProcess/API/gtk/WebKitWebLoaderClient.h: Removed.
612         * UIProcess/API/gtk/WebKitWebView.cpp:
613         (webkitWebViewConstructed): Remove UIClient and LoaderClient
614         objects and call attachUIClientToView() and attachLoaderClientToView().
615         * UIProcess/API/gtk/tests/GNUmakefile.am: Rename
616         WebKitWebLoaderClient to WebKitLoaderClient.
617         * UIProcess/API/gtk/tests/TestLoaderClient.cpp: Renamed from
618         Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp.
619
620 2012-01-25  Roland Steiner  <rolandsteiner@chromium.org>
621
622         <style scoped>: Implement registering of <style scoped> with the scoping element
623         https://bugs.webkit.org/show_bug.cgi?id=67790
624
625         Add symbols for windows.internals.numberOfScopedHTMLStyleChildren
626
627         Reviewed by Dimitri Glazkov.
628
629         * win/WebKit2.def:
630         * win/WebKit2CFLite.def:
631
632 2012-01-24  Beth Dakin  <bdakin@apple.com>
633
634         https://bugs.webkit.org/show_bug.cgi?id=76928
635         Accelerated drawing should force compositing mode
636         -and corresponding-
637         <rdar://problem/10697417>
638
639         Reviewed by Simon Fraser.
640
641         * WebProcess/WebPage/WebPage.cpp:
642         (WebKit::WebPage::updatePreferences):
643
644 2012-01-24  Alexis Menard  <alexis.menard@openbossa.org>
645
646         Unreviewed build fix for Qt.
647
648         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
649         (WebKit::LayerTreeHostQt::showDebugBorders):
650         (WebKit::LayerTreeHostQt::showRepaintCounter):
651
652 2012-01-23  Simon Fraser  <simon.fraser@apple.com>
653
654         Show layer borders for scrollbar layers
655         https://bugs.webkit.org/show_bug.cgi?id=76888
656
657         Reviewed by Beth Dakin.
658         
659         Update for new signatures of GraphicsLayerClient::showDebugBorders()
660         and GraphicsLayerClient::showRepaintCounter().
661
662         * UIProcess/LayerTreeHostProxy.h:
663         (WebKit::LayerTreeHostProxy::showDebugBorders):
664         (WebKit::LayerTreeHostProxy::showRepaintCounter):
665         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
666         (WebKit::LayerTreeHostCA::showDebugBorders):
667         (WebKit::LayerTreeHostCA::showRepaintCounter):
668         * WebProcess/WebPage/ca/LayerTreeHostCA.h:
669         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
670
671 2012-01-24  David Levin  <levin@chromium.org>
672
673         [windows] Convert usage of GetDC to HWndDC Part 3.
674         https://bugs.webkit.org/show_bug.cgi?id=76889
675
676         Reviewed by Adam Roben.
677
678         * UIProcess/win/WebPopupMenuProxyWin.cpp:
679         (WebKit::WebPopupMenuProxyWin::paint): Fix a dc leak and use the dellayed allocation.
680
681 2012-01-24  Sergio Villar Senin  <svillar@igalia.com>
682
683         [WK2] [GTK] TestDownloads hitting an assertion in Debug builds
684         https://bugs.webkit.org/show_bug.cgi?id=76915
685
686         Reviewed by Martin Robinson.
687
688         No new tests required as it fixes some assertions in a unit test.
689
690         * WebProcess/Downloads/soup/DownloadSoup.cpp:
691         (WebKit::Download::start):
692         (WebKit::Download::startWithHandle):
693
694 2012-01-24  No'am Rosenthal  <noam.rosenthal@nokia.com>
695
696         [Qt][WK2] Qt's cross-process AC copies images excessively when updating tiles.
697         https://bugs.webkit.org/show_bug.cgi?id=76877
698
699         Reviewed by Kenneth Rohde Christiansen.
700
701         Instead of copying QImages, pass a reference to the ShareableBitmap that was originally
702         created by the web process. Also, swizzle the image's RGB in the web process, before it's
703         transferred to the UI process.
704
705         Data flow before change:
706         (Web Process) Render to image -> IPC -> (UI Process) Copy (render queue) -> Copy Swizzled RGB -> Upload
707
708         Data flow after change:
709         (Web Process) Render to image -> swizzle RGB -> IPC -> (UI Process) -> Upload
710
711         * Shared/ShareableBitmap.h:
712         * Shared/qt/ShareableBitmapQt.cpp:
713         (WebKit::ShareableBitmap::swizzleRGB):
714         * UIProcess/LayerTreeHostProxy.h:
715         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
716         (WebKit::LayerTreeHostProxy::updateTile):
717         (WebKit::LayerTreeHostProxy::createImage):
718         (WebKit::LayerTreeHostProxy::syncRemoteContent):
719         (WebKit::LayerTreeHostProxy::updateTileForLayer):
720         (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
721         (WebKit::LayerTreeHostProxy::purgeGLResources):
722         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
723         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
724         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
725         (WebKit::LayerTreeHostQt::adoptImageBackingStore):
726
727 2012-01-24  Rafael Brandao  <rafael.lobo@openbossa.org>
728
729         [Qt][WK2] QtWebIconDatabaseClient leaves a dangling pointer on WebIconDatabase after its destruction
730         https://bugs.webkit.org/show_bug.cgi?id=76399
731
732         Reviewed by Simon Hausmann.
733
734         Due a circular dependency between WebContext and WebProcessProxy, WebContext it not
735         being destroyed, neither WebIconDatabase. As QtWebIconDatabaseClient's life time is the same
736         as QtWebContext and this one is being destroyed, the remaining reference to our client
737         on WebIconDatabase should be cleaned upon its destruction.
738
739         * UIProcess/qt/QtWebIconDatabaseClient.cpp:
740         (QtWebIconDatabaseClient::QtWebIconDatabaseClient):
741         (QtWebIconDatabaseClient::~QtWebIconDatabaseClient): Clear client pointer on WebIconDatabase.
742         * UIProcess/qt/QtWebIconDatabaseClient.h: Make this client hold a reference to WebIconDatabase.
743
744 2012-01-24  Zeno Albisser  <zeno@webkit.org>
745
746         [Qt][WK2] Add test for application URL schemes.
747         https://bugs.webkit.org/show_bug.cgi?id=74933
748
749         Add a test that checks handling of url strings.
750         Add a test that verifies replies in case of multiple
751         available application url schemes.
752
753         Reviewed by Kenneth Rohde Christiansen.
754
755         * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
756
757 2012-01-24  Carlos Garcia Campos  <cgarcia@igalia.com>
758
759         [GTK] Fix /webkit2/WebKitWebView/reload after r105688
760         https://bugs.webkit.org/show_bug.cgi?id=76898
761
762         Reviewed by Alejandro G. Castro.
763
764         * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
765         (LoadTrackingTest::reload): Add reload method that clears events
766         and initializes progress.
767         * UIProcess/API/gtk/tests/LoadTrackingTest.h:
768         * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
769         (testWebViewReload): Use LoadTrackingTest::reload() instead of
770         webkit_web_view_reload().
771
772 2012-01-24  Simon Hausmann  <simon.hausmann@nokia.com>
773
774         Some qmake build files must include Qt5's "quick" module.
775         https://bugs.webkit.org/show_bug.cgi?id=76671
776
777         Unreviewed build fix.
778
779         * UIProcess/API/qt/tests/tests.pri:
780
781 2012-01-24  Zeno Albisser  <zeno@webkit.org>
782
783         [Qt][WK2] Application URL schemes cause asserts when using debug.
784         https://bugs.webkit.org/show_bug.cgi?id=76700
785
786         Instances of QtNetworkRequestData / QtNetworkReplyData are meant
787         to be used for transfering data over IPC. To allow transferring
788         instances of these classes over IPC they need to be copyable,
789         and it must be possible to create such instances on the stack.
790         Because classes that inherit from RefCounted always need to be
791         used in connection with RefPtr, QtNetworkRequestData and
792         QtNetworkReplyData cannot inherit directly from RefCounted.
793
794         Deleting an object that inherits from RefCounted, without
795         the proper sequence of ref()/deref() being called by it's
796         RefPtr, causes asserts when running a debug version.
797
798         Reviewed by Simon Hausmann.
799
800         * Shared/qt/QtNetworkReplyData.h:
801         (WebKit::QtRefCountedNetworkReplyData::data):
802         * Shared/qt/QtNetworkRequestData.cpp:
803         (WebKit::QtRefCountedNetworkRequestData::QtRefCountedNetworkRequestData):
804         * Shared/qt/QtNetworkRequestData.h:
805         (WebKit::QtRefCountedNetworkRequestData::data):
806         * Target.pri:
807         * UIProcess/API/qt/qquicknetworkreply.cpp:
808         (QQuickNetworkReply::QQuickNetworkReply):
809         (QQuickNetworkReply::contentType):
810         (QQuickNetworkReply::setContentType):
811         (QQuickNetworkReply::operation):
812         (QQuickNetworkReply::setOperation):
813         (QQuickNetworkReply::contentDisposition):
814         (QQuickNetworkReply::setContentDisposition):
815         (QQuickNetworkReply::location):
816         (QQuickNetworkReply::setLocation):
817         (QQuickNetworkReply::lastModified):
818         (QQuickNetworkReply::setLastModified):
819         (QQuickNetworkReply::cookie):
820         (QQuickNetworkReply::setCookie):
821         (QQuickNetworkReply::userAgent):
822         (QQuickNetworkReply::setUserAgent):
823         (QQuickNetworkReply::server):
824         (QQuickNetworkReply::setServer):
825         (QQuickNetworkReply::data):
826         (QQuickNetworkReply::setData):
827         (QQuickNetworkReply::send):
828         (QQuickNetworkReply::networkRequestData):
829         (QQuickNetworkReply::setNetworkRequestData):
830         (QQuickNetworkReply::networkReplyData):
831         * UIProcess/API/qt/qquicknetworkreply_p.h:
832         * UIProcess/API/qt/qquicknetworkrequest.cpp:
833         (QQuickNetworkRequest::QQuickNetworkRequest):
834         (QQuickNetworkRequest::setNetworkRequestData):
835         (QQuickNetworkRequest::url):
836         * UIProcess/API/qt/qquicknetworkrequest_p.h:
837         * UIProcess/API/qt/qquickwebview.cpp:
838         (QQuickWebViewExperimental::invokeApplicationSchemeHandler):
839         * UIProcess/API/qt/qquickwebview_p.h:
840         * UIProcess/WebPageProxy.h:
841         * UIProcess/qt/QtPageClient.cpp:
842         (QtPageClient::handleApplicationSchemeRequest):
843         * UIProcess/qt/QtPageClient.h:
844         * UIProcess/qt/WebPageProxyQt.cpp:
845         (WebKit::WebPageProxy::resolveApplicationSchemeRequest):
846         (WebKit::WebPageProxy::sendApplicationSchemeReply):
847         * WebProcess/qt/QtNetworkReply.cpp:
848         (WebKit::QtNetworkReply::setData):
849         (WebKit::QtNetworkReply::readData):
850
851 2012-01-24  Carlos Garcia Campos  <cgarcia@igalia.com>
852
853         [GTK] Implement DownloadClient in WebKit2 GTK+ API
854         https://bugs.webkit.org/show_bug.cgi?id=72952
855
856         Reviewed by Martin Robinson.
857
858         * GNUmakefile.am: Add new files to compilation.
859         * UIProcess/API/gtk/WebKitDownloadClient.cpp: Added.
860         (didStart): Call webkitWebContextDownloadStarted().
861         (didReceiveResponse): Call webkitDownloadSetResponse() with the
862         received response.
863         (didReceiveData): Call webkitDownloadNotifyProgress().
864         (decideDestinationWithSuggestedFilename): Call
865         webkitDownloadDecideDestinationWithSuggestedFilename().
866         (didCreateDestination): Call webkitDownloadDestinationCreated().
867         (didFail): Call webkitDownloadFailed() or
868         webkitDownloadCancelled() if the download was cancelled before
869         failing.
870         (didCancel): Call webkitDownloadCancelled().
871         (didFinish): Call webkitDownloadFinished().
872         (attachDownloadClientToContext): Add
873         implementation for download client callbacks.
874         * UIProcess/API/gtk/WebKitDownloadClient.h: Added.
875         * UIProcess/API/gtk/WebKitError.cpp:
876         (webkit_download_error_quark): Add quark for download errors.
877         * UIProcess/API/gtk/WebKitError.h:
878         * UIProcess/API/gtk/WebKitWebContext.cpp:
879         (webkit_web_context_class_init): Add download-started signal.
880         (createDefaultWebContext): Initialize the download client.
881         (downloadsMap): HashMap containing download objects for all
882         ongoing download operations.
883         (webkit_web_context_download_uri): Start a new download for the
884         given URI.
885         (webkitWebContextGetOrCreateDownload): Helper function to create a
886         new download object or return the existing one from the downloads map.
887         (webkitWebContextRemoveDownload): Remove the download object from
888         the downloads map.
889         (webkitWebContextDownloadStarted): Emit
890         WebKitWebContext::download-started for the given download object.
891         * UIProcess/API/gtk/WebKitWebContext.h:
892         * UIProcess/API/gtk/WebKitWebContextPrivate.h:
893         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
894         * UIProcess/API/gtk/tests/GNUmakefile.am: Add new test for downloads.
895         * UIProcess/API/gtk/tests/TestDownloads.cpp: Added.
896         (getWebKit1TestResoucesDir):
897         (testDownloadLocalFile):
898         (testDownloadLocalFileError):
899         (serverCallback):
900         (testDownloadRemoteFile):
901         (testDownloadRemoteFileError):
902         (beforeAll):
903         (afterAll):
904
905 2012-01-23  Carlos Garcia Campos  <cgarcia@igalia.com>
906
907         [GTK] Add WebKitDownload to WebKit2 GTK+ API
908         https://bugs.webkit.org/show_bug.cgi?id=72949
909
910         Reviewed by Martin Robinson.
911
912         * GNUmakefile.am: Add new files to compilation.
913         * UIProcess/API/gtk/WebKitDownload.cpp: Added.
914         (webkitDownloadFinalize):
915         (webkitDownloadGetProperty):
916         (webkitDownloadDecideDestination):
917         (webkit_download_init):
918         (webkit_download_class_init):
919         (webkitDownloadCreate): Create a new WebKitDownload for a given
920         WKDownloadRef.
921         (webkitDownloadSetResponse): Set the network response of the
922         download.
923         (webkitDownloadIsCancelled): Whether the download has been
924         cancelled by the user.
925         (webkitDownloadNotifyProgress): Emit notify::estimated-progress if
926         needed.
927         (webkitDownloadFailed): Emit WebKitDownload::failed with the given
928         error.
929         (webkitDownloadCancelled): Emit WebKitDownload::failed with
930         cancelled error.
931         (webkitDownloadFinished): Emit WebKitDownload::finished.
932         (webkitDownloadDecideDestinationWithSuggestedFilename): Emit
933         WebKitDownload::decide-destination.
934         (webkitDownloadDestinationCreated): Emit
935         WebKitDownload::created-destination.
936         (webkit_download_get_destination): Return the destination URI of
937         the download.
938         (webkit_download_set_destination): Set the destination URI of the
939         download.
940         (webkit_download_get_response): Return the response received by
941         the server.
942         (webkit_download_cancel): Cancel the download.
943         (webkit_download_get_estimated_progress): Return the estimated
944         progress.
945         (webkit_download_get_elapsed_time): Return the time elapsed since
946         the download started.
947         * UIProcess/API/gtk/WebKitDownload.h: Added.
948         * UIProcess/API/gtk/WebKitDownloadPrivate.h: Added.
949         * UIProcess/API/gtk/WebKitPrivate.h:
950         * UIProcess/API/gtk/WebKitURIResponse.cpp:
951         (webkitURIResponseGetResourceResponse):
952         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
953         * UIProcess/API/gtk/docs/webkit2gtk.types: Add
954         webkit_download_get_type().
955         * UIProcess/API/gtk/webkit2.h: Include WebKitDownload.h.
956         * UIProcess/API/gtk/webkit2marshal.list:
957
958 2012-01-23  Geoffrey Garen  <ggaren@apple.com>
959
960         JSValue::toString() should return a JSString* instead of a UString
961         https://bugs.webkit.org/show_bug.cgi?id=76861
962
963         Reviewed by Gavin Barraclough.
964
965         Mechanical changes to call value() after calling toString(), to
966         convert from "JS string" (JSString*) to "C++ string" (UString), since
967         toString() no longer returns a "C++ string".
968
969         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
970         (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
971
972 2012-01-23  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
973
974         [Qt][WK2] QQuickWebView is initializing touch mode twice while being constructed
975         https://bugs.webkit.org/show_bug.cgi?id=76859
976
977         Reviewed by Kenneth Rohde Christiansen.
978
979         Removing d->initializeTouch() from QQuickWebView::QQuickWebView()
980         since in QQuickWebViewPrivate::initialize() there is a call for
981         setUseTraditionalDesktopBehaviour(false), which will call initializeTouch.
982
983         * UIProcess/API/qt/qquickwebview.cpp:
984         (QQuickWebView::QQuickWebView):
985
986 2012-01-23  Martin Robinson  <mrobinson@igalia.com>
987
988         [GTK][WK2] Make the LoadTracking and WebView test fixtures more flexible
989         https://bugs.webkit.org/show_bug.cgi?id=76755
990
991         Reviewed by Alejandro G. Castro.
992
993         Always clear the loading events when loading new content in the load tracking
994         test. In the WebView test correctly handle loading HTML with a URL that isn't
995         "about:blank."
996
997         * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
998         (LoadTrackingTest::loadURI): Reset the class state when starting a new load.
999         (LoadTrackingTest::loadHtml): Ditto.
1000         (LoadTrackingTest::loadPlainText): Ditto.
1001         (LoadTrackingTest::loadRequest): Ditto.
1002         * UIProcess/API/gtk/tests/LoadTrackingTest.h: Added new method definitions.
1003         * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
1004         (assertNormalLoadHappened): No longer clear loading events. The fixture handles that now.
1005         (testLoadHtml): Update to reflect new method name.
1006         (testLoadPlainText): Ditto.
1007         (testLoadRequest): Ditto.
1008         (testWebViewReload): Ditto.
1009         * UIProcess/API/gtk/tests/WebViewTest.cpp:
1010         (WebViewTest::loadHtml): Properly interpret the baseURL parameter.
1011         * UIProcess/API/gtk/tests/WebViewTest.h: Make loading methods virtual.
1012
1013 2012-01-23  Alexander Færøy  <alexander.faeroy@nokia.com>
1014
1015         [Qt] Implement SSL error handling QML API.
1016         https://bugs.webkit.org/show_bug.cgi?id=76793
1017
1018         Reviewed by Simon Hausmann.
1019
1020         This patch implements support for accepting or rejecting invalid SSL
1021         certificates from the QML API.
1022
1023         * UIProcess/API/qt/qquickwebview.cpp:
1024         (QQuickWebViewPrivate::QQuickWebViewPrivate):
1025         (QQuickWebViewPrivate::handleCertificateVerificationRequest):
1026         (QQuickWebViewExperimental::certificateVerificationDialog):
1027         (QQuickWebViewExperimental::setCertificateVerificationDialog):
1028         * UIProcess/API/qt/qquickwebview_p.h:
1029         * UIProcess/API/qt/qquickwebview_p_p.h:
1030         * UIProcess/PageClient.h:
1031         * UIProcess/WebPageProxy.cpp:
1032         (WebKit::WebPageProxy::certificateVerificationRequest):
1033         * UIProcess/WebPageProxy.h:
1034         * UIProcess/WebPageProxy.messages.in:
1035         * UIProcess/qt/QtDialogRunner.cpp:
1036         (CertificateVerificationDialogContextObject::CertificateVerificationDialogContextObject):
1037         (CertificateVerificationDialogContextObject::hostname):
1038         (CertificateVerificationDialogContextObject::accept):
1039         (CertificateVerificationDialogContextObject::reject):
1040         (QtDialogRunner::initForCertificateVerification):
1041         * UIProcess/qt/QtDialogRunner.h:
1042         * UIProcess/qt/QtPageClient.cpp:
1043         (QtPageClient::handleCertificateVerificationRequest):
1044         * UIProcess/qt/QtPageClient.h:
1045         * WebProcess/qt/QtNetworkAccessManager.cpp:
1046         (WebKit::QtNetworkAccessManager::QtNetworkAccessManager):
1047         (WebKit::QtNetworkAccessManager::onSslErrors):
1048         * WebProcess/qt/QtNetworkAccessManager.h:
1049
1050 2012-01-23  David Levin  <levin@chromium.org>
1051
1052         [windows] Convert usages of GetDC to HWndDC Part 2.
1053         https://bugs.webkit.org/show_bug.cgi?id=76750
1054
1055         Reviewed by Adam Roben.
1056
1057         * Shared/win/ShareableBitmapWin.cpp:
1058         (WebKit::ShareableBitmap::windowsContext): Fix incorrect usage of OwnPtr<HDC> which
1059         would do a DeleteDC instead of a ReleaseDC.
1060
1061 2012-01-23  David Levin  <levin@chromium.org>
1062
1063         [windows] Convert usages of GetDC to HWndDC Part 1.
1064         https://bugs.webkit.org/show_bug.cgi?id=76744
1065
1066         Reviewed by Adam Roben.
1067
1068         * UIProcess/win/WebView.cpp:
1069         (WebKit::WebView::flashBackingStoreUpdates): Typical conversion.
1070
1071 2012-01-21  Timothy Hatcher  <timothy@apple.com>
1072
1073         Make WebKit2 remember the height of the Web Inspector when it is docked.
1074
1075         https://webkit.org/b/76769
1076
1077         Reviewed by Dan Bernstein.
1078
1079         * Shared/WebPreferencesStore.h: Added InspectorAttachedHeight.
1080         * UIProcess/WebInspectorProxy.cpp:
1081         (WebKit::WebInspectorProxy::setAttachedWindowHeight): Call WebPreferencesStore::setInspectorAttachedHeight.
1082         * UIProcess/mac/WebInspectorProxyMac.mm:
1083         (WebKit::WebInspectorProxy::platformAttach): Set the height of the inspector's WKView to inspectorAttachedHeight.
1084         (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight): Remove unneeded setNeedsDisplay: calls.
1085
1086 2012-01-20  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
1087
1088         [Qt] [WK2] Division by zero error in QtViewportInteractionEngine::setItemRectVisible
1089         https://bugs.webkit.org/show_bug.cgi?id=76674
1090
1091         Reviewed by Kenneth Rohde Christiansen.
1092
1093         Make sure that itemRect is not empty.
1094
1095         * UIProcess/qt/QtViewportInteractionEngine.cpp:
1096         (WebKit::QtViewportInteractionEngine::setItemRectVisible):
1097
1098 2012-01-20  Steve Falkenburg  <sfalken@apple.com>
1099
1100         Reviewed by Alexey Proskuryakov.
1101
1102         Drag/drop of a file into a WebView on Windows needs to allow access to that file
1103         https://bugs.webkit.org/show_bug.cgi?id=76753
1104         <rdar://problem/10731719>
1105         
1106         The Windows drag/drop code path was missing the code to open a file read exception.
1107
1108         Added code to match the Mac version, while allowing directories and multiple files to
1109         also be dragged (matching our previous behavior).
1110
1111         * UIProcess/win/WebView.cpp:
1112         (WebKit::maybeCreateSandboxExtensionFromDragData): Added.
1113         (WebKit::WebView::Drop): Add a universal read exception if we're dragging a file into a WebView to open it.
1114
1115 2012-01-20  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1116
1117         [Qt] Trigger forcing accelerated compositing from the UI process side.
1118         https://bugs.webkit.org/show_bug.cgi?id=76296
1119
1120         Reviewed by Noam Rosenthal.
1121
1122         Some messages can be sent from the web view to the LayerTreeHost before
1123         accelerated compositing is entered on the web process and signaled back.
1124         By letting the UI process decide if AC has to be forced, we can create
1125         the LayerTreeHostProxy earlier to send messages to the web process while
1126         AC is being entered there.
1127
1128         This patch also fixes the flow of DidRenderFrame and RenderNextFrame messages
1129         by setting the m_waitingForUIProcess flag properly and only send the
1130         RenderNextFrame once the painting thread on the UI process is ready to paint.
1131
1132         This fixes the first visible content rect message not being received when
1133         loading pages from the disk.
1134
1135         * Shared/WebPreferencesStore.h:
1136         * UIProcess/API/qt/qquickwebview.cpp:
1137         (QQuickWebViewPrivate::initialize):
1138         * UIProcess/DrawingAreaProxyImpl.cpp:
1139         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
1140         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
1141         (WebKit::LayerTreeHostProxy::flushLayerChanges):
1142         (WebKit::LayerTreeHostProxy::didRenderFrame):
1143         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1144         (WebKit::DrawingAreaImpl::DrawingAreaImpl):
1145         * WebProcess/WebPage/WebPage.cpp:
1146         (WebKit::WebPage::updatePreferences):
1147         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
1148         (WebKit::LayerTreeHostQt::performScheduledLayerFlush):
1149         * WebProcess/WebPage/qt/WebPageQt.cpp:
1150         (WebKit::WebPage::platformInitialize):
1151
1152 2012-01-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1153
1154         Unreviewed, rolling out r105497.
1155         http://trac.webkit.org/changeset/105497
1156         https://bugs.webkit.org/show_bug.cgi?id=76696
1157
1158         Leaking in Qt layout tests and timing out in GTK API tests.
1159         (Requested by jturcotte on #webkit).
1160
1161         * Shared/WebPreferencesStore.h:
1162         * UIProcess/API/qt/qquickwebview.cpp:
1163         (QQuickWebViewPrivate::initialize):
1164         * UIProcess/DrawingAreaProxyImpl.cpp:
1165         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
1166         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1167         (WebKit::DrawingAreaImpl::DrawingAreaImpl):
1168         * WebProcess/WebPage/WebPage.cpp:
1169         (WebKit::WebPage::updatePreferences):
1170         * WebProcess/WebPage/qt/WebPageQt.cpp:
1171         (WebKit::WebPage::platformInitialize):
1172
1173 2012-01-20  Mario Sanchez Prada  <msanchez@igalia.com>
1174
1175         [GTK] Expose accessibility hierarchy in WebKit2 to ATK/AT-SPI based ATs
1176         https://bugs.webkit.org/show_bug.cgi?id=72589
1177
1178         Reviewed by Martin Robinson.
1179
1180         Expose the accessibility hierarchy in the multi-process
1181         architecture of WK2 through AtkSocket and AtkPlug.
1182
1183         Make the WebView widget return an AtkSocket when calling to
1184         gtk_widget_get_accessible().
1185
1186         * GNUmakefile.am: Add new files.
1187         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1188         (webkit_web_view_base_init):
1189         (webkitWebViewBaseGetAccessible):
1190         (webkit_web_view_base_class_init):
1191         * UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp: Added.
1192         (webkitWebViewBaseAccessibleWidgetFinalize):
1193         (webkitWebViewBaseAccessibleWidgetDestroyed):
1194         (webkitWebViewBaseAccessibleInitialize):
1195         (webkitWebViewBaseAccessibleRefStateSet):
1196         (webkitWebViewBaseAccessibleGetIndexInParent):
1197         (webkit_web_view_base_accessible_init):
1198         (webkit_web_view_base_accessible_class_init):
1199         (webkitWebViewBaseAccessibleNew):
1200         * UIProcess/API/gtk/WebKitWebViewBaseAccessible.h: Added.
1201
1202         Make the WebPage create an AtkPlug on its initialization and
1203         sending the ID of that plug to the UI process, so it can embed the
1204         plug in the socket.
1205
1206         Also, take care of all the needed wrapping around the WebCore's
1207         accessibility objects, exposing them in the UI process's
1208         accessibility hierarchy thanks to the socket-plug connection.
1209
1210         * UIProcess/WebPageProxy.h:
1211         (WebKit::WebPageProxy::accessibilityPlugID):
1212         * UIProcess/WebPageProxy.messages.in:
1213         * UIProcess/gtk/WebPageProxyGtk.cpp:
1214         (WebKit::WebPageProxy::bindAccessibilityTree):
1215         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1216         (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
1217         * WebProcess/WebPage/WebPage.cpp:
1218         (WebKit::WebPage::WebPage):
1219         * WebProcess/WebPage/gtk/WebPageAccessibilityObject.cpp: Added.
1220         (accessibilityRootObjectWrapper):
1221         (webPageAccessibilityObjectInitialize):
1222         (webPageAccessibilityObjectGetIndexInParent):
1223         (webPageAccessibilityObjectGetNChildren):
1224         (webPageAccessibilityObjectRefChild):
1225         (web_page_accessibility_object_init):
1226         (web_page_accessibility_object_class_init):
1227         (webPageAccessibilityObjectNew):
1228         (webPageAccessibilityObjectRefresh):
1229         * WebProcess/WebPage/gtk/WebPageAccessibilityObject.h: Added.
1230         * WebProcess/WebPage/gtk/WebPageGtk.cpp:
1231         (WebKit::WebPage::platformInitialize):
1232         (WebKit::WebPage::updateAccessibilityTree):
1233
1234         New unit test for checking accessibility support in WK2GTK.
1235
1236         * UIProcess/API/gtk/tests/AccessibilityTestServer.cpp: Added.
1237         (loadChangedCallback): Notify the parent process (the test)
1238         when ready.
1239         (main):
1240         * UIProcess/API/gtk/tests/GNUmakefile.am:
1241         * UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp: Added.
1242         (stopTestServer):
1243         (sigAbortHandler):
1244         (testServerMonitorThreadFunc):
1245         (startTestServerMonitor):
1246         (startTestServer):
1247         (checkAtspiAccessible):
1248         (findTestServerApplication):
1249         (testAtspiBasicHierarchy):
1250         (beforeAll):
1251         (afterAll):
1252
1253 2012-01-19  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1254
1255         [Qt] Public API watch dog auto test.
1256         https://bugs.webkit.org/show_bug.cgi?id=73922
1257
1258         Reviewed by Simon Hausmann.
1259
1260         This test aims to prevent unintended/unapproved
1261         modifications to the public QML API.
1262
1263         * UIProcess/API/qt/tests/publicapi/publicapi.pro: Added.
1264         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp: Added.
1265         (isCheckedEnum):
1266         (isCheckedClass):
1267         (checkKnownType):
1268         (gatherAPI):
1269         (tst_publicapi::publicAPI):
1270
1271 2012-01-13  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1272
1273         [Qt] Trigger forcing accelerated compositing from the UI process side.
1274         https://bugs.webkit.org/show_bug.cgi?id=76296
1275
1276         Reviewed by Noam Rosenthal.
1277
1278         Some messages can be sent from the web view to the LayerTreeHost before
1279         accelerated compositing is entered on the web process and signaled back.
1280         By letting the UI process decide if AC has to be forced, we can create
1281         the LayerTreeHostProxy earlier to send messages to the web process while
1282         AC is being entered there.
1283
1284         This fixes the first visible content rect message not being received when
1285         loading pages from the disk.
1286
1287         * Shared/WebPreferencesStore.h:
1288         * UIProcess/API/qt/qquickwebview.cpp:
1289         (QQuickWebViewPrivate::initialize):
1290         * UIProcess/DrawingAreaProxyImpl.cpp:
1291         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
1292         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1293         (WebKit::DrawingAreaImpl::DrawingAreaImpl):
1294         * WebProcess/WebPage/WebPage.cpp:
1295         (WebKit::WebPage::updatePreferences):
1296         * WebProcess/WebPage/qt/WebPageQt.cpp:
1297         (WebKit::WebPage::platformInitialize):
1298
1299 2012-01-20  Alexandru Chiculita  <achicu@adobe.com>
1300
1301         CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime
1302         https://bugs.webkit.org/show_bug.cgi?id=76444
1303
1304         Reviewed by Nikolas Zimmermann.
1305
1306         * Shared/WebPreferencesStore.h:
1307         * UIProcess/API/C/WKPreferences.cpp:
1308         (WKPreferencesSetCSSCustomFilterEnabled):
1309         (WKPreferencesGetCSSCustomFilterEnabled):
1310         * UIProcess/API/C/WKPreferencesPrivate.h:
1311         * WebProcess/WebPage/WebPage.cpp:
1312         (WebKit::WebPage::updatePreferences):
1313
1314 2012-01-19  Sam Weinig  <sam@webkit.org>
1315
1316         Replace improper #import with an #include.
1317
1318         * UIProcess/Plugins/PluginProcessProxy.cpp:
1319         Fixes warnings.
1320
1321 2012-01-18  Sam Weinig  <sam@webkit.org>
1322
1323         Move RunLoop to WebCore/platform
1324         https://bugs.webkit.org/show_bug.cgi?id=76471
1325
1326         Reviewed by Anders Carlsson.
1327
1328         * GNUmakefile.am:
1329         * Platform/CoreIPC/Connection.cpp:
1330         * Platform/CoreIPC/Connection.h:
1331         * Platform/CoreIPC/mac/ConnectionMac.cpp:
1332         * PluginProcess/PluginControllerProxy.h:
1333         * PluginProcess/PluginProcess.cpp:
1334         * PluginProcess/PluginProcess.h:
1335         * PluginProcess/WebProcessConnection.cpp:
1336         * PluginProcess/mac/PluginProcessMainMac.mm:
1337         * PluginProcess/qt/PluginProcessMainQt.cpp:
1338         * Shared/ChildProcess.cpp:
1339         * Shared/ChildProcess.h:
1340         * Target.pri:
1341         * UIProcess/API/mac/FindIndicatorWindow.h:
1342         * UIProcess/API/mac/WKView.mm:
1343         * UIProcess/DrawingAreaProxyImpl.h:
1344         * UIProcess/Launcher/ThreadLauncher.cpp:
1345         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
1346         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
1347         * UIProcess/Launcher/mac/ThreadLauncherMac.mm:
1348         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
1349         * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
1350         * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
1351         * UIProcess/Launcher/win/ThreadLauncherWin.cpp:
1352         * UIProcess/LayerTreeHostProxy.h:
1353         * UIProcess/Plugins/PluginProcessProxy.cpp:
1354         * UIProcess/ResponsivenessTimer.cpp:
1355         * UIProcess/ResponsivenessTimer.h:
1356         * UIProcess/TiledDrawingAreaProxy.h:
1357         * UIProcess/VisitedLinkProvider.h:
1358         * UIProcess/WebConnectionToWebProcess.cpp:
1359         * UIProcess/WebConnectionToWebProcess.h:
1360         * UIProcess/WebContext.cpp:
1361         * UIProcess/win/WebView.cpp:
1362         * WebKit2.xcodeproj/project.pbxproj:
1363         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
1364         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1365         * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
1366         * WebProcess/Plugins/PluginView.h:
1367         * WebProcess/WebConnectionToUIProcess.cpp:
1368         * WebProcess/WebConnectionToUIProcess.h:
1369         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
1370         * WebProcess/WebPage/DrawingAreaImpl.h:
1371         * WebProcess/WebPage/EventDispatcher.cpp:
1372         * WebProcess/WebPage/PageOverlay.h:
1373         * WebProcess/WebPage/WebPage.cpp:
1374         * WebProcess/WebPage/WebPage.h:
1375         * WebProcess/WebProcess.cpp:
1376         * WebProcess/WebProcess.h:
1377         (WebKit::WebProcess::runLoop):
1378         * WebProcess/gtk/WebProcessMainGtk.cpp:
1379         * WebProcess/mac/WebProcessMainMac.mm:
1380         * WebProcess/qt/WebProcessMainQt.cpp:
1381         * WebProcess/win/WebProcessMainWin.cpp:
1382         * win/WebKit2.vcproj:
1383         Remove RunLoop code and update #includes.
1384
1385 2012-01-18  Ada Chan  <adachan@apple.com>
1386
1387         Need a WebKit2 API for setting media volume
1388         https://bugs.webkit.org/show_bug.cgi?id=76560
1389
1390         Reviewed by Dan Bernstein.
1391
1392         * Shared/WebPageCreationParameters.cpp:
1393         (WebKit::WebPageCreationParameters::encode): Encode the mediaVolume parameter.
1394         (WebKit::WebPageCreationParameters::decode): Decode the mediaVolume parameter.
1395         * Shared/WebPageCreationParameters.h:
1396         * UIProcess/API/C/WKPage.cpp:
1397         (WKPageSetMediaVolume): Call WebPageProxy::setMediaVolume().
1398         * UIProcess/API/C/WKPagePrivate.h:
1399         * UIProcess/WebPageProxy.cpp:
1400         (WebKit::WebPageProxy::WebPageProxy): Initialize new data member m_mediaVolume.
1401         (WebKit::WebPageProxy::setMediaVolume): Bail if the volume hasn't changed. Update m_mediaVolume 
1402         and bail if the page is no longer valid.  Otherwise, send a WebPage::SetMediaVolume message to 
1403         the web process.
1404         (WebKit::WebPageProxy::creationParameters): Add media volume to the creation parameters.
1405         * UIProcess/WebPageProxy.h:
1406         * WebProcess/WebPage/WebPage.cpp:
1407         (WebKit::WebPage::WebPage): Initialize media volume from the WebPageCreationParameters.
1408         (WebKit::WebPage::setMediaVolume): Call Page::setMediaVolume().
1409         * WebProcess/WebPage/WebPage.h:
1410         * WebProcess/WebPage/WebPage.messages.in: Add the SetMediaVolume message.
1411
1412 2012-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>
1413
1414         [GTK] WebKit2 GTK+ API public headers are not installed
1415         https://bugs.webkit.org/show_bug.cgi?id=76626
1416
1417         Reviewed by Martin Robinson.
1418
1419         * GNUmakefile.am: Rename webkit2gtk_headers as
1420         libwebkit2gtkinclude_HEADERS to match libwebkit2gtkincludedir so
1421         that headers are installed during make install.
1422
1423 2012-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>
1424
1425         [GTK] Add print-backgrounds setting to WebKit2 GTK+ API
1426         https://bugs.webkit.org/show_bug.cgi?id=76616
1427
1428         Reviewed by Martin Robinson.
1429
1430         * UIProcess/API/gtk/WebKitSettings.cpp:
1431         (webKitSettingsSetProperty):
1432         (webKitSettingsGetProperty):
1433         (webkit_settings_class_init):
1434         (webkit_settings_get_print_backgrounds):
1435         (webkit_settings_set_print_backgrounds):
1436         * UIProcess/API/gtk/WebKitSettings.h:
1437         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
1438         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
1439         (testWebKitSettings):
1440
1441 2012-01-18  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1442
1443         [Qt] Handle the layers visible rect calculation on the web process.
1444         https://bugs.webkit.org/show_bug.cgi?id=74720
1445
1446         Reviewed by Noam Rosenthal.
1447
1448         The layers now get their visible rect on the web process through the
1449         root layer when the UI process call setVisibleContentRectAndScale,
1450         previously only used for the non-composited content layer.
1451         The rect is then carried down the layers in the tree which apply it the inverse
1452         of their transform before handing it to their tiled backing store.
1453
1454         This ensures that new layers get a proper visible rect right on creation,
1455         and also that simultaneous visible rect and scale changes are applied synchronously.
1456
1457         This patch also uses clampedBoundsOfProjectedQuad instead of mapRect
1458         to transform the visible rect correctly for 3D transformed layers.
1459
1460         * UIProcess/API/qt/qquickwebview.cpp:
1461         (QQuickWebViewPrivate::initializeDesktop):
1462         (QQuickWebViewPrivate::initializeTouch):
1463         (QQuickWebViewPrivate::updateDesktopViewportSize):
1464         (QQuickWebViewPrivate::updateTouchViewportSize):
1465         (QQuickWebView::geometryChanged):
1466         Make sure that the visible rect is updated for the desktop view as well.
1467         * UIProcess/API/qt/qquickwebview_p_p.h:
1468         * UIProcess/LayerTreeHostProxy.h:
1469         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
1470         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
1471         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
1472         (WebCore::WebGraphicsLayer::setChildren):
1473         (WebCore::WebGraphicsLayer::addChild):
1474         (WebCore::WebGraphicsLayer::addChildAtIndex):
1475         (WebCore::WebGraphicsLayer::addChildAbove):
1476         (WebCore::WebGraphicsLayer::addChildBelow):
1477         (WebCore::WebGraphicsLayer::replaceChild):
1478         (WebCore::WebGraphicsLayer::setMaskLayer):
1479         (WebCore::WebGraphicsLayer::syncCompositingState):
1480         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
1481         (WebCore::WebGraphicsLayer::setVisibleContentRectAndScale):
1482         (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
1483         (WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
1484         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
1485         * WebProcess/WebPage/LayerTreeHost.messages.in:
1486         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
1487         (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
1488         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
1489
1490 2012-01-18  Jon Lee  <jonlee@apple.com>
1491
1492         Another build fix for r105364.
1493
1494         * WebProcess/mac/WebProcessMac.mm:
1495         (WebKit::WebProcess::platformInitializeWebProcess): Missing #if.
1496
1497 2012-01-18  Jon Lee  <jonlee@apple.com>
1498
1499         Build fix for r105364. Unreviewed.
1500
1501         * WebProcess/Notifications/WebNotificationManager.cpp: Wrap methods in #if ENABLE(NOTIFICATIONS)
1502         (WebKit::WebNotificationManager::initialize):
1503         (WebKit::WebNotificationManager::didUpdateNotificationDecision):
1504         (WebKit::WebNotificationManager::didRemoveNotificationDecisions):
1505         (WebKit::WebNotificationManager::policyForOrigin):
1506
1507 2012-01-18  Jon Lee  <jonlee@apple.com>
1508
1509         [WK2] Sync call for notifications permissions causes flashes on gmail.com
1510         https://bugs.webkit.org/show_bug.cgi?id=76570
1511         <rdar://problem/10647155>
1512
1513         Reviewed by Anders Carlsson and Sam Weinig.
1514
1515         The website code figures out the permission level for its security origin by making a JS call (called
1516         checkPermission()) that is synchronous. The way this was implemented was to make a synchronous call from
1517         the WebNotificationManager to its proxy. That call goes to the WK API layer to find the policy, and
1518         returns that policy back to the JS.
1519
1520         The synchronous nature of this call causes the white flash to appear in certain cases.
1521
1522         To fix this, the checkPermission() call is handled all within the web process, instead of going up into
1523         the UI process. To do this, the web process initializes the WebNotificationManager with a copy of the
1524         notification permissions. Any time the WK client makes a change to the permissions, that gets sent down
1525         asynchronously, and the cached copy in WebNotificationManager gets updated.
1526
1527         A page's settings may disable notifications altogether. Before, this would have been handled by the WK
1528         client, since retrieving the permissions were also handled there. Now that the lookup happens in the web
1529         process, we need to add that setting in WebCore.
1530
1531         == Update notification permissions to use the security origin's string representation, rather than its
1532         database identifier.
1533
1534         * UIProcess/Notifications/WebNotification.cpp:
1535         (WebKit::WebNotification::WebNotification):
1536         * UIProcess/Notifications/WebNotification.h:
1537         (WebKit::WebNotification::create):
1538         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
1539         (WebKit::WebNotificationManagerProxy::show): Registering the provider with the manager is handled in
1540         initialize() now.
1541         (WebKit::WebNotificationManagerProxy::cancel): Registering the provider with the manager is handled in
1542         initialize() now.
1543         * UIProcess/Notifications/WebNotificationManagerProxy.h:
1544         * UIProcess/WebPageProxy.cpp:
1545         (WebKit::WebPageProxy::requestNotificationPermission):
1546         (WebKit::WebPageProxy::showNotification):
1547         * UIProcess/WebPageProxy.h:
1548
1549         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
1550         (WebKit::NotificationPermissionRequestManager::startRequest): Only start the request if notifications
1551         are enabled.
1552         * WebProcess/Notifications/WebNotificationManager.cpp:
1553         (WebKit::WebNotificationManager::show): Only show notification is they are enabled.
1554         (WebKit::WebNotificationManager::cancel): Only cancel if notifications are enabled.
1555
1556         == Remove synchronous message to get policy for a given origin. Instead, use the cached copy in
1557         WebNotificationManager.
1558
1559         * WebProcess/Notifications/WebNotificationManager.h:
1560         * WebProcess/Notifications/WebNotificationManager.cpp:
1561         (WebKit::WebNotificationManager::policyForOrigin): Looks for the permission in the cached copy.
1562         If it doesn't exist, return NotificationPresenter::PermissionNotAllowed.
1563         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
1564         (WebKit::NotificationPermissionRequestManager::permissionLevel): Update permissionLevel to use
1565         policyForOrigin().
1566
1567         Remove old WK API function to get the policy. Because this function was the only synchronous message,
1568         we remove the sync-message-related functions also. Also, add in some #includes that might have been
1569         omitted in prior patches.
1570
1571         * UIProcess/API/C/WKNotificationProvider.h:
1572         * UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Remove NotificationPermissionLevel.
1573         * UIProcess/Notifications/WebNotificationManagerProxy.h:
1574         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
1575
1576         * UIProcess/Notifications/WebNotificationProvider.h: Remove policyForNotificationPermissionAtOrigin().
1577         * UIProcess/Notifications/WebNotificationProvider.cpp:
1578
1579         * UIProcess/WebProcessProxy.cpp:
1580         (WebKit::WebProcessProxy::didReceiveSyncMessage): Remove conditional to forward sync messages to the
1581         notification manager proxy.
1582
1583         == Mechanism for client to update the permissions copy in WebNotificationManager.
1584
1585         * WebProcess/Notifications/WebNotificationManager.messages.in: Add new messages
1586         didUpdateNotificationDecision and didRemoveNotificationDecisions.
1587         * WebProcess/Notifications/WebNotificationManager.h:
1588         * WebProcess/Notifications/WebNotificationManager.cpp:
1589         (WebKit::WebNotificationManager::initialize):
1590         (WebKit::WebNotificationManager::didUpdateNotificationDecision): Update the entry.
1591         (WebKit::WebNotificationManager::didRemoveNotificationDecisions): Remove the entry.
1592
1593         * UIProcess/Notifications/WebNotificationManagerProxy.h:
1594         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
1595         (WebKit::WebNotificationManagerProxy::providerDidUpdateNotificationPolicy):
1596         (WebKit::WebNotificationManagerProxy::providerDidRemoveNotificationPolicies): Convert the array of
1597         origins to remove, and send it to the WebNotificationManager.
1598
1599         * UIProcess/API/C/WKNotificationManager.h: Expose these update functions as WK API.
1600         * UIProcess/API/C/WKNotificationManager.cpp:
1601         (WKNotificationManagerProviderDidUpdateNotificationPolicy):
1602         (WKNotificationManagerProviderDidRemoveNotificationPolicies):
1603
1604         == Initialize WebNotificationManager with permissions. Initialize WebPage with notifications enabled bit
1605         from settings.
1606
1607         * Shared/WebProcessCreationParameters.h: Add map of notification permissions as part of the
1608         parameters.
1609         * Shared/WebProcessCreationParameters.cpp:
1610         (WebKit::WebProcessCreationParameters::encode):
1611         (WebKit::WebProcessCreationParameters::decode):
1612
1613         * UIProcess/Notifications/WebNotificationProvider.h: Retrieve copy of existing notification permissions.
1614         * UIProcess/Notifications/WebNotificationProvider.cpp:
1615         * UIProcess/API/C/WKNotificationProvider.h: Add WK API to get a copy of the permissions.
1616
1617         * UIProcess/Notifications/WebNotificationManagerProxy.h: Add populateCopyOfNotificationPermissions().
1618         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
1619         (WebKit::WebNotificationManagerProxy::initializeProvider): Add the manager at the time of initialization.
1620         Similar calls in show() and cancel() are removed in following patch.
1621         (WebKit::WebNotificationManagerProxy::populateCopyOfNotificationPermissions): Clear the existing copy.
1622         Populate with origin string, and whether that origin is allowed to post. If no decision has been made
1623         by the user, then there should be no item in this dictionary.
1624
1625         * UIProcess/WebContext.cpp:
1626         (WebKit::WebContext::ensureWebProcess): When the web process is initialized, we get a copy of the
1627         permissions, and send it to the web process to initialize the notification manager.
1628         * WebProcess/mac/WebProcessMac.mm:
1629         (WebKit::WebProcess::platformInitializeWebProcess): Initialize the notification manager.
1630
1631         * WebProcess/Notifications/WebNotificationManager.h:
1632         * WebProcess/Notifications/WebNotificationManager.cpp:
1633         (WebKit::WebNotificationManager::initialize): Initialize the permissions copy.
1634
1635         * WebProcess/WebPage/WebPage.cpp:
1636         (WebKit::WebPage::updatePreferences): Set notifications enabled bit from settings.
1637
1638         == Expose toString() method from WebCore::SecurityOrigin. Work is also towards bug 74956.
1639
1640         * Shared/API/c/WKSecurityOrigin.h: Refactor WKSecurityOriginCreateFromIdentifier to
1641         WKSecurityOriginCreateFromDatabaseIdentifier and add WKSecurityOriginCreateFromString function.
1642         * Shared/API/c/WKSecurityOrigin.cpp:
1643         (WKSecurityOriginCreateFromString):
1644         (WKSecurityOriginCreateFromDatabaseIdentifier):
1645         (WKSecurityOriginCopyToString):
1646
1647         Refactor WebSecurityOrigin::create() to WebSecurityOrigin::createFromDatabaseIdentifier()
1648         and add WebSecurityOrigin::createFromString().
1649
1650         * Shared/WebSecurityOrigin.h:
1651         (WebKit::WebSecurityOrigin::createFromString):
1652         (WebKit::WebSecurityOrigin::createFromDatabaseIdentifier):
1653         (WebKit::WebSecurityOrigin::toString): Added function.
1654         
1655         Refactor with renamed createFromDatabaseIdentifier() method.
1656         
1657         * UIProcess/WebDatabaseManagerProxy.cpp:
1658         (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
1659         (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
1660         (WebKit::WebDatabaseManagerProxy::didModifyOrigin):
1661         (WebKit::WebDatabaseManagerProxy::didModifyDatabase):
1662         * UIProcess/WebPageProxy.cpp:
1663         (WebKit::WebPageProxy::exceededDatabaseQuota):
1664         (WebKit::WebPageProxy::requestGeolocationPermissionForFrame):
1665
1666         == Add WK API calls to change notificationsEnabled bit in WebCore::Settings.
1667
1668         * Shared/WebPreferencesStore.h:
1669         * UIProcess/API/C/WKPreferences.cpp:
1670         (WKPreferencesSetNotificationsEnabled):
1671         (WKPreferencesGetNotificationsEnabled):
1672         * UIProcess/API/C/WKPreferences.h:
1673
1674 2012-01-18  Anders Carlsson  <andersca@apple.com>
1675
1676         REGRESSION (r88886): Tabs restore blank when running Safari with a nightly build for the first time
1677         https://bugs.webkit.org/show_bug.cgi?id=76587
1678         <rdar://problem/9739135>
1679
1680         Reviewed by Sam Weinig.
1681
1682         * UIProcess/cf/WebPageProxyCF.cpp:
1683         Change CurrentSessionStateDataVersion back to 2.
1684
1685         * WebProcess/WebPage/DecoderAdapter.cpp:
1686         (WebKit::DecoderAdapter::decodeString):
1687         * WebProcess/WebPage/EncoderAdapter.cpp:
1688         (WebKit::EncoderAdapter::encodeString):
1689         Backport the CoreIPC string encoding and decoding functions that were in place prior to r88886.
1690
1691 2012-01-17  Alexey Proskuryakov  <ap@apple.com>
1692
1693         [Mac] Add a flag telling plug-in if it can enter sandbox
1694         https://bugs.webkit.org/show_bug.cgi?id=76467
1695
1696         Reviewed by Anders Carlsson.
1697
1698         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1699         (WebKit::NPN_GetValue): Added a private flag.
1700
1701 2012-01-18  Eric Carlson  <eric.carlson@apple.com>
1702
1703         Provide access to user's list of preferred languages
1704         https://bugs.webkit.org/show_bug.cgi?id=76138
1705
1706         Reviewed by Alexey Proskuryakov.
1707
1708         * Shared/WebProcessCreationParameters.cpp:
1709         (WebKit::WebProcessCreationParameters::encode): Encode the languages array.
1710         (WebKit::WebProcessCreationParameters::decode): Decode the languages array.
1711         * Shared/WebProcessCreationParameters.h:
1712
1713         * UIProcess/WebContext.cpp:
1714         (WebKit::WebContext::languageChanged): Override the WebProcess userPreferredLanguages.
1715         (WebKit::WebContext::ensureWebProcess): Initialize parameters.languages.
1716
1717         * WebProcess/WebProcess.cpp:
1718         (WebKit::WebProcess::initializeWebProcess): Override user languages array.
1719         (WebKit::WebProcess::userPreferredLanguagesChanged): Ditto.
1720         * WebProcess/WebProcess.h:
1721         * WebProcess/WebProcess.messages.in: Define UserPreferredLanguagesChanged.
1722
1723         * win/WebKit2.def: Export the new functions.
1724         * win/WebKit2CFLite.def: Ditto.
1725
1726 2012-01-18  Luciano Wolf  <luciano.wolf@openbossa.org>
1727
1728         [Qt][WK2] Broken build with undefined reference to shm_open and shm_unlink
1729         https://bugs.webkit.org/show_bug.cgi?id=76538
1730
1731         Reviewed by Tor Arne Vestbø.
1732
1733         The -lrt parameter was coming before -lWebKit2 during linkage.
1734
1735         Moved rt lib inclusion from Source/api.pri to WebKit2.pri as it should be aware
1736         of its own dependencies instead of letting WebKit guess about. Letting
1737         it on api.pri can lead to a wrong parameter's order during linker phase.
1738         Ubuntu 11.10 was giving errors about SharedMemory (shm_open and
1739         shm_unlink undefined symbols).
1740
1741         The issue was fixed with the help of Aloisio Almeida and Lauro Venancio.
1742
1743         * WebKit2.pri:
1744
1745 2012-01-18  Carlos Garnacho  <carlosg@gnome.org>
1746
1747         [GTK] Listen to GDK_SCROLL_MASK
1748         https://bugs.webkit.org/show_bug.cgi?id=76529
1749
1750         Set GDK_SCROLL_MASK explicitly, as WebKitWebViewBase does handle
1751         scroll events, scrolling currently works because GTK+ happens 
1752         to send such events to widgets listening to GDK_BUTTON_PRESS_MASK,
1753         but this isn't the intended behavior, so it's subject to change.
1754
1755         Reviewed by Martin Robinson.
1756
1757         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1758         (webkitWebViewBaseRealize):
1759
1760 2012-01-18  Andras Becsi  <andras.becsi@nokia.com>
1761
1762         [Qt][WK2] Fix the debug build.
1763
1764         Unreviewed.
1765
1766         * UIProcess/qt/QtWebPageEventHandler.cpp:
1767         (setInputPanelVisible): Remove assertion from non-member function.
1768
1769 2012-01-12  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1770
1771         [Qt] Zoom in to the focused node only when vkb starts becoming visible
1772         https://bugs.webkit.org/show_bug.cgi?id=76174
1773
1774         Reviewed by Simon Hausmann.
1775
1776         Remove the old code which always zoomed in when something got focus,
1777         even via JavaScript, and replaced it with code checking the state of
1778         the Qt input panel.
1779
1780         Also make sure that we do not zoom in or request the input panel if
1781         the item is not focused.
1782
1783         * UIProcess/PageClient.h:
1784         * UIProcess/WebPageProxy.cpp:
1785         * UIProcess/WebPageProxy.h:
1786         * UIProcess/WebPageProxy.messages.in:
1787         * UIProcess/qt/QtPageClient.cpp:
1788         * UIProcess/qt/QtPageClient.h:
1789         * UIProcess/qt/QtWebPageEventHandler.cpp:
1790         (QtWebPageEventHandler::QtWebPageEventHandler):
1791         (QtWebPageEventHandler::~QtWebPageEventHandler):
1792         (QtWebPageEventHandler::inputPanelVisibleChanged):
1793         * UIProcess/qt/QtWebPageEventHandler.h:
1794         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1795         (WebKit::WebEditorClient::respondToChangedSelection):
1796
1797 2012-01-18  Shinya Kawanaka  <shinyak@google.com>
1798
1799         Move ShadowContentElement from dom/ to html/ and make ShadowContentElement subclass of HTMLElement.
1800         https://bugs.webkit.org/show_bug.cgi?id=76241
1801
1802         Reviewed by Dimitri Glazkov.
1803
1804         * win/WebKit2.def: Exposed necessary symbols.
1805         * win/WebKit2CFLite.def: ditto.
1806
1807 2012-01-17  Hajime Morrita  <morrita@chromium.org>
1808
1809         [Internals] Should be able to access corresponding Document object.
1810         https://bugs.webkit.org/show_bug.cgi?id=76425
1811
1812         Reviewed by Adam Barth.
1813
1814         * win/WebKit2.def: Added exporting symbols.
1815         * win/WebKit2CFLite.def: Added exporting symbols.
1816
1817 2012-01-17  Matthew Delaney  <mdelaney@apple.com>
1818
1819         On post-Lion releases, preserve the Lion behavior where WebKit explicitly calls -setGeometryFlipped on the hosting layer for applications that were linked on Lion or earlier.
1820         <rdar://problem/10692025>
1821
1822         Reviewed by Simon Fraser.
1823
1824         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: Init new function.
1825         (InitWebCoreSystemInterface):
1826
1827 2012-01-17  Sam Weinig  <sam@webkit.org>
1828
1829         Rename quickLookPreviewItemsAtWindowLocation: to quickLookWithEvent:
1830         <rdar://problem/10688913>
1831
1832         Reviewed by Anders Carlsson.
1833
1834         * UIProcess/API/mac/WKView.mm:
1835         (-[WKView quickLookWithEvent:]):
1836
1837 2012-01-17  Sam Weinig  <sam@webkit.org>
1838
1839         Add helper macro for forward declaring objective-c classes
1840         https://bugs.webkit.org/show_bug.cgi?id=76485
1841
1842         Reviewed by Anders Carlsson.
1843
1844         * WebProcess/WebCoreSupport/WebDragClient.h:
1845         Deploy OBJC_CLASS for a little code reduction.
1846
1847         * config.h:
1848         Remove duplicate copy of OBJC_CLASS.
1849
1850 2012-01-17  Martin Robinson  <mrobinson@igalia.com>
1851
1852         [GTK] [WK2] WebKitPrivate should include the entire WebKit2 C API
1853         https://bugs.webkit.org/show_bug.cgi?id=76345
1854
1855         Reviewed by Gustavo Noronha Silva.
1856
1857         Isolate all of the WebKit2 C API includes into WebKitPrivate.h and no longer
1858         include anything other than WebKit2.h for the C API.
1859
1860         * UIProcess/API/gtk/WebKitBackForwardList.cpp: Use WebKitPrivate.h now.
1861         * UIProcess/API/gtk/WebKitBackForwardListItem.cpp: Ditto.
1862         * UIProcess/API/gtk/WebKitPrivate.h: Add WebKit2.h, WKAPICast.h and WKRetainPtr.h includes.
1863         * UIProcess/API/gtk/WebKitSettings.cpp: Use WebKitPrivate.h.
1864         * UIProcess/API/gtk/WebKitUIClient.cpp: Ditto.
1865         * UIProcess/API/gtk/WebKitWebContext.cpp: Ditto.
1866         * UIProcess/API/gtk/WebKitWebView.cpp: Ditto.
1867         * UIProcess/API/gtk/WebKitWebViewBase.cpp: Ditto.
1868         * UIProcess/API/gtk/WebKitWindowProperties.cpp: Ditto.
1869
1870 2012-01-17  Alexander Færøy  <alexander.faeroy@nokia.com>
1871
1872         [Qt] Implement HTTP authentication QML API
1873         https://bugs.webkit.org/show_bug.cgi?id=75535
1874
1875         Reviewed by Kenneth Rohde Christiansen.
1876
1877         This patch implements the QML API for handling HTTP authentication.
1878         The implementation uses a syncronous message between the WebProcess
1879         and the UIProcess which is called when the authenticationRequired
1880         signal is emitted from QNAM.
1881
1882         Based in part upon patch by Peter Hartmann.
1883
1884         * UIProcess/API/qt/qquickwebview.cpp:
1885         (QQuickWebViewPrivate::QQuickWebViewPrivate):
1886         (QQuickWebViewPrivate::handleAuthenticationRequiredRequest):
1887         (QQuickWebViewExperimental::authenticationDialog):
1888         (QQuickWebViewExperimental::setAuthenticationDialog):
1889         * UIProcess/API/qt/qquickwebview_p.h:
1890         * UIProcess/API/qt/qquickwebview_p_p.h:
1891         * UIProcess/PageClient.h:
1892         * UIProcess/WebPageProxy.cpp:
1893         (WebKit::WebPageProxy::authenticationRequiredRequest):
1894         * UIProcess/WebPageProxy.h:
1895         * UIProcess/WebPageProxy.messages.in:
1896         * UIProcess/qt/QtDialogRunner.cpp:
1897         (AuthenticationDialogContextObject::AuthenticationDialogContextObject):
1898         (AuthenticationDialogContextObject::hostname):
1899         (AuthenticationDialogContextObject::realm):
1900         (AuthenticationDialogContextObject::prefilledUsername):
1901         (AuthenticationDialogContextObject::accept):
1902         (AuthenticationDialogContextObject::reject):
1903         (QtDialogRunner::initForAuthentication):
1904         * UIProcess/qt/QtDialogRunner.h:
1905         (QtDialogRunner::username):
1906         (QtDialogRunner::password):
1907         (QtDialogRunner::onAuthenticationAccepted):
1908         * UIProcess/qt/QtPageClient.cpp:
1909         (QtPageClient::handleAuthenticationRequiredRequest):
1910         * UIProcess/qt/QtPageClient.h:
1911         * WebProcess/qt/QtNetworkAccessManager.cpp:
1912         (WebKit::QtNetworkAccessManager::QtNetworkAccessManager):
1913         (WebKit::QtNetworkAccessManager::onAuthenticationRequired):
1914         * WebProcess/qt/QtNetworkAccessManager.h:
1915
1916 2012-01-16  Dan Bernstein  <mitz@apple.com>
1917
1918         <rdar://problem/10702758> REGRESSION: Every Safari Reader WKView leaks
1919
1920         Reviewed by John Sullivan and Ada Chan.
1921
1922         * UIProcess/API/mac/WKView.mm:
1923         (-[WKView viewDidMoveToWindow]): Since this method can be called multiple times in a row
1924         while [self window] is non-nil, check if there isn’t already an event monitor before adding
1925         a new one.
1926
1927 2012-01-16  Anders Carlsson  <andersca@apple.com>
1928
1929         Crash when calling SecItemAdd with a null result pointer
1930         https://bugs.webkit.org/show_bug.cgi?id=76407
1931         <rdar://problem/10696087>
1932
1933         Reviewed by Brady Eidson.
1934
1935         Add null check.
1936
1937         * WebProcess/mac/SecItemShimMethods.mm:
1938         (WebKit::webSecItemAdd):
1939
1940 2012-01-16  Jon Lee  <jonlee@apple.com>
1941
1942         Build fix for r105086.
1943
1944         * Configurations/FeatureDefines.xcconfig:
1945
1946 2012-01-16  Zeno Albisser  <zeno@webkit.org>
1947
1948         [Qt] Fix QT_VERSION related warnings when building on Mac OS X
1949         https://bugs.webkit.org/show_bug.cgi?id=76340
1950
1951         This bug was caused by r104826.
1952         As was already mentioned for https://bugs.webkit.org/show_bug.cgi?id=57239
1953         we should not use "using namespace WebCore" in header files,
1954         because it might cause ambiguous references.
1955         This patch reverts the changes from r104826 and r104981
1956         and removes the "using namespace WebCore" statement from
1957         two header files.
1958
1959         Reviewed by Tor Arne Vestbø.
1960
1961         * Shared/WebLayerTreeInfo.h:
1962         (WebKit::WebLayerUpdateInfo::WebLayerUpdateInfo):
1963         (WebKit::WebLayerAnimation::WebLayerAnimation):
1964         * UIProcess/LayerTreeHostProxy.h:
1965         (WebKit::LayerTreeHostProxy::layerByID):
1966         (WebKit::LayerTreeHostProxy::rootLayer):
1967         (WebKit::LayerTreeHostProxy::notifyAnimationStarted):
1968         (WebKit::LayerTreeHostProxy::notifySyncRequired):
1969         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
1970         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
1971         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
1972
1973 2012-01-16  Alexander Færøy  <alexander.faeroy@nokia.com>
1974
1975         [Qt] Remove references to PagePointer in the FrameNetworkingContext
1976         https://bugs.webkit.org/show_bug.cgi?id=76342
1977
1978         Reviewed by Simon Hausmann.
1979
1980         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1981         (WebKit::WebFrameLoaderClient::createNetworkingContext):
1982         * WebProcess/qt/QtNetworkAccessManager.cpp:
1983         (WebKit::QtNetworkAccessManager::obtainOriginatingWebPage):
1984         * WebProcess/qt/QtNetworkAccessManager.h:
1985
1986 2012-01-14  Dan Bernstein  <mitz@apple.com>
1987
1988         <rdar://problem/10696295> Crash in WebProcess at com.apple.CFNetwork: URLCredentialStorage::CreateCurrentPersistentCredentials + 298
1989
1990         Reviewed by Anders Carlsson.
1991
1992         * WebProcess/mac/SecItemShimMethods.mm:
1993         (WebKit::initializeSecItemShim): Removed an early return that was accidentally added in r105008.
1994
1995 2012-01-13  Anders Carlsson  <andersca@apple.com>
1996
1997         Delay updating the root compositing layer if the layer tree state is frozen
1998         https://bugs.webkit.org/show_bug.cgi?id=76316
1999
2000         Reviewed by Dan Bernstein.
2001
2002         When the layer tree is frozen, stash the root layer in m_pendingRootCompositingLayer and set it in flushLayers.
2003
2004         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2005         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2006         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
2007         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
2008
2009 2012-01-13  Anders Carlsson  <andersca@apple.com>
2010
2011         Implement TiledCoreAnimationDrawingArea::setLayerTreeStateIsFrozen
2012         https://bugs.webkit.org/show_bug.cgi?id=76308
2013
2014         Reviewed by Sam Weinig.
2015
2016         Keep track of whether the layer tree state is frozen and suspend/resume the layer flush scheduler accordingly.
2017
2018         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2019         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2020         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
2021         (WebKit::TiledCoreAnimationDrawingArea::setLayerTreeStateIsFrozen):
2022         (WebKit::TiledCoreAnimationDrawingArea::layerTreeStateIsFrozen):
2023         (WebKit::TiledCoreAnimationDrawingArea::scheduleCompositingLayerSync):
2024         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
2025
2026 2012-01-13  Anders Carlsson  <andersca@apple.com>
2027
2028         Disable implicit animations when setting the root compositing layer
2029         https://bugs.webkit.org/show_bug.cgi?id=76304
2030
2031         Reviewed by Sam Weinig.
2032
2033         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2034         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
2035
2036 2012-01-13  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2037
2038         TextureMapper: Extract layer transform logic to a LayerTransform class.
2039         https://bugs.webkit.org/show_bug.cgi?id=76291
2040
2041         Reviewed by Noam Rosenthal.
2042
2043         Move the paint call before the visible rect collection to make sure that
2044         transforms are computed. This will increase the delay for the visible rects
2045         to get to the WebProcess until we move this calculation out of the UI Process.
2046         This fixes an assert triggering in LayerTransform::combineTransforms.
2047
2048         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2049         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
2050
2051 2012-01-13  Brent Fulgham  <bfulgham@webkit.org>
2052
2053         [WinCairo] Build correction.
2054
2055         * Shared/WebGraphicsContext.h: Use proper include path for RefPtrCairo.h.
2056
2057 2012-01-12  Martin Robinson  <mrobinson@igalia.com>
2058
2059         [GTK] [WebKit2] WebKitURIRequest and WebKitURIResponse should wrap the corresponding WebCore classes
2060         https://bugs.webkit.org/show_bug.cgi?id=74478
2061
2062         Reviewed by Gustavo Noronha Silva.
2063
2064         Have WebKitURIRequest wrap a ResourceRquesst and WebKitURIResponse wrap a ResourceResponse.
2065         They are the WebCore types they are meant to represent and we will need to expose more
2066         information from them in the future to make them useful. Later we can have ResourceResponse
2067         generate a SoupMessage lazily if necessary.
2068
2069         * GNUmakefile.am:
2070         * UIProcess/API/gtk/WebKitURIRequest.cpp:
2071         (webkit_uri_request_class_init): Remove the set property vmethod.
2072         (webkit_uri_request_new): The URI property is no longer settable.
2073         (webkitURIRequestCreateForResourceRequest): Added this private constructor.
2074         (webkit_uri_request_get_uri): Now we just get the URI directly from the ResourceRequest.
2075         * UIProcess/API/gtk/WebKitURIResponse.cpp:
2076         (webkit_uri_response_class_init): Remove the set property vmethod.
2077         (webkit_uri_response_get_uri): Get the URI directly from the ResourceReponse.
2078         (webkit_uri_response_get_status_code): Get the status code directly from the ResourceResponse.
2079         (webkit_uri_response_get_content_length): Get the content length directly from the ResourceResponse.
2080         (webkitURIResponseCreateForResourceResponse): Added this private constructor.
2081         * UIProcess/API/gtk/WebKitURIResponsePrivate.h: Removed unnecessary methods.
2082
2083 2012-01-12  No'am Rosenthal  <noam.rosenthal@nokia.com>
2084
2085         [Qt][WK2] WebProcesses crashes when composited reflections/masks are present
2086         https://bugs.webkit.org/show_bug.cgi?id=75883
2087
2088         Reviewed by Kenneth Rohde Christiansen.
2089
2090         Make sure masks and replica layers can access layerTreeTileClient. Let masks
2091         have the right contents/visible rect so that they can render content tiles.
2092         Default the mask's size to be the layer's size.
2093
2094         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2095         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
2096         (WebCore::WebGraphicsLayer::setSize):
2097         (WebCore::WebGraphicsLayer::setMaskLayer):
2098         (WebCore::WebGraphicsLayer::setReplicatedByLayer):
2099         (WebCore::WebGraphicsLayer::syncCompositingState):
2100         (WebCore::WebGraphicsLayer::setContentsScale):
2101         (WebCore::WebGraphicsLayer::setVisibleContentRect):
2102         (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
2103         (WebCore::WebGraphicsLayer::updateTileBuffersRecursively):
2104         (WebCore::WebGraphicsLayer::layerTreeTileClient):
2105         (WebCore::WebGraphicsLayer::purgeBackingStores):
2106         (WebCore::WebGraphicsLayer::recreateBackingStoreIfNeeded):
2107         (WebCore::WebGraphicsLayer::setLayerTreeTileClient):
2108         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
2109         (WebCore::WebGraphicsLayer::maskTarget):
2110         (WebCore::WebGraphicsLayer::setMaskTarget):
2111
2112 2012-01-12  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2113
2114         [Qt] Set the input method hints on the QtQuick item
2115         https://bugs.webkit.org/show_bug.cgi?id=76169
2116
2117         Reviewed by Simon Hausmann.
2118
2119         Set the input method hints given the HTMLElement type and state.
2120
2121         * Shared/EditorState.cpp:
2122         (WebKit::EditorState::encode):
2123         (WebKit::EditorState::decode):
2124         * Shared/EditorState.h:
2125         (WebKit::EditorState::EditorState):
2126         * UIProcess/qt/QtWebPageEventHandler.cpp:
2127         (QtWebPageEventHandler::updateTextInputState):
2128         * WebProcess/WebPage/WebPage.cpp:
2129         (WebKit::WebPage::editorState):
2130
2131 2012-01-12  Eunmi Lee  <eunmi15.lee@samsung.com>
2132
2133         [EFL][WK2] Update and show ewk_view with updated webpage.
2134         https://bugs.webkit.org/show_bug.cgi?id=76023
2135
2136         Reviewed by Andreas Kling.
2137
2138         Update ewk_view with BackingStore image which is rendered webpage
2139         image by WebProcess, and show updated image's area when
2140         PageClientImpl::setViewNeedsDisplay() is called.
2141         The ewk_view_display() function is used to display updated area of
2142         evas_object_image and the ewk_view_image_data_set() function is used
2143         to set evas_object_image's data with rendered webpage.
2144
2145         * UIProcess/API/efl/PageClientImpl.cpp:
2146         (WebKit::PageClientImpl::setViewNeedsDisplay):
2147         * UIProcess/API/efl/ewk_private.h: Added.
2148         * UIProcess/API/efl/ewk_view.cpp:
2149         (ewk_view_add):
2150         (ewk_view_display):
2151         (ewk_view_image_data_set):
2152         * UIProcess/cairo/BackingStoreCairo.cpp:
2153         (WebKit::BackingStore::incorporateUpdate):
2154
2155 2012-01-12  Ryuan Choi  <ryuan.choi@samsung.com>
2156
2157         [EFL][WK2] Network is not available when SOUP is enabled.
2158         https://bugs.webkit.org/show_bug.cgi?id=76112
2159
2160         Reviewed by Andreas Kling.
2161
2162         ecore_main_loop_glib_integrate should be called to use glib based library
2163         such as SOUP.
2164
2165         * WebProcess/efl/WebProcessMainEfl.cpp:
2166         (WebKit::WebProcessMainEfl):
2167
2168 2012-01-12  Ryuan Choi  <ryuan.choi@samsung.com>
2169
2170         [EFL][WK2] Add PLATFORM(EFL) in SharedMemory.h, WebProcessStore.h, WebEditorClient.cpp
2171         https://bugs.webkit.org/show_bug.cgi?id=76115
2172
2173         Reviewed by Andreas Kling.
2174
2175         This patch added PLATFORM(EFL) guard in SharedMemory.h to use UNIX_DOMAIN_SOCKETS
2176         and WebProcessStore.h to have font family preference
2177         and WebEditorClient.cpp to use platform specific handleKeyboardEvent(),
2178         handleInputMethodKeydown()
2179
2180         * Platform/SharedMemory.h:
2181         * Shared/WebPreferencesStore.h:
2182         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2183
2184 2012-01-11  Carlos Garcia Campos  <cgarcia@igalia.com>
2185
2186         [GTK] Web process should use the same locale than UI process
2187         https://bugs.webkit.org/show_bug.cgi?id=76054
2188
2189         Reviewed by Gustavo Noronha Silva.
2190
2191         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
2192         (WebKit::childSetupFunction): Make child process use the same
2193         locale than its parent.
2194
2195 2012-01-11  Ryuan Choi  <ryuan.choi@samsung.com>
2196
2197         [WK2] Share cairo specific codes with EFL port.
2198         https://bugs.webkit.org/show_bug.cgi?id=75457
2199
2200         Reviewed by Brent Fulgham.
2201
2202         Change PLATFORM(GTK) to USE(CAIRO) in WebGraphicsContext{h,cpp} to share
2203         with EFL port.
2204
2205         * Shared/WebGraphicsContext.cpp:
2206         (WebKit::WebGraphicsContext::WebGraphicsContext):
2207         * Shared/WebGraphicsContext.h:
2208
2209 2012-01-11  Beth Dakin  <bdakin@apple.com>
2210
2211         https://bugs.webkit.org/show_bug.cgi?id=75904
2212         WebKit 1: Scrollbar uiStateTransitionProgress requires tracking the mouse all 
2213         the time
2214         -and corresponding-
2215         <rdar://problem/10498816>
2216
2217         Reviewed by Darin Adler.
2218
2219         This patch gets rid of the optional parameter called onlyUpdateScrollbars for 
2220         WebCore::EventHandler::mouseMoved() and instead moves that functionality into 
2221         its own function called passMouseMovedEventToScrollbars().
2222         * WebProcess/WebPage/WebPage.cpp:
2223         (WebKit::handleMouseEvent):
2224
2225 2012-01-11  Brent Fulgham  <bfulgham@webkit.org>
2226
2227         WinCairo build correction.
2228
2229         * UIProcess/WebPageProxy.h: Don't define viewWidget for WinCairo port.
2230
2231 2012-01-11  Anders Carlsson  <andersca@apple.com>
2232
2233         Webpages flash white when switching between windows
2234         https://bugs.webkit.org/show_bug.cgi?id=76080
2235         <rdar://problem/9893565>
2236
2237         Reviewed by Dan Bernstein.
2238
2239         Introduce a _windowHasValidBackingStore boolean and only paint the background (white or clear)
2240         * UIProcess/API/mac/WKView.mm:
2241         (-[WKView setFrameSize:]):
2242         Set _windowHasValidBackingStore to false if the new size is different from the old size.
2243
2244         (-[WKView viewDidMoveToWindow]):
2245         Set _windowHasValidBackingStore to false.
2246
2247         (-[WKView _windowDidMiniaturize:]):
2248         Set _windowHasValidBackingStore to false.
2249
2250         (-[WKView _windowDidChangeBackingProperties:]):
2251         Set _windowHasValidBackingStore to false.
2252
2253         (-[WKView drawRect:]):
2254         Only call drawPageBackground if _windowHasValidBackingStore is false. Set it to true after painting.
2255
2256 2012-01-11  Anders Carlsson  <andersca@apple.com>
2257
2258         Fix the Mac GCC build.
2259
2260         Work around the fact that GCC doesn't work very well with Blocks and C++ objets.
2261
2262         * UIProcess/mac/WebProcessProxyMac.mm:
2263         (WebKit::dispatchFunctionOnQueue):
2264         (WebKit::WebProcessProxy::secItemRequest):
2265         (WebKit::WebProcessProxy::secKeychainItemRequest):
2266
2267 2012-01-11  No'am Rosenthal  <noam.rosenthal@nokia.com>
2268
2269         [Qt][WK2] Directly-composited images sometimes appear with a wrong geometry
2270         https://bugs.webkit.org/show_bug.cgi?id=75882
2271
2272         Reviewed by Simon Hausmann.
2273
2274         When assigning a directly composited image to a TextureMapperNode in WebKit2, we take
2275         contentsRect() onto account. However, contentsRect() might be changed after the image
2276         is already assigned.
2277         We have to reassign the image when contentsRect() changes. This is a pretty cheap
2278         operation, since the image is already converted to a texture and we simply change the
2279         geometric values.
2280
2281         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2282         (WebKit::LayerTreeHostProxy::syncLayerParameters):
2283         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2284         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
2285
2286 2012-01-11  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2287
2288         [Qt] Add the editor rect to the EditorState
2289         https://bugs.webkit.org/show_bug.cgi?id=76053
2290
2291         Reviewed by Simon Hausmann.
2292
2293         Also rename some members to match the new Qt naming scheme.
2294
2295         * Shared/EditorState.cpp:
2296         (WebKit::EditorState::encode):
2297         (WebKit::EditorState::decode):
2298         * Shared/EditorState.h:
2299         * UIProcess/API/qt/qquickwebview.cpp:
2300         (QQuickWebView::inputMethodQuery):
2301         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2302         (WebKit::WebEditorClient::respondToChangedSelection):
2303         * WebProcess/WebPage/WebPage.cpp:
2304         (WebKit::WebPage::editorState):
2305
2306 2012-01-11  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
2307
2308         [GTK] Linking of big binaries should be serialized to avoid thrashing
2309         https://bugs.webkit.org/show_bug.cgi?id=75977
2310
2311         Reviewed by Martin Robinson.
2312
2313         Added artificial dependencies so that libwebkitgtk is always
2314         linked first, libwebkit2gtk second, and WebKitPluginProcess
2315         last. Automake unfortunately replaces the whole rule used to build
2316         the libraries if the actual name is used to add the dependency, so
2317         we use helper variables to work around that.
2318
2319         * GNUmakefile.am:
2320
2321 2012-01-11  Ryuan Choi  <ryuan.choi@samsung.com>
2322
2323         [EFL][WK2] Rename viewObject to viewWidget
2324         https://bugs.webkit.org/show_bug.cgi?id=75947
2325
2326         Reviewed by Martin Robinson.
2327
2328         Rename viewObject to viewWidget for the EFL port to use WidgetBackingStore
2329         which calls viewWidget().
2330
2331         * UIProcess/API/efl/PageClientImpl.cpp:
2332         (WebKit::PageClientImpl::PageClientImpl):
2333         (WebKit::PageClientImpl::setViewNeedsDisplay):
2334         (WebKit::PageClientImpl::viewSize):
2335         * UIProcess/API/efl/PageClientImpl.h:
2336         (WebKit::PageClientImpl::create):
2337         (WebKit::PageClientImpl::viewWidget):
2338         * UIProcess/WebPageProxy.h:
2339         * UIProcess/efl/WebPageProxyEfl.cpp:
2340         (WebKit::WebPageProxy::viewWidget):
2341
2342 2012-01-10  Mark Rowe  <mrowe@apple.com>
2343
2344         REGRESSION (r104377): All pages print blank on Snow Leopard
2345         <http://webkit.org/b/75879> / <rdar://problem/10674335>
2346
2347         We need to explicitly load PDFKit.framework before using PDFDocument and friends.
2348         On SnowLeopard the framework is not necessarily loaded by anything else before we
2349         print, which would lead to us failing to allocate the PDFDocument that we use for
2350         drawing the content from the web process.
2351
2352         Reviewed by Dan Bernstein.
2353
2354         * UIProcess/API/mac/WKPrintingView.mm:
2355         (pdfKitFrameworkPath): Construct the path to the PDFKit framework.
2356         (classFromPDFKit): Ensure that the PDFKit framework is loaded, and then retrieve the
2357         given class from it.
2358         (pdfAnnotationLinkClass): ASSERT that we found the class.
2359         (pdfDocumentClass): Ditto.
2360
2361 2012-01-10  Chris Marrin  <cmarrin@apple.com>
2362
2363         Wrapped allowedCompositingTriggers in ACCELERATED_COMPOSITING ifdef to make non-accelerated builds work
2364
2365         Unreviewed.
2366
2367         * WebProcess/WebCoreSupport/WebChromeClient.h:
2368
2369 2012-01-10  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
2370
2371         [Qt][WK2]REGRESSION(r102435): It made tst_QQuickWebView::show() crash
2372         https://bugs.webkit.org/show_bug.cgi?id=74176
2373
2374         Reviewed by Noam Rosenthal.
2375
2376         Check texture mapper exists already in ensureRootLayer to avoid recrecation.
2377         Check if root layer was deleted already in purgeGLResources.
2378         Added multipleWebViewWindows and multipleWebViews API tests.
2379
2380         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2381         (tst_QQuickWebView::multipleWebViewWindows):
2382         (tst_QQuickWebView::multipleWebViews):
2383         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2384         (WebKit::LayerTreeHostProxy::ensureRootLayer):
2385         (WebKit::LayerTreeHostProxy::purgeGLResources):
2386
2387 2012-01-10  Ryosuke Niwa  <rniwa@webkit.org>
2388
2389         Snow Leopard build fix.
2390
2391         * UIProcess/API/mac/PageClientImpl.h:
2392         * UIProcess/API/mac/PageClientImpl.mm:
2393
2394 2012-01-10  Anders Carlsson  <andersca@apple.com>
2395
2396         Hang opening movie that requires authentication
2397         https://bugs.webkit.org/show_bug.cgi?id=75989
2398
2399         Reviewed by Sam Weinig.
2400
2401         Change the way the keychain calls are processed to avoid deadlocks:
2402
2403         1. When a keychain call is made, the web process sends an asynchronous request message to the UI process,
2404            avoiding the need to bounce calls to the main thread (since CoreIPC only allows sending
2405            synchronous messages from the main thread). Incidentally, this fixes <rdar://problem/9428041>.
2406         2. The Web Process now waits on the calling thread, (for a condition variable to be signalled) for a reply message.
2407         3. The UI process handles the incoming message request message on the connection work queue and uses
2408            dispatch_async to a global dispatch queue where the keychain call is made.
2409            We use a global queue to prevent the connection work queue from blocking on the call.
2410         4. The UI process then sends an asynchronous reply message back to the web process. This message is sent from
2411            the global dispatch queue.
2412         5. The Web Process handles the reply message on the connection queue, adds the reply to a map and signals
2413            the condition variable that the web process is waiting on and the thread that made the keychain call
2414            can resume execution.
2415
2416         * Shared/mac/SecItemRequestData.cpp:
2417         (WebKit::SecItemRequestData::SecItemRequestData):
2418         (WebKit::SecItemRequestData::encode):
2419         (WebKit::SecItemRequestData::decode):
2420         * Shared/mac/SecItemRequestData.h:
2421         (WebKit::SecItemRequestData::type):
2422         Add a type to SecItemRequestData and encode/decode it.
2423
2424         * Shared/mac/SecItemResponseData.h:
2425         (WebKit::SecItemResponseData::resultObject):
2426         Make this return a reference so we can call leakRef() on it.
2427
2428         * Shared/mac/SecKeychainItemRequestData.cpp:
2429         (WebKit::SecKeychainItemRequestData::SecKeychainItemRequestData):
2430         (WebKit::SecKeychainItemRequestData::~SecKeychainItemRequestData):
2431         (WebKit::SecKeychainItemRequestData::attributeList):
2432         (WebKit::SecKeychainItemRequestData::encode):
2433         (WebKit::SecKeychainItemRequestData::decode):
2434         * Shared/mac/SecKeychainItemRequestData.h:
2435         (WebKit::SecKeychainItemRequestData::type):
2436         Add a type, and put the OwnPtr and OwnArrayPtr in a RefCounted struct so we can
2437         correctly copy this object.
2438
2439         * UIProcess/WebConnectionToWebProcess.cpp:
2440         (WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess):
2441         Don't open the connection here, the WebProcessProxy object needs to add itself as a queue client before opening.
2442     
2443         * UIProcess/WebProcessProxy.cpp:
2444         (WebKit::WebProcessProxy::disconnect):
2445         Remove the WebProcessProxy object from the list of connection queue clients.
2446
2447         (WebKit::WebProcessProxy::didReceiveMessageOnConnectionWorkQueue):
2448         Call didReceiveWebProcessProxyMessageOnConnectionWorkQueue.
2449
2450         (WebKit::WebProcessProxy::didFinishLaunching):
2451         Add the WebProcessProxy as a queue client and open the connection.
2452
2453         * UIProcess/WebProcessProxy.h:
2454         WebProcessProxy should inherit from CoreIPC::Connection::QueueClient. Replace all individual keychain
2455         handler functions with two generic functions, secItemRequest and secKeychainItemRequest.
2456     
2457         * UIProcess/WebProcessProxy.messages.in:
2458         Replace individual keychain messages with SecItemRequest and SecKeychainItemRequest messages.
2459
2460         * UIProcess/mac/WebProcessProxyMac.mm:
2461         (WebKit::handleSecItemRequest):
2462         Call the right SecItem function depending on the request type and send back the result.
2463
2464         (WebKit::WebProcessProxy::secItemRequest):
2465         Dispatch handleSecItemRequest on a global dispatch queue.
2466
2467         (WebKit::handleSecKeychainItemRequest):
2468         Call the right SecKeychainItem function depending on the request type and send back the result.
2469         
2470         (WebKit::WebProcessProxy::secKeychainItemRequest):
2471         Dispatch handleSecKeychainItemRequest on a global dispatch queue.
2472         
2473         * WebKit2.xcodeproj/project.pbxproj:
2474         Update for added/removed files.
2475
2476         * WebProcess/WebProcess.h:
2477         Add secItemResponse and secKeychainItemResponse message handlers.
2478
2479         * WebProcess/WebProcess.messages.in:
2480         Add SecItemResponse and SecKeychainItemResponse messages.
2481
2482         * WebProcess/mac/CoreIPCClientRunLoop.h:
2483         * WebProcess/mac/CoreIPCClientRunLoop.mm:
2484         This is no longer needed.
2485
2486         * WebProcess/mac/KeychainItemShimMethods.h:
2487         * WebProcess/mac/KeychainItemShimMethods.mm:
2488         (WebKit::managedAttributeLists):
2489         Make this an atomically initialized static.
2490
2491         (WebKit::managedAttributeListsMutex):
2492         Add an atomically initialized mutex.
2493
2494         (WebKit::allocateAttributeListContents):
2495         Use the managedAttributeListsMutex to make this function callable from any thread.
2496
2497         (WebKit::managedKeychainItemContents):
2498         Make this an atomically initialized static.
2499         
2500         (WebKit::managedKeychainItemContentsMutex):
2501         Add an atomically initialized mutex.
2502
2503         (WebKit::allocateKeychainItemContentData):
2504         Use the managedAttributeListsMutex to make this function callable from any thread.
2505
2506         (WebKit::webFreeAttributeListContent):
2507         Use locking so this can be called from any thread.
2508
2509         (WebKit::webFreeKeychainItemContent):
2510         Ditto.
2511
2512         (WebKit::responseMap):
2513         Add responseMap thread-safe singleton for holding incoming responses.
2514
2515         (WebKit::generateSecKeychainItemRequestID):
2516         Return a unique item request id, using OSAtomicIncrement64Barrier for atomicity.
2517
2518         (WebKit::didReceiveSecKeychainItemResponse):
2519         Pass the response over the response map.
2520
2521         (WebKit::sendSeqKeychainItemRequest):
2522         Send a request message and wait for a response using ResponseMap::waitForResponse.
2523
2524         (WebKit::webSecKeychainItemCopyContent):
2525         Send a request using sendSeqKeychainItemRequest.
2526
2527         (WebKit::webSecKeychainItemCreateFromContent):
2528         Ditto.
2529
2530         (WebKit::webSecKeychainItemModifyContent):
2531         Ditto.
2532
2533         * WebProcess/mac/KeychainShimResponseMap.h:
2534         New thread-safe helper class that stores a map of responses and lets client wait for a response
2535         with a given ID.
2536
2537         (KeychainShimResponseMap::waitForResponse):
2538         Wait until the response is available in the hash map, then return it.
2539
2540         (KeychainShimResponseMap::didReceiveResponse):
2541         Add the response to the hash map and signal the condition variable.
2542
2543         * WebProcess/mac/SecItemShimMethods.h:
2544         * WebProcess/mac/SecItemShimMethods.mm:
2545         (WebKit::responseMap):
2546         Add responseMap thread-safe singleton for holding incoming responses.
2547
2548         (WebKit::generateSecItemRequestID):
2549         Return a unique item request id, using OSAtomicIncrement64Barrier for atomicity.
2550
2551         (WebKit::didReceiveSecItemResponse):
2552         Pass the response over the response map.
2553
2554         (WebKit::sendSeqItemRequest):
2555         Send a request message and wait for a response using ResponseMap::waitForResponse.
2556
2557         (WebKit::webSecItemCopyMatching):
2558         Send a request using sendSeqItemRequest.
2559
2560         (WebKit::webSecItemAdd):
2561         Ditto.
2562
2563         (WebKit::webSecItemUpdate):
2564         Ditto.
2565
2566         (WebKit::webSecItemDelete):
2567         Ditto.
2568
2569         * WebProcess/mac/WebProcessMac.mm:
2570         (WebKit::WebProcess::secItemResponse):
2571         Call didReceiveSecItemResponse.
2572
2573         (WebKit::WebProcess::secKeychainItemResponse):
2574         Call didReceiveSecKeychainItemResponse.
2575
2576 2012-01-10  Anders Carlsson  <andersca@apple.com>
2577
2578         DispatchOnConnectionQueue messages should have a Connection parameter
2579         https://bugs.webkit.org/show_bug.cgi?id=75986
2580
2581         Reviewed by Adam Roben.
2582
2583         Message handlers for messages with the DispatchOnConnectionQueue should have a CoreIPC::Connection
2584         parameter, making it easier to send messages back over that connection.
2585
2586         * Platform/CoreIPC/HandleMessage.h:
2587         (CoreIPC::callMemberFunction):
2588         (CoreIPC::handleMessageOnConnectionQueue):
2589         * Scripts/webkit2/messages.py:
2590         (async_case_statement):
2591         (generate_message_handler):
2592         * Scripts/webkit2/messages_unittest.py:
2593         * WebProcess/WebPage/EventDispatcher.cpp:
2594         (WebKit::EventDispatcher::wheelEvent):
2595         (WebKit::EventDispatcher::gestureEvent):
2596         * WebProcess/WebPage/EventDispatcher.h:
2597         * WebProcess/WebProcess.cpp:
2598         (WebKit::WebProcess::pluginProcessCrashed):
2599         * WebProcess/WebProcess.h:
2600
2601 2012-01-10  Chris Marrin  <cmarrin@apple.com>
2602
2603         Turn off the FilterTrigger in WebKit and WebKit2
2604         https://bugs.webkit.org/show_bug.cgi?id=75914
2605
2606         Reviewed by Simon Fraser.
2607
2608         Implement allowedCompositingTriggers to turn on all compositing triggers except FilterTrigger.
2609
2610         * WebProcess/WebCoreSupport/WebChromeClient.h:
2611         (WebKit::WebChromeClient::allowedCompositingTriggers):
2612
2613 2012-01-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2614
2615         Unreviewed potential Mac WK2 build fix.
2616
2617         * UIProcess/PageClient.h: forward declare WebGestureEvent.
2618
2619 2012-01-10  Csaba Osztrogonác  <ossy@webkit.org>
2620
2621         Unreviewed, rolling out an accidental commit r104569.
2622
2623         * Shared/EditorState.cpp:
2624         (WebKit::EditorState::encode):
2625         (WebKit::EditorState::decode):
2626         * Shared/EditorState.h:
2627         * UIProcess/API/qt/qquickwebview.cpp:
2628         (QQuickWebView::inputMethodQuery):
2629         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2630         (WebKit::WebEditorClient::respondToChangedSelection):
2631         * WebProcess/WebPage/WebPage.cpp:
2632         (WebKit::WebPage::editorState):
2633
2634 2012-01-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2635
2636         Unreviewed potential Mac WK2 build fix.
2637
2638         * UIProcess/API/mac/PageClientImpl.h:
2639         * UIProcess/API/mac/PageClientImpl.mm:
2640         (WebKit::PageClientImpl::doneWithGestureEvent):
2641
2642 2012-01-10  Rafael Brandao  <rafael.lobo@openbossa.org>
2643
2644         [Qt][WK2] Add font-related API tests for QWebPreferences
2645         https://bugs.webkit.org/show_bug.cgi?id=75739
2646
2647         Reviewed by Zoltan Herczeg.
2648
2649         * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
2650         * UIProcess/API/qt/tests/qmltests/common/font-preferences.html: Added.
2651
2652 2012-01-10  Simon Hausmann  <simon.hausmann@nokia.com>
2653
2654         [Qt] Fix failing WK2 layout tests after r104557
2655
2656         Reviewed by Kenneth Rohde Christiansen.
2657
2658         * UIProcess/WebPageProxy.cpp:
2659         (WebKit::WebPageProxy::didReceiveEvent): Add missing break to not
2660         handle mouseDown as gesture event.
2661
2662 2012-01-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2663
2664         Unreviewed buildfix.
2665
2666         * UIProcess/WebPageProxy.h:
2667
2668 2012-01-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2669
2670         Implement the input panel request/close handling
2671
2672         Reviewed by Simon Hausmann.
2673
2674         With the current patch we only request the input panel as a
2675         response to a user tap. Close requests, on the other hand,
2676         is always respected.
2677
2678         As multiple show/hide requests can happen while processing
2679         the tap gesture, input panel visibility changes are postponed
2680         until the tap gesture ends.
2681
2682         The input panel will become visible if the WebCore editor is
2683         in canEdit mode and thus work for content-editable, meaning
2684         that it won't close the input panel if you click on a link
2685         (eg. editCommand) while in content-editable mode.
2686
2687         * UIProcess/PageClient.h:
2688         * UIProcess/WebPageProxy.cpp:
2689         (WebKit::WebPageProxy::handleGestureEvent):
2690         (WebKit::WebPageProxy::editorStateChanged):
2691         (WebKit::WebPageProxy::didReceiveEvent):
2692
2693             Add a new doneWithGestureEvent method to the PageClient
2694             as well as add a updateTextInputState similar to that of mac.
2695
2696         * UIProcess/WebPageProxy.h:
2697         * UIProcess/qt/QtPageClient.cpp:
2698         (QtPageClient::updateTextInputState):
2699         (QtPageClient::doneWithGestureEvent):
2700
2701             Propagate the new events to the Qt EventHandler.
2702
2703         * UIProcess/qt/QtPageClient.h:
2704         * UIProcess/qt/QtWebPageEventHandler.cpp:
2705         * UIProcess/qt/QtWebPageEventHandler.h:
2706         (QtWebPageEventHandler::QtWebPageEventHandler):
2707         (QtWebPageEventHandler::handleSingleTapEvent):
2708         (setInputPanelVisible):
2709         (QtWebPageEventHandler::updateTextInputState):
2710         (QtWebPageEventHandler::doneWithGestureEvent):
2711
2712             Handle postponing of the input method visibility change
2713             and the actual showing/hiding.
2714
2715 2012-01-10  Eunmi Lee  <eunmi15.lee@samsung.com>
2716
2717         [EFL][WK2] Remove codes to move and resize the clip.
2718         https://bugs.webkit.org/show_bug.cgi?id=75428
2719
2720         Reviewed by Andreas Kling.
2721
2722         Remove codes to move and resize the clip because clip is not used now.
2723         We have to show whole area of evas_object_image so we don't have to
2724         clip any area.
2725         In the WebKit1 Efl, the clip is used to clip the area to show during
2726         weak zoom, so we can use codes to manipulate the clip when we want to
2727         implement weak zoom for WebKit2 Efl.
2728
2729         * UIProcess/API/efl/ewk_view.cpp:
2730         (_ewk_view_smart_calculate):
2731
2732 2012-01-09  Andras Becsi  <andras.becsi@nokia.com>
2733
2734         [Qt][WK2] Pinch zoom should affect the page size
2735         https://bugs.webkit.org/show_bug.cgi?id=74601
2736
2737         Reviewed by Kenneth Rohde Christiansen.
2738
2739         The current implementation uses the scale property of the QQuickWebPage
2740         to scale the page in response to pinch gestures.
2741         However for layout and anchoring to work correctly in QML, pinching needs
2742         to change the page size.
2743         This patch applies the pinch scale to the page size and to the transformation
2744         matrix of the drawing area.
2745         Thus the page item's coordinate system is no longer a direct representation
2746         of the WebCore::Page coordinate system and it is no longer suitable as
2747         an inertial frame of reference for input events. The event propagation had
2748         to be moved to the QQuickWebView and the positions translated to content
2749         coordinates when NativeWebEvents are created.
2750         Re-landing with fixed event delivery for the test infrastructure.
2751
2752         * Shared/NativeWebMouseEvent.h:
2753         * Shared/NativeWebTouchEvent.h:
2754         * Shared/NativeWebWheelEvent.h:
2755         * Shared/qt/NativeWebMouseEventQt.cpp:
2756         (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
2757         * Shared/qt/NativeWebTouchEventQt.cpp:
2758         (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
2759         * Shared/qt/NativeWebWheelEventQt.cpp:
2760         (WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
2761         * Shared/qt/WebEventFactoryQt.cpp:
2762         (WebKit::WebEventFactory::createWebMouseEvent):
2763         (WebKit::WebEventFactory::createWebWheelEvent):
2764         (WebKit::WebEventFactory::createWebTouchEvent):
2765         * Shared/qt/WebEventFactoryQt.h:
2766         * UIProcess/API/qt/qquickwebpage.cpp:
2767         (QQuickWebPage::geometryChanged):
2768         (QQuickWebPagePrivate::QQuickWebPagePrivate):
2769         (QQuickWebPagePrivate::paintToCurrentGLContext):
2770         (QQuickWebPage::usesTraditionalDesktopBehaviour):
2771         (QQuickWebPage::setUsesTraditionalDesktopBehaviour):
2772         (QQuickWebPage::eventHandler):
2773         (QQuickWebPage::setContentSize):
2774         (QQuickWebPage::contentSize):
2775         (QQuickWebPage::setContentScale):
2776         (QQuickWebPage::contentScale):
2777         (QQuickWebPage::transformFromItem):
2778         (QQuickWebPage::transformToItem):
2779         (QQuickWebPagePrivate::updateSize):
2780         * UIProcess/API/qt/qquickwebpage_p.h:
2781         * UIProcess/API/qt/qquickwebpage_p_p.h:
2782         * UIProcess/API/qt/qquickwebview.cpp:
2783         (QQuickWebViewPrivate::enableMouseEvents):
2784         (QQuickWebViewPrivate::disableMouseEvents):
2785         (QQuickWebViewPrivate::loadDidCommit):
2786         (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
2787         (QQuickWebViewPrivate::didChangeContentsSize):
2788         (QQuickWebViewPrivate::didChangeViewportProperties):
2789         (QQuickWebViewPrivate::pageDidRequestScroll):
2790         (QQuickWebViewPrivate::updateVisibleContentRectAndScale):
2791         (QQuickWebViewPrivate::PostTransitionState::apply):
2792         (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
2793         (QQuickWebViewExperimental::setUseTraditionalDesktopBehaviour):
2794         (QQuickWebViewExperimental::useTraditionalDesktopBehaviour):
2795         (QQuickWebView::mapToWebContent):
2796         (QQuickWebView::mapRectToWebContent):
2797         (QQuickWebView::mapFromWebContent):
2798         (QQuickWebView::mapRectFromWebContent):
2799         (QQuickWebView::geometryChanged):
2800         (QQuickWebView::keyPressEvent):
2801         (QQuickWebView::keyReleaseEvent):
2802         (QQuickWebView::inputMethodEvent):
2803         (QQuickWebView::focusInEvent):
2804         (QQuickWebView::focusOutEvent):
2805         (QQuickWebView::touchEvent):
2806         (QQuickWebView::mousePressEvent):
2807         (QQuickWebView::mouseMoveEvent):
2808         (QQuickWebView::mouseReleaseEvent):
2809         (QQuickWebView::mouseDoubleClickEvent):
2810         (QQuickWebView::wheelEvent):
2811         (QQuickWebView::hoverEnterEvent):
2812         (QQuickWebView::hoverMoveEvent):
2813         (QQuickWebView::hoverLeaveEvent):
2814         (QQuickWebView::dragMoveEvent):
2815         (QQuickWebView::dragEnterEvent):
2816         (QQuickWebView::dragLeaveEvent):
2817         (QQuickWebView::dropEvent):
2818         (QQuickWebView::event):
2819         * UIProcess/API/qt/qquickwebview_p.h:
2820         * UIProcess/API/qt/qquickwebview_p_p.h:
2821         * UIProcess/API/qt/qwebviewportinfo.cpp:
2822         (QWebViewportInfo::contentsSize):
2823         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2824         (tst_QQuickWebView::scrollRequest):
2825         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
2826         (WebKit::QtPinchGestureRecognizer::recognize):
2827         * UIProcess/qt/QtViewportInteractionEngine.cpp:
2828         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
2829         (WebKit::QtViewportInteractionEngine::setItemRectVisible):
2830         (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
2831         (WebKit::QtViewportInteractionEngine::event):
2832         (WebKit::QtViewportInteractionEngine::wheelEvent):
2833         (WebKit::QtViewportInteractionEngine::pagePositionRequest):
2834         (WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale):
2835         (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
2836         (WebKit::QtViewportInteractionEngine::applyConstraints):
2837         (WebKit::QtViewportInteractionEngine::currentCSSScale):
2838         (WebKit::QtViewportInteractionEngine::panGestureStarted):
2839         (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
2840         (WebKit::QtViewportInteractionEngine::panGestureEnded):
2841         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
2842         (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
2843         (WebKit::QtViewportInteractionEngine::scaleContent):
2844         * UIProcess/qt/QtViewportInteractionEngine.h:
2845         * UIProcess/qt/QtWebPageEventHandler.cpp:
2846         (QtWebPageEventHandler::handleEvent):
2847         (QtWebPageEventHandler::handleMouseMoveEvent):
2848         (QtWebPageEventHandler::handleMousePressEvent):
2849         (QtWebPageEventHandler::handleMouseReleaseEvent):
2850         (QtWebPageEventHandler::handleWheelEvent):
2851         (QtWebPageEventHandler::handleHoverLeaveEvent):
2852         (QtWebPageEventHandler::handleHoverMoveEvent):
2853         (QtWebPageEventHandler::handleDragEnterEvent):
2854         (QtWebPageEventHandler::handleDragMoveEvent):
2855         (QtWebPageEventHandler::handleDropEvent):
2856         (QtWebPageEventHandler::handleSingleTapEvent):
2857         (QtWebPageEventHandler::handleDoubleTapEvent):
2858         (QtWebPageEventHandler::touchEvent):
2859         * UIProcess/qt/QtWebPageEventHandler.h:
2860
2861 2012-01-09  Eunmi Lee  <eunmi15.lee@samsung.com>
2862
2863         [EFL][WK2] Set color_set function to the clipped smart class.
2864         https://bugs.webkit.org/show_bug.cgi?id=75286
2865
2866         Reviewed by Andreas Kling.
2867
2868         Set _ewk_view_smart_color_set() function to the clipped smart class's color_set,
2869         so application can set webpage's background color using evas_object_color_set() API.
2870
2871         * UIProcess/API/efl/ewk_view.cpp:
2872         (_ewk_view_smart_color_set):
2873         (ewk_view_smart_class_init):
2874
2875 2012-01-08  Dan Bernstein  <mitz@apple.com>
2876
2877         REGRESSION (r103859): WKViews leak
2878         https://bugs.webkit.org/show_bug.cgi?id=75805
2879
2880         The flags changed event monitor added in r103859 was retaining the WKView (as it references
2881         self in the handler block), causing it to leak.
2882
2883         * UIProcess/API/mac/WKView.mm:
2884         (-[WKView dealloc]): Moved call to remove the flags changed event monitor from here...
2885         (-[WKView viewDidMoveToWindow]): ...to here. Moved call to add the flags changed event
2886         monitor to here from...
2887         (-[WKView initWithFrame:contextRef:pageGroupRef:]): ...here.
2888
2889 2012-01-06  Mark Rowe  <mrowe@apple.com>
2890
2891         REGRESSION (WebKit2): Save as PDF no longer generates links to URLs
2892         <http://webkit.org/b/65076> / <rdar://problem/9606246>
2893
2894         WebKit2 printing works by having the web process render the page content to a PDF. The PDF
2895         data is then shipped to the UI process which will render it in to the printing graphics context.
2896         Links were being lost because the API used to do the rendering of the PDF in to the printing
2897         graphics context, CGContextDrawPDFPage, did not preserve the links that were present in the
2898         PDF content received from the web process.
2899
2900         To fix this we switch to using PDFKit for drawing the PDF in to the printing graphics context.
2901         PDFKit provides the ability for us to iterate over the links in the PDF content ourselves and
2902         add links in to the printing graphics context.
2903
2904         Reviewed by Alexey Proskuryakov.
2905
2906         * UIProcess/API/mac/WKPrintingView.h:
2907         * UIProcess/API/mac/WKPrintingView.mm:
2908         (pdfAnnotationLinkClass): Look up the PDFAnnotationLink class from PDFKit as WebKit2 loads PDFKit lazily.
2909         (pdfDocumentClass): Ditto.
2910         (-[WKPrintingView _drawPDFDocument:page:atPoint:]): Switch to using the PDFKit equivalents of several types.
2911         Iterate over the annotations present in the PDFPage, calling CGPDFContextSetURLForRect for each PDFAnnotationLink
2912         that we find.
2913         (-[WKPrintingView _drawPreview:]): Create an NSData to feed to PDFDocument.
2914         (-[WKPrintingView drawRect:]): Ditto.
2915         * WebKit2Prefix.h: Add the usual workaround to make Objective-C exceptions compile when C++ exception handling is disabled.
2916
2917 2012-01-06  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
2918
2919         [Qt] [WK2] Minibrowser leaks memory ~6-7Mb per reload
2920         https://bugs.webkit.org/show_bug.cgi?id=75746
2921
2922         Reset WebGraphicsLayer::m_layerTreeTileClient of all dependent 
2923         layers from ~LayerTreeHostQt(). This replaces r103760 which
2924         causes leaks of GraphicsLayerTextureMapper objects on UI side. 
2925
2926         Reviewed by Noam Rosenthal.
2927
2928         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2929         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
2930         (WebCore::WebGraphicsLayer::setLayerTreeTileClient):
2931         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
2932         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2933         (WebKit::LayerTreeHostQt::~LayerTreeHostQt):
2934
2935 2012-01-06  Alexey Proskuryakov  <ap@apple.com>
2936
2937         [Mac] Thread verifier assertions when printing
2938         https://bugs.webkit.org/show_bug.cgi?id=75738
2939
2940         Reviewed by Sam Weinig.
2941
2942         * UIProcess/API/mac/WKPrintingView.mm:
2943         (-[WKPrintingView dealloc]): Dealloc in main thread, so that WebFrameProxy doesn't get
2944         deref'ed from a secondary one.
2945         (-[WKPrintingView _adjustPrintingMarginsForHeaderAndFooter]): This method calls out to client,
2946         which only expects that on main thread.
2947         (-[WKPrintingView knowsPageRange:]): Call _adjustPrintingMarginsForHeaderAndFooter on main
2948         thread.
2949
2950 2012-01-06  Alexey Proskuryakov  <ap@apple.com>
2951
2952         Need to allow SCNetworkReachability service in sandbox profile
2953         https://bugs.webkit.org/show_bug.cgi?id=75724
2954         <rdar://problem/10652415>
2955
2956         Reviewed by Mark Rowe.
2957
2958         * WebProcess/com.apple.WebProcess.sb:
2959
2960 2012-01-06  Benjamin Poulain  <bpoulain@apple.com>
2961
2962         [Mac] Sort the resources of WebKit2.xcodeproj
2963         https://bugs.webkit.org/show_bug.cgi?id=75636
2964
2965         Reviewed by Andreas Kling.
2966
2967         * WebKit2.xcodeproj/project.pbxproj:
2968
2969 2012-01-06  Rafael Brandao  <rafael.lobo@openbossa.org>
2970
2971         [Qt][WK2] QQuickWebView breaks when an empty url is loaded
2972         https://bugs.webkit.org/show_bug.cgi?id=75445
2973
2974         Reviewed by Tor Arne Vestbø.
2975
2976         * UIProcess/API/qt/qquickwebview.cpp:
2977         (QQuickWebView::load):
2978         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml: Check if a request to load
2979         an empty url is ignored. 'about:blank' should be used instead to load an empty page.
2980         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
2981
2982 2012-01-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2983
2984         [Qt] Move listing of include paths and libs to pri files in sources
2985
2986         Includepaths are sometimes modified by non-Qt contributors so keeping
2987         them in files inside Sources makes it more likely that they are updated
2988         along with project files for the other ports.
2989
2990         Using pri files instead of prf files for this also has the benefit that
2991         the include() from the main target file can be parsed and followed by
2992         Qt Creator -- something that does not work with load().
2993
2994         Dependency from a target to a library through the WEBKIT variable are
2995         handled through forwarding-files in Tools/qmake/mkspecs/modules, which
2996         set the source root of the module and include the right pri file.
2997
2998         Ideally we'd use the variant of include() that takes an optional
2999         namespace to read the variables into, or the fromfile() function,
3000         but both of these add an overhead of about 40% on the total qmake
3001         runtime, due to making a deep copy of all the variables in the
3002         project or re-reading all the prf files from scratch.
3003
3004         Reviewed by Simon Hausmann.
3005         Reviewed by Ossy.
3006
3007         * Target.pri:
3008         * WebKit2.pri: Renamed from Tools/qmake/mkspecs/features/webkit2.prf.
3009
3010 2012-01-06  Zeno Albisser  <zeno@webkit.org>
3011
3012         [Qt][WK2] Add test for application URL schemes.
3013         https://bugs.webkit.org/show_bug.cgi?id=74933
3014
3015         Reviewed by Kenneth Rohde Christiansen.
3016
3017         * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml: Added.
3018         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
3019
3020 2012-01-05  Dan Bernstein  <mitz@apple.com>
3021
3022         <rdar://problem/10633760> Update copyright strings
3023
3024         Reviewed by Mark Rowe.
3025
3026         * Info.plist:
3027         * PluginProcess/Info.plist:
3028         * WebProcess/Info.plist:
3029
3030 2012-01-05  Anders Carlsson  <andersca@apple.com>
3031
3032         Crash when trying to invalidate the NPRuntimeObjectMap for a plug-in in a subframe
3033         https://bugs.webkit.org/show_bug.cgi?id=75667
3034         <rdar://problem/10389454>
3035
3036         Reviewed by Kevin Decker.
3037
3038         NPRuntimeObjectMap::invalidate is called whenever a plug-in view is destroyed. If invalidate is called for an object map
3039         whose plug-in has a null frame, we'd crash.
3040
3041         The plug-in will have a null frame if the plug-in view is destroyed because its containing frame has been removed from the document,
3042         and if the plug-in view is being destroyed asynchronously due to the plug-in itself calling JavaScript that will remove the frame
3043         (see PluginView::unprotectPluginFromDestruction).
3044
3045         The reason NPRuntimeObjectMap::invalidate will crash when the frame is null is because we were trying to access the frame's global
3046         object, causing a null dereference. The reason we were trying to get at the frame's global object was to create a Strong handle to
3047         a JSNPObject so we could stick the object in a vector so we could later iterate over the vector elements and call invalidate() on
3048         each JSNPObject which will end up releasing the underlying NPObject.
3049
3050         However, it turns out that we don't need to stick the JSNPObject in a vector; we can just get the underlying NPObject directly and
3051         stick that in a vector and then iterate over the NPObjects, releasing them.
3052
3053         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
3054         (WebKit::NPRuntimeObjectMap::invalidate):
3055
3056 2012-01-05  Alexey Proskuryakov  <ap@apple.com>
3057
3058         REGRESSION (r98912-r99538): Crash in WebKit::WebFrameLoaderClient::didDetectXSS
3059         https://bugs.webkit.org/show_bug.cgi?id=75578
3060
3061         Reviewed by Daniel Bates.
3062
3063         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
3064         (WebKit::InjectedBundlePageLoaderClient::didDetectXSSForFrame):
3065         Check for a correct struct member existence.
3066
3067 2012-01-05  Alexey Proskuryakov  <ap@apple.com>
3068
3069         WK2: Safari fails to open a PostScript file in Preview from context menu
3070         https://bugs.webkit.org/show_bug.cgi?id=75643
3071         <rdar://problem/9823430>
3072
3073         Reviewed by Dan Bernstein.
3074
3075         * UIProcess/API/mac/PDFViewController.mm: (WebKit::PDFViewController::setPDFDocumentData):
3076         Append ".pdf" to file name when converting data, as suggested file name is created for
3077         original MIME type.
3078
3079 2012-01-05  Zeno Albisser  <zeno@webkit.org>
3080
3081         [Qt][WK2] Implement custom URL schemes defined in QML.
3082         https://bugs.webkit.org/show_bug.cgi?id=74931
3083
3084         Allow creation of custom UrlSchemeDelegates from QML.
3085         A UrlSchemeDelegate contains a handler signal that is triggered
3086         when a url matching the defined scheme is requested.
3087         To allow for this a derivation of QNetworkAccessManager
3088         is necessary.
3089         The request is then handled in QML/JS and a reply
3090         is sent back from the UIProcess to the WebProcess.
3091
3092         Reviewed by Kenneth Rohde Christiansen.
3093
3094         * Shared/qt/QtNetworkReplyData.cpp: Added.
3095         (WebKit::QtNetworkReplyData::QtNetworkReplyData):
3096         (WebKit::QtNetworkReplyData::encode):
3097         (WebKit::QtNetworkReplyData::decode):
3098         * Shared/qt/QtNetworkReplyData.h: Added.
3099         * Shared/qt/QtNetworkRequestData.cpp: Added.
3100         (WebKit::QtNetworkRequestData::QtNetworkRequestData):
3101         (WebKit::QtNetworkRequestData::encode):
3102         (WebKit::QtNetworkRequestData::decode):
3103         * Shared/qt/QtNetworkRequestData.h: Added.
3104         * Target.pri:
3105         * UIProcess/API/qt/qquicknetworkreply.cpp: Added.
3106         (QQuickNetworkReply::QQuickNetworkReply):
3107         (QQuickNetworkReply::contentType):
3108         (QQuickNetworkReply::setContentType):
3109         (QQuickNetworkReply::operation):
3110         (QQuickNetworkReply::setOperation):
3111         (QQuickNetworkReply::contentDisposition):
3112         (QQuickNetworkReply::setContentDisposition):
3113         (QQuickNetworkReply::location):
3114         (QQuickNetworkReply::setLocation):
3115         (QQuickNetworkReply::lastModified):
3116         (QQuickNetworkReply::setLastModified):
3117         (QQuickNetworkReply::cookie):
3118         (QQuickNetworkReply::setCookie):
3119         (QQuickNetworkReply::userAgent):
3120         (QQuickNetworkReply::setUserAgent):
3121         (QQuickNetworkReply::server):
3122         (QQuickNetworkReply::setServer):
3123         (QQuickNetworkReply::data):
3124         (QQuickNetworkReply::setData):
3125         (QQuickNetworkReply::send):
3126         (QQuickNetworkReply::networkRequestData):
3127         (QQuickNetworkReply::setNetworkRequestData):
3128         (QQuickNetworkReply::networkReplyData):
3129         * UIProcess/API/qt/qquicknetworkreply_p.h: Added.
3130         * UIProcess/API/qt/qquicknetworkrequest_p.h: Added.
3131         * UIProcess/API/qt/qquickurlschemedelegate.cpp: Added.
3132         (QQuickUrlSchemeDelegate::QQuickUrlSchemeDelegate):
3133         (QQuickUrlSchemeDelegate::scheme):
3134         (QQuickUrlSchemeDelegate::setScheme):
3135         (QQuickUrlSchemeDelegate::request):
3136         (QQuickUrlSchemeDelegate::reply):
3137         * UIProcess/API/qt/qquickurlschemedelegate_p.h: Added.
3138         * UIProcess/API/qt/qquickwebview.cpp:
3139         (QQuickWebViewExperimental::QQuickWebViewExperimental):
3140         (QQuickWebViewExperimental::schemeDelegates_At):
3141         (QQuickWebViewExperimental::schemeDelegates_Append):
3142         (QQuickWebViewExperimental::schemeDelegates_Count):
3143         (QQuickWebViewExperimental::schemeDelegates_Clear):
3144         (QQuickWebViewExperimental::schemeDelegates):
3145         (QQuickWebViewExperimental::invokeApplicationSchemeHandler):
3146         (QQuickWebViewExperimental::sendApplicationSchemeReply):
3147         * UIProcess/API/qt/qquickwebview_p.h:
3148         * UIProcess/WebPageProxy.h:
3149         * UIProcess/WebPageProxy.messages.in:
3150         * UIProcess/qt/QtPageClient.cpp:
3151         (QtPageClient::handleApplicationSchemeRequest):
3152         * UIProcess/qt/QtPageClient.h:
3153         * UIProcess/qt/WebPageProxyQt.cpp:
3154         (WebKit::WebPageProxy::registerApplicationScheme):
3155         (WebKit::WebPageProxy::resolveApplicationSchemeRequest):
3156         (WebKit::WebPageProxy::sendApplicationSchemeReply):
3157         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3158         (WebKit::WebFrameLoaderClient::createNetworkingContext):
3159         * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
3160         * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h:
3161         * WebProcess/WebPage/WebPage.h:
3162         * WebProcess/WebPage/WebPage.messages.in:
3163         * WebProcess/WebPage/qt/WebPageQt.cpp:
3164         (WebKit::WebPage::registerApplicationScheme):
3165         (WebKit::WebPage::receivedApplicationSchemeRequest):
3166         (WebKit::WebPage::applicationSchemeReply):
3167         * WebProcess/qt/QtNetworkAccessManager.cpp: Added.
3168         (WebKit::QtNetworkAccessManager::QtNetworkAccessManager):
3169         (WebKit::QtNetworkAccessManager::obtainOriginatingWebPage):
3170         (WebKit::QtNetworkAccessManager::createRequest):
3171         (WebKit::QtNetworkAccessManager::registerApplicationScheme):
3172         * WebProcess/qt/QtNetworkAccessManager.h: Added.
3173         * WebProcess/qt/QtNetworkReply.cpp: Added.
3174         (WebKit::QtNetworkReply::QtNetworkReply):
3175         (WebKit::QtNetworkReply::setData):
3176         (WebKit::QtNetworkReply::setReplyData):
3177         (WebKit::QtNetworkReply::readData):
3178         (WebKit::QtNetworkReply::bytesAvailable):
3179         (WebKit::QtNetworkReply::setHeader):
3180         (WebKit::QtNetworkReply::abort):
3181         (WebKit::QtNetworkReply::close):
3182         (WebKit::QtNetworkReply::setReadBufferSize):
3183         (WebKit::QtNetworkReply::canReadLine):
3184         (WebKit::QtNetworkReply::finalize):
3185         * WebProcess/qt/QtNetworkReply.h: Added.
3186         * WebProcess/qt/WebProcessQt.cpp:
3187         (WebKit::WebProcess::platformInitializeWebProcess):
3188
3189 2012-01-05  Fady Samuel  <fsamuel@chromium.org>
3190
3191         Move scalePageBy from eventSender to window.internals
3192         https://bugs.webkit.org/show_bug.cgi?id=64512
3193
3194         Reviewed by Simon Fraser.
3195
3196         * win/WebKit2.def:
3197         * win/WebKit2CFLite.def:
3198
3199 2012-01-05  Alexander Færøy  <alexander.faeroy@nokia.com>
3200
3201         Pass WebFrame instead of WebCore::Frame to the WebKit2 specific FrameNetworkingContext
3202         https://bugs.webkit.org/show_bug.cgi?id=75550
3203
3204         Make the WebKit2 FrameNetworkingContext implementation store the
3205         WebFrame instead of the WebCore::Frame as this is needed for the Qt
3206         port to implement a.o. HTTP autentication and SSL support.
3207
3208         As the WebFrameNetworkingContext is partly shared across all WebKit2 ports,
3209         all port specific files have been modified.
3210
3211         For the Qt implementation of FrameNetworkingContext, we also set a
3212         property to the originatingObject for the page ID. We also switch to
3213         using an OwnPtr instead of a raw C++ pointer for the
3214         m_originatingObject member.
3215
3216         Based on original patch by Peter Hartmann.
3217
3218         Reviewed by Kenneth Rohde Christiansen.
3219
3220         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3221         (WebKit::WebFrameLoaderClient::createNetworkingContext):
3222         * WebProcess/WebCoreSupport/efl/WebFrameNetworkingContext.h:
3223         (WebFrameNetworkingContext::create):
3224         (WebFrameNetworkingContext::WebFrameNetworkingContext):
3225         * WebProcess/WebCoreSupport/gtk/WebFrameNetworkingContext.h:
3226         (WebFrameNetworkingContext::create):
3227         (WebFrameNetworkingContext::WebFrameNetworkingContext):
3228         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
3229         (WebKit::WebFrameNetworkingContext::create):
3230         (WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext):
3231         * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
3232         (WebCore::WebFrameNetworkingContext::WebFrameNetworkingContext):
3233         (WebCore::WebFrameNetworkingContext::~WebFrameNetworkingContext):
3234         (WebCore::WebFrameNetworkingContext::create):
3235         * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h:
3236         * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:
3237         (WebFrameNetworkingContext::create):
3238         (WebFrameNetworkingContext::WebFrameNetworkingContext):
3239
3240 2012-01-05  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3241
3242         [Qt] Implement QQuickWebView::inputMethodQuery
3243
3244         Reviewed by Simon Hausmann.
3245
3246         Implement the current Qt5 queries of inputMethodQuery.
3247
3248         * UIProcess/API/qt/qquickwebview.cpp:
3249         (QQuickWebView::inputMethodQuery):
3250         * UIProcess/API/qt/qquickwebview_p.h:
3251
3252 2012-01-05  Carlos Garcia Campos  <cgarcia@igalia.com>
3253
3254         [GTK] Add methods to get/set the WebView zoom level to WebKit2 GTK+ API
3255         https://bugs.webkit.org/show_bug.cgi?id=75248
3256
3257         Reviewed by Gustavo Noronha Silva.
3258
3259         It uses the page zoom factor unconditionally for now.
3260
3261         * UIProcess/API/gtk/WebKitWebView.cpp:
3262         (webkitWebViewSetProperty):
3263         (webkitWebViewGetProperty):
3264         (webkit_web_view_class_init): Add WebKitWebView:zoom-level
3265         property.
3266         (webkit_web_view_set_zoom_level): Set current zoom level.
3267         (webkit_web_view_get_zoom_level): Get current zoom level.
3268         * UIProcess/API/gtk/WebKitWebView.h:
3269         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
3270         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
3271         (testWebViewZoomLevel):
3272         (beforeAll):
3273
3274 2012-01-05  Carlos Garcia Campos  <cgarcia@igalia.com>
3275
3276         [GTK] Rename webkit_web_view_load_alternate_html as webkit_web_view_replace_content in WebKit2 GTK+
3277         https://bugs.webkit.org/show_bug.cgi?id=75433
3278
3279         Reviewed by Martin Robinson.
3280
3281         * UIProcess/API/gtk/WebKitWebView.cpp:
3282         (webkitWebViewLoadFail): Use webkit_web_view_replace_content().
3283         (webkitWebViewLoadChanged): Do not emit load-changed signal when
3284         replacing content.
3285         (webkitWebViewLoadFailed): Do not emit load-failed signal when
3286         replacing content.
3287         (webkitWebViewSetEstimatedLoadProgress): Do not emit
3288         notify::estimated-load-progress signal when replacing content.
3289         (webkit_web_view_replace_content):
3290         * UIProcess/API/gtk/WebKitWebView.h:
3291         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
3292         * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
3293         (beforeAll):
3294         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
3295         (replaceContentTitleChangedCallback):
3296         (replaceContentLoadCallback):
3297         (testWebViewReplaceContent):
3298         (beforeAll):
3299         * UIProcess/API/gtk/tests/WebViewTest.cpp:
3300         (WebViewTest::replaceContent):
3301         * UIProcess/API/gtk/tests/WebViewTest.h:
3302
3303 2012-01-05  Keunsoon Lee  <keunsoon.lee@samsung.com>
3304
3305         [WK2][EFL] creating dummy functions for Download class on Efl port.
3306         https://bugs.webkit.org/show_bug.cgi?id=75246
3307
3308         dummy functions for Download class on Efl port
3309
3310         Reviewed by Hajime Morita.
3311
3312         * PlatformEfl.cmake: add new file to compile
3313         * WebProcess/Downloads/efl: Added.
3314         * WebProcess/Downloads/efl/DownloadEfl.cpp: Added.
3315         (WebKit::Download::start):
3316         (WebKit::Download::startWithHandle):
3317         (WebKit::Download::cancel):
3318         (WebKit::Download::platformInvalidate):
3319         (WebKit::Download::didDecideDestination):
3320         (WebKit::Download::platformDidFinish):
3321         (WebKit::Download::receivedCredential):
3322         (WebKit::Download::receivedRequestToContinueWithoutCredential):
3323         (WebKit::Download::receivedCancellation):
3324         (WebKit::Download::useCredential):
3325         (WebKit::Download::continueWithoutCredential):
3326         (WebKit::Download::cancelAuthenticationChallenge):
3327
3328 2012-01-04  Dan Bernstein  <mitz@apple.com>
3329
3330         Allow WebProcess to launch a client process and become its first WebProcess.
3331
3332         This is the WebKit2 part of fixing <http://webkit.org/b/75444> Debugging WebProcess requires running a UI process first and waiting to attach
3333
3334         Reviewed by Anders Carlsson.
3335
3336         * PluginProcess/mac/PluginProcessMainMac.mm:
3337         (WebKit::PluginProcessMain): Added a newline to stderr output.
3338         * UIProcess/Launcher/mac/EnvironmentVariables.cpp:
3339         (WebKit::EnvironmentVariables::preexistingProcessServiceNameKey): Added. Returns the name
3340         of the environment variable that optionally tells a UI processs to look for a preexisting
3341         web process instead of launching a new one.
3342         (WebKit::EnvironmentVariables::preexistingProcessTypeKey): Added. Returns the name of the
3343         environment variable that tells a UI process the type of the preexisting web process
3344         indicated by the other variable.
3345         * UIProcess/Launcher/mac/EnvironmentVariables.h:
3346         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
3347         (WebKit::ProcessLauncher::launchProcess): Changed to look for a preexisting web process if
3348         the aforementioned environment variables are set and the preexisting process has not been
3349         used yet.
3350         * WebProcess/mac/WebProcessMainMac.mm:
3351         (WebKit::WebProcessMain): Changed to look for the -client-executable command-line option,
3352         and if present, launch the specified executable, setting variables in its environment that
3353         tell it to use this preexisting web process, then wait for it to send a send right to its
3354         listening port.
3355
3356 2012-01-04  Alexey Proskuryakov  <ap@apple.com>
3357
3358         First sentence is missing or clipped when printing a inline PDF
3359         https://bugs.webkit.org/show_bug.cgi?id=75514
3360         <rdar://problem/10640680>
3361
3362         Reviewed by Dan Bernstein.
3363
3364         * UIProcess/WebPageProxy.cpp:
3365         (WebKit::WebPageProxy::headerHeight):
3366         (WebKit::WebPageProxy::footerHeight):
3367         (WebKit::WebPageProxy::drawHeader):
3368         (WebKit::WebPageProxy::drawFooter):
3369         Do not ask the client about headers and footers when printing a PDF.
3370
3371 2012-01-04  Alexander Færøy  <alexander.faeroy@nokia.com>
3372
3373         [Qt] Fix test regressions after r104025
3374         https://bugs.webkit.org/show_bug.cgi?id=75545
3375
3376         Reviewed by Kenneth Rohde Christiansen.
3377
3378         * WebProcess/WebPage/WebPage.cpp:
3379         (WebKit::WebPage::editorState):
3380
3381 2012-01-04  Andras Becsi  <andras.becsi@nokia.com>
3382
3383         REGRESSION(r104028): Broke editing tests and event coordinates in desktop behaviour
3384         https://bugs.webkit.org/show_bug.cgi?id=75542
3385
3386
3387         [Qt][WK2] Pinch zoom should affect the page size
3388         https://bugs.webkit.org/show_bug.cgi?id=74601
3389
3390         Unreviewed roll-out.
3391
3392         * Shared/NativeWebMouseEvent.h:
3393         * Shared/NativeWebTouchEvent.h:
3394         * Shared/NativeWebWheelEvent.h:
3395         * Shared/qt/NativeWebMouseEventQt.cpp:
3396         (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
3397         * Shared/qt/NativeWebTouchEventQt.cpp:
3398         (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
3399         * Shared/qt/NativeWebWheelEventQt.cpp:
3400         (WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
3401         * Shared/qt/WebEventFactoryQt.cpp:
3402         (WebKit::WebEventFactory::createWebMouseEvent):
3403         (WebKit::WebEventFactory::createWebWheelEvent):
3404         (WebKit::WebEventFactory::createWebTouchEvent):
3405         * Shared/qt/WebEventFactoryQt.h:
3406         * UIProcess/API/qt/qquickwebpage.cpp:
3407         (QQuickWebPage::keyPressEvent):
3408         (QQuickWebPage::keyReleaseEvent):
3409         (QQuickWebPage::inputMethodEvent):
3410         (QQuickWebPage::focusInEvent):
3411         (QQuickWebPage::focusOutEvent):
3412         (QQuickWebPage::mousePressEvent):
3413         (QQuickWebPage::mouseMoveEvent):
3414         (QQuickWebPage::mouseReleaseEvent):
3415         (QQuickWebPage::mouseDoubleClickEvent):
3416         (QQuickWebPage::wheelEvent):
3417         (QQuickWebPage::hoverEnterEvent):
3418         (QQuickWebPage::hoverMoveEvent):
3419         (QQuickWebPage::hoverLeaveEvent):
3420         (QQuickWebPage::dragMoveEvent):
3421         (QQuickWebPage::dragEnterEvent):
3422         (QQuickWebPage::dragLeaveEvent):
3423         (QQuickWebPage::dropEvent):
3424         (QQuickWebPage::geometryChanged):
3425         (QQuickWebPage::event):
3426         (QQuickWebPage::touchEvent):
3427         (QQuickWebPagePrivate::QQuickWebPagePrivate):
3428         (QQuickWebPagePrivate::paintToCurrentGLContext):
3429         * UIProcess/API/qt/qquickwebpage_p.h:
3430         * UIProcess/API/qt/qquickwebpage_p_p.h:
3431         * UIProcess/API/qt/qquickwebview.cpp:
3432         (QQuickWebViewPrivate::enableMouseEvents):
3433         (QQuickWebViewPrivate::disableMouseEvents):
3434         (QQuickWebViewPrivate::loadDidCommit):
3435         (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
3436         (QQuickWebViewPrivate::didChangeContentsSize):
3437         (QQuickWebViewPrivate::didChangeViewportProperties):
3438         (QQuickWebViewPrivate::pageDidRequestScroll):
3439         (QQuickWebViewPrivate::updateVisibleContentRectAndScale):
3440         (QQuickWebViewPrivate::PostTransitionState::apply):
3441         (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
3442         (QQuickWebViewExperimental::setUseTraditionalDesktopBehaviour):
3443         (QQuickWebViewExperimental::useTraditionalDesktopBehaviour):
3444         (QQuickWebView::geometryChanged):
3445         (QQuickWebView::focusInEvent):
3446         (QQuickWebView::focusOutEvent):
3447         * UIProcess/API/qt/qquickwebview_p.h:
3448         * UIProcess/API/qt/qquickwebview_p_p.h:
3449         * UIProcess/API/qt/qwebviewportinfo.cpp:
3450         (QWebViewportInfo::contentsSize):
3451         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
3452         (tst_QQuickWebView::scrollRequest):
3453         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
3454         (WebKit::QtPinchGestureRecognizer::recognize):
3455         * UIProcess/qt/QtViewportInteractionEngine.cpp:
3456         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
3457         (WebKit::QtViewportInteractionEngine::setItemRectVisible):
3458         (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
3459         (WebKit::QtViewportInteractionEngine::event):
3460         (WebKit::QtViewportInteractionEngine::wheelEvent):
3461         (WebKit::QtViewportInteractionEngine::pagePositionRequest):
3462         (WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale):
3463         (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
3464         (WebKit::QtViewportInteractionEngine::applyConstraints):
3465         (WebKit::QtViewportInteractionEngine::currentCSSScale):
3466         (WebKit::QtViewportInteractionEngine::panGestureStarted):
3467         (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
3468         (WebKit::QtViewportInteractionEngine::panGestureEnded):