12012-05-21  Gavin Barraclough  <barraclough@apple.com>
2
3        Disable private names by default in WebCore
4        https://bugs.webkit.org/show_bug.cgi?id=87088
5
6        Reviewed by Geoff Garen.
7
8        r117859 introduced a preliminary implementation of ES6-like private name objects to JSC.
9        These are probably not yet ready to be web-facing, so disabling by default in WebCore.
10        Opting-in for JSC & DumpRenderTree so that we can still run the fast/js/names.html test.
11
12        * Shared/WebPreferencesStore.h:
13        (WebKit):
14        * UIProcess/API/C/WKPreferences.cpp:
15        (WKPreferencesSetJavaScriptExperimentsEnabled):
16        (WKPreferencesGetJavaScriptExperimentsEnabled):
17        * UIProcess/API/C/WKPreferences.h:
18        * WebProcess/WebPage/WebPage.cpp:
19        (WebKit::WebPage::updatePreferences):
20            - Added JavaScriptExperimentsEnabled to WebPreferences.
21
222012-05-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
23
24        [Qt] Clean up internal viewport animation API
25        https://bugs.webkit.org/show_bug.cgi?id=87130
26
27        Reviewed by Simon Hausmann.
28
29        const'ify classes which should be const.
30
31        There is now only one method which can animate, animateItemRectVisible
32        which is used for also animating the contents back into valid bounds.
33        The valid bounds are computed using a separate method. It is now more
34        clear when an animation is used or not and asserts are added for
35        ensuring no concurrent animations as well as proper update deferring.
36
37        * UIProcess/API/qt/qquickwebview.cpp:
38        (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
39        * UIProcess/qt/QtViewportInteractionEngine.cpp:
40        (WebKit::QtViewportInteractionEngine::cssScaleFromItem):
41        (WebKit::QtViewportInteractionEngine::itemScaleFromCSS):
42        (WebKit::QtViewportInteractionEngine::itemCoordFromCSS):
43        (WebKit::QtViewportInteractionEngine::itemRectFromCSS):
44        (WebKit::QtViewportInteractionEngine::innerBoundedCSSScale):
45        (WebKit::QtViewportInteractionEngine::outerBoundedCSSScale):
46        (WebKit::QtViewportInteractionEngine::setItemRectVisible):
47        (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
48        (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
49        (WebKit::QtViewportInteractionEngine::nearestValidBounds):
50        (WebKit::QtViewportInteractionEngine::currentCSSScale):
51        (WebKit::QtViewportInteractionEngine::cancelScrollAnimation):
52        (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
53        (WebKit::QtViewportInteractionEngine::itemSizeChanged):
54        * UIProcess/qt/QtViewportInteractionEngine.h:
55        (QtViewportInteractionEngine):
56
572012-05-21  Kenneth Rohde Christiansen  <kenneth@webkit.org>
58
59        [Qt] Mini clean ups in the interaction engine
60        https://bugs.webkit.org/show_bug.cgi?id=87013
61
62        Reviewed by Simon Hausmann.
63
64        * UIProcess/qt/QtViewportInteractionEngine.cpp:
65        (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
66            Assert that we are suspended.
67        (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
68            Never zoom to any area if suspended which indicates other
69            animation or user interaction.
70        (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
71            If immediate is set, ignore suspension.
72        (WebKit::QtViewportInteractionEngine::itemSizeChanged):
73            Improve the comment.
74
752012-05-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
76
77        [Qt] Tap-to-zoom overshoot animation
78        https://bugs.webkit.org/show_bug.cgi?id=87108
79
80        Reviewed by Kenneth Rohde Christiansen.
81
82        Defines a simple animation curve that combines a large
83        ease-out (overshoot) with a small ease-in (correction).
84        Uses that curve for zooming animation.
85
86        * UIProcess/qt/QtViewportInteractionEngine.cpp:
87        (WebKit::physicalOvershoot):
88        (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
89
902012-05-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
91
92        [Qt] Make the resizing code more straight forward
93        https://bugs.webkit.org/show_bug.cgi?id=87015
94
95        Reviewed by Simon Hausmann.
96
97        * UIProcess/API/qt/qquickwebpage.cpp:
98        (QQuickWebPage::transformToItem):
99        (QQuickWebPagePrivate::updateSize):
100        * UIProcess/API/qt/qquickwebview.cpp:
101        * UIProcess/API/qt/qquickwebview_p.h:
102        * UIProcess/API/qt/qquickwebview_p_p.h:
103        (QQuickWebViewFlickablePrivate):
104
1052012-05-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
106
107        [Qt] Add UI tests for fit-to-view
108        https://bugs.webkit.org/show_bug.cgi?id=86857
109
110        Reviewed by Simon Hausmann.
111
112        Make sure to always emit contentsScaleCommitted when the
113        contents size changes, so that it can be used for testing.
114
115        Also add a method to do single taps.
116
117        * UIProcess/API/qt/qquickwebview.cpp:
118        (QQuickWebViewFlickablePrivate::didChangeContentsSize):
119        * UIProcess/API/qt/qwebkittest.cpp:
120        (touchPoint):
121        (QWebKitTest::touchTap):
122        (QWebKitTest::touchDoubleTap):
123        * UIProcess/API/qt/qwebkittest_p.h:
124        * UIProcess/API/qt/tests/qmltests/WebView/tst_fitToView.qml: Added.
125
1262012-05-21  Brady Eidson  <beidson@apple.com>
127
128        <rdar://problem/11460336> and https://bugs.webkit.org/show_bug.cgi?id=87061
129        WKPageGetScaleFactor can return 0.0 after a session is restored
130
131        Reviewed by Beth Dakin.
132
133        API test WKPageGetScaleFactorNotZero added.
134
135        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
136        (WebKit::WebFrameLoaderClient::restoreViewState): Tell the UI Process the scale factor
137          is 1.0 if it has never been manually set.
138
1392012-05-21  Anders Carlsson  <andersca@apple.com>
140
141        Flash player buttons do not work when page is zoomed in
142        https://bugs.webkit.org/show_bug.cgi?id=87056
143        <rdar://problem/11491501>
144
145        Reviewed by Oliver Hunt.
146
147        Use the page scale factor when computing the plug-in to root view transform, otherwise we'll compute an
148        incorrect transform for plug-ins inside subframes. Also, make sure that viewGeometryDidChange is called for all plug-ins
149        when scaling the page since otherwise it won't be called unless the scroll position changes.
150
151        * WebProcess/Plugins/PluginView.cpp:
152        (WebKit::PluginView::pageScaleFactorDidChange):
153        (WebKit):
154        (WebKit::PluginView::viewGeometryDidChange):
155        * WebProcess/Plugins/PluginView.h:
156        (PluginView):
157        * WebProcess/WebPage/WebPage.cpp:
158        (WebKit::WebPage::scalePage):
159
1602012-05-15  Gavin Barraclough  <barraclough@apple.com>
161
162        Add support for private names
163        https://bugs.webkit.org/show_bug.cgi?id=86509
164
165        Reviewed by Oliver Hunt.
166
167        The spec isn't final, but we can start adding support to allow property maps
168        to contain keys that aren't identifiers.
169
170        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
171        (WebKit::npIdentifierFromIdentifier):
172        (WebKit::JSNPObject::methodGetter):
173            - Removed PropertyName::impl(), call publicName() to get the string associated with a name.
174
1752012-05-21  Hugo Parente Lima  <hugo.lima@openbossa.org>
176
177        [Qt][WK2] fast/forms/submit-to-blank-multiple-times.html fails
178        https://bugs.webkit.org/show_bug.cgi?id=68309
179
180        Reviewed by Alexis Menard.
181
182        Force focus when the element receives a double click event.
183
184        * UIProcess/API/qt/qquickwebview.cpp:
185        (QQuickWebView::mouseDoubleClickEvent):
186
1872012-05-21  Marcelo Lira  <marcelo.lira@openbossa.org>
188
189        [Qt][WK2] REGRESSION, fix a failing API test in qmltests
190        https://bugs.webkit.org/show_bug.cgi?id=82700
191
192        Reviewed by Alexis Menard.
193
194        The value of a CSS font-family property is expected to have single
195        quotes when white space is present in its name, and no quotes otherwise.
196        Font family names returned by WebView.experimental.preferences never add quotes.
197
198        Since what matter to the test is only the identity of the font, an auxiliar
199        method to remove single quotes was added.
200
201        * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
202
2032012-05-21  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
204
205        GCC 4.7 and C++11
206        https://bugs.webkit.org/show_bug.cgi?id=86465
207
208        Reviewed by Darin Adler.
209
210        Avoid triggering C++11 string literals.
211
212        * UIProcess/API/qt/tests/inspectorserver/tst_inspectorserver.cpp:
213
2142012-05-21  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
215
216        Disambiguate WTF::bind and std::bind from C++11
217        https://bugs.webkit.org/show_bug.cgi?id=86465
218
219        Reviewed by Darin Adler.
220
221        * Platform/CoreIPC/Connection.cpp:
222        (CoreIPC::Connection::SyncMessageState::processIncomingMessage):
223        (CoreIPC::Connection::addQueueClient):
224        (CoreIPC::Connection::removeQueueClient):
225        (CoreIPC::Connection::invalidate):
226        (CoreIPC::Connection::sendMessage):
227        (CoreIPC::Connection::postConnectionDidCloseOnConnectionWorkQueue):
228        (CoreIPC::Connection::connectionDidClose):
229        (CoreIPC::Connection::enqueueIncomingMessage):
230        * Platform/CoreIPC/unix/ConnectionUnix.cpp:
231        (CoreIPC::Connection::open):
232        (CoreIPC::Connection::setShouldCloseConnectionOnProcessTermination):
233        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
234        (WebKit::NetscapePlugin::pluginThreadAsyncCall):
235        * WebProcess/WebPage/FindController.cpp:
236        (WebKit::FindController::findString):
237
2382012-05-20  Carlos Garcia Campos  <cgarcia@igalia.com>
239
240        [GTK] Add GCancellable parameter to all methods using gio async pattern
241        https://bugs.webkit.org/show_bug.cgi?id=86843
242
243        Reviewed by Gustavo Noronha Silva.
244
245        Add a private macro WEBKIT_DEFINE_ASYNC_DATA_STRUCT() to make it
246        easier to define temporary structs used in async operations.
247
248        * UIProcess/API/gtk/WebKitCookieManager.cpp:
249        (GetAcceptPolicyAsyncData):
250        (webkitCookieManagerGetAcceptPolicyCallback):
251        (webkit_cookie_manager_get_accept_policy):
252        (webkit_cookie_manager_get_accept_policy_finish):
253        (GetDomainsWithCookiesAsyncData):
254        (webkitCookieManagerGetDomainsWithCookiesCallback):
255        (webkit_cookie_manager_get_domains_with_cookies):
256        (webkit_cookie_manager_get_domains_with_cookies_finish):
257        * UIProcess/API/gtk/WebKitCookieManager.h:
258        * UIProcess/API/gtk/WebKitPrivate.h:
259        * UIProcess/API/gtk/WebKitWebContext.cpp:
260        (webkit_web_context_get_plugins):
261        * UIProcess/API/gtk/WebKitWebResource.cpp:
262        (ResourceGetDataAsyncData):
263        (resourceDataCallback):
264        (webkit_web_resource_get_data):
265        (webkit_web_resource_get_data_finish):
266        * UIProcess/API/gtk/WebKitWebResource.h:
267        * UIProcess/API/gtk/WebKitWebView.cpp:
268        (ValidateEditingCommandAsyncData):
269        (didValidateCommand):
270        (webkit_web_view_can_execute_editing_command):
271        (webkit_web_view_can_execute_editing_command_finish):
272        (RunJavaScriptAsyncData::~RunJavaScriptAsyncData):
273        (RunJavaScriptAsyncData):
274        (webkitWebViewRunJavaScriptCallback):
275        (webkit_web_view_run_javascript):
276        (webkit_web_view_run_javascript_finish):
277        * UIProcess/API/gtk/WebKitWebView.h:
278        * UIProcess/API/gtk/tests/TestCookieManager.cpp:
279        * UIProcess/API/gtk/tests/TestResources.cpp:
280        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
281        * UIProcess/API/gtk/tests/TestWebViewEditor.cpp:
282        * UIProcess/API/gtk/tests/WebViewTest.cpp:
283        (WebViewTest::runJavaScriptAndWaitUntilFinished):
284
2852012-05-19  Andy Estes  <aestes@apple.com>
286
287        Use USE_APPKIT and USE_SECURITY_FRAMEWORK in a few more places
288        https://bugs.webkit.org/show_bug.cgi?id=86951
289
290        Reviewed by Dan Bernstein.
291
292        * UIProcess/WebProcessProxy.messages.in: Change #if PLATFORM(MAC) to
293        the more specific #if USE(SECURITY_FRAMEWORK).
294        * UIProcess/mac/WebPageProxyMac.mm: Wrap some uses of AppKit classes
295        with #if USE(APPKIT).
296        * UIProcess/mac/WebPopupMenuProxyMac.h: Ditto.
297        * UIProcess/mac/WebPopupMenuProxyMac.mm: Ditto.
298
2992012-05-18  Anders Carlsson  <andersca@apple.com>
300
301        REGRESSION (r108181): corruption after scrolling
302        https://bugs.webkit.org/show_bug.cgi?id=86934
303        <rdar://problem/11487337>
304
305        Reviewed by Dan Bernstein.
306
307        Use the flipped Y coordinate when resetting the scrolled rect.
308
309        * UIProcess/mac/BackingStoreMac.mm:
310        (WebKit::BackingStore::resetScrolledRect):
311
3122012-05-19  Andy Estes  <aestes@apple.com>
313
314        Fix build errors found when disabling ENABLE_DRAG_SUPPORT
315        https://bugs.webkit.org/show_bug.cgi?id=86947
316
317        Reviewed by Jon Honeycutt.
318
319        Fix more build errors.
320
321        * UIProcess/API/mac/WKView.mm:
322        * UIProcess/WebPageProxy.cpp:
323        (WebKit):
324        * UIProcess/WebPageProxy.h:
325        (WebPageProxy):
326        * UIProcess/WebPageProxy.messages.in:
327        * UIProcess/mac/WebPageProxyMac.mm:
328        (WebKit):
329        * WebProcess/WebPage/WebPage.h:
330        (WebPage):
331        * WebProcess/WebPage/WebPage.messages.in:
332
3332012-05-19  Andy Estes  <aestes@apple.com>
334
335        Fix build errors found when disabling ENABLE_DRAG_SUPPORT
336        https://bugs.webkit.org/show_bug.cgi?id=86947
337
338        Reviewed by Jon Honeycutt.
339
340        * UIProcess/API/mac/WKView.mm:
341        (createSandboxExtensionsForFileUpload):
342        (-[WKView performDragOperation:]):
343        * WebProcess/WebCoreSupport/WebDragClient.cpp:
344        * WebProcess/WebCoreSupport/WebDragClient.h:
345        * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
346        * WebProcess/WebPage/WebPage.cpp:
347        (WebKit::WebPage::WebPage):
348        (WebKit):
349        * WebProcess/WebPage/mac/WebPageMac.mm:
350        (WebKit::WebPage::shouldDelayWindowOrderingEvent):
351        (WebKit::WebPage::acceptsFirstMouse):
352
3532012-05-19  Andy Estes  <aestes@apple.com>
354
355        Plug-in process should only be enabled if Netscape plug-in API is enabled
356        https://bugs.webkit.org/show_bug.cgi?id=86945
357
358        Reviewed by Dan Bernstein.
359
360        * config.h: Only define ENABLE_PLUGIN_PROCESS if ENABLE_NETSCAPE_PLUGIN_API is true.
361
3622012-04-27  Filip Pizlo  <fpizlo@apple.com>
363
364        DFG should have control flow graph simplification
365        https://bugs.webkit.org/show_bug.cgi?id=84553
366
367        Reviewed by Oliver Hunt.
368
369        Merged r115512 from dfgopt.
370
371        JSValue::toBoolean(ExecState*) -> JSValue::toBoolean()
372        
373        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
374        (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
375
3762012-05-18  Anders Carlsson  <andersca@apple.com>
377
378        Missing plugin msg becomes "insecure plugin version" after Real Player page refresh
379        https://bugs.webkit.org/show_bug.cgi?id=86903
380        <rdar://problem/11477163>
381
382        Reviewed by Andreas Kling.
383
384        Set blocked to false before returning early when the plug-in doesn't exist.
385
386        * UIProcess/WebContext.cpp:
387        (WebKit::WebContext::getPluginPath):
388
3892012-05-18  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
390
391        [GTK] [WK2] Memory leaks in WebKitBackForwardList
392        https://bugs.webkit.org/show_bug.cgi?id=86872
393
394        Reviewed by Martin Robinson.
395
396         Fix memory leaks by adopting WKArray of WebBackForwardListItems
397         allocations using AdoptWK.
398
399        * UIProcess/API/gtk/WebKitBackForwardList.cpp:
400        (webkit_back_forward_list_get_back_list):
401        (webkit_back_forward_list_get_back_list_with_limit):
402        (webkit_back_forward_list_get_forward_list):
403        (webkit_back_forward_list_get_forward_list_with_limit):
404
4052012-05-18  Anders Carlsson  <andersca@apple.com>
406
407        PDF page does not show up when opened in the background
408        https://bugs.webkit.org/show_bug.cgi?id=86890
409        <rdar://problem/11259951>
410
411        Reviewed by Andreas Kling.
412
413        * UIProcess/API/mac/WKView.mm:
414        (-[WKView _updateAcceleratedCompositingMode:WebKit::]):
415        Just set the new render layer if we're already in accelerated compositing mode.
416
4172012-05-18  Tony Chang  <tony@chromium.org>
418
419        remove the CSS_GRID_LAYOUT compiler define, but default grid layout to off
420        https://bugs.webkit.org/show_bug.cgi?id=86767
421
422        Reviewed by Ojan Vafai.
423
424        * Configurations/FeatureDefines.xcconfig:
425        * Shared/WebPreferencesStore.h:
426        (WebKit):
427        * UIProcess/API/C/WKPreferences.cpp:
428        (WKPreferencesSetCSSGridLayoutEnabled):
429        (WKPreferencesGetCSSGridLayoutEnabled):
430        * UIProcess/API/C/WKPreferencesPrivate.h:
431        * WebProcess/InjectedBundle/InjectedBundle.cpp:
432        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
433        * WebProcess/WebPage/WebPage.cpp:
434        (WebKit::WebPage::updatePreferences):
435
4362012-05-18  Shezan Baig  <shezbaig.wk@gmail.com>
437
438        Expose FrameSelection::absoluteCaretBounds via window.internals
439        https://bugs.webkit.org/show_bug.cgi?id=86390
440
441        Reviewed by Ryosuke Niwa.
442
443        Exports necessary symbols.
444
445        * win/WebKit2.def:
446        * win/WebKit2CFLite.def:
447
4482012-05-18  Carlos Garcia Campos  <cgarcia@igalia.com>
449
450        [GTK] Allow to attach/detach the inspector in WebKit2
451        https://bugs.webkit.org/show_bug.cgi?id=86823
452
453        Reviewed by Gustavo Noronha Silva.
454
455        Also rename WebInspectorGtk.cpp as WebInspectorProxyGtk.cpp since
456        it implements the platform specific methods of WebInspectorProxy.
457
458        * GNUmakefile.list.am: Add new files to compilation.
459        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
460        (webkitWebViewBaseContainerAdd): Allow to add a WebView containing
461        the inspector as an internal child.
462        (webkitWebViewBaseContainerRemove): Check whether the widget
463        removed is the inspector web view.
464        (webkitWebViewBaseContainerForall): When includeInternals is True,
465        add also the inspector web view if it's present.
466        (resizeWebKitWebViewBaseFromAllocation): Allocate space for the
467        inspector web view if it's present.
468        (webkitWebViewBaseSetInspectorViewHeight): Private function used
469        by the inspector proxy to set the height of the inspector web
470        view.
471        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
472        * UIProcess/WebInspectorProxy.h:
473        (WebInspectorProxy): Remove unneeded method windowDestroyed.
474        * UIProcess/gtk/WebInspectorProxyGtk.cpp: Renamed from Source/WebKit2/UIProcess/gtk/WebInspectorGtk.cpp.
475        (WebKit::inspectorFilesBasePath):
476        (WebKit::inspectorWindowClosed): Renamed as inspectorWindowClosed
477        instead of inspectorWindowDestroyed, since this is called when the
478        window manager requests to close the window, and not when the
479        widget is destroyed. Also remove the call to windowDestroyed that
480        has been removed.
481        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
482        (WebKit::WebInspectorProxy::createInspectorWindow): Helper
483        function to create the inspector window and add the inspector
484        view. Also set the inspector window as transient for the
485        inspected view toplevel window. And use a weak pointer to make
486        sure inspector window pointer is NULL when it's destroyed, not
487        only when the window is closed.
488        (WebKit::WebInspectorProxy::platformOpen): Call platformAttach if
489        the inspector is opened attached, or createInspectorWindow
490        otherwise.
491        (WebKit::WebInspectorProxy::platformDidClose): Always set the view
492        inspector pointer to NULL.
493        (WebKit::WebInspectorProxy::platformBringToFront): Implement it by
494        showing the toplevel window where the inspector view is contained.
495        (WebKit::WebInspectorProxy::platformIsFront): Implement it by
496        checking whether the toplevel window where the inspector view is
497        contained is active or not.
498        (WebKit::WebInspectorProxy::platformInspectedURLChanged): Return
499        early if there's no inspector window.
500        (WebKit::WebInspectorProxy::inspectorPageURL):
501        (WebKit::WebInspectorProxy::inspectorBaseURL):
502        (WebKit::WebInspectorProxy::platformInspectedWindowHeight): Return
503        the height of the inpected view.
504        (WebKit::WebInspectorProxy::platformAttach): Remove the view from
505        the current window if there's one, and insert the inspector view
506        into the inspected view.
507        (WebKit::WebInspectorProxy::platformDetach): Remove the inspector
508        view from the inspected view and create a new window for it if
509        it's visible.
510        (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight): Call
511        webkitWebViewBaseSetInspectorViewHeight().
512
5132012-05-18  Carlos Garcia Campos  <cgarcia@igalia.com>
514
515        Return TRUE for events handled to avoid their propagation.
516
517        Reviewed by Gustavo Noronha Silva.
518
519        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
520        (webkitWebViewBaseButtonPressEvent):
521        (webkitWebViewBaseButtonReleaseEvent):
522        (webkitWebViewBaseScrollEvent):
523        (webkitWebViewBaseMotionNotifyEvent):
524
5252012-05-18  Hugo Parente Lima  <hugo.lima@openbossa.org>
526
527        [Qt][WK2] fast/events/page-visibility-iframe-move-test.html fails
528        https://bugs.webkit.org/show_bug.cgi?id=86731
529
530        Reviewed by Simon Hausmann.
531
532        Set the page visibility on a single page instead of on all pages
533        from the page group.
534
535        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
536        (WKBundleSetPageVisibilityState):
537        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
538        * WebProcess/InjectedBundle/InjectedBundle.cpp:
539        (WebKit::InjectedBundle::setPageVisibilityState):
540        * WebProcess/InjectedBundle/InjectedBundle.h:
541        (InjectedBundle):
542
5432012-05-18  MORITA Hajime  <morrita@google.com>
544
545        Yet another unreviewed build fix on r117572, this time for wk2...
546
547        * WebProcess/WebCoreSupport/WebEditorClient.h:
548
5492012-05-17  Philippe Normand  <pnormand@igalia.com>
550
551        Unreviewed, WebKit2 GTK/Qt build fix attempt after r117516.
552
553        * UIProcess/WebPageProxy.cpp:
554        (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
555
5562012-05-17  Anders Carlsson  <andersca@apple.com>
557
558        Plug-ins blacklist mechanism can tell clients about plug-in with null identifier
559        https://bugs.webkit.org/show_bug.cgi?id=86788
560        <rdar://problem/11479503>
561
562        Reviewed by John Sullivan.
563
564        Pass along the URL string of the blocked plug-in so we can find the plug-in even if there was no
565        MIME type specified in the <embed> or <object> tag.
566
567        * UIProcess/WebPageProxy.cpp:
568        (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
569        * UIProcess/WebPageProxy.h:
570        (WebPageProxy):
571        * UIProcess/WebPageProxy.messages.in:
572        * WebProcess/WebPage/WebPage.cpp:
573        (WebKit::WebPage::createPlugin):
574
5752012-05-17  Oliver Hunt  <oliver@apple.com>
576
577        Endeavour to make the windows test bot actually able to run tests.
578        https://bugs.webkit.org/show_bug.cgi?id=86772
579
580        Reviewed by Sam Weinig.
581
582        Remove the ClassInfo exports from the .def files as we're now using
583        WEBKIT_EXPORT declarations to get expected behaviour on windows.
584
585        * win/WebKit2.def:
586        * win/WebKit2CFLite.def:
587
5882012-05-17  Timothy Hatcher  <timothy@apple.com>
589
590        Make the docked Web Inspector use autoresizing masks so the view doesn't jitter when
591        resizing the window.
592
593        https://webkit.org/b/86765
594
595        Reviewed by John Sullivan.
596
597        * UIProcess/mac/WebInspectorProxyMac.mm:
598        (-[WKWebInspectorProxyObjCAdapter close]): Added. Zero out _inspectorProxy.
599        (-[WKWebInspectorProxyObjCAdapter inspectedViewFrameDidChange:]): Perform the work on a delay to
600        prevent interfering with Cocoa's resizing.
601        (WebKit::WebInspectorProxy::createInspectorWindow): Added setAutoresizingMask: call.
602        (WebKit::WebInspectorProxy::platformCreateInspectorPage): Removed setAutoresizingMask: call.
603        createInspectorWindow and platformAttach do this now.
604        (WebKit::WebInspectorProxy::platformDidClose): Call close on WKWebInspectorProxyObjCAdapter.
605        (WebKit::WebInspectorProxy::platformAttach): Added setAutoresizingMask: call.
606
6072012-05-16  Andreas Kling  <kling@webkit.org>
608
609        Make PluginInfoStore properly thread-safe.
610        <http://webkit.org/b/86648>
611        <rdar://problem/11451178>
612
613        Reviewed by Darin Adler.
614
615        Deep copy the internal storage of PluginInfoStore after constructing it, as we can
616        be doing this from a secondary thread.
617
618        * Shared/Plugins/PluginModuleInfo.h:
619        (WebKit::PluginModuleInfo::isolatedCopy):
620        * UIProcess/Plugins/PluginInfoStore.cpp:
621        (WebKit::deepIsolatedCopyPluginInfoVector):
622        (WebKit::PluginInfoStore::loadPluginsIfNecessary):
623        (WebKit::PluginInfoStore::plugins):
624
6252012-05-17  Hironori Bono  <hbono@chromium.org>
626
627        [Refactoring] Move platform-specific code in Editor::respondToChangedSelection to the WebKit layer
628        https://bugs.webkit.org/show_bug.cgi?id=86591
629
630        Reviewed by Ryosuke Niwa.
631
632        This change adds a TextCheckerClient::shouldEraseMarkersAfterChangeSelection
633        function to remove platform-specific code from Editor::respondToChangedSelection
634        function.
635
636        No new tests, no change in behavior.
637
638        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
639        (WebKit::WebEditorClient::shouldEraseMarkersAfterChangeSelection):
640        (WebKit):
641        * WebProcess/WebCoreSupport/WebEditorClient.h:
642
6432012-05-17  Dan Bernstein  <mitz@apple.com>
644
645        REGRESSION (r117428): WebKit API/SPI was removed
646        https://bugs.webkit.org/show_bug.cgi?id=86748
647
648        Reverted r117428.
649
650        * win/WebKit2.def:
651
6522012-05-17  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
653
654        Convert setDomainRelaxationForbiddenForURLScheme to use InternalSettings interface
655        https://bugs.webkit.org/show_bug.cgi?id=86704
656
657        Reviewed by Eric Seidel.
658
659        * win/WebKit2.def: Add setDomainRelaxationForbiddenForURLScheme symbol filter.
660
6612012-05-16  Brent Fulgham  <bfulgham@webkit.org>
662
663        [WinCairo] Unreviewed build change after exported symbol
664        updates (r114790) and expansion of CG routines in WebPage
665        PDF output (r114476).
666
667        * WebProcess/WebPage/WebPage.cpp:
668        (WebKit::WebPage::drawRectToPDF): Exclude CG use on WinCairo.
669        (WebKit::WebPage::drawPagesToPDF): Exclude CG use on WinCairo.
670        * win/WebKit2CFLite.def: Don't claim to export symbols we don't
671        provide (e.g., full screen API calls).
672
6732012-05-16  Carlos Garcia Campos  <cgarcia@igalia.com>
674
675        [GTK] Add API to get plugins to WebKit2 GTK+
676        https://bugs.webkit.org/show_bug.cgi?id=86356
677
678        Reviewed by Martin Robinson.
679
680        * GNUmakefile.list.am: Add new files to compilation.
681        * UIProcess/API/gtk/WebKitMimeInfo.cpp: Added.
682        (_WebKitMimeInfo): Boxed type to represent MIME type information.
683        (webkitMimeInfoCreate): Ceate a new WebKitMimeInfo.
684        (webkit_mime_info_ref):
685        (webkit_mime_info_unref):
686        (webkit_mime_info_get_mime_type): Return the mime type.
687        (webkit_mime_info_get_description): Return the mime type
688        description.
689        (webkit_mime_info_get_extensions): Return the list of extensions
690        associated to the mime type.
691        * UIProcess/API/gtk/WebKitMimeInfo.h: Added.
692        * UIProcess/API/gtk/WebKitMimeInfoPrivate.h: Added.
693        * UIProcess/API/gtk/WebKitPlugin.cpp: Added.
694        (webkitPluginFinalize):
695        (webkit_plugin_init):
696        (webkit_plugin_class_init):
697        (webkitPluginCreate): Create a new WebKitPlugin for the given
698        PluginModuleInfo.
699        (webkit_plugin_get_name): Return the plugin name.
700        (webkit_plugin_get_description): Return the plugin description.
701        (webkit_plugin_get_path): Return the path where the plugin is
702        installed.
703        (webkit_plugin_get_mime_info_list): Return the list of mime types
704        handled by the plugin.
705        * UIProcess/API/gtk/WebKitPlugin.h: Added.
706        * UIProcess/API/gtk/WebKitPluginPrivate.h: Added.
707        * UIProcess/API/gtk/WebKitWebContext.cpp:
708        (webkit_web_context_set_additional_plugins_directory): Set an
709        additional directory to be scanned for plugins.
710        (GetPluginsAsyncData): Helper struct used to asynchronously get
711        the list of plugins.
712        (getPluginsAsyncDataCreate): Create a GetPluginsAsyncData struct.
713        (getPluginsAsyncDataDestroy): Destroy a GetPluginsAsyncData
714        struct.
715        (webkitWebContextGetPluginThread): Thread body to get the list of
716        plugins installed.
717        (webkit_web_context_get_plugins): Asynchronously get the list of
718        plugins installed.
719        (webkit_web_context_get_plugins_finish): Finish async operation
720        started by webkit_web_context_get_plugins() returning a list of
721        WebKitPlugin.
722        * UIProcess/API/gtk/WebKitWebContext.h:
723        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
724        WebKitPlugin.
725        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
726        * UIProcess/API/gtk/docs/webkit2gtk.types: Add new types.
727        * UIProcess/API/gtk/tests/GNUmakefile.am:
728        * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
729        (testWebContextGetPlugins):
730        (beforeAll):
731        * UIProcess/API/gtk/webkit2.h:
732
7332012-05-16  Brady Eidson  <beidson@apple.com>
734
735        https://bugs.webkit.org/show_bug.cgi?id=86638
736        Bump the version number on the WKBundlePageLoaderClient
737
738        Reviewed by Dan Bernstein.
739
740        * WebProcess/InjectedBundle/API/c/WKBundlePage.h: s/1/2/
741        * Shared/APIClientTraits.cpp: Update client traits for the BundlePageLoaderClient
742        * Shared/APIClientTraits.h: Update client traits for the BundlePageLoaderClient
743
744        * ChangeLog: Change a confusing ChangeLog entry to reflect the actual client that was changed.
745
7462012-05-16  Dinu Jacob  <dinu.jacob@nokia.com>
747
748        Add didFinishProgress BundlePageLoaderClient callback
749        https://bugs.webkit.org/show_bug.cgi?id=86541
750
751        Reviewed by Kenneth Rohde Christiansen.
752
753        Added didFinishProgress BundleUIClient callback needed by
754        WebKitTestRunner. This callback is invoked in postProgressFinishedNotification.
755
756        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
757        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
758        (WebKit::InjectedBundlePageLoaderClient::didFinishProgress):
759        (WebKit):
760        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
761        (InjectedBundlePageLoaderClient):
762        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
763        (WebKit::WebFrameLoaderClient::postProgressFinishedNotification):
764        * WebProcess/qt/QtBuiltinBundlePage.cpp:
765        (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
766
7672012-05-16  Keishi Hattori  <keishi@webkit.org>
768
769        [chromium] Add WebKit API to access inner text value of input element
770        https://bugs.webkit.org/show_bug.cgi?id=85353
771
772        Reviewed by Kent Tamura.
773
774        * win/WebKit2.def: Added HTMLInputElement::setEditingValue
775        * win/WebKit2CFLite.def: Added HTMLInputElement::setEditingValue
776
7772012-05-16  Zalan Bujtas  <zbujtas@gmail.com>
778
779        [Qt][WK2] Move WebFrameNetworkingContext to WebKit namespace.
780        https://bugs.webkit.org/show_bug.cgi?id=86590
781
782        Reviewed by Simon Hausmann.
783
784        * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
785        (WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext):
786        (WebKit::WebFrameNetworkingContext::create):
787        * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h:
788        (WebKit):
789        (WebFrameNetworkingContext):
790        (WebKit::WebFrameNetworkingContext::originatingObject):
791        (WebKit::WebFrameNetworkingContext::~WebFrameNetworkingContext):
792        (WebKit::WebFrameNetworkingContext::networkAccessManager):
793        (WebKit::WebFrameNetworkingContext::mimeSniffingEnabled):
794        (WebKit::WebFrameNetworkingContext::thirdPartyCookiePolicyPermission):
795
7962012-05-16  Andras Becsi  <andras.becsi@nokia.com>
797
798        [WTR] Visited link tracking is not disabled properly
799        https://bugs.webkit.org/show_bug.cgi?id=76699
800
801        Reviewed by Jocelyn Turcotte.
802
803        If PLATFORM_STRATEGIES is enabled visited link tracking is done through
804        VisitedLinkProvider and not through PageGroup.
805        InjectedBundle sets the shouldTrackVisitedLinks flag on the PageGroup,
806        thus the shared VisitedLinkTable does get populated with visited links
807        regardless of the flag.
808
809        The WebProcess should only track visited links if tracking is specifically
810        enabled for a test through WTR's LayoutTestController.
811
812        This patch fixes several flacky and failing layout tests on Qt-WK2.
813
814        * WebProcess/InjectedBundle/InjectedBundle.cpp:
815        (WebKit::InjectedBundle::setShouldTrackVisitedLinks): Let the WebProcess
816        know about visited link tracking.
817        * WebProcess/WebProcess.cpp:
818        (WebKit::WebProcess::WebProcess):
819        (WebKit::WebProcess::setShouldTrackVisitedLinks):
820        (WebKit::WebProcess::addVisitedLink):
821        * WebProcess/WebProcess.h:
822        (WebProcess):
823
8242012-05-15  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
825
826        Fix Qt5/Mac build after r117212 by adding missing NETSCAPE_PLUGIN_API guards
827        https://bugs.webkit.org/show_bug.cgi?id=86577
828
829        Reviewed by Andy Estes.
830
831        * Shared/Plugins/Netscape/NetscapePluginModuleNone.cpp:
832        * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
833        (WebKit::PluginInfoStore::getPluginInfo):
834        * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp:
835
8362012-05-15  Andy Estes  <aestes@apple.com>
837
838        WebKit2 would fail to build on Windows if Netscape plug-ins were disabled.
839
840        * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
841        (WebKit::PluginInfoStore::getPluginInfo): Return false if ENABLE_NETSCAPE_PLUGIN_API is false.
842
8432012-05-15  Andy Estes  <aestes@apple.com>
844
845        Guard Netscape plug-in code with ENABLE(NETSCAPE_PLUGIN_API)
846        https://bugs.webkit.org/show_bug.cgi?id=86496
847
848        Reviewed by Sam Weinig.
849
850        Ensure that WebKit2 can compile with ENABLE_NETSCAPE_PLUGIN_API disabled.
851
852        * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
853        * Shared/Plugins/Netscape/NetscapePluginModule.h:
854        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
855        * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp:
856        * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
857        * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
858        (WebKit::PluginInfoStore::getPluginInfo):
859        * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
860        * WebProcess/Plugins/Netscape/JSNPMethod.h:
861        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
862        * WebProcess/Plugins/Netscape/JSNPObject.h:
863        * WebProcess/Plugins/Netscape/NPJSObject.cpp:
864        * WebProcess/Plugins/Netscape/NPJSObject.h:
865        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
866        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
867        * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp:
868        * WebProcess/Plugins/Netscape/NPRuntimeUtilities.h:
869        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
870        (WebKit::NPN_GetValue):
871        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.h:
872        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
873        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
874        * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
875        * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
876        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
877        * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h:
878        * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
879        * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
880        * WebProcess/Plugins/Netscape/qt/PluginProxyQt.cpp:
881        * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
882        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
883        * WebProcess/Plugins/PluginController.h:
884        (PluginController):
885        * WebProcess/Plugins/PluginView.cpp:
886        (WebKit::PluginView::Stream::didFinishLoading):
887        (WebKit::PluginView::PluginView):
888        (WebKit::PluginView::~PluginView):
889        (WebKit::PluginView::scriptObject):
890        (WebKit):
891        * WebProcess/Plugins/PluginView.h:
892        (PluginView):
893        * WebProcess/WebPage/WebPage.cpp:
894        (WebKit::WebPage::createPlugin):
895        * WebProcess/WebProcess.cpp:
896        (WebKit::WebProcess::getSitesWithPluginData):
897        (WebKit::WebProcess::clearPluginSiteData):
898
8992012-05-15  Michael Brüning  <michael.bruning@nokia.com>
900
901        [Qt][WK2] http/tests/security/xss-DENIED-xsl-document-securityOrigin.xml crashes
902        https://bugs.webkit.org/show_bug.cgi?id=80209
903
904        Reviewed by Kenneth Rohde Christiansen.
905
906        This patch adds a method isOpen to WebIconDatabase to
907        be able to check whether the database has already been opened.
908        This helps preventing problems when reusing a WebContext
909        to create another view, as e.g. WebKitTestRunner does it in the
910        Qt port.
911
912        * UIProcess/WebIconDatabase.cpp:
913        (WebKit::WebIconDatabase::setDatabasePath):
914        (WebKit::WebIconDatabase::isOpen): Added.
915        (WebKit):
916        * UIProcess/WebIconDatabase.h:
917        (WebIconDatabase):
918        * UIProcess/qt/QtWebIconDatabaseClient.cpp:
919        (WebKit::QtWebIconDatabaseClient::QtWebIconDatabaseClient):
920
9212012-05-15  Anders Carlsson  <andersca@apple.com>
922
923        Use unaccelerated scrolling deltas when rubber-banding
924        https://bugs.webkit.org/show_bug.cgi?id=86503
925        <rdar://problem/11378742>
926
927        Reviewed by Sam Weinig.
928
929        * Shared/WebEvent.h:
930        (WebWheelEvent):
931        (WebKit::WebWheelEvent::scrollCount):
932        (WebKit::WebWheelEvent::unacceleratedScrollingDelta):
933        Add scroll count and unaccelerated scrolling delta.
934
935        * Shared/WebEventConversion.cpp:
936        (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
937        Initialize scroll count and unaccelerated scrolling deltas.
938
939        * Shared/WebWheelEvent.cpp:
940        (WebKit::WebWheelEvent::WebWheelEvent):
941        Initialize scroll count and unaccelerated scrolling deltas.
942
943        (WebKit::WebWheelEvent::encode):
944        (WebKit::WebWheelEvent::decode):
945        Encode and decode scroll count and unaccelerated scrolling deltas.
946
947        * Shared/mac/WebEventFactory.mm:
948        (WebKit::WebEventFactory::createWebWheelEvent):
949        Initialize the scroll count and unaccelerated scrolling deltas from the underlying NSEvent.
950
951        * UIProcess/WebPageProxy.cpp:
952        (WebKit::coalesce):
953        Coalesce unaccelerated scrolling deltas as well.
954
955        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
956        (InitWebCoreSystemInterface):
957        Init new WKSI functions.
958
9592012-05-15  Sheriff Bot  <webkit.review.bot@gmail.com>
960
961        Unreviewed, rolling out r117095.
962        http://trac.webkit.org/changeset/117095
963        https://bugs.webkit.org/show_bug.cgi?id=86511
964
965        broke Qt Mac build (Requested by estes on #webkit).
966
967        * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
968        * Shared/Plugins/Netscape/NetscapePluginModule.h:
969        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
970        * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp:
971        * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
972        * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
973        (WebKit::PluginInfoStore::getPluginInfo):
974        * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
975        * WebProcess/Plugins/Netscape/JSNPMethod.h:
976        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
977        * WebProcess/Plugins/Netscape/JSNPObject.h:
978        * WebProcess/Plugins/Netscape/NPJSObject.cpp:
979        * WebProcess/Plugins/Netscape/NPJSObject.h:
980        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
981        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
982        * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp:
983        * WebProcess/Plugins/Netscape/NPRuntimeUtilities.h:
984        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
985        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.h:
986        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
987        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
988        * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp:
989        * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
990        * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
991        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
992        * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h:
993        * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
994        * WebProcess/Plugins/Netscape/qt/PluginProxyQt.cpp:
995        * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
996        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
997
9982012-05-15  Alexey Proskuryakov  <ap@apple.com>
999
1000        [WK2] Crash when dropping a reference to a non-existing file
1001        https://bugs.webkit.org/show_bug.cgi?id=86505
1002        <rdar://problem/11402084>
1003
1004        Reviewed by Darin Adler.
1005
1006        * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::performDragControllerAction): Check that
1007        extension handle actually has a non-null extension. Extensions for non-existent files can not
1008        exist, so they are passed as null ones.
1009
10102012-05-15  Andy Estes  <aestes@apple.com>
1011
1012        Add WTF_USE_SECURITY_FRAMEWORK and use it in place of the less specific PLATFORM(MAC)
1013        https://bugs.webkit.org/show_bug.cgi?id=86508
1014
1015        Reviewed by Sam Weinig.
1016
1017        * Shared/cf/ArgumentCodersCF.cpp:
1018        (CoreIPC::typeFromCFTypeRef):
1019        (CoreIPC::encode):
1020        (CoreIPC::decode):
1021        (CoreIPC):
1022        * Shared/cf/ArgumentCodersCF.h:
1023        (CoreIPC):
1024        * Shared/mac/KeychainAttribute.cpp:
1025        * Shared/mac/KeychainAttribute.h:
1026        * Shared/mac/SecKeychainItemRequestData.cpp:
1027        * Shared/mac/SecKeychainItemRequestData.h:
1028        * Shared/mac/SecKeychainItemResponseData.cpp:
1029        * Shared/mac/SecKeychainItemResponseData.h:
1030        * UIProcess/WebProcessProxy.h:
1031        (WebKit):
1032        (WebProcessProxy):
1033        * WebProcess/mac/WebProcessMac.mm:
1034
10352012-05-15  Andreas Kling  <kling@webkit.org>
1036
1037        Deep copy PluginModuleInfo before passing across thread boundary.
1038        <http://webkit.org/b/86491>
1039        <rdar://problem/11451178>
1040
1041        Reviewed by Anders Carlsson.
1042
1043        Since the vector of PluginModuleInfo objects returned by PluginInfoStore::plugins()
1044        can end up being passed to another thread, we should clone it to make sure it's
1045        safe to do so.
1046
1047        No new tests, speculative use-after-free fix.
1048
1049        * Shared/Plugins/PluginModuleInfo.h:
1050        (PluginModuleInfo):
1051        (WebKit::PluginModuleInfo::isolatedCopy):
1052        * UIProcess/Plugins/PluginInfoStore.cpp:
1053        (WebKit::PluginInfoStore::plugins):
1054
10552012-05-15  Andy Estes  <aestes@apple.com>
1056
1057        Guard Netscape plug-in code with ENABLE(NETSCAPE_PLUGIN_API)
1058        https://bugs.webkit.org/show_bug.cgi?id=86496
1059
1060        Reviewed by Dan Bernstein.
1061
1062        * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
1063        * Shared/Plugins/Netscape/NetscapePluginModule.h:
1064        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
1065        * Shared/Plugins/Netscape/win/NetscapePluginModuleWin.cpp:
1066        * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
1067        * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
1068        (WebKit::PluginInfoStore::individualPluginPaths):
1069        (WebKit::PluginInfoStore::getPluginInfo):
1070        * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
1071        * WebProcess/Plugins/Netscape/JSNPMethod.h:
1072        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1073        * WebProcess/Plugins/Netscape/JSNPObject.h:
1074        * WebProcess/Plugins/Netscape/NPJSObject.cpp:
1075        * WebProcess/Plugins/Netscape/NPJSObject.h:
1076        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1077        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
1078        * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp:
1079        * WebProcess/Plugins/Netscape/NPRuntimeUtilities.h:
1080        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1081        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.h:
1082        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1083        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1084        * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp:
1085        * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp:
1086        * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
1087        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
1088        * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h:
1089        * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
1090        * WebProcess/Plugins/Netscape/qt/PluginProxyQt.cpp:
1091        * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
1092        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
1093
10942012-05-14  Andy Estes  <aestes@apple.com>
1095
1096        Guard some AppKit-specific code in WebKit2 with USE(APPKIT)
1097        https://bugs.webkit.org/show_bug.cgi?id=86444
1098
1099        Reviewed by Sam Weinig.
1100
1101        * Shared/NativeWebKeyboardEvent.h:
1102        (NativeWebKeyboardEvent):
1103        (WebKit::NativeWebKeyboardEvent::nativeEvent):
1104        * Shared/NativeWebMouseEvent.h:
1105        (NativeWebMouseEvent):
1106        (WebKit::NativeWebMouseEvent::nativeEvent):
1107        * Shared/NativeWebWheelEvent.h:
1108        (NativeWebWheelEvent):
1109        (WebKit::NativeWebWheelEvent::nativeEvent):
1110        * Shared/mac/ArgumentCodersMac.h:
1111        (CoreIPC):
1112        * Shared/mac/ArgumentCodersMac.mm:
1113        (CoreIPC::typeFromObject):
1114        (CoreIPC::encode):
1115        (CoreIPC::decode):
1116        * Shared/mac/WebEventFactory.mm:
1117        * WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm:
1118        (WebKit::WebPopupMenu::setUpPlatformData):
1119        * WebProcess/mac/WebProcessMainMac.mm:
1120        (WebKit::WebProcessMain):
1121
11222012-05-15  Dinu Jacob  <dinu.jacob@nokia.com>
1123
1124        [Qt][WK2] fast/loader/create-frame-in-DOMContentLoaded.html crashes
1125        https://bugs.webkit.org/show_bug.cgi?id=83578
1126
1127        Retrieve and save page ID only for a valid page in WebFrameNetworkingContext.
1128        The page will be null if the frame was detached from the page.
1129
1130        Reviewed by Simon Hausmann.
1131
1132        * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
1133        (WebCore::WebFrameNetworkingContext::WebFrameNetworkingContext):
1134
11352012-05-15  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1136
1137        [Qt][WK2] Fix scrolling in touch mode
1138        https://bugs.webkit.org/show_bug.cgi?id=75006
1139
1140        Reviewed by Kenneth Rohde Christiansen.
1141
1142        Only handle mouse-wheel events in WebCore to avoid double scrolling, and
1143        scale pixels scrolled by wheel events according to viewport transformation.
1144
1145        * Shared/qt/WebEventFactoryQt.cpp:
1146        (WebKit::WebEventFactory::createWebWheelEvent):
1147        * UIProcess/qt/QtViewportInteractionEngine.cpp:
1148        * UIProcess/qt/QtViewportInteractionEngine.h:
1149        (QtViewportInteractionEngine):
1150        * UIProcess/qt/QtWebPageEventHandler.cpp:
1151        (QtWebPageEventHandler::handleWheelEvent):
1152
11532012-05-15  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1154
1155        [Qt] Add infra for testing double-tap to zoom functionality etc
1156        https://bugs.webkit.org/show_bug.cgi?id=86474
1157
1158        Reviewed by Simon Hausmann.
1159
1160        Rename the WebViewportInfo class to QWebKitTest in preparation
1161        of becoming a separate module. Adapt the use API.
1162
1163        Modify the API to work better for testing and make sure the
1164        signals are emitted the right places. Also add a method for
1165        simulating a double tap.
1166
1167        Work around issue with animations not running when the item
1168        doesn't have focus.
1169
1170        Create an example test for double-tap to zoom, showing how we can
1171        now create UI tests using QML.
1172
1173        * Target.pri:
1174        * UIProcess/API/qt/qquickwebpage.cpp:
1175        (QQuickWebPage::setContentsSize):
1176        (QQuickWebPage::setContentsScale):
1177        * UIProcess/API/qt/qquickwebview.cpp:
1178        (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
1179        (QQuickWebViewFlickablePrivate::_q_contentViewportChanged):
1180        (QQuickWebViewFlickablePrivate::didChangeContentsSize):
1181        (QQuickWebViewExperimental::QQuickWebViewExperimental):
1182        (QQuickWebViewExperimental::test):
1183        (QQuickWebView::mouseDoubleClickEvent):
1184        * UIProcess/API/qt/qquickwebview_p.h:
1185        * UIProcess/API/qt/qquickwebview_p_p.h:
1186        (QQuickWebViewPrivate):
1187        * UIProcess/API/qt/qwebkittest.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qwebviewportinfo.cpp.
1188        (QWebKitTest::QWebKitTest):
1189        (QWebKitTest::~QWebKitTest):
1190        (QWebKitTest::touchDoubleTap):
1191        (QWebKitTest::contentsSize):
1192        (QWebKitTest::contentsScale):
1193        (QWebKitTest::devicePixelRatio):
1194        (QWebKitTest::initialScale):
1195        (QWebKitTest::minimumScale):
1196        (QWebKitTest::maximumScale):
1197        (QWebKitTest::isScalable):
1198        (QWebKitTest::layoutSize):
1199        * UIProcess/API/qt/qwebkittest_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwebviewportinfo_p.h.
1200        * UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml: Added.
1201        * UIProcess/qt/QtViewportInteractionEngine.cpp:
1202        (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
1203        * UIProcess/qt/QtViewportInteractionEngine.h:
1204        (QtViewportInteractionEngine):
1205
12062012-05-15  Michael Brüning  <michael.bruning@nokia.com>
1207
1208        [Qt][WK2] http/tests/navigation/https-in-page-cache.html fails with timeout
1209        https://bugs.webkit.org/show_bug.cgi?id=83576
1210
1211        Reviewed by Simon Hausmann.
1212
1213        * UIProcess/API/qt/qquickwebview.cpp:
1214        (QQuickWebViewPrivate::QQuickWebViewPrivate):
1215        (QQuickWebViewPrivate::handleCertificateVerificationRequest):
1216        (QQuickWebView::allowAnyHTTPSCertificateForLocalHost): Added.
1217        (QQuickWebView::setAllowAnyHTTPSCertificateForLocalHost): Added.
1218        * UIProcess/API/qt/qquickwebview_p.h:
1219        * UIProcess/API/qt/qquickwebview_p_p.h:
1220        (QQuickWebViewPrivate):  Added bool m_allowAnyHTTPSCertificateForLocalHost.
1221
12222012-05-14  Shinya Kawanaka  <shinyak@chromium.org>
1223
1224        document.execCommand('Indent') in the direct child of ShadowRoot causes a crash.
1225        https://bugs.webkit.org/show_bug.cgi?id=86341
1226
1227        Reviewed by Ryosuke Niwa.
1228
1229        Exports necessary symbols.
1230
1231        * win/WebKit2.def:
1232        * win/WebKit2CFLite.def:
1233
12342012-05-14  Luke Macpherson  <macpherson@chromium.org>
1235
1236        Introduce ENABLE_CSS_VARIABLES compile flag.
1237        https://bugs.webkit.org/show_bug.cgi?id=86338
1238
1239        Reviewed by Dimitri Glazkov.
1240
1241        Add a configuration option for CSS Variables support, disabling it by default.
1242
1243        * Configurations/FeatureDefines.xcconfig:
1244
12452012-05-14  Michael Saboff  <msaboff@apple.com>
1246
1247        Enh: Add the Ability to Disable / Enable JavaScript GC Timer
1248        https://bugs.webkit.org/show_bug.cgi?id=86382
1249
1250        Reviewed by Darin Adler.
1251
1252        Plumbing to set / clear JS GC activity timer enable flag.
1253
1254        * UIProcess/API/C/WKContext.cpp:
1255        (WKContextSetJavaScriptGarbageCollectorTimerEnabled):
1256        * UIProcess/API/C/WKContext.h:
1257        * UIProcess/WebContext.cpp:
1258        (WebKit::WebContext::setJavaScriptGarbageCollectorTimerEnabled):
1259        * UIProcess/WebContext.h:
1260        * WebProcess/WebProcess.cpp:
1261        (WebKit::WebProcess::setJavaScriptGarbageCollectorTimerEnabled):
1262        * WebProcess/WebProcess.h:
1263        * WebProcess/WebProcess.messages.in:
1264
12652012-05-14  Anders Carlsson  <andersca@apple.com>
1266
1267        The "plug-in was blocked" callback needs to include enough info to uniquely identify the plug-in + version
1268        https://bugs.webkit.org/show_bug.cgi?id=86395
1269        <rdar://problem/11447652>
1270
1271        Reviewed by John Sullivan.
1272
1273        Add the plug-in identifier and version string to the didFail client callback.
1274
1275        * UIProcess/API/C/WKPage.h:
1276        * UIProcess/WebLoaderClient.cpp:
1277        (WebKit::WebLoaderClient::didFailToInitializePlugin):
1278        Pass a null plug-in identifier and version here since we don't have the plug-in information here.
1279
1280        (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
1281        * UIProcess/WebLoaderClient.h:
1282        (WebLoaderClient):
1283        * UIProcess/WebPageProxy.cpp:
1284        (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
1285
12862012-05-14  Andreas Kling  <kling@webkit.org>
1287
1288        REGRESSION(r116796): Assertion failure in API tests
1289        <http://webkit.org/b/86378>
1290        <rdar://problem/10777218>
1291
1292        Reviewed by Anders Carlsson.
1293
1294        Invalidate the plugin work queue in ~WebContext to avoid hitting
1295        the !m_isValid assertion in ~WorkQueue later on.
1296
1297        * UIProcess/WebContext.cpp:
1298        (WebKit::WebContext::~WebContext):
1299
13002012-05-14  Sheriff Bot  <webkit.review.bot@gmail.com>
1301
1302        Unreviewed, rolling out r116969.
1303        http://trac.webkit.org/changeset/116969
1304        https://bugs.webkit.org/show_bug.cgi?id=86386
1305
1306        i accidentally the icondatabase (Requested by kling on
1307        #webkit).
1308
1309        * UIProcess/WebContext.cpp:
1310        (WebKit::WebContext::~WebContext):
1311
13122012-05-14  Andreas Kling  <kling@webkit.org>
1313
1314        REGRESSION(r116796): Assertion failure in API tests
1315        <http://webkit.org/b/86378>
1316        <rdar://problem/10777218>
1317
1318        Reviewed by Anders Carlsson.
1319
1320        Invalidate the plugin work queue in ~WebContext to avoid hitting
1321        the !m_isValid assertion in ~WorkQueue later on.
1322
1323        * UIProcess/WebContext.cpp:
1324        (WebKit::WebContext::~WebContext):
1325
13262012-05-14  Csaba Osztrogonác  <ossy@webkit.org>
1327
1328        [Qt][WK2] Unreviewed trivial buildfix after r116958.
1329
1330        * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
1331
13322012-05-14  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1333
1334        [Qt] Simplify OTHER_FILES for QML tests project files
1335
1336        Reviewed by Jocelyn Turcotte.
1337
1338        * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
1339        * UIProcess/API/qt/tests/qmltests/WebView.pro:
1340
13412012-05-14  Carlos Garcia Campos  <cgarcia@igalia.com>
1342
1343        Unreviewed. Fix make distcheck.
1344
1345        * GNUmakefile.am: Explicitly link WebProcess to
1346        libjavascriptcoregtk to make sure it uses the non installed
1347        library.
1348        * GNUmakefile.list.am: Add missing header file.
1349
13502012-05-14  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
1351
1352        [GTK] [WK2] Memory leaks in WebKitWebSettings
1353        https://bugs.webkit.org/show_bug.cgi?id=86365
1354
1355        Reviewed by Martin Robinson.
1356
1357        Fix memory leaks in WebKitWebSettings by adopting allocations
1358        using adoptWK.
1359
1360        * UIProcess/API/gtk/WebKitSettings.cpp:
1361        (webkit_settings_init):
1362        (webkit_settings_set_serif_font_family):
1363
13642012-05-14  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1365
1366        [Qt] Doesn't build with ENABLE_INSPECTOR=0
1367        https://bugs.webkit.org/show_bug.cgi?id=85056
1368
1369        Reviewed by Tor Arne Vestbø.
1370
1371        * Target.pri:
1372        * UIProcess/qt/QtWebContext.cpp:
1373        (WebKit::initInspectorServer):
1374
13752012-05-11  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1376
1377        [Qt] Make sure dialogs have their parent and attached properties set before Component.onCompleted
1378        https://bugs.webkit.org/show_bug.cgi?id=86222
1379
1380        The WebView QML api for dialogs is based on delegates for each dialog, which
1381        are implemented as components. Since there's no explicit API to show the dialog,
1382        the natural place to allow the dialog to choose how to display itself is in
1383        Component.onCompleted.
1384
1385        The issue was that we were using QQmlComponent::create() when instantiating the
1386        component, at which point the component did not have a parent or it's attached
1387        WebView property set. That meant that we had to do some ugly workaround in our
1388        test, using a 1ms timer, to get a callback once the parent was there.
1389
1390        We now use the QQmlComponent::beginCreate() -> QQmlComponent::completeCreate()
1391        pair, which allows us to set the relevant properties before triggering the
1392        Component.onCompleted callback. We were already doing this for the context
1393        menus (except for setting the parent, which we did afterwards).
1394
1395        Reviewed by Simon Hausmann.
1396
1397        * UIProcess/API/qt/qquickwebview.cpp:
1398        * UIProcess/API/qt/qquickwebview_p_p.h:
1399        * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
1400        * UIProcess/qt/QtDialogRunner.cpp:
1401        * UIProcess/qt/QtDialogRunner.h:
1402        * UIProcess/qt/WebPopupMenuProxyQt.cpp:
1403
14042012-05-11  Gavin Barraclough  <barraclough@apple.com>
1405
1406        Introduce PropertyName class
1407        https://bugs.webkit.org/show_bug.cgi?id=86241
1408
1409        Reviewed by Geoff Garen.
1410
1411        Replace 'const Identifier&' arguments to functions accessing object properties with a new 'PropertyName' type.
1412        This change paves the way to allow for properties keyed by values that are not Identifiers.
1413
1414        This change is largely a mechanical find & replace.
1415        It also changes JSFunction's constructor to take a UString& instead of an Identifier&
1416        (since in some cases we can no longer guarantee that we'lll have an Identifier), and
1417        unifies Identifier's methods to obtain array indices onto PropertyName.
1418
1419        The new PropertyName class retains the ability to support .impl() and .ustring(), but
1420        in a future patch we may need to rework this, since not all PropertyNames should be
1421        equal based on their string representation.
1422
1423        * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
1424        (WebKit::JSNPMethod::finishCreation):
1425        * WebProcess/Plugins/Netscape/JSNPMethod.h:
1426        (WebKit::JSNPMethod::create):
1427        (JSNPMethod):
1428        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1429        (WebKit::npIdentifierFromIdentifier):
1430        (WebKit::JSNPObject::getOwnPropertySlot):
1431        (WebKit::JSNPObject::getOwnPropertyDescriptor):
1432        (WebKit::JSNPObject::put):
1433        (WebKit::JSNPObject::deleteProperty):
1434        (WebKit::JSNPObject::propertyGetter):
1435        (WebKit::JSNPObject::methodGetter):
1436        * WebProcess/Plugins/Netscape/JSNPObject.h:
1437        (JSNPObject):
1438
14392012-05-11  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
1440
1441        [GTK] [WK2] Memory leak in PluginProcessProxy::scanPlugin
1442        https://bugs.webkit.org/show_bug.cgi?id=86240
1443
1444        Reviewed by Martin Robinson.
1445
1446        Free the output received from the g_spawn_sync().
1447
1448        * UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp:
1449        (WebKit::PluginProcessProxy::scanPlugin):
1450
14512012-05-11  Andreas Kling  <kling@webkit.org>
1452
1453        WK2/Plugins: Move enumeration of plugins to a secondary UIProcess thread.
1454        <http://webkit.org/b/86143>
1455        <rdar://problem/10777218>
1456
1457        Reviewed by Anders Carlsson.
1458
1459        To avoid spins beneath PluginInfoStore::getPluginInfo(), do this work on a secondary
1460        thread in the UIProcess.
1461
1462        * Shared/APIObject.h:
1463
1464            Made APIObject a ThreadSafeRefCounted. In the context of this patch, this is to
1465            be able to dispatch bound Functions on WebContext.
1466
1467        * WebProcess/mac/KeychainItemShimMethods.mm:
1468        (WebKit::responseMap):
1469        * WebProcess/mac/SecItemShimMethods.mm:
1470        (WebKit::responseMap):
1471        * WebKit2.xcodeproj/project.pbxproj:
1472        * Shared/BlockingResponseMap.h:
1473        (BlockingResponseMap):
1474        (BlockingResponseMap::waitForResponse):
1475        (BlockingResponseMap::didReceiveResponse):
1476
1477             Renamed from Source/WebKit2/WebProcess/mac/KeychainShimResponseMap.h.
1478             Generalize this somewhat since it's useful in more than just the keychain scenario.
1479             This can/should be generalized further, but that's a topic for another patch.
1480
1481        * UIProcess/Plugins/PluginInfoStore.h:
1482        * UIProcess/Plugins/PluginInfoStore.cpp:
1483        (WebKit::PluginInfoStore::plugins):
1484        (WebKit::PluginInfoStore::findPluginForMIMEType):
1485        (WebKit::PluginInfoStore::findPluginForExtension):
1486        (WebKit::PluginInfoStore::findPlugin):
1487        (WebKit::PluginInfoStore::infoForPluginWithPath):
1488
1489            Slap a mutex on the PluginInfoStore since it can now be called from both the
1490            main thread (via WKFrameCanShowMIMEType) and the GetPlugin work queue.
1491
1492        * UIProcess/WebContext.messages.in:
1493        * UIProcess/WebContext.h:
1494        * UIProcess/WebContext.cpp:
1495        (WebKit::WebContext::WebContext):
1496        (WebKit::WebContext::~WebContext):
1497        (WebKit::WebContext::processDidFinishLaunching):
1498        (WebKit::WebContext::sendDidGetPlugins):
1499        (WebKit::WebContext::handleGetPlugins):
1500        (WebKit::WebContext::getPlugins):
1501        (WebKit::WebContext::didReceiveMessageOnConnectionWorkQueue):
1502
1503            Make GetPlugins a DispatchOnConnectionQueue message and execute it on a new
1504            plug-in work queue. This effectively makes the GetPlugin call asynchronous.
1505            On Mac, the built-in PDF reader is still registered on the main thread as that
1506            ends up calling into localizedString().
1507
1508        * WebProcess/WebProcess.cpp:
1509        (WebKit::WebProcess::didGetPlugins):
1510        * WebProcess/WebProcess.h:
1511        * WebProcess/WebProcess.messages.in:
1512
1513            Add a DidGetPlugins message to WebProcess. This is passed directly to the handler
1514            in WebPlatformStrategies.cpp.
1515
1516        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
1517        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
1518        (WebKit::responseMap):
1519        (WebKit::handleDidGetPlugins):
1520        (WebKit::generateRequestID):
1521        (WebKit::WebPlatformStrategies::populatePluginCache):
1522
1523            Use a BlockingResponseMap to block the WebProcess main thread until the UIProcess
1524            responds with DidGetPlugins.
1525
15262012-05-11  Gustavo Noronha Silva  <gns@gnome.org>
1527
1528        REGRESSION(r116205): [GTK]: build no longer supports thin archives
1529        https://bugs.webkit.org/show_bug.cgi?id=86207
1530
1531        * GNUmakefile.am: link libWebCoreModules to the webkit2gtk shared
1532        library; tell the linker to ignore internal unresolved symbols for
1533        PluginProcess and avoid linking libWebCoreModules.
1534
15352012-05-11  Hajime Morrita  <morrita@chromium.org>
1536
1537        Unreviewed build fix attempt.
1538
1539        * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
1540        (WebKit::WebPopupMenu::setUpPlatformData):
1541
15422012-05-11  Carlos Garcia Campos  <cgarcia@igalia.com>
1543
1544        [SOUP] Allow sending URI request data in chunks
1545        https://bugs.webkit.org/show_bug.cgi?id=85880
1546
1547        Reviewed by Martin Robinson.
1548
1549        The API to handle custom URI schemes will receive an input stream
1550        to read from. Current code requires to buffer the whole stream
1551        before sending it to the WebProcess. This patch allows to send the
1552        data in chunks while it's read from the stream.
1553
1554        * GNUmakefile.list.am: Add new files to compilation
1555        * UIProcess/API/C/soup/WKSoupRequestManager.cpp:
1556        (WKSoupRequestManagerRegisterURIScheme): Use toWTFString() to
1557        convert from WKString to WTFString.
1558        (WKSoupRequestManagerDidHandleURIRequest): Use didHandleURIRequest
1559        as it has been renamed.
1560        (WKSoupRequestManagerDidReceiveURIRequestData): New method to send
1561        more data for the uri request to the web process.
1562        * UIProcess/API/C/soup/WKSoupRequestManager.h:
1563        * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
1564        (WebKit::WebSoupRequestManagerProxy::didHandleURIRequest):
1565        HandleURIRequest has been renamed to DidHandleURIRequest.
1566        (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequestData):
1567        Send DidReceiveURIRequestData message to the web process.
1568        (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequest): Use
1569        didHandleURIRequest as it has been renamed.
1570        * UIProcess/soup/WebSoupRequestManagerProxy.h:
1571        (WebSoupRequestManagerProxy):
1572        * WebProcess/soup/WebKitSoupRequestInputStream.cpp: Added.
1573        (AsyncReadData::AsyncReadData): Helper struct to store information
1574        about pending async read operations.
1575        (_WebKitSoupRequestInputStreamPrivate):
1576        (webkitSoupRequestInputStreamReadAsyncResultComplete): Read the
1577        data from the memory input stream and complete the async read
1578        operation.
1579        (webkitSoupRequestInputStreamReadAsync): Read the data from the
1580        memory input stream and complete the async read operation if
1581        there's data to read, or save the async result to be completed
1582        when more data is added to the stream.
1583        (webkitSoupRequestInputStreamReadFinish): Finish an async read
1584        started with webkitSoupRequestInputStreamReadAsync.
1585        (webkitSoupRequestInputStreamFinalize):
1586        (webkit_soup_request_input_stream_init):
1587        (webkit_soup_request_input_stream_class_init):
1588        (webkitSoupRequestInputStreamNew): Create a new input stream with
1589        a fixed size or 0 if content length is not known.
1590        (webkitSoupRequestInputStreamAddData): Add more data to the
1591        stream and complete any pending async read.
1592        (webkitSoupRequestInputStreamFinished): Whether all data expected
1593        by the stream has been received.
1594        * WebProcess/soup/WebKitSoupRequestInputStream.h: Added.
1595        * WebProcess/soup/WebSoupRequestManager.cpp:
1596        (WebKit::WebSoupRequestManager::didHandleURIRequest): Create a
1597        WebKitSoupRequestInputStream if we haven't received all the
1598        request data in the HandleURIRequest message. Otherwise just
1599        create a memory input stream with all the data.
1600        (WebKit::WebSoupRequestManager::didReceiveURIRequestData): Add the data
1601        received to the WebKitSoupRequestInputStream associated to the
1602        given request identifier.
1603        * WebProcess/soup/WebSoupRequestManager.h:
1604        * WebProcess/soup/WebSoupRequestManager.messages.in: Add
1605        contentLength parameter to DidHandleURIRequest message and add
1606        DidReceiveURIRequestData message.
1607
16082012-05-10  MORITA Hajime  <morrita@google.com>
1609
1610        ElementShadow should minimize the usage of "ShadowRoot" name
1611        https://bugs.webkit.org/show_bug.cgi?id=85970
1612
1613        Reviewed by Dimitri Glazkov.
1614
1615        Removed symbols which no longer exists
1616
1617        * win/WebKit2.def:
1618        * win/WebKit2CFLite.def:
1619
16202012-05-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1621
1622        Move resumeAnimations to use Internals interface
1623        https://bugs.webkit.org/show_bug.cgi?id=86063
1624
1625        Reviewed by Alexey Proskuryakov.
1626
1627        * win/WebKit2.def: Add a symbol filter for resumeAnimations.
1628
16292012-05-10  Anders Carlsson  <andersca@apple.com>
1630
1631        PDF files won't scroll in Safari when using Adobe plug-in
1632        https://bugs.webkit.org/show_bug.cgi?id=86167
1633        <rdar://problem/11389719>
1634
1635        Reviewed by Sam Weinig.
1636
1637        Add a way to whitelist plug-ins that we know will process wheel events correctly. Add the new
1638        Adobe Reader plug-in to this whitelist. Only send wheel events to plug-ins that are in the whitelist.
1639
1640        * PluginProcess/PluginControllerProxy.cpp:
1641        (WebKit::PluginControllerProxy::wantsWheelEvents):
1642        (WebKit):
1643        * PluginProcess/PluginControllerProxy.h:
1644        (PluginControllerProxy):
1645        * PluginProcess/WebProcessConnection.cpp:
1646        (WebKit::WebProcessConnection::createPlugin):
1647        * PluginProcess/WebProcessConnection.h:
1648        (WebProcessConnection):
1649        * PluginProcess/WebProcessConnection.messages.in:
1650        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
1651        (WebKit::NetscapePluginModule::determineQuirks):
1652        * Shared/Plugins/PluginQuirks.h:
1653        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
1654        (WebKit::NetscapePlugin::wantsWheelEvents):
1655        (WebKit):
1656        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
1657        (NetscapePlugin):
1658        * WebProcess/Plugins/PDF/BuiltInPDFView.h:
1659        (BuiltInPDFView):
1660        * WebProcess/Plugins/PDF/BuiltInPDFView.mm:
1661        (WebKit::BuiltInPDFView::wantsWheelEvents):
1662        (WebKit):
1663        * WebProcess/Plugins/Plugin.h:
1664        (Plugin):
1665        * WebProcess/Plugins/PluginProxy.cpp:
1666        (WebKit::PluginProxy::PluginProxy):
1667        (WebKit::PluginProxy::initialize):
1668        (WebKit::PluginProxy::wantsWheelEvents):
1669        (WebKit):
1670        * WebProcess/Plugins/PluginProxy.h:
1671        (PluginProxy):
1672        * WebProcess/Plugins/PluginView.cpp:
1673        (WebKit::PluginView::initializePlugin):
1674        (WebKit::PluginView::wantsWheelEvents):
1675        (WebKit):
1676        (WebKit::PluginView::handleEvent):
1677        * WebProcess/Plugins/PluginView.h:
1678        (PluginView):
1679
16802012-05-10  Anders Carlsson  <andersca@apple.com>
1681
1682        WebKit2: Add a way to blacklist specific plug-ins/plug-in versions
1683        https://bugs.webkit.org/show_bug.cgi?id=86164
1684        <rdar://problem/9551196>
1685
1686        Reviewed by Sam Weinig.
1687
1688        * Shared/API/c/WKError.h:
1689        Add kWKErrorCodeInsecurePlugInVersion error code.
1690
1691        * Shared/APIClientTraits.cpp:
1692        Update now that didFailToInitializePlugin is deprecated.
1693
1694        * UIProcess/API/C/WKPage.h:
1695        Deprecate didFailToInitializePlugin and replace it with the more generic pluginDidFail. 
1696        Also, deprecate missingPluginButtonClicked and replace it with unavailablePluginButtonClicked.
1697
1698        * UIProcess/Plugins/PluginInfoStore.cpp:
1699        (WebKit::PluginInfoStore::shouldBlockPlugin):
1700        Non-Mac version, always return false.
1701
1702        * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
1703        (WebKit::PluginInfoStore::shouldBlockPlugin):
1704        Call WKShouldBlockPlugin.
1705
1706        * UIProcess/WebContext.cpp:
1707        (WebKit::WebContext::getPluginPath):
1708        Check if the plug-in should be blocked.
1709
1710        * UIProcess/WebContext.messages.in:
1711        GetPluginPath now takes an additional out parameter, a boolean that determines whether the plug-in
1712        should be blocked from loading or not.
1713
1714        * UIProcess/WebLoaderClient.cpp:
1715        (WebKit::WebLoaderClient::didFailToInitializePlugin):
1716        Call m_client.pluginDidFail.
1717
1718        (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
1719        Ditto.
1720
1721        * UIProcess/WebPageProxy.cpp:
1722        (WebKit::WebPageProxy::unavailablePluginButtonClicked):
1723        Call the loader client.
1724
1725        (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
1726        Ditto.
1727
1728        * UIProcess/WebPageProxy.messages.in:
1729        Rename MissingPluginButtonClicked to UnavailablePluginButtonClicked and add a new DidBlockInsecurePluginVersion message.
1730
1731        * UIProcess/WebUIClient.cpp:
1732        (WebKit::WebUIClient::unavailablePluginButtonClicked):
1733        Call missingPluginButtonClicked and unavailablePluginButtonClicked.
1734
1735        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1736        (WebKit::WebChromeClient::shouldUnavailablePluginMessageBeButton):
1737        (WebKit::WebChromeClient::unavailablePluginButtonClicked):
1738        Handle RenderEmbeddedObject::InsecurePluginVersion.
1739
1740        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1741        (WebKit::WebFrameLoaderClient::createPlugin):
1742        WebPage::createPlugin now takes the plug-in element.
1743
1744        * WebProcess/WebPage/WebPage.cpp:
1745        (WebKit::WebPage::createPlugin):
1746        If the plug-in is blocked, set the appropriate unavailability reason.
1747
1748        * WebProcess/WebProcess.cpp:
1749        (WebKit::canPluginHandleResponse):
1750        Update now that GetPluginPath returns a blocked parameter as well.
1751
17522012-05-10  Anders Carlsson  <andersca@apple.com>
1753
1754        Rename the missing plug-in indicator to the unavailable plug-in indicator
1755        https://bugs.webkit.org/show_bug.cgi?id=86136
1756
1757        Reviewed by Sam Weinig.
1758
1759        Update for WebCore changes.
1760
1761        * WebProcess/Plugins/PluginView.cpp:
1762        (WebKit::PluginView::pluginProcessCrashed):
1763        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1764        (WebKit::WebChromeClient::shouldUnavailablePluginMessageBeButton):
1765        (WebKit::WebChromeClient::unavailablePluginButtonClicked):
1766        * WebProcess/WebCoreSupport/WebChromeClient.h:
1767        (WebChromeClient):
1768
17692012-05-10  Carlos Garcia Campos  <cgarcia@igalia.com>
1770
1771        [GTK] Test /webkit2/WebKitWebView/resources times out
1772        https://bugs.webkit.org/show_bug.cgi?id=86088
1773
1774        Reviewed by Martin Robinson.
1775
1776        * UIProcess/API/gtk/tests/TestResources.cpp:
1777        (testWebViewResources): Use webkit_web_view_reload_bypass_cache()
1778        instead of webkit_web_view_reload() to make sure resources are not
1779        read from the cache.
1780
17812012-05-10  Simon Pena  <spena@igalia.com>
1782
1783        [GTK] WK2 misses WebKitSettings for media playback requiring user gestures and inline playback
1784        https://bugs.webkit.org/show_bug.cgi?id=85999
1785
1786        Reviewed by Martin Robinson.
1787
1788        Expose WebKitSettings for media playback requiring user gesture and
1789        media playback allows inline to GTK side.
1790
1791        This adds two properties (mediaPlaybackRequiresUserGesture and
1792        mediaPlaybackAllowsInline), with their setters and getters, to
1793        WebKitSettings. It also updates the WebKitSettings tests so these
1794        two properties are checked, and includes the new methods in the
1795        documentation.
1796
1797        * UIProcess/API/gtk/WebKitSettings.cpp: added the new properties and
1798        their accessors
1799        (webKitSettingsSetProperty):
1800        (webKitSettingsGetProperty):
1801        (webkit_settings_class_init):
1802        (webkit_settings_set_media_playback_requires_user_gesture):
1803        (webkit_settings_get_media_playback_requires_user_gesture):
1804        (webkit_settings_set_media_playback_allows_inline):
1805        (webkit_settings_get_media_playback_allows_inline):
1806        * UIProcess/API/gtk/WebKitSettings.h:
1807        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: included the new
1808        methods in the documentation
1809        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: tested the newly
1810        added methods
1811        (testWebKitSettings):
1812
18132012-05-10  Simon Pena  <spena@igalia.com>
1814
1815        [GTK] Missing field initializers for WKPageLoaderClient
1816        https://bugs.webkit.org/show_bug.cgi?id=86005
1817
1818        Reviewed by Martin Robinson.
1819
1820        Initialize willGoToBackForwardListItem and
1821        interactionOccurredWhileProcessUnresponsive fields of
1822        WKPageLoaderClient.
1823
1824        * UIProcess/API/gtk/WebKitLoaderClient.cpp:
1825        (attachLoaderClientToView):
1826
18272012-05-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1828
1829        [Qt] Double tap to zoom is considered a user interaction
1830        https://bugs.webkit.org/show_bug.cgi?id=86094
1831
1832        Reviewed by Simon Hausmann.
1833
1834        This makes it so that the content size change doesn't change scale
1835        after a double tap to zoom.
1836
1837        * UIProcess/qt/QtViewportInteractionEngine.cpp:
1838        (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
1839
18402012-05-10  Kent Hansen  <kent.hansen@nokia.com>
1841
1842        [Qt] Rename QDeclarative* to QQml*
1843        https://bugs.webkit.org/show_bug.cgi?id=86089
1844
1845        Reviewed by Simon Hausmann.
1846
1847        The QtDeclarative module was deprecated in favor of QtQml.
1848
1849        * Target.pri:
1850        * UIProcess/API/qt/qquickwebview.cpp:
1851        (QQuickWebViewPrivate::_q_onReceivedResponseFromDownload):
1852        (QQuickWebViewExperimental::alertDialog):
1853        (QQuickWebViewExperimental::setAlertDialog):
1854        (QQuickWebViewExperimental::confirmDialog):
1855        (QQuickWebViewExperimental::setConfirmDialog):
1856        (QQuickWebViewExperimental::promptDialog):
1857        (QQuickWebViewExperimental::setPromptDialog):
1858        (QQuickWebViewExperimental::authenticationDialog):
1859        (QQuickWebViewExperimental::setAuthenticationDialog):
1860        (QQuickWebViewExperimental::proxyAuthenticationDialog):
1861        (QQuickWebViewExperimental::setProxyAuthenticationDialog):
1862        (QQuickWebViewExperimental::certificateVerificationDialog):
1863        (QQuickWebViewExperimental::setCertificateVerificationDialog):
1864        (QQuickWebViewExperimental::itemSelector):
1865        (QQuickWebViewExperimental::setItemSelector):
1866        (QQuickWebViewExperimental::filePicker):
1867        (QQuickWebViewExperimental::setFilePicker):
1868        (QQuickWebViewExperimental::databaseQuotaDialog):
1869        (QQuickWebViewExperimental::setDatabaseQuotaDialog):
1870        (QQuickWebViewExperimental::schemeDelegates_At):
1871        (QQuickWebViewExperimental::schemeDelegates_Append):
1872        (QQuickWebViewExperimental::schemeDelegates_Count):
1873        (QQuickWebViewExperimental::schemeDelegates_Clear):
1874        (QQuickWebViewExperimental::schemeDelegates):
1875        * UIProcess/API/qt/qquickwebview_p.h:
1876        * UIProcess/API/qt/qquickwebview_p_p.h:
1877        (QQuickWebViewPrivate):
1878        * UIProcess/API/qt/qwebiconimageprovider.cpp:
1879        (QWebIconImageProvider::QWebIconImageProvider):
1880        * UIProcess/API/qt/qwebiconimageprovider_p.h:
1881        * UIProcess/API/qt/qwebviewportinfo_p.h:
1882        * UIProcess/API/qt/tests/tests.pri:
1883        * UIProcess/qt/QtDialogRunner.h:
1884        (QtDialogRunner):
1885        * UIProcess/qt/WebPopupMenuProxyQt.h:
1886        (WebPopupMenuProxyQt):
1887
18882012-05-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1889
1890        [Qt] Fix sites with a viewport meta tag when devicePixelRatio isn't explicitely set on the WebView
1891        https://bugs.webkit.org/show_bug.cgi?id=86002
1892
1893        Reviewed by Kenneth Rohde Christiansen.
1894
1895        The preference was recently changed to a double ratio, but was still left under
1896        FOR_EACH_WEBKIT_UINT32_PREFERENCE and was initialized to inf instead of 1.0.
1897        This would cause the viewport constraints to apply a multi-millionaire device
1898        pixel ratio and make the contents invisible.
1899
1900        This moves it with other double preferences under FOR_EACH_WEBKIT_DOUBLE_PREFERENCE.
1901
1902        * Shared/WebPreferencesStore.h:
1903        (WebKit):
1904
19052012-05-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1906
1907        [Qt] Implement fit-to-width behaviour
1908        https://bugs.webkit.org/show_bug.cgi?id=86085
1909
1910        Reviewed by Simon Hausmann.
1911
1912        We don't restrict the minimum scale to the layout viewport anymore,
1913        but instead update the minimum scale when the content size changes.
1914
1915        * UIProcess/API/qt/qquickwebview.cpp:
1916        (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
1917        (QQuickWebViewFlickablePrivate::didChangeContentsSize):
1918        * UIProcess/API/qt/qwebviewportinfo.cpp:
1919        (QWebViewportInfo::minimumScale):
1920        (QWebViewportInfo::maximumScale):
1921        * UIProcess/qt/QtViewportInteractionEngine.h:
1922        (QtViewportInteractionEngine):
1923
19242012-05-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1925
1926        WebPageProxy::activeURL() should return the pending API request, even when there's no main frame
1927        https://bugs.webkit.org/show_bug.cgi?id=85806
1928
1929        The m_pendingAPIRequestURL member is used (presumably) to mask over the async
1930        nature of WebKit2, so that starting a load of a URL will reflect that URL
1931        immedeatly from activeURL, even if the request has not been passed over to
1932        the web process yet and reflected there.
1933
1934        This works well, except in the case of the initial request, where the main
1935        frame creation happens on the web process side and is notified back to the
1936        UI process. Until we've recived the notification we don't know about the main
1937        frame, and this race condition will potentially give us an empty url instead
1938        of the pending request.
1939
1940        To solve this we always return the pending API request if it's set, even
1941        when there's no mainframe yet (that we known about).
1942
1943        Reviewed by Simon Hausmann.
1944
1945        * UIProcess/WebPageProxy.cpp:
1946
19472012-05-09  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1948
1949        Move suspendAnimations to use Internals interface.
1950        https://bugs.webkit.org/show_bug.cgi?id=85986
1951
1952        Reviewed by Ryosuke Niwa.
1953
1954        * win/WebKit2.def: Add a symbol filter for suspendAnimations.
1955
19562012-05-09  Carlos Garcia Campos  <cgarcia@igalia.com>
1957
1958        [GTK] Split WebKit2 Makefile moving source code listings to GNUmakefile.list.am
1959        https://bugs.webkit.org/show_bug.cgi?id=85985
1960
1961        Reviewed by Gustavo Noronha Silva.
1962
1963        * GNUmakefile.am:
1964        * GNUmakefile.list.am: Copied from Source/WebKit2/GNUmakefile.am.
1965
19662012-05-09  Carlos Garcia Campos  <cgarcia@igalia.com>
1967
1968        [GTK] Use independent version numbers for public libraries
1969        https://bugs.webkit.org/show_bug.cgi?id=85984
1970
1971        Reviewed by Gustavo Noronha Silva.
1972
1973        * GNUmakefile.am: Use LIBWEBKIT2GTK_VERSION for library version.
1974
19752012-05-09  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
1976
1977        [Qt] Tap-to-zoom zooms to wrong area.
1978        https://bugs.webkit.org/show_bug.cgi?id=85982
1979
1980        Reviewed by Kenneth Rohde Christiansen.
1981
1982        Fix computation and take more care when to use CSS scale and when to use Item scale.
1983
1984        * UIProcess/qt/QtViewportInteractionEngine.cpp:
1985        (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
1986
19872012-05-09  Zalan Bujtas  <zbujtas@gmail.com>
1988
1989        [Qt][WK2] Define clear split between QtWebPageLoadClient and QQuickWebViewPrivate for loading tasks.
1990        https://bugs.webkit.org/show_bug.cgi?id=84527#c3
1991
1992        Reviewed by Simon Hausmann.
1993
1994        Moving loading related code and signal emission from QtWebPageLoadClient to QQuickWebViewPrivate.
1995        It puts the loading code that implements an API right where the API is defined, including
1996        signal emission as well as translation of WebPageProxy internals to public Qt API with correct types.
1997
1998        * UIProcess/API/qt/qquickwebview.cpp:
1999        (QQuickWebViewPrivate::QQuickWebViewPrivate):
2000        (QQuickWebViewPrivate::provisionalLoadDidStart):
2001        (QQuickWebViewPrivate::loadDidCommit):
2002        (QQuickWebViewPrivate::didSameDocumentNavigation):
2003        (QQuickWebViewPrivate::titleDidChange):
2004        (QQuickWebViewPrivate::loadProgressDidChange):
2005        (QQuickWebViewPrivate::backForwardListDidChange):
2006        (QQuickWebViewPrivate::loadDidFail):
2007        (QQuickWebViewPrivate::processDidCrash):
2008        (QQuickWebView::loadProgress):
2009        * UIProcess/API/qt/qquickwebview_p_p.h:
2010        (WebKit):
2011        (QQuickWebViewPrivate):
2012        (QQuickWebViewPrivate::didChangeViewportProperties):
2013        (QQuickWebViewPrivate::loadProgress):
2014        (QQuickWebViewFlickablePrivate):
2015        * UIProcess/qt/QtWebError.cpp:
2016        (WebKit::QtWebError::isCancellation):
2017        (WebKit):
2018        * UIProcess/qt/QtWebError.h:
2019        * UIProcess/qt/QtWebPageLoadClient.cpp:
2020        (WebKit::QtWebPageLoadClient::QtWebPageLoadClient):
2021        (WebKit):
2022        (WebKit::QtWebPageLoadClient::didStartProvisionalLoad):
2023        (WebKit::QtWebPageLoadClient::didCommitLoad):
2024        (WebKit::QtWebPageLoadClient::didSameDocumentNavigation):
2025        (WebKit::QtWebPageLoadClient::didReceiveTitle):
2026        (WebKit::QtWebPageLoadClient::didChangeProgress):
2027        (WebKit::QtWebPageLoadClient::didChangeBackForwardList):
2028        (WebKit::QtWebPageLoadClient::dispatchLoadFailed):
2029        (WebKit::QtWebPageLoadClient::didFailProvisionalLoadWithErrorForFrame):
2030        (WebKit::QtWebPageLoadClient::didFailLoadWithErrorForFrame):
2031        (WebKit::QtWebPageLoadClient::didStartProgress):
2032        (WebKit::QtWebPageLoadClient::didFinishProgress):
2033        * UIProcess/qt/QtWebPageLoadClient.h:
2034        (WebKit):
2035        (QtWebPageLoadClient):
2036
20372012-05-09  Zalan Bujtas  <zbujtas@gmail.com>
2038
2039        [Qt][WK2] Remove delayed loadDidSucceed() signaling and m_deferedUrlToLoad from QQuickWebViewPrivate
2040        https://bugs.webkit.org/show_bug.cgi?id=85906
2041
2042        Reviewed by Kenneth Rohde Christiansen.
2043
2044        Deferred loading activies were introduced to work around the delayed Flickable construction
2045        at onComponentComplete(). QQuickWebView inherits from QQuickFlickable now,
2046        so no need for the workaround anymore.
2047
2048        * UIProcess/API/qt/qquickwebview.cpp:
2049        (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
2050        (QQuickWebViewFlickablePrivate::onComponentComplete):
2051        (QQuickWebView::setUrl):
2052        (QQuickWebView::componentComplete):
2053        * UIProcess/API/qt/qquickwebview_p_p.h:
2054        (QQuickWebViewPrivate::onComponentComplete):
2055        (QQuickWebViewPrivate):
2056        (QQuickWebViewFlickablePrivate):
2057
20582012-05-08  Jon Lee  <jonlee@apple.com>
2059
2060        Unreviewed build fix.
2061
2062        * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.h:
2063        (LayerTreeHostCAWin):
2064
20652012-05-08  Anders Carlsson  <andersca@apple.com>
2066
2067        DrawingAreaProxyImpl doesn't work with window server hosting
2068        https://bugs.webkit.org/show_bug.cgi?id=85947
2069        <rdar://problem/11213718>
2070
2071        Reviewed by Andreas Kling.
2072
2073        * UIProcess/DrawingAreaProxyImpl.cpp:
2074        (WebKit::DrawingAreaProxyImpl::updateAcceleratedCompositingMode):
2075        Update the layer tree context and call WebPage::updateAcceleratedCompositingMode.
2076
2077        * WebProcess/WebPage/DrawingAreaImpl.cpp:
2078        (WebKit::DrawingAreaImpl::setLayerHostingMode):
2079        If setting the layer hosting mode changed the layer tree context, send back an UpdateAcceleratedCompositingMode message
2080        with the new context.
2081
2082        * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
2083        (WebKit::LayerTreeHostCA::initialize):
2084        platformInitialize no longer takes a context.
2085
2086        * WebProcess/WebPage/ca/LayerTreeHostCA.h:
2087        (LayerTreeHostCA):
2088        Make m_layerTreeContext protected instead.
2089
2090        * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
2091        * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
2092        (WebKit::LayerTreeHostCAMac::platformInitialize):
2093        Assign to m_layerTreeContext directly.
2094
2095        (WebKit::LayerTreeHostCAMac::setLayerHostingMode):
2096        Set m_layerTreeContext.contextID.
2097
2098        * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp:
2099        (WebKit::LayerTreeHostCAWin::platformInitialize):
2100        Assign to m_layerTreeContext directly.
2101
21022012-05-08  Jon Lee  <jonlee@apple.com>
2103
2104        Safari warns that it needs to resend the form in an iFrame when going back
2105        https://bugs.webkit.org/show_bug.cgi?id=82658
2106        <rdar://problem/11292558>
2107
2108        Reviewed by Darin Adler.
2109
2110        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
2111        (InitWebCoreSystemInterface): Add wkCFURLRequestAllowAllPostCaching.
2112
21132012-05-08  Anders Carlsson  <andersca@apple.com>
2114
2115        Can't scroll PDF in subframe
2116        https://bugs.webkit.org/show_bug.cgi?id=85932
2117        <rdar://problem/11405527>
2118
2119        Reviewed by Sam Weinig.
2120
2121        * WebProcess/Plugins/PDF/BuiltInPDFView.h:
2122        * WebProcess/Plugins/PDF/BuiltInPDFView.mm:
2123        (WebKit::BuiltInPDFView::updateScrollbars):
2124        Trigger a layout when scrollbars come and go so the non fast scrollable region gets recomputed.
2125
2126        (WebKit::BuiltInPDFView::scrollableAreaBoundingBox):
2127        Implement this by calling out to the PluginView.
2128
21292012-05-06  Jon Lee  <jonlee@apple.com>
2130
2131        [WK2] Push wheel events if there are too many in queue
2132        https://bugs.webkit.org/show_bug.cgi?id=85747
2133        <rdar://problem/11390790>
2134
2135        Reviewed by Anders Carlsson.
2136
2137        It is possible that a whole bunch of messages added to the message queue, or a series
2138        of long-running messages, cause unresponsiveness. The reason for this is that we have
2139        a scroll event waiting for acknowledgment from the web process before it sends the next
2140        event. And in the time between the user has scrolled, causing a large backlog of scroll
2141        events to be held in the UI process.
2142
2143        We should push new scroll events if the queue accumulates too many of them.
2144
2145        * UIProcess/WebPageProxy.h: The vector m_currentlyProcessedWheelEvents used to hold the
2146        series of wheel events that were coalesced and sent as a single wheel event to the web
2147        process. When the web process acknowledges this with didReceiveEvent, the UI process
2148        cleared that vector, then tried to coalesce the next wheel event to send. Now we might have
2149        multiple sets of coalesced wheel events that we are sending to the web process. To keep
2150        track of these sets, m_currentlyProcessedWheelEvents now is a queue of Vectors.
2151        (WebPageProxy):
2152        * UIProcess/WebPageProxy.cpp: Add new constant wheelEventQueueSizeThreshold representing
2153        the threshold of scroll events to look for before we start pushing events.
2154        (WebKit::canCoalesce): Move static function so that handleWheelEvent() has access. No changes.
2155        (WebKit::coalesce): Move static function so that handleWheelEvent() has access. No changes.
2156        (WebKit::coalescedWheelEvent): Move static function so that handleWheelEvent() has access. No changes.
2157        (WebKit::WebPageProxy::handleWheelEvent): If we are currently waiting for acknowledgment
2158        from the web process that a wheel event has been handled, we add it to the queue. We
2159        check to see that the queue size is within our threshold before we return early. Otherwise
2160        we will start pushing events in the queue. Refactor the rest of the function into
2161        processNextQueuedWheelEvent() and sendWheelEvent(). If we are not currently waiting for
2162        acknowledgment, nor have events in the queue, then we send the current wheel event.
2163        (WebKit::WebPageProxy::processNextQueuedWheelEvent): Try to coalesce events based on the
2164        wheel event at the head of the queue, and send that event to the web process.
2165        (WebKit::WebPageProxy::sendWheelEvent): Refactored from handleWheelEvent().
2166        (WebKit::WebPageProxy::didReceiveEvent): Instead of clearing m_currentlyProcessedWheelEvents,
2167        which contained the set of one coalesced wheel event, we pull the head Vector, which
2168        contains the same set of events. Refactor to use processNextQueuedWheelEvent().
2169
21702012-05-08  Timothy Hatcher  <timothy@apple.com>
2171
2172        Fix the SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL macro so it passes the full path to dlopen.
2173
2174        <rdar://problem/11406517>
2175
2176        Reviewed by Mark Rowe.
2177
2178        * UIProcess/mac/WebInspectorProxyMac.mm: Pass A to SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL for the version.
2179        * WebProcess/WebPage/mac/WebInspectorMac.mm: Ditto.
2180
21812012-05-08  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
2182
2183        [WK2] Integrate Page Visibility state change and WK2 Suspend/Resume API
2184        https://bugs.webkit.org/show_bug.cgi?id=85650
2185
2186        Reviewed by Kenneth Rohde Christiansen.
2187
2188        This patch uses state changes of the Page Visibility API to trigger the
2189        automatic suspension/resume of animations on the WebPage and its main frame,
2190        in the same fashion of what is used by the Suspend/Resume API of WebKit2.
2191        By telling the WebPage it will move off/on the screen and the FrameView to
2192        hide/show, this patch is suspending/resuming animations (animated painting)
2193        but not timers and other active DOM objects.
2194
2195        * WebProcess/WebPage/WebPage.cpp:
2196        (WebKit::WebPage::setVisibilityState):
2197
21982012-05-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2199
2200        [Qt] Add QML/WK2 evaluateJavaScript experimental API
2201        https://bugs.webkit.org/show_bug.cgi?id=85496
2202
2203        Reviewed by Simon Hausmann.
2204
2205        This is an initial patch adding support for strings,
2206        numbers and bools as return values.
2207
2208        Test: qmltests/WebView/tst_evaluateJavaScript.qml
2209
2210        * UIProcess/API/qt/qquickwebview.cpp:
2211        (JSCallbackClosure):
2212        (toQString):
2213        (toQJSValue):
2214        (buildQJSValue):
2215        (javaScriptCallback):
2216        (QQuickWebViewExperimental::evaluateJavaScript):
2217        (QQuickWebView::runJavaScriptInMainFrame):
2218        * UIProcess/API/qt/qquickwebview_p.h:
2219        * UIProcess/API/qt/tests/qmltests/WebView/tst_evaluateJavaScript.qml: Added.
2220
22212012-05-07  Alexis Menard  <alexis.menard@openbossa.org>
2222
2223        [Qt] Unbreak debugging of WebKit2.
2224        https://bugs.webkit.org/show_bug.cgi?id=85839
2225
2226        Reviewed by Simon Hausmann.
2227
2228        When you attach GDB to a running process, it stops it.
2229        http://trac.webkit.org/changeset/115958 introduced a pause()
2230        call to wait the debugger to be attached to then continue
2231        the execution of the WebProcess. Unfortunately the pause()
2232        function does not return unless a signal handler is called.
2233        This patch introduce an event handler to exit from the paused
2234        state when the debugger send the signal SIGCONT. The old code
2235        works with older version of GDB (<7.0) but not with newer
2236        versions where the behavior of pause() is correct.
2237
2238        * qt/MainQt.cpp:
2239        (sigcontHandler):
2240        (main):
2241
22422012-05-07  Julien Chaffraix  <jchaffraix@webkit.org>
2243
2244        Refactor windowClipRectForLayer to remove the explicit RenderLayer dependency
2245        https://bugs.webkit.org/show_bug.cgi?id=84090
2246
2247        Reviewed by David Hyatt.
2248
2249        * WebProcess/Plugins/PluginView.cpp:
2250        (WebKit::PluginView::clipRectInWindowCoordinates):
2251        Updated after windowClipRectForLayer name and signature change.
2252
22532012-05-07  Andy Estes  <aestes@apple.com>
2254
2255        ENABLE_IFRAME_SEAMLESS should be part of FEATURE_DEFINES.
2256
2257        * Configurations/FeatureDefines.xcconfig:
2258
22592012-05-07  Eric Seidel  <eric@webkit.org>
2260
2261        Add ENABLE_IFRAME_SEAMLESS so Apple can turn off SEAMLESS if needed
2262        https://bugs.webkit.org/show_bug.cgi?id=85822
2263
2264        Reviewed by Adam Barth.
2265
2266        * Configurations/FeatureDefines.xcconfig:
2267
22682012-05-07  Alexis Menard  <alexis.menard@openbossa.org>
2269
2270        Unreviewed Qt build fix in Debug.
2271
2272        We need some system includes here for getpid() to be recognized.
2273
2274        * qt/MainQt.cpp:
2275
22762012-05-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2277
2278        Unreviewed, rolling out r116299, r116301, and r116303.
2279        http://trac.webkit.org/changeset/116299
2280        http://trac.webkit.org/changeset/116301
2281        http://trac.webkit.org/changeset/116303
2282        https://bugs.webkit.org/show_bug.cgi?id=85795
2283
2284        Build is still broken (Requested by Ossy on #webkit).
2285
2286        * qt/MainQt.cpp:
2287        (main):
2288
22892012-05-07  Balazs Kelemen  <kbalazs@webkit.org>
2290
2291        [Qt] Add test specific platform plugin to achieve unified layout test results
2292        https://bugs.webkit.org/show_bug.cgi?id=80996
2293
2294        Reviewed by Simon Hausmann.
2295
2296        Initialize the test platform plugin before initializing
2297        the web process if we are in a WTR run.
2298        It is necessary to place this initialization here as we
2299        cannot control wich platform plugin will be used after
2300        the instantiation of the QApplication.
2301
2302        * qt/MainQt.cpp:
2303        (initializeTestPlatformPluginForWTRIfRequired):
2304        (main):
2305
23062012-05-06  MORITA Hajime  <morrita@google.com>
2307
2308        https://bugs.webkit.org/show_bug.cgi?id=85265
2309        [Shadow DOM] ShadowTree needs a better name
2310
2311        Reviewed by Dimitri Glazkov.
2312
2313        * win/WebKit2.def: Updated exported symbol names according to the rename.
2314        * win/WebKit2CFLite.def: Updated exported symbol names according to the rename.
2315
23162012-05-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2317
2318        Convert isPageBoxVisible to use Internals interface.
2319        https://bugs.webkit.org/show_bug.cgi?id=85692
2320
2321        Reviewed by Darin Adler.
2322
2323        * win/WebKit2.def: Add isPageBoxVisible symbol filter.
2324
23252012-05-05  Dean Jackson  <dino@apple.com>
2326
2327        Add new Setting/Preference to disable requestAnimationFrame
2328        https://bugs.webkit.org/show_bug.cgi?id=85693
2329
2330        Reviewed by Simon Fraser.
2331
2332        Exposes a new WebPreference: WebKitRequestAnimationFrameEnabled.
2333        The default value is true. The majority of applications will leave
2334        it this way.
2335
2336        * Shared/WebPreferencesStore.h:
2337        (WebKit):
2338        * UIProcess/API/C/WKPreferences.cpp:
2339        (WKPreferencesSetRequestAnimationFrameEnabled):
2340        (WKPreferencesGetRequestAnimationFrameEnabled):
2341        * UIProcess/API/C/WKPreferencesPrivate.h:
2342        * WebProcess/WebPage/WebPage.cpp:
2343        (WebKit::WebPage::updatePreferences):
2344
23452012-05-04  Jon Lee  <jonlee@apple.com>
2346
2347        [WK2] Incoming events may be processed out-of-order
2348        https://bugs.webkit.org/show_bug.cgi?id=85696
2349        <rdar://problem/11386129>
2350
2351        Reviewed by Maciej Stachowiak.
2352
2353        All messages go to a single queue that gets iterated over by dispatchMessages(). If an input
2354        event arrives in the middle of a flood of messages, all of them will be dispatched before the
2355        input event is dispatched.
2356
2357        In other words, the first dispatchMessages() call will process all of the messages in the queue,
2358        and all subsequent dispatchMessages() calls will act as no-ops, since there is nothing in the queue.
2359
2360        To fix this, we rename dispatchMessages to dispatchOneMessage, and only process one message at a
2361        time.
2362
2363        * Platform/CoreIPC/Connection.h: Rename dispatchMessages() to dispatchOneMessage().
2364        * Platform/CoreIPC/Connection.cpp:
2365        (CoreIPC::Connection::enqueueIncomingMessage): Dispatch a call to dispatchOneMessage() on the
2366        run loop.
2367        (CoreIPC::Connection::dispatchOneMessage): Remove the while(true) loop.
2368
23692012-05-04  Gustavo Noronha Silva  <gns@gnome.org>
2370
2371        [GTK] Simplify how libWebCoreModules is linked in, and fix WebKit2 build
2372        https://bugs.webkit.org/show_bug.cgi?id=85691
2373
2374        * GNUmakefile.am: no longer link libWebCoreModules, and remove -no-
2375        fast-install and -no-install from link flags, since we want those
2376        programs installed.
2377
23782012-05-04  Mark Rowe  <mrowe@apple.com>
2379
2380        Fix a leak in WebProcess when it is used to launch the UI process.
2381
2382        Rubber-stamped by Anders Carlsson.
2383
2384        * WebProcess/mac/WebProcessMainMac.mm:
2385        (WebKit::WebProcessMain): Destory the attributes and file actions after
2386        spawning the subprocess.
2387
23882012-05-02  Jer Noble  <jer.noble@apple.com>
2389
2390        Flash of white when exiting full screen HTML5 video
2391        https://bugs.webkit.org/show_bug.cgi?id=85438
2392
2393        Reviewed by Maciej Stachowiak.
2394
2395        Force a repaint before displaying the newly exited WebView window.  This gives the window
2396        a chance to seamlessly repaint before enabling screen updates.
2397
2398        Also, send the WebProcess the didExitFullScreen and setAnimatingFullScreen(false) messages
2399        after swapping the WebView back into its original window. Doing otherwise seems to cause
2400        forceRepaint to paint a white frame.
2401
2402        * UIProcess/mac/WKFullScreenWindowController.mm:
2403        (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
2404        (-[WKFullScreenWindowController completeFinishExitFullScreenAnimationAfterRepaint]):
2405        (completeFinishExitFullScreenAnimationAfterRepaint):
2406
24072012-05-04  Anders Carlsson  <andersca@apple.com>
2408
2409        Set the right device scale factor when creating the web page
2410        https://bugs.webkit.org/show_bug.cgi?id=85667
2411        <rdar://problem/11376611>
2412
2413        Reviewed by Oliver Hunt.
2414
2415        * UIProcess/API/mac/WKView.mm:
2416        (-[WKView initWithFrame:contextRef:pageGroupRef:]):
2417        Set the scale factor before initializing the page, to ensure that the WebPageCreationParameters struct gets the right scale factor.
2418
2419        * UIProcess/WebPageProxy.cpp:
2420        (WebKit::WebPageProxy::setIntrinsicDeviceScaleFactor):
2421        This can now be called with a null drawing area. Also, remove the isValid() check since we still want to update the scale factor even if the web process has crashed.
2422
2423        * WebProcess/WebPage/WebPage.cpp:
2424        (WebKit::WebPage::WebPage):
2425        Set the device scale factor from the creation parameters.
2426
24272012-05-02  Jer Noble  <jer.noble@apple.com>
2428
2429        Taking a visibility:hidden element full screen causes full screen window to disappear.
2430        https://bugs.webkit.org/show_bug.cgi?id=85432
2431
2432        Reviewed by Maciej Stachowiak.
2433
2434        When given an initial or final frame with a zero width or height, return a rect representing
2435        the entire screen, rather than a rect with a zero or infinite size. Doing otherwise will
2436        confuse the window server when it's instructed to scale the full screen window to that size.
2437
2438        * UIProcess/mac/WKFullScreenWindowController.mm:
2439        (windowFrameFromApparentFrames):
2440
24412012-04-30  Jer Noble  <jer.noble@apple.com>
2442
2443        Full screen will exit during a provisional load of a non-ancestor iframe.
2444        https://bugs.webkit.org/show_bug.cgi?id=85230
2445
2446        Reviewed by Maciej Stachowiak .
2447
2448        Only exit full screen mode if the frame being loaded contains the full 
2449        screen element:
2450        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2451        (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
2452
2453        Move the full screen exiting logic up into WebFrameLoaderClient in the
2454        WebProcess:
2455        * UIProcess/WebPageProxy.cpp:
2456        (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
2457
2458        Add a WebFullScreenManager "close" method & message:
2459        * UIProcess/WebFullScreenManagerProxy.messages.in:
2460        * WebProcess/FullScreen/WebFullScreenManager.cpp:
2461        (WebKit::WebFullScreenManager::close):
2462        * WebProcess/FullScreen/WebFullScreenManager.h:
2463
2464        Add support for this new message to the WKBundlePage and client:
2465        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2466        * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.cpp:
2467        (WebKit::InjectedBundlePageFullScreenClient::closeFullScreen):
2468        * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h:
2469
24702012-05-04  Anders Carlsson  <andersca@apple.com>
2471
2472        TiledCoreAnimationDrawingArea should handle visibility changes
2473        https://bugs.webkit.org/show_bug.cgi?id=85645
2474        <rdar://problem/11247192>
2475
2476        Reviewed by Oliver Hunt.
2477
2478        Replicate the visibility handling logic from DrawingAreaImpl and LayerTreeHostCAMac.
2479
2480        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
2481        (TiledCoreAnimationDrawingAreaProxy):
2482        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
2483        (WebKit::TiledCoreAnimationDrawingAreaProxy::visibilityDidChange):
2484        (WebKit):
2485        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2486        (TiledCoreAnimationDrawingArea):
2487        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2488        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
2489        (WebKit::TiledCoreAnimationDrawingArea::suspendPainting):
2490        (WebKit):
2491        (WebKit::TiledCoreAnimationDrawingArea::resumePainting):
2492
24932012-05-04  Nate Chapin  <japhet@chromium.org>
2494
2495        Don't require FrameLoaderClient to manufacture a commitData() call for empty documents.
2496        https://bugs.webkit.org/show_bug.cgi?id=85533
2497
2498        Reviewed by Alexey Proskuryakov.
2499
2500        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2501        (WebKit::WebFrameLoaderClient::finishedLoading):
2502
25032012-05-04  Kent Hansen <kent.hansen@nokia.com>
2504
2505        [Qt] Update Qt bridge after changes to QMetaMethod
2506        https://bugs.webkit.org/show_bug.cgi?id=85478
2507
2508        Reviewed by Tor Arne Vestbø.
2509
2510        QMetaMethod::signature() has been renamed to methodSignature() and
2511        returns a QByteArray.
2512
2513        The new function QMetaMethod::name() gives direct access to a
2514        method's name. returnType(), parameterCount(), and parameterType()
2515        give direct access to type information.
2516
2517        Ported the custom QtConnectionObject meta-object to revision 7;
2518        revision 6 and below aren't supported (and don't compile) with Qt5.
2519
2520        * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2521        (gatherAPI):
2522
25232012-05-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2524
2525        [Qt] Don't pass viewport-create function to quick_test_main.
2526        https://bugs.webkit.org/show_bug.cgi?id=85478
2527
2528        Reviewed by Csaba Osztrogonác.
2529
2530        * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
2531        (main):
2532
25332012-05-04  Csaba Osztrogonác  <ossy@webkit.org>
2534
2535        [Qt] Buildfix for newer Qt5
2536        https://bugs.webkit.org/show_bug.cgi?id=85478
2537
2538        Reviewed by Tor Arne Vestbø.
2539
2540        * Shared/qt/ProcessExecutablePathQt.cpp:
2541        (WebKit::executablePath):
2542        * UIProcess/API/qt/qwebiconimageprovider_p.h:
2543
25442012-05-03  Alexis Menard  <alexis.menard@openbossa.org>
2545
2546        [Qt] Enable fullscreen API for WebKit2.
2547        https://bugs.webkit.org/show_bug.cgi?id=85498
2548
2549        Reviewed by Simon Hausmann.
2550
2551        Enable the fullscreen API for Qt port. It is only
2552        supported on WebKit2. It adds experimental settings
2553        to enable it and also add two experimental signals so
2554        the API user can react when the fullscreen is requested
2555        (e.g hide the urlbar of a browser and change the state
2556        of the window to be fullscreen).
2557
2558        * UIProcess/API/qt/qquickwebview.cpp:
2559        (QQuickWebViewPrivate::initialize):
2560        * UIProcess/API/qt/qquickwebview_p.h:
2561        * UIProcess/API/qt/qwebpreferences.cpp:
2562        (QWebPreferencesPrivate::testAttribute):
2563        (QWebPreferencesPrivate::setAttribute):
2564        (QWebPreferences::fullScreenEnabled):
2565        (QWebPreferences::setFullScreenEnabled):
2566        * UIProcess/API/qt/qwebpreferences_p.h:
2567        * UIProcess/API/qt/qwebpreferences_p_p.h:
2568        * UIProcess/WebFullScreenManagerProxy.h:
2569        (WebKit):
2570        * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
2571        (WebKit::WebFullScreenManagerProxy::enterFullScreen):
2572        (WebKit::WebFullScreenManagerProxy::exitFullScreen):
2573
25742012-05-04  Simon Hausmann  <simon.hausmann@nokia.com>
2575
2576        [Qt] Images are scaled badly in WebKit2
2577        https://bugs.webkit.org/show_bug.cgi?id=85610
2578
2579        Reviewed by Jocelyn Turcotte.
2580
2581        Enable smooth pixmap transforms for WK2 bitmaps.
2582
2583        * Shared/qt/ShareableBitmapQt.cpp:
2584        (WebKit::ShareableBitmap::createGraphicsContext):
2585
25862012-05-03  Ojan Vafai  <ojan@chromium.org>
2587
2588        Histogram total allocated bytes in the arena in addition to the render tree size
2589        https://bugs.webkit.org/show_bug.cgi?id=85537
2590
2591        Reviewed by Eric Seidel.
2592
2593        * WebProcess/WebPage/WebPage.cpp:
2594        (WebKit::WebPage::renderTreeSize):
2595
25962012-05-03  Raphael Kubo da Costa  <rakuco@webkit.org>
2597
2598        [CMake] Rewrite FindCairo.cmake.
2599        https://bugs.webkit.org/show_bug.cgi?id=84895
2600
2601        Reviewed by Daniel Bates.
2602
2603        The old approach relied on pkg-config for finding Cairo (which
2604        introduced a dependency on pkg-config that could be avoided), used
2605        the LibFindMacros code that we should probably remove in the
2606        future and did not use the FindPackageHandleStandardArguments
2607        module.
2608
2609        Change all that by rewriting the module.
2610        - Use the pkg-config output optionally instead of requiring it
2611        like LibFindMacros did.
2612        - Remove the implicit dependency on FreeType which often found it
2613        the wrong way via pkg-config and without considering
2614        CMAKE_PREFIX_PATH.
2615        - Retrieve the Cairo version by looking at cairo-version.h instead
2616        of relying on pkg-config. It requires some additional code for
2617        checking if the desired version has been found, but that will not
2618        be needed once we start depending on CMake 2.8.3 or later.
2619
2620        The only downside is that FPHSA sets <UPPERCASED_NAME>_FOUND
2621        instead of <Name>_FOUND, and to keep things consistent
2622        Cairo_LIBRARIES and Cairo_INCLUDE_DIRS have become CAIRO_LIBRARIES
2623        and CAIRO_INCLUDE_DIRS.
2624
2625        * PlatformEfl.cmake: Use CAIRO_FOO instead of Cairo_FOO.
2626
26272012-05-03  Tobias Netzel  <tobias.netzel@googlemail.com>
2628
2629        Bugs in WebFullScreenController
2630        https://bugs.webkit.org/show_bug.cgi?id=85388
2631
2632        Reviewed by Alexey Proskuryakov.
2633
2634        Leopard specific fixes:
2635        NSWindow doesn't respond to isOnActiveSpace so find out first.
2636        Values passed to SetSystemUIMode were swapped.
2637
2638        * UIProcess/mac/WKFullScreenWindowController.mm:
2639        (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]):
2640        (-[WKFullScreenWindowController _updateMenuAndDockForFullScreen]):
2641
26422012-04-18  Jon Honeycutt  <jhoneycutt@apple.com>
2643
2644        WebFrameLoaderClient::dispatchWillSendSubmitEvent() needs to be
2645        implemented for WebKit2
2646        https://bugs.webkit.org/show_bug.cgi?id=84304
2647
2648        Reviewed by Jessie Berlin.
2649
2650        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2651        Declare willSendSubmitEvent on WKBundlePageFormClient.
2652
2653        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp:
2654        (WebKit::InjectedBundlePageFormClient::willSendSubmitEvent):
2655        From the String pair vector, create a map from control name to value.
2656        Call the client's willSendSubmitEvent.
2657
2658        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
2659        Declare willSendSubmitEvent.
2660
2661        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2662        (WebKit::WebFrameLoaderClient::dispatchWillSendSubmitEvent):
2663        Call the injected bundle form client's willSendSubmitEvent.
2664
2665        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2666        Un-stub willSendSubmitEvent.
2667
2668        * Shared/APIClientTraits.cpp:
2669        (WebKit):
2670        Set the interface sizes for WKBundlePageFormClient; version 1 includes
2671        willSendSubmitEvent.
2672
2673        * Shared/APIClientTraits.h:
2674        Declare a specialization for WKBundlePageFormClient.
2675
2676        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2677        Bump the WKBundlePageFormClient version number.
2678
26792012-05-03  Fady Samuel  <fsamuel@chromium.org>
2680
2681        Removing line in computeViewportAttributes that enforces a minimum scale factor to never allow zooming out more than viewport
2682        https://bugs.webkit.org/show_bug.cgi?id=70609
2683
2684        Reviewed by Kenneth Rohde Christiansen.
2685
2686        * UIProcess/API/qt/qwebviewportinfo.cpp:
2687        (QWebViewportInfo::layoutSize):
2688        * WebProcess/WebPage/WebPage.cpp:
2689        (WebKit::WebPage::sendViewportAttributesChanged):
2690        (WebKit::WebPage::viewportConfigurationAsText):
2691
26922012-05-03  Michael Brüning  <michael.bruning@nokia.com>
2693
2694        [Qt][WK2] Also update Qt::ImEnabled flag when updating the input method.
2695        https://bugs.webkit.org/show_bug.cgi?id=85495
2696
2697        Reviewed by Simon Hausmann.
2698
2699        QInputMethod only issues a new inputMethodQuery if the Qt::ImEnabled
2700        flag got updated as well.
2701
2702        * UIProcess/qt/QtWebPageEventHandler.cpp:
2703        (WebKit::QtWebPageEventHandler::updateTextInputState):
2704        (WebKit::QtWebPageEventHandler::doneWithGestureEvent):
2705
27062012-05-03  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2707
2708        [Qt] Tap-highlight blinks when activated.
2709        https://bugs.webkit.org/show_bug.cgi?id=85481
2710
2711        Reviewed by Kenneth Rohde Christiansen.
2712
2713        Set the opacity on the page-overlay the first time it is requested to be drawn. Otherwiser
2714        it will start fully opaque before fading in.
2715
2716        * WebProcess/WebPage/PageOverlay.cpp:
2717        (WebKit::PageOverlay::setNeedsDisplay):
2718
27192012-05-03  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2720
2721        Document the QML WebViewExperimental API devicePixelRatio.
2722
2723        Rubberstamped by Simon Hausmann.
2724
2725        * UIProcess/API/qt/qquickwebview.cpp:
2726
27272012-05-03  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2728
2729        [Qt] Allow the web process and WTR to be paused on startup
2730
2731        Makes it easier to debug the web process or run-webkit-tests -2, as you
2732        have ample time to attach gdb to the process.
2733
2734        Reviewed by Simon Hausmann.
2735
2736        * WebProcess/qt/WebProcessMainQt.cpp:
2737        (WebKit::WebProcessMainQt):
2738        * qt/MainQt.cpp:
2739        (main):
2740
27412012-05-03  Alexander Færøy  <ahf@0x90.dk>
2742
2743        Rename deviceDPI to devicePixelRatio
2744        https://bugs.webkit.org/show_bug.cgi?id=85049
2745
2746        Reviewed by Kenneth Rohde Christiansen.
2747
2748        This patch fixes an API test regression from r115948 in
2749        tst_QQuickWebView::scrollRequest() by setting the device pixel ratio
2750        for the test WebView to 1.5.
2751
2752        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2753        (tst_QQuickWebView::newWebView):
2754
27552012-05-03  Stephanie Lewis  <slewis@apple.com>
2756
2757        https://bugs.webkit.org/show_bug.cgi?id=85450 unbounded growth of JSDOMWindowShells loading pages in the same window
2758        <rdar://problem/11320059> REGRESSION (r115083): PLT3 shows linear memory growth and gets slower with each run
2759
2760        Reviewed by Brady Eidson.
2761
2762        The API added for DOMWindowExtension, didCreateGlobalObjectForFrame, would create a global object
2763        for every world, even those that did not need the callback.  This had the side effect of creating a
2764        JSDOMWindowShell that the associated world didn't necessarily know to clean up.  Instead of creating
2765        unnecessary objects change the API to globalObjectIsAvailableForFrame and do not pass the global object
2766        in the API.  The object can be accessed later by those worlds which require it.
2767
2768        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
2769        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
2770        (WebKit::InjectedBundlePageLoaderClient::globalObjectIsAvailableForFrame): rename API and remove globalObject parameter
2771        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
2772        (InjectedBundlePageLoaderClient): ditto
2773        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2774        (WebKit::WebFrameLoaderClient::dispatchGlobalObjectAvailable): ditto
2775
27762012-05-02  Alexander Færøy  <ahf@0x90.dk>
2777
2778        Rename deviceDPI to devicePixelRatio
2779        https://bugs.webkit.org/show_bug.cgi?id=85049
2780
2781        Reviewed by Kenneth Rohde Christiansen.
2782
2783        Add experimental QML API to set and get the device pixel ratio.
2784
2785        * Shared/WebPreferencesStore.h:
2786        (WebKit):
2787        * UIProcess/API/qt/qquickwebview.cpp:
2788        (QQuickWebViewFlickablePrivate::updateViewportSize):
2789        (QQuickWebViewExperimental::devicePixelRatio):
2790        (QQuickWebViewExperimental::setDevicePixelRatio):
2791        * UIProcess/API/qt/qquickwebview_p.h:
2792        * WebProcess/WebPage/WebPage.cpp:
2793        (WebKit::WebPage::sendViewportAttributesChanged):
2794        (WebKit::WebPage::updatePreferences):
2795
27962012-05-02  Jon Lee  <jonlee@apple.com>
2797
2798        Migrate permission functions to Notification from NotificationCenter
2799        https://bugs.webkit.org/show_bug.cgi?id=80485
2800        <rdar://problem/10965458>
2801
2802        Reviewed by Jian Li.
2803
2804        * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
2805        (WebKit::NotificationPermissionRequestManager::startRequest): Add version to support both kinds of
2806        callbacks.
2807        (WebKit::NotificationPermissionRequestManager::cancelRequest):
2808        (WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision):
2809        * WebProcess/Notifications/NotificationPermissionRequestManager.h: Add another map for new callback type.
2810        (NotificationPermissionRequestManager):
2811        * WebProcess/Notifications/WebNotificationManager.cpp:
2812        (WebKit::WebNotificationManager::show): Add #ifdef to use replaceId() or tag() depending on which feature
2813        has been enabled. In the case where both are enabled, we prefer tag() since that is in the latest spec.
2814        * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
2815        (WebKit::WebNotificationClient::requestPermission):
2816        * WebProcess/WebCoreSupport/WebNotificationClient.h: Implement both client functions to request permissions.
2817
28182012-05-02  Sheriff Bot  <webkit.review.bot@gmail.com>
2819
2820        Unreviewed, rolling out r115907.
2821        http://trac.webkit.org/changeset/115907
2822        https://bugs.webkit.org/show_bug.cgi?id=85458
2823
2824        It broke all viewport tests on Qt and on GTK (Requested by
2825        Ossy on #webkit).
2826
2827        * UIProcess/API/qt/qwebviewportinfo.cpp:
2828        (QWebViewportInfo::layoutSize):
2829        * WebProcess/WebPage/WebPage.cpp:
2830        (WebKit::WebPage::sendViewportAttributesChanged):
2831        (WebKit::WebPage::viewportConfigurationAsText):
2832
28332012-05-02  Eric Seidel  <eric@webkit.org>
2834
2835        Sort ENABLE_ defines in FeatureDefines.xcconfig files to make them easier to compare with one another (and easier to autogenerate)
2836        https://bugs.webkit.org/show_bug.cgi?id=85433
2837
2838        Reviewed by Adam Barth.
2839
2840        I have a script which can autogenerate these xcconfig files as well as the
2841        vsprops files (and soon the Chromium, cmake, gnumake and qmake) feature lists
2842        from a central feature list file.
2843        In preparation for posting such a tool, I'm re-sorting these xcconfig files to be
2844        alphabetically ordered (currently they're close, but not quite).
2845        There is also at least one inconsistency between these files (CSS_LEGACY_PREFIXES) which
2846        I will fix in a second pass.  I will also sort the FEATURE_DEFINES = line in a follow-up patch.
2847
2848        * Configurations/FeatureDefines.xcconfig:
2849
28502012-04-18  Jon Honeycutt  <jhoneycutt@apple.com>
2851
2852        FrameLoaderClient::dispatchWillSendSubmitEvent() should be given more
2853        information about the form being submitted
2854        https://bugs.webkit.org/show_bug.cgi?id=84297
2855
2856        Reviewed by Andy Estes.
2857
2858        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2859        (WebFrameLoaderClient):
2860        Updated method declaration.
2861
2862        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2863        (WebFrameLoaderClient::willSendSubmitEvent):
2864        Stubbed.
2865
28662012-05-01  Jon Honeycutt  <jhoneycutt@apple.com>
2867
2868        Make Page::setDefersLoading() have a call count so that each time
2869        loading is deferred, it must be balanced with a call to resume.
2870        https://bugs.webkit.org/show_bug.cgi?id=84522
2871
2872        Reviewed by Andy Estes.
2873
2874        * Shared/WebPreferencesStore.h:
2875        Use the macro to declare the new preference.
2876
2877        * WebProcess/WebPage/WebPage.cpp:
2878        (WebKit::WebPage::updatePreferences):
2879        Set the setting from the WebPreferencesStore's value.
2880
28812012-05-02  Ojan Vafai  <ojan@chromium.org>
2882
2883        Add a histogram for rendertree size
2884        https://bugs.webkit.org/show_bug.cgi?id=85226
2885
2886        Reviewed by Eric Seidel.
2887
2888        * WebProcess/WebPage/WebPage.cpp:
2889        (WebKit::WebPage::renderTreeSize):
2890        Move the renderTreeSize code into Page.cpp, so it can be reused.
2891
28922012-05-02  Anders Carlsson  <andersca@apple.com>
2893
2894        PDF page does not show up when opened in the background
2895        https://bugs.webkit.org/show_bug.cgi?id=85427
2896        <rdar://problem/11259951>
2897
2898        Reviewed by Sam Weinig.
2899
2900        Ensure that the accelerated hosting view is always the bottom view so it won't obscure subviews that are before it.
2901
2902        * UIProcess/API/mac/WKView.mm:
2903        (-[WKView _enterAcceleratedCompositingMode:]):
2904
29052012-05-02  Fady Samuel  <fsamuel@chromium.org>
2906
2907        Removing line in computeViewportAttributes that enforces a minimum scale factor to never allow zooming out more than viewport
2908        https://bugs.webkit.org/show_bug.cgi?id=70609
2909
2910        Reviewed by Kenneth Rohde Christiansen.
2911
2912        * UIProcess/API/qt/qwebviewportinfo.cpp:
2913        (QWebViewportInfo::layoutSize):
2914        * WebProcess/WebPage/WebPage.cpp:
2915        (WebKit::WebPage::viewportConfigurationAsText):
2916
29172012-05-02  Emil A Eklund  <eae@chromium.org>
2918
2919        Fix usage of layout types in platform code
2920        https://bugs.webkit.org/show_bug.cgi?id=85392
2921
2922        Reviewed by Eric Seidel.
2923
2924        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2925        (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
2926        Use enclosingIntRect to convert visible rect for transform results to
2927        line up with device pixels.
2928        
2929        * WebProcess/WebPage/WebPage.cpp:
2930        (WebKit::WebPage::editorState):
2931        Use pixelSnapped rect for editor rect calculation as it represents a
2932        device coordinate.
2933
29342012-05-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2935
2936        Revert r115191 - "Make the web view's url property follow the active url"
2937
2938        It uncovered/caused issues in the icon-implementation that can't be
2939        easily fixed, so rolling out instead.
2940
2941        https://bugs.webkit.org/show_bug.cgi?id=77554
2942
2943        Rubber-stamped by Simon Hausmann.
2944
2945        * UIProcess/API/qt/qquickwebview.cpp:
2946        (QQuickWebViewPrivate::onComponentComplete):
2947        (QQuickWebView::reload):
2948        (QQuickWebView::url):
2949        (QQuickWebView::setUrl):
2950        (QQuickWebView::loadHtml):
2951        * UIProcess/API/qt/qquickwebview_p.h:
2952        * UIProcess/API/qt/qquickwebview_p_p.h:
2953        (QQuickWebViewPrivate):
2954        * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2955        * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
2956        * UIProcess/API/qt/tests/qmltests/WebView.pro:
2957        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
2958        * UIProcess/API/qt/tests/qmltests/common/link.html: Removed.
2959        * UIProcess/API/qt/tests/qmltests/common/redirect.html: Removed.
2960        * UIProcess/WebPageProxy.cpp:
2961        (WebKit::WebPageProxy::activeURL):
2962        * UIProcess/qt/QtWebPageLoadClient.cpp:
2963        (WebKit::QtWebPageLoadClient::QtWebPageLoadClient):
2964        (WebKit::QtWebPageLoadClient::didCommitLoad):
2965        (WebKit::QtWebPageLoadClient::didSameDocumentNavigation):
2966        (WebKit::QtWebPageLoadClient::dispatchLoadFailed):
2967        (WebKit::QtWebPageLoadClient::didFailProvisionalLoadWithErrorForFrame):
2968        (WebKit::QtWebPageLoadClient::didFailLoadWithErrorForFrame):
2969        * UIProcess/qt/QtWebPageLoadClient.h:
2970        (QtWebPageLoadClient):
2971
29722012-05-02  Anders Carlsson  <andersca@apple.com>
2973
2974        When viewing a PDF, the Safari Status Bar shows other text
2975        https://bugs.webkit.org/show_bug.cgi?id=85395
2976        <rdar://problem/11297250>
2977
2978        Reviewed by Beth Dakin.
2979
2980        Set the layer contents placement for the WKView so that its layer will get masksToBounds set.
2981
2982        * UIProcess/API/mac/WKView.mm:
2983        (-[WKView initWithFrame:contextRef:pageGroupRef:]):
2984
29852012-05-02  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
2986
2987        Unreviewed. Build fix for Qt port on mac.
2988
2989        * UIProcess/API/qt/qwebnavigationhistory_p.h:
2990
29912012-05-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2992
2993        Make ShareableSurface's ref-counting thread-safe
2994
2995        Fixes assert when threaded rendering is enabled for the Qt scene-graph.
2996
2997        https://bugs.webkit.org/show_bug.cgi?id=85381
2998
2999        Reviewed by Noam Rosenthal.
3000
3001        * Shared/ShareableSurface.h:
3002
30032012-05-02  No'am Rosenthal  <noam.rosenthal@nokia.com>
3004
3005        [Texmap] Enable css filters in TextureMapperGL
3006        https://bugs.webkit.org/show_bug.cgi?id=75778
3007
3008        Add the plumbing in the ui-side compositing code in Qt to support filters.
3009        Serialize the filter operations for a layer when it's changed.
3010
3011        Reviewed by Jocelyn Turcotte.
3012
3013        * Shared/WebCoreArgumentCoders.cpp:
3014        (CoreIPC):
3015        (CoreIPC::::encode):
3016        (CoreIPC::::decode):
3017        * Shared/WebCoreArgumentCoders.h:
3018        (WebCore):
3019        * UIProcess/LayerTreeHostProxy.cpp:
3020        (WebKit):
3021        (WebKit::LayerTreeHostProxy::setCompositingLayerFilters):
3022        * UIProcess/LayerTreeHostProxy.h:
3023        (LayerTreeHostProxy):
3024        * UIProcess/LayerTreeHostProxy.messages.in:
3025        * UIProcess/WebLayerTreeRenderer.cpp:
3026        (WebKit):
3027        (WebKit::WebLayerTreeRenderer::setLayerFilters):
3028        * UIProcess/WebLayerTreeRenderer.h:
3029        (WebLayerTreeRenderer):
3030        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
3031        (WebCore):
3032        (WebCore::WebGraphicsLayer::didChangeFilters):
3033        (WebCore::WebGraphicsLayer::setFilters):
3034        (WebCore::WebGraphicsLayer::syncFilters):
3035        (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
3036        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
3037        (WebGraphicsLayerClient):
3038        (WebGraphicsLayer):
3039        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
3040        (WebKit):
3041        (WebKit::LayerTreeHostQt::syncLayerFilters):
3042        * WebProcess/WebPage/qt/LayerTreeHostQt.h:
3043        (LayerTreeHostQt):
3044
30452012-05-02  Simon Hausmann  <simon.hausmann@nokia.com>
3046
3047        [Qt] Fix vkb showing incorrect flags/keys when content changes
3048
3049        Reviewed by Tor Arne Vestbø.
3050
3051        When the editor state changes we have to inform the input method about changed
3052        properties so that it can issue a new input method query. Otherwise it may use old values
3053        from other QQuickItems or other incorrectly initialized data.
3054
3055        Also use isActiveFocus() instead of hasFocus() to detect whether we're actively focused.
3056        This is also what QQuick uses internally to determine whether it can make calls to the input method
3057        or not.
3058
3059        * UIProcess/qt/QtWebPageEventHandler.cpp:
3060        (WebKit::QtWebPageEventHandler::inputPanelVisibleChanged):
3061        (WebKit::QtWebPageEventHandler::updateTextInputState):
3062        (WebKit::QtWebPageEventHandler::doneWithGestureEvent):
3063
30642012-05-02  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3065
3066        [Qt] Add initial QML documentation
3067        https://bugs.webkit.org/show_bug.cgi?id=85370
3068
3069        Reviewed by Simon Hausmann.
3070
3071        Add initial documentation which also serves as an example on how it
3072        should be done.
3073
3074        * UIProcess/API/qt/qquickwebview.cpp:
3075        * UIProcess/API/qt/qwebloadrequest.cpp:
3076
30772012-05-02  Zalan Bujtas  <zbujtas@gmail.com>
3078
3079        [Qt][WK2] Remove redundant updateViewportArguments() call from HTMLBodyElement::didNotifyDescendantInseretions()
3080        https://bugs.webkit.org/show_bug.cgi?id=84241
3081
3082        Reviewed by Kenneth Rohde Christiansen.
3083
3084        Add ASSERT to ensure at least one viewport argument change call is dispatched to WebPage per main frame.
3085
3086        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
3087        (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
3088
30892012-05-02  Lars Knudsen  <lars.knudsen@nokia.com>
3090
3091        [Qt] Make DeviceMotion and DeviceOrientation work with WebKit2
3092        https://bugs.webkit.org/show_bug.cgi?id=64595
3093
3094        Reviewed by Kenneth Rohde Christiansen.
3095
3096        Adding support for DeviceOrientation in WK2 WebPage
3097
3098        * Target.pri:
3099        * WebProcess/WebPage/WebPage.cpp:
3100        (WebKit::WebPage::WebPage):
3101
31022012-05-02  Zalan Bujtas  <zbujtas@gmail.com>
3103
3104        [Qt][WK2] Minibrowser's progress bar should reset when WebProcess crashes while loading.
3105        https://bugs.webkit.org/show_bug.cgi?id=84445
3106
3107        Reviewed by Jocelyn Turcotte.
3108
3109        Progress value needs resetting, when WebProcess crashes.
3110        This patch moves crash logic for loading to QtWebPageLoadClient. It
3111        also simplifies the callback function names in QtWebPageLoadClient, as they
3112        all valid only for main frames.
3113
3114        * UIProcess/API/qt/qquickwebview.cpp:
3115        (QQuickWebViewPrivate::QQuickWebViewPrivate):
3116        (QQuickWebViewPrivate::processDidCrash):
3117        (QQuickWebViewFlickablePrivate::loadDidSucceed):
3118        * UIProcess/API/qt/qquickwebview_p_p.h:
3119        (QQuickWebViewPrivate::didChangeViewportProperties):
3120        (QQuickWebViewPrivate):
3121        * UIProcess/qt/QtWebPageLoadClient.cpp:
3122        (WebKit::QtWebPageLoadClient::QtWebPageLoadClient):
3123        (WebKit::QtWebPageLoadClient::completeLoadWhenProcessDidCrashIfNeeded):
3124        (WebKit):
3125        (WebKit::QtWebPageLoadClient::didStartProvisionalLoad):
3126        (WebKit::QtWebPageLoadClient::didReceiveServerRedirectForProvisionalLoad):
3127        (WebKit::QtWebPageLoadClient::didCommitLoad):
3128        (WebKit::QtWebPageLoadClient::didSameDocumentNavigation):
3129        (WebKit::QtWebPageLoadClient::didReceiveTitle):
3130        (WebKit::QtWebPageLoadClient::didFirstVisuallyNonEmptyLayout):
3131        (WebKit::QtWebPageLoadClient::didStartProvisionalLoadForFrame):
3132        (WebKit::QtWebPageLoadClient::didReceiveServerRedirectForProvisionalLoadForFrame):
3133        (WebKit::QtWebPageLoadClient::didCommitLoadForFrame):
3134        (WebKit::QtWebPageLoadClient::didSameDocumentNavigationForFrame):
3135        (WebKit::QtWebPageLoadClient::didReceiveTitleForFrame):
3136        (WebKit::QtWebPageLoadClient::didFirstVisuallyNonEmptyLayoutForFrame):
3137        * UIProcess/qt/QtWebPageLoadClient.h:
3138        (WebKit):
3139        (QtWebPageLoadClient):
3140
31412012-05-02  Simon Hausmann  <simon.hausmann@nokia.com>
3142
3143        [Qt] QQuickWebView does not allow for input from virtual keyboard
3144        https://bugs.webkit.org/show_bug.cgi?id=85350
3145
3146        Reviewed by Kenneth Christiansen.
3147
3148        It is necessary to set the ItemAcceptsInputMethod flag on the QQuickWebView if we have editable
3149        content, in order for the input method to recognize that we can handle input method events.
3150
3151        Analyzed by Michael Brüning.
3152
3153        * UIProcess/API/qt/qquickwebview.cpp: Add simple hook for executing JS as private C++ API.
3154        (JSCallbackClosure):
3155        (javaScriptCallback):
3156        (QQuickWebView::runJavaScriptInMainFrame):
3157        * UIProcess/API/qt/qquickwebview_p.h:
3158        * UIProcess/API/qt/tests/html/inputmethod.html: Added.
3159        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
3160        (tst_QQuickWebView):
3161        (tst_QQuickWebView::runJavaScript): Simple helper for running JS.
3162        (tst_QQuickWebView::inputMethod): Added simple test for ItemAcceptsInputMethod toggling.
3163        * UIProcess/qt/QtWebPageEventHandler.cpp:
3164        (WebKit::QtWebPageEventHandler::updateTextInputState): Set ItemAcceptsInputMethod as soon as we
3165        have editable content.
3166
31672012-05-01  Anders Carlsson  <andersca@apple.com>
3168
3169        inspectorReallyUsesWebKitUserInterface should be more robust against missing files
3170        https://bugs.webkit.org/show_bug.cgi?id=85327
3171        <rdar://problem/11332864>
3172
3173        Reviewed by Timothy Hatcher.
3174
3175        * UIProcess/mac/WebInspectorProxyMac.mm:
3176        (WebKit::inspectorReallyUsesWebKitUserInterface):
3177        * WebProcess/WebPage/mac/WebInspectorMac.mm:
3178        (WebKit::inspectorReallyUsesWebKitUserInterface):
3179
31802012-05-01  Jeffrey Pfau  <jpfau@apple.com>
3181
3182        <rdar://problem/10422318> Support for web content filter delegate for filtering https content
3183        https://bugs.webkit.org/show_bug.cgi?id=85300
3184
3185        Reviewed by Alexey Proskuryakov.
3186
3187        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3188        (InitWebCoreSystemInterface):
3189
31902012-05-01  Ryosuke Niwa  <rniwa@webkit.org>
3191
3192        *Command.h files shouldn't be exported to WebKit layer
3193        https://bugs.webkit.org/show_bug.cgi?id=74778
3194
3195        Reviewed by Eric Seidel.
3196
3197        * WebProcess/WebPage/WebPage.cpp:
3198
31992012-05-01  Anders Carlsson  <andersca@apple.com>
3200
3201        Use the new barrier function in TiledCoreAnimationDrawingArea::forceRepaintAsync
3202        https://bugs.webkit.org/show_bug.cgi?id=85313
3203        <rdar://problem/10996039>
3204
3205        Reviewed by Sam Weinig.
3206
3207        Use the new dispatchAfterEnsuringUpdatedScrollPosition function in forceRepaintAsync to
3208        ensure that the scroll position is up to date.
3209
3210        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3211        (WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync):
3212
32132012-05-01  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3214
3215        [Qt] Add an experimental extension to set the min. contents width
3216        https://bugs.webkit.org/show_bug.cgi?id=85281
3217
3218        Reviewed by Antonio Gomes.
3219
3220        Add the experimental property preferredMinimumContentsWidth: which
3221        can be used to set the minimum contents width when not overriden by
3222        the page itself.
3223
3224        Default value is set to 0, which defines normal [desktop] behaviour.
3225
3226        * Shared/WebPreferencesStore.h:
3227        (WebKit):
3228        * UIProcess/API/qt/qquickwebview.cpp:
3229        (QQuickWebViewExperimental::preferredMinimumContentsWidth):
3230        (QQuickWebViewExperimental::setPreferredMinimumContentsWidth):
3231        * UIProcess/API/qt/qquickwebview_p.h:
3232
32332012-05-01  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3234
3235        [Qt] Stop repeating timers which should only fire once
3236        https://bugs.webkit.org/show_bug.cgi?id=85277
3237
3238        Reviewed by Antonio Gomes.
3239
3240        The TapGestureRecognizer uses QBasicTimers which are
3241        repeating timers, so stop then when they fire.
3242
3243        * UIProcess/qt/QtTapGestureRecognizer.cpp:
3244        (WebKit::QtTapGestureRecognizer::highlightTimeout):
3245        (WebKit::QtTapGestureRecognizer::singleTapTimeout):
3246        (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
3247
32482012-04-30  Anders Carlsson  <andersca@apple.com>
3249
3250        Crash when opening plug-ins in background tabs
3251        https://bugs.webkit.org/show_bug.cgi?id=85255
3252        <rdar://problem/11344053>
3253
3254        Reviewed by Dan Bernstein.
3255        
3256        * PluginProcess/mac/PluginControllerProxyMac.mm:
3257        (WebKit::PluginControllerProxy::setLayerHostingMode):
3258        m_layerHostingContext can be null for plug-ins that don't use the Core Animation drawing model, so check for that.
3259
32602012-04-30  Yael Aharon  <yael.aharon@nokia.com>
3261
3262        [Qt][WK2] Fixed layers are shaking when zoom level is not 1.0 due to a rounding error.
3263        https://bugs.webkit.org/show_bug.cgi?id=84306
3264
3265        Reviewed by Noam Rosenthal.
3266
3267        When zooming, we need to be careful about how to convert the visible rect from float to int.
3268        Using toAlignedRect can produce inconsistent width and height when we are scrolling.
3269        This patch carefully modifies each piece of the visible rect, to avoid such rounding errors.
3270        In addition, the TransformationMatrix we use for painting, needs to be adjusted for the same rounding error.
3271
3272        * UIProcess/API/qt/qquickwebview.cpp:
3273        (QQuickWebViewPrivate::visibleContentsRect):
3274        (QQuickWebViewFlickablePrivate::_q_contentViewportChanged):
3275        * UIProcess/DrawingAreaProxy.h:
3276        (WebCore):
3277        (WebKit::DrawingAreaProxy::setVisibleContentsRect):
3278        * UIProcess/DrawingAreaProxyImpl.cpp:
3279        (WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):
3280        * UIProcess/DrawingAreaProxyImpl.h:
3281        (DrawingAreaProxyImpl):
3282        * UIProcess/LayerTreeHostProxy.cpp:
3283        (WebKit::LayerTreeHostProxy::setVisibleContentsRect):
3284        * UIProcess/LayerTreeHostProxy.h:
3285        (LayerTreeHostProxy):
3286        * UIProcess/WebLayerTreeRenderer.cpp:
3287        (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
3288        (WebKit::WebLayerTreeRenderer::setVisibleContentsRect):
3289        * UIProcess/WebLayerTreeRenderer.h:
3290        (WebLayerTreeRenderer):
3291
32922012-04-30  Anders Carlsson  <andersca@apple.com>
3293
3294        ScrollingCoordinator::requestScrollPositionUpdate should not update the main frame scroll position
3295        https://bugs.webkit.org/show_bug.cgi?id=85240
3296        <rdar://problem/11286609>
3297
3298        Reviewed by Sam Weinig.
3299
3300        The find machinery should cope with asynchronous scroll position updates.
3301
3302        * WebProcess/WebPage/FindController.cpp:
3303        (WebKit::FindController::updateFindUIAfterPageScroll):
3304        Split the code that handles updating the find indicator and find overlay out into a separate function.
3305
3306        (WebKit::FindController::findString):
3307        Call updateFindUIAfterPageScroll once we know that the scroll position has been updated.
3308
33092012-04-30  Anders Carlsson  <andersca@apple.com>
3310
3311        Add a way to asynchronously call a function once the scroll position of a page has been updated
3312        https://bugs.webkit.org/show_bug.cgi?id=85237
3313
3314        Reviewed by Sam Weinig.
3315
3316        Add DrawingArea::dispatchAfterEnsuringUpdatedScrollPosition, which will call the given function object after
3317        making sure that the scroll position has been updated correctly. This is important for TiledCoreAnimationDrawingArea,
3318        which updates the scrolling position asynchronously.
3319
3320        * WebProcess/WebPage/DrawingArea.cpp:
3321        (WebKit::DrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
3322        Since scroll position updates are synchronous by default, just call function directly.
3323
3324        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3325        (WebKit::TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition):
3326        Commit the layer tree state and then use ScrollingThread::dispatchBarrier to make sure that the function is called when any
3327        scroll position changes have been made. If possible, freeze the layer tree to make sure that the update is atomic.
3328
33292012-04-30  Anders Carlsson  <andersca@apple.com>
3330
3331        Fix ALL the build failures!
3332
3333        * UIProcess/API/mac/WKView.mm:
3334        (-[WKView WebKit::]):
3335        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
3336        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
3337
33382012-04-30  Anders Carlsson  <andersca@apple.com>
3339
3340        Build fix.
3341
3342        * Shared/DrawingAreaInfo.h:
3343
33442012-04-30  Emil A Eklund  <eae@chromium.org>
3345
3346        [gtk, qt, chromium, win] Fix usage of LayoutUnits and rounding in platform code
3347        https://bugs.webkit.org/show_bug.cgi?id=85222
3348
3349        Reviewed by Eric Seidel.
3350
3351        Update platform code to use the pixel snapped values for painting rects
3352        to line up with device pixels and change platform specific hit testing
3353        code to use roundedPoint as hit testing is still mostly done on integer
3354        bounds.
3355
3356        * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
3357        (WebKit::WebPopupMenu::setUpPlatformData):
3358
33592012-04-30  Anders Carlsson  <andersca@apple.com>
3360
3361        Put all of TiledCoreAnimationDrawingArea in #if ENABLE(THREADED_SCROLLING)
3362        https://bugs.webkit.org/show_bug.cgi?id=85232
3363
3364        Reviewed by Sam Weinig.
3365
3366        Stop pretending that TiledCoreAnimationDrawingArea works without threaded scrolling.
3367
3368        * WebProcess/WebPage/DrawingArea.cpp:
3369        (WebKit::DrawingArea::create):
3370        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
3371        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3372        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
3373        (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
3374        (WebKit::dispatchBackToMainThread):
3375        (WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync):
3376        (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
3377        (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
3378        (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
3379
33802012-04-30  Benjamin Poulain  <benjamin@webkit.org>
3381
3382        Add String::startsWith() and endsWith() for string literals
3383        https://bugs.webkit.org/show_bug.cgi?id=85154
3384
3385        Reviewed by Darin Adler.
3386
3387        Update WebKit2 to use String::endsWith(UChar).
3388
3389        * UIProcess/Plugins/PluginInfoStore.cpp:
3390        (WebKit::pathExtension):
3391
33922012-04-30  Alexey Proskuryakov  <ap@apple.com>
3393
3394        Validate keypress command names
3395        https://bugs.webkit.org/show_bug.cgi?id=85204
3396        <rdar://problem/11249368>
3397
3398        Reviewed by Darin Adler.
3399
3400        * UIProcess/API/mac/WKView.mm:
3401        (-[WKView doCommandBySelector:]):
3402        (-[WKView insertText:replacementRange:]):
3403        * UIProcess/WebPageProxy.h:
3404        (WebKit::WebPageProxy::registerKeypressCommandName):
3405        (WebKit::WebPageProxy::isValidKeypressCommandName):
3406        * UIProcess/mac/WebPageProxyMac.mm:
3407        (WebKit::WebPageProxy::executeSavedCommandBySelector):
3408
34092012-04-30  Mario Sanchez Prada  <msanchez@igalia.com>
3410
3411        [GTK] Implement WebUIClient's runOpenPanel in WebKit2GTK+
3412        https://bugs.webkit.org/show_bug.cgi?id=78491
3413
3414        Reviewed by Martin Robinson.
3415
3416        Add a new public class to the API, WebKitFileChooserRequest, to be
3417        emitted along with a new WebKitWebView::run-file-chooser signal to
3418        let client applications to provide their own file chooser dialog
3419        when the use interacts with HTML Input elements of type 'file'.
3420
3421        * GNUmakefile.am: Added new source files and headers.
3422        * UIProcess/API/gtk/WebKitFileChooserRequest.cpp: Added.
3423        (_WebKitFileChooserRequestPrivate):
3424        (webkit_file_chooser_request_init):
3425        (webkitFileChooserRequestFinalize):
3426        (webkitFileChooserRequestGetProperty):
3427        (webkit_file_chooser_request_class_init):
3428        (webkitFileChooserRequestCreate):
3429        (webkit_file_chooser_request_get_mime_types):
3430        (webkit_file_chooser_request_get_mime_types_filter):
3431        (webkit_file_chooser_request_get_select_multiple):
3432        (webkit_file_chooser_request_select_files):
3433        (webkit_file_chooser_request_get_selected_files):
3434        (webkit_file_chooser_request_cancel):
3435        * UIProcess/API/gtk/WebKitFileChooserRequest.h: Added.
3436        (_WebKitFileChooserRequest):
3437        (_WebKitFileChooserRequestClass):
3438        * UIProcess/API/gtk/WebKitFileChooserRequestPrivate.h: Added,
3439        containing the prototype of webkitFileChooserRequestCreate.
3440
3441        Provide private API to make a file chooser request from the
3442        WebView, and provide a default handler for it.
3443
3444        * UIProcess/API/gtk/WebKitWebView.cpp:
3445        (fileChooserDialogResponseCallback): Handler for the 'response'
3446        signal for the GtkFileChooserDialog used in the default
3447        handler. It will call to webkit_file_chooser_request_select_files
3448        or webkit_file_chooser_request_cancel as needed.
3449        (webkitWebViewRunFileChooser): Default handler for the new
3450        'run-file-chooser' signal. It will create a GtkFileChooserDialog,
3451        connect to the 'response' signal and show it.
3452        (webkit_web_view_class_init): Connect the 'run-file-chooser'
3453        signal to the default handler, webkitWebViewRunFileChooser.
3454        (webkitWebViewRunFileChooserRequest):
3455        * UIProcess/API/gtk/WebKitWebView.h:
3456        (_WebKitWebViewClass): Added prototype for the handler of the new
3457        'run-file-chooser' signal.
3458        * UIProcess/API/gtk/WebKitWebViewPrivate.h: Added prototype for
3459        private new function webkitWebViewRunFileChooserRequest.
3460
3461        Provide an implementation for runOpenPanel in WebKitUIClient.
3462
3463        * UIProcess/API/gtk/WebKitUIClient.cpp:
3464        (runOpenPanel): New, implements runOpenPanel by creating an
3465        instance of WebKitFileChooserRequest and asking the WebView to
3466        emit the 'run-file-chooser' signal with it.
3467        (attachUIClientToView): Reference the new runOpenPanel function.
3468
3469        Added the new publich header to the main header.
3470
3471        * UIProcess/API/gtk/webkit2.h: Added WebKitFileChooserRequest.h.
3472
3473        New unit tests for the new WebKitFileChooserRequest API. Also,
3474        extended the WebViewTest class to allow simulating mouse clicks.
3475
3476        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
3477        (checkMimeTypeForFilter): New, checks whether a GtkFileFilter
3478        filters a given MIME type, as specified by RFC 2046.
3479        (testWebViewFileChooserRequest): New unit test.
3480        (beforeAll): Add the new unit test as an UIClientTest.
3481
3482        * UIProcess/API/gtk/tests/WebViewTest.cpp:
3483        (WebViewTest::clickMouseButton): New public function to simulate a
3484        mouse click through GdkEvents, as the combination of a 'press' and
3485        a 'release' event. Used from the new unit test to simulate the
3486        user pressing in the button rendered for a HTML Input element.
3487        (WebViewTest::executeMouseButtonEvent): New private function to
3488        simulate a mouse event through GdkEvents.
3489        * UIProcess/API/gtk/tests/WebViewTest.h:
3490
3491        Updated documentation related files with the new API.
3492
3493        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added new API.
3494        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Added new section.
3495        * UIProcess/API/gtk/docs/webkit2gtk.types: Added get_type function.
3496
34972012-04-28  Yury Semikhatsky  <yurys@chromium.org>
3498
3499        Unreviewed. Added new exported symbols after r115553.
3500
3501        * win/WebKit2.def:
3502        * win/WebKit2CFLite.def:
3503
35042012-04-27  Geoffrey Garen  <ggaren@apple.com>
3505
3506        Made WeakSet::allocate() static and removed its JSGlobalData argument
3507        https://bugs.webkit.org/show_bug.cgi?id=85128
3508
3509        Reviewed by Anders Carlsson.
3510
3511        Mechanically removed JSGlobalData arguments from PassWeak<T> and Weak<T> allocation.
3512
3513        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
3514        (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
3515
35162012-04-27  Yael Aharon  <yael.aharon@nokia.com>
3517
3518        [Qt][WK2] Don't call syncRemoteContents from WebLayerTreeRenderer::paintToCurrentGLContext
3519        https://bugs.webkit.org/show_bug.cgi?id=85088
3520
3521        Reviewed by Noam Rosenthal.
3522
3523        Remove the call to syncRemoteContents from WebLayerTreeRenderer::paintToCurrentGLContext,
3524        since it was moved to QQuickWebPage::updatePaintNode.
3525        To make sure that we always sync before painting, this patch also calls page->update()
3526        when the viewport changes.
3527
3528        * UIProcess/API/qt/qquickwebview.cpp:
3529        (QQuickWebViewFlickablePrivate::_q_contentViewportChanged):
3530        * UIProcess/WebLayerTreeRenderer.cpp:
3531        (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
3532
35332012-04-27  Gavin Peters  <gavinp@chromium.org>
3534
3535        Add new ENABLE_LINK_PRERENDER define to control the Prerendering API
3536        https://bugs.webkit.org/show_bug.cgi?id=84871
3537
3538        Reviewed by Adam Barth.
3539
3540        Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering
3541        API separates it from prefetching.  Having separate include guards lets ports enable prefetching,
3542        a relatively easy change, without needing to build the infrastructure for prerendering, which
3543        is considerably more complicated.
3544
35452012-04-27  Yael Aharon  <yael.aharon@nokia.com>
3546
3547        [Qt][WK2] setVisibleContentsRect is not thread safe
3548        https://bugs.webkit.org/show_bug.cgi?id=85060
3549
3550        Reviewed by Noam Rosenthal.
3551
3552        Don't call WebLayerTreeRenderer::setVisibleContentsRect directly. Use bind() instead.
3553
3554        * UIProcess/LayerTreeHostProxy.cpp:
3555        (WebKit::LayerTreeHostProxy::setVisibleContentsRect):
3556
35572012-04-26  Carlos Garcia Campos  <cgarcia@igalia.com>
3558
3559        [SOUP] Add a way to register custom uri schemes in WebKit2
3560        https://bugs.webkit.org/show_bug.cgi?id=84130
3561
3562        Reviewed by Martin Robinson.
3563
3564        * GNUmakefile.am: Add new files to compilation.
3565        * Platform/CoreIPC/MessageID.h: Add
3566        MessageClassWebSoupRequestManager and
3567        MessageClassWebSoupRequestManagerProxy message types to identify
3568        WebSoupRequestManager messages.
3569        * Shared/API/c/WKBase.h: Include WKBaseSoup.h when building with
3570        soup network backend.
3571        * Shared/API/c/soup/WKBaseSoup.h: Added.
3572        * Shared/APIObject.h: Add SoupRequestManager type when using soup.
3573        * UIProcess/API/C/WKAPICast.h: Include WKAPICastSoup.h when
3574        building with soup network backend.
3575        * UIProcess/API/C/soup/WKAPICastSoup.h: Added.
3576        (WebKit): Map WKSoupRequestManagerRef to
3577        WebSoupRequestManagerProxy.
3578        * UIProcess/API/C/soup/WKContextSoup.cpp: Added.
3579        (WKContextGetSoupRequestManager): Return WKSoupRequestManagerRef
3580        associated to the context.
3581        * UIProcess/API/C/soup/WKContextSoup.h: Added.
3582        * UIProcess/API/C/soup/WKSoupRequestManager.cpp: Added.
3583        (WKSoupRequestManagerGetTypeID): Return the
3584        WebSoupRequestManagerProxy API type.
3585        (WKSoupRequestManagerSetClient): Set the WKSoupRequestManagerClient.
3586        (WKSoupRequestManagerRegisterURIScheme): Call
3587        WebSoupRequestManagerProxy::registerURIScheme().
3588        (WKSoupRequestManagerHandleURIRequest): Call
3589        WebSoupRequestManagerProxy::handleURIRequest().
3590        * UIProcess/API/C/soup/WKSoupRequestManager.h: Added.
3591        * UIProcess/WebContext.cpp:
3592        (WebKit::WebContext::WebContext): Initialize
3593        m_soupRequestManagerProxy when using soup.
3594        (WebKit::WebContext::~WebContext): Invalidate and clear the
3595        m_soupRequestManagerProxy when using soup.
3596        (WebKit::WebContext::disconnectProcess): Invalidate the
3597        m_soupRequestManagerProxy when using soup.
3598        (WebKit::WebContext::didReceiveMessage): Forward the message to
3599        m_soupRequestManagerProxy if it's a
3600        MessageClassWebSoupRequestManagerProxy message.
3601        * UIProcess/WebContext.h:
3602        (WebKit::WebContext::soupRequestManagerProxy): Return
3603        m_soupRequestManagerProxy.
3604        * UIProcess/WebProcessProxy.cpp:
3605        (WebKit::WebProcessProxy::didReceiveMessage): Forward message to
3606        the web context if it's a MessageClassWebSoupRequestManagerProxy
3607        message.
3608        * UIProcess/soup/WebSoupRequestManagerClient.cpp: Added.
3609        (WebKit::WebSoupRequestManagerClient::didReceiveURIRequest): Call
3610        didReceiveURIRequest callback if it has an implementation.
3611        * UIProcess/soup/WebSoupRequestManagerClient.h: Added.
3612        * UIProcess/soup/WebSoupRequestManagerProxy.cpp: Added.
3613        (WebKit::WebSoupRequestManagerProxy::create): Create a new
3614        WebSoupRequestManagerProxy.
3615        (WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy):
3616        (WebKit::WebSoupRequestManagerProxy::~WebSoupRequestManagerProxy):
3617        (WebKit::WebSoupRequestManagerProxy::invalidate):
3618        (WebKit::WebSoupRequestManagerProxy::initializeClient):
3619        (WebKit::WebSoupRequestManagerProxy::didReceiveMessage):
3620        (WebKit::WebSoupRequestManagerProxy::registerURIScheme): Send
3621        RegisterURIScheme message to the WebProcess to register the given
3622        URI scheme.
3623        (WebKit::WebSoupRequestManagerProxy::handleURIRequest): Send
3624        HandleURIRequest message to the WebProcess with the given data and
3625        data type.
3626        (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequest): Call
3627        didReceiveURIRequest callback to allow the user to handle the
3628        request.
3629        * UIProcess/soup/WebSoupRequestManagerProxy.h: Added.
3630        * UIProcess/soup/WebSoupRequestManagerProxy.messages.in: Added.
3631        * WebProcess/WebProcess.cpp:
3632        (WebKit::WebProcess::WebProcess): Initialize m_soupRequestManager
3633        when using soup.
3634        (WebKit::WebProcess::didReceiveMessage): Forward the message to
3635        m_soupRequestManager if it's a MessageClassWebSoupRequestManager
3636        message.
3637        * WebProcess/WebProcess.h:
3638        (WebKit::WebProcess::soupRequestManager): Return m_soupRequestManager.
3639        * WebProcess/soup/WebKitSoupRequestGeneric.cpp: Added.
3640        (webkitSoupRequestGenericFinalize):
3641        (webkit_soup_request_generic_init):
3642        (webkitSoupRequestGenericSendAsync): Create a GSimpleAsyncResult
3643        to handle the request and pass it to the WebSoupRequestManager.
3644        (webkitSoupRequestGenericSendFinish): Finish the async operation
3645        started by webkitSoupRequestGenericSendAsync() and return the
3646        contents of the request as returned by WebSoupRequestManager.
3647        (webkitSoupRequestGenericGetContentLength): Get the request
3648        contents length.
3649        (webkitSoupRequestGenericGetContentType): Get the request mime
3650        type.
3651        (webkit_soup_request_generic_class_init):
3652        (webkitSoupRequestGenericSetContentLength): Set the request
3653        contents length.
3654        (webkitSoupRequestGenericSetContentType): Set the request mime
3655        type.
3656        * WebProcess/soup/WebKitSoupRequestGeneric.h: Added.
3657        * WebProcess/soup/WebSoupRequestManager.cpp: Added.
3658        (WebKit::generateSoupRequestID): Helper function to generate a
3659        unique request identifier.
3660        (WebKit::WebSoupRequestManager::WebSoupRequestManager):
3661        (WebKit::WebSoupRequestManager::~WebSoupRequestManager):
3662        (WebKit::WebSoupRequestManager::didReceiveMessage):
3663        (WebKit::WebSoupRequestManager::registerURIScheme): Add the scheme
3664        to the schemes array and add a new WebKitSoupRequestGeneric
3665        feature with the new scheme list to the SoupRequester feature.
3666        (WebKit::WebSoupRequestManager::handleURIRequest): Complete the
3667        async operation by creating a GInputStream with the request data,
3668        or setting an error in case of failure.
3669        (WebKit::WebSoupRequestManager::send): Send DidReceiveURIRequest
3670        message to the UI process.
3671        (WebKit::WebSoupRequestManager::finish): Return the GInputStream
3672        containing the request data.
3673        * WebProcess/soup/WebSoupRequestManager.h: Added.
3674        * WebProcess/soup/WebSoupRequestManager.messages.in: Added.
3675
36762012-04-26  No'am Rosenthal  <noam.rosenthal@nokia.com>
3677
3678        [Qt][WK2] A GraphicsSurface instance is created with every update
3679        https://bugs.webkit.org/show_bug.cgi?id=85014
3680
3681        Reviewed by Kenneth Rohde Christiansen.
3682
3683        Keep a copy of the GraphicsSurface in the UI process, and reuse it for
3684        subsequent updates. This ensure that the texture and other data associated
3685        with the GraphicsSurface does not need to be reconstructed.
3686
3687        * Shared/ShareableSurface.h:
3688        (Handle):
3689        (WebKit::ShareableSurface::Handle::graphicsSurfaceToken):
3690        * UIProcess/LayerTreeHostProxy.cpp:
3691        (WebKit::LayerTreeHostProxy::updateTileForLayer):
3692        * UIProcess/LayerTreeHostProxy.h:
3693        (LayerTreeHostProxy):
3694
36952012-04-26  Martin Robinson  <mrobinson@igalia.com>
3696
3697        [Cairo] Wrap cairo surfaces in a class when storing native images
3698        https://bugs.webkit.org/show_bug.cgi?id=83611
3699
3700        Reviewed by Alejandro G. Castro.
3701
3702        * Shared/gtk/ArgumentCodersGtk.cpp: Updated to reflect the addition of NativeImageCairo.
3703
37042012-04-26  Jon Lee  <jonlee@apple.com>
3705
3706        [WK2] AlternativeTextClient leaks when the page is destroyed
3707        https://bugs.webkit.org/show_bug.cgi?id=84307
3708        <rdar://problem/11328431>
3709
3710        Reviewed by Enrica Casucci.
3711
3712        * WebProcess/WebCoreSupport/WebAlternativeTextClient.h: Implement pageDestroyed(), as in EditorClient.
3713        (WebAlternativeTextClient):
3714        * WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp:
3715        (WebKit::WebAlternativeTextClient::pageDestroyed): Deletes itself.
3716
37172012-04-26  Jer Noble  <jer.noble@apple.com>
3718
3719        Full Screen mode does not preserve CALayer ordering after exiting.
3720        https://bugs.webkit.org/show_bug.cgi?id=83931
3721
3722        Reviewed by Eric Carlson.
3723
3724        Further corrections to r114567. When swapping view for otherView, give the correct
3725        relative view to -[NSView addSubview:positioned:relativeTo:].
3726
3727        * UIProcess/mac/WKFullScreenWindowController.mm:
3728        (-[WKFullScreenWindowController _swapView:with:]):
3729
37302012-04-25  Jer Noble  <jer.noble@apple.com>
3731
3732        Placeholder view is immediately removed from hosting window upon entering full screen.
3733        https://bugs.webkit.org/show_bug.cgi?id=84916
3734
3735        Reviewed by Darin Adler.
3736
3737        Correct a mistake added in r114567.  When swapping view for otherView, add otherView and 
3738        remove view (rather than adding otherView and removing otherView).
3739
3740        * UIProcess/mac/WKFullScreenWindowController.mm:
3741        (-[WKFullScreenWindowController _swapView:with:]):
3742
37432012-04-26  Carlos Garcia Campos  <cgarcia@igalia.com>
3744
3745        [GTK] Build and run TestWebKitAPI WebKit2 unit tests
3746        https://bugs.webkit.org/show_bug.cgi?id=84446
3747
3748        Reviewed by Philippe Normand.
3749
3750        * UIProcess/API/C/WKNativeEvent.h: Define WKNativeEventPtr as
3751        GdkEvent for the GTK+ port.
3752
37532012-04-26  Andras Becsi  <andras.becsi@nokia.com>
3754
3755        [Qt][WK2] Tap highlight should have a delay not to interfere with panning
3756        https://bugs.webkit.org/show_bug.cgi?id=84948
3757
3758        Reviewed by Kenneth Rohde Christiansen.
3759
3760        Start the tap highlight animation after a slight delay so that pan
3761        gestures do not result in flashing highlight rects which slow down
3762        flicking, especially during continuous pan gestures.
3763
3764        * UIProcess/qt/QtTapGestureRecognizer.cpp:
3765        (WebKit::QtTapGestureRecognizer::update):
3766        (WebKit::QtTapGestureRecognizer::highlightTimeout):
3767        (WebKit):
3768        (WebKit::QtTapGestureRecognizer::reset):
3769        (WebKit::QtTapGestureRecognizer::timerEvent):
3770        * UIProcess/qt/QtTapGestureRecognizer.h:
3771        (QtTapGestureRecognizer):
3772        * UIProcess/qt/QtWebPageEventHandler.cpp:
3773        (WebKit::QtWebPageEventHandler::doneWithTouchEvent):
3774
37752012-04-26  Lars Knudsen  <lars.knudsen@nokia.com>
3776
3777        Make it possible to use accelerated compositing for page overlay fading
3778        https://bugs.webkit.org/show_bug.cgi?id=82336
3779
3780        Reviewed by Noam Rosenthal.
3781
3782        Page overlay fading will use AC where possible.  Otherwise, it will
3783        fall back to the previous method of redrawing each frame in the animation.
3784
3785        * WebProcess/WebPage/DrawingArea.h:
3786        (WebKit::DrawingArea::setPageOverlayOpacity):
3787        (DrawingArea):
3788        (WebKit::DrawingArea::pageOverlayShouldApplyFadeWhenPainting):
3789        * WebProcess/WebPage/DrawingAreaImpl.cpp:
3790        (WebKit::DrawingAreaImpl::setPageOverlayOpacity):
3791        (WebKit):
3792        (WebKit::DrawingAreaImpl::pageOverlayShouldApplyFadeWhenPainting):
3793        * WebProcess/WebPage/DrawingAreaImpl.h:
3794        (DrawingAreaImpl):
3795        * WebProcess/WebPage/LayerTreeHost.h:
3796        (WebKit::LayerTreeHost::setPageOverlayOpacity):
3797        (WebKit::LayerTreeHost::pageOverlayShouldApplyFadeWhenPainting):
3798        * WebProcess/WebPage/PageOverlay.cpp:
3799        (WebKit::PageOverlay::PageOverlay):
3800        (WebKit::PageOverlay::setPage):
3801        (WebKit::PageOverlay::fadeAnimationTimerFired):
3802        * WebProcess/WebPage/PageOverlay.h:
3803        * WebProcess/WebPage/TapHighlightController.cpp:
3804        (WebKit::TapHighlightController::drawRect):
3805        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
3806        (WebKit::LayerTreeHostQt::setPageOverlayOpacity):
3807        (WebKit):
3808        * WebProcess/WebPage/qt/LayerTreeHostQt.h:
3809        (LayerTreeHostQt):
3810        (WebKit::LayerTreeHostQt::pageOverlayShouldApplyFadeWhenPainting):
3811
38122012-04-26  Alexander Færøy  <ahf@0x90.dk>
3813
3814        [Qt] r115300 broke the Qt build on Mac OS X.
3815
3816        This patch adds guards around the createPluginContainer and
3817        windowedPluginGeometryDidChange member functions in WebPageProxy.
3818
3819        Unreviewed build fix.
3820
3821        * UIProcess/qt/WebPageProxyQt.cpp:
3822        (WebKit):
3823
38242012-04-26  Carlos Garcia Campos  <cgarcia@igalia.com>
3825
3826        [GTK][WebKit2] Initial windowed plugins implementation
3827        https://bugs.webkit.org/show_bug.cgi?id=61065
3828
3829        Reviewed by Philippe Normand.
3830
3831        * PluginProcess/PluginControllerProxy.cpp:
3832        (WebKit::PluginControllerProxy::createPluginContainer):
3833        (WebKit::PluginControllerProxy::windowedPluginGeometryDidChange):
3834        * PluginProcess/PluginControllerProxy.h:
3835        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3836        (webkitWebViewBaseContainerAdd): Implement GtkContainer::add().
3837        (webkitWebViewBaseContainerRemove): Implement GtkContainer::remove().
3838        (webkitWebViewBaseContainerForall): Implement GtkContainer::forall().
3839        (webkitWebViewBaseChildMoveResize): Set a new geometry for a child widget.
3840        (webkitWebViewBaseChildAllocate): Allocate a child widget.
3841        (resizeWebKitWebViewBaseFromAllocation): Allocate child widgets.
3842        (webkit_web_view_base_class_init):
3843        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Add webkitWebViewBaseSizeAllocate().
3844        * UIProcess/WebPageProxy.h:
3845        * UIProcess/WebPageProxy.messages.in: Add createPluginContainer
3846        and windowedPluginGeometryDidChange messages.
3847        * UIProcess/gtk/WebPageProxyGtk.cpp:
3848        (WebKit::pluginWindowMap):
3849        (WebKit::pluginContainerPlugRemoved): Remove the socket from the
3850        hash map when its plug is removed.
3851        (WebKit::WebPageProxy::createPluginContainer): Create a GtkSocket
3852        as container widget for windowed plugins.
3853        (WebKit::WebPageProxy::windowedPluginGeometryDidChange): Call
3854        webkitWebViewBaseSizeAllocate() to update the plugin widget
3855        geometry.
3856        * UIProcess/qt/WebPageProxyQt.cpp:
3857        (WebKit::WebPageProxy::createPluginContainer):
3858        (WebKit::WebPageProxy::windowedPluginGeometryDidChange):
3859        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
3860        (WebKit::NetscapePlugin::NetscapePlugin):
3861        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
3862        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
3863        (WebKit::socketPlugRemovedCallback): Return TRUE to avoid the
3864        socket to be destroyed, since we need to reuse it.
3865        (WebKit::NetscapePlugin::platformPostInitializeWindowed): Ask the
3866        ui process to create a plugin container.
3867        (WebKit::NetscapePlugin::platformPostInitializeWindowless):
3868        (WebKit::NetscapePlugin::platformPostInitialize):
3869        (WebKit::NetscapePlugin::platformGeometryDidChange): For windowed
3870        plugins notify the ui process that the plugin geometry has
3871        changed.
3872        (WebKit::NetscapePlugin::platformPaint): Do nothing for windowed
3873        plugins, the caller already calls callSetWindow().
3874        * WebProcess/Plugins/PluginController.h:
3875        * WebProcess/Plugins/PluginProxy.cpp:
3876        (WebKit::PluginProxy::createPluginContainer):
3877        (WebKit::PluginProxy::windowedPluginGeometryDidChange):
3878        * WebProcess/Plugins/PluginProxy.h:
3879        * WebProcess/Plugins/PluginProxy.messages.in:
3880        * WebProcess/Plugins/PluginView.cpp:
3881        (WebKit::PluginView::createPluginContainer):
3882        (WebKit::PluginView::windowedPluginGeometryDidChange):
3883        * WebProcess/Plugins/PluginView.h:
3884
38852012-04-26  Chris Fleizach2  <cfleizach@apple.com>
3886
3887        CrashTracer: [USER] 157 crashes in WebProcess at com.apple.WebCore: WebCore::AccessibilityRenderObject::isAttachment const + 29
3888        https://bugs.webkit.org/show_bug.cgi?id=84463
3889
3890        Reviewed by Darin Adler.
3891
3892        * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
3893        (WebKit):
3894
38952012-04-25  Benjamin Poulain  <benjamin@webkit.org>
3896
3897        Add a version of StringImpl::find() without offset
3898        https://bugs.webkit.org/show_bug.cgi?id=83968
3899
3900        Update the symbols files.
3901
3902        * win/WebKit2.def:
3903        * win/WebKit2CFLite.def:
3904
39052012-04-25  Mark Hahnenberg  <mhahnenberg@apple.com>
3906
3907        WebCore shouldn't call collectAllGarbage directly
3908        https://bugs.webkit.org/show_bug.cgi?id=84897
3909
3910        Reviewed by Geoffrey Garen.
3911
3912        * WebProcess/WebProcess.cpp:
3913        (WebKit::WebProcess::didClose): Changed to call garbageCollectSoon. This is the 
3914        function that causes us to do so much collection on page navigation.
3915
39162012-04-25  Beth Dakin  <bdakin@apple.com>
3917
3918        https://bugs.webkit.org/show_bug.cgi?id=84909
3919        Background tabs are fuzzy until repaint when deviceScaleFactor > 1
3920        -and corresponding-
3921        <rdar://problem/11312064>
3922
3923        Rubber-stamped by Darin Adler.
3924
3925        Re-order the parameters of paintBitmapContext to match paintImage.
3926        * Platform/cg/CGUtilities.cpp:
3927        (WebKit::paintBitmapContext):
3928        * Platform/cg/CGUtilities.h:
3929        (WebKit):
3930        * UIProcess/mac/BackingStoreMac.mm:
3931        (WebKit::BackingStore::resetScrolledRect):
3932        (WebKit::BackingStore::paint):
3933        (WebKit::BackingStore::backingStoreContext):
3934
39352012-04-25  Beth Dakin  <bdakin@apple.com>
3936
3937        https://bugs.webkit.org/show_bug.cgi?id=84909
3938        Background tabs are fuzzy until repaint when deviceScaleFactor > 1
3939        -and corresponding-
3940        <rdar://problem/11312064>
3941
3942        Reviewed by Darin Adler.
3943
3944        BackingStoreMac paints into a Bitmap instead of a CGLayer when there is no 
3945        containing window. That bitmap is used for the initial paint when a background tab 
3946        first comes to he foreground, so it needs to be HiDPI-aware.  
3947
3948        paintBitmapContext() now takes a scale factor that it passes along to paintImage 
3949        rather than hardcoding a scale factor of 1 for paintImage.
3950        * Platform/cg/CGUtilities.cpp:
3951        (WebKit::paintBitmapContext):
3952        * Platform/cg/CGUtilities.h:
3953        (WebKit):
3954
3955        When these functions fall into the bitmap case, they need to adopt the device 
3956        scale factor, which means they need to scale in size by the scale factor, and also 
3957        scale their context. 
3958        * UIProcess/mac/BackingStoreMac.mm:
3959        (WebKit::BackingStore::resetScrolledRect):
3960        (WebKit::BackingStore::paint):
3961        (WebKit::BackingStore::backingStoreContext):
3962
39632012-04-25  Enrica Casucci  <enrica@apple.com>
3964
3965        REGRESSION (r110494): Dragging images from Safari to Finder results in .webloc rather than image file
3966        https://bugs.webkit.org/show_bug.cgi?id=84878
3967        <rdar://problem/11155407>
3968        
3969        In WebKit2, it could happen to try to start the drag twice, given the asynchronous nature
3970        of the communication between the UI process and the WebProcess.
3971        We need to guarantee that we don't do that, otherwise on OS X the pasteboard ownership
3972        gets changed which affects the promised file types.
3973        The fix for the problem is in WebCore and we can now remove the guard on _setDragImage.
3974
3975        Reviewed by Alexey Proskuryakov.
3976
3977        * UIProcess/API/mac/WKView.mm:
3978        (-[WKView mouseDown:]):
3979        (-[WKView _setDragImage:at:linkDrag:]):
3980
39812012-04-18  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3982
3983        [Qt] Make the web view's url property follow the active url
3984
3985        https://bugs.webkit.org/show_bug.cgi?id=77554
3986
3987        The url property of the webview now reflects the 'active' url of the
3988        page, which maps to either the currently loading url, in the case of
3989        an ongoing load, or the result of a load, even when the load failed.
3990
3991        In practice this means that setting the url though QML, or navigating
3992        to a new url in the page by e.g clicking, will both instantly change
3993        the url-property of the webview to the target url. This differs from
3994        earlier behavior, where we would update the url when the load
3995        committed.
3996
3997        An optional argument is added to loadHtml(), to allow setting
3998        the unreachable url when providing replacement content for failed
3999        loads.
4000
4001        A slight change in the activeUrl() implementation is also done,
4002        where we now favour the url of an pending API request, even when
4003        we don't have a mainframe yet.
4004
4005        Finally, the location bar in the minibrowser is updated to behave
4006        a bit more like normal browsers in terms of when the url will change
4007        and how active focus is handled.
4008
4009        Reviewed by Simon Hausmann.
4010
4011        * UIProcess/API/qt/qquickwebview.cpp:
4012        (QQuickWebViewPrivate::onComponentComplete):
4013        (QQuickWebView::reload):
4014        (QQuickWebView::url):
4015        (QQuickWebView::setUrl):
4016        (QQuickWebView::loadHtml):
4017        * UIProcess/API/qt/qquickwebview_p.h:
4018        * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
4019        * UIProcess/API/qt/tests/qmltests/WebView.pro:
4020        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
4021        * UIProcess/API/qt/tests/qmltests/common/link.html: Added.
4022        * UIProcess/API/qt/tests/qmltests/common/redirect.html: Added.
4023        * UIProcess/WebPageProxy.cpp:
4024        (WebKit::WebPageProxy::activeURL):
4025        * UIProcess/qt/QtWebPageLoadClient.cpp:
4026        (QtWebPageLoadClient::QtWebPageLoadClient):
4027        (QtWebPageLoadClient::didStartProvisionalLoadForFrame):
4028        (QtWebPageLoadClient::didReceiveServerRedirectForProvisionalLoadForFrame):
4029        (QtWebPageLoadClient::didCommitLoadForFrame):
4030        (QtWebPageLoadClient::dispatchLoadFailed):
4031        (QtWebPageLoadClient::didFailProvisionalLoadWithErrorForFrame):
4032        (QtWebPageLoadClient::didFailLoadWithErrorForFrame):
4033        * UIProcess/qt/QtWebPageLoadClient.h:
4034        (QtWebPageLoadClient):
4035
40362012-04-25  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
4037
4038        [Qt] Zoom back can overscroll document edges.
4039        https://bugs.webkit.org/show_bug.cgi?id=84851
4040
4041        Reviewed by Kenneth Rohde Christiansen.
4042
4043        * UIProcess/qt/QtViewportInteractionEngine.cpp:
4044        (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
4045
40462012-04-18  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
4047
4048        [Qt] Make the web view's url property follow the active url
4049
4050        https://bugs.webkit.org/show_bug.cgi?id=77554
4051
4052        The url property of the webview now reflects the 'active' url of the
4053        page, which maps to either the currently loading url, in the case of
4054        an ongoing load, or the result of a load, even when the load failed.
4055
4056        In practice this means that setting the url though QML, or navigating
4057        to a new url in the page by e.g clicking, will both instantly change
4058        the url-property of the webview to the target url. This differs from
4059        earlier behavior, where we would update the url when the load
4060        committed.
4061
4062        An optional argument is added to loadHtml(), to allow setting
4063        the unreachable url when providing replacement content for failed
4064        loads.
4065
4066        A slight change in the activeUrl() implementation is also done,
4067        where we now favour the url of an pending API request, even when
4068        we don't have a mainframe yet.
4069
4070        Finally, the location bar in the minibrowser is updated to behave
4071        a bit more like normal browsers in terms of when the url will change
4072        and how active focus is handled.
4073
4074        Reviewed by Simon Hausmann.
4075
4076        * UIProcess/API/qt/qquickwebview.cpp:
4077        (QQuickWebViewPrivate::onComponentComplete):
4078        (QQuickWebView::reload):
4079        (QQuickWebView::url):
4080        (QQuickWebView::setUrl):
4081        (QQuickWebView::loadHtml):
4082        * UIProcess/API/qt/qquickwebview_p.h:
4083        * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
4084        * UIProcess/API/qt/tests/qmltests/WebView.pro:
4085        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
4086        * UIProcess/API/qt/tests/qmltests/common/link.html: Added.
4087        * UIProcess/API/qt/tests/qmltests/common/redirect.html: Added.
4088        * UIProcess/WebPageProxy.cpp:
4089        (WebKit::WebPageProxy::activeURL):
4090        * UIProcess/qt/QtWebPageLoadClient.cpp:
4091        (QtWebPageLoadClient::QtWebPageLoadClient):
4092        (QtWebPageLoadClient::didStartProvisionalLoadForFrame):
4093        (QtWebPageLoadClient::didReceiveServerRedirectForProvisionalLoadForFrame):
4094        (QtWebPageLoadClient::didCommitLoadForFrame):
4095        (QtWebPageLoadClient::dispatchLoadFailed):
4096        (QtWebPageLoadClient::didFailProvisionalLoadWithErrorForFrame):
4097        (QtWebPageLoadClient::didFailLoadWithErrorForFrame):
4098        * UIProcess/qt/QtWebPageLoadClient.h:
4099        (QtWebPageLoadClient):
4100
41012012-04-24  Enrica Casucci  <enrica@apple.com>
4102
4103        REGRESSION (r109022) Safari not placing service data on pasteboard.
4104        https://bugs.webkit.org/show_bug.cgi?id=84766
4105        <rdar://problem/11085756>
4106        
4107        The support for OS X services requires that the write operations to
4108        the pasteboard occur synchronously. This behavior was changed with r109022.
4109        This change removes the original synchronous call to the WebProcess to perform
4110        the pasteboard write that had become asynchronous after r109022.
4111        It implements instead a synchronous call to retrive the content to be placed
4112        in the pasteboard.
4113
4114        Reviewed by Alexey Proskuryakov.
4115
4116        * UIProcess/API/mac/WKView.mm:
4117        (-[WKView writeSelectionToPasteboard:types:]): Uses new methods.
4118        * UIProcess/WebPageProxy.h:
4119        * UIProcess/mac/WebPageProxyMac.mm: Removed writeSelectionToPasteboard.
4120        (WebKit::WebPageProxy::getStringSelectionForPasteboard): Added.
4121        (WebKit::WebPageProxy::getBufferSelectionForPasteboard): Added.
4122        * WebProcess/WebPage/WebPage.h: Added support for the new messages and
4123        removed old message.
4124        * WebProcess/WebPage/WebPage.messages.in: Ditto.
4125        * WebProcess/WebPage/mac/WebPageMac.mm: Ditto.
4126        (WebKit::WebPage::readSelectionFromPasteboard): Added.
4127        (WebKit::WebPage::getBufferSelectionForPasteboard): Added.
4128
41292012-04-24  Brady Eidson  <beidson@apple.com>
4130
4131        Fix Windows build.
4132
4133        * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.h:
4134        (~InjectedBundleDOMWindowExtension): VS doesn't like OVERRIDE on d'tor's
4135
41362012-04-24  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
4137
4138        [Qt] Unreviewed build fix after r115083
4139
4140        * WebProcess/qt/QtBuiltinBundlePage.cpp:
4141        (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
4142
41432012-04-24  Brady Eidson  <beidson@apple.com>
4144
4145        <rdar://problem/10120155> and https://bugs.webkit.org/show_bug.cgi?id=82664
4146         Need DOMWindow mechanism to supplement UserScripts for page cache notifications
4147
4148        Reviewed by Sam Weinig.
4149        
4150        - Adds a new API object WKBundleDOMWindowExtension
4151        - Exposes callbacks about the lifetime of DOMWindowExtensions through BundlePageLoaderClient
4152
4153        Add new API casts:
4154        * Shared/API/c/WKBase.h:
4155        * Shared/APIClientTraits.cpp:
4156        * Shared/APIObject.h:
4157        * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
4158
4159        Add API for the new DOMWindowExtension object:
4160        * WebProcess/InjectedBundle/API/c/WKBundleDOMWindowExtension.cpp: Added.
4161        (WKBundleDOMWindowExtensionGetTypeID):
4162        (WKBundleDOMWindowExtensionCreate):
4163        (WKBundleDOMWindowExtensionGetFrame):
4164        (WKBundleDOMWindowExtensionGetScriptWorld):
4165        * WebProcess/InjectedBundle/API/c/WKBundleDOMWindowExtension.h: Added.
4166
4167        Add implementation for that API which wraps the WebCore::DOMWindowExtension:
4168        * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp: Added.
4169        (WebKit::allExtensions):
4170        (WebKit::InjectedBundleDOMWindowExtension::create):
4171        (WebKit::InjectedBundleDOMWindowExtension::get):
4172        (WebKit::InjectedBundleDOMWindowExtension::InjectedBundleDOMWindowExtension):
4173        (WebKit::InjectedBundleDOMWindowExtension::~InjectedBundleDOMWindowExtension):
4174        (WebKit::InjectedBundleDOMWindowExtension::frame):
4175        (WebKit::InjectedBundleDOMWindowExtension::world):
4176        * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.h: Added.
4177        (InjectedBundleDOMWindowExtension):
4178        (WebKit::InjectedBundleDOMWindowExtension::type):
4179
4180        Add new BundlePageLoaderClient methods:
4181        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
4182        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
4183        (WebKit::InjectedBundlePageLoaderClient::didCreateGlobalObjectForFrame):
4184        (WebKit::InjectedBundlePageLoaderClient::willDisconnectDOMWindowExtensionFromGlobalObject):
4185        (WebKit::InjectedBundlePageLoaderClient::didReconnectDOMWindowExtensionToGlobalObject):
4186        (WebKit::InjectedBundlePageLoaderClient::willDestroyGlobalObjectForDOMWindowExtension):
4187        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
4188        (InjectedBundlePageLoaderClient):
4189
4190        Implement the 4 new callbacks from WebCore which notify the BundlePageLoaderClient:
4191        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
4192        (WebKit::WebFrameLoaderClient::dispatchGlobalObjectAvailable):
4193        (WebKit::WebFrameLoaderClient::dispatchWillDisconnectDOMWindowExtensionFromGlobalObject):
4194        (WebKit::WebFrameLoaderClient::dispatchDidReconnectDOMWindowExtensionToGlobalObject):
4195        (WebKit::WebFrameLoaderClient::dispatchWillDestroyGlobalObjectForDOMWindowExtension):
4196        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
4197
4198        Project Files:
4199        * CMakeLists.txt:
4200        * GNUmakefile.am:
4201        * Target.pri:
4202        * WebKit2.xcodeproj/project.pbxproj:
4203        * win/WebKit2.vcproj:
4204
42052012-04-24  Andras Becsi  <andras.becsi@nokia.com>
4206
4207        [Qt][WK2] Implement axis locking on the WebView for pan gestures
4208        https://bugs.webkit.org/show_bug.cgi?id=84350
4209
4210        Reviewed by Kenneth Rohde Christiansen.
4211
4212        If a pan gesture has sufficient velocity along one axis the WebView
4213        should automatically lock the page movement to that axis.
4214        This locking should be maintained until the ongoing pan gesture ends.
4215
4216        This patch implements a simple axis locker which adjusts the positions
4217        sent to the Flickable to the initial reference position according to the
4218        direction an velocity information it gathered from incoming touch events.
4219
4220        The FlickableAxisLocker makes use of the velocity information of the touch point
4221        if available, else an approximate velocity of the incoming event is
4222        calculated.
4223
4224        * UIProcess/API/qt/qquickwebview.cpp:
4225        (QQuickWebViewPrivate::FlickableAxisLocker::FlickableAxisLocker):
4226        (QQuickWebViewPrivate::FlickableAxisLocker::touchVelocity):
4227        (QQuickWebViewPrivate::FlickableAxisLocker::update):
4228        (QQuickWebViewPrivate::FlickableAxisLocker::setReferencePosition):
4229        (QQuickWebViewPrivate::FlickableAxisLocker::reset):
4230        (QQuickWebViewPrivate::FlickableAxisLocker::adjust):
4231        (QQuickWebViewPrivate::QQuickWebViewPrivate):
4232        (QQuickWebView::touchEvent):
4233        (QQuickWebView::handleFlickableMousePress):
4234        (QQuickWebView::handleFlickableMouseMove):
4235        (QQuickWebView::handleFlickableMouseRelease):
4236        * UIProcess/API/qt/qquickwebview_p_p.h:
4237        (QQuickWebViewPrivate):
4238
42392012-04-24  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
4240
4241        [Qt] Tap-to zoom should navigate when appropiate
4242        https://bugs.webkit.org/show_bug.cgi?id=84602
4243
4244        Reviewed by Simon Hausmann.
4245
4246        When a zoomable area is returned and has the same zoom-level as the current, 
4247        examine if the using this target would expose currently unexposed parts of
4248        the zoom-target. If it does, pan to that area instead of zooming back.
4249
4250        * UIProcess/qt/QtViewportInteractionEngine.cpp:
4251        (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
4252
42532012-04-24  Carlos Garcia Campos  <cgarcia@igalia.com>
4254
4255        [GTK] Add WebKitCookieManager::changed signal to WebKit2 GTK+ API
4256        https://bugs.webkit.org/show_bug.cgi?id=82598
4257
4258        Reviewed by Philippe Normand.
4259
4260        * UIProcess/API/gtk/WebKitCookieManager.cpp:
4261        (webkitCookieManagerFinalize): Stop observing cookie changes.
4262        (webkit_cookie_manager_class_init): Add
4263        WebKitCookieManager::changed signal.
4264        (cookiesDidChange): Emit WebKitCookieManager::changed signal.
4265        (webkitCookieManagerCreate): Implement WKCookieManagerClient and
4266        start observing cookie changes.
4267        * UIProcess/API/gtk/tests/TestCookieManager.cpp:
4268        (testCookieManagerCookiesChanged):
4269        (beforeAll):
4270
42712012-04-24  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
4272
4273        [Qt] Restore x-position when restoring previous zoom-level.
4274        https://bugs.webkit.org/show_bug.cgi?id=84591
4275
4276        Reviewed by Simon Hausmann.
4277
4278        Tap-to-zoom fits content to width, therefore it is essentional that
4279        the content is refitted to width when zooming out.
4280
4281        This patch pairs horizontal position and scale on the zoom-out stack.
4282
4283        Additionally it fixes a problem with not detecting zoom-out properly
4284        due to floating point errors.
4285
4286        * UIProcess/qt/QtViewportInteractionEngine.cpp:
4287        (WebKit::fuzzyCompare):
4288        (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
4289        * UIProcess/qt/QtViewportInteractionEngine.h:
4290        (WebKit::QtViewportInteractionEngine::ScaleStackItem::ScaleStackItem):
4291        (QtViewportInteractionEngine):
4292
42932012-04-24  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
4294
4295        [Qt] Incomplete interaction-engine reset.
4296        https://bugs.webkit.org/show_bug.cgi?id=84594
4297
4298        Reviewed by Simon Hausmann.
4299
4300        Reset a few values forgotten in the reset function.
4301
4302        * UIProcess/qt/QtViewportInteractionEngine.cpp:
4303        (WebKit::QtViewportInteractionEngine::reset):
4304
43052012-04-23  Andreas Kling  <kling@webkit.org>
4306
4307        [Mac] WebProcess should empty cache on a background thread/block.
4308        <http://webkit.org/b/84619>
4309        <rdar://problem/10668689>
4310
4311        Reviewed by Anders Carlsson.
4312
4313        Move the removeAllCachedResponses call to a dispatch queue and wait for it on exit.
4314
4315        * WebProcess/WebProcess.cpp:
4316        (WebKit::WebProcess::WebProcess):
4317        * WebProcess/WebProcess.h:
4318        (WebProcess):
4319        * WebProcess/mac/WebProcessMac.mm:
4320        (WebKit::WebProcess::platformClearResourceCaches):
4321        (WebKit::WebProcess::platformTerminate):
4322
43232012-04-23  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
4324
4325        [Qt][WK2] Convert touch-point area.
4326        https://bugs.webkit.org/show_bug.cgi?id=84434
4327
4328        Reviewed by Kenneth Rohde Christiansen.
4329
4330        Missed WebKit2 conversion in commit r106470.
4331
4332        * Shared/qt/WebEventFactoryQt.cpp:
4333        (WebKit::WebEventFactory::createWebTouchEvent):
4334
43352012-04-23  Balazs Kelemen  <kbalazs@webkit.org>
4336
4337        [Qt] Add desktop zooming support for QQuickWebView
4338        https://bugs.webkit.org/show_bug.cgi?id=82337
4339
4340        Reviewed by Simon Hausmann.
4341
4342        Add private C++ API for programmatic zooming.
4343        This is important on desktop where we don't
4344        have any way to zoom currently.
4345
4346        * UIProcess/API/qt/qquickwebview.cpp:
4347        (QQuickWebViewLegacyPrivate::zoomFactor):
4348        (QQuickWebViewLegacyPrivate::setZoomFactor):
4349        (QQuickWebView::zoomFactor):
4350        (QQuickWebView::setZoomFactor):
4351        * UIProcess/API/qt/qquickwebview_p.h:
4352        * UIProcess/API/qt/qquickwebview_p_p.h:
4353        (QQuickWebViewPrivate::zoomFactor):
4354        (QQuickWebViewPrivate::setZoomFactor):
4355        (QQuickWebViewPrivate):
4356        (QQuickWebViewLegacyPrivate):
4357
43582012-04-23  Zalan Bujtas  <zbujtas@gmail.com>
4359
4360        [Qt][WK2] Move non-api classes to WebKit namespace at WebKit2/UiProcess/qt
4361        https://bugs.webkit.org/show_bug.cgi?id=84528
4362
4363        Reviewed by Simon Hausmann.
4364
4365        Fix namespace usage in non-api classes for Qt.
4366
4367        * UIProcess/API/qt/qquickwebpage.cpp:
4368        * UIProcess/API/qt/qquickwebpage_p.h:
4369        (WebKit):
4370        * UIProcess/API/qt/qquickwebpage_p_p.h:
4371        (WebKit):
4372        (QQuickWebPagePrivate):
4373        * UIProcess/API/qt/qquickwebview.cpp:
4374        * UIProcess/API/qt/qquickwebview_p.h:
4375        (WebKit):
4376        * UIProcess/API/qt/qquickwebview_p_p.h:
4377        (WebKit):
4378        (QQuickWebViewPrivate::viewportInteractionEngine):
4379        (QQuickWebViewPrivate):
4380        (QQuickWebViewFlickablePrivate::viewportInteractionEngine):
4381        (QQuickWebViewFlickablePrivate):
4382        * UIProcess/API/qt/qwebdownloaditem_p.h:
4383        (WebKit):
4384        * UIProcess/API/qt/qwebviewportinfo.cpp:
4385        * UIProcess/qt/LayerBackingStore.cpp:
4386        * UIProcess/qt/LayerBackingStore.h:
4387        (WebKit):
4388        * UIProcess/qt/QtDialogRunner.cpp:
4389        (WebKit):
4390        * UIProcess/qt/QtDialogRunner.h:
4391        (WebKit):
4392        * UIProcess/qt/QtDownloadManager.cpp:
4393        * UIProcess/qt/QtDownloadManager.h:
4394        (WebKit):
4395        * UIProcess/qt/QtGestureRecognizer.cpp:
4396        * UIProcess/qt/QtGestureRecognizer.h:
4397        (WebKit):
4398        * UIProcess/qt/QtPageClient.cpp:
4399        (WebKit):
4400        * UIProcess/qt/QtPageClient.h:
4401        (WebKit):
4402        (QtPageClient):
4403        * UIProcess/qt/QtPanGestureRecognizer.cpp:
4404        * UIProcess/qt/QtPanGestureRecognizer.h:
4405        * UIProcess/qt/QtPinchGestureRecognizer.cpp:
4406        * UIProcess/qt/QtPinchGestureRecognizer.h:
4407        * UIProcess/qt/QtTapGestureRecognizer.h:
4408        (WebKit):
4409        * UIProcess/qt/QtViewportInteractionEngine.cpp:
4410        * UIProcess/qt/QtViewportInteractionEngine.h:
4411        * UIProcess/qt/QtWebContext.cpp:
4412        * UIProcess/qt/QtWebContext.h:
4413        * UIProcess/qt/QtWebError.cpp:
4414        (WebKit):
4415        * UIProcess/qt/QtWebError.h:
4416        (WebKit):
4417        * UIProcess/qt/QtWebIconDatabaseClient.cpp:
4418        (WebKit):
4419        * UIProcess/qt/QtWebIconDatabaseClient.h:
4420        (WTF):
4421        (WebKit):
4422        (QtWebIconDatabaseClient):
4423        * UIProcess/qt/QtWebPageEventHandler.cpp:
4424        (WebKit):
4425        * UIProcess/qt/QtWebPageEventHandler.h:
4426        (WebCore):
4427        (WebKit):
4428        * UIProcess/qt/QtWebPageLoadClient.cpp:
4429        (WebKit):
4430        * UIProcess/qt/QtWebPageLoadClient.h:
4431        (WebKit):
4432        * UIProcess/qt/QtWebPagePolicyClient.cpp:
4433        (WebKit):
4434        * UIProcess/qt/QtWebPagePolicyClient.h:
4435        (WebKit):
4436        * UIProcess/qt/QtWebPageSGNode.cpp:
4437        * UIProcess/qt/QtWebPageSGNode.h:
4438        (WebKit):
4439        * UIProcess/qt/QtWebPageUIClient.cpp:
4440        * UIProcess/qt/QtWebPageUIClient.h:
4441        (WebKit):
4442        * UIProcess/qt/QtWebUndoController.cpp:
4443        (WebKit):
4444        * UIProcess/qt/QtWebUndoController.h:
4445        (WebKit):
4446        * UIProcess/qt/WebContextMenuProxyQt.cpp:
4447        * UIProcess/qt/WebContextQt.cpp:
4448        * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
4449        * UIProcess/qt/WebGeolocationProviderQt.cpp:
4450        (WebKit):
4451        * UIProcess/qt/WebGeolocationProviderQt.h:
4452        (WebKit):
4453        * UIProcess/qt/WebPopupMenuProxyQt.cpp:
4454        (WebKit):
4455        * UIProcess/qt/WebPopupMenuProxyQt.h:
4456
44572012-04-23  Kent Tamura  <tkent@chromium.org>
4458
4459        Add test function to get placeholder string
4460        https://bugs.webkit.org/show_bug.cgi?id=84536
4461
4462        Reviewed by Ryosuke Niwa.
4463
4464        * win/WebKit2.def: Expose HTMLNames::inputTag,
4465        HTMLTextFormControlElement::placeholderShouldBeVisible(), and
4466        Node::textContent.
4467        * win/WebKit2CFLite.def: ditto.
4468
44692012-04-22  Sriram Neelakandan  <sriram.neelakandan@gmail.com>
4470
4471        [Gtk] Added MOZ_X11 build flag for TARGET_X11
4472        [Qt]  Added MOZ_X11 build flag for !embedded
4473        https://bugs.webkit.org/show_bug.cgi?id=40785
4474
4475        Reviewed by Anders Carlsson.
4476
4477        * GNUmakefile.am:
4478        * Target.pri:
4479
44802012-04-22  Jon Lee  <jonlee@apple.com>
4481
4482        Remove notifications support on Mac Lion.
4483        https://bugs.webkit.org/show_bug.cgi?id=84554
4484        <rdar://problem/11297128>
4485
4486        Reviewed by Sam Weinig.
4487
4488        * Configurations/FeatureDefines.xcconfig:
4489
44902012-04-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
4491
4492        [Qt] Multi-level tap-to-zoom.
4493        https://bugs.webkit.org/show_bug.cgi?id=84456
4494
4495        Reviewed by Kenneth Rohde Christiansen.
4496        
4497        Replace tap-to-zoomed flag with a stack of progressively higher zoom levels, 
4498        and zoom out to last zoom-level when attempting to zoom to current level.
4499        
4500        Additionally detect a series of tap-to-zoom gestures on the same level and 
4501        continue to zoom out.
4502
4503        * UIProcess/qt/QtViewportInteractionEngine.cpp:
4504        (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
4505        (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
4506        (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
4507        * UIProcess/qt/QtViewportInteractionEngine.h:
4508        (QtViewportInteractionEngine):
4509
45102012-04-20  Jon Lee  <jonlee@apple.com>
4511
4512        Add Notification constructor
4513        https://bugs.webkit.org/show_bug.cgi?id=80477
4514        <rdar://problem/10912431>
4515
4516        Reviewed by Jian Li.
4517
4518        * WebProcess/Notifications/WebNotificationManager.cpp:
4519        (WebKit::WebNotificationManager::show): If the notification doesn't get shown,
4520        we should return false, since it will not go through a setPendingActivity cycle.
4521        (WebKit::WebNotificationManager::clearNotifications): When clearing notifications,
4522        finalize them so that they can be cleaned up by the GC.
4523
45242012-04-20  Timothy Hatcher  <timothy@apple.com>
4525
4526        Make the Web Inspector be the first responder when opening docked.
4527
4528        <rdar://problem/11294217>
4529
4530        Reviewed by Brian Weinstein.
4531
4532        * UIProcess/mac/WebInspectorProxyMac.mm:
4533        (WebKit::WebInspectorProxy::platformAttach): Call makeFirstResponder: on
4534        the window and pass the Inspector's WKView.
4535
45362012-04-06  Jer Noble  <jer.noble@apple.com>
4537
4538        apple.com top navigation bar appears inside video during full screen exit animation
4539        https://bugs.webkit.org/show_bug.cgi?id=83095
4540
4541        Reviewed by Eric Carlson.
4542
4543        Add new WebCore symbols needed by DumpRenderTree to exported symbol list.
4544
4545        * win/WebKit2.def:
4546        * win/WebKit2CFLite.def:
4547
45482012-04-19  Carlos Garcia Campos  <cgarcia@igalia.com>
4549
4550        [GTK] Ignore resources while replacing content in WebKit2 GTK+ API
4551        https://bugs.webkit.org/show_bug.cgi?id=79777
4552
4553        Reviewed by Philippe Normand.
4554
4555        * UIProcess/API/gtk/WebKitResourceLoadClient.cpp:
4556        (didSendRequestForResource): Return early if resources is Null.
4557        (didReceiveResponseForResource): Ditto.
4558        (didReceiveContentLengthForResource): Ditto.
4559        (didFinishLoadForResource): Ditto.
4560        (didFailLoadForResource): Ditto.
4561        * UIProcess/API/gtk/WebKitWebView.cpp:
4562        (webkitWebViewLoadChanged): Clear resources before checking
4563        whether we are replacing content.
4564        (webkitWebViewIsReplacingContentOrDidReplaceContent): Helper
4565        function to check whether view is replacing content or current
4566        content is replaced.
4567        (webkitWebViewResourceLoadStarted): Do not create resources when
4568        replacing content.
4569        (webkitWebViewGetLoadingWebResource): Ignore when replacing
4570        content. Also add an assert when getting a loading resources to
4571        make sure we only return Null when replacing content.
4572        (webkitWebViewRemoveLoadingWebResource): Ditto.
4573        (webkitWebViewResourceLoadFinished): Ditto.
4574        * UIProcess/API/gtk/tests/TestResources.cpp:
4575        (replacedContentResourceLoadStartedCallback):
4576        (testWebViewResourcesReplacedContent):
4577        (beforeAll):
4578
45792012-04-19  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
4580
4581        [Qt] ASSERT(m_thread == currentThread()) on Mac when threaded rendering is enabled for the Qt scenegraph
4582        https://bugs.webkit.org/show_bug.cgi?id=84278
4583
4584        Reviewed by Noam Rosenthal.
4585
4586        Delete the whole layer tree on UI side when paint node is deleted and force resync of the layers when
4587        page becomes visible again.
4588
4589        * UIProcess/LayerTreeHostProxy.cpp:
4590        (WebKit::LayerTreeHostProxy::purgeBackingStores):
4591        * UIProcess/WebLayerTreeRenderer.cpp:
4592        (WebKit::WebLayerTreeRenderer::WebLayerTreeRenderer):
4593        (WebKit::WebLayerTreeRenderer::purgeGLResources):
4594        (WebKit::WebLayerTreeRenderer::appendUpdate):
4595        (WebKit::WebLayerTreeRenderer::setActive):
4596        (WebKit):
4597        * UIProcess/WebLayerTreeRenderer.h:
4598        (WebLayerTreeRenderer):
4599        * UIProcess/qt/QtWebPageSGNode.cpp:
4600        (WebKit::ContentsSGNode::ContentsSGNode):
4601        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
4602        (WebCore::WebGraphicsLayer::purgeBackingStores):
4603
46042012-04-19  Vivek Galatage  <vivekgalatage@gmail.com>
4605
4606        DevTools: assertion failure upon devtools window reopen.
4607        https://bugs.webkit.org/show_bug.cgi?id=53493
4608
4609        Reviewed by Pavel Feldman.
4610
4611        The pointers pointed to by WebInspector must be reset explicitly
4612        in WebInspector::didClose() method
4613
4614        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
4615        (WebKit::WebInspectorClient::closeInspectorFrontend):
4616        * WebProcess/WebPage/WebInspector.cpp:
4617        (WebKit::WebInspector::didClose):
4618
46192012-04-19  Zalan Bujtas  <zbujtas@gmail.com>
4620
4621        [Qt][WK2] Zoom out on the second double click does not always scale right.
4622        https://bugs.webkit.org/show_bug.cgi?id=84332
4623
4624        Reviewed by Simon Hausmann.
4625
4626        Zoom out to the minimum scale value instead of the fixed 1.
4627
4628        * UIProcess/qt/QtViewportInteractionEngine.cpp:
4629        (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
4630
46312012-04-18  Jer Noble  <jer.noble@apple.com>
4632
4633        Full Screen mode does not preserve CALayer ordering after exiting.
4634        https://bugs.webkit.org/show_bug.cgi?id=83931
4635
4636        Reviewed by Eric Carlson.
4637
4638        When swapping the placeholder and web views, use -[NSView addSubview:positioned:relativeTo:]
4639        instead of -[NSView replaceSubview:with:], as the latter does not preserve the relative order
4640        of the view's backing CALayers.
4641
4642        * UIProcess/mac/WKFullScreenWindowController.mm:
4643        (-[WKFullScreenWindowController _swapView:with:]):
4644
46452012-04-18  Alexey Proskuryakov  <ap@apple.com>
4646
4647        [WK2] Sandbox violations prevent attaching files to gmail messages
4648        https://bugs.webkit.org/show_bug.cgi?id=84263
4649        <rdar://problem/11248260>
4650
4651        Reviewed by Oliver Hunt.
4652
4653        * WebProcess/WebCoreSupport/WebDragClient.cpp: (WebKit::WebDragClient::willPerformDragDestinationAction):
4654        Prepare to the possibility that file data will be read. This needs to happen on every drop
4655        with files, not just after event dispatch.
4656
4657        * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::mayPerformUploadDragDestinationAction):
4658        * WebProcess/WebPage/WebPage.h:
4659        Renamed performUploadDragDestinationAction to mayPerformUploadDragDestinationAction. We don't
4660        know if an upload will actually happen, it's up to JavaScript code to decide.
4661
46622012-04-18  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
4663
4664        Clean-up WheelEvent Conversion.
4665        https://bugs.webkit.org/show_bug.cgi?id=84243
4666
4667        Reviewed by Simon Hausmann.
4668
4669        * Shared/qt/WebEventFactoryQt.cpp:
4670        (WebKit::WebEventFactory::createWebWheelEvent):
4671        * UIProcess/qt/QtViewportInteractionEngine.cpp:
4672        (WebKit::QtViewportInteractionEngine::wheelEvent):
4673
46742012-04-18  Zalan Bujtas  <zbujtas@gmail.com>
4675
4676        [Qt][WK2] Minibrowser asserts on startup at QtViewportInteractionEngine::ensureContentWithinViewportBoundary()
4677        https://bugs.webkit.org/show_bug.cgi?id=84172
4678
4679        Reviewed by Simon Hausmann.
4680
4681        After the viewport computing refactor, ensureContentWithinViewportBoundary() can be called
4682        with resumed page. QtViewportInteractionEngine::ensureContentWithinViewportBoundary()
4683        functionality does not necessarily require the page to be suspended. It's the caller's context
4684        that determines whether the page needs to be suspended, so it's the caller's responsibility
4685        to enforce the ASSERT().
4686        Remove the invalid ASSERT on m_suspendCount at QtViewportInteractionEngine::ensureContentWithinViewportBoundary()
4687
4688        * UIProcess/qt/QtViewportInteractionEngine.cpp:
4689        (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
4690
46912012-04-17  Alexey Proskuryakov  <ap@apple.com>
4692
4693        [Mac] USPS Shipping label prints without barcode
4694        https://bugs.webkit.org/show_bug.cgi?id=84099
4695        <rdar://problem/11133877>
4696
4697        Reviewed by Sam Weinig.
4698
4699        Use PDFDocuemnt instead of CGPDFDocument when printing PDFs, because PDFKit knows
4700        how to draw PDF buttons, and CG does not.
4701
4702        * Shared/mac/PDFKitImports.h: Added.
4703        * Shared/mac/PDFKitImports.mm: Added.
4704        * UIProcess/API/mac/WKPrintingView.mm:
4705        Moved code for dealing with dynamically loaded PDFKit from WKPrintingView, as we
4706        now also need it elsewhere.
4707
4708        * WebKit2.xcodeproj/project.pbxproj: Added
4709        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: Rebamed to .mm.
4710
4711        * WebProcess/Plugins/PDF/BuiltInPDFView.h: Changed m_pdfDocument to PDFDocument.
4712
4713        * WebProcess/Plugins/PDF/BuiltInPDFView.mm: Copied from Source/WebKit2/WebProcess/Plugins/PDF/BuiltInPDFView.cpp.
4714        (WebKit::BuiltInPDFView::pdfDocumentDidLoad):
4715        (WebKit::BuiltInPDFView::calculateSizes):
4716        (WebKit::BuiltInPDFView::paintContent):
4717        Changed m_pdfDocument to PDFDocument, and updated for the changes. We still use
4718        CGPDF when drawing to screen though, because that doesn't affect USPS.
4719
4720        * WebProcess/Plugins/Plugin.h: (WebKit::Plugin::pdfDocumentForPrinting): Updated
4721        the type, and changed ifsed from CG to MAC, as we're now fully dependent on Cocoa.
4722
4723        * WebProcess/Plugins/PluginView.h: (WebKit::PluginView::pdfDocumentForPrinting):
4724        Ditto.
4725
4726        * WebProcess/WebPage/WebPage.cpp:
4727        (WebKit::WebPage::pdfDocumentForPrintingFrame):
4728        (WebKit::WebPage::beginPrinting):
4729        (WebKit::WebPage::computePagesForPrinting):
4730        (WebKit::WebPage::drawRectToPDF):
4731        (WebKit::WebPage::drawPagesToPDF):
4732        * WebProcess/WebPage/WebPage.h:
4733        Moved PDF document printing code to WebPageMac.mm, as it's now Objective C.
4734
4735        * WebProcess/WebPage/mac/WebPageMac.mm:
4736        (WebKit::WebPage::computePagesForPrintingPDFDocument):
4737        (WebKit::roundCGFloat):
4738        (WebKit::drawPDFPage): While moving, also fixed a logic error in calculating the box
4739        (it used to intersect with an empty box).
4740        (WebKit::WebPage::drawRectToPDFFromPDFDocument):
4741        (WebKit::WebPage::drawPagesToPDFFromPDFDocument):
4742
47432012-04-17  Anders Carlsson  <andersca@apple.com>
4744
4745        Need a client callback for when the user tires to interact with an already unresponsive page
4746        https://bugs.webkit.org/show_bug.cgi?id=84201
4747        <rdar://problem/11140862>
4748
4749        Reviewed by Andreas Kling.
4750
4751        Add a interactionOccurredWhileProcessUnresponsive callback that's called when the unresponsiveness timer
4752        fires while it's already unresponsive.
4753
4754        * UIProcess/API/C/WKPage.h:
4755        * UIProcess/ResponsivenessTimer.cpp:
4756        (WebKit):
4757        (WebKit::ResponsivenessTimer::timerFired):
4758        (WebKit::ResponsivenessTimer::start):
4759        * UIProcess/ResponsivenessTimer.h:
4760        (Client):
4761        * UIProcess/WebLoaderClient.cpp:
4762        (WebKit::WebLoaderClient::processDidBecomeUnresponsive):
4763        (WebKit):
4764        (WebKit::WebLoaderClient::interactionOccurredWhileProcessUnresponsive):
4765        * UIProcess/WebLoaderClient.h:
4766        (WebLoaderClient):
4767        * UIProcess/WebPageProxy.cpp:
4768        (WebKit::WebPageProxy::interactionOccurredWhileProcessUnresponsive):
4769        (WebKit):
4770        * UIProcess/WebPageProxy.h:
4771        (WebPageProxy):
4772        * UIProcess/WebProcessProxy.cpp:
4773        (WebKit::WebProcessProxy::interactionOccurredWhileUnresponsive):
4774        (WebKit):
4775        * UIProcess/WebProcessProxy.h:
4776        (WebProcessProxy):
4777
47782012-04-17  Anders Carlsson  <andersca@apple.com>
4779
4780        Make sure that the layer hosting mode is kept up to date if it changes before the plug-in is initialized
4781        https://bugs.webkit.org/show_bug.cgi?id=84180
4782        <rdar://problem/11265113>
4783
4784        Reviewed by Andreas Kling.
4785
4786        * WebProcess/Plugins/PluginView.cpp:
4787        (WebKit::PluginView::setLayerHostingMode):
4788
47892012-04-17  Jer Noble  <jer.noble@apple.com>
4790
4791        Exiting full screen video brings the wrong Safari window to the foreground
4792        https://bugs.webkit.org/show_bug.cgi?id=83936
4793
4794        Reviewed by Adele Peterson.
4795
4796        Tell the original webView's window to makeKeyAndOrderFront once the exit
4797        animation completes.
4798
4799        * UIProcess/mac/WKFullScreenWindowController.mm:
4800        (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
4801
48022012-04-17  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
4803
4804        [EFL][WK2] Fix build break when FULLSCREEN_API is enabled.
4805        https://bugs.webkit.org/show_bug.cgi?id=84142
4806
4807        Reviewed by Martin Robinson.
4808
4809        Create a cpp file needed to build EFL port with FULLSCREEN_API.
4810
4811        * PlatformEfl.cmake: Added WebFullScreenManagerProxyEfl.cpp to build list.
4812        * UIProcess/WebFullScreenManagerProxy.h:
4813        (WebKit):
4814        * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp: Added.
4815        (WebKit):
4816        (WebKit::WebFullScreenManagerProxy::invalidate):
4817        (WebKit::WebFullScreenManagerProxy::close):
4818        (WebKit::WebFullScreenManagerProxy::isFullScreen):
4819        (WebKit::WebFullScreenManagerProxy::enterFullScreen):
4820        (WebKit::WebFullScreenManagerProxy::exitFullScreen):
4821        (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
4822        (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
4823
48242012-04-17  Andras Becsi  <andras.becsi@nokia.com>
4825
4826        [Qt][WK2] Refactor the gesture recognizers
4827        https://bugs.webkit.org/show_bug.cgi?id=83044
4828
4829        Reviewed by Kenneth Rohde Christiansen and Simon Hausmann.
4830
4831        This patch implements a simple decision tree in the web page event handler
4832        on the basis of how many active touch points the current touch event has.
4833
4834        Active touch points are pressed, moved or stationary and the number of these
4835        fully determine which gesture recognizer should be updated, cancelled or
4836        finished.
4837
4838        This new structure makes the internal states of the pinch and pan gesture
4839        recognizers independent from the event type, thus makes it possible to handle
4840        the transitions between these gestures in one centralized place which reduces
4841        code duplication and complexity and fixes some issues regarding incorrectly
4842        handled transitions.
4843
4844        * UIProcess/qt/QtPanGestureRecognizer.cpp:
4845        (WebKit::QtPanGestureRecognizer::update):
4846        (WebKit::QtPanGestureRecognizer::finish):
4847        (WebKit):
4848        (WebKit::QtPanGestureRecognizer::cancel):
4849        * UIProcess/qt/QtPanGestureRecognizer.h:
4850        (QtPanGestureRecognizer):
4851        * UIProcess/qt/QtPinchGestureRecognizer.cpp:
4852        (WebKit):
4853        (WebKit::QtPinchGestureRecognizer::update):
4854        (WebKit::QtPinchGestureRecognizer::finish):
4855        * UIProcess/qt/QtPinchGestureRecognizer.h:
4856        (QtPinchGestureRecognizer):
4857        * UIProcess/qt/QtTapGestureRecognizer.cpp:
4858        (WebKit::QtTapGestureRecognizer::withinDistance):
4859        (WebKit::QtTapGestureRecognizer::update):
4860        (WebKit::QtTapGestureRecognizer::cancel):
4861        (WebKit):
4862        (WebKit::QtTapGestureRecognizer::singleTapTimeout):
4863        (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
4864        (WebKit::QtTapGestureRecognizer::reset):
4865        * UIProcess/qt/QtTapGestureRecognizer.h:
4866        (QtTapGestureRecognizer):
4867        * UIProcess/qt/QtViewportInteractionEngine.cpp:
4868        (WebKit):
4869        * UIProcess/qt/QtViewportInteractionEngine.h:
4870        (QtViewportInteractionEngine):
4871        * UIProcess/qt/QtWebPageEventHandler.cpp:
4872        (QtWebPageEventHandler::resetGestureRecognizers):
4873        (QtWebPageEventHandler::doneWithTouchEvent):
4874
48752012-04-17  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
4876
4877        REGRESSION(r113172) Wheel events are scrolling inversed.
4878        https://bugs.webkit.org/show_bug.cgi?id=84156
4879
4880        Reviewed by Simon Hausmann.
4881
4882        * UIProcess/qt/QtViewportInteractionEngine.cpp:
4883        (WebKit::QtViewportInteractionEngine::wheelEvent):
4884
48852012-04-17  Balazs Kelemen  <kbalazs@webkit.org>
4886
4887        [Qt] Unreviewed ARM build fix
4888
4889        * PluginProcess/qt/PluginProcessMainQt.cpp:
4890        (WebKit::PluginProcessMain): Export this function.
4891
48922012-04-17  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
4893
4894        [Qt] Zoom out on second double-tap.
4895        https://bugs.webkit.org/show_bug.cgi?id=84145
4896
4897        Reviewed by Simon Hausmann.
4898
4899        * UIProcess/qt/QtViewportInteractionEngine.cpp:
4900        (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
4901        (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
4902        (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
4903        * UIProcess/qt/QtViewportInteractionEngine.h:
4904        (QtViewportInteractionEngine):
4905
49062012-04-17  Mariusz Grzegorczyk  <mariusz.g@samsung.com>
4907
4908        [EFL][WK2] Fix build break when CONTEXT_MENUS is disabled.
4909        https://bugs.webkit.org/show_bug.cgi?id=83285
4910
4911        Reviewed by Ryosuke Niwa.
4912
4913        Surround code related to context menu with ENABLE(CONTEXT_MENUS) macro.
4914        Add dummy functions for public API implementation related to context menu.
4915
4916        * Shared/API/c/WKContextMenuItem.cpp:
4917        (WKContextMenuItemGetTypeID):
4918        (WKContextMenuItemCreateAsAction):
4919        (WKContextMenuItemCreateAsCheckableAction):
4920        (WKContextMenuItemCreateAsSubmenu):
4921        (WKContextMenuItemSeparatorItem):
4922        (WKContextMenuItemGetTag):
4923        (WKContextMenuItemGetType):
4924        (WKContextMenuItemCopyTitle):
4925        (WKContextMenuItemGetEnabled):
4926        (WKContextMenuItemGetChecked):
4927        (WKContextMenuCopySubmenuItems):
4928        (WKContextMenuItemGetUserData):
4929        (WKContextMenuItemSetUserData):
4930        * Shared/WebContextMenuItem.cpp:
4931        * Shared/WebContextMenuItem.h:
4932        * Shared/WebContextMenuItemData.cpp:
4933        * Shared/WebContextMenuItemData.h:
4934        * UIProcess/API/C/WKPage.cpp:
4935        (WKPageSetPageContextMenuClient):
4936        * UIProcess/WebPageContextMenuClient.cpp:
4937        * UIProcess/WebPageContextMenuClient.h:
4938        * UIProcess/WebPageProxy.cpp:
4939        (WebKit):
4940        * UIProcess/WebPageProxy.h:
4941        (WebPageProxy):
4942        * UIProcess/WebPageProxy.messages.in:
4943        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
4944        (WKBundlePageSetContextMenuClient):
4945        * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
4946        * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
4947        * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
4948        * WebProcess/WebCoreSupport/WebContextMenuClient.h:
4949        * WebProcess/WebCoreSupport/efl/WebContextMenuClientEfl.cpp:
4950        * WebProcess/WebPage/WebContextMenu.cpp:
4951        * WebProcess/WebPage/WebContextMenu.h:
4952        * WebProcess/WebPage/WebPage.cpp:
4953        (WebKit::WebPage::WebPage):
4954        (WebKit):
4955        (WebKit::handleMouseEvent):
4956        (WebKit::WebPage::mouseEvent):
4957        * WebProcess/WebPage/WebPage.h:
4958        (WebPage):
4959        * WebProcess/WebPage/WebPage.messages.in:
4960
49612012-04-16  Ryuan Choi  <ryuan.choi@samsung.com>
4962
4963        [EFL][WK2] Add missing files to build webkit2/Efl.
4964        https://bugs.webkit.org/show_bug.cgi?id=76139
4965
4966        Reviewed by Ryosuke Niwa.
4967
4968        Add missing files needed to build webkit2/Efl.
4969
4970        * Shared/efl/PlatformCertificateInfo.h: Added.
4971        (WebKit):
4972        (PlatformCertificateInfo):
4973        (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
4974        (WebKit::PlatformCertificateInfo::encode):
4975        (WebKit::PlatformCertificateInfo::decode):
4976        * UIProcess/Launcher/efl/ThreadLauncherEfl.cpp: Added.
4977        (WebKit):
4978        (WebKit::ThreadLauncher::createWebThread):
4979
49802012-04-16  Brady Eidson  <beidson@apple.com>
4981
4982        Followup to http://trac.webkit.org/changeset/114323
4983
4984        For more correctness, actually include an autorelease pool instead of cleverly trying to avoid its use.
4985
4986        Reviewed by Mark Rowe.
4987
4988        * PluginProcess/mac/PluginProcessMainMac.mm:
4989        (WebKit::PluginProcessMain): 
4990
49912012-04-16  Brady Eidson  <beidson@apple.com>
4992
4993        <rdar://problem/11238965> Leak in Plugin Process when launched 32-bit
4994
4995        Reviewed by Jessie Berlin.
4996
4997        * PluginProcess/mac/PluginProcessMainMac.mm:
4998        (WebKit::PluginProcessMain): alloc/init an NSDictionary then release it, instead of leaking an autoreleased one.
4999
50002012-04-16  Anders Carlsson  <andersca@apple.com>
5001
5002        Nightly Back/Forward no longer calls plug-in's NPP_NewStream
5003        https://bugs.webkit.org/show_bug.cgi?id=83805
5004        <rdar://problem/11238748>
5005
5006        Reviewed by Simon Fraser.
5007
5008        When a page with a full-frame plug-in is restored from the page cache, it needs to re-fetch the plug-in stream.
5009
5010        Fix this by breaking the assumption that a plug-in will always get its data from WebCore if it's a full-frame plug-in;
5011        instead it only get its data from WebCore if it's a full-frame plug-in that's not being restored from the page cache.
5012        
5013        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
5014        (WebKit::NetscapePlugin::NetscapePlugin):
5015        Rename m_loadManually to m_shouldUseManualLoader.
5016
5017        (WebKit::NetscapePlugin::initialize):
5018        Get the mode from parameters.isFullFramePlugin instead.
5019
5020        (WebKit::NetscapePlugin::manualStreamDidReceiveResponse):
5021        (WebKit::NetscapePlugin::manualStreamDidReceiveData):
5022        (WebKit::NetscapePlugin::manualStreamDidFinishLoading):
5023        (WebKit::NetscapePlugin::manualStreamDidFail):
5024        Rename m_loadManually to m_shouldUseManualLoader.
5025
5026        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
5027        Rename m_loadManually to m_shouldUseManualLoader.
5028
5029        * WebProcess/Plugins/Plugin.cpp:
5030        (WebKit::Plugin::Parameters::encode):
5031        (WebKit::Plugin::Parameters::decode):
5032        * WebProcess/Plugins/Plugin.h:
5033        (Parameters):
5034        Add an extra isFullFramePlugin parameter, and rename loadManually to shouldUseManualLoader.
5035
5036        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
5037        (WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
5038        Initialize m_frameCameFromPageCache.
5039
5040        (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
5041        Set m_frameCameFromPageCache to true.
5042
5043        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
5044        Set m_frameCameFromPageCache to false.
5045
5046        (WebKit::WebFrameLoaderClient::createPlugin):
5047        Initialize isFullFramePlugin and shouldUseManualLoader.
5048
50492012-04-16  Alexey Proskuryakov  <ap@apple.com>
5050
5051        EndPrinting message should be sent synchronously when printing was initiated from DOM.
5052        https://bugs.webkit.org/show_bug.cgi?id=84049
5053        <rdar://problem/11096575>
5054
5055        Reviewed by Oliver Hunt.
5056
5057        * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::printFrame): When printing is
5058        initiated by WebProcess, all messages from UI process are sent synchronously to
5059        avoid being queued, and so should EndPrinting.
5060
50612012-04-16  Brady Eidson  <beidson@apple.com>
5062
5063        <rdar://problem/11249336> and https://bugs.webkit.org/show_bug.cgi?id=84050
5064        WebKit2 back/forward items in the page cache are never removed when the page is closed
5065
5066        Reviewed by Jessie Berlin and unofficially reviewed by Jon Lee.
5067
5068        Individual WebBackForwardListProxy's had no idea which items are associated with them.
5069        This adds that association and makes sure the proxy removes all associated items from the PageCache when it closes.
5070
5071        * WebProcess/WebPage/WebBackForwardListProxy.cpp:
5072        (WebKit::WebBackForwardListProxy::removeItem): Remove the item from the PageCache in case it was in it.
5073        (WebKit::WebBackForwardListProxy::addItem): Add the item ID to this back/forward list's set of associated IDs.
5074        (WebKit::WebBackForwardListProxy::close): Remove each associated item from the PageCache.
5075        * WebProcess/WebPage/WebBackForwardListProxy.h:
5076
50772012-04-16  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
5078
5079         [EFL][WK2] Fix build break in PageClientImpl.cpp.
5080         https://bugs.webkit.org/show_bug.cgi?=id=84034
5081
5082         Reviewed by Kenneth Rohde Christiansen.
5083
5084         Fixes typo in didChangeViewportProperites definition.
5085
5086         * UIProcess/API/efl/PageClientImpl.cpp:
5087         (WebKit::PageClientImpl::didChangeViewportProperties):
5088
50892012-04-16  Yael Aharon  <yael.aharon@nokia.com>
5090
5091        [Qt][WK2] Fixed elements position is wrong after zooming.
5092        https://bugs.webkit.org/show_bug.cgi?id=83981
5093
5094        Reviewed by Kenneth Rohde Christiansen.
5095
5096        Turn on the flag setFixedElementsLayoutRelativeToFrame. This causes fixed elements position to be calculated based on
5097        visibleWidth and visibleHeight. When zoom level grows, the visibleWidth and visibleHeight become smaller.
5098
5099        * WebProcess/WebPage/WebPage.cpp:
5100        (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
5101
51022012-04-16  Kenneth Rohde Christiansen  <kenneth@webkit.org>
5103
5104        [Qt] Clean up how the interaction engine is making use of ViewportAttributes
5105        https://bugs.webkit.org/show_bug.cgi?id=83895
5106
5107        Reviewed by Simon Hausmann.
5108
5109        Refactor how the interaction engine is using the ViewportAttributes
5110        and get rid of the Contraints subclass.
5111
5112        Push the ViewportAttributes through to the QQuickWebViewPrivate class
5113        and add some default values in the case the Legacy view is used.
5114
5115        * UIProcess/API/qt/qquickwebview.cpp:
5116        (QQuickWebViewLegacyPrivate::QQuickWebViewLegacyPrivate):
5117        (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
5118        * UIProcess/API/qt/qquickwebview_p_p.h:
5119        (QQuickWebViewPrivate):
5120        * UIProcess/API/qt/qwebviewportinfo.cpp:
5121        (QWebViewportInfo::QWebViewportInfo):
5122        (QWebViewportInfo::~QWebViewportInfo):
5123        (QWebViewportInfo::currentScale):
5124        (QWebViewportInfo::devicePixelRatio):
5125        (QWebViewportInfo::initialScale):
5126        (QWebViewportInfo::minimumScale):
5127        (QWebViewportInfo::maximumScale):
5128        (QWebViewportInfo::isScalable):
5129        (QWebViewportInfo::layoutSize):
5130        * UIProcess/qt/QtViewportInteractionEngine.cpp:
5131        (WebKit::QtViewportInteractionEngine::cssScaleFromItem):
5132        (WebKit::QtViewportInteractionEngine::itemScaleFromCSS):
5133        (WebKit::QtViewportInteractionEngine::itemCoordFromCSS):
5134        (WebKit::QtViewportInteractionEngine::innerBoundedCSSScale):
5135        (WebKit::QtViewportInteractionEngine::outerBoundedCSSScale):
5136        (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
5137        (WebKit::QtViewportInteractionEngine::setCSSScaleBounds):
5138        (WebKit::QtViewportInteractionEngine::setCSSScale):
5139        (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
5140        (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
5141        (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
5142        * UIProcess/qt/QtViewportInteractionEngine.h:
5143        (QtViewportInteractionEngine):
5144        (WebKit::QtViewportInteractionEngine::hadUserInteraction):
5145        (WebKit::QtViewportInteractionEngine::setAllowsUserScaling):
5146        (WebKit::QtViewportInteractionEngine::setContentToDevicePixelRatio):
5147
51482012-04-15  Carlos Garcia Campos  <cgarcia@igalia.com>
5149
5150        [GTK] Use GRefPtr to delete the default web context in WebKit2 GTK+
5151        https://bugs.webkit.org/show_bug.cgi?id=83752
5152
5153        Reviewed by Martin Robinson.
5154
5155        * UIProcess/API/gtk/WebKitWebContext.cpp:
5156        (createDefaultWebContext):
5157
51582012-04-13  Jer Noble  <jer.noble@apple.com>
5159
5160        Video at apple.com gets standard controls in addition to custom controls after returning from full screen
5161        https://bugs.webkit.org/show_bug.cgi?id=83939
5162
5163        Reviewed by Eric Carlson.
5164
5165        So that the media controls don't show up momentarily during full screen animations, call setAnimatingFullScreen(true)
5166        before calling will{Enter,Exit}FullScreen(), so that the CSS rule for full screen animation will be in effect
5167        immediately.
5168
5169        Similarly, call setAnimatingFullScreen(false) after calling did{Enter,Exit}FullScreen, so that the full screen media
5170        controls don't momentarily appear at the end of an animation.
5171
5172        * UIProcess/mac/WKFullScreenWindowController.mm:
5173        (-[WKFullScreenWindowController enterFullScreen:]):
5174        (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
5175        (-[WKFullScreenWindowController exitFullScreen]):
5176        (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
5177
51782012-04-13  Anders Carlsson  <andersca@apple.com>
5179
5180        Make sure that we're using the right compiler for generating derived sources.
5181
5182        Rubber-stamped by Dan Bernstein.
5183
5184        * WebKit2.xcodeproj/project.pbxproj:
5185
51862012-04-13  Anders Carlsson  <andersca@apple.com>
5187
5188        Include the error if we fail to initialize the web process sandbox
5189        https://bugs.webkit.org/show_bug.cgi?id=83927
5190
5191        Reviewed by Alexey Proskuryakov.
5192
5193        * WebProcess/mac/WebProcessMac.mm:
5194        (WebKit::initializeSandbox):
5195
51962012-04-13  Brady Eidson  <beidson@apple.com>
5197
5198        <rdar://problem/11176921> and https://bugs.webkit.org/show_bug.cgi?id=83600
5199        Need WebKit2 API to notify whether history loads are in the page cache
5200
5201        - Add a new WKBundlePageLoaderClient callback allowing the bundle to be notified
5202          of back/forward navigations (and deny them if it chooses)
5203        - Add a new API to WKBundleBackForwardListItem to probe if the item is in the page cache.
5204
5205        Reviewed by Darin Adler.
5206
5207        Add the new WKBundleBackForwardListItem API:
5208        * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp:
5209        (WKBundleBackForwardListItemIsInPageCache):
5210        * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.h:
5211        * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:
5212        (WebKit::InjectedBundleBackForwardListItem::isInPageCache):
5213
5214        Update the UI page loader client to allow for a user data object to be passed from the bundle:
5215        * UIProcess/API/C/WKPage.h:
5216        * UIProcess/WebLoaderClient.cpp:
5217        (WebKit::WebLoaderClient::shouldGoToBackForwardListItem): Update a comment typo.
5218        (WebKit::WebLoaderClient::willGoToBackForwardListItem): Update for the user data field.
5219        * UIProcess/WebLoaderClient.h:
5220        * UIProcess/WebPageProxy.cpp:
5221        (WebKit::WebPageProxy::willGoToBackForwardListItem):
5222        * UIProcess/WebPageProxy.h:
5223        * UIProcess/WebPageProxy.messages.in:
5224
5225        Add the new callback to the bundle loader client:
5226        * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 
5227        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
5228        (WebKit::InjectedBundlePageLoaderClient::shouldGoToBackForwardListItem):
5229        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
5230        (InjectedBundlePageLoaderClient):
5231
5232        Call the bundle client before doing anything else, possibly canceling the navigation:
5233        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
5234        (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem):
5235
5236        * WebProcess/qt/QtBuiltinBundlePage.cpp:
5237        (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage) Adopt new bundle client interface.
5238
52392012-04-13  Dinu Jacob  <dinu.jacob@nokia.com>
5240
5241        [Qt][WK2] Title in MiniBrowser is not updated for a page with no title
5242        https://bugs.webkit.org/show_bug.cgi?id=82483
5243
5244        Reviewed by Noam Rosenthal.
5245
5246        This fixes API tests broken by r113715.
5247
5248        * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
5249        * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
5250        * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml:
5251
52522012-04-13  Sheriff Bot  <webkit.review.bot@gmail.com>
5253
5254        Unreviewed, rolling out r113714.
5255        http://trac.webkit.org/changeset/113714
5256        https://bugs.webkit.org/show_bug.cgi?id=83887
5257
5258        It is behaving strange on the bots and needs more
5259        investigation. (Requested by jeez_ on #webkit).
5260
5261        * UIProcess/qt/QtPageClient.cpp:
5262        (QtPageClient::isViewWindowActive):
5263
52642012-04-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
5265
5266        [Qt] Use QQuickFlickable::setPixelAligned instead of doing pixel-alignment when rendering.
5267        https://bugs.webkit.org/show_bug.cgi?id=83770
5268
5269        Reviewed by Kenneth Rohde Christiansen.
5270
5271        - Do the alignment on the highest level as possible: the QQuickFlickable content item
5272          position. It already supports this with setPixelAligned which rounds the content item's position.
5273        - Also move the setClip(true) to the common constructor as this constructor is currently only used by WTR.
5274        - Remove setFlags(QQuickItem::ItemClipsChildrenToShape) as it is redundant with setClip(true).
5275
5276        * UIProcess/API/qt/qquickwebview.cpp:
5277        (QQuickWebViewPrivate::QQuickWebViewPrivate):
5278        (QQuickWebView::QQuickWebView):
5279
52802012-04-12  Alexey Proskuryakov  <ap@apple.com>
5281
5282        Preprocessing text files with modern clang treats double slashes in comments
5283        https://bugs.webkit.org/show_bug.cgi?id=83827
5284
5285        Reviewed by Mark Rowe.
5286
5287        * DerivedSources.make: Pass appropriate flags to both llvm and gcc.
5288
52892012-04-12  Brent Fulgham  <bfulgham@webkit.org>
5290
5291        [WinCairo] Build fix after Windows export definition file change.
5292
5293        * win/WebKit2CFLite.def: This file needs to be kept in sync with
5294        WebKit2.def (aside from the WebKitInterface exports.)
5295
52962012-04-12  Bear Travis  <betravis@adobe.com>
5297
5298        [CSS Exclusions] Add flag to enable / disable exclusions at runtime
5299        https://bugs.webkit.org/show_bug.cgi?id=83313
5300
5301        Reviewed by Ryosuke Niwa.
5302
5303        Adding windows symbols
5304
5305        * win/WebKit2.def:
5306        * win/WebKit2CFLite.def:
5307
53082012-04-12  Yael Aharon  <yael.aharon@nokia.com>
5309
5310        [Qt][WK2] Nested fixed elements scroll too fast
5311        https://bugs.webkit.org/show_bug.cgi?id=83720
5312
5313        Reviewed by Noam Rosenthal.
5314
5315        Set the fixedToViewport flag on the fixed position layers and adjust to
5316        the new function name for setting scrollPositionDelta.
5317
5318        * UIProcess/WebLayerTreeRenderer.cpp:
5319        (WebKit::WebLayerTreeRenderer::adjustPositionForFixedLayers):
5320        (WebKit::WebLayerTreeRenderer::setLayerState):
5321
53222012-04-12  Kenneth Rohde Christiansen  <kenneth@webkit.org>
5323
5324        Move viewport meta handling to the web process side
5325        https://bugs.webkit.org/show_bug.cgi?id=83771
5326
5327        Reviewed by Simon Hausmann.
5328
5329        Instead of computing the viewport attributes on both sides,
5330        we now do everything on the web process side, and just send
5331        over the computed result.
5332
5333        * Scripts/webkit2/messages.py:
5334        (struct_or_class):
5335        (headers_for_type):
5336        * Shared/WebCoreArgumentCoders.cpp:
5337        (CoreIPC::::encode):
5338        (CoreIPC::::decode):
5339        * Shared/WebCoreArgumentCoders.h:
5340        (WebCore):
5341        * UIProcess/API/efl/PageClientImpl.cpp:
5342        (WebKit::PageClientImpl::didChangeViewportProperties):
5343        * UIProcess/API/efl/PageClientImpl.h:
5344        (PageClientImpl):
5345        * UIProcess/API/gtk/PageClientImpl.cpp:
5346        (WebKit::PageClientImpl::didChangeViewportProperties):
5347        * UIProcess/API/gtk/PageClientImpl.h:
5348        (PageClientImpl):
5349        * UIProcess/API/mac/PageClientImpl.h:
5350        (PageClientImpl):
5351        * UIProcess/API/mac/PageClientImpl.mm:
5352        (WebKit::PageClientImpl::didChangeViewportProperties):
5353        * UIProcess/API/qt/qquickwebview.cpp:
5354        (QQuickWebViewPrivate::didRelaunchProcess):
5355        (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
5356        (QQuickWebViewFlickablePrivate::updateViewportSize):
5357        * UIProcess/API/qt/qquickwebview_p_p.h:
5358        (QQuickWebViewPrivate::didChangeViewportProperties):
5359        (QQuickWebViewPrivate):
5360        (QQuickWebViewFlickablePrivate):
5361        * UIProcess/PageClient.h:
5362        (WebCore):
5363        (PageClient):
5364        * UIProcess/WebPageProxy.cpp:
5365        (WebKit::WebPageProxy::didChangeViewportProperties):
5366        * UIProcess/WebPageProxy.h:
5367        (WebCore):
5368        (WebPageProxy):
5369        * UIProcess/WebPageProxy.messages.in:
5370        * UIProcess/qt/QtPageClient.cpp:
5371        (QtPageClient::didChangeViewportProperties):
5372        * UIProcess/qt/QtPageClient.h:
5373        (QtPageClient):
5374        * UIProcess/win/WebView.cpp:
5375        (WebKit::WebView::didChangeViewportProperties):
5376        * UIProcess/win/WebView.h:
5377        (WebView):
5378        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
5379        (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
5380        (WebKit):
5381        * WebProcess/WebPage/WebPage.cpp:
5382        (WebKit::WebPage::sendViewportAttributesChanged):
5383        (WebKit):
5384        (WebKit::WebPage::setViewportSize):
5385        * WebProcess/WebPage/WebPage.h:
5386        (WebPage):
5387
53882012-04-12  Zalan Bujtas  <zbujtas@gmail.com>
5389
5390        [Qt][WK2] Zoom gesture with double tap crashes on iframe when main frame has scroll offset.
5391        https://bugs.webkit.org/show_bug.cgi?id=83428
5392
5393        Reviewed by Kenneth Rohde Christiansen.
5394
5395        When delegate scrolling is on, the frame view needs to ignore scrolling offset when converting
5396        coordinates. It is already done at ScrollView base class and this patch copies the logic to the
5397        FrameView subclass.
5398        Also make sure that TouchAdjustment's findBest*() functions' return value are not ignored by the caller.
5399
5400        * WebProcess/WebPage/WebPage.cpp:
5401        (WebKit::WebPage::highlightPotentialActivation):
5402        (WebKit::WebPage::findZoomableAreaForPoint):
5403
54042012-04-11  Andy Estes  <aestes@apple.com>
5405
5406        Remove an autorelease pool made redundant by r113923.
5407        https://bugs.webkit.org/show_bug.cgi?id=83730
5408
5409        Reviewed by Dan Bernstein.
5410        
5411        Remove flushLayer()'s autorelease pool, since one now exists in the
5412        call frame above it (in LayerFlushScheduler::runLoopObserverCallback()).
5413
5414        * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
5415        (WebKit::LayerTreeHostCAMac::flushLayers):
5416
54172012-04-11  Carlos Garcia Campos  <cgarcia@igalia.com>
5418
5419        [GTK] Initial cookies API for WebKit2 GTK+ API
5420        https://bugs.webkit.org/show_bug.cgi?id=82441
5421
5422        Reviewed by Gustavo Noronha Silva.
5423
5424        * GNUmakefile.am: Add new files to compilation.
5425        * UIProcess/API/gtk/WebKitCookieManager.cpp: Added.
5426        (webkit_cookie_manager_init):
5427        (webkitCookieManagerFinalize):
5428        (webkit_cookie_manager_class_init):
5429        (webkitCookieManagerCreate): Create a new WebKitCookieManager for
5430        the given WKCookieManagerRef.
5431        (webkit_cookie_manager_set_accept_policy): Set the cookie
5432        acceptance policy.
5433        (webkitCookieManagerGetAcceptPolicyCallback): Callback called by
5434        the C API when the cookie acceptance policy has been received.
5435        (webkit_cookie_manager_get_accept_policy): Asynchronously get the
5436        cookie acceptance policy.
5437        (webkit_cookie_manager_get_accept_policy_finish): Finish async
5438        operation started by webkit_cookie_manager_get_accept_policy()
5439        returning the cookie acceptance policy.
5440        (webkitCookieManagerGetDomainsWithCookiesCallback): Callback
5441        called by the C API when the list of hostnames with cookies has
5442        been received.
5443        (webkit_cookie_manager_get_domains_with_cookies): Asynchronously
5444        get the list of domains with cookies.
5445        (webkit_cookie_manager_get_domains_with_cookies_finish): Finish
5446        async operation started by
5447        webkit_cookie_manager_get_domains_with_cookies() returning the
5448        list of domains.
5449        (webkit_cookie_manager_delete_cookies_for_domain): Delete all
5450        cookies for the given domain.
5451        (webkit_cookie_manager_delete_all_cookies): Delete all cookies.
5452        * UIProcess/API/gtk/WebKitCookieManager.h: Added.
5453        * UIProcess/API/gtk/WebKitCookieManagerPrivate.h: Added.
5454        * UIProcess/API/gtk/WebKitWebContext.cpp:
5455        (webkit_web_context_get_cookie_manager): Get the
5456        WebKitCookieManager associated with the web context.
5457        * UIProcess/API/gtk/WebKitWebContext.h:
5458        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new chapter for
5459        WebKitCookieManager.
5460        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
5461        * UIProcess/API/gtk/docs/webkit2gtk.types: Add
5462        webkit_cookie_manager_get_type.
5463        * UIProcess/API/gtk/tests/GNUmakefile.am:
5464        * UIProcess/API/gtk/tests/TestCookieManager.cpp: Added.
5465        (testCookieManagerAcceptPolicy):
5466        (testCookieManagerDeleteCookies):
5467        (serverCallback):
5468        (beforeAll):
5469        (afterAll):
5470        * UIProcess/API/gtk/webkit2.h: Include WebKitCookieManager.h.
5471
54722012-04-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
5473
5474        [Qt] InspectorServer: Add an API level auto test
5475        https://bugs.webkit.org/show_bug.cgi?id=83594
5476
5477        Reviewed by Kenneth Rohde Christiansen.
5478
5479        This tests InspectorServer and WebSocketServer.
5480
5481        * UIProcess/API/qt/tests/inspectorserver/inspectorserver.pro: Added.
5482        * UIProcess/API/qt/tests/inspectorserver/tst_inspectorserver.cpp: Added.
5483        (tst_InspectorServer):
5484        (tst_InspectorServer::tst_InspectorServer):
5485        (tst_InspectorServer::prepareWebViewComponent):
5486        (tst_InspectorServer::newWebView):
5487        (tst_InspectorServer::init):
5488        (tst_InspectorServer::cleanup):
5489        (tst_InspectorServer::webView):
5490        (tst_InspectorServer::fetchPageList):
5491        (tst_InspectorServer::testPageList): This tests that pages with developerExtrasEnabled appear available for inspection.
5492        (tst_InspectorServer::testRemoteDebuggingMessage): This tests a web socket connection using a raw inspector command.
5493        (tst_InspectorServer::openRemoteDebuggingSession): This tests the whole pipeline by starting a remote inspection session.
5494        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
5495        (tst_QQuickWebView):
5496        (tst_QQuickWebView::prepareWebViewComponent):
5497        * UIProcess/API/qt/tests/tests.pri:
5498        * UIProcess/API/qt/tests/util.cpp:
5499        (LoadStartedCatcher::LoadStartedCatcher):
5500        (LoadStartedCatcher::onLoadingChanged):
5501        * UIProcess/API/qt/tests/util.h:
5502        (LoadStartedCatcher):
5503
55042012-04-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
5505
5506        [Qt] InspectorServer: Improve the JSON page list's parameter names
5507        https://bugs.webkit.org/show_bug.cgi?id=83592
5508
5509        Reviewed by Simon Hausmann.
5510
5511        - Add "id" that would be needed to build the URL when using local front-end resources
5512          (and will be used by tests)
5513        - Rename description to "title", the description contains both the title and URL on the final list
5514        - Rename inspectorLocation to "inspectorUrl" to match with the url parameter.
5515
5516        * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
5517        (WebKit::WebInspectorServer::buildPageList):
5518        * qt/Resources/inspectorPageIndex.html:
5519
55202012-04-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
5521
5522        [Qt] Fix issues when using the WebView as ShaderEffectSource
5523        https://bugs.webkit.org/show_bug.cgi?id=83587
5524
5525        Reviewed by Noam Rosenthal.
5526
5527        Qt is going to mirror the projection matrix when the shader effect source
5528        is grabbed. Detect that the matrix is mirrored and pass on this information
5529        to TextureMapper so that it can do the same.
5530
5531        * UIProcess/WebLayerTreeRenderer.cpp:
5532        (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
5533        * UIProcess/WebLayerTreeRenderer.h:
5534        (WebLayerTreeRenderer):
5535        * UIProcess/qt/QtWebPageSGNode.cpp:
5536        (WebKit::ContentsSGNode::render):
5537
55382012-04-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
5539
5540        [Qt] Remove unnecessary rendering code
5541        https://bugs.webkit.org/show_bug.cgi?id=83591
5542
5543        Reviewed by Noam Rosenthal.
5544
5545        - Remove code that isn't needed since the introduction of WebLayerTreeRenderer
5546        - Remove TextureMapper::bindSurface(0) calls following beginPainting, which calls it itself.
5547
5548        * UIProcess/API/qt/qquickwebpage.cpp:
5549        (QQuickWebPagePrivate::paint):
5550        * UIProcess/API/qt/qquickwebpage_p_p.h:
5551        (QQuickWebPagePrivate):
5552        * UIProcess/DrawingAreaProxy.h:
5553        * UIProcess/DrawingAreaProxyImpl.cpp:
5554        * UIProcess/DrawingAreaProxyImpl.h:
5555        (DrawingAreaProxyImpl):
5556        * UIProcess/LayerTreeHostProxy.cpp:
5557        * UIProcess/LayerTreeHostProxy.h:
5558        (LayerTreeHostProxy):
5559        * UIProcess/WebLayerTreeRenderer.cpp:
5560        (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
5561        (WebKit::WebLayerTreeRenderer::paintToGraphicsContext):
5562
55632012-04-10  Carlos Garcia Campos  <cgarcia@igalia.com>
5564
5565        Unreviewed. Fix make distcheck issues.
5566
5567        * GNUmakefile.am: Add missing header file.
5568
55692012-04-10  Mark Rowe  <mrowe@apple.com>
5570
5571        <rdar://problem/10583749> WebKit2 should log to both ASL and stderr
5572
5573        Replace direct calls to fprintf stderr with calls to WTFLogAlways.
5574
5575        Reviewed by Sam Weinig.
5576
5577        * PluginProcess/mac/PluginProcessMainMac.mm:
5578        (WebKit::PluginProcessMain):
5579        * UIProcess/WebProcessProxy.cpp:
5580        (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
5581        (WebKit::WebProcessProxy::didReceiveInvalidMessage):
5582        * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
5583        (WebKit::InjectedBundle::load):
5584        * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
5585        (readSandboxProfile):
5586        (WKN_EnterSandbox):
5587        * WebProcess/mac/WebProcessMac.mm:
5588        (WebKit::initializeSandbox):
5589        * WebProcess/mac/WebProcessMainMac.mm:
5590        (WebKit::WebProcessMain):
5591
55922012-04-10  Yael Aharon  <yael.aharon@nokia.com>
5593
5594        Unreviewed build fix after r113791.
5595
5596        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
5597        (WebCore::WebGraphicsLayer::WebGraphicsLayer):
5598
55992012-04-10  Yael Aharon  <yael.aharon@nokia.com>
5600
5601        Initial support for fixed position elements in Qt WebKit2
5602        https://bugs.webkit.org/show_bug.cgi?id=81786
5603
5604        Reviewed by Noam Rosenthal.
5605
5606        Turn on the flag acceleratedCompositingForFixedPositionEnabled when using fixed layout.
5607        As we scroll, we keep track of the delta in scroll position between the UI and web processes,
5608        and adjust the position of all the fixed layers by that delta.
5609        When WebLayerTreeRenderer receives a new scroll position from the web process, it keeps it as pending,
5610        and commit the new scroll position in flushLayerChanges.
5611        This patch does not address scrolling overshoot and it does not fix the wrong positioning
5612        that occurs when we zoom. These issues will be addressed in future patches.
5613
5614        * Shared/WebLayerTreeInfo.h:
5615        * UIProcess/API/qt/qquickwebpage.cpp:
5616        (QQuickWebPagePrivate::updateSize):
5617        * UIProcess/LayerTreeHostProxy.cpp:
5618        (WebKit::LayerTreeHostProxy::setContentsSize):
5619        (WebKit):
5620        (WebKit::LayerTreeHostProxy::renderNextFrame):
5621        (WebKit::LayerTreeHostProxy::didChangeScrollPosition):
5622        * UIProcess/LayerTreeHostProxy.h:
5623        (LayerTreeHostProxy):
5624        * UIProcess/LayerTreeHostProxy.messages.in:
5625        * UIProcess/WebLayerTreeRenderer.cpp:
5626        (WebKit::boundedScrollPosition):
5627        (WebKit):
5628        (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
5629        (WebKit::WebLayerTreeRenderer::setContentsSize):
5630        (WebKit::WebLayerTreeRenderer::adjustPositionForFixedLayers):
5631        (WebKit::WebLayerTreeRenderer::didChangeScrollPosition):
5632        (WebKit::WebLayerTreeRenderer::syncLayerParameters):
5633        (WebKit::WebLayerTreeRenderer::deleteLayer):
5634        (WebKit::WebLayerTreeRenderer::flushLayerChanges):
5635        * UIProcess/WebLayerTreeRenderer.h:
5636        (WebLayerTreeRenderer):
5637        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
5638        (WebCore::WebGraphicsLayer::WebGraphicsLayer):
5639        (WebCore::WebGraphicsLayer::syncCompositingState):
5640        (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
5641        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
5642        (WebGraphicsLayerClient):
5643        (WebCore::WebGraphicsLayer::fixedToViewport):
5644        (WebCore::WebGraphicsLayer::setFixedToViewport):
5645        (WebGraphicsLayer):
5646        * WebProcess/WebPage/WebPage.cpp:
5647        (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
5648        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
5649        (WebKit::LayerTreeHostQt::LayerTreeHostQt):
5650        (WebKit::LayerTreeHostQt::didSyncCompositingStateForLayer):
5651        (WebKit::updateOffsetFromViewportForSelf):
5652        (WebKit):
5653        (WebKit::updateOffsetFromViewportForLayer):
5654        (WebKit::LayerTreeHostQt::syncFixedLayers):
5655        (WebKit::LayerTreeHostQt::setVisibleContentsRect):
5656        * WebProcess/WebPage/qt/LayerTreeHostQt.h:
5657        (LayerTreeHostQt):
5658
56592012-04-10  Anders Carlsson  <andersca@apple.com>
5660
5661        Fix fast/images/exif-orientation.html WebKitTestRunner failure
5662        https://bugs.webkit.org/show_bug.cgi?id=83627
5663
5664        Reviewed by Sam Weinig.
5665
5666        Handle overriding the WebKitShouldRespectImageOrientation preference.
5667
5668        * WebProcess/InjectedBundle/InjectedBundle.cpp:
5669        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
5670
56712012-04-10  No'am Rosenthal  <noam.rosenthal@nokia.com>
5672
5673        [Qt][WK2] Manage graphics buffers in the web process
5674        https://bugs.webkit.org/show_bug.cgi?id=78675
5675
5676        Added ShareableSurface, a class allowing the use of GPU-enabled
5677        surfaces for bitmap transfer between the web and UI processes.
5678        Since GraphicsSurfaces may not always be available, ShareableSurface
5679        uses a standard ShareableBitmap as a fallback backend.
5680
5681        The necessary plumbing was added in WebKit2 for passing updates via
5682        ShareableSurfaces instead of ShareableBitmaps. SurfaceUpdateInfo was
5683        added, as to not make UpdateInfo more complicated.
5684
5685        Reviewed by Kenneth Rohde Christiansen.
5686
5687        * Shared/ShareableSurface.cpp: Added.
5688        * Shared/ShareableSurface.h: Added.
5689        * Shared/SurfaceUpdateInfo.cpp: Added.
5690        * Shared/SurfaceUpdateInfo.h: Added.
5691        * Target.pri:
5692        * UIProcess/LayerTreeHostProxy.cpp:
5693        (WebKit::LayerTreeHostProxy::createTileForLayer):
5694        (WebKit::LayerTreeHostProxy::updateTileForLayer):
5695        * UIProcess/LayerTreeHostProxy.h:
5696        (LayerTreeHostProxy):
5697        * UIProcess/LayerTreeHostProxy.messages.in:
5698        * UIProcess/WebLayerTreeRenderer.cpp:
5699        (WebKit::WebLayerTreeRenderer::updateTile):
5700        * UIProcess/WebLayerTreeRenderer.h:
5701        (TileUpdate):
5702        (WebKit::WebLayerTreeRenderer::TileUpdate::TileUpdate):
5703        * UIProcess/qt/LayerBackingStore.cpp:
5704        (WebKit::LayerBackingStoreTile::swapBuffers):
5705        (WebKit::LayerBackingStoreTile::setBackBuffer):
5706        (WebKit::LayerBackingStore::updateTile):
5707        * UIProcess/qt/LayerBackingStore.h:
5708        (LayerBackingStoreTile):
5709        (LayerBackingStore):
5710        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
5711        (WebCore::WebGraphicsLayer::beginContentUpdate):
5712        (WebCore::WebGraphicsLayer::createTile):
5713        (WebCore::WebGraphicsLayer::updateTile):
5714        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
5715        (WebGraphicsLayerClient):
5716        (WebGraphicsLayer):
5717        * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
5718        (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
5719        * WebProcess/WebPage/TiledBackingStoreRemoteTile.h:
5720        (WebKit):
5721        (TiledBackingStoreRemoteTileClient):
5722        * WebProcess/WebPage/UpdateAtlas.cpp:
5723        (WebKit::UpdateAtlas::UpdateAtlas):
5724        (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
5725        * WebProcess/WebPage/UpdateAtlas.h:
5726        (WebKit::UpdateAtlas::surface):
5727        (WebKit::UpdateAtlas::size):
5728        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
5729        (WebKit::LayerTreeHostQt::createTile):
5730        (WebKit::LayerTreeHostQt::updateTile):
5731        (WebKit::LayerTreeHostQt::beginContentUpdate):
5732        * WebProcess/WebPage/qt/LayerTreeHostQt.h:
5733        (LayerTreeHostQt):
5734
57352012-04-10  Patrick Gansterer  <paroga@webkit.org>
5736
5737        [CMake] Enable USE_FOLDERS property
5738        https://bugs.webkit.org/show_bug.cgi?id=83571
5739
5740        Reviewed by Daniel Bates.
5741
5742        Setting the FOLDER property on targets gives more structure 
5743        to the generated Visual Studio solutions.
5744        This does not affect other CMake generators.
5745
5746        * CMakeLists.txt:
5747
57482012-04-10  Dinu Jacob  <dinu.jacob@nokia.com>
5749
5750        [Qt][WK2] Assertion failure on loading new page after panning/zooming
5751        https://bugs.webkit.org/show_bug.cgi?id=83049
5752
5753        Reviewed by Kenneth Rohde Christiansen.
5754
5755        When handling contents size change, set the visible content rectangle immediately,
5756        instead of animating to it.
5757
5758        * UIProcess/qt/QtViewportInteractionEngine.cpp:
5759        (WebKit::QtViewportInteractionEngine::itemSizeChanged):
5760
57612012-04-10  Dinu Jacob  <dinu.jacob@nokia.com>
5762
5763        [Qt][WK2] Title in MiniBrowser is not updated for a page with no title
5764        https://bugs.webkit.org/show_bug.cgi?id=82483
5765
5766        Reviewed by Kenneth Rohde Christiansen.
5767
5768        titleChanged signal is not emitted on comitting a new load.
5769
5770        * UIProcess/API/qt/tests/html/basic_page.html:
5771        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
5772        (tst_QQuickWebView):
5773        (tst_QQuickWebView::titleUpdate):
5774        * UIProcess/qt/QtWebPageLoadClient.cpp:
5775        (QtWebPageLoadClient::didCommitLoadForFrame):
5776
57772012-04-10  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
5778
5779        [Qt][WK2] Implement PageClient::isViewWindowActive()
5780        https://bugs.webkit.org/show_bug.cgi?id=81143
5781
5782        Reviewed by Kenneth Rohde Christiansen.
5783
5784        This patch implements PageClient::isViewWindowActive()
5785        now that QQuickCanvas::isActive() is available (from QWindow).
5786
5787        * UIProcess/qt/QtPageClient.cpp:
5788        (QtPageClient::isViewWindowActive):
5789
57902012-04-10  Philippe Normand <pnormand@igalia.com> and Carlos Garcia Campos  <cgarcia@igalia.com>
5791
5792        [WK2][GTK] FullScreen signals
5793        https://bugs.webkit.org/show_bug.cgi?id=76166
5794
5795        Reviewed by Gustavo Noronha Silva.
5796
5797        * GNUmakefile.am: Add new files to compilation.
5798        * UIProcess/API/C/gtk/WKFullScreenClientGtk.cpp:
5799        (WKViewSetFullScreenClientGtk): Initialize WebKitWebViewBase
5800        fullscreen client.
5801        * UIProcess/API/C/gtk/WKFullScreenClientGtk.h:
5802        * UIProcess/API/gtk/WebKitFullscreenClient.cpp: Added.
5803        (willEnterFullScreen): Call webkitWebViewEnterFullScreen().
5804        (willExitFullScreen): Call webkitWebViewLeaveFullScreen().
5805        (attachFullScreenClientToView): Initialize FullScreenClient adding
5806        implementations for willEnterFullScreen and willExitFullScreen callbacks.
5807        * UIProcess/API/gtk/WebKitFullscreenClient.h: Added.
5808        * UIProcess/API/gtk/WebKitPrivate.h:
5809        * UIProcess/API/gtk/WebKitWebView.cpp:
5810        (webkitWebViewConstructed): Attach fullscreen client to view.
5811        (webkit_web_view_class_init): Add WebKitWebView::enter-fullscreen
5812        and WebKitWebView::leave-fullscreen signals.
5813        (webkitWebViewEnterFullScreen): Emit
5814        WebKitWebView::enter-fullscreen signal.
5815        (webkitWebViewLeaveFullScreen): Emit
5816        WebKitWebView::leave-fullscreen signal.
5817        * UIProcess/API/gtk/WebKitWebView.h:
5818        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
5819        (webkitWebViewBaseKeyPressEvent): Only return early when leaving
5820        fullscreen, otherwise let the view process the key pressed.
5821        (webkitWebViewBaseEnterFullScreen): Return early if
5822        willEnterFullScreen callback is handled and returns false.
5823        (webkitWebViewBaseExitFullScreen): Return early if
5824        willExitFullScreen callback is handled and returns false.
5825        (webkitWebViewBaseInitializeFullScreenClient): Initialize the
5826        fullscreen client.
5827        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
5828        * UIProcess/API/gtk/WebKitWebViewPrivate.h:
5829        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
5830        (testWebViewFullScreen):
5831        (beforeAll):
5832        * UIProcess/API/gtk/tests/WebViewTest.cpp:
5833        (WebViewTest::keyStroke): Helper function to synthesize key
5834        press/release events.
5835        * UIProcess/API/gtk/tests/WebViewTest.h:
5836        * UIProcess/API/gtk/webkit2marshal.list:
5837        * UIProcess/gtk/WebFullScreenClientGtk.cpp:
5838        (WebKit::WebFullScreenClientGtk::willEnterFullScreen): Call
5839        willEnterFullScreen callback if defined.
5840        (WebKit::WebFullScreenClientGtk::willExitFullScreen): Call
5841        willExitFullScreen callback if defined.
5842        * UIProcess/gtk/WebFullScreenClientGtk.h:
5843
58442012-04-10  Patrick Gansterer  <paroga@webkit.org>
5845
5846        [CMake] Add missing source files to build system
5847
5848        * CMakeLists.txt:
5849
58502012-04-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
5851
5852        [WK2] Enable using a single ShareableBitmap for multiple updates
5853        https://bugs.webkit.org/show_bug.cgi?id=83424
5854
5855        Reviewed by Kenneth Rohde Christiansen.
5856
5857        Enabled creating a GraphicsContext that references a rect inside ShareableBitmap.
5858        Added bitmapOffset to UpdateInfo, to allow updates to reference an offset inside the bitmap.
5859        Added UpdateAtlas, a class that manages available rects in a larger ShareableBitmap.
5860
5861        In this iteration, UpdateAtlas has a simple behavior where a rect inside the bitmap is
5862        either available or used. When the buffers are swapped, all used buffers become available
5863        again. A future enhancement might allow triple-buffering, where available rects can be
5864        updated while other rects from the same atlas are in use.
5865
5866        Added the necessary plumbing to allow Qt's UI-side compositing to take advantage of
5867        UpdateAtlas. LayerTreeHostQt creates an atlas per type of bitmap (i.e. one opaque and one
5868        alpha-enabled atlas). When a tile wants to update and there's no available scratch-buffer,
5869        the update would be postponed to the next frame, creating a tiling-artifact in low memory
5870        situations.
5871
5872        * Shared/UpdateInfo.cpp:
5873        (WebKit::UpdateInfo::encode):
5874        (WebKit::UpdateInfo::decode):
5875        * Shared/UpdateInfo.h:
5876        (UpdateInfo):
5877        * Target.pri:
5878        * UIProcess/LayerTreeHostProxy.cpp:
5879        (WebKit::LayerTreeHostProxy::updateTileForLayer):
5880        * UIProcess/WebLayerTreeRenderer.cpp:
5881        (WebKit::WebLayerTreeRenderer::syncLayerParameters):
5882        (WebKit::WebLayerTreeRenderer::updateTile):
5883        (WebKit::WebLayerTreeRenderer::createImage):
5884        * UIProcess/WebLayerTreeRenderer.h:
5885        (TileUpdate):
5886        (WebKit::WebLayerTreeRenderer::TileUpdate::TileUpdate):
5887        (WebLayerTreeRenderer):
5888        * UIProcess/qt/LayerBackingStore.cpp:
5889        (WebKit::LayerBackingStoreTile::swapBuffers):
5890        (WebKit::LayerBackingStoreTile::setBackBuffer):
5891        (WebKit::LayerBackingStore::createTile):
5892        * UIProcess/qt/LayerBackingStore.h:
5893        (LayerBackingStoreTile):
5894        (LayerBackingStore):
5895        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
5896        (WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor):
5897        (WebCore::WebGraphicsLayer::beginContentUpdate):
5898        (WebCore):
5899        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
5900        (WebGraphicsLayerClient):
5901        (WebGraphicsLayer):
5902        * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
5903        (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
5904        * WebProcess/WebPage/TiledBackingStoreRemoteTile.h:
5905        (TiledBackingStoreRemoteTileClient):
5906        * WebProcess/WebPage/UpdateAtlas.cpp: Added.
5907        (WebKit):
5908        (WebKit::UpdateAtlas::UpdateAtlas):
5909        (WebKit::nextPowerOfTwo):
5910        (WebKit::UpdateAtlas::buildLayoutIfNeeded):
5911        (WebKit::UpdateAtlas::findAvailableIndex):
5912        (WebKit::UpdateAtlas::didSwapBuffers):
5913        (WebKit::UpdateAtlas::acquireScratchBuffer):
5914        (WebKit::UpdateAtlas::offsetForIndex):
5915        * WebProcess/WebPage/UpdateAtlas.h: Added.
5916        (WebCore):
5917        (WebKit):
5918        (UpdateAtlas):
5919        (WebKit::UpdateAtlas::bitmap):
5920        (WebKit::UpdateAtlas::size):
5921        (WebKit::UpdateAtlas::flags):
5922        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
5923        (WebKit::LayerTreeHostQt::adoptImageBackingStore):
5924        (WebKit::LayerTreeHostQt::renderNextFrame):
5925        (WebKit::LayerTreeHostQt::purgeBackingStores):
5926        (WebKit):
5927        (WebKit::LayerTreeHostQt::getAtlas):
5928        (WebKit::LayerTreeHostQt::beginContentUpdate):
5929        * WebProcess/WebPage/qt/LayerTreeHostQt.h:
5930        (LayerTreeHostQt):
5931
59322012-04-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
5933
5934        [Qt][WK2] Sync the layer's state and the layer's children separately
5935        https://bugs.webkit.org/show_bug.cgi?id=82534
5936
5937        Reviewed by Kenneth Rohde Christiansen.
5938
5939        Switched the WebLayerInfo struct, which includes a single layer's state,
5940        to use only POD types that can be serialized via SimpleArgumentCoder.
5941        To allow POD-serialization, we serialize the children IDs in a seperate
5942        message (SetLayerChildren), and only when the tree layout has actually
5943        been modified.
5944
5945        * Shared/WebLayerTreeInfo.cpp:
5946        (WebKit::WebLayerInfo::encode):
5947        (WebKit::WebLayerInfo::decode):
5948        * Shared/WebLayerTreeInfo.h:
5949        (WebKit::WebLayerInfo::WebLayerInfo):
5950        * UIProcess/LayerTreeHostProxy.cpp:
5951        (WebKit::LayerTreeHostProxy::setCompositingLayerState):
5952        (WebKit):
5953        (WebKit::LayerTreeHostProxy::setCompositingLayerChildren):
5954        * UIProcess/LayerTreeHostProxy.h:
5955        (LayerTreeHostProxy):
5956        * UIProcess/LayerTreeHostProxy.messages.in:
5957        * UIProcess/WebLayerTreeRenderer.cpp:
5958        (WebKit::WebLayerTreeRenderer::setLayerChildren):
5959        (WebKit):
5960        (WebKit::WebLayerTreeRenderer::setLayerState):
5961        * UIProcess/WebLayerTreeRenderer.h:
5962        (WebLayerTreeRenderer):
5963        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
5964        (WebCore::WebGraphicsLayer::didChangeLayerState):
5965        (WebCore):
5966        (WebCore::WebGraphicsLayer::didChangeChildren):
5967        (WebCore::WebGraphicsLayer::didChangeGeometry):
5968        (WebCore::WebGraphicsLayer::WebGraphicsLayer):
5969        (WebCore::WebGraphicsLayer::setChildren):
5970        (WebCore::WebGraphicsLayer::addChild):
5971        (WebCore::WebGraphicsLayer::addChildAtIndex):
5972        (WebCore::WebGraphicsLayer::addChildAbove):
5973        (WebCore::WebGraphicsLayer::addChildBelow):
5974        (WebCore::WebGraphicsLayer::replaceChild):
5975        (WebCore::WebGraphicsLayer::removeFromParent):
5976        (WebCore::WebGraphicsLayer::setDrawsContent):
5977        (WebCore::WebGraphicsLayer::setContentsOpaque):
5978        (WebCore::WebGraphicsLayer::setBackfaceVisibility):
5979        (WebCore::WebGraphicsLayer::setOpacity):
5980        (WebCore::WebGraphicsLayer::setContentsRect):
5981        (WebCore::WebGraphicsLayer::setContentsToImage):
5982        (WebCore::WebGraphicsLayer::setMaskLayer):
5983        (WebCore::WebGraphicsLayer::setReplicatedByLayer):
5984        (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
5985        (WebCore::WebGraphicsLayer::id):
5986        (WebCore::WebGraphicsLayer::syncChildren):
5987        (WebCore::WebGraphicsLayer::syncLayerState):
5988        (WebCore::WebGraphicsLayer::syncImageBackingStore):
5989        (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
5990        (WebCore::WebGraphicsLayer::setRootLayer):
5991        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
5992        (WebGraphicsLayerClient):
5993        (WebGraphicsLayer):
5994        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
5995        (WebKit::LayerTreeHostQt::syncLayerState):
5996        (WebKit):
5997        (WebKit::LayerTreeHostQt::syncLayerChildren):
5998        * WebProcess/WebPage/qt/LayerTreeHostQt.h:
5999        (LayerTreeHostQt):
6000
60012012-04-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
6002
6003        [Qt][WK2] Accelerated and non-accelerated animations need to be synchronized
6004        https://bugs.webkit.org/show_bug.cgi?id=75780
6005
6006        Reviewed by Kenneth Rohde Christiansen.
6007
6008        Remove the ui-side animation code, and return false from addAnimation so that web-side
6009        animations kick in.
6010
6011        * Shared/WebLayerTreeInfo.cpp:
6012        (WebKit):
6013        * Shared/WebLayerTreeInfo.h:
6014        (WebLayerInfo):
6015        * UIProcess/WebLayerTreeRenderer.cpp:
6016        (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
6017        (WebKit::WebLayerTreeRenderer::setLayerState):
6018        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
6019        (WebCore::WebGraphicsLayer::didChangeGeometry):
6020        (WebCore::WebGraphicsLayer::syncLayerState):
6021        (WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
6022        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
6023        (WebGraphicsLayer):
6024
60252012-04-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
6026
6027        [Qt][WK2] Don't synchronize WebGraphicsLayers to the UI process if the actual layer information wasn't changed
6028        https://bugs.webkit.org/show_bug.cgi?id=82522
6029
6030        Reviewed by Kenneth Rohde Christiansen.
6031
6032        Currently we set the m_modified flags for all of the descendants of a layer
6033        that has changed its geometry. This causes unnecessary layer sync messages.
6034        Instead, we only sync when the actual layer has changed, and add a flag
6035        called m_shouldUpdateVisibleRect that applies to descendants of a layer
6036        that has a modified geometry.
6037
6038        * Shared/WebLayerTreeInfo.h:
6039        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
6040        (WebCore::WebGraphicsLayer::didChangeChildren):
6041        (WebCore):
6042        (WebCore::WebGraphicsLayer::setShouldUpdateVisibleRect):
6043        (WebCore::WebGraphicsLayer::didChangeGeometry):
6044        (WebCore::WebGraphicsLayer::WebGraphicsLayer):
6045        (WebCore::WebGraphicsLayer::setPosition):
6046        (WebCore::WebGraphicsLayer::setAnchorPoint):
6047        (WebCore::WebGraphicsLayer::setSize):
6048        (WebCore::WebGraphicsLayer::setTransform):
6049        (WebCore::WebGraphicsLayer::setChildrenTransform):
6050        (WebCore::WebGraphicsLayer::setPreserves3D):
6051        (WebCore::WebGraphicsLayer::setContentsToImage):
6052        (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
6053        (WebCore::WebGraphicsLayer::syncImageBackingStore):
6054        (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
6055        (WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin):
6056        (WebCore::WebGraphicsLayer::setRootLayer):
6057        (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
6058        (WebCore::WebGraphicsLayer::setContentsScale):
6059        (WebCore::WebGraphicsLayer::effectiveContentsScale):
6060        (WebCore::WebGraphicsLayer::adjustContentsScale):
6061        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
6062        (WebGraphicsLayer):
6063
60642012-04-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
6065
6066        [Qt][WK2] Remove all USE(TILED_BACKING_STORE) defines from code that contains UI_SIDE_COMPOSITING
6067        https://bugs.webkit.org/show_bug.cgi?id=82533
6068
6069        Reviewed by Kenneth Rohde Christiansen.
6070
6071        No change in behavior, removing some #defines.
6072
6073        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
6074        (WebCore::WebGraphicsLayer::setShouldUpdateVisibleRect):
6075        (WebCore::WebGraphicsLayer::adjustContentsScale):
6076        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
6077        (WebGraphicsLayer):
6078        * WebProcess/WebPage/LayerTreeHost.h:
6079        (LayerTreeHost):
6080        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
6081        (WebKit::LayerTreeHostQt::LayerTreeHostQt):
6082        (WebKit::LayerTreeHostQt::detachLayer):
6083
60842012-04-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
6085
6086        [Qt][WK2] Disable the content-scaling and visible contents rect when the layer's transform is not affine
6087        https://bugs.webkit.org/show_bug.cgi?id=82523
6088
6089        Reviewed by Kenneth Rohde Christiansen.
6090
6091        Always use contentsScale of 1 and a full visibleContentsRect when
6092        the layer's transform is not affine. That's because layer's with
6093        complex transform would not gain from the benefit of contents scaling,
6094        and might also create unexpected layer content sizes.
6095
6096        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
6097        (WebCore::WebGraphicsLayer::createBackingStore):
6098        (WebCore):
6099        (WebCore::WebGraphicsLayer::tiledBackingStorePaint):
6100        (WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd):
6101        (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
6102        (WebCore::WebGraphicsLayer::updateTile):
6103        (WebCore::WebGraphicsLayer::removeTile):
6104        (WebCore::WebGraphicsLayer::updateContentBuffers):
6105        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
6106        (WebGraphicsLayer):
6107
61082012-04-09  Zalan Bujtas  <zbujtas@gmail.com>
6109
6110        [Qt][WK2] Fail to activate links after double tap gesture.
6111        https://bugs.webkit.org/show_bug.cgi?id=83468
6112
6113        Reviewed by Kenneth Rohde Christiansen.
6114
6115        After a recognized double tap gesture, QtTapGestureRecognizer
6116        gets stuck in the double-tap state. Only tapping outside of
6117        the double tap radius cancels it.
6118        Call reset() to set the default state back.
6119
6120        * UIProcess/qt/QtTapGestureRecognizer.cpp:
6121        (WebKit::QtTapGestureRecognizer::recognize):
6122
6123        ManualTests/link-activation-fails-after-double-tap-gesture.html: Added.
6124
61252012-04-07  Patrick Gansterer  <paroga@webkit.org>
6126
6127        [CMake] Cleanup WTF include directories
6128        https://bugs.webkit.org/show_bug.cgi?id=82716
6129
6130        Reviewed by Eric Seidel.
6131
6132        * CMakeLists.txt:
6133
61342012-04-06  Jon Lee  <jonlee@apple.com>
6135
6136        Build fix for Windows bots.
6137
6138        * win/WebKit2.def: Add missing export symbol.
6139
61402012-04-06  Hironori Bono  <hbono@chromium.org>
6141
6142        REGRESSION: Cannot write a word with Korean double consonant
6143        https://bugs.webkit.org/show_bug.cgi?id=81186
6144
6145        Reviewed by Dan Bernstein.
6146
6147        WebKit change r103859 posts fake mouse-move events when the keyboard status is
6148        changed. Unfortunately, these mouse events go to input methods and confuse a
6149        Korean input method. This change directly calls handleMouseEvent() instead of
6150        -mouseMoved: to prevent sending these fake events to input methods.
6151
6152        * UIProcess/API/mac/WKView.mm:
6153        (-[WKView _postFakeMouseMovedEventForFlagsChangedEvent:]):
6154
61552012-04-06  Alexey Proskuryakov  <ap@apple.com>
6156
6157        [Mac] Adopt a different method of telling AppKit when inline input isn't supported
6158        https://bugs.webkit.org/show_bug.cgi?id=83408
6159        <rdar://problem/9205734>
6160
6161        Reviewed by Adele Peterson.
6162
6163        * UIProcess/API/mac/WKTextInputWindowController.mm:
6164        (-[WKTextInputView validAttributesForMarkedText]):
6165        (-[WKTextInputPanel init]):
6166        (-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]): Added a comment
6167        about old approach.
6168
61692012-04-06  Jer Noble  <jer.noble@apple.com>
6170
6171        WebFullScreenManagerProxy::isFullScreen() will create an empty full screen window; steal focus.
6172        https://bugs.webkit.org/show_bug.cgi?id=83388
6173
6174        Reviewed by Geoffrey Garen.
6175
6176        Calling WebFullScreenManagerProxy::isFullScreen() will create a WKFullScreenWindowController if 
6177        one does not already exist, since the -[WKView fullScreenWindowController] method will create-on-access.
6178        Add a new call, -[WKView hasFullScreenWindowController], which does not auto-create the controller
6179        and add that check to WebFullScreenManagerProxy::isFullScreen().
6180
6181        * UIProcess/API/mac/WKView.mm:
6182        (-[WKView hasFullScreenWindowController]):
6183        * UIProcess/API/mac/WKViewInternal.h:
6184        * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
6185        (WebKit::WebFullScreenManagerProxy::isFullScreen):
6186
61872012-04-06  Tim Horton  <timothy_horton@apple.com>
6188
6189        Add autodetection of image orientation from EXIF information
6190        https://bugs.webkit.org/show_bug.cgi?id=19688
6191        <rdar://problem/4126979> and <rdar://problem/11091578>
6192
6193        Original patch by David Carson and Eric Seidel.
6194
6195        Reviewed by Simon Fraser.
6196
6197        Add a preference, ShouldRespectImageOrientation, which will cause WebCore to respect EXIF orientation in all images.
6198
6199        * Shared/WebPreferencesStore.h:
6200        (WebKit):
6201        * UIProcess/API/C/WKPreferences.cpp:
6202        (WKPreferencesSetShouldRespectImageOrientation):
6203        (WKPreferencesGetShouldRespectImageOrientation):
6204        * UIProcess/API/C/WKPreferences.h:
6205        * WebProcess/WebPage/WebPage.cpp:
6206        (WebKit::WebPage::updatePreferences):
6207
62082012-04-06  Dan Bernstein  <mitz@apple.com>
6209
6210        <rdar://problem/10912476> HiDPI: Have canvas use a hidpi backing store, but downsample upon access
6211
6212        Reviewed by Sam Weinig.
6213
6214        * Configurations/FeatureDefines.xcconfig: Added ENABLE_HIGH_DPI_CANVAS.
6215
62162012-04-05  Anders Carlsson  <andersca@apple.com>
6217
6218        Crash when switching to a tab with plug-ins
6219        https://bugs.webkit.org/show_bug.cgi?id=83339
6220        <rdar://problem/11183338>
6221
6222        Reviewed by Oliver Hunt.
6223
6224        Add an additional check so we don't try to call into plug-ins that haven't yet been initialized.
6225
6226        * WebProcess/Plugins/PluginView.cpp:
6227        (WebKit::PluginView::setLayerHostingMode):
6228
62292012-04-05  Dean Jackson  <dino@apple.com>
6230
6231        [mac] requestAnimationFrame sometimes stuck when page loads in a background tab
6232        https://bugs.webkit.org/show_bug.cgi?id=76105
6233
6234        Unreviewed build fix for Windows. windowIsVisible() is PLATFORM(MAC) only.
6235        This means a Page might start requestAnimationFrame-based animations
6236        even when it isn't visible. This should only happen when a Page is
6237        opened in the background though. The regular hide and show should still
6238        pause animations.
6239
6240        * WebProcess/WebPage/DrawingAreaImpl.cpp:
6241        (WebKit::DrawingAreaImpl::resumePainting):
6242
62432012-04-05  Dean Jackson  <dino@apple.com>
6244
6245        [mac] requestAnimationFrame sometimes stuck when page loads in a background tab
6246        https://bugs.webkit.org/show_bug.cgi?id=76105
6247
6248        Reviewed by Simon Fraser.
6249
6250        When we are resuming painting only start the scripted animations
6251        if we're a visible window. This can happen when tabs are opened
6252        in the background.
6253
6254        * WebProcess/WebPage/DrawingAreaImpl.cpp:
6255        (WebKit::DrawingAreaImpl::resumePainting):
6256
62572012-04-05  Patrick Gansterer  <paroga@webkit.org>
6258
6259        [Qt] Correct <wtf/*.h> include paths.
6260        https://bugs.webkit.org/show_bug.cgi?id=83270
6261
6262        Reviewed by Eric Seidel.
6263
6264        Modify the #include declerations so that the
6265        wtf types are included using the full path.
6266
6267        * Shared/qt/QtNetworkReplyData.cpp:
6268        * UIProcess/WebLayerTreeRenderer.cpp:
6269        * UIProcess/qt/LayerBackingStore.h:
6270        * UIProcess/qt/QtViewportInteractionEngine.cpp:
6271        * UIProcess/qt/QtViewportInteractionEngine.h:
6272        * UIProcess/qt/QtWebPageSGNode.h:
6273        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
6274
62752012-04-05  Jia Pu  <jpu@apple.com>
6276
6277        Move correction panel related functions from EditorClient into separated AlternativeTextClient class.
6278        https://bugs.webkit.org/show_bug.cgi?id=82970
6279
6280        Reviewed by Enrica Casucci.
6281
6282        Move correction panel related functions from WebEditorClient to the new WebAlternativeTextClient.
6283        See WebCore/ChangeLog for details.
6284
6285        * UIProcess/API/gtk/PageClientImpl.cpp:
6286        * UIProcess/API/mac/PageClientImpl.h:
6287        (PageClientImpl):
6288        * UIProcess/API/mac/PageClientImpl.mm:
6289        (WebKit::PageClientImpl::recordAutocorrectionResponse):
6290        * UIProcess/API/qt/qquickwebview.cpp:
6291        * UIProcess/PageClient.h:
6292        (PageClient):
6293        * UIProcess/WebPageProxy.cpp:
6294        (WebKit::WebPageProxy::recordAutocorrectionResponse):
6295        * UIProcess/mac/CorrectionPanel.h:
6296        * UIProcess/mac/CorrectionPanel.mm:
6297        * WebKit2.xcodeproj/project.pbxproj:
6298        * WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp: Added.
6299        (WebKit):
6300        (WebKit::WebAlternativeTextClient::WebAlternativeTextClient):
6301        (WebKit::WebAlternativeTextClient::~WebAlternativeTextClient):
6302        (WebKit::WebAlternativeTextClient::showCorrectionAlternative):
6303        (WebKit::WebAlternativeTextClient::dismissAlternative):
6304        (WebKit::WebAlternativeTextClient::dismissAlternativeSoon):
6305        (WebKit::WebAlternativeTextClient::recordAutocorrectionResponse):
6306        * WebProcess/WebCoreSupport/WebAlternativeTextClient.h: Added.
6307        (WebKit):
6308        (WebAlternativeTextClient):
6309        * WebProcess/WebCoreSupport/WebEditorClient.h:
6310        * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
6311        (WebKit):
6312        * WebProcess/WebPage/WebPage.cpp:
6313        (WebKit::WebPage::WebPage):
6314
63152012-04-05  Csaba Osztrogonác  <ossy@webkit.org>
6316
6317        [Qt] Fix includes after QtDeclarative -> QtQML renaming
6318        https://bugs.webkit.org/show_bug.cgi?id=82195
6319
6320        Relanding r112651, because Qt5 is updated everywhere.
6321
6322        * UIProcess/API/qt/qquicknetworkreply_p.h:
6323        * UIProcess/API/qt/qquicknetworkrequest_p.h:
6324        * UIProcess/API/qt/qquickwebview.cpp:
6325        * UIProcess/API/qt/qquickwebview_p.h:
6326        * UIProcess/API/qt/qwebiconimageprovider_p.h:
6327        * UIProcess/API/qt/qwebnavigationhistory.cpp:
6328        * UIProcess/API/qt/qwebnavigationhistory_p.h:
6329        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
6330        * UIProcess/qt/QtDialogRunner.cpp:
6331        (QtDialogRunner::initForAlert):
6332        (QtDialogRunner::initForConfirm):
6333        (QtDialogRunner::initForPrompt):
6334        (QtDialogRunner::initForAuthentication):
6335        (QtDialogRunner::initForProxyAuthentication):
6336        (QtDialogRunner::initForCertificateVerification):
6337        (QtDialogRunner::initForFilePicker):
6338        (QtDialogRunner::initForDatabaseQuotaDialog):
6339        (QtDialogRunner::createDialog):
6340        * UIProcess/qt/WebPopupMenuProxyQt.cpp:
6341        (WebKit::WebPopupMenuProxyQt::createItem):
6342        (WebKit::WebPopupMenuProxyQt::createContext):
6343
63442012-04-04  Hayato Ito  <hayato@chromium.org>
6345
6346        Remove ReifiedTreeTraversal.
6347        https://bugs.webkit.org/show_bug.cgi?id=83110
6348
6349        Reviewed by Dimitri Glazkov.
6350
6351        * win/WebKit2.def:
6352        * win/WebKit2CFLite.def:
6353
63542012-04-04  Shinya Kawanaka  <shinyak@chromium.org>
6355
6356        Shadow DOM is exposed in JS.
6357        https://bugs.webkit.org/show_bug.cgi?id=82607
6358
6359        Reviewed by Hajime Morita.
6360
6361        * win/WebKit2.def:
6362        * win/WebKit2CFLite.def:
6363
63642012-04-04  Anders Carlsson  <andersca@apple.com>
6365
6366        Text input doesn't work for some Flash forms
6367        https://bugs.webkit.org/show_bug.cgi?id=83232
6368        <rdar://problem/11186162>
6369
6370        Reviewed by Alexey Proskuryakov.
6371
6372        If a plug-in is instantiated when the WKView is not focused, text input wouldn't work. The reason for this
6373        is that WebPage::windowIsFocused() would only return true if the window and the WKView are both focused. Rename
6374        this member function to windowAndWebPageAreFocused, add a new windowIsFocused member function that does the right thing
6375        and change WebPage::focusedWebPage to use windowAndWebPageAreFocused.
6376
6377        * WebProcess/WebPage/WebPage.cpp:
6378        (WebKit::WebPage::windowIsFocused):
6379        (WebKit):
6380        (WebKit::WebPage::windowAndWebPageAreFocused):
6381        * WebProcess/WebPage/WebPage.h:
6382        (WebPage):
6383        * WebProcess/WebProcess.cpp:
6384        (WebKit::WebProcess::focusedWebPage):
6385
63862012-03-15  Jer Noble  <jer.noble@apple.com>
6387
6388        Full Screen mode should cancel before navigation.
6389        https://bugs.webkit.org/show_bug.cgi?id=81295
6390
6391        Reviewed by Anders Carlsson.
6392
6393        When a provisional load is started, if the page is currently in full screen mode, instruct
6394        the full screen controller to close the full screen window immediately.
6395
6396        Close the full screen window controller, if present and in full screen mode:
6397        * UIProcess/WebPageProxy.cpp:
6398        (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): 
6399
6400        Add boilerplate to support passing through isFullScreen() and close() methods from the WebPageProxy
6401        to the WKFullScreenWindowController:
6402        * UIProcess/WebFullScreenManagerProxy.h:
6403        * UIProcess/mac/WKFullScreenWindowController.h:
6404        * UIProcess/mac/WKFullScreenWindowController.mm:
6405        (-[WKFullScreenWindowController isFullScreen]): Added simple accessor.
6406        * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
6407        (WebKit::WebFullScreenManagerProxy::close): Pass through to the WKFullScreenWindowController.
6408        (WebKit::WebFullScreenManagerProxy::isFullScreen): Ditto.
6409
64102012-04-04  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
6411
6412        WKTR needs to implement layoutTestController.setPageVisibility()
6413        https://bugs.webkit.org/show_bug.cgi?id=69554
6414
6415        Reviewed by Simon Fraser.
6416
6417        This patch implements the setPageVisibilityState through InjectedBundle
6418        so WKTR supports the Page Visibility API and can set the visibility state
6419        directly to Page.
6420
6421        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
6422        (WKBundleSetPageVisibilityState):
6423        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
6424        * WebProcess/InjectedBundle/InjectedBundle.cpp:
6425        (WebKit):
6426        (WebKit::InjectedBundle::setPageVisibilityState):
6427        * WebProcess/InjectedBundle/InjectedBundle.h:
6428        (InjectedBundle):
6429
64302012-04-04  Alexis Menard  <alexis.menard@openbossa.org>
6431
6432        Animation related classes should use CSSPropertyId rather than integers when manipulating CSS property ids.
6433        https://bugs.webkit.org/show_bug.cgi?id=83050
6434
6435        Reviewed by Simon Fraser.
6436
6437        The property of the Animation is a CSSPropertyID. It's ok to cast it here as an int for IPC transmission.
6438
6439        * Shared/WebCoreArgumentCoders.cpp:
6440        (CoreIPC::::encode):
6441        (CoreIPC::::decode):
6442
64432012-04-04  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
6444
6445        [Qt] Entire page highlighted on panning.
6446        https://bugs.webkit.org/show_bug.cgi?id=83158
6447
6448        Reviewed by Kenneth Rohde Christiansen.
6449
6450        * WebProcess/WebPage/WebPage.cpp:
6451        (WebKit::WebPage::highlightPotentialActivation):
6452
64532012-04-04  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
6454
6455        [Qt][WK2] QtWebKit2 should support Page Visibility API
6456        https://bugs.webkit.org/show_bug.cgi?id=81164
6457
6458        Reviewed by Kenneth Rohde Christiansen.
6459
6460        Implementing the last bits needed for getting the expected
6461        behavior for Page Visibility API, according to its spec.
6462        The only missing part in Qt was a way to check whether
6463        the view was exposed or not.
6464
6465        * UIProcess/qt/QtPageClient.cpp:
6466        (QtPageClient::isViewVisible):
6467
64682012-04-04  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
6469
6470        [WK2] Add Page Visibility API support
6471        https://bugs.webkit.org/show_bug.cgi?id=81154
6472
6473        Reviewed by Kenneth Rohde Christiansen.
6474
6475        Use WebPageProxy::viewStateDidChange to correctly define the page's
6476        visibilityState and then set it to the WebProcess. The WebKit2's based
6477        ports just need to implement the related PageClient functions in order
6478        to get this API enabled and working properly.
6479
6480        * UIProcess/WebPageProxy.cpp:
6481        (WebKit::WebPageProxy::WebPageProxy):
6482        (WebKit::WebPageProxy::initializeWebPage):
6483        (WebKit::WebPageProxy::viewStateDidChange):
6484        * WebProcess/WebPage/WebPage.cpp:
6485        (WebKit):
6486        (WebKit::WebPage::setVisibilityState):
6487        * WebProcess/WebPage/WebPage.h:
6488        (WebPage):
6489        * WebProcess/WebPage/WebPage.messages.in:
6490
64912012-04-04  Kenneth Rohde Christiansen  <kenneth@webkit.org>
6492
6493        [Qt] Further improvements of the tap gesture recognizer
6494        https://bugs.webkit.org/show_bug.cgi?id=83149
6495
6496        Reviewed by Zoltan Herczeg.
6497
6498        Ignore single tap while finger is still pressed.
6499        Some renaming to make the states more clear.
6500        A pan further than the maxPanDistance can now invalidate
6501        double-taps as well.
6502
6503        * UIProcess/qt/QtTapGestureRecognizer.cpp:
6504        (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
6505        (WebKit::QtTapGestureRecognizer::recognize):
6506        (WebKit::QtTapGestureRecognizer::singleTapTimeout):
6507        (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
6508        (WebKit::QtTapGestureRecognizer::reset):
6509        * UIProcess/qt/QtTapGestureRecognizer.h:
6510
65112012-04-04  Andras Becsi  <andras.becsi@nokia.com>
6512
6513        [Qt][WK2] Make the WebView a subclass of Flickable
6514        https://bugs.webkit.org/show_bug.cgi?id=83033
6515
6516        Reviewed by Kenneth Rohde Christiansen.
6517
6518        Hitherto, the experiment of a QML WebView with an internal Flickable
6519        instance showed that the approach of hiding the Flickable raises more
6520        problems than it solves.
6521
6522        One set of problems arose because the internal Flickable was a separate
6523        item which received and reacted on automatically synthesized mouse events
6524        send by the canvas, this interfered with the gesture recognizers of the
6525        WebView.
6526
6527        Other issues were related to orientation and the integration of the
6528        WebView item with other QML items and components (like scroll indicators)
6529        which require a larger set of the Flickable API or the Flickable object
6530        itself (e.g. ScrollDecorator).
6531
6532        These disadvantages of an internal Flickable instance outweigh the
6533        benefits of controlling the exposed API, therefore the experiment had
6534        the conclusion that there is no way around the public inheritance from
6535        QQuickFlickable.
6536
6537        This patch removes the QtFlickProvider class, inherits QQuickWebView
6538        from QQuickFlickable and adjusts the viewport interaction engine and
6539        the gesture recognizers to use the Flickable API of the WebView to
6540        keep the same behaviour as before.
6541
6542        * Target.pri:
6543        * UIProcess/API/qt/qquickwebpage.cpp:
6544        (QQuickWebPage::QQuickWebPage):
6545        * UIProcess/API/qt/qquickwebview.cpp:
6546        (QQuickWebViewPrivate::QQuickWebViewPrivate):
6547        (QQuickWebViewFlickablePrivate::initialize):
6548        (QQuickWebViewFlickablePrivate::pageItemPos):
6549        (QQuickWebViewFlickablePrivate::updateContentsSize):
6550        (QQuickWebViewFlickablePrivate::onComponentComplete):
6551        (QQuickWebViewFlickablePrivate::updateViewportSize):
6552        (QQuickWebViewExperimental::useDefaultContentItemSize):
6553        (QQuickWebViewExperimental::setUseDefaultContentItemSize):
6554        (QQuickWebView::QQuickWebView):
6555        (QQuickWebView::inputMethodQuery):
6556        (QQuickWebView::geometryChanged):
6557        (QQuickWebView::componentComplete):
6558        (QQuickWebView::event):
6559        (QQuickWebView::contentPos):
6560        (QQuickWebView::setContentPos):
6561        (QQuickWebView::handlePress):
6562        (QQuickWebView::handleMove):
6563        (QQuickWebView::handleRelease):
6564        * UIProcess/API/qt/qquickwebview_p.h:
6565        (WebKit):
6566        * UIProcess/API/qt/qquickwebview_p_p.h:
6567        (QQuickWebViewPrivate):
6568        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
6569        (tst_QQuickWebView::scrollRequest):
6570        * UIProcess/API/qt/tests/tests.pri:
6571        * UIProcess/qt/QtFlickProvider.cpp: Removed.
6572        * UIProcess/qt/QtFlickProvider.h: Removed.
6573        * UIProcess/qt/QtPanGestureRecognizer.cpp:
6574        (WebKit::QtPanGestureRecognizer::recognize):
6575        * UIProcess/qt/QtViewportInteractionEngine.cpp:
6576        (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
6577        (WebKit::QtViewportInteractionEngine::setItemRectVisible):
6578        (WebKit::QtViewportInteractionEngine::flickableMoveStarted):
6579        (WebKit::QtViewportInteractionEngine::flickableMoveEnded):
6580        (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
6581        (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
6582        (WebKit::QtViewportInteractionEngine::wheelEvent):
6583        (WebKit::QtViewportInteractionEngine::reset):
6584        (WebKit::QtViewportInteractionEngine::scrollAnimationActive):
6585        (WebKit::QtViewportInteractionEngine::panGestureActive):
6586        (WebKit::QtViewportInteractionEngine::panGestureStarted):
6587        (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
6588        (WebKit::QtViewportInteractionEngine::panGestureEnded):
6589        (WebKit::QtViewportInteractionEngine::panGestureCancelled):
6590        (WebKit::QtViewportInteractionEngine::cancelScrollAnimation):
6591        (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
6592        (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
6593        (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
6594        (WebKit::QtViewportInteractionEngine::scaleContent):
6595        * UIProcess/qt/QtViewportInteractionEngine.h:
6596        (QtViewportInteractionEngine):
6597        * UIProcess/qt/QtWebPageEventHandler.cpp:
6598        (QtWebPageEventHandler::doneWithTouchEvent):
6599
66002012-04-04  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
6601
6602        [Qt] Unable to zoom to some areas.
6603        https://bugs.webkit.org/show_bug.cgi?id=83144
6604
6605        Reviewed by Kenneth Rohde Christiansen.
6606
6607        Remember to convert touch-area to touch-point radius.
6608
6609        * WebProcess/WebPage/WebPage.cpp:
6610        (WebKit::WebPage::findZoomableAreaForPoint):
6611
66122012-04-04  Kenneth Rohde Christiansen  <kenneth@webkit.org>
6613
6614        [Qt] Improve the tap gesture recognizer
6615        https://bugs.webkit.org/show_bug.cgi?id=83135
6616
6617        Reviewed by Simon Hausmann.
6618
6619        Clean up the code and make sure that the first single tap
6620        event, as part of a double tap gesture, is ignored.
6621
6622        * UIProcess/qt/QtTapGestureRecognizer.cpp:
6623        (WebKit::QtTapGestureRecognizer::withinDistance):
6624        (WebKit):
6625        (WebKit::QtTapGestureRecognizer::recognize):
6626        (WebKit::QtTapGestureRecognizer::singleTapTimeout):
6627        (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
6628        (WebKit::QtTapGestureRecognizer::reset):
6629        * UIProcess/qt/QtTapGestureRecognizer.h:
6630        (QtTapGestureRecognizer):
6631
66322012-04-03  Geoffrey Garen  <ggaren@apple.com>
6633
6634        Fixed some WebKit2 crashes seen on the buildbot after my last patch.
6635
6636        Reviewed by Beth Dakin.
6637
6638        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
6639        (WebKit::NPRuntimeObjectMap::finalize): Don't try to get our value
6640        out of the map, since Weak<T> returns NULL during finalization. Instead,
6641        use the handle we've been passed for finalization.
6642
66432012-03-29  Geoffrey Garen  <ggaren@apple.com>
6644
6645        First step toward incremental Weak<T> finalization
6646        https://bugs.webkit.org/show_bug.cgi?id=82670
6647
6648        Reviewed by Filip Pizlo.
6649
6650        Updated for API change.
6651
6652        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
6653        (WebKit::NPRuntimeObjectMap::finalize):
6654
66552012-04-03  Keishi Hattori  <keishi@webkit.org>
6656
6657        Disable ENABLE_DATALIST for now
6658        https://bugs.webkit.org/show_bug.cgi?id=82871
6659
6660        Reviewed by Kent Tamura.
6661
6662        * Configurations/FeatureDefines.xcconfig: Disabled ENABLE_DATALIST.
6663
66642012-04-03  Yael Aharon  <yael.aharon@nokia.com>
6665
6666        [Qt][WK2] Assert on startup after r113090
6667        https://bugs.webkit.org/show_bug.cgi?id=83111
6668
6669        Reviewed by Noam Rosenthal.
6670
6671        Add willBeDestroyed to to WebGraphicsLayer.
6672
6673        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
6674        (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
6675        (WebCore):
6676        (WebCore::WebGraphicsLayer::willBeDestroyed):
6677        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
6678        (WebGraphicsLayer):
6679
66802012-04-03  Sam Weinig  <sam@webkit.org>
6681
6682        Allow the old WebKit2 drawing model to host layers in the window server
6683        <rdar://problem/11170525>
6684        https://bugs.webkit.org/show_bug.cgi?id=83101
6685
6686        Reviewed by Anders Carlsson.
6687
6688        * UIProcess/DrawingAreaProxyImpl.cpp:
6689        (WebKit::DrawingAreaProxyImpl::layerHostingModeDidChange):
6690        * UIProcess/DrawingAreaProxyImpl.h:
6691        (DrawingAreaProxyImpl):
6692        * WebProcess/WebPage/DrawingArea.h:
6693        (DrawingArea):
6694        * WebProcess/WebPage/DrawingAreaImpl.cpp:
6695        (WebKit::DrawingAreaImpl::setLayerHostingMode):
6696        * WebProcess/WebPage/DrawingAreaImpl.h:
6697        (DrawingAreaImpl):
6698        * WebProcess/WebPage/LayerTreeHost.h:
6699        (LayerTreeHost):
6700        (WebKit::LayerTreeHost::setLayerHostingMode):
6701        * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
6702        (LayerTreeHostCAMac):
6703        * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
6704        (WebKit::LayerTreeHostCAMac::platformInitialize):
6705        (WebKit::LayerTreeHostCAMac::setLayerHostingMode):
6706        Pipe layer hosting mode to the old drawing area.
6707
67082012-04-03  Jia Pu  <jpu@apple.com>
6709
6710        Rename SpellingCorrectionController to AlternativeTextController.
6711        https://bugs.webkit.org/show_bug.cgi?id=82942
6712
6713        Reviewed by Enrica Casucci.
6714
6715        These changes are simply for adopting new class names.
6716
6717        * UIProcess/API/mac/PageClientImpl.h:
6718        (PageClientImpl):
6719        * UIProcess/API/mac/PageClientImpl.mm:
6720        (WebKit::PageClientImpl::showCorrectionPanel):
6721        (WebKit::PageClientImpl::dismissCorrectionPanel):
6722        (WebKit::PageClientImpl::dismissCorrectionPanelSoon):
6723        * UIProcess/API/mac/WKView.mm:
6724        (-[WKView handleCorrectionPanelResult:]):
6725        * UIProcess/PageClient.h:
6726        (PageClient):
6727        * UIProcess/WebPageProxy.cpp:
6728        (WebKit::WebPageProxy::didCommitLoadForFrame):
6729        (WebKit::WebPageProxy::pageDidScroll):
6730        (WebKit::WebPageProxy::processDidCrash):
6731        (WebKit::WebPageProxy::showCorrectionPanel):
6732        (WebKit::WebPageProxy::dismissCorrectionPanel):
6733        (WebKit::WebPageProxy::dismissCorrectionPanelSoon):
6734        (WebKit::WebPageProxy::handleAlternativeTextUIResult):
6735        * UIProcess/WebPageProxy.h:
6736        (WebPageProxy):
6737        * UIProcess/mac/CorrectionPanel.h:
6738        (CorrectionPanel):
6739        * UIProcess/mac/CorrectionPanel.mm:
6740        (correctionIndicatorType):
6741        (WebKit::CorrectionPanel::CorrectionPanel):
6742        (WebKit::CorrectionPanel::~CorrectionPanel):
6743        (WebKit::CorrectionPanel::show):
6744        (WebKit::CorrectionPanel::dismiss):
6745        (WebKit::CorrectionPanel::dismissInternal):
6746        (WebKit::CorrectionPanel::handleAcceptedReplacement):
6747        * WebProcess/WebCoreSupport/WebEditorClient.h:
6748        * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
6749        (WebKit::WebEditorClient::showCorrectionPanel):
6750        (WebKit::WebEditorClient::dismissCorrectionPanel):
6751        (WebKit::WebEditorClient::dismissCorrectionPanelSoon):
6752        * WebProcess/WebPage/WebPage.cpp:
6753        (WebKit::WebPage::handleAlternativeTextUIResult):
6754        * WebProcess/WebPage/WebPage.h:
6755        (WebPage):
6756        * WebProcess/WebPage/WebPage.messages.in:
6757
67582012-04-03  Zalan Bujtas  <zbujtas@gmail.com>
6759
6760        [Qt][WK2] Remove #if !USE(TILED_BACKING_STORE) from WebFrameLoaderClient::transitionToCommittedForNewPage()
6761        https://bugs.webkit.org/show_bug.cgi?id=83070
6762
6763        Reviewed by Andreas Kling.
6764
6765        It is preventing m_frameHasCustomRepresentation to be set properly and not in sync with
6766        WebFrameLoaderClient::transitionToCommittedFromCachedFrame()
6767
6768        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
6769        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
6770
67712012-04-03  Jer Noble  <jer.noble@apple.com>
6772
6773        ESC key in full screen does not result in webkitFullScreenChange event.
6774        https://bugs.webkit.org/show_bug.cgi?id=82755
6775        <rdar://problem/11093513>
6776
6777        Reviewed by Eric Carlson.
6778
6779        Instead of exiting full screen directly, ask the document to initiate exiting full screen. This ensures
6780        that the entire full screen element stack is cleared and that webkitFullScreenChange events are sent
6781        out correctly.
6782
6783        Because the WebProcess may be stalled or hung, add a watchdog timer which will force an exit of full
6784        screen if the WebProcess does not respond in a timely manner (defaults to 1s).
6785
6786        Add a new method, requestExitFullScreen, which calls through to the WebProcess and Document:
6787        * UIProcess/WebFullScreenManagerProxy.cpp:
6788        (WebKit::WebFullScreenManagerProxy::requestExitFullScreen):
6789        * UIProcess/WebFullScreenManagerProxy.h:
6790        * WebProcess/FullScreen/WebFullScreenManager.cpp:
6791        (WebKit::WebFullScreenManager::requestExitFullScreen):
6792        * WebProcess/FullScreen/WebFullScreenManager.h:
6793        * WebProcess/FullScreen/WebFullScreenManager.messages.in:
6794
6795        Request that the document exits full screen when the ESC key is pressed:
6796        * UIProcess/mac/WKFullScreenWindowController.h:
6797        * UIProcess/mac/WKFullScreenWindowController.mm:
6798        (-[WKFullScreenWindowController cancelOperation:]):
6799        (-[WKFullScreenWindowController exitFullScreen]):
6800
68012012-04-03  Balazs Kelemen  <kbalazs@webkit.org>
6802
6803        [Qt][WK2] ASSERT(!(outputBytes.size() % sizeof(UChar))) in PluginProcessProxyQt.cpp
6804        https://bugs.webkit.org/show_bug.cgi?id=83034
6805
6806        Reviewed by Zoltan Herczeg.
6807
6808        Don't allow the plugin to pollute the standard output.
6809        Reinvent StdOutDevNullRedirector which was removed in
6810        r112889 for this purpose.
6811
6812        * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
6813        (StdoutDevNullRedirector):
6814        (WebKit):
6815        (WebKit::StdoutDevNullRedirector::StdoutDevNullRedirector):
6816        (WebKit::StdoutDevNullRedirector::~StdoutDevNullRedirector):
6817        (WebKit::NetscapePluginModule::scanPlugin):
6818
68192012-04-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
6820
6821        Enable and connect the WebInspectorServer with WebKit2 pages.
6822        https://bugs.webkit.org/show_bug.cgi?id=73094
6823
6824        Reviewed by Simon Hausmann.
6825
6826        Pages are registered/unregistered as they are created/destroyed, if they have
6827        developer extras enabled. The server is run on the UI process and communicates
6828        with the web process through IPC for each message between the inspector
6829        controller and the remote frontend.
6830
6831        Includes the server spawning logic for the Qt port, the server is
6832        started through an environment variable specifying the interface and
6833        port to bind the server to, by default on 127.0.0.1.
6834
6835        * UIProcess/WebInspectorProxy.cpp:
6836        (WebKit::WebInspectorProxy::WebInspectorProxy):
6837        (WebKit::WebInspectorProxy::invalidate):
6838        (WebKit):
6839        (WebKit::WebInspectorProxy::enableRemoteInspection):
6840        (WebKit::WebInspectorProxy::remoteFrontendConnected):
6841        (WebKit::WebInspectorProxy::remoteFrontendDisconnected):
6842        (WebKit::WebInspectorProxy::dispatchMessageFromRemoteFrontend):
6843        (WebKit::WebInspectorProxy::sendMessageToRemoteFrontend):
6844        * UIProcess/WebInspectorProxy.h:
6845        (WebInspectorProxy):
6846        * UIProcess/WebInspectorProxy.messages.in:
6847        * UIProcess/WebPageProxy.cpp:
6848        (WebKit::WebPageProxy::initializeWebPage):
6849        (WebKit::WebPageProxy::preferencesDidChange):
6850        * UIProcess/qt/QtWebContext.cpp:
6851        (WebKit::initInspectorServer):
6852        (WebKit):
6853        (WebKit::globalInitialization):
6854        (WebKit::QtWebContext::create):
6855        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
6856        (WebKit::WebInspectorClient::sendMessageToFrontend):
6857        * WebProcess/WebPage/WebInspector.cpp:
6858        (WebKit::WebInspector::WebInspector):
6859        (WebKit):
6860        (WebKit::WebInspector::sendMessageToRemoteFrontend):
6861        (WebKit::WebInspector::dispatchMessageFromRemoteFrontend):
6862        (WebKit::WebInspector::remoteFrontendConnected):
6863        (WebKit::WebInspector::remoteFrontendDisconnected):
6864        * WebProcess/WebPage/WebInspector.h:
6865        (WebInspector):
6866        (WebKit::WebInspector::hasRemoteFrontendConnected):
6867        * WebProcess/WebPage/WebInspector.messages.in:
6868
68692012-03-29  Joseph Pecoraro  <joepeck@webkit.org> and Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
6870
6871        WebInspectorServer for WebKit2.
6872        https://bugs.webkit.org/show_bug.cgi?id=73855
6873
6874        Reviewed by Simon Hausmann.
6875
6876        The server uses WebSocket for communication with the remote client and
6877        normal HTTP requests are handled to optionally send the frontend on the
6878        wire. Those decision are handled per platform and Qt currently maps:
6879
6880          - "/" to a static listing page.
6881          - "/pagelist.json" to the page list for the listing page or tools.
6882          - anything else, for example "/inspector.js" to the file with the
6883            same name in the dynamic libraries built resources.
6884            Invalid files should return a 404.
6885
6886        * Target.pri:
6887        * UIProcess/InspectorServer/WebInspectorServer.cpp: Added.
6888        (WebKit):
6889        (WebKit::pageIdFromRequestPath):
6890        (WebKit::WebInspectorServer::server):
6891        (WebKit::WebInspectorServer::WebInspectorServer):
6892        (WebKit::WebInspectorServer::~WebInspectorServer):
6893        (WebKit::WebInspectorServer::registerPage):
6894        (WebKit::WebInspectorServer::unregisterPage):
6895        (WebKit::WebInspectorServer::sendMessageOverConnection):
6896        (WebKit::WebInspectorServer::didReceiveUnrecognizedHTTPRequest):
6897        (WebKit::WebInspectorServer::didReceiveWebSocketUpgradeHTTPRequest):
6898        (WebKit::WebInspectorServer::didEstablishWebSocketConnection):
6899        (WebKit::WebInspectorServer::didReceiveWebSocketMessage):
6900        (WebKit::WebInspectorServer::didCloseWebSocketConnection):
6901        (WebKit::WebInspectorServer::closeConnection):
6902        * UIProcess/InspectorServer/WebInspectorServer.h: Added.
6903        (WebKit):
6904        (WebInspectorServer):
6905        * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp: Added.
6906        (WebKit):
6907        (WebKit::WebInspectorServer::platformResourceForPath):
6908        (WebKit::WebInspectorServer::buildPageList):
6909        * WebKit2.qrc: Added.
6910        * qt/Resources/inspectorPageIndex.html: Added.
6911
69122012-03-29  Joseph Pecoraro  <joepeck@webkit.org> and Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
6913
6914        Add a Generic WebSocket Server.
6915        https://bugs.webkit.org/show_bug.cgi?id=73093
6916
6917        Reviewed by Simon Hausmann.
6918
6919        The Inspector Server will be a WebSocket Server that also responds to
6920        non-WebSocket-Upgrade HTTP Requests. This is a generic WebSocket server
6921        that passes on what it doesn't know on to its client for extended
6922        functionality. This code is wrapped in a new ENABLE(INSPECTOR_SERVER) flag.
6923
6924        There are no tests yet for a built-in WebSocket server.
6925        This will be covered by API level tests in a later patch.
6926
6927        * Target.pri:
6928
6929          WebSocketServer is a simple server. Calling listen, or close,
6930          multiple times is safe. Subclassing is expected.
6931
6932        * UIProcess/InspectorServer/WebSocketServer.cpp: Added.
6933        (WebKit):
6934        (WebKit::WebSocketServer::WebSocketServer):
6935        (WebKit::WebSocketServer::~WebSocketServer):
6936        (WebKit::WebSocketServer::listen):
6937        (WebKit::WebSocketServer::close):
6938        (WebKit::WebSocketServer::didAcceptConnection):
6939        (WebKit::WebSocketServer::didCloseWebSocketServerConnection):
6940        * UIProcess/InspectorServer/WebSocketServer.h: Added.
6941        (WebKit):
6942        (WebCore):
6943        (WebSocketServer):
6944        * UIProcess/InspectorServer/WebSocketServerClient.h: Added.
6945        (WebCore):
6946        (WebKit):
6947        (WebSocketServerClient):
6948        (WebKit::WebSocketServerClient::~WebSocketServerClient):
6949        (WebKit::WebSocketServerClient::didReceiveUnrecognizedHTTPRequest):
6950        (WebKit::WebSocketServerClient::didReceiveWebSocketUpgradeHTTPRequest):
6951        (WebKit::WebSocketServerClient::didEstablishWebSocketConnection):
6952        (WebKit::WebSocketServerClient::didReceiveWebSocketMessage):
6953        (WebKit::WebSocketServerClient::didCloseWebSocketConnection):
6954
6955          Each WebSocketConnection:
6956
6957           - Passes unknown HTTP Requests to the server's client.
6958           - Handles WebSocket Upgrade Requests.
6959             - First ask the client if it is okay.
6960             - Later notify the client about a success.
6961           - Once upgraded the connection parses and passes WebSocket
6962             frames to the client.
6963
6964        * UIProcess/InspectorServer/WebSocketServerConnection.cpp: Added.
6965        (WebKit):
6966        (WebKit::WebSocketServerConnection::WebSocketServerConnection):
6967        (WebKit::WebSocketServerConnection::~WebSocketServerConnection):
6968        (WebKit::WebSocketServerConnection::shutdownNow):
6969        (WebKit::WebSocketServerConnection::shutdownAfterSendOrNow): meant to shutdown after an HTTP response. Ensure all platforms work as expected.
6970        (WebKit::WebSocketServerConnection::sendWebSocketMessage): send a text message (WebSocket message) over the connection.
6971        (WebKit::WebSocketServerConnection::sendHTTPResponseHeader):
6972        (WebKit::WebSocketServerConnection::sendRawData): send raw data (HTTP message) over the connection.
6973        (WebKit::WebSocketServerConnection::didCloseSocketStream): handle socket closing scenarios.
6974        (WebKit::WebSocketServerConnection::didReceiveSocketStreamData): parse the incoming data in HTTP / WebSocket modes.
6975        (WebKit::WebSocketServerConnection::didFailSocketStream): log errors.
6976        (WebKit::WebSocketServerConnection::readHTTPMessage): when starting, a web socket connection reads an HTTP message.
6977        (WebKit::WebSocketServerConnection::upgradeToWebSocketServerConnection):
6978        (WebKit::WebSocketServerConnection::readWebSocketFrames): parse our buffer for as many frames as possible.
6979        (WebKit::WebSocketServerConnection::readWebSocketFrame): parse an individual frame.
6980        * UIProcess/InspectorServer/WebSocketServerConnection.h: Added.
6981        (WebCore):
6982        (WebKit):
6983        (WebSocketServerConnection):
6984        (WebKit::WebSocketServerConnection::identifier):
6985        (WebKit::WebSocketServerConnection::setIdentifier):
6986
6987          Qt specific implementation.
6988
6989        * UIProcess/InspectorServer/qt/WebSocketServerQt.cpp: Added.
6990        (WebKit):
6991        (WebKit::WebSocketServer::platformInitialize):
6992        (WebKit::WebSocketServer::platformListen):
6993        (WebKit::WebSocketServer::platformClose):
6994        (WebKit::QtTcpServerHandler::QtTcpServerHandler):
6995        (WebKit::QtTcpServerHandler::handleNewConnection):
6996        (WebKit::QtTcpServerHandler::listen):
6997        (WebKit::QtTcpServerHandler::close):
6998        * UIProcess/InspectorServer/qt/WebSocketServerQt.h: Added.
6999        (WebKit):
7000        (QtTcpServerHandler):
7001
7002        * WebKit2.pri:
7003        * config.h: Add ENABLE(INSPECTOR_SERVER) for WebKit2.
7004
70052012-04-03  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
7006
7007        [Qt] Add developerExtrasEnabled to QWebPreferences.
7008        https://bugs.webkit.org/show_bug.cgi?id=83018
7009
7010        Reviewed by Kenneth Rohde Christiansen.
7011
7012        This is required to allow inspecting pages.
7013
7014        * UIProcess/API/qt/qwebpreferences.cpp:
7015        (QWebPreferencesPrivate::testAttribute):
7016        (QWebPreferencesPrivate::setAttribute):
7017        (QWebPreferences::developerExtrasEnabled):
7018        (QWebPreferences::setDeveloperExtrasEnabled):
7019        * UIProcess/API/qt/qwebpreferences_p.h:
7020        * UIProcess/API/qt/qwebpreferences_p_p.h:
7021
70222012-04-03  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
7023
7024        [Qt] Tap highlight attempted hidden several times
7025        https://bugs.webkit.org/show_bug.cgi?id=82903
7026
7027        Reviewed by Kenneth Rohde Christiansen.
7028
7029        Do not reset GestureRecognizer if already reset, and do not
7030        disable tap-highlight on touch-end if already reset.
7031
7032        * UIProcess/qt/QtTapGestureRecognizer.cpp:
7033        (WebKit::QtTapGestureRecognizer::recognize):
7034        (WebKit::QtTapGestureRecognizer::reset):
7035
70362012-04-03  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
7037
7038        [Qt] Tap highlight still showing when tap gesture has timed out
7039        https://bugs.webkit.org/show_bug.cgi?id=82902
7040
7041        Reviewed by Kenneth Rohde Christiansen.
7042
7043        Disable highlight of potential tap, when tap-and-hold state
7044        replaces potential tap state.
7045
7046        * UIProcess/qt/QtTapGestureRecognizer.cpp:
7047        (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
7048
70492012-04-02  Zalan Bujtas  <zbujtas@gmail.com>
7050
7051        [Qt][WK2] Set viewport size back, when WebProcess is relaunched.
7052        https://bugs.webkit.org/show_bug.cgi?id=82936
7053
7054        Reviewed by Andreas Kling.
7055
7056        Fixed layout requires viewport size set properly on the WebProcess side.
7057        Make sure it is set, when WebProcess is relaunched.
7058
7059        * UIProcess/API/qt/qquickwebview.cpp:
7060        (QQuickWebViewPrivate::didRelaunchProcess):
7061
70622012-04-02  Anders Carlsson  <andersca@apple.com>
7063
7064        Call NPP_SetValue with WKNVCALayerRenderServerPort when a WKView is moved from a buffered to an unbuffered window, or vice versa
7065        https://bugs.webkit.org/show_bug.cgi?id=82951
7066        <rdar://problem/10589308>
7067
7068        Reviewed by Sam Weinig.
7069
7070        * PluginProcess/mac/PluginControllerProxyMac.mm:
7071        (WebKit::PluginControllerProxy::setLayerHostingMode):
7072        Call Plugin::setLayerHostingMode).
7073
7074        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
7075        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.h:
7076        Move WKNVCALayerRenderServerPort to the header file.
7077
7078        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
7079        (WebKit::NetscapePlugin::NetscapePlugin):
7080        Initialize m_layerHostingMode.
7081
7082        (WebKit::NetscapePlugin::initialize):
7083        Set m_layerHostingMode from the parameters struct.
7084
7085        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
7086        (WebKit::NetscapePlugin::compositingRenderServerPort):
7087        Return MACH_PORT_NULL when hosted in the window server.
7088
7089        (WebKit::NetscapePlugin::platformPostInitialize):
7090        Move the code that gets the layer out into a separate function, updatePluginLayer.
7091
7092        (WebKit::NetscapePlugin::setLayerHostingMode):
7093        Let the plug-in know that the layer hosting mode changed and update the plug-in layer if
7094        setting the new compositing port was successful.
7095
70962012-04-02  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
7097
7098        [Qt][WK2] ResourceError::isCancellation() is always returning false
7099        https://bugs.webkit.org/show_bug.cgi?id=82917
7100
7101        Reviewed by Noam Rosenthal.
7102
7103        We were missing the encoding of a boolean in ArgumentCoder<ResourceError>
7104        and, therefore, we were getting always "false" for ResourceError::isCancellation()
7105        for errors being sent through the IPC.
7106
7107        * Shared/qt/WebCoreArgumentCodersQt.cpp:
7108        (CoreIPC::::encode):
7109        (CoreIPC::::decode):
7110
71112012-03-29  Sam Weinig  <sam@webkit.org>
7112
7113        Add setting to disable Java for local files even if it is otherwise enabled
7114        https://bugs.webkit.org/show_bug.cgi?id=82685
7115
7116        Reviewed by Anders Carlsson.
7117
7118        * Shared/WebPreferencesStore.h:
7119        * UIProcess/API/C/WKPreferences.cpp:
7120        (WKPreferencesSetJavaEnabledForLocalFiles):
7121        (WKPreferencesGetJavaEnabledForLocalFiles):
7122        * UIProcess/API/C/WKPreferencesPrivate.h:
7123        * WebProcess/WebPage/WebPage.cpp:
7124        (WebKit::WebPage::updatePreferences):
7125        Add pref as SPI and forward to WebCore.
7126
71272012-04-02  Balazs Kelemen  <kbalazs@webkit.org>
7128
7129        [Qt][WK2] Set up plugin process on Unix
7130        https://bugs.webkit.org/show_bug.cgi?id=72121
7131
7132        Reviewed by Simon Hausmann.
7133
7134        Setup plugin process for Qt and move the task of querying the plugins
7135        to this process in order to avoid crashes due to plugin bugs or library
7136        incompatibility.
7137
7138        * GNUmakefile.am:
7139        * PluginProcess.pro: Added.
7140
7141        * PluginProcess/gtk/PluginProcessMainGtk.cpp:
7142        (WebKit::PluginProcessMainGtk):
7143        * PluginProcess/qt/PluginProcessMainQt.cpp:
7144        (WebKit::messageHandler):
7145        (WebKit::initializeGtk):
7146        (WebKit):
7147        (WebKit::PluginProcessMain):
7148        Implement entry point of the plugin process.
7149        Handle -scanPlugin command line switch: produce meta data
7150        of plugin on standard output and terminate. Move Gtk initialization
7151        hack to there.
7152
7153        * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
7154        (WebKit::NetscapePluginModule::tryLoad):
7155        Get rid of the Gtk initialization hack. We do not nead it here anymore.
7156
7157        * Shared/Plugins/Netscape/NetscapePluginModule.h:
7158        (WebKit):
7159        (NetscapePluginModule):
7160        * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
7161        (WebKit::parseMIMEDescription):
7162        (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin):
7163        (WebKit):
7164        (WebKit::NetscapePluginModule::getPluginInfo):
7165        Get plugin meta data via PluginProcessproxy. If a failure
7166        happened we ignore to use the plugin. Remove the concept
7167        of stdout redirection since we can control it when launching
7168        the process.
7169
7170        (WebKit::NetscapePluginModule::determineQuirks):
7171        (WebKit::truncateToSingleLine):
7172        (WebKit::NetscapePluginModule::scanPlugin):
7173        Produce plugin meta data on standard output.
7174
7175        * Shared/ProcessExecutablePath.h: Added.
7176        (WebKit):
7177        * Shared/gtk/ProcessExecutablePathGtk.cpp: Added.
7178        (findWebKitProcess):
7179        (executablePathOfWebProcess):
7180        (executablePathOfPluginProcess):
7181        * Shared/qt/ProcessExecutablePathQt.cpp: Copied from Source/WebKit2/UIProcess/Plugins/qt/PluginProcessProxyQt.cpp.
7182        (WebKit):
7183        (WebKit::executablePath):
7184        (WebKit::executablePathOfWebProcess):
7185        (WebKit::executablePathOfPluginProcess):
7186        Factored the executable path determination into free functions
7187        to avoid code duplication.
7188
7189        * Shared/qt/ShareableBitmapQt.cpp:
7190        (WebKit::ShareableBitmap::paint):
7191        Added implementation for the override with the scale factor because
7192        it is called from PluginProxy. It does not actually handle the case
7193        when the scale factor is not 1. However it's ok because it can only
7194        happen on Mac in the moment.
7195
7196        * Target.pri:
7197        * UIProcess/Launcher/ProcessLauncher.h:
7198        (ProcessLauncher):
7199        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
7200        (WebKit::ProcessLauncher::launchProcess):
7201        * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
7202        (WebKit::ProcessLauncher::launchProcess):
7203        Use the new functions to determine the executable path.
7204
7205        * UIProcess/Plugins/PluginProcessProxy.h:
7206        (WebKit):
7207        (RawPluginMetaData):
7208        (PluginProcessProxy):
7209        * UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp:
7210        (WebKit::PluginProcessProxy::platformInitializePluginProcess):
7211        (WebKit):
7212        (WebKit::PluginProcessProxy::scanPlugin):
7213        * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
7214        (WebKit):
7215        (WebKit::PluginProcessProxy::platformInitializePluginProcess):
7216        (WebKit::PluginProcessProxy::scanPlugin):
7217        Launch plugin process and parse it's output to get the meta data
7218        for the plugin.
7219
7220        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
7221        (WebKit::NPN_GetValue):
7222        Changed according to the removing of the flash hack. Do not try
7223        to decide whether the plugin needs Gtk by it's name but instead
7224        always get back the expected Gtk version (2). Only Gtk plugins
7225        should ask for this anyway.
7226
7227        * qt/PluginMainQt.cpp: Copied from Source/WebKit2/UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp.
7228        (WebKit):
7229        (main):
7230
72312012-04-02  Sheriff Bot  <webkit.review.bot@gmail.com>
7232
7233        Unreviewed, rolling out r112868, r112879, and r112881.
7234        http://trac.webkit.org/changeset/112868
7235        http://trac.webkit.org/changeset/112879
7236        http://trac.webkit.org/changeset/112881
7237        https://bugs.webkit.org/show_bug.cgi?id=82901
7238
7239        "Build fail on bots." (Requested by kbalazs on #webkit).
7240
7241        * GNUmakefile.am:
7242        * PluginProcess.pro: Removed.
7243        * PluginProcess/gtk/PluginProcessMainGtk.cpp:
7244        (WebKit::PluginProcessMainGtk):
7245        * PluginProcess/qt/PluginProcessMainQt.cpp:
7246        (WebKit::PluginProcessMain):
7247        * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
7248        (WebKit::NetscapePluginModule::tryLoad):
7249        * Shared/Plugins/Netscape/NetscapePluginModule.h:
7250        (NetscapePluginModule):
7251        * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
7252        (StdoutDevNullRedirector):
7253        (WebKit):
7254        (WebKit::StdoutDevNullRedirector::StdoutDevNullRedirector):
7255        (WebKit::StdoutDevNullRedirector::~StdoutDevNullRedirector):
7256        (WebKit::initializeGTK):
7257        (WebKit::NetscapePluginModule::applyX11QuirksBeforeLoad):
7258        (WebKit::NetscapePluginModule::setMIMEDescription):
7259        (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin):
7260        (WebKit::NetscapePluginModule::getPluginInfo):
7261        (WebKit::NetscapePluginModule::determineQuirks):
7262        * Shared/ProcessExecutablePath.h: Removed.
7263        * Shared/gtk/ProcessExecutablePathGtk.cpp: Removed.
7264        * Shared/qt/ProcessExecutablePathQt.cpp: Removed.
7265        * Shared/qt/ShareableBitmapQt.cpp:
7266        (WebKit::ShareableBitmap::paint):
7267        * Target.pri:
7268        * UIProcess/Launcher/ProcessLauncher.h:
7269        (ProcessLauncher):
7270        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
7271        (WebKit):
7272        (WebKit::findWebKitProcess):
7273        (WebKit::ProcessLauncher::launchProcess):
7274        * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
7275        (WebKit::ProcessLauncher::launchProcess):
7276        * UIProcess/Plugins/PluginProcessProxy.h:
7277        (WebKit):
7278        (PluginProcessProxy):
7279        * UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp:
7280        (WebKit::PluginProcessProxy::platformInitializePluginProcess):
7281        * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
7282        (WebKit::PluginProcessProxy::platformInitializePluginProcess):
7283        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
7284        (WebKit::NPN_GetValue):
7285        * qt/PluginMainQt.cpp: Removed.
7286
72872012-04-02  Balazs Kelemen  <kbalazs@webkit.org>
7288
7289        One more try to fix Qt build after r112868.
7290
7291        It's a misery why I don't have these build failures
7292        locally.
7293
7294        * PluginProcess.pro:
7295
72962012-04-02  Balazs Kelemen  <kbalazs@webkit.org>
7297
7298        Fix Qt build after r112868.
7299
7300        * PluginProcess.pro: Add WTF into includepath.
7301
73022012-04-02  Zalan Bujtas  <zbujtas@gmail.com>
7303
7304        [Qt][WK2] Call resize on frameview in WebPage::resizeToContentsIfNeeded only when the size changes.
7305        https://bugs.webkit.org/show_bug.cgi?id=82892
7306
7307        Reviewed by Kenneth Rohde Christiansen.
7308
7309        Check against the expanded size before calling resize on frameview.
7310
7311        * WebProcess/WebPage/WebPage.cpp:
7312        (WebKit::WebPage::setFixedVisibleContentRect):
7313        (WebKit::WebPage::resizeToContentsIfNeeded):
7314
73152012-04-02  Balazs Kelemen  <kbalazs@webkit.org>
7316
7317        [Qt][WK2] Set up plugin process on Unix
7318        https://bugs.webkit.org/show_bug.cgi?id=72121
7319
7320        Reviewed by Simon Hausmann.
7321
7322        Setup plugin process for Qt and move the task of querying the plugins
7323        to this process in order to avoid crashes due to plugin bugs or library
7324        incompatibility.
7325
7326        * GNUmakefile.am:
7327        * PluginProcess.pro: Added.
7328
7329        * PluginProcess/gtk/PluginProcessMainGtk.cpp:
7330        (WebKit::PluginProcessMainGtk):
7331        * PluginProcess/qt/PluginProcessMainQt.cpp:
7332        (WebKit::messageHandler):
7333        (WebKit::initializeGtk):
7334        (WebKit):
7335        (WebKit::PluginProcessMain):
7336        Implement entry point of the plugin process.
7337        Handle -scanPlugin command line switch: produce meta data
7338        of plugin on standard output and terminate. Move Gtk initialization
7339        hack to there.
7340
7341        * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
7342        (WebKit::NetscapePluginModule::tryLoad):
7343        Get rid of the Gtk initialization hack. We do not nead it here anymore.
7344
7345        * Shared/Plugins/Netscape/NetscapePluginModule.h:
7346        (WebKit):
7347        (NetscapePluginModule):
7348        * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
7349        (WebKit::parseMIMEDescription):
7350        (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin):
7351        (WebKit):
7352        (WebKit::NetscapePluginModule::getPluginInfo):
7353        Get plugin meta data via PluginProcessproxy. If a failure
7354        happened we ignore to use the plugin. Remove the concept
7355        of stdout redirection since we can control it when launching
7356        the process.
7357
7358        (WebKit::NetscapePluginModule::determineQuirks):
7359        (WebKit::truncateToSingleLine):
7360        (WebKit::NetscapePluginModule::scanPlugin):
7361        Produce plugin meta data on standard output.
7362
7363        * Shared/ProcessExecutablePath.h: Added.
7364        (WebKit):
7365        * Shared/gtk/ProcessExecutablePathGtk.cpp: Added.
7366        (findWebKitProcess):
7367        (executablePathOfWebProcess):
7368        (executablePathOfPluginProcess):
7369        * Shared/qt/ProcessExecutablePathQt.cpp: Copied from Source/WebKit2/UIProcess/Plugins/qt/PluginProcessProxyQt.cpp.
7370        (WebKit):
7371        (WebKit::executablePath):
7372        (WebKit::executablePathOfWebProcess):
7373        (WebKit::executablePathOfPluginProcess):
7374        Factored the executable path determination into free functions
7375        to avoid code duplication.
7376
7377        * Shared/qt/ShareableBitmapQt.cpp:
7378        (WebKit::ShareableBitmap::paint):
7379        Added implementation for the override with the scale factor because
7380        it is called from PluginProxy. It does not actually handle the case
7381        when the scale factor is not 1. However it's ok because it can only
7382        happen on Mac in the moment.
7383
7384        * Target.pri:
7385        * UIProcess/Launcher/ProcessLauncher.h:
7386        (ProcessLauncher):
7387        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
7388        (WebKit::ProcessLauncher::launchProcess):
7389        * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
7390        (WebKit::ProcessLauncher::launchProcess):
7391        Use the new functions to determine the executable path.
7392
7393        * UIProcess/Plugins/PluginProcessProxy.h:
7394        (WebKit):
7395        (RawPluginMetaData):
7396        (PluginProcessProxy):
7397        * UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp:
7398        (WebKit::PluginProcessProxy::platformInitializePluginProcess):
7399        (WebKit):
7400        (WebKit::PluginProcessProxy::scanPlugin):
7401        * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
7402        (WebKit):
7403        (WebKit::PluginProcessProxy::platformInitializePluginProcess):
7404        (WebKit::PluginProcessProxy::scanPlugin):
7405        Launch plugin process and parse it's output to get the meta data
7406        for the plugin.
7407
7408        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
7409        (WebKit::NPN_GetValue):
7410        Changed according to the removing of the flash hack. Do not try
7411        to decide whether the plugin needs Gtk by it's name but instead
7412        always get back the expected Gtk version (2). Only Gtk plugins
7413        should ask for this anyway.
7414
7415        * qt/PluginMainQt.cpp: Copied from Source/WebKit2/UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp.
7416        (WebKit):
7417        (main):
7418
74192012-03-16  Philippe Normand  <pnormand@igalia.com>
7420
7421        [GTK][WK2] Initial FullScreen support
7422        https://bugs.webkit.org/show_bug.cgi?id=75553
7423
7424        Reviewed by Martin Robinson.
7425
7426        Full screen display support in WebKitWebViewBase. Two functions
7427        have been added to handle this. They're called by the
7428        WebFullScreenManagerProxy when full screen display needs to be
7429        managed for an HTML element.
7430
7431        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
7432        (_WebKitWebViewBasePrivate):
7433        (webkitWebViewBaseCreateWebPage):
7434        (onFullscreenGtkKeyPressEvent):
7435        (webkitWebViewBaseEnterFullScreen):
7436        (webkitWebViewBaseExitFullScreen):
7437        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
7438        * UIProcess/WebFullScreenManagerProxy.h:
7439        (WebKit):
7440        * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
7441        (WebKit::WebFullScreenManagerProxy::enterFullScreen):
7442        (WebKit::WebFullScreenManagerProxy::exitFullScreen):
7443
74442012-04-02  Sheriff Bot  <webkit.review.bot@gmail.com>
7445
7446        Unreviewed, rolling out r112651.
7447        http://trac.webkit.org/changeset/112651
7448        https://bugs.webkit.org/show_bug.cgi?id=82887
7449
7450        It doesn't work with older Qt5 (Requested by Ossy on #webkit).
7451
7452        * UIProcess/API/qt/qquicknetworkreply_p.h:
7453        * UIProcess/API/qt/qquicknetworkrequest_p.h:
7454        * UIProcess/API/qt/qquickwebview.cpp:
7455        * UIProcess/API/qt/qquickwebview_p.h:
7456        * UIProcess/API/qt/qwebiconimageprovider_p.h:
7457        * UIProcess/API/qt/qwebnavigationhistory.cpp:
7458        * UIProcess/API/qt/qwebnavigationhistory_p.h:
7459        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
7460        * UIProcess/qt/QtDialogRunner.cpp:
7461        (QtDialogRunner::initForAlert):
7462        (QtDialogRunner::initForConfirm):
7463        (QtDialogRunner::initForPrompt):
7464        (QtDialogRunner::initForAuthentication):
7465        (QtDialogRunner::initForProxyAuthentication):
7466        (QtDialogRunner::initForCertificateVerification):
7467        (QtDialogRunner::initForFilePicker):
7468        (QtDialogRunner::initForDatabaseQuotaDialog):
7469        (QtDialogRunner::createDialog):
7470        * UIProcess/qt/QtFlickProvider.cpp:
7471        * UIProcess/qt/QtFlickProvider.h:
7472        (QtFlickProvider):
7473        * UIProcess/qt/WebPopupMenuProxyQt.cpp:
7474        (WebKit::WebPopupMenuProxyQt::createItem):
7475        (WebKit::WebPopupMenuProxyQt::createContext):
7476
74772012-04-02  Hayato Ito  <hayato@chromium.org>
7478
7479        [Shadow DOM] Introduce ComposedShadowTreeWalker as a successor of ReifiedTreeTraversal APIs
7480        https://bugs.webkit.org/show_bug.cgi?id=82009
7481
7482        Reviewed by Dimitri Glazkov.
7483
7484        * win/WebKit2.def:
7485        * win/WebKit2CFLite.def:
7486
74872012-04-01  Jon Lee  <jonlee@apple.com>
7488
7489        Rename notification properties and functions
7490        https://bugs.webkit.org/show_bug.cgi?id=80482
7491        <rdar://problem/10912432>
7492
7493        Reviewed by Kentaro Hara.
7494
7495        Rename APIs to use tag.
7496        * UIProcess/API/C/WKNotification.cpp:
7497        (WKNotificationCopyTag):
7498        * UIProcess/API/C/WKNotification.h:
7499        * UIProcess/Notifications/WebNotification.cpp:
7500        (WebKit::WebNotification::WebNotification):
7501        * UIProcess/Notifications/WebNotification.h:
7502        (WebKit::WebNotification::create):
7503        (WebKit::WebNotification::tag):
7504        (WebNotification):
7505        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
7506        (WebKit::WebNotificationManagerProxy::show):
7507        * UIProcess/Notifications/WebNotificationManagerProxy.h:
7508        (WebNotificationManagerProxy):
7509        * UIProcess/WebPageProxy.cpp:
7510        (WebKit::WebPageProxy::showNotification):
7511        * UIProcess/WebPageProxy.h:
7512        (WebPageProxy):
7513        * UIProcess/WebPageProxy.messages.in:
7514        * WebProcess/Notifications/WebNotificationManager.cpp:
7515        (WebKit::WebNotificationManager::show):
7516
75172012-03-31  Timothy Hatcher  <timothy@apple.com>
7518
7519        Prevent opening external URLs in the Web Inspector's WebView.
7520
7521        All URLs not handled by the Inspector's JavaScript are now opened in the inspected WebView.
7522
7523        https://webkit.org/b/82812
7524        rdar://problem/9488558
7525
7526        Reviewed by Joseph Pecoraro.
7527
7528        * UIProcess/WebInspectorProxy.cpp:
7529        (WebKit::decidePolicyForNavigationAction): Added. Only allow non-main frame and the inspector page. All other URLs
7530        will be opened in the inspected page.
7531        (WebKit::WebInspectorProxy::createInspectorPage): Set the policy client and use decidePolicyForNavigationAction.
7532        * UIProcess/WebInspectorProxy.h: Made inspectorPageURL and inspectorBaseURL public for decidePolicyForNavigationAction.
7533
75342012-03-31  Anders Carlsson  <andersca@apple.com>
7535
7536        32-bit plug-ins need to opt into magnified mode
7537        https://bugs.webkit.org/show_bug.cgi?id=82837
7538        <rdar://problem/9104840>
7539
7540        Reviewed by Simon Fraser.
7541
7542        * PluginProcess/mac/PluginProcessMainMac.mm:
7543        (WebKit::PluginProcessMain):
7544
75452012-03-30  Timothy Hatcher  <timothy@apple.com>
7546
7547        Stop creating the Web Inspector's NSWindow when detaching on close.
7548
7549        This fixes a UI process crash that would happen when detaching because of a Web Process crash.
7550
7551        https://webkit.org/b/82820
7552        rdar://problem/11085467
7553
7554        Reviewed by Dan Bernstein.
7555
7556        * UIProcess/mac/WebInspectorProxyMac.mm:
7557        (WebKit::WebInspectorProxy::platformDetach): Moved the creation and showing code to the end
7558        and added an early return if we are not visible in the middle.
7559
75602012-03-30  Emil A Eklund  <eae@chromium.org>
7561
7562        Change WebKit/WebKit2 platform code to use pixel snapped values
7563        https://bugs.webkit.org/show_bug.cgi?id=82549
7564
7565        Change WebKit and WebKit2 platform code to use rounded locations and
7566        pixel snapped rects and sizes. This largely avoids having to expose the
7567        fractional layout types to the platform code.
7568
7569        Reviewed by Eric Seidel.
7570
7571        * Shared/WebRenderObject.cpp:
7572        (WebKit::WebRenderObject::WebRenderObject):
7573        * UIProcess/win/WebPopupMenuProxyWin.cpp:
7574        (WebKit::WebPopupMenuProxyWin::calculatePositionAndSize):
7575        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
7576        (WebKit::InjectedBundleNodeHandle::renderRect):
7577        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
7578        (WebKit::BuiltInPDFView::invalidateScrollbarRect):
7579        * WebProcess/WebPage/mac/WebPageMac.mm:
7580        (WebKit::WebPage::characterIndexForPoint):
7581
75822012-03-30  Anders Carlsson  <andersca@apple.com>
7583
7584        Fix Lion build.
7585
7586        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
7587        (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
7588
75892012-03-30  Mark Pilgrim  <pilgrim@chromium.org>
7590
7591        GEOLOCATION should be implemented as Page Supplement
7592        https://bugs.webkit.org/show_bug.cgi?id=82228
7593
7594        Reviewed by Adam Barth.
7595
7596        Geolocation is now a Supplement in Page so the interface
7597        has changed for setting up the page's geolocation client
7598        initially and accessing the controller later.
7599
7600        * WebProcess/Geolocation/WebGeolocationManager.cpp:
7601        (WebKit::WebGeolocationManager::didChangePosition):
7602        (WebKit::WebGeolocationManager::didFailToDeterminePosition):
7603        * WebProcess/InjectedBundle/InjectedBundle.cpp:
7604        (WebKit::InjectedBundle::setGeoLocationPermission):
7605        * WebProcess/WebPage/WebPage.cpp:
7606        (WebKit::WebPage::WebPage):
7607
76082012-03-30  Anders Carlsson  <andersca@apple.com>
7609
7610        Show a scrolling indicator light when compositing borders are turned on
7611        https://bugs.webkit.org/show_bug.cgi?id=82758
7612        <rdar://problem/11143892>
7613
7614        Reviewed by Andreas Kling.
7615
7616        * WebProcess/WebPage/DrawingArea.h:
7617        (WebKit::DrawingArea::updatePreferences):
7618        Add a hook for letting drawing area subclasses know when preferences change.
7619
7620        * WebProcess/WebPage/WebPage.cpp:
7621        Call DrawingArea::updatePreferences.
7622
7623        (WebKit::WebPage::updatePreferences):
7624        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
7625        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
7626        Call updatePreferences.
7627
7628        (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
7629        If compositing borders are enabled, create a debug root layer and tell the scrolling tree about it.
7630    
7631        (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
7632        If we have a debug root layer, make sure it's in front.
7633
76342012-03-30  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
7635
7636        [Qt] Find zoomable area using area-based hit-testing
7637        https://bugs.webkit.org/show_bug.cgi?id=82609
7638
7639        Reviewed by Kenneth Rohde Christiansen.
7640
7641        Add area to findZoomableAreaForPoint and use new TOUCH_ADJUSTMENT
7642        code-path to find the best zoomable area.
7643
7644        * UIProcess/WebPageProxy.cpp:
7645        (WebKit::WebPageProxy::findZoomableAreaForPoint):
7646        * UIProcess/WebPageProxy.h:
7647        (WebPageProxy):
7648        * UIProcess/qt/QtWebPageEventHandler.cpp:
7649        (QtWebPageEventHandler::handleDoubleTapEvent):
7650        * WebProcess/WebPage/WebPage.cpp:
7651        (WebKit):
7652        (WebKit::WebPage::findZoomableAreaForPoint):
7653        * WebProcess/WebPage/WebPage.h:
7654        (WebPage):
7655        * WebProcess/WebPage/WebPage.messages.in:
7656
76572012-03-30  Keishi Hattori  <keishi@webkit.org>
7658
7659        Change ENABLE_INPUT_COLOR to ENABLE_INPUT_TYPE_COLOR and enable it for chromium
7660        https://bugs.webkit.org/show_bug.cgi?id=80972
7661
7662        Reviewed by Kent Tamura.
7663
7664        * Configurations/FeatureDefines.xcconfig:
7665
76662012-03-29  Ádám Kallai  <kadam@inf.u-szeged.hu>
7667
7668        [Qt] Build fix by renameing QtDeclarative to QtQml in header calls.
7669        https://bugs.webkit.org/show_bug.cgi?id=82195
7670
7671        Reviewed by Simon Hausmann.
7672
7673        * UIProcess/API/qt/qquicknetworkreply_p.h:
7674        * UIProcess/API/qt/qquicknetworkrequest_p.h:
7675        * UIProcess/API/qt/qquickwebview.cpp:
7676        * UIProcess/API/qt/qquickwebview_p.h:
7677        * UIProcess/API/qt/qwebiconimageprovider_p.h:
7678        * UIProcess/API/qt/qwebnavigationhistory.cpp:
7679        * UIProcess/API/qt/qwebnavigationhistory_p.h:
7680        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
7681        * UIProcess/qt/QtDialogRunner.cpp:
7682        (QtDialogRunner::initForAlert):
7683        (QtDialogRunner::initForConfirm):
7684        (QtDialogRunner::initForPrompt):
7685        (QtDialogRunner::initForAuthentication):
7686        (QtDialogRunner::initForProxyAuthentication):
7687        (QtDialogRunner::initForCertificateVerification):
7688        (QtDialogRunner::initForFilePicker):
7689        (QtDialogRunner::initForDatabaseQuotaDialog):
7690        (QtDialogRunner::createDialog):
7691        * UIProcess/qt/QtFlickProvider.cpp:
7692        * UIProcess/qt/QtFlickProvider.h:
7693        (QtFlickProvider):
7694        * UIProcess/qt/WebPopupMenuProxyQt.cpp:
7695        (WebKit::WebPopupMenuProxyQt::createItem):
7696        (WebKit::WebPopupMenuProxyQt::createContext):
7697
76982012-03-29  No'am Rosenthal  <noam.rosenthal@nokia.com>
7699
7700        [Qt][WK2] Direct composited image assignment doesn't work
7701        https://bugs.webkit.org/show_bug.cgi?id=82525
7702
7703        Reviewed by Kenneth Rohde Christiansen.
7704
7705        We don't need to check whether the image or contentsRect are updated,
7706        since assignImageToLayer is a cheap operation after the LayerBackingStore
7707        refactor.
7708
7709        * UIProcess/WebLayerTreeRenderer.cpp:
7710        (WebKit::WebLayerTreeRenderer::setLayerChildren):
7711        (WebKit::WebLayerTreeRenderer::setLayerState):
7712        (WebKit::WebLayerTreeRenderer::renderNextFrame):
7713
77142012-03-29  Sheriff Bot  <webkit.review.bot@gmail.com>
7715
7716        Unreviewed, rolling out r112553.
7717        http://trac.webkit.org/changeset/112553
7718        https://bugs.webkit.org/show_bug.cgi?id=82638
7719
7720        It made all tests crash on Qt WK2 (Requested by Ossy_away on
7721        #webkit).
7722
7723        * WebProcess/Geolocation/WebGeolocationManager.cpp:
7724        (WebKit::WebGeolocationManager::didChangePosition):
7725        (WebKit::WebGeolocationManager::didFailToDeterminePosition):
7726        * WebProcess/InjectedBundle/InjectedBundle.cpp:
7727        (WebKit::InjectedBundle::setGeoLocationPermission):
7728        * WebProcess/WebPage/WebPage.cpp:
7729        (WebKit::WebPage::WebPage):
7730
77312012-03-29  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
7732
7733        HashMap<>::add should return a more descriptive object
7734        https://bugs.webkit.org/show_bug.cgi?id=71063
7735
7736        Reviewed by Ryosuke Niwa.
7737
7738        Update code to use AddResult instead of a pair.
7739
7740        * Platform/CoreIPC/ArgumentCoders.h:
7741        * Platform/CoreIPC/Connection.cpp:
7742        (CoreIPC::Connection::SyncMessageState::getOrCreate):
7743        * Shared/MutableDictionary.cpp:
7744        (WebKit::MutableDictionary::add):
7745        (WebKit::MutableDictionary::set):
7746        * Shared/UserMessageCoders.h:
7747        (WebKit::UserMessageDecoder::baseDecode):
7748        * Shared/mac/CommandLineMac.cpp:
7749        (WebKit::CommandLine::parse):
7750        * UIProcess/API/mac/WKPrintingView.mm:
7751        (pageDidDrawToPDF):
7752        * UIProcess/API/mac/WKView.mm:
7753        (-[WKView validateUserInterfaceItem:]):
7754        * UIProcess/WebProcessProxy.cpp:
7755        (WebKit::WebProcessProxy::addBackForwardItem):
7756        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
7757        (WebKit::InjectedBundleNodeHandle::getOrCreate):
7758        * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
7759        (WebKit::InjectedBundleRangeHandle::getOrCreate):
7760        * WebProcess/Notifications/WebNotificationManager.cpp:
7761        (WebKit::WebNotificationManager::show):
7762        * WebProcess/WebProcess.cpp:
7763        (WebKit::WebProcess::createWebPage):
7764        (WebKit::WebProcess::webPageGroup):
7765
77662012-03-29  Mark Pilgrim  <pilgrim@chromium.org>
7767
7768        GEOLOCATION should be implemented as Page Supplement
7769        https://bugs.webkit.org/show_bug.cgi?id=82228
7770
7771        Reviewed by Adam Barth.
7772
7773        Geolocation is now a Supplement in Page so the interface
7774        has changed for setting up the page's geolocation client
7775        initially and accessing the controller later.
7776
7777        * WebProcess/Geolocation/WebGeolocationManager.cpp:
7778        (WebKit::WebGeolocationManager::didChangePosition):
7779        (WebKit::WebGeolocationManager::didFailToDeterminePosition):
7780        * WebProcess/InjectedBundle/InjectedBundle.cpp:
7781        (WebKit::InjectedBundle::setGeoLocationPermission):
7782        * WebProcess/WebPage/WebPage.cpp:
7783        (WebKit::WebPage::WebPage):
7784
77852012-03-28  Anders Carlsson  <andersca@apple.com>
7786
7787        Fix a crash and an assertion when recovering from a web process crash
7788        https://bugs.webkit.org/show_bug.cgi?id=82559
7789        <rdar://problem/10902574>
7790
7791        Reviewed by Mark Rowe.
7792
7793        * UIProcess/API/mac/WKView.mm:
7794        (-[WKView _processDidCrash]):
7795        If we're currently in accelerated compositing mode, exit.
7796
7797        (-[WKView updateLayer]):
7798        Guard against a null drawing area.
7799
78002012-03-28  Nate Chapin  <japhet@chromium.org>
7801
7802        Remove dispatchDidLoadMainResource callback, since no
7803        port implements it.
7804        https://bugs.webkit.org/show_bug.cgi?id=82539
7805
7806        Reviewed by Alexey Proskuryakov.
7807
7808        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
7809        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
7810
78112012-03-28  Anders Carlsson  <andersca@apple.com>
7812
7813        Massive lag opening a link in a new background tab
7814        https://bugs.webkit.org/show_bug.cgi?id=82542
7815        <rdar://problem/11004502>
7816
7817        Reviewed by Sam Weinig.
7818
7819        Defer waiting for the web process to update the page size until we're actually going to display the layer.
7820        This matches what we do in the non-tiled code path.
7821
7822        * UIProcess/API/mac/WKView.mm:
7823        (-[WKView setFrameSize:]):
7824        (-[WKView updateLayer]):
7825        * UIProcess/DrawingAreaProxy.h:
7826        (WebKit::DrawingAreaProxy::waitForPossibleGeometryUpdate):
7827        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
7828        (TiledCoreAnimationDrawingAreaProxy):
7829        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
7830        (WebKit::TiledCoreAnimationDrawingAreaProxy::sizeDidChange):
7831        (WebKit):
7832        (WebKit::TiledCoreAnimationDrawingAreaProxy::waitForPossibleGeometryUpdate):
7833
78342012-03-28  Anders Carlsson  <andersca@apple.com>
7835
7836        REGRESSION (r109826): Can't type into Flash text fields
7837        https://bugs.webkit.org/show_bug.cgi?id=82488
7838        <rdar://problem/11022004>
7839
7840        Reviewed by Sam Weinig.
7841
7842        This was caused by the fix in r109826. Revert that change and fix the original bug by notifying the UI process
7843        that the plug-in lost focus when it's destroyed. This will correctly reset the text input state (merely setting 
7844        the text input state to PluginComplexTextInputDisabled doesn't reset the state correctly).
7845
7846        * UIProcess/API/mac/WKView.mm:
7847        (-[WKView _setPluginComplexTextInputState:]):
7848        (-[WKView _handlePluginComplexTextInputKeyDown:]):
7849        * WebProcess/Plugins/PluginView.cpp:
7850        (WebKit::PluginView::~PluginView):
7851
78522012-03-28  Balazs Kelemen  <kbalazs@webkit.org>
7853
7854        [Qt] Fix QWARN in test_loadIgnoreEmptyUrl API test.
7855
7856        Rubber-stamped by Csaba Osztrogonác.
7857
7858        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
7859        There is no load() API of the view, we have to use the url property.
7860
78612012-03-27  YoungTaeck Song  <youngtaeck.song@samsung.com>
7862
7863        [EFL][WK2] Add RunLoopEfl and WorkQueueEfl
7864        https://bugs.webkit.org/show_bug.cgi?id=62777
7865
7866        Reviewed by Hajime Morita.
7867
7868        Add initial version WorkQueueEfl for WebKit2 Efl.
7869
7870        * Platform/CoreIPC/Connection.h:
7871        * Platform/CoreIPC/unix/ConnectionUnix.cpp:
7872        (CoreIPC::Connection::platformInvalidate):
7873        (CoreIPC::Connection::open):
7874        * Platform/PlatformProcessIdentifier.h:
7875        (WebKit):
7876        * Platform/WorkQueue.h:
7877        (WorkQueue):
7878        * Platform/efl/WorkQueueEfl.cpp: Added.
7879        (TimerWorkItem):
7880        (TimerWorkItem::TimerWorkItem):
7881        (TimerWorkItem::~TimerWorkItem):
7882        (TimerWorkItem::function):
7883        (TimerWorkItem::queue):
7884        (TimerWorkItem::timerID):
7885        (WorkQueue::platformInitialize):
7886        (WorkQueue::platformInvalidate):
7887        (WorkQueue::performWork):
7888        (WorkQueue::performFdWork):
7889        (WorkQueue::sendMessageToThread):
7890        (WorkQueue::workQueueThread):
7891        (WorkQueue::registerSocketEventHandler):
7892        (WorkQueue::unregisterSocketEventHandler):
7893        (WorkQueue::dispatch):
7894        (WorkQueue::timerFired):
7895        (WorkQueue::dispatchAfterDelay):
7896        * PlatformEfl.cmake:
7897
78982012-03-27  Anders Carlsson  <andersca@apple.com>
7899
7900        Plug-ins using the Core Animation drawing model should work when hosting the layer tree in the window server
7901        https://bugs.webkit.org/show_bug.cgi?id=82387
7902        <rdar://problem/11031942>
7903
7904        Reviewed by Sam Weinig.
7905
7906        * PluginProcess/PluginControllerProxy.cpp:
7907        (WebKit::PluginControllerProxy::PluginControllerProxy):
7908        (WebKit::PluginControllerProxy::initialize):
7909        Remove m_pluginCreationParameters; it was used by the old NPRuntime short-circuit code. 
7910        Make platformInitialize take creation parameters.
7911
7912        * PluginProcess/PluginControllerProxy.messages.in:
7913        Add SetLayerHostingMode message.
7914
7915        * PluginProcess/gtk/PluginControllerProxyGtk.cpp:
7916        (WebKit::PluginControllerProxy::platformInitialize):
7917        Make platformInitialize take creation parameters.
7918
7919        * PluginProcess/mac/PluginControllerProxyMac.mm:
7920        (WebKit::PluginControllerProxy::platformInitialize):
7921        Call updateLayerHostingContext.
7922
7923        (WebKit::PluginControllerProxy::setLayerHostingMode):
7924        Call updateLayerHostingContext and send back the new context ID.
7925
7926        (WebKit::PluginControllerProxy::updateLayerHostingContext):
7927        Create a new LayerHostingContext given the layer hosting mode.
7928
7929        * PluginProcess/qt/PluginControllerProxyQt.cpp:
7930        (WebKit::PluginControllerProxy::platformInitialize):
7931        Make platformInitialize take creation parameters.
7932
7933        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
7934        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
7935        (WebKit::NetscapePlugin::setLayerHostingMode):
7936        Add stub.
7937
7938        * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
7939        (WebKit::makeRenderLayer):
7940        Add helper function for creating a new render layer.
7941
7942        (WebKit::PluginProxy::pluginLayer):
7943        Call makeRenderLayer.
7944
7945        (WebKit::PluginProxy::setLayerHostingMode):
7946        Send a message to the plug-in process.
7947
7948        (WebKit::PluginProxy::setLayerHostingContextID):
7949        Update the context ID and make a new render layer.
7950
7951        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
7952        (WebKit::BuiltInPDFView::setLayerHostingMode):
7953        Add stub.
7954        * WebProcess/Plugins/PDF/BuiltInPDFView.h:
7955
7956        * WebProcess/Plugins/Plugin.cpp:
7957        (WebKit::Plugin::Parameters::encode):
7958        (WebKit::Plugin::Parameters::decode):
7959        * WebProcess/Plugins/Plugin.h:
7960        Add the layer hosting mode as a parameter. Add a new setLayerHostingMode pure virtual member function.
7961
7962        * WebProcess/Plugins/PluginProxy.messages.in:
7963        Add a SetLayerHostingContextID message.
7964
7965        * WebProcess/Plugins/PluginView.cpp:
7966        (WebKit::PluginView::setLayerHostingMode):
7967        Call down to the plug-in.
7968
7969        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
7970        (WebKit::WebFrameLoaderClient::createPlugin):
7971        Set the layer hosting mode of the page.
7972
7973        * WebProcess/WebPage/WebPage.cpp:
7974        (WebKit::WebPage::WebPage):
7975        Initialize m_layerHostingMode to false.
7976
7977        * WebProcess/WebPage/WebPage.h:
7978        (WebKit::WebPage::layerHostingMode):
7979        Add m_layerHostingMode and a getter.
7980
7981        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
7982        (WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode):
7983        Call WebPage::setLayerHostingMode.
7984
7985        * WebProcess/WebPage/mac/WebPageMac.mm:
7986        (WebKit::WebPage::setLayerHostingMode):
7987        Tell all plug-ins that the layer hosting mode changed.
7988
79892012-03-27  Timothy Hatcher  <timothy@apple.com>
7990
7991        Make WebKit properly load a staged framework when soft linking.
7992
7993        https://webkit.org/b/82371
7994        rdar://problem/11125989
7995
7996        Reviewed by Dan Bernstein.
7997
7998        * UIProcess/mac/WebInspectorProxyMac.mm: Use SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL to properly
7999        load the WebInspector framework.
8000        * WebProcess/WebPage/mac/WebInspectorMac.mm: Ditto.
8001
80022012-03-27  Anders Carlsson  <andersca@apple.com>
8003
8004        Don't update the layer hosting state unless the WKView is added to a window
8005        https://bugs.webkit.org/show_bug.cgi?id=82359
8006
8007        Reviewed by Sam Weinig.
8008
8009        This avoids thrashing the layer hosting state when switching tabs.
8010
8011        * UIProcess/WebPageProxy.cpp:
8012        (WebKit::WebPageProxy::viewStateDidChange):
8013
80142012-03-27  Carlos Garcia Campos  <cgarcia@igalia.com>
8015
8016        Implement WebFrameNetworkingContext for soup in WebKit2
8017
8018        [SOUP] Implement WebFrameNetworkingContext for soup in WebKit2
8019        https://bugs.webkit.org/show_bug.cgi?id=82081
8020
8021        Reviewed by Martin Robinson.
8022
8023        * GNUmakefile.am: Add new files to compilation
8024        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp: Copied from Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebFrameNetworkingContext.h.
8025        (WebKit::WebFrameNetworkingContext::soupSession): Return the
8026        default SoupSession.
8027        * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebFrameNetworkingContext.h.
8028        (WebKit):
8029        (WebFrameNetworkingContext):
8030        (WebKit::WebFrameNetworkingContext::create): Create a new
8031        WebFrameNetworkingContext().
8032        (WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext):
8033
80342012-03-27  Yael Aharon  <yael.aharon@nokia.com>
8035
8036        [Qt][WK2] Merge setVisibleContentsRect with setFixedVisibleContentRect
8037        https://bugs.webkit.org/show_bug.cgi?id=82289
8038
8039        Reviewed by Kenneth Rohde Christiansen.
8040
8041        As we scroll, we constantly send 2 messages. Those 2 messages can be merged into one.
8042
8043        * UIProcess/API/qt/qquickwebview.cpp:
8044        (QQuickWebViewFlickablePrivate::_q_contentViewportChanged):
8045        * UIProcess/WebPageProxy.cpp:
8046        (WebKit):
8047        * UIProcess/WebPageProxy.h:
8048        (WebPageProxy):
8049        * WebProcess/WebPage/WebPage.messages.in:
8050        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
8051        (WebKit::LayerTreeHostQt::setVisibleContentsRect):
8052
80532012-03-27  Carlos Garcia Campos  <cgarcia@igalia.com>
8054
8055        [SOUP] Implement missing methods in CookieJarSoup
8056        https://bugs.webkit.org/show_bug.cgi?id=82082
8057
8058        Reviewed by Martin Robinson.
8059
8060        * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
8061        (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): Use
8062        soupCookieJar() instead of defaultCookieJar().
8063        (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy): Ditto.
8064
80652012-03-27  Carlos Garcia Campos  <cgarcia@igalia.com>
8066
8067        [GTK] Add method webkit_web_resource_get_data() to WebKit2 GTK+ API
8068        https://bugs.webkit.org/show_bug.cgi?id=79667
8069
8070        Reviewed by Gustavo Noronha Silva.
8071
8072        * UIProcess/API/gtk/WebKitWebResource.cpp:
8073        (webkitWebResourceCreate): Add isMainResource parameter indication
8074        whether the resource is the main one of the frame.
8075        (resourceDataCallback): C API callback called when resource data
8076        is available.
8077        (webkit_web_resource_get_data): Asynchronously get the raw data of
8078        the resource.
8079        (webkit_web_resource_get_data_finish): Finish asynchronous
8080        operation started by webkit_web_resource_get_data().
8081        * UIProcess/API/gtk/WebKitWebResource.h:
8082        * UIProcess/API/gtk/WebKitWebResourcePrivate.h:
8083        * UIProcess/API/gtk/WebKitWebView.cpp:
8084        (webkitWebViewResourceLoadStarted): Pass isMainResource parameter
8085        to webkitWebResourceCreate().
8086        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
8087        * UIProcess/API/gtk/tests/TestResources.cpp:
8088        (testWebResourceGetData):
8089        (serverCallback):
8090        (beforeAll):
8091
80922012-03-27  Carlos Garcia Campos  <cgarcia@igalia.com>
8093
8094        [GTK] Add resources API to WebKit2 GTK+
8095        https://bugs.webkit.org/show_bug.cgi?id=79477
8096
8097        Reviewed by Gustavo Noronha Silva.
8098
8099        * GNUmakefile.am: Add new files to compilation.
8100        * UIProcess/API/gtk/WebKitResourceLoadClient.cpp: Added.
8101        (didInitiateLoadForResource): Call
8102        webkitWebViewResourceLoadStarted() so that view will create the
8103        resource and emit WebKitWebView::resource-load-started.
8104        (didSendRequestForResource): Call webkitWebResourceSentRequest()
8105        with the given request and response.
8106        (didReceiveResponseForResource): Call
8107        webkitWebResourceSetResponse() with the given response.
8108        (didReceiveContentLengthForResource): Call
8109        webkitWebResourceNotifyProgress().
8110        (didFinishLoadForResource): Call webkitWebResourceFinished().
8111        (didFailLoadForResource): Create a GError for the given WKError
8112        and call webkitWebResourceFailed().
8113        (attachResourceLoadClientToView): Add callbacks for the
8114        WKPageResourceLoadClient.
8115        * UIProcess/API/gtk/WebKitResourceLoadClient.h: Added.
8116        * UIProcess/API/gtk/WebKitWebResource.cpp: Added.
8117        (webkitWebResourceGetProperty):
8118        (webkit_web_resource_init):
8119        (webkit_web_resource_class_init):
8120        (webkitWebResourceUpdateURI): Update the active URI every time a
8121        new request is sent to the server.
8122        (webkitWebResourceCreate): Create a WebResource for the given
8123        frame.
8124        (webkitWebResourceSentRequest): Update uri and emit
8125        WebKitWebResource::sent-request.
8126        (webkitWebResourceSetResponse): Set the response property.
8127        (webkitWebResourceNotifyProgress): Emit
8128        WebKitWebResource::received-data.
8129        (webkitWebResourceFinished): Emit WebKitWebResource::finished.
8130        (webkitWebResourceFailed): Emit WebKitWebResource::failed and then
8131        WebKitWebResource::finished.
8132        (webkit_web_resource_get_uri): Return the currentr active URI.
8133        (webkit_web_resource_get_response): Return the response received
8134        from the server.
8135        * UIProcess/API/gtk/WebKitWebResource.h: Added.
8136        * UIProcess/API/gtk/WebKitWebResourcePrivate.h: Added.
8137        * UIProcess/API/gtk/WebKitWebView.cpp:
8138        (webkitWebViewConstructed): Attach the resource load client to the
8139        view.
8140        (webkit_web_view_class_init): Add
8141        WebKitWebView::resource-load-started signal.
8142        (webkitWebViewLoadChanged): Clear loading resources map when a new
8143        load starts and loaded resources map when the new load has been
8144        committed.
8145        (webkitWebViewResourceLoadStarted): Create a resource for the
8146        given identifier, add it to the loading resources map and emit
8147        WebKitWebView::resource-load-started signal.
8148        (webkitWebViewGetLoadingWebResource): Return the resource that is
8149        being loaded corresponding to the given identifier.
8150        (webkitWebViewRemoveLoadingWebResource): Remove the resouurce
8151        corresponfing to the given identifier from the loading resources
8152        map.
8153        (webkitWebViewResourceLoadFinished): Move the resource from the
8154        loading resources map to the loaded resources map.
8155        (webkit_web_view_get_main_resource): Return the main resource.
8156        (webkit_web_view_get_subresources): Return the list of
8157        subresources.
8158        * UIProcess/API/gtk/WebKitWebView.h:
8159        * UIProcess/API/gtk/WebKitWebViewPrivate.h:
8160        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
8161        WebKitWebResource.
8162        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
8163        * UIProcess/API/gtk/docs/webkit2gtk.types: Add
8164        webkit_web_resource_get_type.
8165        * UIProcess/API/gtk/tests/GNUmakefile.am: Add new test for resources.
8166        * UIProcess/API/gtk/tests/TestDownloads.cpp:
8167        (testDownloadLocalFile): Use getWebKit1TestResoucesDir() from Test.
8168        (testDownloadLocalFileError): Ditto.
8169        (serverCallback): Ditto.
8170        * UIProcess/API/gtk/tests/TestMain.h:
8171        (Test::getWebKit1TestResoucesDir): Moed from TestDownloads so that
8172        it can be used by other tests.
8173        (Test): Add information about leaked objects.
8174        * UIProcess/API/gtk/tests/TestResources.cpp: Added.
8175        (testWebViewResources):
8176        (testWebResourceLoading):
8177        (testWebResourceResponse):
8178        (testWebResourceActiveURI):
8179        (addCacheHTTPHeadersToResponse):
8180        (serverCallback):
8181        (beforeAll):
8182        (afterAll):
8183        * UIProcess/API/gtk/webkit2.h: Include WebKitWebResource.h
8184        * UIProcess/API/gtk/webkit2marshal.list:
8185
81862012-03-26  Pratik Solanki  <psolanki@apple.com>
8187
8188        Fix typo in method name - WebCore::miminumValueForLength should be WebCore::minimumValueForLength
8189        https://bugs.webkit.org/show_bug.cgi?id=82254
8190
8191        Reviewed by Benjamin Poulain.
8192
8193        * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
8194        (WebKit::WebPopupMenu::setUpPlatformData):
8195
81962012-03-26  Dinu Jacob  <dinu.jacob@nokia.com>
8197
8198        [Qt][WK2] Support multi-file upload
8199        https://bugs.webkit.org/show_bug.cgi?id=81589
8200
8201        Reviewed by Simon Hausmann.
8202
8203        Added 'allowMutipleFiles' property to filePicker context property to indicate whether to allow
8204        multiple file selections.
8205
8206        * UIProcess/API/qt/qquickwebview.cpp:
8207        (QQuickWebViewPrivate::chooseFiles):
8208        * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
8209        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_multiFileUpload.qml: Added.
8210        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_singleFileUpload.qml:
8211        * UIProcess/API/qt/tests/qmltests/common/multifileupload.html: Added.
8212        * UIProcess/API/qt/tests/qmltests/common/singlefileupload.html:
8213        * UIProcess/API/qt/tests/qmltests/common/titleupdate.js: Added.
8214        (updateTitle):
8215        * UIProcess/qt/QtDialogRunner.cpp:
8216        (FilePickerContextObject):
8217        (FilePickerContextObject::FilePickerContextObject):
8218        (FilePickerContextObject::allowMultipleFiles):
8219        (FilePickerContextObject::accept):
8220        (QtDialogRunner::initForFilePicker):
8221        * UIProcess/qt/QtDialogRunner.h:
8222        (QtDialogRunner):
8223
82242012-03-26  Adam Barth  <abarth@webkit.org>
8225
8226        FrameLoader::shouldAllowNavigation uses Frame for context rather than Document
8227        https://bugs.webkit.org/show_bug.cgi?id=81020
8228
8229        Reviewed by Eric Seidel.
8230
8231        Update call site to new function name.
8232
8233        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
8234        (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
8235
82362012-03-26  Anders Carlsson  <andersca@apple.com>
8237
8238        Never remove root compositing layers in the web process
8239        https://bugs.webkit.org/show_bug.cgi?id=82255
8240        <rdar://problem/11058521>
8241
8242        Reviewed by Sam Weinig.
8243
8244        Since we never leave accelerated compositing mode when using tiled drawing, we should
8245        never remove root compositing layers in the web process.
8246
8247        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
8248        (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
8249
82502012-03-26  Rafael Brandao  <rafael.lobo@openbossa.org>
8251
8252        [Qt][WK2] default families are not set in QWebPreferences
8253        https://bugs.webkit.org/show_bug.cgi?id=81933
8254
8255        This is a build-fix after r112116.
8256
8257        Reviewed by Tor Arne Vestbø.
8258
8259        * UIProcess/API/qt/qwebpreferences_p_p.h:
8260
82612012-03-26  Pierre Rossi  <pierre.rossi@nokia.com>
8262
8263        [Qt][WK2] default families are not set in QWebPreferences
8264        https://bugs.webkit.org/show_bug.cgi?id=81933
8265
8266        This would result in an attempt to create FontPlatformData
8267        with the -webkit- prefixed family name.
8268        Logic adapted from QWebSettings.
8269
8270        Reviewed by Kenneth Rohde Christiansen.
8271
8272        * UIProcess/API/qt/qwebpreferences.cpp:
8273        (QWebPreferencesPrivate::createPreferences):
8274        (QWebPreferencesPrivate::initFontDefaults):
8275        * UIProcess/API/qt/qwebpreferences_p_p.h:
8276
82772012-03-26  Dinu Jacob  <dinu.jacob@nokia.com>
8278
8279        [Qt WK2] Disable/enable mouse events when displaying dialogs only for desktop view
8280        https://bugs.webkit.org/show_bug.cgi?id=80542
8281
8282        Reviewed by Simon Hausmann.
8283       
8284        * UIProcess/API/qt/qquickwebview.cpp:
8285        (QQuickWebViewLegacyPrivate::enableMouseEvents):
8286        (QQuickWebViewLegacyPrivate::disableMouseEvents):
8287        * UIProcess/API/qt/qquickwebview_p_p.h:
8288        (QQuickWebViewPrivate::enableMouseEvents):
8289        (QQuickWebViewPrivate::disableMouseEvents):
8290        (QQuickWebViewLegacyPrivate):
8291
82922012-03-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
8293
8294        [Qt] Make sure that purged directly composited images are re-created before a layer's sync.
8295        https://bugs.webkit.org/show_bug.cgi?id=81771
8296
8297        Reviewed by Noam Rosenthal.
8298
8299        This fixes a regression in tst_qquickwebview introduced by r111567.
8300
8301        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
8302        (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
8303        (WebCore::WebGraphicsLayer::updateContentBuffers):
8304
83052012-03-26  Simon Hausmann  <simon.hausmann@nokia.com>
8306
8307        [WK2][Qt] Fix compilation without QtWidgets
8308        https://bugs.webkit.org/show_bug.cgi?id=79458
8309
8310        Reviewed by Tor Arne Vestbø.
8311
8312        * Shared/qt/WebEventFactoryQt.cpp:
8313        (WebKit::WebEventFactory::createWebWheelEvent): Replace use of QApplication::wheelScrollLines()
8314        with the constant that is actually used and usually not changed anyway.
8315        * Target.pri: Remove widgets from Qt variable.
8316        * UIProcess/qt/QtWebPageEventHandler.cpp: Remove unecessary include.
8317        * WebProcess.pro: Use widgets for the process (for the time being).
8318        * WebProcess/qt/WebProcessMainQt.cpp: Delegate QApplication creation to the caller.
8319        (WebKit::WebProcessMainQt):
8320        * qt/MainQt.cpp: Create QApplication here.
8321        (WebKit):
8322        (main):
8323
83242012-03-26  Andras Becsi  <andras.becsi@nokia.com>
8325
8326        Be more careful with git gui usage
8327
8328        Unreviewed typo fix.
8329
8330        * UIProcess/qt/QtViewportInteractionEngine.cpp: Remove additional line committed by accident.
8331        (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
8332
83332012-03-26  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
8334
8335        [Qt] Taps are sometimes not highlighted.
8336        https://bugs.webkit.org/show_bug.cgi?id=82188
8337
8338        Reviewed by Kenneth Rohde Christiansen.
8339
8340        Highlight any focusable parent element, or if none is found at least
8341        the element returned by bestClickableNodeForTouchPoint.
8342
8343        * WebProcess/WebPage/WebPage.cpp:
8344        (WebKit::WebPage::highlightPotentialActivation):
8345
83462012-03-26  Sheriff Bot  <webkit.review.bot@gmail.com>
8347
8348        Unreviewed, rolling out r111993.
8349        http://trac.webkit.org/changeset/111993
8350        https://bugs.webkit.org/show_bug.cgi?id=82184
8351
8352        It broke layout and API tests and made WTR crash (Requested by
8353        Ossy on #webkit).
8354
8355        * UIProcess/qt/QtPageClient.cpp:
8356        (QtPageClient::isViewWindowActive):
8357
83582012-03-25  Hayato Ito  <hayato@chromium.org>
8359
8360        [Shadow DOM] Add Reified DOM Tree traversal internal APIs.
8361        https://bugs.webkit.org/show_bug.cgi?id=79197
8362
8363        Reviewed by Dimitri Glazkov.
8364
8365        Add internal APIs which can be used to traverse Reified DOM tree, which is
8366        a result of node distribution algorithm explained in Shadow DOM spec.
8367        https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html
8368
8369        Every public functions defined in ReifiedTreeTraversal are static
8370        functions and are named in a similar way to ones defined in WebCore::Node class.
8371        The only difference is that ReifiedTreeTraversal APIs consider shadow
8372        hosts and also traverse nodes is Shadow DOM subtrees, crossing shadow's upper and lower boundary
8373        transparently.
8374
8375        There is no actual client which uses these APIs. Follow-up patches for FocusNavigation
8376        and EventDispatcher will use the APIs so that they can traverse node in reified tree order.
8377
8378        * win/WebKit2.def:
8379        * win/WebKit2CFLite.def:
8380
83812012-03-25  Alexander Færøy  <alexander.faeroy@nokia.com>
8382
8383        Unreviewed build fix for QtWebKit on Mac OS X.
8384
8385        * UIProcess/API/qt/tests/bytearraytestdata.cpp:
8386        (ByteArrayTestData::~ByteArrayTestData):
8387        * UIProcess/API/qt/tests/bytearraytestdata.h:
8388
83892012-03-24  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
8390
8391        [Qt][WK2] Implement PageClient::isViewWindowActive()
8392        https://bugs.webkit.org/show_bug.cgi?id=81143
8393
8394        Reviewed by Kenneth Rohde Christiansen.
8395
8396        This patch implements PageClient::isViewWindowActive()
8397        now that QQuickCanvas::isActive() is available (from QWindow).
8398
8399        * UIProcess/qt/QtPageClient.cpp:
8400        (QtPageClient::isViewWindowActive):
8401
84022012-03-23  Alexey Proskuryakov  <ap@apple.com>
8403
8404        [Mac] No need for platform-specific ENABLE_BLOB values
8405        https://bugs.webkit.org/show_bug.cgi?id=82102
8406
8407        Reviewed by David Kilzer.
8408
8409        * Configurations/FeatureDefines.xcconfig:
8410
84112012-03-23  Sheriff Bot  <webkit.review.bot@gmail.com>
8412
8413        Unreviewed, rolling out r108851.
8414        http://trac.webkit.org/changeset/108851
8415        https://bugs.webkit.org/show_bug.cgi?id=82098
8416
8417        "Revert the addition of unnecessary, deprecated functions in
8418        WKPreferences.h" (Requested by estes on #webkit).
8419
8420        * UIProcess/API/C/WKPreferences.cpp:
8421        * UIProcess/API/C/WKPreferences.h:
8422
84232012-03-23  Brent Fulgham  <bfulgham@webkit.org>
8424
8425        [WinCairo] Unreviewed build fix.
8426
8427        * win/WebKit2CFLite.def: Add missing export symbols so that other
8428        tools can link properly.
8429
84302012-03-23  Dean Jackson  <dino@apple.com>
8431
8432        Disable CSS_SHADERS in Apple builds
8433        https://bugs.webkit.org/show_bug.cgi?id=81996
8434
8435        Reviewed by Simon Fraser.
8436
8437        Remove ENABLE_CSS_SHADERS from FeatureDefines. It's now in Platform.h.
8438
8439        * Configurations/FeatureDefines.xcconfig:
8440
84412012-03-23  Dave Michael  <dmichael@chromium.org>
8442
8443        Relanding(r111754): HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called
8444        https://bugs.webkit.org/show_bug.cgi?id=80428
8445
8446        Reviewed by Eric Seidel and Ryosuke Niwa.
8447
8448        * win/WebKit2.def: Export a symbol for InspectorCounters::counterValue
8449        * win/WebKit2CFLite.def: Export a symbol for InspectorCounters::counterValue
8450
84512012-03-23  Sheriff Bot  <webkit.review.bot@gmail.com>
8452
8453        Unreviewed, rolling out r111855.
8454        http://trac.webkit.org/changeset/111855
8455        https://bugs.webkit.org/show_bug.cgi?id=82053
8456
8457        It broke 30+ tests (Requested by Ossy on #webkit).
8458
8459        * UIProcess/qt/QtPageClient.cpp:
8460        (QtPageClient::isViewWindowActive):
8461
84622012-03-23  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
8463
8464        [Qt][WK2] Implement PageClient::isViewWindowActive()
8465        https://bugs.webkit.org/show_bug.cgi?id=81143
8466
8467        Reviewed by Kenneth Rohde Christiansen.
8468
8469        This patch implements PageClient::isViewWindowActive()
8470        now that QQuickCanvas::isActive() is available (from QWindow).
8471
8472        * UIProcess/qt/QtPageClient.cpp:
8473        (QtPageClient::isViewWindowActive):
8474
84752012-03-23  Andras Becsi  <andras.becsi@nokia.com>
8476
8477        [Qt][WK2] Disable the flickable when pinching.
8478
8479        Reviewed by Kenneth Rohde Christiansen.
8480
8481        Set the interactivity of the internal flickable to false
8482        when pinching so that it does not react to mouse events
8483        which might break pinch zoom.
8484        This is a temporal workaround and needed until the event
8485        propagation in QtQuick is fixed.
8486
8487        * UIProcess/qt/QtViewportInteractionEngine.cpp:
8488        (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
8489        (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
8490        (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
8491
84922012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
8493
8494        REGRESSION(r111754): plugins/reloadplugins-and-pages.html fails on all platforms
8495        https://bugs.webkit.org/show_bug.cgi?id=82035
8496
8497        * win/WebKit2.def:
8498        * win/WebKit2CFLite.def:
8499
85002012-03-22  Anders Carlsson  <andersca@apple.com>
8501
8502        Remove the Flash NPRuntime short-circuit hacks
8503        https://bugs.webkit.org/show_bug.cgi?id=81997
8504        <rdar://problem/10409289>
8505
8506        Reviewed by Sam Weinig.
8507
8508        This code was added to help speed up Flash plug-in instantiation by reducing the number of
8509        synchronous API calls from the plug-in process to the web process during instantiation.
8510        However, there was no real indication that this actually improved performance.
8511
8512        Furthermore, it seems to have introduced crashers when misbehaving plug-ins would make NPRuntime calls
8513        after a plug-in had been destroyed. Since Flash is now 64-bit like the rest of WebKit launch time has
8514        improved since we don't have to bring in all of the 32-bit system frameworks, so the time has come to
8515        rip out this egregious hack.
8516
8517        * PluginProcess/PluginControllerProxy.cpp:
8518        (WebKit::PluginControllerProxy::evaluate):
8519        * PluginProcess/PluginControllerProxy.h:
8520        (PluginControllerProxy):
8521        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
8522        (WebKit::NetscapePluginModule::determineQuirks):
8523        * Shared/Plugins/PluginQuirks.h:
8524        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
8525        (WebKit::NPN_Invoke):
8526        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
8527        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
8528        (NetscapePlugin):
8529        * WebProcess/Plugins/Plugin.cpp:
8530        (WebKit::Plugin::Parameters::encode):
8531        (WebKit::Plugin::Parameters::decode):
8532        * WebProcess/Plugins/Plugin.h:
8533        (Parameters):
8534        * WebProcess/Plugins/PluginController.h:
8535        (PluginController):
8536        * WebProcess/Plugins/PluginView.cpp:
8537        * WebProcess/Plugins/PluginView.h:
8538        (PluginView):
8539        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
8540        (WebKit::WebFrameLoaderClient::createPlugin):
8541
85422012-03-22  Raphael Kubo da Costa  <rakuco@FreeBSD.org>
8543
8544        [CMake] Unreviewed build fix after r111778.
8545
8546        * CMakeLists.txt: Replace ${JAVASCRIPTCORE_DIR}/wtf includes with
8547        ${WTF_DIR}/wtf ones.
8548
85492012-03-22  Csaba Osztrogonác  <ossy@webkit.org>
8550
8551        Actually move WTF files to their new home
8552        https://bugs.webkit.org/show_bug.cgi?id=81844
8553
8554        [Qt] Unreviewed buildfix after r111778.
8555
8556        * UIProcess/API/qt/qquicknetworkrequest_p.h:
8557        * WebKit2.pri:
8558
85592012-03-22  Dave Michael  <dmichael@chromium.org>
8560
8561        HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called
8562        https://bugs.webkit.org/show_bug.cgi?id=80428
8563
8564        Reviewed by Eric Seidel.
8565
8566        Test: plugins/netscape-dom-access-and-reload.html
8567
8568        * win/WebKit2.def: Export a symbol for InspectorCounters::counterValue
8569        * win/WebKit2CFLite.def: Export a symbol for InspectorCounters::counterValue
8570
85712012-03-22  Pierre Rossi  <pierre.rossi@gmail.com>
8572
8573        Revert back the device DPI to 160.
8574
8575        This corresponds to a device pixel ratio of 1, which
8576        is nicer on the eye in many cases.
8577
8578        Rubber-stamped by Kenneth Rohde Christiansen.
8579
8580        * UIProcess/API/qt/qquickwebview.cpp:
8581        (QQuickWebViewFlickablePrivate::computeViewportConstraints):
8582
85832012-03-22  Alexander Færøy  <alexander.faeroy@nokia.com>
8584
8585        [Qt][WK2] Remember to initialize databaseQuotaDialog
8586        https://bugs.webkit.org/show_bug.cgi?id=81942
8587
8588        Reviewed by Kenneth Rohde Christiansen.
8589
8590        * UIProcess/API/qt/qquickwebview.cpp:
8591        (QQuickWebViewPrivate::QQuickWebViewPrivate):
8592
85932012-03-22  Alexander Færøy  <alexander.faeroy@nokia.com>
8594
8595        [Qt][WK2] Pass Origin information to the DatabaseQuotaDialogContextObject
8596        https://bugs.webkit.org/show_bug.cgi?id=81910
8597
8598        Reviewed by Simon Hausmann.
8599
8600        * UIProcess/API/qt/qquickwebview.cpp:
8601        (QQuickWebViewPrivate::exceededDatabaseQuota):
8602        * UIProcess/API/qt/qquickwebview_p_p.h:
8603        (QQuickWebViewPrivate):
8604        * UIProcess/qt/QtDialogRunner.cpp:
8605        (DatabaseQuotaDialogContextObject):
8606        (DatabaseQuotaDialogContextObject::DatabaseQuotaDialogContextObject):
8607        (DatabaseQuotaDialogContextObject::securityOrigin):
8608        (QtDialogRunner::initForDatabaseQuotaDialog):
8609        * UIProcess/qt/QtDialogRunner.h:
8610        (QtDialogRunner):
8611        * UIProcess/qt/QtWebPageUIClient.cpp:
8612        (QtWebPageUIClient::exceededDatabaseQuota):
8613        * UIProcess/qt/QtWebPageUIClient.h:
8614
86152012-03-22  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
8616
8617        [Qt] Don't resume the suspended page if the user is continuously flicking.
8618        https://bugs.webkit.org/show_bug.cgi?id=81895
8619
8620        Reviewed by Kenneth Rohde Christiansen.
8621
8622        Create an additional suspend deferrer between TouchBegin and TouchEnd to
8623        relay with the one kept while the flick animation is running.
8624        This allows the page to be suspended when a pan gesture starts and stay
8625        that way until the last flick animation ends.
8626
8627        * UIProcess/qt/QtViewportInteractionEngine.cpp:
8628        (WebKit::QtViewportInteractionEngine::touchBegin):
8629        (WebKit):
8630        (WebKit::QtViewportInteractionEngine::touchEnd):
8631        (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
8632        * UIProcess/qt/QtViewportInteractionEngine.h:
8633        (QtViewportInteractionEngine):
8634        * UIProcess/qt/QtWebPageEventHandler.cpp:
8635        (QtWebPageEventHandler::doneWithTouchEvent):
8636
86372012-03-22  Carlos Garcia Campos  <cgarcia@bb-webkit-rel-64.local.igalia.com>
8638
8639        [GTK] Use the angle-bracket form to include wtf headers
8640        https://bugs.webkit.org/show_bug.cgi?id=81884
8641
8642        Reviewed by Eric Seidel.
8643
8644        Use #include <wtf/foo> instead of #include <JavaScriptCore/foo>.
8645
8646        * UIProcess/API/gtk/tests/TestMain.h:
8647        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
8648
86492012-03-22  No'am Rosenthal  <noam.rosenthal@nokia.com>
8650
8651        [Qt][WK2] The background appears to have one extra pixel from the contents
8652        https://bugs.webkit.org/show_bug.cgi?id=81830
8653
8654        Reviewed by Kenneth Rohde Christiansen.
8655
8656        The clip-polygon from the scenegraph uses floats, not integers.
8657        This could cause 1-offset clipping problems in some cases.
8658
8659        * UIProcess/qt/QtWebPageSGNode.cpp:
8660        (WebKit::ContentsSGNode::clipRect):
8661
86622012-03-21  Alexander Færøy  <alexander.faeroy@nokia.com>
8663
8664        [Qt][WK2] Add QML API for handling database quotas
8665        https://bugs.webkit.org/show_bug.cgi?id=81827
8666
8667        Reviewed by Simon Hausmann.
8668
8669        Patch by Pierre Rossi and Alexander Færøy.
8670
8671        This patch adds a QML API for handling database quotas.
8672
8673        * UIProcess/API/qt/qquickwebview.cpp:
8674        (QQuickWebViewPrivate::exceededDatabaseQuota):
8675        (QQuickWebViewExperimental::databaseQuotaDialog):
8676        (QQuickWebViewExperimental::setDatabaseQuotaDialog):
8677        * UIProcess/API/qt/qquickwebview_p.h:
8678        * UIProcess/API/qt/qquickwebview_p_p.h:
8679        (QQuickWebViewPrivate):
8680        * UIProcess/qt/QtDialogRunner.cpp:
8681        (DatabaseQuotaDialogContextObject):
8682        (DatabaseQuotaDialogContextObject::DatabaseQuotaDialogContextObject):
8683        (DatabaseQuotaDialogContextObject::databaseName):
8684        (DatabaseQuotaDialogContextObject::displayName):
8685        (DatabaseQuotaDialogContextObject::currentQuota):
8686        (DatabaseQuotaDialogContextObject::currentOriginUsage):
8687        (DatabaseQuotaDialogContextObject::currentDatabaseUsage):
8688        (DatabaseQuotaDialogContextObject::expectedUsage):
8689        (DatabaseQuotaDialogContextObject::accept):
8690        (DatabaseQuotaDialogContextObject::reject):
8691        (QtDialogRunner::initForDatabaseQuotaDialog):
8692        * UIProcess/qt/QtDialogRunner.h:
8693        (QtDialogRunner):
8694        (QtDialogRunner::databaseQuota):
8695        (QtDialogRunner::onDatabaseQuotaAccepted):
8696        * UIProcess/qt/QtWebPageUIClient.cpp:
8697        (QtWebPageUIClient::QtWebPageUIClient):
8698        (QtWebPageUIClient::exceededDatabaseQuota):
8699        * UIProcess/qt/QtWebPageUIClient.h:
8700        * UIProcess/qt/WebContextQt.cpp:
8701        (WebKit::WebContext::platformDefaultDatabaseDirectory):
8702
87032012-03-21  Tim Horton  <timothy_horton@apple.com>
8704
8705        Make use of CG rounded-rect primitives
8706        https://bugs.webkit.org/show_bug.cgi?id=79932
8707        <rdar://problem/9274953>
8708
8709        Reviewed by Simon Fraser.
8710        
8711        Portions of patch by Nikolas Zimmermann and Mustafizur Rahaman.
8712
8713        Add wkCGPathAddRoundedRect.
8714
8715        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
8716        (InitWebCoreSystemInterface):
8717
87182012-03-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
8719
8720        [Qt] WebGraphicsLayer: Untie the layer updates and tile updates.
8721        https://bugs.webkit.org/show_bug.cgi?id=81771
8722
8723        Reviewed by Kenneth Rohde Christiansen.
8724
8725        The DidRenderFrame message needs to be sent for every UpdateTileForLayer
8726        message, but this currently has to be triggered by m_shouldSyncFrame which
8727        is only set after sending a SyncCompositingLayerState message.
8728        This patch makes sure that tile updates won't trigger sending the whole
8729        layer info if it didn't change, and send the DidRenderFrame message directly.
8730
8731        It also makes sure that the layer info is sent before any tile update so that
8732        the layer can be created on the UI process before any tile update is handled.
8733
8734        * UIProcess/WebLayerTreeRenderer.cpp:
8735        (WebKit::WebLayerTreeRenderer::getBackingStore):
8736        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
8737        (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
8738        (WebCore::WebGraphicsLayer::tiledBackingStorePaint):
8739        (WebCore::WebGraphicsLayer::createTile):
8740        (WebCore::WebGraphicsLayer::updateTile):
8741        (WebCore::WebGraphicsLayer::removeTile):
8742        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
8743        (WebKit::LayerTreeHostQt::createTile):
8744        (WebKit::LayerTreeHostQt::updateTile):
8745        (WebKit::LayerTreeHostQt::removeTile):
8746
87472012-03-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
8748
8749        [Qt] Don't clip the contents rendering to the contents size.
8750        https://bugs.webkit.org/show_bug.cgi?id=81770
8751
8752        Reviewed by Kenneth Rohde Christiansen.
8753
8754        The original bug was caused by the contents size updates
8755        having to go through the UI process before being applied
8756        on the TiledBackingStore of the non composited contents layer.
8757        With this bug being fixed, the clipping isn't necessary anymore.
8758
8759        * UIProcess/qt/LayerBackingStore.cpp:
8760        (WebKit::LayerBackingStore::paintToTextureMapper):
8761
87622012-03-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
8763
8764        [Qt] Apply tile removals at the same time as update buffer swaps.
8765        https://bugs.webkit.org/show_bug.cgi?id=81768
8766
8767        Reviewed by Kenneth Rohde Christiansen.
8768
8769        When committing the scale, we have to remove old tiles once the
8770        tiles for the new scale are rendered. This should however wait
8771        until those tiles gets their buffer swapped (following the DidRenderFrame
8772        message) to make sure that there is no rendered gap between the removals
8773        and updates swap.
8774        This patch continues rendering the removed tiles until the DidRenderFrame
8775        message is received to discard the old contents and show the new contents
8776        at the same frame.
8777
8778        * UIProcess/WebLayerTreeRenderer.cpp:
8779        (WebKit::WebLayerTreeRenderer::commitTileUpdates):
8780        (WebKit::WebLayerTreeRenderer::flushLayerChanges):
8781        * UIProcess/WebLayerTreeRenderer.h:
8782        (WebLayerTreeRenderer):
8783        * UIProcess/qt/LayerBackingStore.cpp:
8784        (WebKit::LayerBackingStore::removeTile):
8785        (WebKit::LayerBackingStore::commitTileUpdates):
8786        * UIProcess/qt/LayerBackingStore.h:
8787        (LayerBackingStore):
8788
87892012-03-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
8790
8791        [Qt] Trigger scene graph repaints only for relevant layer updates.
8792        https://bugs.webkit.org/show_bug.cgi?id=81765
8793
8794        Reviewed by Kenneth Rohde Christiansen.
8795
8796        Tile updates and removal shouldn't re-render the scene all by themselves
8797        since they need a buffer swap before having any effect on the framebuffer.
8798
8799        * UIProcess/LayerTreeHostProxy.cpp:
8800        (WebKit::LayerTreeHostProxy::dispatchUpdate):
8801        (WebKit::LayerTreeHostProxy::deleteCompositingLayer):
8802        (WebKit::LayerTreeHostProxy::setRootCompositingLayer):
8803        (WebKit::LayerTreeHostProxy::didRenderFrame):
8804
88052012-03-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
8806
8807        [Qt] Don't go through the UI process to update a layer's contents size.
8808        https://bugs.webkit.org/show_bug.cgi?id=81764
8809
8810        Reviewed by Kenneth Rohde Christiansen.
8811
8812        It's happening when navigating pages that contents from the old page
8813        is still present on the tiles until the contents size is shrunk to cut it out.
8814        Since the contents size updates are asynchronous and go through the UI process,
8815        this could occasionally show some glitch frames.
8816        Even worse, the user could delay this update by starting to pan and keep
8817        his finger on the screen.
8818        This patch makes sure that changes to contents size are notifying the LayerTreeHost
8819        immediately when in fixed layout mode, and remove the loop through the UI process.
8820
8821        * UIProcess/API/qt/qquickwebpage.cpp:
8822        (QQuickWebPage::setContentsSize):
8823        * UIProcess/API/qt/qquickwebpage_p_p.h:
8824        (QQuickWebPagePrivate):
8825        * UIProcess/API/qt/qquickwebview.cpp:
8826        (QQuickWebViewPrivate::didRelaunchProcess):
8827        (QQuickWebViewLegacyPrivate::updateViewportSize):
8828        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
8829        (WebKit::WebChromeClient::contentsSizeChanged):
8830        * WebProcess/WebPage/DrawingArea.h:
8831        (WebKit):
8832        (WebKit::DrawingArea::layerTreeHost):
8833        * WebProcess/WebPage/DrawingAreaImpl.cpp:
8834        (WebKit::DrawingAreaImpl::updateBackingStoreState):
8835        * WebProcess/WebPage/DrawingAreaImpl.h:
8836        (WebKit::DrawingAreaImpl::layerTreeHost):
8837        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
8838        (WebKit::LayerTreeHostQt::sizeDidChange):
8839
88402012-03-21  Kenneth Rohde Christiansen  <kenneth@webkit.org>
8841
8842        The activation highlight does not always hide
8843        https://bugs.webkit.org/show_bug.cgi?id=81767
8844
8845        Reviewed by Simon Hausmann.
8846
8847        The zero point used for hiding potential activations should
8848        not be transformed.
8849
8850        * UIProcess/qt/QtWebPageEventHandler.cpp:
8851        (QtWebPageEventHandler::handlePotentialSingleTapEvent):
8852
88532012-03-21  Dinu Jacob  <dinu.jacob@nokia.com>
8854
8855        [Qt][WK2] Item cannot be selected from select list in touch webview
8856        https://bugs.webkit.org/show_bug.cgi?id=81674
8857
8858        Reviewed by Simon Hausmann.
8859
8860        Activate flag to prevent QQuickWebView from accepting touch event when select
8861        dialog is being displayed.
8862
8863        * UIProcess/API/qt/qquickwebview.cpp:
8864        (QQuickWebViewPrivate::QQuickWebViewPrivate):
8865        (QQuickWebViewPrivate::execDialogRunner):
8866        (QQuickWebView::touchEvent):
8867        * UIProcess/API/qt/qquickwebview_p_p.h:
8868        (QQuickWebViewPrivate::setDialogActive):
8869        (QQuickWebViewPrivate):
8870        * UIProcess/qt/WebPopupMenuProxyQt.cpp:
8871        (WebKit::WebPopupMenuProxyQt::showPopupMenu):
8872        (WebKit::WebPopupMenuProxyQt::hidePopupMenu):
8873
88742012-03-21  Kenneth Rohde Christiansen  <kenneth@webkit.org>
8875
8876        [Qt] Remove the PostTransitionState
8877        https://bugs.webkit.org/show_bug.cgi?id=81751
8878
8879        Reviewed by Simon Hausmann.
8880
8881        As we are handling content size change event etc from the
8882        WebProcess, that conflicts with the PostTransitionState handling
8883        and we therefore need to handle this slightly differently.
8884
8885        Remove the code and make sure that we never resize the tiled
8886        area to something smaller than the layout viewport.
8887
8888        * UIProcess/API/qt/qquickwebview.cpp:
8889        (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
8890        (QQuickWebViewFlickablePrivate::loadDidCommit):
8891        (QQuickWebViewFlickablePrivate::didFinishFirstNonEmptyLayout):
8892        (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
8893        (QQuickWebViewFlickablePrivate::_q_resume):
8894        (QQuickWebViewFlickablePrivate::pageDidRequestScroll):
8895        (QQuickWebViewFlickablePrivate::didChangeContentsSize):
8896        * UIProcess/API/qt/qquickwebview_p_p.h:
8897        (QQuickWebViewFlickablePrivate):
8898        * UIProcess/qt/QtViewportInteractionEngine.cpp:
8899        (WebKit::QtViewportInteractionEngine::applyConstraints):
8900        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
8901        (WebKit::WebChromeClient::contentsSizeChanged):
8902        * WebProcess/WebPage/WebPage.cpp:
8903        (WebKit::WebPage::resizeToContentsIfNeeded):
8904
89052012-03-21  Carlos Garcia Campos  <cgarcia@igalia.com>
8906
8907        [GTK] Add webkit_web_view_run_javascript() to WebKit2 GTK+
8908        https://bugs.webkit.org/show_bug.cgi?id=75543
8909
8910        Reviewed by Martin Robinson.
8911
8912        * GNUmakefile.am: Add new files to compilation.
8913        * UIProcess/API/gtk/WebKitError.cpp:
8914        (webkit_javascript_error_quark): Add new error domain for
8915        Javascript errors.
8916        * UIProcess/API/gtk/WebKitError.h:
8917        * UIProcess/API/gtk/WebKitJavascriptResult.cpp: Added.
8918        (webkitJavascriptResultCreate): Create a WebKitJavascriptResult
8919        for the given WKSerializedScriptValueRef.
8920        (webkit_javascript_result_ref): Increment reference count of
8921        WebKitJavascriptResult.
8922        (webkit_javascript_result_unref): Decrement reference count of
8923        WebKitJavascriptResult.
8924        (webkit_javascript_result_get_global_context): Get global
8925        javascript context of the result.
8926        (webkit_javascript_result_get_value): Get the JSValueRef of the
8927        result.
8928        * UIProcess/API/gtk/WebKitJavascriptResult.h: Added.
8929        * UIProcess/API/gtk/WebKitJavascriptResultPrivate.h: Added.
8930        * UIProcess/API/gtk/WebKitPrivate.h:
8931        * UIProcess/API/gtk/WebKitWebView.cpp:
8932        (webkitWebViewFinalize): Release the global javascript context.
8933        (webkit_web_view_get_javascript_global_context): Get or create the
8934        global javascript context.
8935        (webkitWebViewRunJavaScriptCallback): Callback called by C API when
8936        javascript execution finishes.
8937        (webkit_web_view_run_javascript): Asynchronously run a given
8938        javascript.
8939        (webkit_web_view_run_javascript_finish): Finish async operation
8940        started by webkit_web_view_run_javascript().
8941        * UIProcess/API/gtk/WebKitWebView.h:
8942        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
8943        * UIProcess/API/gtk/docs/webkit2gtk.types: Add
8944        webkit_javascript_result_get_type().
8945        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
8946        (testWebViewRunJavaScript):
8947        (beforeAll):
8948        * UIProcess/API/gtk/tests/WebViewTest.cpp:
8949        (WebViewTest::WebViewTest):
8950        (WebViewTest::~WebViewTest):
8951        (runJavaScriptReadyCallback):
8952        (WebViewTest::runJavaScriptAndWaitUntilFinished):
8953        (jsValueToCString):
8954        (WebViewTest::javascriptResultToCString):
8955        (WebViewTest::javascriptResultToNumber):
8956        (WebViewTest::javascriptResultToBoolean):
8957        (WebViewTest::javascriptResultIsNull):
8958        (WebViewTest::javascriptResultIsUndefined):
8959        * UIProcess/API/gtk/tests/WebViewTest.h:
8960        * UIProcess/API/gtk/webkit2.h:
8961
89622012-03-20  Eric Seidel  <eric@webkit.org>
8963
8964        Move wtf/Platform.h from JavaScriptCore to Source/WTF/wtf
8965        https://bugs.webkit.org/show_bug.cgi?id=80911
8966
8967        Reviewed by Adam Barth.
8968
8969        Update to not depend on "Foo.h" includes for WTF headers.
8970
8971        * Shared/qt/QtNetworkReplyData.h:
8972        * Shared/qt/QtNetworkRequestData.cpp:
8973        * Shared/qt/QtNetworkRequestData.h:
8974
89752012-03-20  Anders Carlsson  <andersca@apple.com>
8976
8977        REGRESSION (r110780): Loading a PDF always makes the WKView layer backed
8978        https://bugs.webkit.org/show_bug.cgi?id=81734
8979        <rdar://problem/11088172>
8980
8981        Reviewed by Adele Peterson.
8982
8983        * UIProcess/API/mac/WKView.mm:
8984        (-[WKView _setPageHasCustomRepresentation:]):
8985        Don't call -[NSView setWantsLayer:], the web process already takes care of entering and exiting
8986        accelerated compositing mode for us.
8987
89882012-03-20  Jon Lee  <jonlee@apple.com>
8989
8990        Restrict access to notifications for unique origins and file URLs with no local file access
8991        https://bugs.webkit.org/show_bug.cgi?id=79704
8992        <rdar://problem/10912430>
8993
8994        Reviewed by Adam Barth.
8995
8996        In the specific case where a file URL has restricted file access and is denied universal access,
8997        SecurityOrigin::canShowNotifications() returns Ask, since it is not considered a unique origin.
8998        The cached table of permissions held by the notification manager will typically not have an entry for
8999        the toString() representation of these file URLs, which is "null", since that can also cover unique
9000        origins, and it is possible that the client will want different permissions between the two types.
9001
9002        It is reasonable, however, for there to be an entry for "file://", so we use toRawString() to do the lookup.
9003
9004        * WebProcess/Notifications/WebNotificationManager.cpp:
9005        (WebKit::WebNotificationManager::policyForOrigin):
9006
90072012-03-20  Alexey Proskuryakov  <ap@apple.com>
9008
9009        Address review comment for WebProcess side, too.
9010
9011        * WebProcess/mac/WebProcessMac.mm: (WebKit::initializeSandbox): There is no need for
9012        path to be in static storage, setenv will copy the value.
9013
90142012-03-20  Alexey Proskuryakov  <ap@apple.com>
9015
9016        Sandboxed PluginProcess should use private temporary and cache directories
9017        https://bugs.webkit.org/show_bug.cgi?id=81702
9018        <rdar://problem/10792047>
9019
9020        Reviewed by Anders Carlsson.
9021
9022        * Platform/Module.h:
9023        * Platform/mac/ModuleMac.mm:
9024        (WebKit::Module::bundleIdentifier):
9025        Expose plug-in's bundle identifier.
9026
9027        * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.in: Some unerlated fixes to make
9028        networking functional on my testing platforms. These serveices are already allowed for
9029        WebProcess.
9030
9031        * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
9032        (readSandboxProfile): Unrelated fix - I've been made to rename the profile file, but
9033        didn't update where it's read from!
9034        (WKN_EnterSandbox): Add a suffix to user directories.
9035
90362012-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>
9037
9038        Unreviewed, rolling out r111445 and r111446.
9039        http://trac.webkit.org/changeset/111445
9040        http://trac.webkit.org/changeset/111446
9041        https://bugs.webkit.org/show_bug.cgi?id=81708
9042
9043        It broke Qt and GTK build intentionally (Requested by Ossy on
9044        #webkit).
9045
9046        * WebProcess/Notifications/WebNotificationManager.cpp:
9047        (WebKit::WebNotificationManager::policyForOrigin):
9048
90492012-03-20  Jon Lee  <jonlee@apple.com>
9050
9051        Restrict access to notifications for unique origins and file URLs with no local file access
9052        https://bugs.webkit.org/show_bug.cgi?id=79704
9053        <rdar://problem/10912430>
9054
9055        Reviewed by Adam Barth.
9056
9057        In the specific case where a file URL has restricted file access and is denied universal access,
9058        SecurityOrigin::canShowNotifications() returns Ask, since it is not considered a unique origin.
9059        The cached table of permissions held by the notification manager will typically not have an entry for
9060        the toString() representation of these file URLs, which is "null", since that can also cover unique
9061        origins, and it is possible that the client will want different permissions between the two types.
9062
9063        It is reasonable, however, for there to be an entry for "file://", so we use toRawString() to do the lookup.
9064
9065        * WebProcess/Notifications/WebNotificationManager.cpp:
9066        (WebKit::WebNotificationManager::policyForOrigin):
9067
90682012-03-20  Alexey Proskuryakov  <ap@apple.com>
9069
9070        WebProcess should use private temporary and cache directories
9071        https://bugs.webkit.org/show_bug.cgi?id=80876
9072
9073        Reviewed by Sam Weinig.
9074
9075        * Shared/WebProcessCreationParameters.cpp:
9076        (WebKit::WebProcessCreationParameters::encode):
9077        (WebKit::WebProcessCreationParameters::decode):
9078        * Shared/WebProcessCreationParameters.h: (WebProcessCreationParameters):
9079        * UIProcess/mac/WebContextMac.mm: (WebKit::WebContext::platformInitializeWebProcess):
9080        Always pass uiProcessBundleIdentifier to WebProcess on Mac, it's now used for more than
9081        CFURL sessions.
9082
9083        * WebProcess/com.apple.WebProcess.sb.in: Limit old workaround to platforms that need it.
9084
9085        * WebProcess/mac/WebProcessMac.mm: (WebKit::initializeSandbox): Tell confstr to use a suffix
9086        on user directories.
9087
90882012-03-20  Anders Carlsson  <andersca@apple.com>
9089
9090        Graphic distortion effect when launching with empty page Safari after reset
9091        https://bugs.webkit.org/show_bug.cgi?id=81677
9092        <rdar://problem/11065904>
9093
9094        Reviewed by Sam Weinig.
9095
9096        Don't set the redraw policy to never, since that was causing the WKView layer to never be updated. Instead,
9097        let AppKit decide which redraw policy to use.
9098
9099        * UIProcess/API/mac/WKView.mm:
9100        (-[WKView initWithFrame:contextRef:pageGroupRef:]):
9101
91022012-03-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
9103
9104        Convert hasSpellingMarker to use Internals interface.
9105        https://bugs.webkit.org/show_bug.cgi?id=81300
9106
9107        Reviewed by Ryosuke Niwa.
9108
9109        * win/WebKit2.def: Export a symbol for hasSpellingMarker.
9110
91112012-03-20  Antaryami Pandia  <antaryami.pandia@motorola.com>
9112
9113        [GTK] [WK2] Add javascript clipboard functionality settings to WebKit2 GTK+ API.
9114        https://bugs.webkit.org/show_bug.cgi?id=80981
9115
9116        Reviewed by Martin Robinson.
9117
9118        Add WebSettings to enable/disable javascript clipboard functionality.
9119
9120        * UIProcess/API/gtk/WebKitSettings.cpp:
9121        (webKitSettingsSetProperty):
9122        (webKitSettingsGetProperty):
9123        (webkit_settings_class_init):
9124        (webkit_settings_get_javascript_can_access_clipboard):
9125        (webkit_settings_set_javascript_can_access_clipboard):
9126        * UIProcess/API/gtk/WebKitSettings.h:
9127        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
9128        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
9129        (testWebKitSettings):
9130
91312012-03-19  Adam Barth  <abarth@webkit.org>
9132
9133        Remove support for "magic" iframe
9134        https://bugs.webkit.org/show_bug.cgi?id=81590
9135
9136        Reviewed by Eric Seidel.
9137
9138        Remove FrameLoaderClient methods that no longer exist.
9139
9140        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
9141        (WebKit):
9142        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
9143
91442012-03-19  Gustavo Noronha Silva  <gns@gnome.org>
9145
9146        [GTK] libWebCore.la has become too big for make
9147        https://bugs.webkit.org/show_bug.cgi?id=81582
9148
9149        Unreviewed build fix.
9150
9151        * GNUmakefile.am: link-in the new libWebCoreModules.la
9152
91532012-03-19  Sam Weinig  <sam@webkit.org>
9154
9155        Stop messing with the AppKit grow box on platforms that don't support it
9156        <rdar://problem/10752048>
9157        https://bugs.webkit.org/show_bug.cgi?id=81614
9158
9159        Reviewed by Dan Bernstein.
9160
9161        * UIProcess/API/mac/WKView.mm:
9162        (-[WKView viewWillMoveToWindow:]):
9163        (-[WKView _didChangeScrollbarsForMainFrame]):
9164        Snow Leopard was the last Mac OS to need a grow box.
9165
91662012-03-19  Enrica Casucci  <enrica@apple.com>
9167
9168        WebKit2: create sandbox extensions for files that are dropped in an input control.
9169        https://bugs.webkit.org/show_bug.cgi?id=81153
9170        <rdar://problem/11031207>
9171
9172        Reviewed by Alexey Proskuryakov.
9173
9174        Now the pasteboard access is performed only in the UI process, it is
9175        necessary to create sandbox extensions for each file that is dropped into
9176        an input type=file element. The extensions are created at the time the files
9177        are dropped and consumed immediately.
9178        
9179        * Platform/CoreIPC/HandleMessage.h:
9180        (CoreIPC::callMemberFunction): Added template that takes 8 arguments.
9181        * Shared/SandboxExtension.h:
9182        (HandleArray): Added new class to handle an array of sandbox extension handles.
9183        (WebKit::SandboxExtension::HandleArray::HandleArray):
9184        (WebKit::SandboxExtension::HandleArray::~HandleArray):
9185        (WebKit::SandboxExtension::HandleArray::resize):
9186        (WebKit::SandboxExtension::HandleArray::operator[]):
9187        (WebKit::SandboxExtension::HandleArray::size):
9188        (WebKit::SandboxExtension::HandleArray::encode):
9189        (WebKit::SandboxExtension::HandleArray::decode):
9190        * Shared/mac/SandboxExtensionMac.mm: Added new class implementation.
9191        (WebKit::SandboxExtension::HandleArray::HandleArray):
9192        (WebKit::SandboxExtension::HandleArray::~HandleArray):
9193        (WebKit::SandboxExtension::HandleArray::resize):
9194        (WebKit::SandboxExtension::HandleArray::operator[]):
9195        (WebKit::SandboxExtension::HandleArray::size):
9196        (WebKit::SandboxExtension::HandleArray::encode):
9197        (WebKit::SandboxExtension::HandleArray::decode):
9198        * UIProcess/API/mac/WKView.mm:
9199        (createSandboxExtensionsForFileUpload):
9200        (-[WKView performDragOperation:]): Added logic to create the sandbox extensions for each
9201        file/directory being dropped.
9202        * UIProcess/WebPageProxy.cpp:
9203        (WebKit::WebPageProxy::dragEntered):
9204        (WebKit::WebPageProxy::dragUpdated):
9205        (WebKit::WebPageProxy::dragExited):
9206        (WebKit::WebPageProxy::performDrag):
9207        (WebKit::WebPageProxy::performDragControllerAction): Added the handle array parameter.
9208        * UIProcess/WebPageProxy.h:
9209        * UIProcess/qt/QtWebPageEventHandler.cpp:
9210        (QtWebPageEventHandler::handleDropEvent):
9211        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
9212        * UIProcess/win/WebView.cpp:
9213        (WebKit::WebView::Drop):
9214        * WebProcess/WebCoreSupport/WebDragClient.cpp:
9215        (WebKit::WebDragClient::willPerformDragDestinationAction): Added handling of the new DragActionUpload.
9216        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
9217        (WebKit::WebPlatformStrategies::getPathnamesForType): Implemented using message to the UI process.
9218        * WebProcess/WebPage/WebPage.cpp:
9219        (WebKit::WebPage::performDragControllerAction):
9220        (WebKit::WebPage::performUploadDragDestinationAction): Added method that consumes the received extensions.
9221        * WebProcess/WebPage/WebPage.h:
9222        * WebProcess/WebPage/WebPage.messages.in:
9223
92242012-03-19  Alexey Proskuryakov  <ap@apple.com>
9225
9226        Make WebFrameLoaderClient::createFrame more like WebKit1 version.
9227        https://bugs.webkit.org/show_bug.cgi?id=81550
9228
9229        Covered by existing tests.
9230
9231        Reviewed by Jessie Berlin.
9232
9233        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::createFrame):
9234
92352012-03-19  Anders Carlsson  <andersca@apple.com>
9236
9237        Find in page highlights get out of place when scrolling
9238        https://bugs.webkit.org/show_bug.cgi?id=81543
9239        <rdar://problem/10932590>
9240
9241        Reviewed by Sam Weinig.
9242
9243        When we have a page overlay layer, always force a full repaint of it whenever the page changes.
9244        If this turns out to be a real performance problem (measurements suggest that it isn't), we could once
9245        again try to figure out when a full page repaint is needed. Doing so could probably be more expensive than
9246        simply repainting the page, given that a page overlay consists of a bunch of rect-fills mostly.
9247
9248        Also turn on accelerated drawing for the page overlay layer, since that cut CPU usage in half when scrolling
9249        on a page that had a find overlay visible.
9250
9251        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
9252        (TiledCoreAnimationDrawingArea):
9253        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
9254        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
9255        (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
9256
92572012-03-19  Anders Carlsson  <andersca@apple.com>
9258
9259        When Find overlay first appears and the page scrolls, the scrolling happens through a fade
9260        https://bugs.webkit.org/show_bug.cgi?id=81539
9261        <rdar://problem/11031093>
9262
9263        Reviewed by Dan Bernstein.
9264
9265        Disable implicit animations when adding the page overlay layer to its superlayer.
9266
9267        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
9268        (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
9269
92702012-03-19  Anders Carlsson  <andersca@apple.com>
9271
9272        Crash when closing an inspected web page with tiled drawing enabled
9273        https://bugs.webkit.org/show_bug.cgi?id=81524
9274        <rdar://problem/11062396>
9275
9276        Reviewed by Sam Weinig.
9277
9278        Guard against the WebPage's underlying WebCore Page being null, which can happen
9279        when the inspector highlight overlay is uninstalled by the inspector when the inspected
9280        page goes away.
9281
9282        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
9283        (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
9284
92852012-03-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
9286
9287        Merge _q_commitScaleChange and _q_commitPositionChange
9288        https://bugs.webkit.org/show_bug.cgi?id=81511
9289
9290        Reviewed by Simon Hausmann.
9291
9292        Both methods were used for notifying WebCore of the new
9293        viewport and re-tiling. The methods are merge into
9294        _q_contentViewportChanged.
9295
9296        * UIProcess/API/qt/qquickwebview.cpp:
9297        (QQuickWebViewFlickablePrivate::onComponentComplete):
9298        (QQuickWebViewFlickablePrivate::updateViewportSize):
9299        (QQuickWebViewFlickablePrivate::_q_contentViewportChanged):
9300        (QQuickWebViewFlickablePrivate::_q_resume):
9301        * UIProcess/API/qt/qquickwebview_p.h:
9302        * UIProcess/API/qt/qquickwebview_p_p.h:
9303        (QQuickWebViewPrivate::_q_contentViewportChanged):
9304        (QQuickWebViewFlickablePrivate):
9305        * UIProcess/qt/QtViewportInteractionEngine.cpp:
9306        (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
9307        (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
9308        (WebKit::QtViewportInteractionEngine::wheelEvent):
9309        (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
9310        * UIProcess/qt/QtViewportInteractionEngine.h:
9311        (QtViewportInteractionEngine):
9312
93132012-03-19  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
9314
9315        Select best target for tap gesture.
9316        https://bugs.webkit.org/show_bug.cgi?id=78801
9317
9318        Reviewed by Kenneth Rohde Christiansen.
9319
9320        Send radius to handlePotentialSingleTapEvent so it can do the same hit
9321        detection the tap gesture later does.
9322
9323        * UIProcess/WebPageProxy.cpp:
9324        (WebKit::WebPageProxy::handlePotentialActivation):
9325        * UIProcess/WebPageProxy.h:
9326        * UIProcess/qt/QtWebPageEventHandler.cpp:
9327        (QtWebPageEventHandler::handlePotentialSingleTapEvent):
9328        * WebProcess/WebPage/WebPage.cpp:
9329        (WebKit::WebPage::highlightPotentialActivation):
9330        * WebProcess/WebPage/WebPage.h:
9331        * WebProcess/WebPage/WebPage.messages.in:
9332
93332012-03-19  Alexander Færøy  <alexander.faeroy@nokia.com>
9334
9335        [Qt] Add experimental API for dynamically changing the UA string
9336
9337        Reviewed by Simon Hausmann.
9338
9339        This patch adds a new property named userAgent to the
9340        QQuickWebViewExperimental type which allows us to dynamically change
9341        the user agent string from the QML API.
9342
9343        * UIProcess/API/qt/qquickwebview.cpp:
9344        (QQuickWebViewExperimental::userAgent):
9345        (QQuickWebViewExperimental::setUserAgent):
9346        * UIProcess/API/qt/qquickwebview_p.h:
9347
93482012-03-18  No'am Rosenthal  <noam.rosenthal@nokia.com>
9349
9350        [Qt][WK2] Avoid usage of manual scaling in the Qt scenegraph integration
9351        https://bugs.webkit.org/show_bug.cgi?id=81368
9352
9353        Reviewed by Simon Hausmann.
9354
9355        Moved the QtScenegraph integration classes to a separate file,
9356        QtWebPageSGNode. The nodes created for QQuickWebPage now include
9357        a QSGTransformNode that controls the contentsScale, a 
9358        QSGSimpleRectNode that controls the background color, and a
9359        QSGRenderNode subclass that renders the actual contents.
9360        * Target.pri:
9361        * UIProcess/API/qt/qquickwebpage.cpp:
9362        (QQuickWebPage::updatePaintNode):
9363        * UIProcess/qt/QtWebPageSGNode.cpp: Added.
9364        * UIProcess/qt/QtWebPageSGNode.h: Added.
9365
93662012-03-18  No'am Rosenthal  <noam.rosenthal@nokia.com>
9367
9368        [Qt] The background is visible for tiles inside the contents area which are not ready
9369        https://bugs.webkit.org/show_bug.cgi?id=81349
9370
9371        Reviewed by Simon Hausmann.
9372
9373        Split PageProxyNode to BackgroundSGNode and ContentsSGNode.
9374        BackgroundSGNode paints a solid background, either white or transparent
9375        (depending on drawsTransparentBackground flag).
9376
9377        * UIProcess/API/qt/qquickwebpage.cpp:
9378        (ContentsSGNode):
9379        (ContentsSGNode::ContentsSGNode):
9380        (ContentsSGNode::changedStates):
9381        (ContentsSGNode::~ContentsSGNode):
9382        (BackgroundSGNode):
9383        (BackgroundSGNode::BackgroundSGNode):
9384        (BackgroundSGNode::contentsNode):
9385        (QQuickWebPage::updatePaintNode):
9386
93872012-03-17  Joe Thomas  <joethomas@motorola.com>
9388
9389        move calc*Value functions out from Length (and platform)
9390        https://bugs.webkit.org/show_bug.cgi?id=80897
9391
9392        Moving the Length calc*Value functions out from Length structure and also from /WebCore/platform/ folder.
9393        This helps to avoid the layering violation while length calculation. Otherwise layer violation can be avoided only by adding a virtual interface(bug 27160).
9394
9395        Reviewed by Antti Koivisto.
9396
9397        * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
9398        (WebKit::WebPopupMenu::setUpPlatformData):
9399
94002012-03-17  Dan Bernstein  <mitz@apple.com>
9401
9402        <rdar://problem/10263562> Crash in WebCore::Range::startPosition() when dismissing the Press and Hold panel by clicking in the menu bar
9403        https://bugs.webkit.org/show_bug.cgi?id=81454
9404
9405        Reviewed by Ada Chan.
9406
9407        When the Press and Hold panel is dismissed by clicking in the menu bar,
9408        -insertText:replacementRange: is called with an NSRange whose location is NSNotFound - 1
9409        (see <rdar://problem/11069374>). Trying to convert this bogus range to a WebCore Range
9410        returns 0, which leads to the crash.
9411
9412        * WebProcess/WebPage/mac/WebPageMac.mm:
9413        (WebKit::WebPage::insertText): Added a null check, to protect the code from bogus ranges.
9414
94152012-03-16  Stephanie Lewis  <slewis@apple.com>
9416
9417        https://bugs.webkit.org/show_bug.cgi?id=81065
9418        <rdar://problem/10944309> CrashTracer: [USER] 111 crashes in WebProcess at WebKitTestRunnerInjectedBundle: WTR::InjectedBundle::done + 142
9419        Add some string function exports to Windows so the WebKitTestRunner can use them.
9420
9421        Reviewed by Geoff Garen.
9422
9423        * win/WebKit2.def:
9424
94252012-03-16  Brady Eidson  <beidson@apple.com>
9426
9427        <rdar://problem/11027997> and https://bugs.webkit.org/show_bug.cgi?id=81412
9428        REGRESSION (r107435) Copy a link and paste to Mail: Nothing is pasted
9429
9430        Reviewed by Geoff Garen.
9431
9432        Add new message so the WebProcess can ask the UIProcesses pasteboard for the URL:
9433        * UIProcess/WebContext.h:
9434        * UIProcess/WebContext.messages.in:
9435        * UIProcess/mac/WebContextMac.mm:
9436        (WebKit::WebContext::getPasteboardURL):
9437
9438        Use that new message to implement the pasteboard strategy:
9439        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
9440        (WebKit::WebPlatformStrategies::url):
9441        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
9442        (WebPlatformStrategies):
9443
94442012-03-16  Alexey Proskuryakov  <ap@apple.com>
9445
9446        ASSERTION FAILED: m_loadState == LoadStateCommitted in WebFrameProxy::didFinishLoad causing
9447        "crashes" on Lion Intel Debug WebKit2 Tests
9448        https://bugs.webkit.org/show_bug.cgi?id=81184
9449        <rdar://problem/11052462>
9450
9451        Rubber-stamped by Anders Carlsson.
9452
9453        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::finishedLoading):
9454        Don't leave a lingering m_pluginView after load is finished. When plug-in data was empty,
9455        we would create the plug-in here, but failed to finalize the load.
9456
94572012-03-08  Jer Noble  <jer.noble@apple.com>
9458
9459        Support W3C Full Screen API proposal
9460        https://bugs.webkit.org/show_bug.cgi?id=80660
9461
9462        Reviewed by Alexey Proskuryakov.
9463
9464        Allow full screen elements to access the keyboard.
9465
9466        * UIProcess/WebFullScreenManagerProxy.cpp:
9467        (WebKit::WebFullScreenManagerProxy::supportsFullScreen):
9468        * WebProcess/FullScreen/WebFullScreenManager.cpp:
9469        (WebKit::WebFullScreenManager::exitFullScreenForElement):
9470
94712012-03-16  Andras Becsi  <andras.becsi@nokia.com>
9472
9473        [Qt][WK2] Fix bounce-back behaviour for panning
9474        https://bugs.webkit.org/show_bug.cgi?id=81144
9475
9476        Reviewed by Kenneth Rohde Christiansen.
9477
9478        If the pan gesture recognizer receives a touch begin event
9479        during an ongoing kinetic scroll animation of a previous
9480        pan gesture, the animation is stopped and the content is
9481        immediately positioned back to valid boundaries.
9482
9483        * UIProcess/qt/QtPanGestureRecognizer.cpp:
9484        (WebKit::QtPanGestureRecognizer::recognize):
9485        * UIProcess/qt/QtViewportInteractionEngine.cpp:
9486        (WebKit::QtViewportInteractionEngine::cancelScrollAnimation):
9487        (WebKit):
9488        * UIProcess/qt/QtViewportInteractionEngine.h:
9489        (QtViewportInteractionEngine):
9490
94912012-03-16  Dinu Jacob  <dinu.jacob@nokia.com>
9492
9493        [Qt][Wk2] Assertion Failure and crash on file upload
9494        https://bugs.webkit.org/show_bug.cgi?id=80854
9495
9496        Reviewed by Simon Hausmann.
9497
9498        Crash resulted from attempting to create QFileDialog, a QtWidget based dialog from a 
9499        QGuiApplication. Replace QFileDialog with a QML implementable component.
9500        Added a new property 'filePicker' to WebView experimental to set the QML component for
9501        file upload triggered by an input file element.
9502
9503        Co-authored with Kasthuri Nallappasoundararajan <kasthuri.n-s@nokia.com>
9504
9505        * UIProcess/API/qt/qquickwebview.cpp:
9506        (QQuickWebViewPrivate::QQuickWebViewPrivate):
9507        (QQuickWebViewPrivate::chooseFiles):
9508        (QQuickWebViewExperimental::filePicker):
9509        (QQuickWebViewExperimental::setFilePicker):
9510        * UIProcess/API/qt/qquickwebview_p.h:
9511        * UIProcess/API/qt/qquickwebview_p_p.h:
9512        (QQuickWebViewPrivate):
9513        * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
9514        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_singleFileUpload.qml: Added.
9515        * UIProcess/API/qt/tests/qmltests/common/singlefileupload.html: Added.
9516        * UIProcess/qt/QtDialogRunner.cpp:
9517        (FilePickerContextObject):
9518        (FilePickerContextObject::FilePickerContextObject):
9519        (FilePickerContextObject::fileList):
9520        (FilePickerContextObject::reject):
9521        (FilePickerContextObject::accept):
9522        (QtDialogRunner::initForFilePicker):
9523        * UIProcess/qt/QtDialogRunner.h:
9524        (QtDialogRunner):
9525        (QtDialogRunner::filePaths):
9526        (QtDialogRunner::onFileSelected):
9527
95282012-03-16  Dinu Jacob  <dinu.jacob@nokia.com>
9529
9530        [Qt][WK2] Build failure when using --no-touch-events
9531        https://bugs.webkit.org/show_bug.cgi?id=81241
9532
9533        Reviewed by Simon Hausmann.
9534
9535        Fixed inconsistency in the use of ENABLE_TOUCH_EVENTS flag that caused build
9536        failure when using --no-touch-events option
9537
9538        * UIProcess/qt/QtPageClient.h:
9539        (QtPageClient):
9540        * UIProcess/qt/QtWebPageEventHandler.cpp:
9541        (QtWebPageEventHandler::handlePotentialSingleTapEvent):
9542        * UIProcess/qt/QtWebPageEventHandler.h:
9543        (QtWebPageEventHandler):
9544        * WebProcess/WebPage/WebPage.cpp:
9545        (WebKit::WebPage::WebPage):
9546        * WebProcess/WebPage/WebPage.h:
9547        (WebPage):
9548        * WebProcess/WebPage/WebPage.messages.in:
9549
95502012-03-16  Kenneth Rohde Christiansen  <kenneth@webkit.org>
9551
9552        Merge setVisibleContentsForScaling with setVisibleContentsRectForPanning
9553        https://bugs.webkit.org/show_bug.cgi?id=81346
9554
9555        Reviewed by Simon Hausmann.
9556
9557        This cleans up the code path and is one step on the way to avoid
9558        calling both methods in succession, for instance after ending pinch
9559        zoom.
9560
9561        * UIProcess/API/qt/qquickwebview.cpp:
9562        (QQuickWebViewLegacyPrivate::updateViewportSize):
9563        (QQuickWebViewFlickablePrivate::_q_commitScaleChange):
9564        (QQuickWebViewPrivate::_q_commitPositionChange):
9565        * UIProcess/DrawingAreaProxy.h:
9566        (WebKit::DrawingAreaProxy::setVisibleContentsRect):
9567        * UIProcess/DrawingAreaProxyImpl.cpp:
9568        (WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):
9569        * UIProcess/DrawingAreaProxyImpl.h:
9570        (DrawingAreaProxyImpl):
9571        * UIProcess/LayerTreeHostProxy.cpp:
9572        (WebKit::LayerTreeHostProxy::setVisibleContentsRect):
9573        * UIProcess/LayerTreeHostProxy.h:
9574        (LayerTreeHostProxy):
9575        * UIProcess/WebLayerTreeRenderer.cpp:
9576        (WebKit::WebLayerTreeRenderer::setVisibleContentsRect):
9577        * UIProcess/WebLayerTreeRenderer.h:
9578        (WebLayerTreeRenderer):
9579        * WebProcess/WebPage/LayerTreeHost.h:
9580        (WebKit::LayerTreeHost::setVisibleContentsRect):
9581        * WebProcess/WebPage/LayerTreeHost.messages.in:
9582        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
9583        (WebKit::LayerTreeHostQt::setVisibleContentsRect):
9584        * WebProcess/WebPage/qt/LayerTreeHostQt.h:
9585        (LayerTreeHostQt):
9586
95872012-03-16  YoungTaeck Song  <youngtaeck.song@samsung.com>
9588
9589        [EFL][WK2] Add ProcessLauncherEfl.cpp
9590        https://bugs.webkit.org/show_bug.cgi?id=75464
9591
9592        Reviewed by Hajime Morita.
9593
9594        Add first version of ProcessLauncherEfl.cpp including launchProcess() and terminateProcess().
9595
9596        * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp: Added.
9597        (WebKit::ProcessLauncher::launchProcess):
9598        (WebKit::ProcessLauncher::terminateProcess):
9599        (WebKit::ProcessLauncher::platformInvalidate):
9600
96012012-03-15  Anders Carlsson  <andersca@apple.com>
9602
9603        Try to fix the Snow Leopard build.
9604
9605        * UIProcess/API/mac/PDFViewController.mm:
9606        (WebKit::PDFViewController::pdfKitBundle):
9607
96082012-03-07  Jon Lee  <jonlee@apple.com>
9609
9610        Move NotificationContents into Notification
9611        https://bugs.webkit.org/show_bug.cgi?id=80487
9612        <rdar://problem/10965519>
9613
9614        Reviewed by Jian Li.
9615
9616        * UIProcess/Notifications/WebNotificationManagerProxy.cpp: Remove extraneous include.
9617        * WebProcess/Notifications/WebNotificationManager.cpp:
9618        (WebKit::WebNotificationManager::show): Refactor to use accessor methods on Notification.
9619
96202012-03-15  Brent Fulgham  <bfulgham@webkit.org>
9621
9622        Unreviewed build correction. WinCairo export definitions
9623        file was not updated when the main Apple file was changed.
9624
9625        * win/WebKit2CFLite.def: Revise export declarations to match
9626        new symbol names.
9627
96282012-03-15  Anders Carlsson  <andersca@apple.com>
9629
9630        REGRESSION(r107168?): Assertion failures under pageContainsAnyHorizontalScrollbars causing multiple "crashes" on the Lion Intel Debug WebKit2 testers
9631        https://bugs.webkit.org/show_bug.cgi?id=81162
9632        <rdar://problem/11050423>
9633
9634        Reviewed by Beth Dakin and Jessie Berlin.
9635
9636        Downgrade the ASSERT to a simple if check since scrollableArea->isOnActivePage() can return false when layout happens during page transitions.
9637
9638        * WebProcess/WebPage/WebPage.cpp:
9639        (WebKit::pageContainsAnyHorizontalScrollbars):
9640
96412012-03-15  David Hyatt  <hyatt@apple.com>
9642
9643        https://bugs.webkit.org/show_bug.cgi?id=81258
9644
9645        Add a preference for enabling the new multi-column layout code that will be based on regions.
9646
9647        Reviewed by Beth Dakin.
9648
9649        * Shared/WebPreferencesStore.h:
9650        (WebKit):
9651        * UIProcess/API/C/WKPreferences.cpp:
9652        (WKPreferencesSetRegionBasedColumnsEnabled):
9653        (WKPreferencesGetRegionBasedColumnsEnabled):
9654        * UIProcess/API/C/WKPreferencesPrivate.h:
9655        * WebProcess/WebPage/WebPage.cpp:
9656        (WebKit::WebPage::updatePreferences):
9657
96582012-03-14  Anders Carlsson  <andersca@apple.com>
9659
9660        Can't swipe to go back/forward when the current page is a PDF document
9661        https://bugs.webkit.org/show_bug.cgi?id=81194
9662        <rdar://problem/6954125>
9663
9664        Reviewed by Sam Weinig.
9665
9666        Override -[PDFViewScrollView scrollWheel:] and have the new implementation call
9667        -[WKPDFView forwardScrollWheelEvent:] when the PDF is pinned to either the left or right side.
9668        WKPDFView will then call PDFController::forwardScrollWheelEvent which checks if we can go back or forward,
9669        and passes the event along to the WKView which ends up triggering the swiping machinery in Safari.
9670
9671        * UIProcess/API/mac/PDFViewController.h:
9672        * UIProcess/API/mac/PDFViewController.mm:
9673        (-[WKPDFView forwardScrollWheelEvent:]):
9674        (WebKit):
9675        (WebKit::PDFViewController::forwardScrollWheelEvent):
9676        (WebKit::findEnclosingWKPDFView):
9677        (WebKit::PDFViewScrollView_scrollWheel):
9678        (WebKit::PDFViewController::pdfKitBundle):
9679        * UIProcess/WebPageProxy.cpp:
9680        (WebKit::WebPageProxy::didCommitLoadForFrame):
9681
96822012-03-15  Brady Eidson  <beidson@apple.com>
9683
9684        <rdar://problem/11036900> and https://bugs.webkit.org/show_bug.cgi?id=81079
9685        REGRESSION(r107844): Clipboard API only remembers most recent data set on clipboard
9686
9687        Reviewed by Sam Weinig.
9688
9689        Add the non-destructive "addTypes" to supplement the destructive "setTypes"
9690
9691        * UIProcess/WebContext.h:
9692        * UIProcess/WebContext.messages.in:
9693        * UIProcess/mac/WebContextMac.mm:
9694        (WebKit::WebContext::addPasteboardTypes):
9695
9696        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
9697        (WebKit::WebPlatformStrategies::addTypes):
9698        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
9699
97002012-03-15  Carlos Garcia Campos  <cgarcia@igalia.com>
9701
9702        [GTK] Implement unicode submenu items
9703        https://bugs.webkit.org/show_bug.cgi?id=81117
9704
9705        Reviewed by Martin Robinson.
9706
9707        * WebProcess/WebCoreSupport/WebEditorClient.h:
9708        * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
9709        (WebKit::WebEditorClient::shouldShowUnicodeMenu): Implement
9710        shouldShowUnicodeMenu() returning always true. When ContextMenu
9711        API is implemented for GTK+ the UI process will decide whether to
9712        show the unicode menu or not.
9713
97142012-03-15  Andras Becsi  <andras.becsi@nokia.com>
9715
9716        [Qt][WK2] Fix bounce-back behaviour for panning
9717        https://bugs.webkit.org/show_bug.cgi?id=81144
9718
9719        Reviewed by Kenneth Rohde Christiansen.
9720
9721        Move the content back to boundaries immediately
9722        in response to a tap gesture during the bounce-back
9723        animation after panning.
9724
9725        * UIProcess/qt/QtPanGestureRecognizer.cpp:
9726        (WebKit::QtPanGestureRecognizer::recognize):
9727        * UIProcess/qt/QtViewportInteractionEngine.h:
9728        Make the ensureContentWithinViewportBoundary function public.
9729        (QtViewportInteractionEngine):
9730
97312012-03-15  Carlos Garcia Campos  <cgarcia@igalia.com>
9732
9733        [WK2] WebPageProxy::activeURL should return unreachableURL() when it's not empty
9734        https://bugs.webkit.org/show_bug.cgi?id=75465
9735
9736        Reviewed by Philippe Normand.
9737
9738        * UIProcess/API/gtk/tests/WebViewTest.cpp:
9739        (WebViewTest::replaceContent): Return the main frame
9740        unreachableURL if it's not empty.
9741        * UIProcess/WebPageProxy.cpp:
9742        (WebKit::WebPageProxy::activeURL):
9743
97442012-03-14  Anders Carlsson  <andersca@apple.com>
9745
9746        java/java-and-plugins.html test failing
9747        https://bugs.webkit.org/show_bug.cgi?id=81188
9748        <rdar://problem/11048657>
9749
9750        Reviewed by Sam Weinig.
9751
9752        When we're marshaling NPObjects that wrap plug-in objects, make sure to check that the
9753        current plug-in instance is the same as the plug-in instance the object came from and don't
9754        pass the unwrapped object ID if that is the case.
9755
9756        * Shared/Plugins/NPRemoteObjectMap.cpp:
9757        (WebKit::remoteNPObjectID):
9758        (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
9759
97602012-03-14  Matt Falkenhagen  <falken@chromium.org>
9761
9762        Allow per-script font settings to be specified in layout tests
9763        https://bugs.webkit.org/show_bug.cgi?id=78184
9764
9765        Reviewed by Hajime Morita.
9766
9767        This adds per-script font settings to InternalSettings, so it can be used in layout tests instead of
9768        the per-script font settings support in DumpRenderTree overridePreference, which has only been implemented
9769        for Chromium so far.
9770
9771        * win/WebKit2.def: Added symbols.
9772        * win/WebKit2CFLite.def: Added symbols.
9773
97742012-03-14  Michael Saboff  <msaboff@apple.com>
9775
9776        REGRESSION(r110383): ASSERTION failures in JSCell::finishCreation causing multiple tests to "crash" on the Lion Intel Debug Bots
9777        https://bugs.webkit.org/show_bug.cgi?id=80993
9778
9779        Reviewed by Mark Rowe.
9780
9781        Moved $(BUILT_PRODUCTS_DIR)/usr/local/include to the front of HEADER_SEARCH_PATH
9782        to fix builds given the wtf move.
9783
9784        * Configurations/BaseTarget.xcconfig:
9785
97862012-03-14  Andy Estes  <aestes@apple.com>
9787
9788        Stop shadowing the argument to drawRect: with a local variable.
9789
9790        Reviewed by Sam Weinig.
9791
9792        * UIProcess/API/mac/WKView.mm:
9793        (-[WKView drawRect:]):
9794
97952012-03-13  Jon Lee  <jonlee@apple.com>
9796
9797        Separate NOTIFICATIONS and LEGACY_NOTIFICATIONS
9798        https://bugs.webkit.org/show_bug.cgi?id=80922
9799        <rdar://problem/11035082>
9800
9801        Reviewed by Jian Li.
9802
9803        You can include either NOTIFICATIONS or LEGACY_NOTIFICATIONS and have a complete API.
9804        LEGACY_NOTIFICATIONS should cover all of the previous functionality, and NOTIFICATIONS will cover the
9805        new API. Therefore, APIs that are common between the two will have:
9806        #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
9807
9808        This patch initially sets both to be exactly the same. As other bugs with patches begin to migrate to
9809        the new API, the defines will begin to split. This allows ports to decide which set of APIs to include.
9810
9811        Update everything to be #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
9812        * Shared/WebProcessCreationParameters.cpp:
9813        (WebKit::WebProcessCreationParameters::encode):
9814        (WebKit::WebProcessCreationParameters::decode):
9815        * Shared/WebProcessCreationParameters.h:
9816        (WebProcessCreationParameters):
9817        * UIProcess/WebContext.cpp:
9818        (WebKit::WebContext::ensureWebProcess):
9819        * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
9820        (WebKit):
9821        (WebKit::NotificationPermissionRequestManager::startRequest):
9822        (WebKit::NotificationPermissionRequestManager::cancelRequest):
9823        (WebKit::NotificationPermissionRequestManager::permissionLevel):
9824        (WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision):
9825        * WebProcess/Notifications/WebNotificationManager.cpp:
9826        (WebKit):
9827        (WebKit::WebNotificationManager::initialize):
9828        (WebKit::WebNotificationManager::didUpdateNotificationDecision):
9829        (WebKit::WebNotificationManager::didRemoveNotificationDecisions):
9830        (WebKit::WebNotificationManager::policyForOrigin):
9831        (WebKit::WebNotificationManager::show):
9832        (WebKit::WebNotificationManager::cancel):
9833        (WebKit::WebNotificationManager::clearNotifications):
9834        (WebKit::WebNotificationManager::didDestroyNotification):
9835        (WebKit::WebNotificationManager::didShowNotification):
9836        (WebKit::WebNotificationManager::didClickNotification):
9837        (WebKit::WebNotificationManager::didCloseNotifications):
9838        * WebProcess/Notifications/WebNotificationManager.h:
9839        (WebNotificationManager):
9840        * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
9841        * WebProcess/WebCoreSupport/WebNotificationClient.h:
9842        * WebProcess/WebPage/WebPage.cpp:
9843        (WebKit::WebPage::WebPage):
9844        (WebKit::WebPage::updatePreferences):
9845        * WebProcess/WebProcess.cpp:
9846        (WebKit::WebProcess::WebProcess):
9847        (WebKit::WebProcess::didReceiveMessage):
9848        * WebProcess/WebProcess.h:
9849        (WebProcess):
9850        * WebProcess/mac/WebProcessMac.mm:
9851        (WebKit::WebProcess::platformInitializeWebProcess):
9852
98532012-03-14  Dinu Jacob  <dinu.jacob@nokia.com>
9854
9855        [Qt][WK2] Move code common to both ProxyAuthentication and Authentication context objects into a base class
9856        https://bugs.webkit.org/show_bug.cgi?id=80627
9857
9858        Reviewed by Kenneth Rohde Christiansen.
9859
9860        No impact to QML API.
9861
9862        * UIProcess/qt/QtDialogRunner.cpp:
9863        (BaseAuthenticationContextObject):
9864        (BaseAuthenticationContextObject::BaseAuthenticationContextObject):
9865        (HttpAuthenticationDialogContextObject):
9866        (HttpAuthenticationDialogContextObject::HttpAuthenticationDialogContextObject):
9867        (HttpAuthenticationDialogContextObject::realm):
9868        (ProxyAuthenticationDialogContextObject):
9869        (ProxyAuthenticationDialogContextObject::ProxyAuthenticationDialogContextObject):
9870        (QtDialogRunner::initForAuthentication):
9871
98722012-03-14  Anders Carlsson  <andersca@apple.com>
9873
9874        With tiled drawing enabled, clicking a link to a PDF causes a cross-fade
9875        https://bugs.webkit.org/show_bug.cgi?id=79247
9876        <rdar://problem/10910808>
9877
9878        Reviewed by Sam Weinig.
9879
9880        Instead of creating a new CALayer for the WKView when we're in tiled mode, re-use the existing layer that AppKit makes for us.
9881        This way, we won't get any implicit animations when we change layer properties (such as sublayers in this case).
9882
9883        * UIProcess/API/mac/WKView.mm:
9884        (-[WKView initWithFrame:contextRef:pageGroupRef:]):
9885        (-[WKView wantsUpdateLayer]):
9886        (-[WKView updateLayer]):
9887
98882012-03-14  Alexey Proskuryakov  <ap@apple.com>
9889
9890        WebProcess sometimes hits an assertion in SandboxExtensionTracker::didCommitProvisionalLoad after running regression tests
9891        https://bugs.webkit.org/show_bug.cgi?id=81150
9892        <rdar://problem/11002254>
9893
9894        Reviewed by Anders Carlsson.
9895
9896        * WebProcess/WebPage/WebPage.cpp:
9897        (WebKit::WebPage::SandboxExtensionTracker::didCommitProvisionalLoad):
9898        (WebKit::WebPage::SandboxExtensionTracker::didFailProvisionalLoad):
9899        It's not great, but for now we need to handle this case. Hopefully, some day we'll make
9900        both WebKit2 processes better aware of what's going on with loading in WebCore.
9901
99022012-03-14  Anders Carlsson  <andersca@apple.com>
9903
9904        Fix UI process crash when a plug-in process crashes with a modal dialog showing
9905        https://bugs.webkit.org/show_bug.cgi?id=81139
9906        <rdar://problem/9641197>
9907
9908        Reviewed by Dan Bernstein.
9909
9910        When a plug-in process crashes, its corresponding PluginProcessProxy object is deleted immediately,
9911        which is bad if we're currently running a nested run loop.
9912
9913        Fix this by making PluginProcessProxy ref-counted and protecting it before the call to -[NSApp runModalForWindow:].
9914
9915        * UIProcess/Plugins/PluginProcessManager.cpp:
9916        (WebKit::PluginProcessManager::pluginProcessWithPath):
9917        (WebKit::PluginProcessManager::getOrCreatePluginProcess):
9918        * UIProcess/Plugins/PluginProcessManager.h:
9919        (PluginProcessManager):
9920        * UIProcess/Plugins/PluginProcessProxy.cpp:
9921        (WebKit::PluginProcessProxy::create):
9922        (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
9923        * UIProcess/Plugins/PluginProcessProxy.h:
9924        (PluginProcessProxy):
9925        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
9926        (WebKit::PluginProcessProxy::setModalWindowIsShowing):
9927        (WebKit::PluginProcessProxy::beginModal):
9928
99292012-03-14  Carlos Garcia Campos  <cgarcia@igalia.com>
9930
9931        [GTK] Handle printing errors in WebKit2
9932        https://bugs.webkit.org/show_bug.cgi?id=77197
9933
9934        Reviewed by Gustavo Noronha Silva.
9935
9936        * UIProcess/API/gtk/WebKitError.cpp:
9937        (webkit_print_error_quark): Add new error domain for print
9938        errors.
9939        * UIProcess/API/gtk/WebKitError.h: Ad print errors.
9940        * UIProcess/API/gtk/WebKitPrintOperation.cpp:
9941        (webkit_print_operation_class_init): Add
9942        WebKitPrintOperation::failed signal.
9943        (drawPagesForPrintingCompleted): Emit WebKitPrintOperation::failed
9944        when the print operation failed with the given error.
9945        (webkitPrintOperationPrintPagesForFrame): Use
9946        PrintFinishedCallback instead of a VoidCallback.
9947        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
9948        * UIProcess/API/gtk/tests/TestPrinting.cpp:
9949        (testPrintOperationPrint):
9950        (testPrintOperationErrors): Test different print errors are
9951        correctly reported.
9952        (beforeAll):
9953        * UIProcess/WebPageProxy.cpp:
9954        (WebKit::WebPageProxy::close): Invalidate print finished callbacks
9955        map.
9956        (WebKit::WebPageProxy::printFinishedCallback): Callback called
9957        when the print operation has finished in the web process.
9958        (WebKit::WebPageProxy::processDidCrash): Invalidate print finished
9959        callbacks map.
9960        (WebKit::WebPageProxy::drawPagesForPrinting): Use a
9961        PrintFinishedCallback instead of a VoidCallback.
9962        * UIProcess/WebPageProxy.h:
9963        (WebKit): Delcare PrintFinishedCallback as a generic callback.
9964        (WebPageProxy):
9965        * UIProcess/WebPageProxy.messages.in: Use PrintFinishedCallback
9966        instead of VoidCallback as callback argument of
9967        DrawPagesForPrinting message.
9968        * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
9969        (WebKit::PrintPagesData::PrintPagesData): Mark the data as invalid
9970        when there are no pages to print.
9971        (PrintPagesData): Add isValid parameter to mark the data struct as
9972        invalid.
9973        (WebKit::WebPrintOperationGtk::printPagesIdleDone): Call
9974        printPagesDone() instead of printDone().
9975        (WebKit::WebPrintOperationGtk::printPagesDone): Renamed.
9976        (WebKit::WebPrintOperationGtk::printDone): Notify the UI process
9977        that the print operation has finsihed.
9978        (WebKit::WebPrintOperationGtk::print): Finish the print if the
9979        PrintPagesData struct is not valid.
9980        * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
9981
99822012-03-13  Jer Noble  <jer.noble@apple.com>
9983
9984        Lion Intel Debug WebKit2 Tests crashing under [WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]
9985        https://bugs.webkit.org/show_bug.cgi?id=81056
9986
9987        Reviewed by Jessie Berlin.
9988
9989        Give the InjectedBundlePageFullScreenClient a first crack at beganEnterFullScreen and beganExitFullScreen:
9990        * WebProcess/FullScreen/WebFullScreenManager.cpp:
9991        (WebKit::WebFullScreenManager::willEnterFullScreen):
9992        (WebKit::WebFullScreenManager::willExitFullScreen):
9993
9994        And call the client function if it exists; otherwise, continue to message the page:
9995        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
9996        * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.cpp:
9997        (WebKit::InjectedBundlePageFullScreenClient::beganEnterFullScreen):
9998        (WebKit::InjectedBundlePageFullScreenClient::beganExitFullScreen):
9999        * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h:
10000
10001        Add a custom APIClientTraits for InjectedBundlePageFullScreenClient to handle the API number change.
10002        * Shared/APIClientTraits.cpp:
10003        * Shared/APIClientTraits.h:
10004
100052012-03-14  Andrey Kosyakov  <caseq@chromium.org>
10006
10007        Web Inspector: add didCancelFrame timeline event
10008        https://bugs.webkit.org/show_bug.cgi?id=80994
10009
10010        Reviewed by Pavel Feldman.
10011
10012        * win/WebKit2.def:
10013        * win/WebKit2CFLite.def:
10014
100152012-03-13  Anders Carlsson  <andersca@apple.com>
10016
10017        Find bouncy doesn’t hide when a subframe is scrolled
10018        https://bugs.webkit.org/show_bug.cgi?id=81060
10019        <rdar://problem/9365329>
10020
10021        Reviewed by Andreas Kling.
10022
10023        Instead of hiding the find indicator when pageDidScroll is called, add a check to FindController::drawRect and hide
10024        the find indicator there if the find selection bounds have changed since the last call to drawRect.
10025
10026        * WebProcess/WebPage/FindController.cpp:
10027        (WebKit::FindController::updateFindIndicator):
10028        (WebKit::FindController::drawRect):
10029        * WebProcess/WebPage/FindController.h:
10030        (FindController):
10031        * WebProcess/WebPage/WebPage.cpp:
10032        (WebKit::WebPage::pageDidScroll):
10033
100342012-03-13  Jeff Miller  <jeffm@apple.com>
10035
10036        Support loading a WKPage from web archive data
10037        https://bugs.webkit.org/show_bug.cgi?id=81044
10038
10039        This code was written by Jessie Berlin.
10040
10041        Reviewed by Brady Eidson.
10042
10043        * UIProcess/API/C/WKPage.cpp:
10044        (WKPageLoadWebArchiveData): Added.
10045        
10046        * UIProcess/API/C/WKPage.h: Added WKPageLoadWebArchiveData().
10047        
10048        * UIProcess/WebPageProxy.cpp:
10049        (WebKit::WebPageProxy::loadWebArchiveData): Added.
10050        
10051        * UIProcess/WebPageProxy.h: Added loadWebArchiveData().
10052
10053        * WebProcess/WebPage/WebPage.cpp:
10054        (WebKit::WebPage::loadWebArchiveData): Added.
10055        
10056        * WebProcess/WebPage/WebPage.h: Added loadWebArchiveData().
10057
10058        * WebProcess/WebPage/WebPage.messages.in: Added LoadWebArchiveData message.
10059
100602012-03-13  Adam Barth  <abarth@webkit.org> && Benjamin Poulain  <bpoulain@apple.com>
10061
10062        Always enable ENABLE(CLIENT_BASED_GEOLOCATION)
10063        https://bugs.webkit.org/show_bug.cgi?id=78853
10064
10065        Reviewed by Adam Barth.
10066
10067        * Configurations/FeatureDefines.xcconfig:
10068        * WebProcess/Geolocation/WebGeolocationManager.cpp:
10069        (WebKit::WebGeolocationManager::registerWebPage):
10070        (WebKit::WebGeolocationManager::unregisterWebPage):
10071        (WebKit::WebGeolocationManager::didChangePosition):
10072        (WebKit::WebGeolocationManager::didFailToDeterminePosition):
10073        * WebProcess/InjectedBundle/InjectedBundle.cpp:
10074        (WebKit::InjectedBundle::setGeoLocationPermission):
10075        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
10076        (WebKit):
10077        * WebProcess/WebCoreSupport/WebChromeClient.h:
10078        (WebChromeClient):
10079        * WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
10080        * WebProcess/WebCoreSupport/WebGeolocationClient.h:
10081        * WebProcess/WebPage/WebPage.cpp:
10082        (WebKit::WebPage::WebPage):
10083        * mac/WebKit2.order:
10084
100852012-03-13  Max Vujovic  <mvujovic@adobe.com>
10086
10087        Add a method to window.internals to enable testing of inspector highlight rects
10088        https://bugs.webkit.org/show_bug.cgi?id=80338
10089
10090        Reviewed by Pavel Feldman.
10091
10092        * win/WebKit2.def: Export symbols for win.
10093        * win/WebKit2CFLite.def: Same as above.
10094
100952012-03-13  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
10096
10097        [Qt] Set correct device width and height.
10098        https://bugs.webkit.org/show_bug.cgi?id=80980
10099
10100        Reviewed by Tor Arne Vestbø.
10101
10102        * UIProcess/API/qt/qquickwebview.cpp:
10103        (QQuickWebViewFlickablePrivate::computeViewportConstraints):
10104
101052012-03-12  Sam Weinig  <sam@webkit.org>
10106
10107        Fix typo in PageClientImpl where we were overriding viewLayerHostingMode with
10108        a function called layerHostingMode.
10109
10110        Reviewed by Anders Carlsson.
10111
10112        * UIProcess/API/mac/PageClientImpl.h:
10113        * UIProcess/API/mac/PageClientImpl.mm:
10114        (WebKit::PageClientImpl::viewLayerHostingMode):
10115        Update name and add OVERRIDE to catch this in the future.
10116
101172012-03-12  Enrica Casucci  <enrica@apple.com>
10118
10119        WebKit2: remove NSPasteboard access for promised data from the WebProcess
10120        https://bugs.webkit.org/show_bug.cgi?id=80073
10121
10122        Reviewed by Alexey Proskuryakov.
10123
10124        This patch removes the last remaining access to NSPasteboard from the WebProcess.
10125        The code in WebDragClient::declareAndWriteDragImage now packages all the data
10126        required for the drag and the promised drag types and sends one request to the UI
10127        process that will place the data in the NSPasteboard when appropriate.
10128        
10129        * UIProcess/API/mac/PageClientImpl.h: Added setPromisedData method.
10130        * UIProcess/API/mac/PageClientImpl.mm:
10131        (WebKit::PageClientImpl::setPromisedData):
10132        * UIProcess/API/mac/WKView.mm:
10133        (matchesExtensionOrEquivalent): Added.
10134        (fileExists): Added.
10135        (pathWithUniqueFilenameForPath): Added.
10136        (-[WKView _setPromisedData:WebCore::withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:WebCore::forPasteboard:]):
10137        (-[WKView pasteboardChangedOwner:]):
10138        (-[WKView pasteboard:provideDataForType:]):
10139        (-[WKView namesOfPromisedFilesDroppedAtDestination:]):
10140        * UIProcess/API/mac/WKViewInternal.h: Added _setPromisedData.
10141        * UIProcess/PageClient.h:
10142        * UIProcess/WebPageProxy.h: Added method for the new message.
10143        * UIProcess/WebPageProxy.messages.in: Added setPromisedData message.
10144        * UIProcess/mac/WebPageProxyMac.mm:
10145        (WebKit::WebPageProxy::setPromisedData):
10146        * WebProcess/WebCoreSupport/WebDragClient.cpp:
10147        * WebProcess/WebCoreSupport/WebDragClient.h:
10148        * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
10149        (WebKit::WebDragClient::declareAndWriteDragImage):
10150        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
10151        (InitWebCoreSystemInterface): Added SetMetadataURL.
10152
101532012-03-12  Andras Becsi  <andras.becsi@nokia.com>
10154
10155        [Qt][WK2] Add support for rudimentary scroll indicators in MiniBrowser
10156        https://bugs.webkit.org/show_bug.cgi?id=80832
10157
10158        Reviewed by Tor Arne Vestbø.
10159
10160        Since the ScrollDecorator QML component requires a Flickable in its API
10161        we need to expose the Flickable in QML for now and we also need to add
10162        a notifier because we instantiate the internal Flickable only when the
10163        WebView component completes construction.
10164
10165        * UIProcess/API/qt/qquickwebview.cpp:
10166        (QQuickWebViewFlickablePrivate::onComponentComplete):
10167        (QQuickWebViewExperimental::flickable):
10168        * UIProcess/API/qt/qquickwebview_p.h:
10169
101702012-03-11  Timothy Hatcher  <timothy@apple.com>
10171
10172        Update how the Web Inspector resources are loaded.
10173
10174        https://bugs.webkit.org/show_bug.cgi?id=80814
10175        rdar://problem/10359959
10176
10177        Reviewed by John Sullivan.
10178
10179        * Shared/WebPreferencesStore.h:
10180        (WebKit): Added InspectorUsesWebKitUserInterface.
10181        * Shared/WebProcessCreationParameters.cpp:
10182        (WebKit::WebProcessCreationParameters::encode): Removed webInspectorLocalizedStringsPath.
10183        (WebKit::WebProcessCreationParameters::decode): Ditto.
10184        * Shared/WebProcessCreationParameters.h: Ditto.
10185        (WebProcessCreationParameters): Ditto.
10186        * UIProcess/API/C/WKContext.cpp:
10187        * UIProcess/API/C/WKContextPrivate.h:
10188        * UIProcess/API/C/WKPreferences.cpp:
10189        (WKPreferencesSetInspectorUsesWebKitUserInterface): Added.
10190        (WKPreferencesGetInspectorUsesWebKitUserInterface): Added.
10191        * UIProcess/API/C/WKPreferencesPrivate.h:
10192        * UIProcess/WebContext.cpp:
10193        (WebKit::WebContext::ensureWebProcess): Removed webInspectorLocalizedStringsPath.
10194        * UIProcess/WebContext.h:
10195        (WebContext): Ditto.
10196        * UIProcess/mac/WebInspectorProxyMac.mm:
10197        (WebKit::inspectorReallyUsesWebKitUserInterface): Added.
10198        (WebKit::WebInspectorProxy::createInspectorWindow): Use inspectorReallyUsesWebKitUserInterface
10199        to determine if texture should be used.
10200        (WebKit::WebInspectorProxy::inspectorPageURL): Choose the right path.
10201        (WebKit::WebInspectorProxy::inspectorBaseURL): Ditto.
10202        * WebProcess/WebPage/WebInspector.h:
10203        * WebProcess/WebPage/mac/WebInspectorMac.mm:
10204        (WebKit::inspectorReallyUsesWebKitUserInterface):
10205        (WebKit::WebInspector::setInspectorUsesWebKitUserInterface): Added.
10206        (WebKit::WebInspector::localizedStringsURL):
10207        * WebProcess/WebPage/mac/WebPageMac.mm:
10208        (WebKit::WebPage::platformPreferencesDidChange): Call WebInspector::setInspectorUsesWebKitUserInterface.
10209        * WebProcess/mac/WebProcessMac.mm:
10210        (WebKit::WebProcess::platformInitializeWebProcess): Removed call to WebInspector::setLocalizedStringsPath.
10211
102122012-03-11  Andy Estes  <aestes@apple.com>
10213
10214        Remove unnecessary call to NSSizeToCGSize().
10215        https://bugs.webkit.org/show_bug.cgi?id=80817
10216
10217        Reviewed by Dan Bernstein.
10218
10219        There is no need to call NSSizeToCGSize() to convert an IntSize to a
10220        CGSize. IntSize defines a conversion function to CGSize that will do
10221        this for us implicitly.
10222
10223        * UIProcess/mac/BackingStoreMac.mm:
10224        (WebKit::BackingStore::backingStoreContext): Do not call NSSizeToCGSize().
10225
102262012-03-11  Dan Bernstein  <mitz@apple.com>
10227
10228        WebKit2 lacks API for obtaining a representation of the RenderLayer tree of a page, like WebRenderLayer
10229        <http://webkit.org/b/80791>
10230
10231        Reviewed by Anders Carlsson.
10232
10233        * CMakeLists.txt:
10234        * GNUmakefile.am:
10235
10236        * Shared/API/c/WKBase.h: Added a type definition of WKRenderLayerRef.
10237
10238        * Shared/API/c/WKRenderLayer.cpp: Added.
10239        (WKRenderLayerGetTypeID): Added. Returns the WKRenderLayer type ID.
10240        (WKRenderLayerCopyRendererName): Added this getter wrapper.
10241        (WKRenderLayerCopyElementTagName): Ditto.
10242        (WKRenderLayerCopyElementID): Ditto.
10243        (WKRenderLayerGetElementClassNames): Ditto.
10244        (WKRenderLayerGetAbsoluteBounds): Ditto.
10245        (WKRenderLayerIsClipping): Ditto.
10246        (WKRenderLayerIsClipped): Ditto.
10247        (WKRenderLayerIsReflection): Ditto.
10248        (WKRenderLayerGetCompositingLayerType): Ditto.
10249        (WKRenderLayerGetNegativeZOrderList): Ditto.
10250        (WKRenderLayerGetNormalFlowList): Ditto.
10251        (WKRenderLayerGetPositiveZOrderList): Ditto.
10252
10253        * Shared/API/c/WKRenderLayer.h: Added.
10254
10255        * Shared/APIObject.h: Added TypeRenderLayer to the APIObject::Type enum.
10256
10257        * Shared/UserMessageCoders.h:
10258        (WebKit::UserMessageEncoder::baseEncode): Added WebRenderLayer encoding.
10259        (WebKit::UserMessageDecoder::baseDecode): Added WebRenderLayer decoding.
10260
10261        * Shared/WebRenderLayer.cpp: Added.
10262        (WebKit::WebRenderLayer::create): Added. Creates a WebRenderLayer for the page’s main
10263        frame’s root layer.
10264        (WebKit::WebRenderLayer::createArrayFromLayerList): Added this helper function.
10265        (WebKit::WebRenderLayer::WebRenderLayer): Added. Constructs a WebRenderLayer with the
10266        renderer name, element tag, ID and class names, metrics, child lists, and compositing
10267        layer properties of the given RenderLayer.
10268
10269        * Shared/WebRenderLayer.h: Added.
10270        (WebKit::WebRenderLayer::create):
10271        (WebKit::WebRenderLayer::negativeZOrderList):
10272        (WebKit::WebRenderLayer::normalFlowList):
10273        (WebKit::WebRenderLayer::positiveZOrderList):
10274        (WebKit::WebRenderLayer::renderObjectName):
10275        (WebKit::WebRenderLayer::elementTagName):
10276        (WebKit::WebRenderLayer::elementID):
10277        (WebKit::WebRenderLayer::elementClassNames):
10278        (WebKit::WebRenderLayer::isReflection):
10279        (WebKit::WebRenderLayer::isClipping):
10280        (WebKit::WebRenderLayer::isClipped):
10281        (WebKit::WebRenderLayer::compositingLayerType):
10282        (WebKit::WebRenderLayer::absoluteBoundingBox):
10283        (WebKit::WebRenderLayer::WebRenderLayer):
10284
10285        * Target.pri
10286
10287        * UIProcess/API/C/WKAPICast.h: Added a mapping between WKRenderLayerRef and WebRenderLayer.
10288
10289        * WebKit2.xcodeproj/project.pbxproj: Added WebRenderLayer.{cpp,h} and WKRenderLayer.{cpp,h}.
10290
10291        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
10292        (WKBundlePageCopyRenderLayerTree): Added this bundle API for getting the layer tree.
10293
10294        * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
10295
10296        * win/WebKit2.vcproj:
10297
102982012-03-11  Joseph Pecoraro  <pecoraro@apple.com>
10299
10300        <http://webkit.org/b/80782> Web Inspector: Crash using released frontendClient when resizing window with closed inspector
10301
10302        The WebInspectorFrontendClient reference should be cleared when the
10303        WebInspectorClient::closeInspectorFrontend is called. This adds a
10304        destroyInspectorPage to mirror createInspectorPage and clear the weak
10305        pointers that are no longer valid.
10306
10307        Reviewed by Pavel Feldman.
10308
10309        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
10310        (WebKit::WebInspectorClient::closeInspectorFrontend):
10311        (WebKit::WebInspectorClient::didResizeMainFrame):
10312        * WebProcess/WebPage/WebInspector.cpp:
10313        (WebKit::WebInspector::destroyInspectorPage):
10314        * WebProcess/WebPage/WebInspector.h:
10315
103162012-03-11  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
10317
10318        [Qt] [WK2] Support threaded renderer in WK2
10319        https://bugs.webkit.org/show_bug.cgi?id=76661
10320
10321        Reviewed by Noam Rosenthal.
10322
10323        Implement Qt5 threaded rendering support for Qt WebKit2.
10324        Parts of LayerTreeHostProxy which contain layer tree and layer painting objects 
10325        are moved to separate class called WebLayerTreeRenderer. WebLayerTreeRenderer is 
10326        thread safe ref counted and referenced by LayerTreeHostProxy and paint node.
10327        All layer tree and graphics objects are created, accessed and deallocated from Qt 
10328        Scenegraph's paint thread only.
10329        Layer tree updates from render queue are fetched in updatePaintNode call stack when 
10330        main thread is locked.
10331        Messages from paint thread to web process are passed through MainThreadGuardedInvoker 
10332        call gate (implemented by Noam Rosenthal and previously reviewed by Kenneth Rohde 
10333        Christiansen).
10334
10335        * Target.pri:
10336        * UIProcess/API/qt/qquickwebpage.cpp:
10337        (PageProxyNode::PageProxyNode):
10338        (PageProxyNode::render):
10339        (PageProxyNode::~PageProxyNode):
10340        (PageProxyNode::layerTreeRenderer):
10341        (PageProxyNode):
10342        (PageProxyNode::setScale):
10343        (QQuickWebPage::updatePaintNode):
10344        (QQuickWebPagePrivate::~QQuickWebPagePrivate):
10345        * UIProcess/LayerTreeHostProxy.cpp: Added.
10346        (WebKit):
10347        (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
10348        (WebKit::LayerTreeHostProxy::~LayerTreeHostProxy):
10349        (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
10350        (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
10351        (WebKit::LayerTreeHostProxy::updateViewport):
10352        (WebKit::LayerTreeHostProxy::dispatchUpdate):
10353        (WebKit::LayerTreeHostProxy::createTileForLayer):
10354        (WebKit::LayerTreeHostProxy::updateTileForLayer):
10355        (WebKit::LayerTreeHostProxy::removeTileForLayer):
10356        (WebKit::LayerTreeHostProxy::deleteCompositingLayer):
10357        (WebKit::LayerTreeHostProxy::setRootCompositingLayer):
10358        (WebKit::LayerTreeHostProxy::syncCompositingLayerState):
10359        (WebKit::LayerTreeHostProxy::didRenderFrame):
10360        (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
10361        (WebKit::LayerTreeHostProxy::destroyDirectlyCompositedImage):
10362        (WebKit::LayerTreeHostProxy::setVisibleContentsRectForPanning):
10363        (WebKit::LayerTreeHostProxy::setVisibleContentsRectForScaling):
10364        (WebKit::LayerTreeHostProxy::renderNextFrame):
10365        (WebKit::LayerTreeHostProxy::purgeBackingStores):
10366        * UIProcess/LayerTreeHostProxy.h:
10367        (WebKit):
10368        (LayerTreeHostProxy):
10369        (WebKit::LayerTreeHostProxy::layerTreeRenderer):
10370        * UIProcess/WebLayerTreeRenderer.cpp: Renamed from Source/WebKit2/UIProcess/qt/LayerTreeHostProxyQt.cpp.
10371        (WebKit):
10372        (MainThreadGuardedInvoker):
10373        (WebKit::MainThreadGuardedInvoker::call):
10374        (WebKit::MainThreadGuardedInvoker::MainThreadGuardedInvoker):
10375        (WebKit::MainThreadGuardedInvoker::invoke):
10376        (WebKit::WebLayerTreeRenderer::callOnMainTread):
10377        (WebKit::WebLayerTreeRenderer::WebLayerTreeRenderer):
10378        (WebKit::WebLayerTreeRenderer::~WebLayerTreeRenderer):
10379        (WebKit::WebLayerTreeRenderer::createLayer):
10380        (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
10381        (WebKit::WebLayerTreeRenderer::syncAnimations):
10382        (WebKit::WebLayerTreeRenderer::paintToGraphicsContext):
10383        (WebKit::WebLayerTreeRenderer::setVisibleContentsRectForScaling):
10384        (WebKit::WebLayerTreeRenderer::updateViewport):
10385        (WebKit::WebLayerTreeRenderer::syncLayerParameters):
10386        (WebKit::WebLayerTreeRenderer::deleteLayer):
10387        (WebKit::WebLayerTreeRenderer::ensureLayer):
10388        (WebKit::WebLayerTreeRenderer::setRootLayerID):
10389        (WebKit::WebLayerTreeRenderer::getBackingStore):
10390        (WebKit::WebLayerTreeRenderer::createTile):
10391        (WebKit::WebLayerTreeRenderer::removeTile):
10392        (WebKit::WebLayerTreeRenderer::updateTile):
10393        (WebKit::WebLayerTreeRenderer::createImage):
10394        (WebKit::WebLayerTreeRenderer::destroyImage):
10395        (WebKit::WebLayerTreeRenderer::assignImageToLayer):
10396        (WebKit::WebLayerTreeRenderer::swapBuffers):
10397        (WebKit::WebLayerTreeRenderer::flushLayerChanges):
10398        (WebKit::WebLayerTreeRenderer::renderNextFrame):
10399        (WebKit::WebLayerTreeRenderer::ensureRootLayer):
10400        (WebKit::WebLayerTreeRenderer::syncRemoteContent):
10401        (WebKit::WebLayerTreeRenderer::purgeGLResources):
10402        (WebKit::WebLayerTreeRenderer::purgeBackingStores):
10403        (WebKit::WebLayerTreeRenderer::detach):
10404        (WebKit::WebLayerTreeRenderer::appendUpdate):
10405        * UIProcess/WebLayerTreeRenderer.h: Copied from Source/WebKit2/UIProcess/LayerTreeHostProxy.h.
10406        (WebKit):
10407        (WebLayerTreeRenderer):
10408        (WebKit::WebLayerTreeRenderer::layerByID):
10409        (WebKit::WebLayerTreeRenderer::rootLayer):
10410        (WebKit::WebLayerTreeRenderer::notifyAnimationStarted):
10411        (WebKit::WebLayerTreeRenderer::notifySyncRequired):
10412        (WebKit::WebLayerTreeRenderer::showDebugBorders):
10413        (WebKit::WebLayerTreeRenderer::showRepaintCounter):
10414        (WebKit::WebLayerTreeRenderer::paintContents):
10415
104162012-03-09  Jon Lee  <jonlee@apple.com>
10417
10418        Rename NotificationPresenter to NotificationClient
10419        https://bugs.webkit.org/show_bug.cgi?id=80488
10420        <rdar://problem/10965558>
10421
10422        Reviewed by Kentaro Hara.
10423
10424        Refactor to use renamed WebCore::NotificationClient.
10425        * UIProcess/Notifications/WebNotificationManagerProxy.h:
10426        * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
10427        (WebKit::NotificationPermissionRequestManager::startRequest):
10428        (WebKit::NotificationPermissionRequestManager::permissionLevel):
10429        * WebProcess/Notifications/NotificationPermissionRequestManager.h:
10430        (NotificationPermissionRequestManager):
10431        * WebProcess/Notifications/WebNotificationManager.cpp:
10432        (WebKit::WebNotificationManager::policyForOrigin):
10433        * WebProcess/Notifications/WebNotificationManager.h:
10434        (WebNotificationManager):
10435        * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
10436        (WebKit::WebNotificationClient::checkPermission):
10437        * WebProcess/WebCoreSupport/WebNotificationClient.h:
10438        (WebNotificationClient):
10439
104402012-03-09  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
10441
10442        [Qt] [WK2] Shouldn't use item for clipping rect calculation in paint node.
10443        https://bugs.webkit.org/show_bug.cgi?id=80714
10444
10445        Reviewed by Noam Rosenthal.
10446
10447        Replace item based clip-rect calculation with clipping-nodes based calculation.
10448        This is required for threaded rendering, since we don't have access to the QSGItems
10449        from the render thread.
10450
10451        * UIProcess/API/qt/qquickwebpage.cpp:
10452        (QQuickWebPage::QQuickWebPage):
10453        (QQuickWebPagePrivate::paintToCurrentGLContext):
10454        (PageProxyNode::render):
10455        (PageProxyNode::clipRect):
10456        (PageProxyNode):
10457        * UIProcess/API/qt/qquickwebpage_p_p.h:
10458        (QQuickWebPagePrivate):
10459        * UIProcess/API/qt/qquickwebview.cpp:
10460        (QQuickWebView::QQuickWebView):
10461
104622012-03-09  Enrica Casucci  <enrica@apple.com>
10463
10464        Move WebNSURLExtras code down to WebCore.
10465        https://bugs.webkit.org/show_bug.cgi?id=80611
10466
10467        Reviewed by Alexey Proskuryakov.
10468
10469        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
10470        (InitWebCoreSystemInterface):
10471
104722012-03-09  Jeff Miller  <jeffm@apple.com>
10473
10474        Add WKPageEndPrinting() to balance WKPageBeginPrinting()
10475        https://bugs.webkit.org/show_bug.cgi?id=80739
10476
10477        Reviewed by Dan Bernstein.
10478
10479        * UIProcess/API/C/WKPage.cpp:
10480        (WKPageEndPrinting): Added.
10481        
10482        * UIProcess/API/C/WKPagePrivate.h: Added WKPageEndPrinting().
10483
104842012-03-09  Emil A Eklund  <eae@chromium.org>
10485
10486        Add roundedPoint to HitTestResult and change platform code to use it
10487        https://bugs.webkit.org/show_bug.cgi?id=80715
10488
10489        Reviewed by James Robinson.
10490
10491        Change ports to use roundedPoint to avoid exposing subpixel types to
10492        platform code.
10493
10494        * WebProcess/WebPage/WebContextMenu.cpp:
10495        (WebKit::WebContextMenu::show):
10496
104972012-03-09  Alexey Proskuryakov  <ap@apple.com>
10498
10499        [Mac] Pass sandbox profiles through preprocessor
10500        https://bugs.webkit.org/show_bug.cgi?id=80651
10501
10502        Reviewed by Mark Rowe.
10503
10504        * DerivedSources.make: Preprocess sandbox profiles.
10505
10506        * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb: Removed.
10507        * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.in: Copied from Source/WebKit2/PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.
10508        * WebProcess/com.apple.WebProcess.sb: Removed.
10509        * WebProcess/com.apple.WebProcess.sb.in: Copied from Source/WebKit2/WebProcess/com.apple.WebProcess.sb.
10510        Renamed to avoid make finding the wrong original in default paths.
10511
10512        * WebKit2.xcodeproj/project.pbxproj: Copy preprocessed files to Resources, not originals.
10513        Also, changed DerivedSources target to use BaseTarget.xcconfig to have correct include paths.
10514
105152012-03-09  Jon Lee  <jonlee@apple.com>
10516
10517        Add support for ENABLE(LEGACY_NOTIFICATIONS)
10518        https://bugs.webkit.org/show_bug.cgi?id=80497
10519
10520        Reviewed by Adam Barth.
10521
10522        Prep for b80472: Update API for Web Notifications
10523        * Configurations/FeatureDefines.xcconfig:
10524
105252012-03-09  Ashod Nakashian  <ashodnakashian@yahoo.com>
10526
10527        Bash scripts should support LF endings only
10528        https://bugs.webkit.org/show_bug.cgi?id=79509
10529
10530        Reviewed by David Kilzer.
10531
10532        * win/build-generated-files.sh: Added properties svn:executable and svn:eol-style.
10533
105342012-03-08  Enrica Casucci  <enrica@apple.com>
10535
10536        REGRESSION (r109022): Files dragged onto input controls cannot be read due to sandbox violation.
10537        https://bugs.webkit.org/show_bug.cgi?id=80203
10538        <rdar://problem/10976643>
10539
10540        Reviewed by Alexey Proskuryakov.
10541
10542        This patch reverts a small part fo r109022, leaving access to
10543        NSPasteboard in the WebProcess when retrieving pathnames for
10544        files being dragged. This avoid the sandbox violation until we
10545        implement a mechanism to provide a sandbox extension to the WebProcess.
10546        
10547        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
10548        (WebKit::WebPlatformStrategies::getPathnamesForType):
10549
105502012-03-09  Sheriff Bot  <webkit.review.bot@gmail.com>
10551
10552        Unreviewed, rolling out r110191, r110202, and r110279.
10553        http://trac.webkit.org/changeset/110191
10554        http://trac.webkit.org/changeset/110202
10555        http://trac.webkit.org/changeset/110279
10556        https://bugs.webkit.org/show_bug.cgi?id=80694
10557
10558        They broke !ENABLE(INSPECTOR) builds (Requested by Ossy on
10559        #webkit).
10560
10561        * win/WebKit2.def:
10562        * win/WebKit2CFLite.def:
10563
105642012-03-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
10565
10566        [Qt] Use Qt's module system for install rules and depending on QtWebKit
10567
10568        Instead of rolling our own install rules we now use the same approach as
10569        every other Qt module, by loading qt_module.prf and qt_module_config.prf.
10570
10571        This ensures that we follow the same semantics as the rest of Qt on
10572        what sort of config options are enabled by default (create_cmake eg.).
10573        It also allows us to use QT += webkit instead of the workaround we had
10574        with CONFIG += qtwebkit.
10575
10576        We do however force Qt to always treat our build as a non-developer build,
10577        so the libraries will end up in the WebKit lib directory instead of the
10578        qtbase directory (as with a normal developer-build). This allows us to
10579        keep the webkit-build self-contained. If Qt is a developer build we still
10580        copy the module file manually to Qt, so that you don't have to install
10581        WebKit to make it available.
10582
10583        For non-developer builds of Qt, it is still possible to use the built
10584        WebKit libraries without having to install them, by having the variable
10585        QMAKE_EXTRA_MODULE_FORWARDS set in the project's .qmake.cache file,
10586        pointing to $WEBKITOUTUTDIR/$CONFIGURATION/modules.
10587
10588        https://bugs.webkit.org/show_bug.cgi?id=80590
10589
10590        Reviewed by Simon Hausmann.
10591
10592        * UIProcess/API/qt/tests/publicapi/publicapi.pro:
10593        * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
10594        * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
10595        * UIProcess/API/qt/tests/qmltests/WebView.pro:
10596        * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
10597        * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
10598        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
10599        * UIProcess/API/qt/tests/tests.pri:
10600        * UIProcess/API/qt/tests/util.cpp:
10601        * WebProcess.pro:
10602
106032012-03-08  No'am Rosenthal  <noam.rosenthal@nokia.com>
10604
10605        [Qt][WK2] Allow transparent WebViews
10606        https://bugs.webkit.org/show_bug.cgi?id=80608
10607
10608        Reviewed by Tor Arne Vestbø.
10609
10610        Added support for transparentBackground in QQuickWebViewExperimental.
10611        This uses the existing drawsTransparentBackground property in WebKit2.
10612        Also, changed LayerTreeHostQt to set the contentsOpaque flag when the root layer changes,
10613        otherwise the change doesn't take effect.
10614
10615        A new API test was added.
10616
10617        * UIProcess/API/qt/qquickwebview.cpp:
10618        (QQuickWebViewPrivate::setTransparentBackground):
10619        (QQuickWebViewPrivate::transparentBackground):
10620        (QQuickWebViewExperimental::transparentBackground):
10621        (QQuickWebViewExperimental::setTransparentBackground):
10622        * UIProcess/API/qt/qquickwebview_p.h:
10623        * UIProcess/API/qt/qquickwebview_p_p.h:
10624        (QQuickWebViewPrivate):
10625        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
10626        (tst_QQuickWebView):
10627        (tst_QQuickWebView::transparentWebViews):
10628        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
10629        (WebKit::LayerTreeHostQt::LayerTreeHostQt):
10630        (WebKit::LayerTreeHostQt::setRootCompositingLayer):
10631
106322012-03-08  Gustavo Noronha Silva  <gns@gnome.org>
10633
10634        GTK+ build fix. Only try to get the backing from the layer in when
10635        ACCELERATED_COMPOSITING is enabled.
10636
10637        Rubber-stamped by Ryosuke Niwa.
10638
10639        * WebProcess/FullScreen/WebFullScreenManager.cpp:
10640        (WebKit::screenRectOfContents):
10641
106422012-03-08  Ryosuke Niwa  <rniwa@webkit.org>
10643
10644        Mac build fix for micro data API.
10645
10646        * Configurations/FeatureDefines.xcconfig:
10647
106482012-03-08  Jer Noble  <jer.noble@apple.com>
10649
10650        Unreviewed Snow Leopard build fix.
10651
10652        On Leopard and Snow Leopard, provide an implementation for -[NSWindow convertRectToScreen:].
10653
10654        * UIProcess/mac/WKFullScreenWindowController.mm:
10655        (-[NSWindow convertRectToScreen:]):
10656
106572012-03-08  Jer Noble  <jer.noble@apple.com>
10658
10659        Further unreviewed build fix.
10660
10661        Add in the WebCore namespace, so that IntRect is pulled in.
10662
10663        * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
10664        * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
10665        * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
10666
106672012-03-08  Jer Noble  <jer.noble@apple.com>
10668
10669        Unreviewed build fix.
10670        
10671        Add stub implementations of beganEnterFullScreen and beganExitFullScreen
10672        to platform-specific WebFullScreenManagerProxy implementations.
10673
10674        * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
10675        (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
10676        (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
10677        * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
10678        (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
10679        (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
10680        * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
10681        (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
10682        (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
10683
106842012-03-08  Jer Noble  <jer.noble@apple.com>
10685
10686        Full Screen Refactor Part 3: Animate into Full Screen mode using new animation classes.
10687        https://bugs.webkit.org/show_bug.cgi?id=78928
10688
10689        Reviewed by Anders Carlsson.
10690
10691        Boilerplate changes to WebKit2 IPC messages and supporting functions.
10692        * UIProcess/WebFullScreenManagerProxy.cpp:
10693        (WebKit::WebFullScreenManagerProxy::setAnimatingFullScreen): Added boilerplate.
10694        * UIProcess/WebFullScreenManagerProxy.h:
10695        * UIProcess/WebFullScreenManagerProxy.messages.in:
10696        * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
10697        (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen): Added boilerplate.
10698        (WebKit::WebFullScreenManagerProxy::beganExitFullScreen): Added boilerplate.
10699        * WebProcess/FullScreen/WebFullScreenManager.cpp:
10700        (WebKit::screenRectOfContents): Added.  Calculates the screen rect of an element's contents.
10701        (WebKit::WebFullScreenManager::enterFullScreenForElement): Use screenRectOfContents()
10702        (WebKit::WebFullScreenManager::willEnterFullScreen): Ditto. Do not set the background color. Call new BeganEnterFullScreen
10703            XPC message.
10704        (WebKit::WebFullScreenManager::didEnterFullScreen): Do not set the background color.
10705        (WebKit::WebFullScreenManager::willExitFullScreen): Use screenRectOfContents. Do not set the background color. Call new
10706            BeganExitFullScreen XPC message.
10707        (WebKit::WebFullScreenManager::didExitFullScreen): Do not set the background color.
10708        (WebKit::WebFullScreenManager::setAnimatingFullScreen): Added boilerplate.
10709        * WebProcess/FullScreen/WebFullScreenManager.h:
10710        * WebProcess/FullScreen/WebFullScreenManager.messages.in:
10711
10712        * UIProcess/mac/WKFullScreenWindowController.h:
10713        * UIProcess/mac/WKFullScreenWindowController.mm:
10714        (-[WKFullScreenWindowController cancelOperation:]): Renamed from _requestExitWithAnimation:.
10715        (-[WKFullScreenWindowController applicationDidResignActive:]): Call cancelOperation: instead
10716            of _requestExitWithAnimation.
10717        (-[WKFullScreenWindowController applicationDidChangeScreenParameters:]): Set the frame of
10718            both the full screen window and the background window.
10719        (-[WKFullScreenWindowController enterFullScreen:]): Save a rendered image of the current
10720            page to use in the placeholder.
10721        (-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]): Renamed from 
10722            beganEnterFullScreenAnimation.
10723        (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): No need to swap 
10724            placeholder views here, as they were already swapped in beganEnter...:.
10725        (-[WKFullScreenWindowController exitFullScreen]):
10726        (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]): Renamed from 
10727            beganExitFullScreenAnimation.
10728        (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Swap web view back into place.
10729        (-[WKFullScreenWindowController close]):
10730        (-[WKFullScreenWindowController animationDidEnd:]): Added.
10731        (createBackgroundFullscreenWindow): Added.
10732        (windowFrameFromApparentFrames): Added.
10733        (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): Added.
10734        (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): Added.
10735
107362012-03-08  Jer Noble  <jer.noble@apple.com>
10737
10738        Full Screen Refactor Part 2: Remove unnecessary WebKit2 APIs for Full Screen made
10739        https://bugs.webkit.org/show_bug.cgi?id=78926
10740
10741        Reviewed by John Sullivan.
10742
10743        The following functions (and also their Proxy versions) were removed completely:
10744        WebFullScreenManager::enterAcceleratedCompositingMode(const LayerTreeContext&)
10745        WebFullScreenManager::exitAcceleratedCompositingMode()
10746        WebFullScreenManager::beganEnterFullScreenAnimation()
10747        WebFullScreenManager::finishedEnterFullScreenAnimation(bool)
10748        WebFullScreenManager::beganExitFullScreenAnimation()
10749        WebFullScreenManager::finishedExitFullScreenAnimation(bool)
10750        WebFullScreenManager::getFullScreenRect(WebCore::IntRect&)
10751
10752        * UIProcess/WebFullScreenManagerProxy.cpp:
10753        * UIProcess/WebFullScreenManagerProxy.h:
10754        (WebKit::WebFullScreenManagerProxy::beginEnterFullScreenAnimation):
10755        (WebKit::WebFullScreenManagerProxy::beginExitFullScreenAnimation):
10756        (WebKit::WebFullScreenManagerProxy::disposeOfLayerClient):
10757        (WebFullScreenManagerProxy):
10758        * UIProcess/WebFullScreenManagerProxy.messages.in:
10759        * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
10760        * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
10761        * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
10762        * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
10763        (WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation):
10764        * WebKit2.xcodeproj/project.pbxproj:
10765        * WebProcess/FullScreen/WebFullScreenManager.cpp:
10766        (WebKit::WebFullScreenManager::create):
10767        (WebKit::WebFullScreenManager::~WebFullScreenManager):
10768        * WebProcess/FullScreen/WebFullScreenManager.h:
10769        (WebFullScreenManager):
10770        * WebProcess/FullScreen/WebFullScreenManager.messages.in:
10771        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
10772        (WebKit::WebChromeClient::exitFullScreenForElement):
10773        * WebProcess/WebCoreSupport/WebChromeClient.h:
10774        (WebChromeClient):
10775
10776        Additionally, the platform-specific WebFullScreenManager subclasses were removed, as no
10777        platform-specific implementations remained after the above functions were removed:
10778        * GNUmakefile.am:
10779        * Target.pri:
10780        * win/WebKit2.vcproj:
10781        * WebProcess/FullScreen/gtk/WebFullScreenManagerGtk.cpp: Removed.
10782        * WebProcess/FullScreen/gtk/WebFullScreenManagerGtk.h: Removed.
10783        * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h: Removed.
10784        * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm: Removed.
10785        * WebProcess/FullScreen/qt/WebFullScreenManagerQt.cpp: Removed.
10786        * WebProcess/FullScreen/qt/WebFullScreenManagerQt.h: Removed.
10787        * WebProcess/FullScreen/win/WebFullScreenManagerWin.cpp: Removed.
10788        * WebProcess/FullScreen/win/WebFullScreenManagerWin.h: Removed.
10789
107902012-03-08  Matt Lilek  <mrl@apple.com>
10791
10792        Don't enable VIDEO_TRACK on all OS X platforms
10793        https://bugs.webkit.org/show_bug.cgi?id=80635
10794
10795        Reviewed by Eric Carlson.
10796
10797        * Configurations/FeatureDefines.xcconfig:
10798
107992012-03-08  Max Vujovic  <mvujovic@adobe.com>
10800
10801        Add a method to window.internals to enable testing of inspector highlight rects
10802        https://bugs.webkit.org/show_bug.cgi?id=80338
10803
10804        Reviewed by Pavel Feldman.
10805
10806        * win/WebKit2.def: Export symbols for win.
10807        * win/WebKit2CFLite.def: Same as above.
10808
108092012-03-08  Dinu Jacob  <dinu.jacob@nokia.com>
10810
10811        [Qt WK2] Remove duplicate code related to dialog handling in QQuickWebView
10812        https://bugs.webkit.org/show_bug.cgi?id=80557
10813
10814        Reviewed by Simon Hausmann.
10815
10816        Move common code related to running QtDialogRunner into a separate function
10817 
10818        * UIProcess/API/qt/qquickwebview.cpp:
10819        (QQuickWebViewPrivate::runJavaScriptAlert):
10820        (QQuickWebViewPrivate::runJavaScriptConfirm):
10821        (QQuickWebViewPrivate::runJavaScriptPrompt):
10822        (QQuickWebViewPrivate::handleAuthenticationRequiredRequest):
10823        (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest):
10824        (QQuickWebViewPrivate::handleCertificateVerificationRequest):
10825        (QQuickWebViewPrivate::execDialogRunner):
10826        * UIProcess/API/qt/qquickwebview_p_p.h:
10827        (QQuickWebViewPrivate):
10828
108292012-03-07  Dinu Jacob  <dinu.jacob@nokia.com>
10830
10831        [Qt] Authentication dialog does not work
10832        https://bugs.webkit.org/show_bug.cgi?id=79738
10833
10834        Reviewed by Simon Hausmann.
10835
10836        QQuickWebView should accept touch events only if there is
10837        no active dialog.
10838
10839        * UIProcess/API/qt/qquickwebview.cpp:
10840        (QQuickWebViewPrivate::QQuickWebViewPrivate):
10841        (QQuickWebViewPrivate::runJavaScriptAlert):
10842        (QQuickWebViewPrivate::runJavaScriptConfirm):
10843        (QQuickWebViewPrivate::runJavaScriptPrompt):
10844        (QQuickWebViewPrivate::handleAuthenticationRequiredRequest):
10845        (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest):
10846        (QQuickWebViewPrivate::handleCertificateVerificationRequest):
10847        (QQuickWebView::touchEvent):
10848        * UIProcess/API/qt/qquickwebview_p_p.h:
10849        (QQuickWebViewPrivate):
10850
108512012-03-07  Dan Bernstein  <mitz@apple.com>
10852
10853        <rdar://problem/8494396> WebKit2 lacks API for obtaining a representation of the render tree of a page, like WebRenderNode
10854        https://bugs.webkit.org/show_bug.cgi?id=80230
10855
10856        Reviewed by Beth Dakin.
10857
10858        * CMakeLists.txt:
10859        * GNUmakefile.am:
10860
10861        * Shared/API/c/WKBase.h: Added a type definition of WKRenderObjectRef.
10862
10863        * Shared/API/c/WKRenderObject.cpp: Added.
10864        (WKRenderObjectGetTypeID): Added. Returns the WKRenderObject type ID.
10865        (WKRenderObjectCopyName): Added this getter wrapper.
10866        (WKRenderObjectGetAbsolutePosition): Ditto.
10867        (WKRenderObjectGetFrameRect): Ditto.
10868        (WKRenderObjectGetChildren): Ditto.
10869
10870        * Shared/API/c/WKRenderObject.h: Added.
10871
10872        * Shared/APIObject.h: Added TypeRenderObject to the APIObject::Type enum.
10873        * Shared/UserMessageCoders.h:
10874        (WebKit::UserMessageEncoder::baseEncode): Added WebRenderObject encoding.
10875        (WebKit::UserMessageDecoder::baseDecode): Added WebRenderObject decoding.
10876        * Shared/WebRenderObject.cpp: Added.
10877        (WebKit::WebRenderObject::create): Added. Creates a WebRenderObject for the page’s main
10878        frame content renderer.
10879        (WebKit::WebRenderObject::WebRenderObject): Added. Constructs a WebRenderObject with the
10880        name, metrics and children of the given RenderObject, following the rules used in WebKit1
10881        WebRenderNode. In particular, a RenderWidget representing a frame gets the frame’s content
10882        renderer as a child.
10883
10884        * Shared/WebRenderObject.h: Added.
10885        (WebKit::WebRenderObject::create):
10886        (WebKit::WebRenderObject::children):
10887        (WebKit::WebRenderObject::name):
10888        (WebKit::WebRenderObject::absolutePosition):
10889        (WebKit::WebRenderObject::frameRect):
10890        (WebKit::WebRenderObject::WebRenderObject):
10891
10892        * Target.pri:
10893
10894        * UIProcess/API/C/WKAPICast.h: Added a mapping between WKRenderObjectRef and WebRenderObject.
10895
10896        * WebKit2.xcodeproj/project.pbxproj: Added WebRenderObject.{cpp,h} and WKRenderObject.{cpp.h}.
10897
10898        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
10899        (WKBundlePageCopyRenderTree): Added this bundle API for getting the render tree.
10900
10901        * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
10902
10903        * win/WebKit2.vcproj:
10904
109052012-03-07  Kenneth Rohde Christiansen  <kenneth@webkit.org>
10906
10907        Pinch zoom acts weirdly on nytimes.com while loading
10908        https://webkit.org/b/80508
10909
10910        Reviewed by Simon Hausmann.
10911
10912        Make sure to suspend the page while doing pinch zooming.
10913        If the page is suspended (which happens while pinch zooming)
10914        then do not send touch events to the page, even if it has
10915        listeners.
10916
10917        * UIProcess/WebPageProxy.cpp:
10918        (WebKit::WebPageProxy::handleTouchEvent):
10919        * UIProcess/qt/QtViewportInteractionEngine.cpp:
10920        (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
10921
109222012-03-05  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
10923
10924        [Qt] QWebNavigationRequest 'action' property should have an enum type instead of int
10925        https://bugs.webkit.org/show_bug.cgi?id=80164
10926
10927        Reviewed by Simon Hausmann.
10928
10929        Use the appropriate enum type instead of int. Make IgnoreRequest have a bigger
10930        value that give some room for us to put Experimental values in the middle. This
10931        way the Experimental values are in a valid range for the original enumeration. To
10932        avoid confusion, the Experimental enumeration was renamed.
10933
10934        * UIProcess/API/qt/qquickwebview_p.h:
10935        * UIProcess/API/qt/qwebnavigationrequest.cpp:
10936        (QWebNavigationRequestPrivate):
10937        (QWebNavigationRequest::setAction):
10938        (QWebNavigationRequest::action):
10939        * UIProcess/API/qt/qwebnavigationrequest_p.h:
10940        * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
10941
109422012-03-07  Andras Becsi  <andras.becsi@nokia.com>
10943
10944        [WK2] Make it possible to build without geolocation support
10945        https://bugs.webkit.org/show_bug.cgi?id=80426
10946
10947        Reviewed by Simon Hausmann.
10948
10949        Add missing guards.
10950
10951        * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
10952        (WebKit::GeolocationPermissionRequestManagerProxy::didReceiveGeolocationPermissionDecision):
10953        * UIProcess/WebPageProxy.cpp:
10954        (WebKit::WebPageProxy::close):
10955        (WebKit::WebPageProxy::processDidCrash):
10956        * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
10957        * WebProcess/WebPage/WebPage.cpp:
10958        (WebKit::WebPage::WebPage):
10959        (WebKit):
10960        * WebProcess/WebPage/WebPage.h:
10961        (WebPage):
10962        * WebProcess/WebPage/WebPage.messages.in:
10963
109642012-03-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
10965
10966        [CMake] Make the removal of transitive library dependencies work with CMake < 2.8.7.
10967        https://bugs.webkit.org/show_bug.cgi?id=80469
10968
10969        Reviewed by Antonio Gomes.
10970
10971        * CMakeLists.txt: Manually set the LINK_INTERFACE_LIBRARIES target
10972        property on the library being created.
10973
109742012-03-06  Hugo Parente Lima  <hugo.lima@openbossa.org>
10975
10976        MiniBrowser --window-size 480x800 www.nytimes.com doesn't paint bottom tiles.
10977        https://bugs.webkit.org/show_bug.cgi?id=80313
10978
10979        Reviewed by Kenneth Rohde Christiansen.
10980
10981        Fix the math to get the visible rectangle and add a method to get it.
10982
10983        * UIProcess/API/qt/qquickwebview.cpp:
10984        (QQuickWebViewPrivate::visibleContentsRect):
10985        (QQuickWebViewFlickablePrivate::_q_commitScaleChange):
10986        (QQuickWebViewPrivate::_q_commitPositionChange):
10987        * UIProcess/API/qt/qquickwebview_p_p.h:
10988        (QQuickWebViewPrivate):
10989
109902012-03-05  Joseph Pecoraro  <pecoraro@apple.com>
10991
10992        Web Inspector: Hide dock button when not allowed to dock
10993        https://bugs.webkit.org/show_bug.cgi?id=78575
10994
10995        Reviewed by Pavel Feldman.
10996
10997        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
10998        (WebKit::WebInspectorClient::didResizeMainFrame):
10999        * WebProcess/WebCoreSupport/WebInspectorClient.h:
11000        * WebProcess/WebPage/WebInspector.cpp:
11001        (WebKit::WebInspector::updateDockingAvailability):
11002        * WebProcess/WebPage/WebInspector.h:
11003
110042012-03-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
11005
11006        [Qt] Interaction Engine suspends content during pageload.
11007        https://bugs.webkit.org/show_bug.cgi?id=80294
11008
11009        Only suspend content when viewport updates are deferred
11010        for a non-instantanious interaction.
11011
11012        Reviewed by Kenneth Rohde Christiansen.
11013
11014        * UIProcess/qt/QtViewportInteractionEngine.cpp:
11015        (WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer):
11016        (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
11017        (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
11018        (WebKit::QtViewportInteractionEngine::flickableMoveStarted):
11019        (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
11020        * UIProcess/qt/QtViewportInteractionEngine.h:
11021        (QtViewportInteractionEngine):
11022
110232012-03-06  Simon Hausmann  <simon.hausmann@nokia.com>
11024
11025        [Qt] Make QQuickWebView's url property work with a flickable webview
11026
11027        Reviewed by Tor Arne Vestbø.
11028
11029        QQuickWebViewPrivate::onComponentComplete implements the deferred url loading
11030        when the url property is set in the component instantiation. QQuickWebViewFlickablePrivate
11031        is the private sub-class used for a flickable webview, which re-implemented onComponentComplete
11032        but forgot to call the base implementation.
11033
11034        * UIProcess/API/qt/qquickwebview.cpp:
11035        (QQuickWebViewFlickablePrivate::onComponentComplete):
11036
110372012-03-06  Carlos Garcia Campos  <cgarcia@igalia.com>
11038
11039        [GTK] Fix several documentation issues in WebKit2 GTK+ API
11040        https://bugs.webkit.org/show_bug.cgi?id=80281
11041
11042        Reviewed by Martin Robinson.
11043
11044        * UIProcess/API/gtk/WebKitFindController.cpp:
11045        * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
11046        (webkit_navigation_policy_decision_class_init):
11047        * UIProcess/API/gtk/WebKitPrintOperation.cpp:
11048        * UIProcess/API/gtk/WebKitWebView.h:
11049
110502012-03-06  Carlos Garcia Campos  <cgarcia@igalia.com>
11051
11052        [GTK] Use a single signal for script dialogs in WebKit2 GTK+ API
11053        https://bugs.webkit.org/show_bug.cgi?id=80271
11054
11055        Reviewed by Martin Robinson.
11056
11057        Add a new signal WebKitWebView::script-dialog that passes a
11058        WebKitScriptDialog boxed type that can be used to build the dialog
11059        and set the responses. It simplifies the API and makes it bindings
11060        friendly.
11061
11062        * GNUmakefile.am:
11063        * UIProcess/API/gtk/WebKitScriptDialog.cpp: Added.
11064        (webkitScriptDialogCopy): Copy method for boxed type.
11065        (webkitScriptDialogFree): Free method for boxed type.
11066        (webkit_script_dialog_get_dialog_type): Return the type of dialog:
11067        alert, confirm or prompt.
11068        (webkit_script_dialog_get_message): Return the message of the dialog.
11069        (webkit_script_dialog_confirm_set_confirmed): Set whether user
11070        confirmed the dialog, for confirm dialogs.
11071        (webkit_script_dialog_prompt_get_default_text): Get the default
11072        text of prompt dialogs.
11073        (webkit_script_dialog_prompt_set_text): Set the text entered by
11074        the user, for prompt dialogs.
11075        * UIProcess/API/gtk/WebKitScriptDialog.h: Added.
11076        * UIProcess/API/gtk/WebKitScriptDialogPrivate.h: Added.
11077        * UIProcess/API/gtk/WebKitWebView.cpp:
11078        (webkitWebViewScriptDialog): Default implementation of
11079        WebKitWebView::script-dialog signal.
11080        (webkit_web_view_class_init): Add WebKitWebView::script-dialog and
11081        remove alert, confirm and propmpt.
11082        (webkitWebViewRunJavaScriptAlert): Create a WebKitScriptDialog and
11083        emit WebKitWebView::script-dialog signal.
11084        (webkitWebViewRunJavaScriptConfirm): Ditto.
11085        (webkitWebViewRunJavaScriptPrompt): Ditto.
11086        * UIProcess/API/gtk/WebKitWebView.h:
11087        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new
11088        symbols.
11089        * UIProcess/API/gtk/docs/webkit2gtk.types: Add webkit_script_dialog_get_type().
11090        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
11091        (testWebViewJavaScriptDialogs): Update javascript dialog test to
11092        use the new API.
11093        * UIProcess/API/gtk/webkit2marshal.list:
11094        * UIProcess/API/gtk/webkit2.h:
11095
110962012-03-05  Gavin Barraclough  <barraclough@apple.com>
11097
11098        putByIndex should throw in strict mode
11099        https://bugs.webkit.org/show_bug.cgi?id=80335
11100
11101        Reviewed by Filip Pizlo.
11102
11103        Make the MethodTable PutByIndex trap take a boolean 'shouldThrow' parameter.
11104
11105        * WebProcess/Plugins/Netscape/NPJSObject.cpp:
11106        (WebKit::NPJSObject::setProperty):
11107
111082012-03-05  Joseph Pecoraro  <pecoraro@apple.com>
11109
11110        Unreviewed rollout of r109858 for restructuring.
11111
111122012-03-05  Joseph Pecoraro  <pecoraro@apple.com>
11113
11114        <http://webkit.org/b/78575> Web Inspector: Hide dock button when not allowed to dock
11115
11116        Reviewed by Timothy Hatcher.
11117
11118        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
11119        (WebKit::WebInspectorClient::updateDockingAvailability):
11120        * WebProcess/WebCoreSupport/WebInspectorClient.h:
11121        * WebProcess/WebPage/WebInspector.cpp:
11122        (WebKit::WebInspector::updateDockingAvailability):
11123        * WebProcess/WebPage/WebInspector.h:
11124
111252012-03-05  Anders Carlsson  <andersca@apple.com>
11126
11127        pinch-to-zoom and double-tap flicker when using the new scrolling model
11128        https://bugs.webkit.org/show_bug.cgi?id=80368
11129        <rdar://problem/10866221>
11130
11131        Reviewed by Sam Weinig.
11132
11133        Add a way for drawing areas to respond to callback based force repaint requests asynchronously.
11134        This is currently needed for the tiled drawing area when there might be outstanding scroll updates
11135        that are sent from the scrolling thread to the main thread and we need to ensure that they're processed
11136        before sending a message back.
11137
11138        * WebProcess/WebPage/DrawingArea.h:
11139        (WebKit::DrawingArea::forceRepaintAsync):
11140        Add new member function.
11141
11142        * WebProcess/WebPage/WebPage.cpp:
11143        (WebKit::WebPage::forceRepaint):
11144        Try forceRepaintAsync first.
11145
11146        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
11147        (WebKit::forceRepaintAndSendMessage):
11148        Force the repaint and send the message.
11149
11150        (WebKit::dispatchBackToMainThread):
11151        Dispatch a call to forceRepaintAndSendMessage to the main thread.
11152
11153        (WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync):
11154        Dispatch a function on the scrolling thread. Its sole purpose is to dispatch a function back to the
11155        main thread, ensuring that all previously dispatched functions have been executed.
11156
111572012-03-05  Enrica Casucci  <enrica@apple.com>
11158
11159        Can't type on some websites (plug-ins steal key events).
11160        <rdar://problem/10892291>
11161
11162        When the plugin is disabled, it is necessary to reset _pluginComplexTextInputIdentifier
11163        in order to return the correct input context. Failure to do so results in the inputContext
11164        method to return the plugin input context instead of the context of the browser view.
11165        
11166        Reviewed by Sam Weinig.
11167
11168        * UIProcess/API/mac/WKView.mm:
11169        (-[WKView _setPluginComplexTextInputState:]):
11170        (-[WKView _handlePluginComplexTextInputKeyDown:]):
11171
111722012-03-05  Anders Carlsson  <andersca@apple.com>
11173
11174        Be more aggressive about repainting page overlays
11175        https://bugs.webkit.org/show_bug.cgi?id=80336
11176        <rdar://problem/10965943>
11177
11178        Reviewed by Simon Fraser.
11179
11180        Whenever we're flushing layers and we have a page overlay, check if the main frame
11181        has scrolled or if the main frame root content layer needs to be repainted and force the
11182        overlay layer to be repainted if either of those conditions are true.
11183
11184        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
11185        (TiledCoreAnimationDrawingArea):
11186        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
11187        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
11188        (WebKit::TiledCoreAnimationDrawingArea::shouldRepaintPageOverlayLayer):
11189        (WebKit):
11190
111912012-03-05  Sam Weinig  <sam@webkit.org>
11192
11193        Add support for hosting layers in the window server in WebKit2
11194        <rdar://problem/10400246>
11195        https://bugs.webkit.org/show_bug.cgi?id=80310
11196
11197        Reviewed by Anders Carlsson.
11198
11199        This currently only works if you are using TiledCoreAnimation drawing model.
11200
11201        * Platform/mac/LayerHostingContext.h: Renamed from Source/WebKit2/Platform/mac/RemoteLayerClient.h.
11202        * Platform/mac/LayerHostingContext.mm: Renamed from Source/WebKit2/Platform/mac/RemoteLayerClient.mm.
11203        (WebKit::LayerHostingContext::createForPort):
11204        (WebKit::LayerHostingContext::LayerHostingContext):
11205        (WebKit::LayerHostingContext::createForWindowServer):
11206        (WebKit::LayerHostingContext::~LayerHostingContext):
11207        (WebKit::LayerHostingContext::setRootLayer):
11208        (WebKit::LayerHostingContext::rootLayer):
11209        (WebKit::LayerHostingContext::contextID):
11210        (WebKit::LayerHostingContext::invalidate):
11211        Renamed RemoteLayerClient to LayerHostingContext and add ability to use the window server
11212        as the remote context.
11213
11214        * PluginProcess/PluginControllerProxy.cpp:
11215        * PluginProcess/PluginControllerProxy.h:
11216        * PluginProcess/mac/PluginControllerProxyMac.mm:
11217        Update for new names.
11218
11219        * Shared/LayerTreeContext.h:
11220        Add LayerHostingMode enum.
11221
11222        * UIProcess/PageClient.h:
11223        * UIProcess/API/mac/PageClientImpl.h:
11224        * UIProcess/API/mac/PageClientImpl.mm:
11225        (WebKit::PageClientImpl::layerHostingMode):
11226        (WebKit::PageClientImpl::updateAcceleratedCompositingMode):
11227        Add PageClient access points to get the current layer hosting mode,
11228        and a hook to tell the underlying view that the layer hosting context
11229        has changed.
11230
11231        * UIProcess/API/mac/WKViewInternal.h:
11232        * UIProcess/API/mac/WKView.mm:
11233        (-[WKView _updateAcceleratedCompositingMode:WebKit::]):
11234        Implement responding to a new layer hosting context as a simple
11235        exit and re-entrance of compositing.
11236
11237        * UIProcess/DrawingAreaProxy.h:
11238        (WebKit::DrawingAreaProxy::layerHostingModeDidChange):
11239        (WebKit::DrawingAreaProxy::updateAcceleratedCompositingMode):
11240        * UIProcess/DrawingAreaProxy.messages.in:
11241        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
11242        (TiledCoreAnimationDrawingAreaProxy):
11243        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
11244        (WebKit::TiledCoreAnimationDrawingAreaProxy::layerHostingModeDidChange):
11245        (WebKit::TiledCoreAnimationDrawingAreaProxy::updateAcceleratedCompositingMode):
11246        Pipe layer hosting changes around.
11247
11248        * UIProcess/WebPageProxy.h:
11249        (WebKit::WebPageProxy::layerHostingMode):
11250        * UIProcess/WebPageProxy.cpp:
11251        (WebKit::WebPageProxy::WebPageProxy):
11252        (WebKit::WebPageProxy::viewStateDidChange):
11253        Cache the current layer hosting mode so we don't overzealously
11254        tell the WebProcess to reset its context. Re-check layer hosting
11255        mode each time we are added/removed from a window.
11256
11257        * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h:
11258        * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
11259        Update for new names.
11260
11261        * WebProcess/WebPage/DrawingArea.h:
11262        (WebKit::DrawingArea::setDeviceScaleFactor):
11263        (WebKit::DrawingArea::setLayerHostingMode):
11264        * WebProcess/WebPage/DrawingArea.messages.in:
11265        Pipe layer hosting changes around.
11266
11267        * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
11268        * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
11269        (WebKit::LayerTreeHostCAMac::~LayerTreeHostCAMac):
11270        (WebKit::LayerTreeHostCAMac::platformInitialize):
11271        (WebKit::LayerTreeHostCAMac::invalidate):
11272        Update for new names.
11273
11274        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
11275        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
11276        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
11277        (WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode):
11278        Respond to a change in the layer hosting mode by invalidating our old context,
11279        making a new one of the right type, and informing the UIProcess of our new context.
11280
11281        * WebKit2.xcodeproj/project.pbxproj:
11282        Add new files.
11283
112842012-03-05  Anders Carlsson  <andersca@apple.com>
11285
11286        Always update the scroll layer position on the main thread when we have an overlay
11287        https://bugs.webkit.org/show_bug.cgi?id=80324
11288
11289        Reviewed by Sam Weinig.
11290
11291        Call setForceMainThreadScrollLayerPositionUpdates when installing and uninstalling page overlays,
11292        so we'll be able to synchronize painting between the tile cache and the page overlays.
11293
11294        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
11295        (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
11296        (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
11297
112982012-03-05  Timothy Hatcher  <timothy@apple.com>
11299
11300        Change how the Web Inspector Develop menu actions work.
11301
11302        This removes the methods used by Safari's Develop menu. They can now be implemented in Safari.
11303
11304        https://webkit.org/b/80308
11305
11306        Reviewed by John Sullivan.
11307
11308        * UIProcess/API/C/mac/WKInspectorPrivateMac.h: Renamed from Source/WebKit2/UIProcess/API/C/mac/WKInspectorMac.h.
11309        * UIProcess/mac/WebInspectorProxyMac.mm:
11310        (-[WKWebInspectorProxyObjCAdapter inspectorRef]): Added.
11311        * WebKit2.xcodeproj/project.pbxproj: Renamed WKInspectorPrivateMac.h to better reflect its private nature.
11312
113132012-03-02  Jon Lee  <jonlee@apple.com>
11314
11315        Add support for notification replaceId in Mac WebKit and WK2
11316        https://bugs.webkit.org/show_bug.cgi?id=80206
11317        <rdar://problem/10965574>
11318
11319        Reviewed by Sam Weinig.
11320
11321        * UIProcess/API/C/WKNotification.cpp: Add WK API.
11322        (WKNotificationCopyReplaceID):
11323        * UIProcess/API/C/WKNotification.h:
11324        * UIProcess/Notifications/WebNotification.cpp:
11325        (WebKit::WebNotification::WebNotification):
11326        * UIProcess/Notifications/WebNotification.h: Add replaceID member.
11327        (WebKit::WebNotification::create):
11328        (WebKit::WebNotification::replaceID):
11329        (WebNotification):
11330        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
11331        (WebKit::WebNotificationManagerProxy::show):
11332        * UIProcess/Notifications/WebNotificationManagerProxy.h:
11333        (WebNotificationManagerProxy):
11334        * UIProcess/WebPageProxy.cpp:
11335        (WebKit::WebPageProxy::showNotification):
11336        * UIProcess/WebPageProxy.h:
11337        (WebPageProxy):
11338        * UIProcess/WebPageProxy.messages.in: Add replaceID to the showNotification message.
11339        * WebProcess/Notifications/WebNotificationManager.cpp:
11340        (WebKit::WebNotificationManager::show):
11341
113422012-03-05  Sheriff Bot  <webkit.review.bot@gmail.com>
11343
11344        Unreviewed, rolling out r109748.
11345        http://trac.webkit.org/changeset/109748
11346        https://bugs.webkit.org/show_bug.cgi?id=80296
11347
11348        Made some tests crash, will fix and recommit (Requested by
11349        noamr on #webkit).
11350
11351        * Target.pri:
11352        * UIProcess/API/qt/qquickwebpage.cpp:
11353        (QQuickWebPagePrivate::paintToCurrentGLContext):
11354        (PageProxyNode::PageProxyNode):
11355        (PageProxyNode):
11356        (PageProxyNode::changedStates):
11357        (PageProxyNode::render):
11358        (PageProxyNode::~PageProxyNode):
11359        (QQuickWebPage::updatePaintNode):
11360        (QQuickWebPagePrivate::updateSize):
11361        (QQuickWebPagePrivate::resetPaintNode):
11362        (QQuickWebPagePrivate::~QQuickWebPagePrivate):
11363        * UIProcess/API/qt/qquickwebpage_p_p.h:
11364        (QQuickWebPagePrivate):
11365        * UIProcess/DrawingAreaProxy.h:
11366        (WebKit):
11367        (WebKit::DrawingAreaProxy::layerTreeHostProxy):
11368        (DrawingAreaProxy):
11369        * UIProcess/DrawingAreaProxyImpl.cpp:
11370        (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
11371        (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
11372        * UIProcess/LayerTreeHostProxy.h:
11373        (LayerTreeHostProxy):
11374        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
11375        (WebKit::LayerTreeHostProxy::syncAnimations):
11376        (WebKit::LayerTreeHostProxy::updateViewport):
11377        (WebKit::LayerTreeHostProxy::syncLayerParameters):
11378        (WebKit::LayerTreeHostProxy::flushLayerChanges):
11379        (WebKit::LayerTreeHostProxy::ensureRootLayer):
11380        (WebKit::LayerTreeHostProxy::syncRemoteContent):
11381        (WebKit::LayerTreeHostProxy::dispatchUpdate):
11382        (WebKit):
11383        (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
11384        (WebKit::LayerTreeHostProxy::purgeGLResources):
11385        * UIProcess/qt/QtWebPageSGNode.cpp: Removed.
11386        * UIProcess/qt/QtWebPageSGNode.h: Removed.
11387
113882012-03-05  Joone Hur  <joone.hur@collabora.co.uk>
11389
11390        [GTK] zlib link error with --enable-webkit2
11391        https://bugs.webkit.org/show_bug.cgi?id=79877
11392
11393        Reviewed by Martin Robinson.
11394
11395        zlib should be linked properly.
11396
11397        * GNUmakefile.am: Link $(ZLIB_LIBS) with libwebkit2gtk instead of
11398        linking it with WebKitWebProcess.
11399
114002012-03-05  Carlos Garcia Campos  <cgarcia@igalia.com>
11401
11402        [WK2] WKPageGetContextMenuFromProposedContextMenuCallback should pass a HitTestResult
11403        https://bugs.webkit.org/show_bug.cgi?id=77208
11404
11405        Reviewed by Anders Carlsson.
11406
11407        A HitTestResultData is now passed to ShowContextMenu WebPageProxy
11408        message instead of the ContextMenuState. ContextMenu client has
11409        been updated to pass the HitTestResult to the
11410        getContextMenuFromProposedMenu callback.
11411
11412        * GNUmakefile.am: Remove ContextMenuState.h.
11413        * Shared/APIClientTraits.h:
11414        * Shared/ContextMenuState.h: Removed.
11415        * Shared/WebHitTestResult.h:
11416        (WebKit::WebHitTestResult::Data::Data): Add constructor that takes
11417        a WebCore::HitTestResult.
11418        * UIProcess/API/C/WKPage.h: Add HitTestResult parameter to
11419        getContextMenuFromProposedMenu callback and deprecate the old
11420        version.
11421        * UIProcess/WebPageContextMenuClient.cpp:
11422        (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
11423        Pass a HitTestResult to getContextMenuFromProposedMenu or use the
11424        deprecated one if client version is an old one.
11425        * UIProcess/WebPageContextMenuClient.h:
11426        * UIProcess/WebPageProxy.cpp:
11427        (WebKit::WebPageProxy::showContextMenu):
11428        (WebKit::WebPageProxy::internalShowContextMenu): Save the
11429        WebHitTestResult::Data to use it for handling context menu actions.
11430        (WebKit::WebPageProxy::contextMenuItemSelected): Use the saved
11431        WebHitTestResult::Data.
11432        * UIProcess/WebPageProxy.h:
11433        * UIProcess/WebPageProxy.messages.in:
11434        * WebKit2.xcodeproj/project.pbxproj: Remove ContextMenuState.h.
11435        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
11436        (WebKit::WebChromeClient::mouseDidMoveOverElement): Use the new
11437        WebHitTestResult::Data constructor that takes a WebCore::HitTestResult.
11438        * WebProcess/WebPage/WebContextMenu.cpp:
11439        (WebKit::WebContextMenu::show): Create a WebHitTestResult::Data
11440        instead of a ContextMenuState and pass it to ShowContextMenu message.
11441        * win/WebKit2.vcproj: ContextMenuState.h.
11442
114432012-03-05  No'am Rosenthal  <noam.rosenthal@nokia.com>
11444
11445        [Qt] [WK2] Support threaded renderer in WK2
11446        https://bugs.webkit.org/show_bug.cgi?id=76661
11447
11448        Made the appropriate fixes in the UI process code to make rendering thread-safe.
11449        - Separated the scenegraph node code to QtWebPageSGNode. QtWebPageSGNode has direct access
11450          to LayerTreeHostProxy.
11451
11452        - Each function in LayerTreeHostProxy can be either called from the main thread (handling
11453          messages from the web process), or from the renderer thread (handling the GL context).
11454          The render-queue is locked with a mutex, and messages back to the web process are sent
11455          via callOnMainThread.
11456
11457        - LayerTreeHostProxy is now ThreadSafeRefCounted. That is done to make sure that the GL
11458          resources it creates are only freed when the QtWebPageSGNode is deleted, which can be
11459          before or after the owning DrawingAreaProxy is deleted. This ensures that the class is
11460          deleted only after its GL resources are freed, otherwise those resources may leak.
11461
11462        Based on a patch by Viatcheslav Ostapenko.
11463
11464        Reviewed by Kenneth Rohde Christiansen.
11465
11466        * Target.pri: Added new files.
11467        * UIProcess/API/qt/qquickwebpage.cpp: Moved QtWebPageSGNode out.
11468        (QQuickWebPage::updatePaintNode): Call QtWebPageSGNode
11469        (QQuickWebPagePrivate::updateSize): Call QtWebPageSGNode
11470        (QQuickWebPagePrivate::didDeleteSGWebPageNode): Override QtWebPageSGNode::Client
11471        (QQuickWebPagePrivate::~QQuickWebPagePrivate):
11472        * UIProcess/API/qt/qquickwebpage_p_p.h:
11473        (QQuickWebPagePrivate):
11474        * UIProcess/DrawingAreaProxy.h:
11475        (WebKit):
11476        (WebKit::DrawingAreaProxy::layerTreeHostProxy): Made LayerTreeHostProxy ref-counted.
11477        (DrawingAreaProxy):
11478        * UIProcess/DrawingAreaProxyImpl.cpp:
11479        (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
11480        (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
11481        * UIProcess/LayerTreeHostProxy.h:
11482        (WebKit):
11483        (WebKit::LayerTreeHostProxy::create):
11484        (LayerTreeHostProxy):
11485        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
11486        (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
11487        (WebKit):
11488        (MainThreadGuardedInvoker):
11489            A class that allows invoking functions in the main thread, while guarding a ref-
11490            counted object.
11491
11492        (WebKit::MainThreadGuardedInvoker::call):
11493        (WebKit::MainThreadGuardedInvoker::MainThreadGuardedInvoker):
11494        (WebKit::MainThreadGuardedInvoker::invoke):
11495        (WebKit::LayerTreeHostProxy::syncAnimations):
11496        (WebKit::LayerTreeHostProxy::updateViewport):
11497        (WebKit::LayerTreeHostProxy::detachDrawingArea):
11498        (WebKit::LayerTreeHostProxy::syncLayerParameters):
11499        (WebKit::LayerTreeHostProxy::setShouldRenderNextFrame):
11500        (WebKit::LayerTreeHostProxy::flushLayerChanges):
11501        (WebKit::LayerTreeHostProxy::ensureRootLayer):
11502        (WebKit::LayerTreeHostProxy::syncRemoteContent):
11503        (WebKit::LayerTreeHostProxy::dispatchUpdate):
11504        (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
11505        (WebKit::LayerTreeHostProxy::purgeGLResources):
11506        * UIProcess/qt/QtWebPageSGNode.cpp: Added.
11507        * UIProcess/qt/QtWebPageSGNode.h: Added.
11508
115092012-03-04  Raphael Kubo da Costa  <kubo@profusion.mobi>
11510
11511        [CMake] Libraries are installed to /usr/lib and not /usr/lib64 on x86_64
11512        https://bugs.webkit.org/show_bug.cgi?id=71507
11513
11514        Reviewed by Antonio Gomes.
11515
11516        * CMakeLists.txt: Use ${LIB_INSTALL_DIR} instead of hardcoding "lib".
11517
115182012-03-03  Simon Hausmann  <simon.hausmann@nokia.com>
11519
11520        [Qt] Fix static_libs_as_shared build
11521        https://bugs.webkit.org/show_bug.cgi?id=80214
11522
11523        Reviewed by Tor Arne Vestbø.
11524
11525        Replace (static) link time dependency to WK1 with entrypoint
11526        in the separate WebProcess for activating the QStyle theme if
11527        necessary.
11528
11529        * Target.pri:
11530        * UIProcess/Launcher/ProcessLauncher.h:
11531        * WebProcess/qt/WebProcessMainQt.cpp:
11532        (WebKit::WebProcessMainQt):
11533        * qt/MainQt.cpp:
11534        (WebKit):
11535        (main):
11536
115372012-03-03  Hans Wennborg  <hans@chromium.org>
11538
11539        Implement Speech JavaScript API
11540        https://bugs.webkit.org/show_bug.cgi?id=80019
11541
11542        Reviewed by Adam Barth.
11543
11544        Add ENABLE_SCRIPTED_SPEECH.
11545
11546        * Configurations/FeatureDefines.xcconfig:
11547
115482012-03-03  No'am Rosenthal  <noam.rosenthal@nokia.com>
11549
11550        [Qt] Use the existing inheritedOpacity/matrix properties of QSGNode
11551        https://bugs.webkit.org/show_bug.cgi?id=79543
11552
11553        Use QSGNode::inheritedOpacity() and QSGNode::matrix().
11554        Also, remove flags from changedStates() that we don't actually touch.
11555        This is covered by existing API tests.
11556
11557        Reviewed by Kenneth Rohde Christiansen.
11558
11559        * UIProcess/API/qt/qquickwebpage.cpp:
11560        (QQuickWebPagePrivate::paintToCurrentGLContext):
11561        (PageProxyNode::changedStates):
11562        (PageProxyNode::render):
11563        * UIProcess/API/qt/qquickwebpage_p_p.h:
11564        (QQuickWebPagePrivate):
11565
115662012-03-03  Anders Carlsson  <andersca@apple.com>
11567
11568        Fix build with newer versions of clang.
11569
11570        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
11571        (WebKit::NPN_GetValue):
11572        Cast the switch parameter to unsigned to prevent warnings about case values not being part of the enum type.
11573
115742012-03-02  Andy Estes  <aestes@apple.com>
11575
11576        Move nsStringFromWebCoreString out of PageClientImpl
11577        https://bugs.webkit.org/show_bug.cgi?id=80202
11578
11579        Reviewed by Sam Weinig.
11580
11581        nsStringFromWebCoreString() doesn't really belong in PageClientImpl.mm,
11582        and it makes us include PageClientImpl.h in places where we shouldn't.
11583        Move this function into StringUtilities.{h, mm}.
11584
11585        * Platform/mac/StringUtilities.h: Added.
11586        * Platform/mac/StringUtilities.mm: Added.
11587        (WebKit::nsStringFromWebCoreString):
11588        * UIProcess/API/mac/PageClientImpl.h:
11589        * UIProcess/API/mac/PageClientImpl.mm:
11590        * UIProcess/API/mac/WKView.mm:
11591        * UIProcess/mac/WebContextMenuProxyMac.mm:
11592        * UIProcess/mac/WebPageProxyMac.mm:
11593        * UIProcess/mac/WebPopupMenuProxyMac.mm:
11594        * UIProcess/mac/WebPreferencesMac.mm:
11595        * WebKit2.xcodeproj/project.pbxproj:
11596
115972012-03-02  Andy Estes  <aestes@apple.com>
11598
11599        Remove com.apple.WebKit.PluginProcess.sb from WebKit2.xcodeproj's Headers build phase
11600        https://bugs.webkit.org/show_bug.cgi?id=80197
11601
11602        Reviewed by Alexey Proskuryakov.
11603
11604        It doesn't belong there, and it makes Xcode consider the project to be
11605        invalid, triggering assertions in some builds of Xcode.
11606
11607        * WebKit2.xcodeproj/project.pbxproj:
11608
116092012-03-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
11610
11611        [Qt] Fix spelling mistake in header guard
11612
11613        Reviewed by Noam Rosenthal.
11614
11615        * UIProcess/API/qt/qwebviewportinfo_p.h:
11616
116172012-03-02  Carlos Garcia Campos  <cgarcia@igalia.com>
11618
11619        [GTK] Invalid check in webkit_web_view_set_zoom_level() when zoom-text-only is enabled
11620        https://bugs.webkit.org/show_bug.cgi?id=80150
11621
11622        Reviewed by Philippe Normand.
11623
11624        * UIProcess/API/gtk/WebKitWebView.cpp:
11625        (webkit_web_view_set_zoom_level): Use
11626        webkit_web_view_get_zoom_level() instead of
11627        WKPageGetPageZoomFactor() to get the current effective zoom level
11628        depending on zoom-text-only setting.
11629
116302012-03-02  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
11631
11632        Fix build on AppleWebKit after 109548.
11633
11634        * mac/WebKit2.order:
11635
116362012-03-02  Simon Hausmann  <simon.hausmann@nokia.com>
11637
11638        [Qt] Fix tests run with WTR not using QStyle theme
11639        https://bugs.webkit.org/show_bug.cgi?id=80147
11640
11641        Reviewed by Csaba Osztrogonác.
11642
11643        Use an environment variable (set by WTR) to select the QStyle theme.
11644        This is a temporary kludge until we rebase the layout tests to use the
11645        QStyle independent "mobile" theme. This also temporarily breaks the
11646        force_static_libs_as_shared build.
11647
11648        * Target.pri:
11649        * WebProcess/qt/WebProcessMainQt.cpp:
11650        (WebKit::WebProcessMainQt):
11651
116522012-03-02  Simon Hausmann  <simon.hausmann@nokia.com>
11653
11654        [Qt] Compile WebCore without QtWidgets
11655        https://bugs.webkit.org/show_bug.cgi?id=80141
11656
11657        Reviewed by Tor Arne Vestbø.
11658
11659        * Shared/qt/WebEventFactoryQt.cpp: Removed unnecessary include.
11660        * Target.pri: Require widgets for WK2 for the moment, until bug #79458
11661        is fixed.
11662
116632012-03-02  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
11664
11665        Suspend/Resume API for pausing timers and animations.
11666        https://bugs.webkit.org/show_bug.cgi?id=76063
11667
11668        Based on the initial work of Zalan Bujtas <zalan.bujtas@nokia.com>,
11669
11670        Adds suspend and resume API for WebKit2 and uses it in Qt to
11671        suspend animations and DOM timers during panning and zoom.
11672
11673        Reviewed by Kenneth Rohde Christiansen.
11674
11675        * UIProcess/API/qt/qquickwebview.cpp:
11676        (QQuickWebViewFlickablePrivate::_q_suspend):
11677        (QQuickWebViewFlickablePrivate::_q_resume):
11678        * UIProcess/WebPageProxy.cpp:
11679        (WebKit::WebPageProxy::WebPageProxy):
11680        (WebKit::WebPageProxy::resumeActiveDOMObjectsAndAnimations):
11681        (WebKit::WebPageProxy::suspendActiveDOMObjectsAndAnimations):
11682        (WebKit::WebPageProxy::processDidCrash):
11683        * UIProcess/WebPageProxy.h:
11684        * WebProcess/WebPage/WebPage.cpp:
11685        (WebKit::WebPage::suspendActiveDOMObjectsAndAnimations):
11686        (WebKit::WebPage::resumeActiveDOMObjectsAndAnimations):
11687        * WebProcess/WebPage/WebPage.h:
11688        * WebProcess/WebPage/WebPage.messages.in:
11689
116902012-03-02  Joone Hur  <joone.hur@collabora.co.uk>
11691
11692        Unreviewed. Fix WebKit2 GTK+ build.
11693
11694        * GNUmakefile.am: allow WebKitWebProcess to link with zlib properly.
11695
116962012-03-01  Andras Becsi  <andras.becsi@nokia.com>
11697
11698        [Qt][WK2] Make the interaction with the Flickable work on the N9
11699        https://bugs.webkit.org/show_bug.cgi?id=80029
11700
11701        Reviewed by Simon Hausmann.
11702
11703        Because the WebView item accepts all touch events it receives and sends
11704        them to the web process before propagating them to the gesture recognizers,
11705        which is correct behaviour, we can not rely on the touch->mouse conversion
11706        of Qt5 when controlling Flickable. Hence we need to convert the received
11707        touch events to mouse events in the QtFlickProvider.
11708
11709        * UIProcess/qt/QtFlickProvider.cpp:
11710        (QtFlickProvider::handleTouchFlickEvent):
11711        Do the touch to mouse event conversion for the Flickable.
11712        * UIProcess/qt/QtPanGestureRecognizer.cpp:
11713        (WebKit::QtPanGestureRecognizer::recognize):
11714        A touch begin event should cancel the previous pan gesture
11715        and stop the ongoing flick animation.
11716
117172012-03-01  Anders Carlsson  <andersca@apple.com>
11718
11719        Assertion failure in pageContainsAnyHorizontalScrollbars() (scrollableArea->isOnActivePage()) when leaving pages with embedded PDFs
11720        https://bugs.webkit.org/show_bug.cgi?id=80044
11721        <rdar://problem/10919940>
11722
11723        Reviewed by Brady Eidson.
11724
11725        Remove the code that would add and remove wheel event handlers since that's not what we want to track.
11726        Instead, dynamically add and remove the view as its scrollbars come and go.
11727
11728        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
11729        (WebKit::BuiltInPDFView::updateScrollbars):
11730        (WebKit::BuiltInPDFView::initialize):
11731        * WebProcess/Plugins/PDF/BuiltInPDFView.h:
11732        (BuiltInPDFView):
11733
117342012-03-01  Kangil Han  <kangil.han@samsung.com>
11735
11736        [DRT] Remove all PlainTextController usages in existing tests by adding internal API
11737        https://bugs.webkit.org/show_bug.cgi?id=78570
11738
11739        Reviewed by Hajime Morita.
11740
11741        This patch will remove all PlainTextController usages
11742        in existing DRT tests by adding internal API to WebCore/testing/Internals
11743
11744        * win/WebKit2.def:
11745        * win/WebKit2CFLite.def:
11746
117472012-03-01  Nikolas Zimmermann  <nzimmermann@rim.com>
11748
11749        Unreviewed, rolling out r109255.
11750        http://trac.webkit.org/changeset/109255
11751        https://bugs.webkit.org/show_bug.cgi?id=79932
11752
11753        Breaks rounded rects with dashed strokes in SVG
11754
11755        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
11756        (InitWebCoreSystemInterface):
11757
117582012-03-01  Sergio Villar Senin  <svillar@igalia.com>
11759
11760        [WK2] [GTK] [libsoup] SoupSession should use system CA
11761        https://bugs.webkit.org/show_bug.cgi?id=79657
11762
11763        Reviewed by Martin Robinson.
11764
11765        SoupSession sould use system CA list to validate SSL
11766        certificates. Do not use strict certificate validation though as
11767        we want clients to decide whether or not accept/decline invalid
11768        certificates (API to be added later).
11769
11770        No new tests required as current behaviour does not change at all
11771        as we continue to accept invalid certificates by default.
11772
11773        * WebProcess/gtk/WebProcessMainGtk.cpp:
11774        (WebKit::WebProcessMainGtk):
11775
117762012-03-01  Carlos Garcia Campos  <cgarcia@igalia.com>
11777
11778        Unreviewed. Fix WebKit2 GTK+ build.
11779
11780        * UIProcess/API/gtk/WebKitDefines.h:
11781        * UIProcess/API/gtk/WebKitWebView.h:
11782
117832012-02-29  Simon Hausmann  <simon.hausmann@nokia.com>
11784
11785        [Qt][WK2] QQuickWebView::event should lookup faster which events QQuickWebPage can handle
11786        https://bugs.webkit.org/show_bug.cgi?id=78047
11787
11788        Reviewed by Kenneth Rohde Christiansen.
11789
11790        Replaced double-dispatch of events with direct forwarding of events from QQuickWebView::*Event to
11791        QtWebPageEventHandler::handle*Event.
11792
11793        * UIProcess/API/qt/qquickwebview.cpp:
11794        (QQuickWebView::keyPressEvent):
11795        (QQuickWebView::keyReleaseEvent):
11796        (QQuickWebView::inputMethodEvent):
11797        (QQuickWebView::focusInEvent):
11798        (QQuickWebView::focusOutEvent):
11799        (QQuickWebView::touchEvent):
11800        (QQuickWebView::mousePressEvent):
11801        (QQuickWebView::mouseMoveEvent):
11802        (QQuickWebView::mouseReleaseEvent):
11803        (QQuickWebView::mouseDoubleClickEvent):
11804        (QQuickWebView::wheelEvent):
11805        (QQuickWebView::hoverEnterEvent):
11806        (QQuickWebView::hoverMoveEvent):
11807        (QQuickWebView::hoverLeaveEvent):
11808        (QQuickWebView::dragMoveEvent):
11809        (QQuickWebView::dragEnterEvent):
11810        (QQuickWebView::dragLeaveEvent):
11811        (QQuickWebView::dropEvent):
11812        (QQuickWebView::event):
11813        * UIProcess/qt/QtWebPageEventHandler.cpp:
11814        (QtWebPageEventHandler::handleMouseMoveEvent):
11815        (QtWebPageEventHandler::handleMousePressEvent):
11816        (QtWebPageEventHandler::handleMouseReleaseEvent):
11817        (QtWebPageEventHandler::handleWheelEvent):
11818        (QtWebPageEventHandler::handleHoverLeaveEvent):
11819        (QtWebPageEventHandler::handleHoverMoveEvent):
11820        (QtWebPageEventHandler::handleDragEnterEvent):
11821        (QtWebPageEventHandler::handleDragLeaveEvent):
11822        (QtWebPageEventHandler::handleDragMoveEvent):
11823        (QtWebPageEventHandler::handleDropEvent):
11824        (QtWebPageEventHandler::handleKeyPressEvent):
11825        (QtWebPageEventHandler::handleKeyReleaseEvent):
11826        (QtWebPageEventHandler::handleFocusInEvent):
11827        (QtWebPageEventHandler::handleFocusOutEvent):
11828        (QtWebPageEventHandler::handleInputMethodEvent):
11829        (QtWebPageEventHandler::handleTouchEvent):
11830        * UIProcess/qt/QtWebPageEventHandler.h:
11831        (QtWebPageEventHandler):
11832
118332012-03-01  Csaba Osztrogonác  <ossy@webkit.org>
11834
11835        [Qt][WK2] Unreviewed buildfix after r109277.
11836
11837        * WebProcess/qt/QtBuiltinBundlePage.cpp:
11838        (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
11839
118402012-02-29  No'am Rosenthal  <noam.rosenthal@nokia.com>
11841
11842        [Qt][WK2] Get rid of the #ifdef mess in LayerTreeHost[Proxy]
11843        https://bugs.webkit.org/show_bug.cgi?id=79501
11844
11845        Use a new UI_SIDE_COMPOSITING flag instead of the several #ifdef flags we currently use.
11846
11847        Reviewed by Kenneth Rohde Christiansen.
11848
11849        * Shared/WebLayerTreeInfo.cpp:
11850        * Shared/WebLayerTreeInfo.h:
11851        * UIProcess/DrawingAreaProxy.cpp:
11852        (WebKit):
11853        * UIProcess/DrawingAreaProxy.h:
11854        (DrawingAreaProxy):
11855        * UIProcess/DrawingAreaProxyImpl.cpp:
11856        (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
11857        (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
11858        (WebKit):
11859        * UIProcess/DrawingAreaProxyImpl.h:
11860        (DrawingAreaProxyImpl):
11861        * UIProcess/LayerTreeHostProxy.h:
11862        (LayerTreeHostProxy):
11863        * UIProcess/WebPageProxy.cpp:
11864        (WebKit::WebPageProxy::didReceiveMessage):
11865        * UIProcess/qt/LayerBackingStore.cpp:
11866        * UIProcess/qt/LayerBackingStore.h:
11867        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
11868        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
11869        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
11870        * WebProcess/WebPage/DrawingArea.h:
11871        (DrawingArea):
11872        * WebProcess/WebPage/DrawingAreaImpl.cpp:
11873        (WebKit):
11874        * WebProcess/WebPage/DrawingAreaImpl.h:
11875        (DrawingAreaImpl):
11876        * WebProcess/WebPage/LayerTreeHost.cpp:
11877        (WebKit::LayerTreeHost::create):
11878        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
11879        (WebKit::LayerTreeHostQt::purgeBackingStores):
11880        * WebProcess/WebPage/qt/LayerTreeHostQt.h:
11881        (LayerTreeHostQt):
11882
118832012-02-28  Brian Weinstein  <bweinstein@apple.com>
11884
11885        WebKit2: didNewFirstVisuallyNonEmptyLayout should be sent to injected bundle
11886        https://bugs.webkit.org/show_bug.cgi?id=79849
11887        
11888        Tell the injected bundle about didNewFirstVisuallyNonEmptyLayout (we currently
11889        just tell the UI process).
11890
11891        Reviewed by Beth Dakin.
11892
11893        * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add didNewFirstVisuallyNonEmptyLayout to version 1.
11894        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
11895        (WebKit::InjectedBundlePageLoaderClient::didNewFirstVisuallyNonEmptyLayout): Call through to the
11896            client.
11897        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
11898        (InjectedBundlePageLoaderClient):
11899        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
11900        (WebKit::WebFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout): Tell the injected
11901            bundle.
11902
119032012-02-29  Tim Horton  <timothy_horton@apple.com>
11904
11905        Make use of CG rounded-rect primitives
11906        https://bugs.webkit.org/show_bug.cgi?id=79932
11907        <rdar://problem/9274953>
11908
11909        Reviewed by Simon Fraser.
11910
11911        Add wkCGPathAddRoundedRect.
11912
11913        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
11914        (InitWebCoreSystemInterface):
11915
119162012-02-29  Andy Estes  <aestes@apple.com>
11917
11918        CFURLDownloadScheduleWithCurrentMessageQueue only exists on Windows
11919        https://bugs.webkit.org/show_bug.cgi?id=79936
11920
11921        Reviewed by Brady Eidson.
11922
11923        CFURLDownloadScheduleWithCurrentMessageQueue only exists on Windows
11924        platforms. Non-Windows platforms that use CFNetwork-based downloads
11925        should omit this call.
11926
11927        * WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
11928        (WebKit::Download::start):
11929
119302012-02-29  Rafael Brandao  <rafael.lobo@openbossa.org>
11931
11932        [Qt][WK2] We should not add NetscapeBrowserFuncs.cpp as header
11933        https://bugs.webkit.org/show_bug.cgi?id=79847
11934
11935        Reviewed by Alexey Proskuryakov.
11936
11937        * Target.pri: Fix typo, so we can add ".h" file instead.
11938
119392012-02-29  Sam Weinig  <sam@webkit.org>
11940
11941        When invoking Lookup while zoomed in, the highlighted word renders out of line
11942        <rdar://problem/10812527>
11943
11944        Reviewed by Simon Fraser.
11945
11946        * WebProcess/WebPage/mac/WebPageMac.mm:
11947        (WebKit::WebPage::performDictionaryLookupForRange):
11948        Make sure to scale the ascent when determining the origin for the overlay.
11949
119502012-02-29  Carlos Garcia Campos  <cgarcia@igalia.com>
11951
11952        [GTK] Use text or page zoom factor in WebKitWebView depending on zoom-text-only
11953        https://bugs.webkit.org/show_bug.cgi?id=75252
11954
11955        Reviewed by Gustavo Noronha Silva.
11956
11957        * UIProcess/API/gtk/WebKitWebView.cpp:
11958        (zoomTextOnlyChanged): Update text/page zoom factor when
11959        zoom-text-only setting changes.
11960        (webkitWebViewSetSettings): Helper function to set the settings
11961        object for the web view, initializing the settings for the page
11962        and connecting to notify::zoom-text-only signal.
11963        (webkitWebViewConstructed): Use webkitWebViewSetSettings().
11964        (webkit_web_view_set_settings): Use webkitWebViewSetSettings() and
11965        disconnect from the notify::zoom-text-only signal of the previous
11966        settings object.
11967        (webkit_web_view_set_zoom_level): Set text/page zoom factor
11968        depending on WebKitSettings:zoom-text-only property.
11969        (webkit_web_view_get_zoom_level): Get text/page zoom factor
11970        depending on WebKitSettings:zoom-text-only property.
11971        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
11972        (testWebViewZoomLevel):
11973
119742012-02-29  Carlos Garcia Campos  <cgarcia@igalia.com>
11975
11976        [GTK] Add zoom-text-only setting to WebKit2 GTK+ API
11977        https://bugs.webkit.org/show_bug.cgi?id=75249
11978
11979        Reviewed by Gustavo Noronha Silva.
11980
11981        To set whether zoom level of web view should affect only the text
11982        or all page contents. It's disabled by default.
11983
11984        * UIProcess/API/gtk/WebKitSettings.cpp:
11985        (webKitSettingsSetProperty):
11986        (webKitSettingsGetProperty):
11987        (webkit_settings_class_init): Add WebKitSettings:zoom-text-only
11988        property.
11989        (webkit_settings_set_zoom_text_only): Set
11990        WebKitSettings:zoom-text-only.
11991        (webkit_settings_get_zoom_text_only): Get
11992        WebKitSettings:zoom-text-only.
11993        * UIProcess/API/gtk/WebKitSettings.h:
11994        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new
11995        symbols.
11996        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
11997        (testWebKitSettings):
11998
119992012-02-29  Sergio Villar Senin  <svillar@igalia.com>
12000
12001        DidFindString should be emitted even if FindOptionsShowOverlay is not enabled
12002        https://bugs.webkit.org/show_bug.cgi?id=76522
12003
12004        Reviewed by Darin Adler.
12005
12006        DidFindString message should be issued always even if neither
12007        FindOptionsShowOverlay or FindOptionsShowHighlight are
12008        provided. The difference is that if any of those flags are present
12009        the find operation will look for all the appearances of the text
12010        in the web view, otherwise it will just look and report the next
12011        occurrence.
12012
12013        This patch removes the temporary workaround added in r109222 to
12014        the WebKitFindController unit tests.
12015
12016        * UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
12017        * WebProcess/WebPage/FindController.cpp:
12018        (WebKit::FindController::findString):
12019
120202012-01-19  Sergio Villar Senin  <svillar@igalia.com>
12021
12022        [GTK] [WK2] Add Find API
12023        https://bugs.webkit.org/show_bug.cgi?id=76070
12024
12025        Reviewed by Martin Robinson.
12026
12027        This patch adds a new public find API for the Gtk+ WK2 port. It
12028        defines a new object called WebKitFindController owned by each
12029        WebKitWebView. Clients will use this new object to search strings
12030        in the WebKitWebView.
12031
12032        Changes include also documentation and unit tests for the new
12033        public API.
12034
12035        * GNUmakefile.am:
12036        * UIProcess/API/gtk/WebKitDefines.h:
12037        * UIProcess/API/gtk/WebKitFindController.cpp: Added.
12038        (didFindString): implementation of the WKPage Find interface.
12039        (didFailToFindString): Ditto.
12040        (didCountStringMatches): Ditto.
12041        (webkit_find_controller_init):
12042        (getWKPageFromWebKitWebView):
12043        (webkitFindControllerConstructed):
12044        (webkitFindControllerGetProperty):
12045        (webkitFindControllerSetProperty):
12046        (webkitFindControllerFinalize):
12047        (webkit_find_controller_class_init):
12048        (webkit_find_controller_get_search_text):
12049        (webkit_find_controller_get_options):
12050        (webkit_find_controller_get_max_match_count):
12051        (webkit_find_controller_get_web_view):
12052        (webKitFindControllerPerform):
12053        (webKitFindControllerSetSearchData):
12054        (webkit_find_controller_search): asynchronously looks for the
12055        search string in the WebKitWebView.
12056        (webkit_find_controller_search_finish): unhighlights text matches.
12057        (webkit_find_controller_search_next):
12058        (webkit_find_controller_search_previous):
12059        (webkit_find_controller_count_matches): asynchronously counts the
12060        number of matches of the search string in the WebKitWebView.
12061        * UIProcess/API/gtk/WebKitFindController.h: Added.
12062        * UIProcess/API/gtk/WebKitPrivate.h:
12063        * UIProcess/API/gtk/WebKitWebView.cpp:
12064        (webkit_web_view_get_find_controller): returns the
12065        WebKitFindController instance owned by the WebKitWebView.
12066        * UIProcess/API/gtk/WebKitWebView.h:
12067        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
12068        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
12069        * UIProcess/API/gtk/docs/webkit2gtk.types:
12070        * UIProcess/API/gtk/tests/GNUmakefile.am:
12071        * UIProcess/API/gtk/tests/TestWebKitFindController.cpp: Added.
12072        (testFindControllerTextFound):
12073        (testFindControllerTextNotFound):
12074        (testFindControllerMatchCount):
12075        (testFindControllerMaxMatchCount):
12076        (testFindControllerNext):
12077        (testFindControllerPrevious):
12078        (testFindControllerCountedMatches):
12079        (testFindControllerOptions):
12080        (testFindControllerInstance):
12081        (testFindControllerGetters):
12082        (testFindControllerHide):
12083        (beforeAll):
12084        (afterAll):
12085        * UIProcess/API/gtk/webkit2.h:
12086
120872012-02-28  Simon Fraser  <simon.fraser@apple.com>
12088
12089        Update WebKitSystemInterface.
12090
12091        Reviewed by Sam Weinig.
12092
12093        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
12094        (InitWebCoreSystemInterface):
12095
120962012-02-28  Hugo Parente Lima  <hugo.lima@openbossa.org>
12097
12098        All mouse events after a right click are ignored when they came from WebkitTestRunner
12099        https://bugs.webkit.org/show_bug.cgi?id=77350
12100
12101        Reviewed by Chang Shu.
12102
12103        Never ignore mouse events when using sync events, even if the context menu is being
12104        show but the Ui did replied the ShowContextMenu event with a ContextMenuHidden.
12105
12106        * WebProcess/WebPage/WebPage.cpp:
12107        (WebKit::WebPage::mouseEventSyncForTesting):
12108
121092012-02-28  Alexey Proskuryakov  <ap@apple.com>
12110
12111        More build fix.
12112
12113        * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Check for build platform
12114        properly.
12115
121162012-02-28  Alexey Proskuryakov  <ap@apple.com>
12117
12118        Build fix.
12119
12120        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue):
12121        Check for build platform properly.
12122
121232012-02-28  Enrica Casucci  <enrica@apple.com>
12124
12125        More Pasteboard code cleanup.
12126        https://bugs.webkit.org/show_bug.cgi?id=79816
12127
12128        Removing the last references to NSPasteboard.
12129        
12130        Reviewed by Alexey Proskuryakov.
12131
12132        * WebProcess/WebCoreSupport/WebEditorClient.h:
12133        * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
12134        (WebKit::WebEditorClient::setInsertionPasteboard):
12135
121362012-02-28  Alexey Proskuryakov  <ap@apple.com>
12137
12138        [Mac] Add an experimental SPI for plug-ins to enter sandbox
12139        https://bugs.webkit.org/show_bug.cgi?id=79709
12140
12141        Reviewed by Anders Carlsson.
12142
12143        * PluginProcess/PluginProcess.h: (WebKit::PluginProcess::pluginPath): Exposed plugin path.
12144
12145        * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb: Added.
12146
12147        * WebKit2.xcodeproj/project.pbxproj: Added new files.
12148
12149        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue): Exposed
12150        a function to access sandboxing functions when available.
12151
12152        * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h: Added.
12153        * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Added.
12154
121552012-02-28  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
12156
12157        [Qt] Allow read/write to the WebView.url property
12158        https://bugs.webkit.org/show_bug.cgi?id=77554
12159
12160        Reviewed by Tor Arne Vestbø.
12161
12162        Change QML API WebView.url to read/write to reflect either the url requested by the user.
12163        Also removed WebView.load(url). Defers setting url (loading page) until onComponentComplete is triggered. 
12164        Fixed c++ and qml tests to reflect the new API.
12165
12166        * Target.pri:
12167        * UIProcess/API/qt/qquickwebview.cpp:
12168        (QQuickWebViewPrivate::QQuickWebViewPrivate):
12169        (QQuickWebViewPrivate::onComponentComplete):
12170        (QQuickWebView::setUrl):
12171        * UIProcess/API/qt/qquickwebview_p_p.h:
12172        (QQuickWebViewPrivate):
12173        * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
12174        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml:
12175        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
12176        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
12177        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
12178        * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
12179        * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml:
12180        * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
12181        * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml:
12182        * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
12183        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
12184        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml:
12185        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml:
12186        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
12187        * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml:
12188        * UIProcess/API/qt/tests/qmltests/WebView/tst_origin.qml:
12189        * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
12190        * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml:
12191        * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml:
12192        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
12193        (tst_QQuickWebView::loadEmptyPageViewHidden):
12194        (tst_QQuickWebView::loadNonexistentFileUrl):
12195
121962012-02-28  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
12197
12198        [Qt] Signal and property cleanup in QQuickWebView
12199        https://bugs.webkit.org/show_bug.cgi?id=78820
12200
12201        Reviewed by Noam Rosenthal.
12202
12203        - Remove parameters from property change notify signals:
12204          titleChanged, urlChanged, iconChanged, loadProgressChanged
12205        - Rename the parameters of linkHovered to prevent shadoing properties of WebView
12206        - Rename navigationStateChanged to navigationHistoryChanged
12207
12208        * UIProcess/API/qt/qquickwebview.cpp:
12209        (QQuickWebViewPrivate::QQuickWebViewPrivate):
12210        (QQuickWebViewPrivate::initialize):
12211        (QQuickWebViewPrivate::_q_onUrlChanged):
12212        (QQuickWebViewPrivate::setIcon):
12213        * UIProcess/API/qt/qquickwebview_p.h:
12214        * UIProcess/API/qt/qquickwebview_p_p.h:
12215        (QQuickWebViewPrivate):
12216        * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
12217        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
12218        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
12219        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
12220        (tst_QQuickWebView::loadProgress):
12221        * UIProcess/qt/QtWebPageLoadClient.cpp:
12222        (QtWebPageLoadClient::didCommitLoadForFrame):
12223        (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
12224        (QtWebPageLoadClient::didReceiveTitleForFrame):
12225        (QtWebPageLoadClient::setLoadProgress):
12226        * UIProcess/qt/QtWebPageLoadClient.h:
12227        (QtWebPageLoadClient):
12228
122292012-02-28  Mario Sanchez Prada  <msanchez@igalia.com>
12230
12231        [GTK] Add GMainLoop and GMainContext to be handled by GRefPtr
12232        https://bugs.webkit.org/show_bug.cgi?id=79496
12233
12234        Reviewed by Martin Robinson.
12235
12236        Updated places where raw pointers to GMainLoop and GMainContext
12237        were being used, replacing them with GRefPtr-based code.
12238
12239        * Platform/WorkQueue.h:
12240        (WorkQueue):
12241        * Platform/gtk/WorkQueueGtk.cpp:
12242        (WorkQueue::platformInitialize):
12243        (WorkQueue::platformInvalidate):
12244        (WorkQueue::workQueueThreadBody):
12245        (WorkQueue::registerEventSourceHandler):
12246        (WorkQueue::dispatchOnSource):
12247        * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
12248        (WebKit::WebPopupMenuProxyGtk::WebPopupMenuProxyGtk):
12249        (WebKit::WebPopupMenuProxyGtk::showPopupMenu):
12250        (WebKit::WebPopupMenuProxyGtk::shutdownRunLoop):
12251        * UIProcess/gtk/WebPopupMenuProxyGtk.h:
12252        (WebPopupMenuProxyGtk):
12253
122542012-02-28  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
12255
12256        [Qt] Initialize QtWebContext as much as we can in its constructor.
12257        https://bugs.webkit.org/show_bug.cgi?id=79809
12258
12259        Reviewed by Tor Arne Vestbø.
12260
12261        The icon database wouldn't be initialized on the QtWebContext while in WebKitTestRunner
12262        since it doesn't call the initialize method on it after creating it.
12263        Remove the initialize method, move the download manager and icon database initialization
12264        in the constructor and call initializeContextInjectedBundleClient directly in
12265        defaultContext to prevent overriding WKTR's injected bundle client.
12266
12267        * UIProcess/qt/QtWebContext.cpp:
12268        (WebKit::QtWebContext::QtWebContext):
12269        (WebKit::QtWebContext::defaultContext):
12270        * UIProcess/qt/QtWebContext.h:
12271        (QtWebContext):
12272
122732012-02-28  Carlos Garcia Campos  <cgarcia@igalia.com>
12274
12275        [GTK] Inconsistent state of WebKitWebView when replacing content in WebKit2
12276        https://bugs.webkit.org/show_bug.cgi?id=79775
12277
12278        Reviewed by Martin Robinson.
12279
12280        Use an enum instead of a boolean to track the status of a
12281        replace_content() load operation. We need to know when the load of
12282        the replace content actually starts to not ignore valid load
12283        events of a previous ongoing load operation.
12284
12285        * UIProcess/API/gtk/WebKitWebView.cpp:
12286        (webkitWebViewLoadChanged): Transit to new replace content state
12287        when replacing content depending on the load event.
12288        (webkitWebViewLoadFailed): Ignore load failed events when
12289        replacing content.
12290        (webkitWebViewSetEstimatedLoadProgress): Ignore load progress when
12291        replacing content.
12292        (webkit_web_view_replace_content): Set replace content status to
12293        WillReplaceContent.
12294        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
12295        (replaceContentLoadCallback):
12296        (testWebViewReplaceContent):
12297        * UIProcess/API/gtk/tests/WebViewTest.cpp:
12298        (titleChanged):
12299        (WebViewTest::waitUntilTitleChanged): Convenient method to wait
12300        until title changes. Use with replaceConent() since load events
12301        are not emitted when replacing content.
12302        * UIProcess/API/gtk/tests/WebViewTest.h:
12303
123042012-02-27  Anders Carlsson  <andersca@apple.com>
12305
12306        Add basic page overlay support to TiledCoreAnimationDrawingArea
12307        https://bugs.webkit.org/show_bug.cgi?id=79716
12308        <rdar://problem/10923079>
12309
12310        Reviewed by Sam Weinig.
12311
12312        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
12313        Make TiledCoreAnimationDrawingArea a GraphicsLayerClient.
12314
12315        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
12316        (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
12317        Create the page overlay layer.
12318
12319        (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
12320        Destroy the page overlay layer.
12321
12322        (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
12323        Mark the page overlay layer as needing display.
12324
12325        (WebKit::TiledCoreAnimationDrawingArea::notifyAnimationStarted):
12326        (WebKit::TiledCoreAnimationDrawingArea::notifySyncRequired):
12327        Add empty GraphisLayerClient member function implementations.
12328
12329        (WebKit::TiledCoreAnimationDrawingArea::paintContents):
12330        Ask the page overlay to paint itself.
12331
12332        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
12333        Flush the page overlay layer.
12334        
12335        (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
12336        Resize the page overlay layer.
12337
12338        (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
12339        If we have a page overlay layer, add it as a sublayer of the root layer.
12340
12341        (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
12342        Create the page overlay layer and add it as a sublayer of the root layer.
12343
12344        (WebKit::TiledCoreAnimationDrawingArea::destroyPageOverlayLayer):
12345        Remove the page overlay layer and destroy it.
12346
123472012-02-28  Carlos Garcia Campos  <cgarcia@igalia.com>
12348
12349        [GTK] Remove virtual methods of WebKitDownload signals in WebKit2 GTK+ API
12350        https://bugs.webkit.org/show_bug.cgi?id=79804
12351
12352        Reviewed by Martin Robinson.
12353
12354        That comes from the first patch that followed the approach of the
12355        first LoaderClient implementation. With current implementation
12356        download signals, except decide-destination, don't need to be
12357        true_handled, and they won't have a default handler
12358        implementation. Also the download object is not supposed to be
12359        inheritable, since instances are created privately by the
12360        WebContext, so it's not possible to override the virtual methods
12361        in derived classes.
12362
12363        * UIProcess/API/gtk/WebKitDownload.cpp:
12364        (webkit_download_class_init):
12365        (webkitDownloadNotifyProgress):
12366        (webkitDownloadFailed):
12367        (webkitDownloadFinished):
12368        * UIProcess/API/gtk/WebKitDownload.h:
12369        (_WebKitDownloadClass):
12370        * UIProcess/API/gtk/webkit2marshal.list:
12371
123722012-02-28  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
12373
12374        [Qt] Fix build for WK2, do not use enum type if values can be outside the enum
12375        https://bugs.webkit.org/show_bug.cgi?id=79800
12376
12377        Reviewed by Csaba Osztrogonác.
12378
12379        We have two different enums called NavigationRequestAction. If we use one of them
12380        to store the variables, compilers can rightfully warn about comparison with
12381        values from other enums.
12382
12383        We might revisit the strategy of exposing different enumerations in experimental,
12384        but for now, fallback to using int for the 'action' property in
12385        QWebNavigationRequest.
12386
12387        * UIProcess/API/qt/qwebnavigationrequest.cpp:
12388        (QWebNavigationRequestPrivate):
12389        (QWebNavigationRequest::setAction):
12390        (QWebNavigationRequest::action):
12391        * UIProcess/API/qt/qwebnavigationrequest_p.h:
12392        * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
12393
123942012-02-27  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
12395
12396        [Qt] API changes to QWebNavigationRequest
12397        https://bugs.webkit.org/show_bug.cgi?id=78821
12398
12399        Reviewed by Kenneth Rohde Christiansen.
12400
12401        Changes discussed in API review at Szeged: rename 'button' to 'mouseButton',
12402        rename 'modifiers' to 'keyboardModifiers', remove 'originatingUrl' and
12403        use the enum type for 'action'.
12404
12405        * UIProcess/API/qt/qwebnavigationrequest.cpp:
12406        (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
12407        (QWebNavigationRequestPrivate):
12408        (QWebNavigationRequest::QWebNavigationRequest):
12409        (QWebNavigationRequest::setAction):
12410        (QWebNavigationRequest::mouseButton):
12411        (QWebNavigationRequest::keyboardModifiers):
12412        (QWebNavigationRequest::action):
12413        * UIProcess/API/qt/qwebnavigationrequest_p.h:
12414        * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
12415        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
12416        * UIProcess/qt/QtWebPagePolicyClient.cpp:
12417        (QtWebPagePolicyClient::decidePolicyForNavigationAction):
12418        * UIProcess/qt/QtWebPagePolicyClient.h:
12419        (QtWebPagePolicyClient):
12420
124212012-02-28  Shinya Kawanaka  <shinyak@chromium.org>
12422
12423        Element should be able to have multiple shadow roots.
12424        https://bugs.webkit.org/show_bug.cgi?id=77931
12425
12426        Reviewed by Hajime Morita.
12427
12428        * win/WebKit2.def:
12429        * win/WebKit2CFLite.def:
12430
124312012-02-28  Hugo Parente Lima  <hugo.lima@openbossa.org>
12432
12433        [Qt][WK2] Use movementStarted/Ended signals instead of movingChanged on QtViewportInterationEngine
12434        https://bugs.webkit.org/show_bug.cgi?id=79521
12435
12436        Reviewed by Kenneth Rohde Christiansen.
12437
12438        movingChanged() signal is emitted many times, so the use of movementStarted() and
12439        movementEnded() is a better choice.
12440
12441        * UIProcess/qt/QtFlickProvider.cpp:
12442        (QtFlickProvider::QtFlickProvider):
12443        * UIProcess/qt/QtFlickProvider.h:
12444        (QtFlickProvider):
12445        * UIProcess/qt/QtViewportInteractionEngine.cpp:
12446        (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
12447        * UIProcess/qt/QtViewportInteractionEngine.h:
12448        (QtViewportInteractionEngine):
12449
124502012-02-27  Shinya Kawanaka  <shinyak@chromium.org>
12451
12452        Element::removeShadowRoot() and setShadowRoot() should be moved into ShadowTree.
12453        https://bugs.webkit.org/show_bug.cgi?id=78313
12454
12455        Reviewed by Hajime Morita.
12456
12457        * win/WebKit2.def:
12458        * win/WebKit2CFLite.def:
12459
124602012-02-27  Brady Eidson  <beidson@apple.com>
12461
12462        <rdar://problem/10924993> and https://bugs.webkit.org/show_bug.cgi?id=79725
12463        <a ping> doesn't work in WebKit2
12464
12465        Reviewed by Alexey Proskuryakov.
12466
12467        * WebProcess/WebPage/WebPage.cpp:
12468        (WebKit::WebPage::updatePreferences): Push the WK2 <a ping> setting to WebCore::Settings.
12469
124702012-02-27  Enrica Casucci  <enrica@apple.com>
12471
12472        WebKit2: implement platform strategy to access Pasteboard in the UI process.
12473        https://bugs.webkit.org/show_bug.cgi?id=79253
12474        <rdar://problem/9971876>
12475
12476        Reviewed by Alexey Proskuryakov.
12477
12478        * UIProcess/WebContext.h:
12479        * UIProcess/WebContext.messages.in: Added messages to access NSPasteboard
12480        in the UI process.
12481        * UIProcess/mac/WebContextMac.mm: Added methods corresponding to the
12482        new messages.
12483        (WebKit::WebContext::getPasteboardTypes):
12484        (WebKit::WebContext::getPasteboardPathnamesForType):
12485        (WebKit::WebContext::getPasteboardStringForType):
12486        (WebKit::WebContext::getPasteboardBufferForType):
12487        (WebKit::WebContext::pasteboardCopy):
12488        (WebKit::WebContext::getPasteboardChangeCount):
12489        (WebKit::WebContext::getPasteboardUniqueName):
12490        (WebKit::WebContext::getPasteboardColor):
12491        (WebKit::WebContext::setPasteboardTypes):
12492        (WebKit::WebContext::setPasteboardPathnamesForType):
12493        (WebKit::WebContext::setPasteboardStringForType):
12494        (WebKit::WebContext::setPasteboardBufferForType):
12495        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: New implementation of the PasteboardStrategy using message exchange
12496        with the UI process.
12497        (WebKit::WebPlatformStrategies::getTypes):
12498        (WebKit::WebPlatformStrategies::bufferForType):
12499        (WebKit::WebPlatformStrategies::getPathnamesForType):
12500        (WebKit::WebPlatformStrategies::stringForType):
12501        (WebKit::WebPlatformStrategies::copy):
12502        (WebKit::WebPlatformStrategies::changeCount):
12503        (WebKit::WebPlatformStrategies::uniqueName):
12504        (WebKit::WebPlatformStrategies::color):
12505        (WebKit::WebPlatformStrategies::setTypes):
12506        (WebKit::WebPlatformStrategies::setBufferForType):
12507        (WebKit::WebPlatformStrategies::setPathnamesForType):
12508        (WebKit::WebPlatformStrategies::setStringForType):
12509
125102012-02-27  Dan Bernstein  <mitz@apple.com>
12511
12512        <rdar://problem/9557598> REGRESSION (WebKit2): Non-activating links sometimes don’t work
12513        https://bugs.webkit.org/show_bug.cgi?id=79607
12514
12515        Reviewed by Adele Peterson.
12516
12517        Test: TestWebKitAPI/Tests/mac/AcceptsFirstMouse.mm
12518
12519        This was caused by not mapping the mouse event coordinates from window coordinates to
12520        document coordinates.
12521
12522        * WebProcess/WebPage/mac/WebPageMac.mm:
12523        (WebKit::WebPage::performDictionaryLookupAtLocation): Convert the point to main frame
12524        coordinates when performing the hit test.
12525        (WebKit::WebPage::shouldDelayWindowOrderingEvent): Convert the point to the main or focused
12526        frame coordinates when perfomring the hit test.
12527        (WebKit::WebPage::acceptsFirstMouse): Ditto.
12528
125292012-02-27  Timothy Hatcher  <timothy@apple.com>
12530
12531        Add WKInspector API to know when the Web Inspector is the frontmost window.
12532
12533        Also makes the Safari Develop menu items work when the Web Inspector is frontmost.
12534
12535        https://webkit.org/b/79649
12536
12537        Reviewed by John Sullivan.
12538
12539        * UIProcess/API/C/WKInspector.cpp:
12540        (WKInspectorIsFront): Added. Call WebInspectorProxy::isFront.
12541        * UIProcess/API/C/WKInspector.h:
12542        * UIProcess/WebInspectorProxy.cpp:
12543        (WebKit::WebInspectorProxy::isFront): Added. Call platformIsFront.
12544        * UIProcess/WebInspectorProxy.h:
12545        * UIProcess/efl/WebInspectorEfl.cpp:
12546        (WebKit::WebInspectorProxy::platformIsFront): Added stub.
12547        * UIProcess/gtk/WebInspectorGtk.cpp:
12548        (WebKit::WebInspectorProxy::platformIsFront): Added stub.
12549        * UIProcess/mac/WebInspectorProxyMac.mm:
12550        (-[WKWebInspectorProxyObjCAdapter showWebInspector:]): Added. Makes the Develop menu items in Safari work when
12551        the Web Inspector window is front.
12552        (-[WKWebInspectorProxyObjCAdapter showErrorConsole:]): Added. Ditto.
12553        (-[WKWebInspectorProxyObjCAdapter showResources:]): Added. Ditto.
12554        (-[WKWebInspectorProxyObjCAdapter viewSource:]): Added. Ditto.
12555        (-[WKWebInspectorProxyObjCAdapter toggleDebuggingJavaScript:]): Added. Ditto.
12556        (-[WKWebInspectorProxyObjCAdapter toggleProfilingJavaScript:]): Added. Ditto.
12557        (-[WKWebInspectorProxyObjCAdapter validateUserInterfaceItem:]): Added. Update the menu item titles.
12558        (WebKit::WebInspectorProxy::platformIsFront): Added. Return if visible and the window is main.
12559        * UIProcess/qt/WebInspectorProxyQt.cpp:
12560        (WebKit::WebInspectorProxy::platformIsFront): Added stub.
12561        * UIProcess/win/WebInspectorProxyWin.cpp:
12562        (WebKit::WebInspectorProxy::platformIsFront): Added stub.
12563
125642012-02-26  YoungTaeck Song  <youngtaeck.song@samsung.com>
12565
12566        [EFL][WK2] Add InjectedBundleEfl.cpp
12567        https://bugs.webkit.org/show_bug.cgi?id=75463
12568
12569        Reviewed by Andreas Kling.
12570
12571        Add first version of InjectedBundleEfl.cpp including load() and placeholder for activateMacFontAscentHack().
12572
12573        * WebProcess/InjectedBundle/InjectedBundle.h:
12574        * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp:
12575        (WebKit::InjectedBundle::load):
12576        (WebKit::InjectedBundle::activateMacFontAscentHack):
12577
125782012-02-26  Shinya Kawanaka  <shinyak@chromium.org>
12579
12580        Rename ShadowRootList to ShadowTree.
12581        https://bugs.webkit.org/show_bug.cgi?id=79342
12582
12583        Reviewed by Hajime Morita.
12584
12585        * win/WebKit2.def:
12586        * win/WebKit2CFLite.def:
12587
125882012-02-26  Hajime Morrita  <morrita@chromium.org>
12589
12590        Move ChromeClient::showContextMenu() to ContextMenuClient
12591        https://bugs.webkit.org/show_bug.cgi?id=79427
12592
12593        Reviewed by Adam Barth.
12594
12595        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
12596        * WebProcess/WebCoreSupport/WebChromeClient.h:
12597        (WebChromeClient):
12598        * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
12599        (WebKit):
12600        (WebKit::WebContextMenuClient::showContextMenu): Moved from WebChromeClient
12601        * WebProcess/WebCoreSupport/WebContextMenuClient.h:
12602        (WebContextMenuClient):
12603        * WebProcess/WebPage/WebPage.cpp:
12604        (WebKit::handleContextMenuEvent):
12605        (WebKit::handleMouseEvent):
12606        (WebKit::WebPage::mouseEvent):
12607        (WebKit::WebPage::mouseEventSyncForTesting):
12608
126092012-02-26  Huang Dongsung  <luxtella@company100.net>
12610
12611        Use Functional instead of a MessageQueue for messages to the LayerTreeHostProxy
12612        renderer.
12613        https://bugs.webkit.org/show_bug.cgi?id=79478
12614
12615        This makes a lot of the broilerplate code for message-passing unnecessary, and
12616        results in a much more succinct implementation.
12617
12618        Reviewed by Noam Rosenthal.
12619
12620        * UIProcess/LayerTreeHostProxy.h:
12621        (WebKit):
12622        (LayerTreeHostProxy):
12623        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
12624        (WebKit):
12625        (WebKit::LayerTreeHostProxy::updateTile):
12626        (WebKit::LayerTreeHostProxy::createImage):
12627        (WebKit::LayerTreeHostProxy::syncRemoteContent):
12628        (WebKit::LayerTreeHostProxy::dispatchUpdate):
12629        (WebKit::LayerTreeHostProxy::createTileForLayer):
12630        (WebKit::LayerTreeHostProxy::updateTileForLayer):
12631        (WebKit::LayerTreeHostProxy::removeTileForLayer):
12632        (WebKit::LayerTreeHostProxy::deleteCompositingLayer):
12633        (WebKit::LayerTreeHostProxy::setRootCompositingLayer):
12634        (WebKit::LayerTreeHostProxy::syncCompositingLayerState):
12635        (WebKit::LayerTreeHostProxy::didRenderFrame):
12636        (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
12637        (WebKit::LayerTreeHostProxy::destroyDirectlyCompositedImage):
12638
126392012-02-26  Filip Pizlo  <fpizlo@apple.com>
12640
12641        Build fix for SL.
12642
12643        * Platform/mac/RemoteLayerClient.mm:
12644        (WebKit::RemoteLayerClient::RemoteLayerClient):
12645
126462012-02-26  Sam Weinig  <sam@webkit.org>
12647
12648        Encapsulate uses of WKSI to setup a remote layer into a new RemoteLayerClient class
12649        https://bugs.webkit.org/show_bug.cgi?id=79612
12650
12651        Reviewed by Anders Carlsson.
12652
12653        * Platform/mac/RemoteLayerClient.h: 
12654        * Platform/mac/RemoteLayerClient.mm: 
12655        (WebKit::RemoteLayerClient::create):
12656        (WebKit::RemoteLayerClient::RemoteLayerClient):
12657        (WebKit::RemoteLayerClient::~RemoteLayerClient):
12658        (WebKit::RemoteLayerClient::clientID):
12659        (WebKit::RemoteLayerClient::invalidate):
12660        New class that encapsulates calls to WKSI WKCARemoteLayerClient*. For platforms
12661        where the use of WKSI is not necessary, due to CARemoteLayerClient being available,
12662        stop using WKSI.
12663
12664        * PluginProcess/PluginControllerProxy.cpp:
12665        * PluginProcess/PluginControllerProxy.h:
12666        * PluginProcess/mac/PluginControllerProxyMac.mm:
12667        (WebKit::PluginControllerProxy::platformInitialize):
12668        (WebKit::PluginControllerProxy::platformDestroy):
12669        (WebKit::PluginControllerProxy::remoteLayerClientID):
12670        (WebKit::PluginControllerProxy::platformGeometryDidChange):
12671        * WebKit2.xcodeproj/project.pbxproj:
12672        * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h:
12673        * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
12674        (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer):
12675        (WebKit::WebFullScreenManagerMac::disposeOfLayerClient):
12676        * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
12677        (LayerTreeHostCAMac):
12678        * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
12679        (WebKit::LayerTreeHostCAMac::platformInitialize):
12680        (WebKit::LayerTreeHostCAMac::invalidate):
12681        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
12682        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
12683        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
12684        Switch to using RemoteLayerClient.
12685
12686        * UIProcess/mac/WebContextMac.mm:
12687        (WebKit::WebContext::platformInitializeWebProcess):
12688        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
12689        (WebKit::PluginProcessProxy::platformInitializePluginProcess):
12690        Use CARemoteLayerServer directly if available.
12691
126922012-02-25  Anders Carlsson  <andersca@apple.com>
12693
12694        Address review feedback from Andreas Kling.
12695
12696        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
12697        (WebKit::NetscapePlugin::platformHandleMouseEvent):
12698
126992012-02-25  Anders Carlsson  <andersca@apple.com>
12700
12701        Mouse tracking incorrect in Silverlight when using multi monitor with offset arrangement
12702        https://bugs.webkit.org/show_bug.cgi?id=79589
12703        <rdar://problem/9719592>
12704
12705        Reviewed by Sam Weinig.
12706
12707        In the Carbon event model, mouse event coordinates are flipped relative to the first screen,
12708        whereas the coordinates we get from the WebMouseEvent are flipped relative to the screen where
12709        the containing WKView is on.
12710
12711        Instead of passing the global coordinates to NPP_HandleEvent, convert them to the flipped screen coordinate
12712        system that the plug-in expects.
12713
12714        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
12715        (WebKit::NetscapePlugin::platformHandleMouseEvent):
12716
127172012-02-25  Sheriff Bot  <webkit.review.bot@gmail.com>
12718
12719        Unreviewed, rolling out r108900.
12720        http://trac.webkit.org/changeset/108900
12721        https://bugs.webkit.org/show_bug.cgi?id=79587
12722
12723        broke some API tests, will investigate and re-commit
12724        (Requested by noamr on #webkit).
12725
12726        * UIProcess/API/qt/qquickwebpage.cpp:
12727        (computeEffectiveOpacity):
12728        (QQuickWebPagePrivate::paintToCurrentGLContext):
12729        (PageProxyNode::changedStates):
12730        (PageProxyNode::render):
12731        * UIProcess/API/qt/qquickwebpage_p_p.h:
12732        (QQuickWebPagePrivate):
12733
127342012-02-25  No'am Rosenthal  <noam.rosenthal@nokia.com>
12735
12736        [Qt] Use the existing inheritedOpacity/matrix properties of QSGNode
12737        https://bugs.webkit.org/show_bug.cgi?id=79543
12738
12739        Use QSGNode::inheritedOpacity() and QSGNode::matrix().
12740        Also, remove flags from changedStates() that we don't actually touch.
12741
12742        Reviewed by Kenneth Rohde Christiansen.
12743
12744        * UIProcess/API/qt/qquickwebpage.cpp:
12745        (QQuickWebPagePrivate::paintToCurrentGLContext):
12746        (PageProxyNode::changedStates):
12747        (PageProxyNode::render):
12748        * UIProcess/API/qt/qquickwebpage_p_p.h:
12749        (QQuickWebPagePrivate):
12750
127512012-02-25  Sheriff Bot  <webkit.review.bot@gmail.com>
12752
12753        Unreviewed, rolling out r108816.
12754        http://trac.webkit.org/changeset/108816
12755        https://bugs.webkit.org/show_bug.cgi?id=79562
12756
12757        It made many tests crash and timeout on Qt-WK2 (Requested by
12758        ossy__ on #webkit).
12759
12760        * UIProcess/API/qt/qquickwebview.cpp:
12761        (QQuickWebViewPrivate::QQuickWebViewPrivate):
12762        (QQuickWebViewPrivate::initialize):
12763        (QQuickWebViewPrivate::setIcon):
12764        * UIProcess/API/qt/qquickwebview_p.h:
12765        * UIProcess/API/qt/qquickwebview_p_p.h:
12766        (QQuickWebViewPrivate):
12767        * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
12768        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
12769        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
12770        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
12771        (tst_QQuickWebView::loadProgress):
12772        * UIProcess/qt/QtWebPageLoadClient.cpp:
12773        (QtWebPageLoadClient::didCommitLoadForFrame):
12774        (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
12775        (QtWebPageLoadClient::didReceiveTitleForFrame):
12776        (QtWebPageLoadClient::setLoadProgress):
12777        * UIProcess/qt/QtWebPageLoadClient.h:
12778        (QtWebPageLoadClient):
12779
127802012-02-24  Andy Estes  <aestes@apple.com>
12781
12782        REGRESSION (r108730): Webkit nightlies fails to start due to WKPreferencesGetSuppressIncrementalRendering renaming
12783        https://bugs.webkit.org/show_bug.cgi?id=79515
12784
12785        Reviewed by Alexey Proskuryakov.
12786
12787        Some versions of Safari contain call sites to two functions in WebKit2
12788        that were removed in r108730. Restore these two functions so that these
12789        versions of Safari can be used with WebKit nightly builds.
12790
12791        * UIProcess/API/C/WKPreferences.cpp:
12792        (WKPreferencesSetSuppressIncrementalRendering):
12793        (WKPreferencesGetSuppressIncrementalRendering):
12794        * UIProcess/API/C/WKPreferences.h:
12795
127962012-02-24  Jessie Berlin  <jberlin@apple.com>
12797
12798        requestPermission callback not invoked if the WebProcess doesn't have to ask the UI Process
12799        about the permission level.
12800        https://bugs.webkit.org/show_bug.cgi?id=79494
12801
12802        Reviewed by Jon Honeycutt.
12803
12804        Invoke the callback in the case where the permission level is known and no message is sent
12805        to the UI Process.
12806
12807        * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
12808        (WebKit::NotificationPermissionRequestManager::startRequest):
12809
128102012-02-24  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
12811
12812        [Qt] Signal and property cleanup in QQuickWebView
12813        https://bugs.webkit.org/show_bug.cgi?id=78820
12814
12815        Reviewed by Simon Hausmann.
12816
12817        - Remove parameters from property change notify signals:
12818          titleChanged, urlChanged, iconChanged, loadProgressChanged
12819        - Rename the parameters of linkHovered to prevent shadoing properties of WebView
12820        - Rename navigationStateChanged to navigationHistoryChanged
12821
12822        * UIProcess/API/qt/qquickwebview.cpp:
12823        (QQuickWebViewPrivate::QQuickWebViewPrivate):
12824        (QQuickWebViewPrivate::initialize):
12825        (QQuickWebViewPrivate::_q_onUrlChanged):
12826        (QQuickWebViewPrivate::setIcon):
12827        * UIProcess/API/qt/qquickwebview_p.h:
12828        * UIProcess/API/qt/qquickwebview_p_p.h:
12829        (QQuickWebViewPrivate):
12830        * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
12831        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
12832        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
12833        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
12834        (tst_QQuickWebView::loadProgress):
12835        * UIProcess/qt/QtWebPageLoadClient.cpp:
12836        (QtWebPageLoadClient::didCommitLoadForFrame):
12837        (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
12838        (QtWebPageLoadClient::didReceiveTitleForFrame):
12839        (QtWebPageLoadClient::setLoadProgress):
12840        * UIProcess/qt/QtWebPageLoadClient.h:
12841        (QtWebPageLoadClient):
12842
128432012-02-24  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
12844
12845        [Qt] API: Unify the loading properties and signals.
12846        https://bugs.webkit.org/show_bug.cgi?id=79486
12847
12848        Reviewed by Simon Hausmann.
12849
12850        - Remove the canReload signal, instead assume that calling reload in those cases
12851          won't have any effect.
12852        - Replace loadStarted, loadSucceeded and loadFailed by a single signal: loadingChanged.
12853          The signal carries an argument with a status and error codes giving the intended context.
12854        - Use loadingChanged as the notification signal for the property "loading" instead of
12855          navigationStateChanged.
12856
12857        Also update all API tests to use the new loading signals and add some utility functions
12858        to track the loading since the new API aims to be more adapted to declarative logic
12859        and the auto tests are using an imperative logic.
12860
12861        * Target.pri:
12862        * UIProcess/API/qt/qquickwebview.cpp:
12863        (QQuickWebViewPrivate::QQuickWebViewPrivate):
12864        (QQuickWebViewPrivate::loadDidSucceed):
12865        (QQuickWebViewPrivate::didChangeLoadingState):
12866        (QQuickWebViewPrivate::processDidCrash):
12867        (QQuickWebViewPrivate::didRelaunchProcess):
12868        * UIProcess/API/qt/qquickwebview_p.h:
12869        * UIProcess/API/qt/qquickwebview_p_p.h:
12870        (QQuickWebViewPrivate):
12871        * UIProcess/API/qt/qwebloadrequest.cpp: Added.
12872        (QWebLoadRequestPrivate):
12873        (QWebLoadRequestPrivate::QWebLoadRequestPrivate):
12874        (QWebLoadRequest::QWebLoadRequest):
12875        (QWebLoadRequest::~QWebLoadRequest):
12876        (QWebLoadRequest::url):
12877        (QWebLoadRequest::status):
12878        (QWebLoadRequest::errorString):
12879        (QWebLoadRequest::errorDomain):
12880        (QWebLoadRequest::errorCode):
12881        * UIProcess/API/qt/qwebloadrequest_p.h: Added.
12882        * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
12883        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml:
12884        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
12885        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
12886        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
12887        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
12888        * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
12889        * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
12890        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
12891        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadHtml.qml:
12892        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml:
12893        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml:
12894        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
12895        * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml:
12896        * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
12897        * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml:
12898        * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml:
12899        * UIProcess/API/qt/tests/qmltests/common/TestWebView.qml: Added.
12900        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
12901        (tst_QQuickWebView::navigationStatusAtStartup):
12902        (LoadStartedCatcher::LoadStartedCatcher):
12903        (LoadStartedCatcher::onLoadingChanged):
12904        (tst_QQuickWebView::stopEnabledAfterLoadStarted):
12905        (tst_QQuickWebView::loadEmptyPageViewHidden):
12906        (tst_QQuickWebView::loadNonexistentFileUrl):
12907        (tst_QQuickWebView::backAndForward):
12908        (tst_QQuickWebView::reload):
12909        (tst_QQuickWebView::stop):
12910        (tst_QQuickWebView::loadProgress):
12911        (tst_QQuickWebView::showWebView):
12912        (tst_QQuickWebView::multipleWebViewWindows):
12913        (tst_QQuickWebView::multipleWebViews):
12914        (tst_QQuickWebView::scrollRequest):
12915        * UIProcess/API/qt/tests/util.cpp:
12916        (LoadSpy):
12917        (LoadSpy::LoadSpy):
12918        (LoadSpy::onLoadingChanged):
12919        (waitForLoadSucceeded):
12920        (waitForLoadFailed):
12921        * UIProcess/API/qt/tests/util.h:
12922        * UIProcess/qt/QtWebError.h:
12923        * UIProcess/qt/QtWebPageLoadClient.cpp:
12924        (QtWebPageLoadClient::didStartProvisionalLoadForFrame):
12925        (QtWebPageLoadClient::dispatchLoadFailed):
12926        * UIProcess/qt/QtWebPageLoadClient.h:
12927        (QtWebPageLoadClient):
12928
129292012-02-24  Simon Hausmann  <simon.hausmann@nokia.com>
12930
12931        Unreviewed, rolling out r108798.
12932        http://trac.webkit.org/changeset/108798
12933        https://bugs.webkit.org/show_bug.cgi?id=78047
12934
12935        Broke too many Qt WK2 tests.
12936
12937        * UIProcess/API/qt/qquickwebview.cpp:
12938        (QQuickWebView::keyPressEvent):
12939        (QQuickWebView::keyReleaseEvent):
12940        (QQuickWebView::inputMethodEvent):
12941        (QQuickWebView::focusInEvent):
12942        (QQuickWebView::focusOutEvent):
12943        (QQuickWebView::touchEvent):
12944        (QQuickWebView::mousePressEvent):
12945        (QQuickWebView::mouseMoveEvent):
12946        (QQuickWebView::mouseReleaseEvent):
12947        (QQuickWebView::mouseDoubleClickEvent):
12948        (QQuickWebView::wheelEvent):
12949        (QQuickWebView::hoverEnterEvent):
12950        (QQuickWebView::hoverMoveEvent):
12951        (QQuickWebView::hoverLeaveEvent):
12952        (QQuickWebView::dragMoveEvent):
12953        (QQuickWebView::dragEnterEvent):
12954        (QQuickWebView::dragLeaveEvent):
12955        (QQuickWebView::dropEvent):
12956        (QQuickWebView::event):
12957        * UIProcess/qt/QtWebPageEventHandler.cpp:
12958        (QtWebPageEventHandler::handleEvent):
12959        (QtWebPageEventHandler::handleMouseMoveEvent):
12960        (QtWebPageEventHandler::handleMousePressEvent):
12961        (QtWebPageEventHandler::handleMouseReleaseEvent):
12962        (QtWebPageEventHandler::handleWheelEvent):
12963        (QtWebPageEventHandler::handleHoverLeaveEvent):
12964        (QtWebPageEventHandler::handleHoverMoveEvent):
12965        (QtWebPageEventHandler::handleDragEnterEvent):
12966        (QtWebPageEventHandler::handleDragLeaveEvent):
12967        (QtWebPageEventHandler::handleDragMoveEvent):
12968        (QtWebPageEventHandler::handleDropEvent):
12969        (QtWebPageEventHandler::handleKeyPressEvent):
12970        (QtWebPageEventHandler::handleKeyReleaseEvent):
12971        (QtWebPageEventHandler::handleFocusInEvent):
12972        (QtWebPageEventHandler::handleFocusOutEvent):
12973        (QtWebPageEventHandler::inputMethodEvent):
12974        (QtWebPageEventHandler::touchEvent):
12975        * UIProcess/qt/QtWebPageEventHandler.h:
12976        (QtWebPageEventHandler):
12977
129782012-02-24  Simon Hausmann  <simon.hausmann@nokia.com>
12979
12980        [Qt][WK2] QQuickWebView::event should lookup faster which events QQuickWebPage can handle
12981        https://bugs.webkit.org/show_bug.cgi?id=78047
12982
12983        Reviewed by Kenneth Rohde Christiansen.
12984
12985        Replaced double-dispatch of events with direct forwarding of events from QQuickWebView::*Event to
12986        QtWebPageEventHandler::handle*Event.
12987
12988        * UIProcess/API/qt/qquickwebview.cpp:
12989        (QQuickWebView::keyPressEvent):
12990        (QQuickWebView::keyReleaseEvent):
12991        (QQuickWebView::inputMethodEvent):
12992        (QQuickWebView::focusInEvent):
12993        (QQuickWebView::focusOutEvent):
12994        (QQuickWebView::touchEvent):
12995        (QQuickWebView::mousePressEvent):
12996        (QQuickWebView::mouseMoveEvent):
12997        (QQuickWebView::mouseReleaseEvent):
12998        (QQuickWebView::mouseDoubleClickEvent):
12999        (QQuickWebView::wheelEvent):
13000        (QQuickWebView::hoverEnterEvent):
13001        (QQuickWebView::hoverMoveEvent):
13002        (QQuickWebView::hoverLeaveEvent):
13003        (QQuickWebView::dragMoveEvent):
13004        (QQuickWebView::dragEnterEvent):
13005        (QQuickWebView::dragLeaveEvent):
13006        (QQuickWebView::dropEvent):
13007        (QQuickWebView::event):
13008        * UIProcess/qt/QtWebPageEventHandler.cpp:
13009        (QtWebPageEventHandler::handleMouseMoveEvent):
13010        (QtWebPageEventHandler::handleMousePressEvent):
13011        (QtWebPageEventHandler::handleMouseReleaseEvent):
13012        (QtWebPageEventHandler::handleWheelEvent):
13013        (QtWebPageEventHandler::handleHoverLeaveEvent):
13014        (QtWebPageEventHandler::handleHoverMoveEvent):
13015        (QtWebPageEventHandler::handleDragEnterEvent):
13016        (QtWebPageEventHandler::handleDragLeaveEvent):
13017        (QtWebPageEventHandler::handleDragMoveEvent):
13018        (QtWebPageEventHandler::handleDropEvent):
13019        (QtWebPageEventHandler::handleKeyPressEvent):
13020        (QtWebPageEventHandler::handleKeyReleaseEvent):
13021        (QtWebPageEventHandler::handleFocusInEvent):
13022        (QtWebPageEventHandler::handleFocusOutEvent):
13023        (QtWebPageEventHandler::handleInputMethodEvent):
13024        (QtWebPageEventHandler::handleTouchEvent):
13025        * UIProcess/qt/QtWebPageEventHandler.h:
13026        (QtWebPageEventHandler):
13027
130282012-02-24  Simon Hausmann  <simon.hausmann@nokia.com>
13029
13030        [Qt] Use private QSGRenderNode in QQuickWebView for improved Qt Scene Graph integration
13031        https://bugs.webkit.org/show_bug.cgi?id=79022
13032
13033        Reviewed by Csaba Osztrogonác.
13034
13035        * Target.pri:
13036        * UIProcess/API/qt/qquickwebpage.cpp:
13037        (PageProxyNode::PageProxyNode):
13038        (PageProxyNode::changedStates):
13039        (PageProxyNode::render):
13040        (PageProxyNode):
13041
130422012-02-24  Carlos Garcia Campos  <cgarcia@igalia.com>
13043
13044        [GTK] Encode/decode Null ResourceResponse objects in WebKit2
13045        https://bugs.webkit.org/show_bug.cgi?id=79471
13046
13047        Reviewed by Philippe Normand.
13048
13049        * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
13050        (CoreIPC::::encode): Check whether ResourceResponse is Null before
13051        encoding it.
13052        (CoreIPC::::decode): Check whether response is Null and create a
13053        Null ResourceResponse object in such case.
13054
130552012-02-24  Shinya Kawanaka  <shinyak@chromium.org>
13056
13057        SpellCheckRequest needs to know the context where the spellcheck happened.
13058        https://bugs.webkit.org/show_bug.cgi?id=79320
13059
13060        Reviewed by Hajime Morita.
13061
13062        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
13063        (WebKit::WebEditorClient::requestCheckingOfString):
13064        * WebProcess/WebCoreSupport/WebEditorClient.h:
13065
130662012-02-23  Kenneth Rohde Christiansen  <kenneth@webkit.org>
13067
13068        [Qt] Tiling: Improve the method names dealing with moving and scaling.
13069
13070        Rubberstamped by Simon Hausmann.
13071
13072        * UIProcess/API/qt/qquickwebview.cpp:
13073        (QQuickWebViewLegacyPrivate::updateViewportSize):
13074        (QQuickWebViewFlickablePrivate::onComponentComplete):
13075        (QQuickWebViewFlickablePrivate::updateViewportSize):
13076        (QQuickWebViewFlickablePrivate::_q_commitScaleChange):
13077        (QQuickWebViewPrivate::_q_commitPositionChange):
13078        (QQuickWebViewFlickablePrivate::_q_resume):
13079        * UIProcess/API/qt/qquickwebview_p.h:
13080        * UIProcess/API/qt/qquickwebview_p_p.h:
13081        (QQuickWebViewPrivate):
13082        (QQuickWebViewPrivate::_q_commitScaleChange):
13083        (QQuickWebViewFlickablePrivate):
13084        * UIProcess/DrawingAreaProxy.h:
13085        (WebKit::DrawingAreaProxy::setVisibleContentsRectForScaling):
13086        (WebKit::DrawingAreaProxy::setVisibleContentsRectForPanning):
13087        * UIProcess/DrawingAreaProxyImpl.cpp:
13088        (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectForScaling):
13089        (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectForPanning):
13090        * UIProcess/DrawingAreaProxyImpl.h:
13091        (DrawingAreaProxyImpl):
13092        * UIProcess/LayerTreeHostProxy.h:
13093        (LayerTreeHostProxy):
13094        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
13095        (WebKit::LayerTreeHostProxy::setVisibleContentsRectForPanning):
13096        (WebKit::LayerTreeHostProxy::setVisibleContentsRectForScaling):
13097        * UIProcess/qt/QtViewportInteractionEngine.cpp:
13098        (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
13099        (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
13100        (WebKit::QtViewportInteractionEngine::wheelEvent):
13101        (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
13102        * UIProcess/qt/QtViewportInteractionEngine.h:
13103        (QtViewportInteractionEngine):
13104        * WebProcess/WebPage/LayerTreeHost.h:
13105        (WebKit::LayerTreeHost::setVisibleContentsRectForScaling):
13106        (WebKit::LayerTreeHost::setVisibleContentsRectForPanning):
13107        (WebKit::LayerTreeHost::setVisibleContentsRectForLayer):
13108        * WebProcess/WebPage/LayerTreeHost.messages.in:
13109        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
13110        (WebKit::LayerTreeHostQt::setVisibleContentsRectForScaling):
13111        (WebKit::LayerTreeHostQt::setVisibleContentsRectForPanning):
13112        * WebProcess/WebPage/qt/LayerTreeHostQt.h:
13113        (LayerTreeHostQt):
13114
131152012-02-24  Sergio Villar Senin  <svillar@igalia.com>
13116
13117        [WK2] [GTK] Destructor not invoked in EditorClientFrameDestructionObserver
13118        https://bugs.webkit.org/show_bug.cgi?id=79466
13119
13120        Reviewed by Philippe Normand.
13121
13122        Explicitly cast the observer before deleting it instead of just
13123        deleting a generic pointer. We must to that in order to get the
13124        destructor of the object properly called.
13125
13126        * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
13127        (WebKit::EditorClientFrameDestructionObserver::destroyOnClosureFinalization):
13128
131292012-02-23  Andy Estes  <aestes@apple.com>
13130
13131        Rename [setS|s]uppressIncrementalRendering to [setS|s]uppressesIncrementalRendering and make it WebPreferences API.
13132        https://bugs.webkit.org/show_bug.cgi?id=79433
13133
13134        Reviewed by Dan Bernstein.
13135
13136        * Shared/WebPreferencesStore.h:
13137        (WebKit):
13138        * UIProcess/API/C/WKPreferences.cpp:
13139        (WKPreferencesSetSuppressesIncrementalRendering):
13140        (WKPreferencesGetSuppressesIncrementalRendering):
13141        * UIProcess/API/C/WKPreferences.h:
13142        * UIProcess/WebInspectorProxy.cpp:
13143        (WebKit::createInspectorPageGroup):
13144        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
13145        (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
13146        * WebProcess/WebPage/WebPage.cpp:
13147        (WebKit::WebPage::updatePreferences):
13148
131492012-02-23  Mario Sanchez Prada  <msanchez@igalia.com>
13150
13151        [GTK] Wrong signal name on emission in WebKitWindowProperties.cpp
13152        https://bugs.webkit.org/show_bug.cgi?id=79352
13153
13154        Reviewed by Philippe Normand.
13155
13156        Emit the signal 'resizable' instead of 'resizable-visible'.
13157
13158        * UIProcess/API/gtk/WebKitWindowProperties.cpp:
13159        (webkitWindowPropertiesSetResizable): Use right signal name.
13160
131612012-02-23  Anders Carlsson  <andersca@apple.com>
13162
13163        Flush layer changes after layout when resizing web page
13164        https://bugs.webkit.org/show_bug.cgi?id=79399
13165        <rdar://problem/10920157>
13166
13167        Reviewed by Andreas Kling.
13168
13169        Flush layer changes after layout, otherwise the scrollbars won't be updated
13170        until sometime later which looks bad.
13171
13172        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
13173        (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
13174
131752012-02-23  Daniel Bates  <dbates@webkit.org>
13176
13177        Add missing "Reviewed by" line to change log entry for changeset r108631
13178        (https://bugs.webkit.org/show_bug.cgi?id=79252)
13179
13180        The patch landed in changeset r108631 was reviewed by Martin Robinson.
13181
13182        * ChangeLog:
13183
131842012-02-23  Patrick Gansterer  <paroga@webkit.org>
13185
13186        [CMake] Add WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS macro
13187        https://bugs.webkit.org/show_bug.cgi?id=79371
13188
13189        Reviewed by Daniel Bates.
13190
13191        * CMakeLists.txt:
13192
131932012-02-23  Simon Hausmann  <simon.hausmann@nokia.com>
13194
13195        [Qt] Add support for touch cancellation
13196        https://bugs.webkit.org/show_bug.cgi?id=79348
13197
13198        Reviewed by Kenneth Rohde Christiansen.
13199
13200        Convert and forward incoming touch cancellation events
13201        to the web process.
13202
13203        * Shared/qt/WebEventFactoryQt.cpp:
13204        (WebKit::webEventTypeForEvent):
13205        (WebKit::WebEventFactory::createWebTouchEvent):
13206        * UIProcess/API/qt/qquickwebview.cpp:
13207        (QQuickWebView::event):
13208        * UIProcess/qt/QtWebPageEventHandler.cpp:
13209        (QtWebPageEventHandler::handleEvent):
13210
132112012-02-23  Brent Fulgham  <bfulgham@webkit.org>
13212
13213        [WinCairo] Build fix after r108428.
13214
13215        * win/WebKit2CFLite.def: Add missing export declaration.
13216
132172012-02-23  Simon Hausmann  <simon.hausmann@nokia.com>
13218
13219        Unreviewed test fix after r108614: Adjust public API after changes.
13220
13221        * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
13222
132232012-02-23  Simon Hausmann  <simon.hausmann@nokia.com>
13224
13225        [Qt] Build fix. Qt WebKit2 can not be compiled due to QtWebPageEventHandler.
13226        https://bugs.webkit.org/show_bug.cgi?id=79335
13227
13228        Reviewed by Kenneth Rohde Christiansen.
13229
13230        In the upcoming Qt 5 builds the convenient setInputMethodHints method on QQuickItem
13231        will be removed. There's no need for us to use it, we can implement passing the hints
13232        to the input method right away in our re-implementation of inputMethodQuery, which works
13233        with old and newer Qt 5 builds.
13234
13235        * UIProcess/API/qt/qquickwebview.cpp:
13236        (QQuickWebView::inputMethodQuery):
13237        * UIProcess/qt/QtWebPageEventHandler.cpp:
13238        (QtWebPageEventHandler::updateTextInputState):
13239
132402012-02-23  Sergio Villar Senin  <svillar@igalia.com>
13241
13242        [WK2][GTK] WebProcess SIGSEVs due to incorrect clipboard handling
13243        https://bugs.webkit.org/show_bug.cgi?id=79252
13244
13245        Reviewed by Martin Robinson.
13246
13247        Do not execute clipboard callbacks after the Frame associated with
13248        it is destroyed.
13249
13250        This change is already covered by the TestWebViewEditor unit tests
13251        (among others), they hang (because WebProcess dies) without this
13252        patch in Debug builds.
13253
13254        * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
13255        (EditorClientFrameDestructionObserver):
13256        (WebKit::EditorClientFrameDestructionObserver::EditorClientFrameDestructionObserver):
13257        (WebKit::EditorClientFrameDestructionObserver::frameDestroyed):
13258        (WebKit::EditorClientFrameDestructionObserver::destroyOnClosureFinalization):
13259        (WebKit):
13260        (WebKit::WebEditorClient::setSelectionPrimaryClipboardIfNeeded):
13261
132622012-02-23  Kenneth Rohde Christiansen  <kenneth@webkit.org>
13263
13264        [Qt] Page doesn't get repainted while panning is in progress
13265        https://bugs.webkit.org/show_bug.cgi?id=78602
13266
13267        Reviewed by Simon Hausmann.
13268
13269        The tiling code needed the current visibleContentsRect in order to be
13270        able to create tiles, so we now make sure it gets it. We also needed
13271        to make sure to set the trajectory vector while panning and while the
13272        flicking engine was animating kinetic scrolling.
13273
13274        * UIProcess/API/qt/qquickwebview.cpp:
13275        (QQuickWebViewFlickablePrivate::_q_updateVisibleContentRectAndScale):
13276        (QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged):
13277        * UIProcess/DrawingAreaProxy.h:
13278        (WebKit::DrawingAreaProxy::setVisibleContentRectTrajectoryVector):
13279        * UIProcess/DrawingAreaProxyImpl.cpp:
13280        (WebKit::DrawingAreaProxyImpl::setVisibleContentRectTrajectoryVector):
13281        * UIProcess/DrawingAreaProxyImpl.h:
13282        (DrawingAreaProxyImpl):
13283        * UIProcess/LayerTreeHostProxy.h:
13284        (LayerTreeHostProxy):
13285        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
13286        (WebKit::LayerTreeHostProxy::setVisibleContentRectTrajectoryVector):
13287        * UIProcess/qt/QtViewportInteractionEngine.cpp:
13288        (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
13289        (WebKit::QtViewportInteractionEngine::flickableMovingStateChanged):
13290        (WebKit):
13291        (WebKit::QtViewportInteractionEngine::panMoveStarted):
13292        (WebKit::QtViewportInteractionEngine::panMoveEnded):
13293        (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
13294        (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
13295        * UIProcess/qt/QtViewportInteractionEngine.h:
13296        (QtViewportInteractionEngine):
13297        * WebProcess/WebPage/LayerTreeHost.h:
13298        (WebKit::LayerTreeHost::setVisibleContentRectTrajectoryVector):
13299        * WebProcess/WebPage/LayerTreeHost.messages.in:
13300        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
13301        (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
13302        (WebKit::LayerTreeHostQt::setVisibleContentRectTrajectoryVector):
13303        * WebProcess/WebPage/qt/LayerTreeHostQt.h:
13304        (LayerTreeHostQt):
13305
133062012-02-23  Patrick Gansterer  <paroga@webkit.org>
13307
13308        [CMAKE][WK2] Cleanup WebKit2/CMakeLists.txt.
13309        https://bugs.webkit.org/show_bug.cgi?id=76122
13310
13311        Reviewed by Eric Seidel.
13312
13313        * CMakeLists.txt: Removed hardcoded WTF_USE_JSC preprocessor definition.
13314
133152012-02-23  Simon Hausmann  <simon.hausmann@nokia.com>
13316
13317        [WK2] Trivial build fix after r108615.
13318
13319        * WebProcess/WebPage/WebPage.cpp:
13320        (WebKit::WebPage::WebPage):
13321
133222012-02-22  Michael Tyutyunik  <michael.tyutyunik@nokia.com>
13323
13324        [Qt][WK2] navigationType is missing in new API
13325        https://bugs.webkit.org/show_bug.cgi?id=78867
13326
13327        Reviewed by Simon Hausmann.
13328
13329        In QtWebPagePolicyClient::decidePolicyForNavigationAction()
13330        navigationType argument is dropped by mistake. Adding it back
13331        and make it available through NavigationRequest.
13332
13333        * UIProcess/API/qt/qquickwebview_p.h:
13334        * UIProcess/API/qt/qwebnavigationrequest.cpp:
13335        (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
13336        (QWebNavigationRequestPrivate):
13337        (QWebNavigationRequest::QWebNavigationRequest):
13338        (QWebNavigationRequest::navigationType):
13339        * UIProcess/API/qt/qwebnavigationrequest_p.h:
13340        * UIProcess/qt/QtWebPagePolicyClient.cpp:
13341        (QtWebPagePolicyClient::decidePolicyForNavigationAction):
13342        (toQuickWebViewNavigationType):
13343        * UIProcess/qt/QtWebPagePolicyClient.h:
13344        (QtWebPagePolicyClient):
13345
133462012-02-22  Anders Carlsson  <andersca@apple.com>
13347
13348        Implement TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange
13349        https://bugs.webkit.org/show_bug.cgi?id=79297
13350        <rdar://problem/10748510>
13351
13352        Reviewed by Beth Dakin.
13353
13354        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
13355        (WebKit::TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange):
13356        Send a message to the web process.
13357
13358        * WebProcess/WebPage/DrawingArea.h:
13359        (WebKit::DrawingArea::setDeviceScaleFactor):
13360        Add empty stub.
13361
13362        * WebProcess/WebPage/DrawingArea.messages.in:
13363        Add SetDeviceScaleFactor message.
13364
13365        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
13366        (WebKit::TiledCoreAnimationDrawingArea::setDeviceScaleFactor):
13367        Call WebPage::setDeviceScaleFactor.
13368
133692012-02-22  Brady Eidson  <beidson@apple.com>
13370
13371        <rdar://problem/10406044> and https://bugs.webkit.org/show_bug.cgi?id=79279
13372        Synchronous ShouldGoToBackForwardListItem causes lots of WebProcess hangs
13373
13374        Reviewed by Anders Carlsson.
13375
13376        Anytime the WebProcess sends a sync message up to the UI Process a hang can ensue.
13377        
13378        In the case of shouldGoToBackForwardListItem it seems many clients want a back/forward
13379        notification but don't actually want to make a policy decision.
13380
13381        Making it an asynchronous notification instead of a synchronous policy call will remove the
13382        possibility of a hang here.
13383
13384        If clients later decide it is important to have a policy here we should implement a form of
13385        shouldGoToBackForwardListItem in the bundle loader client.
13386
13387        Add a notification "willGoToBackForwardListItem" to the WKPageLoaderClient:
13388        * UIProcess/API/C/WKPage.h:
13389
13390        * UIProcess/WebPageProxy.cpp:
13391        (WebKit::WebPageProxy::initializeLoaderClient): Tell the WebProcess whether it should be
13392          sending the shouldGoToBackForwardListItem or willGoToBackForwardListItem form of this message.
13393        (WebKit::WebPageProxy::shouldGoToBackForwardListItem): 
13394        (WebKit::WebPageProxy::willGoToBackForwardListItem):
13395        * UIProcess/WebPageProxy.h:
13396        * UIProcess/WebPageProxy.messages.in: Add an asynchronous WillGoToBackForwardListItem message
13397
13398        Store a flag in the WebProcess - Sent from the UIProcess - to tell the FrameLoaderClient which form 
13399        of the callback should be used:
13400        * WebProcess/WebPage/WebPage.cpp:
13401        (WebKit::WebPage::WebPage):
13402        * WebProcess/WebPage/WebPage.h:
13403        (WebKit::WebPage::willGoToBackForwardItemCallbackEnabled):
13404        (WebKit::WebPage::setWillGoToBackForwardItemCallbackEnabled):
13405        * WebProcess/WebPage/WebPage.messages.in:
13406
13407        * UIProcess/WebLoaderClient.cpp:
13408        (WebKit::WebLoaderClient::shouldGoToBackForwardListItem): Only consider calling this for
13409          version 0 clients.
13410        (WebKit::WebLoaderClient::willGoToBackForwardListItem): Later clients get this callback.
13411        * UIProcess/WebLoaderClient.h:
13412        (WebLoaderClient):
13413        
13414        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
13415        (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem): Send either the synchronous "should" message
13416          or the asynchronous "will" message depending on which the WebProcess was last told that the
13417          UIProcess expects. There is an edge case where the wrong one might be sent because the WebProcess
13418          hasn't received the message about a change in the WKPageLoaderClient yet but that's probably okay;
13419          It seems unlikely that a UIProcess client would ever rapidly change between v0 and other versions
13420          of the loader client and the UIProcess of WebKit2 is equipped to handle that case if it comes up.
13421
134222012-02-16  Jon Lee  <jonlee@apple.com>
13423
13424        [WK2] Clearing notifications does not clean up internal state
13425        https://bugs.webkit.org/show_bug.cgi?id=78861
13426        <rdar://problem/10881167>
13427
13428        Reviewed by Anders Carlsson.
13429
13430        * WebProcess/Notifications/WebNotificationManager.cpp:
13431        (WebKit::WebNotificationManager::clearNotifications): This function was missing removing the notification
13432        entries from the other maps.
13433        (WebKit::WebNotificationManager::didDestroyNotification): When the notification is destroyed, it should
13434        also be removed from the context map.
13435        (WebKit::WebNotificationManager::didCloseNotifications): Refactor to pull out the code that removes
13436        a provided notification from the context map.
13437        (WebKit::WebNotificationManager::removeNotificationFromContextMap): Find the notification in the map, and
13438        remove it. If the map is empty, get rid of the entry.
13439        * WebProcess/Notifications/WebNotificationManager.h:
13440        (WebNotificationManager):
13441
134422012-02-22  Jon Lee  <jonlee@apple.com>
13443
13444        Code cleanup in WebNotificationManager (79285)
13445        https://bugs.webkit.org/show_bug.cgi?id=79285
13446        <rdar://problem/10914522>
13447
13448        Reviewed by Anders Carlsson.
13449
13450        * WebProcess/Notifications/WebNotificationManager.cpp:
13451        (WebKit::WebNotificationManager::show): Simplify adding a blank vector to the map using .add(),
13452        similar to what is found in WebNotificationClient.mm in WebKit 1.
13453
134542012-02-21  Ryosuke Niwa  <rniwa@webkit.org>
13455
13456        Remove the remaining uses of CSSStyleDeclaration in Editor
13457        https://bugs.webkit.org/show_bug.cgi?id=78939
13458
13459        Reviewed by Enrica Casucci.
13460
13461        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
13462        (WebKit::WebEditorClient::shouldApplyStyle):
13463        * WebProcess/WebCoreSupport/WebEditorClient.h:
13464        (WebEditorClient):
13465
134662012-02-22  Martin Robinson  <mrobinson@igalia.com>
13467
13468        [GTK] Clean build is broken when using make -j
13469        https://bugs.webkit.org/show_bug.cgi?id=76388
13470
13471        * GNUmakefile.am: Add some WebKit2 sources to global sources lists
13472        so that we can refer to them in separate GNUmakefiles.
13473
134742012-02-22  Antaryami Pandia  <antaryami.pandia@motorola.com>
13475
13476        [GTK][WK2] Add WebGL WebSetting.
13477        https://bugs.webkit.org/show_bug.cgi?id=79217
13478
13479        Reviewed by Martin Robinson.
13480
13481        Add a WebSetting to enable/disable Webgl.
13482
13483        * UIProcess/API/gtk/WebKitSettings.cpp:
13484        (webKitSettingsSetProperty):
13485        (webKitSettingsGetProperty):
13486        (webkit_settings_class_init):
13487        (webkit_settings_set_enable_webaudio):
13488        (webkit_settings_get_enable_webgl):
13489        (webkit_settings_set_enable_webgl):
13490        * UIProcess/API/gtk/WebKitSettings.h:
13491        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
13492        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
13493        (testWebKitSettings):
13494
134952012-02-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
13496
13497        [Qt] Disregard previous backing store as soon as possible
13498        https://bugs.webkit.org/show_bug.cgi?id=79232
13499
13500        Reviewed by Simon Hausmann and No'am Rosenthal.
13501
13502        Between creating the new backing store and painting the content,
13503        we do not want to drop the previous one as that might result in
13504        briefly seeing flickering as the old tiles may be dropped before
13505        something replaces them.
13506
13507        But we do need to drop it at some point and we need to make sure
13508        to not spike the memory usage before of this.
13509
13510        What we now do, is to store the previous backing store as before,
13511        but drop all tiles which are not visible and then drop it as soon
13512        as the visible rect (which might change due if followed by a quick
13513        panning) has been fully covered by tiles.
13514
13515        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
13516        (WebCore::WebGraphicsLayer::setContentsScale):
13517        (WebCore::WebGraphicsLayer::updateContentBuffers):
13518
135192012-02-22  Michael Brüning  <michael.bruning@nokia.com>
13520
13521        [Qt][WK2] Implement proxy authentication handling.
13522        https://bugs.webkit.org/show_bug.cgi?id=78792
13523
13524        Reviewed by Simon Hausmann.
13525
13526        This patch corrects two bugs with the previous implementation:
13527        1. The signal proxyAuthenticationRequired was not connected to a
13528           slot.
13529        2. The slot onProxyAuthenticationRequired had the wrong parameters. 
13530
13531        * WebProcess/qt/QtNetworkAccessManager.cpp:
13532        (WebKit::QtNetworkAccessManager::QtNetworkAccessManager):
13533        (WebKit::QtNetworkAccessManager::onProxyAuthenticationRequired):
13534        * WebProcess/qt/QtNetworkAccessManager.h: Added include.
13535        (QtNetworkAccessManager):
13536
135372012-02-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
13538
13539        Merge setVisibleRectTrajectoryVector and adjustVisibleRect to
13540        the more descriptive coverWithTilesIfNeeded
13541        https://bugs.webkit.org/show_bug.cgi?id=79230
13542
13543        Reviewed by Simon Hausmann.
13544
13545        Replace use by coverWithTilesIfNeeded().
13546
13547        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
13548        (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
13549        (WebCore::WebGraphicsLayer::adjustVisibleRect):
13550        (WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
13551
135522012-02-22  Zalan Bujtas  <zbujtas@gmail.com>
13553
13554        [Qt][WK2] Add frame flattening setting to QWebPreferences.
13555        https://bugs.webkit.org/show_bug.cgi?id=79099
13556
13557        Reviewed by Simon Hausmann.
13558
13559        Frame flattening is enabled by default for Qt WebKit2.
13560
13561        * UIProcess/API/qt/qquickwebview.cpp:
13562        (QQuickWebViewPrivate::initialize):
13563        * UIProcess/API/qt/qwebpreferences.cpp:
13564        (QWebPreferencesPrivate::testAttribute):
13565        (QWebPreferencesPrivate::setAttribute):
13566        (QWebPreferences::setNavigatorQtObjectEnabled):
13567        (QWebPreferences::frameFlatteningEnabled):
13568        (QWebPreferences::setFrameFlatteningEnabled):
13569        * UIProcess/API/qt/qwebpreferences_p.h:
13570
135712012-02-22  Ryosuke Niwa  <rniwa@webkit.org>
13572
13573        Remove the remaining uses of CSSStyleDeclaration in Editor
13574        https://bugs.webkit.org/show_bug.cgi?id=78939
13575
13576        Reviewed by Enrica Casucci.
13577
13578        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
13579        (WebKit::WebEditorClient::shouldApplyStyle):
13580        * WebProcess/WebCoreSupport/WebEditorClient.h:
13581        (WebEditorClient):
13582
135832012-02-21  Carlos Garcia Campos  <cgarcia@igalia.com>
13584
13585        [GTK] Null ResourceErrors are encoded/decoded as empty ResourceErrors
13586        https://bugs.webkit.org/show_bug.cgi?id=79120
13587
13588        Reviewed by Martin Robinson.
13589
13590        * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
13591        (CoreIPC::::encode): Encode a boolean to indicate whether it's a
13592        Null error.
13593        (CoreIPC::::decode): Check whether the error is Null and do not
13594        continue decoding in such case.
13595
135962012-02-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
13597
13598        [Qt][WK2] Draw tiles of previous contents-scale for opaque layers if they don't intersect with previous tiles
13599        https://bugs.webkit.org/show_bug.cgi?id=78962
13600
13601        Only avoid painting old-scale tiles in semi-transparent situtations if the old
13602        tiles intersect with existing tiles.
13603
13604        Reviewed by Kenneth Rohde Christiansen.
13605
13606        * UIProcess/qt/LayerBackingStore.cpp:
13607        (WebKit::LayerBackingStore::paintToTextureMapper):
13608
136092012-02-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
13610
13611        [Qt] Previous web page appears outside content rect
13612        https://bugs.webkit.org/show_bug.cgi?id=78816
13613
13614        Apply a clip on painted tiles if some of the tiles fall outside of the target rect.
13615
13616        Reviewed by Kenneth Rohde Christiansen.
13617
13618        * UIProcess/qt/LayerBackingStore.cpp:
13619        (WebKit::LayerBackingStore::paintToTextureMapper):
13620
136212012-02-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
13622
13623        [Qt][WK2] Accelerated animations don't work on Mac
13624        https://bugs.webkit.org/show_bug.cgi?id=78963
13625
13626        Problem came from using a non-RunLoop timer.
13627        Remove the unused viewportUpdateTimer, and use the existing animationTimer instead.
13628        Use a continuous timer that we only stop when animations stop.
13629
13630        Reviewed by Kenneth Rohde Christiansen.
13631
13632        * UIProcess/LayerTreeHostProxy.h:
13633        (LayerTreeHostProxy):
13634        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
13635        (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
13636        (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
13637        (WebKit):
13638        (WebKit::LayerTreeHostProxy::syncAnimations):
13639
136402012-02-21  Sam Weinig  <sam@webkit.org>
13641
13642        Attempt to fix the Snow Leopard build.
13643
13644        * Configurations/Base.xcconfig:
13645
136462012-02-21  Sam Weinig  <sam@webkit.org>
13647
13648        Use libc++ when building with Clang on Mac
13649        https://bugs.webkit.org/show_bug.cgi?id=78981
13650
13651        Reviewed by Dan Bernstein.
13652
13653        * Configurations/Base.xcconfig:
13654
136552012-02-21  Andras Becsi  <andras.becsi@nokia.com>
13656
13657        [Qt][WK2] Get rid of the dependency to QtWidgets
13658        https://bugs.webkit.org/show_bug.cgi?id=76276
13659
13660        Reviewed by Simon Hausmann.
13661
13662        * Target.pri:
13663        * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
13664        (main):
13665        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
13666        * UIProcess/API/qt/tests/tests.pri:
13667        * UIProcess/API/qt/tests/util.h:
13668
136692012-02-20  Martin Robinson  <mrobinson@igalia.com>
13670
13671        [UNIX] Plugin information fields are not interpreted as UTF-8
13672        https://bugs.webkit.org/show_bug.cgi?id=78635
13673
13674        Reviewed by Gustavo Noronha Silva.
13675
13676        Interpret plugin metadata as UTF8 aways. This matches the behavior
13677        of Chromium and the Totem plugin.
13678
13679        * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
13680        (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin): Use String::fromUTF8.
13681
136822012-02-20  Carlos Garcia Campos  <cgarcia@igalia.com>
13683
13684        [GTK] Adding SOUP_TYPE_PROXY_RESOLVER_DEFAULT feature to soup session makes WebProcess to hang
13685        https://bugs.webkit.org/show_bug.cgi?id=79036
13686
13687        Reviewed by Martin Robinson.
13688
13689        This looks like a bug in gobject. Initializing the WebProcess
13690        before creating the soup session seems to fix the problem. It's
13691        actually a workaround, but initializing the WebProcess as sson as
13692        possible it's a good idea in any case.
13693
13694        * WebProcess/gtk/WebProcessMainGtk.cpp:
13695        (WebKit::WebProcessMainGtk):
13696
136972012-02-20  Michael Brüning  <michael.bruning@nokia.com>
13698
13699        [Qt][WK2] Implement proxy authentication handling.
13700        https://bugs.webkit.org/show_bug.cgi?id=78792
13701
13702        Reviewed by Simon Hausmann.
13703
13704        This patch implements the proxy authentication handling
13705        for the Qt port in a similar matter to the http authentication
13706        implementation.
13707
13708        Since there is a need to pass the proxy port, which is of type uint16_t,
13709        from the WebProcess to the UIProcess, an encoder and a decoder for
13710        this type was added because it did not exist.
13711        
13712        The message that was added to the WebPageProxy is called synchronously
13713        as this is needed by the implementation of the network access manager
13714        and has also been implemented this way already for the http 
13715        authentication.
13716
13717        * Platform/CoreIPC/ArgumentDecoder.cpp:
13718        (CoreIPC::ArgumentDecoder::decodeUInt16):
13719        (CoreIPC):
13720        * Platform/CoreIPC/ArgumentDecoder.h:
13721        (ArgumentDecoder):
13722        (CoreIPC::ArgumentDecoder::decode):
13723        (CoreIPC):
13724        * Platform/CoreIPC/ArgumentEncoder.cpp:
13725        (CoreIPC::ArgumentEncoder::encodeUInt16):
13726        (CoreIPC):
13727        * Platform/CoreIPC/ArgumentEncoder.h:
13728        (ArgumentEncoder):
13729        (CoreIPC::ArgumentEncoder::encode):
13730        (CoreIPC):
13731        * UIProcess/API/qt/qquickwebview.cpp:
13732        (QQuickWebViewPrivate::QQuickWebViewPrivate):
13733        (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest):
13734        (QQuickWebViewExperimental::proxyAuthenticationDialog):
13735        (QQuickWebViewExperimental::setProxyAuthenticationDialog):
13736        * UIProcess/API/qt/qquickwebview_p.h:
13737        * UIProcess/API/qt/qquickwebview_p_p.h:
13738        (QQuickWebViewPrivate):
13739        * UIProcess/PageClient.h:
13740        (PageClient):
13741        * UIProcess/WebPageProxy.cpp:
13742        (WebKit::WebPageProxy::proxyAuthenticationRequiredRequest):
13743        (WebKit):
13744        * UIProcess/WebPageProxy.h:
13745        (WebPageProxy):
13746        * UIProcess/WebPageProxy.messages.in:
13747        * UIProcess/qt/QtDialogRunner.cpp:
13748        (ProxyAuthenticationDialogContextObject):
13749        (ProxyAuthenticationDialogContextObject::ProxyAuthenticationDialogContextObject):
13750        (ProxyAuthenticationDialogContextObject::hostname):
13751        (ProxyAuthenticationDialogContextObject::port):
13752        (ProxyAuthenticationDialogContextObject::prefilledUsername):
13753        (ProxyAuthenticationDialogContextObject::accept):
13754        (ProxyAuthenticationDialogContextObject::reject):
13755        (QtDialogRunner::initForProxyAuthentication):
13756        * UIProcess/qt/QtDialogRunner.h:
13757        (QtDialogRunner):
13758        * UIProcess/qt/QtPageClient.cpp:
13759        (QtPageClient::handleProxyAuthenticationRequiredRequest):
13760        * UIProcess/qt/QtPageClient.h:
13761        (QtPageClient):
13762        * WebProcess/WebPage/DecoderAdapter.cpp:
13763        (WebKit::DecoderAdapter::decodeUInt16):
13764        (WebKit):
13765        * WebProcess/WebPage/DecoderAdapter.h:
13766        (DecoderAdapter):
13767        * WebProcess/WebPage/EncoderAdapter.cpp:
13768        (WebKit::EncoderAdapter::encodeUInt16):
13769        (WebKit):
13770        * WebProcess/WebPage/EncoderAdapter.h:
13771        (EncoderAdapter):
13772        * WebProcess/qt/QtNetworkAccessManager.cpp:
13773        (WebKit::QtNetworkAccessManager::onProxyAuthenticationRequired):
13774        (WebKit):
13775        * WebProcess/qt/QtNetworkAccessManager.h:
13776        (QtNetworkAccessManager):
13777
137782012-02-20  Patrick Gansterer  <paroga@webkit.org>
13779
13780        [CMake] Update and sort list of source files.
13781
13782        * CMakeLists.txt:
13783
137842012-02-20  Martin Robinson  <mrobinson@igalia.com>
13785
13786        Fix WebKit2GTK+ for 'make distcheck'.
13787
13788        Instead of conditionally including WebKit2 GNUmakefiles, always
13789        include them and conditionally activate the final targets.
13790
13791        * GNUmakefile.am:
13792        * UIProcess/API/gtk/tests/GNUmakefile.am:
13793
137942012-02-20  Martin Robinson  <mrobinson@igalia.com>
13795
13796        [GTK][WK2] WebKit2 does not build if gtk-unix-printing-3.0 is not available
13797        https://bugs.webkit.org/show_bug.cgi?id=79011
13798
13799        Fix the build when gtk-unix-printing-3.0 is not present.
13800
13801        * UIProcess/API/gtk/WebKitPrintOperation.cpp:
13802        (webkitPrintOperationRunDialog):
13803        (webkitPrintOperationRunDialogForFrame):
13804        * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
13805        (WebKit::WebPrintOperationGtk::create):
13806
138072012-02-18  Dan Bernstein  <mitz@apple.com>
13808
13809        <rdar://problem/10891801> BackingStore::scroll() unnecessarily copies pixels around
13810        https://bugs.webkit.org/show_bug.cgi?id=78976
13811
13812        Reviewed by Anders Carlsson.
13813
13814        Rather than move pixels in the backing store in response to scrolling, we can maintain a
13815        mapping, for the most recently scrolled rect, from backing store coordinates to view
13816        client coordinates.
13817
13818        * UIProcess/BackingStore.h:
13819        * UIProcess/mac/BackingStoreMac.mm:
13820        (WebKit::BackingStore::performWithScrolledRectTransform): Added. Given a block to be
13821        performed on a rect, divides the rect into parts such that for each part the mapping from
13822        backing store coordinates to client coordinates is a (uniform) translation, and performs
13823        the block on that part, passing it the translation that applies to the part.
13824        (WebKit::BackingStore::resetScrolledRect): Added. Copies everything in the scrolled rect
13825        back to where it should be under the identity map, and resets the scrolled rect and offset.
13826        (WebKit::BackingStore::paint): Changed to call through performWithScrolledRectTransform().
13827        (WebKit::BackingStore::incorporateUpdate): Ditto.
13828        (WebKit::BackingStore::scroll): Now instead of copying pixels, just updates the scrolled
13829        rect and offset.
13830
138312012-02-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
13832
13833        [Qt][WK2] Allow opaque tiles
13834        https://bugs.webkit.org/show_bug.cgi?id=78809
13835
13836        Apply the SupportsAlpha flag only when the buffers actually have alpha.
13837
13838        Reviewed by Kenneth Rohde Christiansen.
13839
13840        * Shared/ShareableBitmap.h:
13841        (ShareableBitmap):
13842        * Shared/qt/ShareableBitmapQt.cpp:
13843        * UIProcess/qt/LayerBackingStore.cpp:
13844        (WebKit::LayerBackingStoreTile::swapBuffers):
13845
138462012-02-17  Adam Roben  <aroben@apple.com>
13847
13848        Clang build fix after r108119
13849
13850        * WebProcess/WebProcess.cpp:
13851        (WebKit::randomCrashThread): Annotate this function with NO_RETURN_DUE_TO_CRASH.
13852
138532012-02-17  Kalev Lember  <kalevlember@gmail.com>
13854
13855        Remove unused parameters from WTF threading API
13856        https://bugs.webkit.org/show_bug.cgi?id=78389
13857
13858        Reviewed by Adam Roben.
13859
13860        waitForThreadCompletion() had an out param 'void **result' to get the
13861        'void *' returned by ThreadFunction. However, the implementation in
13862        ThreadingWin.cpp ignored the out param, not filling it in. This had
13863        led to a situation where none of the client code made use of the param
13864        and just ignored it.
13865
13866        To clean this up, the patch changes the signature of ThreadFunction to
13867        return void instead of void* and drops the the unused 'void **result'
13868        parameter from waitForThreadCompletion. Also, all client code is
13869        updated for the API change.
13870
13871        As mentioned in https://bugs.webkit.org/show_bug.cgi?id=78389 , even
13872        though the change only affects internal API, Safari is using it
13873        directly and we'll need to keep the old versions around for ABI
13874        compatibility. For this, the patch adds compatibility wrappers with
13875        the old ABI.
13876
13877        * Platform/WorkQueue.h:
13878        (WorkQueue):
13879        * Platform/gtk/WorkQueueGtk.cpp:
13880        (WorkQueue::startWorkQueueThread):
13881        * UIProcess/Launcher/mac/ThreadLauncherMac.mm:
13882        (WebKit::webThreadBody):
13883        * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
13884        (WebKit::webThreadBody):
13885        * UIProcess/Launcher/win/ThreadLauncherWin.cpp:
13886        (WebKit::webThreadBody):
13887        * WebProcess/WebProcess.cpp:
13888        (WebKit::randomCrashThread):
13889        * win/WebKit2.def:
13890        * win/WebKit2CFLite.def:
13891
138922012-02-17  Mihnea Ovidenie  <mihnea@adobe.com>
13893
13894        CSS regions enabled by default
13895        https://bugs.webkit.org/show_bug.cgi?id=78525
13896
13897        Reviewed by David Hyatt.
13898
13899        Add a runtime preference to enable/disable regions functionality at runtime(WebKitCSSRegionsEnabled).
13900        CSSRegions are still enabled by default.
13901        In DRT, use layoutTestController.overridePreference("WebKitCSSRegionsEnabled", "0") to disable the css regions functionality.
13902
13903        * Shared/WebPreferencesStore.h:
13904        (WebKit):
13905        * UIProcess/API/C/WKPreferences.cpp:
13906        (WKPreferencesSetCSSRegionsEnabled):
13907        (WKPreferencesGetCSSRegionsEnabled):
13908        * UIProcess/API/C/WKPreferencesPrivate.h:
13909        * WebProcess/InjectedBundle/InjectedBundle.cpp:
13910        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
13911        * WebProcess/WebPage/WebPage.cpp:
13912        (WebKit::WebPage::updatePreferences):
13913
139142012-02-17  Enrica Casucci  <enrica@apple.com>
13915
13916        Refactor DragData class to use PlatformStrategies in the Mac implementation.
13917        https://bugs.webkit.org/show_bug.cgi?id=78768
13918
13919        Reviewed by Darin Adler.
13920
13921        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added color() method.
13922        (WebKit::WebPlatformStrategies::color):
13923        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
13924
139252012-02-17  Martin Robinson  <mrobinson@igalia.com>
13926
13927        Fix some warnings encountered during the GTK+ build
13928        https://bugs.webkit.org/show_bug.cgi?id=78911
13929
13930        Reviewed by Xan Lopez.
13931
13932        * UIProcess/API/gtk/WebKitLoaderClient.cpp:
13933        (attachLoaderClientToView): Initialize a new member of the loader client struct.
13934
139352012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
13936
13937        [GTK] Allow printing scaled pages in WebKit2 for printers that don't support it
13938        https://bugs.webkit.org/show_bug.cgi?id=78823
13939
13940        Reviewed by Gustavo Noronha Silva.
13941
13942        * UIProcess/API/gtk/WebKitPrintOperation.cpp:
13943        (webkitPrintOperationRunDialogUnix): Enable scale option in print
13944        dialog.
13945        * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
13946        (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
13947        manual scale to 1.
13948        (WebKit::WebPrintOperationGtk::rotatePageIfNeeded): Renamed and
13949        moved the needs rotate check here as an early return.
13950        (WebKit::WebPrintOperationGtk::prepareContextToDraw): Scale the
13951        page according to the manual scale factor.
13952        (WebKit::WebPrintOperationGtk::renderPage): Move rotatePage to
13953        prepareContextToDraw.
13954        * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
13955
139562012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
13957
13958        [GTK] Allow printing multiple copies in WebKit2 for printers that don't support it
13959        https://bugs.webkit.org/show_bug.cgi?id=78805
13960
13961        Reviewed by Gustavo Noronha Silva.
13962
13963        * UIProcess/API/gtk/WebKitPrintOperation.cpp:
13964        (webkitPrintOperationRunDialogUnix): Enable multiple copies and
13965        collate options in print dialog.
13966        * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
13967        (WebKit::PrintPagesData::PrintPagesData): Initialize number of
13968        collated and uncolated copies done and total.
13969        (WebKit::PrintPagesData::collatedCopiesLeft): Helper function that
13970        returns the number of collated copies left to do.
13971        (WebKit::PrintPagesData::uncollatedCopiesLeft): Helper function
13972        that returns the number of uncollated copies left to do.
13973        (WebKit::PrintPagesData::copiesLeft): Helper function
13974        that returns the number of collated or uncollated copies left to
13975        do.
13976        (WebKit::PrintPagesData::incrementPageSequence): Do not finish the
13977        print if there are uncollated copies left, and do not increment
13978        sheet number if there are collated copies left.
13979        (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
13980        m_manualCopies to 1 and m_manualCollateCopies to false.
13981        * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
13982
139832012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
13984
13985        [GTK] Allow printing pages in reverse order in WebKit2 for printers that don't support it
13986        https://bugs.webkit.org/show_bug.cgi?id=78799
13987
13988        Reviewed by Gustavo Noronha Silva.
13989
13990        * UIProcess/API/gtk/WebKitPrintOperation.cpp:
13991        (webkitPrintOperationRunDialogUnix): Enable printing in reverse
13992        order option in print dialog.
13993        * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
13994        (WebKit::PrintPagesData::PrintPagesData): Initialize sheetNumber
13995        and lastPagePosition depending on whether printing is in reverse
13996        order or not.
13997        (WebKit::PrintPagesData::incrementPageSequence): Use a negative
13998        increment step when printing in reverse order. Fix page
13999        incrementing when printing only odd/even pages broken in previous
14000        commit due to merge conflicts.
14001        (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
14002        reverse printing to false.
14003        * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
14004
140052012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
14006
14007        [GTK] Allow printing only odd/even pages in WebKit2 for printers that don't support it
14008        https://bugs.webkit.org/show_bug.cgi?id=78793
14009
14010        Reviewed by Gustavo Noronha Silva.
14011
14012        * UIProcess/API/gtk/WebKitPrintOperation.cpp:
14013        (webkitPrintOperationRunDialogUnix): Enable print odd/even pages
14014        option in print dialog.
14015        * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
14016        * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
14017        (WebKit::PrintPagesData::PrintPagesData): Add lastPagePosition and
14018        initialize it depending on the page set.
14019        (WebKit::PrintPagesData::incrementPageSequence): Use 2 step
14020        increment when printing only odd/even pages.
14021        (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
14022        m_manualPageSet to GTK_PAGE_SET_ALL.
14023
140242012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
14025
14026        [GTK] Allow printing multiple pages per sheet in WebKit2 for printers that don't support it
14027        https://bugs.webkit.org/show_bug.cgi?id=78715
14028
14029        Reviewed by Gustavo Noronha Silva.
14030
14031        * UIProcess/API/gtk/WebKitPrintOperation.cpp:
14032        (webkitPrintOperationRunDialogUnix): Enable multiple pages per
14033        sheet options in print dialog.
14034        * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
14035        (WebKit::PrintPagesData::PrintPagesData): Initialize sheetNumber
14036        and numberOfSheets. Move pagePosition to WebPrintOperationGtk.
14037        (WebKit::PrintPagesData::incrementPageSequence): Increment current
14038        sheet and page position.
14039        (WebKit::WebPrintOperationGtk::WebPrintOperationGtk):
14040        (WebKit::WebPrintOperationGtk::currentPageIsFirstPageOfSheet):
14041        Helper function to check whether current pages is the first one of
14042        the current sheet.
14043        (WebKit::WebPrintOperationGtk::currentPageIsLastPageOfSheet):
14044        Helper function to check whether current pages is the last one of
14045        the current sheet.
14046        (WebKit::WebPrintOperationGtk::getRowsAndColumnsOfPagesPerSheet):
14047        Returns the number of rows and columns of pages per sheet.
14048        (WebKit::WebPrintOperationGtk::getPositionOfPageInSheet): Returns
14049        the row and column number of the current page in the current sheet.
14050        (WebKit::WebPrintOperationGtk::prepareContextToDraw): Translate,
14051        scale and rotate accordingly to render every page in the right
14052        place of the sheet.
14053        (WebKit::WebPrintOperationGtk::renderPage): Call
14054        prepareContextToDraw() before drawing the page.
14055        * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
14056        (WebKit::WebPrintOperationGtk::setNumberOfPagesToPrint):
14057        (WebKit::WebPrintOperationGtk::pagePosition):
14058        (WebKit::WebPrintOperationGtk::setPagePosition):
14059        (WebKit::WebPrintOperationGtk::numberUp):
14060        (WebKit::WebPrintOperationGtk::numberUpLayout):
14061
140622012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
14063
14064        [GTK] Rename WebKitPrintOperation::done signal to ::finished in WebKit2
14065        https://bugs.webkit.org/show_bug.cgi?id=78893
14066
14067        Reviewed by Gustavo Noronha Silva.
14068
14069        And it's not emitted anynmore when the print dialog has been
14070        cancelled. Since it's not possible to know whether the print
14071        dialog was cancelled or not, the enum WebKitPrintOperationResponse
14072        has been added, with Print and Cancel values, and it's used as
14073        return value of webkit_print_operation_run_dialog().
14074
14075        * UIProcess/API/gtk/WebKitPrintOperation.cpp:
14076        (webkit_print_operation_class_init): Rename done as finished.
14077        (webkitPrintOperationRunDialogUnix): Return a
14078        WebKitPrintOperationResponse instead of bool.
14079        (webkitPrintOperationRunDialogWin32): Ditto.
14080        (drawPagesForPrintingCompleted): Emit finished instead of done.
14081        (webkitPrintOperationRunDialogForFrame): Do not emit finished if
14082        the dialog was cancelled and return a WebKitPrintOperationResponse.
14083        (webkit_print_operation_run_dialog): Return
14084        WebKitPrintOperationResponse.
14085        * UIProcess/API/gtk/WebKitPrintOperation.h: Add
14086        WebKitPrintOperationResponse enum.
14087        * UIProcess/API/gtk/WebKitPrintOperationPrivate.h:
14088        * UIProcess/API/gtk/WebKitWebView.cpp:
14089        (webkitWebViewPrintFrame): Check whether the dialog has been
14090        cancelled or not and connect to finish when the print operation is
14091        in progress to release the print operation object when printing
14092        finishes.
14093        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add
14094        WebKitPrintOperationResponse symbol.
14095        * UIProcess/API/gtk/tests/TestPrinting.cpp:
14096        (testPrintOperationPrintFinished): Use finished instead of done.
14097        (testPrintOperationPrint): Ditto.
14098
140992012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
14100
14101        [GTK] Add webkit_print_operation_print() to WebKit2 GTK+ API
14102        https://bugs.webkit.org/show_bug.cgi?id=76536
14103
14104        Reviewed by Gustavo Noronha Silva.
14105
14106        * UIProcess/API/gtk/WebKitPrintOperation.cpp:
14107        (webkitPrintOperationPrintPagesForFrame): Helper function to call
14108        WebPageProxy::drawPagesForPrinting using the given
14109        GtkPrintSettings and GtkPageSetup.
14110        (webkitPrintOperationRunDialogForFrame): Use
14111        webkitPrintOperationPrintPagesForFrame().
14112        (webkit_print_operation_print): Print directly using current
14113        GtkPrintSettings and GtkPageSetup without showing the print
14114        dialog.
14115        * UIProcess/API/gtk/WebKitPrintOperation.h:
14116        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
14117        * UIProcess/API/gtk/tests/GNUmakefile.am:
14118        * UIProcess/API/gtk/tests/TestPrinting.cpp:
14119        (testPrintOperationPrintLoadChanged):
14120        (testPrintOperationPrintDone):
14121        (testPrintOperationPrintPrinter):
14122        (testPrintOperationPrint):
14123        (beforeAll):
14124        (afterAll):
14125
141262012-02-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
14127
14128        [Qt][WK2] Allow partial updates
14129        https://bugs.webkit.org/show_bug.cgi?id=78824
14130
14131        Instead of using UpdateInfo to fill the entire tile's texture, we use it as a patch that
14132        contains only the dirty rectangle of the current paint. This requires a lot less memory
14133        for small updates, for example when typing a text in an input field.
14134        This shows a significant reduction in overhead when testing on Mac with Instruments.
14135
14136        Reviewed by Simon Hausmann.
14137
14138        * UIProcess/qt/LayerBackingStore.cpp:
14139        (WebKit::LayerBackingStoreTile::swapBuffers):
14140        (WebKit::LayerBackingStoreTile::setBackBuffer):
14141        (WebKit):
14142        (WebKit::LayerBackingStore::updateTile):
14143        * UIProcess/qt/LayerBackingStore.h:
14144        (LayerBackingStoreTile):
14145        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
14146        (WebKit::LayerTreeHostProxy::updateTileForLayer):
14147        * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
14148        (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
14149
141502012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
14151
14152        [GTK] Make sure print operation object is alive until printing finishes in WebKit2
14153        https://bugs.webkit.org/show_bug.cgi?id=78829
14154
14155        Reviewed by Martin Robinson.
14156
14157        * UIProcess/API/gtk/WebKitPrintOperation.cpp:
14158        (drawPagesForPrintingCompleted): Adopt the WebKitPrintOperation
14159        reference so that it's released when the callback finishes.
14160        (webkitPrintOperationRunDialogForFrame): Pass a reference of
14161        WebKitPrintOperation to the printing callback.
14162
141632012-02-15  Geoffrey Garen  <ggaren@apple.com>
14164
14165        Made Weak<T> single-owner, adding PassWeak<T>
14166        https://bugs.webkit.org/show_bug.cgi?id=78740
14167
14168        Reviewed by Sam Weinig.
14169
14170        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
14171        (WebKit::NPRuntimeObjectMap::getOrCreateJSObject): Use raw pointer and
14172        PassWeak<T>, as required by our new hash map API.
14173
141742012-02-16  Sergio Villar Senin  <svillar@igalia.com>
14175
14176        [soup] Move important SoupSession feature initialization to WebCore
14177        https://bugs.webkit.org/show_bug.cgi?id=68602
14178
14179        Reviewed by Martin Robinson.
14180
14181        Moved content sniffer and decoder initialization from the
14182        WebProcess to WebCore because network stuff will not work as
14183        expected without them.
14184
14185        No new tests required as we're just moving stuff from the
14186        WebProcess to WebCore.
14187
14188        * WebProcess/gtk/WebProcessMainGtk.cpp:
14189        (WebKit::WebProcessMainGtk):
14190
141912012-02-16  Philippe Normand  <pnormand@igalia.com>
14192
14193        Unreviewed, rolling out r107941.
14194        http://trac.webkit.org/changeset/107941
14195        https://bugs.webkit.org/show_bug.cgi?id=68602
14196
14197        Broke 23 http tests on GTK
14198
14199        * WebProcess/gtk/WebProcessMainGtk.cpp:
14200        (WebKit::WebProcessMainGtk):
14201
142022012-02-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
14203
14204        [Texmap] Improve the way we deal with BGRA extension
14205        https://bugs.webkit.org/show_bug.cgi?id=78822
14206
14207        Get rid of swizzling in the web process. Instead, we moved swizzling back to
14208        TextureMapperGL, as we're moving towards a setup where textures are uploaded
14209        in the web process.
14210
14211        Reviewed by Kenneth Rohde Christiansen.
14212
14213        * UIProcess/qt/LayerBackingStore.cpp:
14214        (WebKit::LayerBackingStoreTile::swapBuffers):
14215        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
14216        (WebKit::LayerTreeHostProxy::createImage):
14217        * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
14218        (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
14219        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
14220        (WebKit::LayerTreeHostQt::adoptImageBackingStore):
14221
142222012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
14223
14224        Unreviewed. Fix WebKit2 GTK+ build after r107947.
14225
14226        * UIProcess/API/gtk/WebKitPrintOperation.cpp:
14227        (webkitPrintOperationRunDialogForFrame):
14228
142292012-02-16  Alexander Færøy  <ahf@0x90.dk>
14230
14231        [Qt] Fix linking in debug builds on Mac OS X
14232        https://bugs.webkit.org/show_bug.cgi?id=78811
14233
14234        Reviewed by Kenneth Rohde Christiansen.
14235
14236        * UIProcess/API/qt/tests/bytearraytestdata.h:
14237
142382012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
14239
14240        [GTK] Page content is incorrectly translated whenh rendering pages for printing in WebKit2
14241        https://bugs.webkit.org/show_bug.cgi?id=78712
14242
14243        Reviewed by Martin Robinson.
14244
14245        * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
14246        (WebKit::WebPrintOperationGtk::enumeratePrintersFunction):
14247        Simplify the code to select the printer.
14248        (WebKit::WebPrintOperationGtk::renderPage): Call cairo_save()
14249        before rendering the page and cairo_restore() when page has been
14250        rendered.
14251
142522012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
14253
14254        [GTK] Add WebKitPrintOperation to WebKit2 GTK+ API
14255        https://bugs.webkit.org/show_bug.cgi?id=76448
14256
14257        Reviewed by Martin Robinson.
14258
14259        * GNUmakefile.am: Add new files to compilation.
14260        * UIProcess/API/gtk/WebKitDefines.h:
14261        * UIProcess/API/gtk/WebKitPrintOperation.cpp: Added.
14262        (webViewDestroyed): Delete the print operation when the view
14263        widget associated is destroyed.
14264        (webkitPrintOperationConstructed): Connect to destroy signal of
14265        associated web view.
14266        (webkitPrintOperationGetProperty):
14267        (webkitPrintOperationSetProperty):
14268        (webkit_print_operation_init):
14269        (webkit_print_operation_class_init):
14270        (webkitPrintOperationRunDialogUnix): Use GtkPrintUnixDialog to
14271        show the printing dialog in UNIX platforms.
14272        (webkitPrintOperationRunDialogWin32): Empty, not implemented yet.
14273        (drawPagesForPrintingCompleted): Callback called when printing
14274        operation has finished in the web process.
14275        (webkitPrintOperationRunDialogForFrame): Run the printing dialog
14276        and start printing the given frame.
14277        (webkit_print_operation_new): Create a new print operation for the
14278        given web view.
14279        (webkit_print_operation_get_print_settings):
14280        (webkit_print_operation_set_print_settings):
14281        (webkit_print_operation_get_page_setup):
14282        (webkit_print_operation_set_page_setup):
14283        (webkit_print_operation_run_dialog): Run the print dialog to print
14284        the web view main frame.
14285        * UIProcess/API/gtk/WebKitPrintOperation.h: Added.
14286        * UIProcess/API/gtk/WebKitPrintOperationPrivate.h: Added.
14287        * UIProcess/API/gtk/WebKitUIClient.cpp:
14288        (printFrame): Call webkitWebViewPrintFrame.
14289        (attachUIClientToView): Add implementation for
14290        printFrame callback.
14291        * UIProcess/API/gtk/WebKitWebView.cpp:
14292        (webkit_web_view_class_init): Add WebKitWebView::print-requested
14293        signal.
14294        (webkitWebViewPrintFrame): Emit print-requested and show the print
14295        dialog to print the frame when not signal is not handled by user.
14296        * UIProcess/API/gtk/WebKitWebView.h:
14297        * UIProcess/API/gtk/WebKitWebViewPrivate.h:
14298        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
14299        WebKitPrintOperation.
14300        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
14301        * UIProcess/API/gtk/tests/GNUmakefile.am:
14302        * UIProcess/API/gtk/tests/TestPrinting.cpp: Added.
14303        (testPrintOperationPrintSettings):
14304        (webViewPrintRequestedCallback):
14305        (testWebViewPrintRequested):
14306        (beforeAll):
14307        (afterAll):
14308        * UIProcess/API/gtk/webkit2.h: Include WebKitPrintOperation.h.
14309
143102012-02-16  Simon Hausmann  <simon.hausmann@nokia.com>
14311
14312        [Gtk][Efl][Qt] Move OpenGLShims out of cairo/ subdirectory
14313        https://bugs.webkit.org/show_bug.cgi?id=78800
14314
14315        Reviewed by Kenneth Rohde Christiansen.
14316
14317        * UIProcess/qt/LayerTreeHostProxyQt.cpp: Adjust to changed OpenGLShims.h
14318        location - no more cairo prefix needed.
14319
143202012-02-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
14321
14322        [Qt][WK2] Allow opaque tiles
14323        https://bugs.webkit.org/show_bug.cgi?id=78809
14324
14325        Set the supportsAlpha flag for TiledBackingStore when the layer has contentsOpaque enabled.
14326        Use the flag for ShareableBitmaps created by TiledBackingStore.
14327
14328        For now this will not have impact on performance/memory, because we allocate the same type
14329        of buffers for opaque and transparent tiles.
14330
14331        Reviewed by Kenneth Rohde Christiansen.
14332
14333        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
14334        (WebCore::WebGraphicsLayer::setContentsOpaque):
14335        (WebCore::WebGraphicsLayer::setContentsScale):
14336        (WebCore::WebGraphicsLayer::createBackingStore):
14337        (WebCore):
14338        (WebCore::WebGraphicsLayer::updateContentBuffers):
14339        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
14340        (WebGraphicsLayer):
14341        * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
14342        (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
14343
143442012-02-16  Sergio Villar Senin  <svillar@igalia.com>
14345
14346        [soup] Move important SoupSession feature initialization to WebCore
14347        https://bugs.webkit.org/show_bug.cgi?id=68602
14348
14349        Reviewed by Martin Robinson.
14350
14351        Moved content sniffer and decoder initialization from the
14352        WebProcess to WebCore because network stuff will not work as
14353        expected without them.
14354
14355        No new tests required as we're just moving stuff from the
14356        WebProcess to WebCore.
14357
14358        * WebProcess/gtk/WebProcessMainGtk.cpp:
14359        (WebKit::WebProcessMainGtk):
14360
143612012-02-16  Adenilson Cavalcanti  <cavalcantii@gmail.com>
14362
14363        [Qt][WK2] Split QWebPermissionRequest into QWebSecurityOrigin
14364        https://bugs.webkit.org/show_bug.cgi?id=73215
14365
14366        Reviewed by Kenneth Rohde Christiansen.
14367
14368        Introducing a new class to expose security origin information
14369        (port/scheme/etc), useful for inspecting the origin of permission
14370        requests.
14371
14372        * Target.pri:
14373        * UIProcess/API/qt/qtwebsecurityorigin.cpp: Added.
14374        (QtWebSecurityOrigin::QtWebSecurityOrigin):
14375        (QtWebSecurityOrigin::~QtWebSecurityOrigin):
14376        (QtWebSecurityOrigin::host):
14377        (QtWebSecurityOrigin::scheme):
14378        (QtWebSecurityOrigin::path):
14379        (QtWebSecurityOrigin::port):
14380        (QtWebSecurityOrigin::setHost):
14381        (QtWebSecurityOrigin::setScheme):
14382        (QtWebSecurityOrigin::setPath):
14383        (QtWebSecurityOrigin::setPort):
14384        * UIProcess/API/qt/qtwebsecurityorigin_p.h: Added.
14385        * UIProcess/API/qt/tests/qmltests/WebView/tst_origin.qml: Added.
14386        * UIProcess/API/qt/qwebpermissionrequest.cpp:
14387        (QWebPermissionRequestPrivate::QWebPermissionRequestPrivate):
14388        (QWebPermissionRequest::securityOrigin):
14389        * UIProcess/API/qt/qwebpermissionrequest_p.h:
14390        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
14391
143922012-02-16  Patrick Gansterer  <paroga@webkit.org>
14393
14394        [CMake] Add missing include directories.
14395
14396        * CMakeLists.txt:
14397
143982012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
14399
14400        [GTK] Document that local paths in html loaded with loadHTML might cause the web process to terminate
14401        https://bugs.webkit.org/show_bug.cgi?id=78719
14402
14403        Reviewed by Martin Robinson.
14404
14405        * UIProcess/API/gtk/WebKitWebView.cpp:
14406
144072012-02-15  Anders Carlsson  <andersca@apple.com>
14408
14409        Add TiledCoreAnimationDrawingArea::forceRepaint
14410        https://bugs.webkit.org/show_bug.cgi?id=78749
14411        <rdar://problem/10866221>
14412
14413        Reviewed by Sam Weinig.
14414
14415        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
14416        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
14417        (WebKit::TiledCoreAnimationDrawingArea::forceRepaint):
14418        Force a repaint and synchronize the layer tree to the UI process.
14419
144202012-02-15  Enrica Casucci  <enrica@apple.com>
14421
14422        Refactor ClipboardMac class to use PlatformStrategies.
14423        https://bugs.webkit.org/show_bug.cgi?id=78554
14424
14425        Reviewed by Anders Carlsson.
14426
14427        * WebProcess/WebCoreSupport/WebDragClient.h: Changed method signature to reference
14428        the pasteboard by name.
14429        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added new methods.
14430        (WebKit::WebPlatformStrategies::changeCount):
14431        (WebKit::WebPlatformStrategies::uniqueName):
14432        * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Ditto.
14433        * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
14434        (WebKit::WebDragClient::declareAndWriteDragImage): Changed method signature to reference
14435        the pasteboard by name.
14436
144372012-02-15  Sadrul Habib Chowdhury  <sadrul@chromium.org>
14438
14439        Notify ChromeClient when touch-event handlers are installed/removed.
14440        https://bugs.webkit.org/show_bug.cgi?id=77440
14441
14442        Reviewed by Darin Fisher and Ryosuke Niwa.
14443
14444        * UIProcess/WebPageProxy.h:
14445        (WebKit::WebPageProxy::numTouchEventHandlersChanged):
14446        * WebProcess/WebCoreSupport/WebChromeClient.h:
14447
144482012-02-15  Patrick Gansterer  <paroga@webkit.org>
14449
14450        [CMake] Move RunLoop to WebCore/platform
14451        https://bugs.webkit.org/show_bug.cgi?id=78504
14452
14453        Reviewed by Adam Roben.
14454
14455        * CMakeLists.txt: Remove RunLoop.cpp from list of souces.
14456
144572012-02-14  Simon Hausmann  <simon.hausmann@nokia.com>
14458
14459        [Qt] Eliminate first set of QtWidgets dependencies from WebCore
14460        https://bugs.webkit.org/show_bug.cgi?id=78611
14461
14462        Reviewed by Kenneth Rohde Christiansen.
14463
14464        * UIProcess/qt/QtWebPageEventHandler.cpp: Add missing QCursor include
14465        to fix compilation.
14466
144672012-02-15  Roland Steiner  <rolandsteiner@chromium.org>
14468
14469        <style scoped>: Allow <style scoped> as a direct child of a ShadowRoot
14470        https://bugs.webkit.org/show_bug.cgi?id=77853
14471
14472        numberOfScopedHTMLStyleChildren got moved from Element into Node.
14473
14474        Reviewed by Dimitri Glazkov.
14475
14476        * win/WebKit2.def:
14477        * win/WebKit2CFLite.def:
14478
144792012-02-15  No'am Rosenthal  <noam.rosenthal@nokia.com>
14480
14481        [Texmap] Divide TextureMapperNode.cpp to 3 files.
14482        https://bugs.webkit.org/show_bug.cgi?id=76660
14483
14484        Rename TextureMapperNode to TextureMapperLayer.
14485
14486        Reviewed by Kenneth Rohde Christiansen.
14487
14488        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
14489        (WebKit::LayerTreeHostProxy::createLayer):
14490        (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
14491        (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
14492        (WebKit::LayerTreeHostProxy::getBackingStore):
14493        (WebKit::LayerTreeHostProxy::ensureRootLayer):
14494        (WebKit::LayerTreeHostProxy::purgeGLResources):
14495
144962012-02-14  Anders Carlsson  <andersca@apple.com>
14497
14498        Swipe gestures don't work if main frame has a horizontal scrollbar
14499        https://bugs.webkit.org/show_bug.cgi?id=78650
14500        <rdar://problem/10864993>
14501
14502        Reviewed by Sam Weinig.
14503
14504        * WebProcess/WebPage/EventDispatcher.cpp:
14505        (WebKit::EventDispatcher::wheelEvent):
14506        ScrollingTree::tryToHandleWheelEvent now returns a tri-state enum so handle the extra case.
14507
14508        (WebKit::EventDispatcher::sendDidReceiveEvent):
14509        Rename this now that it takes a parameter indicating whether the event was handled or not.
14510
145112012-02-14  Brian Weinstein  <bweinstein@apple.com>
14512
14513        Web Inspector: Add the ability to show the resources panel on launch
14514        https://bugs.webkit.org/show_bug.cgi?id=78641
14515        
14516        Add WebKit2 API for the ability to show the resources panel. This calls down
14517        from the WK API all the way to InspectorFrontendClientLocal::showResources.
14518
14519        Reviewed by Timothy Hatcher.
14520
14521        * UIProcess/API/C/WKInspector.cpp:
14522        (WKInspectorShowResources): Call WebInspectorProxy::showResources.
14523        * UIProcess/API/C/WKInspector.h:
14524        * UIProcess/WebInspectorProxy.cpp:
14525        (WebKit::WebInspectorProxy::showResources): Send a message to the web process.
14526        * UIProcess/WebInspectorProxy.h:
14527        * WebProcess/WebPage/WebInspector.cpp:
14528        (WebKit::WebInspector::showResources): Call InspectorFrontendClientLocal::showResources.
14529        * WebProcess/WebPage/WebInspector.h:
14530        * WebProcess/WebPage/WebInspector.messages.in: Add a ShowResources message.
14531
145322012-02-14  Matt Lilek  <mrl@apple.com>
14533
14534        Don't ENABLE_DASHBOARD_SUPPORT unconditionally on all Mac platforms
14535        https://bugs.webkit.org/show_bug.cgi?id=78629
14536
14537        Reviewed by David Kilzer.
14538
14539        * Configurations/FeatureDefines.xcconfig:
14540
145412012-02-13  Raphael Kubo da Costa  <kubo@profusion.mobi>
14542
14543        [CMake] Merge WebKitEfl.cmake into FindEFL.cmake.
14544        https://bugs.webkit.org/show_bug.cgi?id=78566
14545
14546        Reviewed by Daniel Bates.
14547
14548        * PlatformEfl.cmake: Do not include WebKitEfl.cmake.
14549
145502012-02-14  No'am Rosenthal  <noam.rosenthal@nokia.com>
14551
14552        [Qt][Texmap] Refactor backing-store code in TextureMapper
14553        https://bugs.webkit.org/show_bug.cgi?id=78305
14554
14555        Move the backing-store code to LayerTreeBackingStore, implementing the virtual functions
14556        in TextureMapperBackingStore.
14557        We save the double-buffered tile in the backing-store, and then convert them to regular
14558        tiles in updateContents, based on the order of painting.
14559        Use TextureMapperCompositedImage for images instead of saving our own composited image
14560        registry.
14561
14562        Reviewed by Kenneth Rohde Christiansen.
14563
14564        * Target.pri:
14565        * UIProcess/LayerTreeHostProxy.h:
14566        (WebKit):
14567        (LayerTreeHostProxy):
14568        * UIProcess/qt/LayerBackingStore.cpp: Added.
14569        * UIProcess/qt/LayerBackingStore.h: Added.
14570        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
14571        (WebKit::LayerTreeHostProxy::createLayer):
14572        (WebKit::LayerTreeHostProxy::syncLayerParameters):
14573        (WebKit::LayerTreeHostProxy::getBackingStore):
14574        (WebKit::LayerTreeHostProxy::createTile):
14575        (WebKit::LayerTreeHostProxy::removeTile):
14576        (WebKit::LayerTreeHostProxy::updateTile):
14577        (WebKit::LayerTreeHostProxy::createImage):
14578        (WebKit::LayerTreeHostProxy::assignImageToLayer):
14579        (WebKit::LayerTreeHostProxy::purgeGLResources):
14580        * WebProcess.pro:
14581
14582
145832012-02-14  Shinya Kawanaka  <shinyak@google.com>
14584
14585        Use youngestShadowRoot and oldestShadowRoot instead of Element::shadowRoot().
14586        https://bugs.webkit.org/show_bug.cgi?id=78455
14587
14588        Reviewed by Hajime Morita.
14589
14590        Exports necesarry symbols.
14591
14592        * win/WebKit2.def:
14593        * win/WebKit2CFLite.def:
14594
145952012-02-14  Alexey Proskuryakov  <ap@apple.com>
14596
14597        [Mac][Win][WK2] Switch to RFC 6455 protocol for WebSockets
14598        https://bugs.webkit.org/show_bug.cgi?id=78541
14599        <rdar://problem/10036695>
14600
14601        Reviewed by Kent Tamura.
14602
14603        * Shared/WebPreferencesStore.h: (WebKit): Changed default value of the preference.
14604
146052012-02-13  W. James MacLean  <wjmaclean@chromium.org>
14606
14607        [chromium] Remove obsolete zoom animation pathway.
14608        https://bugs.webkit.org/show_bug.cgi?id=78359
14609
14610        Reviewed by James Robinson.
14611
14612        This patch removes dead code from the previous incarnation of zoom animation for chromium.
14613
14614        WebProcess/Plugins/PDF/BuiltInPDFView.h:
14615        (BuiltInPDFView):
14616
146172012-02-13  Enrica Casucci  <enrica@apple.com>
14618
14619        Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies.
14620        https://bugs.webkit.org/show_bug.cgi?id=78282
14621
14622        This patch removes any accesss to the NSPasteboard object from the Pasteboard class which
14623        now makes use of a new pasteboardStrategy object that is implemented both in WebKit and
14624        WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard
14625        class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy
14626        interface but this one more step in the direction of removing access to NSPasteboard from
14627        the WebProcess.
14628        As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes.
14629
14630        Reviewed by Anders Carlsson.
14631
14632        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added implementation of PasteboardStrategy
14633        interface.
14634        (WebKit::WebPlatformStrategies::createPasteboardStrategy):
14635        (WebKit::WebPlatformStrategies::getTypes):
14636        (WebKit::WebPlatformStrategies::bufferForType):
14637        (WebKit::WebPlatformStrategies::getPathnamesForType):
14638        (WebKit::WebPlatformStrategies::stringForType):
14639        (WebKit::WebPlatformStrategies::copy):
14640        (WebKit::WebPlatformStrategies::setTypes):
14641        (WebKit::WebPlatformStrategies::setBufferForType):
14642        (WebKit::WebPlatformStrategies::setPathnamesForType):
14643        (WebKit::WebPlatformStrategies::setStringForType):
14644        * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Added PasteboardStrategy.
14645
146462012-02-13  Anders Carlsson  <andersca@apple.com>
14647
14648        The scrolling tree needs to know about the back forward state of the page
14649        https://bugs.webkit.org/show_bug.cgi?id=78523
14650        <rdar://problem/10756548>
14651
14652        Reviewed by Sam Weinig.
14653
14654        Pass the back/forward state in the WheelEvent message. This is pretty hacky but works well.
14655
14656        * Platform/CoreIPC/HandleMessage.h:
14657        (CoreIPC):
14658        (CoreIPC::callMemberFunction):
14659        * UIProcess/WebPageProxy.cpp:
14660        (WebKit::WebPageProxy::handleWheelEvent):
14661        (WebKit::WebPageProxy::didReceiveEvent):
14662        * WebProcess/WebPage/EventDispatcher.cpp:
14663        (WebKit::EventDispatcher::wheelEvent):
14664        * WebProcess/WebPage/EventDispatcher.h:
14665        (EventDispatcher):
14666        * WebProcess/WebPage/EventDispatcher.messages.in:
14667
146682012-02-13  Dan Bernstein  <mitz@apple.com>
14669
14670        WebKit2 build emits a warning about not stripping code-signed PluginProcess.app when copying it into the framework
14671        https://bugs.webkit.org/show_bug.cgi?id=78451
14672
14673        Reviewed by Sam Weinig.
14674
14675        * Configurations/Base.xcconfig: Set COPY_PHASE_STRIP to NO.
14676
146772012-02-13  Sam Weinig  <sam@webkit.org>
14678
14679        Windows build fix.
14680
14681        * UIProcess/win/WebPopupMenuProxyWin.cpp:
14682        (WebKit::WebPopupMenuProxyWin::scrollToRevealSelection):
14683
146842012-02-13  Zalan Bujtas  <zbujtas@gmail.com>
14685
14686        Manage ShareableBitmap object lifecycle properly, when QImage is created
14687        using the shared data.
14688        https://bugs.webkit.org/show_bug.cgi?id=77546
14689
14690        Reviewed by Simon Hausmann.
14691
14692        * Shared/ShareableBitmap.h:
14693        (ShareableBitmap):
14694        * Shared/qt/ShareableBitmapQt.cpp:
14695        (WebKit::ShareableBitmap::createQImage):
14696        (WebKit):
14697        (WebKit::ShareableBitmap::releaseSharedMemoryData):
14698
146992012-02-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
14700
14701        [EFL] Drop support for the Curl network backend.
14702        https://bugs.webkit.org/show_bug.cgi?id=77874
14703
14704        Reviewed by Eric Seidel.
14705
14706        Nobody seems to be maintaining the Curl backend in WebCore, the
14707        EFL port developers all seem to be using the Soup backend and the
14708        port itself has many features which are only implemented for the
14709        latter.
14710
14711        * PlatformEfl.cmake: Unconditionally build the glib/soup source
14712        files and unconditionally add the required include directories and
14713        libraries.
14714        * WebProcess/efl/WebProcessMainEfl.cpp:
14715        (WebKit::WebProcessMainEfl): Remove USE(SOUP) check.
14716
147172012-02-11  Sheriff Bot  <webkit.review.bot@gmail.com>
14718
14719        Unreviewed, rolling out r107435.
14720        http://trac.webkit.org/changeset/107435
14721        https://bugs.webkit.org/show_bug.cgi?id=78410
14722
14723        It broke the Qt build (Requested by Ossy on #webkit).
14724
14725        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
14726        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
14727        (WebPlatformStrategies):
14728
147292012-02-10  Brian Weinstein  <bweinstein@apple.com>
14730
14731        Web Inspector: Add the ability to jump to the source for a given frame
14732        https://bugs.webkit.org/show_bug.cgi?id=78396
14733        
14734        Add WebKit2 API for the ability to show the source of a frame in the web inspector. This calls down
14735        from the WK API all the way to InspectorFrontendClientLocal::showMainResourceForFrame.
14736
14737        Reviewed by Tim Hatcher.
14738
14739        * UIProcess/API/C/WKInspector.cpp:
14740        (WKInspectorShowMainResourceForFrame): Call WebInspectorProxy::showMainResourceForFrame.
14741        * UIProcess/API/C/WKInspector.h:
14742
14743        * UIProcess/WebInspectorProxy.cpp:
14744        (WebKit::WebInspectorProxy::showMainResourceForFrame): Send a message to the web process, passing
14745            the frame ID of the frame we want to show the main resource of.
14746        * UIProcess/WebInspectorProxy.h:
14747
14748        * WebProcess/WebPage/WebInspector.cpp:
14749        (WebKit::WebInspector::showMainResourceForFrame): Get the WebFrame for the frame we want to show the
14750            main resource of from its ID. If we found a frame, call InspectorFrontendClientLocal::showMainResourceForFrame.
14751        * WebProcess/WebPage/WebInspector.h:
14752        
14753        * WebProcess/WebPage/WebInspector.messages.in: Add a new message.
14754
147552012-02-10  Adam Klein  <adamk@chromium.org>
14756
14757        Enable MUTATION_OBSERVERS by default on all platforms
14758        https://bugs.webkit.org/show_bug.cgi?id=78196
14759
14760        Reviewed by Ojan Vafai.
14761
14762        * Configurations/FeatureDefines.xcconfig:
14763
147642012-02-10  Enrica Casucci  <enrica@apple.com>
14765
14766        Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies.
14767        https://bugs.webkit.org/show_bug.cgi?id=78282
14768
14769        This patch removes any accesss to the NSPasteboard object from the Pasteboard class which
14770        now makes use of a new pasteboardStrategy object that is implemented both in WebKit and
14771        WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard
14772        class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy
14773        interface but this one more step in the direction of removing access to NSPasteboard from
14774        the WebProcess.
14775        As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes.
14776        
14777        Reviewed by Anders Carlsson.
14778
14779        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added implementation of PasteboardStrategy
14780        interface.
14781        (WebKit::WebPlatformStrategies::createPasteboardStrategy):
14782        (WebKit::WebPlatformStrategies::getTypes):
14783        (WebKit::WebPlatformStrategies::bufferForType):
14784        (WebKit::WebPlatformStrategies::getPathnamesForType):
14785        (WebKit::WebPlatformStrategies::stringForType):
14786        (WebKit::WebPlatformStrategies::copy):
14787        (WebKit::WebPlatformStrategies::setTypes):
14788        (WebKit::WebPlatformStrategies::setBufferForType):
14789        (WebKit::WebPlatformStrategies::setPathnamesForType):
14790        (WebKit::WebPlatformStrategies::setStringForType):
14791        * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Added PasteboardStrategy.
14792
147932012-02-09  Timothy Hatcher  <timothy@apple.com>
14794
14795        Prevent attaching when inspecting the Web Inspector.
14796
14797        Also adds some comments about keeping in sync with InspectorFrontendClientLocal::canAttachWindow
14798        and why there are two implementations of the same function.
14799
14800        https://webkit.org/b/78304
14801
14802        Reviewed by Brian Weinstein.
14803
14804        * UIProcess/WebInspectorProxy.cpp:
14805        (WebKit::WebInspectorProxy::canAttach): Prevent attaching when the page is an inspector page.
14806        Added comments about InspectorFrontendClientLocal::canAttachWindow.
14807        * UIProcess/WebInspectorProxy.h:
14808        (WebInspectorProxy): Added comment about keeping in sync with InspectorFrontendClientLocal.
14809
148102012-02-09  Alexey Proskuryakov  <ap@apple.com>
14811
14812        Managed network proxy settings are not used in WebProcess
14813        https://bugs.webkit.org/show_bug.cgi?id=78288
14814        <rdar://problem/9962116>
14815
14816        Reviewed by Anders Carlsson.
14817
14818        * WebProcess/com.apple.WebProcess.sb: Allow reading managed preferences.
14819
148202012-02-09  Alexey Proskuryakov  <ap@apple.com>
14821
14822        ASSERTION FAILED: checkURLReceivedFromWebProcess(originalURL) loading a local file, if the WebProcess crashed
14823        https://bugs.webkit.org/show_bug.cgi?id=70845
14824        <rdar://problem/10269985>
14825
14826        Reviewed by Anders Carlsson.
14827
14828        This also fixes some case where WebProcess did not get a sandbox extension after a crash.
14829
14830        * UIProcess/WebPageProxy.cpp:
14831        (WebKit::WebPageProxy::reattachToWebProcessWithItem): We no longer need to pass a sandbox
14832        extension here, we're now passing it at b/f navigation bottleneck.
14833        (WebKit::WebPageProxy::reload): Pass a sandbox extension - reload may mean reloading an error
14834        page after a crash, so WebProcess may no longer have the extension.
14835        (WebKit::WebPageProxy::goForward): We no longer need to pass a sandbox extension here,
14836        we're now passing it at b/f navigation bottleneck. Also, fixed a bug where we first null checked
14837        a WebBackForwardListItem pointer, and then used it anyway.
14838        (WebKit::WebPageProxy::goBack): Ditto.
14839        (WebKit::WebPageProxy::goToBackForwardItem): Ditto.
14840        (WebKit::WebPageProxy::backForwardGoToItem): This is the bottleneck. We get here both for UI
14841        actions like pressing the Back button, and for window.history.go() navigations. JS navigations
14842        previously didn't open up the sandbox. URLs in UI process b/f list are trusted, so it's
14843        always OK to grant a sandbox extension if one of them is a file: one.
14844
14845        * UIProcess/WebPageProxy.h: backForwardGoToItem() now returns a sandbox extension handle.
14846
14847        * UIProcess/WebPageProxy.messages.in: Ditto.
14848
14849        * UIProcess/WebProcessProxy.cpp:
14850        (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess): If a URL is in UI process b/f
14851        list, then it has been already vetted as something the Web process knows about. No need to
14852        crash if it actually attempts going there.
14853        (WebKit::WebProcessProxy::didReceiveInvalidMessage): Removed a useless comment (we have tons
14854        of fprintfs besides this one). Fixed log message syntax.
14855
14856        * UIProcess/cf/WebPageProxyCF.cpp: (WebKit::WebPageProxy::restoreFromSessionStateData):
14857        We no longer need to pass a sandbox extension here, we're now passing it at b/f navigation
14858        bottleneck. 
14859
14860        * WebProcess/WebPage/WebBackForwardListProxy.cpp: (WebKit::WebBackForwardListProxy::goToItem):
14861        We now get an extension here, when telling UI process that we're navigating to a b/f list item.
14862
14863        * WebProcess/WebPage/WebPage.cpp:
14864        (WebKit::WebPage::reload): Use the extension we're getting.
14865        (WebKit::WebPage::goForward): Don't use one we're not getting.
14866        (WebKit::WebPage::goBack): Ditto.
14867        (WebKit::WebPage::goToBackForwardItem): Ditto.
14868        (WebKit::WebPage::restoreSessionAndNavigateToCurrentItem): Ditto.
14869
14870        * WebProcess/WebPage/WebPage.h: Adjusted signatures accordingly.
14871
14872        * WebProcess/WebPage/WebPage.messages.in: Ditto.
14873
148742012-02-09  Matthew Delaney  <mdelaney@apple.com>
14875
14876        HiDPI: WebKit2's drag images are blurry
14877        https://bugs.webkit.org/show_bug.cgi?id=67779
14878
14879        Use the proper deviceScaleFactor() instead of accessing _intrinsicDeviceScaleFactor
14880
14881        Reviewed by Beth Dakin.
14882
14883        * UIProcess/API/mac/WKView.mm:
14884        (-[WKView _setDragImage:at:linkDrag:]):
14885
148862012-02-09  Alexey Proskuryakov  <ap@apple.com>
14887
14888        [WK2] Allow reading some debug-only preference files
14889        https://bugs.webkit.org/show_bug.cgi?id=78255
14890        <rdar://problem/9382382>
14891        <rdar://problem/10830558>
14892
14893        Reviewed by Dan Bernstein.
14894
14895        * WebProcess/com.apple.WebProcess.sb:
14896
148972012-02-09  Matthew Delaney  <mdelaney@apple.com>
14898
14899        HiDPI: WebKit2's link-dragging images are blurry
14900        https://bugs.webkit.org/show_bug.cgi?id=67779
14901
14902        Reviewed by Beth Dakin.
14903
14904        Teach startDrag about the deviceScaleFactor so that it creates
14905        an appropriately scaled bitmap image to ship over.
14906        * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
14907        (WebKit::WebDragClient::startDrag):
14908        (WebKit::convertImageToBitmap):
14909
14910        Have setDragImage assume that it's receiving a bitmap image scaled
14911        up by the deviceScaleFactor that it sees.
14912        * UIProcess/API/mac/WKView.mm:
14913        (-[WKView _setDragImage:at:linkDrag:]):
14914
149152012-02-09  Carlos Garcia Campos  <cgarcia@igalia.com>
14916
14917        [GTK] Add WebKitWebView::mouse-target-changed signal to WebKit2 GTK+ API
14918        https://bugs.webkit.org/show_bug.cgi?id=78097
14919
14920        Reviewed by Martin Robinson.
14921
14922        * GNUmakefile.am: Add new files to compilation.
14923        * UIProcess/API/gtk/WebKitHitTestResult.cpp: Added.
14924        (webkitHitTestResultFinalize):
14925        (webkitHitTestResultGetProperty):
14926        (webkitHitTestResultSetProperty):
14927        (webkit_hit_test_result_init):
14928        (webkit_hit_test_result_class_init):
14929        (webkitHitTestResultCreate): Create a new WebKitHitTestResult for
14930        the given WKHitTestResult.
14931        (stringIsEqualToCString): Helper function to compare String and
14932        CString considering String::isEmpty() == CString.isNull().
14933        (webkitHitTestResultCompare): Helper function to check whether a
14934        WebKitHitTestResult contains the same information than the given
14935        WKHitTestResult.
14936        (webkit_hit_test_result_get_context):
14937        (webkit_hit_test_result_context_is_link):
14938        (webkit_hit_test_result_context_is_image):
14939        (webkit_hit_test_result_context_is_media):
14940        (webkit_hit_test_result_get_link_uri):
14941        (webkit_hit_test_result_get_link_title):
14942        (webkit_hit_test_result_get_link_label):
14943        (webkit_hit_test_result_get_image_uri):
14944        (webkit_hit_test_result_get_media_uri):
14945        * UIProcess/API/gtk/WebKitHitTestResult.h: Added.
14946        * UIProcess/API/gtk/WebKitHitTestResultPrivate.h:
14947        * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
14948        (webkitNavigationPolicyDecisionCreate): Use
14949        wkEventModifiersToGdkModifiers.
14950        * UIProcess/API/gtk/WebKitPrivate.cpp:
14951        (wkEventModifiersToGdkModifiers): Moved from
14952        WebKitNavigationPolicyDecision and renamed to wkEventModifiersToGdkModifiers.
14953        * UIProcess/API/gtk/WebKitPrivate.h:
14954        * UIProcess/API/gtk/WebKitUIClient.cpp:
14955        (mouseDidMoveOverElement): UI client callback that calls
14956        webkitWebViewMouseTargetChanged().
14957        (attachUIClientToView): Add implementation for callback
14958        mouseDidMoveOverElement.
14959        * UIProcess/API/gtk/WebKitWebView.cpp:
14960        (webkit_web_view_class_init): Add
14961        WebKitWebView::mouse-target-changed signal.
14962        (webkitWebViewMouseTargetChanged): Emit
14963        WebKitWebView::mouse-target-changed signal.
14964        * UIProcess/API/gtk/WebKitWebView.h:
14965        * UIProcess/API/gtk/WebKitWebViewPrivate.h:
14966        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
14967        WebKitHitTestResult.
14968        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
14969        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
14970        (testWebViewMouseTarget):
14971        (beforeAll):
14972        * UIProcess/API/gtk/tests/WebViewTest.cpp:
14973        (WebViewTest::WebViewTest):
14974        (WebViewTest::~WebViewTest):
14975        (parentWindowMapped):
14976        (WebViewTest::showInWindowAndWaitUntilMapped): Method to add the
14977        view into a popup window and show it running the main loop until
14978        the window is mapped.
14979        (WebViewTest::mouseMoveTo): Method to synthesize a
14980        GDK_MOTION_EVENT on the given coordinates and using the given
14981        modifiers.
14982        * UIProcess/API/gtk/tests/WebViewTest.h:
14983        * UIProcess/API/gtk/webkit2.h: Include WebKitHitTestResult.h.
14984        * UIProcess/API/gtk/webkit2marshal.list:
14985
149862012-02-07  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
14987
14988        [Qt] Fetch the visible rect from LayerTreeHost instead of keeping a copy in each layer.
14989        https://bugs.webkit.org/show_bug.cgi?id=78009
14990
14991        Reviewed by Noam Rosenthal.
14992
14993        Since WebGraphicsLayers are now accessed directly from LayerTreeHost, they don't
14994        need to keep the visible rect to pass it down their child layers anymore.
14995
14996        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
14997        (WebCore::WebGraphicsLayer::setContentsScale):
14998        (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
14999        (WebCore::WebGraphicsLayer::adjustVisibleRect):
15000        (WebCore):
15001        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
15002        (WebGraphicsLayerClient):
15003        (WebGraphicsLayer):
15004        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
15005        (WebKit::LayerTreeHostQt::registerLayer):
15006        (WebKit::LayerTreeHostQt::visibleContentsRect):
15007        (WebKit):
15008        (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
15009        * WebProcess/WebPage/qt/LayerTreeHostQt.h:
15010        (LayerTreeHostQt):
15011
150122012-02-09  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
15013
15014        [Qt] Control the lifetime of TiledBackingStores in WebGraphicsLayer.
15015        https://bugs.webkit.org/show_bug.cgi?id=78005
15016
15017        Reviewed by Noam Rosenthal.
15018
15019        This makes sure that no empty tiles are generated for layers without contents and that
15020        no interaction is made with the TiledBackingStore until we got a WebGraphicsLayerClient.
15021
15022        - Create the main TiledBackingStore only when the layer has drawsContent and has no
15023          directly composited image
15024        - Removed recreateBackingStoreIfNeeded and do the (re)creation of the backing stores
15025          in updateContentBuffers
15026        - Call purgeBackingStores on registered layers instead of passing it down the layer tree
15027
15028        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
15029        (WebCore::WebGraphicsLayer::WebGraphicsLayer):
15030        (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
15031        (WebCore::WebGraphicsLayer::setDrawsContent):
15032        (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
15033        (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
15034        (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
15035        (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
15036        (WebCore::WebGraphicsLayer::updateContentBuffers):
15037        (WebCore::WebGraphicsLayer::purgeBackingStores):
15038        (WebCore::WebGraphicsLayer::setWebGraphicsLayerClient):
15039        (WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
15040        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
15041        (WebGraphicsLayer):
15042        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
15043        (WebKit::LayerTreeHostQt::LayerTreeHostQt):
15044        (WebKit::LayerTreeHostQt::flushPendingLayerChanges):
15045        (WebKit):
15046        (WebKit::LayerTreeHostQt::purgeBackingStores):
15047        * WebProcess/WebPage/qt/LayerTreeHostQt.h:
15048        (LayerTreeHostQt):
15049
150502012-02-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
15051
15052        [Qt] Remove WebGraphicsLayer::updateTileBuffersRecursively
15053        https://bugs.webkit.org/show_bug.cgi?id=78105
15054
15055        Reviewed by Kenneth Rohde Christiansen.
15056
15057        The method is unused.
15058
15059        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
15060        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
15061        (WebGraphicsLayer):
15062
150632012-02-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
15064
15065        [Qt] Register individual WebGraphicsLayers to LayerTreeHost instead of handling the tree as a whole.
15066        https://bugs.webkit.org/show_bug.cgi?id=77976
15067
15068        Reviewed by Kenneth Rohde Christiansen.
15069
15070        The LayerTreeHost association had to be maintained between re-parented layers and it would be
15071        impossible to know if the layer would be disconnected from the LayerTreeHost only for reparenting
15072        or disconnected for good (in other words, that the LayerTreeHost could be deleted meanwhile).
15073
15074        Instead, this patch assumes that graphics layers will only be in contact with one instance of
15075        LayerTreeHost, and that this association can be kept until either the graphics layer or the layer
15076        tree host gets deleted.
15077
15078        The registered layers are kept in a set and the visible rect and scales are passed directly
15079        to layers instead of down the tree, through the root layer.
15080
15081        This also fixes the !m_layerInfo.imageBackingStoreID ASSERT that was popping in unit tests.
15082
15083        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
15084        (WebCore::WebGraphicsLayer::WebGraphicsLayer):
15085        (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
15086        (WebCore::WebGraphicsLayer::setChildren):
15087        (WebCore::WebGraphicsLayer::addChild):
15088        (WebCore::WebGraphicsLayer::addChildAtIndex):
15089        (WebCore::WebGraphicsLayer::addChildAbove):
15090        (WebCore::WebGraphicsLayer::addChildBelow):
15091        (WebCore::WebGraphicsLayer::replaceChild):
15092        (WebCore::WebGraphicsLayer::removeFromParent):
15093        (WebCore::WebGraphicsLayer::setContentsToImage):
15094        (WebCore::WebGraphicsLayer::setMaskLayer):
15095        (WebCore::WebGraphicsLayer::setReplicatedByLayer):
15096        (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
15097        (WebCore::WebGraphicsLayer::setVisibleContentRectAndScale):
15098        (WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed):
15099        (WebCore::WebGraphicsLayer::createTile):
15100        (WebCore::WebGraphicsLayer::updateTile):
15101        (WebCore::WebGraphicsLayer::removeTile):
15102        (WebCore::WebGraphicsLayer::updateContentBuffers):
15103        (WebCore::WebGraphicsLayer::purgeBackingStores):
15104        (WebCore::WebGraphicsLayer::setWebGraphicsLayerClient):
15105        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
15106        (WebCore):
15107        (WebGraphicsLayerClient):
15108        (WebGraphicsLayer):
15109        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
15110        (WebKit::LayerTreeHostQt::~LayerTreeHostQt):
15111        (WebKit::LayerTreeHostQt::LayerTreeHostQt):
15112        (WebKit::LayerTreeHostQt::attachLayer):
15113        (WebKit):
15114        (WebKit::LayerTreeHostQt::detachLayer):
15115        (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
15116        * WebProcess/WebPage/qt/LayerTreeHostQt.h:
15117        (LayerTreeHostQt):
15118
151192012-02-07  Andras Becsi  <andras.becsi@nokia.com>
15120
15121        [Qt][WK2] WebView should use Flickable instead of QScroller to handle positioning
15122        https://bugs.webkit.org/show_bug.cgi?id=76275
15123
15124        Reviewed by Simon Hausmann and Kenneth Rohde Christiansen.
15125
15126        The current WebView implementation uses QScroller to manage positioning but other
15127        similar items in QML (ie. ListView, GridView) use Flickable as their base class.
15128        Since QScroller will be dropped from Qt5 this patch removes the QScroller code
15129        and redirects pan gestures to a dynamically created encapsulated Flickable instance
15130        (QtFlickProvider) which handles the positioning.
15131
15132        This implementation only uses public QML API and does not depend on declarative-private.
15133        It propagates a small subset of the Flickable API as the public API of the WebView.
15134        This minimalistic API is accessible via the experimental extension and makes it possible
15135        in QML to place additional items (such as toolbars, scroll indicators and floating menus)
15136        aroud the page.
15137        These items can use anchoring and binding for positioning on the flickable contentItem.
15138
15139        The patch depends however on the automatic touch->mouse event synthetization of Qt5.
15140        The touch events sent to the flickProvider are translated to mouse events automatically
15141        as long as the Flickable does not handle touch events directly.
15142
15143        After this change QtWebKit2 does no longer depend on QtWidgets and this dependency can be
15144        removed in a follow-up patch.
15145
15146        * Target.pri: Added QtFlickProvider source.
15147        * UIProcess/API/qt/qquickwebpage.cpp:
15148        (QQuickWebPagePrivate::paintToCurrentGLContext):
15149        (QQuickWebPage::transformToItem):
15150        (QQuickWebPagePrivate::updateSize):
15151        * UIProcess/API/qt/qquickwebview.cpp:
15152        (QQuickWebViewPrivate::QQuickWebViewPrivate):
15153        (QQuickWebViewPrivate::pageItemPos):
15154        (QQuickWebViewFlickablePrivate::pageItemPos):
15155        (QQuickWebViewFlickablePrivate::updateContentsSize):
15156        (QQuickWebViewFlickablePrivate::onComponentComplete):
15157        (QQuickWebViewFlickablePrivate::updateViewportSize):
15158        (QQuickWebViewExperimental::flickableData):
15159        (QQuickWebViewExperimental::contentItem):
15160        (QQuickWebViewExperimental::contentWidth):
15161        (QQuickWebViewExperimental::setContentWidth):
15162        (QQuickWebViewExperimental::contentHeight):
15163        (QQuickWebViewExperimental::setContentHeight):
15164        (QQuickWebViewExperimental::contentX):
15165        (QQuickWebViewExperimental::setContentX):
15166        (QQuickWebViewExperimental::contentY):
15167        (QQuickWebViewExperimental::setContentY):
15168        (QQuickWebView::pageItemPos):
15169        (QQuickWebView::updateContentsSize):
15170        * UIProcess/API/qt/qquickwebview_p.h:
15171        * UIProcess/API/qt/qquickwebview_p_p.h:
15172        (QQuickWebViewPrivate):
15173        (QQuickWebViewPrivate::updateContentsSize):
15174        (QQuickWebViewFlickablePrivate):
15175        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
15176        (tst_QQuickWebView::scrollRequest):
15177        * UIProcess/qt/QtFlickProvider.cpp: Added.
15178        (QtFlickProvider::QtFlickProvider):
15179        (QtFlickProvider::handleTouchFlickEvent):
15180        (QtFlickProvider::contentItem):
15181        (QtFlickProvider::flickableData):
15182        (QtFlickProvider::contentPos):
15183        (QtFlickProvider::setContentPos):
15184        (QtFlickProvider::viewportSize):
15185        (QtFlickProvider::setViewportSize):
15186        (QtFlickProvider::returnToBounds):
15187        (QtFlickProvider::cancelFlick):
15188        (QtFlickProvider::isMoving):
15189        (QtFlickProvider::isDragging):
15190        (QtFlickProvider::isFlicking):
15191        (QtFlickProvider::contentWidth):
15192        (QtFlickProvider::setContentWidth):
15193        (QtFlickProvider::contentHeight):
15194        (QtFlickProvider::setContentHeight):
15195        (QtFlickProvider::contentX):
15196        (QtFlickProvider::setContentX):
15197        (QtFlickProvider::contentY):
15198        (QtFlickProvider::setContentY):
15199        * UIProcess/qt/QtFlickProvider.h: Added.
15200        (QtFlickProvider):
15201        * UIProcess/qt/QtPanGestureRecognizer.cpp:
15202        (WebKit::QtPanGestureRecognizer::recognize):
15203        * UIProcess/qt/QtPanGestureRecognizer.h:
15204        (QtPanGestureRecognizer):
15205        * UIProcess/qt/QtViewportInteractionEngine.cpp:
15206        (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
15207        (WebKit::QtViewportInteractionEngine::setItemRectVisible):
15208        (WebKit::QtViewportInteractionEngine::scrollStateChanged):
15209        (WebKit):
15210        (WebKit::QtViewportInteractionEngine::wheelEvent):
15211        (WebKit::QtViewportInteractionEngine::reset):
15212        (WebKit::QtViewportInteractionEngine::applyConstraints):
15213        (WebKit::QtViewportInteractionEngine::scrollAnimationActive):
15214        (WebKit::QtViewportInteractionEngine::panGestureActive):
15215        (WebKit::QtViewportInteractionEngine::panGestureStarted):
15216        (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
15217        (WebKit::QtViewportInteractionEngine::panGestureCancelled):
15218        (WebKit::QtViewportInteractionEngine::panGestureEnded):
15219        (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
15220        (WebKit::QtViewportInteractionEngine::scaleContent):
15221        * UIProcess/qt/QtViewportInteractionEngine.h:
15222        (QtViewportInteractionEngine):
15223        * UIProcess/qt/QtWebPageEventHandler.cpp:
15224        (QtWebPageEventHandler::doneWithTouchEvent):
15225
152262012-02-08  Keunsoon Lee  <keunsoon.lee@samsung.com>
15227
15228        [WK2][EFL] creating dummy class derived from ResourceHandleClient for Efl download module.
15229        https://bugs.webkit.org/show_bug.cgi?id=76171
15230
15231        Reviewed by Andreas Kling.
15232
15233        FileDownloaderEfl is a practical class to operate file download.
15234        It communicates with Download class to start download
15235        and to notify downloading states to user(e.g. client application).
15236        Besides FileDownloaderEfl derives from ResourceHandleClient
15237        and receives chunked data from ResourceHandle directly
15238        or redirects data flow which is started from MainResourceLoader
15239        by mean of exchanging ResourceHandle's existing client for FileDownloaderEfl.
15240
15241        This patch has only dummy functions to make easy to review.
15242        Working patch will be uploaded on another bug thread.
15243
15244        * PlatformEfl.cmake: added new file to compile.
15245        * WebProcess/Downloads/Download.h: added FileDownloaderEfl's instance as a form of OwnPtr<FileDownloaderEfl>.
15246        (WebKit):
15247        (Download):
15248        * WebProcess/Downloads/efl/DownloadEfl.cpp:
15249        (WebKit::Download::start): calling to FileDownloaderEfl::start() to start download for passing ResourceRequest.
15250        * WebProcess/Downloads/efl/FileDownloaderEfl.cpp: Added. a practical class to operate file download.
15251        (WebKit):
15252        (WebKit::FileDownloaderEfl::create): create function, which returns PassOwnPtr<FileDownloaderEfl>.
15253        (WebKit::FileDownloaderEfl::FileDownloaderEfl): constructor, which receives Download* as a parameter.
15254        (WebKit::FileDownloaderEfl::~FileDownloaderEfl): deconstructor.
15255        (WebKit::FileDownloaderEfl::start): a function to start downloading for passed ResourceRequest.
15256        It does nothing for now, but shows how Download class can call FileDownloaderEfl's function.
15257        (WebKit::FileDownloaderEfl::didReceiveResponse): virtual function for ResourceHandleClient.
15258        It will receive response header information from ResourceHandle.
15259        (WebKit::FileDownloaderEfl::didReceiveData): virtual function for ResourceHandleClient.
15260        It will receive chunk data from ResourceHandle.
15261        (WebKit::FileDownloaderEfl::didFinishLoading): virtual function for ResourceHandleClient.
15262        It will be notified loading is finished from ResourceHandle.
15263        (WebKit::FileDownloaderEfl::didFail): virtual function for ResourceHandleClient.
15264        It will be notified loading is fail with ResourceError from ResourceHandle.
15265        (WebKit::FileDownloaderEfl::shouldUseCredentialStorage): virtual function for ResourceHandleClient.
15266        It returns whether to use credential storage or not.
15267        (WebKit::FileDownloaderEfl::didReceiveAuthenticationChallenge): virtual function for ResourceHandleClient.
15268        It will receive AuthenticationChallenge.
15269        (WebKit::FileDownloaderEfl::didCancelAuthenticationChallenge): virtual function for ResourceHandleClient.
15270        It will be notified AuthenticationChallenge is canceled.
15271        (WebKit::FileDownloaderEfl::receivedCancellation): virtual function for ResourceHandleClient.
15272        * WebProcess/Downloads/efl/FileDownloaderEfl.h: Added.
15273        (WebCore):
15274        (WebKit):
15275        (FileDownloaderEfl):
15276
152772012-02-07  MORITA Hajime  <morrita@google.com>
15278
15279        Replacement text should be available from the marker.
15280        https://bugs.webkit.org/show_bug.cgi?id=77934
15281
15282        Reviewed by Kent Tamura.
15283
15284        * win/WebKit2.def:
15285        * win/WebKit2CFLite.def:
15286
152872012-02-08  Anders Carlsson  <andersca@apple.com>
15288
15289        Don't use the wheel event handler count to track if a page has horizontal scrollbars
15290        https://bugs.webkit.org/show_bug.cgi?id=78192
15291
15292        Reviewed by Andreas Kling.
15293
15294        Prior to this change, we were incrementing and decrementing the wheel event handler count
15295        whenever a scrollable area gained or lost a horizontal scrollbar, so we could use the count
15296        to determine if Safari can handle horizontal wheel events directly or whether they have to be sent
15297        to the web process first.
15298
15299        What this meant was that whenever a page had horizontal scrollbars we'd have to send all scroll wheel events
15300        to the main thread instead of the scrolling thread, regardless of whether there were any wheel event handlers.
15301        
15302        After this change, we traverse the tree of scrollable areas after every layout and check if any of them
15303        have a horizontal scrollbar. (We still also check if there are wheel event handlers).
15304
15305        If traversing the tree after every layout is deemed to slow we can go back to caching the number of horizontal scrollbars
15306        in a page, but the number of subframes in a page is usually very small and the number of other scrollable areas is even smaller.
15307
15308        * UIProcess/WebPageProxy.cpp:
15309        (WebKit::WebPageProxy::WebPageProxy):
15310        (WebKit::WebPageProxy::willHandleHorizontalScrollEvents):
15311        * UIProcess/WebPageProxy.h:
15312        (WebKit::WebPageProxy::setCanShortCircuitHorizontalWheelEvents):
15313        (WebPageProxy):
15314        * UIProcess/WebPageProxy.messages.in:
15315        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
15316        (WebKit::WebChromeClient::numWheelEventHandlersChanged):
15317        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
15318        (WebKit::WebFrameLoaderClient::dispatchDidLayout):
15319        * WebProcess/WebPage/WebPage.cpp:
15320        (WebKit::WebPage::WebPage):
15321        (WebKit::WebPage::numWheelEventHandlersChanged):
15322        (WebKit):
15323        (WebKit::hasEnabledHorizontalScrollbar):
15324        (WebKit::pageContainsAnyHorizontalScrollbars):
15325        (WebKit::WebPage::recomputeShortCircuitHorizontalWheelEventsState):
15326        * WebProcess/WebPage/WebPage.h:
15327        (WebPage):
15328
153292012-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>
15330
15331        Unreviewed, rolling out r106920, r106924, r106933, r106939,
15332        and r107090.
15333        http://trac.webkit.org/changeset/106920
15334        http://trac.webkit.org/changeset/106924
15335        http://trac.webkit.org/changeset/106933
15336        http://trac.webkit.org/changeset/106939
15337        http://trac.webkit.org/changeset/107090
15338        https://bugs.webkit.org/show_bug.cgi?id=78124
15339
15340        Something is completely wrong this change (Requested by
15341        Ossy_gardener on #webkit).
15342
15343        * Shared/WebProcessCreationParameters.cpp:
15344        (WebKit::WebProcessCreationParameters::encode):
15345        (WebKit::WebProcessCreationParameters::decode):
15346        * Shared/WebProcessCreationParameters.h:
15347        (WebProcessCreationParameters):
15348        * UIProcess/WebContext.cpp:
15349        (WebKit::WebContext::WebContext):
15350        * UIProcess/qt/WebContextQt.cpp:
15351        (WebKit::WebContext::platformInitializeWebProcess):
15352        * WebProcess/qt/WebProcessQt.cpp:
15353        (WebKit):
15354        (WebKit::WebProcess::platformSetCacheModel):
15355        (WebKit::WebProcess::platformInitializeWebProcess):
15356
153572012-02-08  Carlos Garcia Campos  <cgarcia@igalia.com>
15358
15359        [GTK] Fix a crash when WebKitWebView is created without a WebContext
15360        https://bugs.webkit.org/show_bug.cgi?id=78104
15361
15362        Reviewed by Philippe Normand.
15363
15364        * UIProcess/API/gtk/WebKitWebView.cpp:
15365        (webkitWebViewSetProperty): Make sure WebKitWebView:web-context
15366        property is initialized to the default web context when a web
15367        context is not passed to g_object_new().
15368        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
15369        (testWebViewDefaultContext): Check that a web view created with
15370        g_object_new has the default context.
15371
153722012-02-08  Michael Brüning  <michael.bruning@nokia.com>
15373
15374        [Qt][WK2] Compute and set cache capacities using the current CacheModel
15375        https://bugs.webkit.org/show_bug.cgi?id=73918
15376
15377        Reviewed by Kenneth Rohde Christiansen.
15378
15379        * UIProcess/WebContext.cpp:
15380        (WebKit::WebContext::WebContext): Set default cacheModel for Qt platform to
15381        CacheModelPrimaryWebBrowser.
15382
153832012-02-08  Carlos Garcia Campos  <cgarcia@igalia.com>
15384
15385        [GTK] Fix WebKitWebView::decide-policy API documentation
15386        https://bugs.webkit.org/show_bug.cgi?id=78101
15387
15388        Reviewed by Martin Robinson.
15389
15390        - It refers to WebKitPolicyClient instead of WebKitWebView
15391        - Trailing ':' is missing
15392        - References @decision as WebKitNavigationPolicyDecision instead
15393        of WebKitPolicyDecision
15394
15395        * UIProcess/API/gtk/WebKitWebView.cpp:
15396        (webkit_web_view_class_init):
15397
153982012-02-08  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
15399
15400        [Qt] Build broken if qt missing openssl
15401        https://bugs.webkit.org/show_bug.cgi?id=77894
15402
15403        Reviewed by Chang Shu.
15404
15405        Build fix. No new test content. 
15406
15407        * WebProcess/qt/QtNetworkAccessManager.cpp:
15408        (WebKit::QtNetworkAccessManager::onSslErrors):
15409
154102012-02-08  Yael Aharon  <yael.aharon@nokia.com>
15411
15412        [WK2] Text notifications should have an iconURL
15413        https://bugs.webkit.org/show_bug.cgi?id=77968
15414
15415        Reviewed by Simon Hausmann.
15416        
15417        Per http://www.w3.org/TR/notifications simple text notifications should have an iconURL.
15418        Add an iconURL to WebNotification and add a public API to access it.
15419       
15420        * UIProcess/API/C/WKNotification.cpp:
15421        (WKNotificationCopyiconURL):
15422        * UIProcess/API/C/WKNotification.h:
15423        * UIProcess/Notifications/WebNotification.cpp:
15424        (WebKit::WebNotification::WebNotification):
15425        * UIProcess/Notifications/WebNotification.h:
15426        (WebKit::WebNotification::create):
15427        (WebKit::WebNotification::iconURL):
15428        (WebNotification):
15429        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
15430        (WebKit::WebNotificationManagerProxy::show):
15431        * UIProcess/Notifications/WebNotificationManagerProxy.h:
15432        (WebNotificationManagerProxy):
15433        * UIProcess/WebPageProxy.cpp:
15434        (WebKit::WebPageProxy::showNotification):
15435        * UIProcess/WebPageProxy.h:
15436        (WebPageProxy):
15437        * UIProcess/WebPageProxy.messages.in:
15438        * WebProcess/Notifications/WebNotificationManager.cpp:
15439        (WebKit::WebNotificationManager::show):
15440
154412012-02-08  Philippe Normand  <pnormand@igalia.com>
15442
15443        [GTK][WK2] enable-webaudio WebSetting
15444        https://bugs.webkit.org/show_bug.cgi?id=77959
15445
15446        Reviewed by Martin Robinson.
15447
15448        Add a new WebKitGTK WebSetting to enable/disable WebAudio at
15449        runtime.
15450
15451        * UIProcess/API/gtk/WebKitSettings.cpp:
15452        (webKitSettingsSetProperty):
15453        (webKitSettingsGetProperty):
15454        (webkit_settings_class_init):
15455        (webkit_settings_get_enable_webaudio):
15456        (webkit_settings_set_enable_webaudio):
15457        * UIProcess/API/gtk/WebKitSettings.h:
15458        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
15459        (testWebKitSettings):
15460
154612012-02-07  Martin Robinson  <mrobinson@igalia.com>
15462
15463        [GTK] [WK2] Add WebKitResponsePolicyDecision
15464        https://bugs.webkit.org/show_bug.cgi?id=76789
15465
15466        Reviewed by Philippe Normand.
15467
15468        Add a WebKitResponsePolicyDecision GObject, use it for response
15469        policy decisions and add a test.
15470
15471        * GNUmakefile.am: Added new source files to the list.
15472        * UIProcess/API/gtk/WebKitPolicyClient.cpp:
15473        (decidePolicyForResponseCallback): Added this callback which creates the request
15474        and fires the signal.
15475        (attachPolicyClientToPage): Added new callback to the C API policy client.
15476        * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp: Added.
15477        * UIProcess/API/gtk/WebKitResponsePolicyDecision.h: Added.
15478        * UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h: Added.
15479        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Added new docs.
15480        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ditto.
15481        * UIProcess/API/gtk/tests/TestWebKitPolicyClient.cpp:
15482        (testResponsePolicy): Added this test for response policy decisions.
15483        (serverCallback): Added a SoupServer to test policy response policy decisions.
15484        (beforeAll): Ditto.
15485        (afterAll): Ditto.
15486
154872012-02-07  Timothy Hatcher  <timothy@apple.com>
15488
15489        Avoid making a window for the Web Inspector when it is docked.
15490
15491        This also makes sure the inspector WKView is in a window before the page is loaded.
15492        This avoids some redundant work caused by moving it to a window later.
15493
15494        https://webkit.org/b/78064
15495
15496        Reviewed by Brian Weinstein.
15497
15498        * UIProcess/WebInspectorProxy.cpp:
15499        (WebKit::WebInspectorProxy::createInspectorPage): Set m_isAttached here...
15500        (WebKit::WebInspectorProxy::didLoadInspectorPage): ... instead of here.
15501        * UIProcess/WebInspectorProxy.h:
15502        (WebInspectorProxy):
15503        * UIProcess/mac/WebInspectorProxyMac.mm:
15504        (WebKit::WebInspectorProxy::createInspectorWindow): Added. Factored out of platformOpen.
15505        (WebKit::WebInspectorProxy::updateInspectorWindowTitle): Added. Factored out of platformInspectedURLChanged.
15506        (WebKit::WebInspectorProxy::platformCreateInspectorPage): Call platformAttach or createInspectorWindow.
15507        (WebKit::WebInspectorProxy::platformOpen): Make the view or window visible.
15508        (WebKit::WebInspectorProxy::platformDidClose): Only message m_inspectorWindow if it isn't nil.
15509        (WebKit::WebInspectorProxy::platformInspectedURLChanged): Store the urlString and call updateInspectorWindowTitle.
15510        (WebKit::WebInspectorProxy::inspectedViewFrameDidChange): Return early if not visible.
15511        (WebKit::WebInspectorProxy::platformAttach): Start out hidden if we are not visible yet. Destroy the window.
15512        (WebKit::WebInspectorProxy::platformDetach): Use createInspectorWindow to create it again.
15513
155142012-02-07  Tony Chang  <tony@chromium.org>
15515
15516        merge DashboardSupportCSSPropertyNames.in into CSSPropertyNames.in
15517        https://bugs.webkit.org/show_bug.cgi?id=78036
15518
15519        Reviewed by Darin Adler.
15520
15521        * Configurations/FeatureDefines.xcconfig: Add ENABLE_DASHBOARD_SUPPORT to FEATURE_DEFINES.
15522
155232012-02-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
15524
15525        [CMAKE] Use *bin* and *lib* directories for executable and libraries.
15526        https://bugs.webkit.org/show_bug.cgi?id=77928
15527
15528        Reviewed by Daniel Bates.
15529
15530        CMake has used *Programs* directory for executable. In addition, shared libraries are being
15531        built in source directory. It is better to set common places in order to maintain executable
15532        and libraries. *bin* is for executable and *lib* is for library.
15533
15534        * CMakeLists.txt:
15535
155362012-02-07  Timothy Hatcher  <timothy@apple.com>
15537
15538        Initilize the WebPageProxy intrinsicDeviceScaleFactor on creation of the WKView.
15539
15540        If WKView was created and loaded a page with canvas elements before beinging moved
15541        to a window, the canvas elements would be locked in at a pixel ratio of 1. With this
15542        change the WKView will use the main screen's pixel ratio until it moves to a window.
15543
15544        Reviewed by Anders Carlsson.
15545
15546        * UIProcess/API/mac/WKView.mm:
15547        (-[WKView initWithFrame:contextRef:pageGroupRef:]): Call setIntrinsicDeviceScaleFactor.
15548
155492012-02-07  Alexey Proskuryakov  <ap@apple.com>
15550
15551        Keep a reference in didReceiveInvalidMessage.
15552        https://bugs.webkit.org/show_bug.cgi?id=78024
15553
15554        Reviewed by Anders Carlsson.
15555
15556        * UIProcess/WebConnectionToWebProcess.cpp:
15557        (WebKit::WebConnectionToWebProcess::didReceiveInvalidMessage):
15558
155592012-02-06  Anders Carlsson  <andersca@apple.com>
15560
15561        ScrollableAreaSet should be moved from Page to FrameView
15562        https://bugs.webkit.org/show_bug.cgi?id=62762
15563
15564        Reviewed by Beth Dakin.
15565
15566        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
15567        (WebKit::BuiltInPDFView::initialize):
15568        Call FrameView::addScrollableArea instead.
15569
15570        (WebKit::BuiltInPDFView::destroy):
15571        Call FrameView::removeScrollableArea instead.
15572
15573        * WebProcess/Plugins/PDF/BuiltInPDFView.h:
15574        Remove disconnectFromPage since it no longer exists on ScrollableArea.
15575
155762012-02-07  Carlos Garcia Campos  <cgarcia@igalia.com>
15577
15578        [GTK] Add cut, copy and paste methods to WebKit2 GTK+ API
15579        https://bugs.webkit.org/show_bug.cgi?id=76998
15580
15581        Reviewed by Martin Robinson.
15582
15583        * GNUmakefile.am: Add WebKitEditingCommands.h.
15584        * UIProcess/API/gtk/WebKitEditingCommands.h: Added.
15585        * UIProcess/API/gtk/WebKitWebView.cpp:
15586        (didValidateCommand): Callback called by the C API when an editor
15587        command has been validated.
15588        (webkit_web_view_can_execute_editing_command): Asynchronously
15589        validate the given editing command.
15590        (webkit_web_view_can_execute_editing_command_finish): Finish async
15591        operation started by webkit_web_view_can_execute_editing_command().
15592        (webkit_web_view_execute_editing_command): Execute the given
15593        command.
15594        * UIProcess/API/gtk/WebKitWebView.h:
15595        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
15596        * UIProcess/API/gtk/tests/GNUmakefile.am:
15597        * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
15598        (LoadTrackingTest::provisionalLoadFailed): Do not finish the main
15599        loop on load failure, now finished is always called.
15600        * UIProcess/API/gtk/tests/TestBackForwardList.cpp: Use WebViewTest
15601        instead of LoadTrackingTest.
15602        * UIProcess/API/gtk/tests/TestWebViewEditor.cpp: Added.
15603        (testWebViewEditorCutCopyPasteNonEditable):
15604        (testWebViewEditorCutCopyPasteEditable):
15605        (beforeAll):
15606        (afterAll):
15607        * UIProcess/API/gtk/tests/WebViewTest.cpp:
15608        (loadChanged):
15609        (WebViewTest::waitUntilLoadFinished): Run a main loop until load
15610        finished.
15611        * UIProcess/API/gtk/tests/WebViewTest.h: Add waitUntilLoadFinished().
15612        * UIProcess/API/gtk/webkit2.h: Include WebKitEditingCommands.h.
15613
156142012-02-07  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
15615
15616        Encode radius, force and rotationAngle in WebPlatformTouchPoint.
15617        https://bugs.webkit.org/show_bug.cgi?id=77986
15618
15619        Reviewed by Kenneth Rohde Christiansen.
15620
15621        * Shared/WebEvent.h:
15622        (WebKit::WebPlatformTouchPoint::WebPlatformTouchPoint):
15623        (WebPlatformTouchPoint):
15624        (WebKit::WebPlatformTouchPoint::radius):
15625        (WebKit::WebPlatformTouchPoint::rotationAngle):
15626        (WebKit::WebPlatformTouchPoint::force):
15627        * Shared/WebEventConversion.cpp:
15628        (WebKit::WebKit2PlatformTouchPoint::WebKit2PlatformTouchPoint):
15629        * Shared/WebPlatformTouchPoint.cpp:
15630        (WebKit::WebPlatformTouchPoint::WebPlatformTouchPoint):
15631        (WebKit::WebPlatformTouchPoint::encode):
15632        (WebKit::WebPlatformTouchPoint::decode):
15633
156342012-02-07  Andras Becsi  <andras.becsi@nokia.com>
15635
15636        [Qt] [WK2] Fix the debug build after r106920
15637
15638        * WebProcess/qt/WebProcessQt.cpp:
15639        (WebKit::WebProcess::platformSetCacheModel):
15640        Remove unnecessary assert.
15641
156422012-02-03  Andras Becsi  <andras.becsi@nokia.com>
15643
15644        [Qt][WK2] Add the componentComplete method to WebView
15645        https://bugs.webkit.org/show_bug.cgi?id=77111
15646
15647        Reviewed by Simon Hausmann.
15648
15649        Move the initialization of the interaction engine to componentComplete
15650        in preparation of switching to a Flickable based content positioning
15651        for the touch based WebView.
15652        Suspend the page and delay the dispatch of load success on startup until
15653        the component finished initialization. With this patch instantiating the
15654        WebView in C++ is only possible by creating a QDeclarativeComponent as
15655        the initialization depends on the componentComplete method being called.
15656        Also return valid default values in the viewport info functions if the
15657        interaction engine is not yet initialized because the viewport info
15658        component could finish initialization earlier than the WebView, which
15659        results in QML warnings during MiniBrowser startup.
15660
15661        * UIProcess/API/qt/qquickwebview.cpp:
15662        (QQuickWebViewPrivate::initialize):
15663        (QQuickWebViewPrivate::loadDidSucceed):
15664        (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
15665        (QQuickWebViewFlickablePrivate::initialize):
15666        (QQuickWebViewFlickablePrivate::onComponentComplete):
15667        (QQuickWebViewFlickablePrivate::loadDidSucceed):
15668        (QQuickWebViewFlickablePrivate::updateViewportSize):
15669        (QQuickWebViewFlickablePrivate::_q_resume):
15670        (QQuickWebView::geometryChanged):
15671        (QQuickWebView::componentComplete):
15672        * UIProcess/API/qt/qquickwebview_p.h:
15673        * UIProcess/API/qt/qquickwebview_p_p.h:
15674        (QQuickWebViewPrivate::onComponentComplete):
15675        (QQuickWebViewPrivate):
15676        (QQuickWebViewFlickablePrivate):
15677        * UIProcess/API/qt/qwebviewportinfo.cpp:
15678        (QWebViewportInfo::currentScale):
15679        (QWebViewportInfo::devicePixelRatio):
15680        (QWebViewportInfo::initialScale):
15681        (QWebViewportInfo::minimumScale):
15682        (QWebViewportInfo::maximumScale):
15683        (QWebViewportInfo::isScalable):
15684        (QWebViewportInfo::layoutSize):
15685        * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
15686        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
15687        (tst_QQuickWebView::tst_QQuickWebView):
15688        (tst_QQuickWebView::init):
15689        (tst_QQuickWebView::multipleWebViewWindows):
15690        (tst_QQuickWebView::multipleWebViews):
15691        * UIProcess/qt/QtWebPageLoadClient.cpp:
15692        (QtWebPageLoadClient::dispatchLoadSucceeded):
15693
156942012-02-07  YoungTaeck Song  <youngtaeck.song@samsung.com>
15695
15696        [EFL][WK2] Add ModuleEfl.cpp
15697        https://bugs.webkit.org/show_bug.cgi?id=63608
15698
15699        Reviewed by Andreas Kling.
15700
15701        Add first version of ModuleEfl.cpp including load(), unload() and platformFunctionPointer().
15702
15703        * Platform/Module.h:
15704        * Platform/efl/ModuleEfl.cpp: Added.
15705        (WebKit::Module::load):
15706        (WebKit::Module::unload):
15707        (WebKit::Module::platformFunctionPointer):
15708
157092012-02-07  Michael Brüning  <michael.bruning@nokia.com>
15710
15711        [Qt][WK2] Compute and set cache capacities using the current CacheModel
15712        https://bugs.webkit.org/show_bug.cgi?id=73918
15713
15714        Reviewed by Kenneth Rohde Christiansen.
15715
15716        First part of the implementation. The next steps are the implementation
15717        of the API for the Qt WebKit 2 port and the hybrid memory and disk cache.
15718
15719        * Shared/WebProcessCreationParameters.cpp:
15720        (WebKit::WebProcessCreationParameters::encode):
15721        (WebKit::WebProcessCreationParameters::decode):
15722        * Shared/WebProcessCreationParameters.h:
15723        (WebProcessCreationParameters):
15724        * UIProcess/qt/WebContextQt.cpp:
15725        (WebKit::defaultDiskCacheDirectory):
15726        (WebKit):
15727        (WebKit::WebContext::platformInitializeWebProcess):
15728        * WebProcess/qt/WebProcessQt.cpp:
15729        (WebKit::physicalMemorySizeInBytes):
15730        (WebKit):
15731        (WebKit::WebProcess::platformSetCacheModel):
15732        (WebKit::WebProcess::platformInitializeWebProcess):
15733
157342012-02-06  Shinya Kawanaka  <shinyak@google.com>
15735
15736        Remove Element::ensureShadowRoot export.
15737        https://bugs.webkit.org/show_bug.cgi?id=77932
15738
15739        Reviewed by Hajime Morita.
15740
15741        * win/WebKit2.def:
15742        * win/WebKit2CFLite.def:
15743
157442012-02-06  Martin Robinson  <mrobinson@igalia.com>
15745
15746        [GTK] Add TextureMapperGL implementation
15747        https://bugs.webkit.org/show_bug.cgi?id=75308
15748
15749        Reviewed by Alejandro G. Castro.
15750
15751        Fix the WebKit2 + AC build for GTK+.
15752
15753        * GNUmakefile.am: Add some missing source files.
15754        * UIProcess/DrawingAreaProxy.cpp:
15755        (WebKit): Add USE(TILED_BACKING_STORE) to the guard.
15756        * UIProcess/WebPageProxy.cpp:
15757        (WebKit::WebPageProxy::didReceiveMessage): Ditto.
15758        * WebProcess/WebPage/DrawingArea.h:
15759        (DrawingArea): Ditto.
15760        * WebProcess/WebPage/DrawingAreaImpl.cpp:
15761        (WebKit): Ditto.
15762        * WebProcess/WebPage/DrawingAreaImpl.h:
15763        (DrawingAreaImpl): Ditto.
15764
157652012-02-06  Martin Robinson  <mrobinson@igalia.com>
15766
15767        Fix some miscellaneous 'make dist' error for WebKitGTK+.
15768
15769        * GNUmakefile.am: Do not distribute generated files.
15770
157712012-02-06  Anders Carlsson  <andersca@apple.com>
15772
15773        Overlay scrollbars flash when window is simply activated
15774        https://bugs.webkit.org/show_bug.cgi?id=77911
15775
15776        Reviewed by Kenneth Russell.
15777
15778        * UIProcess/API/mac/WKView.mm:
15779        (-[WKView _updateWindowVisibility]):
15780        Use -[NSWindow isVisible] here, since we also want to consider the window hidden if the application itself is hidden.
15781
15782        (-[WKView _windowDidOrderOffScreen:]):
15783        (-[WKView _windowDidOrderOnScreen:]):
15784        Call -[WKView updateWindowVisibility].
15785
15786        * WebProcess/WebPage/WebPage.cpp:
15787        (WebKit::WebPage::setWindowIsVisible):
15788        Call FocusController::setContainingWindowIsVisible.
15789
157902012-02-06  Martin Robinson  <mrobinson@igalia.com>
15791
15792         [GTK] Fix remaining errors in GTK+ WebKit2 API
15793        https://bugs.webkit.org/show_bug.cgi?id=77890
15794
15795        Reviewed by Gustavo Noronha Silva.
15796
15797        Fix some style issues in the GTK+ WebKit2 API section of the source code.
15798
15799        * UIProcess/API/gtk/WebKitPrivate.h:
15800        * UIProcess/API/gtk/WebKitWebView.cpp:
15801        * UIProcess/API/gtk/tests/TestMain.h:
15802
158032012-02-06  Matthew Delaney  <mdelaney@apple.com>
15804
15805        toDataURL() uses stale data after putImageData()
15806        https://bugs.webkit.org/show_bug.cgi?id=65767
15807
15808        Reviewed by Chris Marrin.
15809
15810        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
15811        (InitWebCoreSystemInterface):
15812
158132012-02-06  Ryosuke Niwa  <rniwa@webkit.org>
15814
15815        gcc build fix after r106749.
15816
15817        * UIProcess/WebPreferences.cpp:
15818        (WebKit::WebPreferences::WebPreferences):
15819
158202012-02-06  Martin Robinson  <mrobinson@igalia.com>
15821
15822        [GTK] WebKitWebView does a lot of work during size_allocate when not mapped
15823        https://bugs.webkit.org/show_bug.cgi?id=77743
15824
15825        Reviewed by Gustavo Noronha Silva.
15826
15827        Instead of resizing the guts of a WebView when it's not mapped, wait
15828        until it's mapped and do one resize. This prevents unmapped WebViews
15829        from adding to a container's resize cost.
15830
15831        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
15832        (_WebKitWebViewBasePrivate): Added a new member needsResizeOnMap.
15833        (resizeWebKitWebViewBaseFromAllocation): Abstracted out this helper.
15834        (webkitWebViewBaseSizeAllocate): Wait until map to resize unmapped WebViews.
15835        (webkitWebViewBaseMap): Added this vmethod implementation.
15836        (webkit_web_view_base_class_init): Added vmethod.
15837
158382012-02-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
15839
15840        WebGestureEvent can not encode delta and area.
15841        https://bugs.webkit.org/show_bug.cgi?id=77728
15842
15843        Support delta and area fields in WebGestureEvent, and send area with Qt tap gesture.
15844
15845        Reviewed by Kenneth Rohde Christiansen.
15846
15847        * Shared/WebEvent.h:
15848        (WebKit::WebGestureEvent::area):
15849        (WebKit::WebGestureEvent::delta):
15850        * Shared/WebEventConversion.cpp:
15851        (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
15852        * Shared/WebGestureEvent.cpp:
15853        (WebKit::WebGestureEvent::WebGestureEvent):
15854        (WebKit::WebGestureEvent::encode):
15855        (WebKit::WebGestureEvent::decode):
15856        * UIProcess/qt/QtWebPageEventHandler.cpp:
15857        (QtWebPageEventHandler::handleSingleTapEvent):
15858
158592012-02-03  Zalan Bujtas  <zbujtas@gmail.com>  and  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
15860
15861        [Qt][WK2] Remove TiledDrawingArea and dependencies.
15862        https://bugs.webkit.org/show_bug.cgi?id=71681
15863
15864        Reviewed by Kenneth Rohde Christiansen.
15865
15866        Tiled drawing surface functionality got converted to LayerTree.
15867        TiledDrawingArea and its dependencies are not used by any port anymore.
15868
15869        * CMakeLists.txt:
15870        * GNUmakefile.am:
15871        * Shared/DrawingAreaInfo.h:
15872        * Target.pri:
15873        * UIProcess/API/qt/qquickwebpage.cpp:
15874        (QQuickWebPagePrivate::QQuickWebPagePrivate):
15875        * UIProcess/API/qt/qquickwebpage_p.h:
15876        * UIProcess/API/qt/qquickwebpage_p_p.h:
15877        (QQuickWebPagePrivate):
15878        * UIProcess/DrawingAreaProxy.h:
15879        * UIProcess/DrawingAreaProxy.messages.in:
15880        * UIProcess/TiledDrawingAreaProxy.cpp: Removed.
15881        * UIProcess/TiledDrawingAreaProxy.h: Removed.
15882        * UIProcess/qt/QtSGTileNode.cpp: Removed.
15883        * UIProcess/qt/QtSGTileNode.h: Removed.
15884        * UIProcess/qt/QtSGUpdateQueue.cpp: Removed.
15885        * UIProcess/qt/QtSGUpdateQueue.h: Removed.
15886        * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: Removed.
15887        * WebProcess/WebPage/DrawingArea.cpp:
15888        (WebKit::DrawingArea::create):
15889        * WebProcess/WebPage/DrawingArea.h:
15890        * WebProcess/WebPage/DrawingArea.messages.in:
15891        * WebProcess/WebPage/TiledDrawingArea.cpp: Removed.
15892        * WebProcess/WebPage/TiledDrawingArea.h: Removed.
15893        * WebProcess/WebPage/WebPage.h:
15894        (WebPage):
15895
158962012-02-03  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
15897
15898        [Qt] Don't version QtWebKit.experimental.
15899        https://bugs.webkit.org/show_bug.cgi?id=77739
15900
15901        Reviewed by Tor Arne Vestbø.
15902
15903        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml:
15904        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
15905        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
15906        * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
15907        * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml:
15908        * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml:
15909        * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
15910        * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml:
15911        * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
15912
159132012-02-06  Carlos Garcia Campos  <cgarcia@igalia.com>
15914
15915        [GTK] Fix several gtkdoc-fixxref warnings
15916        https://bugs.webkit.org/show_bug.cgi?id=77613
15917
15918        Reviewed by Martin Robinson.
15919
15920        * UIProcess/API/gtk/WebKitWindowProperties.cpp: Fix a typo, a
15921        colon was missing in WebKitWebView::ready-to-show.
15922
159232012-02-05  Dan Bernstein  <mitz@apple.com>
15924
15925        <rdar://problem/10809525> WebKit2’s WebFrameLoaderClient::shouldUseCredentialStorage() always returns true
15926        https://bugs.webkit.org/show_bug.cgi?id=77823
15927
15928        Reviewed by Anders Carlsson.
15929
15930        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
15931        * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
15932        (WebKit::InjectedBundlePageResourceLoadClient::shouldUseCredentialStorage): Added. Calls
15933        through to the client if it implements shouldUseCredentialStorage. Returns true otherwise.
15934        * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
15935        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
15936        (WebKit::WebFrameLoaderClient::shouldUseCredentialStorage): Changed to call the injected
15937        bundle resource load client.
15938
159392012-02-04  Dan Bernstein  <mitz@apple.com>
15940
15941        <rdar://problem/10660698> Clients cannot prevent caching of individual responses
15942        https://bugs.webkit.org/show_bug.cgi?id=77822
15943
15944        Reviewed by Sam Weinig.
15945
15946        * Shared/APIClientTraits.cpp: Added definition of interfaceSizesByVersion for
15947        WKBundlePageResourceLoadClient.
15948        * Shared/APIClientTraits.h: Added APIClientTraits specialization for WKBundlePageResourceLoadClient.
15949        * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Added WKBundlePageShouldCacheResponseCallback
15950        typedef, added shouldCacheResponse member to WKBundlePageResourceLoadClient, and bumped
15951        kWKBundlePageResourceLoadClientCurrentVersion to 1.
15952        * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
15953        (WebKit::InjectedBundlePageResourceLoadClient::shouldCacheResponse): Added. Calls through
15954        to the client if it implements shouldCacheResponse. Returns true otherwise.
15955        * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
15956        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
15957        (WebKit::WebFrameLoaderClient::willCacheResponse): Changed to call
15958        InjectedBundlePageResourceLoadClient::shouldCacheResponse() and return nil if the former
15959        returns false.
15960        (WebKit::WebFrameLoaderClient::shouldCacheResponse): Changed to call
15961        InjectedBundlePageResourceLoadClient::shouldCacheResponse().
15962
159632012-02-04  Sam Weinig  <sam@webkit.org>
15964
15965        Add ability to send WKURLRequests in WebKit2 API user messages
15966        https://bugs.webkit.org/show_bug.cgi?id=77819
15967
15968        Reviewed by Anders Carlsson.
15969
15970        Test: WebKit2UserMessageRoundTripTest API test.
15971
15972        * Shared/UserMessageCoders.h:
15973        (WebKit::UserMessageEncoder::baseEncode):
15974        (WebKit::UserMessageDecoder::baseDecode):
15975        Add encode/decode for WebURLRequest.
15976
159772012-02-04  Dan Bernstein  <mitz@apple.com>
15978
15979        <rdar://problem/10772406> WKPreferences instances cannot be copied
15980        https://bugs.webkit.org/show_bug.cgi?id=77816
15981
15982        Reviewed by Sam Weinig.
15983
15984        Test added in TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp.
15985
15986        * UIProcess/API/C/WKPreferences.cpp:
15987        (WKPreferencesCreateCopy): Added.
15988        * UIProcess/API/C/WKPreferencesPrivate.h:
15989        * UIProcess/WebPreferences.cpp:
15990        (WebKit::WebPreferences::WebPreferences): Added this constructor that copies the
15991        WebPreferencesStore of the given WebPreferences.
15992        * UIProcess/WebPreferences.h:
15993        (WebKit::WebPreferences::create): Added this create function that takes a WebPreferences
15994        instance and creates a new instance with a copy of the given instance’s store.
15995
159962012-02-03  Anders Carlsson  <andersca@apple.com>
15997
15998        WebKit2 should dispatch wheel events to the new ScrollingTree class
15999        https://bugs.webkit.org/show_bug.cgi?id=77795
16000
16001        Reviewed by Andreas Kling.
16002
16003        Replace all uses of ScrollingCoordinator with ScrollingTree instead.
16004        Also, don't try to handle gesture events on the scrolling thread anymore;
16005        we don't need to to that right now.
16006
16007        * WebProcess/WebPage/EventDispatcher.cpp:
16008        (WebKit::EventDispatcher::addScrollingTreeForPage):
16009        (WebKit::EventDispatcher::removeScrollingTreeForPage):
16010        (WebKit::EventDispatcher::wheelEvent):
16011        (WebKit::EventDispatcher::gestureEvent):
16012        * WebProcess/WebPage/EventDispatcher.h:
16013        (WebCore):
16014        (EventDispatcher):
16015        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
16016        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
16017        (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
16018
160192012-02-03  Alexey Proskuryakov  <ap@apple.com>
16020
16021        [WK2 Mac] No need to allow access to input methods or keyboard layouts
16022        https://bugs.webkit.org/show_bug.cgi?id=77775
16023        <rdar://problem/9276253>
16024        <rdar://problem/9276268>
16025
16026        Reviewed by Dan Bernstein.
16027
16028        * WebProcess/com.apple.WebProcess.sb: These rules were likely only necessary in early days
16029        of WebKit2. If there are cases when this happens, that's likely wrong, and we need to know
16030        about that.
16031
160322012-02-03  Alexey Proskuryakov  <ap@apple.com>
16033
16034        [WK2] Use properly quoted string literals
16035        https://bugs.webkit.org/show_bug.cgi?id=77583
16036
16037        Reviewed by Darin Adler.
16038
16039        Also added some FIXMEs.
16040
16041        * WebProcess/com.apple.WebProcess.sb:
16042
160432012-02-03  Brady Eidson  <beidson@apple.com>
16044
16045        <rdar://problem/10742441> and https://bugs.webkit.org/show_bug.cgi?id=77766
16046        Need a WK2 API to filter which subframes go into WebArchives as they are created.
16047
16048        Reviewed by Darin Adler.
16049
16050        Add a new WKBundleFrame API that takes a filter callback object to allow or reject
16051        subframes from a WebArchive:
16052        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
16053        (WKBundleFrameCopyWebArchive):
16054        (WKBundleFrameCopyWebArchiveFilteringSubframes):
16055        * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
16056
16057        Implement the above API by calling through to WebCore:
16058        * WebProcess/WebPage/WebFrame.cpp:
16059        (WebFrameFilter):
16060        (WebKit::WebFrameFilter::WebFrameFilter):
16061        (WebKit::WebFrameFilter::shouldIncludeSubframe):
16062        (WebKit::WebFrame::webArchiveData):
16063        * WebProcess/WebPage/WebFrame.h:
16064        (WebFrame):
16065
16066        * WebProcess/WebPage/WebPage.cpp:
16067        (WebKit::WebPage::getWebArchiveOfFrame):
16068
160692012-02-03  Alexey Proskuryakov  <ap@apple.com>
16070
16071        [Mac WK2] Use a minimally invasive way to fake plug-in process name
16072        https://bugs.webkit.org/show_bug.cgi?id=77682
16073
16074        Reviewed by Darin Adler.
16075
16076        * PluginProcess/PluginProcess.cpp: (WebKit::PluginProcess::netscapePluginModule):
16077        Only change the name as it's seen from within the process.
16078
16079        * Shared/Plugins/PluginQuirks.h: Fixed a typo.
16080
160812012-02-03  Beth Dakin  <bdakin@apple.com>
16082
16083        https://bugs.webkit.org/show_bug.cgi?id=77691
16084        Fix PlatformScreen layering violation and PlatformScreenMac's incorrect use 
16085        of device scale
16086
16087        Reviewed by Andy Estes.
16088
16089        toUserSpace() and toDeviceSpace() don't need to take device scale.
16090        * UIProcess/API/mac/WKView.mm:
16091        (-[WKView _convertToDeviceSpace:]):
16092        (-[WKView _convertToUserSpace:]):
16093
160942012-02-03  No'am Rosenthal  <noam.rosenthal@nokia.com>
16095
16096        [Qt][Texmap] Refactor TextureMapper API to use ImageBuffers when possible.
16097        https://bugs.webkit.org/show_bug.cgi?id=77148
16098
16099        Reviewed by Martin Robinson.
16100
16101        Use TextureMapper::create instead of creating TextureMapperGL/TextureMapperQt directly.
16102        Remove calls to unused API.
16103
16104        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
16105        (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
16106        (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
16107        (WebKit::LayerTreeHostProxy::createImage):
16108        (WebKit::LayerTreeHostProxy::ensureRootLayer):
16109
161102012-02-03  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
16111
16112        [Qt] Split QQuickWebViewPrivate in two classes, for desktop and touch behavior.
16113        https://bugs.webkit.org/show_bug.cgi?id=77632
16114
16115        Reviewed by Kenneth Rohde Christiansen.
16116
16117        Replace the runtime property setting the desktop behavior on each instance
16118        by a static boolean controlling the behavior used by future created WebViews.
16119
16120        * UIProcess/API/qt/qquickwebpage.cpp:
16121        Let only setContentsSize control the size of the drawing area instead of deferring
16122        it until geometryChanged is called.
16123        (QQuickWebPagePrivate::QQuickWebPagePrivate):
16124        * UIProcess/API/qt/qquickwebpage_p.h:
16125        * UIProcess/API/qt/qquickwebpage_p_p.h:
16126        (QQuickWebPagePrivate):
16127        * UIProcess/API/qt/qquickwebview.cpp:
16128        (createPrivateObject):
16129        (QQuickWebViewPrivate::QQuickWebViewPrivate):
16130        (QQuickWebViewPrivate::~QQuickWebViewPrivate):
16131        (QQuickWebViewPrivate::initialize):
16132        (QQuickWebViewPrivate::processDidCrash):
16133        (QQuickWebViewLegacyPrivate::QQuickWebViewLegacyPrivate):
16134        (QQuickWebViewLegacyPrivate::initialize):
16135        (QQuickWebViewLegacyPrivate::updateViewportSize):
16136        (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
16137        (QQuickWebViewFlickablePrivate::~QQuickWebViewFlickablePrivate):
16138        (QQuickWebViewFlickablePrivate::initialize):
16139        (QQuickWebViewFlickablePrivate::loadDidCommit):
16140        (QQuickWebViewFlickablePrivate::didFinishFirstNonEmptyLayout):
16141        (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
16142        (QQuickWebViewFlickablePrivate::updateViewportSize):
16143        (QQuickWebViewFlickablePrivate::_q_updateVisibleContentRectAndScale):
16144        (QQuickWebViewFlickablePrivate::_q_suspend):
16145        (QQuickWebViewFlickablePrivate::_q_resume):
16146        (QQuickWebViewFlickablePrivate::pageDidRequestScroll):
16147        (QQuickWebViewFlickablePrivate::didChangeContentsSize):
16148        (QQuickWebViewFlickablePrivate::computeViewportConstraints):
16149        (QQuickWebViewFlickablePrivate::PostTransitionState::apply):
16150        (QQuickWebViewExperimental::setFlickableViewportEnabled):
16151        The switch is now a static function that has to be called before a WebView
16152        is created. The switch can have it's default defined by the deploying platform.
16153        (QQuickWebViewExperimental::flickableViewportEnabled):
16154        (QQuickWebView::QQuickWebView):
16155        On creation of QQuickWebView, the static boolean is read to know if we want
16156        a QQuickWebViewTouchPrivate or a QQuickWebViewDesktopPrivate.
16157        (QQuickWebView::geometryChanged):
16158        * UIProcess/API/qt/qquickwebview_p.h:
16159        * UIProcess/API/qt/qquickwebview_p_p.h:
16160        (QQuickWebViewPrivate):
16161        (QQuickWebViewPrivate::loadDidCommit):
16162        (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
16163        (QQuickWebViewPrivate::didChangeViewportProperties):
16164        (QQuickWebViewPrivate::viewportInteractionEngine):
16165        (QQuickWebViewPrivate::updateViewportSize):
16166        (QQuickWebViewPrivate::_q_updateVisibleContentRectAndScale):
16167        (QQuickWebViewPrivate::_q_suspend):
16168        (QQuickWebViewPrivate::_q_resume):
16169        (QQuickWebViewPrivate::pageDidRequestScroll):
16170        (QQuickWebViewPrivate::didChangeContentsSize):
16171        (QQuickWebViewLegacyPrivate):
16172        (QQuickWebViewFlickablePrivate):
16173        (QQuickWebViewFlickablePrivate::viewportInteractionEngine):
16174        (PostTransitionState):
16175        (QQuickWebViewFlickablePrivate::PostTransitionState::PostTransitionState):
16176        * UIProcess/API/qt/qwebviewportinfo.cpp:
16177        (QWebViewportInfo::currentScale):
16178        (QWebViewportInfo::devicePixelRatio):
16179        (QWebViewportInfo::initialScale):
16180        (QWebViewportInfo::minimumScale):
16181        (QWebViewportInfo::maximumScale):
16182        (QWebViewportInfo::isScalable):
16183        (QWebViewportInfo::layoutSize):
16184        * UIProcess/API/qt/tests/publicapi/publicapi.pro:
16185        * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro: Added.
16186        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/DesktopWebView.qml: Removed.
16187        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml: Renamed
16188        from Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_itemSelector.qml.
16189        Moved to DesktopBehavior instead of using a DesktopWebView to workaround the touch event limitation.
16190        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
16191        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
16192        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
16193        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
16194        * UIProcess/API/qt/tests/qmltests/WebView.pro: Copied
16195        from Source/WebKit2/UIProcess/API/qt/tests/qmltests/qmltests.pro.
16196        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
16197        Split qmltests in two executables, tst_qmltests_DesktopBehavior and tst_qmltests_WebView.
16198        The former runs without setFlickableViewportEnabled and the later does.
16199        * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
16200        (main):
16201        * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
16202        * UIProcess/API/qt/tests/tests.pri:
16203        * UIProcess/qt/QtWebPageEventHandler.cpp:
16204        (QtWebPageEventHandler::QtWebPageEventHandler):
16205
162062012-02-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
16207
16208        [Qt] Rename content* to contents* in QQuickWebPage.
16209        https://bugs.webkit.org/show_bug.cgi?id=77629
16210
16211        Reviewed by Kenneth Rohde Christiansen.
16212
16213        * UIProcess/API/qt/qquickwebpage.cpp:
16214        (QQuickWebPagePrivate::QQuickWebPagePrivate):
16215        (QQuickWebPagePrivate::paintToCurrentGLContext):
16216        (QQuickWebPage::setContentsSize):
16217        (QQuickWebPage::contentsSize):
16218        (QQuickWebPage::setContentsScale):
16219        (QQuickWebPage::contentsScale):
16220        (QQuickWebPage::transformToItem):
16221        (QQuickWebPagePrivate::updateSize):
16222        * UIProcess/API/qt/qquickwebpage_p.h:
16223        * UIProcess/API/qt/qquickwebpage_p_p.h:
16224        (QQuickWebPagePrivate):
16225        * UIProcess/API/qt/qquickwebview.cpp:
16226        (QQuickWebViewPrivate::didChangeContentsSize):
16227        (QQuickWebViewPrivate::updateVisibleContentRectAndScale):
16228        (QQuickWebViewPrivate::PostTransitionState::apply):
16229        * UIProcess/API/qt/qwebviewportinfo.cpp:
16230        (QWebViewportInfo::contentsSize):
16231        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
16232        (tst_QQuickWebView::scrollRequest):
16233        * UIProcess/qt/QtViewportInteractionEngine.cpp:
16234        (WebKit::QtViewportInteractionEngine::setItemRectVisible):
16235        (WebKit::QtViewportInteractionEngine::event):
16236        (WebKit::QtViewportInteractionEngine::wheelEvent):
16237        (WebKit::QtViewportInteractionEngine::pagePositionRequest):
16238        (WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale):
16239        (WebKit::QtViewportInteractionEngine::applyConstraints):
16240        (WebKit::QtViewportInteractionEngine::currentCSSScale):
16241        (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
16242        (WebKit::QtViewportInteractionEngine::scaleContent):
16243
162442012-02-03  Simon Hausmann  <simon.hausmann@nokia.com>
16245
16246        [Qt] Fix build when cross-compiling
16247        https://bugs.webkit.org/show_bug.cgi?id=77634
16248
16249        Reviewed by Tor Arne Vestbø.
16250
16251        * WebKit2.pri: Link in -lrt on linux mkspecs, regardless of whether gcc
16252        is in use or not. More specifically this fixes the case where the makespace
16253        is not linux-g++* but for a cross-compiling one like linux-arm-gnueabi-g++.
16254
162552012-02-03  Shinya Kawanaka  <shinyak@google.com>
16256
16257        Stop calling Element::ensureShadowRoot in Internals.
16258        https://bugs.webkit.org/show_bug.cgi?id=77612
16259
16260        Reviewed by Hajime Morita.
16261
16262        Exports symbols.
16263
16264        * win/WebKit2.def:
16265        * win/WebKit2CFLite.def:
16266
162672012-02-02  Sheriff Bot  <webkit.review.bot@gmail.com>
16268
16269        Unreviewed, rolling out r106620.
16270        http://trac.webkit.org/changeset/106620
16271        https://bugs.webkit.org/show_bug.cgi?id=77716
16272
16273        It broke non ENABLE(3D_RENDERING) builds (Requested by
16274        Ossy_morning on #webkit).
16275
16276        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
16277        (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
16278        (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
16279        (WebKit::LayerTreeHostProxy::createImage):
16280        (WebKit::LayerTreeHostProxy::ensureRootLayer):
16281
162822012-02-02  No'am Rosenthal  <noam.rosenthal@nokia.com>
16283
16284        [Qt][Texmap] Refactor TextureMapper API to use ImageBuffers when possible.
16285        https://bugs.webkit.org/show_bug.cgi?id=77148
16286
16287        Reviewed by Martin Robinson.
16288
16289        Use TextureMapper::create instead of creating TextureMapperGL/TextureMapperQt directly.
16290        Remove calls to unused API.
16291
16292        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
16293        (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
16294        (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
16295        (WebKit::LayerTreeHostProxy::createImage):
16296        (WebKit::LayerTreeHostProxy::ensureRootLayer):
16297
162982012-02-02  Jon Lee  <jonlee@apple.com>
16299
16300        Clear shown notifications when context is no longer active
16301        https://bugs.webkit.org/show_bug.cgi?id=77363
16302        <rdar://problem/10568907>
16303
16304        Reviewed by Darin Adler.
16305
16306        * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
16307        (WebKit::WebNotificationClient::clearNotifications): Forward the call to
16308        WebNotificationManager.
16309        * WebProcess/WebCoreSupport/WebNotificationClient.h:
16310        (WebNotificationClient):
16311
16312        * WebProcess/Notifications/WebNotificationManager.h: Add an additional map that maps
16313        all notifications associated with a given ScriptExecutionContext instance.
16314        * WebProcess/Notifications/WebNotificationManager.cpp:
16315        (WebKit::WebNotificationManager::show): Create a map entry for the notification's
16316        context if it doesn't exist already, and note that notification's ID. Also, correct
16317        the return value of show() if notifications are not enabled, to return false.
16318        (WebKit::WebNotificationManager::didCloseNotifications): When the notification is closed,
16319        we remove that notification from the map.
16320        (WebKit::WebNotificationManager::clearNotifications): Use the map entry for the given
16321        context, and pass that along to the proxy so that all of the notifications with those IDs
16322        can be cleared. In the meantime, we remove that context's map entry.
16323
16324        * UIProcess/Notifications/WebNotificationManagerProxy.messages.in: New ClearNotifications()
16325        message.
16326        * UIProcess/Notifications/WebNotificationManagerProxy.h:
16327        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
16328        (WebKit::WebNotificationManagerProxy::clearNotifications): Forward the call to the provider.
16329        Then remove this proxy's entries for the given notification IDs.
16330
16331        * UIProcess/Notifications/WebNotificationProvider.cpp:
16332        (WebKit::WebNotificationProvider::clearNotifications): Convert the vector of IDs to a mutable
16333        array.
16334        * UIProcess/Notifications/WebNotificationProvider.h:
16335        (WebNotificationProvider):
16336
16337        * UIProcess/API/C/WKNotificationProvider.h: Add WK API to tell the platform to clear the notifications.
16338
16339        Remove the #if guard since they already exist in WebNotificationManager functions:
16340        * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
16341        (WebKit::WebNotificationClient::show):
16342        (WebKit::WebNotificationClient::cancel):
16343        (WebKit::WebNotificationClient::notificationObjectDestroyed):
16344
163452012-02-02  Anders Carlsson  <andersca@apple.com>
16346
16347        NPAPI will not send mouse up events when mouse is outside plugin area
16348        https://bugs.webkit.org/show_bug.cgi?id=77657
16349        <rdar://problem/10160674>
16350
16351        Reviewed by Andreas Kling.
16352
16353        Use EventHandler::setCapturingMouseEventsNode to ensure we get all the mouse events when the mouse is down.
16354
16355        * WebProcess/Plugins/PluginView.cpp:
16356        (WebKit::PluginView::handleEvent):
16357
163582012-02-02  Claudio Saavedra  <csaavedra@igalia.com> and Martin Robinson  <mrobinson@igalia.com>
16359
16360        [GTK] WebKitWebView won't work in a GtkOffscreenWindow
16361        https://bugs.webkit.org/show_bug.cgi?id=76911
16362
16363        Reviewed by Philippe Normand.
16364
16365        * UIProcess/API/gtk/WebKitUIClient.cpp:
16366        (getWindowFrame): Use the new helper.
16367        * UIProcess/API/gtk/WebKitWebView.cpp:
16368        (webkitWebViewCreateJavaScriptDialog): Ditto
16369        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
16370        (webkitWebViewBaseRealize): Ditto.
16371        (webkitWebViewBaseSizeAllocate): Ditto.
16372        (webkitWebViewBaseFocusInEvent): Ditto.
16373
163742012-02-01  Philippe Normand  <pnormand@igalia.com>
16375
16376        [GStreamer] FFTFrame implementation
16377        https://bugs.webkit.org/show_bug.cgi?id=73545
16378
16379        Reviewed by Chris Rogers.
16380
16381        * GNUmakefile.am: Remove libfftw compilation flags.
16382
163832012-02-01  No'am Rosenthal  <noam.rosenthal@nokia.com>
16384
16385        [Texmap] Use glScissors for clipping in TextureMapperGL when possible
16386        https://bugs.webkit.org/show_bug.cgi?id=77575
16387
16388        Reviewed by Martin Robinson.
16389
16390        Instead of applying the scissor clip in QQuickWebPage, we trickle it down to
16391        TextureMapperGL, and apply it there as part of beginClip(). All direct GL operations are
16392        now cleaned out of QQuickWebPage.
16393
16394        * UIProcess/API/qt/qquickwebpage.cpp:
16395        (QQuickWebPagePrivate::paintToCurrentGLContext):
16396        * UIProcess/DrawingAreaProxy.h:
16397        (WebKit::DrawingAreaProxy::paintToCurrentGLContext):
16398        * UIProcess/DrawingAreaProxyImpl.cpp:
16399        (WebKit::DrawingAreaProxyImpl::paintToCurrentGLContext):
16400        * UIProcess/DrawingAreaProxyImpl.h:
16401        (DrawingAreaProxyImpl):
16402        * UIProcess/LayerTreeHostProxy.h:
16403        (LayerTreeHostProxy):
16404        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
16405        (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
16406
164072012-02-01  Dan Bernstein  <mitz@apple.com>
16408
16409        WebKit2 part of <rdar://problem/10442663> Paginated display does not respect page-break-{before,after}
16410        https://bugs.webkit.org/show_bug.cgi?id=77505
16411
16412        Reviewed by Darin Adler.
16413
16414        * Shared/WebPageCreationParameters.cpp:
16415        (WebKit::WebPageCreationParameters::encode): Encode paginationBehavesLikeColumns.
16416        (WebKit::WebPageCreationParameters::decode): Decode paginationBehavesLikeColumns.
16417        * Shared/WebPageCreationParameters.h:
16418        (WebPageCreationParameters): Added paginationBehavesLikeColumns boolean.
16419        * UIProcess/API/C/WKPage.cpp:
16420        (WKPageSetPaginationBehavesLikeColumns): Added this setter.
16421        (WKPageGetPaginationBehavesLikeColumns): Added this getter.
16422        * UIProcess/API/C/WKPagePrivate.h:
16423        * UIProcess/API/mac/WKBrowsingContextController.mm:
16424        (-[WKBrowsingContextController setPaginationBehavesLikeColumns:]): Added this Objective-C
16425        wrapper around WKPageSetPaginationBehavesLikeColumns.
16426        (-[WKBrowsingContextController paginationBehavesLikeColumns]): Added this Objective-C wrapper
16427        around WKPageGetPaginationBehavesLikeColumns.
16428        * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h:
16429        * UIProcess/WebPageProxy.cpp:
16430        (WebKit::WebPageProxy::WebPageProxy): Added call to setPaginationBehavesLikeColumns() with
16431        the value from the creation parameters.
16432        (WebKit::WebPageProxy::setPaginationBehavesLikeColumns): Added this setter.
16433        (WebKit::WebPageProxy::creationParameters): Populate paginationBehavesLikeColumns.
16434        * UIProcess/WebPageProxy.h:
16435        (WebKit::WebPageProxy::paginationBehavesLikeColumns): Added this getter.
16436        * WebProcess/WebPage/WebPage.cpp:
16437        (WebKit::WebPage::setPaginationBehavesLikeColumns): Added this setter.
16438        * WebProcess/WebPage/WebPage.h:
16439        * WebProcess/WebPage/WebPage.messages.in: Added SetPaginationBehavesLikeColumns message.
16440
164412012-02-01  Anders Carlsson  <andersca@apple.com>
16442
16443        REGRESSION (r104727): Strange graphics corruption opening a new tab in Safari
16444        https://bugs.webkit.org/show_bug.cgi?id=77578
16445        <rdar://problem/10767174>
16446
16447        Reviewed by Dan Bernstein.
16448
16449        Resizing a window will always invalidate the window backing store, so make sure to set
16450        _data->_windowHasValidBackingStore to NO whenever that happens.
16451
16452        * UIProcess/API/mac/WKView.mm:
16453        (-[WKView addWindowObserversForWindow:]):
16454        Use separate methods for the NSWindowDidMoveNotification and NSWindowDidResizeNotification notifications.
16455
16456        (-[WKView _windowDidMove:]):
16457        Call -[WKView _updateWindowAndViewFrames].
16458
16459        (-[WKView _windowDidResize:]):
16460        Call -[WKView _updateWindowAndViewFrames] and mark the window backing store as invalid.
16461
164622012-02-01  Beth Dakin  <bdakin@apple.com>
16463
16464        https://bugs.webkit.org/show_bug.cgi?id=77383
16465        Add a different didFirstVisuallNonEmptyLayout heuristic to experiment with
16466        -and corresponding-
16467        <rdar://problem/10709560>
16468
16469        Reviewed by Sam Weinig.
16470
16471        Machinery for didNewFirstVisuallNonEmptyLayout.
16472        * UIProcess/API/C/WKPage.h:
16473        * UIProcess/WebLoaderClient.cpp:
16474        (WebKit::WebLoaderClient::didNewFirstVisuallyNonEmptyLayout):
16475        (WebKit):
16476        * UIProcess/WebLoaderClient.h:
16477        (WebLoaderClient):
16478        * UIProcess/WebPageProxy.cpp:
16479        (WebKit::WebPageProxy::didNewFirstVisuallyNonEmptyLayout):
16480        (WebKit):
16481        * UIProcess/WebPageProxy.h:
16482        (WebPageProxy):
16483        * UIProcess/WebPageProxy.messages.in:
16484        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
16485        (WebKit::WebFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout):
16486        (WebKit):
16487        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
16488        (WebFrameLoaderClient):
16489
16490        This temporary API allows the client to specify the threshold for the painted 
16491        objects counter on Page. This is temporary.
16492        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
16493        (WKBundlePageSetPaintedObjectsCounterThreshold):
16494        * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
16495        * WebProcess/WebPage/WebPage.cpp:
16496        (WebKit::WebPage::setPaintedObjectsCounterThreshold):
16497        (WebKit):
16498        * WebProcess/WebPage/WebPage.h:
16499        (WebPage):
16500
165012012-01-31  Alexey Proskuryakov  <ap@apple.com>
16502
16503        REGRESSION (WebKit2): event.keyCode is always zero when typing in Russian
16504        https://bugs.webkit.org/show_bug.cgi?id=77473
16505        <rdar://problem/10751357>
16506
16507        Reviewed by Darin Adler.
16508
16509        * Shared/mac/WebEventFactory.mm: Removed broken copy/pasted implementation in favor of
16510        WebCore ones.
16511
165122012-01-31  Alexey Proskuryakov  <ap@apple.com>
16513
16514        PluginProcess should be able to use remote open and save panels
16515        https://bugs.webkit.org/show_bug.cgi?id=77461
16516        <rdar://problem/10783615>
16517
16518        Reviewed by Mark Rowe.
16519
16520        * PluginProcess/mac/PluginProcess.entitlements: Added.
16521        * PluginProcess/mac/add-entitlements.sh: Added.
16522        * WebKit2.xcodeproj/project.pbxproj:
16523        Add appropriate entitlement, plus ad hoc binary signing for it to work.
16524
165252012-01-31  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
16526
16527        Ensure tiles are repainted when scrolling using mouse wheel.
16528        https://bugs.webkit.org/show_bug.cgi?id=77339
16529
16530        A new slot visibleContentRectAndScaleChanged has been added
16531        that is emited by non-animated scrolling code in the
16532        QtViewportInteractionEngine.
16533
16534        Reviewed by Kenneth Rohde Christiansen.
16535
16536        * UIProcess/API/qt/qquickwebview.cpp:
16537        (QQuickWebViewPrivate::initializeDesktop):
16538        (QQuickWebViewPrivate::initializeTouch):
16539        (QQuickWebViewPrivate::_q_resume):
16540        (QQuickWebViewPrivate::_q_updateVisibleContentRectAndScale):
16541        (QQuickWebViewPrivate::updateTouchViewportSize):
16542        * UIProcess/API/qt/qquickwebview_p.h:
16543        * UIProcess/API/qt/qquickwebview_p_p.h:
16544        (QQuickWebViewPrivate):
16545        * UIProcess/qt/QtViewportInteractionEngine.cpp:
16546        (WebKit::QtViewportInteractionEngine::wheelEvent):
16547        * UIProcess/qt/QtViewportInteractionEngine.h:
16548        (QtViewportInteractionEngine):
16549
165502012-01-31  Zeno Albisser  <zeno@webkit.org>
16551
16552        [Qt][WK2] Make UIProcess decide about encoding of input data for application URL schemes.
16553        https://bugs.webkit.org/show_bug.cgi?id=77417
16554
16555        Make the UIProcess decide about the encoding and display
16556        a warning in case no encoding was defined.
16557        Make the QQuickNetworkReply store a QWeakPointer to the
16558        QQuickWebViewExperimental to get rid of hackish chain of parental queries.
16559
16560        Reviewed by Simon Hausmann.
16561
16562        * UIProcess/API/qt/qquicknetworkreply.cpp:
16563        (QQuickNetworkReply::send):
16564        (QQuickNetworkReply::setWebViewExperimental):
16565        * UIProcess/API/qt/qquicknetworkreply_p.h:
16566        * UIProcess/API/qt/qquickwebview.cpp:
16567        (QQuickWebViewExperimental::schemeDelegates_Append):
16568        * WebProcess/qt/QtNetworkReply.cpp:
16569        (WebKit::QtNetworkReply::QtNetworkReply):
16570        (WebKit::QtNetworkReply::setReplyData):
16571
165722012-01-30  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
16573
16574        [Qt] Disconnect the LayerTreeHost from layers when they get removed from their parent.
16575        https://bugs.webkit.org/show_bug.cgi?id=77362
16576
16577        Reviewed by Noam Rosenthal.
16578
16579        This fixes crashes seen in layout tests under certain timing circumstances
16580        that appeared after r106109 was landed.
16581
16582        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
16583        (WebCore::WebGraphicsLayer::replaceChild):
16584        (WebCore::WebGraphicsLayer::removeFromParent):
16585
165862012-01-30  Beth Dakin  <bdakin@apple.com>
16587
16588        https://bugs.webkit.org/show_bug.cgi?id=77263
16589        PlatformScreenMac should not rely on NSWindow for important bits of data
16590
16591        Reviewed by Geoff Garen.
16592
16593        toUserSpace() and toDeviceSpace() now take a parameter for the 
16594        deviceScaleFactor.
16595        * UIProcess/API/mac/WKView.mm:
16596        (-[WKView _convertToDeviceSpace:]):
16597        (-[WKView _convertToUserSpace:]):
16598
165992012-01-26  No'am Rosenthal  <noam.rosenthal@nokia.com> and Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
16600
16601        [Qt] WKTR: Use a software rendering pipiline when running tests.
16602        https://bugs.webkit.org/show_bug.cgi?id=76708
16603
16604        Reviewed by Kenneth Rohde Christiansen.
16605
16606        Animation layout tests require the graphics layers tree to be updated
16607        to pass. WebkitTestRunner doesn't show its wrapping QQuickView, which
16608        prevents the rendering pipeline to run and then in turn blocks the web
16609        process from processing further graphics layer updates.
16610
16611        This allows the tests to use a TextureMapperQt to empty the LayerTreeHost's
16612        message queue and render the layers in software on an offscreen buffer.
16613
16614        * UIProcess/API/qt/qquickwebpage.cpp:
16615        (QQuickWebPagePrivate::paint):
16616        * UIProcess/API/qt/qquickwebview.cpp:
16617        (QQuickWebViewPrivate::QQuickWebViewPrivate):
16618        (QQuickWebViewPrivate::setNeedsDisplay):
16619        (QQuickWebViewExperimental::setRenderToOffscreenBuffer):
16620        (QQuickWebViewExperimental::renderToOffscreenBuffer):
16621        * UIProcess/API/qt/qquickwebview_p.h:
16622        * UIProcess/API/qt/qquickwebview_p_p.h:
16623        (QQuickWebViewPrivate::setRenderToOffscreenBuffer):
16624        (QQuickWebViewPrivate::renderToOffscreenBuffer):
16625        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
16626        (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
16627
166282012-01-30  Andras Becsi  <andras.becsi@nokia.com>
16629
16630        [Qt][WK2] Render layers do not get flushed when the scroll animation finishes
16631        https://bugs.webkit.org/show_bug.cgi?id=77338
16632
16633        Reviewed by Noam Rosenthal.
16634
16635        Schedule a layer flush when setting the visible content rect and scale.
16636
16637        Fixed with the help of Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
16638
16639        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
16640        (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
16641
166422012-01-30  Carlos Garcia Campos  <cgarcia@igalia.com>
16643
16644        Unreviewed. Fix make distcheck.
16645
16646        * GNUmakefile.am: Add missing files.
16647        * WebProcess/WebPage/TapHighlightController.cpp: Add #if
16648        ENABLE(TOUCH_EVENTS).
16649
166502012-01-29  Sheriff Bot  <webkit.review.bot@gmail.com>
16651
16652        Unreviewed, rolling out r106022.
16653        http://trac.webkit.org/changeset/106022
16654        https://bugs.webkit.org/show_bug.cgi?id=77305
16655
16656        It broke Qt-WK2 API tests (Requested by Ossy_weekend on
16657        #webkit).
16658
16659        * UIProcess/API/qt/qquickwebview.cpp:
16660        (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
16661        (QQuickWebView::geometryChanged):
16662        * UIProcess/API/qt/qquickwebview_p.h:
16663        * UIProcess/API/qt/qwebviewportinfo.cpp:
16664        (QWebViewportInfo::currentScale):
16665        (QWebViewportInfo::devicePixelRatio):
16666        (QWebViewportInfo::initialScale):
16667        (QWebViewportInfo::minimumScale):
16668        (QWebViewportInfo::maximumScale):
16669        (QWebViewportInfo::isScalable):
16670        (QWebViewportInfo::layoutSize):
16671
166722012-01-29  Sheriff Bot  <webkit.review.bot@gmail.com>
16673
16674        Unreviewed, rolling out r106109.
16675        http://trac.webkit.org/changeset/106109
16676        https://bugs.webkit.org/show_bug.cgi?id=77302
16677
16678        It made tests crash (Requested by Ossy_weekend on #webkit).
16679
16680        * UIProcess/API/qt/qquickwebpage.cpp:
16681        * UIProcess/API/qt/qquickwebpage_p_p.h:
16682        (QQuickWebPagePrivate):
16683        * UIProcess/API/qt/qquickwebview.cpp:
16684        (QQuickWebViewPrivate::QQuickWebViewPrivate):
16685        * UIProcess/API/qt/qquickwebview_p.h:
16686        * UIProcess/API/qt/qquickwebview_p_p.h:
16687        (QQuickWebViewPrivate):
16688        * UIProcess/DrawingAreaProxy.h:
16689        * UIProcess/DrawingAreaProxyImpl.cpp:
16690        * UIProcess/DrawingAreaProxyImpl.h:
16691        (DrawingAreaProxyImpl):
16692        * UIProcess/LayerTreeHostProxy.h:
16693        (LayerTreeHostProxy):
16694        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
16695        (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
16696        * UIProcess/qt/QtPageClient.cpp:
16697        (QtPageClient::setViewNeedsDisplay):
16698
166992012-01-27  Fady Samuel  <fsamuel@chromium.org>
16700
16701        Rename shouldLayoutFixedElementsRelativeToFrame and make it a setting
16702        https://bugs.webkit.org/show_bug.cgi?id=76459
16703
16704        Reviewed by Darin Fisher.
16705
16706        * win/WebKit2.def:
16707        * win/WebKit2CFLite.def:
16708
167092012-01-27  Martin Robinson  <mrobinson@igalia.com>
16710
16711        Fix a compilation warning in a WebKit2 GTK+ API test.
16712
16713        Reviewed by Gustavo Noronha Silva.
16714
16715        * UIProcess/API/gtk/tests/TestBackForwardList.cpp:
16716        (testBackForwardListLimitAndCache): Use an int instead of size_t
16717        because we want to print them as ints and do subtraction on them.
16718
167192012-01-27  Martin Robinson  <mrobinson@igalia.com>
16720
16721        [GTK] [WK2] Implement the policy client
16722        https://bugs.webkit.org/show_bug.cgi?id=76343
16723
16724        Reviewed by Gustavo Noronha Silva.
16725
16726        Implement the abstract WebKitPolicyDecision, WebKitNavigationPolicyDecision,
16727        and add the decide-policy signal to WebKitWebView.
16728
16729        * GNUmakefile.am: Add new files to the source list.
16730        * UIProcess/API/gtk/WebKitError.cpp: Use the WebCore namespace because
16731        of changes to ASSERT_MATCHING_ENUMS.
16732        * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp: Added.
16733        * UIProcess/API/gtk/WebKitNavigationPolicyDecision.h: Added.
16734        * UIProcess/API/gtk/WebKitNavigationPolicyDecisionPrivate.h: Added.
16735        * UIProcess/API/gtk/WebKitPolicyClient.cpp: Added.
16736        * UIProcess/API/gtk/WebKitPolicyClientPrivate.h: Added.
16737        * UIProcess/API/gtk/WebKitPolicyDecision.cpp: Added.
16738        * UIProcess/API/gtk/WebKitPolicyDecision.h: Added.
16739        * UIProcess/API/gtk/WebKitPolicyDecisionPrivate.h: Added.
16740        * UIProcess/API/gtk/WebKitPrivate.h: Modify ASSERT_MATCHING_ENUMS to make
16741        it useful for non-WebCore enums.
16742        * UIProcess/API/gtk/WebKitWebView.cpp:
16743        (webkitWebViewConstructed): Attach the policy client callbacks to the page.
16744        (webkit_web_view_class_init): Add the decide-policy signal definition.
16745        (webkitWebViewMakePolicyDecision): Added this private method to fire the signal.
16746        * UIProcess/API/gtk/WebKitWebView.h: Added new signal to the list.
16747        * UIProcess/API/gtk/WebKitWebViewPrivate.h: Added new method declaration.
16748        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Added new classes to the docs.
16749        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ditto.
16750        * UIProcess/API/gtk/tests/GNUmakefile.am: Added new test to the source list.
16751        * UIProcess/API/gtk/tests/TestWebKitPolicyClient.cpp: Added.
16752        * UIProcess/API/gtk/webkit2marshal.list: decide-policy has a new signature.
16753
167542012-01-27  Ada Chan  <adachan@apple.com>
16755
16756        Add API to get the parent frame in WKBundleFrameRef
16757        https://bugs.webkit.org/show_bug.cgi?id=77161
16758
16759        Reviewed by Anders Carlsson.
16760
16761        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
16762        (WKBundleFrameGetParentFrame): Get the parent frame by calling WebFrame::parentFrame().
16763        * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
16764        * WebProcess/WebPage/WebFrame.cpp:
16765        (WebKit::WebFrame::parentFrame): Return null if the frame does not have an owner element.
16766        Otherwise, return the owner element's frame.
16767        * WebProcess/WebPage/WebFrame.h:
16768
167692012-01-27  Gustavo Noronha Silva  <gns@gnome.org>
16770
16771        [GTK] Sometimes fails to build when using make -j
16772        https://bugs.webkit.org/show_bug.cgi?id=77226
16773
16774        Reviewed by Martin Robinson.
16775
16776        * GNUmakefile.am: use a different name for the scripts used to
16777        generate enum files for WebKitGTK+ and WebKit2GTK+, so they do not
16778        clash;
16779
167802012-01-27  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
16781
16782        Fix overridePreference for WebKitHixie76WebSocketProtocolEnabled in WebKitTestRunner.
16783        https://bugs.webkit.org/show_bug.cgi?id=77220
16784
16785        Reviewed by Noam Rosenthal.
16786
16787        * WebProcess/InjectedBundle/InjectedBundle.cpp:
16788        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): The macro already stringify TestRunnerName.
16789
167902012-01-27  Carlos Garcia Campos  <cgarcia@igalia.com>
16791
16792        [GTK] Add a GKeyFile especialization to GOwnPtr
16793        https://bugs.webkit.org/show_bug.cgi?id=77191
16794
16795        Reviewed by Martin Robinson.
16796
16797        * Shared/gtk/ArgumentCodersGtk.cpp:
16798        (CoreIPC::decodeGKeyFile): Use GOwnPtr for GKeyFile.
16799        (CoreIPC::encode): Ditto.
16800        (CoreIPC::decode): Ditto.
16801
168022012-01-27  Kenneth Rohde Christiansen  <kenneth@webkit.org>
16803
16804        [Qt] Fade out tap highlighting when starting to pan
16805        https://bugs.webkit.org/show_bug.cgi?id=77202
16806
16807        Reviewed by Simon Hausmann.
16808
16809        Basically we need to fade out the potential tap highlighting
16810        when ever the gesture recognition fails or another gesture
16811        is recognized. We do that with this change.
16812
16813        * UIProcess/qt/QtTapGestureRecognizer.cpp:
16814        (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
16815        (WebKit::QtTapGestureRecognizer::recognize):
16816        (WebKit::QtTapGestureRecognizer::reset):
16817
16818            Remove reset as it does nothing but call code before the
16819            event handler is installed.
16820
168212012-01-26  No'am Rosenthal  <noam.rosenthal@nokia.com> and Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
16822
16823        [Qt] WKTR: Use a software rendering pipiline when running tests.
16824        https://bugs.webkit.org/show_bug.cgi?id=76708
16825
16826        Reviewed by Kenneth Rohde Christiansen.
16827
16828        Animation layout tests require the graphics layers tree to be updated
16829        to pass. WebkitTestRunner doesn't show its wrapping QQuickView, which
16830        prevents the rendering pipeline to run and then in turn blocks the web
16831        process from processing further graphics layer updates.
16832
16833        This allows the tests to use a TextureMapperQt to empty the LayerTreeHost's
16834        message queue and render the layers in software on an offscreen buffer.
16835
16836        * UIProcess/API/qt/qquickwebpage.cpp:
16837        (QQuickWebPagePrivate::paint):
16838        * UIProcess/API/qt/qquickwebview.cpp:
16839        (QQuickWebViewPrivate::QQuickWebViewPrivate):
16840        (QQuickWebViewPrivate::setNeedsDisplay):
16841        (QQuickWebViewExperimental::setRenderToOffscreenBuffer):
16842        (QQuickWebViewExperimental::renderToOffscreenBuffer):
16843        * UIProcess/API/qt/qquickwebview_p.h:
16844        * UIProcess/API/qt/qquickwebview_p_p.h:
16845        (QQuickWebViewPrivate::setRenderToOffscreenBuffer):
16846        (QQuickWebViewPrivate::renderToOffscreenBuffer):
16847        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
16848        (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
16849
168502012-01-27  Simon Hausmann  <simon.hausmann@nokia.com>
16851
16852        [Qt] Re-creating QQuickWebView starts new web process every time
16853        https://bugs.webkit.org/show_bug.cgi?id=77194
16854
16855        Reviewed by Kenneth Rohde Christiansen.
16856
16857        Since the WebKit::WebContext is never fully destructed due to circular
16858        references, we should use the real shared context instead of re-creating
16859        a new WebContext every time.
16860
16861        * UIProcess/qt/QtWebContext.cpp:
16862        (WebKit::QtWebContext::defaultContext):
16863
168642012-01-26  Carlos Garcia Campos  <cgarcia@igalia.com>
16865
16866        [GTK] Add basic printing support to WebKit2
16867        https://bugs.webkit.org/show_bug.cgi?id=76172
16868
16869        Reviewed by Gustavo Noronha Silva.
16870
16871        * GNUmakefile.am: Add new files to compilation.
16872        * Shared/PrintInfo.cpp:
16873        (WebKit::PrintInfo::encode): Encode also GtkPrintSettings and
16874        GtkPageSetup for the GTK+ port.
16875        (WebKit::PrintInfo::decode): Decode also GtkPrintSettings and
16876        GtkPageSetup for the GTK+ port.
16877        * Shared/PrintInfo.h: Add GtkPrintSettings and GtkPageSetup member
16878        for the GTK+ port.
16879        * Shared/gtk/ArgumentCodersGtk.cpp:
16880        (CoreIPC::encodeGKeyFile): Helper function to encode a GKeyFile as
16881        a DataReference object.
16882        (CoreIPC::decodeGKeyFile): Helper function to decode a GKeyFile to
16883        a DataReference object.
16884        (CoreIPC::encode): Encode GtkPrintSettings and GtkPageSetup using
16885        the GKeyFile representation.
16886        (CoreIPC::decode): Decode GtkPrintSettings and GtkPageSetup using
16887        the GKeyFile representation.
16888        * Shared/gtk/ArgumentCodersGtk.h:
16889        * Shared/gtk/PrintInfoGtk.cpp: Copied from Source/WebKit2/Shared/PrintInfo.cpp.
16890        (WebKit::PrintInfo::PrintInfo): Add PrintInfo constructor that
16891        takes GtkPrintSettings and GtkPageSetup instances.
16892        * UIProcess/WebPageProxy.cpp:
16893        (WebKit::WebPageProxy::drawPagesForPrinting): Send
16894        DrawPagesForPrinting message to Web process to start printing.
16895        * UIProcess/WebPageProxy.h:
16896        * WebProcess/WebPage/WebPage.cpp:
16897        (WebKit::WebPage::beginPrinting): Create a WebPrintOperationGtk.
16898        (WebKit::WebPage::endPrinting): Delete the WebPrintOperationGtk
16899        object.
16900        (WebKit::WebPage::drawPagesForPrinting): Start printing pages.
16901        * WebProcess/WebPage/WebPage.h:
16902        * WebProcess/WebPage/WebPage.messages.in: Add DrawPagesForPrinting message.
16903        * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: Added.
16904        (WebKit::PrintPagesData::PrintPagesData): Struct to store all data
16905        used to render pages for printing.
16906        (WebKit::PrintPagesData::incrementPageSequence): Helper function
16907        to increment the page sequence.
16908        (WebKit::WebPrintOperationGtk::create): Create a
16909        WebPrintOperationGtkUnix or WebPrintOperationGtkWin32 depending on
16910        the platform.
16911        (WebKit::WebPrintOperationGtk::WebPrintOperationGtk):
16912        (WebKit::WebPrintOperationGtk::~WebPrintOperationGtk):
16913        (WebKit::WebPrintOperationGtk::pageCount): Return the total pages
16914        of the document to print.
16915        (WebKit::WebPrintOperationGtk::rotatePage): Helper function to
16916        transform the context according to orientation.
16917        (WebKit::WebPrintOperationGtk::renderPage): Render the given page
16918        into the printing context.
16919        (WebKit::WebPrintOperationGtk::printPagesIdle): Idle function used
16920        to print pages.
16921        (WebKit::WebPrintOperationGtk::printPagesIdleDone): Callback
16922        called when printPagesIdle finishes.
16923        (WebKit::WebPrintOperationGtk::printDone): Helper function to
16924        finish the print operation, called when all pages have been rendered.
16925        (WebKit::WebPrintOperationGtk::print): Start printing the document
16926        using the given cairo surface.
16927        * WebProcess/WebPage/gtk/WebPrintOperationGtk.h: Added.
16928        (WebKit::WebPrintOperationGtk::printSettings):
16929        (WebKit::WebPrintOperationGtk::pageSetup):
16930        (WebKit::WebPrintOperationGtk::pagesToPrint):
16931        (WebKit::WebPrintOperationGtk::pageRanges):
16932        (WebKit::WebPrintOperationGtk::pageRangesCount):
16933
169342012-01-26  Tim Horton  <hortont424@gmail.com>
16935
16936        3D transformed elements hide when showing the print dialog
16937        https://bugs.webkit.org/show_bug.cgi?id=45894
16938        <rdar://problem/7441593>
16939
16940        Reviewed by Andy Estes.
16941
16942        Suspend updates of the compositing layer tree while printing is taking place,
16943        preventing on-screen layers from moving to their print-mode positions.
16944
16945        * WebProcess/WebPage/WebPage.cpp:
16946        (WebKit::WebPage::beginPrinting):
16947        (WebKit::WebPage::endPrinting):
16948        * WebProcess/WebPage/ca/LayerTreeHostCA.h:
16949        * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
16950        * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
16951        (WebKit::LayerTreeHostCAMac::forceRepaint):
16952        (WebKit::LayerTreeHostCAMac::flushPendingLayerChanges):
16953
169542012-01-26  Andras Becsi  <andras.becsi@nokia.com>
16955
16956        [Qt][WK2] Add the componentComplete method to WebView
16957        https://bugs.webkit.org/show_bug.cgi?id=77111
16958
16959        Reviewed by Kenneth Rohde Christiansen.
16960
16961        Move the touch/desktop initialization to componentComplete.
16962        Also return valid default values in the viewport info functions
16963        if the interaction engine is not yet initialized because the
16964        viewport info component could finish initialization earlier
16965        than the WebView, which results in QML warnings during MiniBrowser
16966        startup.
16967
16968        * UIProcess/API/qt/qquickwebview.cpp:
16969        (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
16970        (QQuickWebView::geometryChanged):
16971        (QQuickWebView::componentComplete):
16972        * UIProcess/API/qt/qquickwebview_p.h:
16973        * UIProcess/API/qt/qwebviewportinfo.cpp:
16974        (QWebViewportInfo::currentScale):
16975        (QWebViewportInfo::devicePixelRatio):
16976        (QWebViewportInfo::initialScale):
16977        (QWebViewportInfo::minimumScale):
16978        (QWebViewportInfo::maximumScale):
16979        (QWebViewportInfo::isScalable):
16980        (QWebViewportInfo::layoutSize):
16981
169822012-01-26  Anders Carlsson  <andersca@apple.com>
16983
16984        WebWheelEvent::Phase and PlatformWheelEvent::Phase declarations should match AppKit
16985        https://bugs.webkit.org/show_bug.cgi?id=77123
16986
16987        Reviewed by Beth Dakin.
16988
16989        * Shared/WebEvent.h:
16990        ():
16991        * Shared/mac/WebEventFactory.mm:
16992        (WebKit::phaseForEvent):
16993
169942012-01-26  Andras Becsi  <andras.becsi@nokia.com>
16995
16996        ASSERT(!m_overlay) reached in TapHighlightController.cpp:73
16997        https://bugs.webkit.org/show_bug.cgi?id=77117
16998
16999        Reviewed by Tor Arne Vestbø.
17000
17001        The PageOverlay does only get uninstalled after the fade-out animation finishes,
17002        so do not assert on !m_overlay after the uninstallPageOverlay call.
17003
17004        * WebProcess/WebPage/TapHighlightController.cpp:
17005        (WebKit::TapHighlightController::hideHighlight):
17006
170072012-01-26  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
17008
17009        WebPreferencesStore: use DEFINE_STATIC_LOCAL for overrides HashMap
17010        https://bugs.webkit.org/show_bug.cgi?id=77109
17011
17012        Reviewed by Andreas Kling.
17013
17014        Fix build for Clang.
17015
17016        * Shared/WebPreferencesStore.cpp:
17017        (WebKit):
17018        (WebKit::boolTestRunnerOverridesMap):
17019        (WebKit::WebPreferencesStore::overrideBoolValueForKey):
17020        (WebKit::WebPreferencesStore::removeTestRunnerOverrides):
17021        (WebKit::WebPreferencesStore::getBoolValueForKey):
17022
170232012-01-26  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
17024
17025        Implement overridePreference for boolean preferences in WebKitTestRunner
17026        https://bugs.webkit.org/show_bug.cgi?id=77033
17027
17028        Reviewed by Alexey Proskuryakov.
17029
17030        Implement a way to WebKitTestRunner override preferences for the pages
17031        loaded. Follows the same approach taken by
17032        overrideXSSAuditorEnabledForTestRunner() from r66551, but generalizing to many
17033        preferences.
17034
17035        Preferences are stored in the UI process using WebPreferencesStore, and when
17036        there's a change, this data is sent to Web process, triggering
17037        WebPage::preferencesDidChange(), which take a WebPreferencesStore and apply it's
17038        data to the WebCore::Settings object.
17039
17040        The overridePreference() is executed on the Web process, and set the preferences
17041        without communicating to the UI process. The overriden preferences are stored in
17042        a static map and WebPreferencesStore query this map before returning the values
17043        of each preference. This static map is used only on the Web process.
17044
17045        To clear the overrides we need to clear the map. Since WTR only sets preferences
17046        when resetting the page, we hook the clearing at WebPage::preferencesDidChange().
17047        A WKPreferences private function was exposed to WTR force the update, in case
17048        there's no effective change at UI process (all the properties remains the same).
17049
17050        This clearing could be improved by creating a proper message instead of hooking
17051        at WebPage::preferencesDidChange().
17052
17053        * Shared/WebPreferencesStore.cpp:
17054        (WebKit::WebPreferencesStore::decode):
17055        (WebKit::WebPreferencesStore::overrideBoolValueForKey):
17056        (WebKit::WebPreferencesStore::removeTestRunnerOverrides):
17057        (WebKit::WebPreferencesStore::getBoolValueForKey):
17058        * Shared/WebPreferencesStore.h:
17059        * UIProcess/API/C/WKPreferences.cpp:
17060        (WKPreferencesResetTestRunnerOverrides):
17061        * UIProcess/API/C/WKPreferencesPrivate.h:
17062        * UIProcess/WebPreferences.h:
17063        (WebKit::WebPreferences::forceUpdate):
17064        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
17065        (WKBundleOverrideBoolPreferenceForTestRunner):
17066        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
17067        * WebProcess/InjectedBundle/InjectedBundle.cpp:
17068        (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
17069        (WebKit::InjectedBundle::overrideXSSAuditorEnabledForTestRunner):
17070        * WebProcess/InjectedBundle/InjectedBundle.h:
17071
170722012-01-26  Carlos Garcia Campos  <cgarcia@igalia.com>
17073
17074        [GTK][WK2] Primary clipboard should be updated with the current selection in X11 platforms
17075        https://bugs.webkit.org/show_bug.cgi?id=77097
17076
17077        Reviewed by Martin Robinson.
17078
17079        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
17080        (WebKit::WebEditorClient::respondToChangedSelection): Call
17081        setSelectionPrimaryClipboardIfNeeded() to update primary clipboard
17082        in X11 platforms.
17083        * WebProcess/WebCoreSupport/WebEditorClient.h:
17084        * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
17085        (WebKit::collapseSelection): Callback called when clearing
17086        clipboard contents.
17087        (WebKit::WebEditorClient::setSelectionPrimaryClipboardIfNeeded):
17088        Updaye primary clipboard with the current selection.
17089
170902012-01-26  Zeno Albisser  <zeno@webkit.org>
17091
17092        [Qt][WK2] Use QVariant for payload data in application URL schemes.
17093        https://bugs.webkit.org/show_bug.cgi?id=77007
17094
17095        Make application schemes use QVariant for payload data.
17096        This allows passing QByteArrays as well as simple String data.
17097
17098        Remove unneeded http header parts that were exposed in
17099        QQuickNetworkReply.
17100
17101        Add ByteArrayTestData class to allow injecting QByteArray
17102        data into an application scheme handler for testing.
17103
17104        Reviewed by Simon Hausmann.
17105
17106        * Shared/qt/QtNetworkReplyData.cpp:
17107        (WebKit::QtNetworkReplyData::QtNetworkReplyData):
17108        (WebKit::QtNetworkReplyData::encode):
17109        (WebKit::QtNetworkReplyData::decode):
17110        * Shared/qt/QtNetworkReplyData.h:
17111        * UIProcess/API/qt/qquicknetworkreply.cpp:
17112        (QQuickNetworkReply::QQuickNetworkReply):
17113        (QQuickNetworkReply::data):
17114        (QQuickNetworkReply::setData):
17115        (QQuickNetworkReply::send):
17116        * UIProcess/API/qt/qquicknetworkreply_p.h:
17117        * UIProcess/API/qt/tests/bytearraytestdata.cpp: Added.
17118        (ByteArrayTestData::ByteArrayTestData):
17119        (ByteArrayTestData::latin1Data):
17120        (ByteArrayTestData::utf8Data):
17121        * UIProcess/API/qt/tests/bytearraytestdata.h: Added.
17122        * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
17123        * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
17124        (main):
17125        * UIProcess/API/qt/tests/tests.pri:
17126        * WebProcess/qt/QtNetworkReply.cpp:
17127        (WebKit::QtNetworkReply::setReplyData):
17128        * WebProcess/qt/QtNetworkReply.h:
17129
171302012-01-26  Thiago Marcos P. Santos  <tmpsantos@gmail.com>
17131
17132        [Qt] Fixed build when using force_static_libs_as_shared
17133        https://bugs.webkit.org/attachment.cgi?bugid=77082
17134
17135        Reviewed by Simon Hausmann.
17136
17137        * Target.pri:
17138
171392012-01-26  Nándor Huszka  <huszka.nandor@stud.u-szeged.hu>
17140
17141        [WK2] WebKitTestRunner needs layoutTestController.setGeolocationPermission
17142        https://bugs.webkit.org/show_bug.cgi?id=42545
17143
17144        Reviewed by Zoltan Herczeg.
17145
17146        Implement the setGeolocationPermission method.
17147
17148        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
17149        (WKBundleSetGeolocationPermission):
17150        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
17151        * WebProcess/InjectedBundle/InjectedBundle.cpp:
17152        (WebKit::InjectedBundle::setGeoLocationPermission):
17153        (WebKit):
17154        * WebProcess/InjectedBundle/InjectedBundle.h:
17155        (InjectedBundle):
17156
171572012-01-25  Mark Rowe  <mrowe@apple.com>
17158
17159        Build in to an alternate location when USE_STAGING_INSTALL_PATH is set.
17160
17161        <rdar://problem/10609417> Adopt USE_STAGING_INSTALL_PATH
17162
17163        Reviewed by David Kilzer.
17164
17165        * Configurations/BaseTarget.xcconfig: Define NORMAL_WEBKIT2_FRAMEWORKS_DIR, which contains
17166        the path where WebKit is normally installed. Update WEBKIT2_FRAMEWORKS_DIR to point to
17167        the staged frameworks directory when USE_STAGING_INSTALL_PATH is set. Update
17168        UMBRELLA_FRAMEWORKS_DIR so we can find WebCore at the top level of the staged frameworks
17169        directory when USE_STAGING_INSTALL_PATH is set, rather than finding it embedded inside of
17170        WebKit.framework.
17171        * Configurations/PluginProcess.xcconfig: Set our install path based on WEBKIT2_FRAMEWORKS_DIR.
17172        * Configurations/WebKit2.xcconfig: Set our install path based on WEBKIT2_FRAMEWORKS_DIR.
17173        Always set the framework's install name based on the normal framework location. This prevents
17174        an incorrect install name from being used when installing in to the staged frameworks directory.
17175        * Configurations/WebProcess.xcconfig: Set our install path based on WEBKIT2_FRAMEWORKS_DIR.
17176
171772012-01-25  No'am Rosenthal  <noam.rosenthal@nokia.com>
17178
17179        [WK2][Qt] REGRESSION: Pages with transform animations sometimes omit some of the layers since r105413
17180        https://bugs.webkit.org/show_bug.cgi?id=76886
17181
17182        Reviewed by Kenneth Rohde Christiansen.
17183
17184        We now render the whole layer if it or one if its ancestors has an active transform
17185        animations. It's possible to optimize further in the future, but not currently necessary.
17186        Also, we make sure that when a WebGraphicsLayer's property that affects transformation is
17187        changed, all its descandants layers are marked as modified so that we re-adjust their
17188        visible rect in the next pass.
17189
17190        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
17191        (WebCore::WebGraphicsLayer::notifyChangeRecursively):
17192        (WebCore):
17193        (WebCore::WebGraphicsLayer::setPosition):
17194        (WebCore::WebGraphicsLayer::setAnchorPoint):
17195        (WebCore::WebGraphicsLayer::setSize):
17196        (WebCore::WebGraphicsLayer::setTransform):
17197        (WebCore::WebGraphicsLayer::setChildrenTransform):
17198        (WebCore::WebGraphicsLayer::setPreserves3D):
17199        (WebCore::WebGraphicsLayer::setMasksToBounds):
17200        (WebCore::WebGraphicsLayer::addAnimation):
17201        (WebCore::WebGraphicsLayer::removeAnimation):
17202        (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
17203        (WebCore::WebGraphicsLayer::selfOrAncestorHasActiveTransformAnimations):
17204        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
17205        (WebGraphicsLayer):
17206
172072012-01-25  Hajime Morita  <morrita@google.com>
17208
17209        ENABLE_SHADOW_DOM should be available via build-webkit --shadow-dom
17210        https://bugs.webkit.org/show_bug.cgi?id=76863
17211
17212        Reviewed by Dimitri Glazkov.
17213
17214        Added a feature flag.
17215
17216        * Configurations/FeatureDefines.xcconfig:
17217
172182012-01-25  Martin Robinson  <mrobinson@igalia.com>
17219
17220        [WK2] Navigation events not triggered by a mouse event claim to be triggered by the left mouse button during policy decisions
17221        https://bugs.webkit.org/show_bug.cgi?id=76344
17222
17223        Reviewed by Sam Weinig.
17224
17225        When creating InjectedBundleNavigationActions, initialize the mouse button to NoButton.
17226        This ensures that when there is no mouse event associated with the action, when the event
17227        hits the client-API layer, the button is still NoButton.
17228
17229        * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
17230        (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction): Initialize m_mouseButton
17231        to WebMouseEvent::NoButton.
17232
172332012-01-25  Kenneth Rohde Christiansen  <kenneth@webkit.org>
17234
17235        [Qt] Implement tap feedback respecting -webkit-tap-highlight-color
17236        https://bugs.webkit.org/show_bug.cgi?id=76914
17237
17238        Reviewed by Simon Hausmann.
17239
17240        Implement tap highlighting for Qt. When a touch press is issued,
17241        which is not handled by the web page, then we highlight any
17242        activatable node below. In all otehr cases, we hide any highlights.
17243
17244        The highlighting itself is painted on an accelerated PageOverlay,
17245        on the web process side.
17246
17247        * Target.pri:
17248        * UIProcess/WebPageProxy.cpp:
17249        (WebKit::WebPageProxy::handlePotentialActivation):
17250        * UIProcess/WebPageProxy.h:
17251        * UIProcess/qt/QtTapGestureRecognizer.cpp:
17252        (WebKit::QtTapGestureRecognizer::recognize):
17253        * UIProcess/qt/QtWebPageEventHandler.cpp:
17254        (QtWebPageEventHandler::handlePotentialSingleTapEvent):
17255        * UIProcess/qt/QtWebPageEventHandler.h:
17256        * WebProcess/WebPage/TapHighlightController.cpp: Added.
17257        (WebKit::TapHighlightController::TapHighlightController):
17258        (WebKit::TapHighlightController::~TapHighlightController):
17259        (WebKit::TapHighlightController::highlight):
17260        (WebKit::TapHighlightController::hideHighlight):
17261        (WebKit::TapHighlightController::pageOverlayDestroyed):
17262        (WebKit::TapHighlightController::willMoveToWebPage):
17263        (WebKit::TapHighlightController::didMoveToWebPage):
17264        (WebKit::highlightColor):
17265        (WebKit::TapHighlightController::drawRect):
17266        (WebKit::TapHighlightController::mouseEvent):
17267        * WebProcess/WebPage/TapHighlightController.h: Added.
17268        * WebProcess/WebPage/WebPage.cpp:
17269        (WebKit::WebPage::WebPage):
17270        (WebKit::WebPage::highlightPotentialActivation):
17271        * WebProcess/WebPage/WebPage.h:
17272        (WebKit::WebPage::tapHighlightController):
17273        * WebProcess/WebPage/WebPage.messages.in:
17274
172752012-01-25  Nándor Huszka  <huszka.nandor@stud.u-szeged.hu>
17276
17277        [WK2] WebKitTestRunner needs layoutTestController.setPopupBlockingEnabled
17278        https://bugs.webkit.org/show_bug.cgi?id=63458
17279
17280        Reviewed by Adam Roben.
17281
17282        Implement the setPopupBlockingEnabled method.
17283
17284        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
17285        (WKBundleSetPrivateBrowsingEnabled):
17286        (WKBundleSetPopupBlockingEnabled):
17287        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
17288        * WebProcess/InjectedBundle/InjectedBundle.cpp:
17289        (WebKit::InjectedBundle::setPopupBlockingEnabled):
17290        * WebProcess/InjectedBundle/InjectedBundle.h:
17291
172922012-01-25  Yael Aharon  <yael.aharon@nokia.com>
17293
17294        [Qt] Build fix when using force_static_libs_as_shared
17295        https://bugs.webkit.org/show_bug.cgi?id=76832
17296
17297        Reviewed by Simon Hausmann.
17298
17299        Add a dependency on QtWidgets.
17300
17301        * Target.pri:
17302
173032012-01-24  Sergio Villar Senin  <svillar@igalia.com>
17304
17305        [WK2] FindController should not assume that ports do not want to highlight text matches
17306        https://bugs.webkit.org/show_bug.cgi?id=76921
17307
17308        Reviewed by Darin Adler.
17309
17310        FindController must obey the FindOptionsShowHighlight flag instead
17311        of assuming that ports do not want to highlight search matches.
17312
17313        * Shared/API/c/WKFindOptions.h: added kWKFindOptionsShowHighlight.
17314        * Shared/API/c/WKSharedAPICast.h:
17315        (WebKit::toFindOptions): Ditto.
17316        * Shared/WebFindOptions.h: added FindOptionsShowHighlight.
17317        * WebProcess/WebPage/FindController.cpp:
17318        (WebKit::FindController::findString):
17319
173202012-01-25  Carlos Garcia Campos  <cgarcia@igalia.com>
17321
17322        [GTK] Page clients don't need to be GObjects anymore in WebKit2 GTK+ API
17323        https://bugs.webkit.org/show_bug.cgi?id=76899
17324
17325        Reviewed by Martin Robinson.
17326
17327        * UIProcess/API/gtk/WebKitLoaderClient.cpp: Renamed from
17328        Source/WebKit2/UIProcess/API/gtk/WebKitWebLoaderClient.cpp.
17329        (didStartProvisionalLoadForFrame): Use clientInfo instead fo
17330        getting the view from the page.
17331        (didReceiveServerRedirectForProvisionalLoadForFrame): Ditto.
17332        (didFailProvisionalLoadWithErrorForFrame): Ditto.
17333        (didCommitLoadForFrame): Ditto.
17334        (didFinishLoadForFrame): Ditto.
17335        (didFailLoadWithErrorForFrame): Ditto.
17336        (didSameDocumentNavigationForFrame): Ditto.
17337        (didReceiveTitleForFrame): Ditto.
17338        (didChangeProgress): Ditto.
17339        (didChangeBackForwardList): Ditto.
17340        (attachLoaderClientToView): Pass WebKitWebView as clientInfo to
17341        callbacks.
17342        * UIProcess/API/gtk/WebKitLoaderClient.h: Added.
17343        * UIProcess/API/gtk/WebKitUIClient.cpp:
17344        (createNewPage): Use clientInfo instead fo getting the view from
17345        the page.
17346        (showPage): Ditto.
17347        (closePage): Ditto.
17348        (runJavaScriptAlert): Ditto.
17349        (runJavaScriptConfirm): Ditto.
17350        (runJavaScriptPrompt): Ditto.
17351        (toolbarsAreVisible): Ditto.
17352        (setToolbarsAreVisible): Ditto.
17353        (menuBarIsVisible): Ditto.
17354        (setMenuBarIsVisible): Ditto.
17355        (statusBarIsVisible): Ditto.
17356        (setStatusBarIsVisible): Ditto.
17357        (isResizable): Ditto.
17358        (setIsResizable): Ditto.
17359        (getWindowFrame): Ditto.
17360        (setWindowFrame): Ditto.
17361        (attachUIClientToView): Pass WebKitWebView as clientInfo to
17362        callbacks.
17363        * UIProcess/API/gtk/WebKitUIClient.h: Remove GObject boilerplate.
17364        * UIProcess/API/gtk/WebKitWebLoaderClient.h: Removed.
17365        * UIProcess/API/gtk/WebKitWebView.cpp:
17366        (webkitWebViewConstructed): Remove UIClient and LoaderClient
17367        objects and call attachUIClientToView() and attachLoaderClientToView().
17368        * UIProcess/API/gtk/tests/GNUmakefile.am: Rename
17369        WebKitWebLoaderClient to WebKitLoaderClient.
17370        * UIProcess/API/gtk/tests/TestLoaderClient.cpp: Renamed from
17371        Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp.
17372
173732012-01-25  Roland Steiner  <rolandsteiner@chromium.org>
17374
17375        <style scoped>: Implement registering of <style scoped> with the scoping element
17376        https://bugs.webkit.org/show_bug.cgi?id=67790
17377
17378        Add symbols for windows.internals.numberOfScopedHTMLStyleChildren
17379
17380        Reviewed by Dimitri Glazkov.
17381
17382        * win/WebKit2.def:
17383        * win/WebKit2CFLite.def:
17384
173852012-01-24  Beth Dakin  <bdakin@apple.com>
17386
17387        https://bugs.webkit.org/show_bug.cgi?id=76928
17388        Accelerated drawing should force compositing mode
17389        -and corresponding-
17390        <rdar://problem/10697417>
17391
17392        Reviewed by Simon Fraser.
17393
17394        * WebProcess/WebPage/WebPage.cpp:
17395        (WebKit::WebPage::updatePreferences):
17396
173972012-01-24  Alexis Menard  <alexis.menard@openbossa.org>
17398
17399        Unreviewed build fix for Qt.
17400
17401        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
17402        (WebKit::LayerTreeHostQt::showDebugBorders):
17403        (WebKit::LayerTreeHostQt::showRepaintCounter):
17404
174052012-01-23  Simon Fraser  <simon.fraser@apple.com>
17406
17407        Show layer borders for scrollbar layers
17408        https://bugs.webkit.org/show_bug.cgi?id=76888
17409
17410        Reviewed by Beth Dakin.
17411        
17412        Update for new signatures of GraphicsLayerClient::showDebugBorders()
17413        and GraphicsLayerClient::showRepaintCounter().
17414
17415        * UIProcess/LayerTreeHostProxy.h:
17416        (WebKit::LayerTreeHostProxy::showDebugBorders):
17417        (WebKit::LayerTreeHostProxy::showRepaintCounter):
17418        * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
17419        (WebKit::LayerTreeHostCA::showDebugBorders):
17420        (WebKit::LayerTreeHostCA::showRepaintCounter):
17421        * WebProcess/WebPage/ca/LayerTreeHostCA.h:
17422        * WebProcess/WebPage/qt/LayerTreeHostQt.h:
17423
174242012-01-24  David Levin  <levin@chromium.org>
17425
17426        [windows] Convert usage of GetDC to HWndDC Part 3.
17427        https://bugs.webkit.org/show_bug.cgi?id=76889
17428
17429        Reviewed by Adam Roben.
17430
17431        * UIProcess/win/WebPopupMenuProxyWin.cpp:
17432        (WebKit::WebPopupMenuProxyWin::paint): Fix a dc leak and use the dellayed allocation.
17433
174342012-01-24  Sergio Villar Senin  <svillar@igalia.com>
17435
17436        [WK2] [GTK] TestDownloads hitting an assertion in Debug builds
17437        https://bugs.webkit.org/show_bug.cgi?id=76915
17438
17439        Reviewed by Martin Robinson.
17440
17441        No new tests required as it fixes some assertions in a unit test.
17442
17443        * WebProcess/Downloads/soup/DownloadSoup.cpp:
17444        (WebKit::Download::start):
17445        (WebKit::Download::startWithHandle):
17446
174472012-01-24  No'am Rosenthal  <noam.rosenthal@nokia.com>
17448
17449        [Qt][WK2] Qt's cross-process AC copies images excessively when updating tiles.
17450        https://bugs.webkit.org/show_bug.cgi?id=76877
17451
17452        Reviewed by Kenneth Rohde Christiansen.
17453
17454        Instead of copying QImages, pass a reference to the ShareableBitmap that was originally
17455        created by the web process. Also, swizzle the image's RGB in the web process, before it's
17456        transferred to the UI process.
17457
17458        Data flow before change:
17459        (Web Process) Render to image -> IPC -> (UI Process) Copy (render queue) -> Copy Swizzled RGB -> Upload
17460
17461        Data flow after change:
17462        (Web Process) Render to image -> swizzle RGB -> IPC -> (UI Process) -> Upload
17463
17464        * Shared/ShareableBitmap.h:
17465        * Shared/qt/ShareableBitmapQt.cpp:
17466        (WebKit::ShareableBitmap::swizzleRGB):
17467        * UIProcess/LayerTreeHostProxy.h:
17468        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
17469        (WebKit::LayerTreeHostProxy::updateTile):
17470        (WebKit::LayerTreeHostProxy::createImage):
17471        (WebKit::LayerTreeHostProxy::syncRemoteContent):
17472        (WebKit::LayerTreeHostProxy::updateTileForLayer):
17473        (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
17474        (WebKit::LayerTreeHostProxy::purgeGLResources):
17475        * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
17476        (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
17477        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
17478        (WebKit::LayerTreeHostQt::adoptImageBackingStore):
17479
174802012-01-24  Rafael Brandao  <rafael.lobo@openbossa.org>
17481
17482        [Qt][WK2] QtWebIconDatabaseClient leaves a dangling pointer on WebIconDatabase after its destruction
17483        https://bugs.webkit.org/show_bug.cgi?id=76399
17484
17485        Reviewed by Simon Hausmann.
17486
17487        Due a circular dependency between WebContext and WebProcessProxy, WebContext it not
17488        being destroyed, neither WebIconDatabase. As QtWebIconDatabaseClient's life time is the same
17489        as QtWebContext and this one is being destroyed, the remaining reference to our client
17490        on WebIconDatabase should be cleaned upon its destruction.
17491
17492        * UIProcess/qt/QtWebIconDatabaseClient.cpp:
17493        (QtWebIconDatabaseClient::QtWebIconDatabaseClient):
17494        (QtWebIconDatabaseClient::~QtWebIconDatabaseClient): Clear client pointer on WebIconDatabase.
17495        * UIProcess/qt/QtWebIconDatabaseClient.h: Make this client hold a reference to WebIconDatabase.
17496
174972012-01-24  Zeno Albisser  <zeno@webkit.org>
17498
17499        [Qt][WK2] Add test for application URL schemes.
17500        https://bugs.webkit.org/show_bug.cgi?id=74933
17501
17502        Add a test that checks handling of url strings.
17503        Add a test that verifies replies in case of multiple
17504        available application url schemes.
17505
17506        Reviewed by Kenneth Rohde Christiansen.
17507
17508        * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
17509
175102012-01-24  Carlos Garcia Campos  <cgarcia@igalia.com>
17511
17512        [GTK] Fix /webkit2/WebKitWebView/reload after r105688
17513        https://bugs.webkit.org/show_bug.cgi?id=76898
17514
17515        Reviewed by Alejandro G. Castro.
17516
17517        * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
17518        (LoadTrackingTest::reload): Add reload method that clears events
17519        and initializes progress.
17520        * UIProcess/API/gtk/tests/LoadTrackingTest.h:
17521        * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
17522        (testWebViewReload): Use LoadTrackingTest::reload() instead of
17523        webkit_web_view_reload().
17524
175252012-01-24  Simon Hausmann  <simon.hausmann@nokia.com>
17526
17527        Some qmake build files must include Qt5's "quick" module.
17528        https://bugs.webkit.org/show_bug.cgi?id=76671
17529
17530        Unreviewed build fix.
17531
17532        * UIProcess/API/qt/tests/tests.pri:
17533
175342012-01-24  Zeno Albisser  <zeno@webkit.org>
17535
17536        [Qt][WK2] Application URL schemes cause asserts when using debug.
17537        https://bugs.webkit.org/show_bug.cgi?id=76700
17538
17539        Instances of QtNetworkRequestData / QtNetworkReplyData are meant
17540        to be used for transfering data over IPC. To allow transferring
17541        instances of these classes over IPC they need to be copyable,
17542        and it must be possible to create such instances on the stack.
17543        Because classes that inherit from RefCounted always need to be
17544        used in connection with RefPtr, QtNetworkRequestData and
17545        QtNetworkReplyData cannot inherit directly from RefCounted.
17546
17547        Deleting an object that inherits from RefCounted, without
17548        the proper sequence of ref()/deref() being called by it's
17549        RefPtr, causes asserts when running a debug version.
17550
17551        Reviewed by Simon Hausmann.
17552
17553        * Shared/qt/QtNetworkReplyData.h:
17554        (WebKit::QtRefCountedNetworkReplyData::data):
17555        * Shared/qt/QtNetworkRequestData.cpp:
17556        (WebKit::QtRefCountedNetworkRequestData::QtRefCountedNetworkRequestData):
17557        * Shared/qt/QtNetworkRequestData.h:
17558        (WebKit::QtRefCountedNetworkRequestData::data):
17559        * Target.pri:
17560        * UIProcess/API/qt/qquicknetworkreply.cpp:
17561        (QQuickNetworkReply::QQuickNetworkReply):
17562        (QQuickNetworkReply::contentType):
17563        (QQuickNetworkReply::setContentType):
17564        (QQuickNetworkReply::operation):
17565        (QQuickNetworkReply::setOperation):
17566        (QQuickNetworkReply::contentDisposition):
17567        (QQuickNetworkReply::setContentDisposition):
17568        (QQuickNetworkReply::location):
17569        (QQuickNetworkReply::setLocation):
17570        (QQuickNetworkReply::lastModified):
17571        (QQuickNetworkReply::setLastModified):
17572        (QQuickNetworkReply::cookie):
17573        (QQuickNetworkReply::setCookie):
17574        (QQuickNetworkReply::userAgent):
17575        (QQuickNetworkReply::setUserAgent):
17576        (QQuickNetworkReply::server):
17577        (QQuickNetworkReply::setServer):
17578        (QQuickNetworkReply::data):
17579        (QQuickNetworkReply::setData):
17580        (QQuickNetworkReply::send):
17581        (QQuickNetworkReply::networkRequestData):
17582        (QQuickNetworkReply::setNetworkRequestData):
17583        (QQuickNetworkReply::networkReplyData):
17584        * UIProcess/API/qt/qquicknetworkreply_p.h:
17585        * UIProcess/API/qt/qquicknetworkrequest.cpp:
17586        (QQuickNetworkRequest::QQuickNetworkRequest):
17587        (QQuickNetworkRequest::setNetworkRequestData):
17588        (QQuickNetworkRequest::url):
17589        * UIProcess/API/qt/qquicknetworkrequest_p.h:
17590        * UIProcess/API/qt/qquickwebview.cpp:
17591        (QQuickWebViewExperimental::invokeApplicationSchemeHandler):
17592        * UIProcess/API/qt/qquickwebview_p.h:
17593        * UIProcess/WebPageProxy.h:
17594        * UIProcess/qt/QtPageClient.cpp:
17595        (QtPageClient::handleApplicationSchemeRequest):
17596        * UIProcess/qt/QtPageClient.h:
17597        * UIProcess/qt/WebPageProxyQt.cpp:
17598        (WebKit::WebPageProxy::resolveApplicationSchemeRequest):
17599        (WebKit::WebPageProxy::sendApplicationSchemeReply):
17600        * WebProcess/qt/QtNetworkReply.cpp:
17601        (WebKit::QtNetworkReply::setData):
17602        (WebKit::QtNetworkReply::readData):
17603
176042012-01-24  Carlos Garcia Campos  <cgarcia@igalia.com>
17605
17606        [GTK] Implement DownloadClient in WebKit2 GTK+ API
17607        https://bugs.webkit.org/show_bug.cgi?id=72952
17608
17609        Reviewed by Martin Robinson.
17610
17611        * GNUmakefile.am: Add new files to compilation.
17612        * UIProcess/API/gtk/WebKitDownloadClient.cpp: Added.
17613        (didStart): Call webkitWebContextDownloadStarted().
17614        (didReceiveResponse): Call webkitDownloadSetResponse() with the
17615        received response.
17616        (didReceiveData): Call webkitDownloadNotifyProgress().
17617        (decideDestinationWithSuggestedFilename): Call
17618        webkitDownloadDecideDestinationWithSuggestedFilename().
17619        (didCreateDestination): Call webkitDownloadDestinationCreated().
17620        (didFail): Call webkitDownloadFailed() or
17621        webkitDownloadCancelled() if the download was cancelled before
17622        failing.
17623        (didCancel): Call webkitDownloadCancelled().
17624        (didFinish): Call webkitDownloadFinished().
17625        (attachDownloadClientToContext): Add
17626        implementation for download client callbacks.
17627        * UIProcess/API/gtk/WebKitDownloadClient.h: Added.
17628        * UIProcess/API/gtk/WebKitError.cpp:
17629        (webkit_download_error_quark): Add quark for download errors.
17630        * UIProcess/API/gtk/WebKitError.h:
17631        * UIProcess/API/gtk/WebKitWebContext.cpp:
17632        (webkit_web_context_class_init): Add download-started signal.
17633        (createDefaultWebContext): Initialize the download client.
17634        (downloadsMap): HashMap containing download objects for all
17635        ongoing download operations.
17636        (webkit_web_context_download_uri): Start a new download for the
17637        given URI.
17638        (webkitWebContextGetOrCreateDownload): Helper function to create a
17639        new download object or return the existing one from the downloads map.
17640        (webkitWebContextRemoveDownload): Remove the download object from
17641        the downloads map.
17642        (webkitWebContextDownloadStarted): Emit
17643        WebKitWebContext::download-started for the given download object.
17644        * UIProcess/API/gtk/WebKitWebContext.h:
17645        * UIProcess/API/gtk/WebKitWebContextPrivate.h:
17646        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
17647        * UIProcess/API/gtk/tests/GNUmakefile.am: Add new test for downloads.
17648        * UIProcess/API/gtk/tests/TestDownloads.cpp: Added.
17649        (getWebKit1TestResoucesDir):
17650        (testDownloadLocalFile):
17651        (testDownloadLocalFileError):
17652        (serverCallback):
17653        (testDownloadRemoteFile):
17654        (testDownloadRemoteFileError):
17655        (beforeAll):
17656        (afterAll):
17657
176582012-01-23  Carlos Garcia Campos  <cgarcia@igalia.com>
17659
17660        [GTK] Add WebKitDownload to WebKit2 GTK+ API
17661        https://bugs.webkit.org/show_bug.cgi?id=72949
17662
17663        Reviewed by Martin Robinson.
17664
17665        * GNUmakefile.am: Add new files to compilation.
17666        * UIProcess/API/gtk/WebKitDownload.cpp: Added.
17667        (webkitDownloadFinalize):
17668        (webkitDownloadGetProperty):
17669        (webkitDownloadDecideDestination):
17670        (webkit_download_init):
17671        (webkit_download_class_init):
17672        (webkitDownloadCreate): Create a new WebKitDownload for a given
17673        WKDownloadRef.
17674        (webkitDownloadSetResponse): Set the network response of the
17675        download.
17676        (webkitDownloadIsCancelled): Whether the download has been
17677        cancelled by the user.
17678        (webkitDownloadNotifyProgress): Emit notify::estimated-progress if
17679        needed.
17680        (webkitDownloadFailed): Emit WebKitDownload::failed with the given
17681        error.
17682        (webkitDownloadCancelled): Emit WebKitDownload::failed with
17683        cancelled error.
17684        (webkitDownloadFinished): Emit WebKitDownload::finished.
17685        (webkitDownloadDecideDestinationWithSuggestedFilename): Emit
17686        WebKitDownload::decide-destination.
17687        (webkitDownloadDestinationCreated): Emit
17688        WebKitDownload::created-destination.
17689        (webkit_download_get_destination): Return the destination URI of
17690        the download.
17691        (webkit_download_set_destination): Set the destination URI of the
17692        download.
17693        (webkit_download_get_response): Return the response received by
17694        the server.
17695        (webkit_download_cancel): Cancel the download.
17696        (webkit_download_get_estimated_progress): Return the estimated
17697        progress.
17698        (webkit_download_get_elapsed_time): Return the time elapsed since
17699        the download started.
17700        * UIProcess/API/gtk/WebKitDownload.h: Added.
17701        * UIProcess/API/gtk/WebKitDownloadPrivate.h: Added.
17702        * UIProcess/API/gtk/WebKitPrivate.h:
17703        * UIProcess/API/gtk/WebKitURIResponse.cpp:
17704        (webkitURIResponseGetResourceResponse):
17705        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
17706        * UIProcess/API/gtk/docs/webkit2gtk.types: Add
17707        webkit_download_get_type().
17708        * UIProcess/API/gtk/webkit2.h: Include WebKitDownload.h.
17709        * UIProcess/API/gtk/webkit2marshal.list:
17710
177112012-01-23  Geoffrey Garen  <ggaren@apple.com>
17712
17713        JSValue::toString() should return a JSString* instead of a UString
17714        https://bugs.webkit.org/show_bug.cgi?id=76861
17715
17716        Reviewed by Gavin Barraclough.
17717
17718        Mechanical changes to call value() after calling toString(), to
17719        convert from "JS string" (JSString*) to "C++ string" (UString), since
17720        toString() no longer returns a "C++ string".
17721
17722        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
17723        (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
17724
177252012-01-23  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
17726
17727        [Qt][WK2] QQuickWebView is initializing touch mode twice while being constructed
17728        https://bugs.webkit.org/show_bug.cgi?id=76859
17729
17730        Reviewed by Kenneth Rohde Christiansen.
17731
17732        Removing d->initializeTouch() from QQuickWebView::QQuickWebView()
17733        since in QQuickWebViewPrivate::initialize() there is a call for
17734        setUseTraditionalDesktopBehaviour(false), which will call initializeTouch.
17735
17736        * UIProcess/API/qt/qquickwebview.cpp:
17737        (QQuickWebView::QQuickWebView):
17738
177392012-01-23  Martin Robinson  <mrobinson@igalia.com>
17740
17741        [GTK][WK2] Make the LoadTracking and WebView test fixtures more flexible
17742        https://bugs.webkit.org/show_bug.cgi?id=76755
17743
17744        Reviewed by Alejandro G. Castro.
17745
17746        Always clear the loading events when loading new content in the load tracking
17747        test. In the WebView test correctly handle loading HTML with a URL that isn't
17748        "about:blank."
17749
17750        * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
17751        (LoadTrackingTest::loadURI): Reset the class state when starting a new load.
17752        (LoadTrackingTest::loadHtml): Ditto.
17753        (LoadTrackingTest::loadPlainText): Ditto.
17754        (LoadTrackingTest::loadRequest): Ditto.
17755        * UIProcess/API/gtk/tests/LoadTrackingTest.h: Added new method definitions.
17756        * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
17757        (assertNormalLoadHappened): No longer clear loading events. The fixture handles that now.
17758        (testLoadHtml): Update to reflect new method name.
17759        (testLoadPlainText): Ditto.
17760        (testLoadRequest): Ditto.
17761        (testWebViewReload): Ditto.
17762        * UIProcess/API/gtk/tests/WebViewTest.cpp:
17763        (WebViewTest::loadHtml): Properly interpret the baseURL parameter.
17764        * UIProcess/API/gtk/tests/WebViewTest.h: Make loading methods virtual.
17765
177662012-01-23  Alexander Færøy  <alexander.faeroy@nokia.com>
17767
17768        [Qt] Implement SSL error handling QML API.
17769        https://bugs.webkit.org/show_bug.cgi?id=76793
17770
17771        Reviewed by Simon Hausmann.
17772
17773        This patch implements support for accepting or rejecting invalid SSL
17774        certificates from the QML API.
17775
17776        * UIProcess/API/qt/qquickwebview.cpp:
17777        (QQuickWebViewPrivate::QQuickWebViewPrivate):
17778        (QQuickWebViewPrivate::handleCertificateVerificationRequest):
17779        (QQuickWebViewExperimental::certificateVerificationDialog):
17780        (QQuickWebViewExperimental::setCertificateVerificationDialog):
17781        * UIProcess/API/qt/qquickwebview_p.h:
17782        * UIProcess/API/qt/qquickwebview_p_p.h:
17783        * UIProcess/PageClient.h:
17784        * UIProcess/WebPageProxy.cpp:
17785        (WebKit::WebPageProxy::certificateVerificationRequest):
17786        * UIProcess/WebPageProxy.h:
17787        * UIProcess/WebPageProxy.messages.in:
17788        * UIProcess/qt/QtDialogRunner.cpp:
17789        (CertificateVerificationDialogContextObject::CertificateVerificationDialogContextObject):
17790        (CertificateVerificationDialogContextObject::hostname):
17791        (CertificateVerificationDialogContextObject::accept):
17792        (CertificateVerificationDialogContextObject::reject):
17793        (QtDialogRunner::initForCertificateVerification):
17794        * UIProcess/qt/QtDialogRunner.h:
17795        * UIProcess/qt/QtPageClient.cpp:
17796        (QtPageClient::handleCertificateVerificationRequest):
17797        * UIProcess/qt/QtPageClient.h:
17798        * WebProcess/qt/QtNetworkAccessManager.cpp:
17799        (WebKit::QtNetworkAccessManager::QtNetworkAccessManager):
17800        (WebKit::QtNetworkAccessManager::onSslErrors):
17801        * WebProcess/qt/QtNetworkAccessManager.h:
17802
178032012-01-23  David Levin  <levin@chromium.org>
17804
17805        [windows] Convert usages of GetDC to HWndDC Part 2.
17806        https://bugs.webkit.org/show_bug.cgi?id=76750
17807
17808        Reviewed by Adam Roben.
17809
17810        * Shared/win/ShareableBitmapWin.cpp:
17811        (WebKit::ShareableBitmap::windowsContext): Fix incorrect usage of OwnPtr<HDC> which
17812        would do a DeleteDC instead of a ReleaseDC.
17813
178142012-01-23  David Levin  <levin@chromium.org>
17815
17816        [windows] Convert usages of GetDC to HWndDC Part 1.
17817        https://bugs.webkit.org/show_bug.cgi?id=76744
17818
17819        Reviewed by Adam Roben.
17820
17821        * UIProcess/win/WebView.cpp:
17822        (WebKit::WebView::flashBackingStoreUpdates): Typical conversion.
17823
178242012-01-21  Timothy Hatcher  <timothy@apple.com>
17825
17826        Make WebKit2 remember the height of the Web Inspector when it is docked.
17827
17828        https://webkit.org/b/76769
17829
17830        Reviewed by Dan Bernstein.
17831
17832        * Shared/WebPreferencesStore.h: Added InspectorAttachedHeight.
17833        * UIProcess/WebInspectorProxy.cpp:
17834        (WebKit::WebInspectorProxy::setAttachedWindowHeight): Call WebPreferencesStore::setInspectorAttachedHeight.
17835        * UIProcess/mac/WebInspectorProxyMac.mm:
17836        (WebKit::WebInspectorProxy::platformAttach): Set the height of the inspector's WKView to inspectorAttachedHeight.
17837        (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight): Remove unneeded setNeedsDisplay: calls.
17838
178392012-01-20  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
17840
17841        [Qt] [WK2] Division by zero error in QtViewportInteractionEngine::setItemRectVisible
17842        https://bugs.webkit.org/show_bug.cgi?id=76674
17843
17844        Reviewed by Kenneth Rohde Christiansen.
17845
17846        Make sure that itemRect is not empty.
17847
17848        * UIProcess/qt/QtViewportInteractionEngine.cpp:
17849        (WebKit::QtViewportInteractionEngine::setItemRectVisible):
17850
178512012-01-20  Steve Falkenburg  <sfalken@apple.com>
17852
17853        Reviewed by Alexey Proskuryakov.
17854
17855        Drag/drop of a file into a WebView on Windows needs to allow access to that file
17856        https://bugs.webkit.org/show_bug.cgi?id=76753
17857        <rdar://problem/10731719>
17858        
17859        The Windows drag/drop code path was missing the code to open a file read exception.
17860
17861        Added code to match the Mac version, while allowing directories and multiple files to
17862        also be dragged (matching our previous behavior).
17863
17864        * UIProcess/win/WebView.cpp:
17865        (WebKit::maybeCreateSandboxExtensionFromDragData): Added.
17866        (WebKit::WebView::Drop): Add a universal read exception if we're dragging a file into a WebView to open it.
17867
178682012-01-20  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
17869
17870        [Qt] Trigger forcing accelerated compositing from the UI process side.
17871        https://bugs.webkit.org/show_bug.cgi?id=76296
17872
17873        Reviewed by Noam Rosenthal.
17874
17875        Some messages can be sent from the web view to the LayerTreeHost before
17876        accelerated compositing is entered on the web process and signaled back.
17877        By letting the UI process decide if AC has to be forced, we can create
17878        the LayerTreeHostProxy earlier to send messages to the web process while
17879        AC is being entered there.
17880
17881        This patch also fixes the flow of DidRenderFrame and RenderNextFrame messages
17882        by setting the m_waitingForUIProcess flag properly and only send the
17883        RenderNextFrame once the painting thread on the UI process is ready to paint.
17884
17885        This fixes the first visible content rect message not being received when
17886        loading pages from the disk.
17887
17888        * Shared/WebPreferencesStore.h:
17889        * UIProcess/API/qt/qquickwebview.cpp:
17890        (QQuickWebViewPrivate::initialize):
17891        * UIProcess/DrawingAreaProxyImpl.cpp:
17892        (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
17893        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
17894        (WebKit::LayerTreeHostProxy::flushLayerChanges):
17895        (WebKit::LayerTreeHostProxy::didRenderFrame):
17896        * WebProcess/WebPage/DrawingAreaImpl.cpp:
17897        (WebKit::DrawingAreaImpl::DrawingAreaImpl):
17898        * WebProcess/WebPage/WebPage.cpp:
17899        (WebKit::WebPage::updatePreferences):
17900        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
17901        (WebKit::LayerTreeHostQt::performScheduledLayerFlush):
17902        * WebProcess/WebPage/qt/WebPageQt.cpp:
17903        (WebKit::WebPage::platformInitialize):
17904
179052012-01-20  Sheriff Bot  <webkit.review.bot@gmail.com>
17906
17907        Unreviewed, rolling out r105497.
17908        http://trac.webkit.org/changeset/105497
17909        https://bugs.webkit.org/show_bug.cgi?id=76696
17910
17911        Leaking in Qt layout tests and timing out in GTK API tests.
17912        (Requested by jturcotte on #webkit).
17913
17914        * Shared/WebPreferencesStore.h:
17915        * UIProcess/API/qt/qquickwebview.cpp:
17916        (QQuickWebViewPrivate::initialize):
17917        * UIProcess/DrawingAreaProxyImpl.cpp:
17918        (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
17919        * WebProcess/WebPage/DrawingAreaImpl.cpp:
17920        (WebKit::DrawingAreaImpl::DrawingAreaImpl):
17921        * WebProcess/WebPage/WebPage.cpp:
17922        (WebKit::WebPage::updatePreferences):
17923        * WebProcess/WebPage/qt/WebPageQt.cpp:
17924        (WebKit::WebPage::platformInitialize):
17925
179262012-01-20  Mario Sanchez Prada  <msanchez@igalia.com>
17927
17928        [GTK] Expose accessibility hierarchy in WebKit2 to ATK/AT-SPI based ATs
17929        https://bugs.webkit.org/show_bug.cgi?id=72589
17930
17931        Reviewed by Martin Robinson.
17932
17933        Expose the accessibility hierarchy in the multi-process
17934        architecture of WK2 through AtkSocket and AtkPlug.
17935
17936        Make the WebView widget return an AtkSocket when calling to
17937        gtk_widget_get_accessible().
17938
17939        * GNUmakefile.am: Add new files.
17940        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
17941        (webkit_web_view_base_init):
17942        (webkitWebViewBaseGetAccessible):
17943        (webkit_web_view_base_class_init):
17944        * UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp: Added.
17945        (webkitWebViewBaseAccessibleWidgetFinalize):
17946        (webkitWebViewBaseAccessibleWidgetDestroyed):
17947        (webkitWebViewBaseAccessibleInitialize):
17948        (webkitWebViewBaseAccessibleRefStateSet):
17949        (webkitWebViewBaseAccessibleGetIndexInParent):
17950        (webkit_web_view_base_accessible_init):
17951        (webkit_web_view_base_accessible_class_init):
17952        (webkitWebViewBaseAccessibleNew):
17953        * UIProcess/API/gtk/WebKitWebViewBaseAccessible.h: Added.
17954
17955        Make the WebPage create an AtkPlug on its initialization and
17956        sending the ID of that plug to the UI process, so it can embed the
17957        plug in the socket.
17958
17959        Also, take care of all the needed wrapping around the WebCore's
17960        accessibility objects, exposing them in the UI process's
17961        accessibility hierarchy thanks to the socket-plug connection.
17962
17963        * UIProcess/WebPageProxy.h:
17964        (WebKit::WebPageProxy::accessibilityPlugID):
17965        * UIProcess/WebPageProxy.messages.in:
17966        * UIProcess/gtk/WebPageProxyGtk.cpp:
17967        (WebKit::WebPageProxy::bindAccessibilityTree):
17968        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
17969        (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
17970        * WebProcess/WebPage/WebPage.cpp:
17971        (WebKit::WebPage::WebPage):
17972        * WebProcess/WebPage/gtk/WebPageAccessibilityObject.cpp: Added.
17973        (accessibilityRootObjectWrapper):
17974        (webPageAccessibilityObjectInitialize):
17975        (webPageAccessibilityObjectGetIndexInParent):
17976        (webPageAccessibilityObjectGetNChildren):
17977        (webPageAccessibilityObjectRefChild):
17978        (web_page_accessibility_object_init):
17979        (web_page_accessibility_object_class_init):
17980        (webPageAccessibilityObjectNew):
17981        (webPageAccessibilityObjectRefresh):
17982        * WebProcess/WebPage/gtk/WebPageAccessibilityObject.h: Added.
17983        * WebProcess/WebPage/gtk/WebPageGtk.cpp:
17984        (WebKit::WebPage::platformInitialize):
17985        (WebKit::WebPage::updateAccessibilityTree):
17986
17987        New unit test for checking accessibility support in WK2GTK.
17988
17989        * UIProcess/API/gtk/tests/AccessibilityTestServer.cpp: Added.
17990        (loadChangedCallback): Notify the parent process (the test)
17991        when ready.
17992        (main):
17993        * UIProcess/API/gtk/tests/GNUmakefile.am:
17994        * UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp: Added.
17995        (stopTestServer):
17996        (sigAbortHandler):
17997        (testServerMonitorThreadFunc):
17998        (startTestServerMonitor):
17999        (startTestServer):
18000        (checkAtspiAccessible):
18001        (findTestServerApplication):
18002        (testAtspiBasicHierarchy):
18003        (beforeAll):
18004        (afterAll):
18005
180062012-01-19  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
18007
18008        [Qt] Public API watch dog auto test.
18009        https://bugs.webkit.org/show_bug.cgi?id=73922
18010
18011        Reviewed by Simon Hausmann.
18012
18013        This test aims to prevent unintended/unapproved
18014        modifications to the public QML API.
18015
18016        * UIProcess/API/qt/tests/publicapi/publicapi.pro: Added.
18017        * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp: Added.
18018        (isCheckedEnum):
18019        (isCheckedClass):
18020        (checkKnownType):
18021        (gatherAPI):
18022        (tst_publicapi::publicAPI):
18023
180242012-01-13  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
18025
18026        [Qt] Trigger forcing accelerated compositing from the UI process side.
18027        https://bugs.webkit.org/show_bug.cgi?id=76296
18028
18029        Reviewed by Noam Rosenthal.
18030
18031        Some messages can be sent from the web view to the LayerTreeHost before
18032        accelerated compositing is entered on the web process and signaled back.
18033        By letting the UI process decide if AC has to be forced, we can create
18034        the LayerTreeHostProxy earlier to send messages to the web process while
18035        AC is being entered there.
18036
18037        This fixes the first visible content rect message not being received when
18038        loading pages from the disk.
18039
18040        * Shared/WebPreferencesStore.h:
18041        * UIProcess/API/qt/qquickwebview.cpp:
18042        (QQuickWebViewPrivate::initialize):
18043        * UIProcess/DrawingAreaProxyImpl.cpp:
18044        (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
18045        * WebProcess/WebPage/DrawingAreaImpl.cpp:
18046        (WebKit::DrawingAreaImpl::DrawingAreaImpl):
18047        * WebProcess/WebPage/WebPage.cpp:
18048        (WebKit::WebPage::updatePreferences):
18049        * WebProcess/WebPage/qt/WebPageQt.cpp:
18050        (WebKit::WebPage::platformInitialize):
18051
180522012-01-20  Alexandru Chiculita  <achicu@adobe.com>
18053
18054        CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime
18055        https://bugs.webkit.org/show_bug.cgi?id=76444
18056
18057        Reviewed by Nikolas Zimmermann.
18058
18059        * Shared/WebPreferencesStore.h:
18060        * UIProcess/API/C/WKPreferences.cpp:
18061        (WKPreferencesSetCSSCustomFilterEnabled):
18062        (WKPreferencesGetCSSCustomFilterEnabled):
18063        * UIProcess/API/C/WKPreferencesPrivate.h:
18064        * WebProcess/WebPage/WebPage.cpp:
18065        (WebKit::WebPage::updatePreferences):
18066
180672012-01-19  Sam Weinig  <sam@webkit.org>
18068
18069        Replace improper #import with an #include.
18070
18071        * UIProcess/Plugins/PluginProcessProxy.cpp:
18072        Fixes warnings.
18073
180742012-01-18  Sam Weinig  <sam@webkit.org>
18075
18076        Move RunLoop to WebCore/platform
18077        https://bugs.webkit.org/show_bug.cgi?id=76471
18078
18079        Reviewed by Anders Carlsson.
18080
18081        * GNUmakefile.am:
18082        * Platform/CoreIPC/Connection.cpp:
18083        * Platform/CoreIPC/Connection.h:
18084        * Platform/CoreIPC/mac/ConnectionMac.cpp:
18085        * PluginProcess/PluginControllerProxy.h:
18086        * PluginProcess/PluginProcess.cpp:
18087        * PluginProcess/PluginProcess.h:
18088        * PluginProcess/WebProcessConnection.cpp:
18089        * PluginProcess/mac/PluginProcessMainMac.mm:
18090        * PluginProcess/qt/PluginProcessMainQt.cpp:
18091        * Shared/ChildProcess.cpp:
18092        * Shared/ChildProcess.h:
18093        * Target.pri:
18094        * UIProcess/API/mac/FindIndicatorWindow.h:
18095        * UIProcess/API/mac/WKView.mm:
18096        * UIProcess/DrawingAreaProxyImpl.h:
18097        * UIProcess/Launcher/ThreadLauncher.cpp:
18098        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
18099        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
18100        * UIProcess/Launcher/mac/ThreadLauncherMac.mm:
18101        * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
18102        * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
18103        * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
18104        * UIProcess/Launcher/win/ThreadLauncherWin.cpp:
18105        * UIProcess/LayerTreeHostProxy.h:
18106        * UIProcess/Plugins/PluginProcessProxy.cpp:
18107        * UIProcess/ResponsivenessTimer.cpp:
18108        * UIProcess/ResponsivenessTimer.h:
18109        * UIProcess/TiledDrawingAreaProxy.h:
18110        * UIProcess/VisitedLinkProvider.h:
18111        * UIProcess/WebConnectionToWebProcess.cpp:
18112        * UIProcess/WebConnectionToWebProcess.h:
18113        * UIProcess/WebContext.cpp:
18114        * UIProcess/win/WebView.cpp:
18115        * WebKit2.xcodeproj/project.pbxproj:
18116        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
18117        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
18118        * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
18119        * WebProcess/Plugins/PluginView.h:
18120        * WebProcess/WebConnectionToUIProcess.cpp:
18121        * WebProcess/WebConnectionToUIProcess.h:
18122        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
18123        * WebProcess/WebPage/DrawingAreaImpl.h:
18124        * WebProcess/WebPage/EventDispatcher.cpp:
18125        * WebProcess/WebPage/PageOverlay.h:
18126        * WebProcess/WebPage/WebPage.cpp:
18127        * WebProcess/WebPage/WebPage.h:
18128        * WebProcess/WebProcess.cpp:
18129        * WebProcess/WebProcess.h:
18130        (WebKit::WebProcess::runLoop):
18131        * WebProcess/gtk/WebProcessMainGtk.cpp:
18132        * WebProcess/mac/WebProcessMainMac.mm:
18133        * WebProcess/qt/WebProcessMainQt.cpp:
18134        * WebProcess/win/WebProcessMainWin.cpp:
18135        * win/WebKit2.vcproj:
18136        Remove RunLoop code and update #includes.
18137
181382012-01-18  Ada Chan  <adachan@apple.com>
18139
18140        Need a WebKit2 API for setting media volume
18141        https://bugs.webkit.org/show_bug.cgi?id=76560
18142
18143        Reviewed by Dan Bernstein.
18144
18145        * Shared/WebPageCreationParameters.cpp:
18146        (WebKit::WebPageCreationParameters::encode): Encode the mediaVolume parameter.
18147        (WebKit::WebPageCreationParameters::decode): Decode the mediaVolume parameter.
18148        * Shared/WebPageCreationParameters.h:
18149        * UIProcess/API/C/WKPage.cpp:
18150        (WKPageSetMediaVolume): Call WebPageProxy::setMediaVolume().
18151        * UIProcess/API/C/WKPagePrivate.h:
18152        * UIProcess/WebPageProxy.cpp:
18153        (WebKit::WebPageProxy::WebPageProxy): Initialize new data member m_mediaVolume.
18154        (WebKit::WebPageProxy::setMediaVolume): Bail if the volume hasn't changed. Update m_mediaVolume 
18155        and bail if the page is no longer valid.  Otherwise, send a WebPage::SetMediaVolume message to 
18156        the web process.
18157        (WebKit::WebPageProxy::creationParameters): Add media volume to the creation parameters.
18158        * UIProcess/WebPageProxy.h:
18159        * WebProcess/WebPage/WebPage.cpp:
18160        (WebKit::WebPage::WebPage): Initialize media volume from the WebPageCreationParameters.
18161        (WebKit::WebPage::setMediaVolume): Call Page::setMediaVolume().
18162        * WebProcess/WebPage/WebPage.h:
18163        * WebProcess/WebPage/WebPage.messages.in: Add the SetMediaVolume message.
18164
181652012-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>
18166
18167        [GTK] WebKit2 GTK+ API public headers are not installed
18168        https://bugs.webkit.org/show_bug.cgi?id=76626
18169
18170        Reviewed by Martin Robinson.
18171
18172        * GNUmakefile.am: Rename webkit2gtk_headers as
18173        libwebkit2gtkinclude_HEADERS to match libwebkit2gtkincludedir so
18174        that headers are installed during make install.
18175
181762012-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>
18177
18178        [GTK] Add print-backgrounds setting to WebKit2 GTK+ API
18179        https://bugs.webkit.org/show_bug.cgi?id=76616
18180
18181        Reviewed by Martin Robinson.
18182
18183        * UIProcess/API/gtk/WebKitSettings.cpp:
18184        (webKitSettingsSetProperty):
18185        (webKitSettingsGetProperty):
18186        (webkit_settings_class_init):
18187        (webkit_settings_get_print_backgrounds):
18188        (webkit_settings_set_print_backgrounds):
18189        * UIProcess/API/gtk/WebKitSettings.h:
18190        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
18191        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
18192        (testWebKitSettings):
18193
181942012-01-18  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
18195
18196        [Qt] Handle the layers visible rect calculation on the web process.
18197        https://bugs.webkit.org/show_bug.cgi?id=74720
18198
18199        Reviewed by Noam Rosenthal.
18200
18201        The layers now get their visible rect on the web process through the
18202        root layer when the UI process call setVisibleContentRectAndScale,
18203        previously only used for the non-composited content layer.
18204        The rect is then carried down the layers in the tree which apply it the inverse
18205        of their transform before handing it to their tiled backing store.
18206
18207        This ensures that new layers get a proper visible rect right on creation,
18208        and also that simultaneous visible rect and scale changes are applied synchronously.
18209
18210        This patch also uses clampedBoundsOfProjectedQuad instead of mapRect
18211        to transform the visible rect correctly for 3D transformed layers.
18212
18213        * UIProcess/API/qt/qquickwebview.cpp:
18214        (QQuickWebViewPrivate::initializeDesktop):
18215        (QQuickWebViewPrivate::initializeTouch):
18216        (QQuickWebViewPrivate::updateDesktopViewportSize):
18217        (QQuickWebViewPrivate::updateTouchViewportSize):
18218        (QQuickWebView::geometryChanged):
18219        Make sure that the visible rect is updated for the desktop view as well.
18220        * UIProcess/API/qt/qquickwebview_p_p.h:
18221        * UIProcess/LayerTreeHostProxy.h:
18222        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
18223        (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
18224        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
18225        (WebCore::WebGraphicsLayer::setChildren):
18226        (WebCore::WebGraphicsLayer::addChild):
18227        (WebCore::WebGraphicsLayer::addChildAtIndex):
18228        (WebCore::WebGraphicsLayer::addChildAbove):
18229        (WebCore::WebGraphicsLayer::addChildBelow):
18230        (WebCore::WebGraphicsLayer::replaceChild):
18231        (WebCore::WebGraphicsLayer::setMaskLayer):
18232        (WebCore::WebGraphicsLayer::syncCompositingState):
18233        (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
18234        (WebCore::WebGraphicsLayer::setVisibleContentRectAndScale):
18235        (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
18236        (WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
18237        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
18238        * WebProcess/WebPage/LayerTreeHost.messages.in:
18239        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
18240        (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
18241        * WebProcess/WebPage/qt/LayerTreeHostQt.h:
18242
182432012-01-18  Jon Lee  <jonlee@apple.com>
18244
18245        Another build fix for r105364.
18246
18247        * WebProcess/mac/WebProcessMac.mm:
18248        (WebKit::WebProcess::platformInitializeWebProcess): Missing #if.
18249
182502012-01-18  Jon Lee  <jonlee@apple.com>
18251
18252        Build fix for r105364. Unreviewed.
18253
18254        * WebProcess/Notifications/WebNotificationManager.cpp: Wrap methods in #if ENABLE(NOTIFICATIONS)
18255        (WebKit::WebNotificationManager::initialize):
18256        (WebKit::WebNotificationManager::didUpdateNotificationDecision):
18257        (WebKit::WebNotificationManager::didRemoveNotificationDecisions):
18258        (WebKit::WebNotificationManager::policyForOrigin):
18259
182602012-01-18  Jon Lee  <jonlee@apple.com>
18261
18262        [WK2] Sync call for notifications permissions causes flashes on gmail.com
18263        https://bugs.webkit.org/show_bug.cgi?id=76570
18264        <rdar://problem/10647155>
18265
18266        Reviewed by Anders Carlsson and Sam Weinig.
18267
18268        The website code figures out the permission level for its security origin by making a JS call (called
18269        checkPermission()) that is synchronous. The way this was implemented was to make a synchronous call from
18270        the WebNotificationManager to its proxy. That call goes to the WK API layer to find the policy, and
18271        returns that policy back to the JS.
18272
18273        The synchronous nature of this call causes the white flash to appear in certain cases.
18274
18275        To fix this, the checkPermission() call is handled all within the web process, instead of going up into
18276        the UI process. To do this, the web process initializes the WebNotificationManager with a copy of the
18277        notification permissions. Any time the WK client makes a change to the permissions, that gets sent down
18278        asynchronously, and the cached copy in WebNotificationManager gets updated.
18279
18280        A page's settings may disable notifications altogether. Before, this would have been handled by the WK
18281        client, since retrieving the permissions were also handled there. Now that the lookup happens in the web
18282        process, we need to add that setting in WebCore.
18283
18284        == Update notification permissions to use the security origin's string representation, rather than its
18285        database identifier.
18286
18287        * UIProcess/Notifications/WebNotification.cpp:
18288        (WebKit::WebNotification::WebNotification):
18289        * UIProcess/Notifications/WebNotification.h:
18290        (WebKit::WebNotification::create):
18291        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
18292        (WebKit::WebNotificationManagerProxy::show): Registering the provider with the manager is handled in
18293        initialize() now.
18294        (WebKit::WebNotificationManagerProxy::cancel): Registering the provider with the manager is handled in
18295        initialize() now.
18296        * UIProcess/Notifications/WebNotificationManagerProxy.h:
18297        * UIProcess/WebPageProxy.cpp:
18298        (WebKit::WebPageProxy::requestNotificationPermission):
18299        (WebKit::WebPageProxy::showNotification):
18300        * UIProcess/WebPageProxy.h:
18301
18302        * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
18303        (WebKit::NotificationPermissionRequestManager::startRequest): Only start the request if notifications
18304        are enabled.
18305        * WebProcess/Notifications/WebNotificationManager.cpp:
18306        (WebKit::WebNotificationManager::show): Only show notification is they are enabled.
18307        (WebKit::WebNotificationManager::cancel): Only cancel if notifications are enabled.
18308
18309        == Remove synchronous message to get policy for a given origin. Instead, use the cached copy in
18310        WebNotificationManager.
18311
18312        * WebProcess/Notifications/WebNotificationManager.h:
18313        * WebProcess/Notifications/WebNotificationManager.cpp:
18314        (WebKit::WebNotificationManager::policyForOrigin): Looks for the permission in the cached copy.
18315        If it doesn't exist, return NotificationPresenter::PermissionNotAllowed.
18316        * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
18317        (WebKit::NotificationPermissionRequestManager::permissionLevel): Update permissionLevel to use
18318        policyForOrigin().
18319
18320        Remove old WK API function to get the policy. Because this function was the only synchronous message,
18321        we remove the sync-message-related functions also. Also, add in some #includes that might have been
18322        omitted in prior patches.
18323
18324        * UIProcess/API/C/WKNotificationProvider.h:
18325        * UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Remove NotificationPermissionLevel.
18326        * UIProcess/Notifications/WebNotificationManagerProxy.h:
18327        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
18328
18329        * UIProcess/Notifications/WebNotificationProvider.h: Remove policyForNotificationPermissionAtOrigin().
18330        * UIProcess/Notifications/WebNotificationProvider.cpp:
18331
18332        * UIProcess/WebProcessProxy.cpp:
18333        (WebKit::WebProcessProxy::didReceiveSyncMessage): Remove conditional to forward sync messages to the
18334        notification manager proxy.
18335
18336        == Mechanism for client to update the permissions copy in WebNotificationManager.
18337
18338        * WebProcess/Notifications/WebNotificationManager.messages.in: Add new messages
18339        didUpdateNotificationDecision and didRemoveNotificationDecisions.
18340        * WebProcess/Notifications/WebNotificationManager.h:
18341        * WebProcess/Notifications/WebNotificationManager.cpp:
18342        (WebKit::WebNotificationManager::initialize):
18343        (WebKit::WebNotificationManager::didUpdateNotificationDecision): Update the entry.
18344        (WebKit::WebNotificationManager::didRemoveNotificationDecisions): Remove the entry.
18345
18346        * UIProcess/Notifications/WebNotificationManagerProxy.h:
18347        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
18348        (WebKit::WebNotificationManagerProxy::providerDidUpdateNotificationPolicy):
18349        (WebKit::WebNotificationManagerProxy::providerDidRemoveNotificationPolicies): Convert the array of
18350        origins to remove, and send it to the WebNotificationManager.
18351
18352        * UIProcess/API/C/WKNotificationManager.h: Expose these update functions as WK API.
18353        * UIProcess/API/C/WKNotificationManager.cpp:
18354        (WKNotificationManagerProviderDidUpdateNotificationPolicy):
18355        (WKNotificationManagerProviderDidRemoveNotificationPolicies):
18356
18357        == Initialize WebNotificationManager with permissions. Initialize WebPage with notifications enabled bit
18358        from settings.
18359
18360        * Shared/WebProcessCreationParameters.h: Add map of notification permissions as part of the
18361        parameters.
18362        * Shared/WebProcessCreationParameters.cpp:
18363        (WebKit::WebProcessCreationParameters::encode):
18364        (WebKit::WebProcessCreationParameters::decode):
18365
18366        * UIProcess/Notifications/WebNotificationProvider.h: Retrieve copy of existing notification permissions.
18367        * UIProcess/Notifications/WebNotificationProvider.cpp:
18368        * UIProcess/API/C/WKNotificationProvider.h: Add WK API to get a copy of the permissions.
18369
18370        * UIProcess/Notifications/WebNotificationManagerProxy.h: Add populateCopyOfNotificationPermissions().
18371        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
18372        (WebKit::WebNotificationManagerProxy::initializeProvider): Add the manager at the time of initialization.
18373        Similar calls in show() and cancel() are removed in following patch.
18374        (WebKit::WebNotificationManagerProxy::populateCopyOfNotificationPermissions): Clear the existing copy.
18375        Populate with origin string, and whether that origin is allowed to post. If no decision has been made
18376        by the user, then there should be no item in this dictionary.
18377
18378        * UIProcess/WebContext.cpp:
18379        (WebKit::WebContext::ensureWebProcess): When the web process is initialized, we get a copy of the
18380        permissions, and send it to the web process to initialize the notification manager.
18381        * WebProcess/mac/WebProcessMac.mm:
18382        (WebKit::WebProcess::platformInitializeWebProcess): Initialize the notification manager.
18383
18384        * WebProcess/Notifications/WebNotificationManager.h:
18385        * WebProcess/Notifications/WebNotificationManager.cpp:
18386        (WebKit::WebNotificationManager::initialize): Initialize the permissions copy.
18387
18388        * WebProcess/WebPage/WebPage.cpp:
18389        (WebKit::WebPage::updatePreferences): Set notifications enabled bit from settings.
18390
18391        == Expose toString() method from WebCore::SecurityOrigin. Work is also towards bug 74956.
18392
18393        * Shared/API/c/WKSecurityOrigin.h: Refactor WKSecurityOriginCreateFromIdentifier to
18394        WKSecurityOriginCreateFromDatabaseIdentifier and add WKSecurityOriginCreateFromString function.
18395        * Shared/API/c/WKSecurityOrigin.cpp:
18396        (WKSecurityOriginCreateFromString):
18397        (WKSecurityOriginCreateFromDatabaseIdentifier):
18398        (WKSecurityOriginCopyToString):
18399
18400        Refactor WebSecurityOrigin::create() to WebSecurityOrigin::createFromDatabaseIdentifier()
18401        and add WebSecurityOrigin::createFromString().
18402
18403        * Shared/WebSecurityOrigin.h:
18404        (WebKit::WebSecurityOrigin::createFromString):
18405        (WebKit::WebSecurityOrigin::createFromDatabaseIdentifier):
18406        (WebKit::WebSecurityOrigin::toString): Added function.
18407        
18408        Refactor with renamed createFromDatabaseIdentifier() method.
18409        
18410        * UIProcess/WebDatabaseManagerProxy.cpp:
18411        (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
18412        (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
18413        (WebKit::WebDatabaseManagerProxy::didModifyOrigin):
18414        (WebKit::WebDatabaseManagerProxy::didModifyDatabase):
18415        * UIProcess/WebPageProxy.cpp:
18416        (WebKit::WebPageProxy::exceededDatabaseQuota):
18417        (WebKit::WebPageProxy::requestGeolocationPermissionForFrame):
18418
18419        == Add WK API calls to change notificationsEnabled bit in WebCore::Settings.
18420
18421        * Shared/WebPreferencesStore.h:
18422        * UIProcess/API/C/WKPreferences.cpp:
18423        (WKPreferencesSetNotificationsEnabled):
18424        (WKPreferencesGetNotificationsEnabled):
18425        * UIProcess/API/C/WKPreferences.h:
18426
184272012-01-18  Anders Carlsson  <andersca@apple.com>
18428
18429        REGRESSION (r88886): Tabs restore blank when running Safari with a nightly build for the first time
18430        https://bugs.webkit.org/show_bug.cgi?id=76587
18431        <rdar://problem/9739135>
18432
18433        Reviewed by Sam Weinig.
18434
18435        * UIProcess/cf/WebPageProxyCF.cpp:
18436        Change CurrentSessionStateDataVersion back to 2.
18437
18438        * WebProcess/WebPage/DecoderAdapter.cpp:
18439        (WebKit::DecoderAdapter::decodeString):
18440        * WebProcess/WebPage/EncoderAdapter.cpp:
18441        (WebKit::EncoderAdapter::encodeString):
18442        Backport the CoreIPC string encoding and decoding functions that were in place prior to r88886.
18443
184442012-01-17  Alexey Proskuryakov  <ap@apple.com>
18445
18446        [Mac] Add a flag telling plug-in if it can enter sandbox
18447        https://bugs.webkit.org/show_bug.cgi?id=76467
18448
18449        Reviewed by Anders Carlsson.
18450
18451        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
18452        (WebKit::NPN_GetValue): Added a private flag.
18453
184542012-01-18  Eric Carlson  <eric.carlson@apple.com>
18455
18456        Provide access to user's list of preferred languages
18457        https://bugs.webkit.org/show_bug.cgi?id=76138
18458
18459        Reviewed by Alexey Proskuryakov.
18460
18461        * Shared/WebProcessCreationParameters.cpp:
18462        (WebKit::WebProcessCreationParameters::encode): Encode the languages array.
18463        (WebKit::WebProcessCreationParameters::decode): Decode the languages array.
18464        * Shared/WebProcessCreationParameters.h:
18465
18466        * UIProcess/WebContext.cpp:
18467        (WebKit::WebContext::languageChanged): Override the WebProcess userPreferredLanguages.
18468        (WebKit::WebContext::ensureWebProcess): Initialize parameters.languages.
18469
18470        * WebProcess/WebProcess.cpp:
18471        (WebKit::WebProcess::initializeWebProcess): Override user languages array.
18472        (WebKit::WebProcess::userPreferredLanguagesChanged): Ditto.
18473        * WebProcess/WebProcess.h:
18474        * WebProcess/WebProcess.messages.in: Define UserPreferredLanguagesChanged.
18475
18476        * win/WebKit2.def: Export the new functions.
18477        * win/WebKit2CFLite.def: Ditto.
18478
184792012-01-18  Luciano Wolf  <luciano.wolf@openbossa.org>
18480
18481        [Qt][WK2] Broken build with undefined reference to shm_open and shm_unlink
18482        https://bugs.webkit.org/show_bug.cgi?id=76538
18483
18484        Reviewed by Tor Arne Vestbø.
18485
18486        The -lrt parameter was coming before -lWebKit2 during linkage.
18487
18488        Moved rt lib inclusion from Source/api.pri to WebKit2.pri as it should be aware
18489        of its own dependencies instead of letting WebKit guess about. Letting
18490        it on api.pri can lead to a wrong parameter's order during linker phase.
18491        Ubuntu 11.10 was giving errors about SharedMemory (shm_open and
18492        shm_unlink undefined symbols).
18493
18494        The issue was fixed with the help of Aloisio Almeida and Lauro Venancio.
18495
18496        * WebKit2.pri:
18497
184982012-01-18  Carlos Garnacho  <carlosg@gnome.org>
18499
18500        [GTK] Listen to GDK_SCROLL_MASK
18501        https://bugs.webkit.org/show_bug.cgi?id=76529
18502
18503        Set GDK_SCROLL_MASK explicitly, as WebKitWebViewBase does handle
18504        scroll events, scrolling currently works because GTK+ happens 
18505        to send such events to widgets listening to GDK_BUTTON_PRESS_MASK,
18506        but this isn't the intended behavior, so it's subject to change.
18507
18508        Reviewed by Martin Robinson.
18509
18510        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
18511        (webkitWebViewBaseRealize):
18512
185132012-01-18  Andras Becsi  <andras.becsi@nokia.com>
18514
18515        [Qt][WK2] Fix the debug build.
18516
18517        Unreviewed.
18518
18519        * UIProcess/qt/QtWebPageEventHandler.cpp:
18520        (setInputPanelVisible): Remove assertion from non-member function.
18521
185222012-01-12  Kenneth Rohde Christiansen  <kenneth@webkit.org>
18523
18524        [Qt] Zoom in to the focused node only when vkb starts becoming visible
18525        https://bugs.webkit.org/show_bug.cgi?id=76174
18526
18527        Reviewed by Simon Hausmann.
18528
18529        Remove the old code which always zoomed in when something got focus,
18530        even via JavaScript, and replaced it with code checking the state of
18531        the Qt input panel.
18532
18533        Also make sure that we do not zoom in or request the input panel if
18534        the item is not focused.
18535
18536        * UIProcess/PageClient.h:
18537        * UIProcess/WebPageProxy.cpp:
18538        * UIProcess/WebPageProxy.h:
18539        * UIProcess/WebPageProxy.messages.in:
18540        * UIProcess/qt/QtPageClient.cpp:
18541        * UIProcess/qt/QtPageClient.h:
18542        * UIProcess/qt/QtWebPageEventHandler.cpp:
18543        (QtWebPageEventHandler::QtWebPageEventHandler):
18544        (QtWebPageEventHandler::~QtWebPageEventHandler):
18545        (QtWebPageEventHandler::inputPanelVisibleChanged):
18546        * UIProcess/qt/QtWebPageEventHandler.h:
18547        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
18548        (WebKit::WebEditorClient::respondToChangedSelection):
18549
185502012-01-18  Shinya Kawanaka  <shinyak@google.com>
18551
18552        Move ShadowContentElement from dom/ to html/ and make ShadowContentElement subclass of HTMLElement.
18553        https://bugs.webkit.org/show_bug.cgi?id=76241
18554
18555        Reviewed by Dimitri Glazkov.
18556
18557        * win/WebKit2.def: Exposed necessary symbols.
18558        * win/WebKit2CFLite.def: ditto.
18559
185602012-01-17  Hajime Morrita  <morrita@chromium.org>
18561
18562        [Internals] Should be able to access corresponding Document object.
18563        https://bugs.webkit.org/show_bug.cgi?id=76425
18564
18565        Reviewed by Adam Barth.
18566
18567        * win/WebKit2.def: Added exporting symbols.
18568        * win/WebKit2CFLite.def: Added exporting symbols.
18569
185702012-01-17  Matthew Delaney  <mdelaney@apple.com>
18571
18572        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.
18573        <rdar://problem/10692025>
18574
18575        Reviewed by Simon Fraser.
18576
18577        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: Init new function.
18578        (InitWebCoreSystemInterface):
18579
185802012-01-17  Sam Weinig  <sam@webkit.org>
18581
18582        Rename quickLookPreviewItemsAtWindowLocation: to quickLookWithEvent:
18583        <rdar://problem/10688913>
18584
18585        Reviewed by Anders Carlsson.
18586
18587        * UIProcess/API/mac/WKView.mm:
18588        (-[WKView quickLookWithEvent:]):
18589
185902012-01-17  Sam Weinig  <sam@webkit.org>
18591
18592        Add helper macro for forward declaring objective-c classes
18593        https://bugs.webkit.org/show_bug.cgi?id=76485
18594
18595        Reviewed by Anders Carlsson.
18596
18597        * WebProcess/WebCoreSupport/WebDragClient.h:
18598        Deploy OBJC_CLASS for a little code reduction.
18599
18600        * config.h:
18601        Remove duplicate copy of OBJC_CLASS.
18602
186032012-01-17  Martin Robinson  <mrobinson@igalia.com>
18604
18605        [GTK] [WK2] WebKitPrivate should include the entire WebKit2 C API
18606        https://bugs.webkit.org/show_bug.cgi?id=76345
18607
18608        Reviewed by Gustavo Noronha Silva.
18609
18610        Isolate all of the WebKit2 C API includes into WebKitPrivate.h and no longer
18611        include anything other than WebKit2.h for the C API.
18612
18613        * UIProcess/API/gtk/WebKitBackForwardList.cpp: Use WebKitPrivate.h now.
18614        * UIProcess/API/gtk/WebKitBackForwardListItem.cpp: Ditto.
18615        * UIProcess/API/gtk/WebKitPrivate.h: Add WebKit2.h, WKAPICast.h and WKRetainPtr.h includes.
18616        * UIProcess/API/gtk/WebKitSettings.cpp: Use WebKitPrivate.h.
18617        * UIProcess/API/gtk/WebKitUIClient.cpp: Ditto.
18618        * UIProcess/API/gtk/WebKitWebContext.cpp: Ditto.
18619        * UIProcess/API/gtk/WebKitWebView.cpp: Ditto.
18620        * UIProcess/API/gtk/WebKitWebViewBase.cpp: Ditto.
18621        * UIProcess/API/gtk/WebKitWindowProperties.cpp: Ditto.
18622
186232012-01-17  Alexander Færøy  <alexander.faeroy@nokia.com>
18624
18625        [Qt] Implement HTTP authentication QML API
18626        https://bugs.webkit.org/show_bug.cgi?id=75535
18627
18628        Reviewed by Kenneth Rohde Christiansen.
18629
18630        This patch implements the QML API for handling HTTP authentication.
18631        The implementation uses a syncronous message between the WebProcess
18632        and the UIProcess which is called when the authenticationRequired
18633        signal is emitted from QNAM.
18634
18635        Based in part upon patch by Peter Hartmann.
18636
18637        * UIProcess/API/qt/qquickwebview.cpp:
18638        (QQuickWebViewPrivate::QQuickWebViewPrivate):
18639        (QQuickWebViewPrivate::handleAuthenticationRequiredRequest):
18640        (QQuickWebViewExperimental::authenticationDialog):
18641        (QQuickWebViewExperimental::setAuthenticationDialog):
18642        * UIProcess/API/qt/qquickwebview_p.h:
18643        * UIProcess/API/qt/qquickwebview_p_p.h:
18644        * UIProcess/PageClient.h:
18645        * UIProcess/WebPageProxy.cpp:
18646        (WebKit::WebPageProxy::authenticationRequiredRequest):
18647        * UIProcess/WebPageProxy.h:
18648        * UIProcess/WebPageProxy.messages.in:
18649        * UIProcess/qt/QtDialogRunner.cpp:
18650        (AuthenticationDialogContextObject::AuthenticationDialogContextObject):
18651        (AuthenticationDialogContextObject::hostname):
18652        (AuthenticationDialogContextObject::realm):
18653        (AuthenticationDialogContextObject::prefilledUsername):
18654        (AuthenticationDialogContextObject::accept):
18655        (AuthenticationDialogContextObject::reject):
18656        (QtDialogRunner::initForAuthentication):
18657        * UIProcess/qt/QtDialogRunner.h:
18658        (QtDialogRunner::username):
18659        (QtDialogRunner::password):
18660        (QtDialogRunner::onAuthenticationAccepted):
18661        * UIProcess/qt/QtPageClient.cpp:
18662        (QtPageClient::handleAuthenticationRequiredRequest):
18663        * UIProcess/qt/QtPageClient.h:
18664        * WebProcess/qt/QtNetworkAccessManager.cpp:
18665        (WebKit::QtNetworkAccessManager::QtNetworkAccessManager):
18666        (WebKit::QtNetworkAccessManager::onAuthenticationRequired):
18667        * WebProcess/qt/QtNetworkAccessManager.h:
18668
186692012-01-16  Dan Bernstein  <mitz@apple.com>
18670
18671        <rdar://problem/10702758> REGRESSION: Every Safari Reader WKView leaks
18672
18673        Reviewed by John Sullivan and Ada Chan.
18674
18675        * UIProcess/API/mac/WKView.mm:
18676        (-[WKView viewDidMoveToWindow]): Since this method can be called multiple times in a row
18677        while [self window] is non-nil, check if there isn’t already an event monitor before adding
18678        a new one.
18679
186802012-01-16  Anders Carlsson  <andersca@apple.com>
18681
18682        Crash when calling SecItemAdd with a null result pointer
18683        https://bugs.webkit.org/show_bug.cgi?id=76407
18684        <rdar://problem/10696087>
18685
18686        Reviewed by Brady Eidson.
18687
18688        Add null check.
18689
18690        * WebProcess/mac/SecItemShimMethods.mm:
18691        (WebKit::webSecItemAdd):
18692
186932012-01-16  Jon Lee  <jonlee@apple.com>
18694
18695        Build fix for r105086.
18696
18697        * Configurations/FeatureDefines.xcconfig:
18698
186992012-01-16  Zeno Albisser  <zeno@webkit.org>
18700
18701        [Qt] Fix QT_VERSION related warnings when building on Mac OS X
18702        https://bugs.webkit.org/show_bug.cgi?id=76340
18703
18704        This bug was caused by r104826.
18705        As was already mentioned for https://bugs.webkit.org/show_bug.cgi?id=57239
18706        we should not use "using namespace WebCore" in header files,
18707        because it might cause ambiguous references.
18708        This patch reverts the changes from r104826 and r104981
18709        and removes the "using namespace WebCore" statement from
18710        two header files.
18711
18712        Reviewed by Tor Arne Vestbø.
18713
18714        * Shared/WebLayerTreeInfo.h:
18715        (WebKit::WebLayerUpdateInfo::WebLayerUpdateInfo):
18716        (WebKit::WebLayerAnimation::WebLayerAnimation):
18717        * UIProcess/LayerTreeHostProxy.h:
18718        (WebKit::LayerTreeHostProxy::layerByID):
18719        (WebKit::LayerTreeHostProxy::rootLayer):
18720        (WebKit::LayerTreeHostProxy::notifyAnimationStarted):
18721        (WebKit::LayerTreeHostProxy::notifySyncRequired):
18722        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
18723        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
18724        * WebProcess/WebPage/qt/LayerTreeHostQt.h:
18725
187262012-01-16  Alexander Færøy  <alexander.faeroy@nokia.com>
18727
18728        [Qt] Remove references to PagePointer in the FrameNetworkingContext
18729        https://bugs.webkit.org/show_bug.cgi?id=76342
18730
18731        Reviewed by Simon Hausmann.
18732
18733        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
18734        (WebKit::WebFrameLoaderClient::createNetworkingContext):
18735        * WebProcess/qt/QtNetworkAccessManager.cpp:
18736        (WebKit::QtNetworkAccessManager::obtainOriginatingWebPage):
18737        * WebProcess/qt/QtNetworkAccessManager.h:
18738
187392012-01-14  Dan Bernstein  <mitz@apple.com>
18740
18741        <rdar://problem/10696295> Crash in WebProcess at com.apple.CFNetwork: URLCredentialStorage::CreateCurrentPersistentCredentials + 298
18742
18743        Reviewed by Anders Carlsson.
18744
18745        * WebProcess/mac/SecItemShimMethods.mm:
18746        (WebKit::initializeSecItemShim): Removed an early return that was accidentally added in r105008.
18747
187482012-01-13  Anders Carlsson  <andersca@apple.com>
18749
18750        Delay updating the root compositing layer if the layer tree state is frozen
18751        https://bugs.webkit.org/show_bug.cgi?id=76316
18752
18753        Reviewed by Dan Bernstein.
18754
18755        When the layer tree is frozen, stash the root layer in m_pendingRootCompositingLayer and set it in flushLayers.
18756
18757        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
18758        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
18759        (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
18760        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
18761
187622012-01-13  Anders Carlsson  <andersca@apple.com>
18763
18764        Implement TiledCoreAnimationDrawingArea::setLayerTreeStateIsFrozen
18765        https://bugs.webkit.org/show_bug.cgi?id=76308
18766
18767        Reviewed by Sam Weinig.
18768
18769        Keep track of whether the layer tree state is frozen and suspend/resume the layer flush scheduler accordingly.
18770
18771        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
18772        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
18773        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
18774        (WebKit::TiledCoreAnimationDrawingArea::setLayerTreeStateIsFrozen):
18775        (WebKit::TiledCoreAnimationDrawingArea::layerTreeStateIsFrozen):
18776        (WebKit::TiledCoreAnimationDrawingArea::scheduleCompositingLayerSync):
18777        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
18778
187792012-01-13  Anders Carlsson  <andersca@apple.com>
18780
18781        Disable implicit animations when setting the root compositing layer
18782        https://bugs.webkit.org/show_bug.cgi?id=76304
18783
18784        Reviewed by Sam Weinig.
18785
18786        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
18787        (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
18788
187892012-01-13  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
18790
18791        TextureMapper: Extract layer transform logic to a LayerTransform class.
18792        https://bugs.webkit.org/show_bug.cgi?id=76291
18793
18794        Reviewed by Noam Rosenthal.
18795
18796        Move the paint call before the visible rect collection to make sure that
18797        transforms are computed. This will increase the delay for the visible rects
18798        to get to the WebProcess until we move this calculation out of the UI Process.
18799        This fixes an assert triggering in LayerTransform::combineTransforms.
18800
18801        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
18802        (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
18803
188042012-01-13  Brent Fulgham  <bfulgham@webkit.org>
18805
18806        [WinCairo] Build correction.
18807
18808        * Shared/WebGraphicsContext.h: Use proper include path for RefPtrCairo.h.
18809
188102012-01-12  Martin Robinson  <mrobinson@igalia.com>
18811
18812        [GTK] [WebKit2] WebKitURIRequest and WebKitURIResponse should wrap the corresponding WebCore classes
18813        https://bugs.webkit.org/show_bug.cgi?id=74478
18814
18815        Reviewed by Gustavo Noronha Silva.
18816
18817        Have WebKitURIRequest wrap a ResourceRquesst and WebKitURIResponse wrap a ResourceResponse.
18818        They are the WebCore types they are meant to represent and we will need to expose more
18819        information from them in the future to make them useful. Later we can have ResourceResponse
18820        generate a SoupMessage lazily if necessary.
18821
18822        * GNUmakefile.am:
18823        * UIProcess/API/gtk/WebKitURIRequest.cpp:
18824        (webkit_uri_request_class_init): Remove the set property vmethod.
18825        (webkit_uri_request_new): The URI property is no longer settable.
18826        (webkitURIRequestCreateForResourceRequest): Added this private constructor.
18827        (webkit_uri_request_get_uri): Now we just get the URI directly from the ResourceRequest.
18828        * UIProcess/API/gtk/WebKitURIResponse.cpp:
18829        (webkit_uri_response_class_init): Remove the set property vmethod.
18830        (webkit_uri_response_get_uri): Get the URI directly from the ResourceReponse.
18831        (webkit_uri_response_get_status_code): Get the status code directly from the ResourceResponse.
18832        (webkit_uri_response_get_content_length): Get the content length directly from the ResourceResponse.
18833        (webkitURIResponseCreateForResourceResponse): Added this private constructor.
18834        * UIProcess/API/gtk/WebKitURIResponsePrivate.h: Removed unnecessary methods.
18835
188362012-01-12  No'am Rosenthal  <noam.rosenthal@nokia.com>
18837
18838        [Qt][WK2] WebProcesses crashes when composited reflections/masks are present
18839        https://bugs.webkit.org/show_bug.cgi?id=75883
18840
18841        Reviewed by Kenneth Rohde Christiansen.
18842
18843        Make sure masks and replica layers can access layerTreeTileClient. Let masks
18844        have the right contents/visible rect so that they can render content tiles.
18845        Default the mask's size to be the layer's size.
18846
18847        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
18848        (WebCore::WebGraphicsLayer::WebGraphicsLayer):
18849        (WebCore::WebGraphicsLayer::setSize):
18850        (WebCore::WebGraphicsLayer::setMaskLayer):
18851        (WebCore::WebGraphicsLayer::setReplicatedByLayer):
18852        (WebCore::WebGraphicsLayer::syncCompositingState):
18853        (WebCore::WebGraphicsLayer::setContentsScale):
18854        (WebCore::WebGraphicsLayer::setVisibleContentRect):
18855        (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
18856        (WebCore::WebGraphicsLayer::updateTileBuffersRecursively):
18857        (WebCore::WebGraphicsLayer::layerTreeTileClient):
18858        (WebCore::WebGraphicsLayer::purgeBackingStores):
18859        (WebCore::WebGraphicsLayer::recreateBackingStoreIfNeeded):
18860        (WebCore::WebGraphicsLayer::setLayerTreeTileClient):
18861        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
18862        (WebCore::WebGraphicsLayer::maskTarget):
18863        (WebCore::WebGraphicsLayer::setMaskTarget):
18864
188652012-01-12  Kenneth Rohde Christiansen  <kenneth@webkit.org>
18866
18867        [Qt] Set the input method hints on the QtQuick item
18868        https://bugs.webkit.org/show_bug.cgi?id=76169
18869
18870        Reviewed by Simon Hausmann.
18871
18872        Set the input method hints given the HTMLElement type and state.
18873
18874        * Shared/EditorState.cpp:
18875        (WebKit::EditorState::encode):
18876        (WebKit::EditorState::decode):
18877        * Shared/EditorState.h:
18878        (WebKit::EditorState::EditorState):
18879        * UIProcess/qt/QtWebPageEventHandler.cpp:
18880        (QtWebPageEventHandler::updateTextInputState):
18881        * WebProcess/WebPage/WebPage.cpp:
18882        (WebKit::WebPage::editorState):
18883
188842012-01-12  Eunmi Lee  <eunmi15.lee@samsung.com>
18885
18886        [EFL][WK2] Update and show ewk_view with updated webpage.
18887        https://bugs.webkit.org/show_bug.cgi?id=76023
18888
18889        Reviewed by Andreas Kling.
18890
18891        Update ewk_view with BackingStore image which is rendered webpage
18892        image by WebProcess, and show updated image's area when
18893        PageClientImpl::setViewNeedsDisplay() is called.
18894        The ewk_view_display() function is used to display updated area of
18895        evas_object_image and the ewk_view_image_data_set() function is used
18896        to set evas_object_image's data with rendered webpage.
18897
18898        * UIProcess/API/efl/PageClientImpl.cpp:
18899        (WebKit::PageClientImpl::setViewNeedsDisplay):
18900        * UIProcess/API/efl/ewk_private.h: Added.
18901        * UIProcess/API/efl/ewk_view.cpp:
18902        (ewk_view_add):
18903        (ewk_view_display):
18904        (ewk_view_image_data_set):
18905        * UIProcess/cairo/BackingStoreCairo.cpp:
18906        (WebKit::BackingStore::incorporateUpdate):
18907
189082012-01-12  Ryuan Choi  <ryuan.choi@samsung.com>
18909
18910        [EFL][WK2] Network is not available when SOUP is enabled.
18911        https://bugs.webkit.org/show_bug.cgi?id=76112
18912
18913        Reviewed by Andreas Kling.
18914
18915        ecore_main_loop_glib_integrate should be called to use glib based library
18916        such as SOUP.
18917
18918        * WebProcess/efl/WebProcessMainEfl.cpp:
18919        (WebKit::WebProcessMainEfl):
18920
189212012-01-12  Ryuan Choi  <ryuan.choi@samsung.com>
18922
18923        [EFL][WK2] Add PLATFORM(EFL) in SharedMemory.h, WebProcessStore.h, WebEditorClient.cpp
18924        https://bugs.webkit.org/show_bug.cgi?id=76115
18925
18926        Reviewed by Andreas Kling.
18927
18928        This patch added PLATFORM(EFL) guard in SharedMemory.h to use UNIX_DOMAIN_SOCKETS
18929        and WebProcessStore.h to have font family preference
18930        and WebEditorClient.cpp to use platform specific handleKeyboardEvent(),
18931        handleInputMethodKeydown()
18932
18933        * Platform/SharedMemory.h:
18934        * Shared/WebPreferencesStore.h:
18935        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
18936
189372012-01-11  Carlos Garcia Campos  <cgarcia@igalia.com>
18938
18939        [GTK] Web process should use the same locale than UI process
18940        https://bugs.webkit.org/show_bug.cgi?id=76054
18941
18942        Reviewed by Gustavo Noronha Silva.
18943
18944        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
18945        (WebKit::childSetupFunction): Make child process use the same
18946        locale than its parent.
18947
189482012-01-11  Ryuan Choi  <ryuan.choi@samsung.com>
18949
18950        [WK2] Share cairo specific codes with EFL port.
18951        https://bugs.webkit.org/show_bug.cgi?id=75457
18952
18953        Reviewed by Brent Fulgham.
18954
18955        Change PLATFORM(GTK) to USE(CAIRO) in WebGraphicsContext{h,cpp} to share
18956        with EFL port.
18957
18958        * Shared/WebGraphicsContext.cpp:
18959        (WebKit::WebGraphicsContext::WebGraphicsContext):
18960        * Shared/WebGraphicsContext.h:
18961
189622012-01-11  Beth Dakin  <bdakin@apple.com>
18963
18964        https://bugs.webkit.org/show_bug.cgi?id=75904
18965        WebKit 1: Scrollbar uiStateTransitionProgress requires tracking the mouse all 
18966        the time
18967        -and corresponding-
18968        <rdar://problem/10498816>
18969
18970        Reviewed by Darin Adler.
18971
18972        This patch gets rid of the optional parameter called onlyUpdateScrollbars for 
18973        WebCore::EventHandler::mouseMoved() and instead moves that functionality into 
18974        its own function called passMouseMovedEventToScrollbars().
18975        * WebProcess/WebPage/WebPage.cpp:
18976        (WebKit::handleMouseEvent):
18977
189782012-01-11  Brent Fulgham  <bfulgham@webkit.org>
18979
18980        WinCairo build correction.
18981
18982        * UIProcess/WebPageProxy.h: Don't define viewWidget for WinCairo port.
18983
189842012-01-11  Anders Carlsson  <andersca@apple.com>
18985
18986        Webpages flash white when switching between windows
18987        https://bugs.webkit.org/show_bug.cgi?id=76080
18988        <rdar://problem/9893565>
18989
18990        Reviewed by Dan Bernstein.
18991
18992        Introduce a _windowHasValidBackingStore boolean and only paint the background (white or clear)
18993        * UIProcess/API/mac/WKView.mm:
18994        (-[WKView setFrameSize:]):
18995        Set _windowHasValidBackingStore to false if the new size is different from the old size.
18996
18997        (-[WKView viewDidMoveToWindow]):
18998        Set _windowHasValidBackingStore to false.
18999
19000        (-[WKView _windowDidMiniaturize:]):
19001        Set _windowHasValidBackingStore to false.
19002
19003        (-[WKView _windowDidChangeBackingProperties:]):
19004        Set _windowHasValidBackingStore to false.
19005
19006        (-[WKView drawRect:]):
19007        Only call drawPageBackground if _windowHasValidBackingStore is false. Set it to true after painting.
19008
190092012-01-11  Anders Carlsson  <andersca@apple.com>
19010
19011        Fix the Mac GCC build.
19012
19013        Work around the fact that GCC doesn't work very well with Blocks and C++ objets.
19014
19015        * UIProcess/mac/WebProcessProxyMac.mm:
19016        (WebKit::dispatchFunctionOnQueue):
19017        (WebKit::WebProcessProxy::secItemRequest):
19018        (WebKit::WebProcessProxy::secKeychainItemRequest):
19019
190202012-01-11  No'am Rosenthal  <noam.rosenthal@nokia.com>
19021
19022        [Qt][WK2] Directly-composited images sometimes appear with a wrong geometry
19023        https://bugs.webkit.org/show_bug.cgi?id=75882
19024
19025        Reviewed by Simon Hausmann.
19026
19027        When assigning a directly composited image to a TextureMapperNode in WebKit2, we take
19028        contentsRect() onto account. However, contentsRect() might be changed after the image
19029        is already assigned.
19030        We have to reassign the image when contentsRect() changes. This is a pretty cheap
19031        operation, since the image is already converted to a texture and we simply change the
19032        geometric values.
19033
19034        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
19035        (WebKit::LayerTreeHostProxy::syncLayerParameters):
19036        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
19037        (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
19038
190392012-01-11  Kenneth Rohde Christiansen  <kenneth@webkit.org>
19040
19041        [Qt] Add the editor rect to the EditorState
19042        https://bugs.webkit.org/show_bug.cgi?id=76053
19043
19044        Reviewed by Simon Hausmann.
19045
19046        Also rename some members to match the new Qt naming scheme.
19047
19048        * Shared/EditorState.cpp:
19049        (WebKit::EditorState::encode):
19050        (WebKit::EditorState::decode):
19051        * Shared/EditorState.h:
19052        * UIProcess/API/qt/qquickwebview.cpp:
19053        (QQuickWebView::inputMethodQuery):
19054        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
19055        (WebKit::WebEditorClient::respondToChangedSelection):
19056        * WebProcess/WebPage/WebPage.cpp:
19057        (WebKit::WebPage::editorState):
19058
190592012-01-11  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
19060
19061        [GTK] Linking of big binaries should be serialized to avoid thrashing
19062        https://bugs.webkit.org/show_bug.cgi?id=75977
19063
19064        Reviewed by Martin Robinson.
19065
19066        Added artificial dependencies so that libwebkitgtk is always
19067        linked first, libwebkit2gtk second, and WebKitPluginProcess
19068        last. Automake unfortunately replaces the whole rule used to build
19069        the libraries if the actual name is used to add the dependency, so
19070        we use helper variables to work around that.
19071
19072        * GNUmakefile.am:
19073
190742012-01-11  Ryuan Choi  <ryuan.choi@samsung.com>
19075
19076        [EFL][WK2] Rename viewObject to viewWidget
19077        https://bugs.webkit.org/show_bug.cgi?id=75947
19078
19079        Reviewed by Martin Robinson.
19080
19081        Rename viewObject to viewWidget for the EFL port to use WidgetBackingStore
19082        which calls viewWidget().
19083
19084        * UIProcess/API/efl/PageClientImpl.cpp:
19085        (WebKit::PageClientImpl::PageClientImpl):
19086        (WebKit::PageClientImpl::setViewNeedsDisplay):
19087        (WebKit::PageClientImpl::viewSize):
19088        * UIProcess/API/efl/PageClientImpl.h:
19089        (WebKit::PageClientImpl::create):
19090        (WebKit::PageClientImpl::viewWidget):
19091        * UIProcess/WebPageProxy.h:
19092        * UIProcess/efl/WebPageProxyEfl.cpp:
19093        (WebKit::WebPageProxy::viewWidget):
19094
190952012-01-10  Mark Rowe  <mrowe@apple.com>
19096
19097        REGRESSION (r104377): All pages print blank on Snow Leopard
19098        <http://webkit.org/b/75879> / <rdar://problem/10674335>
19099
19100        We need to explicitly load PDFKit.framework before using PDFDocument and friends.
19101        On SnowLeopard the framework is not necessarily loaded by anything else before we
19102        print, which would lead to us failing to allocate the PDFDocument that we use for
19103        drawing the content from the web process.
19104
19105        Reviewed by Dan Bernstein.
19106
19107        * UIProcess/API/mac/WKPrintingView.mm:
19108        (pdfKitFrameworkPath): Construct the path to the PDFKit framework.
19109        (classFromPDFKit): Ensure that the PDFKit framework is loaded, and then retrieve the
19110        given class from it.
19111        (pdfAnnotationLinkClass): ASSERT that we found the class.
19112        (pdfDocumentClass): Ditto.
19113
191142012-01-10  Chris Marrin  <cmarrin@apple.com>
19115
19116        Wrapped allowedCompositingTriggers in ACCELERATED_COMPOSITING ifdef to make non-accelerated builds work
19117
19118        Unreviewed.
19119
19120        * WebProcess/WebCoreSupport/WebChromeClient.h:
19121
191222012-01-10  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
19123
19124        [Qt][WK2]REGRESSION(r102435): It made tst_QQuickWebView::show() crash
19125        https://bugs.webkit.org/show_bug.cgi?id=74176
19126
19127        Reviewed by Noam Rosenthal.
19128
19129        Check texture mapper exists already in ensureRootLayer to avoid recrecation.
19130        Check if root layer was deleted already in purgeGLResources.
19131        Added multipleWebViewWindows and multipleWebViews API tests.
19132
19133        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
19134        (tst_QQuickWebView::multipleWebViewWindows):
19135        (tst_QQuickWebView::multipleWebViews):
19136        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
19137        (WebKit::LayerTreeHostProxy::ensureRootLayer):
19138        (WebKit::LayerTreeHostProxy::purgeGLResources):
19139
191402012-01-10  Ryosuke Niwa  <rniwa@webkit.org>
19141
19142        Snow Leopard build fix.
19143
19144        * UIProcess/API/mac/PageClientImpl.h:
19145        * UIProcess/API/mac/PageClientImpl.mm:
19146
191472012-01-10  Anders Carlsson  <andersca@apple.com>
19148
19149        Hang opening movie that requires authentication
19150        https://bugs.webkit.org/show_bug.cgi?id=75989
19151
19152        Reviewed by Sam Weinig.
19153
19154        Change the way the keychain calls are processed to avoid deadlocks:
19155
19156        1. When a keychain call is made, the web process sends an asynchronous request message to the UI process,
19157           avoiding the need to bounce calls to the main thread (since CoreIPC only allows sending
19158           synchronous messages from the main thread). Incidentally, this fixes <rdar://problem/9428041>.
19159        2. The Web Process now waits on the calling thread, (for a condition variable to be signalled) for a reply message.
19160        3. The UI process handles the incoming message request message on the connection work queue and uses
19161           dispatch_async to a global dispatch queue where the keychain call is made.
19162           We use a global queue to prevent the connection work queue from blocking on the call.
19163        4. The UI process then sends an asynchronous reply message back to the web process. This message is sent from
19164           the global dispatch queue.
19165        5. The Web Process handles the reply message on the connection queue, adds the reply to a map and signals
19166           the condition variable that the web process is waiting on and the thread that made the keychain call
19167           can resume execution.
19168
19169        * Shared/mac/SecItemRequestData.cpp:
19170        (WebKit::SecItemRequestData::SecItemRequestData):
19171        (WebKit::SecItemRequestData::encode):
19172        (WebKit::SecItemRequestData::decode):
19173        * Shared/mac/SecItemRequestData.h:
19174        (WebKit::SecItemRequestData::type):
19175        Add a type to SecItemRequestData and encode/decode it.
19176
19177        * Shared/mac/SecItemResponseData.h:
19178        (WebKit::SecItemResponseData::resultObject):
19179        Make this return a reference so we can call leakRef() on it.
19180
19181        * Shared/mac/SecKeychainItemRequestData.cpp:
19182        (WebKit::SecKeychainItemRequestData::SecKeychainItemRequestData):
19183        (WebKit::SecKeychainItemRequestData::~SecKeychainItemRequestData):
19184        (WebKit::SecKeychainItemRequestData::attributeList):
19185        (WebKit::SecKeychainItemRequestData::encode):
19186        (WebKit::SecKeychainItemRequestData::decode):
19187        * Shared/mac/SecKeychainItemRequestData.h:
19188        (WebKit::SecKeychainItemRequestData::type):
19189        Add a type, and put the OwnPtr and OwnArrayPtr in a RefCounted struct so we can
19190        correctly copy this object.
19191
19192        * UIProcess/WebConnectionToWebProcess.cpp:
19193        (WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess):
19194        Don't open the connection here, the WebProcessProxy object needs to add itself as a queue client before opening.
19195    
19196        * UIProcess/WebProcessProxy.cpp:
19197        (WebKit::WebProcessProxy::disconnect):
19198        Remove the WebProcessProxy object from the list of connection queue clients.
19199
19200        (WebKit::WebProcessProxy::didReceiveMessageOnConnectionWorkQueue):
19201        Call didReceiveWebProcessProxyMessageOnConnectionWorkQueue.
19202
19203        (WebKit::WebProcessProxy::didFinishLaunching):
19204        Add the WebProcessProxy as a queue client and open the connection.
19205
19206        * UIProcess/WebProcessProxy.h:
19207        WebProcessProxy should inherit from CoreIPC::Connection::QueueClient. Replace all individual keychain
19208        handler functions with two generic functions, secItemRequest and secKeychainItemRequest.
19209    
19210        * UIProcess/WebProcessProxy.messages.in:
19211        Replace individual keychain messages with SecItemRequest and SecKeychainItemRequest messages.
19212
19213        * UIProcess/mac/WebProcessProxyMac.mm:
19214        (WebKit::handleSecItemRequest):
19215        Call the right SecItem function depending on the request type and send back the result.
19216
19217        (WebKit::WebProcessProxy::secItemRequest):
19218        Dispatch handleSecItemRequest on a global dispatch queue.
19219
19220        (WebKit::handleSecKeychainItemRequest):
19221        Call the right SecKeychainItem function depending on the request type and send back the result.
19222        
19223        (WebKit::WebProcessProxy::secKeychainItemRequest):
19224        Dispatch handleSecKeychainItemRequest on a global dispatch queue.
19225        
19226        * WebKit2.xcodeproj/project.pbxproj:
19227        Update for added/removed files.
19228
19229        * WebProcess/WebProcess.h:
19230        Add secItemResponse and secKeychainItemResponse message handlers.
19231
19232        * WebProcess/WebProcess.messages.in:
19233        Add SecItemResponse and SecKeychainItemResponse messages.
19234
19235        * WebProcess/mac/CoreIPCClientRunLoop.h:
19236        * WebProcess/mac/CoreIPCClientRunLoop.mm:
19237        This is no longer needed.
19238
19239        * WebProcess/mac/KeychainItemShimMethods.h:
19240        * WebProcess/mac/KeychainItemShimMethods.mm:
19241        (WebKit::managedAttributeLists):
19242        Make this an atomically initialized static.
19243
19244        (WebKit::managedAttributeListsMutex):
19245        Add an atomically initialized mutex.
19246
19247        (WebKit::allocateAttributeListContents):
19248        Use the managedAttributeListsMutex to make this function callable from any thread.
19249
19250        (WebKit::managedKeychainItemContents):
19251        Make this an atomically initialized static.
19252        
19253        (WebKit::managedKeychainItemContentsMutex):
19254        Add an atomically initialized mutex.
19255
19256        (WebKit::allocateKeychainItemContentData):
19257        Use the managedAttributeListsMutex to make this function callable from any thread.
19258
19259        (WebKit::webFreeAttributeListContent):
19260        Use locking so this can be called from any thread.
19261
19262        (WebKit::webFreeKeychainItemContent):
19263        Ditto.
19264
19265        (WebKit::responseMap):
19266        Add responseMap thread-safe singleton for holding incoming responses.
19267
19268        (WebKit::generateSecKeychainItemRequestID):
19269        Return a unique item request id, using OSAtomicIncrement64Barrier for atomicity.
19270
19271        (WebKit::didReceiveSecKeychainItemResponse):
19272        Pass the response over the response map.
19273
19274        (WebKit::sendSeqKeychainItemRequest):
19275        Send a request message and wait for a response using ResponseMap::waitForResponse.
19276
19277        (WebKit::webSecKeychainItemCopyContent):
19278        Send a request using sendSeqKeychainItemRequest.
19279
19280        (WebKit::webSecKeychainItemCreateFromContent):
19281        Ditto.
19282
19283        (WebKit::webSecKeychainItemModifyContent):
19284        Ditto.
19285
19286        * WebProcess/mac/KeychainShimResponseMap.h:
19287        New thread-safe helper class that stores a map of responses and lets client wait for a response
19288        with a given ID.
19289
19290        (KeychainShimResponseMap::waitForResponse):
19291        Wait until the response is available in the hash map, then return it.
19292
19293        (KeychainShimResponseMap::didReceiveResponse):
19294        Add the response to the hash map and signal the condition variable.
19295
19296        * WebProcess/mac/SecItemShimMethods.h:
19297        * WebProcess/mac/SecItemShimMethods.mm:
19298        (WebKit::responseMap):
19299        Add responseMap thread-safe singleton for holding incoming responses.
19300
19301        (WebKit::generateSecItemRequestID):
19302        Return a unique item request id, using OSAtomicIncrement64Barrier for atomicity.
19303
19304        (WebKit::didReceiveSecItemResponse):
19305        Pass the response over the response map.
19306
19307        (WebKit::sendSeqItemRequest):
19308        Send a request message and wait for a response using ResponseMap::waitForResponse.
19309
19310        (WebKit::webSecItemCopyMatching):
19311        Send a request using sendSeqItemRequest.
19312
19313        (WebKit::webSecItemAdd):
19314        Ditto.
19315
19316        (WebKit::webSecItemUpdate):
19317        Ditto.
19318
19319        (WebKit::webSecItemDelete):
19320        Ditto.
19321
19322        * WebProcess/mac/WebProcessMac.mm:
19323        (WebKit::WebProcess::secItemResponse):
19324        Call didReceiveSecItemResponse.
19325
19326        (WebKit::WebProcess::secKeychainItemResponse):
19327        Call didReceiveSecKeychainItemResponse.
19328
193292012-01-10  Anders Carlsson  <andersca@apple.com>
19330
19331        DispatchOnConnectionQueue messages should have a Connection parameter
19332        https://bugs.webkit.org/show_bug.cgi?id=75986
19333
19334        Reviewed by Adam Roben.
19335
19336        Message handlers for messages with the DispatchOnConnectionQueue should have a CoreIPC::Connection
19337        parameter, making it easier to send messages back over that connection.
19338
19339        * Platform/CoreIPC/HandleMessage.h:
19340        (CoreIPC::callMemberFunction):
19341        (CoreIPC::handleMessageOnConnectionQueue):
19342        * Scripts/webkit2/messages.py:
19343        (async_case_statement):
19344        (generate_message_handler):
19345        * Scripts/webkit2/messages_unittest.py:
19346        * WebProcess/WebPage/EventDispatcher.cpp:
19347        (WebKit::EventDispatcher::wheelEvent):
19348        (WebKit::EventDispatcher::gestureEvent):
19349        * WebProcess/WebPage/EventDispatcher.h:
19350        * WebProcess/WebProcess.cpp:
19351        (WebKit::WebProcess::pluginProcessCrashed):
19352        * WebProcess/WebProcess.h:
19353
193542012-01-10  Chris Marrin  <cmarrin@apple.com>
19355
19356        Turn off the FilterTrigger in WebKit and WebKit2
19357        https://bugs.webkit.org/show_bug.cgi?id=75914
19358
19359        Reviewed by Simon Fraser.
19360
19361        Implement allowedCompositingTriggers to turn on all compositing triggers except FilterTrigger.
19362
19363        * WebProcess/WebCoreSupport/WebChromeClient.h:
19364        (WebKit::WebChromeClient::allowedCompositingTriggers):
19365
193662012-01-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
19367
19368        Unreviewed potential Mac WK2 build fix.
19369
19370        * UIProcess/PageClient.h: forward declare WebGestureEvent.
19371
193722012-01-10  Csaba Osztrogonác  <ossy@webkit.org>
19373
19374        Unreviewed, rolling out an accidental commit r104569.
19375
19376        * Shared/EditorState.cpp:
19377        (WebKit::EditorState::encode):
19378        (WebKit::EditorState::decode):
19379        * Shared/EditorState.h:
19380        * UIProcess/API/qt/qquickwebview.cpp:
19381        (QQuickWebView::inputMethodQuery):
19382        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
19383        (WebKit::WebEditorClient::respondToChangedSelection):
19384        * WebProcess/WebPage/WebPage.cpp:
19385        (WebKit::WebPage::editorState):
19386
193872012-01-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
19388
19389        Unreviewed potential Mac WK2 build fix.
19390
19391        * UIProcess/API/mac/PageClientImpl.h:
19392        * UIProcess/API/mac/PageClientImpl.mm:
19393        (WebKit::PageClientImpl::doneWithGestureEvent):
19394
193952012-01-10  Rafael Brandao  <rafael.lobo@openbossa.org>
19396
19397        [Qt][WK2] Add font-related API tests for QWebPreferences
19398        https://bugs.webkit.org/show_bug.cgi?id=75739
19399
19400        Reviewed by Zoltan Herczeg.
19401
19402        * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
19403        * UIProcess/API/qt/tests/qmltests/common/font-preferences.html: Added.
19404
194052012-01-10  Simon Hausmann  <simon.hausmann@nokia.com>
19406
19407        [Qt] Fix failing WK2 layout tests after r104557
19408
19409        Reviewed by Kenneth Rohde Christiansen.
19410
19411        * UIProcess/WebPageProxy.cpp:
19412        (WebKit::WebPageProxy::didReceiveEvent): Add missing break to not
19413        handle mouseDown as gesture event.
19414
194152012-01-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
19416
19417        Unreviewed buildfix.
19418
19419        * UIProcess/WebPageProxy.h:
19420
194212012-01-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
19422
19423        Implement the input panel request/close handling
19424
19425        Reviewed by Simon Hausmann.
19426
19427        With the current patch we only request the input panel as a
19428        response to a user tap. Close requests, on the other hand,
19429        is always respected.
19430
19431        As multiple show/hide requests can happen while processing
19432        the tap gesture, input panel visibility changes are postponed
19433        until the tap gesture ends.
19434
19435        The input panel will become visible if the WebCore editor is
19436        in canEdit mode and thus work for content-editable, meaning
19437        that it won't close the input panel if you click on a link
19438        (eg. editCommand) while in content-editable mode.
19439
19440        * UIProcess/PageClient.h:
19441        * UIProcess/WebPageProxy.cpp:
19442        (WebKit::WebPageProxy::handleGestureEvent):
19443        (WebKit::WebPageProxy::editorStateChanged):
19444        (WebKit::WebPageProxy::didReceiveEvent):
19445
19446            Add a new doneWithGestureEvent method to the PageClient
19447            as well as add a updateTextInputState similar to that of mac.
19448
19449        * UIProcess/WebPageProxy.h:
19450        * UIProcess/qt/QtPageClient.cpp:
19451        (QtPageClient::updateTextInputState):
19452        (QtPageClient::doneWithGestureEvent):
19453
19454            Propagate the new events to the Qt EventHandler.
19455
19456        * UIProcess/qt/QtPageClient.h:
19457        * UIProcess/qt/QtWebPageEventHandler.cpp:
19458        * UIProcess/qt/QtWebPageEventHandler.h:
19459        (QtWebPageEventHandler::QtWebPageEventHandler):
19460        (QtWebPageEventHandler::handleSingleTapEvent):
19461        (setInputPanelVisible):
19462        (QtWebPageEventHandler::updateTextInputState):
19463        (QtWebPageEventHandler::doneWithGestureEvent):
19464
19465            Handle postponing of the input method visibility change
19466            and the actual showing/hiding.
19467
194682012-01-10  Eunmi Lee  <eunmi15.lee@samsung.com>
19469
19470        [EFL][WK2] Remove codes to move and resize the clip.
19471        https://bugs.webkit.org/show_bug.cgi?id=75428
19472
19473        Reviewed by Andreas Kling.
19474
19475        Remove codes to move and resize the clip because clip is not used now.
19476        We have to show whole area of evas_object_image so we don't have to
19477        clip any area.
19478        In the WebKit1 Efl, the clip is used to clip the area to show during
19479        weak zoom, so we can use codes to manipulate the clip when we want to
19480        implement weak zoom for WebKit2 Efl.
19481
19482        * UIProcess/API/efl/ewk_view.cpp:
19483        (_ewk_view_smart_calculate):
19484
194852012-01-09  Andras Becsi  <andras.becsi@nokia.com>
19486
19487        [Qt][WK2] Pinch zoom should affect the page size
19488        https://bugs.webkit.org/show_bug.cgi?id=74601
19489
19490        Reviewed by Kenneth Rohde Christiansen.
19491
19492        The current implementation uses the scale property of the QQuickWebPage
19493        to scale the page in response to pinch gestures.
19494        However for layout and anchoring to work correctly in QML, pinching needs
19495        to change the page size.
19496        This patch applies the pinch scale to the page size and to the transformation
19497        matrix of the drawing area.
19498        Thus the page item's coordinate system is no longer a direct representation
19499        of the WebCore::Page coordinate system and it is no longer suitable as
19500        an inertial frame of reference for input events. The event propagation had
19501        to be moved to the QQuickWebView and the positions translated to content
19502        coordinates when NativeWebEvents are created.
19503        Re-landing with fixed event delivery for the test infrastructure.
19504
19505        * Shared/NativeWebMouseEvent.h:
19506        * Shared/NativeWebTouchEvent.h:
19507        * Shared/NativeWebWheelEvent.h:
19508        * Shared/qt/NativeWebMouseEventQt.cpp:
19509        (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
19510        * Shared/qt/NativeWebTouchEventQt.cpp:
19511        (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
19512        * Shared/qt/NativeWebWheelEventQt.cpp:
19513        (WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
19514        * Shared/qt/WebEventFactoryQt.cpp:
19515        (WebKit::WebEventFactory::createWebMouseEvent):
19516        (WebKit::WebEventFactory::createWebWheelEvent):
19517        (WebKit::WebEventFactory::createWebTouchEvent):
19518        * Shared/qt/WebEventFactoryQt.h:
19519        * UIProcess/API/qt/qquickwebpage.cpp:
19520        (QQuickWebPage::geometryChanged):
19521        (QQuickWebPagePrivate::QQuickWebPagePrivate):
19522        (QQuickWebPagePrivate::paintToCurrentGLContext):
19523        (QQuickWebPage::usesTraditionalDesktopBehaviour):
19524        (QQuickWebPage::setUsesTraditionalDesktopBehaviour):
19525        (QQuickWebPage::eventHandler):
19526        (QQuickWebPage::setContentSize):
19527        (QQuickWebPage::contentSize):
19528        (QQuickWebPage::setContentScale):
19529        (QQuickWebPage::contentScale):
19530        (QQuickWebPage::transformFromItem):
19531        (QQuickWebPage::transformToItem):
19532        (QQuickWebPagePrivate::updateSize):
19533        * UIProcess/API/qt/qquickwebpage_p.h:
19534        * UIProcess/API/qt/qquickwebpage_p_p.h:
19535        * UIProcess/API/qt/qquickwebview.cpp:
19536        (QQuickWebViewPrivate::enableMouseEvents):
19537        (QQuickWebViewPrivate::disableMouseEvents):
19538        (QQuickWebViewPrivate::loadDidCommit):
19539        (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
19540        (QQuickWebViewPrivate::didChangeContentsSize):
19541        (QQuickWebViewPrivate::didChangeViewportProperties):
19542        (QQuickWebViewPrivate::pageDidRequestScroll):
19543        (QQuickWebViewPrivate::updateVisibleContentRectAndScale):
19544        (QQuickWebViewPrivate::PostTransitionState::apply):
19545        (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
19546        (QQuickWebViewExperimental::setUseTraditionalDesktopBehaviour):
19547        (QQuickWebViewExperimental::useTraditionalDesktopBehaviour):
19548        (QQuickWebView::mapToWebContent):
19549        (QQuickWebView::mapRectToWebContent):
19550        (QQuickWebView::mapFromWebContent):
19551        (QQuickWebView::mapRectFromWebContent):
19552        (QQuickWebView::geometryChanged):
19553        (QQuickWebView::keyPressEvent):
19554        (QQuickWebView::keyReleaseEvent):
19555        (QQuickWebView::inputMethodEvent):
19556        (QQuickWebView::focusInEvent):
19557        (QQuickWebView::focusOutEvent):
19558        (QQuickWebView::touchEvent):
19559        (QQuickWebView::mousePressEvent):
19560        (QQuickWebView::mouseMoveEvent):
19561        (QQuickWebView::mouseReleaseEvent):
19562        (QQuickWebView::mouseDoubleClickEvent):
19563        (QQuickWebView::wheelEvent):
19564        (QQuickWebView::hoverEnterEvent):
19565        (QQuickWebView::hoverMoveEvent):
19566        (QQuickWebView::hoverLeaveEvent):
19567        (QQuickWebView::dragMoveEvent):
19568        (QQuickWebView::dragEnterEvent):
19569        (QQuickWebView::dragLeaveEvent):
19570        (QQuickWebView::dropEvent):
19571        (QQuickWebView::event):
19572        * UIProcess/API/qt/qquickwebview_p.h:
19573        * UIProcess/API/qt/qquickwebview_p_p.h:
19574        * UIProcess/API/qt/qwebviewportinfo.cpp:
19575        (QWebViewportInfo::contentsSize):
19576        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
19577        (tst_QQuickWebView::scrollRequest):
19578        * UIProcess/qt/QtPinchGestureRecognizer.cpp:
19579        (WebKit::QtPinchGestureRecognizer::recognize):
19580        * UIProcess/qt/QtViewportInteractionEngine.cpp:
19581        (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
19582        (WebKit::QtViewportInteractionEngine::setItemRectVisible):
19583        (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
19584        (WebKit::QtViewportInteractionEngine::event):
19585        (WebKit::QtViewportInteractionEngine::wheelEvent):
19586        (WebKit::QtViewportInteractionEngine::pagePositionRequest):
19587        (WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale):
19588        (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
19589        (WebKit::QtViewportInteractionEngine::applyConstraints):
19590        (WebKit::QtViewportInteractionEngine::currentCSSScale):
19591        (WebKit::QtViewportInteractionEngine::panGestureStarted):
19592        (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
19593        (WebKit::QtViewportInteractionEngine::panGestureEnded):
19594        (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
19595        (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
19596        (WebKit::QtViewportInteractionEngine::scaleContent):
19597        * UIProcess/qt/QtViewportInteractionEngine.h:
19598        * UIProcess/qt/QtWebPageEventHandler.cpp:
19599        (QtWebPageEventHandler::handleEvent):
19600        (QtWebPageEventHandler::handleMouseMoveEvent):
19601        (QtWebPageEventHandler::handleMousePressEvent):
19602        (QtWebPageEventHandler::handleMouseReleaseEvent):
19603        (QtWebPageEventHandler::handleWheelEvent):
19604        (QtWebPageEventHandler::handleHoverLeaveEvent):
19605        (QtWebPageEventHandler::handleHoverMoveEvent):
19606        (QtWebPageEventHandler::handleDragEnterEvent):
19607        (QtWebPageEventHandler::handleDragMoveEvent):
19608        (QtWebPageEventHandler::handleDropEvent):
19609        (QtWebPageEventHandler::handleSingleTapEvent):
19610        (QtWebPageEventHandler::handleDoubleTapEvent):
19611        (QtWebPageEventHandler::touchEvent):
19612        * UIProcess/qt/QtWebPageEventHandler.h:
19613
196142012-01-09  Eunmi Lee  <eunmi15.lee@samsung.com>
19615
19616        [EFL][WK2] Set color_set function to the clipped smart class.
19617        https://bugs.webkit.org/show_bug.cgi?id=75286
19618
19619        Reviewed by Andreas Kling.
19620
19621        Set _ewk_view_smart_color_set() function to the clipped smart class's color_set,
19622        so application can set webpage's background color using evas_object_color_set() API.
19623
19624        * UIProcess/API/efl/ewk_view.cpp:
19625        (_ewk_view_smart_color_set):
19626        (ewk_view_smart_class_init):
19627
196282012-01-08  Dan Bernstein  <mitz@apple.com>
19629
19630        REGRESSION (r103859): WKViews leak
19631        https://bugs.webkit.org/show_bug.cgi?id=75805
19632
19633        The flags changed event monitor added in r103859 was retaining the WKView (as it references
19634        self in the handler block), causing it to leak.
19635
19636        * UIProcess/API/mac/WKView.mm:
19637        (-[WKView dealloc]): Moved call to remove the flags changed event monitor from here...
19638        (-[WKView viewDidMoveToWindow]): ...to here. Moved call to add the flags changed event
19639        monitor to here from...
19640        (-[WKView initWithFrame:contextRef:pageGroupRef:]): ...here.
19641
196422012-01-06  Mark Rowe  <mrowe@apple.com>
19643
19644        REGRESSION (WebKit2): Save as PDF no longer generates links to URLs
19645        <http://webkit.org/b/65076> / <rdar://problem/9606246>
19646
19647        WebKit2 printing works by having the web process render the page content to a PDF. The PDF
19648        data is then shipped to the UI process which will render it in to the printing graphics context.
19649        Links were being lost because the API used to do the rendering of the PDF in to the printing
19650        graphics context, CGContextDrawPDFPage, did not preserve the links that were present in the
19651        PDF content received from the web process.
19652
19653        To fix this we switch to using PDFKit for drawing the PDF in to the printing graphics context.
19654        PDFKit provides the ability for us to iterate over the links in the PDF content ourselves and
19655        add links in to the printing graphics context.
19656
19657        Reviewed by Alexey Proskuryakov.
19658
19659        * UIProcess/API/mac/WKPrintingView.h:
19660        * UIProcess/API/mac/WKPrintingView.mm:
19661        (pdfAnnotationLinkClass): Look up the PDFAnnotationLink class from PDFKit as WebKit2 loads PDFKit lazily.
19662        (pdfDocumentClass): Ditto.
19663        (-[WKPrintingView _drawPDFDocument:page:atPoint:]): Switch to using the PDFKit equivalents of several types.
19664        Iterate over the annotations present in the PDFPage, calling CGPDFContextSetURLForRect for each PDFAnnotationLink
19665        that we find.
19666        (-[WKPrintingView _drawPreview:]): Create an NSData to feed to PDFDocument.
19667        (-[WKPrintingView drawRect:]): Ditto.
19668        * WebKit2Prefix.h: Add the usual workaround to make Objective-C exceptions compile when C++ exception handling is disabled.
19669
196702012-01-06  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
19671
19672        [Qt] [WK2] Minibrowser leaks memory ~6-7Mb per reload
19673        https://bugs.webkit.org/show_bug.cgi?id=75746
19674
19675        Reset WebGraphicsLayer::m_layerTreeTileClient of all dependent 
19676        layers from ~LayerTreeHostQt(). This replaces r103760 which
19677        causes leaks of GraphicsLayerTextureMapper objects on UI side. 
19678
19679        Reviewed by Noam Rosenthal.
19680
19681        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
19682        (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
19683        (WebCore::WebGraphicsLayer::setLayerTreeTileClient):
19684        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
19685        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
19686        (WebKit::LayerTreeHostQt::~LayerTreeHostQt):
19687
196882012-01-06  Alexey Proskuryakov  <ap@apple.com>
19689
19690        [Mac] Thread verifier assertions when printing
19691        https://bugs.webkit.org/show_bug.cgi?id=75738
19692
19693        Reviewed by Sam Weinig.
19694
19695        * UIProcess/API/mac/WKPrintingView.mm:
19696        (-[WKPrintingView dealloc]): Dealloc in main thread, so that WebFrameProxy doesn't get
19697        deref'ed from a secondary one.
19698        (-[WKPrintingView _adjustPrintingMarginsForHeaderAndFooter]): This method calls out to client,
19699        which only expects that on main thread.
19700        (-[WKPrintingView knowsPageRange:]): Call _adjustPrintingMarginsForHeaderAndFooter on main
19701        thread.
19702
197032012-01-06  Alexey Proskuryakov  <ap@apple.com>
19704
19705        Need to allow SCNetworkReachability service in sandbox profile
19706        https://bugs.webkit.org/show_bug.cgi?id=75724
19707        <rdar://problem/10652415>
19708
19709        Reviewed by Mark Rowe.
19710
19711        * WebProcess/com.apple.WebProcess.sb:
19712
197132012-01-06  Benjamin Poulain  <bpoulain@apple.com>
19714
19715        [Mac] Sort the resources of WebKit2.xcodeproj
19716        https://bugs.webkit.org/show_bug.cgi?id=75636
19717
19718        Reviewed by Andreas Kling.
19719
19720        * WebKit2.xcodeproj/project.pbxproj:
19721
197222012-01-06  Rafael Brandao  <rafael.lobo@openbossa.org>
19723
19724        [Qt][WK2] QQuickWebView breaks when an empty url is loaded
19725        https://bugs.webkit.org/show_bug.cgi?id=75445
19726
19727        Reviewed by Tor Arne Vestbø.
19728
19729        * UIProcess/API/qt/qquickwebview.cpp:
19730        (QQuickWebView::load):
19731        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml: Check if a request to load
19732        an empty url is ignored. 'about:blank' should be used instead to load an empty page.
19733        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
19734
197352012-01-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
19736
19737        [Qt] Move listing of include paths and libs to pri files in sources
19738
19739        Includepaths are sometimes modified by non-Qt contributors so keeping
19740        them in files inside Sources makes it more likely that they are updated
19741        along with project files for the other ports.
19742
19743        Using pri files instead of prf files for this also has the benefit that
19744        the include() from the main target file can be parsed and followed by
19745        Qt Creator -- something that does not work with load().
19746
19747        Dependency from a target to a library through the WEBKIT variable are
19748        handled through forwarding-files in Tools/qmake/mkspecs/modules, which
19749        set the source root of the module and include the right pri file.
19750
19751        Ideally we'd use the variant of include() that takes an optional
19752        namespace to read the variables into, or the fromfile() function,
19753        but both of these add an overhead of about 40% on the total qmake
19754        runtime, due to making a deep copy of all the variables in the
19755        project or re-reading all the prf files from scratch.
19756
19757        Reviewed by Simon Hausmann.
19758        Reviewed by Ossy.
19759
19760        * Target.pri:
19761        * WebKit2.pri: Renamed from Tools/qmake/mkspecs/features/webkit2.prf.
19762
197632012-01-06  Zeno Albisser  <zeno@webkit.org>
19764
19765        [Qt][WK2] Add test for application URL schemes.
19766        https://bugs.webkit.org/show_bug.cgi?id=74933
19767
19768        Reviewed by Kenneth Rohde Christiansen.
19769
19770        * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml: Added.
19771        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
19772
197732012-01-05  Dan Bernstein  <mitz@apple.com>
19774
19775        <rdar://problem/10633760> Update copyright strings
19776
19777        Reviewed by Mark Rowe.
19778
19779        * Info.plist:
19780        * PluginProcess/Info.plist:
19781        * WebProcess/Info.plist:
19782
197832012-01-05  Anders Carlsson  <andersca@apple.com>
19784
19785        Crash when trying to invalidate the NPRuntimeObjectMap for a plug-in in a subframe
19786        https://bugs.webkit.org/show_bug.cgi?id=75667
19787        <rdar://problem/10389454>
19788
19789        Reviewed by Kevin Decker.
19790
19791        NPRuntimeObjectMap::invalidate is called whenever a plug-in view is destroyed. If invalidate is called for an object map
19792        whose plug-in has a null frame, we'd crash.
19793
19794        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,
19795        and if the plug-in view is being destroyed asynchronously due to the plug-in itself calling JavaScript that will remove the frame
19796        (see PluginView::unprotectPluginFromDestruction).
19797
19798        The reason NPRuntimeObjectMap::invalidate will crash when the frame is null is because we were trying to access the frame's global
19799        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
19800        a JSNPObject so we could stick the object in a vector so we could later iterate over the vector elements and call invalidate() on
19801        each JSNPObject which will end up releasing the underlying NPObject.
19802
19803        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
19804        stick that in a vector and then iterate over the NPObjects, releasing them.
19805
19806        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
19807        (WebKit::NPRuntimeObjectMap::invalidate):
19808
198092012-01-05  Alexey Proskuryakov  <ap@apple.com>
19810
19811        REGRESSION (r98912-r99538): Crash in WebKit::WebFrameLoaderClient::didDetectXSS
19812        https://bugs.webkit.org/show_bug.cgi?id=75578
19813
19814        Reviewed by Daniel Bates.
19815
19816        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
19817        (WebKit::InjectedBundlePageLoaderClient::didDetectXSSForFrame):
19818        Check for a correct struct member existence.
19819
198202012-01-05  Alexey Proskuryakov  <ap@apple.com>
19821
19822        WK2: Safari fails to open a PostScript file in Preview from context menu
19823        https://bugs.webkit.org/show_bug.cgi?id=75643
19824        <rdar://problem/9823430>
19825
19826        Reviewed by Dan Bernstein.
19827
19828        * UIProcess/API/mac/PDFViewController.mm: (WebKit::PDFViewController::setPDFDocumentData):
19829        Append ".pdf" to file name when converting data, as suggested file name is created for
19830        original MIME type.
19831
198322012-01-05  Zeno Albisser  <zeno@webkit.org>
19833
19834        [Qt][WK2] Implement custom URL schemes defined in QML.
19835        https://bugs.webkit.org/show_bug.cgi?id=74931
19836
19837        Allow creation of custom UrlSchemeDelegates from QML.
19838        A UrlSchemeDelegate contains a handler signal that is triggered
19839        when a url matching the defined scheme is requested.
19840        To allow for this a derivation of QNetworkAccessManager
19841        is necessary.
19842        The request is then handled in QML/JS and a reply
19843        is sent back from the UIProcess to the WebProcess.
19844
19845        Reviewed by Kenneth Rohde Christiansen.
19846
19847        * Shared/qt/QtNetworkReplyData.cpp: Added.
19848        (WebKit::QtNetworkReplyData::QtNetworkReplyData):
19849        (WebKit::QtNetworkReplyData::encode):
19850        (WebKit::QtNetworkReplyData::decode):
19851        * Shared/qt/QtNetworkReplyData.h: Added.
19852        * Shared/qt/QtNetworkRequestData.cpp: Added.
19853        (WebKit::QtNetworkRequestData::QtNetworkRequestData):
19854        (WebKit::QtNetworkRequestData::encode):
19855        (WebKit::QtNetworkRequestData::decode):
19856        * Shared/qt/QtNetworkRequestData.h: Added.
19857        * Target.pri:
19858        * UIProcess/API/qt/qquicknetworkreply.cpp: Added.
19859        (QQuickNetworkReply::QQuickNetworkReply):
19860        (QQuickNetworkReply::contentType):
19861        (QQuickNetworkReply::setContentType):
19862        (QQuickNetworkReply::operation):
19863        (QQuickNetworkReply::setOperation):
19864        (QQuickNetworkReply::contentDisposition):
19865        (QQuickNetworkReply::setContentDisposition):
19866        (QQuickNetworkReply::location):
19867        (QQuickNetworkReply::setLocation):
19868        (QQuickNetworkReply::lastModified):
19869        (QQuickNetworkReply::setLastModified):
19870        (QQuickNetworkReply::cookie):
19871        (QQuickNetworkReply::setCookie):
19872        (QQuickNetworkReply::userAgent):
19873        (QQuickNetworkReply::setUserAgent):
19874        (QQuickNetworkReply::server):
19875        (QQuickNetworkReply::setServer):
19876        (QQuickNetworkReply::data):
19877        (QQuickNetworkReply::setData):
19878        (QQuickNetworkReply::send):
19879        (QQuickNetworkReply::networkRequestData):
19880        (QQuickNetworkReply::setNetworkRequestData):
19881        (QQuickNetworkReply::networkReplyData):
19882        * UIProcess/API/qt/qquicknetworkreply_p.h: Added.
19883        * UIProcess/API/qt/qquicknetworkrequest_p.h: Added.
19884        * UIProcess/API/qt/qquickurlschemedelegate.cpp: Added.
19885        (QQuickUrlSchemeDelegate::QQuickUrlSchemeDelegate):
19886        (QQuickUrlSchemeDelegate::scheme):
19887        (QQuickUrlSchemeDelegate::setScheme):
19888        (QQuickUrlSchemeDelegate::request):
19889        (QQuickUrlSchemeDelegate::reply):
19890        * UIProcess/API/qt/qquickurlschemedelegate_p.h: Added.
19891        * UIProcess/API/qt/qquickwebview.cpp:
19892        (QQuickWebViewExperimental::QQuickWebViewExperimental):
19893        (QQuickWebViewExperimental::schemeDelegates_At):
19894        (QQuickWebViewExperimental::schemeDelegates_Append):
19895        (QQuickWebViewExperimental::schemeDelegates_Count):
19896        (QQuickWebViewExperimental::schemeDelegates_Clear):
19897        (QQuickWebViewExperimental::schemeDelegates):
19898        (QQuickWebViewExperimental::invokeApplicationSchemeHandler):
19899        (QQuickWebViewExperimental::sendApplicationSchemeReply):
19900        * UIProcess/API/qt/qquickwebview_p.h:
19901        * UIProcess/WebPageProxy.h:
19902        * UIProcess/WebPageProxy.messages.in:
19903        * UIProcess/qt/QtPageClient.cpp:
19904        (QtPageClient::handleApplicationSchemeRequest):
19905        * UIProcess/qt/QtPageClient.h:
19906        * UIProcess/qt/WebPageProxyQt.cpp:
19907        (WebKit::WebPageProxy::registerApplicationScheme):
19908        (WebKit::WebPageProxy::resolveApplicationSchemeRequest):
19909        (WebKit::WebPageProxy::sendApplicationSchemeReply):
19910        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
19911        (WebKit::WebFrameLoaderClient::createNetworkingContext):
19912        * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
19913        * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h:
19914        * WebProcess/WebPage/WebPage.h:
19915        * WebProcess/WebPage/WebPage.messages.in:
19916        * WebProcess/WebPage/qt/WebPageQt.cpp:
19917        (WebKit::WebPage::registerApplicationScheme):
19918        (WebKit::WebPage::receivedApplicationSchemeRequest):
19919        (WebKit::WebPage::applicationSchemeReply):
19920        * WebProcess/qt/QtNetworkAccessManager.cpp: Added.
19921        (WebKit::QtNetworkAccessManager::QtNetworkAccessManager):
19922        (WebKit::QtNetworkAccessManager::obtainOriginatingWebPage):
19923        (WebKit::QtNetworkAccessManager::createRequest):
19924        (WebKit::QtNetworkAccessManager::registerApplicationScheme):
19925        * WebProcess/qt/QtNetworkAccessManager.h: Added.
19926        * WebProcess/qt/QtNetworkReply.cpp: Added.
19927        (WebKit::QtNetworkReply::QtNetworkReply):
19928        (WebKit::QtNetworkReply::setData):
19929        (WebKit::QtNetworkReply::setReplyData):
19930        (WebKit::QtNetworkReply::readData):
19931        (WebKit::QtNetworkReply::bytesAvailable):
19932        (WebKit::QtNetworkReply::setHeader):
19933        (WebKit::QtNetworkReply::abort):
19934        (WebKit::QtNetworkReply::close):
19935        (WebKit::QtNetworkReply::setReadBufferSize):
19936        (WebKit::QtNetworkReply::canReadLine):
19937        (WebKit::QtNetworkReply::finalize):
19938        * WebProcess/qt/QtNetworkReply.h: Added.
19939        * WebProcess/qt/WebProcessQt.cpp:
19940        (WebKit::WebProcess::platformInitializeWebProcess):
19941
199422012-01-05  Fady Samuel  <fsamuel@chromium.org>
19943
19944        Move scalePageBy from eventSender to window.internals
19945        https://bugs.webkit.org/show_bug.cgi?id=64512
19946
19947        Reviewed by Simon Fraser.
19948
19949        * win/WebKit2.def:
19950        * win/WebKit2CFLite.def:
19951
199522012-01-05  Alexander Færøy  <alexander.faeroy@nokia.com>
19953
19954        Pass WebFrame instead of WebCore::Frame to the WebKit2 specific FrameNetworkingContext
19955        https://bugs.webkit.org/show_bug.cgi?id=75550
19956
19957        Make the WebKit2 FrameNetworkingContext implementation store the
19958        WebFrame instead of the WebCore::Frame as this is needed for the Qt
19959        port to implement a.o. HTTP autentication and SSL support.
19960
19961        As the WebFrameNetworkingContext is partly shared across all WebKit2 ports,
19962        all port specific files have been modified.
19963
19964        For the Qt implementation of FrameNetworkingContext, we also set a
19965        property to the originatingObject for the page ID. We also switch to
19966        using an OwnPtr instead of a raw C++ pointer for the
19967        m_originatingObject member.
19968
19969        Based on original patch by Peter Hartmann.
19970
19971        Reviewed by Kenneth Rohde Christiansen.
19972
19973        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
19974        (WebKit::WebFrameLoaderClient::createNetworkingContext):
19975        * WebProcess/WebCoreSupport/efl/WebFrameNetworkingContext.h:
19976        (WebFrameNetworkingContext::create):
19977        (WebFrameNetworkingContext::WebFrameNetworkingContext):
19978        * WebProcess/WebCoreSupport/gtk/WebFrameNetworkingContext.h:
19979        (WebFrameNetworkingContext::create):
19980        (WebFrameNetworkingContext::WebFrameNetworkingContext):
19981        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
19982        (WebKit::WebFrameNetworkingContext::create):
19983        (WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext):
19984        * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
19985        (WebCore::WebFrameNetworkingContext::WebFrameNetworkingContext):
19986        (WebCore::WebFrameNetworkingContext::~WebFrameNetworkingContext):
19987        (WebCore::WebFrameNetworkingContext::create):
19988        * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h:
19989        * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:
19990        (WebFrameNetworkingContext::create):
19991        (WebFrameNetworkingContext::WebFrameNetworkingContext):
19992
199932012-01-05  Kenneth Rohde Christiansen  <kenneth@webkit.org>
19994
19995        [Qt] Implement QQuickWebView::inputMethodQuery
19996
19997        Reviewed by Simon Hausmann.
19998
19999        Implement the current Qt5 queries of inputMethodQuery.
20000
20001        * UIProcess/API/qt/qquickwebview.cpp:
20002        (QQuickWebView::inputMethodQuery):
20003        * UIProcess/API/qt/qquickwebview_p.h:
20004
200052012-01-05  Carlos Garcia Campos  <cgarcia@igalia.com>
20006
20007        [GTK] Add methods to get/set the WebView zoom level to WebKit2 GTK+ API
20008        https://bugs.webkit.org/show_bug.cgi?id=75248
20009
20010        Reviewed by Gustavo Noronha Silva.
20011
20012        It uses the page zoom factor unconditionally for now.
20013
20014        * UIProcess/API/gtk/WebKitWebView.cpp:
20015        (webkitWebViewSetProperty):
20016        (webkitWebViewGetProperty):
20017        (webkit_web_view_class_init): Add WebKitWebView:zoom-level
20018        property.
20019        (webkit_web_view_set_zoom_level): Set current zoom level.
20020        (webkit_web_view_get_zoom_level): Get current zoom level.
20021        * UIProcess/API/gtk/WebKitWebView.h:
20022        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
20023        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
20024        (testWebViewZoomLevel):
20025        (beforeAll):
20026
200272012-01-05  Carlos Garcia Campos  <cgarcia@igalia.com>
20028
20029        [GTK] Rename webkit_web_view_load_alternate_html as webkit_web_view_replace_content in WebKit2 GTK+
20030        https://bugs.webkit.org/show_bug.cgi?id=75433
20031
20032        Reviewed by Martin Robinson.
20033
20034        * UIProcess/API/gtk/WebKitWebView.cpp:
20035        (webkitWebViewLoadFail): Use webkit_web_view_replace_content().
20036        (webkitWebViewLoadChanged): Do not emit load-changed signal when
20037        replacing content.
20038        (webkitWebViewLoadFailed): Do not emit load-failed signal when
20039        replacing content.
20040        (webkitWebViewSetEstimatedLoadProgress): Do not emit
20041        notify::estimated-load-progress signal when replacing content.
20042        (webkit_web_view_replace_content):
20043        * UIProcess/API/gtk/WebKitWebView.h:
20044        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
20045        * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
20046        (beforeAll):
20047        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
20048        (replaceContentTitleChangedCallback):
20049        (replaceContentLoadCallback):
20050        (testWebViewReplaceContent):
20051        (beforeAll):
20052        * UIProcess/API/gtk/tests/WebViewTest.cpp:
20053        (WebViewTest::replaceContent):
20054        * UIProcess/API/gtk/tests/WebViewTest.h:
20055
200562012-01-05  Keunsoon Lee  <keunsoon.lee@samsung.com>
20057
20058        [WK2][EFL] creating dummy functions for Download class on Efl port.
20059        https://bugs.webkit.org/show_bug.cgi?id=75246
20060
20061        dummy functions for Download class on Efl port
20062
20063        Reviewed by Hajime Morita.
20064
20065        * PlatformEfl.cmake: add new file to compile
20066        * WebProcess/Downloads/efl: Added.
20067        * WebProcess/Downloads/efl/DownloadEfl.cpp: Added.
20068        (WebKit::Download::start):
20069        (WebKit::Download::startWithHandle):
20070        (WebKit::Download::cancel):
20071        (WebKit::Download::platformInvalidate):
20072        (WebKit::Download::didDecideDestination):
20073        (WebKit::Download::platformDidFinish):
20074        (WebKit::Download::receivedCredential):
20075        (WebKit::Download::receivedRequestToContinueWithoutCredential):
20076        (WebKit::Download::receivedCancellation):
20077        (WebKit::Download::useCredential):
20078        (WebKit::Download::continueWithoutCredential):
20079        (WebKit::Download::cancelAuthenticationChallenge):
20080
200812012-01-04  Dan Bernstein  <mitz@apple.com>
20082
20083        Allow WebProcess to launch a client process and become its first WebProcess.
20084
20085        This is the WebKit2 part of fixing <http://webkit.org/b/75444> Debugging WebProcess requires running a UI process first and waiting to attach
20086
20087        Reviewed by Anders Carlsson.
20088
20089        * PluginProcess/mac/PluginProcessMainMac.mm:
20090        (WebKit::PluginProcessMain): Added a newline to stderr output.
20091        * UIProcess/Launcher/mac/EnvironmentVariables.cpp:
20092        (WebKit::EnvironmentVariables::preexistingProcessServiceNameKey): Added. Returns the name
20093        of the environment variable that optionally tells a UI processs to look for a preexisting
20094        web process instead of launching a new one.
20095        (WebKit::EnvironmentVariables::preexistingProcessTypeKey): Added. Returns the name of the
20096        environment variable that tells a UI process the type of the preexisting web process
20097        indicated by the other variable.
20098        * UIProcess/Launcher/mac/EnvironmentVariables.h:
20099        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
20100        (WebKit::ProcessLauncher::launchProcess): Changed to look for a preexisting web process if
20101        the aforementioned environment variables are set and the preexisting process has not been
20102        used yet.
20103        * WebProcess/mac/WebProcessMainMac.mm:
20104        (WebKit::WebProcessMain): Changed to look for the -client-executable command-line option,
20105        and if present, launch the specified executable, setting variables in its environment that
20106        tell it to use this preexisting web process, then wait for it to send a send right to its
20107        listening port.
20108
201092012-01-04  Alexey Proskuryakov  <ap@apple.com>
20110
20111        First sentence is missing or clipped when printing a inline PDF
20112        https://bugs.webkit.org/show_bug.cgi?id=75514
20113        <rdar://problem/10640680>
20114
20115        Reviewed by Dan Bernstein.
20116
20117        * UIProcess/WebPageProxy.cpp:
20118        (WebKit::WebPageProxy::headerHeight):
20119        (WebKit::WebPageProxy::footerHeight):
20120        (WebKit::WebPageProxy::drawHeader):
20121        (WebKit::WebPageProxy::drawFooter):
20122        Do not ask the client about headers and footers when printing a PDF.
20123
201242012-01-04  Alexander Færøy  <alexander.faeroy@nokia.com>
20125
20126        [Qt] Fix test regressions after r104025
20127        https://bugs.webkit.org/show_bug.cgi?id=75545
20128
20129        Reviewed by Kenneth Rohde Christiansen.
20130
20131        * WebProcess/WebPage/WebPage.cpp:
20132        (WebKit::WebPage::editorState):
20133
201342012-01-04  Andras Becsi  <andras.becsi@nokia.com>
20135
20136        REGRESSION(r104028): Broke editing tests and event coordinates in desktop behaviour
20137        https://bugs.webkit.org/show_bug.cgi?id=75542
20138
20139
20140        [Qt][WK2] Pinch zoom should affect the page size
20141        https://bugs.webkit.org/show_bug.cgi?id=74601
20142
20143        Unreviewed roll-out.
20144
20145        * Shared/NativeWebMouseEvent.h:
20146        * Shared/NativeWebTouchEvent.h:
20147        * Shared/NativeWebWheelEvent.h:
20148        * Shared/qt/NativeWebMouseEventQt.cpp:
20149        (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
20150        * Shared/qt/NativeWebTouchEventQt.cpp:
20151        (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
20152        * Shared/qt/NativeWebWheelEventQt.cpp:
20153        (WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
20154        * Shared/qt/WebEventFactoryQt.cpp:
20155        (WebKit::WebEventFactory::createWebMouseEvent):
20156        (WebKit::WebEventFactory::createWebWheelEvent):
20157        (WebKit::WebEventFactory::createWebTouchEvent):
20158        * Shared/qt/WebEventFactoryQt.h:
20159        * UIProcess/API/qt/qquickwebpage.cpp:
20160        (QQuickWebPage::keyPressEvent):
20161        (QQuickWebPage::keyReleaseEvent):
20162        (QQuickWebPage::inputMethodEvent):
20163        (QQuickWebPage::focusInEvent):
20164        (QQuickWebPage::focusOutEvent):
20165        (QQuickWebPage::mousePressEvent):
20166        (QQuickWebPage::mouseMoveEvent):
20167        (QQuickWebPage::mouseReleaseEvent):
20168        (QQuickWebPage::mouseDoubleClickEvent):
20169        (QQuickWebPage::wheelEvent):
20170        (QQuickWebPage::hoverEnterEvent):
20171        (QQuickWebPage::hoverMoveEvent):
20172        (QQuickWebPage::hoverLeaveEvent):
20173        (QQuickWebPage::dragMoveEvent):
20174        (QQuickWebPage::dragEnterEvent):
20175        (QQuickWebPage::dragLeaveEvent):
20176        (QQuickWebPage::dropEvent):
20177        (QQuickWebPage::geometryChanged):
20178        (QQuickWebPage::event):
20179        (QQuickWebPage::touchEvent):
20180        (QQuickWebPagePrivate::QQuickWebPagePrivate):
20181        (QQuickWebPagePrivate::paintToCurrentGLContext):
20182        * UIProcess/API/qt/qquickwebpage_p.h:
20183        * UIProcess/API/qt/qquickwebpage_p_p.h:
20184        * UIProcess/API/qt/qquickwebview.cpp:
20185        (QQuickWebViewPrivate::enableMouseEvents):
20186        (QQuickWebViewPrivate::disableMouseEvents):
20187        (QQuickWebViewPrivate::loadDidCommit):
20188        (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
20189        (QQuickWebViewPrivate::didChangeContentsSize):
20190        (QQuickWebViewPrivate::didChangeViewportProperties):
20191        (QQuickWebViewPrivate::pageDidRequestScroll):
20192        (QQuickWebViewPrivate::updateVisibleContentRectAndScale):
20193        (QQuickWebViewPrivate::PostTransitionState::apply):
20194        (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
20195        (QQuickWebViewExperimental::setUseTraditionalDesktopBehaviour):
20196        (QQuickWebViewExperimental::useTraditionalDesktopBehaviour):
20197        (QQuickWebView::geometryChanged):
20198        (QQuickWebView::focusInEvent):
20199        (QQuickWebView::focusOutEvent):
20200        * UIProcess/API/qt/qquickwebview_p.h:
20201        * UIProcess/API/qt/qquickwebview_p_p.h:
20202        * UIProcess/API/qt/qwebviewportinfo.cpp:
20203        (QWebViewportInfo::contentsSize):
20204        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
20205        (tst_QQuickWebView::scrollRequest):
20206        * UIProcess/qt/QtPinchGestureRecognizer.cpp:
20207        (WebKit::QtPinchGestureRecognizer::recognize):
20208        * UIProcess/qt/QtViewportInteractionEngine.cpp:
20209        (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
20210        (WebKit::QtViewportInteractionEngine::setItemRectVisible):
20211        (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
20212        (WebKit::QtViewportInteractionEngine::event):
20213        (WebKit::QtViewportInteractionEngine::wheelEvent):
20214        (WebKit::QtViewportInteractionEngine::pagePositionRequest):
20215        (WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale):
20216        (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
20217        (WebKit::QtViewportInteractionEngine::applyConstraints):
20218        (WebKit::QtViewportInteractionEngine::currentCSSScale):
20219        (WebKit::QtViewportInteractionEngine::panGestureStarted):
20220        (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
20221        (WebKit::QtViewportInteractionEngine::panGestureEnded):
20222        (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
20223        (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
20224        (WebKit::QtViewportInteractionEngine::scaleContent):
20225        * UIProcess/qt/QtViewportInteractionEngine.h:
20226        * UIProcess/qt/QtWebPageEventHandler.cpp:
20227        (QtWebPageEventHandler::handleEvent):
20228        (QtWebPageEventHandler::handleMouseMoveEvent):
20229        (QtWebPageEventHandler::handleMousePressEvent):
20230        (QtWebPageEventHandler::handleMouseReleaseEvent):
20231        (QtWebPageEventHandler::handleWheelEvent):
20232        (QtWebPageEventHandler::handleHoverLeaveEvent):
20233        (QtWebPageEventHandler::handleHoverMoveEvent):
20234        (QtWebPageEventHandler::handleDragEnterEvent):
20235        (QtWebPageEventHandler::handleDragMoveEvent):
20236        (QtWebPageEventHandler::handleDropEvent):
20237        (QtWebPageEventHandler::handleSingleTapEvent):
20238        (QtWebPageEventHandler::handleDoubleTapEvent):
20239        (QtWebPageEventHandler::touchEvent):
20240        * UIProcess/qt/QtWebPageEventHandler.h:
20241
202422012-01-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
20243
20244        [Qt] Introduce new qmake variable 'WEBKIT' for signaling dependencies
20245
20246        The custom qmake variable 'WEBKIT' is used for signaling that a
20247        target depends in some way on other subproject of the WebKit
20248        project. For now this is limited to the set of intermediate
20249        libraries: wtf, javascriptcore, webcore, and webkit2.
20250
20251        This replaces the previous convension of using load(foo) for
20252        just include paths, and CONFIG += foo to also link against foo.
20253
20254        Adding a dependency results in additional include paths being
20255        available, and potentially linking to the library. This is
20256        decided by the build system based on conditions such as what
20257        kind of target is being built and the general build config.
20258
20259        An advantage to his approach is that it simplifies the individual
20260        foo.prf files, for example by allowing us to use INCLUDEPATH +=
20261        and LIBS += as normal instead of prepending.
20262
20263        Reviewed by Simon Hausmann.
20264
20265        * Target.pri:
20266        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
20267
202682012-01-03  Andras Becsi  <andras.becsi@nokia.com>
20269
20270        [Qt][WK2] Pinch zoom should affect the page size
20271        https://bugs.webkit.org/show_bug.cgi?id=74601
20272
20273        Reviewed by Kenneth Rohde Christiansen and Simon Hausmann.
20274
20275        The current implementation uses the scale property of the QQuickWebPage
20276        to scale the page in response to pinch gestures.
20277        However for layout and anchoring to work correctly in QML, pinching needs
20278        to change the page size.
20279        This patch applies the pinch scale to the page size and to the transformation
20280        matrix of the drawing area.
20281        Thus the page item's coordinate system is no longer a direct representation
20282        of the WebCore::Page coordinate system and it is no longer suitable as
20283        an inertial frame of reference for input events. The event propagation had
20284        to be moved to the QQuickWebView and the positions translated to content
20285        coordinates when NativeWebEvents are created.
20286
20287        * Shared/NativeWebMouseEvent.h:
20288        * Shared/NativeWebTouchEvent.h:
20289        * Shared/NativeWebWheelEvent.h:
20290        * Shared/qt/NativeWebMouseEventQt.cpp:
20291        (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
20292        * Shared/qt/NativeWebTouchEventQt.cpp:
20293        (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
20294        * Shared/qt/NativeWebWheelEventQt.cpp:
20295        (WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
20296        * Shared/qt/WebEventFactoryQt.cpp:
20297        (WebKit::WebEventFactory::createWebMouseEvent):
20298        (WebKit::WebEventFactory::createWebWheelEvent):
20299        (WebKit::WebEventFactory::createWebTouchEvent):
20300        * Shared/qt/WebEventFactoryQt.h:
20301        * UIProcess/API/qt/qquickwebpage.cpp:
20302        (QQuickWebPage::geometryChanged):
20303        (QQuickWebPagePrivate::QQuickWebPagePrivate):
20304        (QQuickWebPagePrivate::paintToCurrentGLContext):
20305        (QQuickWebPage::usesTraditionalDesktopBehaviour):
20306        (QQuickWebPage::setUsesTraditionalDesktopBehaviour):
20307        (QQuickWebPage::eventHandler):
20308        (QQuickWebPage::setContentSize):
20309        (QQuickWebPage::contentSize):
20310        (QQuickWebPage::setContentScale):
20311        (QQuickWebPage::contentScale):
20312        (QQuickWebPage::transformFromItem):
20313        (QQuickWebPage::transformToItem):
20314        (QQuickWebPagePrivate::updateSize):
20315        * UIProcess/API/qt/qquickwebpage_p.h:
20316        * UIProcess/API/qt/qquickwebpage_p_p.h:
20317        * UIProcess/API/qt/qquickwebview.cpp:
20318        (QQuickWebViewPrivate::enableMouseEvents):
20319        (QQuickWebViewPrivate::disableMouseEvents):
20320        (QQuickWebViewPrivate::loadDidCommit):
20321        (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
20322        (QQuickWebViewPrivate::didChangeContentsSize):
20323        (QQuickWebViewPrivate::didChangeViewportProperties):
20324        (QQuickWebViewPrivate::pageDidRequestScroll):
20325        (QQuickWebViewPrivate::updateVisibleContentRectAndScale):
20326        (QQuickWebViewPrivate::PostTransitionState::apply):
20327        (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
20328        (QQuickWebViewExperimental::setUseTraditionalDesktopBehaviour):
20329        (QQuickWebViewExperimental::useTraditionalDesktopBehaviour):
20330        (QQuickWebView::mapToWebContent):
20331        (QQuickWebView::mapRectToWebContent):
20332        (QQuickWebView::mapFromWebContent):
20333        (QQuickWebView::mapRectFromWebContent):
20334        (QQuickWebView::geometryChanged):
20335        (QQuickWebView::keyPressEvent):
20336        (QQuickWebView::keyReleaseEvent):
20337        (QQuickWebView::inputMethodEvent):
20338        (QQuickWebView::focusInEvent):
20339        (QQuickWebView::focusOutEvent):
20340        (QQuickWebView::touchEvent):
20341        (QQuickWebView::mousePressEvent):
20342        (QQuickWebView::mouseMoveEvent):
20343        (QQuickWebView::mouseReleaseEvent):
20344        (QQuickWebView::mouseDoubleClickEvent):
20345        (QQuickWebView::wheelEvent):
20346        (QQuickWebView::hoverEnterEvent):
20347        (QQuickWebView::hoverMoveEvent):
20348        (QQuickWebView::hoverLeaveEvent):
20349        (QQuickWebView::dragMoveEvent):
20350        (QQuickWebView::dragEnterEvent):
20351        (QQuickWebView::dragLeaveEvent):
20352        (QQuickWebView::dropEvent):
20353        (QQuickWebView::event):
20354        * UIProcess/API/qt/qquickwebview_p.h:
20355        * UIProcess/API/qt/qquickwebview_p_p.h:
20356        * UIProcess/API/qt/qwebviewportinfo.cpp:
20357        (QWebViewportInfo::contentsSize):
20358        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
20359        (tst_QQuickWebView::scrollRequest):
20360        * UIProcess/qt/QtPinchGestureRecognizer.cpp:
20361        (WebKit::QtPinchGestureRecognizer::recognize):
20362        * UIProcess/qt/QtViewportInteractionEngine.cpp:
20363        (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
20364        (WebKit::QtViewportInteractionEngine::setItemRectVisible):
20365        (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
20366        (WebKit::QtViewportInteractionEngine::event):
20367        (WebKit::QtViewportInteractionEngine::wheelEvent):
20368        (WebKit::QtViewportInteractionEngine::pagePositionRequest):
20369        (WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale):
20370        (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
20371        (WebKit::QtViewportInteractionEngine::applyConstraints):
20372        (WebKit::QtViewportInteractionEngine::currentCSSScale):
20373        (WebKit::QtViewportInteractionEngine::panGestureStarted):
20374        (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
20375        (WebKit::QtViewportInteractionEngine::panGestureEnded):
20376        (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
20377        (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
20378        (WebKit::QtViewportInteractionEngine::scaleContent):
20379        * UIProcess/qt/QtViewportInteractionEngine.h:
20380        * UIProcess/qt/QtWebPageEventHandler.cpp:
20381        (QtWebPageEventHandler::handleEvent):
20382        (QtWebPageEventHandler::handleMouseMoveEvent):
20383        (QtWebPageEventHandler::handleMousePressEvent):
20384        (QtWebPageEventHandler::handleMouseReleaseEvent):
20385        (QtWebPageEventHandler::handleWheelEvent):
20386        (QtWebPageEventHandler::handleHoverLeaveEvent):
20387        (QtWebPageEventHandler::handleHoverMoveEvent):
20388        (QtWebPageEventHandler::handleDragEnterEvent):
20389        (QtWebPageEventHandler::handleDragMoveEvent):
20390        (QtWebPageEventHandler::handleDropEvent):
20391        (QtWebPageEventHandler::handleSingleTapEvent):
20392        (QtWebPageEventHandler::handleDoubleTapEvent):
20393        (QtWebPageEventHandler::touchEvent):
20394        * UIProcess/qt/QtWebPageEventHandler.h:
20395
203962012-01-03  Kenneth Rohde Christiansen  <kenneth@webkit.org>
20397
20398        [Qt] Clean up Qt specific part of editorState()
20399
20400        Reviewed by Simon Hausmann.
20401
20402        Use unsigned instead of int.
20403        No need to clone the range as we don't modify it.
20404        Support selections which include a composition.
20405        If we are not in editable content make sure to use the document element
20406        as the scope for calculating the positions and lengths.
20407        Remove compositionStart/Length as there cannot be a selection and
20408        composition at the same time.
20409
20410        Only tested manually as we don't have everything in place yet
20411        to properly test this.
20412
20413        * Shared/EditorState.h:
20414        * WebProcess/WebPage/WebPage.cpp:
20415        (WebKit::WebPage::editorState):
20416
204172012-01-04  Mihnea Ovidenie  <mihnea@adobe.com>
20418
20419        [Mac]Fix build after changeset 103997
20420        https://bugs.webkit.org/show_bug.cgi?id=75530
20421
20422        Reviewed by Andreas Kling.
20423
20424        * UIProcess/API/mac/WKView.mm:
20425
204262012-01-03  Carlos Garcia Campos  <cgarcia@igalia.com>
20427
20428        [GTK] Scrollbars are drawn behind the window resize grip
20429        https://bugs.webkit.org/show_bug.cgi?id=75384
20430
20431        Reviewed by Martin Robinson.
20432
20433        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
20434        (webkitWebViewBaseNotifyResizerSizeForWindow): Get the size of the
20435        main window resize grip and send it to the page proxy if it
20436        overlaps with the view.
20437        (toplevelWindowResizeGripVisibilityChanged): Call
20438        webkitWebViewBaseNotifyResizerSizeForWindow().
20439        (webkitWebViewBaseRealize): Get the toplevel window and connect to
20440        notify::resize-grip-visible signal.
20441        (webkitWebViewBaseSizeAllocate): Call
20442        webkitWebViewBaseNotifyResizerSizeForWindow().
20443
204442012-01-03  Jon Lee  <jonlee@apple.com>
20445
20446        Leak of WebNotificationClient when page is destroyed
20447        https://bugs.webkit.org/show_bug.cgi?id=74980
20448        <rdar://problem/10611231>
20449
20450        Reviewed by Mark Rowe.
20451
20452        * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
20453        (WebKit::WebNotificationClient::notificationControllerDestroyed): Delete the instance.
20454        * WebProcess/WebCoreSupport/WebNotificationClient.h:
20455
204562012-01-03  Sam Weinig  <sam@webkit.org>
20457
20458        Remove unnecessary forward declaration of Function
20459        https://bugs.webkit.org/show_bug.cgi?id=75485
20460
20461        Reviewed by Dan Bernstein.
20462
20463        * Platform/WorkQueue.h:
20464
204652012-01-03  Carlos Garcia Campos  <cgarcia@igalia.com>
20466
20467        [GTK] Simplify loader client WebKit2 GTK+ API
20468        https://bugs.webkit.org/show_bug.cgi?id=74605
20469
20470        Reviewed by Gustavo Noronha Silva.
20471
20472        Remove WebKitWebLoaderClient from public API keeping it as a
20473        private object. Loading API has been reduced to two signals in
20474        WebKitWebView.
20475
20476        * GNUmakefile.am: Remove WebKitWebLoaderClientPrivate.h.
20477        * UIProcess/API/gtk/WebKitDefines.h: Remove forward delcarations
20478        that are no longer needed.
20479        * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
20480        (didStartProvisionalLoadForFrame): Emit
20481        WebKitWebView::load-changed signal with Started event.
20482        (didReceiveServerRedirectForProvisionalLoadForFrame): Emit
20483        WebKitWebView::load-changed signal with Redirected event.
20484        (didFailProvisionalLoadWithErrorForFrame): Emit
20485        WebKitWebView::load-failed signal with Started event.
20486        (didCommitLoadForFrame): Emit WebKitWebView::load-changed signal
20487        with Committed event.
20488        (didFinishLoadForFrame): Emit WebKitWebView::load-changed signal
20489        with Finished event.
20490        (didFailLoadWithErrorForFrame): Emit WebKitWebView::load-failed
20491        signal with Committed event.
20492        (webkit_web_loader_client_init):
20493        (webkit_web_loader_client_class_init):
20494        * UIProcess/API/gtk/WebKitWebLoaderClient.h: Remove public API and
20495        move private API here.
20496        * UIProcess/API/gtk/WebKitWebLoaderClientPrivate.h: Removed.
20497        * UIProcess/API/gtk/WebKitWebView.cpp:
20498        (webkitWebViewLoadFail): Default implementation of
20499        WebKitWebView::load-failed signal to show a custom error page.
20500        (webkit_web_view_class_init): Add load-changed and load-failed
20501        signals.
20502        (webkitWebViewLoadChanged): Emit WebKitWebView::load-changed with
20503        the given event.
20504        (webkitWebViewLoadFailed): Emit WebKitWebView::load-failed signal
20505        with the given event, failing uri and error.
20506        * UIProcess/API/gtk/WebKitWebView.h:
20507        * UIProcess/API/gtk/WebKitWebViewPrivate.h:
20508        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Remove loader
20509        client section.
20510        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Remove loader
20511        client symbols.
20512        * UIProcess/API/gtk/docs/webkit2gtk.types: Remove
20513        webkit_web_loader_client_get_type.
20514        * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
20515        (loadChangedCallback):
20516        (loadFailedCallback):
20517        (LoadTrackingTest::LoadTrackingTest):
20518        (LoadTrackingTest::~LoadTrackingTest):
20519        (LoadTrackingTest::provisionalLoadStarted):
20520        (LoadTrackingTest::provisionalLoadReceivedServerRedirect):
20521        (LoadTrackingTest::provisionalLoadFailed):
20522        (LoadTrackingTest::loadCommitted):
20523        (LoadTrackingTest::loadFinished):
20524        (LoadTrackingTest::loadFailed):
20525        * UIProcess/API/gtk/tests/LoadTrackingTest.h:
20526        * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
20527        (testLoadingError):
20528        (LoadStopTrackingTest::loadCommitted):
20529        (LoadStopTrackingTest::loadFailed):
20530        (testLoadCancelled):
20531        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
20532        (beforeAll):
20533        * UIProcess/API/gtk/webkit2.h: Remove loader client header.
20534        * UIProcess/API/gtk/webkit2marshal.list:
20535
205362012-01-03  Rafael Brandao  <rafael.lobo@openbossa.org>
20537
20538        [Qt][WK2] tst_favIconLoad.qml crashes on debug mode
20539        https://bugs.webkit.org/show_bug.cgi?id=75448
20540
20541        Reviewed by Kenneth Rohde Christiansen.
20542
20543        * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml: Loads
20544        "about:blank" instead of an empty url between tests to clean favicon.
20545
205462012-01-02  Dan Bernstein  <mitz@apple.com>
20547
20548        Fixed a typo I made in r103871.
20549
20550        Fixes <http://webkit.org/b/75450> Inline PDF doesn't preview correctly when attempting to print its frame
20551
20552        * WebProcess/WebPage/WebPage.cpp:
20553        (WebKit::WebPage::drawRectToPDF): Changed USE(GC) to USE(CG).
20554
205552012-01-02  Andy Estes  <aestes@apple.com>
20556
20557        Fix the Windows build (again).
20558
20559        * Platform/CoreIPC/Connection.h:
20560
205612012-01-02  Sam Weinig  <sam@webkit.org>
20562
20563        Fix windows build.
20564
20565        * Platform/CoreIPC/Connection.h:
20566        * Platform/CoreIPC/win/ConnectionWin.cpp:
20567        * Platform/RunLoop.h:
20568        Missing declarations/includes of BinarySemaphore.
20569
205702012-01-02  Sam Weinig  <sam@webkit.org>
20571
20572        Move dispatchSentMessagesUntil out of the RunLoop class.
20573        https://bugs.webkit.org/show_bug.cgi?id=75320
20574
20575        Reviewed by Dan Bernstein.
20576
20577        * Platform/CoreIPC/Connection.cpp:
20578        (CoreIPC::Connection::SyncMessageState::waitWhileDispatchingSentWin32Messages):
20579        * Platform/CoreIPC/Connection.h:
20580        * Platform/CoreIPC/win/ConnectionWin.cpp:
20581        (CoreIPC::Connection::dispatchSentMessagesUntil):
20582        * Platform/win/RunLoopWin.cpp:
20583
205842012-01-02  Dan Bernstein  <mitz@apple.com>
20585
20586        Build fix.
20587
20588        * Platform/CoreIPC/mac/ConnectionMac.cpp:
20589        * Platform/mac/SharedMemoryMac.cpp:
20590
205912012-01-02  Nikolas Zimmermann  <nzimmermann@rim.com>
20592
20593        Not reviewed. Fix build on Lion, by including mach_error.h in two places that need it.
20594
20595        * PluginProcess/mac/PluginProcessMainMac.mm:
20596        * WebProcess/mac/WebProcessMainMac.mm:
20597
205982012-01-01  Dan Bernstein  <mitz@apple.com>
20599
20600        EnvironmentUtilities::stripValuesEndingWithString enters an infinite loop if the search value
20601        occurs a component other than the first.
20602
20603        Reviewed by Anders Carlsson.
20604
20605        * Platform/unix/EnvironmentUtilities.cpp:
20606        (WebKit::EnvironmentUtilities::stripValuesEndingWithString): Changed to start the search for
20607        the next colon after the current colon.
20608
206092012-01-01  Dan Bernstein  <mitz@apple.com>
20610
20611        Improved reproting of kernel return codes.
20612
20613        Reviewed by Anders Carlsson.
20614
20615        * Platform/CoreIPC/mac/ConnectionMac.cpp:
20616        (CoreIPC::Connection::exceptionSourceEventHandler): Added the error string to the log message.
20617        * Platform/mac/SharedMemoryMac.cpp:
20618        (WebKit::SharedMemory::create): Ditto.
20619        * PluginProcess/mac/PluginProcessMainMac.mm:
20620        (WebKit::PluginProcessMain): Ditto. Also changed to log to stderr.
20621        * WebProcess/mac/WebProcessMainMac.mm:
20622        (WebKit::WebProcessMain): Ditto.
20623
206242011-12-31  Dan Bernstein  <mitz@apple.com>
20625
20626        Continue trying to fix the ASSERT-enabled Windows build after r103858.
20627
20628        * WebProcess/WebPage/WebPage.cpp:
20629        (WebKit::WebPage::drawRectToPDF):
20630        (WebKit::WebPage::drawPagesToPDF):
20631
206322011-12-31  Dan Bernstein  <mitz@apple.com>
20633
20634        Start trying to fix the Windows build after r103858.
20635
20636        * WebProcess/WebPage/WebPage.cpp:
20637        (WebKit::drawPDFPage):
20638
206392011-12-31  Dan Bernstein  <mitz@apple.com>
20640
20641        <rdar://problem/10463059> Cannot print USPS shipping labels
20642        http://webkit.org/b/72801
20643
20644        Reviewed by Anders Carlsson and Alexey Proskuryakov.
20645
20646        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
20647        (appendValuesInPDFNameSubtreeToVector): Copied from WebKit/mac/WebView/WebPDFDocumentExtras.mm.
20648        (getAllValuesInPDFNameTree): Ditto.
20649        (getAllScriptsInPDFDocument): Copied allScriptsInPDFDocument() from WebPDFDocumentExtras.mm
20650        and changed it to append to a Vector<RetainPtr<CFStringRef> >.
20651        (WebKit::BuiltInPDFView::create): Changed to take a WebFrame* rather than a Page*.
20652        (WebKit::BuiltInPDFView::BuiltInPDFView): Ditto. Updated initializer accordingly.
20653        (WebKit::BuiltInPDFView::pdfDocumentDidLoad): Copied and adapted code from
20654        -[WebPDFRepresentation finishedLoadingWithDataSource:] to run scripts from the PDF with a
20655        Doc object as the this object.
20656        (WebKit::BuiltInPDFView::initialize): Adapted for the change from having a Page* to having
20657        a WebFrame*.
20658        (WebKit::BuiltInPDFView::destroy): Ditto.
20659        (WebKit::BuiltInPDFView::isActive): Ditto.
20660        (WebKit::jsPDFDocInitialize): Added. Refs the BuiltInPDFView which is the private object for
20661        this Doc.
20662        (WebKit::jsPDFDocFinalize): Added. Derefs the BuiltInPDFView for this Doc.
20663        (WebKit::BuiltInPDFView::jsPDFDocPrint): Added. Calls WebCore::Chrome::print().
20664        (WebKit::BuiltInPDFView::makeJSPDFDoc): Copied from WebKit/mac/WebView/WebJSPDFDoc.mm and
20665        modified to use this BuiltInPDFView as the private object of the Doc being made.
20666        * WebProcess/Plugins/PDF/BuiltInPDFView.h:
20667        (WebKit::BuiltInPDFView::disconnectFromPage): Adapted for the change from having a Page* to
20668        having a WebFrame*.
20669        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
20670        (WebKit::WebFrameLoaderClient::createPlugin): Pass the WebFrame to WebPage::createPlugin().
20671        * WebProcess/WebPage/WebPage.cpp:
20672        (WebKit::WebPage::createPlugin): Added a WebFrame* parameter, which is used when creating
20673        a BuiltInPDFView.
20674        * WebProcess/WebPage/WebPage.h:
20675
206762011-12-31  Dan Bernstein  <mitz@apple.com>
20677
20678        <rdar://problem/8553040> REGRESSION (WebKit2): Safari status text doesn't change when you change the modifier keys without moving the mouse
20679        https://bugs.webkit.org/show_bug.cgi?id=75404
20680
20681        Reviewed by Jon Honeycutt.
20682
20683        * UIProcess/API/mac/WKView.mm:
20684        (-[WKView dealloc]): Remove the flags changed event monitor.
20685        (-[WKView _postFakeMouseMovedEventForFlagsChangedEvent:]): Added. Similarly to
20686        -[WebHTMLView _postFlagsChangedEvent:], creates a mouse moved event and passes it to
20687        -mouseMoved:.
20688        (-[WKView initWithFrame:contextRef:pageGroupRef:]): Create a local event monitor for flags
20689        changed events.
20690
206912011-12-31  Dan Bernstein  <mitz@apple.com>
20692
20693        <rdar://problem/8750356> REGRESSION (WebKit2): Printing a subframe containing a PDF prints the on-screen view instead of the entire PDF document
20694        <http://webkit.org/b/75232>
20695
20696        Reviewed by Alexey Proskuryakov.
20697
20698        * UIProcess/API/C/WKPage.cpp:
20699        (WKPageDrawPagesToPDF): Added WKPrintInfo parameter, which is passed through as a PrintInfo
20700        to the WebPageProxy.
20701        * UIProcess/API/C/WKPagePrivate.h:
20702        * UIProcess/API/mac/WKPrintingView.mm:
20703        (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]): Changed to pass the PrintInfo
20704        down to WebPageProxy::drawPagesToPDF.
20705        (-[WKPrintingView _drawPreview:]): Changed to pass the PrintInfo down to
20706        WebPageProxy::drawRectToPDF.
20707        * UIProcess/API/mac/WKView.mm:
20708        (-[WKView canChangeFrameLayout:]): Changed to use WebFrameProxy::isDisplayingPDFDocument, which
20709        works for subframes as well.
20710        (-[WKView printOperationWithPrintInfo:forFrame:]): Added a FIXME.
20711        * UIProcess/WebFrameProxy.cpp:
20712        (WebKit::WebFrameProxy::isDisplayingPDFDocument): Added.
20713        * UIProcess/WebFrameProxy.h:
20714        * UIProcess/WebPageProxy.cpp:
20715        (WebKit::WebPageProxy::drawRectToPDF): Added a PrintInfo parameter, which is passed through to
20716        the Web process.
20717        (WebKit::WebPageProxy::drawPagesToPDF): Ditto.
20718        * UIProcess/WebPageProxy.h:
20719        * WebProcess/Plugins/PDF/BuiltInPDFView.h:
20720        Added an override of pdfDocumentForPrinting() which returns the PDFDocument.
20721        * WebProcess/Plugins/Plugin.h:
20722        (WebKit::Plugin::pdfDocumentForPrinting): Added. This base class implementation returns 0.
20723        * WebProcess/Plugins/PluginView.h:
20724        (WebKit::PluginView::pdfDocumentForPrinting): Added. Calls through to the Plugin.
20725        * WebProcess/WebPage/WebPage.cpp:
20726        (WebKit::pdfDocumentForPrintingFrame): Added this helper function. If the frame is displaying
20727        a plug-in document, allows the plug-in to provide a PDF document for printing.
20728        (WebKit::WebPage::beginPrinting): Added an early return if the frame provides a PDF document
20729        for printing.
20730        (WebKit::WebPage::computePagesForPrinting): If the frame provides a PDF document for printing,
20731        create for each page in the PDF document a page rect with the size available for printing.
20732        (WebKit::drawPDFPage): Added this helper function, which draws a page from the PDF document
20733        into one of the aforementioned page rects. It rotates the PDF page 90 degrees if necessary to
20734        better match the aspect ratio of the paper, then it centers it on the paper. This matches the
20735        behavior of a PDFView when printed with default settings.
20736        (WebKit::WebPage::drawRectToPDF): If the frame provides a PDF document for printing, draw the
20737        PDF pages falling within the requested rect.
20738        (WebKit::WebPage::drawPagesToPDF): If the frame provides a PDF document for printing, draw
20739        the requested pages.
20740        * WebProcess/WebPage/WebPage.h:
20741        * WebProcess/WebPage/WebPage.messages.in: Added a PrintInfo parameter to DrawRectToPDF and
20742        DrawPagesToPDF.
20743
207442011-12-30  Dan Bernstein  <mitz@apple.com>
20745
20746        EnvironmentUtilities::stripValuesEndingWithString fails when the variable ends with the search value
20747        https://bugs.webkit.org/show_bug.cgi?id=75389
20748
20749        Reviewed by Anders Carlsson.
20750
20751        * Platform/unix/EnvironmentUtilities.cpp:
20752        (WebKit::EnvironmentUtilities::stripValuesEndingWithString): Fixed an off-by-1 error when
20753        examining the character after the match.
20754
207552011-12-29  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
20756
20757        [Qt] Remove unused m_signalListeners from WorkQueue
20758        https://bugs.webkit.org/show_bug.cgi?id=75354
20759
20760        Reviewed by Andreas Kling.
20761
20762        This is unused since r76507.
20763
20764        * Platform/WorkQueue.h:
20765        * Platform/qt/WorkQueueQt.cpp:
20766        (WorkQueue::platformInvalidate):
20767
207682011-12-29  Carlos Garcia Campos  <cgarcia@igalia.com>
20769
20770        [GTK] Context menu is hidden right after showing it when first menu item is not disabled
20771        https://bugs.webkit.org/show_bug.cgi?id=75357
20772
20773        Reviewed by Martin Robinson.
20774
20775        The problem is that we are passing GDK_CURRENT_TIME (which is 0)
20776        to gtk_popup_menu, because the events are async and
20777        gtk_get_current_event is NULL when calling gtk_menu_popup. GtkMenu
20778        has a timeout to decide whether the press-release was fast enough
20779        and ignore the button release event in that case. That way, a
20780        normal right click shows the menu while a long press hides the
20781        menu when the button is released. So, we need to know the real time
20782        when the right button was pressed and pass it to gtk_popup_menu.
20783
20784        * UIProcess/WebPageProxy.h: Make
20785        currentlyProcessedMouseDownEvent() public.
20786        * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
20787        (WebKit::WebContextMenuProxyGtk::showContextMenu): Use
20788        WebPageProxy::currentlyProcessedMouseDownEvent() to get the
20789        current mouse event and pass its button number and time to
20790        gtk_popup_menu.
20791
207922011-12-29  Carlos Garcia Campos  <cgarcia@igalia.com>
20793
20794        [GTK] Fix several conding style issues in WebKit2 GTK+ code
20795        https://bugs.webkit.org/show_bug.cgi?id=75339
20796
20797        Reviewed by Martin Robinson.
20798
20799        In addition to the WebKit coding style, code in UIProcess/API/gtk
20800        should follow style and conventions described here
20801        http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API
20802
20803        * UIProcess/API/gtk/WebKitSettings.cpp: Remove trailing whitespaces.
20804        (webkit_settings_class_init): Remove trailing whitespaces, fix
20805        indentation issues in API doc comments, add missing trailing to
20806        some properties.
20807        (webkit_settings_set_enable_fullscreen): Move the code after
20808        get_enable_fullscreen() for consistency.
20809        * UIProcess/API/gtk/WebKitSettings.h: Remove trailing
20810        whitespaces. Fix * placement and line up parameters.
20811        * UIProcess/API/gtk/WebKitWebView.cpp: Remove several empty lines.
20812        (webkit_web_view_class_init): Mark property nicks and blurbs for translation.
20813        (webkitWebViewSetTitle): Remove trailing whitespaces.
20814        * UIProcess/API/gtk/WebKitWebView.h: Line up parameters.
20815        * UIProcess/API/gtk/WebKitWebViewBase.cpp: Use the angle-bracket
20816        form for including file from WebCore and wtf. Use GRefPtr for
20817        GtkIMContext and bool instead of gboolean. Use the placement new
20818        syntax for private struct instead of new/delete.
20819        (webkitWebViewBaseRealize):
20820        (webkitWebViewBaseFinalize):
20821        (webkit_web_view_base_init):
20822        (webkitWebViewBaseFocusInEvent):
20823        (webkitWebViewBaseFocusOutEvent):
20824        (webkitWebViewBaseKeyPressEvent): Remove trailing whitespaces.
20825        (webkitWebViewBaseKeyReleaseEvent):
20826        (webkit_web_view_base_class_init):
20827        (webkitWebViewBaseGetIMContext):
20828
208292011-12-28  Balazs Kelemen  <kbalazs@webkit.org>
20830
20831        [Qt][WK2] Crash in ~WebGraphicsLayer when running fast/multicol/pagination-* tests
20832        https://bugs.webkit.org/show_bug.cgi?id=75000
20833
20834        Reviewed by Noam Rosenthal.
20835
20836        Don't adopt a tile client that belongs to a parent layer.
20837        This is unnecessary and also unsafe because we can live
20838        through that client.
20839
20840        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
20841        (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
20842
208432011-12-27  Dan Bernstein  <mitz@apple.com>
20844
20845        [mac] Stop using bootstrap_look_up2
20846        https://bugs.webkit.org/show_bug.cgi?id=75280
20847
20848        Reviewed by Mark Rowe.
20849
20850        * PluginProcess/mac/PluginProcessMainMac.mm:
20851        (WebKit::PluginProcessMain): Changed to use bootstrap_look_up() instead of
20852        bootstrap_look_up2().
20853        * WebProcess/mac/WebProcessMainMac.mm:
20854        (WebKit::WebProcessMain): Ditto.
20855
208562011-12-27  Kenneth Rohde Christiansen  <kenneth@webkit.org>
20857
20858        [Qt] Make the inputMethodEvent set or confirm the composition
20859        https://bugs.webkit.org/show_bug.cgi?id=75256
20860
20861        Reviewed by Chang Shu.
20862
20863        * UIProcess/qt/QtWebPageEventHandler.cpp:
20864        (QtWebPageEventHandler::inputMethodEvent):
20865
208662011-12-26  Mark Rowe  <mrowe@apple.com>
20867
20868        <http://webkit.org/b/75196> REGRESSION(r103643): Command-clicking a link no longer opens a new tab.
20869
20870        r103643 contained some botched copy-paste code that caused the state of the Command key
20871        to be lost when translating from a WebKit2 event to a WebCore event.
20872
20873        Reviewed by Dan Bernstein.
20874
20875        * Shared/WebEventConversion.cpp:
20876        (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent): Test for the correct modifier.
20877        (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent): Ditto.
20878        (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent): Ditto.
20879        (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent): Ditto.
20880        (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent): Ditto.
20881
208822011-12-26  Carlos Garcia Campos  <cgarcia@igalia.com>
20883
20884        Fix a crash in WebProcess when starting a download not initiated by a WebPage
20885        https://bugs.webkit.org/show_bug.cgi?id=75225
20886
20887        Reviewed by Darin Adler.
20888
20889        * WebProcess/WebProcess.cpp:
20890        (WebKit::WebProcess::downloadRequest): Check initiatingPage is not
20891        NULL before using it.
20892
208932011-12-25  Dan Bernstein  <mitz@apple.com>
20894
20895        Find indicators overlap when a match spans multiple text boxes
20896        https://bugs.webkit.org/show_bug.cgi?id=75220
20897
20898        Reviewed by Darin Adler.
20899
20900        * UIProcess/FindIndicator.cpp:
20901        (WebKit::findIndicatorsForTextRectsOverlap): Added this helper function that checks for
20902        pairwise intersections between all indicator rects.
20903        (WebKit::FindIndicator::FindIndicator): Changed to use a single rect (the union of all text
20904        rects) if any two indicator rects would otherwise overlap. This is similar to what Safari
20905        does, and it eliminates overlapping rects for adjacent text boxes. In rare cases (such as when
20906        a match spans two lines and adjacent text boxes on one of those lines) it results in a find
20907        indicator that is too large and obscures some non-match text.
20908        * UIProcess/FindIndicator.h:
20909
209102011-12-21  Sam Weinig  <sam@webkit.org>
20911
20912        Start extracting platform specific bits out of PlatformEvents
20913        https://bugs.webkit.org/show_bug.cgi?id=75063
20914
20915        Reviewed by Anders Carlsson.
20916
20917        * Shared/WebEventConversion.cpp:
20918        (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
20919        (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
20920        (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
20921        (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
20922        (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
20923        * UIProcess/API/mac/WKView.mm:
20924        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
20925        (InitWebCoreSystemInterface):
20926
209272011-12-22  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
20928
20929        [Qt] [WK2] Use HashMap instead of Vector in the builtin bundle
20930        https://bugs.webkit.org/show_bug.cgi?id=75112
20931
20932        Reviewed by Andreas Kling.
20933
20934        Fix my own FIXME now that HashMap have support to hold OwnPtr as value.
20935
20936        * WebProcess/qt/QtBuiltinBundle.cpp:
20937        (WebKit::QtBuiltinBundle::didCreatePage):
20938        (WebKit::QtBuiltinBundle::willDestroyPage):
20939        (WebKit::QtBuiltinBundle::handleMessageToNavigatorQtObject):
20940        (WebKit::QtBuiltinBundle::handleSetNavigatorQtObjectEnabled):
20941        * WebProcess/qt/QtBuiltinBundle.h:
20942
209432011-12-22  Anders Carlsson  <andersca@apple.com>
20944
20945        Remove the last of the WebKit2 display throttling
20946        https://bugs.webkit.org/show_bug.cgi?id=75109
20947
20948        Reviewed by Adam Roben.
20949
20950        The code to do display throttling in WebKit2 is complex and doesn't really help us except
20951        on an old benchmark that's no longer representative of real-world behavior; let's rip it out instead.
20952
20953        * WebProcess/WebPage/DrawingAreaImpl.cpp:
20954        (WebKit::DrawingAreaImpl::DrawingAreaImpl):
20955        (WebKit::DrawingAreaImpl::displayTimerFired):
20956        (WebKit::DrawingAreaImpl::display):
20957        * WebProcess/WebPage/DrawingAreaImpl.h:
20958        * WebProcess/WebPage/WebPage.cpp:
20959        (WebKit::WebPage::wheelEvent):
20960        (WebKit::WebPage::wheelEventSyncForTesting):
20961
209622011-12-22  Anders Carlsson  <andersca@apple.com>
20963
20964        Get rid of didStartAnimatedScroll and didCompleteAnimatedScroll
20965        https://bugs.webkit.org/show_bug.cgi?id=75107
20966
20967        Reviewed by Adam Roben.
20968
20969        This is another step towards removing the display throttling in WebKit2.
20970
20971        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
20972        (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
20973        * WebProcess/WebCoreSupport/WebChromeClient.h:
20974
209752011-12-22  Anders Carlsson  <andersca@apple.com>
20976
20977        Remove didStartRubberBand and didCompleteRubberBand callbacks
20978        https://bugs.webkit.org/show_bug.cgi?id=75102
20979
20980        Reviewed by Adam Roben.
20981
20982        The code to do display throttling in WebKit2 is complex and doesn't really help us except
20983        on an old benchmark that's no longer representative of real-world behavior; let's rip it out instead.
20984
20985        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
20986        * WebProcess/WebCoreSupport/WebChromeClient.h:
20987
209882011-12-22  Ryuan Choi <ryuan.choi@samsung.com>, Tomasz Morawski <t.morawski@samsung.com>
20989
20990        [EFL][WK2] Add an option to build WebKit2.
20991        https://bugs.webkit.org/show_bug.cgi?id=61999
20992
20993        Reviewed by Eric Seidel.
20994
20995        Add build script for WebKit2 on EFL port.
20996
20997        * CMakeLists.txt:
20998        * PlatformEfl.cmake: Added.
20999
210002011-12-21  Eunmi Lee  <eunmi15.lee@samsung.com>
21001
21002        [EFL][WK2] Add efl port's ewk_view files
21003        https://bugs.webkit.org/show_bug.cgi?id=61915
21004
21005        Reviewed by Eric Seidel.
21006
21007        This is the initial version of WebKit2 EFL port's ewk_view.
21008        The ewk_view is Evas_Object to show the rendered web contents.
21009
21010        * UIProcess/API/efl/ewk_view.cpp: Added.
21011        (_ewk_view_smart_changed):
21012        (_ewk_view_smart_focus_in):
21013        (_ewk_view_smart_focus_out):
21014        (_ewk_view_smart_mouse_wheel):
21015        (_ewk_view_smart_mouse_down):
21016        (_ewk_view_smart_mouse_up):
21017        (_ewk_view_smart_mouse_move):
21018        (_ewk_view_smart_key_down):
21019        (_ewk_view_smart_key_up):
21020        (_ewk_view_on_focus_in):
21021        (_ewk_view_on_focus_out):
21022        (_ewk_view_on_mouse_wheel):
21023        (_ewk_view_on_mouse_down):
21024        (_ewk_view_on_mouse_up):
21025        (_ewk_view_on_mouse_move):
21026        (_ewk_view_on_key_down):
21027        (_ewk_view_on_key_up):
21028        (_ewk_view_priv_new):
21029        (_ewk_view_priv_del):
21030        (_ewk_view_smart_add):
21031        (_ewk_view_smart_del):
21032        (_ewk_view_smart_resize):
21033        (_ewk_view_smart_move):
21034        (_ewk_view_smart_calculate):
21035        (_ewk_view_smart_show):
21036        (_ewk_view_smart_hide):
21037        (ewk_view_smart_class_init):
21038        (_ewk_view_smart_class_new):
21039        (ewk_view_add):
21040        (ewk_view_page_get):
21041        * UIProcess/API/efl/ewk_view.h: Added.
21042
210432011-12-21  Timothy Hatcher  <timothy@apple.com>
21044
21045        Web Inspector: suppress incremental rendering and use application chrome mode
21046
21047        https://webkit.org/b/75026
21048
21049        Reviewed by Joseph Pecoraro.
21050
21051        * UIProcess/WebInspectorProxy.cpp:
21052        (WebKit::createInspectorPageGroup): Set suppress incremental rendering and use application chrome mode.
21053
210542011-12-21  Sam Weinig  <sam@webkit.org>
21055
21056        Cleanup up clients when deallocating WebKit2 API objects
21057        https://bugs.webkit.org/show_bug.cgi?id=75014
21058
21059        Reviewed by Adam Roben.
21060
21061        * UIProcess/API/mac/WKBrowsingContextController.mm:
21062        (-[WKBrowsingContextController dealloc]):
21063        * UIProcess/API/mac/WKConnection.mm:
21064        (-[WKConnection dealloc]):
21065        Clear clients on dealloc.
21066
210672011-12-21  Rafael Brandao  <rafael.lobo@openbossa.org>
21068
21069        [Qt][WK2] Add tests for favicon and fix icon url decoding issue
21070        https://bugs.webkit.org/show_bug.cgi?id=74967
21071
21072        Reviewed by Simon Hausmann.
21073
21074        * UIProcess/API/qt/qwebiconimageprovider.cpp: We already receive the url
21075        without the percent encoding and we should access WebIconDatabase with
21076        an encoded url. Added a test to cover this behavior.
21077        (QWebIconImageProvider::requestImage):
21078        * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml: Added.
21079        * UIProcess/API/qt/tests/qmltests/common/favicon.html: Added.
21080        * UIProcess/API/qt/tests/qmltests/common/favicon.png: Added.
21081        * UIProcess/API/qt/tests/qmltests/common/favicon2.html: Added.
21082        * UIProcess/API/qt/tests/qmltests/common/small-favicon.png: Added.
21083        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
21084
210852011-12-21  Sam Weinig  <sam@webkit.org>
21086
21087        Exception thrown when running WKBrowsingContextLoadDelegateTest.SimpleLoad test
21088        https://bugs.webkit.org/show_bug.cgi?id=75012
21089
21090        Reviewed by Adam Roben.
21091
21092        * UIProcess/API/mac/WKProcessGroup.mm:
21093        (-[WKProcessGroup dealloc]):
21094        Clear the WKContext's connection client.
21095
210962011-12-21  Michael Brüning  <michael.bruning@nokia.com>
21097
21098        [Qt][WK2] Fix tst_QQuickWebView::scrollRequest() API test
21099        https://bugs.webkit.org/show_bug.cgi?id=73994
21100
21101        Reviewed by Kenneth Rohde Christiansen.
21102
21103        Added a viewport meta tag so that the view is actually scrollable and
21104        does not get scaled to not be scrollable. Corrected the style
21105        definition for the <div> tag. Removed unneeded text in div
21106
21107        Rolled back changes some of the changes from the previous patch
21108        (r102453) because they weren't necessary.
21109
21110        * UIProcess/API/qt/tests/html/scroll.html:
21111        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
21112        (tst_QQuickWebView::scrollRequest): Partially rolled back changes.
21113
211142011-12-21  Jessie Berlin  <jberlin@apple.com>
21115
21116        Windows build fix.
21117
21118        Replace all instances of "WebPropupMenuProxy" with "WebPopupMenuProxy".
21119
21120        * UIProcess/win/WebPopupMenuProxyWin.cpp:
21121        (WebKit::WebPopupMenuProxyWin::showPopupMenu):
21122        (WebKit::WebPopupMenuProxyWin::setFocusedIndex):
21123
211242011-12-20  Anders Carlsson  <andersca@apple.com>
21125
21126        Add ScrollableArea::contentsResized and have it call the scroll animator
21127        https://bugs.webkit.org/show_bug.cgi?id=74966
21128
21129        Reviewed by Sam Weinig.
21130
21131        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
21132        (WebKit::BuiltInPDFView::scrollbarStyleChanged):
21133
211342011-12-20  Anders Carlsson  <andersca@apple.com>
21135
21136        Try to fix the Windows build.
21137
21138        * UIProcess/win/WebPopupMenuProxyWin.cpp:
21139        (WebKit::WebPopupMenuProxyWin::showPopupMenu):
21140        (WebKit::WebPopupMenuProxyWin::setFocusedIndex):
21141
211422011-12-20  Simon Hausmann  <simon.hausmann@nokia.com>
21143
21144        [Qt][WK2] Remove statusBarMessageChanged
21145        https://bugs.webkit.org/show_bug.cgi?id=74405
21146
21147        Reviewed by Tor Arne Vestbø.
21148
21149        Removing support for window.status updates from the public
21150        QML API. See bug for details.
21151
21152        * UIProcess/API/qt/qquickwebview_p.h:
21153        * UIProcess/qt/QtWebPageUIClient.cpp:
21154        (QtWebPageUIClient::QtWebPageUIClient):
21155        * UIProcess/qt/QtWebPageUIClient.h:
21156
211572011-12-20  Anders Carlsson  <andersca@apple.com>
21158
21159        Add ScrollableArea wrappers for a bunch of ScrollAnimator member functions
21160        https://bugs.webkit.org/show_bug.cgi?id=74951
21161
21162        Reviewed by Sam Weinig.
21163
21164        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
21165        (WebKit::BuiltInPDFView::paint):
21166        (WebKit::BuiltInPDFView::handleMouseEvent):
21167        (WebKit::BuiltInPDFView::handleMouseEnterEvent):
21168        (WebKit::BuiltInPDFView::handleMouseLeaveEvent):
21169
211702011-12-20  Brent Fulgham  <bfulgham@webkit.org>
21171
21172        [WinCairo] Unreviewed build fix.
21173
21174        * win/WebKit2CFLite.def: Add missing export declaration.
21175
211762011-12-20  Simon Hausmann  <simon.hausmann@nokia.com>
21177
21178        [Qt] Build fix for gcc used on WK2 build bot.
21179
21180        * UIProcess/qt/QtWebPagePolicyClient.cpp:
21181        (QtWebPagePolicyClient::decidePolicyForNavigationAction): Don't do case:
21182        with values outside the range of the type. Instead switch() on the int instead.
21183
211842011-12-20  Rafael Brandao  <rafael.lobo@openbossa.org>
21185
21186        [Qt] Extend QQuickWebview::navigationRequested API
21187        https://bugs.webkit.org/show_bug.cgi?id=73818
21188
21189        Reviewed by Simon Hausmann.
21190
21191        Added url of the originating frame on QWebNavigationRequest,
21192        accessible via 'request.originatingUrl' on QML. Download action
21193        was moved to experimental, so in order to use it you should set
21194        'request.action = WebViewExperimental.DownloadRequest' on QML.
21195
21196        * UIProcess/API/qt/qquickwebview_p.h:
21197        * UIProcess/API/qt/qwebnavigationrequest.cpp:
21198        (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
21199        (QWebNavigationRequest::QWebNavigationRequest):
21200        (QWebNavigationRequest::originatingUrl):
21201        * UIProcess/API/qt/qwebnavigationrequest_p.h:
21202        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
21203        Tests were modified a bit to reuse urls and also added a test case to check
21204        originating url once a request is done.
21205        * UIProcess/qt/QtWebPagePolicyClient.cpp:
21206        (QtWebPagePolicyClient::decidePolicyForNavigationAction):
21207        * UIProcess/qt/QtWebPagePolicyClient.h:
21208
212092011-12-20  Balazs Kelemen  <kbalazs@webkit.org>
21210
21211        [Qt] WK2 Debugging quirks need some improvement
21212        https://bugs.webkit.org/show_bug.cgi?id=74859
21213
21214        Reviewed by Simon Hausmann.
21215
21216        Improvements added to make debugging WebKit2 more
21217        confortable and efficient:
21218        1. Unify debugging quirks. From now all of them are controlled
21219        by the QT_WEBKIT2_DEBUG environment variable.
21220        2. Disable crash handlers for WebKitTestRunner if debugging quirks
21221        are used to make it possible to use postmortem debugging via core dumps
21222        which is extremely useful for debugging bugs triggered by layout tests.
21223        3. Disable test timeout for WebKitTestRunner if debugging quirks
21224        are used because that makes debugging impossible.
21225
21226        * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
21227        (WebKit::QtWebProcess::setupChildProcess):
21228        * WebProcess/qt/WebProcessMainQt.cpp:
21229        (WebKit::WebProcessMainQt):
21230
212312011-12-20  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
21232
21233        [Qt][WK2]REGRESSION(r103310): It broke tst_QQuickWebView::loadNonexistentFileUrl() API test
21234        https://bugs.webkit.org/show_bug.cgi?id=74923
21235
21236        Rubber-stamped by Csaba Osztrogonác.
21237
21238        Fixing API usage after http://trac.webkit.org/changeset/103310.
21239
21240        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
21241        (tst_QQuickWebView::loadNonexistentFileUrl):
21242
212432011-12-20  Simon Hausmann  <simon.hausmann@nokia.com>
21244
21245        [Qt] Favicon support should work with multiple web contexts
21246        https://bugs.webkit.org/show_bug.cgi?id=74922
21247
21248        Reviewed by Tor Arne Vestbø.
21249
21250        * UIProcess/API/qt/qquickwebview.cpp:
21251        (QQuickWebViewPrivate::initialize): Remove unnecessary use of QtWebContext::defaultContext(). There is
21252        already a member variable "context" which is the correct one.
21253        (QQuickWebViewPrivate::setIcon): Ditto.
21254        * UIProcess/API/qt/qwebiconimageprovider.cpp:
21255        (QWebIconImageProvider::requestImage): Extract the context id from the image id and use it to
21256        query the correct icon database.
21257        * UIProcess/qt/QtWebContext.cpp: Provide a mapping from id to qtwebcontext.
21258        (WebKit::generateContextID):
21259        (WebKit::QtWebContext::QtWebContext):
21260        (WebKit::QtWebContext::~QtWebContext):
21261        (WebKit::QtWebContext::contextByID):
21262        (WebKit::QtWebContext::initialize):
21263        * UIProcess/qt/QtWebContext.h:
21264        (WebKit::QtWebContext::context):
21265        (WebKit::QtWebContext::contextID):
21266        * UIProcess/qt/QtWebIconDatabaseClient.cpp:
21267        (QtWebIconDatabaseClient::QtWebIconDatabaseClient):
21268        (QtWebIconDatabaseClient::requestIconForPageURL): Store the context id in the icon url.
21269        * UIProcess/qt/QtWebIconDatabaseClient.h:
21270
212712011-12-20  Rafael Brandao  <rafael.lobo@openbossa.org>
21272
21273        [Qt][WK2] Implement favicon support
21274        https://bugs.webkit.org/show_bug.cgi?id=71082
21275
21276        Reviewed by Simon Hausmann.
21277
21278        Added attribute to QQuickWebView named "icon" that should be used
21279        as source for QQuickImage in order to display it. All images
21280        pointing to it will refresh when the icon is ready. We also use IDs
21281        to make it possible to handle different icons for the same page URL
21282        at different times (i.e. dynamically changing favicon).
21283
21284        IconDatabase storage lies on UIProcess and the synchronous call for
21285        the icon that happens on WebIconDatabase won't need to send any message
21286        to WebProcess. The part of IconDatabase on WebProcess handles the download
21287        of the resource whenever it is needed. Then the content downloaded is sent
21288        through IPC to the actual database, on UIProcess.
21289
21290        * Target.pri:
21291        * UIProcess/API/qt/qquickwebview.cpp:
21292        (QQuickWebViewPrivate::initialize):
21293        (QQuickWebViewPrivate::_q_onIconChangedForPageURL):
21294        (QQuickWebViewPrivate::setIcon):
21295        (QQuickWebView::icon):
21296        * UIProcess/API/qt/qquickwebview_p.h:
21297        * UIProcess/API/qt/qquickwebview_p_p.h:
21298        * UIProcess/API/qt/qwebiconimageprovider.cpp: Added.
21299        (QWebIconImageProvider::QWebIconImageProvider):
21300        (QWebIconImageProvider::~QWebIconImageProvider):
21301        (QWebIconImageProvider::requestImage):
21302        * UIProcess/API/qt/qwebiconimageprovider_p.h: Added.
21303        * UIProcess/WebContext.h:
21304        * UIProcess/WebIconDatabase.cpp:
21305        (WebKit::WebIconDatabase::synchronousIconURLForPageURL):
21306        (WebKit::WebIconDatabase::imageForPageURL): Added iconSize parameter
21307        and a default value for it to not break the old usage. The support for
21308        multiple sizes of favicons is still missing on WebCore.
21309        * UIProcess/WebIconDatabase.h:
21310        * UIProcess/qt/QtWebContext.cpp:
21311        (WebKit::QtWebContext::initialize):
21312        * UIProcess/qt/QtWebContext.h:
21313        (WebKit::QtWebContext::iconDatabase):
21314        * UIProcess/qt/QtWebIconDatabaseClient.cpp: Added.
21315        (toQtWebIconDatabaseClient):
21316        (QtWebIconDatabaseClient::QtWebIconDatabaseClient):
21317        (QtWebIconDatabaseClient::~QtWebIconDatabaseClient):
21318        (QtWebIconDatabaseClient::didChangeIconForPageURL):
21319        (QtWebIconDatabaseClient::iconImageForPageURL):
21320        (QtWebIconDatabaseClient::iconURLHashForPageURL):
21321        (QtWebIconDatabaseClient::requestIconForPageURL):
21322        (QtWebIconDatabaseClient::retainIconForPageURL):
21323        (QtWebIconDatabaseClient::releaseIconForPageURL):
21324        * UIProcess/qt/QtWebIconDatabaseClient.h: Added.
21325        * UIProcess/qt/QtWebPageLoadClient.cpp:
21326        (QtWebPageLoadClient::didStartProgress):
21327
213282011-12-20  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
21329
21330        [Qt] Improve QQuickWebView error handling API
21331        https://bugs.webkit.org/show_bug.cgi?id=73815
21332
21333        Reviewed by Simon Hausmann.
21334
21335        Modifying loadFail signal to include the error description
21336        and changing the ErrorType enum to ErrorDomain, to stay aligned
21337        with ResourceError API itself.
21338
21339        * UIProcess/API/qt/qquickwebview_p.h:
21340        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
21341        * UIProcess/qt/QtWebPageLoadClient.cpp:
21342        (QtWebPageLoadClient::dispatchLoadFailed):
21343
213442011-12-19  Sam Weinig  <sam@webkit.org>
21345
21346        Add support for scrollLineDown: and scrollLineUp: NSResponder selectors
21347        https://bugs.webkit.org/show_bug.cgi?id=74907
21348
21349        Reviewed by Dan Bernstein.
21350
21351        * UIProcess/API/mac/WKView.mm:
21352        Add implementations for scrollLineDown: and scrollLineUp: using our
21353        fun macros.
21354
213552011-12-19  Sam Weinig  <sam@webkit.org>
21356
21357        More PlatformEvent cleanup
21358        https://bugs.webkit.org/show_bug.cgi?id=74831
21359
21360        Reviewed by Dan Bernstein.
21361
21362        * WebProcess/WebPage/WebPage.cpp:
21363        (WebKit::handleContextMenuEvent):
21364        Update to use new names, access style.
21365
213662011-12-16  Jon Lee  <jonlee@apple.com>
21367
21368        [WK2] Extend show notification API to include the source page
21369        https://bugs.webkit.org/show_bug.cgi?id=74751
21370        <rdar://problem/10514541>
21371
21372        Reviewed by John Sullivan.
21373
21374        We add the source page that dispatched the notification in the API for convenience. In order to include the page,
21375        we move the show() message sent by WebNotificationManager from WebNotificationManagerProxy to WebPageProxy.
21376
21377        * WebProcess/Notifications/WebNotificationManager.cpp:
21378        (WebKit::WebNotificationManager::show): We aim the message at WebPageProxy instead of WebNotificationManagerProxy.
21379
21380        * UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Remove the show() message.
21381        * UIProcess/WebPageProxy.messages.in: Add a showNotification() message.
21382
21383        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
21384        (WebKit::WebNotificationManagerProxy::show): This function is now called from the WebPageProxy.
21385        * UIProcess/Notifications/WebNotificationManagerProxy.h:
21386
21387        * UIProcess/API/C/WKNotificationProvider.h:
21388        * UIProcess/Notifications/WebNotificationProvider.cpp:
21389        (WebKit::WebNotificationProvider::show):
21390        * UIProcess/Notifications/WebNotificationProvider.h:
21391        * UIProcess/WebPageProxy.cpp:
21392        (WebKit::WebPageProxy::showNotification):
21393        * UIProcess/WebPageProxy.h:
21394
213952011-12-19  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
21396
21397        [Qt][WK2] QWebDownloadItems are leaking
21398        https://bugs.webkit.org/show_bug.cgi?id=74618
21399
21400        Reviewed by Kenneth Rohde Christiansen.
21401
21402        QWebDownloadItems are leaking when WebProcess raises a
21403        download failure before sending didReceiveResponse back to UIProcess.
21404        This can happen when QtFileDownloader fails in determineFilename(), for instance.
21405        It happens when QtDownloadManager::downloadFailed() is reached
21406        and has an "empty" downloadItem, which means we never got to
21407        QtDownloadManager::downloadReceivedResponse(). At this point
21408        QQuickWebView::downloadRequested() signal hasn't been emitted and
21409        the downloadItem will have null parent. Therefore, it will leak
21410        unless we delete it ourselves.
21411
21412        * UIProcess/qt/QtDownloadManager.cpp:
21413        (WebKit::QtDownloadManager::downloadFailed):
21414
214152011-12-19  Anders Carlsson  <andersca@apple.com>
21416
21417        Send gesture events through the event dispatcher and scrolling coordinator
21418        https://bugs.webkit.org/show_bug.cgi?id=74879
21419
21420        Reviewed by Andreas Kling.
21421
21422        * UIProcess/WebPageProxy.cpp:
21423        (WebKit::WebPageProxy::handleGestureEvent):
21424        Use the EventDispatcher message.
21425
21426        * WebProcess/WebPage/EventDispatcher.cpp:
21427        (WebKit::EventDispatcher::gestureEvent):
21428        Try to send the event to the scrolling coordinator first before dispatching it on the main thread.
21429
21430        (WebKit::EventDispatcher::dispatchGestureEvent):
21431        Just call through to the WebPageProxy.
21432
21433        * WebProcess/WebPage/EventDispatcher.h:
21434        * WebProcess/WebPage/EventDispatcher.messages.in:
21435        * WebProcess/WebPage/WebPage.h:
21436        * WebProcess/WebPage/WebPage.messages.in:
21437        Move the GestureEvent message from WebPage to EventDispatcher.
21438
214392011-12-19  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
21440
21441        [Qt] Setting QWebPreferences affect multiple WebViews
21442        https://bugs.webkit.org/show_bug.cgi?id=71559
21443
21444        Reviewed by Kenneth Rohde Christiansen.
21445
21446        The QWebPreferences are per WebView, but the actual implementation
21447        in WebKit2 make them per page group. Currently we share only one
21448        page group between all the views, so if we set preferences
21449        to one WebView the preferences are shared between them all, generating
21450        unexpected behavior. This patch fixes this by making each WebView have
21451        its own page group.
21452
21453        * UIProcess/API/qt/qquickwebview.cpp:
21454        (QQuickWebViewPrivate::QQuickWebViewPrivate):
21455        * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
21456
214572011-12-19  Eric Carlson  <eric.carlson@apple.com>
21458
21459        Enable <track> for Mac build
21460        https://bugs.webkit.org/show_bug.cgi?id=74838
21461
21462        Reviewed by Darin Adler.
21463
21464        * Configurations/FeatureDefines.xcconfig:
21465
214662011-12-19  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
21467
21468        [Qt] [WK2] Fix build error due to unused variables
21469        https://bugs.webkit.org/show_bug.cgi?id=74862
21470
21471        Reviewed by Kenneth Rohde Christiansen.
21472
21473        * UIProcess/qt/QtWebPageEventHandler.cpp:
21474        (QtWebPageEventHandler::inputMethodEvent):
21475
214762011-12-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
21477
21478        [Qt] Add methods for setting, cancelling and confirming the composition
21479
21480        Reviewed by Simon Hausmann.
21481
21482        * UIProcess/WebPageProxy.h:
21483        * UIProcess/qt/WebPageProxyQt.cpp:
21484        (WebKit::WebPageProxy::setComposition):
21485        (WebKit::WebPageProxy::confirmComposition):
21486        (WebKit::WebPageProxy::cancelComposition):
21487        * WebProcess/WebPage/WebPage.h:
21488        * WebProcess/WebPage/WebPage.messages.in:
21489        * WebProcess/WebPage/qt/WebPageQt.cpp:
21490        (WebKit::targetFrameForEditing):
21491        (WebKit::WebPage::confirmComposition):
21492        (WebKit::WebPage::setComposition):
21493        (WebKit::WebPage::cancelComposition):
21494
214952011-12-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
21496
21497        First stab at upstreaming our virtual keyboard code
21498
21499        Reviewed by Simon Hausmann.
21500
21501        Add basic implementation of inputMethodEvent
21502
21503        * UIProcess/qt/QtWebPageEventHandler.cpp:
21504        (QtWebPageEventHandler::handleEvent):
21505        (QtWebPageEventHandler::inputMethodEvent):
21506        * UIProcess/qt/QtWebPageEventHandler.h:
21507
215082011-12-19  Simon Hausmann  <simon.hausmann@nokia.com>
21509
21510        [Qt][WK2] Add support for modal event loop processing for WTR
21511        https://bugs.webkit.org/show_bug.cgi?id=74852
21512
21513        Reviewed by Kenneth Rohde Christiansen.
21514
21515        Add support for nested event loops, used by WebPage::runModal().
21516
21517        * Platform/qt/RunLoopQt.cpp:
21518        (RunLoop::run):
21519        (RunLoop::stop):
21520
215212011-12-18  Sam Weinig  <sam@webkit.org>
21522
21523        Another attempt to fix the windows build.
21524
21525        * Platform/win/WorkQueueWin.cpp:
21526        (WorkQueue::performWorkOnRegisteredWorkThread):
21527        (WorkQueue::dispatch):
21528
215292011-12-18  Sam Weinig  <sam@webkit.org>
21530
21531        Try to fix the windows build.
21532
21533        * Platform/win/WorkQueueWin.cpp:
21534        (WorkQueue::performWorkOnRegisteredWorkThread):
21535
215362011-12-18  Sam Weinig  <sam@webkit.org>
21537
21538        Remove now unused WorkItem.h
21539        https://bugs.webkit.org/show_bug.cgi?id=74818
21540
21541        Reviewed by Andreas Kling.
21542
21543        * GNUmakefile.am:
21544        * Platform/CoreIPC/Connection.cpp:
21545        * Platform/RunLoop.cpp:
21546        * Platform/RunLoop.h:
21547        * Platform/WorkItem.h: Removed.
21548        * Platform/gtk/RunLoopGtk.cpp:
21549        * Platform/mac/RunLoopMac.mm:
21550        * Platform/mac/WorkQueueMac.cpp:
21551        (WorkQueue::platformInvalidate):
21552        * Platform/qt/RunLoopQt.cpp:
21553        * Platform/win/RunLoopWin.cpp:
21554        * Target.pri:
21555        * UIProcess/ResponsivenessTimer.cpp:
21556        * WebKit2.xcodeproj/project.pbxproj:
21557        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
21558        * win/WebKit2.vcproj:
21559
215602011-12-18  Anders Carlsson  <andersca@apple.com>
21561
21562        Set the main frame view scroll position asynchronously
21563        https://bugs.webkit.org/show_bug.cgi?id=74823
21564
21565        Reviewed by Sam Weinig.
21566
21567        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
21568        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
21569        Don't make the background red.
21570
215712011-12-18  Sam Weinig  <sam@webkit.org>
21572
21573        Move timestamp down from PlatformEvent subclasses to the base class
21574        https://bugs.webkit.org/show_bug.cgi?id=74805
21575
21576        Reviewed by Anders Carlsson.
21577
21578        * Shared/WebEventConversion.cpp:
21579        (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
21580        (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
21581        (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
21582        (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
21583        (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
21584
215852011-12-18  Anders Carlsson  <andersca@apple.com>
21586
21587        Add a scrolling thread to the scrolling coordinator
21588        https://bugs.webkit.org/show_bug.cgi?id=74814
21589
21590        Reviewed by Andreas Kling.
21591
21592        Check if the scrolling coordinator can handle the wheel event before dispatching it
21593        to the main thread.
21594
21595        * WebProcess/WebPage/EventDispatcher.cpp:
21596        (WebKit::EventDispatcher::wheelEvent):
21597
215982011-12-18  Anders Carlsson  <andersca@apple.com>
21599
21600        EventDispatcher should keep track of all scrolling coordinators
21601        https://bugs.webkit.org/show_bug.cgi?id=74810
21602
21603        Reviewed by Andreas Kling.
21604
21605        * WebProcess/WebPage/EventDispatcher.cpp:
21606        (WebKit::EventDispatcher::addScrollingCoordinatorForPage):
21607        Get the scrolling coordinator from the WebCore page and add it to the map.
21608
21609        (WebKit::EventDispatcher::removeScrollingCoordinatorForPage):
21610        Remove the scrolling coordinator from the map.
21611
21612        (WebKit::EventDispatcher::sendDidHandleEvent):
21613        Add a new helper function, currently unused.
21614
21615        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
21616        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
21617        Add the scrolling coordinator.
21618
21619        (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
21620        Remove the scrolling coordinator.
21621
21622        * WebProcess/WebProcess.h:
21623        (WebKit::WebProcess::eventDispatcher):
21624        Add a getter.
21625
216262011-12-16  Anders Carlsson  <andersca@apple.com>
21627
21628        Move everyone off of WorkItem
21629        https://bugs.webkit.org/show_bug.cgi?id=74773
21630
21631        Reviewed by Darin Adler.
21632
21633        * Platform/CoreIPC/unix/ConnectionUnix.cpp:
21634        (CoreIPC::Connection::open):
21635        (CoreIPC::Connection::setShouldCloseConnectionOnProcessTermination):
21636        * Platform/CoreIPC/win/ConnectionWin.cpp:
21637        (CoreIPC::Connection::open):
21638        * Platform/RunLoop.cpp:
21639        (RunLoop::performWork):
21640        (RunLoop::dispatch):
21641        * Platform/RunLoop.h:
21642        * Platform/WorkQueue.cpp:
21643        * Platform/WorkQueue.h:
21644        (WorkQueue::WorkItemWin::function):
21645        * Platform/gtk/WorkQueueGtk.cpp:
21646        (WorkQueue::EventSource::EventSource):
21647        (WorkQueue::EventSource::executeEventSource):
21648        (WorkQueue::registerEventSourceHandler):
21649        (WorkQueue::dispatchOnSource):
21650        (WorkQueue::dispatch):
21651        (WorkQueue::dispatchAfterDelay):
21652        (WorkQueue::dispatchOnTermination):
21653        * Platform/mac/WorkQueueMac.cpp:
21654        (WorkQueue::executeFunction):
21655        (WorkQueue::dispatch):
21656        (WorkQueue::dispatchAfterDelay):
21657        * Platform/qt/WorkQueueQt.cpp:
21658        (WorkQueue::WorkItemQt::WorkItemQt):
21659        (WorkQueue::WorkItemQt::~WorkItemQt):
21660        (WorkQueue::WorkItemQt::execute):
21661        (WorkQueue::registerSocketEventHandler):
21662        (WorkQueue::dispatch):
21663        (WorkQueue::dispatchAfterDelay):
21664        (WorkQueue::dispatchOnTermination):
21665        * Platform/win/RunLoopWin.cpp:
21666        (RunLoop::wakeUp):
21667        * Platform/win/WorkQueueWin.cpp:
21668        (WorkQueue::WorkItemWin::WorkItemWin):
21669        (WorkQueue::WorkItemWin::create):
21670        (WorkQueue::HandleWorkItem::HandleWorkItem):
21671        (WorkQueue::HandleWorkItem::createByAdoptingHandle):
21672        (WorkQueue::registerHandle):
21673        (WorkQueue::dispatch):
21674        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
21675        (WebKit::ProcessLauncher::launchProcess):
21676        * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
21677        (WebKit::ProcessLauncher::launchProcess):
21678        * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
21679        (WebKit::ProcessLauncher::launchProcess):
21680        * WebProcess/mac/CoreIPCClientRunLoop.mm:
21681        (WebKit::callOnCoreIPCClientRunLoopAndWait):
21682
216832011-12-17  Sam Weinig  <sam@webkit.org>
21684
21685        Make PlatformTouchEvent inherit from PlatformEvent
21686        https://bugs.webkit.org/show_bug.cgi?id=74777
21687
21688        Reviewed by Andreas Kling.
21689
21690        * Shared/WebEventConversion.cpp:
21691        (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
21692        Add PlatformEvent prefix to enum types.
21693
216942011-12-16  Anders Carlsson  <andersca@apple.com>
21695
21696        Convert more WorkItems over to WTF::Functions
21697        https://bugs.webkit.org/show_bug.cgi?id=74770
21698
21699        Reviewed by Andreas Kling.
21700
21701        * Platform/WorkQueue.cpp:
21702        (WorkQueue::dispatchAfterDelay):
21703        * Platform/WorkQueue.h:
21704        * Shared/ChildProcess.cpp:
21705        (WebKit::ChildProcess::didCloseOnConnectionWorkQueue):
21706        * UIProcess/Launcher/ThreadLauncher.cpp:
21707        (WebKit::ThreadLauncher::launchThread):
21708        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
21709        (WebKit::ProcessLauncher::launchProcess):
21710        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
21711        (WebKit::NetscapePlugin::pluginThreadAsyncCall):
21712        * WebProcess/Plugins/PluginView.cpp:
21713        (WebKit::derefPluginView):
21714        (WebKit::PluginView::unprotectPluginFromDestruction):
21715
217162011-12-16  Mark Hahnenberg  <mhahnenberg@apple.com>
21717
21718        Windows test fix
21719
21720        Unreviewed test fix. All Windows tests were crashing when objects who were pointing to 
21721        static data members across DLL boundaries were getting garbage in their pointers.
21722
21723        * win/WebKit2.def:
21724
217252011-12-16  Ryosuke Niwa  <rniwa@webkit.org>
21726
21727        Rename registerCommandFor(Undo|Redo) to register(Undo|Redo)Step
21728        https://bugs.webkit.org/show_bug.cgi?id=74748
21729
21730        Reviewed by Eric Seidel.
21731
21732        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
21733        (WebKit::WebEditorClient::registerUndoStep):
21734        (WebKit::WebEditorClient::registerRedoStep):
21735        * WebProcess/WebCoreSupport/WebEditorClient.h:
21736
217372011-12-16  Anders Carlsson  <andersca@apple.com>
21738
21739        Add a pretty dumb tile cache to WebTileCacheLayer
21740        https://bugs.webkit.org/show_bug.cgi?id=74753
21741
21742        Reviewed by Simon Fraser.
21743
21744        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
21745        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
21746        Always do a layout here, to prevent an ASSERT(!needsLayout()) when painting.
21747
217482011-12-16  Anders Carlsson  <andersca@apple.com>
21749
21750        TiledCoreAnimationDrawingArea should enable the scrolling coordinator
21751        https://bugs.webkit.org/show_bug.cgi?id=74724
21752
21753        Reviewed by Adam Roben.
21754
21755        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
21756        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
21757
217582011-12-16  Sam Weinig  <sam@webkit.org>
21759
21760        Give PlatformEvents a base class
21761        https://bugs.webkit.org/show_bug.cgi?id=74685
21762
21763        Reviewed by Anders Carlsson.
21764
21765        Add a base class for PlatformMouseEvent, PlatformKeyboardEvent, PlatformWheelEvent
21766        and PlatformGestureEvent and move Type enumeration and modifiers down to it.
21767
21768        * Shared/WebEventConversion.cpp:
21769        (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
21770        (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
21771        (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
21772        (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
21773        * WebKit2.xcodeproj/project.pbxproj:
21774        * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
21775        (WebKit::WebEditorClient::handleKeyboardEvent):
21776        * WebProcess/WebPage/WebPage.cpp:
21777        (WebKit::handleMouseEvent):
21778        (WebKit::WebPage::setInitialFocus):
21779        (WebKit::WebPage::handleEditingKeyboardEvent):
21780        (WebKit::WebPage::dragEnded):
21781        * WebProcess/WebPage/mac/WebPageMac.mm:
21782        (WebKit::WebPage::executeKeypressCommandsInternal):
21783        (WebKit::WebPage::handleEditingKeyboardEvent):
21784
217852011-12-16  Ryosuke Niwa  <rniwa@webkit.org>
21786
21787        Only EditCommandComposition should implement unapply and reapply
21788        https://bugs.webkit.org/show_bug.cgi?id=74490
21789
21790        Reviewed by Eric Seidel.
21791
21792        Renamed WebEditCommand to WebUndoStep and made necessary changes.
21793        Everything on WebProcess side should have the correct name now.
21794
21795        Names in the proxy and UIProcess are to be updated in a follow up.
21796
21797        * CMakeLists.txt:
21798        * GNUmakefile.am:
21799        * Target.pri:
21800        * WebKit2.xcodeproj/project.pbxproj:
21801        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
21802        (WebKit::WebEditorClient::registerCommandForUndo):
21803        (WebKit::WebEditorClient::registerCommandForRedo):
21804        * WebProcess/WebCoreSupport/WebEditorClient.h:
21805        * WebProcess/WebPage/WebEditCommand.cpp: Removed.
21806        * WebProcess/WebPage/WebEditCommand.h: Removed.
21807        * WebProcess/WebPage/WebPage.cpp:
21808        (WebKit::WebPage::webUndoStep):
21809        (WebKit::WebPage::addWebUndoStep):
21810        (WebKit::WebPage::removeWebEditCommand):
21811        (WebKit::WebPage::unapplyEditCommand):
21812        (WebKit::WebPage::reapplyEditCommand):
21813        * WebProcess/WebPage/WebPage.h:
21814        * WebProcess/WebPage/WebUndoStep.cpp: Copied from Source/WebKit2/WebProcess/WebPage/WebEditCommand.cpp.
21815        (WebKit::generateUndoStep):
21816        (WebKit::WebUndoStep::create):
21817        * WebProcess/WebPage/WebUndoStep.h: Copied from Source/WebKit2/WebProcess/WebPage/WebEditCommand.h.
21818        (WebKit::WebUndoStep::entry):
21819        (WebKit::WebUndoStep::entryID):
21820        (WebKit::WebUndoStep::WebUndoStep):
21821        * win/WebKit2.vcproj:
21822
218232011-12-16  Simon Hausmann  <simon.hausmann@nokia.com>
21824
21825        [Qt] Eliminate dependency to QUndoStack
21826        https://bugs.webkit.org/show_bug.cgi?id=74691
21827
21828        Reviewed by Kenneth Rohde Christiansen.
21829
21830        Replaced the QUndoStack with two vectors. When calling unapply()
21831        on the edit command proxy, it will automatically re-register itself
21832        in the redo stack.
21833
21834        * UIProcess/qt/QtWebUndoController.cpp:
21835        (QtWebUndoController::registerEditCommand):
21836        (QtWebUndoController::clearAllEditCommands):
21837        (QtWebUndoController::canUndoRedo):
21838        (QtWebUndoController::executeUndoRedo):
21839        * UIProcess/qt/QtWebUndoController.h:
21840
218412011-12-16  Rafael Brandao  <rafael.lobo@openbossa.org>
21842
21843        [Qt][WK2] Move webView.page into experimental
21844        https://bugs.webkit.org/show_bug.cgi?id=74406
21845
21846        Reviewed by Simon Hausmann.
21847
21848        * UIProcess/API/qt/qquickwebview.cpp:
21849        (QQuickWebViewExperimental::page):
21850        * UIProcess/API/qt/qquickwebview_p.h:
21851        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
21852        (tst_QQuickWebView::accessPage):
21853
218542011-12-16  Mark Hahnenberg  <mhahnenberg@apple.com>
21855
21856        De-virtualize destructors
21857        https://bugs.webkit.org/show_bug.cgi?id=74331
21858
21859        Reviewed by Geoffrey Garen.
21860
21861        * WebProcess/Plugins/Netscape/JSNPMethod.cpp: Add trivial destructor assert.
21862        * WebProcess/Plugins/Netscape/JSNPObject.cpp: Add static destroy.
21863        (WebKit::JSNPObject::destroy):
21864        * WebProcess/Plugins/Netscape/JSNPObject.h:
21865        * win/WebKit2.def: Add/remove necessary symbols.
21866        * win/WebKit2CFLite.def: Ditto.
21867
218682011-12-16  Carlos Garcia Campos  <cgarcia@igalia.com>
21869
21870        [GTK] Use bit field for bool members of WebKitWindowPropertiesPrivate
21871        https://bugs.webkit.org/show_bug.cgi?id=74713
21872
21873        Reviewed by Gustavo Noronha Silva.
21874
21875        Most of the members are bools, so it reduces the memory footprint.
21876
21877        * UIProcess/API/gtk/WebKitWindowProperties.cpp:
21878
218792011-12-16  Carlos Garcia Campos  <cgarcia@igalia.com>
21880
21881        [GTK] Window frame should be 0x0 when the toplevel window is not visible
21882        https://bugs.webkit.org/show_bug.cgi?id=74709
21883
21884        Reviewed by Gustavo Noronha Silva.
21885
21886        * UIProcess/API/gtk/WebKitUIClient.cpp:
21887        (getWindowFrame): Check also whether the toplevel is visible
21888        before getting its size and position.
21889
218902011-12-16  Michael Bruning  <michael.bruning@nokia.com>
21891
21892        [qt][wk2] Viewport info panel shows wrong current scale
21893        https://bugs.webkit.org/show_bug.cgi?id=74613
21894
21895        Reviewed by Kenneth Rohde Christiansen.
21896
21897        * UIProcess/API/qt/qwebviewportinfo.cpp:
21898        (QWebViewportInfo::currentScale): Added division by devicePixelRatio. Also
21899        added emission of currenScaleUpdated signal when the viewport constraints
21900        have been updated.
21901        (QWebViewportInfo::didUpdateViewportConstraints):
21902        * UIProcess/API/qt/qwebviewportinfo_p.h: Changed return type of
21903        currentScale to QVariant as it depends on the viewport interaction engine
21904        now.
21905        * UIProcess/qt/QtViewportInteractionEngine.cpp:
21906        (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary): Changed
21907        to use currentCSSScale for getting the current css scale.
21908        (WebKit::QtViewportInteractionEngine::currentCSSScale): Added.
21909        * UIProcess/qt/QtViewportInteractionEngine.h: Added method currentCSSScale.
21910
219112011-12-15  Martin Robinson  <mrobinson@igalia.com>
21912
21913        Fix 'make dist' in preparation for the GTK+ release.
21914
21915        * GNUmakefile.am: Add missing header.
21916
219172011-12-15  Anders Carlsson  <andersca@apple.com>
21918
21919        Add support for accelerated compositing to the tiled Core Animation drawing area
21920        https://bugs.webkit.org/show_bug.cgi?id=74675
21921
21922        Reviewed by Andreas Kling.
21923
21924        Add a layer flush scheduler and get rid of the content layer since WebCore will manage that for us.
21925
21926        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
21927        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
21928        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
21929        (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
21930        (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay):
21931        (WebKit::TiledCoreAnimationDrawingArea::scroll):
21932        (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
21933        (WebKit::TiledCoreAnimationDrawingArea::scheduleCompositingLayerSync):
21934        (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
21935        (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
21936
219372011-12-15  Sheriff Bot  <webkit.review.bot@gmail.com>
21938
21939        Unreviewed, rolling out r102652 and r102717.
21940        http://trac.webkit.org/changeset/102652
21941        http://trac.webkit.org/changeset/102717
21942        https://bugs.webkit.org/show_bug.cgi?id=74674
21943
21944        Broke too many webs. (Requested by kling on #webkit).
21945
21946        * UIProcess/API/mac/WKView.mm:
21947        (-[WKView _updateWindowAndViewFrames]):
21948        * UIProcess/WebPageProxy.h:
21949        * UIProcess/mac/WebPageProxyMac.mm:
21950        (WebKit::WebPageProxy::windowAndViewFramesChanged):
21951        * WebProcess/Plugins/PluginView.cpp:
21952        (WebKit::PluginView::windowAndViewFramesChanged):
21953        * WebProcess/Plugins/PluginView.h:
21954        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
21955        (WebKit::WebChromeClient::windowRect):
21956        * WebProcess/WebPage/WebPage.cpp:
21957        (WebKit::WebPage::windowAndViewFramesChanged):
21958        * WebProcess/WebPage/WebPage.h:
21959        (WebKit::WebPage::windowFrameInScreenCoordinates):
21960        (WebKit::WebPage::viewFrameInWindowCoordinates):
21961        (WebKit::WebPage::accessibilityPosition):
21962        * WebProcess/WebPage/WebPage.messages.in:
21963        * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
21964        (-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):
21965
219662011-12-15  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
21967
21968        [GTK] New API test for WindowProperties fails
21969        https://bugs.webkit.org/show_bug.cgi?id=74630
21970
21971        Reviewed by Martin Robinson.
21972
21973        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
21974        (WindowProperties::viewReadyToShow): assert each member to make
21975        assertion error messages more useful, and avoid asserting x and y,
21976        since we are getting bad values from WebCore, for some reason.
21977        (testWebViewWindowProperties): use smaller values that fit inside the
21978        800x600 screen used by the bots.
21979
219802011-12-15  Anders Carlsson  <andersca@apple.com>
21981
21982        EventDispatcher should handle wheel events on the connection queue
21983        https://bugs.webkit.org/show_bug.cgi?id=74627
21984
21985        Reviewed by Andreas Kling.
21986
21987        Send wheel events to the EventDispatcher, which handles them on the connection work queue, and
21988        immediately bounces them to the main thread (for now).
21989
21990        * UIProcess/WebPageProxy.cpp:
21991        (WebKit::WebPageProxy::handleWheelEvent):
21992        (WebKit::WebPageProxy::didReceiveEvent):
21993        * WebProcess/WebPage/EventDispatcher.cpp:
21994        (WebKit::EventDispatcher::wheelEvent):
21995        (WebKit::EventDispatcher::dispatchWheelEvent):
21996        * WebProcess/WebPage/EventDispatcher.h:
21997        * WebProcess/WebPage/EventDispatcher.messages.in:
21998        * WebProcess/WebPage/WebPage.h:
21999
220002011-12-15  Jon Lee  <jonlee@apple.com>
22001
22002        [WK2] Extend WebNotification to include its origin
22003        https://bugs.webkit.org/show_bug.cgi?id=74615
22004        <rdar://problem/10587164>
22005
22006        Reviewed by Sam Weinig.
22007
22008        * Shared/API/c/WKSecurityOrigin.h: Expose API that converts the security origin to database
22009        identifier.
22010        * Shared/API/c/WKSecurityOrigin.cpp:
22011        (WKSecurityOriginCopyDatabaseIdentifier):
22012
22013        * UIProcess/Notifications/WebNotification.h: Extend WebNotification to include the origin.
22014        (WebKit::WebNotification::create):
22015        (WebKit::WebNotification::origin):
22016        * UIProcess/Notifications/WebNotification.cpp: Remove unneeded encode() and decode() functions.
22017        (WebKit::WebNotification::WebNotification):
22018
22019        * UIProcess/API/C/WKNotification.h: Expose WebNotification's origin().
22020        * UIProcess/API/C/WKNotification.cpp:
22021        (WKNotificationGetSecurityOrigin):
22022
22023        * UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Update show() to include the
22024        origin of the notification.
22025        * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
22026        (WebKit::WebNotificationManagerProxy::show):
22027        * UIProcess/Notifications/WebNotificationManagerProxy.h:
22028        * WebProcess/Notifications/WebNotificationManager.cpp:
22029        (WebKit::WebNotificationManager::show): Pass the notification's exec context's origin as
22030        identifier.
22031
220322011-12-15  Rafael Brandao  <rafael.lobo@openbossa.org>
22033
22034        [Qt][WK2] Add test for download policy on navigation request
22035        https://bugs.webkit.org/show_bug.cgi?id=74541
22036
22037        Reviewed by Tor Arne Vestbø.
22038
22039        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
22040        * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml: Make it wait for a
22041        downloadFinished signal to finish the test.
22042
220432011-12-15  Anders Carlsson  <andersca@apple.com>
22044
22045        Move WorkQueue Mach handlers over to WTF::Function
22046        https://bugs.webkit.org/show_bug.cgi?id=74620
22047
22048        Reviewed by Sam Weinig.
22049
22050        * Platform/CoreIPC/mac/ConnectionMac.cpp:
22051        (CoreIPC::Connection::open):
22052        (CoreIPC::Connection::initializeDeadNameSource):
22053        * Platform/WorkQueue.h:
22054        * Platform/mac/WorkQueueMac.cpp:
22055        (WorkQueue::EventSource::EventSource):
22056        (WorkQueue::EventSource::eventHandler):
22057        (WorkQueue::registerMachPortEventHandler):
22058
220592011-12-14  Anders Carlsson  <andersca@apple.com>
22060
22061        Add WTF::Function to wtf/Forward.h
22062        https://bugs.webkit.org/show_bug.cgi?id=74576
22063
22064        Reviewed by Adam Roben.
22065
22066        * Platform/RunLoop.h:
22067        * Platform/WorkQueue.h:
22068        Remove forward declarations and just include wtf/Forward.h.
22069
220702011-12-15  Rafael Brandao  <rafael.lobo@openbossa.org>
22071
22072        [Qt][WK2] Move WebPreferences into experimental
22073        https://bugs.webkit.org/show_bug.cgi?id=74404
22074
22075        Reviewed by Tor Arne Vestbø.
22076
22077        * UIProcess/API/qt/qquickwebview.cpp:
22078        (QQuickWebViewExperimental::preferences):
22079        * UIProcess/API/qt/qquickwebview_p.h:
22080        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
22081        * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
22082
220832011-12-15  Carlos Garcia Campos  <cgarcia@igalia.com>
22084
22085        [GTK] Add WebKitWindowProperties to WebKit2 GTK+ API
22086        https://bugs.webkit.org/show_bug.cgi?id=74595
22087
22088        Reviewed by Gustavo Noronha Silva.
22089
22090        * GNUmakefile.am: Add new files to compilation.
22091        * UIProcess/API/gtk/WebKitUIClient.cpp:
22092        (createNewPage): Pass the dictionary containing the window
22093        features to webkitWebViewCreateNewPage().
22094        (toolbarsAreVisible): Return
22095        WebKitWindowProperties:toolbar-visible.
22096        (setToolbarsAreVisible): Set
22097        WebKitWindowProperties:toolbar-visible.
22098        (menuBarIsVisible): Return WebKitWindowProperties:menu-visible.
22099        (setMenuBarIsVisible): Set WebKitWindowProperties:menu-visible.
22100        (statusBarIsVisible): Return
22101        WebKitWindowProperties:status-visible.
22102        (setStatusBarIsVisible): Set
22103        WebKitWindowProperties:status-visible.
22104        (isResizable): Return WebKitWindowProperties:resizable.
22105        (setIsResizable): Set WebKitWindowProperties:resizable.
22106        (getWindowFrame): Return WebKitWindowProperties:geometry.
22107        (setWindowFrame): Set WebKitWindowProperties:geometry.
22108        (webkitUIClientAttachUIClientToPage): Initialize the UI client for
22109        the given page.
22110        * UIProcess/API/gtk/WebKitWebView.cpp:
22111        (webkit_web_view_init): Create a WebKitWindowProperties object for
22112        the view.
22113        (webkit_web_view_class_init):
22114        (webkitWebViewCreateNewPage): Update the WebKitWindowProperties
22115        object using the window features dictionary.
22116        (webkit_web_view_get_window_properties): Return the
22117        WebKitWindowProperties object of the view.
22118        * UIProcess/API/gtk/WebKitWebView.h:
22119        * UIProcess/API/gtk/WebKitWebViewPrivate.h:
22120        * UIProcess/API/gtk/WebKitWindowProperties.cpp: Added.
22121        (webkitWindowPropertiesFinalize):
22122        (webkitWindowPropertiesGetProperty):
22123        (webkitWindowPropertiesSetProperty):
22124        (webkit_window_properties_class_init):
22125        (webkit_window_properties_init):
22126        (webkitWindowPropertiesCreate): Create a new
22127        WebKitWindowProperties object.
22128        (webkitWindowPropertiesSetGeometry):
22129        (webkitWindowPropertiesSetToolbarVisible):
22130        (webkitWindowPropertiesSetMenubarVisible):
22131        (webkitWindowPropertiesSetStatusbarVisible):
22132        (webkitWindowPropertiesSetLocationbarVisible):
22133        (webkitWindowPropertiesSetScrollbarsVisible):
22134        (webkitWindowPropertiesSetResizable):
22135        (webkitWindowPropertiesSetFullscreen):
22136        (webkitWindowPropertiesUpdateFromWKWindowFeatures): Parse the
22137        window features dictionary and update the WebKitWindowProperties
22138        object accordingly.
22139        (webkit_window_properties_get_geometry):
22140        (webkit_window_properties_get_toolbar_visible):
22141        (webkit_window_properties_get_statusbar_visible):
22142        (webkit_window_properties_get_scrollbars_visible):
22143        (webkit_window_properties_get_menubar_visible):
22144        (webkit_window_properties_get_locationbar_visible):
22145        (webkit_window_properties_get_resizable):
22146        (webkit_window_properties_get_fullscreen):
22147        * UIProcess/API/gtk/WebKitWindowProperties.h: Added.
22148        * UIProcess/API/gtk/WebKitWindowPropertiesPrivate.h: Copied from Source/WebKit2/UIProcess/API/gtk/WebKitWebViewPrivate.h.
22149        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
22150        WebKitWindowProperties.
22151        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
22152        * UIProcess/API/gtk/docs/webkit2gtk.types: Add
22153        webkit_window_properties_get_type.
22154        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
22155        (WindowProperties::windowPropertiesNotifyCallback):
22156        (WindowProperties::viewReadyToShow):
22157        (WindowProperties::viewCreate):
22158        (WindowProperties::setExpectedWindowProperties):
22159        (testWebViewWindowProperties):
22160        (beforeAll):
22161        * UIProcess/API/gtk/webkit2.h: Include WebKitWindowProperties.h.
22162        * UIProcess/WebUIClient.cpp:
22163        (WebKit::WebUIClient::createNewPage): Add also "locationBarVisible"
22164        to the window features dictionary.
22165
221662011-12-15  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
22167
22168        [Qt] [WK2] Remove QtWebPageProxy
22169        https://bugs.webkit.org/show_bug.cgi?id=74540
22170
22171        Reviewed by Kenneth Rohde Christiansen.
22172
22173        Move WebPageProxy* to QQuickWebViewPrivate. The remaining functions in
22174        QtWebPageProxy were simple wrappers to WebKit functionality (text zoom, page zoom
22175        and user agent setting). Since those wrappers are unused, they were removed. The
22176        signal in the class was also unused.
22177
22178        This patch also remove the code from WebContextMenuProxyQt, it was remains of a
22179        previous QMenu-based implementation. We want to rewrite this code for QML anyway,
22180        so I reverted to an empty state.
22181
22182        Farewell, QtWebPageProxy!
22183
22184        * Target.pri:
22185        * UIProcess/API/qt/qquickwebpage.cpp:
22186        * UIProcess/API/qt/qquickwebpage_p.h:
22187        * UIProcess/API/qt/qquickwebview.cpp:
22188        (QQuickWebViewPrivate::~QQuickWebViewPrivate):
22189        (QQuickWebViewPrivate::initialize):
22190        (QQuickWebViewPrivate::processDidCrash):
22191        (QQuickWebViewPrivate::createDrawingAreaProxy):
22192        (QQuickWebViewPrivate::updateVisibleContentRectAndScale):
22193        (QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged):
22194        (QQuickWebViewPrivate::_q_onVisibleChanged):
22195        (QQuickWebViewPrivate::updateViewportSize):
22196        (QQuickWebViewPrivate::computeViewportConstraints):
22197        (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
22198        (QQuickWebViewPrivate::setNavigatorQtObjectEnabled):
22199        (QQuickWebViewExperimental::postMessage):
22200        (QQuickWebView::load):
22201        (QQuickWebView::goBack):
22202        (QQuickWebView::goForward):
22203        (QQuickWebView::stop):
22204        (QQuickWebView::reload):
22205        (QQuickWebView::url):
22206        (QQuickWebView::canGoBack):
22207        (QQuickWebView::canGoForward):
22208        (QQuickWebView::loading):
22209        (QQuickWebView::canReload):
22210        (QQuickWebView::title):
22211        (QQuickWebView::pageRef):
22212        (QQuickWebView::loadHtml):
22213        * UIProcess/API/qt/qquickwebview_p.h:
22214        * UIProcess/API/qt/qquickwebview_p_p.h:
22215        * UIProcess/API/qt/qwebnavigationhistory_p_p.h:
22216        * UIProcess/API/qt/qwebpreferences.cpp:
22217        (QWebPreferencesPrivate::preferencesRef):
22218        * UIProcess/PageClient.h:
22219        * UIProcess/qt/QtPageClient.cpp:
22220        (QtPageClient::QtPageClient):
22221        (QtPageClient::initialize):
22222        (QtPageClient::createPopupMenuProxy):
22223        (QtPageClient::createContextMenuProxy):
22224        * UIProcess/qt/QtPageClient.h:
22225        * UIProcess/qt/QtWebPageProxy.cpp: Removed.
22226        * UIProcess/qt/QtWebPageProxy.h: Removed.
22227        * UIProcess/qt/WebContextMenuProxyQt.cpp:
22228        (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
22229        (WebKit::WebContextMenuProxyQt::create):
22230        (WebKit::WebContextMenuProxyQt::showContextMenu):
22231        (WebKit::WebContextMenuProxyQt::hideContextMenu):
22232        * UIProcess/qt/WebContextMenuProxyQt.h:
22233
222342011-12-15  Simon Hausmann  <simon.hausmann@nokia.com>
22235
22236        [WK2] Eliminate unnecessary GTK/QT ifdefs for shared memory implementation
22237        https://bugs.webkit.org/show_bug.cgi?id=74602
22238
22239        Reviewed by Kenneth Rohde Christiansen.
22240
22241        For shared memory Qt was using shm_open, Gtk was using files in /tmp. There
22242        is no reason to obfuscate the code with #ifdefs or let Gtk use an inferior
22243        method of opening shared memory. So this patch makes SharedMemoryUnix.cpp
22244        truly Qt and Gtk independent.
22245
22246        * Platform/unix/SharedMemoryUnix.cpp:
22247        (WebKit::SharedMemory::create):
22248
222492011-12-15  Simon Hausmann  <simon.hausmann@nokia.com>
22250
22251        [Qt] Cleanup: Remove unnecessary const_cast
22252
22253        Reviewed by Kenneth Christiansen.
22254
22255        * UIProcess/API/qt/qquickwebview.cpp:
22256        (QQuickWebView::preferences):
22257
222582011-12-15  Michael Brüning  <michael.bruning@nokia.com>
22259
22260        [QT][WK2]Add (experimental) viewport info view to Minibrowser/qt.
22261        https://bugs.webkit.org/show_bug.cgi?id=72893
22262
22263        Reviewed by Kenneth Rohde Christiansen.
22264
22265        This patch extends QQuickWebViewExperimental by a property named
22266        viewportInfo, which contains the viewport scalability and
22267        layout and contents size information. This property is exposed to
22268        QML through the experimental extension for QQuickWebView.
22269
22270        * Target.pri:
22271        * UIProcess/API/qt/qquickwebview.cpp:
22272        (QQuickWebViewPrivate::didChangeContentsSize):
22273        (QQuickWebViewPrivate::computeViewportConstraints):
22274        (QQuickWebViewPrivate::PostTransitionState::apply): Added applying
22275        contentsSize to viewportInfo.
22276        (QQuickWebViewExperimental::QQuickWebViewExperimental):
22277        (QQuickWebViewExperimental::viewportInfo):
22278        * UIProcess/API/qt/qquickwebview_p.h:
22279        * UIProcess/API/qt/qquickwebview_p_p.h: Moved PostTransitionState::apply
22280        to qquickwebview.cpp. Added friend QWebViewportInfo.
22281        * UIProcess/API/qt/qwebviewportinfo.cpp: Added.
22282        (QWebViewportInfo::QWebViewportInfo):
22283        (QWebViewportInfo::~QWebViewportInfo):
22284        (QWebViewportInfo::contentsSize):
22285        (QWebViewportInfo::currentScale):
22286        (QWebViewportInfo::devicePixelRatio):
22287        (QWebViewportInfo::initialScale):
22288        (QWebViewportInfo::minimumScale):
22289        (QWebViewportInfo::maximumScale):
22290        (QWebViewportInfo::isScalable):
22291        (QWebViewportInfo::layoutSize):
22292        (QWebViewportInfo::didUpdateContentsSize):
22293        (QWebViewportInfo::didUpdateCurrentScale):
22294        (QWebViewportInfo::didUpdateViewportConstraints):
22295        * UIProcess/API/qt/qwebviewportinfo_p.h: Added.
22296        * UIProcess/qt/QtViewportInteractionEngine.h:
22297        (WebKit::QtViewportInteractionEngine::Constraints::Constraints): Added layoutSize.
22298        (WebKit::QtViewportInteractionEngine::constraints): Added property to access m_contraints.
22299
223002011-12-15  Simon Hausmann  <simon.hausmann@nokia.com>
22301
22302        [WK2] WebPage::m_useFixedLayout variable unininitialized
22303        https://bugs.webkit.org/show_bug.cgi?id=74596
22304
22305        Reviewed by Kenneth Rohde Christiansen.
22306
22307        * WebProcess/WebPage/WebPage.cpp:
22308        (WebKit::WebPage::WebPage): Avoid uninitialized use through
22309        initialization in the constructor.
22310
223112011-12-15  Alexander Færøy  <ahf@0x90.dk>
22312
22313        [Qt] r102849 broke the Qt build on Mac OS X.
22314        https://bugs.webkit.org/show_bug.cgi?id=74594
22315
22316        Reviewed by Simon Hausmann.
22317
22318        The __APPLE__ macro is defined on all standard OS X compilers, which
22319        leads to various CoreGraphics headers to be included in the Qt build.
22320
22321        * config.h:
22322
223232011-12-14  Jing Zhao  <jingzhao@chromium.org>
22324
22325        Opening two popup menus by dispatchEvent() makes problems.
22326        https://bugs.webkit.org/show_bug.cgi?id=73304
22327
22328        Reviewed by Kent Tamura.
22329
22330        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
22331        (WebKit::WebChromeClient::hasOpenedPopup): Not implemented.
22332        * WebProcess/WebCoreSupport/WebChromeClient.h: Overrides hasOpenedPopup().
22333
223342011-12-14  Sam Weinig  <weinig@apple.com>
22335
22336        Remove whitespace from InheritedPropertySheets attributes in
22337        vsprops files to appease the Visual Studio project migrator.
22338
22339        Reviewed by Adam Roben.
22340
22341        * win/WebKit2Debug.vsprops:
22342        * win/WebKit2DebugAll.vsprops:
22343        * win/WebKit2DebugCairoCFLite.vsprops:
22344        * win/WebKit2Production.vsprops:
22345        * win/WebKit2Release.vsprops:
22346        * win/WebKit2ReleaseCairoCFLite.vsprops:
22347        * win/WebKit2WebProcessDebug.vsprops:
22348        * win/WebKit2WebProcessDebugAll.vsprops:
22349        * win/WebKit2WebProcessDebugCairoCFLite.vsprops:
22350        * win/WebKit2WebProcessProduction.vsprops:
22351        * win/WebKit2WebProcessRelease.vsprops:
22352        * win/WebKit2WebProcessReleaseCairoCFLite.vsprops:
22353
223542011-12-14  Anders Carlsson  <andersca@apple.com>
22355
22356        Add WorkQueue::dispatch and RunLoop::dispatch which both take WTF::Function objects
22357        https://bugs.webkit.org/show_bug.cgi?id=74574
22358
22359        Reviewed by Sam Weinig.
22360
22361        * Platform/CoreIPC/Connection.cpp:
22362        (CoreIPC::Connection::SyncMessageState::processIncomingMessage):
22363        (CoreIPC::Connection::addQueueClient):
22364        (CoreIPC::Connection::removeQueueClient):
22365        (CoreIPC::Connection::invalidate):
22366        (CoreIPC::Connection::sendMessage):
22367        (CoreIPC::Connection::postConnectionDidCloseOnConnectionWorkQueue):
22368        (CoreIPC::Connection::connectionDidClose):
22369        (CoreIPC::Connection::enqueueIncomingMessage):
22370        Switch over to dispatch.
22371
22372        * Platform/RunLoop.cpp:
22373        (RunLoop::dispatch):
22374        Create a FunctionWorkItem and call scheduleWork.
22375
22376        * Platform/RunLoop.h:
22377        Add dispatch.
22378
22379        * Platform/WorkItem.h:
22380        (FunctionWorkItem::FunctionWorkItem):
22381        (FunctionWorkItem::execute):
22382        (WorkItem::create):
22383        Add a helper work item that wraps a WTF::Function.
22384
22385        * Platform/WorkQueue.cpp:
22386        (WorkQueue::dispatch):
22387        Create a FunctionWorkItem and call scheduleWork.
22388
22389        * Platform/WorkQueue.h:
22390        Add dispatch.
22391
22392        * UIProcess/Launcher/ProcessLauncher.cpp:
22393        (WebKit::ProcessLauncher::ProcessLauncher):
22394        Switch over to dispatch.
22395
223962011-12-14  Hajime Morrita  <morrita@chromium.org>
22397
22398        JS_INLINE and WTF_INLINE should be visible from WebCore
22399        https://bugs.webkit.org/show_bug.cgi?id=73191
22400
22401        Reviewed by Kevin Ollivier.
22402
22403        Removed macro definitions which is now provided by Platform.h
22404
22405        * config.h:
22406
224072011-12-14  Alexey Proskuryakov  <ap@apple.com>
22408
22409        [Mac] Sandbox violation opening AppleSNBFBUserClient
22410        https://bugs.webkit.org/show_bug.cgi?id=74560
22411        <rdar://problem/10410896>
22412
22413        Reviewed by Darin Adler.
22414
22415        * WebProcess/com.apple.WebProcess.sb: Just allow it.
22416
224172011-12-13  Jon Lee  <jonlee@apple.com>
22418
22419        Enable notifications on Mac.
22420
22421        Reviewed by Sam Weinig.
22422
22423        * Configurations/FeatureDefines.xcconfig:
22424
224252011-12-14  Mark Rowe  <mrowe@apple.com>
22426
22427        <rdar://problem/10573872> NPN_GetValueForURL returns wrong value for NPNURLVProxy
22428
22429        Reviewed by Anders Carlsson.
22430
22431        * PluginProcess/PluginControllerProxy.cpp:
22432        (WebKit::PluginControllerProxy::proxiesForURL): Fix a copy-paste error.
22433
224342011-12-14  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
22435
22436        [Qt] [WK2] Move QWebPreferences out of QtWebPageProxy
22437        https://bugs.webkit.org/show_bug.cgi?id=74525
22438
22439        Reviewed by Luiz Agostini.
22440
22441        This patch also uses internal WebKit API to set the Accelerate Compositing
22442        directly instead of going thru QWebPreferencesPrivate. The previous approach was
22443        always causing the QWebPreferences to be created making the "lazy initialization"
22444        useless.
22445
22446        * UIProcess/API/qt/qquickwebview.cpp:
22447        (QQuickWebViewPrivate::QQuickWebViewPrivate):
22448        (QQuickWebViewPrivate::initialize):
22449        (QQuickWebViewPrivate::navigatorQtObjectEnabled):
22450        (QQuickWebViewPrivate::setNavigatorQtObjectEnabled):
22451        (QQuickWebViewExperimental::postMessage):
22452        (QQuickWebView::preferences):
22453        * UIProcess/API/qt/qquickwebview_p_p.h:
22454        * UIProcess/API/qt/qwebpreferences.cpp:
22455        (QWebPreferencesPrivate::createPreferences):
22456        (QWebPreferencesPrivate::testAttribute):
22457        (QWebPreferencesPrivate::setAttribute):
22458        (QWebPreferences::navigatorQtObjectEnabled):
22459        (QWebPreferences::setNavigatorQtObjectEnabled):
22460        (QWebPreferencesPrivate::preferencesRef):
22461        * UIProcess/API/qt/qwebpreferences_p_p.h:
22462        * UIProcess/qt/QtWebPageProxy.cpp:
22463        (QtWebPageProxy::QtWebPageProxy):
22464        * UIProcess/qt/QtWebPageProxy.h:
22465
224662011-12-14  Carlos Garcia Campos  <cgarcia@igalia.com>
22467
22468        [GTK] Page size should be 0,0 when view widget is not realized
22469        https://bugs.webkit.org/show_bug.cgi?id=74523
22470
22471        Reviewed by Martin Robinson.
22472
22473        We currently return 1,1 because GTK+ initializes widget allocation
22474        as -1,-1,1,1.
22475
22476        * UIProcess/API/gtk/PageClientImpl.cpp:
22477        (WebKit::PageClientImpl::viewSize): Check whether widget is
22478        realized and return IntSize() in that case.
22479
224802011-12-14  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
22481
22482        [Qt] [WK2] Move download handling out of QtWebPageProxy
22483        https://bugs.webkit.org/show_bug.cgi?id=74506
22484
22485        Reviewed by Kenneth Rohde Christiansen.
22486
22487        Also moves the creation of QtWebContext out of QtWebPageProxy.
22488
22489        * UIProcess/API/qt/qquickwebview.cpp:
22490        (QQuickWebViewPrivate::initialize):
22491        (QQuickWebViewPrivate::handleDownloadRequest):
22492        (QQuickWebViewPrivate::_q_onReceivedResponseFromDownload):
22493        * UIProcess/API/qt/qquickwebview_p.h:
22494        * UIProcess/API/qt/qquickwebview_p_p.h:
22495        * UIProcess/API/qt/qwebdownloaditem_p.h:
22496        * UIProcess/qt/QtPageClient.cpp:
22497        (QtPageClient::handleDownloadRequest):
22498        * UIProcess/qt/QtPageClient.h:
22499        * UIProcess/qt/QtWebPageProxy.cpp:
22500        (QtWebPageProxy::QtWebPageProxy):
22501        * UIProcess/qt/QtWebPageProxy.h:
22502
225032011-12-14  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
22504
22505        [Qt] [WK2] Move QWebNavigationHistory to QQuickWebView
22506        https://bugs.webkit.org/show_bug.cgi?id=74442
22507
22508        Reviewed by Simon Hausmann.
22509
22510        QWebNavigationHistory used QtWebPageProxy to be QObject parent of the inner models,
22511        this patch change that to use OwnPtr instead. When creating the history object we pass
22512        only the WKPageRef and let it get the backForwardList.
22513
22514        * UIProcess/API/qt/qquickwebview.cpp:
22515        (QQuickWebViewPrivate::initialize):
22516        (QQuickWebViewPrivate::didChangeBackForwardList):
22517        (QQuickWebViewExperimental::navigationHistory):
22518        (QQuickWebViewExperimental::goForwardTo):
22519        (QQuickWebViewExperimental::goBackTo):
22520        * UIProcess/API/qt/qquickwebview_p_p.h:
22521        * UIProcess/API/qt/qwebnavigationhistory.cpp:
22522        (QWebNavigationListModelPrivate::createWebNavigationModel):
22523        (QWebNavigationHistoryPrivate::QWebNavigationHistoryPrivate):
22524        (QWebNavigationHistoryPrivate::createHistory):
22525        (QWebNavigationHistoryPrivate::goBackTo):
22526        (QWebNavigationHistoryPrivate::goForwardTo):
22527        (QWebNavigationListModel::QWebNavigationListModel):
22528        (QWebNavigationHistory::backItems):
22529        (QWebNavigationHistory::forwardItems):
22530        * UIProcess/API/qt/qwebnavigationhistory_p.h:
22531        * UIProcess/API/qt/qwebnavigationhistory_p_p.h:
22532        * UIProcess/qt/QtWebPageProxy.cpp:
22533        (QtWebPageProxy::QtWebPageProxy):
22534        * UIProcess/qt/QtWebPageProxy.h:
22535
225362011-12-14  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
22537
22538        [Qt][WK2] Remove DrawingArea and QtWebPageEventHandler code from QtWebPageProxy
22539        https://bugs.webkit.org/show_bug.cgi?id=74414
22540
22541        Reviewed by Simon Hausmann.
22542
22543        This also moves QtWebPageEventHandler to inside QQuickWebPagePrivate, to avoid
22544        the WebPage having a backpointer to the QQuickWebView.
22545
22546        * Target.pri:
22547        * UIProcess/API/qt/qquickwebpage.cpp:
22548        (QQuickWebPage::geometryChanged):
22549        (QQuickWebPage::event):
22550        (QQuickWebPagePrivate::QQuickWebPagePrivate):
22551        (QQuickWebPagePrivate::initialize):
22552        (QQuickWebPagePrivate::setDrawingAreaSize):
22553        (QQuickWebPagePrivate::paintToCurrentGLContext):
22554        (QQuickWebPagePrivate::resetPaintNode):
22555        * UIProcess/API/qt/qquickwebpage_p.h:
22556        * UIProcess/API/qt/qquickwebpage_p_p.h:
22557        * UIProcess/API/qt/qquickwebview.cpp:
22558        (QQuickWebViewPrivate::initialize):
22559        (QQuickWebViewPrivate::initializeDesktop):
22560        (QQuickWebViewPrivate::initializeTouch):
22561        (QQuickWebViewPrivate::_q_resume):
22562        (QQuickWebViewPrivate::processDidCrash):
22563        (QQuickWebViewPrivate::didRelaunchProcess):
22564        (QQuickWebViewPrivate::createDrawingAreaProxy):
22565        (QQuickWebViewPrivate::updateVisibleContentRectAndScale):
22566        (QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged):
22567        (QQuickWebViewPrivate::updateViewportSize):
22568        * UIProcess/API/qt/qquickwebview_p_p.h:
22569        * UIProcess/qt/QtPageClient.cpp:
22570        (QtPageClient::createDrawingAreaProxy):
22571        * UIProcess/qt/QtPageClient.h:
22572        (QtPageClient::findStringInCustomRepresentation):
22573        (QtPageClient::countStringMatchesInCustomRepresentation):
22574        * UIProcess/qt/QtWebPageEventHandler.cpp:
22575        (QtWebPageEventHandler::QtWebPageEventHandler):
22576        (QtWebPageEventHandler::startDrag):
22577        * UIProcess/qt/QtWebPageEventHandler.h:
22578        * UIProcess/qt/QtWebPageProxy.cpp:
22579        (QtWebPageProxy::init):
22580        * UIProcess/qt/QtWebPageProxy.h:
22581
225822011-12-13  Gustavo Noronha Silva  <gns@gnome.org>
22583
22584        Unreviewed build fix.
22585
22586        * GNUmakefile.am: make sure we do not derreference the target link
22587        if it already exists, and replace it with the new one instead,
22588        otherwise we end up with a gtk link inside
22589        Source/WebKit2/UIProcess/API/gtk, which causes the documentation
22590        build to produce warnings, and make the build fail.
22591
225922011-12-13  Andreas Kling  <kling@webkit.org>
22593
22594        REGRESSION (r102652): New window opens with zero size at produbanco.com
22595        <http://webkit.org/b/74418> and <rdar://problem/10565998>
22596
22597        Reviewed by Anders Carlsson.
22598
22599        Don't use the cached window frame if it's empty (meaning we haven't received
22600        a WindowAndViewFramesChanged message yet.) Instead use the synchronous
22601        GetWindowFrame (WP->UIP) message.
22602
22603        This situation occurs when opening a new window via window.open(), in which
22604        WebCore::createWindow() will query the windowRect() on the new window.
22605
22606        I spent a long time trying to write a layout test for this but couldn't come
22607        up with something reliable. The windowRect() is non-empty before we get a
22608        chance to run JS in/on the new window, and we can't check against the
22609        requested geometry since it varies depending on whether the window manager
22610        has shown the new window yet.
22611
22612        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
22613        (WebKit::WebChromeClient::windowRect):
22614
226152011-12-13  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
22616
22617        [Qt][WK2] Make QtPageClient dispatch directly to WebView when possible
22618        https://bugs.webkit.org/show_bug.cgi?id=74407
22619
22620        Reviewed by Simon Hausmann.
22621
22622        * UIProcess/API/qt/qquickwebview.cpp:
22623        (QQuickWebViewPrivate::QQuickWebViewPrivate):
22624        (QQuickWebViewPrivate::~QQuickWebViewPrivate):
22625        (QQuickWebViewPrivate::initialize):
22626        (QQuickWebViewPrivate::pageDidRequestScroll):
22627        (QQuickWebViewPrivate::processDidCrash):
22628        (QQuickWebViewPrivate::didRelaunchProcess):
22629        (QQuickWebViewPrivate::viewSize):
22630        (QQuickWebViewPrivate::didReceiveMessageFromNavigatorQtObject):
22631        (QQuickWebViewExperimental::QQuickWebViewExperimental):
22632        (QQuickWebView::QQuickWebView):
22633        * UIProcess/API/qt/qquickwebview_p_p.h:
22634        * UIProcess/qt/QtPageClient.cpp:
22635        (QtPageClient::QtPageClient):
22636        (QtPageClient::setViewNeedsDisplay):
22637        (QtPageClient::pageDidRequestScroll):
22638        (QtPageClient::processDidCrash):
22639        (QtPageClient::didRelaunchProcess):
22640        (QtPageClient::didChangeContentsSize):
22641        (QtPageClient::didChangeViewportProperties):
22642        (QtPageClient::createPopupMenuProxy):
22643        (QtPageClient::didReceiveMessageFromNavigatorQtObject):
22644        (QtPageClient::viewSize):
22645        (QtPageClient::isViewFocused):
22646        (QtPageClient::isViewVisible):
22647        * UIProcess/qt/QtPageClient.h:
22648        (QtPageClient::initialize):
22649        * UIProcess/qt/QtWebPageProxy.cpp:
22650        (QtWebPageProxy::QtWebPageProxy):
22651        * UIProcess/qt/QtWebPageProxy.h:
22652
226532011-12-13  Carlos Garcia Campos  <cgarcia@igalia.com>
22654
22655        [GTK] Add support for javascript dialogs in WebKit2 GTK+ API
22656        https://bugs.webkit.org/show_bug.cgi?id=71362
22657
22658        Reviewed by Martin Robinson.
22659
22660        * UIProcess/API/gtk/WebKitUIClient.cpp:
22661        (runJavaScriptAlert): Call webkitWebViewRunJavaScriptAlert().
22662        (runJavaScriptConfirm): Call webkitWebViewRunJavaScriptConfirm().
22663        (runJavaScriptPrompt): Call webkitWebViewRunJavaScriptPrompt().
22664        (webkitUIClientAttachUIClientToPage): Add implementation for
22665        runJavaScriptAlert, runJavaScriptConfirm and runJavaScriptPrompt
22666        callbacks.
22667        * UIProcess/API/gtk/WebKitWebView.cpp:
22668        (webkitWebViewCreateJavaScriptDialog):  Helper function to create
22669        javascript dialogs.
22670        (webkitWebViewScriptAlert): Default implementation of signal
22671        WebKitWebView::script-alert that shows a message dialog.
22672        (webkitWebViewScriptConfirm): Default implementation of signal
22673        WebKitWebView::script-confirm that shows a question dialog.
22674        (webkitWebViewScriptPrompt): Default implementation of signal
22675        WebKitWebView::script-prompt that shows a question dialog with a
22676        text entry.
22677        (webkit_web_view_class_init):
22678        (webkitWebViewRunJavaScriptAlert): Emit WebKitWebView::script-alert.
22679        (webkitWebViewRunJavaScriptConfirm): Emit WebKitWebView::script-confirm.
22680        (webkitWebViewRunJavaScriptPrompt): Emit WebKitWebView::script-prompt.
22681        * UIProcess/API/gtk/WebKitWebView.h:
22682        * UIProcess/API/gtk/WebKitWebViewPrivate.h:
22683        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
22684        (testWebViewJavaScriptDialogs):
22685        (beforeAll):
22686        * UIProcess/API/gtk/webkit2marshal.list:
22687
226882011-12-13  Kenneth Rohde Christiansen  <kenneth@webkit.org>
22689
22690        [Qt] Make sure that touch events result in the page view gaining focus
22691
22692        Reviewed by Simon Hausmann.
22693
22694        * UIProcess/API/qt/qquickwebpage.cpp:
22695        (QQuickWebPage::touchEvent): Force active focus.
22696        * UIProcess/API/qt/qquickwebview.cpp:
22697        * UIProcess/API/qt/qquickwebview_p.h: Remove ::touchEvent override.
22698
226992011-12-13  Carlos Garcia Campos  <cgarcia@igalia.com>
22700
22701        [GTK] Initial UI client implementation for WebKit2 GTK +API
22702        https://bugs.webkit.org/show_bug.cgi?id=69753
22703
22704        Reviewed by Martin Robinson.
22705
22706        * GNUmakefile.am: Add new files to compilation.
22707        * UIProcess/API/gtk/WebKitUIClient.cpp: Added.
22708        (createNewPage): Call webkitWebViewCreateNewPage.
22709        (showPage): Call webkitWebViewReadyToShowPage.
22710        (closePage): Call webkitWebViewClosePage.
22711        (webkitUIClientAttachUIClientToPage): Initialize UI client and
22712        attach it to the given page.
22713        (webkit_ui_client_init):
22714        (webkit_ui_client_class_init):
22715        * UIProcess/API/gtk/WebKitUIClient.h: Added.
22716        * UIProcess/API/gtk/WebKitWebView.cpp:
22717        (webkitWebViewCreate): Default implementation of signal
22718        WebKitWebView::create that simply returns NULL.
22719        (webkitWebViewConstructed): Create the default UI client.
22720        (webkitWebViewAccumulatorObjectHandled):
22721        (webkit_web_view_class_init):
22722        (webkitWebViewCreateNewPage): Emit create signal.
22723        (webkitWebViewReadyToShowPage): Emit ready-to-show signal.
22724        (webkitWebViewClosePage): Emit close signal.
22725        * UIProcess/API/gtk/WebKitWebView.h:
22726        * UIProcess/API/gtk/WebKitWebViewPrivate.h:
22727        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
22728        (testWebViewCreateReadyClose):
22729        (beforeAll):
22730        * UIProcess/API/gtk/webkit2marshal.list:
22731
227322011-12-13  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
22733
22734        [Qt][WK2] Move load & navigation related functions out of QtWebPageProxy
22735        https://bugs.webkit.org/show_bug.cgi?id=74395
22736
22737        Reviewed by Simon Hausmann.
22738
22739        * Target.pri:
22740        * UIProcess/API/qt/qquickwebview.cpp:
22741        (QQuickWebViewPrivate::_q_onVisibleChanged):
22742        (QQuickWebViewPrivate::updateViewportSize):
22743        (QQuickWebViewPrivate::computeViewportConstraints):
22744        (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
22745        (QQuickWebViewPrivate::webPageProxy):
22746        (QQuickWebView::load):
22747        (QQuickWebView::goBack):
22748        (QQuickWebView::goForward):
22749        (QQuickWebView::stop):
22750        (QQuickWebView::reload):
22751        (QQuickWebView::url):
22752        (QQuickWebView::canGoBack):
22753        (QQuickWebView::canGoForward):
22754        (QQuickWebView::loading):
22755        (QQuickWebView::canReload):
22756        (QQuickWebView::title):
22757        (QQuickWebView::loadHtml):
22758        * UIProcess/API/qt/qquickwebview_p_p.h:
22759        * UIProcess/qt/QtWebPageProxy.cpp:
22760        (QtWebPageProxy::didReceiveMessageFromNavigatorQtObject):
22761        * UIProcess/qt/QtWebPageProxy.h:
22762
227632011-12-13  Carlos Garcia Campos  <cgarcia@igalia.com>
22764
22765        Unreviewed. Fix GTK+ build after r102640.
22766
22767        * GNUmakefile.am: Add DownloadProxy sources again.
22768
227692011-12-12  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
22770
22771        [Qt][WK2] Move undo & edit command PageClient callbacks into QtWebUndoController
22772        https://bugs.webkit.org/show_bug.cgi?id=74364
22773
22774        Reviewed by Simon Hausmann.
22775
22776        The four callbacks in PageClient related to Undo depend only on the QUndoStack. So we
22777        move their handling to a QtWebUndoController (owned by QQuickWebViewPrivate). This also
22778        make QtWebUndoCommand an implementation detail.
22779
22780        * Target.pri:
22781        * UIProcess/API/qt/qquickwebview.cpp:
22782        (QQuickWebViewPrivate::QQuickWebViewPrivate):
22783        * UIProcess/API/qt/qquickwebview_p_p.h:
22784        * UIProcess/qt/QtPageClient.cpp:
22785        (QtPageClient::registerEditCommand):
22786        (QtPageClient::clearAllEditCommands):
22787        (QtPageClient::canUndoRedo):
22788        (QtPageClient::executeUndoRedo):
22789        * UIProcess/qt/QtPageClient.h:
22790        (QtPageClient::initialize):
22791        * UIProcess/qt/QtWebPageProxy.cpp:
22792        * UIProcess/qt/QtWebPageProxy.h:
22793        * UIProcess/qt/QtWebUndoController.cpp: Renamed from Source/WebKit2/UIProcess/qt/QtWebUndoCommand.cpp.
22794        (QtWebUndoCommand::inUndoRedo):
22795        (QtWebUndoCommand::QtWebUndoCommand):
22796        (QtWebUndoCommand::~QtWebUndoCommand):
22797        (QtWebUndoCommand::redo):
22798        (QtWebUndoCommand::undo):
22799        (QtWebUndoController::QtWebUndoController):
22800        (QtWebUndoController::registerEditCommand):
22801        (QtWebUndoController::clearAllEditCommands):
22802        (QtWebUndoController::canUndoRedo):
22803        (QtWebUndoController::executeUndoRedo):
22804        * UIProcess/qt/QtWebUndoController.h: Renamed from Source/WebKit2/UIProcess/qt/QtWebUndoCommand.h.
22805
228062011-12-12  Andreas Kling  <kling@webkit.org>
22807
22808        Resizing Cappuccino is very laggy on WebKit since Safari 5.1
22809        <http://webkit.org/b/71354> and <rdar://problem/10565998>
22810
22811        Reviewed by Anders Carlsson.
22812
22813        On Mac, we already cache the window rect through the WindowAndViewFramesChanged
22814        message, so simply return that in WebChromeClient::windowRect() instead of
22815        sending a synchronous query to the UIProcess.
22816
22817        Changed WindowAndViewFramesChanged to pass FloatRect/FloatPoint rather than
22818        IntRect/IntPoint to match the ChromeClient::windowRect() return type.
22819
22820        * UIProcess/API/mac/WKView.mm:
22821        (-[WKView _updateWindowAndViewFrames]):
22822        * UIProcess/WebPageProxy.cpp:
22823        (WebKit::WebPageProxy::setWindowFrame):
22824        * UIProcess/WebPageProxy.h:
22825        * UIProcess/mac/WebPageProxyMac.mm:
22826        (WebKit::WebPageProxy::windowAndViewFramesChanged):
22827        * WebProcess/Plugins/PluginView.cpp:
22828        (WebKit::PluginView::windowAndViewFramesChanged):
22829        * WebProcess/Plugins/PluginView.h:
22830        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
22831        (WebKit::WebChromeClient::windowRect):
22832        * WebProcess/WebPage/WebPage.cpp:
22833        (WebKit::WebPage::windowAndViewFramesChanged):
22834        * WebProcess/WebPage/WebPage.h:
22835        (WebKit::WebPage::windowFrameInScreenCoordinates):
22836        (WebKit::WebPage::viewFrameInWindowCoordinates):
22837        (WebKit::WebPage::accessibilityPosition):
22838        * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
22839        (-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):
22840
228412011-12-12  Anders Carlsson  <andersca@apple.com>
22842
22843        Add EventDispatcher class to WebKit2
22844        https://bugs.webkit.org/show_bug.cgi?id=74344
22845
22846        Reviewed by Sam Weinig.
22847
22848        The EventDispatcher is a singleton which will be in charge of dispatching events to WebPage objects.
22849
22850        * DerivedSources.make:
22851        * DerivedSources.pri:
22852        * GNUmakefile.am:
22853        * Target.pri:
22854        * WebKit2.xcodeproj/project.pbxproj:
22855        * win/WebKit2.vcproj:
22856        Add new files.
22857
22858        * Platform/CoreIPC/MessageID.h:
22859        Add EventDispatcher.
22860
22861        * WebProcess/WebConnectionToUIProcess.cpp:
22862        (WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess):
22863        (WebKit::WebConnectionToUIProcess::invalidate):
22864        * WebProcess/WebConnectionToUIProcess.h:
22865        WebConnectionToUIProcess doesn't need to be a QueueClient. Also, move the call to open into WebProcess since
22866        we don't want to add queue clients after the connection has been opened.
22867
22868        * WebProcess/WebPage/EventDispatcher.cpp: Added.
22869        (WebKit::EventDispatcher::EventDispatcher):
22870        (WebKit::EventDispatcher::~EventDispatcher):
22871        (WebKit::EventDispatcher::didReceiveMessageOnConnectionWorkQueue):
22872        (WebKit::EventDispatcher::wheelEvent):
22873        * WebProcess/WebPage/EventDispatcher.h:
22874        * WebProcess/WebPage/EventDispatcher.messages.in: Added.
22875        Add new stub files.
22876
22877        * WebProcess/WebProcess.cpp:
22878        (WebKit::WebProcess::initialize):
22879        Add the event dispatcher as a queue client.
22880
22881        * WebProcess/WebProcess.h:
22882        Add an EventDispatcher member variable to the web process.
22883
228842011-12-12  Sam Weinig  <sam@webkit.org>
22885
22886        Prefix internal methods in Objective-C API files with an underscore
22887        https://bugs.webkit.org/show_bug.cgi?id=74363
22888
22889        Reviewed by Dan Bernstein.
22890
22891        * UIProcess/API/mac/WKBrowsingContextController.mm:
22892        (-[WKBrowsingContextController _pageRef]):
22893        (-[WKBrowsingContextController loadRequest:]):
22894        (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]):
22895        (-[WKBrowsingContextController stopLoading]):
22896        (-[WKBrowsingContextController reload]):
22897        (-[WKBrowsingContextController reloadFromOrigin]):
22898        (-[WKBrowsingContextController goForward]):
22899        (-[WKBrowsingContextController canGoForward]):
22900        (-[WKBrowsingContextController goBack]):
22901        (-[WKBrowsingContextController canGoBack]):
22902        (-[WKBrowsingContextController activeURL]):
22903        (-[WKBrowsingContextController provisionalURL]):
22904        (-[WKBrowsingContextController committedURL]):
22905        (-[WKBrowsingContextController title]):
22906        (-[WKBrowsingContextController textZoom]):
22907        (-[WKBrowsingContextController setTextZoom:]):
22908        (-[WKBrowsingContextController pageZoom]):
22909        (-[WKBrowsingContextController setPageZoom:]):
22910        (-[WKBrowsingContextController setPaginationMode:]):
22911        (-[WKBrowsingContextController paginationMode]):
22912        (-[WKBrowsingContextController setPageLength:]):
22913        (-[WKBrowsingContextController pageLength]):
22914        (-[WKBrowsingContextController setGapBetweenPages:]):
22915        (-[WKBrowsingContextController gapBetweenPages]):
22916        (-[WKBrowsingContextController pageCount]):
22917        (-[WKBrowsingContextController _initWithPageRef:]):
22918        * UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
22919        * UIProcess/API/mac/WKBrowsingContextGroup.mm:
22920        (-[WKBrowsingContextGroup allowsJavaScript]):
22921        (-[WKBrowsingContextGroup setAllowsJavaScript:]):
22922        (-[WKBrowsingContextGroup allowsPlugIns]):
22923        (-[WKBrowsingContextGroup setAllowsPlugIns:]):
22924        (-[WKBrowsingContextGroup _pageGroupRef]):
22925        * UIProcess/API/mac/WKBrowsingContextGroupInternal.h:
22926        * UIProcess/API/mac/WKConnection.mm:
22927        (-[WKConnection _initWithConnectionRef:]):
22928        * UIProcess/API/mac/WKConnectionInternal.h:
22929        * UIProcess/API/mac/WKProcessGroup.mm:
22930        (didCreateConnection):
22931        (-[WKProcessGroup _contextRef]):
22932        * UIProcess/API/mac/WKProcessGroupInternal.h:
22933        * UIProcess/API/mac/WKView.mm:
22934        (-[WKView initWithFrame:processGroup:browsingContextGroup:]):
22935        (-[WKView browsingContextController]):
22936
229372011-12-12  Ryosuke Niwa  <rniwa@webkit.org>
22938
22939        WebKit code shouldn't be calling applyCommand directly
22940        https://bugs.webkit.org/show_bug.cgi?id=74337
22941
22942        Reviewed by Darin Adler.
22943
22944        * WebProcess/WebPage/WebPage.cpp:
22945        (WebKit::WebPage::replaceSelectionWithText):
22946
229472011-12-12  Sam Weinig  <sam@webkit.org>
22948
22949        Remove unused getter on WKConnection.
22950
22951        Reviewed by Dan Bernstein.
22952
22953        * UIProcess/API/mac/WKConnection.mm:
22954
229552011-12-12  Brady Eidson  <beidson@apple.com>
22956
22957        Page cache should support pages with plugins.
22958        <rdar://problem/5190122> and https://bugs.webkit.org/show_bug.cgi?id=13634
22959
22960        Expose a WebKit2 preference for the page cache supporting plugins (on by default).
22961
22962        Reviewed by Anders Carlsson.
22963
22964        * Shared/WebPreferencesStore.h:
22965
22966        * UIProcess/API/C/WKPreferences.cpp:
22967        (WKPreferencesSetPageCacheSupportsPlugins):
22968        (WKPreferencesGetPageCacheSupportsPlugins):
22969        * UIProcess/API/C/WKPreferencesPrivate.h:
22970
22971        * WebProcess/WebPage/WebPage.cpp:
22972        (WebKit::WebPage::updatePreferences):
22973
229742011-12-12  Sam Weinig  <sam@webkit.org>
22975
22976        Add WKConnection objective-c wrapper around WKConnectionRef
22977        <rdar://problem/10446092>
22978        https://bugs.webkit.org/show_bug.cgi?id=74324
22979
22980        Reviewed by Anders Carlsson.
22981
22982        * UIProcess/API/mac/WKConnection.h: Added.
22983        * UIProcess/API/mac/WKConnection.mm: Added.
22984        (-[WKConnection dealloc]):
22985        (-[WKConnection connectionRef]):
22986        (-[WKConnection delegate]):
22987        (-[WKConnection setDelegate:]):
22988        (didReceiveMessage):
22989        (didClose):
22990        (setUpClient):
22991        (-[WKConnection initWithConnectionRef:]):
22992        * UIProcess/API/mac/WKConnectionInternal.h: Added.
22993        Added new class.
22994
22995        * UIProcess/API/mac/WKProcessGroup.h:
22996        * UIProcess/API/mac/WKProcessGroup.mm:
22997        (didCreateConnection):
22998        (setUpConnectionClient):
22999        (-[WKProcessGroup initWithInjectedBundleURL:]):
23000        (-[WKProcessGroup delegate]):
23001        (-[WKProcessGroup setDelegate:]):
23002        Add WKProcessGroupDelegate to inform the user of when connections are established.
23003
23004        * WebKit2.xcodeproj/project.pbxproj:
23005        Add new files.
23006
230072011-12-12  Anders Carlsson  <andersca@apple.com>
23008
23009        Rename QueueClient::willProcessMessageOnClientRunLoop
23010        https://bugs.webkit.org/show_bug.cgi?id=74325
23011
23012        Reviewed by Sam Weinig.
23013
23014        Rename the QueueClient willProcessMessageOnClientRunLoop function to didReceiveMessageOnConnectionWorkQueue
23015        and give it an out parameter to indicate whether the message was handled or not. This makes it more clear that
23016        the function is expected to handle the message.
23017
23018        * Platform/CoreIPC/Connection.cpp:
23019        (CoreIPC::Connection::processIncomingMessage):
23020        * Platform/CoreIPC/Connection.h:
23021        * Scripts/webkit2/messages.py:
23022        (async_case_statement):
23023        * Scripts/webkit2/messages_unittest.py:
23024        * WebProcess/WebConnectionToUIProcess.cpp:
23025        (WebKit::WebConnectionToUIProcess::didReceiveMessageOnConnectionWorkQueue):
23026        * WebProcess/WebConnectionToUIProcess.h:
23027        * WebProcess/WebProcess.cpp:
23028        (WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
23029        * WebProcess/WebProcess.h:
23030
230312011-12-12  Alexis Menard  <alexis.menard@openbossa.org>
23032
23033        Unreviewed cleanup fix.
23034
23035        Add missing files from https://bugs.webkit.org/show_bug.cgi?id=73016
23036
23037        Also remove the files that should be removed.
23038
23039        * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml: Added.
23040        * UIProcess/qt/qwkhistory.cpp: Removed.
23041        * UIProcess/qt/qwkhistory.h: Removed.
23042        * UIProcess/qt/qwkhistory_p.h: Removed.
23043
230442011-12-12  Michael Bruning  <michael.bruning@nokia.com>
23045
23046        [qt][wk2] Postpone scroll effects when page transition is ongoing.
23047        https://bugs.webkit.org/show_bug.cgi?id=74177
23048
23049        Reviewed by Kenneth Rohde Christiansen.
23050
23051        * UIProcess/API/qt/qquickwebview.cpp:
23052        (QQuickWebViewPrivate::scrollPositionRequested):
23053        * UIProcess/API/qt/qquickwebview_p_p.h:
23054        (QQuickWebViewPrivate::PostTransitionState::apply):
23055
230562011-12-12  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
23057
23058        [Qt][WK2] Remove dead code from QtWebPageProxy
23059        https://bugs.webkit.org/show_bug.cgi?id=74296
23060
23061        Reviewed by Andreas Kling.
23062
23063        * UIProcess/qt/QtWebPageProxy.cpp:
23064        * UIProcess/qt/QtWebPageProxy.h:
23065
230662011-12-12  Simon Hausmann  <simon.hausmann@nokia.com>
23067
23068        Unreviewed build fix.
23069
23070        Add missing files from https://bugs.webkit.org/show_bug.cgi?id=73016
23071
23072        * UIProcess/API/qt/qwebnavigationhistory.cpp: Added.
23073        (QWebNavigationListModelPrivate::QWebNavigationListModelPrivate):
23074        (QWebNavigationListModelPrivate::createWebNavigationModel):
23075        (QWebNavigationHistoryPrivate::QWebNavigationHistoryPrivate):
23076        (QWebNavigationHistoryPrivate::createHistory):
23077        (QWebNavigationHistoryPrivate::reset):
23078        (QWebNavigationHistoryPrivate::goBackTo):
23079        (QWebNavigationHistoryPrivate::goForwardTo):
23080        (QWebNavigationListModel::QWebNavigationListModel):
23081        (QWebNavigationListModel::~QWebNavigationListModel):
23082        (QWebNavigationListModel::rowCount):
23083        (QWebNavigationListModel::data):
23084        (QWebNavigationHistory::QWebNavigationHistory):
23085        (QWebNavigationHistory::~QWebNavigationHistory):
23086        (QWebNavigationHistory::backItems):
23087        (QWebNavigationHistory::forwardItems):
23088        * UIProcess/API/qt/qwebnavigationhistory_p.h: Added.
23089        * UIProcess/API/qt/qwebnavigationhistory_p_p.h: Added.
23090
230912011-12-12  Simon Hausmann  <simon.hausmann@nokia.com>
23092
23093        [Qt] Move postMessage/messageReceived APIS to experimental
23094
23095        Reviewed by Tor Arne Vestbø.
23096
23097        * UIProcess/API/qt/qquickwebview.cpp:
23098        (QQuickWebViewPrivate::setPageProxy):
23099        (QQuickWebViewExperimental::QQuickWebViewExperimental):
23100        (QQuickWebViewExperimental::postMessage):
23101        * UIProcess/API/qt/qquickwebview_p.h:
23102        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
23103
231042011-12-12  Alexis Menard  <alexis.menard@openbossa.org>
23105
23106        [Qt][WK2] History is not accessible in QML.
23107        https://bugs.webkit.org/show_bug.cgi?id=73016
23108
23109        Reviewed by Simon Hausmann.
23110
23111        Remove the old qwkhistory and create QWebNavigationHistory which is QML
23112        friendly with data models you can plug to a view in QML
23113
23114        * Target.pri:
23115        * UIProcess/API/qt/qquickwebview.cpp:
23116        (QQuickWebViewPrivate::didChangeBackForwardList):
23117        (QQuickWebViewExperimental::navigationHistory):
23118        (QQuickWebViewExperimental::goForwardTo):
23119        (QQuickWebViewExperimental::goBackTo):
23120        * UIProcess/API/qt/qquickwebview_p.h:
23121        * UIProcess/API/qt/qquickwebview_p_p.h:
23122        * UIProcess/API/qt/qwebnavigationhistory.cpp: Added.
23123        (QWebNavigationListModelPrivate::QWebNavigationListModelPrivate):
23124        (QWebNavigationListModelPrivate::createWebNavigationModel):
23125        (QWebNavigationHistoryPrivate::QWebNavigationHistoryPrivate):
23126        (QWebNavigationHistoryPrivate::createHistory):
23127        (QWebNavigationHistoryPrivate::reset):
23128        (QWebNavigationHistoryPrivate::goBackTo):
23129        (QWebNavigationHistoryPrivate::goForwardTo):
23130        (QWebNavigationListModel::QWebNavigationListModel):
23131        (QWebNavigationListModel::~QWebNavigationListModel):
23132        (QWebNavigationListModel::rowCount):
23133        (QWebNavigationListModel::data):
23134        (QWebNavigationHistory::QWebNavigationHistory):
23135        (QWebNavigationHistory::~QWebNavigationHistory):
23136        (QWebNavigationHistory::backItems):
23137        (QWebNavigationHistory::forwardItems):
23138        * UIProcess/API/qt/qwebnavigationhistory_p.h: Added.
23139        * UIProcess/API/qt/qwebnavigationhistory_p_p.h: Renamed from Source/WebKit2/UIProcess/qt/qwkhistory_p.h.
23140        * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml: Added.
23141        * UIProcess/qt/QtWebPageLoadClient.cpp:
23142        (QtWebPageLoadClient::QtWebPageLoadClient):
23143        (QtWebPageLoadClient::didChangeBackForwardList):
23144        * UIProcess/qt/QtWebPageLoadClient.h:
23145        * UIProcess/qt/QtWebPageProxy.cpp:
23146        (QtWebPageProxy::QtWebPageProxy):
23147        (QtWebPageProxy::~QtWebPageProxy):
23148        (QtWebPageProxy::goBackTo):
23149        (QtWebPageProxy::goForwardTo):
23150        (QtWebPageProxy::navigationHistory):
23151        * UIProcess/qt/QtWebPageProxy.h:
23152        * UIProcess/qt/qwkhistory.cpp: Removed.
23153        * UIProcess/qt/qwkhistory.h: Removed.
23154
231552011-12-09  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
23156
23157        [Qt][WK2] Move startDrag implementation to QtWebPageEventHandler
23158        https://bugs.webkit.org/show_bug.cgi?id=73145
23159
23160        Reviewed by Simon Hausmann.
23161
23162        Move QtWebPageProxy::startDrag to QtWebPageEventHandler::startDrag
23163        and call it straight from QtPageClient.
23164
23165        * UIProcess/API/qt/qquickwebview.cpp:
23166        (QQuickWebViewPrivate::QQuickWebViewPrivate):
23167        * UIProcess/qt/QtWebPageEventHandler.cpp:
23168        (dragOperationToDropAction):
23169        (dragOperationToDropActions):
23170        (dropActionToDragOperation):
23171        Now these functions are static inline and not part of QtWebPageEventHandler
23172        anymore.
23173
23174        (QtWebPageEventHandler::QtWebPageEventHandler):
23175        (QtWebPageEventHandler::startDrag):
23176        * UIProcess/qt/QtWebPageEventHandler.h:
23177        * UIProcess/qt/QtWebPageProxy.cpp:
23178        (QtWebPageProxy::startDrag): removed.
23179
231802011-12-12  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
23181
23182        [Qt] [WK2] Support customizing popup menus with QML
23183        https://bugs.webkit.org/show_bug.cgi?id=73560
23184
23185        Reviewed by Tor Arne Vestbø.
23186
23187        Add a new property 'itemSelector' to WebView (experimental for now) that contains
23188        the QML component used when it needs to spawn a popup menu. For example, <select>
23189        HTML tag may trigger a popup menu.
23190
23191        When loaded the component will have the 'model' available in its context with two
23192        properties: 'elementRect', describing the position of the element which spawned
23193        the item selector, and 'items', which is a model ready to be used by ListView. The
23194        'model' also have methods to accept/reject the selection.
23195
23196        Option groups are available as a property for each row in the 'items' model. This
23197        can be used together with ListView to create sections, as demonstrated in the
23198        MiniBrowser. QML tests were added as well.
23199
23200        The existing Desktop version is removed since after the Qt5 refactoring isn't
23201        working correctly. Once Qt have its own QML components for popup, we hope to use
23202        it as a default if no other popupMenu is specified.
23203
23204        * Target.pri:
23205        * UIProcess/API/qt/qquickwebview.cpp:
23206        (QQuickWebViewPrivate::QQuickWebViewPrivate):
23207        (QQuickWebViewExperimental::itemSelector):
23208        (QQuickWebViewExperimental::setItemSelector):
23209        * UIProcess/API/qt/qquickwebview_p.h:
23210        * UIProcess/API/qt/qquickwebview_p_p.h:
23211        (QQuickWebViewPrivate::get):
23212        * UIProcess/API/qt/tests/qmltests/WebView/tst_itemSelector.qml: Added.
23213        * UIProcess/API/qt/tests/qmltests/common/select.html: Added.
23214        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
23215        * UIProcess/qt/QtPageClient.cpp:
23216        * UIProcess/qt/QtWebPageProxy.cpp:
23217        (QtWebPageProxy::createPopupMenuProxy):
23218        * UIProcess/qt/WebPopupMenuProxyQt.cpp:
23219        (WebKit::PopupMenuItemModel::rowCount):
23220        (WebKit::PopupMenuItemModel::Item::Item):
23221        (WebKit::ItemSelectorContextObject::elementRect):
23222        (WebKit::ItemSelectorContextObject::items):
23223        (WebKit::ItemSelectorContextObject::reject):
23224        (WebKit::ItemSelectorContextObject::ItemSelectorContextObject):
23225        (WebKit::ItemSelectorContextObject::accept):
23226        (WebKit::createRoleNamesHash):
23227        (WebKit::PopupMenuItemModel::PopupMenuItemModel):
23228        (WebKit::PopupMenuItemModel::data):
23229        (WebKit::PopupMenuItemModel::select):
23230        (WebKit::PopupMenuItemModel::selectedOriginalIndex):
23231        (WebKit::PopupMenuItemModel::buildItems):
23232        (WebKit::WebPopupMenuProxyQt::WebPopupMenuProxyQt):
23233        (WebKit::WebPopupMenuProxyQt::showPopupMenu):
23234        (WebKit::WebPopupMenuProxyQt::hidePopupMenu):
23235        (WebKit::WebPopupMenuProxyQt::selectIndex):
23236        (WebKit::WebPopupMenuProxyQt::createItem):
23237        (WebKit::WebPopupMenuProxyQt::createContext):
23238        (WebKit::WebPopupMenuProxyQt::notifyValueChanged):
23239        * UIProcess/qt/WebPopupMenuProxyQt.h:
23240        (WebKit::WebPopupMenuProxyQt::create):
23241        * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp: Removed.
23242        * UIProcess/qt/WebPopupMenuProxyQtDesktop.h: Removed.
23243
232442011-12-11  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
23245
23246        [Qt] QQuickWebView missing titleChanged signal tests
23247        https://bugs.webkit.org/show_bug.cgi?id=73923
23248
23249        Reviewed by Simon Hausmann.
23250
23251        Added tests for QQuickWebView tilteChanged signal.
23252
23253        * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml: Added.
23254        * UIProcess/API/qt/tests/qmltests/common/test3.html: Added.
23255        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
23256
232572011-12-11  Anders Carlsson  <andersca@apple.com>
23258
23259        Crash when trying to garbage collect JavaScript objects
23260        https://bugs.webkit.org/show_bug.cgi?id=74259
23261        <rdar://problem/10556188>
23262
23263        Reviewed by Sam Weinig.
23264
23265        * UIProcess/WebContext.cpp:
23266        (WebKit::WebContext::garbageCollectJavaScriptObjects):
23267        Use sendToAllProcesses which is more correct and also handles m_process being null.
23268
232692011-12-11  Andreas Kling  <kling@webkit.org>
23270
23271        WK2/NetscapePlugin: Incorrect mouse event coordinates when frameScaleFactor != 1.
23272        <http://webkit.org/b/74209> and <rdar://problem/10438197>
23273
23274        Reviewed by Anders Carlsson.
23275
23276        * Shared/WebEvent.h:
23277        * Shared/WebMouseEvent.cpp:
23278
23279            Remove the WebMouseEvent "copy" constructor that applied a scale factor
23280            to the coordinates of an existing event.
23281
23282        * WebProcess/Plugins/PluginView.cpp:
23283        (WebKit::PluginView::handleEvent):
23284
23285            Pass the WebMouseEvent through to the plugin unmodified.
23286
23287        (WebKit::PluginView::viewGeometryDidChange):
23288
23289            Plumb a complex translate+scale transform through to the plugin, so coordinate
23290            space transformations in will behave correctly with scale factors other than 1.
23291
232922011-12-10  Sam Weinig  <sam@webkit.org>
23293
23294        Try to fix the windows build.
23295
23296        * win/WebKit2.vcproj:
23297
232982011-12-10  Alexis Menard  <alexis.menard@openbossa.org>
23299
23300        Unreviewed build fix for Qt.
23301
23302        Build error introduced by r102484.
23303
23304        * Target.pri:
23305
233062011-12-09  Mark Rowe  <mrowe@apple.com>
23307
23308        Fix the Snow Leopard build some more.
23309
23310        Move the #if to a location where it will do some good.
23311
23312        * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm:
23313
233142011-12-09  Mark Rowe  <mrowe@apple.com>
23315
23316        Fix the Snow Leopard build.
23317
23318        Wrap some code that is only applicable to Lion and newer in the appropriate #if's.
23319        
23320        * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h:
23321        * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm:
23322        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
23323        (WebKit::ProcessLauncher::launchProcess):
23324
233252011-12-09  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
23326
23327        [Qt] request parameter of QQuickWebView::navigationRequested is not a registered type
23328        https://bugs.webkit.org/show_bug.cgi?id=73826
23329
23330        Reviewed by Tor Arne Vestbø.
23331
23332        Adding QWebNavigationRequest by moving NavigationRequest out of QtWebPagePolicyClient.
23333
23334        * Target.pri:
23335        * UIProcess/API/qt/qquickwebview_p.h:
23336        * UIProcess/API/qt/qwebnavigationrequest.cpp: Added.
23337        (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
23338        (QWebNavigationRequestPrivate::~QWebNavigationRequestPrivate):
23339        (QWebNavigationRequest::QWebNavigationRequest):
23340        (QWebNavigationRequest::~QWebNavigationRequest):
23341        (QWebNavigationRequest::setAction):
23342        (QWebNavigationRequest::url):
23343        (QWebNavigationRequest::button):
23344        (QWebNavigationRequest::modifiers):
23345        (QWebNavigationRequest::action):
23346        * UIProcess/API/qt/qwebnavigationrequest_p.h: Added.
23347        * UIProcess/qt/QtWebPagePolicyClient.cpp:
23348        (QtWebPagePolicyClient::decidePolicyForNavigationAction):
23349        (QtWebPagePolicyClient::decidePolicyForResponse):
23350
233512011-12-09  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
23352
23353        [Qt][WK2] Unskip API tests
23354        https://bugs.webkit.org/show_bug.cgi?id=74180
23355
23356        Reviewed by Tor Arne Vestbø.
23357
23358        Unskip API tests for geolocation and javascript dialogs.
23359
23360        * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml:
23361        * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
23362
233632011-12-07  Mark Rowe  <mrowe@apple.com>
23364
23365        <http://webkit.org/b/74061> WebProcess and PluginProcess should inherit environment
23366        variables provided in LC_DYLD_ENVIRONMENT of main executable binary.
23367
23368        Reviewed by Darin Adler.
23369
23370        * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h: Added.
23371        * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm: Added.
23372        (WebKit::DynamicLinkerEnvironmentExtractor::DynamicLinkerEnvironmentExtractor):
23373        (WebKit::DynamicLinkerEnvironmentExtractor::processEnvironmentVariable): Parse out the name
23374        and value from the environment string and add an entry to our variable map if the variable
23375        is one that dyld would respect in LC_DYLD_ENVIRONMENT.
23376        (WebKit::DynamicLinkerEnvironmentExtractor::processLoadCommand): Look for a LC_DYLD_ENVIRONMENT
23377        load command and extract any environment string that we find within.
23378        (WebKit::DynamicLinkerEnvironmentExtractor::processLoadCommands): Iterate over each
23379        load command in the Mach-O file.
23380        (WebKit::DynamicLinkerEnvironmentExtractor::processSingleArchitecture): Determine whether
23381        the Mach-O file is of the correct architecture, and if so then process the load commands
23382        found within.
23383        (WebKit::DynamicLinkerEnvironmentExtractor::processFatFile): Process each architecture of the
23384        Mach-O file in turn.
23385        (WebKit::DynamicLinkerEnvironmentExtractor::getExtractedEnvironmentVariables): Add our
23386        extracted variables to the passed-in EnvironmentVariables object. We skip adding any
23387        variables that already exist so as to allow variables passed in the environment to override
23388        those that we extract from the executable file.
23389        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
23390        (WebKit::ProcessLauncher::launchProcess): Extract the environment variables from the
23391        main binary and add them to the launch environment of our subprocess.
23392        * WebKit2.xcodeproj/project.pbxproj:
23393
233942011-12-09  Sam Weinig  <sam@webkit.org>
23395
23396        Add WKView implementation for quickLookPreviewItemsAtWindowLocation.
23397        <rdar://problem/10472505>
23398
23399        Reviewed by Dan Bernstein.
23400
23401        * UIProcess/API/mac/WKView.mm:
23402        (-[WKView quickLookPreviewItemsAtWindowLocation:]):
23403
234042011-12-09  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
23405
23406        [Qt] Open shared memory files with shm_open.
23407        https://bugs.webkit.org/show_bug.cgi?id=74078
23408
23409        Original patch by Kimmo Kinnunen
23410
23411        Reviewed by Kenneth Rohde Christiansen.
23412
23413        Open shared memory files with shm_open. This uses mount point that is
23414        intended to host shared memory files. Typically this is /dev/shm.
23415
23416        This fixes crashes when filesystem that hosts QDir::temp() is full.
23417
23418        This is also more well-defined with respect to question whether SHM
23419        writes to temp dir would cause unintended wear if hosted on flash drives.
23420
23421        This also fixes performance problems regarding QDir::temp() and
23422        mkostemp(), both of which appear to be long operations.
23423
23424        * Platform/unix/SharedMemoryUnix.cpp:
23425        (WebKit::SharedMemory::create):
23426
234272011-12-09  Hugo Parente Lima  <hugo.lima@openbossa.org>
23428
23429        [Qt] Click's count is limited to three continuous clicks.
23430        https://bugs.webkit.org/show_bug.cgi?id=45666
23431
23432        Reviewed by Kenneth Rohde Christiansen.
23433
23434        Make Qt recognize "infinite" continuous mouse clicks.
23435        handleMouseDoubleClickEvent merged into handleMousePressEvent.
23436
23437        * UIProcess/qt/QtWebPageEventHandler.cpp:
23438        (QtWebPageEventHandler::QtWebPageEventHandler):
23439        (QtWebPageEventHandler::handleEvent):
23440        (QtWebPageEventHandler::handleMousePressEvent):
23441        (QtWebPageEventHandler::timerEvent):
23442        * UIProcess/qt/QtWebPageEventHandler.h:
23443
234442011-12-09  Sam Weinig  <sam@webkit.org>
23445
23446        Expose a WKConnectionRef which represents the connection to/from the WebProcess/UIProcess
23447        https://bugs.webkit.org/show_bug.cgi?id=74218
23448
23449        Reviewed by Anders Carlsson.
23450
23451        Test: WebKit2.WKConnectionTest in TestWebKitAPI
23452
23453        * Shared/WebConnection.cpp:
23454        (WebKit::WebConnection::forwardDidReceiveMessageToClient):
23455        * Shared/WebConnection.h:
23456        Add helper for connection subclasses to dispatch to the client.
23457
23458        * UIProcess/WebConnectionToWebProcess.cpp:
23459        (WebKit::WebConnectionToWebProcess::didReceiveMessage):
23460        Handle postMessage messages from the WebProcess.
23461
23462        * UIProcess/WebContext.cpp:
23463        (WebKit::WebContext::processDidFinishLaunching):
23464        Dispatch the notification that a connection to the WebProcess has
23465        been established.
23466
23467        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
23468        (WKBundleGetApplicationConnection):
23469        * WebProcess/InjectedBundle/API/c/WKBundle.h:
23470        * WebProcess/InjectedBundle/InjectedBundle.cpp:
23471        (WebKit::InjectedBundle::webConnectionToUIProcess):
23472        * WebProcess/InjectedBundle/InjectedBundle.h:
23473        (WebKit::WebProcess::webConnectionToUIProcess):
23474        Add accessor to get the connection to the UIProcess from
23475        the bundle.
23476
23477        * WebProcess/WebConnectionToUIProcess.cpp:
23478        (WebKit::WebConnectionToUIProcess::didReceiveMessage):
23479        Handle postMessage messages from the UIProcess.
23480        * WebProcess/WebProcess.h:
23481
234822011-12-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
23483
23484        [Qt] Update WebGraphicLayer's child content scale in all child binding method.
23485        https://bugs.webkit.org/show_bug.cgi?id=74101
23486
23487        Reviewed by Noam Rosenthal.
23488
23489        setChildren is currently the only method propagating the parent layer's content
23490        scale to its children. This need to be done for addChild* as well.
23491
23492        This fixes the overlay layer not being rendered with the right scale when created
23493        until the contents scale is modified again.
23494
23495        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
23496        (WebCore::WebGraphicsLayer::setChildren):
23497        (WebCore::WebGraphicsLayer::addChild):
23498        (WebCore::WebGraphicsLayer::addChildAtIndex):
23499        (WebCore::WebGraphicsLayer::addChildAbove):
23500        (WebCore::WebGraphicsLayer::addChildBelow):
23501        (WebCore::WebGraphicsLayer::replaceChild):
23502
235032011-12-09  Michael Brüning  <michael.bruning@nokia.com>
23504
23505        [Qt][WK2] Fix tst_QQuickWebView::scrollRequest() API test
23506        https://bugs.webkit.org/show_bug.cgi?id=73994
23507
23508        Reviewed by Kenneth Rohde Christiansen.
23509
23510        * UIProcess/API/qt/tests/html/scroll.html: Corrected html and
23511        added some coloring.
23512        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
23513        (tst_QQuickWebView::scrollRequest): Corrected calculation
23514        of expected value.
23515
235162011-12-09  Simon Hausmann  <simon.hausmann@nokia.com>
23517
23518        [Qt] Fix compilation with newly separated Qt 5 QtQuick module
23519        https://bugs.webkit.org/show_bug.cgi?id=73990
23520
23521        Reviewed by Kenneth Rohde Christiansen, tweaked by Csaba Osztrogonác.
23522
23523        Fix QtQuick includes after move from QtDeclarative to QtQuick.
23524
23525        * UIProcess/API/qt/qquickwebpage.cpp:
23526        * UIProcess/API/qt/qquickwebpage_p.h:
23527        * UIProcess/API/qt/qquickwebview.cpp:
23528        * UIProcess/API/qt/qquickwebview_p.h:
23529        * UIProcess/API/qt/tests/tests.pri: Tests need symbols from QtQuick, so link library.
23530        * UIProcess/API/qt/tests/testwindow.h:
23531        * UIProcess/qt/QtDialogRunner.cpp:
23532        * UIProcess/qt/QtSGTileNode.cpp:
23533        * UIProcess/qt/QtSGTileNode.h:
23534        * UIProcess/qt/QtSGUpdateQueue.cpp:
23535        * UIProcess/qt/QtViewportInteractionEngine.cpp:
23536        * UIProcess/qt/QtWebPageProxy.cpp:
23537        * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
23538
235392011-12-09  Nayan Kumar K  <nayankk@motorola.com>
23540
23541        [WebKit2][gtk] Re-enable running TestWebKitSettings
23542        https://bugs.webkit.org/show_bug.cgi?id=70135
23543
23544        Reviewed by Martin Robinson.
23545
23546        Re-enable running TestWebKitSettings which was skipped as part
23547        of https://bugs.webkit.org/show_bug.cgi?id=70129 due to the
23548        bug https://bugs.webkit.org/show_bug.cgi?id=70127.
23549
23550        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
23551        (testWebKitSettings): Run testWebKitSettings.
23552        (testWebKitSettingsNewWithSettings): Run testWebKitSettingsNewWithSettings.
23553
235542011-12-08  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
23555
23556        [Qt] [WK2] Webkit should release TextureMapper GL objects if page paint node is deallocated.
23557        https://bugs.webkit.org/show_bug.cgi?id=73591
23558
23559        Reviewed by Noam Rosenthal.
23560
23561        Implement deallocation of TextureMapper GL objects when QQuickWebPage paint node deallocated.
23562        Also adds purging GraphicsLayer backing stores on WebProcess side in order to force repainting
23563        when page becomes visible and painting resumes and fixes incorrect initialization of view 
23564        visibility state.
23565
23566        * UIProcess/API/qt/qquickwebpage.cpp:
23567        (QQuickWebPagePrivate::resetPaintNode):
23568        * UIProcess/API/qt/qquickwebview.cpp:
23569        (QQuickWebViewPrivate::QQuickWebViewPrivate):
23570        * UIProcess/API/qt/tests/html/direct-image-compositing.html: Added.
23571        * UIProcess/API/qt/tests/html/resources/simple_image.png: Added.
23572        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
23573        (tst_QQuickWebView::showWebView):
23574        (tst_QQuickWebView::removeFromCanvas):
23575        * UIProcess/DrawingAreaProxy.h:
23576        (WebKit::DrawingAreaProxy::layerTreeHostProxy):
23577        * UIProcess/LayerTreeHostProxy.h:
23578        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
23579        (WebKit::LayerTreeHostProxy::purgeGLResources):
23580        * UIProcess/qt/QtWebPageProxy.cpp:
23581        (QtWebPageProxy::purgeGLResources):
23582        * UIProcess/qt/QtWebPageProxy.h:
23583        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
23584        (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
23585        (WebCore::WebGraphicsLayer::purgeBackingStores):
23586        (WebCore::WebGraphicsLayer::recreateBackingStoreIfNeeded):
23587        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
23588        * WebProcess/WebPage/LayerTreeHost.h:
23589        (WebKit::LayerTreeHost::purgeBackingStores):
23590        * WebProcess/WebPage/LayerTreeHost.messages.in:
23591        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
23592        (WebKit::LayerTreeHostQt::LayerTreeHostQt):
23593        (WebKit::LayerTreeHostQt::flushPendingLayerChanges):
23594        (WebKit::LayerTreeHostQt::purgeBackingStores):
23595        (WebKit::LayerTreeHostQt::recreateBackingStoreIfNeeded):
23596        * WebProcess/WebPage/qt/LayerTreeHostQt.h:
23597
235982011-12-08  Simon Fraser  <simon.fraser@apple.com>
23599
23600        Forced compositing mode breaks display of full-page PDFs in WK2
23601        https://bugs.webkit.org/show_bug.cgi?id=74122
23602        <rdar://problem/9550059>
23603
23604        Reviewed by Dan Bernstein.
23605        
23606        Full page PDFs are displayed in WK2 in a subview of the WKView. However,
23607        when the WKView is forced to use accelerated compositing, the layer obscures
23608        the PDF subview.
23609        
23610        To fix this we have to drop out of compositing mode when the WKView is showing
23611        a custom representation.
23612
23613        * UIProcess/API/mac/WKView.mm:
23614        (-[WKView _setPageHasCustomRepresentation:]): Tell the drawing area that the view
23615        gained or lost a custom representation.
23616        * UIProcess/DrawingAreaProxy.h:
23617        (WebKit::DrawingAreaProxy::pageCustomRepresentationChanged):
23618        * UIProcess/DrawingAreaProxyImpl.h:
23619        * UIProcess/DrawingAreaProxyImpl.cpp:
23620        (WebKit::DrawingAreaProxyImpl::pageCustomRepresentationChanged): Send a messgae to the web process
23621        to indicate that the custom representation changed.
23622        * WebProcess/WebPage/DrawingArea.h:
23623        (WebKit::DrawingArea::pageCustomRepresentationChanged):
23624        * WebProcess/WebPage/DrawingArea.messages.in:
23625        * WebProcess/WebPage/DrawingAreaImpl.cpp:
23626        (WebKit::DrawingAreaImpl::pageCustomRepresentationChanged): Enter or exit compositing mode
23627        as appropriate when we gain or lost a custom represenetation.
23628        (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
23629        * WebProcess/WebPage/DrawingAreaImpl.h:
23630
236312011-12-08  Jer Noble  <jer.noble@apple.com>
23632
23633        HiDPI: Switching a video element to full screen in HiDPI mode doesn't fit the screen correctly
23634        https://bugs.webkit.org/show_bug.cgi?id=74119
23635        rdar://problem/10356869
23636
23637        Reviewed by Darin Adler.
23638
23639        Use the Lion-only -[NSWindow convertRectToScreen:] function to convert between window 
23640        coordinates and screen coordinates.
23641
23642        * UIProcess/mac/WKFullScreenWindowController.mm:
23643        (-[WKFullScreenWindowController enterFullScreen:]):
23644
236452011-12-08  Csaba Osztrogonác  <ossy@webkit.org>
23646
23647        [Qt][WK2] Unreviewed buildfix after r102352.
23648
23649        * DerivedSources.pri:
23650
236512011-12-06  Jon Lee  <jonlee@apple.com>
23652
23653        [WK2] Add permissions support (73960)
23654        https://bugs.webkit.org/show_bug.cgi?id=73960
23655        <rdar://problem/10357008>
23656
23657        Reviewed by Darin Adler.
23658
23659        * DerivedSources.make: Moved notification files to its own directory. Need to add that path.
23660        * WebKit2.xcodeproj/project.pbxproj: New header and impl files.
23661        * Target.pri: Ditto.
23662        * GNUmakefile.am: Ditto.
23663        * win/WebKit2.vcproj: Ditto.
23664        * win/WebKit2Common.vsprops: Add path to Notifications directory.
23665
23666        Implement permission functions, which go through permission request manager.
23667
23668        * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
23669        (WebKit::WebNotificationClient::requestPermission):
23670        (WebKit::WebNotificationClient::cancelRequestsForPermission):
23671        (WebKit::WebNotificationClient::checkPermission):
23672
23673        New NotificationPermissionRequestManager to make and cancel permission requests, and to retrieve current
23674        policy.
23675
23676        * WebProcess/Notifications/NotificationPermissionRequestManager.cpp: Added.
23677        (WebKit::generateRequestID):
23678        (WebKit::NotificationPermissionRequestManager::create):
23679        (WebKit::NotificationPermissionRequestManager::NotificationPermissionRequestManager):
23680        (WebKit::NotificationPermissionRequestManager::startRequest): Keep track of the provided callback once
23681        policy decision is made.
23682        (WebKit::NotificationPermissionRequestManager::cancelRequest):
23683        (WebKit::NotificationPermissionRequestManager::permissionLevel): Retrieve level through a synchronous
23684        message to the proxy.
23685        (WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision): Invoke the callback.
23686        * WebProcess/Notifications/NotificationPermissionRequestManager.h: Added.
23687        (WebKit::isRequestIDValid): Make sure any provided request IDs are valid.
23688
23689        Added new NotificationPermissionRequest class.
23690
23691        * UIProcess/Notifications/NotificationPermissionRequest.cpp: Added.
23692        (WebKit::NotificationPermissionRequest::create):
23693        (WebKit::NotificationPermissionRequest::NotificationPermissionRequest):
23694        (WebKit::NotificationPermissionRequest::allow): Notify manager of decision.
23695        (WebKit::NotificationPermissionRequest::deny): Ditto.
23696        (WebKit::NotificationPermissionRequest::invalidate): Disassociate with manager.
23697        (WebKit::NotificationPermissionRequest::type):
23698        * UIProcess/Notifications/NotificationPermissionRequest.h: Added.
23699
23700        WKAPI support for NotificationPermissionRequest:
23701
23702        * Shared/API/c/WKBase.h:
23703        * Shared/APIObject.h:
23704        * UIProcess/API/C/WKAPICast.h:
23705        * UIProcess/API/C/WKNotificationPermissionRequest.cpp: Added.
23706        (WKNotificationPermissionRequestGetTypeID):
23707        (WKNotificationPermissionRequestAllow):
23708        (WKNotificationPermissionRequestDeny):
23709        * UIProcess/API/C/WKNotificationPermissionRequest.h: Added.
23710
23711        Other additions to WK API:
23712
23713        * UIProcess/API/C/WKNotificationProvider.h: Added new callback for WKNotificationProviders, to return policy
23714        for a given security origin.
23715        * UIProcess/API/C/WKPage.h: Added new callback to WKPageUIClient to ask user to decide on policy.
23716
23717        New NotificationPermissionRequestManagerProxy to create requests.
23718
23719        * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp: Added.
23720        (WebKit::NotificationPermissionRequestManagerProxy::NotificationPermissionRequestManagerProxy):
23721        (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests):
23722        (WebKit::NotificationPermissionRequestManagerProxy::createRequest):
23723        (WebKit::NotificationPermissionRequestManagerProxy::didReceiveNotificationPermissionDecision):
23724        * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.h: Added.
23725
23726        Added new message to notification manager: NotificationPermissionLevel, to retrieve policy. The current
23727        JS API retrieves the permission synchronously, so the message needs to be sent synchronously also.
23728
23729        * UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Moved from Source/WebKit2/UIProcess/WebNotificationManagerProxy.messages.in.
23730        * UIProcess/Notifications/WebNotificationProvider.cpp: Moved from Source/WebKit2/UIProcess/WebNotificationProvider.cpp.
23731        (WebKit::WebNotificationProvider::policyForNotificationPermissionAtOrigin): Added.
23732        * UIProcess/Notifications/WebNotificationProvider.h: Moved from Source/WebKit2/UIProcess/WebNotificationProvider.h.
23733        * UIProcess/WebProcessProxy.cpp:
23734        (WebKit::WebProcessProxy::didReceiveSyncMessage): Boilerplate to forward messages to notification manager.
23735
23736        * UIProcess/Notifications/WebNotificationManagerProxy.cpp: Moved from Source/WebKit2/UIProcess/WebNotificationManagerProxy.cpp.
23737        (WebKit::WebNotificationManagerProxy::create):
23738        (WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy):
23739        (WebKit::WebNotificationManagerProxy::invalidate):
23740        (WebKit::WebNotificationManagerProxy::initializeProvider):
23741        (WebKit::WebNotificationManagerProxy::didReceiveMessage):
23742        (WebKit::WebNotificationManagerProxy::didReceiveSyncMessage):
23743        (WebKit::WebNotificationManagerProxy::show):
23744        (WebKit::WebNotificationManagerProxy::cancel):
23745        (WebKit::WebNotificationManagerProxy::didDestroyNotification):
23746        (WebKit::WebNotificationManagerProxy::notificationPermissionLevel): Retrieve the policy from the provider.
23747        (WebKit::WebNotificationManagerProxy::providerDidShowNotification):
23748        (WebKit::WebNotificationManagerProxy::providerDidClickNotification):
23749        (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications):
23750        * UIProcess/Notifications/WebNotificationManagerProxy.h: Moved from Source/WebKit2/UIProcess/WebNotificationManagerProxy.h.
23751        (WebKit::WebNotificationManagerProxy::clearContext):
23752        (WebKit::WebNotificationManagerProxy::type):
23753
23754        Added NotificationPermissionRequestManagerProxy to WebPageProxy, to allow a request for permission to
23755        go through to the UI client. Added new message to WebPageProxy, RequestNotificationPermission.
23756
23757        * UIProcess/WebPageProxy.cpp:
23758        (WebKit::WebPageProxy::WebPageProxy):
23759        (WebKit::WebPageProxy::close): Invalidate pending requests.
23760        (WebKit::WebPageProxy::processDidCrash): Ditto.
23761        (WebKit::WebPageProxy::requestNotificationPermission): Forward request to UI client.
23762        * UIProcess/WebPageProxy.h:
23763        * UIProcess/WebPageProxy.messages.in:
23764
23765        * UIProcess/WebUIClient.cpp:
23766        (WebKit::WebUIClient::decidePolicyForNotificationPermissionRequest):
23767        * UIProcess/WebUIClient.h:
23768
23769        Added new message DidReceiveNotificationPermissionDecision. The WebPage forwards the message to the
23770        permission request manager.
23771
23772        * WebProcess/WebPage/WebPage.messages.in: Added new message DidReceiveNotificationPermissionDecision
23773        * WebProcess/WebPage/WebPage.cpp:
23774        (WebKit::WebPage::notificationPermissionRequestManager): Create manager on request.
23775        (WebKit::WebPage::didReceiveNotificationPermissionDecision):
23776        * WebProcess/WebPage/WebPage.h:
23777
23778        Moving files to Notifications/ subdirectory.
23779
23780        * UIProcess/Notifications/WebNotification.cpp: Moved from Source/WebKit2/UIProcess/WebNotification.cpp.
23781        * UIProcess/Notifications/WebNotification.h: Moved from Source/WebKit2/UIProcess/WebNotification.h.
23782
237832011-12-08  Nayan Kumar K  <nayankk@motorola.com>
23784
23785        [WebKit2] Initialize threading in UI process.
23786        https://bugs.webkit.org/show_bug.cgi?id=70127
23787
23788        Reviewed by Anders Carlsson.
23789
23790        * CMakeLists.txt:
23791        * GNUmakefile.am:
23792        * Shared/APIObject.cpp: Added.
23793        (WebKit::APIObject::APIObject):
23794        * Shared/APIObject.h:
23795        * Target.pri:
23796        * WebKit2.xcodeproj/project.pbxproj:
23797        * win/WebKit2.vcproj:
23798
237992011-12-08  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
23800
23801        [Qt] [WK2] Directly composited images doesn't render
23802        https://bugs.webkit.org/show_bug.cgi?id=74058
23803
23804        Reviewed by Noam Rosenthal.
23805
23806        Attach image to WebGraphicsLayer even if layerTreeTileClient is not set
23807        and create/assign remote image tiles later during sync.
23808
23809        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
23810        (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
23811        (WebCore::WebGraphicsLayer::setContentsToImage):
23812        (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
23813
238142011-12-08  Simon Hausmann  <simon.hausmann@nokia.com>
23815
23816        REGRESSION(r102334): Various Qt WK2 layout tests crash
23817
23818        Reviewed by Tor Arne Vestbø.
23819
23820        * WebProcess/WebPage/WebPage.cpp:
23821        (WebKit::WebPage::editorState): Add missing null pointer check for the editable
23822        element (scope) before calling innerText.
23823
238242011-12-08  Simon Hausmann  <simon.hausmann@nokia.com>
23825
23826        [Qt] WebKitTestRunner crashes with debug builds
23827        https://bugs.webkit.org/show_bug.cgi?id=74090
23828
23829        Reviewed by Tor Arne Vestbø.
23830
23831        Export private C++ API style platformInitialize function needed
23832        by low-level WTR.
23833
23834        * UIProcess/API/qt/qquickwebview.cpp:
23835        (QQuickWebView::platformInitialize):
23836        * UIProcess/API/qt/qquickwebview_p.h:
23837
238382011-12-07  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
23839
23840        [Qt] Fix non-animated pinch-zoom scale commit.
23841        https://bugs.webkit.org/show_bug.cgi?id=74007
23842
23843        Reviewed by Kenneth Rohde Christiansen.
23844
23845        The update deferrer object was only destroyed at the end of the animation
23846        and wouldn't be if the pinch-zoom was ended within legal bounds.
23847        This patch also makes sure that the deferrer isn't destroyed and re-created
23848        once the animation is started if it was already there.
23849
23850        * UIProcess/qt/QtViewportInteractionEngine.cpp:
23851        (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
23852        (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
23853        (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
23854        (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
23855        * UIProcess/qt/QtViewportInteractionEngine.h:
23856
238572011-12-08  Simon Hausmann  <simon.hausmann@nokia.com>
23858
23859        REGRESSION(r101683): QQuickWebView doesn't work with OpenGL/ES 2.0
23860        https://bugs.webkit.org/show_bug.cgi?id=74077
23861
23862        Reviewed by Kenneth Rohde Christiansen.
23863
23864        Replace Desktop OpenGL idiom of using gl_Vertex with a simple vertex attribute
23865        that's tied to the same register 0 (by being the first in the array).
23866
23867        * UIProcess/API/qt/qquickwebpage.cpp:
23868        (PageProxyMaterialShader::attributeNames): Define "vertex" attribute, which is
23869        bound to register 0, which is the current vertex.
23870        (PageProxyMaterialShader::vertexShader): Use the vertex attribute instead of the
23871        built-in gl_Vertex, which is only present in Desktop GL.
23872
238732011-12-07  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
23874
23875        [Qt] Fix the memory leak of AC layer update message contents on the UI process.
23876        https://bugs.webkit.org/show_bug.cgi?id=74012
23877
23878        Reviewed by Noam Rosenthal.
23879
23880        Since the messages didn't have a virtual destructor, the destructor
23881        of child class members wouldn't be called and would cause the all tile
23882        update buffers, contained in a QImage, to be leaked as well.
23883
23884        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
23885        (WebKit::LayerTreeMessageToRenderer::~LayerTreeMessageToRenderer):
23886
238872011-12-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>
23888
23889        Upsteam the Qt changes to the EditorState
23890        https://bugs.webkit.org/show_bug.cgi?id=74080
23891
23892        Reviewed by Simon Hausmann.
23893
23894        We are not doing the serialization manually due to it not being a POD
23895        structure anymore in the case of Qt.
23896
23897        * GNUmakefile.am:
23898        * Shared/EditorState.h:
23899        (WebKit::EditorState::EditorState):
23900        * Target.pri:
23901        * WebKit2.xcodeproj/project.pbxproj:
23902        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
23903        (WebKit::WebEditorClient::respondToChangedSelection):
23904        * WebProcess/WebPage/WebPage.cpp:
23905        (WebKit::WebPage::editorState):
23906        * win/WebKit2.vcproj:
23907
239082011-12-08  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
23909
23910        [Qt] cleanup qmlplugin
23911        https://bugs.webkit.org/show_bug.cgi?id=73834
23912
23913        Reviewed by Tor Arne Vestbø.
23914
23915        Removed empty folder qmlplugin.
23916
23917        * UIProcess/API/qt/qmlplugin: Removed.
23918
239192011-12-08  Sheriff Bot  <webkit.review.bot@gmail.com>
23920
23921        Unreviewed, rolling out r102323.
23922        http://trac.webkit.org/changeset/102323
23923        https://bugs.webkit.org/show_bug.cgi?id=74069
23924
23925        Caused Chromium and GTK build failure (Requested by bashi on
23926        #webkit).
23927
23928        * win/WebKit2.def:
23929        * win/WebKit2CFLite.def:
23930
239312011-12-08  Fady Samuel  <fsamuel@chromium.org>
23932
23933        Move scalePageBy from eventSender to window.internals
23934        https://bugs.webkit.org/show_bug.cgi?id=64512
23935
23936        Reviewed by Simon Fraser.
23937
23938        * win/WebKit2.def:
23939        * win/WebKit2CFLite.def:
23940
239412011-12-07  Mark Rowe  <mrowe@apple.com>
23942
23943        Fix the 32-bit build.
23944
23945        Ignore some warnings that only occur in 32-bit.
23946
23947        * PluginProcess/mac/PluginProcessShim.mm:
23948        * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
23949        (WebKit::NetscapePluginModule::tryLoad):
23950
239512011-12-07  Balazs Kelemen  <kbalazs@webkit.org>
23952
23953        ShareableBitmapGtk.cpp has no reason to exist
23954        https://bugs.webkit.org/show_bug.cgi?id=74011
23955
23956        Reviewed by Martin Robinson.
23957
23958        Remove this file since the real implementation is
23959        exists in ShareableBitmapCairo.cpp.
23960
23961        * Shared/gtk/ShareableBitmapGtk.cpp: Removed.
23962
239632011-12-07  Mary Wu  <mary.wu@torchmobile.com.cn>
23964
23965        Change function name InitializeLoggingChannelsIfNecessary to follow coding style guideline
23966        https://bugs.webkit.org/show_bug.cgi?id=73986
23967
23968        Reviewed by Kenneth Rohde Christiansen.
23969
23970        * UIProcess/WebContext.cpp:
23971        (WebKit::WebContext::WebContext):
23972        * WebProcess/WebProcess.cpp:
23973        (WebKit::WebProcess::WebProcess):
23974
239752011-12-07  Zalan Bujtas  <zbujtas@gmail.com>
23976
23977        [Qt][WK2] Enable page cache.
23978        https://bugs.webkit.org/show_bug.cgi?id=73938
23979
23980        Enable WebCore's page cache for Qt port by setting its capacity to 20. This is temporary 
23981        and will be replaced by a computed value based on CacheMode. See bug#73918.
23982
23983        Reviewed by Simon Hausmann.
23984
23985        * WebProcess/qt/WebProcessQt.cpp:
23986        (WebKit::WebProcess::platformSetCacheModel):
23987
239882011-12-06  Andy Estes  <aestes@apple.com>
23989
23990        REGRESSION (r101838): Crash in LayerTreeHostCA::initialize() when accelerated drawing is enabled
23991        https://bugs.webkit.org/show_bug.cgi?id=73955
23992
23993        Reviewed by Anders Carlsson.
23994
23995        * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
23996        (WebKit::LayerTreeHostCA::initialize): m_webPage->drawingArea() will be
23997        null here if we are initializing the layer tree host in DrawingArea's
23998        ctor (as is the case when accelerated drawing is enabled), before
23999        WebPage has set its m_drawingArea pointer. Since the layer tree cannot
24000        have been frozen at this point, it's safe to enable layer flush
24001        scheduling if drawingArea() is null.
24002
240032011-12-06  Alexander Færøy  <alexander.faeroy@nokia.com>
24004
24005        [Qt] Fix assertion in QtViewportInteractionEngine.cpp:468
24006        https://bugs.webkit.org/show_bug.cgi?id=73914
24007
24008        Reviewed by Kenneth Rohde Christiansen.
24009
24010        m_suspendCount should always be zero when a pinch gesture is started.
24011
24012        * UIProcess/qt/QtViewportInteractionEngine.cpp:
24013        (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
24014
240152011-12-06  Simon Fraser  <simon.fraser@apple.com>
24016
24017        UI process crashes if the Web Process crashes on launch
24018        https://bugs.webkit.org/show_bug.cgi?id=73943
24019
24020        Reviewed by Sam Weinig.
24021        
24022        When the Web Process crashes on launch, the WebConnectionToWebProcess
24023        object was getting deleted inside of didClose. Add a protector to
24024        prevent this.
24025
24026        * UIProcess/WebConnectionToWebProcess.cpp:
24027        (WebKit::WebConnectionToWebProcess::didClose):
24028
240292011-12-06  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
24030
24031        [Qt] Fix page overlay rendering with AC.
24032        https://bugs.webkit.org/show_bug.cgi?id=73935
24033
24034        Reviewed by Noam Rosenthal.
24035
24036        The inspector node highlight would display old highlights as well
24037        since the overlay is normally rendered right after the page on top
24038        of the same graphics context.
24039
24040        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
24041        (WebKit::LayerTreeHostQt::paintContents):
24042
240432011-12-06  Michael Brüning  <michael.bruning@nokia.com>
24044
24045        [qt][wk2] Tests of QQuickWebView assert in debug builds when destroying QQuickWebViewPrivate 
24046        https://bugs.webkit.org/show_bug.cgi?id=73907 
24047
24048        Reviewed by Kenneth Rohde Christiansen.
24049
24050        * UIProcess/API/qt/qquickwebview.cpp: Disconnect signals from
24051        QtViewportInteractionEngine in ~QQuickWebViewPrivate.
24052        (QQuickWebViewPrivate::~QQuickWebViewPrivate):
24053        * UIProcess/API/qt/qquickwebview_p_p.h: Remove empty inline implementation of ~QQuickWebViewPrivate.
24054
240552011-12-06  Kenneth Rohde Christiansen  <kenneth@webkit.org>
24056
24057        [Qt] Add initial support for focusing when entering edit mode.
24058
24059        Reviewed by Simon Hausmann.
24060
24061        Next step would be to properly upstream our EditorState code.
24062
24063        * UIProcess/PageClient.h:
24064        * UIProcess/WebPageProxy.cpp:
24065        (WebKit::WebPageProxy::focusEditableArea):
24066        * UIProcess/WebPageProxy.h:
24067        * UIProcess/WebPageProxy.messages.in:
24068        * UIProcess/qt/QtPageClient.cpp:
24069        (QtPageClient::focusEditableArea):
24070        * UIProcess/qt/QtPageClient.h:
24071        * UIProcess/qt/QtViewportInteractionEngine.cpp:
24072        (WebKit::QtViewportInteractionEngine::itemCoordFromCSS):
24073        (WebKit::QtViewportInteractionEngine::itemRectFromCSS):
24074        (WebKit::QtViewportInteractionEngine::focusEditableArea):
24075        (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
24076        * UIProcess/qt/QtViewportInteractionEngine.h:
24077        * UIProcess/qt/QtWebPageEventHandler.cpp:
24078        (QtWebPageEventHandler::focusEditableArea):
24079        * UIProcess/qt/QtWebPageEventHandler.h:
24080        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
24081        (WebKit::WebEditorClient::respondToChangedSelection):
24082        (WebKit::WebEditorClient::setInputMethodState):
24083
240842011-12-06  Alexander Færøy  <alexander.faeroy@nokia.com>
24085
24086        [Qt] Fix assertion in QtWebPageEventHandler.cpp
24087        https://bugs.webkit.org/show_bug.cgi?id=73908
24088
24089        Reviewed by Kenneth Rohde Christiansen.
24090
24091        * UIProcess/qt/QtViewportInteractionEngine.cpp:
24092        (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
24093
240942011-12-05  Igor Oliveira  <igor.oliveira@openbossa.org>
24095
24096        [Qt][WK2] Frame is not being showed in the screen when frameLoadCompleted is called
24097        https://bugs.webkit.org/show_bug.cgi?id=73850
24098
24099        WebKit2 has a mechanism to prevent  the composited layer tree of the outgoing page 
24100        from being torn down or updated until the incoming page has layout. However, for simple 
24101        pages, when the frame is loaded the page is not rendered in the screen.
24102
24103        This patch fixes this bug calling LayerTreeHostQt::scheduleLayerFlush when m_layerFlushSchedulingEnabled
24104        is true.
24105
24106        Reviewed by Noam Rosenthal.
24107
24108        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
24109        (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled):
24110
241112011-12-05  Chris Fleizach  <cfleizach@apple.com>
24112
24113        AX: WK2: AX hierarchy is not restored after web process crash
24114        https://bugs.webkit.org/show_bug.cgi?id=73870
24115
24116        The accessibility tokens that need to be sent between UI and Web process
24117        were not being sent by the UI process -> the web process when the web
24118        process crashed.
24119
24120        Reviewed by Darin Adler.
24121
24122        * UIProcess/API/mac/WKView.mm:
24123        (-[WKView viewDidMoveToWindow]):
24124        (-[WKView _accessibilityRegisterUIProcessTokens]):
24125        (-[WKView _didRelaunchProcess]):
24126
241272011-12-05  Alexey Proskuryakov  <ap@apple.com>
24128
24129        REGRESSION: Full keyboard access doesn't work if enabled before Safari started
24130        https://bugs.webkit.org/show_bug.cgi?id=73864
24131
24132        Reviewed by Darin Adler.
24133
24134        * WebProcess/WebProcess.cpp: (WebKit::WebProcess::initializeWebProcess): Actually use the
24135        parameter passed at process creation.
24136
241372011-12-05  Anders Carlsson  <andersca@apple.com>
24138
24139        Make LayerFlushSchedulerClient::flushLayers indicate whether the flush was successful or not
24140        https://bugs.webkit.org/show_bug.cgi?id=73862
24141
24142        Reviewed by Andy Estes.
24143
24144        Change LayerTreeHostCAMac::flushLayers to always return true and remove the call to LayerFlushScheduler::invalidate.
24145
24146        * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
24147        * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
24148        (WebKit::LayerTreeHostCAMac::flushLayers):
24149        (WebKit::LayerTreeHostCAMac::didPerformScheduledLayerFlush):
24150
241512011-12-05  Michael Brüning  <michael.bruning@nokia.com>
24152
24153        [Qt] Rename QQuickWebView::canStop property to just loading 
24154        https://bugs.webkit.org/show_bug.cgi?id=73813
24155
24156        Reviewed by Kenneth Rohde Christiansen.
24157
24158        Renamed canStop property of QQuickWebView and QtWebPageProxy
24159        to loading and updated tests.
24160
24161        * UIProcess/API/qt/qquickwebview.cpp:
24162        (QQuickWebView::loading):
24163        * UIProcess/API/qt/qquickwebview_p.h:
24164        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
24165        (tst_QQuickWebView::navigationStatusAtStartup):
24166        (LoadStartedCatcher::onLoadStarted):
24167        (tst_QQuickWebView::stopEnabledAfterLoadStarted):
24168        * UIProcess/qt/QtWebPageProxy.cpp:
24169        (QtWebPageProxy::loading):
24170        * UIProcess/qt/QtWebPageProxy.h:
24171
241722011-12-03  Jer Noble  <jer.noble@apple.com>
24173
24174        <video> elements should disable the system and display sleep when playing on OS X.
24175        https://bugs.webkit.org/show_bug.cgi?id=73730
24176        <rdar://problem/9502155>
24177
24178        Reviewed by Alexey Proskuryakov.
24179
24180        Allow the WebProcess to make connections to the PowerManagement control mach server.
24181
24182        * WebProcess/com.apple.WebProcess.sb:
24183
241842011-12-04  Sam Weinig  <sam@webkit.org>
24185
24186        Move code for connections to/from the UIProcess/WebProcess into WebConnection subclasses
24187        https://bugs.webkit.org/show_bug.cgi?id=73779
24188
24189        Reviewed by Anders Carlsson.
24190
24191        To allow for API objects representing the connection going to/from the UIProcess/WebProcess,
24192        this patch separates out the connections into WebConnection subclasses.  It does not yet
24193        expose a way to access these connections, and is therefore not yet testable.
24194
24195        * GNUmakefile.am:
24196        * Target.pri:
24197        * WebKit2.xcodeproj/project.pbxproj:
24198        * win/WebKit2.vcproj:
24199        Add new files.
24200
24201        * Platform/CoreIPC/MessageID.h:
24202        * Shared/CoreIPCSupport/WebConnectionMessageKinds.h: Added.
24203        Add a new message type for communicating between WebConnections.
24204
24205        * Shared/ChildProcess.h:
24206        Make helper public so that WebConnectionToWebProcess can use it.
24207
24208        * UIProcess/WebConnectionToWebProcess.cpp: Added.
24209        (WebKit::WebConnectionToWebProcess::create):
24210        (WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess):
24211        (WebKit::WebConnectionToWebProcess::invalidate):
24212        (WebKit::WebConnectionToWebProcess::postMessage):
24213        (WebKit::WebConnectionToWebProcess::didReceiveMessage):
24214        (WebKit::WebConnectionToWebProcess::didReceiveSyncMessage):
24215        (WebKit::WebConnectionToWebProcess::didClose):
24216        (WebKit::WebConnectionToWebProcess::didReceiveInvalidMessage):
24217        (WebKit::WebConnectionToWebProcess::syncMessageSendTimedOut):
24218        (WebKit::WebConnectionToWebProcess::windowsToReceiveSentMessagesWhileWaitingForSyncReply):
24219        * UIProcess/WebConnectionToWebProcess.h: Added.
24220        (WebKit::WebConnectionToWebProcess::connection):
24221        * UIProcess/WebProcessProxy.cpp:
24222        (WebKit::WebProcessProxy::sendMessage):
24223        (WebKit::WebProcessProxy::didReceiveInvalidMessage):
24224        (WebKit::WebProcessProxy::didFinishLaunching):
24225        * UIProcess/WebProcessProxy.h:
24226        (WebKit::WebProcessProxy::connection):
24227        (WebKit::WebProcessProxy::webConnection):
24228        (WebKit::WebProcessProxy::sendSync):
24229        Thread connection code through WebConnectionToWebProcess.
24230
24231        * WebProcess/WebConnectionToUIProcess.cpp: Added.
24232        (WebKit::WebConnectionToUIProcess::create):
24233        (WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess):
24234        (WebKit::WebConnectionToUIProcess::invalidate):
24235        (WebKit::WebConnectionToUIProcess::postMessage):
24236        (WebKit::WebConnectionToUIProcess::didReceiveMessage):
24237        (WebKit::WebConnectionToUIProcess::didReceiveSyncMessage):
24238        (WebKit::WebConnectionToUIProcess::didClose):
24239        (WebKit::WebConnectionToUIProcess::didReceiveInvalidMessage):
24240        (WebKit::WebConnectionToUIProcess::syncMessageSendTimedOut):
24241        (WebKit::WebConnectionToUIProcess::windowsToReceiveSentMessagesWhileWaitingForSyncReply):
24242        (WebKit::WebConnectionToUIProcess::willProcessMessageOnClientRunLoop):
24243        * WebProcess/WebConnectionToUIProcess.h: Added.
24244        (WebKit::WebConnectionToUIProcess::connection):
24245        * WebProcess/WebProcess.cpp:
24246        (WebKit::WebProcess::initialize):
24247        (WebKit::WebProcess::addVisitedLink):
24248        (WebKit::WebProcess::shouldTerminate):
24249        (WebKit::WebProcess::terminate):
24250        (WebKit::WebProcess::removeWebFrame):
24251        (WebKit::WebProcess::getSitesWithPluginData):
24252        (WebKit::WebProcess::clearPluginSiteData):
24253        (WebKit::WebProcess::getWebCoreStatistics):
24254        * WebProcess/WebProcess.h:
24255        (WebKit::WebProcess::connection):
24256        Thread connection code through WebConnectionToUIProcess.
24257
242582011-12-05  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
24259
24260        [Qt] Remove viewModeChanged() from QQuickWebView
24261        https://bugs.webkit.org/show_bug.cgi?id=73828
24262
24263        Reviewed by Kenneth Rohde Christiansen.
24264
24265        * UIProcess/API/qt/qquickwebview_p.h: viewModeChanged is not used
24266        and we should not expose it.
24267
242682011-12-05  Eric Carlson  <eric.carlson@apple.com>
24269
24270        WebKit2 part of: Add WebKit preferences for text track settings
24271        https://bugs.webkit.org/show_bug.cgi?id=73721
24272
24273        Reviewed by John Sullivan.
24274
24275        * Shared/WebPreferencesStore.h: Declared shouldDisplaySubtitles, shouldDisplayCaptions, and
24276        shouldDisplayTextDescriptions properties with macros. All default to false.
24277
24278        * UIProcess/API/C/WKPreferences.cpp:
24279        (WKPreferencesSetShouldDisplaySubtitles): Added.
24280        (WKPreferencesGetShouldDisplaySubtitles): Ditto.
24281        (WKPreferencesSetShouldDisplayCaptions): Ditto.
24282        (WKPreferencesGetShouldDisplayCaptions): Ditto.
24283        (WKPreferencesSetShouldDisplayTextDescriptions): Ditto.
24284        (WKPreferencesGetShouldDisplayTextDescriptions): Ditto.
24285        * UIProcess/API/C/WKPreferences.h:
24286
24287        * WebProcess/WebPage/WebPage.cpp:
24288        (WebKit::WebPage::updatePreferences): Updates WebCore settings from WebKit2 prefs.
24289
242902011-12-04  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
24291
24292        [Qt] cleanup qmltests.pro
24293        https://bugs.webkit.org/show_bug.cgi?id=73718
24294
24295        Reviewed by Simon Hausmann.
24296
24297        Removed unused file WebView/tst_loadZeroSizeView.qml and reordered file list.
24298
24299        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
24300
243012011-12-04  Philippe Normand  <pnormand@igalia.com>
24302
24303        [WK2][GTK] enable-fullscreen WebSettings
24304        https://bugs.webkit.org/show_bug.cgi?id=73774
24305
24306        Reviewed by Martin Robinson.
24307
24308        * UIProcess/API/gtk/WebKitSettings.cpp:
24309        (webKitSettingsSetProperty):
24310        (webKitSettingsGetProperty):
24311        (webkit_settings_class_init):
24312        (webkit_settings_set_enable_fullscreen):
24313        (webkit_settings_get_enable_fullscreen):
24314        * UIProcess/API/gtk/WebKitSettings.h:
24315        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
24316        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
24317        (testWebKitSettings):
24318
243192011-12-02  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
24320
24321        [Qt] [WK2] MiniBrowser --touch asserts in debug build
24322        https://bugs.webkit.org/show_bug.cgi?id=73697
24323
24324        Reviewed by Eric Seidel.
24325
24326        Add missing guard to QtViewportInteractionEngine::itemSizeChanged().
24327
24328        * UIProcess/qt/QtViewportInteractionEngine.cpp:
24329        (WebKit::QtViewportInteractionEngine::itemSizeChanged):
24330
243312011-12-02  Fady Samuel  <fsamuel@chromium.org>
24332
24333        When page scaling is in use position:fixed has incorrect results
24334        https://bugs.webkit.org/show_bug.cgi?id=68617
24335
24336        Reviewed by Simon Fraser.
24337
24338        * win/WebKit2.def:
24339        * win/WebKit2CFLite.def:
24340
243412011-12-02  Alexey Proskuryakov  <ap@apple.com>
24342
24343        Update sandbox rules
24344        https://bugs.webkit.org/show_bug.cgi?id=73675
24345        <rdar://problem/9276430>
24346
24347        Reviewed by Sam Weinig.
24348
24349        * WebProcess/com.apple.WebProcess.sb:
24350
243512011-12-02  Andy Estes  <aestes@apple.com>
24352
24353        WebKit2: Freeze the state of the layer tree until frame load completion if incremental rendering is suppressed
24354        https://bugs.webkit.org/show_bug.cgi?id=73641
24355
24356        Reviewed by Darin Adler.
24357
24358        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
24359        (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout): Do not
24360        un-freeze the layer tree state if incremental rendering is suppressed.
24361        * WebProcess/WebPage/DrawingArea.h:
24362        (WebKit::DrawingArea::layerTreeStateIsFrozen): Add a getter for
24363        m_layerTreeStateIsFrozen.
24364        * WebProcess/WebPage/DrawingAreaImpl.h:
24365        (WebKit::DrawingAreaImpl::layerTreeStateIsFrozen): Ditto.
24366        * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
24367        (WebKit::LayerTreeHostCA::initialize): WebFrameLoaderClient might have
24368        tried to freeze the state of the layer tree before the layer tree host
24369        was created. When creating the layer tree host, only schedule a layer
24370        flush if the layer tree state isn't frozen.
24371
243722011-12-02  Nayan Kumar K  <nayankk@motorola.com>
24373
24374        [WebKit2][gtk] Add 'enable-dns-prefetching' property to WebKitSettings
24375        https://bugs.webkit.org/show_bug.cgi?id=73414
24376
24377        Reviewed by Martin Robinson.
24378
24379        * UIProcess/API/gtk/WebKitSettings.cpp:
24380        (webKitSettingsSetProperty): Add new set function.
24381        (webKitSettingsGetProperty): Add new get function.
24382        (webkit_settings_class_init): Register new property.
24383        (webkit_settings_get_enable_dns_prefetching): API to get 'enable-dns-prefetching' property.
24384        (webkit_settings_set_enable_dns_prefetching): API to set 'enable-dns-prefetching' property.
24385        * UIProcess/API/gtk/WebKitSettings.h: Expose new public API's.
24386        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new APIs to gtk-doc sections file.
24387        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
24388        (testWebKitSettings): Add new tests.
24389
243902011-12-02  Andras Becsi  <andras.becsi@nokia.com>
24391
24392        [Qt][WK2] Set event timestamps on custom input events
24393
24394        Reviewed by Simon Hausmann.
24395
24396        Since r101791 WebEventFactoryQt uses input event timestamps for WebEvents,
24397        thus set the timestamp on the custom events as well.
24398
24399        * UIProcess/qt/QtWebPageEventHandler.cpp:
24400        (QtWebPageEventHandler::handleHoverLeaveEvent):
24401        (QtWebPageEventHandler::handleHoverMoveEvent):
24402        * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
24403        (WebKit::WebPopupMenuProxyQtDesktop::showPopupMenu):
24404
244052011-12-02  Andras Becsi  <andras.becsi@nokia.com>
24406
24407        [Qt] [WK2] Use input event timestamps in WebEvents if available
24408        https://bugs.webkit.org/show_bug.cgi?id=73647
24409
24410        Reviewed by Simon Hausmann.
24411
24412        Qt5 input events already have a native timestamp, use this timestamp
24413        in WebEventFactory instead of WTF::currentTime if it is available.
24414
24415        * Shared/qt/WebEventFactoryQt.cpp:
24416        (WebKit::currentTimeForEvent):
24417        (WebKit::WebEventFactory::createWebMouseEvent):
24418        (WebKit::WebEventFactory::createWebWheelEvent):
24419        (WebKit::WebEventFactory::createWebKeyboardEvent):
24420        (WebKit::WebEventFactory::createWebTouchEvent):
24421        * Shared/qt/WebEventFactoryQt.h:
24422
244232011-12-02  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
24424
24425        [Qt][WK2] Split the QtWebPageProxy into PageClient and QtPageProxy
24426        https://bugs.webkit.org/show_bug.cgi?id=66668
24427
24428        Reviewed by Simon Hausmann.
24429
24430        Split QtPageClient out of QtWebPageProxy.
24431        This client will live in QQuickWebViewPrivate and communicate directly
24432        with QtWebPageProxy and QtWebPageEventHandler. The functions that need
24433        anything else than these entities will need to call the proper implementation
24434        through QtWebPageProxy itself.
24435        With this we have a clear separation between PageClient and PageProxy, having
24436        two well defined and separated entities for hooking our clients with our API layer (QtWebPageProxy)
24437        and for hooking the WebPageProxy with our client implementations (QtPageClient).
24438        As a positive side-effect we have a cleaner QtWebPageProxy.
24439
24440        * Target.pri:
24441        * UIProcess/API/qt/qquickwebview.cpp:
24442        (QQuickWebViewPrivate::QQuickWebViewPrivate):
24443        * UIProcess/API/qt/qquickwebview_p_p.h:
24444        * UIProcess/qt/QtPageClient.cpp: Added.
24445        (QtPageClient::QtPageClient):
24446        (QtPageClient::~QtPageClient):
24447        (QtPageClient::createDrawingAreaProxy):
24448        (QtPageClient::setViewNeedsDisplay):
24449        (QtPageClient::pageDidRequestScroll):
24450        (QtPageClient::processDidCrash):
24451        (QtPageClient::didRelaunchProcess):
24452        (QtPageClient::didChangeContentsSize):
24453        (QtPageClient::didChangeViewportProperties):
24454        (QtPageClient::startDrag):
24455        (QtPageClient::handleDownloadRequest):
24456        (QtPageClient::setCursor):
24457        (QtPageClient::setCursorHiddenUntilMouseMoves):
24458        (QtPageClient::toolTipChanged):
24459        (QtPageClient::registerEditCommand):
24460        (QtPageClient::clearAllEditCommands):
24461        (QtPageClient::canUndoRedo):
24462        (QtPageClient::executeUndoRedo):
24463        (QtPageClient::convertToDeviceSpace):
24464        (QtPageClient::convertToUserSpace):
24465        (QtPageClient::screenToWindow):
24466        (QtPageClient::windowToScreen):
24467        (QtPageClient::createPopupMenuProxy):
24468        (QtPageClient::createContextMenuProxy):
24469        (QtPageClient::flashBackingStoreUpdates):
24470        (QtPageClient::didFindZoomableArea):
24471        (QtPageClient::didReceiveMessageFromNavigatorQtObject):
24472        (QtPageClient::doneWithTouchEvent):
24473        (QtPageClient::displayView):
24474        (QtPageClient::scrollView):
24475        (QtPageClient::viewSize):
24476        (QtPageClient::isViewWindowActive):
24477        (QtPageClient::isViewFocused):
24478        (QtPageClient::isViewVisible):
24479        (QtPageClient::isViewInWindow):
24480        (QtPageClient::enterAcceleratedCompositingMode):
24481        (QtPageClient::exitAcceleratedCompositingMode):
24482        * UIProcess/qt/QtPageClient.h: Added.
24483        (QtPageClient::pageClosed):
24484        (QtPageClient::doneWithKeyEvent):
24485        (QtPageClient::setFindIndicator):
24486        (QtPageClient::didCommitLoadForMainFrame):
24487        (QtPageClient::didFinishLoadingDataForCustomRepresentation):
24488        (QtPageClient::customRepresentationZoomFactor):
24489        (QtPageClient::setCustomRepresentationZoomFactor):
24490        (QtPageClient::didChangeScrollbarsForMainFrame):
24491        (QtPageClient::findStringInCustomRepresentation):
24492        (QtPageClient::countStringMatchesInCustomRepresentation):
24493        (QtPageClient::setEventHandler):
24494        (QtPageClient::setPageProxy):
24495        * UIProcess/qt/QtWebPageProxy.cpp:
24496        (QtWebPageProxy::QtWebPageProxy):
24497        * UIProcess/qt/QtWebPageProxy.h:
24498
244992011-12-02  Kenneth Rohde Christiansen  <kenneth@webkit.org>
24500
24501        [Qt] Do not apply the transition state before we are unsuspended
24502
24503        Reviewed by Simon Hausmann.
24504
24505        Also remove an accessor in the private, which is unneeded as
24506        everything in the private class is supposed to be public or
24507        only used by the private itself.
24508
24509        * UIProcess/API/qt/qquickwebview.cpp:
24510        (QQuickWebViewPrivate::QQuickWebViewPrivate):
24511        (QQuickWebViewPrivate::loadDidCommit):
24512        (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
24513        (QQuickWebViewPrivate::_q_suspend):
24514        (QQuickWebViewPrivate::_q_resume):
24515        (QQuickWebViewPrivate::didChangeContentsSize):
24516        (QQuickWebViewPrivate::didChangeViewportProperties):
24517        * UIProcess/API/qt/qquickwebview_p_p.h:
24518
245192011-12-02  Kenneth Rohde Christiansen  <kenneth@webkit.org>
24520
24521        Unreviewed buildfix, add missing include.
24522
24523        * WebProcess/Notifications/WebNotificationManager.cpp:
24524
245252011-12-02  Hajime Morrita  <morrita@chromium.org>
24526
24527        Unreviewed, rolling out r101751 and r101775.
24528        http://trac.webkit.org/changeset/101751
24529        http://trac.webkit.org/changeset/101775
24530        https://bugs.webkit.org/show_bug.cgi?id=73191
24531
24532        breaks Windows build
24533
24534        * config.h:
24535
245362011-12-02  Carlos Garcia Campos  <cgarcia@igalia.com>
24537
24538        Unreviewed. Fix GTK+ build after r101750.
24539
24540        * GNUmakefile.am: Add missing files.
24541
245422011-12-02  Gustavo Noronha Silva  <gns@gnome.org>
24543
24544        Unreviewed. GTK+ build fix.
24545
24546        * GNUmakefile.am:
24547
245482011-12-02  Zalan Bujtas  <zbujtas@gmail.com>
24549
24550        [Qt][WK2] ASSERT at QQuickWebViewPrivate::computeViewportConstraints() when API test is exercising zero sized views.
24551        https://bugs.webkit.org/show_bug.cgi?id=73441
24552
24553        Do not assert on empty available size, but return default constrain values instead.
24554
24555        Reviewed by Kenneth Rohde Christiansen.
24556
24557        * UIProcess/API/qt/qquickwebview.cpp:
24558        (QQuickWebViewPrivate::computeViewportConstraints):
24559        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
24560        (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
24561
245622011-12-01  Hajime Morrita  <morrita@chromium.org>
24563
24564        JS_INLINE and WTF_INLINE should be visible from WebCore
24565        https://bugs.webkit.org/show_bug.cgi?id=73191
24566
24567        Reviewed by Kevin Ollivier.
24568
24569        Removed macro definitions which is now provided by Platform.h
24570
24571        * config.h:
24572
245732011-12-01  Jon Lee  <jonlee@apple.com>
24574
24575        [WK2] Add further support for notifications
24576        https://bugs.webkit.org/show_bug.cgi?id=73572
24577        <rdar://problem/10472195>
24578
24579        Reviewed by Darin Adler.
24580
24581        * WebProcess/Notifications/WebNotificationManager.messages.in: Added. Contains messages for callbacks
24582        from the notification platform.
24583
24584        * DerivedSources.make: Add WebNotificationManager.
24585        * DerivedSources.pri: Ditto.
24586        * Platform/CoreIPC/MessageID.h: Add message class.
24587        * WebProcess/WebProcess.cpp:
24588        (WebKit::WebProcess::didReceiveMessage): Forward calls to WebNotificationManager when needed.
24589        * WebKit2.xcodeproj/project.pbxproj: Add new message files.
24590        * win/WebKit2.vcproj: Adding new files to project.
24591        * win/WebKit2Common.vsprops: Add Notifications to include paths
24592
24593        * UIProcess/WebNotification.h: Add and expose internal ID of each notification sent to the platform.
24594        (WebKit::WebNotification::create):
24595        (WebKit::WebNotification::notificationID):
24596        (WebKit::isNotificationIDValid): Checks that the ID is not a value that might trip up the HashMaps used
24597        for mapping IDs to notifications.
24598        * UIProcess/WebNotification.cpp:
24599        (WebKit::WebNotification::WebNotification):
24600        (WebKit::WebNotification::encode):
24601        (WebKit::WebNotification::decode):
24602        * UIProcess/API/C/WKNotification.h: Expose notification ID to WKAPI.
24603        * UIProcess/API/C/WKNotification.cpp:
24604        (WKNotificationGetNotificationID):
24605
24606        * UIProcess/WebNotificationManagerProxy.h: Add callbacks for dispatching events back to the notification.
24607        * UIProcess/WebNotificationManagerProxy.cpp:
24608        (WebKit::WebNotificationManagerProxy::invalidate): Remove manager.
24609        (WebKit::WebNotificationManagerProxy::show): Add manager prior to showing.
24610        (WebKit::WebNotificationManagerProxy::cancel): Add manager prior to canceling.
24611        (WebKit::WebNotificationManagerProxy::didDestroyNotification):
24612        (WebKit::WebNotificationManagerProxy::providerDidShowNotification):
24613        (WebKit::WebNotificationManagerProxy::providerDidClickNotification):
24614        (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications):
24615        * UIProcess/API/C/WKNotificationManager.h:
24616        * UIProcess/API/C/WKNotificationManager.cpp:
24617        (WKNotificationManagerProviderDidShowNotification):
24618        (WKNotificationManagerProviderDidClickNotification):
24619        (WKNotificationManagerProviderDidCloseNotifications):
24620
24621        * UIProcess/WebNotificationProvider.h:
24622        * UIProcess/WebNotificationProvider.cpp:
24623        (WebKit::WebNotificationProvider::show):
24624        (WebKit::WebNotificationProvider::cancel):
24625        (WebKit::WebNotificationProvider::didDestroyNotification):
24626        (WebKit::WebNotificationProvider::addNotificationManager):
24627        (WebKit::WebNotificationProvider::removeNotificationManager):
24628        * UIProcess/API/C/WKNotificationProvider.h: Expose add/removeNotificationManager calls
24629
24630        * WebProcess/Notifications/WebNotificationManager.h: Add bookkeeping to keep track of notification IDs with
24631        Notification instances.
24632        * WebProcess/Notifications/WebNotificationManager.cpp:
24633        (WebKit::generateNotificationID):
24634        (WebKit::WebNotificationManager::didReceiveMessage):
24635        (WebKit::WebNotificationManager::show):
24636        (WebKit::WebNotificationManager::cancel):
24637        (WebKit::WebNotificationManager::didDestroyNotification):
24638        (WebKit::WebNotificationManager::didShowNotification):
24639        (WebKit::WebNotificationManager::didClickNotification):
24640        (WebKit::WebNotificationManager::didCloseNotifications):
24641
24642        * UIProcess/WebNotificationManagerProxy.messages.in: Add DidDestroyNotification message.
24643        * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
24644        (WebKit::WebNotificationClient::notificationObjectDestroyed): Implemented.
24645
246462011-12-01  Goutham J  <gouthamj@motorola.com>
24647
24648        [WEBKIT2] Fix for compilation warnings in WebContext.cpp
24649        https://bugs.webkit.org/show_bug.cgi?id=69080
24650
24651        Fix compilation warning in WebKit2 builds.
24652
24653        Reviewed by Hajime Morita.
24654
24655        * UIProcess/WebContext.cpp:
24656        (WebKit::WebContext::processDidFinishLaunching):
24657        (WebKit::WebContext::startMemorySampler):
24658
246592011-12-01  Beth Dakin  <bdakin@apple.com>
24660
24661        https://bugs.webkit.org/show_bug.cgi?id=73592
24662        REGRESSION (r100483): Can't drag out of background window
24663        -and corresponding-
24664        <rdar://problem/10508870>
24665
24666        Reviewed by Darin Adler.
24667
24668        If the mouse is pressed we need to do a full, normal hit test even if the window 
24669        is not active. 
24670        * WebProcess/WebPage/WebPage.cpp:
24671        (WebKit::WebPage::mouseEvent):
24672        (WebKit::WebPage::mouseEventSyncForTesting):
24673
246742011-12-01  Martin Robinson  <mrobinson@igalia.com>
24675
24676        [GTK] Add a helper function to find the current executable's path
24677        https://bugs.webkit.org/show_bug.cgi?id=73473
24678
24679        Reviewed by Gustavo Noronha Silva.
24680
24681        Do a series of tests when looking for processes. First search the directory
24682        specified by the environment variable, then the directory of the binary and
24683        then the LIBEXECDIR.
24684
24685        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
24686        (WebKit::findWebKitProcess): Added.
24687        (WebKit::ProcessLauncher::launchProcess): Call the new helper to get the
24688        binary location.
24689
246902011-12-01  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
24691
24692        [Qt] [WK2] QQuickWebView covers QML elements that should be rendered on top.
24693        https://bugs.webkit.org/show_bug.cgi?id=73338
24694
24695        Reviewed by Noam Rosenthal.
24696
24697        Move painting of QQuickWebPage content from canvas afterrendering() to
24698        QSGGeometryNode/QSGMaterial based paint node. Implementation uses QSGMaterialShader
24699        updateState() method to draw TextureMapper graphics layers.
24700        This is considered to be temporary until QSGNode::UserNodeType will be available.
24701
24702        * UIProcess/API/qt/qquickwebpage.cpp:
24703        (QQuickWebPage::QQuickWebPage):
24704        (QQuickWebPagePrivate::QQuickWebPagePrivate):
24705        (PageProxyMaterialShader::attributeNames):
24706        (PageProxyMaterialShader::vertexShader):
24707        (PageProxyMaterialShader::fragmentShader):
24708        (PageProxyMaterial::PageProxyMaterial):
24709        (PageProxyMaterial::type):
24710        (PageProxyMaterial::createShader):
24711        (PageProxyNode::PageProxyNode):
24712        (PageProxyNode::~PageProxyNode):
24713        (PageProxyMaterialShader::updateState):
24714        (QQuickWebPage::updatePaintNode):
24715        (QQuickWebPagePrivate::resetPaintNode):
24716        (QQuickWebPagePrivate::~QQuickWebPagePrivate):
24717        * UIProcess/API/qt/qquickwebpage_p.h:
24718        * UIProcess/API/qt/qquickwebpage_p_p.h:
24719        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
24720        (tst_QQuickWebView::showWebView):
24721        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
24722        (WebKit::LayerTreeHostProxy::didRenderFrame):
24723
247242011-12-01  Nayan Kumar K  <nayankk@motorola.com>
24725
24726        [WK2][GTK] Change default-font-size and default-monospace-font-size
24727        https://bugs.webkit.org/show_bug.cgi?id=73468
24728
24729        Reviewed by Martin Robinson.
24730
24731        Set 'default-font-size' property value to 16px and 'default-monospace-font-size'
24732        value to 13px.
24733
24734        * UIProcess/API/gtk/WebKitSettings.cpp:
24735        (webkit_settings_class_init): Change the default font size settings.
24736        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
24737        (testWebKitSettings): Correct the test.
24738
247392011-12-01  Wajahat Siddiqui  <mdwajahatali.siddiqui@motorola.com>
24740
24741        Popup menu can get stuck in closed state when GtkMenu can't grab mouse.
24742        https://bugs.webkit.org/show_bug.cgi?id=56466
24743
24744        Add a check if popup menu is not visible due to no mouse grab,
24745        Ensure WebCore is in sync with proper state.
24746
24747        Reviewed by Martin Robinson.
24748
24749        * UIProcess/WebPageProxy.cpp:
24750        (WebKit::WebPageProxy::failedToShowPopupMenu): Added Method to send message
24751        to WebProcess.
24752        * UIProcess/WebPageProxy.h:
24753        * UIProcess/WebPopupMenuProxy.h:
24754        * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
24755        (WebKit::WebPopupMenuProxyGtk::showPopupMenu):
24756        * WebProcess/WebCoreSupport/WebPopupMenu.h:
24757        (WebKit::WebPopupMenu::client): Added Method to get WebCore::PopupMenuClient.
24758        * WebProcess/WebPage/WebPage.cpp:
24759        (WebKit::WebPage::failedToShowPopupMenu):
24760        * WebProcess/WebPage/WebPage.h:
24761        * WebProcess/WebPage/WebPage.messages.in: Added Message to inform WebProcess ShowPopupMenu failed.
24762
247632011-12-01  Pavel Feldman  <pfeldman@chromium.org>
24764
24765        Web Inspector: restore WebKit2 Safari menu items after capabilities refactoring regression.
24766        https://bugs.webkit.org/show_bug.cgi?id=73554
24767
24768        Reviewed by Yury Semikhatsky.
24769
24770        * UIProcess/WebInspectorProxy.cpp:
24771        (WebKit::WebInspectorProxy::didClose):
24772
247732011-11-30  Alexey Proskuryakov  <ap@apple.com>
24774
24775        Remove an unneeded argument from FrameLoaderClient::download
24776        https://bugs.webkit.org/show_bug.cgi?id=73486
24777
24778        Reviewed by Andreas Kling.
24779
24780        * WebProcess/Downloads/Download.h:
24781        * WebProcess/Downloads/DownloadManager.cpp:
24782        (WebKit::DownloadManager::convertHandleToDownload):
24783        * WebProcess/Downloads/DownloadManager.h:
24784        * WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
24785        (WebKit::Download::startWithHandle):
24786        * WebProcess/Downloads/curl/DownloadCurl.cpp:
24787        (WebKit::Download::startWithHandle):
24788        * WebProcess/Downloads/mac/DownloadMac.mm:
24789        (WebKit::Download::startWithHandle):
24790        * WebProcess/Downloads/qt/DownloadQt.cpp:
24791        (WebKit::Download::startWithHandle):
24792        * WebProcess/Downloads/soup/DownloadSoup.cpp:
24793        (WebKit::Download::startWithHandle):
24794        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
24795        (WebKit::WebFrameLoaderClient::download):
24796        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
24797        * WebProcess/WebPage/WebFrame.cpp:
24798        (WebKit::WebFrame::convertHandleToDownload):
24799        * WebProcess/WebPage/WebFrame.h:
24800        Updated for the change. CF version is the only one worth seeing, as it was using the argument.
24801
248022011-11-30  Alexey Proskuryakov  <ap@apple.com>
24803
24804        Original page URL is not set in quarantine information when downloading using context menu Save Linked File
24805        https://bugs.webkit.org/show_bug.cgi?id=73475
24806        <rdar://problem/10500337>
24807
24808        Reviewed by Dan Bernstein.
24809
24810        * WebProcess/WebProcess.cpp: (WebKit::WebProcess::downloadRequest): Set main document URL
24811        for the request, so that CFNetwork would know where te file was downloaded. Note that this
24812        is an easier case than downloading due to clicks, since we don't really need to build a host
24813        only URL, and could use full page URL. However, the same function is used for consistency.
24814
248152011-11-30  Igor Oliveira  <igor.oliveira@openbossa.org>
24816
24817        [WK2][Qt] AC animation startTime is wrong
24818
24819        [WK2][Qt] AC animation startTime is wrong
24820        https://bugs.webkit.org/show_bug.cgi?id=73467
24821
24822        When WebProcess sends animation information to UIProcess, It uses the 
24823        current time(WTF::currentTime) minus the timeOffset to set the start time 
24824        animation. 
24825
24826        But there is a latency between the WebProcess and UIProcess communication 
24827        and sometimes the animation transition starts late.
24828
24829        This patch fixes the bug moving the startTime calculation to UIProcess.
24830
24831        Reviewed by Noam Rosenthal.
24832
24833        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
24834        (WebKit::LayerTreeHostProxy::syncLayerParameters):
24835        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
24836        (WebCore::WebGraphicsLayer::addAnimation):
24837
248382011-11-30  Csaba Osztrogonác  <ossy@webkit.org>
24839
24840        [Qt] Buildfix for generating forwarding headers
24841        https://bugs.webkit.org/show_bug.cgi?id=73446
24842
24843        Reviewed by Noam Rosenthal.
24844
24845        * DerivedSources.pri: Always create the parent directory before generating a forwarding header.
24846
248472011-11-30  Dan Bernstein  <mitz@apple.com>
24848
24849        WebKit2 part of: Allow the length of a page along the pagination axis to differ from the length of the view
24850        https://bugs.webkit.org/show_bug.cgi?id=73476
24851
24852        Reviewed by Anders Carlsson.
24853
24854        * Shared/WebPageCreationParameters.cpp:
24855        (WebKit::WebPageCreationParameters::encode): Encode pageLength.
24856        (WebKit::WebPageCreationParameters::decode): Decode pageLength.
24857        * Shared/WebPageCreationParameters.h: Added pageLength.
24858        * UIProcess/API/C/WKPage.cpp:
24859        (WKPageSetPageLength): Added this accessor.
24860        (WKPageGetPageLength): Ditto.
24861        * UIProcess/API/C/WKPagePrivate.h:
24862        * UIProcess/API/mac/WKBrowsingContextController.mm:
24863        (-[WKBrowsingContextController setPageLength:]): Ditto.
24864        (-[WKBrowsingContextController pageLength]): Ditto.
24865        * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h:
24866        * UIProcess/WebPageProxy.cpp:
24867        (WebKit::WebPageProxy::WebPageProxy): Added initializer for m_pageLength.
24868        (WebKit::WebPageProxy::setPageLength): Added.
24869        (WebKit::WebPageProxy::creationParameters): Initialize pageLength.
24870        * UIProcess/WebPageProxy.h:
24871        (WebKit::WebPageProxy::pageLength): Added.
24872        * WebProcess/WebPage/WebPage.cpp:
24873        (WebKit::WebPage::WebPage): Set the page length based on the creation parameters.
24874        (WebKit::WebPage::setPageLength): Added.
24875        * WebProcess/WebPage/WebPage.h:
24876        * WebProcess/WebPage/WebPage.messages.in: Added SetPageLength.
24877
248782011-11-30  Alejandro G. Castro  <alex@igalia.com>
24879
24880        [GTK] Add accelerated compositing compilation option
24881        https://bugs.webkit.org/show_bug.cgi?id=73298
24882
24883        Compile whatever we have inside the USE(ACCELERATED_COMPOSITING)
24884        define. Fix accelerated compositing compilation in WK2, update the
24885        enter/exit functions.
24886
24887        Reviewed by Martin Robinson.
24888
24889        * UIProcess/API/gtk/PageClientImpl.cpp:
24890        (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
24891        (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
24892        * UIProcess/API/gtk/PageClientImpl.h:
24893
248942011-11-29  Beth Dakin  <bdakin@apple.com>
24895
24896        https://bugs.webkit.org/show_bug.cgi?id=72751
24897        WebKit2.MouseMoveAfterCrash API test is failing 
24898
24899        Reviewed by Sam Weinig.
24900
24901        windowIsFocused() is too restrictive. All we need to know is that the page is 
24902        active.
24903        * WebProcess/WebPage/WebPage.cpp:
24904        (WebKit::WebPage::mouseEvent):
24905        (WebKit::WebPage::mouseEventSyncForTesting):
24906
249072011-11-29  Sam Weinig  <sam@webkit.org>
24908
24909        Add move semantics to WKRetainPtr
24910        https://bugs.webkit.org/show_bug.cgi?id=73400
24911
24912        Reviewed by Anders Carlsson.
24913
24914        * UIProcess/API/cpp/WKRetainPtr.h:
24915        (WebKit::WKRetainPtr::WKRetainPtr):
24916        Add a move constructor and move enabled assignment operators
24917        to WKRetainPtr if the compiler being used supports rvalue
24918        references. If the compiler does not support it, we fallback
24919        to the copy semantics we have always had.
24920
249212011-11-30  Mario Sanchez Prada  <msanchez@igalia.com>
24922
24923        [Gtk] Links should be Tab-focusable by default
24924        https://bugs.webkit.org/show_bug.cgi?id=73427
24925
24926        Reviewed by Martin Robinson.
24927
24928        * UIProcess/API/gtk/WebKitSettings.cpp:
24929        (webkit_settings_class_init): Switch the default value for
24930        'enable-tabs-to-links' property from FALSE to TRUE.
24931        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
24932        (testWebKitSettings): Updated unit test.
24933
249342011-11-30  Alexey Proskuryakov  <ap@apple.com>
24935
24936        Download page URL should be set by WebCore
24937        https://bugs.webkit.org/show_bug.cgi?id=73358
24938
24939        Reviewed by Darin Adler.
24940
24941        * WebProcess/Downloads/mac/DownloadMac.mm:
24942        (WebKit::Download::start): There is no need to set original URL post factum any more.
24943        (WebKit::Download::startWithHandle): Ditto.
24944
249452011-11-30  Kenneth Rohde Christiansen  <kenneth@webkit.org>
24946
24947        Rename WebKit::ViewportUpdateGuard to *Deferrer and add some better
24948        comments to explain its purpose.
24949
24950        Reviewed by Simon Hausmann.
24951
24952        * UIProcess/qt/QtViewportInteractionEngine.cpp:
24953        (WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer):
24954        (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
24955        (WebKit::QtViewportInteractionEngine::setItemRectVisible):
24956        (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
24957        (WebKit::QtViewportInteractionEngine::scrollStateChanged):
24958        (WebKit::QtViewportInteractionEngine::applyConstraints):
24959        (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
24960        * UIProcess/qt/QtViewportInteractionEngine.h:
24961
249622011-11-30  Simon Hausmann  <simon.hausmann@nokia.com>
24963
24964        Build fix. The removal of the Qt threading back-end also removed
24965        an implicit QString inclusion/forward-declaration.
24966
24967        * UIProcess/qt/QtWebContext.h:
24968
249692011-11-30  Kenneth Rohde Christiansen  <kenneth@webkit.org>
24970
24971        [Qt] Clean up the Qt viewport interaction engine
24972
24973        Reviewed by Simon Hausmann.
24974
24975        * UIProcess/qt/QtViewportInteractionEngine.cpp:
24976        (WebKit::QtViewportInteractionEngine::reset):
24977
24978            Make sure reset is not called while suspended.
24979
24980        (WebKit::QtViewportInteractionEngine::applyConstraints):
24981
24982            We always need to apply the constrains due to initial-scale.
24983
24984            Now that we only apply the constrains when we are ready to
24985            paint, it is impossible for the user to have interacted with
24986            the content in the case the viewport meta tag was declared
24987            in the <head> tag, and it is thus always applied.
24988
24989        (WebKit::QtViewportInteractionEngine::panGestureStarted):
24990        (WebKit::QtViewportInteractionEngine::pinchGestureActive):
24991
24992            Fix this method to actually do what it advertises, before
24993            it would be true even if just animation a bounce back effect.
24994
24995        (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
24996        (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
24997        * UIProcess/qt/QtViewportInteractionEngine.h:
24998
24999            General, get rid of the interaction flags as we only need to
25000            know whether the user interacted (panned, pinched, double-tapped).
25001            Before we would still apply initial-scale if the user had panned
25002            the content which can be pretty confusing.
25003
250042011-11-30  Simon Hausmann  <simon.hausmann@nokia.com>
25005
25006        Unreviewed prospective mac build fix after r101450.
25007
25008        * Platform/mac/ModuleMac.mm:
25009        (WebKit::Module::unload): leakRef is declared with attribute warn_unused_result.
25010
250112011-11-30  Adenilson Cavalcanti  <adenilson.silva@openbossa.org>
25012
25013        [Qt][WK2] Implement permission API for Qt port
25014        https://bugs.webkit.org/show_bug.cgi?id=59200
25015
25016        Permission API hookup for Geolocation, it allows to receive in WebView
25017        a signal when a permission request is done (e.g. to grant permission
25018        for accessing geolocation information) and set it accordingly.
25019
25020        Reviewed by Simon Hausmann.
25021
25022        * Target.pri:
25023        * UIProcess/API/qt/qquickwebview_p.h:
25024        * UIProcess/API/qt/qwebpermissionrequest.cpp: Added.
25025        (QWebPermissionRequestPrivate::QWebPermissionRequestPrivate):
25026        (QWebPermissionRequestPrivate::~QWebPermissionRequestPrivate):
25027        (QWebPermissionRequest::create):
25028        (QWebPermissionRequest::QWebPermissionRequest):
25029        (QWebPermissionRequest::~QWebPermissionRequest):
25030        (QWebPermissionRequest::type):
25031        (QWebPermissionRequest::setAllow):
25032        (QWebPermissionRequest::allow):
25033        (QWebPermissionRequest::scheme):
25034        (QWebPermissionRequest::host):
25035        (QWebPermissionRequest::port):
25036        * UIProcess/API/qt/qwebpermissionrequest_p.h: Added.
25037        * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml: Added.
25038        * UIProcess/API/qt/tests/qmltests/common/geolocation.html: Added.
25039        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
25040        * UIProcess/qt/QtWebPageUIClient.cpp:
25041        (QtWebPageUIClient::QtWebPageUIClient):
25042        (QtWebPageUIClient::permissionRequest):
25043        (QtWebPageUIClient::policyForGeolocationPermissionRequest):
25044        * UIProcess/qt/QtWebPageUIClient.h:
25045
250462011-11-30  Alexey Proskuryakov  <ap@apple.com>
25047
25048        -[WKView attributedSubstringForProposedRange:actualRange:] doesn't update actualRange when it's out of bounds
25049        https://bugs.webkit.org/show_bug.cgi?id=67813
25050
25051        Reviewed by Simon Fraser.
25052
25053        * UIProcess/API/mac/WKView.mm:
25054        (-[WKView attributedSubstringForProposedRange:actualRange:]): Update actualRange to match
25055        result length.
25056        (-[WKView firstRectForCharacterRange:actualRange:]): Added a FIXME. This is harder to
25057        implement, and it's unclear if clients care at this time.
25058
250592011-11-29  Sam Weinig  <sam@webkit.org>
25060
25061        Remove RetainPtr::releaseRef
25062        https://bugs.webkit.org/show_bug.cgi?id=73396
25063
25064        Reviewed by Dan Bernstein.
25065
25066        * Platform/mac/ModuleMac.mm:
25067        (WebKit::Module::unload):
25068        Replace the final use of RetainPtr::releaseRef() with RetainPtr::leakRef(),
25069        its sexy replacement.
25070
250712011-11-29  Jessie Berlin  <jberlin@apple.com>
25072
25073        WKKeyValueStorageManagerGetKeyValueStorageOrigins may not report the correct list of origins
25074        the first time it is called.
25075        https://bugs.webkit.org/show_bug.cgi?id=73374 (<rdar://problem/10196057>)
25076
25077        Reviewed by Brady Eidson.
25078
25079        Queue any requests for the origins that have Local Storage until the StorageTracker is done
25080        loading the list of those origins from disk.
25081
25082        * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
25083        (WebKit::keyValueStorageOriginIdentifiers):
25084        Refactored here from getKeyValueStorageOrigins so it can be used by didFinishLoadingOrigins.
25085        (WebKit::dispatchDidGetKeyValueStorageOrigins):
25086        Ditto.
25087        (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
25088        If the StorageTracker is not done loading the list of origins from disk, queue up the
25089        request to be handled later.
25090        (WebKit::WebKeyValueStorageManager::didFinishLoadingOrigins):
25091        Dispatch the results for any requests that were make before the StorageTracker was done
25092        loading the list of origins from disk.
25093        (WebKit::WebKeyValueStorageManager::dispatchDidModifyOrigin):
25094        * WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:
25095
25096        * WebProcess/WebProcess.cpp:
25097        (WebKit::WebProcess::initializeWebProcess):
25098        Set the WebKeyValueStorageManager as the StorageTrackerClient.
25099
251002011-11-29  Anders Carlsson  <andersca@apple.com>
25101
25102        Decorate adoptWK with WARN_UNUSED_RETURN
25103        https://bugs.webkit.org/show_bug.cgi?id=73331
25104
25105        Reviewed by Sam Weinig.
25106
25107        * UIProcess/API/cpp/WKRetainPtr.h:
25108        (WebKit::adoptWK):
25109
251102011-11-29  Carlos Garcia Campos  <cgarcia@igalia.com>
25111
25112        Unreviewed. Fix GTK+ WebKit2 build after r101312.
25113
25114        * Scripts/generate-forwarding-headers.pl: Add blackberry to the
25115        list of platforms.
25116
251172011-11-29  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
25118
25119        [Qt] Don't hard-code the list of WebKit2 generated sources
25120
25121        The generated sources are... wait for it... generated. So
25122        use the generator itself to figure out which sources we need
25123        to compile.
25124
25125        Reviewed by Simon Hausmann.
25126
25127        * DerivedSources.pri:
25128        * Target.pri:
25129
251302011-11-29  Carlos Garcia Campos  <cgarcia@igalia.com>
25131
25132        Unreviewed. Fix the GTK+ port build after r101307.
25133
25134        * GNUmakefile.am: Add missing files to compilation.
25135
251362011-11-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
25137
25138        [Qt] Add the infrastructure for enabling suspend/resume.
25139
25140        Reviewed by Simon Hausmann.
25141
25142        Also, remove the painting optimization as it is broken in some
25143        situations, as there is an assumption in that comparison that
25144        the guards cannot be nested, which goes against the design and
25145        its use.
25146
25147        * UIProcess/API/qt/qquickwebview.cpp:
25148        (QQuickWebViewPrivate::initializeDesktop):
25149        (QQuickWebViewPrivate::initializeTouch):
25150        (QQuickWebViewPrivate::_q_suspend):
25151        (QQuickWebViewPrivate::_q_resume):
25152        * UIProcess/API/qt/qquickwebview_p.h:
25153        * UIProcess/API/qt/qquickwebview_p_p.h:
25154        * UIProcess/qt/QtViewportInteractionEngine.cpp:
25155        (WebKit::ViewportUpdateGuard::ViewportUpdateGuard):
25156        (WebKit::ViewportUpdateGuard::~ViewportUpdateGuard):
25157        (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
25158        (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
25159        (WebKit::QtViewportInteractionEngine::scrollStateChanged):
25160        (WebKit::QtViewportInteractionEngine::event):
25161        (WebKit::QtViewportInteractionEngine::pagePositionRequest):
25162        (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
25163        (WebKit::QtViewportInteractionEngine::reset):
25164        (WebKit::QtViewportInteractionEngine::applyConstraints):
25165        (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
25166        (WebKit::QtViewportInteractionEngine::panGestureEnded):
25167        (WebKit::QtViewportInteractionEngine::pinchGestureActive):
25168        (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
25169        (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
25170        (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
25171        (WebKit::QtViewportInteractionEngine::itemSizeChanged):
25172        * UIProcess/qt/QtViewportInteractionEngine.h:
25173
251742011-11-29  Carlos Garcia Campos  <cgarcia@igalia.com>
25175
25176        [GTK] Add WebKitURIResponse to WebKit2 GTK+ API
25177        https://bugs.webkit.org/show_bug.cgi?id=72946
25178
25179        Reviewed by Martin Robinson.
25180
25181        * GNUmakefile.am: Add new files to compilation.
25182        * UIProcess/API/gtk/WebKitURIResponse.cpp: Added.
25183        (webkitURIResponseFinalize):
25184        (webkitURIResponseGetProperty):
25185        (webkitURIResponseSetProperty):
25186        (webkit_uri_response_class_init):
25187        (webkit_uri_response_init):
25188        (webkit_uri_response_get_uri): Return the URI of the response.
25189        (webkit_uri_response_get_status_code): Return the status code of
25190        the response, or SOUP_STATUS_NONE.
25191        (webkit_uri_response_get_content_length): Return the expected
25192        content length of the response.
25193        (webkitURIResponseCreateForSoupMessage): Private function to
25194        create a response object from a SoupMessage.
25195        (webkitURIResponseGetSoupMessage): Return the soup message
25196        associated to the response.
25197        (webkitURIResponseSetContentLength): Set the expected content
25198        length of the response. This is useful for non http responses.
25199        * UIProcess/API/gtk/WebKitURIResponse.h: Added.
25200        * UIProcess/API/gtk/WebKitURIResponsePrivate.h: Added.
25201        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section.
25202        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
25203        * UIProcess/API/gtk/docs/webkit2gtk.types: Add
25204        webkit_uri_response_get_type().
25205        * UIProcess/API/gtk/webkit2.h: Add WebKitURIResponse.h.
25206
252072011-11-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
25208
25209        [Qt] QQuickWebView gets wrong position after reload
25210        https://bugs.webkit.org/show_bug.cgi?id=73292
25211
25212        Reviewed by Simon Hausmann.
25213
25214        The ensureContentWithinViewportBoundary animates the current viewport
25215        item into boundaries. That of course breaks when we try to animate it,
25216        given the initial-scale which hasn't been applied; so apply it.
25217
25218        Also put the QScroller settings code in the ctor as it never changes.
25219
25220        * UIProcess/qt/QtViewportInteractionEngine.cpp:
25221        (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
25222        (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
25223        (WebKit::QtViewportInteractionEngine::reset):
25224        (WebKit::QtViewportInteractionEngine::applyConstraints):
25225        * UIProcess/qt/QtViewportInteractionEngine.h:
25226
252272011-11-29  Roland Steiner  <rolandsteiner@chromium.org>
25228
25229        <style scoped>: add ENABLE(STYLE_SCOPED) flag to WebKit
25230        https://bugs.webkit.org/show_bug.cgi?id=72848
25231
25232        Reviewed by Dimitri Glazkov.
25233
25234        * Configurations/FeatureDefines.xcconfig:
25235
252362011-11-28  Jon Lee  <jonlee@apple.com>
25237
25238        Create skeleton framework for notifications support in WK2
25239        https://bugs.webkit.org/show_bug.cgi?id=73253
25240        <rdar://problem/10356943>
25241
25242        Reviewed by Sam Weinig.
25243
25244        * WebKit2.xcodeproj/project.pbxproj: Added classes for notification support.
25245        * win/WebKit2.vcproj: Ditto.
25246        * Target.pri: Ditto.
25247        * Configurations/FeatureDefines.xcconfig: Split out ENABLE_NOTIFICATIONS based on platform.
25248        * DerivedSources.make: Add Notifications to VPATH.
25249        * Platform/CoreIPC/MessageID.h: List WebNotificationManagerProxy as a class with messages.
25250        * Scripts/webkit2/messages.py: Mark WebCore::NotificationContents as a struct.
25251
25252        * Shared/API/c/WKBase.h: Map opaque types to NotificationProvider, NotificationManager, and Notification.
25253        * UIProcess/API/C/WKAPICast.h: Map WK types toNotificationProvider, NotificationManager, and Notification.
25254        * Shared/APIObject.h: Add Notification and NotificationManager as APIObjects.
25255        * Shared/WebCoreArgumentCoders.cpp: Added coders for KURL.
25256        (CoreIPC::::encode):
25257        (CoreIPC::::decode):
25258        * Shared/WebCoreArgumentCoders.h:
25259
25260        * UIProcess/WebNotification.cpp: Added.
25261        (WebKit::WebNotification::WebNotification):
25262        (WebKit::WebNotification::~WebNotification):
25263        (WebKit::WebNotification::encode):
25264        (WebKit::WebNotification::decode):
25265        * UIProcess/WebNotification.h: Added.
25266        (WebKit::WebNotification::create):
25267        (WebKit::WebNotification::title):
25268        (WebKit::WebNotification::body):
25269        (WebKit::WebNotification::type):
25270        * UIProcess/API/C/WKNotification.cpp: Added as API.
25271        (WKNotificationGetTypeID):
25272        (WKNotificationCopyTitle):
25273        (WKNotificationCopyBody):
25274        * UIProcess/API/C/WKNotification.h: Added as API.
25275
25276        * WebProcess/Notifications/WebNotificationManager.h: Added. Contains for now show() and cancel().
25277        The rest of the notification client methods will be added later. These two functions send messages
25278        to the manager proxy.
25279        * WebProcess/Notifications/WebNotificationManager.cpp: Added.
25280        (WebKit::WebNotificationManager::WebNotificationManager):
25281        (WebKit::WebNotificationManager::~WebNotificationManager):
25282        (WebKit::WebNotificationManager::show):
25283        (WebKit::WebNotificationManager::cancel):
25284
25285        * UIProcess/WebNotificationManagerProxy.cpp: Added.
25286        (WebKit::WebNotificationManagerProxy::create):
25287        (WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy):
25288        (WebKit::WebNotificationManagerProxy::~WebNotificationManagerProxy):
25289        (WebKit::WebNotificationManagerProxy::invalidate):
25290        (WebKit::WebNotificationManagerProxy::initializeProvider):
25291        (WebKit::WebNotificationManagerProxy::didReceiveMessage):
25292        (WebKit::WebNotificationManagerProxy::show):
25293        (WebKit::WebNotificationManagerProxy::cancel):
25294        * UIProcess/WebNotificationManagerProxy.h: Added.
25295        (WebKit::WebNotificationManagerProxy::clearContext):
25296        (WebKit::WebNotificationManagerProxy::type):
25297        * UIProcess/WebNotificationManagerProxy.messages.in: Added.
25298        * UIProcess/API/C/WKNotificationManager.cpp: Added.
25299        (WKNotificationManagerGetTypeID):
25300        (WKNotificationManagerSetProvider):
25301        * UIProcess/API/C/WKNotificationManager.h: Added.
25302
25303        * UIProcess/WebContext.h: Add the notification manager to the web context.
25304        (WebKit::WebContext::notificationManagerProxy): Access the manager.
25305        * UIProcess/WebContext.cpp:
25306        (WebKit::WebContext::WebContext): Boilerplate for managers.
25307        (WebKit::WebContext::~WebContext): Boilerplate for managers.
25308        (WebKit::WebContext::disconnectProcess): Boilerplate for managers.
25309        (WebKit::WebContext::didReceiveMessage): Forward messages to the notification manager.
25310        * UIProcess/API/C/WKContext.cpp: Expose as API.
25311        (WKContextGetNotificationManager):
25312        * UIProcess/API/C/WKContext.h: Expose as API.
25313
25314        * UIProcess/API/C/WKNotificationProvider.h: Added.
25315        * UIProcess/WebNotificationProvider.h: Added as APIClient.
25316        * UIProcess/WebNotificationProvider.cpp: Added.
25317        (WebKit::WebNotificationProvider::show): Forward call to the client.
25318        (WebKit::WebNotificationProvider::cancel): Forward call to the client.
25319        * UIProcess/WebProcessProxy.cpp:
25320        (WebKit::WebProcessProxy::didReceiveMessage): Forward messages for notification manager to the context.
25321
25322        * WebProcess/WebCoreSupport/WebChromeClient.cpp: Remove notificationPresenter().
25323        * WebProcess/WebCoreSupport/WebChromeClient.h: Remove notificationPresenter().
25324
25325        * WebProcess/WebCoreSupport/WebNotificationClient.h: Added. Forwards client methods to manager.
25326        * WebProcess/WebCoreSupport/WebNotificationClient.cpp: Added. Mostly stub implementation for now.
25327        (WebKit::WebNotificationClient::WebNotificationClient):
25328        (WebKit::WebNotificationClient::~WebNotificationClient):
25329        (WebKit::WebNotificationClient::show):
25330        (WebKit::WebNotificationClient::cancel):
25331        (WebKit::WebNotificationClient::notificationObjectDestroyed):
25332        (WebKit::WebNotificationClient::requestPermission):
25333        (WebKit::WebNotificationClient::cancelRequestsForPermission):
25334        (WebKit::WebNotificationClient::checkPermission):
25335
25336        * WebProcess/WebPage/WebPage.h: Added WebNotificationClient as one of its page clients.
25337        * WebProcess/WebPage/WebPage.cpp:
25338        (WebKit::WebPage::WebPage): Set the notification client to WebNotificationClient.
25339        * WebProcess/WebProcess.h: Added WebNotificationManager.
25340        (WebKit::WebProcess::notificationManager):
25341        * WebProcess/WebProcess.cpp:
25342        (WebKit::WebProcess::WebProcess): Initialize notificaton manager.
25343
253442011-11-28  Brent Fulgham  <bfulgham@webkit.org>
25345
25346        [WinCairo] Unreviewed build corrections.
25347
25348        * UIProcess/BackingStore.h: WinCairo doesn't need the Cairo backing
25349          for widgets.
25350        * win/WebKit2CFLite.def: Update to match WebKit2.def.
25351
253522011-11-28  Beth Dakin  <bdakin@apple.com>
25353
25354        https://bugs.webkit.org/show_bug.cgi?id=72551
25355        When the recommended scrollbar style changes, WKView's tracking options should 
25356        adjust accordingly
25357        -and corresponding-
25358        <rdar://problem/10409328>
25359
25360        Reviewed by Darin Adler.
25361
25362        These new functions take care of passing along the 
25363        recommendedScrollbarStyleDidChange() message that originates in the ChromeClient. 
25364        * UIProcess/API/mac/PageClientImpl.h:
25365        * UIProcess/PageClient.h:
25366        * UIProcess/WebPageProxy.cpp:
25367        (WebKit::WebPageProxy::recommendedScrollbarStyleDidChange):
25368        * UIProcess/WebPageProxy.h:
25369        * UIProcess/WebPageProxy.messages.in:
25370        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
25371        (WebKit::WebChromeClient::recommendedScrollbarStyleDidChange):
25372        * WebProcess/WebCoreSupport/WebChromeClient.h:
25373
25374        This is where we actually respond to the recommendedScrollbarStyleDidChange 
25375        message. We remove the existing tracking area and create a new tracking area with 
25376        the appropriate tracking options.
25377        * UIProcess/API/mac/PageClientImpl.mm:
25378        (WebKit::PageClientImpl::recommendedScrollbarStyleDidChange):
25379
25380        BuiltInPDFView inherits from WebCore::ScrollableArea, so scrollbarStyleChanged() 
25381        must now take two parameters like the one in ScrollableArea.
25382        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
25383        (WebKit::BuiltInPDFView::scrollbarStyleChanged):
25384        * WebProcess/Plugins/PDF/BuiltInPDFView.h:
25385
253862011-11-28  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
25387
25388        [Qt][WK2] Fix panning after r101179
25389        https://bugs.webkit.org/show_bug.cgi?id=73224
25390
25391        Reviewed by Noam Rosenthal.
25392
25393        We were wrongly checking for interactionEngine() instead of
25394        !interactionEngine() after the QtWebPageEventHandler refactor.
25395
25396        * UIProcess/qt/QtPanGestureRecognizer.cpp:
25397        (WebKit::QtPanGestureRecognizer::recognize):
25398
253992011-11-28  Kenneth Rohde Christiansen  <kenneth@webkit.org>
25400
25401        Make sure the useFixedLayout feature is consistently handled
25402        https://bugs.webkit.org/show_bug.cgi?id=73212
25403
25404        Reviewed by Simon Hausmann.
25405
25406        Set the fixed layout on the UI side so that it is part of the page
25407        creation parameters and ensure that the page parameters are set
25408        before creating the page.
25409
25410        The parameters are set to our defaults and are now altered in the
25411        WebKitTestRunner.
25412
25413        * UIProcess/API/qt/qquickwebview.cpp:
25414        (QQuickWebViewPrivate::QQuickWebViewPrivate):
25415        (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
25416        (QQuickWebViewExperimental::setUseTraditionalDesktopBehaviour):
25417        (QQuickWebView::QQuickWebView):
25418        * UIProcess/WebPageProxy.cpp:
25419        (WebKit::WebPageProxy::setUseFixedLayout):
25420        * WebProcess/WebPage/WebPage.cpp:
25421        (WebKit::WebPage::WebPage):
25422
25423            On the web process side the default value for useFixedLayout
25424            wasn't actually read from the creation parameters. As it now may
25425            be different than that of the FrameView, we now call
25426            setFixedLayout in the constructor so make sure the value is
25427            propagated to the FrameView.
25428
25429        (WebKit::WebPage::setFixedVisibleContentRect):
25430        (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
25431        (WebKit::WebPage::resizeToContentsIfNeeded):
25432        (WebKit::WebPage::setViewportSize):
25433        (WebKit::WebPage::setUseFixedLayout):
25434        (WebKit::WebPage::setFixedLayoutSize):
25435
25436            The methods that depends on fixed layout now have asserts to make
25437            sure that they are used properly.
25438
254392011-11-28  Carlos Garcia Campos  <cgarcia@igalia.com>
25440
25441        [GTK] Rename WebKitNetworkRequest to WebKitURIRequest
25442        https://bugs.webkit.org/show_bug.cgi?id=73202
25443
25444        Reviewed by Martin Robinson.
25445
25446        Network is confusing because the request can be for a local file uri.
25447
25448        * GNUmakefile.am:
25449        * UIProcess/API/gtk/WebKitNetworkRequest.h: Removed.
25450        * UIProcess/API/gtk/WebKitURIRequest.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/WebKitNetworkRequest.cpp.
25451        (webkitURIRequestFinalize):
25452        (webkitURIRequestGetProperty):
25453        (webkitURIRequestSetProperty):
25454        (webkit_uri_request_class_init):
25455        (webkit_uri_request_init):
25456        (webkit_uri_request_new):
25457        (webkit_uri_request_get_uri):
25458        * UIProcess/API/gtk/WebKitURIRequest.h: Added.
25459        * UIProcess/API/gtk/WebKitWebView.cpp:
25460        (webkit_web_view_load_request):
25461        * UIProcess/API/gtk/WebKitWebView.h:
25462        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
25463        * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
25464        (testLoadRequest):
25465        * UIProcess/API/gtk/tests/WebViewTest.cpp:
25466        (WebViewTest::loadRequest):
25467        * UIProcess/API/gtk/tests/WebViewTest.h:
25468        * UIProcess/API/gtk/webkit2.h:
25469
254702011-11-28  Simon Hausmann  <simon.hausmann@nokia.com>
25471
25472        [Qt] WTF should be built as separate static library
25473        https://bugs.webkit.org/show_bug.cgi?id=73201
25474
25475        Reviewed by Tor Arne Vestbø.
25476
25477        * Target.pri: Require wtf.
25478        * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp: Remove unnecessary config.h
25479        inclusion and thus wtf dependency.
25480
254812011-11-28  Pavel Feldman  <pfeldman@chromium.org>
25482
25483        REGRESSION (r101201): Crash inside WebKit::WebInspector::didClose() when closing any tab
25484        https://bugs.webkit.org/show_bug.cgi?id=73183
25485
25486        Reviewed by Yury Semikhatsky.
25487
25488        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
25489        (WebKit::WebInspectorClient::closeInspectorFrontend):
25490
254912011-11-28  Balazs Kelemen  <kbalazs@webkit.org>
25492
25493        Reviewed by Simon Hausmann.
25494
25495        [WK2] fast/frames/iframe-plugin-load-remove-document-crash.html crashes
25496        https://bugs.webkit.org/show_bug.cgi?id=63321
25497
25498        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
25499        (WebKit::NetscapePlugin::manualStreamDidFail): Don't assert that m_manualStream
25500        is not null since it is not guaranteed but instead handle the case when it is null
25501        with early return.
25502
255032011-11-27  Zeno Albisser  <zeno@webkit.org>
25504
25505        [Qt][WK2] MiniBrowser stops displaying content after surfing a few pages.
25506        https://bugs.webkit.org/show_bug.cgi?id=73172
25507
25508        Properly initialize WebLayerTreeInfo structures.
25509
25510        Reviewed by Andreas Kling.
25511
25512        * Shared/WebLayerTreeInfo.h:
25513        (WebKit::WebLayerUpdateInfo::WebLayerUpdateInfo):
25514        (WebKit::WebLayerAnimation::WebLayerAnimation):
25515        (WebKit::WebLayerInfo::WebLayerInfo):
25516        (WebKit::WebLayerTreeInfo::WebLayerTreeInfo):
25517
255182011-11-27  Mark Rowe  <mrowe@apple.com>
25519
25520        <http://webkit.org/b/72665> Switch to a more modern approach to retrieving the OS marketing version
25521
25522        Reviewed by Dan Bernstein.
25523
25524        * UIProcess/mac/WebPageProxyMac.mm:
25525        (WebKit::macOSXVersionString): Use WKGetMacOSXVersionString.
25526        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
25527        (InitWebCoreSystemInterface): Set up wkGetMacOSXVersionString.
25528
255292011-11-26  Pavel Feldman  <pfeldman@google.com>
25530
25531        Web Inspector: remove disconnectFromBackend from the protocol.
25532        https://bugs.webkit.org/show_bug.cgi?id=73127
25533
25534        Reviewed by Yury Semikhatsky.
25535
25536        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
25537        (WebKit::WebInspectorClient::inspectorDestroyed):
25538        * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
25539        * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
25540
255412011-11-26  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
25542
25543        [Qt] [WK2] QtDownloadManager doesn't need to be RefCounted
25544        https://bugs.webkit.org/show_bug.cgi?id=73151
25545
25546        Reviewed by Kenneth Rohde Christiansen.
25547
25548        QtDownloadManager is owned by QtWebContext, and doesn't need to be a RefCounted
25549        class. This commit also makes the callback handlers private -- following the similar
25550        approach we take in other clients of the C API.
25551
25552        * UIProcess/qt/QtDownloadManager.cpp:
25553        (WebKit::QtDownloadManager::QtDownloadManager):
25554        (WebKit::QtDownloadManager::addDownload):
25555        (WebKit::toQtDownloadManager):
25556        (WebKit::QtDownloadManager::didReceiveResponse):
25557        (WebKit::QtDownloadManager::didCreateDestination):
25558        (WebKit::QtDownloadManager::didFinishDownload): remove unused failingUrl local variable.
25559        (WebKit::QtDownloadManager::didFailDownload):
25560        (WebKit::QtDownloadManager::didReceiveDataForDownload):
25561        * UIProcess/qt/QtDownloadManager.h:
25562        * UIProcess/qt/QtWebContext.cpp:
25563        (WebKit::QtWebContext::initialize):
25564        * UIProcess/qt/QtWebContext.h:
25565
255662011-11-26  Sheriff Bot  <webkit.review.bot@gmail.com>
25567
25568        Unreviewed, rolling out r101193.
25569        http://trac.webkit.org/changeset/101193
25570        https://bugs.webkit.org/show_bug.cgi?id=73158
25571
25572        Breaks Windows and Qt minimal. (Requested by pfeldman on
25573        #webkit).
25574
25575        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
25576        (WebKit::WebInspectorClient::inspectorDestroyed):
25577        * WebProcess/WebCoreSupport/WebInspectorClient.h:
25578        * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
25579        (WebKit::WebInspectorFrontendClient::disconnectFromBackend):
25580        * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
25581
255822011-11-26  Pavel Feldman  <pfeldman@google.com>
25583
25584        Web Inspector: remove disconnectFromBackend from the protocol.
25585        https://bugs.webkit.org/show_bug.cgi?id=73127
25586
25587        Reviewed by Yury Semikhatsky.
25588
25589        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
25590        (WebKit::WebInspectorClient::inspectorDestroyed):
25591        * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
25592        * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
25593
255942011-11-25  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
25595
25596        [Qt] [WK2] Remove WebContext related code from QtWebPageProxy
25597        https://bugs.webkit.org/show_bug.cgi?id=73150
25598
25599        Reviewed by Kenneth Rohde Christiansen.
25600
25601        Creates a QtWebContext class that abstracts away from QtWebPageProxy the
25602        handling of creating / maintaining the default WebContext, as well as the
25603        code for the WKContextRef clients.
25604
25605        Another motivation for having this entity is to have a proper place to add
25606        objects are bound to the context, like the QtDownloadManager.
25607
25608        * Target.pri:
25609        * UIProcess/qt/ClientImpl.cpp: Removed.
25610        * UIProcess/qt/ClientImpl.h: Removed.
25611        * UIProcess/qt/QtDownloadManager.cpp:
25612        * UIProcess/qt/QtWebContext.cpp: Added.
25613        (WebKit::QtWebContext::QtWebContext):
25614        (WebKit::QtWebContext::~QtWebContext):
25615        (WebKit::QtWebContext::create):
25616        (WebKit::QtWebContext::defaultContext):
25617        (WebKit::QtWebContext::createWebPage):
25618        (WebKit::QtWebContext::setNavigatorQtObjectEnabled):
25619        (WebKit::QtWebContext::postMessageToNavigatorQtObject):
25620        (WebKit::QtWebContext::initialize):
25621        (WebKit::QtWebContext::initializeContextInjectedBundleClient):
25622        (WebKit::toQtWebContext):
25623        (WebKit::QtWebContext::didReceiveMessageFromInjectedBundle):
25624        * UIProcess/qt/QtWebContext.h: Added.
25625        (WebKit::QtWebContext::downloadManager):
25626        * UIProcess/qt/QtWebPageProxy.cpp:
25627        (QtWebPageProxy::QtWebPageProxy):
25628        (QtWebPageProxy::~QtWebPageProxy):
25629        (QtWebPageProxy::setNavigatorQtObjectEnabled):
25630        (QtWebPageProxy::postMessageToNavigatorQtObject):
25631        (QtWebPageProxy::handleDownloadRequest):
25632        * UIProcess/qt/QtWebPageProxy.h:
25633
256342011-11-25  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
25635
25636        [Qt][WK2] Refactor GestureRecognizers to use QtWebPageEventHandler
25637        https://bugs.webkit.org/show_bug.cgi?id=73096
25638
25639        Reviewed by Kenneth Rohde Christiansen.
25640
25641        Move all the interaction engine usage to QtWebPageEventHandler,
25642        making all GestureRecognizers (Tap, Pinch and Pan) use it directly.
25643
25644        * UIProcess/qt/QtGestureRecognizer.cpp:
25645        (WebKit::QtGestureRecognizer::QtGestureRecognizer):
25646        * UIProcess/qt/QtGestureRecognizer.h:
25647        * UIProcess/qt/QtPanGestureRecognizer.cpp:
25648        (WebKit::QtPanGestureRecognizer::QtPanGestureRecognizer):
25649        (WebKit::QtPanGestureRecognizer::recognize):
25650        * UIProcess/qt/QtPanGestureRecognizer.h:
25651        * UIProcess/qt/QtPinchGestureRecognizer.cpp:
25652        (WebKit::QtPinchGestureRecognizer::QtPinchGestureRecognizer):
25653        (WebKit::QtPinchGestureRecognizer::recognize):
25654        * UIProcess/qt/QtPinchGestureRecognizer.h:
25655        * UIProcess/qt/QtTapGestureRecognizer.cpp:
25656        (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
25657        (WebKit::QtTapGestureRecognizer::recognize):
25658        (WebKit::QtTapGestureRecognizer::tapTimeout):
25659        * UIProcess/qt/QtTapGestureRecognizer.h:
25660        * UIProcess/qt/QtWebPageEventHandler.cpp:
25661        (QtWebPageEventHandler::QtWebPageEventHandler):
25662        (QtWebPageEventHandler::setViewportInteractionEngine):
25663        * UIProcess/qt/QtWebPageEventHandler.h:
25664        (QtWebPageEventHandler::interactionEngine):
25665
256662011-11-25  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
25667
25668        [Qt] Remove unneeded declaration from QQuickWebPagePrivate
25669        https://bugs.webkit.org/show_bug.cgi?id=73141
25670
25671        Reviewed by Antonio Gomes.
25672
25673        Left-over from r101165.
25674
25675        * UIProcess/API/qt/qquickwebpage_p_p.h:
25676
256772011-11-17  Martin Robinson  <mrobinson@igalia.com>
25678
25679        [GTK] Integrate build-gtkdoc into build-webkit and make
25680        https://bugs.webkit.org/show_bug.cgi?id=72626
25681
25682        Reviewed by Philippe Normand.
25683
25684        * GNUmakefile.am: Removed references to build-gtkdoc and gtkdoc.py.
25685        * UIProcess/API/gtk/docs/build-gtkdoc: Removed.
25686
256872011-11-25  Kenneth Rohde Christiansen  <kenneth@webkit.org>
25688
25689        Clean up code in WK2/ChromeClientClient related to viewport handling
25690        https://bugs.webkit.org/show_bug.cgi?id=73128
25691
25692        Reviewed by Simon Hausmann.
25693
25694        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
25695        (WebKit::WebChromeClient::contentsSizeChanged):
25696
25697            Make sure that we only call resizeToContentsIfNeeded when we are
25698            using the tiled backing store and fixed layout as well.
25699
25700            Guard the scrollbar code so that it is only called when scroll
25701            delegation is not used. Do similarily for the frameset code,
25702            which makes no sense with frame flattening.
25703
25704        (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
25705
25706            This method is only called for the main frame, so the main frame
25707            check has been removed.
25708
257092011-11-25  Simon Hausmann  <simon.hausmann@nokia.com>
25710
25711        [Qt] Eliminate warnings about the deprecated QQuickCanvas::sceneGraphEngine() function.
25712
25713        Reviewed by Andreas Kling.
25714
25715        We use the function in question to find out if we can connect to the scene graph's
25716        afterRendering signal. The signal has been moved into QQuickCanvas right away, so
25717        we can connect to it as soon as we have a canvas.
25718
25719        * UIProcess/API/qt/qquickwebpage.cpp:
25720        (QQuickWebPagePrivate::initializeSceneGraphConnections):
25721        * UIProcess/API/qt/qquickwebpage_p.h:
25722
257232011-11-24  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
25724
25725        [Qt][WK2] Move event handling out of QtWebPageProxy
25726        https://bugs.webkit.org/show_bug.cgi?id=73089
25727
25728        Reviewed by Kenneth Rohde Christiansen.
25729
25730        Move all logic related to event handling, gestures and the
25731        interaction engine out of QtWebPageProxy, creating a separate
25732        class called QtWebPageEventHandler. This handler will be created
25733        by the QQuickWebViewPrivate and will be registered into QtWebPageProxy.
25734        QQuickWebPage will now call handleEvent through this entity.
25735
25736        * Target.pri:
25737        * UIProcess/API/qt/qquickwebpage.cpp:
25738        (QQuickWebPage::event):
25739        * UIProcess/API/qt/qquickwebview.cpp:
25740        (QQuickWebViewPrivate::QQuickWebViewPrivate):
25741        (QQuickWebViewPrivate::initializeDesktop):
25742        (QQuickWebViewPrivate::initializeTouch):
25743        * UIProcess/API/qt/qquickwebview_p_p.h:
25744        * UIProcess/qt/QtTapGestureRecognizer.cpp:
25745        (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
25746        (WebKit::QtTapGestureRecognizer::recognize):
25747        (WebKit::QtTapGestureRecognizer::tapTimeout):
25748        * UIProcess/qt/QtTapGestureRecognizer.h:
25749        * UIProcess/qt/QtWebPageEventHandler.cpp: Added.
25750        (QtWebPageEventHandler::dragOperationToDropAction):
25751        (QtWebPageEventHandler::dragOperationToDropActions):
25752        (QtWebPageEventHandler::dropActionToDragOperation):
25753        (QtWebPageEventHandler::QtWebPageEventHandler):
25754        (QtWebPageEventHandler::~QtWebPageEventHandler):
25755        (QtWebPageEventHandler::handleEvent):
25756        (QtWebPageEventHandler::handleMouseMoveEvent):
25757        (QtWebPageEventHandler::handleMousePressEvent):
25758        (QtWebPageEventHandler::handleMouseReleaseEvent):
25759        (QtWebPageEventHandler::handleMouseDoubleClickEvent):
25760        (QtWebPageEventHandler::handleWheelEvent):
25761        (QtWebPageEventHandler::handleHoverLeaveEvent):
25762        (QtWebPageEventHandler::handleHoverMoveEvent):
25763        (QtWebPageEventHandler::handleDragEnterEvent):
25764        (QtWebPageEventHandler::handleDragLeaveEvent):
25765        (QtWebPageEventHandler::handleDragMoveEvent):
25766        (QtWebPageEventHandler::handleDropEvent):
25767        (QtWebPageEventHandler::handleSingleTapEvent):
25768        (QtWebPageEventHandler::handleDoubleTapEvent):
25769        (QtWebPageEventHandler::timerEvent):
25770        (QtWebPageEventHandler::handleKeyPressEvent):
25771        (QtWebPageEventHandler::handleKeyReleaseEvent):
25772        (QtWebPageEventHandler::handleFocusInEvent):
25773        (QtWebPageEventHandler::handleFocusOutEvent):
25774        (QtWebPageEventHandler::setViewportInteractionEngine):
25775        (QtWebPageEventHandler::touchEvent):
25776        (QtWebPageEventHandler::resetGestureRecognizers):
25777        (QtWebPageEventHandler::doneWithTouchEvent):
25778        (QtWebPageEventHandler::didFindZoomableArea):
25779        * UIProcess/qt/QtWebPageEventHandler.h: Added.
25780        * UIProcess/qt/QtWebPageProxy.cpp:
25781        (QtWebPageProxy::QtWebPageProxy):
25782        (QtWebPageProxy::init):
25783        (QtWebPageProxy::didFindZoomableArea):
25784        (QtWebPageProxy::processDidCrash):
25785        (QtWebPageProxy::startDrag):
25786        (QtWebPageProxy::doneWithTouchEvent):
25787        * UIProcess/qt/QtWebPageProxy.h:
25788        (QtWebPageProxy::eventHandler):
25789
257902011-11-25  Simon Hausmann  <simon.hausmann@nokia.com>
25791
25792        [Qt] Cleanup in QML tests.
25793
25794        Reviewed by Tor Arne Vestbø.
25795
25796        Use a simple QML component for the "DesktopWebView" instead of a new QML type.
25797        This will allow the use of the experimental extension in the future.
25798
25799        * UIProcess/API/qt/qquickwebview.cpp:
25800        (QQuickWebViewExperimental::useTraditionalDesktopBehaviour):
25801        * UIProcess/API/qt/qquickwebview_p.h:
25802        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/DesktopWebView.qml: Added.
25803        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
25804        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
25805        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
25806        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
25807        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
25808        * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
25809        (main):
25810
258112011-11-24  Zeno Albisser  <zeno@webkit.org>
25812
25813        [Qt]WK2][Mac] Use Mac port's IPC implementation instead of Unix sockets
25814        https://bugs.webkit.org/show_bug.cgi?id=72495
25815
25816        Make Qt using mach ports and Grand Central Dispatch for IPC
25817        when building on Mac.
25818
25819        Reviewed by Simon Hausmann.
25820
25821        * Platform/CoreIPC/Attachment.cpp:
25822        * Platform/CoreIPC/Attachment.h:
25823        * Platform/CoreIPC/Connection.h:
25824        * Platform/CoreIPC/CoreIPCMessageKinds.h:
25825        * Platform/SharedMemory.h:
25826        * Platform/WorkQueue.h:
25827        * Platform/mac/MachUtilities.cpp:
25828        * Platform/mac/WorkQueueMac.cpp:
25829        * Target.pri:
25830        * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
25831        (WebKit::ProcessLauncher::launchProcess):
25832        * UIProcess/WebProcessProxy.cpp:
25833        (WebKit::WebProcessProxy::didFinishLaunching):
25834        * WebProcess/qt/WebProcessMainQt.cpp:
25835        (WebKit::WebProcessMainQt):
25836
258372011-11-17  Oleg Romashin  <romaxa@gmail.com>
25838
25839        [Qt][WK2] Stop leaking memory in string QWK2 API's
25840        https://bugs.webkit.org/show_bug.cgi?id=72558
25841
25842        Reviewed by Simon Hausmann.
25843
25844        WKRef API pointers don't adopt the implementation pointers by default and the implementation pointers
25845        stay alive after destroying the API pointers.
25846        This patch adopts the implementation pointers correctly by using adoptWK that returns a WKRetainPtr
25847        that will be around temporarily and correctly release the object.
25848
25849        * UIProcess/qt/QtWebPageUIClient.cpp:
25850        (QtWebPageUIClient::mouseDidMoveOverElement):
25851        * UIProcess/qt/QtDownloadManager.cpp:
25852        (WebKit::qt_wk_didFailDownload):
25853        * UIProcess/qt/QtWebPageProxy.cpp:
25854        (QtWebPageProxy::load):
25855        (QtWebPageProxy::url):
25856        (QtWebPageProxy::title):
25857
258582011-11-24  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
25859
25860        [Qt] Get rid of the buildDirForSource() function in the build system
25861
25862        At some point the plan was to allow for running qmake on sub-trees
25863        of the sources, into the top level build directory, but this is no
25864        longer possible, so no reason to keep the convenience function around.
25865
25866        Reviewed by Simon Hausmann.
25867
25868        * DerivedSources.pri:
25869
258702011-11-24  Patrick Gansterer  <paroga@webkit.org>
25871
25872        [CMake] Add missing source files
25873        https://bugs.webkit.org/show_bug.cgi?id=73052
25874
25875        Reviewed by Andreas Kling.
25876
25877        Add more generic files to the sources list and remove the EFL specific stuff.
25878
25879        * CMakeLists.txt:
25880
258812011-11-21  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
25882
25883        [Qt][WK2] Move QQuickWebView::downloadRequested signal into experimental
25884        https://bugs.webkit.org/show_bug.cgi?id=72914
25885
25886        Reviewed by Andreas Kling.
25887
25888        Make the signal downloadRequested an experimental API from QQuickWebView
25889        and modify the qml test to use a WebView instead of a DesktopWebView.
25890
25891        * UIProcess/API/qt/qquickwebview_p.h:
25892        * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_download.qml.
25893        * UIProcess/API/qt/tests/qmltests/common/download.html: Removed.
25894        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
25895        * UIProcess/qt/QtWebPageProxy.cpp:
25896        (QtWebPageProxy::didReceiveDownloadResponse):
25897
258982011-11-22  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
25899
25900        [Qt] [WK2] Expose onNavigationRequested signal instead of expecting a slot be defined from QML
25901        https://bugs.webkit.org/show_bug.cgi?id=72976
25902
25903        Reviewed by Tor Arne Vestbø.
25904
25905        Expecting slots/methods to be implemented in QML isn't very idiomatic in
25906        comparison with the alternative of having a signal. So we now use a signal
25907        for handling navigation requests, and expose a 'request' object with relevant
25908        metadata. There's also a settable property 'action' used to indicate whether
25909        the navigation should be ignored or trigger a download.
25910
25911        The pattern signal with an object parameter that can keep the reply is common in QML,
25912        and used for example for mouse signals.
25913
25914        * UIProcess/API/qt/qquickwebview.cpp:
25915        * UIProcess/API/qt/qquickwebview_p.h:
25916        * UIProcess/API/qt/qquickwebview_p_p.h:
25917        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationPolicyForUrl.qml.
25918        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
25919        * UIProcess/qt/QtWebPagePolicyClient.cpp:
25920        (NavigationRequest::NavigationRequest):
25921        (NavigationRequest::url):
25922        (NavigationRequest::button):
25923        (NavigationRequest::modifiers):
25924        (NavigationRequest::action):
25925        (NavigationRequest::setAction):
25926        (QtWebPagePolicyClient::decidePolicyForNavigationAction):
25927        * UIProcess/qt/QtWebPagePolicyClient.h:
25928
259292011-11-22  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
25930
25931        [Qt] [WK2] Move PagePolicyClient related code to QtWebPagePolicyClient
25932        https://bugs.webkit.org/show_bug.cgi?id=72959
25933
25934        Reviewed by Andreas Kling.
25935
25936        Split PagePolicyClient related code from QtWebPageProxy/ClientImpl. The new
25937        QtWebPagePolicyClient registers itself with WKPageRef and it's owned by the
25938        QQuickWebViewPrivate. This is a move to clean up QtWebPageProxy object.
25939
25940        QtPolicyInterface abstraction was not helping us as much as the separation of
25941        the client code will. It was more useful when we had multiple WebViews.
25942
25943        * Target.pri:
25944        * UIProcess/API/qt/qquickwebview.cpp:
25945        (QQuickWebViewPrivate::QQuickWebViewPrivate):
25946        (toPolicyAction):
25947        (QQuickWebViewPrivate::navigationPolicyForURL):
25948        * UIProcess/API/qt/qquickwebview_p.h:
25949        * UIProcess/API/qt/qquickwebview_p_p.h:
25950        * UIProcess/qt/ClientImpl.cpp:
25951        * UIProcess/qt/ClientImpl.h:
25952        * UIProcess/qt/QtWebPagePolicyClient.cpp: Added.
25953        (QtWebPagePolicyClient::QtWebPagePolicyClient):
25954        (QtWebPagePolicyClient::decidePolicyForNavigationAction):
25955        (toQtWebPagePolicyClient):
25956        (toQtMouseButton):
25957        (toQtKeyboardModifiers):
25958        (QtWebPagePolicyClient::decidePolicyForResponse):
25959        * UIProcess/qt/QtWebPagePolicyClient.h: Renamed from Source/WebKit2/UIProcess/qt/QtPolicyInterface.h.
25960        * UIProcess/qt/QtWebPageProxy.cpp:
25961        (QtWebPageProxy::QtWebPageProxy):
25962        (QtWebPageProxy::init):
25963        * UIProcess/qt/QtWebPageProxy.h:
25964
259652011-11-23  Raphael Kubo da Costa  <kubo@profusion.mobi>
25966
25967        [CMake] Move the top-level logic to the top-level directory.
25968        https://bugs.webkit.org/show_bug.cgi?id=72685
25969
25970        Reviewed by Brent Fulgham.
25971
25972        * CMakeLists.txt: Adjust Source/ directory.
25973
259742011-11-22  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
25975
25976        Unreviewed : remove empty folders related to TouchWebView and DesktopWebView
25977        https://bugs.webkit.org/show_bug.cgi?id=72985
25978
25979        * UIProcess/API/qt/tests/qmltests/DesktopWebView: Removed.
25980        * UIProcess/API/qt/tests/qmltests/TouchWebView: Removed.
25981
259822011-11-22  Carlos Garcia Campos  <cgarcia@igalia.com>
25983
25984        Ensure web process before starting a download
25985        https://bugs.webkit.org/show_bug.cgi?id=72499
25986
25987        Reviewed by Anders Carlsson.
25988
25989        * UIProcess/WebContext.cpp:
25990        (WebKit::WebContext::download): Call ensureWebProcess().
25991
259922011-11-22  Csaba Osztrogonác  <ossy@webkit.org>
25993
25994        Unreviewed buildfix after r101001.
25995
25996        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
25997        (WebKit::WebInspectorClient::openInspectorFrontend): Use ASSERT_UNUSED instead of ASSERT.
25998
259992011-11-22  Pavel Feldman  <pfeldman@google.com>
26000
26001        Not reviewed: moving inspector frontend creation out of assert in WebKit2.
26002
26003        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
26004        (WebKit::WebInspectorClient::openInspectorFrontend):
26005
260062011-11-22  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
26007
26008        [Qt][WK2] Fix and unskip loadHtml api test
26009        https://bugs.webkit.org/show_bug.cgi?id=72916
26010
26011        Reviewed by Andreas Kling.
26012
26013        Now that linkHovered events are working again we can fix and unskip this
26014        loadHtml test.
26015
26016        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
26017
260182011-11-22  Pavel Feldman  <pfeldman@google.com>
26019
26020        Web Inspector: remove Inspector::bringToFront from the protocol.
26021        https://bugs.webkit.org/show_bug.cgi?id=72937
26022
26023        Reviewed by Yury Semikhatsky.
26024
26025        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
26026        (WebKit::WebInspectorClient::openInspectorFrontend):
26027        (WebKit::WebInspectorClient::bringFrontendToFront):
26028        * WebProcess/WebCoreSupport/WebInspectorClient.h:
26029
260302011-11-22  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
26031
26032        [Qt] [WK2] Move PageLoadClient related code to QtWebPageLoadClient
26033        https://bugs.webkit.org/show_bug.cgi?id=72928
26034
26035        Reviewed by Andreas Kling.
26036
26037        Split PageLoadClient related code from QtWebPageProxy/ClientImpl. The new
26038        QtWebPageLoadClient registers itself with WKPageRef and it's owned by the
26039        QQuickWebViewPrivate. This is a move to clean up QtWebPageProxy object.
26040
26041        * Target.pri:
26042        * UIProcess/API/qt/qquickwebview.cpp:
26043        (QQuickWebViewPrivate::QQuickWebViewPrivate):
26044        (QQuickWebView::loadProgress):
26045        * UIProcess/API/qt/qquickwebview_p.h:
26046        * UIProcess/API/qt/qquickwebview_p_p.h:
26047        * UIProcess/qt/ClientImpl.cpp:
26048        * UIProcess/qt/ClientImpl.h:
26049        * UIProcess/qt/QtWebPageLoadClient.cpp: Added.
26050        (QtWebPageLoadClient::QtWebPageLoadClient):
26051        (QtWebPageLoadClient::didStartProvisionalLoadForFrame):
26052        (QtWebPageLoadClient::didCommitLoadForFrame):
26053        (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
26054        (QtWebPageLoadClient::didReceiveTitleForFrame):
26055        (QtWebPageLoadClient::didFirstVisuallyNonEmptyLayoutForFrame):
26056        (QtWebPageLoadClient::dispatchLoadSucceeded):
26057        (QtWebPageLoadClient::dispatchLoadFailed):
26058        (QtWebPageLoadClient::setLoadProgress):
26059        (toQtWebPageLoadClient):
26060        (QtWebPageLoadClient::didFailProvisionalLoadWithErrorForFrame):
26061        (QtWebPageLoadClient::didFinishLoadForFrame):
26062        (QtWebPageLoadClient::didFailLoadWithErrorForFrame):
26063        (QtWebPageLoadClient::didStartProgress):
26064        (QtWebPageLoadClient::didChangeProgress):
26065        (QtWebPageLoadClient::didFinishProgress):
26066        * UIProcess/qt/QtWebPageLoadClient.h: Added.
26067        (QtWebPageLoadClient::loadProgress):
26068        * UIProcess/qt/QtWebPageProxy.cpp:
26069        (QtWebPageProxy::QtWebPageProxy):
26070        (QtWebPageProxy::init):
26071        (QtWebPageProxy::updateNavigationState):
26072        * UIProcess/qt/QtWebPageProxy.h:
26073
260742011-11-22  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
26075
26076        [Qt] [WK2] Move PageUIClient related code to QtWebPageUIClient
26077        https://bugs.webkit.org/show_bug.cgi?id=72910
26078
26079        Reviewed by Andreas Kling.
26080
26081        Split PageUIClient related code from QtWebPageProxy/ClientImpl. The new
26082        QtWebPageUIClient registers itself with WKPageRef and it's owned by the
26083        QQuickWebViewPrivate. This is a move to clean up QtWebPageProxy object.
26084
26085        * Target.pri:
26086        * UIProcess/API/qt/qquickwebview.cpp:
26087        (QQuickWebViewPrivate::QQuickWebViewPrivate):
26088        (QQuickWebViewPrivate::chooseFiles):
26089        * UIProcess/API/qt/qquickwebview_p.h:
26090        * UIProcess/API/qt/qquickwebview_p_p.h:
26091        * UIProcess/qt/ClientImpl.cpp:
26092        * UIProcess/qt/ClientImpl.h:
26093        * UIProcess/qt/QtWebPageProxy.cpp:
26094        (QtWebPageProxy::init):
26095        * UIProcess/qt/QtWebPageProxy.h:
26096        * UIProcess/qt/QtWebPageUIClient.cpp: Added.
26097        (QtWebPageUIClient::QtWebPageUIClient):
26098        (QtWebPageUIClient::runJavaScriptAlert):
26099        (QtWebPageUIClient::runJavaScriptConfirm):
26100        (QtWebPageUIClient::runJavaScriptPrompt):
26101        (QtWebPageUIClient::runOpenPanel):
26102        (QtWebPageUIClient::setStatusText):
26103        (QtWebPageUIClient::mouseDidMoveOverElement):
26104        (toQtWebPageUIClient):
26105        (createNullWKString):
26106        * UIProcess/qt/QtWebPageUIClient.h: Added.
26107
261082011-11-22  Eunmi Lee  <eunmi15.lee@samsung.com>
26109
26110        [WK2] Modify EFL port's WebEventFactory to use EflKeyboardUtilities's
26111        keyIdentifierForEvasKeyName() and windowsKeyCodeForEvasKeyName().
26112        https://bugs.webkit.org/show_bug.cgi?id=72850
26113
26114        Reviewed by Anders Carlsson.
26115
26116        The EflKeyboardUtilities has been added, so we can use keyIdentifierForEvasKeyName() and
26117        windowsKeyCodeForEvasKeyName() for EFL port's WebEventFactory.
26118
26119        * Shared/efl/WebEventFactory.cpp:
26120        (WebKit::WebEventFactory::createWebKeyboardEvent):
26121
261222011-11-21  Alexis Menard  <alexis.menard@openbossa.org>
26123
26124        [Qt][WK2] REGRESSION(100483): It made 2 API tests fail
26125        https://bugs.webkit.org/show_bug.cgi?id=72612
26126
26127        Reviewed by Kenneth Rohde Christiansen.
26128
26129        Make sure that when the view is focused, the page knows about it.
26130        Also set a the view to be the focused item in the failing tests.
26131
26132        * UIProcess/API/qt/qquickwebpage_p.h:
26133        * UIProcess/API/qt/qquickwebview.cpp:
26134        (QQuickWebView::focusInEvent):
26135        (QQuickWebView::focusOutEvent):
26136        * UIProcess/API/qt/qquickwebview_p.h:
26137        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
26138        * UIProcess/qt/QtWebPageProxy.cpp:
26139        (QtWebPageProxy::isViewFocused):
26140
261412011-11-21  Simon Hausmann  <simon.hausmann@nokia.com>
26142
26143        [Qt] Speed up debug builds.
26144        https://bugs.webkit.org/show_bug.cgi?id=72882
26145
26146        Reviewed by Tor Arne Vestbø.
26147
26148        * Target.pri: Make BUILDING_WebKit2 available, so it can be
26149        used by the build system.
26150
261512011-11-21  Alexis Menard  <alexis.menard@openbossa.org>
26152
26153        [Qt] Remove unnecessary initialize method from QQuickWebView.
26154        https://bugs.webkit.org/show_bug.cgi?id=72905
26155
26156        Reviewed by Kenneth Rohde Christiansen.
26157
26158        We don't need this level of indirection.
26159
26160        * UIProcess/API/qt/qquickwebview.cpp:
26161        (QQuickWebViewPrivate::QQuickWebViewPrivate):
26162        (QQuickWebView::QQuickWebView):
26163        * UIProcess/API/qt/qquickwebview_p_p.h:
26164
261652011-11-21  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
26166
26167        [Qt][WK2] Implement loadHtml API for QQuickWebView
26168        https://bugs.webkit.org/show_bug.cgi?id=72161
26169
26170        Reviewed by Simon Hausmann.
26171
26172        Implement QQuickWebView::loadHtml that calls QtWebPageProxy::loadHTMLString.
26173        This function will use WKPageLoadHTMLString in order to load HTML from a given string.
26174
26175        * UIProcess/API/qt/qquickwebview.cpp:
26176        (QQuickWebView::loadHtml):
26177        * UIProcess/API/qt/qquickwebview.h:
26178        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadHtml.qml: Added.
26179        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml: Added.
26180        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
26181        * UIProcess/qt/QtWebPageProxy.cpp:
26182        (QtWebPageProxy::loadHTMLString):
26183        * UIProcess/qt/QtWebPageProxy.h:
26184
261852011-11-21  Igor Oliveira  <igor.oliveira@openbossa.org>
26186
26187        [WK2][Qt] Move Accelerated Composite animations to UIProcess
26188        https://bugs.webkit.org/show_bug.cgi?id=72753
26189
26190        Currently, all the accelerated compositing animations are applied in WebProcess and
26191        for each frame generated, WebProcess needs to sync with UIProcess.
26192
26193        This patch moves the accelerated compositing animations to UIProcess reducing the
26194        amount of synchronization messages between WebProcess and UIProcess, this is done
26195        sending animations information to UIProcess.
26196
26197        Reviewed by Noam Rosenthal.
26198
26199        * Shared/WebCoreArgumentCoders.cpp:
26200        (CoreIPC::::encode):
26201        (CoreIPC::::decode):
26202
26203        Encode/Decode RefPtr<Animation> instead of Animation class. This facilitates
26204        the data serialization.
26205
26206        * Shared/WebCoreArgumentCoders.h:
26207        * Shared/WebLayerTreeInfo.cpp:
26208        (WebKit::WebLayerInfo::encode):
26209        (WebKit::WebLayerInfo::decode):
26210        (WebKit::WebLayerAnimation::encode):
26211        (WebKit::WebLayerAnimation::decode):
26212
26213        Create WebLayerAnimation struct, it is used to send animation information
26214        to UIProcess.
26215
26216        * Shared/WebLayerTreeInfo.h:
26217        (WebKit::WebLayerAnimation::WebLayerAnimation):
26218        * UIProcess/LayerTreeHostProxy.h:
26219        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
26220        (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
26221        (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
26222        (WebKit::LayerTreeHostProxy::didFireViewportUpdateTimer):
26223        (WebKit::LayerTreeHostProxy::syncLayerParameters):
26224        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
26225        (WebCore::WebGraphicsLayer::addAnimation):
26226        (WebCore::WebGraphicsLayer::pauseAnimation):
26227        (WebCore::WebGraphicsLayer::removeAnimation):
26228        (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
26229
262302011-11-21  Pavel Feldman  <pfeldman@chromium.org>
26231
26232        Web Inspector: [WebKit2] Do not access InspectorController from the "Develop" menu code.
26233        https://bugs.webkit.org/show_bug.cgi?id=63009
26234
26235        Reviewed by Yury Semikhatsky.
26236
26237        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
26238        (WebKit::WebInspectorClient::openInspectorFrontend):
26239        * WebProcess/WebPage/WebInspector.cpp:
26240        (WebKit::WebInspector::WebInspector):
26241        (WebKit::WebInspector::createInspectorPage):
26242        (WebKit::WebInspector::showConsole):
26243        (WebKit::WebInspector::startJavaScriptDebugging):
26244        (WebKit::WebInspector::stopJavaScriptDebugging):
26245        (WebKit::WebInspector::setJavaScriptProfilingEnabled):
26246        (WebKit::WebInspector::startJavaScriptProfiling):
26247        (WebKit::WebInspector::stopJavaScriptProfiling):
26248        (WebKit::WebInspector::startPageProfiling):
26249        (WebKit::WebInspector::stopPageProfiling):
26250        * WebProcess/WebPage/WebInspector.h:
26251
262522011-11-21  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
26253
26254        [Qt] Add WebView.view attached property support for dialogs in QML
26255        https://bugs.webkit.org/show_bug.cgi?id=72825
26256
26257        Reviewed by Simon Hausmann.
26258
26259        When creating new dialogs, fill their WebView.view attached property
26260        with the WebView that's creating them. This follows the same pattern
26261        as QtQuick's ListView, enabling the usage of the same dialog component
26262        for different WebViews.
26263
26264        * UIProcess/API/qt/qquickwebview.cpp:
26265        (QQuickWebViewPrivate::runJavaScriptAlert):
26266        (QQuickWebViewPrivate::runJavaScriptConfirm):
26267        (QQuickWebViewPrivate::runJavaScriptPrompt):
26268        (QQuickWebViewPrivate::setViewInAttachedProperties):
26269        (QQuickWebViewAttached::QQuickWebViewAttached):
26270        (QQuickWebViewAttached::setView):
26271        (QQuickWebView::qmlAttachedProperties):
26272        * UIProcess/API/qt/qquickwebview_p.h:
26273        * UIProcess/API/qt/qquickwebview_p_p.h:
26274        * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
26275        * UIProcess/qt/QtDialogRunner.h:
26276        (QtDialogRunner::dialog):
26277
262782011-11-21  Jochen Eisinger  <jochen@chromium.org>
26279
26280        Implement Meta referrer
26281        https://bugs.webkit.org/show_bug.cgi?id=72674
26282
26283        Reviewed by Adam Barth.
26284
26285        * WebProcess/Plugins/PluginView.cpp:
26286        (WebKit::PluginView::loadURL):
26287
262882011-11-21  Carlos Garcia Campos  <cgarcia@igalia.com>
26289
26290        Unreviewed. Fix make distcheck build.
26291
26292        * GNUmakefile.am:
26293
262942011-10-17  Antonio Gomes  <agomes@rim.com>
26295
26296        Pass a Frame* parameter in EditorClient::respondToChangedSelection
26297        https://bugs.webkit.org/show_bug.cgi?id=70248
26298
26299        Reviewed by Ryosuke Niwa.
26300
26301        * WebProcess/WebCoreSupport/WebEditorClient.cpp: Make use of the newly added Frame* parameter.
26302        (WebKit::WebEditorClient::respondToChangedSelection):
26303        * WebProcess/WebCoreSupport/WebEditorClient.h:
26304
263052011-11-17  Mark Rowe  <mrowe@apple.com>
26306
26307        <http://webkit.org/b/72646> Disable deprecation warnings around code where we cannot easily
26308        switch away from the deprecated APIs.
26309
26310        Reviewed by Sam Weinig.
26311
26312        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
26313
263142011-11-19  Sheriff Bot  <webkit.review.bot@gmail.com>
26315
26316        Unreviewed, rolling out r100834.
26317        http://trac.webkit.org/changeset/100834
26318        https://bugs.webkit.org/show_bug.cgi?id=72806
26319
26320        this patch makes Qt run-webkit-test exit before finishing
26321        (Requested by igoroliveira on #webkit).
26322
26323        * Shared/WebCoreArgumentCoders.cpp:
26324        (CoreIPC::::encode):
26325        (CoreIPC::::decode):
26326        * Shared/WebCoreArgumentCoders.h:
26327        * Shared/WebLayerTreeInfo.cpp:
26328        (WebKit::WebLayerInfo::encode):
26329        (WebKit::WebLayerInfo::decode):
26330        * Shared/WebLayerTreeInfo.h:
26331        * UIProcess/LayerTreeHostProxy.h:
26332        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
26333        (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
26334        (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
26335        (WebKit::LayerTreeHostProxy::syncLayerParameters):
26336        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
26337        (WebCore::WebGraphicsLayer::addAnimation):
26338        (WebCore::WebGraphicsLayer::pauseAnimation):
26339        (WebCore::WebGraphicsLayer::removeAnimation):
26340        (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
26341
263422011-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>
26343
26344        Unreviewed, rolling out r100826.
26345        http://trac.webkit.org/changeset/100826
26346        https://bugs.webkit.org/show_bug.cgi?id=72786
26347
26348        Broke Chromium Mac build (Requested by aklein on #webkit).
26349
26350        * UIProcess/API/mac/PageClientImpl.h:
26351        * UIProcess/API/mac/PageClientImpl.mm:
26352        * UIProcess/PageClient.h:
26353        * UIProcess/WebPageProxy.cpp:
26354        * UIProcess/WebPageProxy.h:
26355        * UIProcess/WebPageProxy.messages.in:
26356        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
26357        (WebKit::BuiltInPDFView::scrollbarStyleChanged):
26358        * WebProcess/Plugins/PDF/BuiltInPDFView.h:
26359        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
26360        * WebProcess/WebCoreSupport/WebChromeClient.h:
26361
263622011-11-18  Igor Oliveira  <igor.oliveira@openbossa.org>
26363
26364        [WK2][Qt] Move Accelerated Composite animations to UIProcess
26365        https://bugs.webkit.org/show_bug.cgi?id=72753
26366
26367        Currently, all the accelerated compositing animations are applied in WebProcess and
26368        for each frame generated, WebProcess needs to sync with UIProcess.
26369
26370        This patch moves the accelerated compositing animations to UIProcess reducing the
26371        amount of synchronization messages between WebProcess and UIProcess, this is done
26372        sending animations information to UIProcess.
26373
26374        Reviewed by Noam Rosenthal.
26375
26376        * Shared/WebCoreArgumentCoders.cpp:
26377        (CoreIPC::::encode):
26378        (CoreIPC::::decode):
26379
26380        Encode/Decode RefPtr<Animation> instead of Animation class. This facilitates
26381        the data serialization.
26382
26383        * Shared/WebCoreArgumentCoders.h:
26384        * Shared/WebLayerTreeInfo.cpp:
26385        (WebKit::WebLayerInfo::encode):
26386        (WebKit::WebLayerInfo::decode):
26387        (WebKit::WebLayerAnimation::encode):
26388        (WebKit::WebLayerAnimation::decode):
26389
26390        Create WebLayerAnimation struct, it is used to send animation information
26391        to UIProcess.
26392
26393        * Shared/WebLayerTreeInfo.h:
26394        (WebKit::WebLayerAnimation::WebLayerAnimation):
26395        * UIProcess/LayerTreeHostProxy.h:
26396        * UIProcess/qt/LayerTreeHostProxyQt.cpp:
26397        (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
26398        (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
26399        (WebKit::LayerTreeHostProxy::updateSceneGraphUpdateTimerFired):
26400        (WebKit::LayerTreeHostProxy::syncLayerParameters):
26401        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
26402        (WebCore::WebGraphicsLayer::addAnimation):
26403        (WebCore::WebGraphicsLayer::pauseAnimation):
26404        (WebCore::WebGraphicsLayer::removeAnimation):
26405        (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
26406
264072011-11-18  Beth Dakin  <bdakin@apple.com>
26408
26409        https://bugs.webkit.org/show_bug.cgi?id=72551
26410        When the recommended scrollbar style changes, WKView's tracking options should 
26411        adjust accordingly
26412        -and corresponding-
26413        <rdar://problem/10409328>
26414
26415        Reviewed by Darin Adler.
26416
26417        These new functions take care of passing along the 
26418        recommendedScrollbarStyleDidChange() message that originates in the ChromeClient. 
26419        * UIProcess/API/mac/PageClientImpl.h:
26420        * UIProcess/PageClient.h:
26421        * UIProcess/WebPageProxy.cpp:
26422        (WebKit::WebPageProxy::recommendedScrollbarStyleDidChange):
26423        * UIProcess/WebPageProxy.h:
26424        * UIProcess/WebPageProxy.messages.in:
26425        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
26426        (WebKit::WebChromeClient::recommendedScrollbarStyleDidChange):
26427        * WebProcess/WebCoreSupport/WebChromeClient.h:
26428
26429        This is where we actually respond to the recommendedScrollbarStyleDidChange 
26430        message. We remove the existing tracking area and create a new tracking area with 
26431        the appropriate tracking options.
26432        * UIProcess/API/mac/PageClientImpl.mm:
26433        (WebKit::PageClientImpl::recommendedScrollbarStyleDidChange):
26434
26435        BuiltInPDFView inherits from WebCore::ScrollableArea, so scrollbarStyleChanged() 
26436        must now take two parameters like the one in ScrollableArea.
26437        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
26438        (WebKit::BuiltInPDFView::scrollbarStyleChanged):
26439        * WebProcess/Plugins/PDF/BuiltInPDFView.h:
26440
264412011-11-18  Dinu Jacob  <dinu.jacob@nokia.com>
26442
26443        [Qt][Wk2] Add an API test for scroll request from javascript
26444        https://bugs.webkit.org/show_bug.cgi?id=72407
26445
26446        New API test added for QQuickWebView for javascript scroll request 
26447        Reviewed by Simon Hausmann.
26448
26449        * UIProcess/API/qt/tests/html/scroll.html: Added.
26450        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
26451        (tst_QQuickWebView::scrollRequest):
26452
264532011-11-18 No'am Rosenthal  <noam.rosenthal@nokia.com>
26454
26455        WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
26456        https://bugs.webkit.org/show_bug.cgi?id=61694
26457
26458        Add an ArgumentCoder for KeyframeValueList, and modify the TimingFunction ArgumentCoder to
26459        allow encoding const TimingFunctions and not just RefPtr<TimingFunction>.
26460
26461        Reviewed by Simon Hausmann.
26462
26463        * Scripts/webkit2/messages.py:
26464        * Shared/WebCoreArgumentCoders.cpp:
26465        (CoreIPC::::encode):
26466        (CoreIPC::::decode):
26467        * Shared/WebCoreArgumentCoders.h:
26468
264692011-11-18  Kenneth Rohde Christiansen  <kenneth@webkit.org>
26470
26471        [Qt] Guard for the viewportInteractionEngine as it doesn't always exist.
26472
26473        Reviewed by Antonio Gomes.
26474
26475        The engine is non-existent when the view is configured to use desktop
26476        behavior.
26477
26478        * UIProcess/qt/QtWebPageProxy.cpp:
26479        (QtWebPageProxy::handleWheelEvent):
26480        (QtWebPageProxy::didFindZoomableArea):
26481
264822011-11-18  Carlos Garcia Campos  <cgarcia@igalia.com>
26483
26484        [GTK] Send DidCreateDestination to DownloadProxy when destination has been created
26485        https://bugs.webkit.org/show_bug.cgi?id=72724
26486
26487        Reviewed by Martin Robinson.
26488
26489        * WebProcess/Downloads/soup/DownloadSoup.cpp:
26490        (WebKit::DownloadClient::didReceiveResponse): Call
26491        didCreateDestination() when destination URI has been successfully
26492        created.
26493
264942011-11-18  Carlos Garcia Campos  <cgarcia@igalia.com>
26495
26496        [GTK] Cancel current download operation before download object is deleted
26497        https://bugs.webkit.org/show_bug.cgi?id=72721
26498
26499        Reviewed by Martin Robinson.
26500
26501        It fixes a crash in the web process when a download finishes early
26502        due to a failure.
26503
26504        * WebProcess/Downloads/soup/DownloadSoup.cpp:
26505        (WebKit::Download::cancel): Delete current ResourceHandle.
26506        (WebKit::Download::platformInvalidate): If there's a
26507        ResourceHandle active, cancel the download operation and delete
26508        the handle.
26509        (WebKit::Download::platformDidFinish): Delete current ResourceHandle.
26510
265112011-11-18  Carlos Garcia Campos  <cgarcia@igalia.com>
26512
26513        [GTK] Downloads not started by WebView only fail for transport errors
26514        https://bugs.webkit.org/show_bug.cgi?id=72718
26515
26516        Reviewed by Martin Robinson.
26517
26518        * WebProcess/Downloads/soup/DownloadSoup.cpp:
26519        (WebKit::DownloadClient::didReceiveResponse): Check if the http
26520        status of the response is an error code and finish the download
26521        with an error in such case.
26522
265232011-11-17  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
26524
26525        [Qt] Support customizing JS alert/confirm/prompt dialogs using QML
26526        https://bugs.webkit.org/show_bug.cgi?id=72319
26527
26528        Reviewed by Simon Hausmann.
26529
26530        Adds alertDialog, confirmDialog and promptDialog properties to QQuickWebView's
26531        privateObject. These are QML components that are created by the webview when the
26532        corresponding function is called in JS.
26533
26534        The dialogs are created in a context that contains a model object, similar to
26535        ListView delegates. The "message" and "defaultValue" parameters are available
26536        in the model object, as well as slots expected to be called by the dialog.
26537
26538        This commit removes the old code for supporting QWidget builtin dialogs. The code
26539        wasn't working properly (closing any dialog was closing the app after QWindow
26540        refactoring in Qt5).
26541
26542        * Target.pri:
26543        * UIProcess/API/qt/qquickwebview.cpp:
26544        (QQuickWebViewPrivate::runJavaScriptAlert):
26545        (QQuickWebViewPrivate::runJavaScriptConfirm):
26546        (QQuickWebViewPrivate::runJavaScriptPrompt):
26547        (QQuickWebViewExperimental::alertDialog):
26548        (QQuickWebViewExperimental::setAlertDialog):
26549        (QQuickWebViewExperimental::confirmDialog):
26550        (QQuickWebViewExperimental::setConfirmDialog):
26551        (QQuickWebViewExperimental::promptDialog):
26552        (QQuickWebViewExperimental::setPromptDialog):
26553        * UIProcess/API/qt/qquickwebview_p.h:
26554        * UIProcess/API/qt/qquickwebview_p_p.h:
26555        * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml: Added.
26556        * UIProcess/API/qt/tests/qmltests/common/alert.html: Added.
26557        * UIProcess/API/qt/tests/qmltests/common/confirm.html: Added.
26558        * UIProcess/API/qt/tests/qmltests/common/prompt.html: Added.
26559        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
26560        * UIProcess/qt/QtDialogRunner.cpp: Added.
26561        (QtDialogRunner::QtDialogRunner):
26562        (QtDialogRunner::~QtDialogRunner):
26563        (DialogContextObject::DialogContextObject):
26564        (DialogContextObject::message):
26565        (DialogContextObject::defaultValue):
26566        (DialogContextObject::dismiss):
26567        (DialogContextObject::accept):
26568        (DialogContextObject::reject):
26569        (QtDialogRunner::initForAlert):
26570        (QtDialogRunner::initForConfirm):
26571        (QtDialogRunner::initForPrompt):
26572        (QtDialogRunner::createDialog):
26573        * UIProcess/qt/QtDialogRunner.h: Added.
26574        (QtDialogRunner::wasAccepted):
26575        (QtDialogRunner::result):
26576        (QtDialogRunner::onAccepted):
26577
265782011-11-18  Kenneth Rohde Christiansen  <kenneth@webkit.org>
26579
26580        [Qt] Support wheel event together with resizesToContents
26581
26582        Reviewed by Simon Hausmann.
26583
26584        * UIProcess/API/qt/qquickwebpage.cpp:
26585        * UIProcess/qt/QtViewportInteractionEngine.cpp:
26586        (WebKit::QtViewportInteractionEngine::wheelEvent):
26587        * UIProcess/qt/QtViewportInteractionEngine.h:
26588        * UIProcess/qt/QtWebPageProxy.cpp:
26589        (QtWebPageProxy::handleWheelEvent):
26590
265912011-11-18  Simon Hausmann  <simon.hausmann@nokia.com>
26592
26593        [Qt][WK2] Layer violation: WebPopupMenuProxyQtDesktop.cpp uses files from WebKit/qt
26594        https://bugs.webkit.org/show_bug.cgi?id=72696
26595
26596        Reviewed by Kenneth Rohde Christiansen.
26597
26598        Implement the WK2 desktop popup by simply subclassing QComboBox and doing the
26599        same thing as QtWebComboBox from WK1 (a few lines of code).
26600
26601        * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
26602        (WebKit::WebPopupMenuProxyQtDesktop::WebPopupMenuProxyQtDesktop):
26603        (WebKit::WebPopupMenuProxyQtDesktop::~WebPopupMenuProxyQtDesktop):
26604        (WebKit::WebPopupMenuProxyQtDesktop::showPopupMenu):
26605        (WebKit::WebPopupMenuProxyQtDesktop::hidePopupMenu):
26606        (WebKit::WebPopupMenuProxyQtDesktop::eventFilter):
26607        (WebKit::WebPopupMenuProxyQtDesktop::setSelectedIndex):
26608        (WebKit::WebPopupMenuProxyQtDesktop::populate):
26609        * UIProcess/qt/WebPopupMenuProxyQtDesktop.h:
26610
266112011-11-18  Zeno Albisser  <zeno@webkit.org>
26612
26613        [Qt][WK2] setViewportInteractionEngine must also set the InteractionEngine for the tap recognizer.
26614        https://bugs.webkit.org/show_bug.cgi?id=72717
26615
26616        Reviewed by Kenneth Rohde Christiansen.
26617
26618        * UIProcess/qt/QtTapGestureRecognizer.cpp:
26619        (WebKit::QtTapGestureRecognizer::setViewportInteractionEngine):
26620        * UIProcess/qt/QtTapGestureRecognizer.h:
26621        * UIProcess/qt/QtWebPageProxy.cpp:
26622        (QtWebPageProxy::setViewportInteractionEngine):
26623        * UIProcess/qt/QtWebPageProxy.h:
26624
266252011-11-18  Simon Hausmann  <simon.hausmann@nokia.com>
26626
26627        [Qt][WK2] Fix popups for select elements.
26628
26629        Reviewed by Tor Arne Vestbø.
26630
26631        * UIProcess/qt/QtWebPageProxy.cpp:
26632        (QtWebPageProxy::createPopupMenuProxy): Fall back to the "desktop" implementation
26633        for the moment. Better than nothing :)
26634
266352011-11-18  Simon Hausmann  <simon.hausmann@nokia.com>
26636
26637        [Qt] Unreviewed debug build fix
26638
26639        * UIProcess/qt/QtWebPageProxy.cpp:
26640        (QtWebPageProxy::QtWebPageProxy): Don't assert on a non-existant
26641        variable.
26642
266432011-11-18  Simon Hausmann  <simon.hausmann@nokia.com>
26644
26645        [Qt] Removal of QtViewInterface part 3
26646
26647        Reviewed by Kenneth Rohde Christiansen.
26648
26649        Move the remaining forwarded calls from ClientImpl that went through
26650        ViewInterface and then PageProxy or WebView to go straight to
26651        QtWebPageProxy. QtViewInterface is empty now and therefore removed.
26652
26653        * Target.pri:
26654        * UIProcess/API/qt/qquickwebpage_p.h:
26655        * UIProcess/API/qt/qquickwebpage_p_p.h:
26656        * UIProcess/API/qt/qquickwebview.cpp:
26657        (QQuickWebViewPrivate::initialize):
26658        (QQuickWebViewPrivate::chooseFiles):
26659        * UIProcess/API/qt/qquickwebview_p.h:
26660        * UIProcess/API/qt/qquickwebview_p_p.h:
26661        * UIProcess/qt/ClientImpl.cpp:
26662        (qt_wk_runJavaScriptAlert):
26663        (qt_wk_runJavaScriptConfirm):
26664        (qt_wk_runJavaScriptPrompt):
26665        (qt_wk_setStatusText):
26666        (qt_wk_runOpenPanel):
26667        (qt_wk_mouseDidMoveOverElement):
26668        (setupPageUiClient):
26669        * UIProcess/qt/QtViewInterface.cpp: Removed.
26670        * UIProcess/qt/QtViewInterface.h: Removed.
26671        * UIProcess/qt/QtWebPageProxy.cpp:
26672        (QtWebPageProxy::QtWebPageProxy):
26673        (QtWebPageProxy::didChangeStatusText):
26674        (QtWebPageProxy::didMouseMoveOverElement):
26675        (QtWebPageProxy::showContextMenu):
26676        (QtWebPageProxy::hideContextMenu):
26677        (QtWebPageProxy::runJavaScriptAlert):
26678        (QtWebPageProxy::runJavaScriptConfirm):
26679        (QtWebPageProxy::runJavaScriptPrompt):
26680        (QtWebPageProxy::chooseFiles):
26681        (QtWebPageProxy::createContextMenuProxy):
26682        (QtWebPageProxy::didChangeLoadProgress):
26683        * UIProcess/qt/QtWebPageProxy.h:
26684        (QtWebPageProxy::contextMenuItemSelected):
26685        * UIProcess/qt/WebContextMenuProxyQt.cpp:
26686        (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
26687        (WebKit::WebContextMenuProxyQt::create):
26688        (WebKit::WebContextMenuProxyQt::hideContextMenu):
26689        * UIProcess/qt/WebContextMenuProxyQt.h:
26690
266912011-11-18  Zalan Bujtas  <zbujtas@gmail.com>
26692
26693        [Qt][WK2] UI process segfaults, when visiblity properties are set while the WebProcess is dead.
26694        https://bugs.webkit.org/show_bug.cgi?id=72699
26695
26696        The drawing area may be null, if the web process has crashed, but not yet recovered.
26697        Always null check against drawing area.
26698
26699        Reviewed by Simon Hausmann.
26700
26701        * UIProcess/qt/QtWebPageProxy.cpp:
26702        (QtWebPageProxy::setDrawingAreaSize):
26703        (QtWebPageProxy::setVisibleContentRectAndScale):
26704        (QtWebPageProxy::setVisibleContentRectTrajectoryVector):
26705
267062011-11-18  Simon Hausmann  <simon.hausmann@nokia.com>
26707
26708        [Qt] Removal of QtViewInterface part 2
26709
26710        Reviewed by Kenneth Rohde Christiansen.
26711
26712        Move all functions that forwarded from QtWebPageProxy to QtViewInterface and then
26713        to QQuickWebView straight into QtWebPageProxy.
26714
26715        * UIProcess/API/qt/qquickwebpage_p.h:
26716        * UIProcess/API/qt/qquickwebview.cpp:
26717        (QQuickWebViewPrivate::initialize):
26718        * UIProcess/API/qt/qquickwebview_p_p.h:
26719        * UIProcess/qt/QtViewInterface.cpp:
26720        * UIProcess/qt/QtViewInterface.h:
26721        * UIProcess/qt/QtWebPageProxy.cpp:
26722        (QtWebPageProxy::QtWebPageProxy):
26723        (QtWebPageProxy::setCursor):
26724        (QtWebPageProxy::isViewWindowActive):
26725        (QtWebPageProxy::isViewVisible):
26726        (QtWebPageProxy::pageDidRequestScroll):
26727        (QtWebPageProxy::didFinishFirstNonEmptyLayout):
26728        (QtWebPageProxy::didChangeContentsSize):
26729        (QtWebPageProxy::didChangeViewportProperties):
26730        (QtWebPageProxy::toolTipChanged):
26731        (QtWebPageProxy::didChangeUrl):
26732        (QtWebPageProxy::didChangeTitle):
26733        (QtWebPageProxy::loadDidBegin):
26734        (QtWebPageProxy::loadDidCommit):
26735        (QtWebPageProxy::loadDidSucceed):
26736        (QtWebPageProxy::loadDidFail):
26737        (QtWebPageProxy::didRelaunchProcess):
26738        (QtWebPageProxy::processDidCrash):
26739        (QtWebPageProxy::startDrag):
26740        (QtWebPageProxy::didReceiveDownloadResponse):
26741        * UIProcess/qt/QtWebPageProxy.h:
26742
267432011-11-18  Simon Hausmann  <simon.hausmann@nokia.com>
26744
26745        [Qt] Removal of QtViewInterface part 1
26746
26747        Reviewed by Kenneth Rohde Christiansen.
26748
26749        Replace functions of QtViewInterface that forward to QQuickWebPage with direct
26750        usage of QQuickWebPage. Also removed some dead code.
26751
26752        * UIProcess/API/qt/qquickwebpage.cpp:
26753        (QQuickWebPage::sceneGraphUpdateQueue):
26754        * UIProcess/API/qt/qquickwebpage_p.h:
26755        * UIProcess/API/qt/qquickwebview.cpp:
26756        (QQuickWebViewPrivate::initialize):
26757        * UIProcess/TiledDrawingAreaProxy.h:
26758        * UIProcess/qt/QtViewInterface.cpp:
26759        (WebKit::QtViewInterface::QtViewInterface):
26760        (WebKit::QtViewInterface::isVisible):
26761        * UIProcess/qt/QtViewInterface.h:
26762        * UIProcess/qt/QtWebPageProxy.cpp:
26763        (QtWebPageProxy::QtWebPageProxy):
26764        (QtWebPageProxy::setViewNeedsDisplay):
26765        (QtWebPageProxy::viewSize):
26766        (QtWebPageProxy::isViewFocused):
26767        (QtWebPageProxy::isViewVisible):
26768        (QtWebPageProxy::didRelaunchProcess):
26769        * UIProcess/qt/QtWebPageProxy.h:
26770        (QtWebPageProxy::qmlWebPage):
26771        * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
26772
267732011-11-17  Simon Hausmann  <simon.hausmann@nokia.com>
26774
26775        [Qt] Layer violation: ThirdPartyCookiesQt.cpp uses QWebSettings in two places
26776        https://bugs.webkit.org/show_bug.cgi?id=72597
26777
26778        Reviewed by Kenneth Rohde Christiansen.
26779
26780        Stub implementation of new NetworkingContext::thirdPartyCookiePolicyPermission
26781        API.
26782
26783        * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
26784        (WebCore::WebFrameNetworkingContext::thirdPartyCookiePolicyPermission):
26785        * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h:
26786
267872011-11-17  Martin Robinson  <mrobinson@igalia.com>
26788
26789        [GTK] The process freezes when you right click on windowless Flash
26790        https://bugs.webkit.org/show_bug.cgi?id=69123
26791
26792        Reviewed by Xan Lopez.
26793
26794        Add a new plugin quirk for dealing with right-clicking on
26795        windowless Flash on x86_64 machines. This already exists for
26796        WebKit1.
26797
26798        * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
26799        (WebKit::NetscapePluginModule::determineQuirks): If the plugin is
26800        Flash and we are on x86_64, then disable sending right-clicking
26801        events while in windowless mode.
26802        * Shared/Plugins/PluginQuirks.h: Add the new quirk.
26803        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
26804        (WebKit::NetscapePlugin::platformHandleMouseEvent): If the quirk
26805        is active  don't send right click events.
26806
268072011-11-17  Igor Oliveira  <igor.oliveira@openbossa.org>
26808
26809        [WK2] Fix TransformOperation serialization
26810        https://bugs.webkit.org/show_bug.cgi?id=72625
26811
26812        SimpleArgumentCoder can encode and decode just POD types. And according the 
26813        ISO/IEC 14882, POD types does not have virtual methods, however TransformOperation
26814        has pure virtual methods.
26815
26816        This patch fixes TransformOperation subclass serialization.
26817
26818        Reviewed by Noam Rosenthal.
26819
26820        * Shared/WebCoreArgumentCoders.cpp:
26821        (CoreIPC::::encode):
26822        (CoreIPC::::decode):
26823        (CoreIPC::encodeOperation):
26824        (CoreIPC::decodeOperation):
26825        * Shared/WebCoreArgumentCoders.h:
26826
268272011-11-17  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
26828
26829        [Qt][WK2] Fix zero sized views in all QML tests
26830        https://bugs.webkit.org/show_bug.cgi?id=72633
26831
26832        Reviewed by Noam Rosenthal.
26833
26834        After r100590, zero sized WebViews are no longer supported and,
26835        therefore, the QML API tests need to be fixed.
26836
26837        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
26838        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml:
26839        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml:
26840        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadZeroSizeView.qml: Removed.
26841        * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
26842        * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml:
26843        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
26844
268452011-11-17  Alexis Menard  <alexis.menard@openbossa.org>
26846
26847        [Qt][WK2] Don't export the private QQuickView.
26848
26849        Reviewed by Kenneth Rohde Christiansen.
26850
26851        We don't need to export that class anymore as the experimental QML plugin
26852        does not expose this object anymore.
26853
26854        * UIProcess/API/qt/qquickwebview_p_p.h:
26855
268562011-11-17  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
26857
26858        [Qt] Expose setUseTraditionalDesktopBehaviour() in QML experimental API
26859        https://bugs.webkit.org/show_bug.cgi?id=72610
26860
26861        Reviewed by Kenneth Rohde Christiansen.
26862
26863        * UIProcess/API/qt/qquickwebview_p.h:
26864
268652011-11-17  Kenneth Rohde Christiansen  <kenneth@webkit.org>
26866
26867        Print warning for the Qt port when a process crashes and is relaunched
26868        https://bugs.webkit.org/show_bug.cgi?id=72607
26869
26870        Reviewed by Antonio Gomes.
26871
26872        Make the QtViewInterface::processDidCrash take a URL string argument,
26873        for being able to say which url was the origin of the crash.
26874
26875        We now additionally store the load state and url at process exit. This
26876        is needed for printing the warning and for further crash handling.
26877
26878        * UIProcess/PageClient.h:
26879        * UIProcess/WebPageProxy.cpp:
26880        (WebKit::WebPageProxy::processDidCrash):
26881        * UIProcess/qt/QtViewInterface.cpp:
26882        (WebKit::QtViewInterface::processDidCrash):
26883        (WebKit::QtViewInterface::didRelaunchProcess):
26884        * UIProcess/qt/QtViewInterface.h:
26885        * UIProcess/qt/QtWebPageProxy.cpp:
26886        (QtWebPageProxy::processDidCrash):
26887        * UIProcess/qt/QtWebPageProxy.h:
26888
268892011-11-17  Alexis Menard  <alexis.menard@openbossa.org>
26890
26891        [Qt][WK2] Cleanup dead code in QtWebPageProxy.
26892        https://bugs.webkit.org/show_bug.cgi?id=72608
26893
26894        Reviewed by Simon Hausmann.
26895
26896        Remove some dead code after we merged our views.
26897        QQuickWebView is now using AC which means that this
26898        path is never called now.
26899
26900        * UIProcess/qt/QtWebPageProxy.cpp:
26901        (QtWebPageProxy::didReceiveDownloadResponse):
26902        * UIProcess/qt/QtWebPageProxy.h:
26903
269042011-11-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
26905
26906        [Qt] Remove forwarding header for WebKit2 C API
26907
26908        The Qt port of WebKit does not provide a C-API for the View classes.
26909
26910        Reviewed by Simon Hausmann.
26911
26912        * UIProcess/API/C/WebKit2.h:
26913        * UIProcess/API/qt/WKView.h: Removed.
26914
269152011-11-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
26916
26917        [Qt] Resolve import and web-process paths automatically for QML tests
26918
26919        Reviewed by Kenneth Rohde Christiansen.
26920
26921        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
26922        * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
26923        (main):
26924
269252011-11-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
26926
26927        [Qt] Move WebKit2 C++ APIs to private API and build QML extension plugin on top of that
26928
26929        A new extension object has been added to QQuickWebView (the same approach should be used
26930        for other API classes that need experimental APIs). The QML extension mechanism is then
26931        built on top of the experimental object.
26932
26933        https://bugs.webkit.org/show_bug.cgi?id=72522
26934
26935        Reviewed by Simon Hausmann.
26936
26937        * Target.pri:
26938        * UIProcess/API/qt/qquickwebpage.cpp:
26939        * UIProcess/API/qt/qquickwebpage.h: Removed.
26940        * UIProcess/API/qt/qquickwebpage_p.h:
26941        * UIProcess/API/qt/qquickwebpage_p_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qquickwebviewprivateextension_p.h.
26942        * UIProcess/API/qt/qquickwebview.cpp:
26943        (QQuickWebViewExperimental::QQuickWebViewExperimental):
26944        (QQuickWebViewExperimental::~QQuickWebViewExperimental):
26945        (QQuickWebViewExperimental::setUseTraditionalDesktopBehaviour):
26946        (QQuickWebView::QQuickWebView):
26947        (QQuickWebView::experimental):
26948        * UIProcess/API/qt/qquickwebview.h: Removed.
26949        * UIProcess/API/qt/qquickwebview_p.h:
26950        * UIProcess/API/qt/qquickwebview_p_p.h: Copied from Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h.
26951        * UIProcess/API/qt/qquickwebviewprivateextension.cpp: Removed.
26952        * UIProcess/API/qt/qwebdownloaditem.cpp:
26953        * UIProcess/API/qt/qwebdownloaditem.h: Removed.
26954        * UIProcess/API/qt/qwebdownloaditem_p.h:
26955        * UIProcess/API/qt/qwebdownloaditem_p_p.h: Copied from Source/WebKit2/UIProcess/API/qt/qwebdownloaditem_p.h.
26956        (QWebDownloadItemPrivate::didReceiveResponse):
26957        * UIProcess/API/qt/qwebpreferences.cpp:
26958        * UIProcess/API/qt/qwebpreferences.h: Removed.
26959        * UIProcess/API/qt/qwebpreferences_p.h:
26960        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
26961        * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
26962        (DesktopWebView::DesktopWebView):
26963        * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
26964        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
26965        * UIProcess/qt/QtDownloadManager.cpp:
26966        * UIProcess/qt/QtViewInterface.cpp:
26967        * UIProcess/qt/QtWebError.h:
26968        * UIProcess/qt/QtWebPageProxy.cpp:
26969
269702011-11-17  Kenneth Rohde Christiansen  <kenneth@webkit.org>
26971
26972        Unreviewed build fix.
26973
26974        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
26975        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
26976
269772011-11-16  Kenneth Rohde Christiansen  <kenneth@webkit.org>
26978
26979        Make use-fixed-layout work reliable
26980        https://bugs.webkit.org/show_bug.cgi?id=72511
26981
26982        Reviewed by Simon Hausmann.
26983
26984        The code handling use-fixed-layout wasn't 100% reliable. The code
26985        was changed to make sure the value is always correct.
26986
26987        It also doesn't set the value by looking at the previous FrameView,
26988        as that wouldn't work in cases, such as when the web process has
26989        crashed.
26990
26991        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
26992        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
26993        * WebProcess/WebPage/WebPage.cpp:
26994        (WebKit::WebPage::WebPage):
26995        (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
26996        (WebKit::WebPage::setUseFixedLayout):
26997        * WebProcess/WebPage/WebPage.h:
26998        (WebKit::WebPage::useFixedLayout):
26999
27000            Store the state as m_useFixedLayout so that it can be used
27001            from the WebFrameLoaderClient.
27002
270032011-11-17  Zalan Bujtas  <zbujtas@gmail.com>
27004
27005        [Qt][WK2] Do not apply new viewport properties until after the first visually non-empty layout.
27006        https://bugs.webkit.org/show_bug.cgi?id=72508
27007
27008        Delay applying viewport properties on the viewport item until after the first visually non-empty
27009        layout finished. It enables the viewport to be intact until the new page is ready to be rendered.
27010
27011        Reviewed by Kenneth Rohde Christiansen.
27012
27013        * UIProcess/API/qt/qquickwebview.cpp:
27014        (QQuickWebViewPrivate::QQuickWebViewPrivate):
27015        (QQuickWebViewPrivate::loadDidCommit):
27016        (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
27017        (QQuickWebViewPrivate::didChangeContentsSize):
27018        (QQuickWebViewPrivate::didChangeViewportProperties):
27019        (QQuickWebViewPrivate::updateViewportSize):
27020        (QQuickWebViewPrivate::computeViewportConstraints):
27021        * UIProcess/API/qt/qquickwebview_p.h:
27022        (PostTransitionState::isTransitioningToNewPage):
27023        * UIProcess/qt/ClientImpl.cpp:
27024        (qt_wk_didFirstVisuallyNonEmptyLayoutForFrame):
27025        (setupPageLoaderClient):
27026        * UIProcess/qt/QtViewInterface.cpp:
27027        (WebKit::QtViewInterface::didFinishFirstNonEmptyLayout):
27028        (WebKit::QtViewInterface::didChangeContentsSize):
27029        (WebKit::QtViewInterface::didChangeViewportProperties):
27030        (WebKit::QtViewInterface::startDrag):
27031        * UIProcess/qt/QtViewInterface.h:
27032        * UIProcess/qt/QtViewportInteractionEngine.cpp:
27033        (WebKit::QtViewportInteractionEngine::reset):
27034        (WebKit::QtViewportInteractionEngine::applyConstraints):
27035        * UIProcess/qt/QtViewportInteractionEngine.h:
27036        * UIProcess/qt/QtWebPageProxy.cpp:
27037        (QtWebPageProxy::didFinishFirstNonEmptyLayout):
27038        (QtWebPageProxy::didChangeContentsSize):
27039        (QtWebPageProxy::didChangeViewportProperties):
27040        (QtWebPageProxy::startDrag):
27041        * UIProcess/qt/QtWebPageProxy.h:
27042
270432011-11-17  Eunmi Lee  <eunmi15.lee@samsung.com>
27044
27045        Reviewed by Martin Robinson.
27046
27047        [WK2] Move gtk/BackingStoreGtk.cpp to cairo/BackingStoreCairo.cpp to share with EFL port.
27048        https://bugs.webkit.org/show_bug.cgi?id=62444
27049
27050        Rename gtk/BackingStoreGtk.cpp to cairo/BackingStoreCairo.cpp to share with EFL port.
27051        The gtk/BackingStoreGtk.cpp only has cairo dependency, so it can be shared with other port
27052        that uses cairo.
27053
27054        * GNUmakefile.am:
27055        * UIProcess/BackingStore.h:
27056        * UIProcess/cairo/BackingStoreCairo.cpp: Renamed from Source/WebKit2/UIProcess/gtk/BackingStoreGtk.cpp.
27057        (WebKit::BackingStore::paint):
27058        (WebKit::BackingStore::incorporateUpdate):
27059        (WebKit::BackingStore::scroll):
27060
270612011-11-17  Nayan Kumar K  <nayankk@motorola.com>
27062
27063        [WebKit2][gtk] Add few more properties to WebKitSettings
27064        https://bugs.webkit.org/show_bug.cgi?id=72468
27065
27066        Reviewed by Martin Robinson.
27067
27068        Add 'enable-private-browsing', 'enable-developer-extras, 'enable-resizable-text-areas'
27069        and 'enable-tabs-to-links' properties to WebKitSettings.
27070
27071        * UIProcess/API/gtk/WebKitSettings.cpp:
27072        (webKitSettingsSetProperty): Add new set functions.
27073        (webKitSettingsGetProperty): Add new get functions.
27074        (webkit_settings_class_init): Add new properties.
27075        (webkit_settings_get_enable_private_browsing): Get 'enable-private-browsing' property.
27076        (webkit_settings_set_enable_private_browsing): Set 'enable-private-browsing' property.
27077        (webkit_settings_get_enable_developer_extras): Get 'enable-developer-extras' property.
27078        (webkit_settings_set_enable_developer_extras): Set 'enable-developer-extras' property.
27079        (webkit_settings_get_enable_resizable_text_areas): Get 'enable-resizable-text-areas' property.
27080        (webkit_settings_set_enable_resizable_text_areas): Set 'enable-resizable-text-areas' property.
27081        (webkit_settings_get_enable_tabs_to_links): Get 'enable-tabs-to-links' property.
27082        (webkit_settings_set_enable_tabs_to_links): Set 'enable-tabs-to-links' property.
27083        * UIProcess/API/gtk/WebKitSettings.h: New public APIs added.
27084        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: New APIs added.
27085        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
27086        (testWebKitSettings): Add new tests.
27087
270882011-11-17  Carlos Garcia Campos  <cgarcia@igalia.com>
27089
27090        Unreviewed. Fix WebKit2 GTK+ build after r100569.
27091
27092        * WebProcess/Downloads/soup/DownloadSoup.cpp:
27093        (WebKit::DownloadClient::didReceiveResponse):
27094
270952011-11-17  Nayan Kumar K  <nayankk@motorola.com>
27096
27097        [WebKit2][gtk] Fix assert while running TestWebKitSettings
27098        https://bugs.webkit.org/show_bug.cgi?id=72469
27099
27100        Reviewed by Martin Robinson.
27101
27102        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
27103        (testWebKitSettings): Correct the test.
27104
271052011-11-16  Carlos Garcia Campos  <cgarcia@igalia.com>
27106
27107        [GTK] Use a URI instead of local path to create download destination in WebKit2
27108        https://bugs.webkit.org/show_bug.cgi?id=72500
27109
27110        Reviewed by Philippe Normand.
27111
27112        * WebProcess/Downloads/soup/DownloadSoup.cpp:
27113        (WebKit::DownloadClient::didReceiveResponse): Use
27114        g_file_new_for_uri() instad of g_file_new_for_path(). Also use
27115        adoptGRef to fix a memory leak.
27116
271172011-11-16  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
27118
27119        [Qt] Fix build after WTR AX support
27120        https://bugs.webkit.org/show_bug.cgi?id=72560
27121
27122        Reviewed by Geoffrey Garen.
27123
27124        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
27125        (WKAccessibilityRootObject):
27126        (WKAccessibilityFocusedObject):
27127
271282011-11-11  Adrienne Walker  <enne@google.com>
27129
27130        [chromium] Expose mock scrollbars to window.internals
27131        https://bugs.webkit.org/show_bug.cgi?id=72195
27132
27133        Reviewed by James Robinson.
27134
27135        * win/WebKit2.def:
27136        * win/WebKit2CFLite.def:
27137
271382011-11-16  Dan Bernstein  <mitz@apple.com>
27139
27140        WebKit2 part of <rdar://problem/10262242> Add API for paginated display
27141        https://bugs.webkit.org/show_bug.cgi?id=72537
27142
27143        Reviewed by Anders Carlsson.
27144
27145        * Shared/WebPageCreationParameters.cpp:
27146        (WebKit::WebPageCreationParameters::encode): Encode the pagination mode and gap between pages.
27147        (WebKit::WebPageCreationParameters::decode): Decode the pagination mode and gap between pages.
27148        * Shared/WebPageCreationParameters.h: Added paginationMode and gapBetweenPages members.
27149        * UIProcess/API/C/WKPage.cpp:
27150        (WKPageSetPaginationMode): Added this API wrapper.
27151        (WKPageGetPaginationMode): Ditto.
27152        (WKPageSetGapBetweenPages): Ditto.
27153        (WKPageGetGapBetweenPages): Ditto.
27154        (WKPageGetPageCount): Ditto.
27155        * UIProcess/API/C/WKPagePrivate.h: Added an enum and a definition of WKPaginationMode and
27156        accessors.
27157        * UIProcess/API/mac/WKBrowsingContextController.mm:
27158        (-[WKBrowsingContextController setPaginationMode:]): Added this API wrapper.
27159        (-[WKBrowsingContextController paginationMode]): Ditto.
27160        (-[WKBrowsingContextController setGapBetweenPages:]): Ditto.
27161        (-[WKBrowsingContextController gapBetweenPages]): Ditto.
27162        (-[WKBrowsingContextController pageCount]): Ditto.
27163        * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Added. Includes an enum and a definition
27164        of WKBrowsingContextPaginationMode and property declarations.
27165        * UIProcess/WebPageProxy.cpp:
27166        (WebKit::WebPageProxy::WebPageProxy): Added intialization of m_paginationMode, m_gapBetweenPages,
27167        and m_pageCount.
27168        (WebKit::WebPageProxy::setPaginationMode): Added this accessor, which caches the value and sends
27169        a message to the WebPage.
27170        (WebKit::WebPageProxy::setGapBetweenPages): Ditto.
27171        (WebKit::WebPageProxy::creationParameters): Set the pagination mode and gap between pages in the
27172        creation parameters.
27173        (WebKit::WebPageProxy::didChangePageCount): Added. Updates the cached page count.
27174        * UIProcess/WebPageProxy.h:
27175        (WebKit::WebPageProxy::paginationMode): Added this getter that returns a cached value.
27176        (WebKit::WebPageProxy::gapBetweenPages): Ditto.
27177        (WebKit::WebPageProxy::pageCount): Ditto.
27178        * UIProcess/WebPageProxy.messages.in: Added DidChangedPageCount, sent when the page count changes
27179        after layout.
27180        * WebKit2.xcodeproj/project.pbxproj: Added WKBrowsingContextControllerPrivate.h.
27181        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 
27182        (WebKit::WebFrameLoaderClient::dispatchDidLayout): Added a call to WebPage::mainFrameDidLayout(),
27183        allowing the page to respond to changes in the column count.
27184        * WebProcess/WebPage/WebPage.cpp:
27185        (WebKit::WebPage::WebPage): Added initializer for m_cachedPageCount.
27186        (WebKit::WebPage::setPaginationMode): Added.
27187        (WebKit::WebPage::setGapBetweenPages): Added.
27188        (WebKit::WebPage::mainFrameDidLayout): Added. Sends a DidChangePageCount message to the UI process
27189        if the page count has changed.
27190        * WebProcess/WebPage/WebPage.h:
27191        * WebProcess/WebPage/WebPage.messages.in: Added SetPaginationMode and SetGapBetweenPages messages.
27192
271932011-11-16  Chris Fleizach  <cfleizach@apple.com>
27194
27195        WebKitTestRunner needs to support accessibility-related DRT APIs
27196        https://bugs.webkit.org/show_bug.cgi?id=42131
27197
27198        Allow the injected bundle to retrieve the focused and root accessibility
27199        objects.
27200
27201        Reviewed by Beth Dakin.
27202
27203        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
27204        (WKAccessibilityRootObject):
27205        (WKAccessibilityFocusedObject):
27206        * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
27207
272082011-11-16  Beth Dakin  <bdakin@apple.com>
27209
27210        https://bugs.webkit.org/show_bug.cgi?id=72400
27211        Scrollbar uiStateTransitionProgress requires tracking the mouse all the time
27212        -and corresponding-
27213        <rdar://problem/10409328>
27214
27215        Reviewed by Darin Adler.
27216
27217        Set up our initial tracking area based on the currently recommended scrollbar 
27218        style. Track the mouse all the time if the style is legacy.
27219        * UIProcess/API/mac/WKView.mm:
27220        (-[WKView initWithFrame:contextRef:pageGroupRef:]):
27221
27222        Now that we might be getting mouseMoved events all the time even when the window 
27223        is not key, make sure we opt into the new 'onlyUpdateScrollbars' mode for 
27224        EventHandler::mouseMoved() when the window is not focused.
27225        * WebProcess/WebPage/WebPage.cpp:
27226        (WebKit::handleMouseEvent):
27227        (WebKit::WebPage::mouseEvent):
27228        (WebKit::WebPage::mouseEventSyncForTesting):
27229
272302011-11-16  Martin Robinson  <mrobinson@igalia.com>
27231
27232        [GTK][WEBKIT2] Link error running gtkdoc-scangobj
27233        https://bugs.webkit.org/show_bug.cgi?id=72365
27234
27235        Reviewed by Xan Lopez.
27236
27237        * webkit2gtk.pc.in: Add a libjavascriptcore requirement to the WebKit2 pkgconfig
27238        file so that the compiler links to it.
27239
272402011-11-16  Balazs Kelemen  <kbalazs@webkit.org>
27241
27242        [WK2][X11] Don't leak the colormap we created for the plugin
27243        https://bugs.webkit.org/show_bug.cgi?id=72144
27244
27245        Reviewed by Xan Lopez.
27246
27247        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
27248        (WebKit::NetscapePlugin::platformDestroy):
27249
272502011-11-16  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
27251
27252        [Qt] [WK2] Crash in Connection::readyReadHandler() on socket error
27253        https://bugs.webkit.org/show_bug.cgi?id=72392
27254
27255        Reviewed by Simon Hausmann.
27256
27257        Add QWeakPointer to SocketNotifierResourceGuard::m_socketNotifier to track
27258        deallocation of referenced object.
27259
27260        * Platform/CoreIPC/unix/ConnectionUnix.cpp:
27261        (CoreIPC::SocketNotifierResourceGuard::SocketNotifierResourceGuard):
27262        (CoreIPC::SocketNotifierResourceGuard::~SocketNotifierResourceGuard):
27263
272642011-11-16  Zeno Albisser  <zeno@webkit.org>
27265
27266        [Qt][WK2][Mac] MiniBrowser cannot create socketpair.
27267        https://bugs.webkit.org/show_bug.cgi?id=72389
27268
27269        Use SOCK_DGRAM on mac instead of SOCK_SEQPACKET.
27270
27271        Reviewed by Tor Arne Vestbø.
27272
27273        * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
27274
272752011-11-15  Carlos Garcia Campos  <cgarcia@igalia.com>
27276
27277        [GTK] Add webkit_web_view_load_request() to WebKit2 GTK+ API
27278        https://bugs.webkit.org/show_bug.cgi?id=72380
27279
27280        Reviewed by Martin Robinson.
27281
27282        It adds an initial implementation of WebKitNetworkRequest
27283        class that only contains a URI for now.
27284
27285        * GNUmakefile.am:
27286        * UIProcess/API/gtk/WebKitNetworkRequest.cpp: Added.
27287        (webkitNetworkRequestFinalize):
27288        (webkitNetworkRequestGetProperty):
27289        (webkitNetworkRequestSetProperty):
27290        (webkit_network_request_class_init):
27291        (webkit_network_request_init):
27292        (webkit_network_request_new):
27293        (webkit_network_request_get_uri):
27294        * UIProcess/API/gtk/WebKitNetworkRequest.h: Added.
27295        * UIProcess/API/gtk/WebKitWebView.cpp:
27296        (webkit_web_view_load_request): Use WKPageLoadURLRequest() to load
27297        the given WebKitNetworkRequest.
27298        * UIProcess/API/gtk/WebKitWebView.h:
27299        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
27300        * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
27301        (testLoadRequest):
27302        (beforeAll):
27303        * UIProcess/API/gtk/tests/WebViewTest.cpp:
27304        (WebViewTest::loadRequest):
27305        * UIProcess/API/gtk/tests/WebViewTest.h:
27306        * UIProcess/API/gtk/webkit2.h:
27307
273082011-11-15  Andy Estes  <aestes@apple.com>
27309
27310        Consolidate the logic that creates run loop observers for flushing layer tree changes to CoreAnimation
27311        https://bugs.webkit.org/show_bug.cgi?id=72106
27312
27313        Reviewed by Anders Carlsson.
27314
27315        Remove code that schedules layer flushes and use LayerFlushScheduler instead.
27316
27317        * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h: Replace
27318        m_flushPendingLayerChangesRunLoopObserver with m_layerFlushScheduler
27319        and implement the LayerFlushSchedulerClient interface.
27320        * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
27321        (WebKit::LayerTreeHostCAMac::LayerTreeHostCAMac): Instantiate
27322        m_layerFlushScheduler with the LayerTreeHost as the client.
27323        (WebKit::LayerTreeHostCAMac::~LayerTreeHostCAMac):
27324        (WebKit::LayerTreeHostCAMac::scheduleLayerFlush): Call LayerFlushScheduler::schedule().
27325        (WebKit::LayerTreeHostCAMac::setLayerFlushSchedulingEnabled): Call
27326        LayerFlushScheduler::suspend() or LayerFlushScheduler::resume().
27327        (WebKit::LayerTreeHostCAMac::invalidate): Call LayerFlushScheduler::invalidate().
27328        (WebKit::LayerTreeHostCAMac::flushLayers): Do the work that
27329        flushPendingLayerChangesRunLoopObserverCallback() used to do.
27330        (WebKit::LayerTreeHostCAMac::didPerformScheduledLayerFlush): Call LayerFlushScheduler::invalidate().
27331
273322011-11-15  Sam Weinig  <sam@webkit.org>
27333
27334        Add a connection client to the WKContext, to notify when new connections to the WebProcess are established
27335        https://bugs.webkit.org/show_bug.cgi?id=72433
27336
27337        Reviewed by Anders Carlsson.
27338
27339        * UIProcess/API/C/WKContext.cpp:
27340        (WKContextSetConnectionClient):
27341        * UIProcess/API/C/WKContext.h:
27342        * UIProcess/WebContext.cpp:
27343        (WebKit::WebContext::initializeConnectionClient):
27344        * UIProcess/WebContext.h:
27345        Add connection client API.
27346
27347        * UIProcess/WebContextConnectionClient.cpp: Added.
27348        (WebKit::WebContextConnectionClient::didCreateConnection):
27349        * UIProcess/WebContextConnectionClient.h: Added.
27350        Add basic implementation of the client. It is currently never triggered.
27351
273522011-11-15  Jongseok Yang  <js45.yang@samsung.com>
27353
27354        [SOUP][WK2] Add initial WebCookieManagerSoup.cpp for webkit2
27355        https://bugs.webkit.org/show_bug.cgi?id=72235
27356
27357        Reviewed by Gustavo Noronha Silva.
27358
27359        Add WebCookieManagerSoup.cpp and implement functions for the cookie accept policy.
27360        It's required when using the soup network backend.
27361        Remove WebCookieManagerEfl.cpp and WebCookieManagerGtk.cpp because GTK port and
27362        EFL port use soup network backend without a network backend of their own.
27363
27364        * GNUmakefile.am:
27365        * WebProcess/Cookies/efl/WebCookieManagerEfl.cpp: Removed.
27366        * WebProcess/Cookies/gtk/WebCookieManagerGtk.cpp: Removed.
27367        * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp: Added.
27368        (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
27369        (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
27370
273712011-11-15  Jochen Eisinger  <jochen@chromium.org>
27372
27373        Rename ReferrerPolicy to clarify its meaning
27374        https://bugs.webkit.org/show_bug.cgi?id=72420
27375
27376        Reviewed by Nate Chapin.
27377
27378        * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
27379        (WebKit::WebContextMenuClient::searchWithGoogle):
27380        * WebProcess/WebPage/WebPage.cpp:
27381        (WebKit::WebPage::linkClicked):
27382
273832011-11-15  Sam Weinig  <sam@webkit.org>
27384
27385        Fix windows build.
27386
27387        * win/WebKit2Generated.make:
27388
273892011-11-15  Sam Weinig  <sam@webkit.org>
27390
27391        Add WebKit2 API object to represent a connection
27392        https://bugs.webkit.org/show_bug.cgi?id=72421
27393
27394        Reviewed by Anders Carlsson.
27395
27396        * GNUmakefile.am:
27397        * Target.pri:
27398        * WebKit2.xcodeproj/project.pbxproj:
27399        * win/WebKit2.vcproj:
27400        Add new files.
27401
27402        * Shared/API/c/WKBase.h:
27403        Add type.
27404
27405        * Shared/API/c/WKConnectionRef.cpp: Added.
27406        (WKConnectionGetTypeID):
27407        (WKConnectionSetConnectionClient):
27408        (WKConnectionPostMessage):
27409        * Shared/API/c/WKConnectionRef.h: Added.
27410        Expose interface. Currently no support for synchronous messages.
27411
27412        * Shared/API/c/WKSharedAPICast.h:
27413        Define relationship between WebConnection <-> WKConnectionRef.
27414
27415        * Shared/APIObject.h:
27416        Add API type.
27417
27418        * Shared/WebConnection.cpp: Added.
27419        (WebKit::WebConnection::~WebConnection):
27420        (WebKit::WebConnection::initializeConnectionClient):
27421        * Shared/WebConnection.h: Added.
27422        (WebKit::WebConnection::type):
27423        Sketch out the connection object. It is currently abstract
27424        to allow different implementations for the UI and WebProcess sides
27425        while retaining the same interface.
27426
27427        * Shared/WebConnectionClient.cpp: Added.
27428        (WebKit::WebConnectionClient::didReceiveMessage):
27429        (WebKit::WebConnectionClient::didClose):
27430        * Shared/WebConnectionClient.h: Added.
27431        Add simple client.
27432
27433        * UIProcess/API/C/WebKit2.h:
27434        Add new file.
27435
274362011-11-15  Chris Fleizach2  <cfleizach@apple.com>
27437
27438        AX: WKAccessibilityWebObjectPage should not call super in accessibilityAttributeValue:
27439        https://bugs.webkit.org/show_bug.cgi?id=72344
27440
27441        Reviewed by Beth Dakin.
27442
27443        * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
27444        (-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):
27445
274462011-11-15  Anders Carlsson  <andersca@apple.com>
27447
27448        HostWindow screenToWindow/windowToScreen should be screenToRootView/rootViewToScreen
27449        https://bugs.webkit.org/show_bug.cgi?id=72397
27450
27451        Reviewed by Dan Bernstein.
27452
27453        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
27454        (WebKit::WebChromeClient::screenToRootView):
27455        (WebKit::WebChromeClient::rootViewToScreen):
27456        * WebProcess/WebCoreSupport/WebChromeClient.h:
27457
274582011-11-14  Anders Carlsson  <andersca@apple.com>
27459
27460        HostWindow invalidation functions should use root view coordinates
27461        https://bugs.webkit.org/show_bug.cgi?id=72338
27462
27463        Reviewed by Dan Bernstein.
27464
27465        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
27466        (WebKit::WebChromeClient::invalidateRootView):
27467        (WebKit::WebChromeClient::invalidateContentsAndRootView):
27468        * WebProcess/WebCoreSupport/WebChromeClient.h:
27469
274702011-11-15  Carlos Garcia Campos  <cgarcia@igalia.com>
27471
27472        [GTK] Implement download support in WebKit2
27473        https://bugs.webkit.org/show_bug.cgi?id=72258
27474
27475        Reviewed by Martin Robinson.
27476
27477        * WebProcess/Downloads/Download.h:
27478        * WebProcess/Downloads/soup/DownloadSoup.cpp:
27479        (WebKit::DownloadClient::DownloadClient):
27480        (WebKit::DownloadClient::downloadFailed):
27481        (WebKit::DownloadClient::didReceiveResponse):
27482        (WebKit::DownloadClient::didReceiveData):
27483        (WebKit::DownloadClient::didFinishLoading):
27484        (WebKit::DownloadClient::didFail):
27485        (WebKit::DownloadClient::wasBlocked):
27486        (WebKit::DownloadClient::cannotShowURL):
27487        (WebKit::Download::start):
27488        (WebKit::Download::startWithHandle):
27489        (WebKit::Download::cancel):
27490        (WebKit::Download::platformInvalidate):
27491
274922011-11-15  Mario Sanchez Prada  <msanchez@igalia.com>
27493
27494        [GTK][WEBKIT2] Add enable-caret-browsing property to WebKitSettings
27495        https://bugs.webkit.org/show_bug.cgi?id=72267
27496
27497        Reviewed by Martin Robinson.
27498
27499        Allow getting and setting the 'enable-caret-browsing' property
27500        through WebKitSettings.
27501
27502        * UIProcess/API/gtk/WebKitSettings.cpp:
27503        (webKitSettingsSetProperty): Added property setter.
27504        (webKitSettingsGetProperty): Added propery getter.
27505        (webkit_settings_class_init): Install property.
27506        (webkit_settings_get_enable_caret_browsing): Added.
27507        (webkit_settings_set_enable_caret_browsing): Added.
27508        * UIProcess/API/gtk/WebKitSettings.h: Expose new public APIs.
27509        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new sections for gtk-doc generation.
27510        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
27511        (testWebKitSettings): Added new API test.
27512
275132011-11-14  Julien Chaffraix  <jchaffraix@webkit.org>
27514
27515        Add --css-grid-layout to build-webkit and the build systems
27516        https://bugs.webkit.org/show_bug.cgi?id=72320
27517
27518        Reviewed by Ojan Vafai.
27519
27520        * Configurations/FeatureDefines.xcconfig:
27521
275222011-11-14  Tony Chang  <tony@chromium.org>
27523
27524        Remove the CSS3_FLEXBOX compile time flag and enable on all ports
27525        https://bugs.webkit.org/show_bug.cgi?id=72196
27526
27527        Reviewed by Ojan Vafai.
27528
27529        * Configurations/FeatureDefines.xcconfig:
27530
275312011-11-14  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
27532
27533        Intermittent asserts in TextureMapperGL::bindSurface on MiniBrowser startup
27534        https://bugs.webkit.org/show_bug.cgi?id=72299
27535
27536        Reviewed by Noam Rosenthal.
27537
27538        Added check that clipping rect is valid.
27539        Clear GL error that might remain from QT GL operations.
27540        Added GL error assert for scissor test operations.
27541
27542        * UIProcess/API/qt/qquickwebpage.cpp:
27543        (QQuickWebPagePrivate::paintToCurrentGLContext):
27544
275452011-11-14  Anders Carlsson  <andersca@apple.com>
27546
27547        Only send progress notifications for the main frame
27548        https://bugs.webkit.org/show_bug.cgi?id=72302
27549
27550        Reviewed by Sam Weinig.
27551
27552        Since it's impossible in the API to tell which frame the progress notifications are for, just send them to the main frame for now.
27553
27554        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
27555        (WebKit::WebFrameLoaderClient::postProgressStartedNotification):
27556        (WebKit::WebFrameLoaderClient::postProgressEstimateChangedNotification):
27557        (WebKit::WebFrameLoaderClient::postProgressFinishedNotification):
27558
275592011-11-14  Alexis Menard  <alexis.menard@openbossa.org>
27560
27561        [Qt][WK2] Cleanup QML tests.
27562        https://bugs.webkit.org/show_bug.cgi?id=72259
27563
27564        Reviewed by Simon Hausmann.
27565
27566        Cleanup QML tests. This patch removes the duplicates after the merge of both views.
27567        I also isolated the desktop specific bits into its own directory.
27568
27569        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_download.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_download.qml.
27570        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml.
27571        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_messaging.qml.
27572        * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationPolicyForUrl.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml.
27573        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgressSignal.qml: Removed.
27574        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadZeroSizeView.qml: Removed.
27575        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml: Removed.
27576        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml: Removed.
27577        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml: Removed.
27578        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml: Removed.
27579        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml: Removed.
27580        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadFail.qml.
27581        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgress.qml.
27582        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml.
27583        * UIProcess/API/qt/tests/qmltests/WebView/tst_loadZeroSizeView.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml.
27584        * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml.
27585        * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml.
27586        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
27587
275882011-11-14  Mario Sanchez Prada  <msanchez@igalia.com>
27589
27590        Add support for the caretBrowsingEnabled preference in WebKit2
27591        https://bugs.webkit.org/show_bug.cgi?id=72266
27592
27593        Reviewed by Chris Fleizach.
27594
27595        * Shared/WebPreferencesStore.h: Add caretBrowsingEnabled getter
27596        and setter macro.
27597        * UIProcess/API/C/WKPreferences.h:
27598        * UIProcess/API/C/WKPreferences.cpp:
27599        (WKPreferencesSetCaretBrowsingEnabled): Added.
27600        (WKPreferencesGetCaretBrowsingEnabled): Added.
27601        * WebProcess/WebPage/WebPage.cpp:
27602        (WebKit::WebPage::updatePreferences): Update the
27603        caretBrowsingEnabledKey preference.
27604
276052011-11-14  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
27606
27607        [Qt] Remove reference to QWebNavigationController
27608        https://bugs.webkit.org/show_bug.cgi?id=72257
27609
27610        Reviewed by Simon Hausmann.
27611
27612        QWebNavigationController was removed in r99946, this is just a leftover.
27613
27614        * UIProcess/API/qt/qquickwebview.cpp:
27615        (QQuickWebViewPrivate::QQuickWebViewPrivate):
27616        * UIProcess/API/qt/qquickwebview_p.h:
27617
276182011-11-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
27619
27620        [Qt] the QQuickWebView should support double-tap to zoom
27621        https://bugs.webkit.org/show_bug.cgi?id=72030
27622
27623        Reviewed by Andreas Kling.
27624
27625        * UIProcess/qt/QtViewInterface.cpp:
27626        * UIProcess/qt/QtViewInterface.h:
27627        * UIProcess/qt/QtViewportInteractionEngine.cpp:
27628        (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
27629        (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
27630        (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
27631        * UIProcess/qt/QtViewportInteractionEngine.h:
27632        * UIProcess/qt/QtWebPageProxy.cpp:
27633        (QtWebPageProxy::didFindZoomableArea):
27634
276352011-11-14  Zalan Bujtas  <zbujtas@gmail.com>
27636
27637        Build breaks with --no-javascript-debugger --no-inspector
27638        https://bugs.webkit.org/show_bug.cgi?id=72228
27639
27640        Reviewed by Simon Hausmann.
27641
27642        * UIProcess/WebPageProxy.cpp:
27643        (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
27644
276452011-11-13  Mark Rowe  <mrowe@apple.com>
27646
27647        Fix the 32-bit build.
27648
27649        * WebProcess/mac/WebProcessMac.mm:
27650        (WebKit::initializeSandbox): Use a format specifier and cast that works on more architectures.
27651
276522011-11-12  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
27653
27654        [Qt][Symbian] Remove support for WINSCW compiler
27655        https://bugs.webkit.org/show_bug.cgi?id=70178
27656
27657        Reviewed by Chang Shu.
27658
27659        * Shared/API/c/WKString.h:
27660
276612011-11-12  Dan Bernstein  <mitz@apple.com>
27662
27663        <rdar://problem/10294191> REGRESSION (WebKit2): Lookup bubble sized and positioned incorrectly (vertically off)
27664        https://bugs.webkit.org/show_bug.cgi?id=72217
27665
27666        Reviewed by Dave Hyatt.
27667
27668        * UIProcess/API/mac/PageClientImpl.mm:
27669        (WebKit::PageClientImpl::didPerformDictionaryLookup): Rather than adding the NSFont’s ascender
27670        to the top of the text rect to establish the baseline here...
27671        * WebProcess/WebPage/mac/WebPageMac.mm:
27672        (WebKit::WebPage::performDictionaryLookupForRange): ...do it here, using the WebCore::Font’s
27673        ascender, which is what’s actually used when drawing the text.
27674
276752011-11-11  Nayan Kumar K  <nayankk@motorola.com>
27676
27677        [GTK][WEBKIT2] Add font and charset properties to WebKitWebSettings
27678        https://bugs.webkit.org/show_bug.cgi?id=68996
27679
27680        Reviewed by Martin Robinson.
27681
27682        Provision to query and set the font related properties (such as
27683        font-family, font-size) and charset properties (such as default-
27684        charset) is added.
27685
27686        * UIProcess/API/gtk/WebKitSettings.cpp: Added font and encoding properties.
27687        (webKitSettingsSetProperty): GObject set property function.
27688        (webKitSettingsGetProperty): GObject get property function.
27689        (webkit_settings_class_init): Few more signals installed.
27690        (webkit_settings_init): Initialization of instance variables.
27691        (webkit_web_settings_get_default_font_family): Get 'default-font-family'.
27692        (webkit_web_settings_set_default_font_family): Set 'default-font-family'.
27693        (webkit_web_settings_get_monospace_font_family): Get 'monospace-font-family'.
27694        (webkit_web_settings_set_monospace_font_family): Set 'monospace-font-family'.
27695        (webkit_web_settings_get_serif_font_family): Get 'serif-font-family'.
27696        (webkit_web_settings_set_serif_font_family): Set 'serif-font-family'.
27697        (webkit_web_settings_get_sans_serif_font_family): Get 'sans-serif-font-family'.
27698        (webkit_web_settings_set_sans_serif_font_family): Get 'sans-serif-font-family'.
27699        (webkit_web_settings_get_cursive_font_family): Get 'cursive-font-family'.
27700        (webkit_web_settings_set_cursive_font_family): Set 'cursive-font-family'.
27701        (webkit_web_settings_get_fantasy_font_family): Get 'fantasy-font-family'.
27702        (webkit_web_settings_set_fantasy_font_family): Set 'fantasy-font-family'.
27703        (webkit_web_settings_get_pictograph_font_family): Get 'pictograph-font-family'.
27704        (webkit_web_settings_set_pictograph_font_family): Set 'pictograph-font-family'.
27705        (webkit_web_settings_get_default_font_size): Get 'default-font-size'.
27706        (webkit_web_settings_set_default_font_size): Set 'default-font-size'.
27707        (webkit_web_settings_get_default_monospace_font_size): Get 'default-monospace-font-size'.
27708        (webkit_web_settings_set_default_monospace_font_size): Set 'default-monospace-font-size'.
27709        (webkit_web_settings_get_minimum_font_size): Get 'minimum-font-size'.
27710        (webkit_web_settings_set_minimum_font_size): Set 'minimum-font-size'.
27711        (webkit_web_settings_get_default_charset): Get 'default-charset'.
27712        (webkit_web_settings_set_default_charset): Set 'default-charset'.
27713        * UIProcess/API/gtk/WebKitSettings.h: Add new sections for gtk-doc generation.
27714        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Expose new public APIs.
27715        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
27716        (testWebKitSettings): Add new tests.
27717
277182011-11-11  Shinya Kawanaka  <shinyak@google.com>
27719
27720        Implement legacy text check emulation in unified text check interface.
27721        https://bugs.webkit.org/show_bug.cgi?id=70299
27722
27723        Reviewed by Hajime Morita.
27724
27725        * win/WebKit2.def:
27726        * win/WebKit2CFLite.def:
27727
277282011-11-11  Alexey Proskuryakov  <ap@apple.com>
27729
27730        WebProcess should use AppSandbox style quarantine
27731        https://bugs.webkit.org/show_bug.cgi?id=72168
27732        <rdar://problem/10434292>
27733
27734        Reviewed by Darin Adler.
27735
27736        * WebProcess/mac/WebProcessMac.mm: (WebKit::initializeSandbox): Just enable it.
27737
277382011-11-11  Darin Adler  <darin@apple.com>
27739
27740        * WebKit2.xcodeproj/project.pbxproj: Let a newer Xcode update this file.
27741        If an older Xcode downgrades this file and we have a risk of some kind of
27742        oscillating commit situation, please contact me so I know not to do this again.
27743
277442011-11-11  Mark Hahnenberg  <mhahnenberg@apple.com>
27745
27746        Add jsCast to replace static_cast
27747        https://bugs.webkit.org/show_bug.cgi?id=72071
27748
27749        Reviewed by Geoffrey Garen.
27750
27751        Added new jsCast and changed all of the static_cast sites in functions that 
27752        are in the MethodTable to use jsCast instead.
27753
27754        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
27755        (WebKit::JSNPObject::getCallData):
27756        (WebKit::JSNPObject::getConstructData):
27757        (WebKit::JSNPObject::getOwnPropertySlot):
27758        (WebKit::JSNPObject::getOwnPropertyDescriptor):
27759        (WebKit::JSNPObject::put):
27760        (WebKit::JSNPObject::deleteProperty):
27761        (WebKit::JSNPObject::deletePropertyByIndex):
27762        (WebKit::JSNPObject::getOwnPropertyNames):
27763
277642011-11-11  Timothy Hatcher  <timothy@apple.com>
27765
27766        Only use the textured window style mask when there is no override inspector page.
27767
27768        https://webkit.org/b/72142
27769
27770        Reviewed by Dan Bernstein.
27771
27772        * UIProcess/mac/WebInspectorProxyMac.mm:
27773        (WebKit::WebInspectorProxy::platformOpen): Don't set NSTexturedBackgroundWindowMask if
27774        there is an override inspector page. Make setAutorecalculatesContentBorderThickness:,
27775        setContentBorderThickness: and WKNSWindowMakeBottomCornersSquare conditional.
27776
277772011-11-11  Simon Hausmann  <simon.hausmann@nokia.com>
27778
27779        [Qt] Remove dead MeeGoTouch code.
27780
27781        Reviewed by Tor Arne Vestbø.
27782
27783        * WebProcess/qt/WebProcessMainQt.cpp:
27784        (WebKit::WebProcessMainQt):
27785
277862011-11-11  Alexis Menard  <alexis.menard@openbossa.org>
27787
27788        [Qt] Add a way to have experimental features in WebKit2
27789        https://bugs.webkit.org/show_bug.cgi?id=67707
27790
27791        Reviewed by Kenneth Rohde Christiansen.
27792
27793        Add new QML extensions for our public view. This extension
27794        returns the private object of the view so that the user could
27795        use unstable/unreleased APIs. This requires our private class
27796        to be exported and QObject subclass.
27797
27798        * Target.pri:
27799        * UIProcess/API/qt/qquickwebview.cpp:
27800        * UIProcess/API/qt/qquickwebview_p.h:
27801        * UIProcess/API/qt/qquickwebviewprivateextension.cpp: Added.
27802        (QQuickWebViewPrivateExtension::QQuickWebViewPrivateExtension):
27803        (QQuickWebViewPrivateExtension::viewPrivate):
27804        * UIProcess/API/qt/qquickwebviewprivateextension_p.h: Added.
27805
278062011-11-11  Simon Hausmann  <simon.hausmann@nokia.com>
27807
27808        [Qt][WK2] Remove QWebNavigationController
27809        https://bugs.webkit.org/show_bug.cgi?id=72113
27810
27811        Reviewed by Andreas Kling.
27812
27813        Fold the functions and properties of QWebNavigationController into
27814        QQuickWebView.
27815
27816        * Target.pri:
27817        * UIProcess/API/qt/WKView.h:
27818        * UIProcess/API/qt/qquickwebpage.cpp:
27819        (QQuickWebPagePrivate::QQuickWebPagePrivate):
27820        * UIProcess/API/qt/qquickwebpage.h:
27821        * UIProcess/API/qt/qquickwebpage_p.h:
27822        * UIProcess/API/qt/qquickwebview.cpp:
27823        (QQuickWebViewPrivate::initialize):
27824        (QQuickWebView::goBack):
27825        (QQuickWebView::goForward):
27826        (QQuickWebView::stop):
27827        (QQuickWebView::reload):
27828        (QQuickWebView::canGoBack):
27829        (QQuickWebView::canGoForward):
27830        (QQuickWebView::canStop):
27831        (QQuickWebView::canReload):
27832        (QQuickWebView::title):
27833        * UIProcess/API/qt/qquickwebview.h:
27834        * UIProcess/API/qt/qwebnavigationcontroller.cpp: Removed.
27835        * UIProcess/API/qt/qwebnavigationcontroller.h: Removed.
27836        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
27837        (tst_QQuickWebView::navigationStatusAtStartup):
27838        (LoadStartedCatcher::onLoadStarted):
27839        (tst_QQuickWebView::stopEnabledAfterLoadStarted):
27840        (tst_QQuickWebView::backAndForward):
27841        (tst_QQuickWebView::reload):
27842        (tst_QQuickWebView::stop):
27843
278442011-11-10  Beth Dakin  <bdakin@apple.com>
27845
27846        Once more for the QT build.
27847
27848        * UIProcess/qt/QtWebPageProxy.cpp:
27849        (QtWebPageProxy::setFindIndicator):
27850        * UIProcess/qt/QtWebPageProxy.h:
27851
278522011-11-10  Beth Dakin  <bdakin@apple.com>
27853
27854        More attempted build fix.
27855
27856        * UIProcess/API/efl/PageClientImpl.cpp:
27857        (WebKit::PageClientImpl::setFindIndicator):
27858        * UIProcess/API/efl/PageClientImpl.h:
27859        * UIProcess/API/gtk/PageClientImpl.cpp:
27860        (WebKit::PageClientImpl::setFindIndicator):
27861        * UIProcess/API/gtk/PageClientImpl.h:
27862
278632011-11-10  Anders Carlsson  <andersca@apple.com>
27864
27865        Fix 32-bit build.
27866
27867        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
27868        (-[WKContentLayer drawInContext:]):
27869
278702011-11-10  Beth Dakin  <bdakin@apple.com>
27871
27872        Speculative build fix.
27873
27874        * UIProcess/win/WebView.cpp:
27875        (WebKit::WebView::setFindIndicator):
27876        * UIProcess/win/WebView.h:
27877
278782011-11-10  Beth Dakin  <bdakin@apple.com>
27879
27880        https://bugs.webkit.org/show_bug.cgi?id=66584
27881        WebKit2's find bouncy looks blurry after dragging window onto >1.0 scale factor 
27882        display
27883        -and corresponding-
27884        <rdar://problem/9987559>
27885
27886        Reviewed by Anders Carlsson.
27887
27888        The setFindIndicator message and various functions of the same name must all take 
27889        an additional parameter indicating whether or not setting the find indicator 
27890        should result in a bounce animation. This is because when the device scale factor 
27891        changes, if there is currently a find indicator, it must be re-set to a higher or 
27892        lower resolution version, but we don't want the bounce animation to happen again.
27893        * UIProcess/API/mac/FindIndicatorWindow.h:
27894        * UIProcess/API/mac/FindIndicatorWindow.mm:
27895        (WebKit::FindIndicatorWindow::setFindIndicator):
27896        * UIProcess/API/mac/PageClientImpl.h:
27897        * UIProcess/API/mac/PageClientImpl.mm:
27898        (WebKit::PageClientImpl::setFindIndicator):
27899        * UIProcess/API/mac/WKView.mm:
27900        (-[WKView _setFindIndicator:fadeOut:animate:]):
27901        * UIProcess/API/mac/WKViewInternal.h:
27902        * UIProcess/PageClient.h:
27903        * UIProcess/WebPageProxy.cpp:
27904        (WebKit::WebPageProxy::setFindIndicator):
27905        * UIProcess/WebPageProxy.h:
27906        * UIProcess/WebPageProxy.messages.in:
27907
27908        New function FindController::isShowingOverlay() is used to determine if 
27909        FindController::deviceScaleFactorDidChange() needs to be called.
27910        * WebProcess/WebPage/FindController.h:
27911        (WebKit::FindController::isShowingOverlay): 
27912
27913        FindController::deviceScaleFactorDidChange() calls updateFindIndicator to re-
27914        generate the bitmap at the appropriate scale factor, but tells it not to animate 
27915        this time.
27916        (WebKit::FindController::deviceScaleFactorDidChange):
27917
27918        updateFindIndicator() takes a new parameter indicating whether or not the 
27919        FindIndicator should animate. It defaults to true since the deviceScaleFactor 
27920        changing is the only case currently where we do not want it to animate.
27921        * WebProcess/WebPage/FindController.cpp:
27922        (WebKit::FindController::updateFindIndicator):
27923        (WebKit::FindController::hideFindIndicator):
27924
27925        Calls into FindController::deviceScaleFactorDidChange() when the scale factor has 
27926        changed and the find overlay is showing.
27927        * WebProcess/WebPage/WebPage.cpp:
27928        (WebKit::WebPage::setDeviceScaleFactor):
27929
279302011-11-10  Timothy Hatcher  <timothy@apple.com>
27931
27932        Make WKViews in NSPopovers render as they would in active windows.
27933
27934        The NSWindowDid{Become,Resign}KeyNotifications are not fired when NSPopovers
27935        are shown or hidden since they share key with the parent window. So WKView
27936        needs to update the active state during order on/off screen notifications.
27937
27938        https://webkit.org/b/68435
27939
27940        Reviewed by John Sullivan.
27941
27942        * UIProcess/API/mac/WKView.mm:
27943        (-[WKView _windowDidOrderOffScreen:]): Call viewStateDidChange with WebPageProxy::ViewWindowIsActive.
27944        (-[WKView _windowDidOrderOnScreen:]): Ditto.
27945
279462011-11-10  Anders Carlsson  <andersca@apple.com>
27947
27948        Add a simple content layer to TiledCoreAnimationDrawingArea
27949        https://bugs.webkit.org/show_bug.cgi?id=72044
27950
27951        Reviewed by Darin Adler.
27952
27953        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
27954        Add a content layer member variable.
27955
27956        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
27957        (-[WKContentLayer _initWithWebPage:WebKit::]):
27958        Add initializer.
27959
27960        (-[WKContentLayer drawInContext:]):
27961        Lay out and draw the web page.
27962
27963        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
27964        Add the content layer as a sublayer of the root layer.
27965
27966        (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay):
27967        (WebKit::TiledCoreAnimationDrawingArea::scroll):
27968        Tell the content layer to paint.
27969
27970        (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
27971        Resize the content layer as well.
27972
279732011-11-10  Anders Carlsson  <andersca@apple.com>
27974
27975        The WKView layer hosting subview needs to be flipped
27976        https://bugs.webkit.org/show_bug.cgi?id=72042
27977
27978        Reviewed by Darin Adler.
27979
27980        In order to match the Core Animation layer hierarchy, the layer hosting WKView
27981        subview needs to be flipped.
27982
27983        * UIProcess/API/mac/WKView.mm:
27984        (-[WKFlippedView isFlipped]):
27985        Add a NSView subview whose sole purpose is to be flipped.
27986
27987        (-[WKView _enterAcceleratedCompositingMode:]):
27988        Create a WKFlippedView instead of a regular NSView.
27989
279902011-11-10  Balazs Kelemen  <kbalazs@webkit.org>
27991
27992        [Qt] X11 plugins need to be reworked for Qt5
27993        https://bugs.webkit.org/show_bug.cgi?id=70023
27994
27995        Reviewed by Simon Hausmann.
27996
27997        * Target.pri:
27998        * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
27999        (WebKit::PluginInfoStore::pluginsDirectories):
28000        Kill the last dependency from the WebKit1 plugin system.
28001        This is necessary because currently we don't build the WebKit1
28002        plugin code. The function is equivalent with the XP_UNIX part of
28003        PluginDatabase::defaultPluginDirectories.
28004
28005        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
28006        (WebKit::NPN_GetValue):
28007        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
28008        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
28009        (WebKit::getPluginDisplay):
28010        (WebKit::x11Screen):
28011        (WebKit::displayDepth):
28012        (WebKit::rootWindowID):
28013        (WebKit::NetscapePlugin::x11HostDisplay):
28014        (WebKit::NetscapePlugin::platformPostInitialize):
28015        (WebKit::NetscapePlugin::platformDestroy):
28016        (WebKit::NetscapePlugin::platformGeometryDidChange):
28017        (WebKit::NetscapePlugin::platformPaint):
28018        (WebKit::initializeXEvent):
28019        Rework plugin initialization and drawing model.
28020
280212011-11-10  Martin Robinson  <mrobinson@igalia.com>
28022
28023        [GTK] [WebKit2] Fix remaining gtkdoc errors
28024        https://bugs.webkit.org/show_bug.cgi?id=71990
28025
28026        Reviewed by Philippe Normand.
28027
28028        * UIProcess/API/gtk/WebKitWebView.cpp: Update add the phrase "property" to
28029        references to properties, because the gtkdoc stylesheet does not differeniate
28030        between properties and signals. Standardize the way we talk about property
28031        notifications.
28032        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add an include to silence 
28033        warnings about GIR annotations.
28034        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add the decorators the private section.
28035
280362011-11-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
28037
28038        [Qt] Clean up how singe / double taps are handled
28039        https://bugs.webkit.org/show_bug.cgi?id=72024
28040
28041        Reviewed by Simon Hausmann.
28042
28043        Move all decision making to the QtWebPageProxy.
28044
28045        * UIProcess/qt/QtTapGestureRecognizer.cpp:
28046        (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
28047        (WebKit::QtTapGestureRecognizer::recognize):
28048        (WebKit::QtTapGestureRecognizer::tapTimeout):
28049        * UIProcess/qt/QtTapGestureRecognizer.h:
28050        * UIProcess/qt/QtWebPageProxy.cpp:
28051        (QtWebPageProxy::QtWebPageProxy):
28052        (QtWebPageProxy::handleSingleTapEvent):
28053        (QtWebPageProxy::handleDoubleTapEvent):
28054        * UIProcess/qt/QtWebPageProxy.h:
28055
280562011-11-10  Simon Hausmann  <simon.hausmann@nokia.com>
28057
28058        [Qt] Clean up build system
28059
28060        Reviewed by Tor Arne Vestbø.
28061
28062        Now that we use whole-archive linking we can fold the files that contain exported
28063        symbols back into the WebKit2 static library.
28064
28065        * Target.pri: Fold in sources from WebKit2.pri.
28066        * WebKit2.pri: Removed.
28067
280682011-11-10  Alexis Menard  <alexis.menard@openbossa.org>
28069
28070        [Qt] Merge QTouchWebView and QDesktopWebView into one class
28071        https://bugs.webkit.org/show_bug.cgi?id=71355
28072
28073        Reviewed by Kenneth Rohde Christiansen.
28074
28075        Merge QTouchWebView and QDesktopWebView into one class called
28076        QQuickWebView and its attached page QQuickWebPage. You can switch to the
28077        traditional desktop use case with the private header. Also now on desktop
28078        platforms AC is turn on by default. I also merged our two
28079        subclasses of QtViewInterface into one as the split doesn't make
28080        that much sense anymore. In the future we want to be able to enable the
28081        traditional desktop use case depending the platform the code is running.
28082        API tests and QML tests have been updated.
28083
28084        * Target.pri:
28085        * UIProcess/API/qt/WKView.h:
28086        * UIProcess/API/qt/qbasewebview.cpp: Removed.
28087        * UIProcess/API/qt/qbasewebview_p.h: Removed.
28088        * UIProcess/API/qt/qdesktopwebview.cpp: Removed.
28089        * UIProcess/API/qt/qdesktopwebview.h: Removed.
28090        * UIProcess/API/qt/qdesktopwebview_p.h: Removed.
28091        * UIProcess/API/qt/qquickwebpage.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qtouchwebpage.cpp.
28092        (QQuickWebPage::QQuickWebPage):
28093        (QQuickWebPage::~QQuickWebPage):
28094        (QQuickWebPage::keyPressEvent):
28095        (QQuickWebPage::keyReleaseEvent):
28096        (QQuickWebPage::inputMethodEvent):
28097        (QQuickWebPage::focusInEvent):
28098        (QQuickWebPage::focusOutEvent):
28099        (QQuickWebPage::mousePressEvent):
28100        (QQuickWebPage::mouseMoveEvent):
28101        (QQuickWebPage::mouseReleaseEvent):
28102        (QQuickWebPage::mouseDoubleClickEvent):
28103        (QQuickWebPage::wheelEvent):
28104        (QQuickWebPage::hoverEnterEvent):
28105        (QQuickWebPage::hoverMoveEvent):
28106        (QQuickWebPage::hoverLeaveEvent):
28107        (QQuickWebPage::dragMoveEvent):
28108        (QQuickWebPage::dragEnterEvent):
28109        (QQuickWebPage::dragLeaveEvent):
28110        (QQuickWebPage::dropEvent):
28111        (QQuickWebPage::geometryChanged):
28112        (QQuickWebPage::event):
28113        (QQuickWebPage::touchEvent):
28114        (QQuickWebPage::itemChange):
28115        (QQuickWebPagePrivate::QQuickWebPagePrivate):
28116        (QQuickWebPagePrivate::initializeSceneGraphConnections):
28117        (QQuickWebPagePrivate::setPageProxy):
28118        (computeEffectiveOpacity):
28119        (QQuickWebPagePrivate::paintToCurrentGLContext):
28120        (QQuickWebPagePrivate::_q_onAfterSceneRender):
28121        (QQuickWebPagePrivate::_q_onSceneGraphInitialized):
28122        * UIProcess/API/qt/qquickwebpage.h: Renamed from Source/WebKit2/UIProcess/API/qt/qtouchwebpage.h.
28123        * UIProcess/API/qt/qquickwebpage_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qtouchwebpage_p.h.
28124        * UIProcess/API/qt/qquickwebview.cpp: Added.
28125        (QQuickWebViewPrivate::QQuickWebViewPrivate):
28126        (QQuickWebViewPrivate::enableMouseEvents):
28127        (QQuickWebViewPrivate::disableMouseEvents):
28128        (QQuickWebViewPrivate::initialize):
28129        (QQuickWebViewPrivate::initializeDesktop):
28130        (QQuickWebViewPrivate::initializeTouch):
28131        (QQuickWebViewPrivate::loadDidCommit):
28132        (QQuickWebViewPrivate::contentSizeChanged):
28133        (QQuickWebViewPrivate::scrollPositionRequested):
28134        (QQuickWebViewPrivate::_q_viewportUpdated):
28135        (QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged):
28136        (QQuickWebViewPrivate::_q_onVisibleChanged):
28137        (QQuickWebViewPrivate::updateViewportSize):
28138        (QQuickWebViewPrivate::updateViewportConstraints):
28139        (QQuickWebViewPrivate::didChangeViewportProperties):
28140        (QQuickWebViewPrivate::runJavaScriptAlert):
28141        (QQuickWebViewPrivate::runJavaScriptConfirm):
28142        (QQuickWebViewPrivate::runJavaScriptPrompt):
28143        (QQuickWebViewPrivate::chooseFiles):
28144        (QQuickWebViewPrivate::_q_onOpenPanelFilesSelected):
28145        (QQuickWebViewPrivate::_q_onOpenPanelFinished):
28146        (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
28147        (toPolicyAction):
28148        (hasMetaMethod):
28149        (QQuickWebViewPrivate::navigationPolicyForURL):
28150        (QQuickWebViewPrivate::setPageProxy):
28151        (QQuickWebView::QQuickWebView):
28152        (QQuickWebView::~QQuickWebView):
28153        (QQuickWebView::page):
28154        (QQuickWebView::load):
28155        (QQuickWebView::postMessage):
28156        (QQuickWebView::url):
28157        (QQuickWebView::loadProgress):
28158        (QQuickWebView::title):
28159        (QQuickWebView::navigationController):
28160        (QQuickWebView::preferences):
28161        (QQuickWebView::geometryChanged):
28162        (QQuickWebView::touchEvent):
28163        (QQuickWebView::pageRef):
28164        * UIProcess/API/qt/qquickwebview.h: Renamed from Source/WebKit2/UIProcess/API/qt/qbasewebview.h.
28165        * UIProcess/API/qt/qquickwebview_p.h: Added.
28166        * UIProcess/API/qt/qtouchwebview.cpp: Removed.
28167        * UIProcess/API/qt/qtouchwebview.h: Removed.
28168        * UIProcess/API/qt/qtouchwebview_p.h: Removed.
28169        * UIProcess/API/qt/tests/commonviewtests/commonviewtests.pro: Removed.
28170        * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp: Removed.
28171        * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp: Removed.
28172        * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h: Removed.
28173        * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp: Removed.
28174        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_download.qml:
28175        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml:
28176        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadFail.qml:
28177        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgress.qml:
28178        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgressSignal.qml:
28179        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadZeroSizeView.qml:
28180        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_messaging.qml:
28181        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml:
28182        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml:
28183        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml:
28184        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml:
28185        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml:
28186        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml:
28187        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml:
28188        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml:
28189        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml:
28190        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml:
28191        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
28192        * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
28193        (DesktopWebView::DesktopWebView):
28194        (main):
28195        * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qdesktopwebview/qdesktopwebview.pro.
28196        * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: Added.
28197        (tst_QQuickWebView::tst_QQuickWebView):
28198        (tst_QQuickWebView::init):
28199        (tst_QQuickWebView::cleanup):
28200        (tst_QQuickWebView::webView):
28201        (tst_QQuickWebView::accessPage):
28202        (tst_QQuickWebView::navigationStatusAtStartup):
28203        (LoadStartedCatcher::LoadStartedCatcher):
28204        (LoadStartedCatcher::onLoadStarted):
28205        (tst_QQuickWebView::stopEnabledAfterLoadStarted):
28206        (tst_QQuickWebView::baseUrl):
28207        (tst_QQuickWebView::loadEmptyUrl):
28208        (tst_QQuickWebView::loadEmptyPageViewVisible):
28209        (tst_QQuickWebView::loadEmptyPageViewHidden):
28210        (tst_QQuickWebView::loadNonexistentFileUrl):
28211        (tst_QQuickWebView::backAndForward):
28212        (tst_QQuickWebView::reload):
28213        (tst_QQuickWebView::stop):
28214        (tst_QQuickWebView::loadProgress):
28215        (tst_QQuickWebView::show):
28216        * UIProcess/API/qt/tests/qtouchwebview/qtouchwebview.pro: Removed.
28217        * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp: Removed.
28218        * UIProcess/API/qt/tests/testwindow.h:
28219        * UIProcess/TiledDrawingAreaProxy.h:
28220        * UIProcess/qt/QtGestureRecognizer.cpp:
28221        (WebKit::QtGestureRecognizer::QtGestureRecognizer):
28222        (WebKit::QtGestureRecognizer::setViewportInteractionEngine):
28223        * UIProcess/qt/QtGestureRecognizer.h:
28224        * UIProcess/qt/QtPanGestureRecognizer.cpp:
28225        (WebKit::QtPanGestureRecognizer::setViewportInteractionEngine):
28226        (WebKit::QtPanGestureRecognizer::recognize):
28227        * UIProcess/qt/QtPanGestureRecognizer.h:
28228        * UIProcess/qt/QtPinchGestureRecognizer.cpp:
28229        (WebKit::QtPinchGestureRecognizer::recognize):
28230        (WebKit::QtPinchGestureRecognizer::setViewportInteractionEngine):
28231        * UIProcess/qt/QtPinchGestureRecognizer.h:
28232        * UIProcess/qt/QtTouchViewInterface.cpp: Removed.
28233        * UIProcess/qt/QtTouchViewInterface.h: Removed.
28234        * UIProcess/qt/QtViewInterface.cpp: Added.
28235        (WebKit::QtViewInterface::QtViewInterface):
28236        (WebKit::QtViewInterface::didFindZoomableArea):
28237        (WebKit::QtViewInterface::sceneGraphUpdateQueue):
28238        (WebKit::QtViewInterface::setViewNeedsDisplay):
28239        (WebKit::QtViewInterface::drawingAreaSize):
28240        (WebKit::QtViewInterface::contentSizeChanged):
28241        (WebKit::QtViewInterface::scrollPositionRequested):
28242        (WebKit::QtViewInterface::isActive):
28243        (WebKit::QtViewInterface::hasFocus):
28244        (WebKit::QtViewInterface::isVisible):
28245        (WebKit::QtViewInterface::startDrag):
28246        (WebKit::QtViewInterface::didChangeViewportProperties):
28247        (WebKit::QtViewInterface::didChangeUrl):
28248        (WebKit::QtViewInterface::didChangeTitle):
28249        (WebKit::QtViewInterface::didChangeToolTip):
28250        (WebKit::QtViewInterface::didChangeStatusText):
28251        (WebKit::QtViewInterface::didChangeCursor):
28252        (WebKit::QtViewInterface::loadDidBegin):
28253        (WebKit::QtViewInterface::loadDidCommit):
28254        (WebKit::QtViewInterface::loadDidSucceed):
28255        (WebKit::QtViewInterface::loadDidFail):
28256        (WebKit::QtViewInterface::didChangeLoadProgress):
28257        (WebKit::QtViewInterface::didMouseMoveOverElement):
28258        (WebKit::QtViewInterface::showContextMenu):
28259        (WebKit::QtViewInterface::hideContextMenu):
28260        (WebKit::QtViewInterface::runJavaScriptAlert):
28261        (WebKit::QtViewInterface::runJavaScriptConfirm):
28262        (WebKit::QtViewInterface::runJavaScriptPrompt):
28263        (WebKit::QtViewInterface::processDidCrash):
28264        (WebKit::QtViewInterface::didRelaunchProcess):
28265        (WebKit::QtViewInterface::engine):
28266        (WebKit::QtViewInterface::downloadRequested):
28267        (WebKit::QtViewInterface::chooseFiles):
28268        * UIProcess/qt/QtViewInterface.h:
28269        * UIProcess/qt/QtWebPageProxy.h:
28270        (QtWebPageProxy::setViewportInteractionEngine):
28271        * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
28272        * WebKit2.pri:
28273
282742011-11-10  Carlos Garcia Campos  <cgarcia@igalia.com>
28275
28276        Unreviewed. Fix make distcheck build.
28277
28278        * GNUmakefile.am: Fix typos in gtk-doc files and scripts.
28279
282802011-11-10  Simon Hausmann  <simon.hausmann@nokia.com>
28281
28282        Unreviewed Mac build fix: Remove TapAndHold gesture type.
28283
28284        It broke the build because it's unhandled. Remove it since it's not
28285        supported at the moment anyway. (looks like an accidental addition?)
28286
28287        * Shared/WebEvent.h:
28288        * UIProcess/qt/QtTapGestureRecognizer.cpp:
28289        (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
28290
282912011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
28292
28293        [Qt] Enable exports and constructor functions in static libs
28294
28295        Reviewed by Tor Arne Vestbø.
28296
28297        * WebProcess/WebPage/qt/WebPageQt.cpp:
28298        (WebKit::WebPage::platformInitialize): Remove unnecessary manual Qt resource
28299        initialization.
28300
283012011-11-10  Zeno Albisser  <zeno.albisser@nokia.com>
28302
28303        [Qt][WK2] Add Tap Gesture recognition to UIProcess
28304        https://bugs.webkit.org/show_bug.cgi?id=71841
28305
28306        Add a Tap gesture recognizer that delivers GestureSingleTap
28307        and GestureTapAndHold events through the WebPageProxy.
28308        Add a GestureTapAndHold to WebEvent.
28309        Add a DoubleTap gesture for zooming in and out.
28310
28311        This patch is based on work of Benjamin Poulain.
28312
28313        Reviewed by Kenneth Rohde Christiansen.
28314
28315        * Shared/WebEvent.h:
28316        * Target.pri:
28317        * UIProcess/qt/QtTapGestureRecognizer.cpp: Added.
28318        (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
28319        (WebKit::QtTapGestureRecognizer::setWebPageProxy):
28320        (WebKit::QtTapGestureRecognizer::recognize):
28321        (WebKit::QtTapGestureRecognizer::tapTimeout):
28322        (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
28323        (WebKit::QtTapGestureRecognizer::reset):
28324        (WebKit::QtTapGestureRecognizer::timerEvent):
28325        * UIProcess/qt/QtTapGestureRecognizer.h: Added.
28326        * UIProcess/qt/QtWebPageProxy.cpp:
28327        (QtWebPageProxy::QtWebPageProxy):
28328        (QtWebPageProxy::processDidCrash):
28329        (QtWebPageProxy::doneWithTouchEvent):
28330        * UIProcess/qt/QtWebPageProxy.h:
28331
283322011-11-09  Shinya Kawanaka  <shinyak@google.com>
28333
28334        Internals.markerRangeForNode should be able to take markers by specifying a marker type.
28335        https://bugs.webkit.org/show_bug.cgi?id=71792
28336
28337        Reviewed by Hajime Morita.
28338
28339        * win/WebKit2.def: Exposed necessary references.
28340        * win/WebKit2CFLite.def: ditto.
28341
283422011-10-26  Martin Robinson  <mrobinson@igalia.com>
28343
28344        [GTK] [WebKit] Replace the gtkdoc autools magic with something more flexible
28345        https://bugs.webkit.org/show_bug.cgi?id=70877
28346
28347        Reviewed by Philippe Normand.
28348
28349        Add a script that runs gtkdoc manually instead of using the autotools
28350        magic. Remove now unused gtkdoc files.
28351
28352        * GNUmakefile.am: Remove references to removed gtkdoc files.
28353        * UIProcess/API/gtk/docs/GNUmakefile.am: Removed.
28354        * UIProcess/API/gtk/docs/build-gtkdoc: Added.
28355        * UIProcess/API/gtk/docs/gtkdoc.py: Added.
28356        * UIProcess/API/gtk/docs/version.xml.in: Removed.
28357
283582011-11-09  Alexey Proskuryakov  <ap@apple.com>
28359
28360        <rdar://problem/10423024> WebProcess doesn't use AuthBrokerAgent for proxy credentials
28361        https://bugs.webkit.org/show_bug.cgi?id=71964
28362
28363        Reviewed by Darin Adler.
28364
28365        * WebProcess/com.apple.WebProcess.sb: Allow mach-lookup of com.apple.cfnetwork.AuthBrokerAgent.
28366
283672011-11-09  Anders Carlsson  <andersca@apple.com>
28368
28369        Element::boundsInWindowSpace should be Element::boundsInRootViewSpace
28370        https://bugs.webkit.org/show_bug.cgi?id=71955
28371
28372        Reviewed by Sam Weinig.
28373
28374        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
28375        (WebKit::InjectedBundleNodeHandle::elementBounds):
28376        Call Element::boundsInRootViewSpace.
28377
283782011-11-09  Alexis Menard  <alexis.menard@openbossa.org>
28379
28380        WebGraphicsLayer behaves wrongly when no contentsScale is set.
28381        https://bugs.webkit.org/show_bug.cgi?id=71959
28382
28383        Reviewed by Noam Rosenthal.
28384
28385        The contentsScale needs to get a default value just like
28386        TiledBackingStore in case no value is explicitely set.
28387
28388        It is covered by existing tests.
28389
28390        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
28391        (WebCore::WebGraphicsLayer::WebGraphicsLayer):
28392
283932011-11-09  Mark Hahnenberg  <mhahnenberg@apple.com>
28394
28395        De-virtualize JSObject::getOwnPropertyDescriptor
28396        https://bugs.webkit.org/show_bug.cgi?id=71523
28397
28398        Reviewed by Sam Weinig.
28399
28400        Added getOwnPropertyDescriptor to the MethodTable, changed all of the 
28401        virtual versions of getOwnPropertyDescriptor to static ones, and 
28402        changed all of the call sites to the corresponding lookup in the MethodTable.
28403
28404        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
28405        (WebKit::JSNPObject::getOwnPropertyDescriptor):
28406        * WebProcess/Plugins/Netscape/JSNPObject.h:
28407
284082011-11-09  Alexandru Chiculita  <achicu@adobe.com>
28409
28410        Fixing build on MacOSX SL after 71838
28411        https://bugs.webkit.org/show_bug.cgi?id=71912
28412
28413        Reviewed by Anders Carlsson.
28414
28415        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
28416        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
28417
284182011-11-09  Kenneth Rohde Christiansen  <kenneth@webkit.org>
28419
28420        [WebKit2] Prepare viewport meta handling for desktop usage
28421        https://bugs.webkit.org/show_bug.cgi?id=71907
28422
28423        Reviewed by Simon Hausmann.
28424
28425        This is only used by Qt so far. Now we don't always layout pages
28426        without the viewport meta tag, using 980 as the layout width, but
28427        instead we use that value (it is a setting) as a minimum value, or
28428        else we use the viewport width.
28429
28430        * UIProcess/API/qt/qtouchwebview.cpp:
28431        (QTouchWebViewPrivate::updateViewportSize):
28432        (QTouchWebViewPrivate::updateViewportConstraints):
28433        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
28434        (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
28435        * WebProcess/WebPage/WebPage.cpp:
28436        (WebKit::WebPage::setViewportSize):
28437
284382011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
28439
28440        Unreviewed, rolling out r99701.
28441        http://trac.webkit.org/changeset/99701
28442
28443        Breaks Qt mac build
28444
28445        * WebProcess/WebPage/qt/WebPageQt.cpp:
28446        (initResources):
28447        (WebKit::WebPage::platformInitialize):
28448
284492011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
28450
28451        [Qt] Enable exports and constructor functions in static libs
28452
28453        Reviewed by Tor Arne Vestbø.
28454
28455        * WebProcess/WebPage/qt/WebPageQt.cpp:
28456        (WebKit::WebPage::platformInitialize): Remove unnecessary manual Qt resource
28457        initialization.
28458
284592011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
28460
28461        [Qt] Fix geolocation enabled build.
28462
28463        Reviewed by Tor Arne Vestbø.
28464
28465        * Target.pri: Add QT += location to get the right module includes.
28466        * UIProcess/qt/WebGeolocationProviderQt.cpp: Include the moc file with the right name (GeoLocation -> Geolocation)
28467        * UIProcess/qt/WebGeolocationProviderQt.h: Removed the ENABLE(GEOLOCATION) guards, otherwise moc doesn't generate
28468        code, because it can't interpret the ENABLE() macro.
28469
284702011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
28471
28472        [Qt] Build system cleanup
28473        https://bugs.webkit.org/show_bug.cgi?id=71815
28474
28475        Reviewed by Kenneth Rohde Christiansen.
28476
28477        * Target.pri: Removed duplicated sources that are compiled also into QtWebKit.so through api.pri.
28478        * UIProcess/qt/WebGeolocationProviderQt.cpp: Include the moc file here, as it should only be compiled
28479        if geolocation is enabled.
28480        * UIProcess/qt/WebGeolocationProviderQt.h: Provide ENABLE(GEOLOCATION) guards around class definition.
28481
284822011-11-08  Simon Hausmann  <simon.hausmann@nokia.com>
28483
28484        [Qt] Replace use of QApplication with QGuiApplication
28485        https://bugs.webkit.org/show_bug.cgi?id=71794
28486
28487        Reviewed by Andreas Kling.
28488
28489        * Platform/CoreIPC/unix/ConnectionUnix.cpp: Remove unnecessary QApplication inclusion.
28490        * Platform/qt/RunLoopQt.cpp: Replace QApplication include with QCoreApplication.
28491        * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: Ditto.
28492        * UIProcess/Launcher/qt/ThreadLauncherQt.cpp: Remove unnecessary QApplication inclusion.
28493        * UIProcess/qt/QtWebPageProxy.cpp:
28494        (QtWebPageProxy::handleMousePressEvent): Replace QApplication usage with QStyleHints.
28495        (QtWebPageProxy::handleMouseDoubleClickEvent): Ditto.
28496
284972011-11-07  Adam Barth  <abarth@webkit.org>
28498
28499        Move static "policy" state from SecurityOrigin.cpp to SecurityPolicy.cpp
28500        https://bugs.webkit.org/show_bug.cgi?id=71755
28501
28502        Reviewed by Eric Seidel.
28503
28504        * WebProcess/InjectedBundle/InjectedBundle.cpp:
28505        (WebKit::InjectedBundle::addOriginAccessWhitelistEntry):
28506        (WebKit::InjectedBundle::removeOriginAccessWhitelistEntry):
28507        (WebKit::InjectedBundle::resetOriginAccessWhitelists):
28508        * WebProcess/Plugins/PluginView.cpp:
28509        (WebKit::PluginView::loadURL):
28510
285112011-11-08  Brent Fulgham  <bfulgham@webkit.org>
28512
28513        [WinCairo] Unreviewed build fix after r99613.
28514
28515        * win/WebKit2CFLite.def: Add missing export.
28516
285172011-11-08  Brent Fulgham  <bfulgham@webkit.org>
28518
28519        [WinCairo] Unreviewed build fix after r98624 and r99613.
28520
28521        * win/WebKit2CFLite.def: Add missing exports.
28522
285232011-11-08  Beth Dakin  <bdakin@apple.com>
28524
28525        https://bugs.webkit.org/show_bug.cgi?id=71856
28526        WebKit should use new NSWindowDidChangeBackingPropertiesNotification instead of 
28527        old NSWindowDidChangeResolutionNotification
28528        -and corresponding-
28529        <rdar://problem/10317253>
28530
28531        Reviewed by Tim Hatcher.
28532
28533        * UIProcess/API/mac/WKView.mm:
28534        (-[WKView addWindowObserversForWindow:]):
28535        (-[WKView removeWindowObservers]):
28536
28537        We have to check that the backing scale factor actually changed since this 
28538        notification can also be used to signify other changes. 
28539        (-[WKView _windowDidChangeBackingProperties:]):
28540
285412011-11-08  Anders Carlsson  <andersca@apple.com>
28542
28543        Add a basic layer hierarchy to the Core Animation drawing area
28544        https://bugs.webkit.org/show_bug.cgi?id=71838
28545
28546        Reviewed by Sam Weinig.
28547
28548        * UIProcess/API/mac/WKView.mm:
28549        (-[WKView drawRect:]):
28550        Return early if we're using a tiled drawing area.
28551
28552        (-[WKView initWithFrame:contextRef:pageGroupRef:]):
28553        If we're using a tiled drawing area, make the WKView layer backed and set its layer
28554        to a simple CALayer with a white background and set the view's content redraw policy
28555        to never to avoid ever calling drawRect.
28556
28557        * UIProcess/DrawingAreaProxy.h:
28558        (WebKit::DrawingAreaProxy::didUpdateGeometry):
28559        * UIProcess/DrawingAreaProxy.messages.in:
28560        Add a new didUpdateGeometry message.
28561
28562        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
28563        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
28564        (WebKit::TiledCoreAnimationDrawingAreaProxy::TiledCoreAnimationDrawingAreaProxy):
28565        Initialize m_isWaitingForDidUpdateGeometry.
28566
28567        (WebKit::TiledCoreAnimationDrawingAreaProxy::sizeDidChange):
28568        Send an UpdateGeometry message to the web process and wait for a reply.
28569
28570        (WebKit::TiledCoreAnimationDrawingAreaProxy::enterAcceleratedCompositingMode):
28571        Tell the web page proxy to enter accelerated compositing mode.
28572
28573        (WebKit::TiledCoreAnimationDrawingAreaProxy::exitAcceleratedCompositingMode):
28574        Assert that this function is never called.
28575
28576        (WebKit::TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry):
28577        Send another UpdateGeometry message if needed.
28578
28579        (WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry):
28580        Add helper function to actually send the UpdateGeometry message.
28581
28582        * WebProcess/WebPage/DrawingArea.h:
28583        (WebKit::DrawingArea::updateGeometry):
28584        * WebProcess/WebPage/DrawingArea.messages.in:
28585        Add UpdateGeometry message.
28586
28587        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
28588        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
28589        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
28590        Create a red root layer and a remote layer client that hosts it.
28591
28592        (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
28593        Resize the root layer and tell the UI process that we've updated the geometry.
28594
285952011-11-08  Dan Bernstein  <mitz@apple.com>
28596
28597        <rdar://problem/10262225> Allow RenderView to have columns
28598        https://bugs.webkit.org/show_bug.cgi?id=71840
28599
28600        * win/WebKit2.def: Export Page::setPagination() for WebCoreTestSupport.
28601
286022011-11-08  Jon Lee  <jonlee@apple.com>
28603
28604        [WK2] Expose acceptMIMETypes for file inputs
28605        https://bugs.webkit.org/show_bug.cgi?id=71836
28606        <rdar://problem/10407367>
28607
28608        Reviewed by Anders Carlsson.
28609
28610        * Shared/WebOpenPanelParameters.cpp:
28611        (WebKit::WebOpenPanelParameters::acceptMIMETypes):
28612        * Shared/WebOpenPanelParameters.h:
28613        * UIProcess/API/C/WKOpenPanelParameters.cpp:
28614        (WKOpenPanelParametersCopyAcceptedMIMETypes):
28615        * UIProcess/API/C/WKOpenPanelParameters.h:
28616
286172011-11-08  Zan Dobersek  <zandobersek@gmail.com>
28618
28619        [WK2][GTK] The default database & local storage directory names should note they exist for Gtk port's needs
28620        https://bugs.webkit.org/show_bug.cgi?id=71837
28621
28622        Reviewed by Martin Robinson.
28623
28624        Ensure that directories for databases and local storage are in a 'webkitgtk'
28625        directory in current user's data directory, noting they originate from the Gtk port.
28626
28627        * UIProcess/gtk/WebContextGtk.cpp:
28628        (WebKit::WebContext::platformDefaultDatabaseDirectory):
28629        (WebKit::WebContext::platformDefaultLocalStorageDirectory):
28630
286312011-11-08  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
28632
28633        [Qt] Workaround some problems in QML API tests
28634        https://bugs.webkit.org/show_bug.cgi?id=71818
28635
28636        Reviewed by Tor Arne Vestbø.
28637
28638        This commit workaround the issue of QML's QtTest crashing when we run tests after
28639        "windowShown". We delay to the next run of the mainloop. This workaround is not
28640        pretty but shouldn't affect the semantics of the tests. And we benefit more from
28641        having working tests right now.
28642
28643        This patch also improves Download to: wait for the load before emitting click, and
28644        properly identifying the "succeeded" signal of the downloadItem object.
28645
28646        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_download.qml:
28647        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml:
28648        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml:
28649
286502011-11-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>
28651
28652        Clean up QtViewportInteractionEngine
28653
28654        Reviewed by Simon Hausmann.
28655
28656        * UIProcess/qt/QtViewportInteractionEngine.cpp:
28657        (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
28658        (WebKit::QtViewportInteractionEngine::setItemRectVisible):
28659
28660            Rename the method to make it more obvious what it does. Avoid implicit
28661            conversion to/from QVariant.
28662
28663        (WebKit::QtViewportInteractionEngine::pagePositionRequest):
28664        (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
28665        (WebKit::QtViewportInteractionEngine::itemSizeChanged):
28666
28667            Only call this method on item size changes, and not for every interaction
28668            with the viewport item. Before this change it was even being called during
28669            animations.
28670
28671        * UIProcess/qt/QtViewportInteractionEngine.h:
28672        (WebKit::QtViewportInteractionEngine::scaleAnimationValueChanged):
28673
28674            Rename to make it clean that this is called from the animator.
28675
286762011-11-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>
28677
28678        [Qt] Improve the animation time constant
28679        https://bugs.webkit.org/show_bug.cgi?id=71790
28680
28681        Reviewed by Simon Hausmann.
28682
28683        Use 250 milliseconds instead of 400, which feels a lot more natural
28684        and makes the mini browser feel more responsive.
28685
28686        * UIProcess/qt/QtViewportInteractionEngine.cpp:
28687
286882011-11-08  Alexis Menard  <alexis.menard@openbossa.org>
28689
28690        [Qt] Merge QtDesktopWebPageProxy and QtTouchWebPageProxy into QtWebPageProxy.
28691        https://bugs.webkit.org/show_bug.cgi?id=71355
28692
28693        Reviewed by Simon Hausmann.
28694
28695        As we try to unify our public API offer we need to merge our double
28696        WebPageProxy implementations first into a common class. That will help
28697        to merge our TouchWebView and DesktopWebView views into one class later.
28698        This commit just merge stuff around and doesn't contain any functional changes.
28699
28700        * Target.pri:
28701        * UIProcess/API/qt/qdesktopwebview.cpp:
28702        (QDesktopWebViewPrivate::init):
28703        * UIProcess/API/qt/qtouchwebpage.cpp:
28704        (QTouchWebPagePrivate::paintToCurrentGLContext):
28705        * UIProcess/API/qt/qtouchwebpage.h:
28706        * UIProcess/API/qt/qtouchwebpage_p.h:
28707        * UIProcess/API/qt/qtouchwebview.cpp:
28708        (QTouchWebViewPrivate::init):
28709        (QTouchWebViewPrivate::_q_viewportUpdated):
28710        (QTouchWebViewPrivate::_q_viewportTrajectoryVectorChanged):
28711        * UIProcess/API/qt/qtouchwebview_p.h:
28712        * UIProcess/qt/QtDesktopWebPageProxy.cpp: Removed.
28713        * UIProcess/qt/QtDesktopWebPageProxy.h: Removed.
28714        * UIProcess/qt/QtTouchWebPageProxy.cpp: Removed.
28715        * UIProcess/qt/QtTouchWebPageProxy.h: Removed.
28716        * UIProcess/qt/QtWebPageProxy.cpp:
28717        (dragOperationToDropAction):
28718        (QtWebPageProxy::QtWebPageProxy):
28719        (QtWebPageProxy::handleEvent):
28720        (QtWebPageProxy::handleMouseMoveEvent):
28721        (QtWebPageProxy::handleMousePressEvent):
28722        (QtWebPageProxy::handleMouseReleaseEvent):
28723        (QtWebPageProxy::handleMouseDoubleClickEvent):
28724        (QtWebPageProxy::handleWheelEvent):
28725        (QtWebPageProxy::handleHoverLeaveEvent):
28726        (QtWebPageProxy::handleHoverMoveEvent):
28727        (QtWebPageProxy::handleDragEnterEvent):
28728        (QtWebPageProxy::handleDragLeaveEvent):
28729        (QtWebPageProxy::handleDragMoveEvent):
28730        (QtWebPageProxy::handleDropEvent):
28731        (QtWebPageProxy::timerEvent):
28732        (QtWebPageProxy::processDidCrash):
28733        (QtWebPageProxy::didReceiveDownloadResponse):
28734        (QtWebPageProxy::paintContent):
28735        (QtWebPageProxy::createDrawingAreaProxy):
28736        (QtWebPageProxy::renderToCurrentGLContext):
28737        (QtWebPageProxy::doneWithTouchEvent):
28738        (QtWebPageProxy::setVisibleContentRectAndScale):
28739        (QtWebPageProxy::setVisibleContentRectTrajectoryVector):
28740        (QtWebPageProxy::touchEvent):
28741        (QtWebPageProxy::findZoomableAreaForPoint):
28742        * UIProcess/qt/QtWebPageProxy.h:
28743
287442011-11-08  Zan Dobersek  <zandobersek@gmail.com>
28745
28746        [WK2][GTK] Application cache directory is incorrectly set
28747        https://bugs.webkit.org/show_bug.cgi?id=70680
28748
28749        Reviewed by Philippe Normand.
28750
28751        Correctly set application cache directory to be in current
28752        user's default cache directory.
28753
28754        * UIProcess/gtk/WebContextGtk.cpp:
28755        (WebKit::WebContext::applicationCacheDirectory):
28756
287572011-11-07  Emil A Eklund  <eae@chromium.org>
28758
28759        Revert platform and scrolling to ints
28760        https://bugs.webkit.org/show_bug.cgi?id=71585
28761
28762        Reviewed by Eric Seidel.
28763
28764        Replace all uses of LayoutUnit and related types with ints in platform
28765        and scrolling code.
28766
28767        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
28768        (WebKit::BuiltInPDFView::invalidateScrollbarRect):
28769        (WebKit::BuiltInPDFView::visibleHeight):
28770        (WebKit::BuiltInPDFView::visibleWidth):
28771        * WebProcess/Plugins/PDF/BuiltInPDFView.h:
28772
287732011-11-07  Adam Barth  <abarth@webkit.org>
28774
28775        Move DomainRelaxationForbidden scheme registry to SchemeRegistry
28776        https://bugs.webkit.org/show_bug.cgi?id=71750
28777
28778        Reviewed by Eric Seidel.
28779
28780        * WebProcess/WebProcess.cpp:
28781        (WebKit::WebProcess::setDomainRelaxationForbiddenForURLScheme):
28782
287832011-11-07  Beth Dakin  <bdakin@apple.com>
28784
28785        https://bugs.webkit.org/show_bug.cgi?id=71490
28786        Support uiStateTransitionProgress for scrollbars
28787        -and corresponding-
28788        <rdar://problem/9849612>
28789
28790        Reviewed by Sam Weinig.
28791
28792        Scrollbar::mouseUp() now takes a PlatformMouseEvent as a parameter.
28793        * UIProcess/win/WebPopupMenuProxyWin.cpp:
28794        (WebKit::WebPopupMenuProxyWin::onLButtonUp):
28795        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
28796        (WebKit::BuiltInPDFView::handleMouseEvent):
28797
287982011-11-07  Alexey Proskuryakov  <ap@apple.com>
28799
28800        The Full Keyboard Access preference should be read in the UI process
28801        https://bugs.webkit.org/show_bug.cgi?id=71734
28802        <rdar://problem/9237619>
28803
28804        Reviewed by Darin Adler.
28805
28806        This is consistent with how other global preferences (like language) are handled, and lets
28807        us tighten up the sandbox a little.
28808
28809        * Shared/WebProcessCreationParameters.cpp:
28810        (WebKit::WebProcessCreationParameters::encode):
28811        (WebKit::WebProcessCreationParameters::decode):
28812        * Shared/WebProcessCreationParameters.h:
28813        Added fullKeyboardAccessEnabled, so that newly started processes have the right preference value.
28814
28815        * UIProcess/WebContext.h:
28816        * UIProcess/WebContext.cpp:
28817        (WebKit::WebContext::fullKeyboardAccessModeChanged): If preference changes while a web process
28818        is already running, tell it.
28819        (WebKit::WebContext::ensureWebProcess): Set parameters.fullKeyboardAccessEnabled from current
28820        preference.
28821
28822        * UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::fullKeyboardAccessEnabled):
28823        * UIProcess/mac/WebProcessProxyMac.mm: (WebKit::WebProcessProxy::fullKeyboardAccessEnabled):
28824        * UIProcess/WebProcessProxy.h:
28825        Proxy it to Objective-C code. WebProcessProxy is as good place to have the static function
28826        as any. One day, we will make code more consistent with language and other global preferences.
28827
28828        * UIProcess/mac/WKFullKeyboardAccessWatcher.h: Copied from Source/WebKit2/WebProcess/mac/WKFullKeyboardAccessWatcher.h.
28829        * UIProcess/mac/WKFullKeyboardAccessWatcher.mm: Copied from Source/WebKit2/WebProcess/mac/WKFullKeyboardAccessWatcher.mm.
28830        * WebProcess/mac/WKFullKeyboardAccessWatcher.h: Removed.
28831        * WebProcess/mac/WKFullKeyboardAccessWatcher.mm: Removed.
28832        (-[WKFullKeyboardAccessWatcher retrieveKeyboardUIModeFromPreferences:]): Once retrieved,
28833        push the preference value.
28834
28835        * WebKit2.xcodeproj/project.pbxproj: WKFullKeyboardAccessWatcher is now in UI process.
28836
28837        * WebProcess/WebProcess.h:
28838        * WebProcess/WebProcess.cpp:
28839        (WebKit::WebProcess::WebProcess):
28840        (WebKit::WebProcess::fullKeyboardAccessModeChanged):
28841        (WebKit::WebProcess::fullKeyboardAccessEnabled):
28842        * WebProcess/mac/WebProcessMac.mm:
28843        WebCprocess now holds the preference value in a mamber value, which UI process pushes
28844        updates to.
28845
28846        * WebProcess/WebProcess.messages.in: Added a message for changes preference value.
28847
28848        * WebProcess/com.apple.WebProcess.sb: We no longer need read access to com.apple.universalaccess.plist.
28849
288502011-11-07  Anders Carlsson  <andersca@apple.com>
28851
28852        Add TiledCoreAnimationDrawingArea stub classes
28853        https://bugs.webkit.org/show_bug.cgi?id=71729
28854
28855        Reviewed by Sam Weinig.
28856
28857        * Shared/DrawingAreaInfo.h:
28858        * UIProcess/API/mac/WKView.mm:
28859        (-[WKView _shouldUseTiledDrawingArea]):
28860        (-[WKView WebKit::]):
28861        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h.
28862        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: Copied from Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp.
28863        (WebKit::TiledCoreAnimationDrawingAreaProxy::create):
28864        (WebKit::TiledCoreAnimationDrawingAreaProxy::TiledCoreAnimationDrawingAreaProxy):
28865        (WebKit::TiledCoreAnimationDrawingAreaProxy::~TiledCoreAnimationDrawingAreaProxy):
28866        (WebKit::TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange):
28867        (WebKit::TiledCoreAnimationDrawingAreaProxy::sizeDidChange):
28868        * WebKit2.xcodeproj/project.pbxproj:
28869        * WebProcess/WebPage/DrawingArea.cpp:
28870        (WebKit::DrawingArea::create):
28871        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: Copied from Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp.
28872        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: Copied from Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp.
28873        (WebKit::TiledCoreAnimationDrawingArea::create):
28874        (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
28875        (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
28876        (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay):
28877        (WebKit::TiledCoreAnimationDrawingArea::scroll):
28878        (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
28879        (WebKit::TiledCoreAnimationDrawingArea::scheduleCompositingLayerSync):
28880
288812011-11-07  Anders Carlsson  <andersca@apple.com>
28882
28883        Follow-up build fix.
28884
28885        * WebProcess/WebPage/DrawingAreaImpl.h:
28886
288872011-11-07  Anders Carlsson  <andersca@apple.com>
28888
28889        Remove unused DrawingArea::syncCompositingLayers
28890        https://bugs.webkit.org/show_bug.cgi?id=71717
28891
28892        Reviewed by John Sullivan.
28893
28894        * WebProcess/WebPage/DrawingArea.h:
28895        * WebProcess/WebPage/DrawingAreaImpl.cpp:
28896        * WebProcess/WebPage/TiledDrawingArea.h:
28897
288982011-11-07  Anders Carlsson  <andersca@apple.com>
28899
28900        Rename NetscapePlugin::wantsWindowRelativeNPWindowCoordinates to NetscapePlugin::wantsPluginRelativeNPWindowCoordinates
28901        https://bugs.webkit.org/show_bug.cgi?id=71708
28902
28903        Reviewed by Sam Weinig.
28904
28905        The name wantsPluginRelativeNPWindowCoordinates is more clear than wantsWindowRelativeNPWindowCoordinates. Rename the functions
28906        everywhere and, since the meaning is now inverted, invert the checks and return values.
28907
28908        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
28909        (WebKit::NetscapePlugin::callSetWindow):
28910        (WebKit::NetscapePlugin::geometryDidChange):
28911        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
28912        * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp:
28913        (WebKit::NetscapePlugin::wantsPluginRelativeNPWindowCoordinates):
28914        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
28915        (WebKit::NetscapePlugin::wantsPluginRelativeNPWindowCoordinates):
28916        * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
28917        (WebKit::NetscapePlugin::wantsPluginRelativeNPWindowCoordinates):
28918        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
28919        (WebKit::NetscapePlugin::wantsPluginRelativeNPWindowCoordinates):
28920
289212011-11-07  Anders Carlsson  <andersca@apple.com>
28922
28923        NetscapePlugin::wantsWindowRelativeNPWindowCoordinates should return false on Mac
28924        https://bugs.webkit.org/show_bug.cgi?id=71707
28925
28926        Reviewed by Sam Weinig.
28927
28928        This changes the way the fake Carbon plug-in window is positioned, so that it's always the same size
28929        and location as the plug-in (relative to the screen).
28930
28931        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
28932        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
28933        (WebKit::NetscapePlugin::platformGeometryDidChange):
28934        Call updateFakeWindowBounds.
28935
28936        (WebKit::NetscapePlugin::updateFakeWindowBounds):
28937        Convert the plug-in position to screen coordinates and set the window bounds to be the location and
28938        size of the plug-in, where the location is relative to the screen.
28939
28940        (WebKit::NetscapePlugin::wantsWindowRelativeNPWindowCoordinates):
28941        Return false.
28942
28943        (WebKit::NetscapePlugin::windowAndViewFramesChanged):
28944        Call updateFakeWindowBounds.
28945
289462011-11-07  Sam Weinig  <sam@webkit.org>
28947
28948        WKPage.h should be in PrivateHeaders.
28949
28950        Rubber-stamped by Anders Carlsson.
28951
28952        * WebKit2.xcodeproj/project.pbxproj:
28953        Mark WKPage.h private.
28954
289552011-11-07  Anders Carlsson  <andersca@apple.com>
28956
28957        Simplify NetscapePlugin::convertPoint and make it work (in theory) with transformed plug-ins
28958        https://bugs.webkit.org/show_bug.cgi?id=71699
28959
28960        Reviewed by Sam Weinig.
28961
28962        Add a getScreenTransform function which given a coordinate space returns a transform that converts a
28963        point from that coordinate space to the screen coordinate space. We then get the source -> screen transform
28964        and the destination -> screen transform. We invert the destination -> screen transform, multiply it with the
28965        source -> screen transform and use mapPoint to get a complete affine transform from the source to the destination space
28966        and use mapPoint to map the source point and return the destination point.
28967
28968        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
28969        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
28970        (WebKit::NetscapePlugin::getScreenTransform):
28971        (WebKit::NetscapePlugin::convertPoint):
28972
28973        * WebProcess/Plugins/PluginView.cpp:
28974        (WebKit::PluginView::initializePlugin):
28975        Call windowAndViewFramesChanged before viewGeometryDidChange so that the window and view frames will be up to date by
28976        the time NPP_SetWindow is called in the plug-in.
28977
289782011-11-07  Kenneth Rohde Christiansen  <kenneth@webkit.org>
28979
28980        [Qt] Put handling of gestures and their interaction in one place
28981        https://bugs.webkit.org/show_bug.cgi?id=71682
28982
28983        Reviewed by Simon Hausmann.
28984
28985        Before this patch, the interaction (ie. cancelling animations, events)
28986        was handled in the respective recognizers which then knew about each
28987        others.
28988
28989        * UIProcess/qt/QtGestureRecognizer.h:
28990        (WebKit::QtGestureRecognizer::isRecognized):
28991        * UIProcess/qt/QtPanGestureRecognizer.cpp:
28992        (WebKit::QtPanGestureRecognizer::recognize):
28993        * UIProcess/qt/QtPanGestureRecognizer.h:
28994        * UIProcess/qt/QtPinchGestureRecognizer.cpp:
28995        (WebKit::QtPinchGestureRecognizer::recognize):
28996        * UIProcess/qt/QtPinchGestureRecognizer.h:
28997        * UIProcess/qt/QtTouchWebPageProxy.cpp:
28998        (QtTouchWebPageProxy::QtTouchWebPageProxy):
28999        (QtTouchWebPageProxy::doneWithTouchEvent):
29000        * UIProcess/qt/QtTouchWebPageProxy.h:
29001        * UIProcess/qt/QtViewportInteractionEngine.cpp:
29002        (WebKit::QtViewportInteractionEngine::pagePositionRequest):
29003        (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
29004        (WebKit::QtViewportInteractionEngine::scrollAnimationActive):
29005        (WebKit::QtViewportInteractionEngine::interruptScrollAnimation):
29006        (WebKit::QtViewportInteractionEngine::panGestureActive):
29007        (WebKit::QtViewportInteractionEngine::scaleAnimationActive):
29008        (WebKit::QtViewportInteractionEngine::interruptScaleAnimation):
29009        (WebKit::QtViewportInteractionEngine::pinchGestureActive):
29010        * UIProcess/qt/QtViewportInteractionEngine.h:
29011
290122011-11-07  Simon Hausmann  <simon.hausmann@nokia.com>
29013
29014        [Qt] Make it possible to include qdesktopwebview.h from apps
29015
29016        Reviewed by Tor Arne Vestbø.
29017
29018        * UIProcess/API/qt/qdesktopwebview.h: Don't include C API headers, forward
29019        declare the structs manually.
29020
290212011-11-07  Simon Hausmann  <simon.hausmann@nokia.com>
29022
29023        [Qt] Fix failing inspector tests after build system changes
29024        https://bugs.webkit.org/show_bug.cgi?id=71677
29025
29026        Reviewed by Tor Arne Vestbø.
29027
29028        Ensure symbols from the qt resource system are referenced
29029        from outside the static webcore library. One way of doing that is
29030        to initialize the resources right away, as explained in the documentation
29031        of th Qt resource system.
29032
29033        * WebProcess/WebPage/qt/WebPageQt.cpp:
29034        (initResources):
29035        (WebKit::WebPage::platformInitialize):
29036
290372011-11-03  Anders Carlsson  <andersca@apple.com>
29038
29039        Add NetscapePlugin::convertFromRootView
29040        https://bugs.webkit.org/show_bug.cgi?id=71526
29041
29042        Reviewed by Sam Weinig.
29043
29044        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
29045        (WebKit::NetscapePlugin::convertFromRootView):
29046        New function that converts a point from root view coordinates to plug-in coordinates.
29047        Returns false if the conversion can't be done.
29048
29049        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
29050        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
29051        (WebKit::fillInCocoaEventFromMouseEvent):
29052        (WebKit::initializeMouseEvent):
29053        (WebKit::NetscapePlugin::platformHandleMouseEvent):
29054        (WebKit::NetscapePlugin::platformHandleWheelEvent):
29055        (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
29056        (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
29057        Use convertFromRootView instead of subtracting m_frameRectInWindowCoordinates.location() from the
29058        event position (which is in root view coordinates).
29059
290602011-11-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
29061
29062        [Qt] Refactor and clean up the qmake build system
29063
29064        The qmake build system has accumulated a bit of cruft and redundancy
29065        over time. There's also a fairly tight coupling between how to build
29066        the various targets, and _what_ to build, making it harder to add new
29067        rules or sources. This patch aims to elevate these issues somewhat.
29068
29069        This is a short-list of the changes:
29070
29071          * The rules for how to build targets are now mostly contained as
29072            prf-files in Tools/qmake/mkspecs/features. Using mkspecs also
29073            allows us to do pre- and post-processing of each project file,
29074            which helps to clean up the actual project files.
29075
29076          * Derived sources are no longer generated as a separate make-step
29077            but is part of each target's project file as a subdir. Makefile
29078            rules are used to ensure that we run make on the derived sources
29079            before running qmake on the actual target makefile. This makes
29080            it easier to keep a proper dependency between derived sources
29081            and the target.
29082
29083          * We use GNU make and the compiler to generate dependencies on
29084            UNIX-based systems running Qt 5. This allows us to lessen the
29085            need to run qmake, which should reduce compile time.
29086
29087          * WebKit2 is now build by default if building with Qt 5. It can
29088            be disabled by passing --no-webkit2 to build-webkit.
29089
29090        The result of these changes are hopefully a cleaner and easier
29091        build system to modify, and faster build times due to no longer
29092        running qmake on every single build. It's also a first step
29093        towards possibly generating the list of sources using another
29094        build system.
29095
29096        https://bugs.webkit.org/show_bug.cgi?id=71222
29097
29098        Reviewed by Simon Hausmann.
29099
29100        * DerivedSources.pri: Renamed from Source/WebKit2/DerivedSources.pro.
29101        * Target.pri: Copied from Source/WebKit2/WebKit2.pro.
29102        * UIProcess/API/qt/tests/tests.pri:
29103        * UIProcess/API/qt/tests/tests.pro: Removed.
29104        * WebKit2.pri:
29105        * WebKit2.pro:
29106        * WebKit2API.pri: Removed.
29107        * WebProcess.pro:
29108
291092011-11-04  Kenneth Rohde Christiansen  <kenneth@webkit.org>
29110
29111        [Qt] Support programmatic scrolling with the QTouchWebView
29112
29113        Reviewed by Simon Hausmann.
29114
29115        As more code can be shared between the programmatic scrolling and the
29116        method for ensuring that the contents are within valid bounds, this
29117        patch includes a bit of refactoring as well.
29118
29119        * UIProcess/API/qt/qdesktopwebview_p.h:
29120        (QDesktopWebViewPrivate::scrollPositionRequested):
29121        * UIProcess/API/qt/qtouchwebview.cpp:
29122        (QTouchWebViewPrivate::scrollPositionRequested):
29123        * UIProcess/API/qt/qtouchwebview_p.h:
29124        * UIProcess/qt/QtTouchViewInterface.cpp:
29125        (WebKit::QtTouchViewInterface::scrollPositionRequested):
29126        * UIProcess/qt/QtTouchViewInterface.h:
29127        * UIProcess/qt/QtViewInterface.h:
29128        * UIProcess/qt/QtViewportInteractionEngine.cpp:
29129        (WebKit::QtViewportInteractionEngine::event):
29130        (WebKit::boundPosition):
29131        (WebKit::QtViewportInteractionEngine::pagePositionRequest):
29132        (WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale):
29133        (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
29134        (WebKit::QtViewportInteractionEngine::setConstraints):
29135        (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
29136        (WebKit::QtViewportInteractionEngine::contentViewportChanged):
29137        * UIProcess/qt/QtViewportInteractionEngine.h:
29138        * UIProcess/qt/QtWebPageProxy.cpp:
29139        (QtWebPageProxy::pageDidRequestScroll):
29140        * UIProcess/qt/QtWebPageProxy.h:
29141
291422011-11-03  Mark Hahnenberg  <mhahnenberg@apple.com>
29143
29144        De-virtualize JSObject::getPropertyNames
29145        https://bugs.webkit.org/show_bug.cgi?id=71306
29146
29147        Reviewed by Darin Adler.
29148
29149        Added getPropertyNames to the MethodTable, changed all the virtual 
29150        implementations of getPropertyNames to static ones, and replaced 
29151        all call sites with corresponding lookups in the MethodTable.
29152
29153        * WebProcess/Plugins/Netscape/NPJSObject.cpp:
29154        (WebKit::NPJSObject::enumerate):
29155
291562011-11-03  Anders Carlsson  <andersca@apple.com>
29157
29158        Get rid of NetscapePlugin::m_clipRectInWindowCoordinates
29159        https://bugs.webkit.org/show_bug.cgi?id=71521
29160
29161        Reviewed by Dan Bernstein.
29162
29163        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
29164        (WebKit::NetscapePlugin::geometryDidChange):
29165        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
29166
291672011-11-03  Anders Carlsson  <andersca@apple.com>
29168
29169        Use convertToRootView(IntPoint()) instead of m_frameRectInWindowCoordinates.location() where possible
29170        https://bugs.webkit.org/show_bug.cgi?id=71520
29171
29172        Reviewed by Dan Bernstein.
29173
29174        * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
29175        (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate):
29176        (WebKit::NetscapePlugin::platformPaint):
29177        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
29178        (WebKit::NetscapePlugin::platformHandleMouseEvent):
29179        (WebKit::NetscapePlugin::platformHandleWheelEvent):
29180        (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
29181        (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
29182
291832011-11-03  Anders Carlsson  <andersca@apple.com>
29184
29185        Add NetscapePlugin::convertToRootView
29186        https://bugs.webkit.org/show_bug.cgi?id=71519
29187
29188        Reviewed by Darin Adler.
29189
29190        Yet another step towards eliminating uses of m_frameRectInWindowCoordinates.
29191
29192        Also, use the "root view" terminology, since that's really what we mean here.
29193
29194        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
29195        (WebKit::NetscapePlugin::callSetWindow):
29196        Use convertToRootView to get the plug-in location and clip rect in root view coordinates.
29197
29198        (WebKit::NetscapePlugin::convertToRootView):
29199        Apply the m_pluginToRootViewTransform.mapPoint transform.
29200
29201        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
29202        Add convertToRootView.
29203
292042011-11-03  Anders Carlsson  <andersca@apple.com>
29205
29206        Move plug-in size and backing store checks to PluginProxy::updateBackingStore
29207        https://bugs.webkit.org/show_bug.cgi?id=71508
29208
29209        Reviewed by Darin Adler.
29210
29211        * WebProcess/Plugins/PluginProxy.cpp:
29212        (WebKit::PluginProxy::geometryDidChange):
29213        Remove code to send back an empty backing store if the plug-in size is empty
29214        or doesn't need a backing store. This check is now done...
29215
29216        (WebKit::PluginProxy::updateBackingStore):
29217        ...here.
29218
292192011-11-03  Anders Carlsson  <andersca@apple.com>
29220
29221        Get rid of PluginControllerProxy::m_frameRectInWindowCoordinates
29222        https://bugs.webkit.org/show_bug.cgi?id=71506
29223
29224        Reviewed by Darin Adler.
29225
29226        * PluginProcess/PluginControllerProxy.cpp:
29227        (WebKit::PluginControllerProxy::geometryDidChange):
29228        This no longer needs to take the frame rect in window coordinates.
29229
29230        * PluginProcess/PluginControllerProxy.h:
29231        * PluginProcess/PluginControllerProxy.messages.in:
29232        Remove frameRectInWindowCoordinates from the GeometryDidChange message.
29233
29234        * WebProcess/Plugins/PluginProxy.cpp:
29235        (WebKit::PluginProxy::geometryDidChange):
29236        Don't pass frameRectInWindowCoordinates when sending GeometryDidChange.
29237
292382011-11-03  Anders Carlsson  <andersca@apple.com>
29239
29240        Get rid of Plugin::wantsWindowRelativeCoordinates()
29241        https://bugs.webkit.org/show_bug.cgi?id=71504
29242
29243        Reviewed by Darin Adler.
29244
29245        Since all Plugin subclasses now return false for wantsWindowRelativeCoordinates,
29246        we can go ahead and remove it.
29247
29248        * PluginProcess/PluginControllerProxy.cpp:
29249        (WebKit::PluginControllerProxy::paint):
29250        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
29251        (WebKit::NetscapePlugin::snapshot):
29252        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
29253        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
29254        * WebProcess/Plugins/PDF/BuiltInPDFView.h:
29255        * WebProcess/Plugins/Plugin.h:
29256        * WebProcess/Plugins/PluginProxy.cpp:
29257        * WebProcess/Plugins/PluginProxy.h:
29258        * WebProcess/Plugins/PluginView.cpp:
29259        (WebKit::PluginView::paint):
29260
292612011-11-03  Anders Carlsson  <andersca@apple.com>
29262
29263        NetscapePlugin::wantsWindowRelativeCoordinates should return false for all ports
29264        https://bugs.webkit.org/show_bug.cgi?id=71501
29265
29266        Reviewed by Darin Adler.
29267
29268        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
29269        (WebKit::NetscapePlugin::wantsWindowRelativeCoordinates):
29270        Return false.
29271
29272        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
29273        (WebKit::NetscapePlugin::platformGeometryDidChange):
29274        Use m_pluginSize instead of m_frameRectInWindowCoordinates.size().
29275
29276        (WebKit::NetscapePlugin::platformPaint):
29277        No need to translate back and forth between window and plug-in relative coordinates anymore.
29278
292792011-11-03  Darin Adler  <darin@apple.com>
29280
29281        Change remaining callers of releaseRef to call leakRef
29282        https://bugs.webkit.org/show_bug.cgi?id=71422
29283
29284        Reviewed by Darin Fisher.
29285
29286        * Platform/mac/ModuleMac.mm:
29287        (WebKit::Module::load):
29288        * Shared/API/c/WKArray.cpp:
29289        (WKArrayCreate):
29290        * Shared/API/c/WKData.cpp:
29291        (WKDataCreate):
29292        * Shared/API/c/WKDictionary.cpp:
29293        (WKDictionaryCopyKeys):
29294        * Shared/API/c/WKGeometry.cpp:
29295        (WKPointCreate):
29296        (WKSizeCreate):
29297        (WKRectCreate):
29298        * Shared/API/c/WKMutableArray.cpp:
29299        (WKMutableArrayCreate):
29300        * Shared/API/c/WKMutableDictionary.cpp:
29301        (WKMutableDictionaryCreate):
29302        * Shared/API/c/WKNumber.cpp:
29303        (WKBooleanCreate):
29304        (WKDoubleCreate):
29305        (WKUInt64Create):
29306        * Shared/API/c/WKSharedAPICast.h:
29307        (WebKit::toCopiedAPI):
29308        (WebKit::toCopiedURLAPI):
29309        * Shared/API/c/cf/WKErrorCF.cpp:
29310        (WKErrorCreateWithCFError):
29311        * Shared/API/c/cf/WKURLRequestCF.cpp:
29312        (WKURLRequestCreateWithCFURLRequest):
29313        * Shared/API/c/cf/WKURLResponseCF.cpp:
29314        (WKURLResponseCreateWithCFURLResponse):
29315        * Shared/API/c/mac/WKURLRequestNS.mm:
29316        (WKURLRequestCreateWithNSURLRequest):
29317        * Shared/API/c/mac/WKURLResponseNS.mm:
29318        (WKURLResponseCreateWithNSURLResponse):
29319        * Shared/cf/ArgumentCodersCF.cpp:
29320        (CoreIPC::decode):
29321        * UIProcess/API/C/WKBackForwardList.cpp:
29322        (WKBackForwardListCopyBackListWithLimit):
29323        (WKBackForwardListCopyForwardListWithLimit):
29324        * UIProcess/API/C/WKContext.cpp:
29325        (WKContextCreate):
29326        (WKContextCreateWithInjectedBundlePath):
29327        * UIProcess/API/C/WKCredential.cpp:
29328        (WKCredentialCreate):
29329        (WKCredentialCreateWithCertificateInfo):
29330        * UIProcess/API/C/WKDatabaseManager.cpp:
29331        (WKDatabaseManagerGetOriginKey):
29332        (WKDatabaseManagerGetOriginQuotaKey):
29333        (WKDatabaseManagerGetOriginUsageKey):
29334        (WKDatabaseManagerGetDatabaseDetailsKey):
29335        (WKDatabaseManagerGetDatabaseDetailsNameKey):
29336        (WKDatabaseManagerGetDatabaseDetailsDisplayNameKey):
29337        (WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey):
29338        (WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey):
29339        * UIProcess/API/C/WKFrame.cpp:
29340        (WKFrameCopyChildFrames):
29341        * UIProcess/API/C/WKGeolocationPosition.cpp:
29342        (WKGeolocationPositionCreate):
29343        * UIProcess/API/C/WKGrammarDetail.cpp:
29344        (WKGrammarDetailCreate):
29345        * UIProcess/API/C/WKPage.cpp:
29346        (WKPageGetSessionHistoryURLValueType):
29347        (WKPageCopySessionState):
29348        * UIProcess/API/C/WKPreferences.cpp:
29349        (WKPreferencesCreateWithIdentifier):
29350        * UIProcess/API/C/win/WKView.cpp:
29351        (WKViewCreate):
29352        * UIProcess/win/WebUndoClient.cpp:
29353        (WebKit::WebUndoClient::registerEditCommand):
29354        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
29355        (WKBundleFrameCopyChildFrames):
29356        * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
29357        (WKBundleNodeHandleCreate):
29358        (WKBundleNodeHandleCopyDocument):
29359        (WKBundleNodeHandleCopyHTMLTableCellElementCellAbove):
29360        (WKBundleNodeHandleCopyDocumentFrame):
29361        (WKBundleNodeHandleCopyHTMLFrameElementContentFrame):
29362        (WKBundleNodeHandleCopyHTMLIFrameElementContentFrame):
29363        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
29364        (WKBundlePageCopyTrackedRepaintRects):
29365        * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
29366        (WKBundleScriptWorldCreateWorld):
29367        Use leakRef.
29368
293692011-11-02  Darin Adler  <darin@apple.com>
29370
29371        Change remaining callers of releaseRef to call leakRef
29372        https://bugs.webkit.org/show_bug.cgi?id=71422
29373
29374        Reviewed by Darin Fisher.
29375
29376        * Platform/mac/ModuleMac.mm:
29377        (WebKit::Module::load): Use leakRef.
29378        (WebKit::Module::unload): Use leakRef, and cast to void
29379        to avoid unused return value warning.
29380
29381        * Shared/API/c/WKArray.cpp:
29382        (WKArrayCreate):
29383        * Shared/API/c/WKData.cpp:
29384        (WKDataCreate):
29385        * Shared/API/c/WKDictionary.cpp:
29386        (WKDictionaryCopyKeys):
29387        * Shared/API/c/WKGeometry.cpp:
29388        (WKPointCreate):
29389        (WKSizeCreate):
29390        (WKRectCreate):
29391        * Shared/API/c/WKMutableArray.cpp:
29392        (WKMutableArrayCreate):
29393        * Shared/API/c/WKMutableDictionary.cpp:
29394        (WKMutableDictionaryCreate):
29395        * Shared/API/c/WKNumber.cpp:
29396        (WKBooleanCreate):
29397        (WKDoubleCreate):
29398        (WKUInt64Create):
29399        * Shared/API/c/WKSharedAPICast.h:
29400        (WebKit::toCopiedAPI):
29401        (WebKit::toCopiedURLAPI):
29402        * Shared/API/c/cf/WKErrorCF.cpp:
29403        (WKErrorCreateWithCFError):
29404        * Shared/API/c/cf/WKURLRequestCF.cpp:
29405        (WKURLRequestCreateWithCFURLRequest):
29406        * Shared/API/c/cf/WKURLResponseCF.cpp:
29407        (WKURLResponseCreateWithCFURLResponse):
29408        * Shared/API/c/mac/WKURLRequestNS.mm:
29409        (WKURLRequestCreateWithNSURLRequest):
29410        * Shared/API/c/mac/WKURLResponseNS.mm:
29411        (WKURLResponseCreateWithNSURLResponse):
29412        * Shared/cf/ArgumentCodersCF.cpp:
29413        (CoreIPC::decode):
29414        * UIProcess/API/C/WKBackForwardList.cpp:
29415        (WKBackForwardListCopyBackListWithLimit):
29416        (WKBackForwardListCopyForwardListWithLimit):
29417        * UIProcess/API/C/WKContext.cpp:
29418        (WKContextCreate):
29419        (WKContextCreateWithInjectedBundlePath):
29420        * UIProcess/API/C/WKCredential.cpp:
29421        (WKCredentialCreate):
29422        (WKCredentialCreateWithCertificateInfo):
29423        * UIProcess/API/C/WKDatabaseManager.cpp:
29424        (WKDatabaseManagerGetOriginKey):
29425        (WKDatabaseManagerGetOriginQuotaKey):
29426        (WKDatabaseManagerGetOriginUsageKey):
29427        (WKDatabaseManagerGetDatabaseDetailsKey):
29428        (WKDatabaseManagerGetDatabaseDetailsNameKey):
29429        (WKDatabaseManagerGetDatabaseDetailsDisplayNameKey):
29430        (WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey):
29431        (WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey):
29432        * UIProcess/API/C/WKFrame.cpp:
29433        (WKFrameCopyChildFrames):
29434        * UIProcess/API/C/WKGeolocationPosition.cpp:
29435        (WKGeolocationPositionCreate):
29436        * UIProcess/API/C/WKGrammarDetail.cpp:
29437        (WKGrammarDetailCreate):
29438        * UIProcess/API/C/WKPage.cpp:
29439        (WKPageGetSessionHistoryURLValueType):
29440        (WKPageCopySessionState):
29441        * UIProcess/API/C/WKPreferences.cpp:
29442        (WKPreferencesCreateWithIdentifier):
29443        * UIProcess/API/C/win/WKView.cpp:
29444        (WKViewCreate):
29445        * UIProcess/win/WebUndoClient.cpp:
29446        (WebKit::WebUndoClient::registerEditCommand):
29447        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
29448        (WKBundleFrameCopyChildFrames):
29449        * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
29450        (WKBundleNodeHandleCreate):
29451        (WKBundleNodeHandleCopyDocument):
29452        (WKBundleNodeHandleCopyHTMLTableCellElementCellAbove):
29453        (WKBundleNodeHandleCopyDocumentFrame):
29454        (WKBundleNodeHandleCopyHTMLFrameElementContentFrame):
29455        (WKBundleNodeHandleCopyHTMLIFrameElementContentFrame):
29456        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
29457        (WKBundlePageCopyTrackedRepaintRects):
29458        * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
29459        (WKBundleScriptWorldCreateWorld):
29460        Use leakRef.
29461
294622011-11-03  Anders Carlsson  <andersca@apple.com>
29463
29464        NetscapePlugin should use plug-in relative coordinates on Mac
29465        https://bugs.webkit.org/show_bug.cgi?id=71486
29466
29467        Reviewed by Adam Roben.
29468
29469        * PluginProcess/PluginControllerProxy.cpp:
29470        (WebKit::PluginControllerProxy::paint):
29471        Don't translate the graphics context when the plug-in doesn't want window relative coordinates.
29472        This also fixed a bug I introduced in my previous commit where we'd always pass the dirty rect in
29473        plug-in coordinates even if the plug-in wants window relative coordinates.
29474
29475        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
29476        (WebKit::NetscapePlugin::snapshot):
29477        Don't do the whole translate dance if the plug-in doesn't want window relative coordinates.
29478
29479        (WebKit::NetscapePlugin::wantsWindowRelativeCoordinates):
29480        Return false for PLATFORM_ARCHITECTURE(MAC).
29481
29482        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
29483        (WebKit::NetscapePlugin::platformPaint):
29484        Simplify code now that we know that the we're always given plug-in relative coordinates.
29485
294862011-11-03  Anders Carlsson  <andersca@apple.com>
29487
29488        PluginControllerProxy's dirty rect should be in plug-in coordinates
29489        https://bugs.webkit.org/show_bug.cgi?id=71481
29490
29491        Reviewed by Sam Weinig.
29492
29493        * PluginProcess/PluginControllerProxy.cpp:
29494        (WebKit::PluginControllerProxy::paint):
29495        Convert the dirty rect to window coordinates before passing it to the plug-in.
29496
29497        (WebKit::PluginControllerProxy::invalidate):
29498        No need to convert the dirty rect to window coordinates.
29499
29500        (WebKit::PluginControllerProxy::paintEntirePlugin):
29501        Use m_pluginSize instead of m_frameRectInWindowCoordinates.isEmpty.
29502
295032011-11-03  Anders Carlsson  <andersca@apple.com>
29504
29505        Use the right function to determine whether NPWindow coordinates should be window relative
29506        https://bugs.webkit.org/show_bug.cgi?id=71480
29507
29508        Reviewed by Adam Roben.
29509
29510        We want to use wantsWindowRelativeNPWindowCoordinates here, and not wantsWindowRelativeCoordinates
29511        which is a temporary function that will be removed (and that returns the wrong value!)
29512
29513        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
29514        (WebKit::NetscapePlugin::geometryDidChange):
29515
295162011-11-03  Simon Hausmann  <simon.hausmann@nokia.com>
29517
29518        Unreviewed build fix after r99195.
29519
29520        The right name is restrictMinimumScaleFactorToViewportSize.
29521
29522        * UIProcess/API/qt/qtouchwebview.cpp:
29523        (QTouchWebViewPrivate::updateViewportConstraints):
29524
295252011-11-03  Carlos Garcia Campos  <cgarcia@igalia.com>
29526
29527        [GTK] Use WEBKIT_API instead of WK_EXPORT in WebKitEnumTypes.h
29528        https://bugs.webkit.org/show_bug.cgi?id=71457
29529
29530        Reviewed by Martin Robinson.
29531
29532        * GNUmakefile.am:
29533
295342011-11-03  Kenneth Rohde Christiansen  <kenneth@webkit.org>
29535
29536        [Qt] Bounce back limits are wrong in some situations
29537        https://bugs.webkit.org/show_bug.cgi?id=71471
29538
29539        Reviewed by Simon Hausmann.
29540
29541        The valid position points were in viewport coordinates, but we were
29542        requiring valid position points in content coordinates.
29543
29544        * UIProcess/qt/QtViewportInteractionEngine.cpp:
29545        (WebKit::QtViewportInteractionEngine::animateContentIntoBoundariesIfNeeded):
29546
295472011-11-03  Fady Samuel  <fsamuel@chromium.org>
29548
29549        Removing line in computeViewportAttributes that enforces a minimum scale factor to never allow zooming out more than viewport
29550        https://bugs.webkit.org/show_bug.cgi?id=70609
29551
29552        Reviewed by Kenneth Rohde Christiansen.
29553
29554        * UIProcess/API/qt/qtouchwebview.cpp:
29555        (QTouchWebViewPrivate::updateViewportConstraints):
29556        * WebProcess/WebPage/WebPage.cpp:
29557        (WebKit::WebPage::viewportConfigurationAsText):
29558
295592011-11-03  Andras Becsi  <andras.becsi@nokia.com>
29560
29561        [Qt][WK2] Fix the signal signature of the loadFailed API test.
29562
29563        Rubber-stamped by Simon Hausmann.
29564
29565        * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
29566        (WebViewAbstraction::touchViewLoadFailed):
29567        (WebViewAbstraction::desktopViewLoadFailed):
29568
295692011-11-03  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
29570
29571        [Qt] Fix an assertion under WebPage::setViewportSize.
29572        https://bugs.webkit.org/show_bug.cgi?id=71473
29573
29574        Reviewed by Simon Hausmann.
29575
29576        The web view can have an empty size and it causes the assert in computeViewportAttributes.
29577        Don't notify the web page of such a size change in this case.
29578
29579        * UIProcess/API/qt/qtouchwebview.cpp:
29580        (QTouchWebViewPrivate::updateViewportSize):
29581
295822011-11-03  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
29583
29584        [WK2] State variable name refactor in WebPageProxy.cpp
29585        https://bugs.webkit.org/show_bug.cgi?id=71467
29586
29587        Reviewed by Andreas Kling.
29588
29589        Renaming m_inDecidePolicyForMIMEType to m_inDecidePolicyForResponse after
29590        https://bugs.webkit.org/show_bug.cgi?id=55827 .
29591
29592        * UIProcess/WebPageProxy.cpp:
29593        (WebKit::WebPageProxy::WebPageProxy):
29594        (WebKit::WebPageProxy::receivedPolicyDecision):
29595        (WebKit::WebPageProxy::decidePolicyForResponse):
29596        * UIProcess/WebPageProxy.h:
29597
295982011-11-03  Nayan Kumar K  <nayankk@motorola.com>
29599
29600        [GTK][WEBKIT2] Add support for title property in WebKitWebView.
29601        https://bugs.webkit.org/show_bug.cgi?id=68074
29602
29603        Reviewed by Philippe Normand.
29604
29605        Support for 'title' property is added in WebKitWebView.
29606        Functions to get the value of this property is provided.
29607
29608        * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
29609        (didReceiveTitleForFrame): LoaderClient titleRecieve callback.
29610        (webkitWebLoaderClientAttachLoaderClientToPage): Register didReceiveTitleForFrame callback.
29611        * UIProcess/API/gtk/WebKitWebView.cpp:
29612        (webkitWebViewGetProperty): 'title' property get function.
29613        (webkit_web_view_class_init): Register new property.
29614        (webkitWebViewSetTitle): Notify WebKitWebView about title receive.
29615        (webkit_web_view_get_title): API to get main frame title.
29616        * UIProcess/API/gtk/WebKitWebView.h: webkit_web_view_get_title API expose.
29617        * UIProcess/API/gtk/WebKitWebViewPrivate.h: Added private API.
29618        * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
29619        (testWebViewTitle): Test webkit_web_view_get_title API.
29620        (beforeAll): Add testWebViewTitle test.
29621
296222011-11-03  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
29623
29624        [Qt][WK2] Download support and API in UIProcess
29625        https://bugs.webkit.org/show_bug.cgi?id=68962
29626
29627        Reviewed by Simon Hausmann.
29628
29629        We implement our WkContextDownloadClient and the needed callbacks.
29630        We also add APIs by exposing QWebDownloadItem. Objects from this type
29631        have their ownership handled by QDesktopWebView and will be created or
29632        destroyed as needed. Classes implementing ViewInterface (QDesktopWebViewPrivate
29633        and TouchViewInterface) will receive a signal (downloadRequested) with a pointer
29634        to the recently created QWebDownloadItem. With that they can connect the proper
29635        signals and slots, set the download destination path and then call start().
29636        Objects of this type will provide the progress of a download, a slot to cancel it,
29637        and signals for getting finished or failure status.
29638        QWebDownloadItem was also exposed in QML.
29639        Qt needed an asynchronous way for UIProcess to return a destination path to WebProcess,
29640        therefore the startTransfer API was added to WebKit2's Download handlers.
29641
29642        * Shared/qt/WebCoreArgumentCodersQt.cpp:
29643        (CoreIPC::::encode):
29644        (CoreIPC::::decode):
29645        Add encoding and decoding of suggestedFilename for ResourceResponse.
29646
29647        * UIProcess/API/qt/WKView.h:
29648        * UIProcess/API/qt/qbasewebview.h: Add signal downloadRequested.
29649        * UIProcess/API/qt/qdesktopwebview.cpp:
29650        (QDesktopWebViewPrivate::downloadRequested):
29651        * UIProcess/API/qt/qdesktopwebview_p.h:
29652
29653        * UIProcess/API/qt/qwebdownloaditem.cpp: Added.
29654        (QWebDownloadItemPrivate::QWebDownloadItemPrivate):
29655        (QWebDownloadItem::QWebDownloadItem):
29656        (QWebDownloadItem::~QWebDownloadItem):
29657        (QWebDownloadItem::url):
29658        (QWebDownloadItem::destinationPath):
29659        (QWebDownloadItem::setDestinationPath):
29660        (QWebDownloadItem::suggestedFilename):
29661        (QWebDownloadItem::mimeType):
29662        (QWebDownloadItem::expectedContentLength):
29663        (QWebDownloadItem::totalBytesReceived):
29664        (QWebDownloadItem::cancel):
29665        (QWebDownloadItem::start):
29666        * UIProcess/API/qt/qwebdownloaditem.h: Added.
29667        * UIProcess/API/qt/qwebdownloaditem_p.h: Added.
29668        (QWebDownloadItemPrivate::didReceiveResponse):
29669
29670        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_download.qml: Added.
29671        * UIProcess/API/qt/tests/qmltests/common/download.html: Added.
29672        * UIProcess/API/qt/tests/qmltests/common/download.zip: Added.
29673        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
29674
29675        * UIProcess/Downloads/DownloadProxy.cpp:
29676        (WebKit::DownloadProxy::startTransfer): Qt only function added.
29677        * UIProcess/Downloads/DownloadProxy.h:
29678
29679        * UIProcess/PageClient.h: Added Qt specific function to call handleDownloadRequest from QtWebPageProxy.
29680
29681        * UIProcess/WebContext.cpp:
29682        (WebKit::WebContext::download):
29683        Using WebPageProxy::handleDownloadRequest to bootstrap a download through PageClient.
29684
29685        * UIProcess/WebPageProxy.cpp:
29686        (WebKit::WebPageProxy::receivedPolicyDecision):
29687        Using handleDownloadRequest() to bootstrap a download through PageClient.
29688        (WebKit::WebPageProxy::handleDownloadRequest): Calls PageClient::handleDownloadRequest().
29689        * UIProcess/WebPageProxy.h:
29690
29691        * UIProcess/qt/QtDownloadManager.cpp: Added.
29692        (WebKit::toQtDownloadManager):
29693        (WebKit::qt_wk_didReceiveResponse):
29694        (WebKit::qt_wk_didCreateDestination):
29695        (WebKit::qt_wk_didFinishDownload):
29696        (WebKit::qt_wk_didFailDownload):
29697        (WebKit::qt_wk_didReceiveDataForDownload):
29698        (QtDownloadManager::downloadReceivedResponse): Will reach QtWebPageProxy::didReceiveDownloadResponse.
29699        (QtDownloadManager::downloadCreatedDestination):
29700        (QtDownloadManager::downloadFinished):
29701        (QtDownloadManager::downloadFailed):
29702        (QtDownloadManager::downloadDataReceived):
29703        * UIProcess/qt/QtDownloadManager.h: Added.
29704        Bootstrap our WKContextDownloadClient and set its callbacks.
29705        This entity will also handle all downloads and keep a map of them.
29706        It will be kept alive together with the WebContext as a static member
29707        of QtWebPageProxy, so we can keep it across several WebPages and, therefore,
29708        WebViews.
29709
29710        * UIProcess/qt/QtWebPageProxy.cpp:
29711        (QtWebPageProxy::defaultWKContext):
29712        (QtWebPageProxy::~QtWebPageProxy):
29713        (QtWebPageProxy::handleDownloadRequest):
29714        (QtWebPageProxy::didReceiveDownloadResponse):
29715        * UIProcess/qt/QtWebPageProxy.h:
29716        From now on it will keep a static QtDownloadManager to live together
29717        with the default WebContext. It implements PageClient::handleDownloadRequest.
29718        QtWebPageProxy::didReceiveDownloadResponse will emit the view's signal downloadRequested.
29719
29720       * UIProcess/qt/QtTouchViewInterface.h:
29721        (WebKit::QtTouchViewInterface::downloadRequested):
29722        * UIProcess/qt/QtViewInterface.h:
29723
29724        * UIProcess/qt/qweberror.cpp:
29725        (QWebError::description):
29726        * UIProcess/qt/qweberror.h:
29727        (QWebError::errorCodeAsDownloadError):
29728        Add Download error handling to QWebError and a new API
29729        to retrieve the error description from the original ResourceError.
29730        Also, it now has QWebDownloadItem::DownloadError errorCodeAsDownloadError()
29731        that returns the error code as a DownloadError.
29732
29733        * WebKit2.pro:
29734        * WebKit2API.pri:
29735
29736        * WebProcess/Downloads/Download.h:
29737        * WebProcess/Downloads/DownloadManager.cpp:
29738        (WebKit::DownloadManager::startTransfer):
29739        * WebProcess/Downloads/DownloadManager.h:
29740        Adding Qt specific startTransfer function.
29741
29742        * WebProcess/Downloads/qt/DownloadQt.cpp:
29743        (WebKit::Download::start):
29744        (WebKit::Download::startWithHandle):
29745        (WebKit::Download::didDecideDestination):
29746        (WebKit::Download::startTransfer):
29747        * WebProcess/Downloads/qt/QtFileDownloader.cpp:
29748        (WebKit::QtFileDownloader::init): start() was renamed to init().
29749        (WebKit::QtFileDownloader::determineFilename):
29750        Calling onReadyRead() here was unnecessary and it was triggering the overall
29751        download process even before DownloadManager finished startDownload(). This
29752        was leading to a DownloadManager with an empty list of downloads.
29753        (WebKit::QtFileDownloader::startTransfer): decidedDestination() became startTransfer().
29754        (WebKit::QtFileDownloader::abortDownloadWritingAndEmitError):
29755        (WebKit::QtFileDownloader::handleDownloadResponse):
29756        (WebKit::QtFileDownloader::onReadyRead):
29757        (WebKit::QtFileDownloader::onFinished):
29758        (WebKit::QtFileDownloader::cancel):
29759        * WebProcess/Downloads/qt/QtFileDownloader.h:
29760
29761        * WebProcess/WebProcess.cpp:
29762        (WebKit::WebProcess::startTransfer):
29763        * WebProcess/WebProcess.h:
29764        * WebProcess/WebProcess.messages.in:
29765        Adding Qt specific message StartTransfer and handling function.
29766
297672011-11-03  Nayan Kumar K  <nayankk@motorola.com>
29768
29769        Add webkit_web_view_load_html and webkit_web_view_load_plain_text APIs.
29770        https://bugs.webkit.org/show_bug.cgi?id=69249
29771
29772        Reviewed by Philippe Normand.
29773
29774        This patch adds support for 2 more load APIs, namely
29775        webkit_web_view_load_html and webkit_web_view_load_plain_text.
29776
29777        * UIProcess/API/gtk/WebKitWebView.cpp:
29778        (webkit_web_view_load_html): New API to load html string.
29779        (webkit_web_view_load_plain_text): New API to load plain text.
29780        * UIProcess/API/gtk/WebKitWebView.h: Public API addition.
29781        * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
29782        (testLoadHtml): Test webkit_web_view_load_html API.
29783        (testLoadPlainText): Test webkit_web_view_load_plain_text API.
29784        (beforeAll): Add new tests.
29785        * UIProcess/API/gtk/tests/WebViewTest.cpp:
29786        (WebViewTest::loadHtml): Test webkit_web_view_load_html API.
29787        (WebViewTest::loadPlainText): Test webkit_web_view_load_plain_text API.
29788        * UIProcess/API/gtk/tests/WebViewTest.h:
29789
297902011-11-03  Simon Hausmann  <simon.hausmann@nokia.com>
29791
29792        [Qt][WK2] Failing assertion with desktop webview when touch mocking in MinBrowser
29793        https://bugs.webkit.org/show_bug.cgi?id=71452
29794
29795        Reviewed by Andreas Kling.
29796
29797        Don't re-implement touchEvent(), we don't intend to support touch events as we
29798        receive them from the QQuickCanvas at this point.
29799
29800        * UIProcess/API/qt/qdesktopwebview.cpp:
29801        * UIProcess/API/qt/qdesktopwebview.h:
29802
298032011-11-03  Simon Hausmann  <simon.hausmann@nokia.com>
29804
29805        [Qt] [WK2] MiniBrowser assert in QtWebProccess on startup in debug build.
29806        https://bugs.webkit.org/show_bug.cgi?id=71196
29807
29808        Reviewed by Kenneth Rohde Christiansen.
29809
29810        Ensure AC is turned off for the desktop view before we launch the process.
29811        This avoids "accidential" enterAc/exitAc calls that cause failing assertions
29812        because we don't really support AC in this setup.
29813
29814        The touch side works the same way, i.e. enable the preference before calling
29815        init().
29816
29817        * UIProcess/qt/QtDesktopWebPageProxy.cpp:
29818        (QtDesktopWebPageProxy::QtDesktopWebPageProxy):
29819
298202011-11-03  Balazs Kelemen  <kbalazs@webkit.org>
29821
29822        [Qt] X11 plugins need to be reworked for Qt5
29823        https://bugs.webkit.org/show_bug.cgi?id=70023
29824
29825        Reviewed by Simon Hausmann.
29826
29827        Disable X11 plugins.
29828        * config.h:
29829
298302011-11-03  Simon Hausmann  <simon.hausmann@nokia.com>
29831
29832        Unreviewed Qt build fix(es).
29833
29834        * UIProcess/qt/QtDesktopWebPageProxy.cpp:
29835        (QtDesktopWebPageProxy::handleDragMoveEvent): Adapt to dragSession API change.
29836        (QtDesktopWebPageProxy::handleDropEvent): Ditto.
29837        * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp:
29838        (WebKit::NetscapePlugin::wantsWindowRelativeNPWindowCoordinates): Implement here
29839        also, for plugin-disabled builds.
29840
298412011-11-03  ChangSeok Oh  <shivamidow@gmail.com>
29842
29843        [GTK] Fix build-break on r99143
29844        https://bugs.webkit.org/show_bug.cgi?id=71440
29845
29846        Reviewed by Philippe Normand.
29847
29848        dragOperation() should be replaced with dragSession().operation since it was removed.
29849        And didDetectXSSForFrame of WKPageLoaderClient should be relocated.
29850
29851        * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
29852        (webkitWebLoaderClientAttachLoaderClientToPage):
29853        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
29854        (webkitWebViewBaseDragDataReceived):
29855        (webkitWebViewBaseDragMotion):
29856
298572011-11-03  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
29858
29859        [Qt] Flagging usage of X11 headers under PLAT_ARCH(X11)
29860        https://bugs.webkit.org/show_bug.cgi?id=71409
29861
29862        Reviewed by Simon Hausmann.
29863
29864        Build fix for building qtwebkit with latest qt5 which has removed Qt X11 headers.
29865
29866        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
29867
298682011-11-03  Philippe Normand  <pnormand@igalia.com>
29869
29870        Unreviewed, GTK build fix after r99093...
29871
29872        * PluginProcess/PluginControllerProxy.h:
29873
298742011-11-02  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
29875
29876        [Qt] [WK] Debug build broken
29877        https://bugs.webkit.org/show_bug.cgi?id=71417
29878
29879        Add WKNumber.h for WKBooleanGetTypeID
29880        Replace WKGetTypeId with WKGetTypeID
29881        Add initialization for didDetectXSSForFrame member in WKBundlePageLoaderClient
29882        instance.
29883
29884        Reviewed by Noam Rosenthal.
29885
29886        * WebProcess/qt/QtBuiltinBundle.cpp:
29887        (WebKit::QtBuiltinBundle::handleSetNavigatorQtObjectEnabled):
29888        * WebProcess/qt/QtBuiltinBundlePage.cpp:
29889        (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
29890
298912011-11-02  Mark Hahnenberg  <mhahnenberg@apple.com>
29892
29893        De-virtualize JSObject::getOwnPropertyNames
29894        https://bugs.webkit.org/show_bug.cgi?id=71307
29895
29896        Reviewed by Darin Adler.
29897
29898        Added getOwnPropertyNames to the MethodTable, changed all the virtual 
29899        implementations of getOwnPropertyNames to static ones, and replaced 
29900        all call sites with corresponding lookups in the MethodTable.
29901
29902        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
29903        (WebKit::JSNPObject::getOwnPropertyNames):
29904        * WebProcess/Plugins/Netscape/JSNPObject.h:
29905
299062011-11-02  Anders Carlsson  <andersca@apple.com>
29907
29908        Don't call NPP_SetWindow if the plug-in size or clip rect hasn't changed if the plug-in isn't using window relative coordinates
29909        https://bugs.webkit.org/show_bug.cgi?id=71418
29910
29911        Reviewed by Adam Roben.
29912
29913        This avoids calling into the plug-in when only the plug-in position relative to the window changes.
29914    
29915        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
29916        (WebKit::NetscapePlugin::geometryDidChange):
29917
299182011-11-02  Jon Lee  <jonlee@apple.com>
29919
29920        Fix syntax error.
29921
29922        * WebProcess/WebPage/WebPage.cpp:
29923        (WebKit::WebPage::performDragControllerAction):
29924
299252011-11-02  Jon Lee  <jonlee@apple.com>
29926
29927        Fix build error from r99108.
29928
29929        * WebProcess/WebPage/WebPage.cpp:
29930        (WebKit::WebPage::performDragControllerAction):
29931
299322011-11-02  Dean Jackson  <dino@apple.com>
29933
29934        Add ENABLE_CSS_SHADERS flag
29935        https://bugs.webkit.org/show_bug.cgi?id=71394
29936
29937        Reviewed by Sam Weinig.
29938
29939        * Configurations/FeatureDefines.xcconfig:
29940
299412011-11-02  Anders Carlsson  <andersca@apple.com>
29942
29943        Allow the various plug-in ports to decide whether NPWindow coordinates should be window-relative
29944        https://bugs.webkit.org/show_bug.cgi?id=71415
29945
29946        Reviewed by Darin Adler.
29947
29948        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
29949        (WebKit::NetscapePlugin::callSetWindow):
29950        Remove the PLUGIN_ARCHITECTURE(X11) ifdef and set the NPWindow members
29951        based on the return value of wantsWindowRelativeNPWindowCoordinates.
29952
29953        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
29954        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
29955        (WebKit::NetscapePlugin::wantsWindowRelativeNPWindowCoordinates):
29956        * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
29957        (WebKit::NetscapePlugin::wantsWindowRelativeNPWindowCoordinates):
29958        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
29959        (WebKit::NetscapePlugin::wantsWindowRelativeNPWindowCoordinates):
29960        Add platform specific implementations.
29961
299622011-11-02  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
29963
29964        [Qt] [WK] Debug build broken after r99065
29965        https://bugs.webkit.org/show_bug.cgi?id=71397
29966
29967        Remove reference to panGestureActive becuase it is not defined anywhere.
29968
29969        Reviewed by Simon Hausmann.
29970
29971        * UIProcess/qt/QtViewportInteractionEngine.cpp:
29972        (WebKit::QtViewportInteractionEngine::panGestureStarted):
29973
299742011-11-02  Jon Lee  <jonlee@apple.com>
29975
29976        Update dragging info on mac when user is dragging files into view
29977        https://bugs.webkit.org/show_bug.cgi?id=71325
29978        <rdar://problem/10379193>
29979
29980        Reviewed by Darin Adler.
29981
29982        * UIProcess/API/mac/WKView.mm:
29983        (-[WKView draggingUpdated:]): Based on the DragSession, we update NSDraggingInfo
29984        to update the badge and dragging formation.
29985
299862011-11-02  Jon Lee  <jonlee@apple.com>
29987
29988        Expand DragController to provide more information about the dragging session
29989        https://bugs.webkit.org/show_bug.cgi?id=71324
29990        <rdar://problem/10379175>
29991
29992        Reviewed by Darin Adler.
29993
29994        We now pass the DragSession struct from the Web to the UI process, instead of the
29995        DragOperation enum.
29996
29997        * Scripts/webkit2/messages.py:
29998        * Shared/WebCoreArgumentCoders.cpp:
29999        (CoreIPC::::encode):
30000        (CoreIPC::::decode):
30001        * Shared/WebCoreArgumentCoders.h:
30002        * UIProcess/API/mac/WKView.mm:
30003        (-[WKView draggingUpdated:]):
30004        * UIProcess/WebPageProxy.cpp:
30005        (WebKit::WebPageProxy::WebPageProxy): We now cache the last known DragSession state
30006        (WebKit::WebPageProxy::didPerformDragControllerAction):
30007        * UIProcess/WebPageProxy.h:
30008        (WebKit::WebPageProxy::dragSession):
30009        (WebKit::WebPageProxy::resetDragOperation):
30010        * UIProcess/WebPageProxy.messages.in:
30011        * UIProcess/win/WebView.cpp:
30012        (WebKit::WebView::keyStateToDragOperation):
30013        (WebKit::WebView::DragEnter):
30014        (WebKit::WebView::DragOver):
30015        * WebProcess/WebPage/WebPage.cpp:
30016        (WebKit::WebPage::performDragControllerAction):
30017
300182011-11-02  Anders Carlsson  <andersca@apple.com>
30019
30020        Get rid of Plugin::deprecatedGeometryDidChange
30021        https://bugs.webkit.org/show_bug.cgi?id=71411
30022
30023        Reviewed by Sam Weinig.
30024
30025        Now that all Plugin subclasses implement geometryDidChange and do all the work there
30026        we can get rid of deprecatedGeometryDidChange.
30027
30028        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
30029        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
30030        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
30031        * WebProcess/Plugins/PDF/BuiltInPDFView.h:
30032        * WebProcess/Plugins/Plugin.h:
30033        * WebProcess/Plugins/PluginProxy.cpp:
30034        * WebProcess/Plugins/PluginProxy.h:
30035        * WebProcess/Plugins/PluginView.cpp:
30036        (WebKit::PluginView::viewGeometryDidChange):
30037
300382011-11-02  Anders Carlsson  <andersca@apple.com>
30039
30040        Move back functions that were not added.
30041
30042        * UIProcess/API/C/WKPage.h:
30043
300442011-11-02  Anders Carlsson  <andersca@apple.com>
30045
30046        Fix build and WebKit2 ABI.
30047
30048        * Shared/APIClientTraits.cpp:
30049        * Shared/APIClientTraits.h:
30050        Add page loader client sizes.
30051
30052        * UIProcess/API/C/WKPage.h:
30053        Move the newly added callback functions in the loader client last and bump the
30054        WKPageLoaderClient version.
30055        
300562011-11-02  Anders Carlsson  <andersca@apple.com>
30057
30058        Fix build.
30059
30060        * WebProcess/Plugins/PluginView.h:
30061
300622011-11-02  Tom Sepez  <tsepez@chromium.org>
30063
30064        XSSAuditor is silent
30065        https://bugs.webkit.org/show_bug.cgi?id=70973
30066
30067        Reviewed by Adam Barth.
30068
30069        * UIProcess/API/C/WKPage.h:
30070        * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
30071        (webkitWebLoaderClientAttachLoaderClientToPage):
30072        * UIProcess/WebLoaderClient.cpp:
30073        (WebKit::WebLoaderClient::didDetectXSSForFrame):
30074        * UIProcess/WebLoaderClient.h:
30075        * UIProcess/WebPageProxy.cpp:
30076        (WebKit::WebPageProxy::didDetectXSSForFrame):
30077        * UIProcess/WebPageProxy.h:
30078        * UIProcess/WebPageProxy.messages.in:
30079        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
30080        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
30081        (WebKit::InjectedBundlePageLoaderClient::didDetectXSSForFrame):
30082        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
30083        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
30084        (WebKit::WebFrameLoaderClient::didDetectXSS):
30085        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
30086
300872011-11-02  Anders Carlsson  <andersca@apple.com>
30088
30089        More window relative coordinate usage removal
30090        https://bugs.webkit.org/show_bug.cgi?id=71393
30091
30092        Reviewed by Adam Roben.
30093
30094        * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
30095        (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate):
30096        Just use m_clipRect instead of converting m_clipRectInWindowCoordinates to plug-in coordinates.
30097
30098        (WebKit::NetscapePlugin::platformPaint):
30099        Use m_pluginSize instead of m_frameRectInWindowCoordinates.size().
30100
30101        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
30102        (WebKit::NetscapePlugin::platformPaint):
30103        Ditto.
30104
301052011-11-02  Anders Carlsson  <andersca@apple.com>
30106
30107        Fix non-Mac builds and remove #if PLATFORM(MAC) around all contents scale factor functions.
30108
30109        * PluginProcess/PluginControllerProxy.cpp:
30110        (WebKit::PluginControllerProxy::PluginControllerProxy):
30111        (WebKit::PluginControllerProxy::contentsScaleFactor):
30112        (WebKit::PluginControllerProxy::geometryDidChange):
30113        * PluginProcess/PluginControllerProxy.h:
30114        * PluginProcess/PluginCreationParameters.cpp:
30115        (WebKit::PluginCreationParameters::PluginCreationParameters):
30116        (WebKit::PluginCreationParameters::encode):
30117        (WebKit::PluginCreationParameters::decode):
30118        * PluginProcess/PluginCreationParameters.h:
30119        * PluginProcess/mac/PluginControllerProxyMac.mm:
30120        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
30121        (WebKit::NetscapePlugin::contentsScaleFactor):
30122        (WebKit::NetscapePlugin::getAuthenticationInfo):
30123        (WebKit::NetscapePlugin::snapshot):
30124        (WebKit::NetscapePlugin::contentsScaleFactorChanged):
30125        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
30126        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
30127        * WebProcess/Plugins/Plugin.h:
30128        * WebProcess/Plugins/PluginController.h:
30129        * WebProcess/Plugins/PluginProxy.cpp:
30130        (WebKit::PluginProxy::initialize):
30131        (WebKit::PluginProxy::contentsScaleFactorChanged):
30132        (WebKit::PluginProxy::contentsScaleFactor):
30133        * WebProcess/Plugins/PluginProxy.h:
30134        * WebProcess/Plugins/PluginView.cpp:
30135        (WebKit::PluginView::contentsScaleFactor):
30136
301372011-11-02  Anders Carlsson  <andersca@apple.com>
30138
30139        Use m_pluginSize instead of m_frameRectInWindowCoordinates.size() in NetscapePlugin.
30140        https://bugs.webkit.org/show_bug.cgi?id=71390
30141
30142        Reviewed by Adam Roben.
30143
30144        m_pluginSize is always equal to m_frameRectInWindowCoordinates.size() and this moves us one
30145        sall step further towards eliminating m_frameRectInWindowCoordinates.
30146
30147        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
30148        (WebKit::NetscapePlugin::invalidate):
30149        (WebKit::NetscapePlugin::snapshot):
30150
301512011-11-02  Anders Carlsson  <andersca@apple.com>
30152
30153        Fix non-Mac builds.
30154
30155        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
30156        (WebKit::NetscapePlugin::snapshot):
30157
301582011-11-02  Anders Carlsson  <andersca@apple.com>
30159
30160        Plug-in snapshots are blurry in HiDPI
30161        https://bugs.webkit.org/show_bug.cgi?id=71387
30162        <rdar://problem/10385393>
30163
30164        Reviewed by Adam Roben.
30165
30166        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
30167        (WebKit::NetscapePlugin::snapshot):
30168        Create the backing store in the right size and apply the contents scale factor
30169        to the newly created graphics context.
30170
30171        * WebProcess/Plugins/PluginView.cpp:
30172        (WebKit::PluginView::paint):
30173        Pass the scale factor to ShareableBitmap::paint.
30174
301752011-11-02  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
30176
30177        [Qt] Implement message exchange between WebView and the web page
30178        https://bugs.webkit.org/show_bug.cgi?id=70545
30179
30180        Reviewed by Noam Rosenthal.
30181
30182        Adds a mechanism for the WebView to send messages to the JavaScript environment
30183        of the web page. In the WebView we have a method postMessage() and a signal
30184        messageReceived(), while in the web page we expose a navigator.qt object with a
30185        postMessage() method and a onmessage property. The messages are objects that
30186        follow the same structure as MessageEvents.
30187
30188        The feature is disabled by default, and can be enabled by setting
30189        QWebPreferences::navigatorQtObjectEnabled property to true. Changes take effect
30190        after the next load(). QML tests are included.
30191
30192        * UIProcess/qt/ClientImpl.h:
30193        * UIProcess/qt/ClientImpl.cpp:
30194        (setupContextInjectedBundleClient): Helper to register the injected bundle client.
30195        (qt_wk_didReceiveMessageFromInjectedBundle): Decode and dispatch a message received
30196        from the WebProcess to the WebPageProxy.
30197
30198        * UIProcess/PageClient.h:
30199        (WebKit::PageClient::didReceiveMessageFromNavigatorQtObject):
30200        * UIProcess/WebPageProxy.cpp:
30201        (WebKit::WebPageProxy::didReceiveMessageFromNavigatorQtObject):
30202        * UIProcess/WebPageProxy.h:
30203        Handle messages received from the navigator.qt object via the injected bundle. Called
30204        from the ClientImpl.
30205
30206        * UIProcess/API/qt/qbasewebview.cpp:
30207        (QBaseWebView::postMessage):
30208        (QBaseWebViewPrivate::setPageProxy):
30209        * UIProcess/API/qt/qbasewebview.h:
30210        * UIProcess/API/qt/qwebpreferences.cpp:
30211        (QWebPreferences::navigatorQtObjectEnabled):
30212        (QWebPreferences::setNavigatorQtObjectEnabled):
30213        * UIProcess/API/qt/qwebpreferences.h:
30214        The signal, slot and the setting to enable the feature.
30215
30216        * UIProcess/qt/QtWebPageProxy.cpp:
30217        (QtWebPageProxy::defaultWKContext): setup the injected bundle client for this the
30218        default context so we can listen to messages from it.
30219
30220        (QtWebPageProxy::QtWebPageProxy):
30221        (QtWebPageProxy::didReceiveMessageFromNavigatorQtObject):
30222        (QtWebPageProxy::setNavigatorQtObjectEnabled):
30223        (QtWebPageProxy::postMessageToNavigatorQtObject):
30224        * UIProcess/qt/QtWebPageProxy.h:
30225        (QtWebPageProxy::navigatorQtObjectEnabled):
30226        Enabling and sending messages to the navigator.qt object are done by sending messages to
30227        the injected bundle, identifying the page that we want to act on.
30228
30229        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_messaging.qml: Added.
30230        * UIProcess/API/qt/tests/qmltests/common/messaging.html: Added.
30231        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
30232        * WebProcess/qt/QtBuiltinBundle.cpp:
30233        (WebKit::QtBuiltinBundle::initialize):
30234        (WebKit::QtBuiltinBundle::didReceiveMessage):
30235        (WebKit::QtBuiltinBundle::handleMessageToNavigatorQtObject):
30236        (WebKit::QtBuiltinBundle::handleSetNavigatorQtObjectEnabled):
30237        * WebProcess/qt/QtBuiltinBundle.h:
30238        * WebProcess/qt/QtBuiltinBundlePage.cpp:
30239        (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
30240        (WebKit::QtBuiltinBundlePage::~QtBuiltinBundlePage):
30241        (WebKit::QtBuiltinBundlePage::didClearWindowForFrame):
30242        (WebKit::qt_postMessageCallback):
30243        (WebKit::QtBuiltinBundlePage::postMessageFromNavigatorQtObject):
30244        (WebKit::createWrappedMessage):
30245        (WebKit::QtBuiltinBundlePage::didReceiveMessageToNavigatorQtObject):
30246        (WebKit::QtBuiltinBundlePage::setNavigatorQtObjectEnabled):
30247        (WebKit::QtBuiltinBundlePage::registerNavigatorQtObject):
30248        (WebKit::QtBuiltinBundlePage::navigatorQtObjectClass):
30249        * WebProcess/qt/QtBuiltinBundlePage.h:
30250        (WebKit::QtBuiltinBundlePage::navigatorQtObjectEnabled):
30251
302522011-11-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
30253
30254        [Qt] Fix qmltest API test failures related to r98973.
30255        https://bugs.webkit.org/show_bug.cgi?id=71280
30256
30257        Reviewed by Noam Rosenthal.
30258
30259        Most of the API was moved from TouchWebView.page to TouchWebView directly.
30260        Fixed the qml tests to reflect this change.
30261
30262        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml:
30263        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml:
30264        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml:
30265        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml:
30266        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml:
30267        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml:
30268        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml:
30269
302702011-11-02  Kenneth Rohde Christiansen  <kenneth@webkit.org>
30271
30272        [Qt] Handle interruption of page interaction better
30273        https://bugs.webkit.org/show_bug.cgi?id=71366
30274
30275        Reviewed by Simon Hausmann.
30276
30277        Touching the screen when a kinetic scrolling animation is running or
30278        it is bouncing back because it was out of bounds, the animation is
30279        immediately stopped and the content is immediately put into valid
30280        bounds.
30281
30282        Touching the screen when the contents is bouncing back from a pinch
30283        zoom which was out of bounds, we do not stop the animation, but
30284        instead ignored the touch events while the animation lasts.
30285
30286        In the future we want to queue the events instead.
30287
30288        This also fixes some issues which was present before: As the bounce
30289        back animation from pinch zoom centers the content using the contents
30290        point which was in the center of the viewport, this animation could
30291        not be used when stopping a pan animation, as it wouldn't position the
30292        content at the place it was when the pan animation was interrupted.
30293
30294        * UIProcess/qt/QtPanGestureRecognizer.cpp:
30295        (WebKit::QtPanGestureRecognizer::recognize):
30296        * UIProcess/qt/QtPinchGestureRecognizer.cpp:
30297        (WebKit::QtPinchGestureRecognizer::recognize):
30298        * UIProcess/qt/QtViewportInteractionEngine.cpp:
30299        (WebKit::QtViewportInteractionEngine::animateContentIntoBoundariesIfNeeded):
30300        (WebKit::QtViewportInteractionEngine::reset):
30301        (WebKit::QtViewportInteractionEngine::setConstraints):
30302        (WebKit::QtViewportInteractionEngine::panAnimationActive):
30303        (WebKit::QtViewportInteractionEngine::panGestureStarted):
30304        (WebKit::QtViewportInteractionEngine::panGestureCancelled):
30305        (WebKit::QtViewportInteractionEngine::pinchAnimationActive):
30306        * UIProcess/qt/QtViewportInteractionEngine.h:
30307
303082011-11-02  Zalan Bujtas  <zbujtas@gmail.com>
30309
30310        [Qt][WK2] Move content to resize (setResizesToContentsUsingLayoutSize) from UI process to Web process
30311        https://bugs.webkit.org/show_bug.cgi?id=71107
30312
30313        Reviewed by Kenneth Rohde Christiansen.
30314
30315        Reduce the number of IPC calls to WebProcess by moving the content to resize
30316        calls from UI process to Web process.
30317
30318        * UIProcess/API/qt/qtouchwebview.cpp:
30319        (QTouchWebViewPrivate::updateViewportSize):
30320        (QTouchWebViewPrivate::updateViewportConstraints):
30321        (QTouchWebView::geometryChanged):
30322        * UIProcess/API/qt/qtouchwebview_p.h:
30323        * UIProcess/WebPageProxy.cpp:
30324        (WebKit::WebPageProxy::setViewportSize):
30325        (WebKit::WebPageProxy::preferencesDidChange):
30326        * UIProcess/WebPageProxy.h:
30327        * UIProcess/qt/QtTouchWebPageProxy.cpp:
30328        * UIProcess/qt/QtTouchWebPageProxy.h:
30329        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
30330        (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
30331        * WebProcess/WebPage/WebPage.messages.in:
30332
303332011-10-18  Dinu Jacob  <dinu.jacob@nokia.com>
30334
30335        [Qt][WK2]: Shouldn't send unhandled TouchCancel event to gesture recognizers
30336        https://bugs.webkit.org/show_bug.cgi?id=70333
30337
30338        Reviewed by Simon Hausmann.
30339
30340        Gesture recognizers should be reset for unhandled TouchCancel event.
30341
30342        * UIProcess/qt/qtouchwebpageproxy.cpp:
30343        (QTouchWebPageProxy::doneWithTouchEvent):
30344
303452011-11-02  Simon Hausmann  <simon.hausmann@nokia.com>
30346
30347        [Qt][WK2] Add support for touch event testing to WebKitTestRunner
30348        https://bugs.webkit.org/show_bug.cgi?id=71310
30349
30350        Reviewed by Kenneth Rohde Christiansen.
30351
30352        * UIProcess/WebPageProxy.cpp:
30353        (WebKit::WebPageProxy::handleTouchEvent): Add support for m_shouldSendEventsSynchronously.
30354        * UIProcess/qt/QtDesktopWebPageProxy.cpp:
30355        (QtDesktopWebPageProxy::handleEvent): Handle plain touch events in the desktop page proxy by
30356        forwarding them appropriately. We will receive them from WTR through ::event, but we won't
30357        receive them from QQuickCanvas (i.e. the user) because that doesn't uses ::event but only
30358        dedicated fooEvent() handlers, of which we don't re-implement the touch version.
30359        (QtDesktopWebPageProxy::handleTouchEvent): Forward touch events to WebPageProxy.
30360        * UIProcess/qt/QtDesktopWebPageProxy.h:
30361        * WebProcess/WebPage/WebPage.cpp:
30362        (WebKit::WebPage::touchEventSyncForTesting): Add support for synchronous touch event testing,
30363        similar to the way it's done for mouse events.
30364        * WebProcess/WebPage/WebPage.h: Ditto.
30365        * WebProcess/WebPage/WebPage.messages.in: Ditto.
30366
303672011-11-02  Simon Hausmann  <simon.hausmann@nokia.com>
30368
30369        [WK2] Remove unused/duplicated modifiers member from WebTouchEvent
30370        https://bugs.webkit.org/show_bug.cgi?id=71353
30371
30372        Reviewed by Kenneth Rohde Christiansen.
30373
30374        WebTouchEvent::m_[ctrl,alt,meta,shift]Key are redundant compared to
30375        WebEvent::m_modifiers. The latter is fully populated and used, the former
30376        can be safely removed.
30377
30378        * Shared/WebEvent.h:
30379        * Shared/WebTouchEvent.cpp:
30380        (WebKit::WebTouchEvent::WebTouchEvent):
30381        * Shared/qt/WebEventFactoryQt.cpp:
30382        (WebKit::WebEventFactory::createWebTouchEvent):
30383
303842011-11-02  Philippe Normand  <pnormand@igalia.com>
30385
30386        Unreviewed, skip testWebKitSettingsNewWithSettings affected by bug
30387        70127.
30388
30389        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
30390        (testWebKitSettingsNewWithSettings):
30391
303922011-11-01  Andras Becsi  <andras.becsi@nokia.com>
30393
30394        [Qt][WK2] Make API tests less noisy
30395        https://bugs.webkit.org/show_bug.cgi?id=71295
30396
30397        Reviewed by Simon Hausmann.
30398
30399        Suppress superfluous debug messages of Qt5.
30400
30401        * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
30402        * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp:
30403        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
30404        * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
30405        (main):
30406        * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp:
30407        * UIProcess/API/qt/tests/util.cpp:
30408        (messageHandler):
30409        * UIProcess/API/qt/tests/util.h:
30410
304112011-11-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
30412
30413        [Qt] Merge common desktop and touch view APIs under a base class.
30414        https://bugs.webkit.org/show_bug.cgi?id=71280
30415
30416        Reviewed by Andreas Kling.
30417
30418        - Make QDesktopWebView and QTouchWebView inherit from QBaseWebView.
30419        - Move methods from QTouchWebPage to QTouchWebView (through the base class).
30420
30421        We use the same convenience macros as Qt internally by hiding QObject::d_ptr
30422        with QBaseWebView::d_ptr instead of inheriting QBaseWebViewPrivate from
30423        QQuickItemPrivate.
30424        Also, QBaseWebView currently inherits from QQuickPaintedItem since QDesktopWebView
30425        needs it, but should be changed as soon as this is not required anymore.
30426
30427        * UIProcess/API/qt/qbasewebview.cpp: Added.
30428        (QBaseWebViewPrivate::QBaseWebViewPrivate):
30429        (QBaseWebViewPrivate::setPageProxy):
30430        (QBaseWebView::QBaseWebView):
30431        (QBaseWebView::~QBaseWebView):
30432        (QBaseWebView::load):
30433        (QBaseWebView::url):
30434        (QBaseWebView::loadProgress):
30435        (QBaseWebView::title):
30436        (QBaseWebView::navigationController):
30437        (QBaseWebView::preferences):
30438        * UIProcess/API/qt/qbasewebview.h: Copied from Source/WebKit2/UIProcess/API/qt/qtouchwebpage.h.
30439        * UIProcess/API/qt/qbasewebview_p.h: Copied from Source/WebKit2/UIProcess/API/qt/qtouchwebpage_p.h.
30440        (QBaseWebViewPrivate::~QBaseWebViewPrivate):
30441        * UIProcess/API/qt/qdesktopwebview.cpp:
30442        (QDesktopWebViewPrivate::QDesktopWebViewPrivate):
30443        (QDesktopWebViewPrivate::enableMouseEvents):
30444        (QDesktopWebViewPrivate::disableMouseEvents):
30445        (QDesktopWebViewPrivate::webView):
30446        (QDesktopWebViewPrivate::setViewNeedsDisplay):
30447        (QDesktopWebViewPrivate::drawingAreaSize):
30448        (QDesktopWebViewPrivate::hasFocus):
30449        (QDesktopWebViewPrivate::isVisible):
30450        (QDesktopWebViewPrivate::startDrag):
30451        (QDesktopWebViewPrivate::didChangeUrl):
30452        (QDesktopWebViewPrivate::didChangeTitle):
30453        (QDesktopWebViewPrivate::didChangeStatusText):
30454        (QDesktopWebViewPrivate::loadDidBegin):
30455        (QDesktopWebViewPrivate::loadDidSucceed):
30456        (QDesktopWebViewPrivate::loadDidFail):
30457        (QDesktopWebViewPrivate::didChangeLoadProgress):
30458        (QDesktopWebViewPrivate::showContextMenu):
30459        (QDesktopWebViewPrivate::runJavaScriptAlert):
30460        (QDesktopWebViewPrivate::runJavaScriptConfirm):
30461        (QDesktopWebViewPrivate::runJavaScriptPrompt):
30462        (QDesktopWebView::QDesktopWebView):
30463        (QDesktopWebViewPrivate::init):
30464        (QDesktopWebView::~QDesktopWebView):
30465        (QDesktopWebView::geometryChanged):
30466        (QDesktopWebView::paint):
30467        (QDesktopWebView::event):
30468        (QDesktopWebView::pageRef):
30469        (QDesktopWebViewPrivate::processDidCrash):
30470        (QDesktopWebViewPrivate::didRelaunchProcess):
30471        (QDesktopWebViewPrivate::engine):
30472        (QDesktopWebViewPrivate::chooseFiles):
30473        (QDesktopWebViewPrivate::_q_onOpenPanelFilesSelected):
30474        (QDesktopWebViewPrivate::_q_onOpenPanelFinished):
30475        (QDesktopWebViewPrivate::didMouseMoveOverElement):
30476        (QDesktopWebViewPrivate::navigationPolicyForURL):
30477        * UIProcess/API/qt/qdesktopwebview.h:
30478        * UIProcess/API/qt/qdesktopwebview_p.h:
30479        * UIProcess/API/qt/qtouchwebpage.cpp:
30480        (QTouchWebPage::event):
30481        (QTouchWebPage::geometryChanged):
30482        (QTouchWebPagePrivate::QTouchWebPagePrivate):
30483        (QTouchWebPagePrivate::setPageProxy):
30484        (QTouchWebPagePrivate::paintToCurrentGLContext):
30485        * UIProcess/API/qt/qtouchwebpage.h:
30486        * UIProcess/API/qt/qtouchwebpage_p.h:
30487        (QTouchWebPagePrivate::touchPageProxy):
30488        * UIProcess/API/qt/qtouchwebview.cpp:
30489        (QTouchWebViewPrivate::init):
30490        (QTouchWebViewPrivate::loadDidCommit):
30491        (QTouchWebViewPrivate::_q_viewportUpdated):
30492        (QTouchWebViewPrivate::_q_viewportTrajectoryVectorChanged):
30493        (QTouchWebViewPrivate::updateViewportConstraints):
30494        (QTouchWebView::QTouchWebView):
30495        (QTouchWebView::~QTouchWebView):
30496        (QTouchWebView::page):
30497        (QTouchWebView::geometryChanged):
30498        (QTouchWebView::onVisibleChanged):
30499        * UIProcess/API/qt/qtouchwebview.h:
30500        * UIProcess/API/qt/qtouchwebview_p.h:
30501        (QTouchWebViewPrivate::touchPageProxy):
30502        * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
30503        (tst_CommonViewTests::loadNonexistentFileUrl):
30504        * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
30505        (WebViewAbstraction::WebViewAbstraction):
30506        (WebViewAbstraction::load):
30507        (WebViewAbstraction::url):
30508        (WebViewAbstraction::loadProgress):
30509        (WebViewAbstraction::goBack):
30510        (WebViewAbstraction::goForward):
30511        (WebViewAbstraction::stop):
30512        (WebViewAbstraction::reload):
30513        (WebViewAbstraction::touchViewLoadFailed):
30514        (WebViewAbstraction::desktopViewLoadFailed):
30515        * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
30516        * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp:
30517        (tst_QTouchWebView::navigationStatusAtStartup):
30518        * UIProcess/qt/QtDesktopWebPageProxy.cpp:
30519        (QtDesktopWebPageProxy::createPopupMenuProxy):
30520        * UIProcess/qt/QtTouchViewInterface.cpp:
30521        (WebKit::QtTouchViewInterface::didChangeViewportProperties):
30522        (WebKit::QtTouchViewInterface::didChangeUrl):
30523        (WebKit::QtTouchViewInterface::didChangeTitle):
30524        (WebKit::QtTouchViewInterface::loadDidBegin):
30525        (WebKit::QtTouchViewInterface::loadDidCommit):
30526        (WebKit::QtTouchViewInterface::loadDidSucceed):
30527        (WebKit::QtTouchViewInterface::loadDidFail):
30528        (WebKit::QtTouchViewInterface::didChangeLoadProgress):
30529        * WebKit2API.pri:
30530
305312011-10-31  Anders Carlsson  <andersca@apple.com>
30532
30533        PluginProxy shouldn't use window-relative coordinates
30534        https://bugs.webkit.org/show_bug.cgi?id=71261
30535
30536        Reviewed by Adam Roben.
30537
30538        Change PluginProxy::wantsWindowRelativeCoordinates to return false and remove
30539        m_frameRectInWindowCoordinates and m_clipRectInWindowCoordinates. This is yet another step
30540        towards eliminating window-relative coordinates wherever possible.
30541
30542        * WebProcess/Plugins/PluginProxy.cpp:
30543        (WebKit::PluginProxy::paint):
30544        Since the dirty rect passed to paint is now in plug-in coordinates, there's no need to convert it
30545        from window coordinates to plug-in coordinates before passing it to BackingStore::paint.
30546
30547        (WebKit::PluginProxy::deprecatedGeometryDidChange):
30548        Assert that we're not calling this anymore.
30549
30550        (WebKit::PluginProxy::wantsWindowRelativeCoordinates):
30551        Return false.
30552
305532011-11-01  Kenneth Rohde Christiansen  <kenneth@webkit.org>
30554
30555        The QtViewportInteractionEngine should consider DPI adjustment
30556        https://bugs.webkit.org/show_bug.cgi?id=71283
30557
30558        Reviewed by Simon Hausmann.
30559
30560        * UIProcess/API/qt/qtouchwebview.cpp:
30561
30562            Add some default values for now to make sure we are testing the
30563            DPI adjustment / CSS-item space conversion.
30564
30565        (QTouchWebViewPrivate::updateViewportConstraints):
30566        * UIProcess/qt/QtViewportInteractionEngine.cpp:
30567        (WebKit::ViewportUpdateGuard::ViewportUpdateGuard):
30568        (WebKit::ViewportUpdateGuard::~ViewportUpdateGuard):
30569
30570            Clean up the guard to be more understandable.
30571
30572        (WebKit::QtViewportInteractionEngine::cssScaleFromItem):
30573        (WebKit::QtViewportInteractionEngine::itemScaleFromCSS):
30574
30575            Add methods for converting between CSS and item space.
30576
30577        (WebKit::QtViewportInteractionEngine::innerBoundedCSSScale):
30578        (WebKit::QtViewportInteractionEngine::outerBoundedCSSScale):
30579
30580            Make it clean which methods uses which coord space.
30581
30582        (WebKit::QtViewportInteractionEngine::updateVisibleRect):
30583        (WebKit::QtViewportInteractionEngine::event):
30584        (WebKit::QtViewportInteractionEngine::computePosRangeForItemScale):
30585
30586            Rename calculateBoundariesForScale and change its implementation to
30587            be correct. The new name reflects the space in which the computation
30588            takes place and reflects similar Qt API.
30589
30590        (WebKit::QtViewportInteractionEngine::animateContentIntoBoundariesIfNeeded):
30591        (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
30592        (WebKit::QtViewportInteractionEngine::scaleContent):
30593
30594            Make sure to consider the right coord space.
30595
30596        * UIProcess/qt/QtViewportInteractionEngine.h:
30597        (WebKit::QtViewportInteractionEngine::Constraints::Constraints):
30598
30599            Add the devicePixelRatio.
30600
306012011-11-01  Simon Hausmann  <simon.hausmann@nokia.com>
30602
30603        Prospective clang build fix.
30604
30605        Reviewed by Andreas Kling.
30606
30607        * UIProcess/WebPageProxy.cpp:
30608        (WebKit::WebPageProxy::didReceiveEvent): Handle GestureSingleTap in the event type switch.
30609
306102011-11-01  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
30611
30612        [Qt] Create infrastructure for Qt's builtin bundle in web process.
30613        https://bugs.webkit.org/show_bug.cgi?id=71279
30614
30615        Reviewed by Simon Hausmann.
30616
30617        Create a builtin bundle for Qt port: an InjectedBundle which the code is together
30618        with the Qt's web process instead of being in a different library. This gives us
30619        access to many hooks at web process (using WKBundle* functions of C API) without
30620        adding any maintenance burden to cross-port code.
30621
30622        Since we also use a InjectedBundle in the WebKitTestRunner, we only install our
30623        builtin bundle if there's no other installed. This is fine because WTR won't use
30624        the extra runtime features that we plan to provide with the builtin bundle.
30625
30626        * WebKit2.pro:
30627        * WebProcess/qt/QtBuiltinBundle.cpp: Added.
30628        (WebKit::QtBuiltinBundle::~QtBuiltinBundle):
30629        (WebKit::QtBuiltinBundle::shared):
30630        (WebKit::QtBuiltinBundle::initialize):
30631        (WebKit::QtBuiltinBundle::didCreatePage):
30632        (WebKit::QtBuiltinBundle::willDestroyPage):
30633        (WebKit::QtBuiltinBundle::bundlePageForPageRef):
30634        * WebProcess/qt/QtBuiltinBundle.h: Added.
30635        (WebKit::QtBuiltinBundle::toRef):
30636        Object that holds a WKBundleRef and keeps track of the pages in the current context.
30637
30638        * WebProcess/qt/QtBuiltinBundlePage.cpp: Added.
30639        (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
30640        (WebKit::QtBuiltinBundlePage::~QtBuiltinBundlePage):
30641        * WebProcess/qt/QtBuiltinBundlePage.h: Added.
30642        (WebKit::QtBuiltinBundlePage::page):
30643        Our representation for pages from the bundle perspective. This will be the right
30644        place to registering page related clients.
30645
30646        * WebProcess/qt/WebProcessQt.cpp:
30647        (WebKit::WebProcess::platformInitializeWebProcess):
30648        If there's no bundle to be loaded, initialize Qt builtin bundle, which will register the
30649        bundle client for this context.
30650
306512011-11-01  Simon Hausmann  <simon.hausmann@nokia.com>
30652
30653        [WK2] Add WebGestureEvents to the Qt build and enable PlatformGestureEvent::TapType
30654        https://bugs.webkit.org/show_bug.cgi?id=71274
30655
30656        Reviewed by Kenneth Christiansen.
30657
30658        * Shared/WebEvent.h: Add GestureSingleTap as gesture type.
30659        * Shared/WebEventConversion.cpp:
30660        (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent): Support converting
30661        WebEven::GestureSingleTap to PlatformGestureEvent::TapType.
30662        * Shared/WebGestureEvent.cpp:
30663        (WebKit::WebGestureEvent::isGestureEventType): GestureSingleTap is a valid gesture event type.
30664        * WebKit2.pro: Add WebGestureEvent.cpp to the build.
30665
306662011-10-31  Anders Carlsson  <andersca@apple.com>
30667
30668        PluginProxy::Update should pass the painted rect in plug-in coordinates
30669        https://bugs.webkit.org/show_bug.cgi?id=71257
30670
30671        Reviewed by Adam Roben.
30672
30673        This is one step in the process of migrating away from window relative coordinates
30674        and use plug-in relative coordinates instead, since window relative coordinates won't work
30675        with transforms.
30676
30677        * PluginProcess/PluginControllerProxy.cpp:
30678        (WebKit::PluginControllerProxy::paint):
30679        Convert the dirty rect back to plug-in coordinates.
30680
30681        * WebProcess/Plugins/PluginProxy.cpp:
30682        (WebKit::PluginProxy::update):
30683        No need to convert the painted rect back to plug-in coordinates anymore.
30684
30685        * WebProcess/Plugins/PluginProxy.messages.in:
30686        Document that the painted rect is in plug-in coordinates.
30687
306882011-10-31  Anders Carlsson  <andersca@apple.com>
30689
30690        PluginControllerProxy should call Plugin::geometryDidChange
30691        https://bugs.webkit.org/show_bug.cgi?id=71255
30692
30693        Reviewed by Sam Weinig.
30694
30695        Pass enough information over in the GeometryDidChange message sent from
30696        PluginProxy to PluginControllerProxy so that PluginControllerProxy can call
30697        Plugin::geometryDidChange.
30698
30699        * PluginProcess/PluginControllerProxy.cpp:
30700        (WebKit::PluginControllerProxy::paint):
30701        (WebKit::PluginControllerProxy::invalidate):
30702        (WebKit::PluginControllerProxy::paintEntirePlugin):
30703        Update for rename from m_frameRect to m_frameRectInWindowCoordinates.
30704
30705        (WebKit::PluginControllerProxy::geometryDidChange):
30706        This now takes the plug-in size and the plug-in to root view transform as well.
30707
30708        * PluginProcess/PluginControllerProxy.h:
30709        Store the plug-in size and rename m_frameRect to m_frameRectInWindowCoordinates.
30710
30711        * PluginProcess/PluginControllerProxy.messages.in:
30712        Update message signature.
30713
30714        * PluginProcess/mac/PluginControllerProxyMac.mm:
30715        (WebKit::PluginControllerProxy::platformGeometryDidChange):
30716        Use the plug-in size instead of the frame rect size.
30717
30718        * Shared/WebCoreArgumentCoders.cpp:
30719        (CoreIPC::::encode):
30720        (CoreIPC::::decode):
30721        * Shared/WebCoreArgumentCoders.h:
30722        Add encoder/decoder for WebCore::AffineTransform.
30723
30724        * WebProcess/Plugins/PluginProxy.cpp:
30725        (WebKit::PluginProxy::geometryDidChange):
30726        Compute the frame rect in window coordinates and send it over.
30727
30728        (WebKit::PluginProxy::deprecatedGeometryDidChange):
30729        Move call to geometryDidChange() from here to the new PluginProxy::geometryDidChange.
30730
307312011-10-31  Anders Carlsson  <andersca@apple.com>
30732
30733        Remove some uses of m_frameRectInWindowCoordinates from PluginProxy
30734        https://bugs.webkit.org/show_bug.cgi?id=71252
30735
30736        Reviewed by Darin Adler.
30737
30738        * WebProcess/Plugins/PluginProxy.cpp:
30739        (WebKit::PluginProxy::paint):
30740        (WebKit::PluginProxy::geometryDidChange):
30741        (WebKit::PluginProxy::updateBackingStore):
30742        (WebKit::PluginProxy::pluginBounds):
30743        * WebProcess/Plugins/PluginProxy.h:
30744
307452011-10-31  Anders Carlsson  <andersca@apple.com>
30746
30747        Implement PluginProxy::geometryDidChange
30748        https://bugs.webkit.org/show_bug.cgi?id=71251
30749
30750        Reviewed by Sam Weinig.
30751
30752        Keep track of the plug-in size, the clip rect in plug-in coordinates and the
30753        transformation matrix from the root view to the plug-in.
30754
30755        * WebProcess/Plugins/PluginProxy.cpp:
30756        (WebKit::PluginProxy::geometryDidChange):
30757        * WebProcess/Plugins/PluginProxy.h:
30758
307592011-10-31  Anders Carlsson  <andersca@apple.com>
30760
30761        Fix the X11 build.
30762
30763        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
30764        (WebKit::NetscapePlugin::platformGeometryDidChange):
30765        (WebKit::NetscapePlugin::platformPaint):
30766        (WebKit::NetscapePlugin::platformHandleMouseEvent):
30767        (WebKit::NetscapePlugin::platformHandleWheelEvent):
30768        (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
30769        (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
30770
307712011-10-31  Anders Carlsson  <andersca@apple.com>
30772
30773        Factor code to resize the plug-in backing store out into a separate function
30774        https://bugs.webkit.org/show_bug.cgi?id=71250
30775
30776        Reviewed by Adam Roben.
30777
30778        Add a PluginProxy::contentsScaleFactor helper function to get rid of a bunch of PLATFORM(MAC) #ifdefs,
30779        and move the code to update the backing store out into a separate function.
30780
30781        * WebProcess/Plugins/PluginProxy.cpp:
30782        (WebKit::PluginProxy::initialize):
30783        (WebKit::PluginProxy::paint):
30784        (WebKit::PluginProxy::geometryDidChange):
30785        (WebKit::PluginProxy::contentsScaleFactor):
30786        (WebKit::PluginProxy::updateBackingStore):
30787        (WebKit::PluginProxy::update):
30788        * WebProcess/Plugins/PluginProxy.h:
30789
307902011-10-31  Jeff Miller  <jeffm@apple.com>
30791
30792        Add more APIs to WKUserContentURLPattern.h
30793        https://bugs.webkit.org/show_bug.cgi?id=71245
30794        
30795        Add additional WKUserContentURLPattern APIs to match what was provided by
30796        the equivalent WebKit1 API.
30797
30798        Reviewed by Darin Adler.
30799
30800        * Shared/API/c/WKUserContentURLPattern.cpp:
30801        (WKUserContentURLPatternCopyHost): Added.
30802        (WKUserContentURLPatternCopyScheme): Added.
30803        (WKUserContentURLPatternIsValid): Added.
30804        (WKUserContentURLPatternMatchesSubdomains): Added.
30805        
30806        * Shared/API/c/WKUserContentURLPattern.h: Added new APIs.
30807        
30808        * Shared/WebUserContentURLPattern.h:
30809        (WebKit::WebUserContentURLPattern::host): Added.
30810        (WebKit::WebUserContentURLPattern::scheme): Added.
30811        (WebKit::WebUserContentURLPattern::isValid): Added.
30812        (WebKit::WebUserContentURLPattern::matchesSubdomains): Added.
30813
308142011-10-31  Anders Carlsson  <andersca@apple.com>
30815
30816        More work on making plug-ins work better with transforms
30817        https://bugs.webkit.org/show_bug.cgi?id=71241
30818
30819        Reviewed by Darin Adler.
30820
30821        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
30822        (WebKit::NetscapePlugin::geometryDidChange):
30823        Implement NetscapePlugin::geometryDidChange and store the plug-in size,
30824        the clip rect and the root view transform. Use the transform to compute the window
30825        relative frame and clip rects.
30826
30827        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
30828        Add new member variables.
30829
30830        * WebProcess/Plugins/PluginView.cpp:
30831        (WebKit::PluginView::viewGeometryDidChange):
30832        Always call the new Plugin::geometryDidChange.
30833
308342011-10-27  Anders Carlsson  <andersca@apple.com>
30835
30836        Rename a couple of NetscapePlugin and PluginProxy member variables
30837        https://bugs.webkit.org/show_bug.cgi?id=71086
30838
30839        Reviewed by Sam Weinig.
30840
30841        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
30842        (WebKit::NetscapePlugin::invalidate):
30843        (WebKit::NetscapePlugin::callSetWindow):
30844        (WebKit::NetscapePlugin::snapshot):
30845        (WebKit::NetscapePlugin::deprecatedGeometryDidChange):
30846        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
30847        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
30848        (WebKit::NetscapePlugin::platformPaint):
30849        (WebKit::NetscapePlugin::platformHandleMouseEvent):
30850        (WebKit::NetscapePlugin::platformHandleWheelEvent):
30851        (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
30852        (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
30853        * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
30854        (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate):
30855        (WebKit::NetscapePlugin::platformPaint):
30856        * WebProcess/Plugins/PluginProxy.cpp:
30857        (WebKit::PluginProxy::paint):
30858        (WebKit::PluginProxy::geometryDidChange):
30859        (WebKit::PluginProxy::deprecatedGeometryDidChange):
30860        (WebKit::PluginProxy::update):
30861        * WebProcess/Plugins/PluginProxy.h:
30862        * WebProcess/Plugins/PluginView.cpp:
30863        (WebKit::PluginView::viewGeometryDidChange):
30864
308652011-10-31  Andras Becsi  <andras.becsi@nokia.com>
30866
30867        [Qt][WK2] Fix qmltests after r98460 added widgets dependency.
30868
30869        Reviewed by Simon Hausmann.
30870
30871        Use QApplication and QtWidgets until we get rid of the widgets dependency of QScroller.
30872
30873        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
30874        * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
30875        (main):
30876
308772011-10-31  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
30878
30879        [Qt] Make QWebPreferences hold a QtWebPageProxy
30880        https://bugs.webkit.org/show_bug.cgi?id=71219
30881
30882        Reviewed by Andreas Kling.
30883
30884        Change QWebPreferences to keep a pointer to QtWebPageProxy.  The reason is that
30885        some features we want to control (like the messaging exchange between WebView and
30886        the web process) are not available via WKPreferencesRef.
30887
30888        QtWebPageProxy now uses an OwnPtr to keep the QWebPreferences to clarify the
30889        ownership relationship. Before this change the QWebPreferences created was leaking.
30890
30891        * UIProcess/API/qt/qwebpreferences.cpp:
30892        (QWebPreferencesPrivate::createPreferences):
30893        (QWebPreferencesPrivate::testAttribute):
30894        (QWebPreferencesPrivate::setAttribute):
30895        (QWebPreferencesPrivate::setFontFamily):
30896        (QWebPreferencesPrivate::fontFamily):
30897        (QWebPreferencesPrivate::setFontSize):
30898        (QWebPreferencesPrivate::fontSize):
30899        (QWebPreferencesPrivate::preferencesRef):
30900        * UIProcess/API/qt/qwebpreferences.h:
30901        * UIProcess/API/qt/qwebpreferences_p.h:
30902        * UIProcess/qt/QtWebPageProxy.cpp:
30903        (QtWebPageProxy::QtWebPageProxy):
30904        (QtWebPageProxy::preferences):
30905        * UIProcess/qt/QtWebPageProxy.h:
30906
309072011-10-31  Carlos Garcia Campos  <cgarcia@igalia.com>
30908
30909        [GTK] Add webkit_settings_new_with_settings() to WebKit2 GTK+ API
30910        https://bugs.webkit.org/show_bug.cgi?id=71111
30911
30912        Reviewed by Martin Robinson.
30913
30914        Convenient method to create a WebKitSettings object with initial
30915        settings.
30916
30917        * UIProcess/API/gtk/WebKitSettings.cpp:
30918        (webkit_settings_new_with_settings):
30919        * UIProcess/API/gtk/WebKitSettings.h:
30920        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
30921        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
30922        (testWebKitSettingsNewWithSettings):
30923        (beforeAll):
30924
309252011-10-31  Carlos Garcia Campos  <cgarcia@igalia.com>
30926
30927        [GTK] Add methods to get/set the settings of a web view to WebKit2 GTK+ API
30928        https://bugs.webkit.org/show_bug.cgi?id=71109
30929
30930        Reviewed by Martin Robinson.
30931
30932        * GNUmakefile.am: Add WebKitSettingsPrivate.h.
30933        * UIProcess/API/gtk/WebKitSettings.cpp:
30934        (webkitSettingsAttachSettingsToPage): Set the preferences of the
30935        given WebKitSettings object to the page group of the given WKPage.
30936        * UIProcess/API/gtk/WebKitSettingsPrivate.h: Added.
30937        * UIProcess/API/gtk/WebKitWebView.cpp:
30938        (webkitWebViewConstructed): Create the default WebKitSettings for
30939        the view.
30940        (webkit_web_view_set_settings):
30941        (webkit_web_view_get_settings):
30942        * UIProcess/API/gtk/WebKitWebView.h:
30943        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
30944        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
30945        (testWebViewSettings):
30946        (beforeAll):
30947
309482011-10-31  Carlos Garcia Campos  <cgarcia@igalia.com>
30949
30950        Unreviewed. Fix make distcheck build.
30951
30952        * GNUmakefile.am: Remove docs/GNUmakefile.in from EXTRA_DIST,
30953        since its generation was removed from configure.ac in r98498.
30954
309552011-10-28  Jeff Miller  <jeffm@apple.com>
30956
30957        More work on WebKit2 should respect WebKitOmitPDFSupport preference on the Mac
30958        https://bugs.webkit.org/show_bug.cgi?id=71156
30959        
30960        Don't include PDF and PostScript types in the set of MIME types with custom representations
30961        when initializing the web process if WebKitOmitPDFSupport is set.
30962        
30963        I believe the previous patch r98513 was actually sufficient to prevent PDFs from being
30964        shown inline when this preference was set, but to be complete we should exclude the MIME
30965        types here as well.
30966
30967        Reviewed by Alexey Proskuryakov.
30968
30969        * UIProcess/mac/WebContextMac.mm:
30970        (WebKit::WebContext::platformInitializeWebProcess):
30971
309722011-10-28  John Sullivan  <sullivan@apple.com>
30973
30974        WebKit2 part of:
30975        https://bugs.webkit.org/show_bug.cgi?id=71142
30976        Whether backspace goes Back should be configurable
30977
30978        Reviewed by Sam Weinig.
30979
30980        * Shared/WebPreferencesStore.h:
30981        Declared backspaceKeyNavigationEnabled property using macro. This initializes
30982        it to true, to match current behavior.
30983        
30984        * UIProcess/API/C/WKPreferences.cpp:
30985        (WKPreferencesSetBackspaceKeyNavigationEnabled):
30986        New function, pass value to impl.
30987        (WKPreferencesGetBackspaceKeyNavigationEnabled):
30988        New function, returns result from impl.
30989        
30990        * UIProcess/API/C/WKPreferences.h:
30991        Declared API functions for new preference.
30992        
30993        * WebProcess/WebPage/WebPage.cpp:
30994        (WebKit::WebPage::updatePreferences):
30995        Updates WebCore settings from WebKit2 prefs.
30996
309972011-10-28  Timothy Hatcher  <timothy@apple.com>
30998
30999        Support using a different front-end for the Web Inspector in WebKit2.
31000
31001        rdar://problem/10318665
31002        https://webkit.org/b/71089
31003
31004        Reviewed by Sam Weinig.
31005
31006        * Shared/WebProcessCreationParameters.cpp:
31007        (WebKit::WebProcessCreationParameters::encode): Added webInspectorBasePath and webInspectorLocalizedStringsPath.
31008        (WebKit::WebProcessCreationParameters::decode): Ditto.
31009        * Shared/WebProcessCreationParameters.h:
31010        * UIProcess/API/C/WKContext.cpp:
31011        (WKContextSetOverrideWebInspectorBaseDirectory): Added. Calls through to WebContext.
31012        (WKContextSetOverrideWebInspectorPagePath): Ditto.
31013        (WKContextSetOverrideWebInspectorLocalizedStringsPath): Ditto.
31014        * UIProcess/API/C/WKContextPrivate.h:
31015        * UIProcess/WebContext.cpp:
31016        (WebKit::WebContext::ensureWebProcess): Set webInspectorBasePath and webInspectorLocalizedStringsPath.
31017        * UIProcess/WebContext.h:
31018        (WebKit::WebContext::overrideWebInspectorBaseDirectory): Added.
31019        (WebKit::WebContext::setOverrideWebInspectorBaseDirectory): Added.
31020        (WebKit::WebContext::overrideWebInspectorPagePath): Added.
31021        (WebKit::WebContext::setOverrideWebInspectorPagePath): Added.
31022        (WebKit::WebContext::setOverrideWebInspectorLocalizedStringsPath): Added.
31023        * UIProcess/mac/WebInspectorProxyMac.mm:
31024        (WebKit::WebInspectorProxy::inspectorPageURL): Use WebContext::overrideWebInspectorPagePath if set.
31025        (WebKit::WebInspectorProxy::inspectorBaseURL): Use WebContext::overrideWebInspectorBaseDirectory if set.
31026        * WebProcess/WebPage/WebInspector.h:
31027        * WebProcess/WebPage/mac/WebInspectorMac.mm:
31028        (WebKit::globalInspectorLocalizedStringsURL): Added. Static storage for the setting.
31029        (WebKit::WebInspector::setLocalizedStringsPath): Added. Set globalInspectorLocalizedStringsURL.
31030        (WebKit::WebInspector::localizedStringsURL): Return globalInspectorLocalizedStringsURL.
31031        * WebProcess/com.apple.WebProcess.sb: Added read-only subpath for WEBKIT_WEB_INSPECTOR_DIR.
31032        * WebProcess/mac/WebProcessMac.mm:
31033        (WebKit::appendReadonlySandboxDirectory): Check path for empty to prevent an exception when
31034        calling through to fileSystemRepresentation.
31035        (WebKit::initializeSandbox): Added WEBKIT_WEB_INSPECTOR_DIR parameter.
31036        (WebKit::WebProcess::platformInitializeWebProcess): Call WebInspector::setLocalizedStringsPath.
31037
310382011-10-28  Alexey Proskuryakov  <ap@apple.com>
31039
31040        Clean up BuiltInPDFView a little
31041        https://bugs.webkit.org/show_bug.cgi?id=71133
31042
31043        Reviewed by Daniel Bates.
31044
31045        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: (WebKit::BuiltInPDFView::createScrollbar):
31046        Removed an incorrect FIXME. Custom scrollbars specified in a document don't apply
31047        to subframes, and thus shouldn't apply to PDFs.
31048
31049        * WebProcess/Plugins/PDF/BuiltInPDFView.h: (WebKit::BuiltInPDFView::zoomAnimatorTransformChanged):
31050        Moved to a correct location. This is not a Plugin method, but a ScrollView one.
31051
310522011-10-28  Jochen Eisinger  <jochen@chromium.org>
31053
31054        Rename a number of methods mentioning JavaScript to just Script instead
31055        https://bugs.webkit.org/show_bug.cgi?id=71105
31056
31057        Reviewed by Adam Barth.
31058
31059        * WebProcess/WebPage/WebPage.cpp:
31060        (WebKit::WebPage::updatePreferences):
31061
310622011-10-28  Csaba Osztrogonác  <ossy@webkit.org>
31063
31064        [Qt] Adapt to QSG* to QQuick* API change in qtdeclarative
31065        https://bugs.webkit.org/show_bug.cgi?id=70494
31066
31067        One more buildfix. (unreviewed)
31068
31069        * UIProcess/API/qt/qtouchwebpage.cpp:
31070        (computeEffectiveOpacity):
31071        (QTouchWebPage::itemChange):
31072
310732011-10-28  Simon Hausmann  <simon.hausmann@nokia.com>
31074
31075        [Qt] Adapt to QSG* to QQuick* API change in qtdeclarative
31076        https://bugs.webkit.org/show_bug.cgi?id=70494
31077
31078        Reviewed by Kenneth Christiansen.
31079
31080        Use QQuick* instead of QSG* as well as QStandardPaths
31081        instead of QDesktopLocation.
31082
31083        * UIProcess/API/qt/qdesktopwebview.cpp:
31084        (QDesktopWebView::QDesktopWebView):
31085        (QDesktopWebView::geometryChanged):
31086        (QDesktopWebView::event):
31087        (QDesktopWebViewPrivate::engine):
31088        * UIProcess/API/qt/qdesktopwebview.h:
31089        * UIProcess/API/qt/qtouchwebpage.cpp:
31090        (QTouchWebPage::QTouchWebPage):
31091        (QTouchWebPage::event):
31092        (QTouchWebPage::geometryChanged):
31093        * UIProcess/API/qt/qtouchwebpage.h:
31094        * UIProcess/API/qt/qtouchwebview.cpp:
31095        (QTouchWebView::QTouchWebView):
31096        (QTouchWebView::geometryChanged):
31097        (QTouchWebView::touchEvent):
31098        * UIProcess/API/qt/qtouchwebview.h:
31099        * UIProcess/API/qt/tests/testwindow.h:
31100        (TestWindow::TestWindow):
31101        (TestWindow::resizeEvent):
31102        * UIProcess/qt/QtDesktopWebPageProxy.cpp:
31103        (QtDesktopWebPageProxy::createPopupMenuProxy):
31104        * UIProcess/qt/QtSGUpdateQueue.cpp:
31105        (WebKit::QtSGUpdateQueue::QtSGUpdateQueue):
31106        * UIProcess/qt/QtSGUpdateQueue.h:
31107        * UIProcess/qt/QtTouchViewInterface.cpp:
31108        (WebKit::QtTouchViewInterface::engine):
31109        * UIProcess/qt/QtViewportInteractionEngine.cpp:
31110        (WebKit::contentRectInViewportCoordinates):
31111        (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
31112        * UIProcess/qt/QtViewportInteractionEngine.h:
31113        * UIProcess/qt/WebContextQt.cpp:
31114        (WebKit::defaultDataLocation):
31115        * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
31116        (WebKit::WebPopupMenuProxyQtDesktop::WebPopupMenuProxyQtDesktop):
31117        * UIProcess/qt/WebPopupMenuProxyQtDesktop.h:
31118        (WebKit::WebPopupMenuProxyQtDesktop::create):
31119
311202011-10-28  Kenneth Rohde Christiansen  <kenneth@webkit.org>
31121
31122        [Qt] Make the kinetic engine use the same curve and constants as on the N9
31123        https://bugs.webkit.org/show_bug.cgi?id=71102
31124
31125        Reviewed by Simon Hausmann.
31126
31127        Now that we are using the QScroller for kinetic scrolling and page
31128        interaction, we need to make sure it uses the same curve (exponential)
31129        and the same values as the MeeGo Touch physics engine used on the N9.
31130
31131        * UIProcess/qt/QtViewportInteractionEngine.cpp:
31132        (WebKit::QtViewportInteractionEngine::reset):
31133
311342011-10-28  Carlos Garcia Campos  <cgarcia@igalia.com>
31135
31136        [GTK] Add webkit_web_view_get_uri() to WebKit2 GTK+ API
31137        https://bugs.webkit.org/show_bug.cgi?id=70814
31138
31139        Reviewed by Gustavo Noronha Silva.
31140
31141        * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
31142        (didStartProvisionalLoadForFrame): Update WebView URI to make sure
31143        it's updated to provisional URL.
31144        (didReceiveServerRedirectForProvisionalLoadForFrame): Update
31145        WebView URI if there's a server redirection.
31146        (didCommitLoadForFrame): Update WebView URI to make sure it
31147        contains the final one.
31148        (didSameDocumentNavigationForFrame): Update WebView URI when a
31149        navigation action within the same document is performed.
31150        (webkitWebLoaderClientAttachLoaderClientToPage): Add
31151        implementation for didSameDocumentNavigationForFrame callback.
31152        * UIProcess/API/gtk/WebKitWebView.cpp:
31153        (webkit_web_view_class_init): Add URI property.
31154        (webkitWebViewUpdateURI): Check whether current active URI has
31155        changed to updated it and emit ::notify signal if it changes.
31156        (webkit_web_view_load_uri): Call webkitWebViewUpdateURI() to make
31157        sure the active URI is updated when load operation is started.
31158        (webkit_web_view_load_alternate_html): Ditto.
31159        (webkit_web_view_reload): Ditto.
31160        (webkit_web_view_reload_bypass_cache): Ditto.
31161        (webkit_web_view_go_back): Ditto.
31162        (webkit_web_view_go_forward): Ditto.
31163        (webkit_web_view_get_uri): Ditto.
31164        (webkit_web_view_go_to_back_forward_list_item): Ditto.
31165        * UIProcess/API/gtk/WebKitWebView.h:
31166        * UIProcess/API/gtk/WebKitWebViewPrivate.h: Add
31167        webkitWebViewUpdateURI().
31168        * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
31169        (provisionalLoadStartedCallback): Check provisional URL is the
31170        requested URI.
31171        (provisionalLoadReceivedServerRedirectCallback): Check provisional
31172        URL after server redirection is the expected redirected URI.
31173        (provisionalLoadFailedCallback): Check active URI.
31174        (loadCommittedCallback): Ditto.
31175        (loadFinishedCallback): Ditto.
31176        (loadFailedCallback): Ditto
31177        (LoadTrackingTest::LoadTrackingTest): Check active URI is NULL
31178        before any loading operation has started.
31179        * UIProcess/API/gtk/tests/LoadTrackingTest.h:
31180        (LoadTrackingTest::setRedirectURI): Set the redirect URI to check
31181        it after a server redirection.
31182        * UIProcess/API/gtk/tests/TestBackForwardList.cpp:
31183        (testBackForwardListNavigation): Use WebViewTest methods for
31184        navigation actions instead of using WebKitWebView API directly.
31185        (testBackForwardListLimitAndCache): Ditto.
31186        * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
31187        (testLoadingStatus): Ditto.
31188        (testLoadingError): Ditto.
31189        (testLoadAlternateContent): Ditto.
31190        (testLoadCancelled): Ditto.
31191        (testWebViewReload): Ditto.
31192        (testLoadProgress): Ditto.
31193        (testWebViewActiveURI): Add a test to check that notify signal is
31194        emitted when active URI changes and it's correctly updated when
31195        loader client signals are emitted.
31196        (beforeAll): Add active-uri test.
31197        * UIProcess/API/gtk/tests/WebViewTest.cpp: Add custom load methods
31198        wrapping the WebKitWebView ones, to initialize the active URI to
31199        the requested one, so that it can be checked by the loader client
31200        test.
31201        (WebViewTest::loadURI):
31202        (WebViewTest::loadAlternateHTML):
31203        (WebViewTest::goBack):
31204        (WebViewTest::goForward):
31205        (WebViewTest::goToBackForwardListItem):
31206        * UIProcess/API/gtk/tests/WebViewTest.h:
31207
312082011-10-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
31209
31210        [Qt][WK2] Synchronize tiling with accelerated compositing
31211        https://bugs.webkit.org/show_bug.cgi?id=69151
31212
31213        Reviewed by Simon Hausmann.
31214
31215        Make QTouchWebView always render with accelerated compositing.
31216        At first, the web content would only render after the rest of the scene has rendered. In a
31217        future patch we'll enable rendering the web content via an FBO, which would cover all other
31218        cases as well.
31219
31220        Right now this only works for QTouchWebView, and thus accelerated compositing is disabled
31221        for desktop web-views. This required adding some settings enablers in Q
31222        WebPreferencesPrivate. Those are not exposed to the public API, as they are an implementation
31223        detail.
31224
31225        * UIProcess/API/qt/qtouchwebpage.cpp:
31226        (QTouchWebPage::QTouchWebPage):
31227        (QTouchWebPage::initSceneGraphConnections):
31228        (QTouchWebPagePrivate::QTouchWebPagePrivate):
31229        (QTouchWebPagePrivate::setPage):
31230        (computeEffectiveOpacity):
31231        (QTouchWebPagePrivate::paintToCurrentGLContext):
31232        (QTouchWebPagePrivate::_q_onAfterSceneRender):
31233        (QTouchWebPagePrivate::_q_onSceneGraphInitialized):
31234        (QTouchWebPage::itemChange):
31235        * UIProcess/API/qt/qtouchwebpage.h:
31236        * UIProcess/API/qt/qtouchwebpage_p.h:
31237        * UIProcess/API/qt/qwebpreferences.cpp:
31238        (QWebPreferencesPrivate::testAttribute):
31239        (QWebPreferencesPrivate::setAttribute):
31240        (QWebPreferencesPrivate::get):
31241        * UIProcess/API/qt/qwebpreferences_p.h:
31242        * UIProcess/TiledDrawingAreaProxy.cpp:
31243        (WebKit::TiledDrawingAreaProxy::renderNextFrame):
31244        * UIProcess/qt/QtDesktopWebPageProxy.cpp:
31245        (QtDesktopWebPageProxy::QtDesktopWebPageProxy):
31246        * UIProcess/qt/QtTouchViewInterface.cpp:
31247        (WebKit::QtTouchViewInterface::setViewNeedsDisplay):
31248        * UIProcess/qt/QtTouchWebPageProxy.cpp:
31249        (QtTouchWebPageProxy::QtTouchWebPageProxy):
31250        (QtTouchWebPageProxy::createDrawingAreaProxy):
31251        (QtTouchWebPageProxy::renderToCurrentGLContext):
31252        (QtTouchWebPageProxy::setVisibleContentRectAndScale):
31253        (QtTouchWebPageProxy::setVisibleContentRectTrajectoryVector):
31254        (QtTouchWebPageProxy::renderNextFrame):
31255        * UIProcess/qt/QtTouchWebPageProxy.h:
31256        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
31257        (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
31258        * WebProcess/WebPage/qt/WebPageQt.cpp:
31259        (WebKit::WebPage::platformInitialize):
31260        * WebProcess/qt/WebProcessMainQt.cpp:
31261        (WebKit::WebProcessMainQt):
31262
312632011-10-27  Martin Robinson  <mrobinson@igalia.com>
31264
31265        Fix the GTK+ build after r98664.
31266
31267        * WebProcess/Plugins/Plugin.h: Add an IntSize forward declaration.
31268
312692011-10-27  Anders Carlsson  <andersca@apple.com>
31270
31271        Add a Plugin::geometryDidChange that will work with transforms
31272        https://bugs.webkit.org/show_bug.cgi?id=71072
31273
31274        Reviewed by Simon Fraser.
31275
31276        Add a new Plugin::geometryDidChange pure virtual member function, that takes
31277        the size of the plug-in, the clip rect (in plug-in coordinates), and a matrix that makes
31278        it possible to convert between root view coordinates and plug-in coordinates.
31279
31280        PluginView only calls this new geometryDidChange member function if 
31281        Plugin::wantsWindowRelativeCoordinates returns false, which is only true for BuiltInPDFView right now.
31282
31283        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
31284        (WebKit::NetscapePlugin::geometryDidChange):
31285        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
31286        Add stub.
31287
31288        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
31289        (WebKit::BuiltInPDFView::updateScrollbars):
31290        (WebKit::BuiltInPDFView::pdfDocumentDidLoad):
31291        (WebKit::BuiltInPDFView::paintContent):
31292        (WebKit::BuiltInPDFView::deprecatedGeometryDidChange):
31293        (WebKit::BuiltInPDFView::geometryDidChange):
31294        (WebKit::BuiltInPDFView::setScrollOffset):
31295        (WebKit::BuiltInPDFView::maximumScrollPosition):
31296        (WebKit::BuiltInPDFView::visibleHeight):
31297        (WebKit::BuiltInPDFView::visibleWidth):
31298        * WebProcess/Plugins/PDF/BuiltInPDFView.h:
31299        There's no need to keep track of the plug-in rect anymore.
31300
31301        * WebProcess/Plugins/Plugin.h:
31302        Add and document geometryDidChange.
31303
31304        * WebProcess/Plugins/PluginProxy.cpp:
31305        (WebKit::PluginProxy::geometryDidChange):
31306        * WebProcess/Plugins/PluginProxy.h:
31307        Add stub.
31308
31309        * WebProcess/Plugins/PluginView.cpp:
31310        (WebKit::PluginView::viewGeometryDidChange):
31311        Call geometryDidChange.
31312
313132011-10-27  Joseph Pecoraro  <pecoraro@apple.com>
31314
31315        Reviewed by David Kilzer.
31316
31317        Make FeatureDefines Identical Across OS X Projects
31318        https://bugs.webkit.org/show_bug.cgi?id=71051
31319
31320        * Configurations/FeatureDefines.xcconfig:
31321
313222011-10-27  Anders Carlsson  <andersca@apple.com>
31323
31324        Rename Plugin::geometryDidChange to Plugin::deprecatedGeometryDidChange
31325        https://bugs.webkit.org/show_bug.cgi?id=71065
31326
31327        Reviewed by Simon Fraser.
31328
31329        In preparation for adding a version of geometryDidChange that doesn't take window coordinates.
31330
31331        * PluginProcess/PluginControllerProxy.cpp:
31332        (WebKit::PluginControllerProxy::geometryDidChange):
31333        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
31334        (WebKit::NetscapePlugin::deprecatedGeometryDidChange):
31335        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
31336        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
31337        (WebKit::BuiltInPDFView::deprecatedGeometryDidChange):
31338        * WebProcess/Plugins/PDF/BuiltInPDFView.h:
31339        * WebProcess/Plugins/Plugin.h:
31340        * WebProcess/Plugins/PluginProxy.cpp:
31341        (WebKit::PluginProxy::deprecatedGeometryDidChange):
31342        * WebProcess/Plugins/PluginProxy.h:
31343        * WebProcess/Plugins/PluginView.cpp:
31344        (WebKit::PluginView::viewGeometryDidChange):
31345
313462011-10-27  Michael Saboff  <msaboff@apple.com>
31347
31348        Investigate storing strings in 8-bit buffers when possible
31349        https://bugs.webkit.org/show_bug.cgi?id=66161
31350
31351        Added export of StringImpl::getData16SlowCase for linking tests.
31352
31353        Reviewed by Geoffrey Garen.
31354
31355        * win/WebKit2.def:
31356
313572011-10-27  Sam Weinig  <sam@webkit.org>
31358
31359        Add allowsPlugIns property to WKBrowsingContextGroup
31360        https://bugs.webkit.org/show_bug.cgi?id=70987
31361
31362        Reviewed by Anders Carlsson.
31363
31364        Test: WKBrowsingContextGroupTest.GetSetPluginsEnabled
31365
31366        * UIProcess/API/mac/WKBrowsingContextGroup.h:
31367        * UIProcess/API/mac/WKBrowsingContextGroup.mm:
31368        (-[WKBrowsingContextGroup allowsJavaScript]):
31369        (-[WKBrowsingContextGroup setAllowsJavaScript:]):
31370        Rename to allowsJavaScript/setAllowsJavaScript.
31371
31372        (-[WKBrowsingContextGroup allowsPlugIns]):
31373        (-[WKBrowsingContextGroup setAllowsPlugIns:]):
31374        Add allowsPlugIns/setAllowsPlugIns.
31375
313762011-10-27  Carlos Garcia Campos  <cgarcia@igalia.com>
31377
31378        [Cairo] Implement ShareableBitmap::paint() when scaleFactor=1
31379        https://bugs.webkit.org/show_bug.cgi?id=71027
31380
31381        Reviewed by Martin Robinson.
31382
31383        Fixes windowless plugins in GTK+ port.
31384
31385        * Shared/cairo/ShareableBitmapCairo.cpp:
31386        (WebKit::ShareableBitmap::paint): When scaleFactor is 1, simply
31387        call the paint method that doesn't receive a scaleFactor.
31388
313892011-10-27  Sheriff Bot  <webkit.review.bot@gmail.com>
31390
31391        Unreviewed, rolling out r98556.
31392        http://trac.webkit.org/changeset/98556
31393        https://bugs.webkit.org/show_bug.cgi?id=71031
31394
31395        The test added by the patch doesn't pass on Snow Leopard
31396        (Requested by rniwa on #webkit).
31397
31398        * win/WebKit2.def:
31399        * win/WebKit2CFLite.def:
31400
314012011-10-27  Mark Hahnenberg  <mhahnenberg@apple.com>
31402
31403        De-virtualize JSCell::toThisObject
31404        https://bugs.webkit.org/show_bug.cgi?id=70958
31405
31406        Reviewed by Geoffrey Garen.
31407
31408        Converted all instances of toThisObject to static functions, 
31409        added toThisObject to the MethodTable, and replaced all call sites
31410        with a corresponding lookup in the MethodTable.
31411
31412        * WebProcess/Plugins/Netscape/NPJSObject.cpp:
31413        (WebKit::NPJSObject::invoke):
31414
314152011-10-27  Adam Roben  <aroben@apple.com>
31416
31417        Add WKBundlePageGetBackingScaleFactor
31418
31419        Fixes <http://webkit.org/b/71025> <rdar://problem/10355037> REGRESSION (r97191): Clients
31420        can't reliably determine the scale factor of snapshots returned via
31421        WKBundlePageCreateSnapshot* API
31422
31423        Reviewed by Sam Weinig.
31424
31425        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
31426        (WKBundlePageGetBackingScaleFactor):
31427        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
31428        Added. Calls through to WebPage::deviceScaleFactor.
31429
31430        * WebProcess/WebPage/WebPage.cpp:
31431        (WebKit::WebPage::deviceScaleFactor):
31432        * WebProcess/WebPage/WebPage.h:
31433        Added. Calls through to Page::deviceScaleFactor.
31434
314352011-10-27  Zalan Bujtas  <zbujtas@gmail.com>
31436
31437        [Qt][WK2]Add setViewportSize API to WebKit2.
31438        https://bugs.webkit.org/show_bug.cgi?id=71006
31439
31440        Reviewed by Kenneth Rohde Christiansen.
31441
31442        Fixed layout rendering needs the viewport size information on the WebProcess
31443        side to be able to do viewport attribute calculations.
31444
31445        * WebProcess/WebPage/WebPage.cpp:
31446        (WebKit::WebPage::setViewportSize):
31447        * WebProcess/WebPage/WebPage.h:
31448        (WebKit::WebPage::viewportSize):
31449        * WebProcess/WebPage/WebPage.messages.in:
31450
314512011-10-27  Alexis Menard  <alexis.menard@openbossa.org>
31452
31453        [Qt][WK2] Move the C API callback setup out of QtWebPageProxy
31454        https://bugs.webkit.org/show_bug.cgi?id=70965
31455
31456        Reviewed by Andreas Kling.
31457
31458        Move out the setup of C API callback into ClientImpl file
31459        so that QtWebPageProxy will be less polluted.
31460
31461        * UIProcess/qt/ClientImpl.cpp:
31462        (qt_wk_didStartProvisionalLoadForFrame):
31463        (qt_wk_didFailProvisionalLoadWithErrorForFrame):
31464        (qt_wk_didCommitLoadForFrame):
31465        (qt_wk_didFinishLoadForFrame):
31466        (qt_wk_didFailLoadWithErrorForFrame):
31467        (qt_wk_didSameDocumentNavigationForFrame):
31468        (qt_wk_didReceiveTitleForFrame):
31469        (qt_wk_didStartProgress):
31470        (qt_wk_didChangeProgress):
31471        (qt_wk_didFinishProgress):
31472        (qt_wk_runJavaScriptAlert):
31473        (qt_wk_runJavaScriptConfirm):
31474        (qt_wk_runJavaScriptPrompt):
31475        (qt_wk_setStatusText):
31476        (qt_wk_runOpenPanel):
31477        (qt_wk_mouseDidMoveOverElement):
31478        (qt_wk_decidePolicyForNavigationAction):
31479        (qt_wk_decidePolicyForResponse):
31480        (setupPageLoaderClient):
31481        (setupPageUiClient):
31482        (setupPagePolicyClient):
31483        * UIProcess/qt/ClientImpl.h:
31484        * UIProcess/qt/QtWebPageProxy.cpp:
31485        (QtWebPageProxy::init):
31486        * UIProcess/qt/QtWebPageProxy.h:
31487        (QtWebPageProxy::viewInterface):
31488
314892011-10-27  Zeno Albisser  <zeno.albisser@nokia.com>
31490
31491        [Qt][WK2] Remove QAction from MiniBrowser
31492        https://bugs.webkit.org/show_bug.cgi?id=70525
31493
31494        This fixes the commonview tests that were failing
31495        after r98447.
31496        WebViewAbstraction must forward actions to both
31497        the TouchWebView and the DesktopWebView.
31498
31499        Reviewed by Kenneth Rohde Christiansen.
31500
31501        * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
31502        (WebViewAbstraction::goBack):
31503        (WebViewAbstraction::goForward):
31504        (WebViewAbstraction::stop):
31505        (WebViewAbstraction::reload):
31506
315072011-10-27  Zalan Bujtas  <zbujtas@gmail.com>
31508
31509        [Qt][WK2]Content size changed event does not require viewport attribute calculation.
31510        https://bugs.webkit.org/show_bug.cgi?id=70920
31511
31512        Reviewed by Kenneth Rohde Christiansen.
31513        
31514        Remove unnecessary recalculation of viewport attributes.
31515
31516        * UIProcess/qt/QtTouchViewInterface.cpp:
31517        (WebKit::QtTouchViewInterface::contentSizeChanged):
31518
315192011-10-27  Shinya Kawanaka  <shinyak@google.com>
31520
31521        Implement legacy text check emulation in unified text check interface.
31522        https://bugs.webkit.org/show_bug.cgi?id=70299
31523
31524        Reviewed by Hajime Morita.
31525
31526        * win/WebKit2.def:
31527        * win/WebKit2CFLite.def:
31528
315292011-10-27  Philippe Normand  <pnormand@igalia.com>
31530
31531        [GStreamer] WebAudio AudioFileReader implementation
31532        https://bugs.webkit.org/show_bug.cgi?id=69834
31533
31534        Reviewed by Martin Robinson.
31535
31536        * GNUmakefile.am: Link against libfftw.
31537
315382011-10-26  Alexey Proskuryakov  <ap@apple.com>
31539
31540        REGRESSION (r98153): Safari crashes if WebProcess crashed during printing
31541        https://bugs.webkit.org/show_bug.cgi?id=70982
31542
31543        Reviewed by Dan Bernstein.
31544
31545        * UIProcess/API/mac/WKPrintingView.mm: (-[WKPrintingView _delayedResumeAutodisplayTimerFired]):
31546        Null check page, it may be invalid already.
31547
315482011-10-26  Jeff Miller  <jeffm@apple.com>
31549
31550        WebKit2 should respect secret WebKitOmitPDFSupport preference on the Mac
31551        https://bugs.webkit.org/show_bug.cgi?id=70943
31552        
31553        If WebKitOmitPDFSupport pref is set, disable both the new "plug-in" for subframes and the PDFKit-based support for the main frame only.
31554
31555        Reviewed by Alexey Proskuryakov.
31556
31557        * UIProcess/WebContext.cpp:
31558        (WebKit::WebContext::getPlugins): Don't register built-in PDF plugin if WebKitOmitPDFSupport pref is set.
31559        
31560        * UIProcess/WebContext.h: Added omitPDFSupport().
31561        
31562        * UIProcess/WebFrameProxy.cpp:
31563        (WebKit::WebFrameProxy::canShowMIMEType): Don't show PDFs if WebKitOmitPDFSupport is set.
31564        
31565        * UIProcess/mac/WebContextMac.mm:
31566        (WebKit::WebContext::omitPDFSupport): Added.
31567
315682011-10-26  Sam Weinig  <sam@webkit.org>
31569
31570        Add initial setting to WKBrowsingContextGroup
31571        https://bugs.webkit.org/show_bug.cgi?id=70942
31572
31573        Reviewed by Anders Carlsson.
31574
31575        Test: WKBrowsingContextGroupTest.
31576
31577        * UIProcess/API/mac/WKBrowsingContextGroup.h:
31578        * UIProcess/API/mac/WKBrowsingContextGroup.mm:
31579        (-[WKBrowsingContextGroup isJavaScriptEnabled]):
31580        (-[WKBrowsingContextGroup setJavaScriptEnabled:]):
31581        Add setting to enabled/disable javascript. By default it is enabled. 
31582
315832011-10-25  Alexey Proskuryakov  <ap@apple.com>
31584
31585        Embedded PDFs should be known to DocumentLoader
31586        https://bugs.webkit.org/show_bug.cgi?id=70864
31587
31588        Reviewed by Darin Adler.
31589
31590        * WebProcess/Plugins/Plugin.h: Plugin stream load notifications now contain a suggested
31591        file name, in case the plug-in wants to save the file properly.
31592
31593        * WebProcess/Plugins/PDF/BuiltInPDFView.h:
31594        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
31595        (WebKit::BuiltInPDFView::addArchiveResource): Add the PDF as resource in DocumentLoader.
31596        (WebKit::BuiltInPDFView::pdfDocumentDidLoad): Call addArchiveResource.
31597        (WebKit::BuiltInPDFView::initialize): We need to remember source URL to create a resource
31598        for that. The URL needs to match one in HitTestResult, so we can't use response URL.
31599        (WebKit::BuiltInPDFView::streamDidReceiveResponse): Remember suggested file name, so
31600        that we could put it in archive resource later.
31601        (WebKit::BuiltInPDFView::manualStreamDidReceiveResponse): Ditto.
31602
31603        * PluginProcess/PluginControllerProxy.cpp:
31604        (WebKit::PluginControllerProxy::streamDidReceiveResponse):
31605        (WebKit::PluginControllerProxy::manualStreamDidReceiveResponse):
31606        Pass an empty string for suggested file name. No plug-in that runs in a separate process
31607        cares about it, so it's not sent to the plugin process.
31608
31609        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
31610        (WebKit::NetscapePlugin::streamDidReceiveResponse):
31611        (WebKit::NetscapePlugin::manualStreamDidReceiveResponse):
31612        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
31613        Updated for new signatures.
31614
31615        * WebProcess/Plugins/PluginProxy.cpp:
31616        (WebKit::PluginProxy::streamDidReceiveResponse):
31617        (WebKit::PluginProxy::manualStreamDidReceiveResponse):
31618        * WebProcess/Plugins/PluginProxy.h:
31619        Updated for new signatures.
31620
31621        * WebProcess/Plugins/PluginView.cpp:
31622        (WebKit::PluginView::Stream::didReceiveResponse):
31623        (WebKit::PluginView::manualLoadDidReceiveResponse):
31624        Pass suggested file name to plug-in, in case the plug-in wants to save the file properly.
31625
316262011-10-26  Mark Hahnenberg  <mhahnenberg@apple.com>
31627
31628        Remove getOwnPropertySlotVirtual
31629        https://bugs.webkit.org/show_bug.cgi?id=70741
31630
31631        Reviewed by Geoffrey Garen.
31632
31633        Removed all declarations and definitions of getOwnPropertySlotVirtual.
31634        Also replaced all call sites to getOwnPropertyVirtualVirtual with a 
31635        corresponding lookup in the MethodTable.
31636
31637        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
31638        * WebProcess/Plugins/Netscape/JSNPObject.h:
31639
316402011-10-26  Alejandro G. Castro  <alex@igalia.com>
31641
31642        [GTK] [WK2] Add WebKit2 distcheck support
31643        https://bugs.webkit.org/show_bug.cgi?id=70933
31644
31645        Reviewed by Martin Robinson.
31646
31647        * GNUmakefile.am: Add a bunch of missing files from API and
31648        sources, also include more files in the EXTRA_DIST.
31649        * UIProcess/API/gtk/docs/GNUmakefile.am: Add the version.xml to
31650        the cleaning section.
31651
316522011-10-26  Carlos Garcia Campos  <cgarcia@igalia.com>
31653
31654        [GTK] Fix gtk-doc warnings and style issues in WebKit2 GTK+ API
31655        https://bugs.webkit.org/show_bug.cgi?id=70930
31656
31657        Reviewed by Martin Robinson.
31658
31659        * UIProcess/API/gtk/WebKitBackForwardListItem.cpp:
31660        * UIProcess/API/gtk/WebKitSettings.cpp:
31661        (webkit_settings_class_init):
31662        * UIProcess/API/gtk/WebKitWebView.h:
31663        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
31664
316652011-10-26  Anders Carlsson  <andersca@apple.com>
31666
31667        Use the right contents scale factor for non-Mac plug-ins
31668        https://bugs.webkit.org/show_bug.cgi?id=70939
31669
31670        Reviewed by Adam Roben.
31671
31672        * WebProcess/Plugins/PluginProxy.cpp:
31673        (WebKit::PluginProxy::paint):
31674        (WebKit::PluginProxy::geometryDidChange):
31675        (WebKit::PluginProxy::update):
31676
316772011-10-26  Carlos Garcia Campos  <cgarcia@igalia.com>
31678
31679        [GTK] Add missing symbols to WebKit2 gtk-doc files
31680        https://bugs.webkit.org/show_bug.cgi?id=70927
31681
31682        Reviewed by Martin Robinson.
31683
31684        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add sections for
31685        WebKitBackForwardList, WebKitBackForwardListItem and WebKitSettings.
31686        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add missing symbols.
31687        * UIProcess/API/gtk/docs/webkit2gtk.types: Add missing types.
31688
316892011-10-26  Carlos Garcia Campos  <cgarcia@igalia.com>
31690
31691        [GTK] Inconsistent name of WebKitSettings macros
31692        https://bugs.webkit.org/show_bug.cgi?id=70924
31693
31694        Reviewed by Martin Robinson.
31695
31696        Rename WEBKIT_TYPE_WEB_SETTINGS as WEBKIT_TYPE_SETTINGS and
31697        WEBKIT_IS_WEB_SETTINGS as WEBKIT_IS_SETTINGS.
31698
31699        * UIProcess/API/gtk/WebKitSettings.cpp:
31700        (webkit_settings_init):
31701        (webkit_settings_new):
31702        (webkit_settings_get_enable_javascript):
31703        (webkit_settings_set_enable_javascript):
31704        (webkit_settings_get_auto_load_images):
31705        (webkit_settings_set_auto_load_images):
31706        (webkit_settings_get_load_icons_ignoring_image_load_setting):
31707        (webkit_settings_set_load_icons_ignoring_image_load_setting):
31708        (webkit_settings_get_enable_offline_web_application_cache):
31709        (webkit_settings_set_enable_offline_web_application_cache):
31710        (webkit_settings_get_enable_html5_local_storage):
31711        (webkit_settings_set_enable_html5_local_storage):
31712        (webkit_settings_get_enable_html5_database):
31713        (webkit_settings_set_enable_html5_database):
31714        (webkit_settings_get_enable_xss_auditor):
31715        (webkit_settings_set_enable_xss_auditor):
31716        (webkit_settings_get_enable_frame_flattening):
31717        (webkit_settings_set_enable_frame_flattening):
31718        (webkit_settings_get_enable_plugins):
31719        (webkit_settings_set_enable_plugins):
31720        (webkit_settings_get_enable_java):
31721        (webkit_settings_set_enable_java):
31722        (webkit_settings_get_javascript_can_open_windows_automatically):
31723        (webkit_settings_set_javascript_can_open_windows_automatically):
31724        (webkit_settings_get_enable_hyperlink_auditing):
31725        (webkit_settings_set_enable_hyperlink_auditing):
31726        * UIProcess/API/gtk/WebKitSettings.h:
31727
317282011-10-26  Andras Becsi  <andras.becsi@nokia.com>
31729
31730        [Qt][WK2] Rename clean-up of QtPinchGestureRecognizer and QtViewportInteractionEngine
31731        https://bugs.webkit.org/show_bug.cgi?id=70903
31732
31733        Reviewed by Kenneth Rohde Christiansen.
31734
31735        Rename computeTouchCenter to computePinchCenter,
31736        and use the plural form of coordinate where appropriate.
31737
31738        * UIProcess/API/qt/qtouchwebview.cpp:
31739        (QTouchWebViewPrivate::_q_viewportUpdated):
31740        * UIProcess/qt/QtPinchGestureRecognizer.cpp:
31741        (WebKit::computePinchCenter):
31742        (WebKit::QtPinchGestureRecognizer::recognize):
31743        * UIProcess/qt/QtViewportInteractionEngine.cpp:
31744        (WebKit::contentRectInViewportCoordinates):
31745        (WebKit::QtViewportInteractionEngine::event):
31746        (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
31747        (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
31748        (WebKit::QtViewportInteractionEngine::scaleContent):
31749        * UIProcess/qt/QtViewportInteractionEngine.h:
31750
317512011-10-26  Zalan Bujtas  <zbujtas@gmail.com>
31752
31753        Name viewport change event consistently.
31754        https://bugs.webkit.org/show_bug.cgi?id=70901
31755
31756        Reviewed by Kenneth Rohde Christiansen.
31757
31758        Use ViewportPropertiesDidChange term consistently throughout WebKit.
31759
31760        * UIProcess/API/efl/PageClientImpl.cpp:
31761        (WebKit::PageClientImpl::didChangeViewportProperties):
31762        * UIProcess/API/efl/PageClientImpl.h:
31763        * UIProcess/API/gtk/PageClientImpl.cpp:
31764        (WebKit::PageClientImpl::didChangeViewportProperties):
31765        * UIProcess/API/gtk/PageClientImpl.h:
31766        * UIProcess/API/mac/PageClientImpl.h:
31767        * UIProcess/API/mac/PageClientImpl.mm:
31768        (WebKit::PageClientImpl::didChangeViewportProperties):
31769        * UIProcess/API/qt/qdesktopwebview.cpp:
31770        (QDesktopWebViewPrivate::didChangeViewportProperties):
31771        * UIProcess/API/qt/qdesktopwebview_p.h:
31772        * UIProcess/API/qt/qtouchwebview.cpp:
31773        (QTouchWebViewPrivate::didChangeViewportProperties):
31774        * UIProcess/API/qt/qtouchwebview_p.h:
31775        * UIProcess/PageClient.h:
31776        * UIProcess/WebPageProxy.cpp:
31777        (WebKit::WebPageProxy::didChangeViewportProperties):
31778        * UIProcess/WebPageProxy.h:
31779        * UIProcess/WebPageProxy.messages.in:
31780        * UIProcess/qt/QtDesktopWebPageProxy.cpp:
31781        (QtDesktopWebPageProxy::didChangeViewportProperties):
31782        * UIProcess/qt/QtDesktopWebPageProxy.h:
31783        * UIProcess/qt/QtTouchViewInterface.cpp:
31784        (WebKit::QtTouchViewInterface::didChangeViewportProperties):
31785        * UIProcess/qt/QtTouchViewInterface.h:
31786        * UIProcess/qt/QtViewInterface.h:
31787        * UIProcess/qt/QtWebPageProxy.cpp:
31788        (QtWebPageProxy::didChangeViewportProperties):
31789        * UIProcess/qt/QtWebPageProxy.h:
31790        * UIProcess/win/WebView.cpp:
31791        (WebKit::WebView::didChangeViewportProperties):
31792        * UIProcess/win/WebView.h:
31793        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
31794        (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
31795        * WebProcess/WebCoreSupport/WebChromeClient.h:
31796
317972011-10-26  Carlos Garcia Campos  <cgarcia@igalia.com>
31798
31799        [GTK] Remove g_thread_init() calls from gtk-doc scanner too
31800        https://bugs.webkit.org/show_bug.cgi?id=70908
31801
31802        Reviewed by Gustavo Noronha Silva.
31803
31804        * UIProcess/API/gtk/docs/GNUmakefile.am:
31805
318062011-10-25  Andras Becsi  <andras.becsi@nokia.com>
31807
31808        [Qt][WK2] Add the animations on the ViewportInteractionEngine
31809        https://bugs.webkit.org/show_bug.cgi?id=66664
31810
31811        Reviewed by Kenneth Rohde Christiansen.
31812
31813        Introduce a QScroller based panning and a QVariantAnimation based scale animation.
31814        QScroller also handles flick gestures and animates overshoot.
31815        If a pinch gesture ends, the scale animation will scale and reposition the content
31816        such that it is within valid boundaries. The content is by default animated such
31817        that the content position as seen in the center of the visible viewport stays
31818        in the center, unless the content would be out of valid bounds.
31819        The patch also simplifies the ViewportUpdateGuard by using reference counting
31820        instead of a boolean for defering update requests.
31821
31822        * UIProcess/qt/QtPanGestureRecognizer.cpp:
31823        (WebKit::QtPanGestureRecognizer::recognize):
31824        * UIProcess/qt/QtPanGestureRecognizer.h:
31825        * UIProcess/qt/QtPinchGestureRecognizer.cpp:
31826        (WebKit::QtPinchGestureRecognizer::recognize):
31827        * UIProcess/qt/QtTouchWebPageProxy.cpp:
31828        (QtTouchWebPageProxy::doneWithTouchEvent):
31829        * UIProcess/qt/QtViewportInteractionEngine.cpp:
31830        (WebKit::bindToScaleLimits):
31831        (WebKit::ViewportUpdateGuard::ViewportUpdateGuard):
31832        (WebKit::ViewportUpdateGuard::~ViewportUpdateGuard):
31833        (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
31834        (WebKit::QtViewportInteractionEngine::innerBoundedScale):
31835        (WebKit::QtViewportInteractionEngine::outerBoundedScale):
31836        (WebKit::QtViewportInteractionEngine::updateVisibleRect):
31837        (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
31838        (WebKit::QtViewportInteractionEngine::event):
31839        (WebKit::QtViewportInteractionEngine::stopAnimations):
31840        (WebKit::QtViewportInteractionEngine::calculateBoundariesForScale):
31841        (WebKit::QtViewportInteractionEngine::animateContentIntoBoundariesIfNeeded):
31842        (WebKit::QtViewportInteractionEngine::reset):
31843        (WebKit::QtViewportInteractionEngine::setConstraints):
31844        (WebKit::QtViewportInteractionEngine::panGestureStarted):
31845        (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
31846        (WebKit::QtViewportInteractionEngine::panGestureCancelled):
31847        (WebKit::QtViewportInteractionEngine::panGestureEnded):
31848        (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
31849        (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
31850        (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
31851        (WebKit::QtViewportInteractionEngine::contentViewportChanged):
31852        * UIProcess/qt/QtViewportInteractionEngine.h:
31853        (WebKit::QtViewportInteractionEngine::scroller):
31854        (WebKit::QtViewportInteractionEngine::ScaleAnimation::ScaleAnimation):
31855        (WebKit::QtViewportInteractionEngine::ScaleAnimation::updateCurrentValue):
31856
318572011-10-26  Zeno Albisser  <zeno.albisser@nokia.com>
31858
31859        [Qt][WK2] Rewrite MiniBrowser in QML
31860        https://bugs.webkit.org/show_bug.cgi?id=70315
31861
31862        Add the first QML based implementation of MiniBrowser.
31863
31864        Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com>,
31865                 Zeno Albisser <zeno.albisser@nokia.com>
31866
31867        Reviewed by Tor Arne Vestbø.
31868
31869        * UIProcess/API/qt/qdesktopwebview.cpp:
31870        (QDesktopWebView::mousePressEvent):
31871
31872 2011-10-20  Zeno Albisser  <zeno.albisser@nokia.com>
31873
31874        [Qt][WK2] Disable Context Menus until we have a proper QML implementation
31875        https://bugs.webkit.org/show_bug.cgi?id=70537
31876
31877        This is just a temporary fix to avoid crashes in QtGui based
31878        MiniBrowser that does not link to QtWidgets.
31879
31880        Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com>,
31881                 Zeno Albisser <zeno.albisser@nokia.com>
31882
31883        Reviewed by Simon Hausmann.
31884
31885        * UIProcess/qt/WebContextMenuProxyQt.cpp:
31886        (WebKit::WebContextMenuProxyQt::showContextMenu):
31887        (WebKit::WebContextMenuProxyQt::createContextMenu):
31888
318892011-10-25  Zeno Albisser  <zeno.albisser@nokia.com>
31890
31891        [Qt][WK2] Remove QAction from MiniBrowser
31892        https://bugs.webkit.org/show_bug.cgi?id=70525
31893
31894        In order to rewrite MiniBrowser in QML we need a suitable
31895        mechanism for triggering navigation actions.
31896        Due to the QtWidgets dependency of QAction the current
31897        solution is not suitable anymore. Therefore we introduce
31898        invokable methods and export properties in QWebNavigationController.
31899
31900        Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com>,
31901                 Zeno Albisser <zeno.albisser@nokia.com>
31902
31903        Reviewed by Simon Hausmann.
31904
31905        * UIProcess/API/qt/WKView.h:
31906        * UIProcess/API/qt/qdesktopwebview.h:
31907        * UIProcess/API/qt/qtouchwebpage.h:
31908        * UIProcess/API/qt/qwebkittypes.h: Removed.
31909        * UIProcess/API/qt/qwebnavigationcontroller.cpp:
31910        (QWebNavigationController::QWebNavigationController):
31911        (QWebNavigationController::canGoBack):
31912        (QWebNavigationController::canGoForward):
31913        (QWebNavigationController::canStop):
31914        (QWebNavigationController::canReload):
31915        (QWebNavigationController::goBack):
31916        (QWebNavigationController::goForward):
31917        (QWebNavigationController::stop):
31918        (QWebNavigationController::reload):
31919        * UIProcess/API/qt/qwebnavigationcontroller.h:
31920        * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
31921        (tst_CommonViewTests::backAndForward):
31922        (tst_CommonViewTests::reload):
31923        (tst_CommonViewTests::stop):
31924        * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
31925        (WebViewAbstraction::goBack):
31926        (WebViewAbstraction::goForward):
31927        (WebViewAbstraction::stop):
31928        (WebViewAbstraction::reload):
31929        * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
31930        * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp:
31931        (tst_QDesktopWebView::navigationStatusAtStartup):
31932        (LoadStartedCatcher::onLoadStarted):
31933        (tst_QDesktopWebView::stopEnabledAfterLoadStarted):
31934        * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp:
31935        (tst_QTouchWebView::navigationStatusAtStartup):
31936        * UIProcess/qt/ClientImpl.cpp:
31937        (dispatchLoadSucceeded):
31938        (dispatchLoadFailed):
31939        (qt_wk_didStartProvisionalLoadForFrame):
31940        (qt_wk_didCommitLoadForFrame):
31941        (qt_wk_didSameDocumentNavigationForFrame):
31942        * UIProcess/qt/QtWebPageProxy.cpp:
31943        (QtWebPageProxy::QtWebPageProxy):
31944        (QtWebPageProxy::canGoBack):
31945        (QtWebPageProxy::goBack):
31946        (QtWebPageProxy::canGoForward):
31947        (QtWebPageProxy::goForward):
31948        (QtWebPageProxy::canStop):
31949        (QtWebPageProxy::stop):
31950        (QtWebPageProxy::canReload):
31951        (QtWebPageProxy::reload):
31952        (QtWebPageProxy::navigationStateChanged):
31953        (QtWebPageProxy::didRelaunchProcess):
31954        (QtWebPageProxy::processDidCrash):
31955        * UIProcess/qt/QtWebPageProxy.h:
31956        * WebKit2API.pri:
31957
319582011-10-26  Ryosuke Niwa  <rniwa@webkit.org>
31959
31960        Another GTK build fix attempt after r98413 and r98416.
31961
31962        * WebProcess/Plugins/PluginProxy.cpp:
31963        (WebKit::PluginProxy::paint):
31964        (WebKit::PluginProxy::geometryDidChange):
31965        (WebKit::PluginProxy::update):
31966
319672011-10-25  Ryosuke Niwa  <rniwa@webkit.org>
31968
31969        C/C++ needs ; after each statement.
31970
31971        * PluginProcess/PluginControllerProxy.cpp:
31972        (WebKit::PluginControllerProxy::geometryDidChange):
31973
319742011-10-25  Ryosuke Niwa  <rniwa@webkit.org>
31975
31976        GTK build fix attempt after r98413 and r98416.
31977
31978        * PluginProcess/PluginControllerProxy.cpp:
31979        (WebKit::PluginControllerProxy::paint):
31980        (WebKit::PluginControllerProxy::geometryDidChange):
31981
319822011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>
31983
31984        Remove deletePropertyVirtual
31985        https://bugs.webkit.org/show_bug.cgi?id=70738
31986
31987        Reviewed by Geoffrey Garen.
31988
31989        Removed all declarations and definitions of deletePropertyVirtual.
31990        Also replaced all call sites to deletePropertyVirtual with a 
31991        corresponding lookup in the MethodTable.
31992
31993        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
31994        * WebProcess/Plugins/Netscape/JSNPObject.h:
31995        * WebProcess/Plugins/Netscape/NPJSObject.cpp:
31996        (WebKit::NPJSObject::removeProperty):
31997
319982011-10-25  Brent Fulgham  <bfulgham@webkit.org>
31999
32000        [WinCairo] Unreviewed build fix after r97587.
32001
32002        * win/WebKit2CFLite.def:
32003
320042011-10-25  Anders Carlsson  <andersca@apple.com>
32005
32006        CG plug-ins are always given a context with a scale factor of 1, even when the device scale factor is something else
32007        https://bugs.webkit.org/show_bug.cgi?id=67227
32008        <rdar://problem/10048319>
32009
32010        Reviewed by Sam Weinig.
32011
32012        * PluginProcess/PluginControllerProxy.cpp:
32013        (WebKit::PluginControllerProxy::paint):
32014        Apply the scale factor when painting.
32015
32016        * WebProcess/Plugins/PluginProxy.cpp:
32017        (WebKit::PluginProxy::paint):
32018        Apply the scale factor when painting.
32019
32020        (WebKit::PluginProxy::geometryDidChange):
32021        Make sure to apply the contents scale factor to the backing store size.
32022
32023        (WebKit::PluginProxy::update):
32024        Apply the scale factor (when painting).
32025
320262011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>
32027
32028        Remove putVirtual
32029        https://bugs.webkit.org/show_bug.cgi?id=70740
32030
32031        Reviewed by Geoffrey Garen.
32032
32033        Removed all declarations and definitions of putVirtual.
32034        Also replaced all call sites to putVirtual with a 
32035        corresponding lookup in the MethodTable.
32036
32037        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
32038        * WebProcess/Plugins/Netscape/JSNPObject.h:
32039        * WebProcess/Plugins/Netscape/NPJSObject.cpp:
32040        (WebKit::NPJSObject::setProperty):
32041
320422011-10-25  Anders Carlsson  <andersca@apple.com>
32043
32044        Plug-ins have no way to find out when the device scale factor changes
32045        https://bugs.webkit.org/show_bug.cgi?id=67226
32046        <rdar://problem/10048276>
32047
32048        Reviewed by Sam Weinig.
32049
32050        * PluginProcess/PluginControllerProxy.cpp:
32051        (WebKit::PluginControllerProxy::geometryDidChange):
32052        * PluginProcess/PluginControllerProxy.h:
32053        This now takes the contentsScaleFactor and calls contentsScaleFactorChanged on its plug-in
32054        if the scale factor changes.
32055
32056        * PluginProcess/PluginControllerProxy.messages.in:
32057        GeometryDidChange now takes a contents scale factor parameter.
32058
32059        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
32060        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
32061        (WebKit::NetscapePlugin::contentsScaleFactorChanged):
32062        Implement contentsScaleFactorChanged and call NPP_SetValue with the new scale factor.
32063
32064        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
32065        (WebKit::BuiltInPDFView::contentsScaleFactorChanged):
32066        * WebProcess/Plugins/PDF/BuiltInPDFView.h:
32067        Add stub.
32068
32069        * WebProcess/Plugins/Plugin.h:
32070        Add pure virtual contentsScaleFactorChanged member function.
32071
32072        * WebProcess/Plugins/PluginProxy.cpp:
32073        (WebKit::PluginProxy::geometryDidChange):
32074        Add geometryDidChange overload that doesn't take any parameters. Make it send over the
32075        new scale factor to the plug-in process.
32076
32077        (WebKit::PluginProxy::contentsScaleFactorChanged):
32078        Call geometryDidChange.
32079
32080        * WebProcess/Plugins/PluginView.cpp:
32081        (WebKit::PluginView::setDeviceScaleFactor):
32082        Call Plugin::contentsScaleFactorChanged.
32083
32084        * WebProcess/WebPage/WebPage.cpp:
32085        (WebKit::WebPage::setDeviceScaleFactor):
32086        Call setDeviceScaleFactor on all registered plug-ins.
32087
320882011-10-25  Beth Dakin  <bdakin@apple.com>
32089
32090        https://bugs.webkit.org/show_bug.cgi?id=70852
32091        Setting up a HiDPI base-level GraphicsContext should be more straightforward for 
32092        WebKit2
32093
32094        Reviewed by Dan Bernstein.
32095
32096        When we need a base-level HiDPI GraphicsContext, call into new GraphicsContext api 
32097        GraphicsContext::applyDeviceScaleFactor() rather than manually scaling and 
32098        adjusting the base CTM.
32099        * WebProcess/WebPage/DrawingAreaImpl.cpp:
32100        (WebKit::DrawingAreaImpl::display):
32101        * WebProcess/WebPage/WebPage.cpp:
32102        (WebKit::WebPage::snapshotInViewCoordinates):
32103        (WebKit::WebPage::scaledSnapshotInDocumentCoordinates):
32104
321052011-10-25  Anders Carlsson  <andersca@apple.com>
32106
32107        Plug-ins have to use JavaScript to find out the current device scale factor
32108        https://bugs.webkit.org/show_bug.cgi?id=67225
32109        <rdar://problem/10048258>
32110
32111        Reviewed by Darin Adler.
32112
32113        * PluginProcess/PluginControllerProxy.cpp:
32114        (WebKit::PluginControllerProxy::PluginControllerProxy):
32115        Initialize m_contentsScaleFactor.
32116
32117        * PluginProcess/PluginControllerProxy.h:
32118        Add contentsScaleFactor member function and m_contentsScaleFactor member variable.
32119
32120        * PluginProcess/PluginCreationParameters.cpp:
32121        (WebKit::PluginCreationParameters::PluginCreationParameters):
32122        (WebKit::PluginCreationParameters::encode):
32123        (WebKit::PluginCreationParameters::decode):
32124        * PluginProcess/PluginCreationParameters.h:
32125        Add contentsScaleFactor to the creation parameters.
32126
32127        * PluginProcess/mac/PluginControllerProxyMac.mm:
32128        (WebKit::PluginControllerProxy::contentsScaleFactor):
32129        Return the cached m_contentsScaleFactor.
32130
32131        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
32132        (WebKit::NPN_GetValue):
32133        Handle getting the scale factor by calling NetscapePlugin::contentsScaleFactor.
32134
32135        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
32136        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
32137        (WebKit::NetscapePlugin::contentsScaleFactor):
32138        Ask the plug-in controller for the contents scale factor.
32139
32140        * WebProcess/Plugins/PluginController.h:
32141        Add contentsScaleFactor pure virtual member function.
32142
32143        * WebProcess/Plugins/PluginProxy.cpp:
32144        (WebKit::PluginProxy::initialize):
32145        Set contentsScaleFactor in the creation parameters.
32146
32147        * WebProcess/Plugins/PluginView.cpp:
32148        (WebKit::PluginView::contentsScaleFactor):
32149        Get the device scale factor from the page.
32150
32151        * WebProcess/Plugins/PluginView.h:
32152        Add contentsScaleFactor().
32153
32154        * WebProcess/WebPage/WebPage.cpp:
32155        (WebKit::WebPage::setDeviceScaleFactor):
32156        Bail if the scale factor didn't change.
32157
321582011-10-25  Sam Weinig  <sam@webkit.org>
32159
32160        Flesh out WKBrowsingContextLoadDelegate a bit
32161        https://bugs.webkit.org/show_bug.cgi?id=70846
32162
32163        Add didReceiveServerRedirectForProvisionalLoad, didFailProvisionalLoad
32164        and didFailLoad.
32165
32166        Reviewed by Anders Carlsson.
32167
32168        Test: WKBrowsingContextLoadDelegateTest
32169
32170        * UIProcess/API/mac/WKBrowsingContextController.mm:
32171        (didReceiveServerRedirectForProvisionalLoadForFrame):
32172        (didFailProvisionalLoadWithErrorForFrame):
32173        (didFailLoadWithErrorForFrame):
32174        (setUpPageLoaderClient):
32175        * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h:
32176
321772011-10-25  Anders Carlsson  <andersca@apple.com>
32178
32179        Assertion failure when zooming a PDF in an iframe
32180        https://bugs.webkit.org/show_bug.cgi?id=70849
32181
32182        Reviewed by Alexey Proskuryakov.
32183
32184        If the plug-in doesn't want window relative coordinates, we shouldn't give the plug-in window relative coordinates.
32185
32186        * WebProcess/Plugins/PluginView.cpp:
32187        (WebKit::PluginView::viewGeometryDidChange):
32188
321892011-10-25  Sam Weinig  <sam@webkit.org>
32190
32191        Make loadFileURL:restrictToFilesWithin: work, albeit, without the correct
32192        restrictions for now.
32193
32194        Reviewed by Anders Carlsson.
32195
32196        * UIProcess/API/mac/WKBrowsingContextController.mm:
32197        (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]):
32198
321992011-10-25  Anders Carlsson  <andersca@apple.com>
32200
32201        PDF SUBFRAMES: Incomplete repaint after pinch to zoom
32202        https://bugs.webkit.org/show_bug.cgi?id=70821
32203        <rdar://problem/10312733>
32204
32205        Reviewed by Simon Fraser.
32206
32207        Add a new pure virtual member function, Plugin::wantsWindowRelativeCoordinates.
32208        If a plug-in subclass returns true, we'll keep giving the plug-in coordinates that
32209        are relative to the containing window. If a plug-in subclass returns false, we'll give it
32210        coordinates in a much more sane coordinate system, with the origin at the top left corner of the plug-in.
32211
32212        Change BuiltinPDFView to return false so that it'll work correctly with pinch to zoom.
32213        
32214        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
32215        (WebKit::NetscapePlugin::wantsWindowRelativeCoordinates):
32216        Make wantsWindowRelativeCoordinates return true.
32217
32218        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
32219        (WebKit::BuiltInPDFView::paint):
32220        Remove translation since the graphics context is already set up in the right way.
32221
32222        (WebKit::BuiltInPDFView::paintContent):
32223        No need to offset by the plug-in view location anymore.
32224
32225        (WebKit::BuiltInPDFView::paintControls):
32226        Account for the scrollbars being children of the parent scroll view here.
32227
32228        (WebKit::BuiltInPDFView::wantsWindowRelativeCoordinates):
32229        Return false.
32230
32231        (WebKit::BuiltInPDFView::convertFromContainingViewToScrollbar):
32232        Implement this so that scrollbar hit testing works correctly.
32233
32234        * WebProcess/Plugins/Plugin.h:
32235        Add wantsWindowRelativeCoordinates.
32236
32237        * WebProcess/Plugins/PluginProxy.cpp:
32238        (WebKit::PluginProxy::wantsWindowRelativeCoordinates):
32239        Return true for now.
32240
32241        * WebProcess/Plugins/PluginView.cpp:
32242        (WebKit::PluginView::renderer):
32243        Add simple getter.
32244
32245        (WebKit::PluginView::paint):
32246        Handle the case when the plug-in doesn't want window relative coordinates.
32247
32248        (WebKit::PluginView::transformsAffectFrameRect):
32249        Return true here.
32250
32251        (WebKit::PluginView::viewGeometryDidChange):
32252        No need to adjust the bounds to account for the scale factor now, since the frame rect will always be the
32253        same regardless of the transform.
32254
32255        (WebKit::PluginView::clipRectInWindowCoordinates):
32256        Ditto.
32257
322582011-10-25  John Sullivan  <sullivan@apple.com>
32259
32260        "Open with" item missing from PDF context menu in some cases
32261        https://bugs.webkit.org/show_bug.cgi?id=70828
32262        <rdar://problem/10034302>
32263
32264        Reviewed by Anders Carlsson.
32265
32266        * UIProcess/API/mac/PDFViewController.mm:
32267        (insertOpenWithDefaultPDFMenuItem):
32268        New helper function, extracted from -menuForEvent:. Identical to original code except
32269        that it inserts the item at a specified index, rather than always at the end.
32270        (-[WKPDFView menuForEvent:]):
32271        Now keeps track of whether the Open With item has been inserted while iterating through
32272        the PDFKit-supplied menu items looking for a "Copy" item. If a "Copy" item is not found,
32273        inserts the Open With item at the top of the context menu.
32274
322752011-10-25  Zeno Albisser  <zeno.albisser@nokia.com>
32276
32277        [Qt][WK2] QDesktopWebView and QTouchWebView should be declared in the meta type system.
32278        https://bugs.webkit.org/show_bug.cgi?id=70693
32279
32280        This change allows us to use the template based features of the meta type system
32281        such as using the WebView classes as types for QVariant.
32282
32283        Reviewed by Simon Hausmann.
32284
32285        * UIProcess/API/qt/qdesktopwebview.h:
32286        * UIProcess/API/qt/qtouchwebview.h:
32287
322882011-10-25  Zalan Bujtas  <zbujtas@gmail.com>
32289
32290        [Qt][WK2] Remove redundant setPageIsVisible() API
32291        https://bugs.webkit.org/show_bug.cgi?id=70520
32292
32293        Use DrawingAreaProxy::visibilityDidChange() instead of DrawingAreaProxy::setPageIsVisible()
32294        Remove DrawingAreaProxy::setPageIsVisible(), not used anymore.
32295        This change disables the ability of suspending and resuming painting for TiledDrawingAreaProxy.
32296        However, TiledDrawingAreaProxy is about to be deprecated by using DrawingAreaProxyImpl
32297        as the UI process drawing area proxy for tiled based rendering.
32298
32299        Reviewed by Simon Hausmann.
32300
32301        * UIProcess/API/qt/qtouchwebpage.cpp:
32302        (QTouchWebPage::QTouchWebPage):
32303        (QTouchWebPagePrivate::setPage):
32304        * UIProcess/API/qt/qtouchwebpage.h:
32305        * UIProcess/API/qt/qtouchwebview.cpp:
32306        (QTouchWebView::QTouchWebView):
32307        (QTouchWebView::touchEvent):
32308        (QTouchWebView::onVisibleChanged):
32309        * UIProcess/API/qt/qtouchwebview.h:
32310        * UIProcess/DrawingAreaProxy.h:
32311        * UIProcess/DrawingAreaProxyImpl.cpp:
32312        * UIProcess/DrawingAreaProxyImpl.h:
32313        * UIProcess/TiledDrawingAreaProxy.cpp:
32314        (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
32315        (WebKit::TiledDrawingAreaProxy::deviceScaleFactorDidChange):
32316        * UIProcess/TiledDrawingAreaProxy.h:
32317        * UIProcess/WebPageProxy.cpp:
32318        (WebKit::WebPageProxy::viewStateDidChange):
32319        * UIProcess/qt/QtWebPageProxy.cpp:
32320        * UIProcess/qt/QtWebPageProxy.h:
32321
323222011-10-25  Carlos Garcia Campos  <cgarcia@igalia.com>
32323
32324        [GTK] Add go_to_back_forward_list_item() to WebKit2 GTK+ API
32325        https://bugs.webkit.org/show_bug.cgi?id=69825
32326
32327        Reviewed by Martin Robinson.
32328
32329        * UIProcess/API/gtk/WebKitBackForwardListItem.cpp:
32330        (webkitBackForwardListItemGetWKItem):
32331        * UIProcess/API/gtk/WebKitBackForwardListPrivate.h:
32332        * UIProcess/API/gtk/WebKitWebView.cpp:
32333        (webkit_web_view_go_to_back_forward_list_item):
32334        * UIProcess/API/gtk/WebKitWebView.h:
32335        * UIProcess/API/gtk/tests/TestBackForwardList.cpp:
32336        (testBackForwardListNavigation):
32337
323382011-10-25  Vamshikrishna Yellenki  <vamshi@motorola.com>
32339
32340        [WK2]Critical warning while building WebKit2 GTK+
32341        https://bugs.webkit.org/show_bug.cgi?id=70591
32342
32343        Reviewed by Martin Robinson.
32344
32345        * WebProcess/WebPage/WebPage.cpp: Included DataObjectGtk.h to avoid warnings for GTK
32346
323472011-10-24  Sam Weinig  <sam@webkit.org>
32348
32349        Simplify url accessors on WKBrowsingContextController
32350        https://bugs.webkit.org/show_bug.cgi?id=70797
32351
32352        Reviewed by Anders Carlsson.
32353
32354        * UIProcess/API/C/WKPage.cpp:
32355        (WKPageCopyActiveURL):
32356        (WKPageCopyProvisionalURL):
32357        (WKPageCopyCommittedURL):
32358        * UIProcess/API/C/WKPage.h:
32359        Add accessors to C SPI.
32360
32361        * UIProcess/API/mac/WKBrowsingContextController.h:
32362        Remove unreachableURL accessor for now. It may make a glorious return when we have
32363        error page support.
32364
32365        * UIProcess/API/mac/WKBrowsingContextController.mm:
32366        (-[WKBrowsingContextController activeURL]):
32367        (-[WKBrowsingContextController provisionalURL]):
32368        (-[WKBrowsingContextController committedURL]):
32369        Implement these in terms of the new C SPI.
32370
32371        * UIProcess/WebPageProxy.cpp:
32372        (WebKit::WebPageProxy::activeURL):
32373        Add computation of the "active" URL, which is the URL one would show
32374        in an address field. It is the pending URL when there is one, the provisional
32375        URL when there is one, and otherwise the committed/final URL.
32376
32377        (WebKit::WebPageProxy::provisionalURL):
32378        (WebKit::WebPageProxy::committedURL):
32379        Add access to the main frame URL.
32380        * UIProcess/WebPageProxy.h:
32381
323822011-10-24  Sam Weinig  <sam@webkit.org>
32383
32384        Hook up minimalist load delegate to WKBrowsingContextController
32385        https://bugs.webkit.org/show_bug.cgi?id=70764
32386
32387        Reviewed by Simon Fraser.
32388
32389        * UIProcess/API/mac/WKBrowsingContextController.h:
32390        * UIProcess/API/mac/WKBrowsingContextController.mm:
32391        (-[WKBrowsingContextController loadDelegate]):
32392        (-[WKBrowsingContextController setLoadDelegate:]):
32393        Add loadDelegate getter/setter. As per convention, the delegate is not
32394        retained.
32395
32396        (didStartProvisionalLoadForFrame):
32397        (didCommitLoadForFrame):
32398        (didFinishLoadForFrame):
32399        (setUpPageLoaderClient):
32400        (-[WKBrowsingContextController initWithPageRef:]):
32401        Hookup the delegate to a WKPageLoaderClient.
32402
32403        * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: Added.
32404        Add load delegate as a proper protocol.
32405
32406        * WebKit2.xcodeproj/project.pbxproj:
32407        Add new file.
32408
324092011-10-24  Michael Saboff  <msaboff@apple.com>
32410
32411        WebKit doesn't build with recent changes to libdispatch
32412        https://bugs.webkit.org/show_bug.cgi?id=70737
32413
32414        Added initialization for new WebKitSystemInterface function 
32415        CreateVMPressureDispatchOnMainQueue.
32416
32417        Reviewed by Geoffrey Garen.
32418
32419        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
32420        (InitWebCoreSystemInterface):
32421
324222011-10-24  Sam Weinig  <sam@webkit.org>
32423
32424        Add URL getters for the WKBrowsingContextController
32425        https://bugs.webkit.org/show_bug.cgi?id=70752
32426
32427        Reviewed by Anders Carlsson.
32428
32429        * UIProcess/API/mac/WKBrowsingContextController.h:
32430        * UIProcess/API/mac/WKBrowsingContextController.mm:
32431        (autoreleased):
32432        Added helpers for autoreleasing.
32433
32434        (-[WKBrowsingContextController activeURL]):
32435        Added buy not implemented yet.
32436
32437        (-[WKBrowsingContextController pendingURL]):
32438        (-[WKBrowsingContextController provisionalURL]):
32439        (-[WKBrowsingContextController commitedURL]):
32440        (-[WKBrowsingContextController unreachableURL]):
32441        Added getters.
32442
32443        (-[WKBrowsingContextController title]):
32444        Convert to new autoreleased helper.
32445
324462011-10-24  Sam Weinig  <sam@webkit.org>
32447
32448        Add zoom and title support to Objective-C WebKit2 API
32449        https://bugs.webkit.org/show_bug.cgi?id=70744
32450
32451        Reviewed by Darin Adler.
32452
32453        * UIProcess/API/mac/WKBrowsingContextController.h:
32454        * UIProcess/API/mac/WKBrowsingContextController.mm:
32455        (-[WKBrowsingContextController title]):
32456        (-[WKBrowsingContextController textZoom]):
32457        (-[WKBrowsingContextController setTextZoom:]):
32458        (-[WKBrowsingContextController pageZoom]):
32459        (-[WKBrowsingContextController setPageZoom:]):
32460
324612011-10-24  Carlos Garcia Campos  <cgarcia@igalia.com>
32462
32463        [GTK] Fix make distcheck build
32464        https://bugs.webkit.org/show_bug.cgi?id=69745
32465
32466        Reviewed by Martin Robinson.
32467
32468        * GNUmakefile.am:
32469
324702011-10-24  Carlos Garcia Campos  <cgarcia@igalia.com>
32471
32472        [GTK] Initial implementation of back forward list for WebKit2 GTK+ API
32473        https://bugs.webkit.org/show_bug.cgi?id=69343
32474
32475        Reviewed by Martin Robinson.
32476
32477        * GNUmakefile.am: Add new files to compilation.
32478        * UIProcess/API/gtk/WebKitBackForwardList.cpp: Added.
32479        (webkitBackForwardListFinalize):
32480        (webkit_back_forward_list_init):
32481        (webkit_back_forward_list_class_init):
32482        (webkitBackForwardListGetOrCreateItem): Helper function that
32483        creates a new WebKitBackForwardListItem for the given
32484        WebBackForwardListItem or returns it from the cache if it's
32485        already cached.
32486        (webkitBackForwardListCreateList): Helper function to convert a
32487        WKArray of WebBackForwardListItems into a GList of
32488        WebKitBackForwardListItems.
32489        (webkitBackForwardListCreate): Create a new WebKitBackForwardList.
32490        (webkitBackForwardListChanged): Emits changed signal when the back
32491        forward list changes.
32492        (webkit_back_forward_list_get_current_item):
32493        (webkit_back_forward_list_get_back_item):
32494        (webkit_back_forward_list_get_forward_item):
32495        (webkit_back_forward_list_get_nth_item):
32496        (webkit_back_forward_list_get_length):
32497        (webkit_back_forward_list_get_back_list):
32498        (webkit_back_forward_list_get_back_list_with_limit):
32499        (webkit_back_forward_list_get_forward_list):
32500        (webkit_back_forward_list_get_forward_list_with_limit):
32501        * UIProcess/API/gtk/WebKitBackForwardList.h: Added.
32502        * UIProcess/API/gtk/WebKitBackForwardListItem.cpp: Added.
32503        (webkitBackForwardListItemFinalize):
32504        (webkit_back_forward_list_item_init):
32505        (webkit_back_forward_list_item_class_init):
32506        (historyItemsMap): Global cache for WebKitBackForwardListItems.
32507        (webkitBackForwardListItemFinalized):
32508        (webkitBackForwardListItemGetOrCreate): Helper function that
32509        creates a new WebKitBackForwardListItem for the given
32510        WebBackForwardListItem or returns it from the global cache if it's
32511        already cached.
32512        (webkit_back_forward_list_item_get_uri):
32513        (webkit_back_forward_list_item_get_title):
32514        (webkit_back_forward_list_item_get_original_uri):
32515        * UIProcess/API/gtk/WebKitBackForwardListItem.h: Added.
32516        * UIProcess/API/gtk/WebKitBackForwardListPrivate.h: Added.
32517        * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
32518        (didChangeBackForwardList): Call webkitBackForwardListChanged() to
32519        notify that the list has changed.
32520        (webkitWebLoaderClientAttachLoaderClientToPage): Add
32521        implementation for didChangeBackForwardList.
32522        * UIProcess/API/gtk/WebKitWebView.cpp:
32523        (webkitWebViewConstructed):
32524        (webkit_web_view_get_back_forward_list): Return the back forward
32525        list of the view.
32526        * UIProcess/API/gtk/WebKitWebView.h:
32527        * UIProcess/API/gtk/tests/GNUmakefile.am: Add new test.
32528        * UIProcess/API/gtk/tests/TestBackForwardList.cpp: Added.
32529        (serverCallback):
32530        (testBackForwardListNavigation):
32531        (testBackForwardListLimitAndCache):
32532        (beforeAll):
32533        (afterAll):
32534        * UIProcess/API/gtk/tests/TestMain.h:
32535        (Test::~Test): Check there are no objects leaked.
32536        (Test::objectFinalized): Callback called when a GObject is
32537        deleted, used to remove the watched object the list.
32538        (Test::assertObjectIsDeletedWhenTestFinishes): Add an object to
32539        the list of watched objects and add a weak pointer to remove it
32540        from the list when the object is finalized. If there aren't
32541        objects leaked, the list should be empty when the test finishes.
32542        * UIProcess/API/gtk/tests/WebViewTest.cpp:
32543        (WebViewTest::WebViewTest): Watch the web view to make sure it's
32544        not leaked.
32545        * UIProcess/API/gtk/tests/WebViewTest.h: Make WebViewTest inherit
32546        from Test class.
32547        * UIProcess/API/gtk/webkit2.h: Include WebKitBackForwardList.h and
32548        WebKitBackForwardListItem.h.
32549        * UIProcess/API/gtk/webkit2marshal.list:
32550
325512011-10-24  Carlos Garcia Campos  <cgarcia@igalia.com>
32552
32553        [GTK] Add helper function to set the loader client in WebKitWebView
32554        https://bugs.webkit.org/show_bug.cgi?id=70594
32555
32556        Reviewed by Martin Robinson.
32557
32558        * UIProcess/API/gtk/WebKitWebView.cpp:
32559        (webkitWebViewSetLoaderClient): Helper function to set the loader
32560        client.
32561        (webkitWebViewConstructed): Use webkitWebViewSetLoaderClient() to
32562        avoid unnecessary checks.
32563        (webkit_web_view_set_loader_client): Use
32564        webkitWebViewSetLoaderClient().
32565
325662011-10-24  Carlos Garcia Campos  <cgarcia@igalia.com>
32567
32568        [GTK] Remove g_thread_init() calls
32569        https://bugs.webkit.org/show_bug.cgi?id=70717
32570
32571        Reviewed by Xan Lopez.
32572
32573        With newer glib it's not needed anymore and with previous versions
32574        it was already called by g_type_init().
32575
32576        * UIProcess/API/gtk/tests/TestMain.cpp:
32577        (main):
32578
325792011-10-24  Zeno Albisser  <zeno.albisser@nokia.com>
32580
32581        [Qt][WK2] WebView does not get focus when being clicked / touched in MiniBrowser.
32582        https://bugs.webkit.org/show_bug.cgi?id=70613
32583
32584        Make TouchWebView and DesktopWebView take the focus whenever it receives
32585        a MouseClick or a TouchEvent.
32586
32587        Reviewed by Simon Hausmann.
32588
32589        * UIProcess/API/qt/qdesktopwebview.cpp:
32590        (QDesktopWebView::mousePressEvent):
32591        * UIProcess/API/qt/qtouchwebview.cpp:
32592        (QTouchWebView::touchEvent):
32593        * UIProcess/API/qt/qtouchwebview.h:
32594
325952011-10-24  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
32596
32597        [GTK] [WK2] Memory leaks in WebContextGtk.cpp
32598        https://bugs.webkit.org/show_bug.cgi?id=70505
32599
32600        Free the output of g_build_filename()
32601
32602        Reviewed by Martin Robinson.
32603
32604        * UIProcess/gtk/WebContextGtk.cpp:
32605        (WebKit::WebContext::platformDefaultDatabaseDirectory):
32606        (WebKit::WebContext::platformDefaultLocalStorageDirectory):
32607
326082011-10-23  Mark Hahnenberg  <mhahnenberg@apple.com>
32609
32610        Remove getConstructDataVirtual
32611        https://bugs.webkit.org/show_bug.cgi?id=70638
32612
32613        Reviewed by Darin Adler.
32614
32615        Removed all declarations and definitions of getConstructDataVirtual.
32616        Also replaced all call sites to getConstructDataVirtual with a 
32617        corresponding lookup in the MethodTable.
32618
32619        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
32620        * WebProcess/Plugins/Netscape/JSNPObject.h:
32621
326222011-10-21  Alexey Proskuryakov  <ap@apple.com>
32623
32624        [WK2] Clicking a print button in a PDF doesn't do anything
32625        https://bugs.webkit.org/show_bug.cgi?id=70663
32626        <rdar://problem/9795014>
32627
32628        Reviewed by Dan Bernstein.
32629
32630        * UIProcess/WebPageProxy.h:
32631        * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::printMainFrame): Added a public method
32632        that PDFViewController could call.
32633
32634        * UIProcess/API/mac/PDFViewController.h:
32635        * UIProcess/API/mac/PDFViewController.mm:
32636        (-[WKPDFView PDFViewPerformPrint:]):
32637        (WebKit::PDFViewController::print):
32638        Connect PDFView delegate method for printing.
32639
326402011-10-21  Sam Weinig  <sam@webkit.org>
32641
32642        Lookup does not work on text using web fonts in WebKit2
32643        https://bugs.webkit.org/show_bug.cgi?id=70669
32644        <rdar://problem/10147441>
32645
32646        Reviewed by Anders Carlsson.
32647
32648        * WebProcess/WebPage/mac/WebPageMac.mm:
32649        (WebKit::WebPage::performDictionaryLookupForRange):
32650        If the font for the range is web font (and therefore no NSFont is 
32651        available), use the system font of the same size. While not great,
32652        it approximates what WebKit1 does.
32653
326542011-10-21  Sam Weinig  <sam@webkit.org>
32655
32656        Fix crash below CoreIPC::MessageSender<WebKit::WebPage>::send<Messages::WebPageProxy::DidPerformDictionaryLookup>
32657        https://bugs.webkit.org/show_bug.cgi?id=70667
32658        <rdar://problem/9622186>
32659
32660        Reviewed by Anders Carlsson.
32661
32662        * Shared/DictionaryPopupInfo.cpp:
32663        (WebKit::DictionaryPopupInfo::encode):
32664        (WebKit::DictionaryPopupInfo::decode):
32665        Account for the fact that the options dictionary can be null. This is due to Lookup passing
32666        back a null, rather than empty, dictionary when it could not find any interesting characteristics.
32667
326682011-10-21  Sam Weinig  <sam@webkit.org>
32669
32670        Add WKBrowsingContextGroup which wraps WKPageGroupRef
32671        https://bugs.webkit.org/show_bug.cgi?id=70665
32672
32673        Reviewed by Anders Carlsson.
32674
32675        * UIProcess/API/mac/WKBrowsingContextGroup.h: Added.
32676        * UIProcess/API/mac/WKBrowsingContextGroup.mm: Added.
32677        (-[WKBrowsingContextGroup initWithIdentifier:]):
32678        (-[WKBrowsingContextGroup dealloc]):
32679        (-[WKBrowsingContextGroup pageGroupRef]):
32680        * UIProcess/API/mac/WKBrowsingContextGroupInternal.h: Added.
32681        * UIProcess/API/mac/WKView.h:
32682        * UIProcess/API/mac/WKView.mm:
32683        (-[WKView initWithFrame:processGroup:browsingContextGroup:]):
32684        * WebKit2.xcodeproj/project.pbxproj:
32685
326862011-10-21  Sam Weinig  <sam@webkit.org>
32687
32688        Mark member variables of WebKit2 API @private
32689        https://bugs.webkit.org/show_bug.cgi?id=70655
32690
32691        Reviewed by Simon Fraser.
32692
32693        * UIProcess/API/mac/WKBrowsingContextController.h:
32694        * UIProcess/API/mac/WKView.h:
32695
326962011-10-21  Sam Weinig  <sam@webkit.org>
32697
32698        Rename WKProcessCluster to WKProcessGroup
32699        https://bugs.webkit.org/show_bug.cgi?id=70654
32700
32701        Reviewed by Simon Fraser.
32702
32703        * UIProcess/API/mac/WKProcessCluster.h: Removed.
32704        * UIProcess/API/mac/WKProcessCluster.mm: Removed.
32705        * UIProcess/API/mac/WKProcessClusterInternal.h: Removed.
32706        * UIProcess/API/mac/WKProcessGroup.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessCluster.h.
32707        * UIProcess/API/mac/WKProcessGroup.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessCluster.mm.
32708        (-[WKProcessGroup initWithInjectedBundleURL:]):
32709        * UIProcess/API/mac/WKProcessGroupInternal.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessClusterInternal.h.
32710        * UIProcess/API/mac/WKView.h:
32711        * UIProcess/API/mac/WKView.mm:
32712        (-[WKView initWithFrame:processCluster:]):
32713        * WebKit2.xcodeproj/project.pbxproj:
32714
327152011-10-21  Sam Weinig  <sam@webkit.org>
32716
32717        Remove ability to create a WKView without a WKContextRef and WKPageGroupRef
32718        https://bugs.webkit.org/show_bug.cgi?id=70653
32719
32720        Reviewed by Simon Fraser.
32721
32722        Requiring a context and pagegroup removes the concept of global contexts,
32723        which is something that is both confusing, and makes Objective-C wrapping
32724        harder.
32725
32726        * UIProcess/API/mac/WKView.mm:
32727        (-[WKView initWithFrame:processCluster:]):
32728        * UIProcess/API/mac/WKViewPrivate.h:
32729        Remove init methods that didn't take both a context and a pagegroup.
32730
327312011-10-21  Alexey Proskuryakov  <ap@apple.com>
32732
32733        [WK2] Crash after printing a view with accelerated compositing content
32734        https://bugs.webkit.org/show_bug.cgi?id=70643
32735        <rdar://problem/9479083>
32736
32737        Reviewed by Darin Adler.
32738
32739        * UIProcess/API/mac/WKPrintingView.mm: (-[WKPrintingView _delayedResumeAutodisplayTimerFired]):
32740        We cannot rely on -[WKView drawRect:] calling endPrinting() for us. That call to endPrinting()
32741        is still necessary to paint e.g. when resizing a window while a print dialog is present.
32742
327432011-10-21  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
32744
32745        [WK2] WebFrameLoaderClient::shouldFallback() should use a port-specific implementation
32746        https://bugs.webkit.org/show_bug.cgi?id=70055
32747
32748        Reviewed by Luiz Agostini.
32749
32750        In QtWebKit 1, our FrameLoaderClient::shouldFallback was checking for InterruptedForPolicyChange
32751        error. In WebKit2, we are relying on the common implementation for WebFrameLoaderClient::shouldFallback
32752        which doesn't check for the same error. Here we add this check only for Qt.
32753
32754        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
32755        (WebKit::WebFrameLoaderClient::shouldFallBack):
32756
327572011-10-21  Anders Carlsson  <andersca@apple.com>
32758
32759        Flash of white when loading a page after a web process crash
32760        https://bugs.webkit.org/show_bug.cgi?id=70615
32761        <rdar://problem/10306906>
32762
32763        Reviewed by Darin Adler.
32764
32765        * UIProcess/API/mac/WKView.mm:
32766        (-[WKView _processDidCrash]):
32767        (-[WKView _didRelaunchProcess]):
32768        Remove calls to setNeedsDisplay here.
32769
32770        * UIProcess/WebPageProxy.cpp:
32771        (WebKit::WebPageProxy::processDidCrash):
32772        Call setNeedsDisplay, but only if calling out to the loader client didn't relaunch the web process.
32773
32774        * WebProcess/WebPage/DrawingArea.h:
32775        (WebKit::DrawingArea::setPaintingEnabled):
32776        * WebProcess/WebPage/DrawingAreaImpl.cpp:
32777        (WebKit::DrawingAreaImpl::DrawingAreaImpl):
32778        (WebKit::DrawingAreaImpl::setNeedsDisplay):
32779        (WebKit::DrawingAreaImpl::scroll):
32780        (WebKit::DrawingAreaImpl::setPaintingEnabled):
32781        * WebProcess/WebPage/DrawingAreaImpl.h:
32782        Add a way to disable painting completely for a drawing area.
32783
32784        * WebProcess/WebPage/WebPage.cpp:
32785        (WebKit::WebPage::WebPage):
32786        Disable painting while setting up the web page, otherwise we'll get paint requests when we set the
32787        active state of the web page.
32788
327892011-10-21  Csaba Osztrogonác  <ossy@webkit.org>
32790
32791        [Qt][WK2] Buildfix for newer Qt5. Remove duplicated defines.
32792
32793        Reviewed by Simon Hausmann.
32794
32795        * UIProcess/API/qt/tests/util.h:
32796
327972011-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
32798
32799        Unreviewed. Fix WebKit2 GTK+ build after r98081.
32800
32801        * UIProcess/API/gtk/WebKitWebView.h:
32802
328032011-10-21  Sheriff Bot  <webkit.review.bot@gmail.com>
32804
32805        Unreviewed, rolling out r98085.
32806        http://trac.webkit.org/changeset/98085
32807        https://bugs.webkit.org/show_bug.cgi?id=70589
32808
32809        It broke the build (Requested by Ossy on #webkit).
32810
32811        * UIProcess/API/qt/tests/util.h:
32812
328132011-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
32814
32815        [GTK] Fix API documentation comment for webkit_web_view_get_estimated_load_progress()
32816        https://bugs.webkit.org/show_bug.cgi?id=70587
32817
32818        Reviewed by Philippe Normand.
32819
32820        It's should start with /** to be recognized as API documentation.
32821
32822        * UIProcess/API/gtk/WebKitWebView.cpp:
32823
328242011-10-21  Csaba Osztrogonác  <ossy@webkit.org>
32825
32826        [Qt][WK2] Unreviewed buildfix for newer Qt5. Remove duplicated defines.
32827
32828        * UIProcess/API/qt/tests/util.h:
32829
328302011-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
32831
32832        [GTK] Add can_go_back/forward methods to WebKit2 GTK+ API
32833        https://bugs.webkit.org/show_bug.cgi?id=69823
32834
32835        Reviewed by Martin Robinson.
32836
32837        * UIProcess/API/gtk/WebKitWebView.cpp:
32838        (webkit_web_view_go_back):
32839        (webkit_web_view_can_go_back):
32840        (webkit_web_view_go_forward):
32841        (webkit_web_view_can_go_forward):
32842        * UIProcess/API/gtk/WebKitWebView.h:
32843
328442011-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
32845
32846        [GTK] Add webkit_web_view_stop_loading() to WebKit2 GTK+ API
32847        https://bugs.webkit.org/show_bug.cgi?id=69610
32848
32849        Reviewed by Martin Robinson.
32850
32851        * UIProcess/API/gtk/WebKitWebView.cpp:
32852        (webkit_web_view_stop_loading):
32853        * UIProcess/API/gtk/WebKitWebView.h:
32854        * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
32855        (provisionalLoadFailedCallback):
32856        (loadFailedCallback):
32857        * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
32858        (LoadStopTrackingTest::loadCommitted):
32859        (LoadStopTrackingTest::loadFailed):
32860        (LoadStopTrackingTest::loadFinished):
32861        (testLoadCancelled):
32862        (serverCallback):
32863        (beforeAll):
32864
328652011-10-20  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
32866
32867        [Qt][WK2] qweberror* should follow the new file and class naming rules
32868        https://bugs.webkit.org/show_bug.cgi?id=70550
32869
32870        Reviewed by Noam Rosenthal.
32871
32872        Renaming qweberror* files and class to QtWebError*.
32873        QWebErrorPrivate is now merged into QtWebError.
32874
32875        * UIProcess/API/qt/qdesktopwebview.cpp:
32876        (QDesktopWebViewPrivate::loadDidFail):
32877        * UIProcess/API/qt/qdesktopwebview_p.h:
32878        * UIProcess/qt/ClientImpl.cpp:
32879        (dispatchLoadFailed):
32880        * UIProcess/qt/QtTouchViewInterface.cpp:
32881        (WebKit::QtTouchViewInterface::loadDidFail):
32882        * UIProcess/qt/QtTouchViewInterface.h:
32883        * UIProcess/qt/QtViewInterface.h:
32884        * UIProcess/qt/QtWebError.cpp: Renamed from Source/WebKit2/UIProcess/qt/qweberror.cpp.
32885        (QtWebError::QtWebError):
32886        (QtWebError::type):
32887        (QtWebError::errorCode):
32888        (QtWebError::url):
32889        * UIProcess/qt/QtWebError.h: Renamed from Source/WebKit2/UIProcess/qt/qweberror.h.
32890        (QtWebError::errorCodeAsHttpStatusCode):
32891        (QtWebError::errorCodeAsNetworkError):
32892        * UIProcess/qt/QtWebPageProxy.cpp:
32893        (QtWebPageProxy::loadDidFail):
32894        * UIProcess/qt/QtWebPageProxy.h:
32895        * UIProcess/qt/qweberror_p.h: Removed.
32896        * WebKit2.pro:
32897
328982011-10-20  Alexey Proskuryakov  <ap@apple.com>
32899
32900        REGRESSION (r96823): Contextual menu closes immediately when control-clicking in Flash plug-in
32901        https://bugs.webkit.org/show_bug.cgi?id=70534
32902        <rdar://problem/10308827>
32903
32904        Reviewed by Darin Adler.
32905
32906        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: (WebKit::NetscapePlugin::handleContextMenuEvent):
32907        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
32908        * WebProcess/Plugins/Plugin.h:
32909        * WebProcess/Plugins/PluginProxy.cpp: (WebKit::PluginProxy::handleContextMenuEvent):
32910        * WebProcess/Plugins/PluginProxy.h:
32911        * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::handleEvent):
32912        Return true when handling contextmenu event, so that plug-ins won't get a default WebKit
32913        context menu. We can't know if the plug-in is handling mousedown (or even mouseup) by
32914        displaying a menu.
32915
32916        * WebProcess/Plugins/PDF/BuiltInPDFView.h:
32917        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: (WebKit::BuiltInPDFView::handleContextMenuEvent):
32918        PDF is the only "plug-in" that wants default WebKit menu now.
32919
329202011-10-20  Sam Weinig  <sam@webkit.org>
32921
32922        Put the WebKit2 C SPI in PrivateHeaders
32923        https://bugs.webkit.org/show_bug.cgi?id=70549
32924
32925        Reviewed by Dan Bernstein.
32926
32927        No change in behavior.
32928
32929        * WebKit2.xcodeproj/project.pbxproj:
32930
329312011-10-20  Brady Eidson  <beidson@apple.com>
32932
32933        <rdar://problem/9412849> and https://bugs.webkit.org/show_bug.cgi?id=70535
32934        WK2 - Crash deref'ing a null context menu
32935
32936        Reviewed by Darin Adler.
32937
32938        * WebProcess/WebPage/WebPage.cpp:
32939        (WebKit::WebPage::didSelectItemFromActiveContextMenu): In some cases that we still can't reproduce,
32940          this message can be received in the WebProcess after the context menu has been cleared, leading
32941          to a crash. Turning the ASSERT in to an early return will prevent the crash while we try to learn more
32942          about how this could happen.
32943
329442011-10-20  Gustavo Noronha Silva  <gns@gnome.org>
32945
32946        GTK+ build fix. Wk2 documentation will be dealt with in future
32947        patches.
32948
32949        * UIProcess/API/gtk/docs/GNUmakefile.am:
32950
329512011-10-20  Mark Hahnenberg  <mhahnenberg@apple.com>
32952
32953        Rename static deleteProperty to deletePropertyByIndex
32954        https://bugs.webkit.org/show_bug.cgi?id=70257
32955
32956        Reviewed by Geoffrey Garen.
32957
32958        Renaming versions of deleteProperty that use an unsigned as the property
32959        name to "deletePropertyByIndex" in preparation for adding them to the 
32960        MethodTable, which requires unique names for each method.
32961
32962        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
32963        (WebKit::JSNPObject::deletePropertyVirtual):
32964        (WebKit::JSNPObject::deletePropertyByIndex):
32965        * WebProcess/Plugins/Netscape/JSNPObject.h:
32966
329672011-10-20  Carlos Garcia Campos  <cgarcia@igalia.com>
32968
32969        [GTK] Remove WebKitWebLoaderClientPrivate
32970        https://bugs.webkit.org/show_bug.cgi?id=70488
32971
32972        Reviewed by Philippe Normand.
32973
32974        It's unused since r97920.
32975
32976        * GNUmakefile.am: Add WebKitWebLoaderClientPrivate.h.
32977        * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
32978        (webkitWebLoaderClientAttachLoaderClientToPage): Renamed to make
32979        it clear it's a private method of WebKitWebLoaderClient.
32980        (webkit_web_loader_client_init): Remove
32981        WebKitWebLoaderClientPrivate initialization.
32982        (webkit_web_loader_client_class_init): Removed adding
32983        WebKitWebLoaderClientPrivate struct as private data.
32984        * UIProcess/API/gtk/WebKitWebLoaderClient.h: Remove
32985        WebKitWebLoaderClientPrivate definition.
32986        * UIProcess/API/gtk/WebKitWebLoaderClientPrivate.h: Move
32987        webkitWebLoaderClientAttachLoaderClientToPage method here since
32988        it's a private method implemented in WebKitWebLoaderClient, not in
32989        WebKitWebView.
32990        * UIProcess/API/gtk/WebKitWebView.cpp:
32991        (webkit_web_view_set_loader_client): Use
32992        webkitWebLoaderClientAttachLoaderClientToPage.
32993        * UIProcess/API/gtk/WebKitWebViewPrivate.h: Remove
32994        webkitWebLoaderClientAttachLoaderClientToPage prototype.
32995
329962011-10-10  Martin Robinson  <mrobinson@igalia.com>
32997
32998        [GTK] [WebKit2] Allow sharing page clients between WebViews
32999        https://bugs.webkit.org/show_bug.cgi?id=69814
33000
33001        No longer associate WebPage client wrappers with a WebKitWebView. This allows the
33002        same client to be used with more than one WebKitWebView.
33003
33004        Reviewed by Xan Lopez.
33005
33006        * GNUmakefile.am: Add the new WebKitWebViewPrivate header.
33007        * UIProcess/API/gtk/WebKitDefines.h: Added some forward declarations for API classes.
33008        * UIProcess/API/gtk/WebKitWebLoaderClient.cpp: C API callbacks now convert their WKPageRef argument
33009        into a WebKitWebView directly and pass it as a parameter to signals. Remove the web-view property.
33010        * UIProcess/API/gtk/WebKitWebLoaderClient.h: Move the estimated-progress property to WebKitWebView.
33011        * UIProcess/API/gtk/WebKitWebView.cpp: Add an estimated-load-progress property.
33012        (webkitWebViewConstructed):Only allocate one default WebKitWebLoaderClient.
33013        (webkitWebViewGetProperty): Add support for the new property.
33014        (webkit_web_view_class_init): Ditto.
33015        (webkitWebViewSetEstimatedLoadProgress): Added this private method so that the WebKitWebLoaderClient
33016        can update the appropriate WebKitWebView.
33017        (webkit_web_view_set_loader_client): Attach the C API callbacks here now.
33018        (webkit_web_view_get_estimated_load_progress): Moved from WebKitWebLoaderClient.
33019        * UIProcess/API/gtk/WebKitWebView.h: Added new method definition.
33020        * UIProcess/API/gtk/WebKitWebViewPrivate.h: Copied from Source/WebKit2/UIProcess/API/gtk/WebKitDefines.h.
33021        * UIProcess/API/gtk/tests/LoadTrackingTest.cpp: Updated the load tracking tests callbacks to take the new parameter.
33022        (LoadTrackingTest::LoadTrackingTest): Listen to the WebKitWebView property now.
33023        (LoadTrackingTest::estimatedProgressChanged):
33024        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: Added a test to verify that two WebViews share the same default client.
33025        * UIProcess/API/gtk/webkit2marshal.list: Updated the marshallers here.
33026
330272011-10-19  Anders Carlsson  <andersca@apple.com>
33028
33029        White flash when painting a previously crashed WKView
33030        https://bugs.webkit.org/show_bug.cgi?id=70453
33031        <rdar://problem/10306906>
33032
33033        Reviewed by John Sullivan.
33034
33035        * UIProcess/WebPageProxy.cpp:
33036        (WebKit::WebPageProxy::reattachToWebProcess):
33037        Call waitForBackingStoreUpdateOnNextPaint so we'll wait for the next paint instead of painting white.
33038
330392011-10-19  Beth Dakin  <bdakin@apple.com>
33040
33041        https://bugs.webkit.org/show_bug.cgi?id=70396
33042        Focus rings are too thin in HiDPI in WebKit2
33043        -and corresponding-
33044        <rdar://problem/10086876>
33045
33046        Reviewed by Dan Bernstein.
33047
33048        Rename wkSetPatternBaseCTM to wkSetBaseCTM
33049        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
33050        (InitWebCoreSystemInterface):
33051
33052        When setting up a HiDPI context, we must also set the base CTM.
33053        * WebProcess/WebPage/DrawingAreaImpl.cpp:
33054        (WebKit::DrawingAreaImpl::display):
33055        * WebProcess/WebPage/WebPage.cpp:
33056        (WebKit::WebPage::scaledSnapshotInDocumentCoordinates):
33057        (WebKit::WebPage::snapshotInViewCoordinates):
33058
330592011-10-19  Sam Weinig  <sam@webkit.org>
33060
33061        Add skeleton of an Objective-C WebKit2 API
33062        https://bugs.webkit.org/show_bug.cgi?id=70438
33063
33064        Reviewed by Anders Carlsson.
33065
33066        Adds WKBrowsingContextController (WKPageRef wrapper) and WKProcessCluster
33067        (WKContextRef wrapper) as initial files of an Objective-C WebKit2 API. Also,
33068        hook them up so that you can get a WKBrowsingContextController from the WKView
33069        and you can create a WKView associated with a WKProcessCluster. These names are
33070        not final, and this work is mainly about getting the wrapper lifetimes worked
33071        out.
33072
33073        * UIProcess/API/mac/WKBrowsingContextController.h: Added.
33074        * UIProcess/API/mac/WKBrowsingContextController.mm: Added.
33075        (-[WKBrowsingContextController dealloc]):
33076        (-[WKBrowsingContextController pageRef]):
33077        (-[WKBrowsingContextController loadRequest:]):
33078        (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]):
33079        (-[WKBrowsingContextController stopLoading]):
33080        (-[WKBrowsingContextController reload]):
33081        (-[WKBrowsingContextController reloadFromOrigin]):
33082        (-[WKBrowsingContextController goForward]):
33083        (-[WKBrowsingContextController canGoForward]):
33084        (-[WKBrowsingContextController goBack]):
33085        (-[WKBrowsingContextController canGoBack]):
33086        (-[WKBrowsingContextController initWithPageRef:]):
33087        * UIProcess/API/mac/WKBrowsingContextControllerInternal.h: Added.
33088        Add wrapper for WKPageRef.
33089
33090        * UIProcess/API/mac/WKProcessCluster.h: Added.
33091        * UIProcess/API/mac/WKProcessCluster.mm: Added.
33092        (-[WKProcessCluster init]):
33093        (-[WKProcessCluster initWithInjectedBundleURL:]):
33094        (-[WKProcessCluster dealloc]):
33095        (-[WKProcessCluster contextRef]):
33096        * UIProcess/API/mac/WKProcessClusterInternal.h: Added.
33097        Add wrapper for WKContextRef.
33098
33099        * UIProcess/API/mac/WKView.h:
33100        * UIProcess/API/mac/WKView.mm:
33101        (-[WKView initWithFrame:processCluster:]):
33102        Add new init method which takes a WKProcessCluster.
33103
33104        (-[WKView browsingContextController]):
33105        Add accessor for the WKBrowsingContextController. This works by lazily creating
33106        the wrapper and caching it in the view itself.
33107
33108        * WebKit2.xcodeproj/project.pbxproj:
33109        Add new files.
33110
331112011-10-19  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
33112
33113        [Qt] [WK2] Rename files and classes to follow conventions
33114        https://bugs.webkit.org/show_bug.cgi?id=70391
33115
33116        Reviewed by Noam Rosenthal.
33117
33118        Rename the files and classes following the agreed conventions on
33119        QtWebKit mailing list -- which are based on existing usage we have.
33120
33121        - Public API follow Qt conventions: qsomething.cpp qsomething.h with class named QSomething
33122
33123        - Private classes for public API classes follow Qt conventions:
33124          qsomething_p.h qsomething_p.cpp (if needed), with class named QSomethingPrivate
33125
33126        - Subclasses and Qt-specific implementations of WebKit/WebCore classes use Qt suffix:
33127          FrameLoaderClientQt.cpp
33128
33129        - Other classes created for using in our port use Qt prefix: QtFileDownloader, QtViewInterface
33130
33131        This is documented in https://trac.webkit.org/wiki/QtWebKitHacking
33132
33133        * UIProcess/API/qt/qdesktopwebview.cpp:
33134        (QDesktopWebViewPrivate::chooseFiles):
33135        (toPolicyAction):
33136        (QDesktopWebViewPrivate::navigationPolicyForURL):
33137        * UIProcess/API/qt/qdesktopwebview_p.h:
33138        * UIProcess/API/qt/qtouchwebpage.cpp:
33139        (QTouchWebPage::updatePaintNode):
33140        (QTouchWebPagePrivate::setPage):
33141        * UIProcess/API/qt/qtouchwebpage.h:
33142        * UIProcess/API/qt/qtouchwebpage_p.h:
33143        * UIProcess/API/qt/qtouchwebview.cpp:
33144        (QTouchWebViewPrivate::updateViewportConstraints):
33145        * UIProcess/API/qt/qtouchwebview.h:
33146        * UIProcess/API/qt/qtouchwebview_p.h:
33147        * UIProcess/TiledDrawingAreaProxy.h:
33148        * UIProcess/qt/ClientImpl.cpp:
33149        (toQtViewInterface):
33150        (toQtPolicyInterface):
33151        (qt_wk_runJavaScriptAlert):
33152        (qt_wk_runJavaScriptConfirm):
33153        (qt_wk_runJavaScriptPrompt):
33154        (qt_wk_setStatusText):
33155        (qt_wk_runOpenPanel):
33156        (qt_wk_mouseDidMoveOverElement):
33157        (qt_wk_decidePolicyForNavigationAction):
33158        * UIProcess/qt/QtDesktopWebPageProxy.cpp: Renamed from Source/WebKit2/UIProcess/qt/qdesktopwebpageproxy.cpp.
33159        (dragOperationToDropAction):
33160        (QtDesktopWebPageProxy::QtDesktopWebPageProxy):
33161        (QtDesktopWebPageProxy::createDrawingAreaProxy):
33162        (QtDesktopWebPageProxy::paintContent):
33163        (QtDesktopWebPageProxy::setViewportArguments):
33164        (QtDesktopWebPageProxy::doneWithTouchEvent):
33165        (QtDesktopWebPageProxy::createPopupMenuProxy):
33166        (QtDesktopWebPageProxy::handleEvent):
33167        (QtDesktopWebPageProxy::handleMouseMoveEvent):
33168        (QtDesktopWebPageProxy::handleMousePressEvent):
33169        (QtDesktopWebPageProxy::handleMouseReleaseEvent):
33170        (QtDesktopWebPageProxy::handleMouseDoubleClickEvent):
33171        (QtDesktopWebPageProxy::handleWheelEvent):
33172        (QtDesktopWebPageProxy::handleHoverLeaveEvent):
33173        (QtDesktopWebPageProxy::handleHoverMoveEvent):
33174        (QtDesktopWebPageProxy::handleDragEnterEvent):
33175        (QtDesktopWebPageProxy::handleDragLeaveEvent):
33176        (QtDesktopWebPageProxy::handleDragMoveEvent):
33177        (QtDesktopWebPageProxy::handleDropEvent):
33178        (QtDesktopWebPageProxy::timerEvent):
33179        * UIProcess/qt/QtDesktopWebPageProxy.h: Renamed from Source/WebKit2/UIProcess/qt/qdesktopwebpageproxy.h.
33180        * UIProcess/qt/QtGestureRecognizer.cpp:
33181        (WebKit::QtGestureRecognizer::QtGestureRecognizer):
33182        * UIProcess/qt/QtGestureRecognizer.h:
33183        * UIProcess/qt/QtPanGestureRecognizer.cpp:
33184        (WebKit::QtPanGestureRecognizer::QtPanGestureRecognizer):
33185        * UIProcess/qt/QtPanGestureRecognizer.h:
33186        * UIProcess/qt/QtPinchGestureRecognizer.cpp:
33187        (WebKit::QtPinchGestureRecognizer::QtPinchGestureRecognizer):
33188        * UIProcess/qt/QtPinchGestureRecognizer.h:
33189        * UIProcess/qt/QtPolicyInterface.h: Renamed from Source/WebKit2/UIProcess/qt/PolicyInterface.h.
33190        * UIProcess/qt/QtSGTileNode.cpp: Renamed from Source/WebKit2/UIProcess/qt/SGTileNode.cpp.
33191        (WebKit::QtSGTileNode::QtSGTileNode):
33192        (WebKit::QtSGTileNode::setBackBuffer):
33193        (WebKit::QtSGTileNode::swapBuffersIfNeeded):
33194        * UIProcess/qt/QtSGTileNode.h: Renamed from Source/WebKit2/UIProcess/qt/SGTileNode.h.
33195        * UIProcess/qt/QtSGUpdateQueue.cpp: Renamed from Source/WebKit2/UIProcess/qt/SGUpdateQueue.cpp.
33196        (WebKit::NodeUpdateCreateTile::NodeUpdateCreateTile):
33197        (WebKit::NodeUpdateRemoveTile::NodeUpdateRemoveTile):
33198        (WebKit::NodeUpdateSetBackBuffer::NodeUpdateSetBackBuffer):
33199        (WebKit::NodeUpdateSwapTileBuffers::NodeUpdateSwapTileBuffers):
33200        (WebKit::QtSGUpdateQueue::QtSGUpdateQueue):
33201        (WebKit::QtSGUpdateQueue::createTileNode):
33202        (WebKit::QtSGUpdateQueue::removeTileNode):
33203        (WebKit::QtSGUpdateQueue::setNodeBackBuffer):
33204        (WebKit::QtSGUpdateQueue::swapTileBuffers):
33205        (WebKit::QtSGUpdateQueue::applyUpdates):
33206        (WebKit::QtSGUpdateQueue::getScaleNode):
33207        * UIProcess/qt/QtSGUpdateQueue.h: Renamed from Source/WebKit2/UIProcess/qt/SGUpdateQueue.h.
33208        (WebKit::QtSGUpdateQueue::isSwapPending):
33209        (WebKit::NodeUpdate::NodeUpdate):
33210        (WebKit::NodeUpdate::~NodeUpdate):
33211        * UIProcess/qt/QtTouchViewInterface.cpp: Renamed from Source/WebKit2/UIProcess/qt/TouchViewInterface.cpp.
33212        (WebKit::QtTouchViewInterface::QtTouchViewInterface):
33213        (WebKit::QtTouchViewInterface::didFindZoomableArea):
33214        (WebKit::QtTouchViewInterface::sceneGraphUpdateQueue):
33215        (WebKit::QtTouchViewInterface::setViewNeedsDisplay):
33216        (WebKit::QtTouchViewInterface::drawingAreaSize):
33217        (WebKit::QtTouchViewInterface::contentSizeChanged):
33218        (WebKit::QtTouchViewInterface::isActive):
33219        (WebKit::QtTouchViewInterface::hasFocus):
33220        (WebKit::QtTouchViewInterface::isVisible):
33221        (WebKit::QtTouchViewInterface::startDrag):
33222        (WebKit::QtTouchViewInterface::didReceiveViewportArguments):
33223        (WebKit::QtTouchViewInterface::didChangeUrl):
33224        (WebKit::QtTouchViewInterface::didChangeTitle):
33225        (WebKit::QtTouchViewInterface::didChangeToolTip):
33226        (WebKit::QtTouchViewInterface::didChangeStatusText):
33227        (WebKit::QtTouchViewInterface::didChangeCursor):
33228        (WebKit::QtTouchViewInterface::loadDidBegin):
33229        (WebKit::QtTouchViewInterface::loadDidCommit):
33230        (WebKit::QtTouchViewInterface::loadDidSucceed):
33231        (WebKit::QtTouchViewInterface::loadDidFail):
33232        (WebKit::QtTouchViewInterface::didChangeLoadProgress):
33233        (WebKit::QtTouchViewInterface::showContextMenu):
33234        (WebKit::QtTouchViewInterface::hideContextMenu):
33235        (WebKit::QtTouchViewInterface::runJavaScriptAlert):
33236        (WebKit::QtTouchViewInterface::runJavaScriptConfirm):
33237        (WebKit::QtTouchViewInterface::runJavaScriptPrompt):
33238        (WebKit::QtTouchViewInterface::processDidCrash):
33239        (WebKit::QtTouchViewInterface::didRelaunchProcess):
33240        (WebKit::QtTouchViewInterface::engine):
33241        * UIProcess/qt/QtTouchViewInterface.h: Renamed from Source/WebKit2/UIProcess/qt/TouchViewInterface.h.
33242        (WebKit::QtTouchViewInterface::chooseFiles):
33243        (WebKit::QtTouchViewInterface::didMouseMoveOverElement):
33244        * UIProcess/qt/QtTouchWebPageProxy.cpp: Renamed from Source/WebKit2/UIProcess/qt/qtouchwebpageproxy.cpp.
33245        (QtTouchWebPageProxy::QtTouchWebPageProxy):
33246        (QtTouchWebPageProxy::createDrawingAreaProxy):
33247        (QtTouchWebPageProxy::processDidCrash):
33248        (QtTouchWebPageProxy::paintContent):
33249        (QtTouchWebPageProxy::doneWithTouchEvent):
33250        (QtTouchWebPageProxy::handleEvent):
33251        (QtTouchWebPageProxy::setVisibleContentRectAndScale):
33252        (QtTouchWebPageProxy::setVisibleContentRectTrajectoryVector):
33253        (QtTouchWebPageProxy::setResizesToContentsUsingLayoutSize):
33254        (QtTouchWebPageProxy::touchEvent):
33255        (QtTouchWebPageProxy::findZoomableAreaForPoint):
33256        (QtTouchWebPageProxy::renderNextFrame):
33257        * UIProcess/qt/QtTouchWebPageProxy.h: Renamed from Source/WebKit2/UIProcess/qt/qtouchwebpageproxy.h.
33258        (QtTouchWebPageProxy::touchViewInterface):
33259        (QtTouchWebPageProxy::drawingArea):
33260        * UIProcess/qt/QtViewInterface.h: Renamed from Source/WebKit2/UIProcess/qt/ViewInterface.h.
33261        * UIProcess/qt/QtViewportInteractionEngine.cpp: Renamed from Source/WebKit2/UIProcess/qt/ViewportInteractionEngine.cpp.
33262        (WebKit::visibleRectInContentCoordinate):
33263        (WebKit::contentRectInViewportCoordinate):
33264        (WebKit::ViewportUpdateGuard::ViewportUpdateGuard):
33265        (WebKit::ViewportUpdateGuard::~ViewportUpdateGuard):
33266        (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
33267        (WebKit::QtViewportInteractionEngine::~QtViewportInteractionEngine):
33268        (WebKit::QtViewportInteractionEngine::reset):
33269        (WebKit::QtViewportInteractionEngine::setConstraints):
33270        (WebKit::QtViewportInteractionEngine::panGestureStarted):
33271        (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
33272        (WebKit::QtViewportInteractionEngine::panGestureCancelled):
33273        (WebKit::QtViewportInteractionEngine::panGestureEnded):
33274        (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
33275        (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
33276        (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
33277        (WebKit::QtViewportInteractionEngine::contentViewportChanged):
33278        (WebKit::QtViewportInteractionEngine::updateContentIfNeeded):
33279        (WebKit::QtViewportInteractionEngine::updateContentScaleIfNeeded):
33280        (WebKit::QtViewportInteractionEngine::updateContentPositionIfNeeded):
33281        (WebKit::QtViewportInteractionEngine::animateContentIntoBoundariesIfNeeded):
33282        (WebKit::QtViewportInteractionEngine::animateContentPositionIntoBoundariesIfNeeded):
33283        (WebKit::QtViewportInteractionEngine::animateContentScaleIntoBoundariesIfNeeded):
33284        (WebKit::QtViewportInteractionEngine::scaleContent):
33285        * UIProcess/qt/QtViewportInteractionEngine.h: Renamed from Source/WebKit2/UIProcess/qt/ViewportInteractionEngine.h.
33286        (WebKit::QtViewportInteractionEngine::Constraints::Constraints):
33287        (WebKit::operator==):
33288        * UIProcess/qt/QtWebPageProxy.cpp:
33289        (QtWebPageProxy::QtWebPageProxy):
33290        (QtWebPageProxy::registerEditCommand):
33291        * UIProcess/qt/QtWebPageProxy.h:
33292        * UIProcess/qt/QtWebUndoCommand.cpp: Renamed from Source/WebKit2/UIProcess/qt/WebUndoCommandQt.cpp.
33293        (QtWebUndoCommand::QtWebUndoCommand):
33294        (QtWebUndoCommand::~QtWebUndoCommand):
33295        (QtWebUndoCommand::redo):
33296        (QtWebUndoCommand::undo):
33297        * UIProcess/qt/QtWebUndoCommand.h: Renamed from Source/WebKit2/UIProcess/qt/WebUndoCommandQt.h.
33298        (QtWebUndoCommand::inUndoRedo):
33299        * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
33300        (WebKit::TiledDrawingAreaProxy::updateWebView):
33301        * UIProcess/qt/WebContextMenuProxyQt.cpp:
33302        (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
33303        (WebKit::WebContextMenuProxyQt::create):
33304        * UIProcess/qt/WebContextMenuProxyQt.h:
33305        * WebKit2.pro:
33306
333072011-10-19  Tomasz Morawski  <t.morawski@samsung.com>
33308
33309        [EFL][WK2] Added missing dummy interpretKeyEvent function
33310        https://bugs.webkit.org/show_bug.cgi?id=70311
33311
33312        Reviewed by Ryosuke Niwa.
33313
33314        Added missing dummy interpretKeyEvent function needed to compile WK2.
33315
33316        * WebProcess/WebPage/efl/WebPageEfl.cpp:
33317        (WebKit::WebPage::interpretKeyEvent):
33318
333192011-10-18  Sam Weinig  <sam@webkit.org>
33320
33321        Move uses of C SPI out of WKView.h and into WKViewPrivate.h
33322        https://bugs.webkit.org/show_bug.cgi?id=70387
33323
33324        Reviewed by Dan Bernstein.
33325
33326        * UIProcess/API/mac/WKViewPrivate.h:
33327        Move declarations here.
33328
33329        * UIProcess/API/mac/WKView.h:
33330        * UIProcess/API/mac/WKView.mm:
33331        (-[WKView _updateRemoteAccessibilityRegistration:]):
33332        (-[WKView initWithFrame:]):
33333        (-[WKView initWithFrame:contextRef:]):
33334        (-[WKView _registerDraggedTypes]):
33335        (-[WKView initWithFrame:contextRef:pageGroupRef:]):
33336        (-[WKView pageRef]):
33337        (-[WKView canChangeFrameLayout:]):
33338        (-[WKView printOperationWithPrintInfo:forFrame:]):
33339        (-[WKView setFrame:andScrollBy:]):
33340        Move definitions to private category.
33341
33342        * UIProcess/API/mac/PDFViewController.mm:
33343        * UIProcess/mac/WKFullScreenWindowController.mm:
33344        * UIProcess/mac/WebInspectorProxyMac.mm:
33345        Update to include WKViewPrivate.h where necessary.
33346
333472011-10-18  Sam Weinig  <sam@webkit.org>
33348
33349        Stop leaking internal names in WKView API header
33350        https://bugs.webkit.org/show_bug.cgi?id=70380
33351
33352        Reviewed by Anders Carlsson.
33353
33354        Move _frameSizeUpdatesDisabledCount to WKViewData. Since we cannot change the size of
33355        WKView due to the fragile Objective-C ABI, we must rename the existing variable unused. If
33356        drop 32-bit support, we will be able to remove it.
33357
33358        * UIProcess/API/mac/WKView.h:
33359        * UIProcess/API/mac/WKView.mm:
33360        (-[WKView disableFrameSizeUpdates]):
33361        (-[WKView enableFrameSizeUpdates]):
33362        (-[WKView frameSizeUpdatesDisabled]):
33363        * WebKit2.xcodeproj/project.pbxproj:
33364
333652011-10-18  Alexey Proskuryakov  <ap@apple.com>
33366
33367        Expose PDF information in hit test result
33368        https://bugs.webkit.org/show_bug.cgi?id=70353
33369
33370        Reviewed by Sam Weinig.
33371
33372        * Shared/WebHitTestResult.cpp:
33373        (WebKit::WebHitTestResult::Data::encode):
33374        (WebKit::WebHitTestResult::Data::decode):
33375        * Shared/WebHitTestResult.h:
33376        (WebKit::WebHitTestResult::absolutePDFURL):
33377        * UIProcess/API/C/WKHitTestResult.cpp:
33378        (WKHitTestResultCopyAbsolutePDFURL):
33379        * UIProcess/API/C/WKHitTestResult.h:
33380        * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
33381        (WKBundleHitTestResultCopyAbsolutePDFURL):
33382        * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
33383        * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
33384        (WebKit::InjectedBundleHitTestResult::absolutePDFURL):
33385        * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
33386        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
33387        (WebKit::WebChromeClient::mouseDidMoveOverElement):
33388        Pass through PDF URL from hit testing to injected bundle client.
33389
333902011-10-18  Enrica Casucci  <enrica@apple.com>
33391
33392        Crash in WebProcess at com.apple.AppKit: -[NSFilePromiseDragSource draggedImage:endedAt:operation:] + 101
33393        https://bugs.webkit.org/show_bug.cgi?id=70340
33394        <rdar://problem/9548174>
33395                
33396        We have seen a number of crash reports for this issue that seem to occurr when
33397        the user drags an image from a web page onto the desktop.
33398        We have not been able to reproduce this crash, therefore this is a speculative fix,
33399        but the theory is that the dragging source has been already released when draggedImage
33400        is called.
33401        This patch attempts a fix for the problem by retaining the dragging source when
33402        NSFilePromiseDragSource is created.
33403
33404        Reviewed by Darin Adler.
33405
33406        * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
33407        (-[WKPasteboardFilePromiseOwner initWithSource:]):
33408        (-[WKPasteboardFilePromiseOwner dealloc]):
33409
334102011-10-18  Alexey Proskuryakov  <ap@apple.com>
33411
33412        [WK2] Crash after storing credentials in Keychain
33413        https://bugs.webkit.org/show_bug.cgi?id=70376
33414        <rdar://problem/9647503>
33415
33416        Reviewed by Dan Bernstein.
33417
33418        * Shared/mac/SecKeychainItemResponseData.cpp:
33419        (WebKit::SecKeychainItemResponseData::encode):
33420        (WebKit::SecKeychainItemResponseData::decode):
33421        Actually send keychain item over, too. In shimSecKeychainItemCreateFromContent(), we are
33422        going to use it to override SecKeychainItemCreateFromContent(), and we cannot return noErr
33423        from this function without returning a non-null keychain item.
33424
334252011-10-18  Damian Kaleta  <dkaleta@apple.com>
33426
33427        This revised fix doesn't break SL build.
33428        https://bugs.webkit.org/show_bug.cgi?id=70345
33429
33430        Reviewed and landed by Sam Weinig.
33431
33432        * UIProcess/API/mac/WKView.mm:
33433        (+[WKView hideWordDefinitionWindow]): Hides the definition window.
33434        * UIProcess/API/mac/WKViewPrivate.h:
33435
334362011-10-18  Sam Weinig  <sam@webkit.org>
33437
33438        Move spellCheckerDocumentTag and handleCorrectionPanelResult from WKViewPrivate to WKViewInternal
33439        https://bugs.webkit.org/show_bug.cgi?id=70377
33440
33441        Reviewed by Anders Carlsson.
33442
33443        * UIProcess/API/mac/WKView.mm:
33444        (-[WKView spellCheckerDocumentTag]):
33445        (-[WKView handleCorrectionPanelResult:]):
33446        Move definition of methods to (Internal) area.
33447
33448        * UIProcess/API/mac/WKViewInternal.h:
33449        Add methods.
33450
33451        * UIProcess/API/mac/WKViewPrivate.h:
33452        Remove methods.
33453
33454        * UIProcess/cf/WebBackForwardListCF.cpp:
33455        Add missing newline.
33456
33457        * UIProcess/mac/CorrectionPanel.mm:
33458        Change #include to WKViewInternal.h
33459
33460        * WebKit2.xcodeproj/project.pbxproj:
33461        Sort some files.
33462
334632011-10-18  Sam Weinig  <sam@webkit.org>
33464
33465        Move WKView helper files into a sub-group
33466        https://bugs.webkit.org/show_bug.cgi?id=70375
33467
33468        Reviewed by Darin Adler.
33469
33470        * WebKit2.xcodeproj/project.pbxproj:
33471        Move some files around.
33472
334732011-10-18  Sheriff Bot  <webkit.review.bot@gmail.com>
33474
33475        Unreviewed, rolling out r97788.
33476        http://trac.webkit.org/changeset/97788
33477        https://bugs.webkit.org/show_bug.cgi?id=70366
33478
33479        broke compile (Requested by inferno-sec on #webkit).
33480
33481        * UIProcess/API/mac/WKView.mm:
33482        * UIProcess/API/mac/WKViewPrivate.h:
33483
334842011-10-18  Damian Kaleta  <dkaleta@apple.com>
33485
33486        Add WebKit API to hide the definition window
33487        https://bugs.webkit.org/show_bug.cgi?id=70345
33488
33489        Reviewed by Anders Carlsson.
33490
33491        * UIProcess/API/mac/WKView.mm:
33492        (-[WKView hideWordDefinitionWindow]): Hides the definition window.
33493        * UIProcess/API/mac/WKViewPrivate.h:
33494
334952011-10-18  Adam Barth  <abarth@webkit.org>
33496
33497        Always enable ENABLE(XPATH)
33498        https://bugs.webkit.org/show_bug.cgi?id=70217
33499
33500        Reviewed by Eric Seidel.
33501
33502        * Configurations/FeatureDefines.xcconfig:
33503
335042011-10-18  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
33505
33506        [Qt] Merge QML plugin for WebKit2 with the original WebKit1 plugin
33507
33508        We don't need a separate plugin, as we no longer expose the WK2
33509        APIs under QtWebKit.experimental, but now use QtWebKit. The version
33510        was also changed to 3.0 instead of 5.0, as the original plugin was
33511        versioned 1.0, and bumping to 3.0 fits the scheme used by QtWebKit releases.
33512
33513        Reviewed by Andreas Kling.
33514
33515        * UIProcess/API/qt/qmlplugin/plugin.cpp: Removed.
33516        * UIProcess/API/qt/qmlplugin/qmldir: Removed.
33517        * UIProcess/API/qt/qmlplugin/qmlplugin.pro: Removed.
33518        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml:
33519        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadFail.qml:
33520        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgress.qml:
33521        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgressSignal.qml:
33522        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml:
33523        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml:
33524        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml:
33525        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml:
33526        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml:
33527        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml:
33528        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml:
33529        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml:
33530        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml:
33531        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml:
33532
335332011-10-18  Dinu Jacob  <dinu.jacob@nokia.com>
33534
33535        [Qt][WK2] ASSERT when displaying context menu in input field
33536        https://bugs.webkit.org/show_bug.cgi?id=69859
33537
33538        Reviewed by Simon Hausmann.
33539
33540        When creating a submenu in the context menu, the submenu of type
33541        QWidget is statically cast to QObject before calling setParent on
33542        it. QObject::setParent asserts if the object is a QWidget. So, call
33543        setParent of QWidget itself.
33544
33545        * UIProcess/qt/WebContextMenuProxyQt.cpp:
33546        (WebKit::WebContextMenuProxyQt::createContextMenu):
33547
335482011-10-18  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
33549
33550        [Qt] Fix linkHoveredDoesntEmitRepeated test in the bot
33551        https://bugs.webkit.org/show_bug.cgi?id=70329
33552
33553        Reviewed by Andreas Kling.
33554
33555        Use LoadSpy::wait() instead of the TestCase::tryCompare(). They should be equivalent,
33556        but I'm getting strange results with tryCompare(). This commit also adds an extra check
33557        to make sure the hovered link is the correct one.
33558
33559        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml:
33560
335612011-10-18  Alexis Menard  <alexis.menard@openbossa.org>
33562
33563        [Qt][WK2] Some QML tests were accidentally committed.
33564        https://bugs.webkit.org/show_bug.cgi?id=70321
33565
33566        Reviewed by Andreas Kling.
33567
33568        These tests were committed by accident. They should not be there.
33569
33570        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml:
33571
335722011-10-18  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
33573
33574        [Qt] Send mouse move events when we handle HoverEnter/Leave in QDesktopWebView
33575        https://bugs.webkit.org/show_bug.cgi?id=70297
33576
33577        Reviewed by Simon Hausmann.
33578
33579        Qt treat the first and last hover movements as special HoverMove and HoverLeave events, but
33580        WebKit doesn't make the difference, so we need to create move events for them.
33581
33582        While HoverEnter is in practice equivalent to HoverMove, the HoverLeave event is a bit
33583        different because we want to emulate that the mouse is not only leaving the current node, but
33584        completely leaving the whole document. The way to do this is to manufacture a move event with
33585        a very far position, and was inspired by WebView::handleMouseEvent() in
33586        Source/WebKit/win/WebView.cpp.
33587
33588        This patch fixes DesktopWebViewLinkHovered QML tests.
33589
33590        * UIProcess/qt/qdesktopwebpageproxy.cpp:
33591        (QDesktopWebPageProxy::handleEvent):
33592        (QDesktopWebPageProxy::handleHoverLeaveEvent):
33593        * UIProcess/qt/qdesktopwebpageproxy.h:
33594
335952011-10-18  Alexis Menard  <alexis.menard@openbossa.org>
33596
33597        [Qt][WK2] WebPreferences are impossible to use in QML.
33598        https://bugs.webkit.org/show_bug.cgi?id=70141
33599
33600        Reviewed by Kenneth Rohde Christiansen.
33601
33602        Make it possible to use qwkpreferences in QML. Renamed it
33603        to follow our new style regarding class names. This class is 
33604        now a QObject that is exposed as a property of the view.
33605        The tests give an idea of the usage.
33606
33607        * UIProcess/API/qt/WKView.h:
33608        * UIProcess/API/qt/qdesktopwebview.cpp:
33609        (QDesktopWebView::preferences):
33610        * UIProcess/API/qt/qdesktopwebview.h:
33611        * UIProcess/API/qt/qmlplugin/plugin.cpp:
33612        (WebKit2QmlPlugin::registerTypes):
33613        * UIProcess/API/qt/qtouchwebpage.cpp:
33614        (QTouchWebPage::preferences):
33615        * UIProcess/API/qt/qtouchwebpage.h:
33616        * UIProcess/API/qt/qwebpreferences.cpp: Added.
33617        (QWebPreferencesPrivate::createPreferences):
33618        (QWebPreferencesPrivate::testAttribute):
33619        (QWebPreferencesPrivate::setAttribute):
33620        (QWebPreferencesPrivate::setFontFamily):
33621        (QWebPreferencesPrivate::fontFamily):
33622        (QWebPreferencesPrivate::setFontSize):
33623        (QWebPreferencesPrivate::fontSize):
33624        (QWebPreferences::QWebPreferences):
33625        (QWebPreferences::~QWebPreferences):
33626        (QWebPreferences::autoLoadImages):
33627        (QWebPreferences::setAutoLoadImages):
33628        (QWebPreferences::javascriptEnabled):
33629        (QWebPreferences::setJavascriptEnabled):
33630        (QWebPreferences::pluginsEnabled):
33631        (QWebPreferences::setPluginsEnabled):
33632        (QWebPreferences::offlineWebApplicationCacheEnabled):
33633        (QWebPreferences::setOfflineWebApplicationCacheEnabled):
33634        (QWebPreferences::localStorageEnabled):
33635        (QWebPreferences::setLocalStorageEnabled):
33636        (QWebPreferences::XSSAuditingEnabled):
33637        (QWebPreferences::setXSSAuditingEnabled):
33638        (QWebPreferences::privateBrowsingEnabled):
33639        (QWebPreferences::setPrivateBrowsingEnabled):
33640        (QWebPreferences::dnsPrefetchEnabled):
33641        (QWebPreferences::setDnsPrefetchEnabled):
33642        (QWebPreferences::standardFontFamily):
33643        (QWebPreferences::setStandardFontFamily):
33644        (QWebPreferences::fixedFontFamily):
33645        (QWebPreferences::setFixedFontFamily):
33646        (QWebPreferences::serifFontFamily):
33647        (QWebPreferences::setSerifFontFamily):
33648        (QWebPreferences::sansSerifFontFamily):
33649        (QWebPreferences::setSansSerifFontFamily):
33650        (QWebPreferences::cursiveFontFamily):
33651        (QWebPreferences::setCursiveFontFamily):
33652        (QWebPreferences::fantasyFontFamily):
33653        (QWebPreferences::setFantasyFontFamily):
33654        (QWebPreferences::minimumFontSize):
33655        (QWebPreferences::setMinimumFontSize):
33656        (QWebPreferences::defaultFontSize):
33657        (QWebPreferences::setDefaultFontSize):
33658        (QWebPreferences::defaultFixedFontSize):
33659        (QWebPreferences::setDefaultFixedFontSize):
33660        * UIProcess/API/qt/qwebpreferences.h: Added.
33661        * UIProcess/API/qt/qwebpreferences_p.h: Added.
33662        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml: Added.
33663        * UIProcess/API/qt/tests/qmltests/common/javascript.html: Added.
33664        * UIProcess/API/qt/tests/qmltests/common/localStorage.html: Added.
33665        * UIProcess/qt/QtWebPageProxy.cpp:
33666        (QtWebPageProxy::preferences):
33667        * UIProcess/qt/QtWebPageProxy.h:
33668        * UIProcess/qt/qwkpreferences.cpp: Removed.
33669        * UIProcess/qt/qwkpreferences.h: Removed.
33670        * UIProcess/qt/qwkpreferences_p.h: Removed.
33671        * WebKit2.pro:
33672        * WebKit2API.pri:
33673
336742011-10-18  Tomasz Morawski  <t.morawski@samsung.com>
33675
33676        [EFL][WK2] Fix compilation error by include WebErrors.h file.
33677        https://bugs.webkit.org/show_bug.cgi?id=70309
33678
33679        Unreviewed build fix
33680
33681        Added a header file to fix compilation error.
33682
33683        * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
33684
336852011-10-18  Adenilson Cavalcanti  <adenilson.silva@openbossa.org>
33686
33687        [Qt][WK2] Implement geolocation provider for qt port
33688        https://bugs.webkit.org/show_bug.cgi?id=59199
33689
33690        Reviewed by Simon Hausmann.
33691
33692        Based on patch by Kenneth Christiansen <kenneth.r.christiansen@nokia.com>
33693
33694        Implements default location provider for WK2 QtWebKit (WebGeolocationProviderQt),
33695        allowing QtWebKit clients to implement or override their own provider using WK2 APIs.
33696
33697        * UIProcess/API/C/WKGeolocationManager.h:
33698        * UIProcess/qt/WebContextQt.cpp:
33699        (WebKit::WebContext::platformInitializeWebProcess):
33700        * UIProcess/qt/WebGeolocationProviderQt.cpp: Added.
33701        (toLocationProvider):
33702        (locationStartUpdating):
33703        (locationStopUpdating):
33704        (WebGeolocationProviderQt::create):
33705        (WebGeolocationProviderQt::provider):
33706        (WebGeolocationProviderQt::WebGeolocationProviderQt):
33707        (WebGeolocationProviderQt::~WebGeolocationProviderQt):
33708        (WebGeolocationProviderQt::updateTimeout):
33709        (WebGeolocationProviderQt::positionUpdated):
33710        (WebGeolocationProviderQt::startUpdating):
33711        (WebGeolocationProviderQt::stopUpdating):
33712        * UIProcess/qt/WebGeolocationProviderQt.h: Added.
33713        * WebKit2.pro:
33714
337152011-10-18  Carlos Garcia Campos  <cgarcia@igalia.com>
33716
33717        [UNIX] Use SOCK_SEQPACKET when available
33718        https://bugs.webkit.org/show_bug.cgi?id=61287
33719
33720        Reviewed by Darin Adler.
33721
33722        Sockets of type SEQPACKET are actually DGRAM sockets but that
33723        notifies the other end when the connection is closed. When
33724        SEQPACKET sockets are not available GTK+ port uses STREAM sockets
33725        while Qt port uses DGRAM sockets.
33726
33727        * PluginProcess/PluginProcess.cpp: Use SOCK_SEQPACKET if possible.
33728        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
33729        (WebKit::ProcessLauncher::launchProcess): Ditto.
33730        * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
33731        (WebKit::ProcessLauncher::launchProcess): Ditto.
33732
337332011-10-17  Jon Lee  <jonlee@apple.com>
33734
33735        Filtering of URLs when serializing back forward list saves bad current index value
33736        https://bugs.webkit.org/show_bug.cgi?id=70282
33737        <rdar://problem/10057763>
33738
33739        Reviewed by Sam Weinig.
33740
33741        When reading the serialized b-f list, perform a sanity check on the current index.
33742        If it is invalid, we set it to NoCurrentItemIndex to prevent further corruption of
33743        the list.
33744
33745        When serializing the b-f list, currentIndex can be negative in the case where the list
33746        has one item only, and that item gets filtered out. In this instance currentIndex should
33747        just be -1. A crashing case showed an index that was more negative, a situation that I
33748        could not replicate. Since this value will get cleaned up when the b-f list is restored,
33749        I just strengthened the assertion to check for a more negative index in case we run into it again.
33750
33751        * UIProcess/cf/WebBackForwardListCF.cpp:
33752        (WebKit::WebBackForwardList::createCFDictionaryRepresentation): Update the assertion
33753        in case we go beyond NoCurrentItemIndex (which, as an int, is -1).
33754        (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation):
33755
337562011-10-14  Chris Marrin  <cmarrin@apple.com>
33757
33758        Throttle rate of requestAnimationFrame when page is not visible
33759        https://bugs.webkit.org/show_bug.cgi?id=67873
33760
33761        Reviewed by Anders Carlsson.
33762
33763        Plumb through notification when the window is hidden/shown or
33764        minimized/unminimized
33765
33766        * WebProcess/WebPage/DrawingAreaImpl.cpp:
33767        (WebKit::DrawingAreaImpl::suspendPainting):
33768        (WebKit::DrawingAreaImpl::resumePainting):
33769
337702011-10-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
33771
33772        [Qt][WK2] Synchronize tiling with accelerated compositing
33773        https://bugs.webkit.org/show_bug.cgi?id=69151
33774
33775        Reviewed by Simon Hausmann.
33776
33777        Make the tiled "non-composited" content and the composited layers go through the same
33778        code path on WebKit2. Instead of having a "drawing area" that handles the non-composited
33779        content and a seperate layer tree, we put everything in a layer tree, with the non-
33780        composited content being a layer in the tree.
33781
33782        This allows fixing several issues with websites that have large content areas that are
33783        composited or overlap with composited layers.
33784
33785        Layer-tree synchronization is done by passing WebKit2 messages between a LayerTreeHost
33786        on the WebProcess and a LayerTreeHostProxy on the UI process. Every layer in the tree has
33787        its own tiled backing store, and uses the LayerTreeHost communication channel to pass
33788        content up to the UI process. The UI process will later creates its own GraphicsLayer tree,
33789        based on TextureMapper, which can be painted directly with OpenGL.
33790
33791        Several optimizations are available for the non-composited layer as well, e.g. specifying
33792        a trajectory and updating the visible rect together with the content scale.
33793
33794        This code is currently disabled, a separate patch will enable it and glue it to
33795        QTouchWebPage.
33796
33797        * DerivedSources.pro:
33798        * Platform/CoreIPC/MessageID.h:
33799        * Scripts/webkit2/messages.py:
33800        * Shared/LayerTreeContext.h:
33801        * Shared/WebLayerTreeInfo.cpp:
33802        (WebKit::WebLayerInfo::encode):
33803        (WebKit::WebLayerInfo::decode):
33804        * Shared/WebLayerTreeInfo.h:
33805        * Shared/qt/LayerTreeContextQt.cpp:
33806        (WebKit::LayerTreeContext::LayerTreeContext):
33807        (WebKit::LayerTreeContext::~LayerTreeContext):
33808        (WebKit::LayerTreeContext::encode):
33809        (WebKit::LayerTreeContext::decode):
33810        (WebKit::LayerTreeContext::isEmpty):
33811        (WebKit::operator==):
33812        * UIProcess/DrawingAreaProxy.cpp:
33813        (WebKit::DrawingAreaProxy::updateWebView):
33814        (WebKit::DrawingAreaProxy::contentsRect):
33815        * UIProcess/DrawingAreaProxy.h:
33816        (WebKit::DrawingAreaProxy::viewportVisibleRect):
33817        (WebKit::DrawingAreaProxy::isBackingStoreReady):
33818        (WebKit::DrawingAreaProxy::paintToCurrentGLContext):
33819        (WebKit::DrawingAreaProxy::setVisibleContentsRectAndScale):
33820        (WebKit::DrawingAreaProxy::setVisibleContentRectTrajectoryVector):
33821        (WebKit::DrawingAreaProxy::createTileForLayer):
33822        (WebKit::DrawingAreaProxy::updateTileForLayer):
33823        (WebKit::DrawingAreaProxy::removeTileForLayer):
33824        (WebKit::DrawingAreaProxy::didReceiveLayerTreeHostProxyMessage):
33825        (WebKit::DrawingAreaProxy::page):
33826        * UIProcess/DrawingAreaProxyImpl.cpp:
33827        (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
33828        (WebKit::DrawingAreaProxyImpl::didReceiveLayerTreeHostProxyMessage):
33829        (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectAndScale):
33830        (WebKit::DrawingAreaProxyImpl::setVisibleContentRectTrajectoryVector):
33831        (WebKit::DrawingAreaProxyImpl::paintToCurrentGLContext):
33832        * UIProcess/DrawingAreaProxyImpl.h:
33833        * UIProcess/LayerTreeHostProxy.h: Added.
33834        (WebKit::LayerTreeHostProxy::layerByID):
33835        (WebKit::LayerTreeHostProxy::rootLayer):
33836        (WebKit::LayerTreeHostProxy::notifyAnimationStarted):
33837        (WebKit::LayerTreeHostProxy::notifySyncRequired):
33838        (WebKit::LayerTreeHostProxy::showDebugBorders):
33839        (WebKit::LayerTreeHostProxy::showRepaintCounter):
33840        (WebKit::LayerTreeHostProxy::paintContents):
33841        * UIProcess/LayerTreeHostProxy.messages.in: Added.
33842        * UIProcess/WebPageProxy.cpp:
33843        (WebKit::WebPageProxy::didReceiveMessage):
33844        * UIProcess/qt/LayerTreeHostProxyQt.cpp: Added.
33845        * WebKit2.pro:
33846        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
33847        (WebCore::WebGraphicsLayer::WebGraphicsLayer):
33848        (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
33849        (WebCore::WebGraphicsLayer::setChildren):
33850        (WebCore::WebGraphicsLayer::addChild):
33851        (WebCore::WebGraphicsLayer::addChildAtIndex):
33852        (WebCore::WebGraphicsLayer::addChildAbove):
33853        (WebCore::WebGraphicsLayer::addChildBelow):
33854        (WebCore::WebGraphicsLayer::replaceChild):
33855        (WebCore::WebGraphicsLayer::removeFromParent):
33856        (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
33857        (WebCore::WebGraphicsLayer::setContentsToImage):
33858        (WebCore::WebGraphicsLayer::setNeedsDisplay):
33859        (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
33860        (WebCore::WebGraphicsLayer::syncCompositingState):
33861        (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
33862        (WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin):
33863        (WebCore::WebGraphicsLayer::setContentsScale):
33864        (WebCore::WebGraphicsLayer::setRootLayer):
33865        (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
33866        (WebCore::WebGraphicsLayer::setVisibleContentRect):
33867        (WebCore::WebGraphicsLayer::tiledBackingStorePaint):
33868        (WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd):
33869        (WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed):
33870        (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
33871        (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
33872        (WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor):
33873        (WebCore::WebGraphicsLayer::createTile):
33874        (WebCore::WebGraphicsLayer::updateTile):
33875        (WebCore::WebGraphicsLayer::removeTile):
33876        (WebCore::WebGraphicsLayer::updateTileBuffersRecursively):
33877        (WebCore::WebGraphicsLayer::layerTreeTileClient):
33878        (WebCore::WebGraphicsLayer::updateContentBuffers):
33879        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
33880        (WebCore::WebGraphicsLayer::setLayerTreeTileClient):
33881        * WebProcess/WebPage/DrawingArea.h:
33882        * WebProcess/WebPage/DrawingAreaImpl.cpp:
33883        (WebKit::DrawingAreaImpl::didReceiveLayerTreeHostMessage):
33884        * WebProcess/WebPage/DrawingAreaImpl.h:
33885        * WebProcess/WebPage/LayerTreeHost.cpp:
33886        (WebKit::LayerTreeHost::create):
33887        * WebProcess/WebPage/LayerTreeHost.h:
33888        (WebKit::LayerTreeHost::setVisibleContentRectAndScale):
33889        (WebKit::LayerTreeHost::setVisibleContentRectTrajectoryVector):
33890        (WebKit::LayerTreeHost::setVisibleContentRectForLayer):
33891        (WebKit::LayerTreeHost::renderNextFrame):
33892        * WebProcess/WebPage/LayerTreeHost.messages.in: Added.
33893        * WebProcess/WebPage/TiledDrawingArea.cpp:
33894        (WebKit::TiledDrawingArea::didReceiveLayerTreeHostMessage):
33895        * WebProcess/WebPage/TiledDrawingArea.h:
33896        * WebProcess/WebPage/WebPage.cpp:
33897        (WebKit::WebPage::didReceiveMessage):
33898        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
33899        (WebKit::LayerTreeHostQt::create):
33900        (WebKit::LayerTreeHostQt::~LayerTreeHostQt):
33901        (WebKit::LayerTreeHostQt::LayerTreeHostQt):
33902        (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled):
33903        (WebKit::LayerTreeHostQt::scheduleLayerFlush):
33904        (WebKit::LayerTreeHostQt::cancelPendingLayerFlush):
33905        (WebKit::LayerTreeHostQt::setShouldNotifyAfterNextScheduledLayerFlush):
33906        (WebKit::LayerTreeHostQt::setRootCompositingLayer):
33907        (WebKit::LayerTreeHostQt::invalidate):
33908        (WebKit::LayerTreeHostQt::setNonCompositedContentsNeedDisplay):
33909        (WebKit::LayerTreeHostQt::scrollNonCompositedContents):
33910        (WebKit::LayerTreeHostQt::forceRepaint):
33911        (WebKit::LayerTreeHostQt::sizeDidChange):
33912        (WebKit::LayerTreeHostQt::didInstallPageOverlay):
33913        (WebKit::LayerTreeHostQt::didUninstallPageOverlay):
33914        (WebKit::LayerTreeHostQt::setPageOverlayNeedsDisplay):
33915        (WebKit::LayerTreeHostQt::flushPendingLayerChanges):
33916        (WebKit::LayerTreeHostQt::didSyncCompositingStateForLayer):
33917        (WebKit::LayerTreeHostQt::didDeleteLayer):
33918        (WebKit::LayerTreeHostQt::performScheduledLayerFlush):
33919        (WebKit::LayerTreeHostQt::layerFlushTimerFired):
33920        (WebKit::LayerTreeHostQt::createPageOverlayLayer):
33921        (WebKit::LayerTreeHostQt::destroyPageOverlayLayer):
33922        (WebKit::LayerTreeHostQt::adoptImageBackingStore):
33923        (WebKit::LayerTreeHostQt::releaseImageBackingStore):
33924        (WebKit::LayerTreeHostQt::notifyAnimationStarted):
33925        (WebKit::LayerTreeHostQt::notifySyncRequired):
33926        (WebKit::LayerTreeHostQt::paintContents):
33927        (WebKit::LayerTreeHostQt::showDebugBorders):
33928        (WebKit::LayerTreeHostQt::showRepaintCounter):
33929        (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
33930        (WebKit::LayerTreeHostQt::createTile):
33931        (WebKit::LayerTreeHostQt::updateTile):
33932        (WebKit::LayerTreeHostQt::removeTile):
33933        (WebKit::LayerTreeHostQt::setVisibleContentRectForLayer):
33934        (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
33935        (WebKit::LayerTreeHostQt::setVisibleContentRectTrajectoryVector):
33936        (WebKit::LayerTreeHostQt::renderNextFrame):
33937        (WebKit::LayerTreeHostQt::layerTreeTileUpdatesAllowed):
33938+
33939
339402011-10-17  Ada Chan  <adachan@apple.com>
33941
33942        Calling WKPageLoadAlternateHTMLString() where baseURL does not point to a directory causes an invalid message to be returned from WebProcess
33943        https://bugs.webkit.org/show_bug.cgi?id=70168
33944
33945        Reviewed by Alexey Proskuryakov.
33946
33947        * UIProcess/WebProcessProxy.cpp:
33948        (WebKit::WebProcessProxy::assumeReadAccessToBaseURL): Add the file path of url's base URL to m_localPathsWithAssumedReadAccess,
33949        since url may not point to a directory.
33950
339512011-10-17  Carlos Garcia Campos  <cgarcia@igalia.com>
33952
33953        [GTK] Add methods to get/set a custom text enconding to WebKit2 GTK+ API
33954        https://bugs.webkit.org/show_bug.cgi?id=69524
33955
33956        Reviewed by Martin Robinson.
33957
33958        * UIProcess/API/gtk/WebKitWebView.cpp:
33959        (webkit_web_view_get_custom_charset):
33960        (webkit_web_view_set_custom_charset):
33961        * UIProcess/API/gtk/WebKitWebView.h:
33962        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
33963        (testWebViewCustomCharset):
33964        (beforeAll):
33965
339662011-10-14  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
33967
33968        [Qt][WK2] Implement decidePolicyForResponse in our PolicyClient
33969        https://bugs.webkit.org/show_bug.cgi?id=69832
33970
33971        Reviewed by Kenneth Rohde Christiansen.
33972
33973        We implement decidePolicyForResponse in our PolicyClient in order to
33974        decide whether a given ResourceResponse should be downloaded or loaded.
33975
33976        * Shared/qt/WebCoreArgumentCodersQt.cpp:
33977        (CoreIPC::::encode):
33978        (CoreIPC::::decode):
33979        Implement serialization of ResourceResponse.
33980
33981        * UIProcess/qt/ClientImpl.cpp:
33982        (qt_wk_decidePolicyForResponse):
33983        * UIProcess/qt/ClientImpl.h:
33984        * UIProcess/qt/QtWebPageProxy.cpp:
33985        (QtWebPageProxy::init):
33986
339872011-10-17  Nayan Kumar K  <nayankk@motorola.com>
33988
33989        [WebKit2][gtk] Rename WEBKIT_POLICY_ERROR_CANNOT_SHOW_URL to WEBKIT_POLICY_ERROR_CANNOT_SHOW_URI
33990        https://bugs.webkit.org/show_bug.cgi?id=70040
33991
33992        Reviewed by Martin Robinson.
33993
33994        * UIProcess/API/gtk/WebKitError.cpp:
33995        * UIProcess/API/gtk/WebKitError.h:
33996
339972011-10-16  Adam Barth  <abarth@webkit.org>
33998
33999        Always enable ENABLE(DOM_STORAGE)
34000        https://bugs.webkit.org/show_bug.cgi?id=70189
34001
34002        Reviewed by Eric Seidel.
34003
34004        * Configurations/FeatureDefines.xcconfig:
34005        * WebProcess/WebPage/WebPage.cpp:
34006        (WebKit::WebPage::updatePreferences):
34007        * WebProcess/WebProcess.cpp:
34008        (WebKit::WebProcess::initializeWebProcess):
34009
340102011-10-15  Adam Barth  <abarth@webkit.org>
34011
34012        Rename ENABLE(TILED_BACKING_STORE) to USE(TILED_BACKING_STORE)
34013        https://bugs.webkit.org/show_bug.cgi?id=70194
34014
34015        Reviewed by Daniel Bates.
34016
34017        * Shared/DrawingAreaInfo.h:
34018        * UIProcess/DrawingAreaProxy.h:
34019        * UIProcess/DrawingAreaProxy.messages.in:
34020        * UIProcess/PageClient.h:
34021        * UIProcess/TiledDrawingAreaProxy.cpp:
34022        * UIProcess/TiledDrawingAreaProxy.h:
34023        * UIProcess/WebPageProxy.cpp:
34024        * UIProcess/WebPageProxy.h:
34025        * UIProcess/WebPageProxy.messages.in:
34026        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
34027        (WebKit::WebChromeClient::contentsSizeChanged):
34028        * WebProcess/WebCoreSupport/WebChromeClient.h:
34029        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
34030        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
34031        * WebProcess/WebPage/DrawingArea.cpp:
34032        (WebKit::DrawingArea::create):
34033        * WebProcess/WebPage/DrawingArea.h:
34034        * WebProcess/WebPage/DrawingArea.messages.in:
34035        * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
34036        * WebProcess/WebPage/TiledBackingStoreRemoteTile.h:
34037        * WebProcess/WebPage/TiledDrawingArea.cpp:
34038        * WebProcess/WebPage/TiledDrawingArea.h:
34039        * WebProcess/WebPage/WebPage.cpp:
34040        (WebKit::WebPage::setSize):
34041        * WebProcess/WebPage/WebPage.h:
34042        * WebProcess/WebPage/WebPage.messages.in:
34043
340442011-10-15  Sheriff Bot  <webkit.review.bot@gmail.com>
34045
34046        Unreviewed, rolling out r97559.
34047        http://trac.webkit.org/changeset/97559
34048        https://bugs.webkit.org/show_bug.cgi?id=70176
34049
34050        Broke build on Mac (Requested by noamr_ on #webkit).
34051
34052        * DerivedSources.pro:
34053        * Platform/CoreIPC/MessageID.h:
34054        * Scripts/webkit2/messages.py:
34055        * Shared/LayerTreeContext.h:
34056        * Shared/WebLayerTreeInfo.cpp:
34057        (WebKit::WebLayerInfo::encode):
34058        (WebKit::WebLayerInfo::decode):
34059        * Shared/WebLayerTreeInfo.h:
34060        * Shared/qt/LayerTreeContextQt.cpp:
34061        (WebKit::LayerTreeContext::LayerTreeContext):
34062        (WebKit::LayerTreeContext::~LayerTreeContext):
34063        (WebKit::LayerTreeContext::encode):
34064        (WebKit::LayerTreeContext::decode):
34065        (WebKit::LayerTreeContext::isEmpty):
34066        (WebKit::operator==):
34067        * UIProcess/DrawingAreaProxy.cpp:
34068        * UIProcess/DrawingAreaProxy.h:
34069        * UIProcess/DrawingAreaProxyImpl.cpp:
34070        (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
34071        * UIProcess/DrawingAreaProxyImpl.h:
34072        * UIProcess/LayerTreeHostProxy.h: Removed.
34073        * UIProcess/LayerTreeHostProxy.messages.in: Removed.
34074        * UIProcess/WebPageProxy.cpp:
34075        (WebKit::WebPageProxy::didReceiveMessage):
34076        * UIProcess/qt/LayerTreeHostProxyQt.cpp: Removed.
34077        * WebKit2.pro:
34078        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
34079        (WebCore::deletedLayerIDs):
34080        (WebCore::WebGraphicsLayer::WebGraphicsLayer):
34081        (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
34082        (WebCore::WebGraphicsLayer::setChildren):
34083        (WebCore::WebGraphicsLayer::addChild):
34084        (WebCore::WebGraphicsLayer::addChildAtIndex):
34085        (WebCore::WebGraphicsLayer::addChildAbove):
34086        (WebCore::WebGraphicsLayer::addChildBelow):
34087        (WebCore::WebGraphicsLayer::replaceChild):
34088        (WebCore::WebGraphicsLayer::removeFromParent):
34089        (WebCore::WebGraphicsLayer::setContentsRect):
34090        (WebCore::WebGraphicsLayer::setContentsToImage):
34091        (WebCore::WebGraphicsLayer::setNeedsDisplay):
34092        (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
34093        (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
34094        (WebCore::WebGraphicsLayer::didSynchronize):
34095        (WebCore::WebGraphicsLayer::layerInfo):
34096        (WebCore::WebGraphicsLayer::syncCompositingState):
34097        (WebCore::WebGraphicsLayer::needsDisplayRect):
34098        (WebCore::WebGraphicsLayer::takeLayersToDelete):
34099        (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
34100        (WebCore::divideIntoTiles):
34101        (WebCore::collectCompositingInfoForThisLayer):
34102        (WebCore::collectCompositingInfoRecursively):
34103        (WebCore::WebGraphicsLayer::sendLayersToUIProcess):
34104        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
34105        * WebProcess/WebPage/DrawingArea.h:
34106        * WebProcess/WebPage/DrawingAreaImpl.cpp:
34107        * WebProcess/WebPage/DrawingAreaImpl.h:
34108        * WebProcess/WebPage/LayerTreeHost.cpp:
34109        (WebKit::LayerTreeHost::create):
34110        * WebProcess/WebPage/LayerTreeHost.h:
34111        * WebProcess/WebPage/LayerTreeHost.messages.in: Removed.
34112        * WebProcess/WebPage/TiledDrawingArea.cpp:
34113        * WebProcess/WebPage/TiledDrawingArea.h:
34114        * WebProcess/WebPage/WebPage.cpp:
34115        (WebKit::WebPage::didReceiveMessage):
34116        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
34117        * WebProcess/WebPage/qt/LayerTreeHostQt.h: Removed.
34118
341192011-10-15  No'am Rosenthal  <noam.rosenthal@nokia.com>
34120
34121        [Qt][WK2] Synchronize tiling with accelerated compositing
34122        https://bugs.webkit.org/show_bug.cgi?id=69151
34123
34124        Reviewed by Simon Hausmann.
34125
34126        Make the tiled "non-composited" content and the composited layers go through the same
34127        code path on WebKit2. Instead of having a "drawing area" that handles the non-composited
34128        content and a seperate layer tree, we put everything in a layer tree, with the non-
34129        composited content being a layer in the tree.
34130
34131        This allows fixing several issues with websites that have large content areas that are
34132        composited or overlap with composited layers.
34133
34134        Layer-tree synchronization is done by passing WebKit2 messages between a LayerTreeHost
34135        on the WebProcess and a LayerTreeHostProxy on the UI process. Every layer in the tree has
34136        its own tiled backing store, and uses the LayerTreeHost communication channel to pass
34137        content up to the UI process. The UI process will later creates its own GraphicsLayer tree,
34138        based on TextureMapper, which can be painted directly with OpenGL.
34139
34140        Several optimizations are available for the non-composited layer as well, e.g. specifying
34141        a trajectory and updating the visible rect together with the content scale.
34142
34143        This code is currently disabled, a separate patch will enable it and glue it to
34144        QTouchWebPage.
34145
34146        * DerivedSources.pro:
34147        * Platform/CoreIPC/MessageID.h:
34148        * Scripts/webkit2/messages.py:
34149        * Shared/LayerTreeContext.h:
34150        * Shared/WebLayerTreeInfo.cpp:
34151        (WebKit::WebLayerInfo::encode):
34152        (WebKit::WebLayerInfo::decode):
34153        * Shared/WebLayerTreeInfo.h:
34154        * Shared/qt/LayerTreeContextQt.cpp:
34155        (WebKit::LayerTreeContext::LayerTreeContext):
34156        (WebKit::LayerTreeContext::~LayerTreeContext):
34157        (WebKit::LayerTreeContext::encode):
34158        (WebKit::LayerTreeContext::decode):
34159        (WebKit::LayerTreeContext::isEmpty):
34160        (WebKit::operator==):
34161        * UIProcess/DrawingAreaProxy.cpp:
34162        (WebKit::DrawingAreaProxy::updateWebView):
34163        (WebKit::DrawingAreaProxy::contentsRect):
34164        * UIProcess/DrawingAreaProxy.h:
34165        (WebKit::DrawingAreaProxy::viewportVisibleRect):
34166        (WebKit::DrawingAreaProxy::isBackingStoreReady):
34167        (WebKit::DrawingAreaProxy::paintToCurrentGLContext):
34168        (WebKit::DrawingAreaProxy::setVisibleContentsRectAndScale):
34169        (WebKit::DrawingAreaProxy::setVisibleContentRectTrajectoryVector):
34170        (WebKit::DrawingAreaProxy::createTileForLayer):
34171        (WebKit::DrawingAreaProxy::updateTileForLayer):
34172        (WebKit::DrawingAreaProxy::removeTileForLayer):
34173        (WebKit::DrawingAreaProxy::didReceiveLayerTreeHostProxyMessage):
34174        (WebKit::DrawingAreaProxy::page):
34175        * UIProcess/DrawingAreaProxyImpl.cpp:
34176        (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
34177        (WebKit::DrawingAreaProxyImpl::didReceiveLayerTreeHostProxyMessage):
34178        (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectAndScale):
34179        (WebKit::DrawingAreaProxyImpl::setVisibleContentRectTrajectoryVector):
34180        (WebKit::DrawingAreaProxyImpl::paintToCurrentGLContext):
34181        * UIProcess/DrawingAreaProxyImpl.h:
34182        * UIProcess/LayerTreeHostProxy.h: Added.
34183        (WebKit::LayerTreeHostProxy::layerByID):
34184        (WebKit::LayerTreeHostProxy::rootLayer):
34185        (WebKit::LayerTreeHostProxy::notifyAnimationStarted):
34186        (WebKit::LayerTreeHostProxy::notifySyncRequired):
34187        (WebKit::LayerTreeHostProxy::showDebugBorders):
34188        (WebKit::LayerTreeHostProxy::showRepaintCounter):
34189        (WebKit::LayerTreeHostProxy::paintContents):
34190        * UIProcess/LayerTreeHostProxy.messages.in: Added.
34191        * UIProcess/WebPageProxy.cpp:
34192        (WebKit::WebPageProxy::didReceiveMessage):
34193        * UIProcess/qt/LayerTreeHostProxyQt.cpp: Added.
34194        * WebKit2.pro:
34195        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
34196        (WebCore::WebGraphicsLayer::WebGraphicsLayer):
34197        (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
34198        (WebCore::WebGraphicsLayer::setChildren):
34199        (WebCore::WebGraphicsLayer::addChild):
34200        (WebCore::WebGraphicsLayer::addChildAtIndex):
34201        (WebCore::WebGraphicsLayer::addChildAbove):
34202        (WebCore::WebGraphicsLayer::addChildBelow):
34203        (WebCore::WebGraphicsLayer::replaceChild):
34204        (WebCore::WebGraphicsLayer::removeFromParent):
34205        (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
34206        (WebCore::WebGraphicsLayer::setContentsToImage):
34207        (WebCore::WebGraphicsLayer::setNeedsDisplay):
34208        (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
34209        (WebCore::WebGraphicsLayer::syncCompositingState):
34210        (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
34211        (WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin):
34212        (WebCore::WebGraphicsLayer::setContentsScale):
34213        (WebCore::WebGraphicsLayer::setRootLayer):
34214        (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
34215        (WebCore::WebGraphicsLayer::setVisibleContentRect):
34216        (WebCore::WebGraphicsLayer::tiledBackingStorePaint):
34217        (WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd):
34218        (WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed):
34219        (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
34220        (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
34221        (WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor):
34222        (WebCore::WebGraphicsLayer::createTile):
34223        (WebCore::WebGraphicsLayer::updateTile):
34224        (WebCore::WebGraphicsLayer::removeTile):
34225        (WebCore::WebGraphicsLayer::updateTileBuffersRecursively):
34226        (WebCore::WebGraphicsLayer::layerTreeTileClient):
34227        (WebCore::WebGraphicsLayer::updateContentBuffers):
34228        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
34229        (WebCore::WebGraphicsLayer::setLayerTreeTileClient):
34230        * WebProcess/WebPage/DrawingArea.h:
34231        * WebProcess/WebPage/DrawingAreaImpl.cpp:
34232        (WebKit::DrawingAreaImpl::didReceiveLayerTreeHostMessage):
34233        * WebProcess/WebPage/DrawingAreaImpl.h:
34234        * WebProcess/WebPage/LayerTreeHost.cpp:
34235        (WebKit::LayerTreeHost::create):
34236        * WebProcess/WebPage/LayerTreeHost.h:
34237        (WebKit::LayerTreeHost::setVisibleContentRectAndScale):
34238        (WebKit::LayerTreeHost::setVisibleContentRectTrajectoryVector):
34239        (WebKit::LayerTreeHost::setVisibleContentRectForLayer):
34240        (WebKit::LayerTreeHost::renderNextFrame):
34241        * WebProcess/WebPage/LayerTreeHost.messages.in: Added.
34242        * WebProcess/WebPage/TiledDrawingArea.cpp:
34243        (WebKit::TiledDrawingArea::didReceiveLayerTreeHostMessage):
34244        * WebProcess/WebPage/TiledDrawingArea.h:
34245        * WebProcess/WebPage/WebPage.cpp:
34246        (WebKit::WebPage::didReceiveMessage):
34247        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
34248        (WebKit::LayerTreeHostQt::create):
34249        (WebKit::LayerTreeHostQt::~LayerTreeHostQt):
34250        (WebKit::LayerTreeHostQt::LayerTreeHostQt):
34251        (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled):
34252        (WebKit::LayerTreeHostQt::scheduleLayerFlush):
34253        (WebKit::LayerTreeHostQt::cancelPendingLayerFlush):
34254        (WebKit::LayerTreeHostQt::setShouldNotifyAfterNextScheduledLayerFlush):
34255        (WebKit::LayerTreeHostQt::setRootCompositingLayer):
34256        (WebKit::LayerTreeHostQt::invalidate):
34257        (WebKit::LayerTreeHostQt::setNonCompositedContentsNeedDisplay):
34258        (WebKit::LayerTreeHostQt::scrollNonCompositedContents):
34259        (WebKit::LayerTreeHostQt::forceRepaint):
34260        (WebKit::LayerTreeHostQt::sizeDidChange):
34261        (WebKit::LayerTreeHostQt::didInstallPageOverlay):
34262        (WebKit::LayerTreeHostQt::didUninstallPageOverlay):
34263        (WebKit::LayerTreeHostQt::setPageOverlayNeedsDisplay):
34264        (WebKit::LayerTreeHostQt::flushPendingLayerChanges):
34265        (WebKit::LayerTreeHostQt::didSyncCompositingStateForLayer):
34266        (WebKit::LayerTreeHostQt::didDeleteLayer):
34267        (WebKit::LayerTreeHostQt::performScheduledLayerFlush):
34268        (WebKit::LayerTreeHostQt::layerFlushTimerFired):
34269        (WebKit::LayerTreeHostQt::createPageOverlayLayer):
34270        (WebKit::LayerTreeHostQt::destroyPageOverlayLayer):
34271        (WebKit::LayerTreeHostQt::adoptImageBackingStore):
34272        (WebKit::LayerTreeHostQt::releaseImageBackingStore):
34273        (WebKit::LayerTreeHostQt::notifyAnimationStarted):
34274        (WebKit::LayerTreeHostQt::notifySyncRequired):
34275        (WebKit::LayerTreeHostQt::paintContents):
34276        (WebKit::LayerTreeHostQt::showDebugBorders):
34277        (WebKit::LayerTreeHostQt::showRepaintCounter):
34278        (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
34279        (WebKit::LayerTreeHostQt::createTile):
34280        (WebKit::LayerTreeHostQt::updateTile):
34281        (WebKit::LayerTreeHostQt::removeTile):
34282        (WebKit::LayerTreeHostQt::setVisibleContentRectForLayer):
34283        (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
34284        (WebKit::LayerTreeHostQt::setVisibleContentRectTrajectoryVector):
34285        (WebKit::LayerTreeHostQt::renderNextFrame):
34286        (WebKit::LayerTreeHostQt::layerTreeTileUpdatesAllowed):
34287
342882011-10-15  Sheriff Bot  <webkit.review.bot@gmail.com>
34289
34290        Unreviewed, rolling out r97549.
34291        http://trac.webkit.org/changeset/97549
34292        https://bugs.webkit.org/show_bug.cgi?id=70174
34293
34294        It broke the SL build (Requested by Ossy_weekend on #webkit).
34295
34296        * DerivedSources.pro:
34297        * Platform/CoreIPC/MessageID.h:
34298        * Scripts/webkit2/messages.py:
34299        * Shared/LayerTreeContext.h:
34300        * Shared/WebLayerTreeInfo.cpp:
34301        (WebKit::WebLayerInfo::encode):
34302        (WebKit::WebLayerInfo::decode):
34303        * Shared/WebLayerTreeInfo.h:
34304        * Shared/qt/LayerTreeContextQt.cpp:
34305        (WebKit::LayerTreeContext::LayerTreeContext):
34306        (WebKit::LayerTreeContext::~LayerTreeContext):
34307        (WebKit::LayerTreeContext::encode):
34308        (WebKit::LayerTreeContext::decode):
34309        (WebKit::LayerTreeContext::isEmpty):
34310        (WebKit::operator==):
34311        * UIProcess/DrawingAreaProxy.cpp:
34312        * UIProcess/DrawingAreaProxy.h:
34313        * UIProcess/DrawingAreaProxyImpl.cpp:
34314        (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
34315        * UIProcess/DrawingAreaProxyImpl.h:
34316        * UIProcess/LayerTreeHostProxy.h: Removed.
34317        * UIProcess/LayerTreeHostProxy.messages.in: Removed.
34318        * UIProcess/WebPageProxy.cpp:
34319        (WebKit::WebPageProxy::didReceiveMessage):
34320        * UIProcess/qt/LayerTreeHostProxyQt.cpp: Removed.
34321        * WebKit2.pro:
34322        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
34323        (WebCore::deletedLayerIDs):
34324        (WebCore::WebGraphicsLayer::WebGraphicsLayer):
34325        (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
34326        (WebCore::WebGraphicsLayer::setChildren):
34327        (WebCore::WebGraphicsLayer::addChild):
34328        (WebCore::WebGraphicsLayer::addChildAtIndex):
34329        (WebCore::WebGraphicsLayer::addChildAbove):
34330        (WebCore::WebGraphicsLayer::addChildBelow):
34331        (WebCore::WebGraphicsLayer::replaceChild):
34332        (WebCore::WebGraphicsLayer::removeFromParent):
34333        (WebCore::WebGraphicsLayer::setContentsRect):
34334        (WebCore::WebGraphicsLayer::setContentsToImage):
34335        (WebCore::WebGraphicsLayer::setNeedsDisplay):
34336        (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
34337        (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
34338        (WebCore::WebGraphicsLayer::didSynchronize):
34339        (WebCore::WebGraphicsLayer::layerInfo):
34340        (WebCore::WebGraphicsLayer::syncCompositingState):
34341        (WebCore::WebGraphicsLayer::needsDisplayRect):
34342        (WebCore::WebGraphicsLayer::takeLayersToDelete):
34343        (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
34344        (WebCore::divideIntoTiles):
34345        (WebCore::collectCompositingInfoForThisLayer):
34346        (WebCore::collectCompositingInfoRecursively):
34347        (WebCore::WebGraphicsLayer::sendLayersToUIProcess):
34348        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
34349        * WebProcess/WebPage/DrawingArea.h:
34350        * WebProcess/WebPage/DrawingAreaImpl.cpp:
34351        * WebProcess/WebPage/DrawingAreaImpl.h:
34352        * WebProcess/WebPage/LayerTreeHost.cpp:
34353        (WebKit::LayerTreeHost::create):
34354        * WebProcess/WebPage/LayerTreeHost.h:
34355        * WebProcess/WebPage/LayerTreeHost.messages.in: Removed.
34356        * WebProcess/WebPage/TiledDrawingArea.cpp:
34357        * WebProcess/WebPage/TiledDrawingArea.h:
34358        * WebProcess/WebPage/WebPage.cpp:
34359        (WebKit::WebPage::didReceiveMessage):
34360        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
34361        * WebProcess/WebPage/qt/LayerTreeHostQt.h: Removed.
34362
343632011-10-15  No'am Rosenthal  <noam.rosenthal@nokia.com>
34364
34365        [Qt][WK2] Synchronize tiling with accelerated compositing
34366        https://bugs.webkit.org/show_bug.cgi?id=69151
34367
34368        Reviewed by Simon Hausmann.
34369
34370        Make the tiled "non-composited" content and the composited layers go through the same
34371        code path on WebKit2. Instead of having a "drawing area" that handles the non-composited
34372        content and a seperate layer tree, we put everything in a layer tree, with the non-
34373        composited content being a layer in the tree.
34374
34375        This allows fixing several issues with websites that have large content areas that are
34376        composited or overlap with composited layers.
34377
34378        Layer-tree synchronization is done by passing WebKit2 messages between a LayerTreeHost
34379        on the WebProcess and a LayerTreeHostProxy on the UI process. Every layer in the tree has
34380        its own tiled backing store, and uses the LayerTreeHost communication channel to pass
34381        content up to the UI process. The UI process will later creates its own GraphicsLayer tree,
34382        based on TextureMapper, which can be painted directly with OpenGL.
34383
34384        Several optimizations are available for the non-composited layer as well, e.g. specifying
34385        a trajectory and updating the visible rect together with the content scale.
34386
34387        This code is currently disabled, a separate patch will enable it and glue it to
34388        QTouchWebPage.
34389
34390        * DerivedSources.pro:
34391        * Platform/CoreIPC/MessageID.h:
34392        * Scripts/webkit2/messages.py:
34393        * Shared/LayerTreeContext.h:
34394        * Shared/WebLayerTreeInfo.cpp:
34395        (WebKit::WebLayerInfo::encode):
34396        (WebKit::WebLayerInfo::decode):
34397        * Shared/WebLayerTreeInfo.h:
34398        * Shared/qt/LayerTreeContextQt.cpp:
34399        (WebKit::LayerTreeContext::LayerTreeContext):
34400        (WebKit::LayerTreeContext::~LayerTreeContext):
34401        (WebKit::LayerTreeContext::encode):
34402        (WebKit::LayerTreeContext::decode):
34403        (WebKit::LayerTreeContext::isEmpty):
34404        (WebKit::operator==):
34405        * UIProcess/DrawingAreaProxy.cpp:
34406        (WebKit::DrawingAreaProxy::updateWebView):
34407        (WebKit::DrawingAreaProxy::contentsRect):
34408        * UIProcess/DrawingAreaProxy.h:
34409        (WebKit::DrawingAreaProxy::viewportVisibleRect):
34410        (WebKit::DrawingAreaProxy::isBackingStoreReady):
34411        (WebKit::DrawingAreaProxy::paintToCurrentGLContext):
34412        (WebKit::DrawingAreaProxy::setVisibleContentsRectAndScale):
34413        (WebKit::DrawingAreaProxy::setVisibleContentRectTrajectoryVector):
34414        (WebKit::DrawingAreaProxy::createTileForLayer):
34415        (WebKit::DrawingAreaProxy::updateTileForLayer):
34416        (WebKit::DrawingAreaProxy::removeTileForLayer):
34417        (WebKit::DrawingAreaProxy::didReceiveLayerTreeHostProxyMessage):
34418        (WebKit::DrawingAreaProxy::page):
34419        * UIProcess/DrawingAreaProxyImpl.cpp:
34420        (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
34421        (WebKit::DrawingAreaProxyImpl::didReceiveLayerTreeHostProxyMessage):
34422        (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectAndScale):
34423        (WebKit::DrawingAreaProxyImpl::setVisibleContentRectTrajectoryVector):
34424        (WebKit::DrawingAreaProxyImpl::paintToCurrentGLContext):
34425        * UIProcess/DrawingAreaProxyImpl.h:
34426        * UIProcess/LayerTreeHostProxy.h: Added.
34427        (WebKit::LayerTreeHostProxy::layerByID):
34428        (WebKit::LayerTreeHostProxy::rootLayer):
34429        (WebKit::LayerTreeHostProxy::notifyAnimationStarted):
34430        (WebKit::LayerTreeHostProxy::notifySyncRequired):
34431        (WebKit::LayerTreeHostProxy::showDebugBorders):
34432        (WebKit::LayerTreeHostProxy::showRepaintCounter):
34433        (WebKit::LayerTreeHostProxy::paintContents):
34434        * UIProcess/LayerTreeHostProxy.messages.in: Added.
34435        * UIProcess/WebPageProxy.cpp:
34436        (WebKit::WebPageProxy::didReceiveMessage):
34437        * UIProcess/qt/LayerTreeHostProxyQt.cpp: Added.
34438        * WebKit2.pro:
34439        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
34440        (WebCore::WebGraphicsLayer::WebGraphicsLayer):
34441        (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
34442        (WebCore::WebGraphicsLayer::setChildren):
34443        (WebCore::WebGraphicsLayer::addChild):
34444        (WebCore::WebGraphicsLayer::addChildAtIndex):
34445        (WebCore::WebGraphicsLayer::addChildAbove):
34446        (WebCore::WebGraphicsLayer::addChildBelow):
34447        (WebCore::WebGraphicsLayer::replaceChild):
34448        (WebCore::WebGraphicsLayer::removeFromParent):
34449        (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
34450        (WebCore::WebGraphicsLayer::setContentsToImage):
34451        (WebCore::WebGraphicsLayer::setNeedsDisplay):
34452        (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
34453        (WebCore::WebGraphicsLayer::syncCompositingState):
34454        (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
34455        (WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin):
34456        (WebCore::WebGraphicsLayer::setContentsScale):
34457        (WebCore::WebGraphicsLayer::setRootLayer):
34458        (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
34459        (WebCore::WebGraphicsLayer::setVisibleContentRect):
34460        (WebCore::WebGraphicsLayer::tiledBackingStorePaint):
34461        (WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd):
34462        (WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed):
34463        (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
34464        (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
34465        (WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor):
34466        (WebCore::WebGraphicsLayer::createTile):
34467        (WebCore::WebGraphicsLayer::updateTile):
34468        (WebCore::WebGraphicsLayer::removeTile):
34469        (WebCore::WebGraphicsLayer::updateTileBuffersRecursively):
34470        (WebCore::WebGraphicsLayer::layerTreeTileClient):
34471        (WebCore::WebGraphicsLayer::updateContentBuffers):
34472        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
34473        (WebCore::WebGraphicsLayer::setLayerTreeTileClient):
34474        * WebProcess/WebPage/DrawingArea.h:
34475        * WebProcess/WebPage/DrawingAreaImpl.cpp:
34476        (WebKit::DrawingAreaImpl::didReceiveLayerTreeHostMessage):
34477        * WebProcess/WebPage/DrawingAreaImpl.h:
34478        * WebProcess/WebPage/LayerTreeHost.cpp:
34479        (WebKit::LayerTreeHost::create):
34480        * WebProcess/WebPage/LayerTreeHost.h:
34481        (WebKit::LayerTreeHost::setVisibleContentRectAndScale):
34482        (WebKit::LayerTreeHost::setVisibleContentRectTrajectoryVector):
34483        (WebKit::LayerTreeHost::setVisibleContentRectForLayer):
34484        (WebKit::LayerTreeHost::renderNextFrame):
34485        * WebProcess/WebPage/LayerTreeHost.messages.in: Added.
34486        * WebProcess/WebPage/TiledDrawingArea.cpp:
34487        (WebKit::TiledDrawingArea::didReceiveLayerTreeHostMessage):
34488        * WebProcess/WebPage/TiledDrawingArea.h:
34489        * WebProcess/WebPage/WebPage.cpp:
34490        (WebKit::WebPage::didReceiveMessage):
34491        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
34492        (WebKit::LayerTreeHostQt::create):
34493        (WebKit::LayerTreeHostQt::~LayerTreeHostQt):
34494        (WebKit::LayerTreeHostQt::LayerTreeHostQt):
34495        (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled):
34496        (WebKit::LayerTreeHostQt::scheduleLayerFlush):
34497        (WebKit::LayerTreeHostQt::cancelPendingLayerFlush):
34498        (WebKit::LayerTreeHostQt::setShouldNotifyAfterNextScheduledLayerFlush):
34499        (WebKit::LayerTreeHostQt::setRootCompositingLayer):
34500        (WebKit::LayerTreeHostQt::invalidate):
34501        (WebKit::LayerTreeHostQt::setNonCompositedContentsNeedDisplay):
34502        (WebKit::LayerTreeHostQt::scrollNonCompositedContents):
34503        (WebKit::LayerTreeHostQt::forceRepaint):
34504        (WebKit::LayerTreeHostQt::sizeDidChange):
34505        (WebKit::LayerTreeHostQt::didInstallPageOverlay):
34506        (WebKit::LayerTreeHostQt::didUninstallPageOverlay):
34507        (WebKit::LayerTreeHostQt::setPageOverlayNeedsDisplay):
34508        (WebKit::LayerTreeHostQt::flushPendingLayerChanges):
34509        (WebKit::LayerTreeHostQt::didSyncCompositingStateForLayer):
34510        (WebKit::LayerTreeHostQt::didDeleteLayer):
34511        (WebKit::LayerTreeHostQt::performScheduledLayerFlush):
34512        (WebKit::LayerTreeHostQt::layerFlushTimerFired):
34513        (WebKit::LayerTreeHostQt::createPageOverlayLayer):
34514        (WebKit::LayerTreeHostQt::destroyPageOverlayLayer):
34515        (WebKit::LayerTreeHostQt::adoptImageBackingStore):
34516        (WebKit::LayerTreeHostQt::releaseImageBackingStore):
34517        (WebKit::LayerTreeHostQt::notifyAnimationStarted):
34518        (WebKit::LayerTreeHostQt::notifySyncRequired):
34519        (WebKit::LayerTreeHostQt::paintContents):
34520        (WebKit::LayerTreeHostQt::showDebugBorders):
34521        (WebKit::LayerTreeHostQt::showRepaintCounter):
34522        (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
34523        (WebKit::LayerTreeHostQt::createTile):
34524        (WebKit::LayerTreeHostQt::updateTile):
34525        (WebKit::LayerTreeHostQt::removeTile):
34526        (WebKit::LayerTreeHostQt::setVisibleContentRectForLayer):
34527        (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
34528        (WebKit::LayerTreeHostQt::setVisibleContentRectTrajectoryVector):
34529        (WebKit::LayerTreeHostQt::renderNextFrame):
34530        (WebKit::LayerTreeHostQt::layerTreeTileUpdatesAllowed):
34531
345322011-10-14  Mark Hahnenberg  <mhahnenberg@apple.com>
34533
34534        Rename getOwnPropertySlot to getOwnPropertySlotVirtual
34535        https://bugs.webkit.org/show_bug.cgi?id=69810
34536
34537        Reviewed by Geoffrey Garen.
34538
34539        Renamed the virtual version of getOwnPropertySlot to getOwnPropertySlotVirtual
34540        in preparation for when we add the static getOwnPropertySlot to the MethodTable 
34541        in ClassInfo.
34542
34543        Also added a few static getOwnPropertySlot functions where they had been overlooked 
34544        before (especially in CodeGeneratorJS.pm).
34545
34546        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
34547        (WebKit::JSNPObject::getOwnPropertySlotVirtual):
34548        * WebProcess/Plugins/Netscape/JSNPObject.h:
34549
345502011-10-14  Mark Hahnenberg  <mhahnenberg@apple.com>
34551
34552        Rename virtual put to putVirtual
34553        https://bugs.webkit.org/show_bug.cgi?id=69851
34554
34555        Reviewed by Darin Adler.
34556
34557        Renamed virtual versions of put to putVirtual in prepration for 
34558        adding the static put to the MethodTable in ClassInfo since the 
34559        compiler gets mad if the virtual and static versions have the same 
34560        name.
34561
34562        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
34563        (WebKit::JSNPObject::putVirtual):
34564        (WebKit::JSNPObject::put):
34565        * WebProcess/Plugins/Netscape/JSNPObject.h:
34566        * WebProcess/Plugins/Netscape/NPJSObject.cpp:
34567        (WebKit::NPJSObject::setProperty):
34568
345692011-10-14  Jeff Miller  <jeffm@apple.com>
34570
34571        InjectedBundleHitTestResult::imageRect() should return rect in WKView coordinates
34572        https://bugs.webkit.org/show_bug.cgi?id=69963
34573        
34574        WebKit2 clients only have knowledge of the WKView's coordinate system, they have no way to
34575        convert from subframe view coordinates , so any rect that we expose through WK2 APIs should
34576        be in WKView coordinates.
34577        
34578        Reviewed by Simon Fraser.
34579
34580        * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
34581        (WebKit::InjectedBundleHitTestResult::imageRect): Use WebCore::FrameView::contentsToRootView() to convert the image rect to WKView coordinates.
34582
345832011-10-14  Mark Hahnenberg  <mhahnenberg@apple.com>
34584
34585        Rename virtual deleteProperty to deletePropertyVirtual
34586        https://bugs.webkit.org/show_bug.cgi?id=69884
34587
34588        Reviewed by Darin Adler.
34589
34590        Renamed virtual versions of deleteProperty to deletePropertyVirtual in prepration for 
34591        adding the static deleteProperty to the MethodTable in ClassInfo since the 
34592        compiler gets mad if the virtual and static versions have the same name.
34593
34594        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
34595        (WebKit::JSNPObject::deletePropertyVirtual):
34596        (WebKit::JSNPObject::deleteProperty):
34597        * WebProcess/Plugins/Netscape/JSNPObject.h:
34598        * WebProcess/Plugins/Netscape/NPJSObject.cpp:
34599        (WebKit::NPJSObject::removeProperty):
34600
346012011-10-14  Nayan Kumar K  <nayankk@motorola.com>
34602
34603        [WebKit2][gtk] Add documentation for WebKitPluginError and WebKitPolicyError.
34604        https://bugs.webkit.org/show_bug.cgi?id=70016
34605
34606        Reviewed by Martin Robinson.
34607
34608        * UIProcess/API/gtk/WebKitError.h:
34609
346102011-10-14  Nayan Kumar K  <nayankk@motorola.com>
34611
34612        [WebKit2][gtk] Skip TestWebKitSettings test.
34613        https://bugs.webkit.org/show_bug.cgi?id=70129
34614
34615        Reviewed by Martin Robinson.
34616
34617        Skip running TestWebKitSettings test till a bug
34618        https://bugs.webkit.org/show_bug.cgi?id=70127 gets fixed.
34619
34620        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
34621        (testWebKitSettings): Skip TestWebKitSettings test.
34622
346232011-10-14  Sheriff Bot  <webkit.review.bot@gmail.com>
34624
34625        Unreviewed, rolling out r97375.
34626        http://trac.webkit.org/changeset/97375
34627        https://bugs.webkit.org/show_bug.cgi?id=70115
34628
34629        It breaks loading of webpages in QtWebKit2 (Requested by jeez_
34630        on #webkit).
34631
34632        * UIProcess/qt/ClientImpl.cpp:
34633        (qt_wk_decidePolicyForNavigationAction):
34634        * UIProcess/qt/ClientImpl.h:
34635        * UIProcess/qt/QtWebPageProxy.cpp:
34636        (QtWebPageProxy::init):
34637
346382011-10-12  Ryosuke Niwa  <rniwa@webkit.org>
34639
34640        Make the interface of locationAndLengthFromRange and rangeFromLocationAndLength consistent
34641        https://bugs.webkit.org/show_bug.cgi?id=69964
34642
34643        Reviewed by Enrica Casucci.
34644
34645        * WebProcess/WebPage/mac/WebPageMac.mm:
34646        (WebKit::WebPage::getMarkedRange):
34647        (WebKit::WebPage::getSelectedRange):
34648        (WebKit::WebPage::characterIndexForPoint):
34649        (WebKit::convertToRange):
34650
346512011-10-14  Nayan Kumar K  <nayankk@motorola.com>
34652
34653        [GTK] r97438: Inconsistent use of flattening vs flattering in function names/comments
34654        https://bugs.webkit.org/show_bug.cgi?id=70092
34655
34656        Reviewed by Martin Robinson.
34657
34658        Fixes the miss-spelling of 'PROP_ENABLE_FRAME_FLATTENING' as 'PROP_ENABLE_FRAME_FLATTERING'
34659        introduced with change set r97438.
34660
34661        * UIProcess/API/gtk/WebKitSettings.cpp:
34662        (webKitSettingsSetProperty): Property name correction.
34663        (webKitSettingsGetProperty): Property name correction.
34664        (webkit_settings_class_init): Property name correction.
34665        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
34666        (testWebKitSettings): Spelling correction.
34667
346682011-10-14  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
34669
34670        [Qt] enable qmltests for qt5
34671        https://bugs.webkit.org/show_bug.cgi?id=70037
34672
34673        Reviewed by Chang Shu.
34674
34675        Qml tests seem to be disabled for some reason. This patch enables the tests by including qmltests to SUBDIRS.
34676
34677        * UIProcess/API/qt/tests/tests.pro:
34678
346792011-10-14  Kenneth Rohde Christiansen  <kenneth@webkit.org>
34680
34681        Do not cache m_resizesToContentsLayoutSize on WebKit2's WebPage
34682        https://bugs.webkit.org/show_bug.cgi?id=66134
34683
34684        Unreviewed build fix after r97462.
34685
34686        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
34687        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
34688
346892011-10-14  Kenneth Rohde Christiansen  <kenneth@webkit.org>
34690
34691        Do not cache m_resizesToContentsLayoutSize on WebKit2's WebPage
34692        https://bugs.webkit.org/show_bug.cgi?id=66134
34693
34694        Reviewed by Simon Hausmann.
34695
34696        Do the resize to contents on the web process side.
34697
34698        Based on patch by Zalan Bujtas.
34699
34700        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
34701        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
34702        * WebProcess/WebPage/WebPage.cpp:
34703        (WebKit::WebPage::setSize):
34704        (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
34705        (WebKit::WebPage::resizeToContentsIfNeeded):
34706        * WebProcess/WebPage/WebPage.h:
34707
347082011-10-14  Carlos Garcia Campos  <cgarcia@igalia.com>
34709
34710        [GTK] Build is broken with new ld
34711        https://bugs.webkit.org/show_bug.cgi?id=70097
34712
34713        Reviewed by Philippe Normand.
34714
34715        * UIProcess/API/gtk/tests/GNUmakefile.am:
34716
347172011-10-12  Simon Hausmann  <simon.hausmann@nokia.com>
34718
34719        [Qt][WK2] Fix build after QSGItem API changes
34720        https://bugs.webkit.org/show_bug.cgi?id=69926
34721
34722        Reviewed by Kenneth Rohde Christiansen.
34723
34724        Commit c825865cdd88445aa1db94cdf0da89426919acdb in qtdeclarative changed the
34725        signatures of the Drag & Drop event handlers in QSGItem. The SG specific events
34726        were replaced with the plain QDrag* events, which are now used for widgets as well
34727        as the Qt scene graph.
34728
34729        This patch adapts the desktop webview as well as the page proxy to handle these
34730        kind of events.
34731
34732        * UIProcess/API/qt/qdesktopwebview.cpp:
34733        (QDesktopWebView::dragMoveEvent):
34734        (QDesktopWebView::dragEnterEvent):
34735        (QDesktopWebView::dragLeaveEvent):
34736        (QDesktopWebView::dropEvent):
34737        * UIProcess/API/qt/qdesktopwebview.h:
34738        * UIProcess/qt/qdesktopwebpageproxy.cpp:
34739        (QDesktopWebPageProxy::handleEvent):
34740        (QDesktopWebPageProxy::handleDragEnterEvent):
34741        (QDesktopWebPageProxy::handleDragLeaveEvent):
34742        (QDesktopWebPageProxy::handleDragMoveEvent):
34743        (QDesktopWebPageProxy::handleDropEvent):
34744        * UIProcess/qt/qdesktopwebpageproxy.h:
34745
347462011-10-13  Nayan Kumar K  <nayankk@motorola.com>
34747
34748        [GTK][WEBKIT2] Add WebKitSettings GTK+ API.
34749        https://bugs.webkit.org/show_bug.cgi?id=68371
34750
34751        Reviewed by Martin Robinson.
34752
34753        WebKitSettings GTK+ object is created and first set of
34754        API's are written to get or set the properties of WebKitSettings.
34755
34756        * GNUmakefile.am: Added new files for compilation.
34757        * UIProcess/API/gtk/WebKitSettings.cpp: Added.
34758        (_WebKitSettingsPrivate::_WebKitSettingsPrivate): Constructor.
34759        (webKitSettingsSetProperty): Set property function.
34760        (webKitSettingsGetProperty): Get property function.
34761        (webKitSettingsFinalize): Class finalize function.
34762        (webkit_settings_class_init): Class init function.
34763        (webkit_settings_init): Instance init function.
34764        (webkit_settings_new): Creates WebKitSettings GObject.
34765        (webkit_settings_get_enable_javascript): Function to get 'enable-javascript' property.
34766        (webkit_settings_set_enable_javascript): Function to set 'enable-javascript' property.
34767        (webkit_settings_get_auto_load_images): Get the 'auto-load-images' property.
34768        (webkit_settings_set_auto_load_images): Set the 'auto-load-images' property.
34769        (webkit_settings_get_load_icons_ignoring_image_load_setting): Function to get
34770        'load-icons-ignoring-image-load-setting' property.
34771        (webkit_settings_set_load_icons_ignoring_image_load_setting): Function to set
34772        'load-icons-ignoring-image-load-setting' property.
34773        (webkit_settings_get_enable_offline_web_application_cache): Function to get
34774        'enable-offline-web-application-cache' property.
34775        (webkit_settings_set_enable_offline_web_application_cache): Function to set
34776        'enable-offline-web-application-cache' property.
34777        (webkit_settings_get_enable_html5_local_storage): Get the property 'enable-html5-local-storage'.
34778        (webkit_settings_set_enable_html5_local_storage): Set the property 'enable-html5-local-storage'.
34779        (webkit_settings_get_enable_html5_database): Get the property 'enable-html5-database'.
34780        (webkit_settings_set_enable_html5_database): Set the property 'enable-html5-database'.
34781        (webkit_settings_get_enable_xss_auditor): Get property 'enable-xss-editor'.
34782        (webkit_settings_set_enable_xss_auditor): Set property 'enable-xss-editor'.
34783        (webkit_settings_get_enable_frame_flattening): Get the property 'enable-frame-flattening'.
34784        (webkit_settings_set_enable_frame_flattening): Set the property 'enable-frame-flattening'.
34785        (webkit_settings_get_enable_plugins): Get the property 'enable-plugins'.
34786        (webkit_settings_set_enable_plugins): Set the property 'enable-plugins'.
34787        (webkit_settings_get_enable_java): Function to get 'enable-java' property.
34788        (webkit_settings_set_enable_java): Function to set 'enable-java' property.
34789        (webkit_settings_get_javascript_can_open_windows_automatically): Get the property
34790        'javascript-can-open-windows-automatically'.
34791        (webkit_settings_set_javascript_can_open_windows_automatically): Set the property
34792        'javascript-can-open-windows-automatically'.
34793        (webkit_settings_get_enable_hyperlink_auditing): Get 'enable-hyperlink-auditing' property.
34794        (webkit_settings_set_enable_hyperlink_auditing): Set 'enable-hyperlink-auditing' property.
34795        * UIProcess/API/gtk/WebKitSettings.h: Added. Public API's.
34796        * UIProcess/API/gtk/tests/GNUmakefile.am: Added new test.
34797        * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: Added.
34798        (testWebKitSettings): Add WebKitSetting unit test.
34799        (beforeAll): Pre-test function.
34800        (afterAll): Post-test function.
34801        * UIProcess/API/gtk/webkit2.h: Add WebKitSettings.h to exposed API list.
34802
348032011-10-13  Mark Hahnenberg  <mhahnenberg@apple.com>
34804
34805        Rename virtual getConstructData to getConstructDataVirtual
34806        https://bugs.webkit.org/show_bug.cgi?id=69872
34807
34808        Reviewed by Geoffrey Garen.
34809
34810        Renamed virtual getConstructData functions to getConstructDataVirtual to 
34811        avoid conflicts when we add static getConstructData to the MethodTable.
34812
34813        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
34814        (WebKit::JSNPObject::getConstructDataVirtual):
34815        * WebProcess/Plugins/Netscape/JSNPObject.h:
34816
348172011-10-13  Sam Weinig  <sam@webkit.org>
34818
34819        Another SnowLeopard build fix.
34820
34821        * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
34822        (WebKit::cachedImage):
34823        (WebKit::WebDragClient::declareAndWriteDragImage):
34824        (-[WKPasteboardOwner initWithImage:WebCore::]):
34825
348262011-10-13  Sam Weinig  <sam@webkit.org>
34827
34828        Fix SnowLeopard build.
34829
34830        * UIProcess/WebPageProxy.cpp:
34831        (WebKit::WebPageProxy::setCursor):
34832        * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
34833
348342011-10-13  Alexey Proskuryakov  <ap@apple.com>
34835
34836        [Mac] PDF Documents at epo.org look very blurry
34837        https://bugs.webkit.org/show_bug.cgi?id=70072
34838
34839        Reviewed by Dan Bernstein.
34840
34841        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: (WebKit::BuiltInPDFView::paintContent):
34842        Ensure integral coordinates. <rdar://problem/10283382> tracks lifting this limitation.
34843
348442011-10-13  Alexey Proskuryakov  <ap@apple.com>
34845
34846        [Mac] Wheel event handler counter is incorrect with PDF views
34847        https://bugs.webkit.org/show_bug.cgi?id=70062
34848
34849        Reviewed by Dan Bernstein.
34850
34851        * WebProcess/Plugins/PDF/BuiltInPDFView.h:
34852        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
34853        (WebKit::BuiltInPDFView::didAddVerticalScrollbar): Added forgotten override for vertical case.
34854        (WebKit::BuiltInPDFView::willRemoveVerticalScrollbar): Ditto.
34855        (WebKit::BuiltInPDFView::createScrollbar): Notify self, do not make a shortcut to ScrollAnimator.
34856        (WebKit::BuiltInPDFView::destroyScrollbar): Ditto.
34857        (WebKit::BuiltInPDFView::destroy): Actually destroy the scrollbars.
34858
348592011-10-12  Chris Marrin  <cmarrin@apple.com>
34860
34861        Sync requestAnimationFrame callback to CVDisplayLink on Mac
34862        https://bugs.webkit.org/show_bug.cgi?id=68911
34863
34864        Reviewed by Simon Fraser.
34865
34866        Add windowDidChangeScreen function which listens for the window changing
34867        screens and passes the new displayID along to WebCore::Page. It also sends
34868        one on windowDidBecomeKey, so the Page has a fresh displayID after it's
34869        created. Event is generated in the UIProcess and then sent over to the
34870        WebProcess, which actually sends it to WebCore::Page.
34871
34872        * UIProcess/API/mac/WKView.mm:
34873        (-[WKView addWindowObserversForWindow:]):
34874        (-[WKView removeWindowObservers]):
34875        (-[WKView _windowDidChangeScreen:]):
34876        (-[WKView _windowDidBecomeKey:]):
34877        * UIProcess/WebPageProxy.cpp:
34878        (WebKit::WebPageProxy::windowScreenDidChange):
34879        * UIProcess/WebPageProxy.h:
34880        * WebProcess/WebPage/WebPage.cpp:
34881        (WebKit::WebPage::windowScreenDidChange):
34882        * WebProcess/WebPage/WebPage.h:
34883        * WebProcess/WebPage/WebPage.messages.in:
34884
348852011-10-13  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
34886
34887        [Qt][WK2] WebErrorsQt.cpp duplicates code from WKError.h and WebError.h
34888        https://bugs.webkit.org/show_bug.cgi?id=70053
34889
34890        Reviewed by Kenneth Rohde Christiansen.
34891
34892        Now we will be aligned with WKError.h and WebError.h by using the shared
34893        and pre-defined enum for error codes and WebError::webkitErrorDomain().
34894
34895        * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp:
34896        (WebKit::blockedError):
34897        (WebKit::cannotShowURLError):
34898        (WebKit::interruptedForPolicyChangeError):
34899        (WebKit::cannotShowMIMETypeError):
34900        (WebKit::pluginWillHandleLoadError):
34901
349022011-10-13  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
34903
34904        [Qt][WK2] WebViews are emitting loadFailed for "private" error codes
34905        https://bugs.webkit.org/show_bug.cgi?id=70047
34906
34907        Reviewed by Kenneth Rohde Christiansen.
34908
34909        Both QDesktopWebView and QTouchWebView are emitting loadFailed for private errors
34910        like the ones defined in Source/WebKit2/WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp.
34911
34912        We now filter these by not emitting this signal for FrameLoadInterruptedByPolicyChange,
34913        PlugInWillHandleLoad and Cancellation, following previous decisions from WebKit 1.
34914
34915        * UIProcess/qt/ClientImpl.cpp:
34916        (dispatchLoadFailed):
34917
349182011-10-13  Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
34919
34920        Implement TextChecker for WebKit2 GTK+
34921        https://bugs.webkit.org/show_bug.cgi?id=68548
34922
34923        Reviewed by Anders Carlsson.
34924
34925        Added implementation for all functions in TextCheckerGtk.cpp removing earlier stubbed implementations.
34926        Moved couple of API earlier specific to win port to common section and added stubbed implementation
34927        of the same for remaining ports of Qt, Efl and Mac.
34928
34929        * GNUmakefile.am: Added TextChecker implementation files.
34930        * UIProcess/TextChecker.h: Moved spellCheckingEnabled and grammarCheckingEnabled API outside of win port.
34931        * UIProcess/efl/TextCheckerEfl.cpp: Stubbed implementation of API which was moved outside win port.
34932        * UIProcess/gtk/TextCheckerGtk.cpp: Implementation of all TextChecker API.
34933        (WebKit::TextChecker::state):
34934        (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
34935        (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
34936        (WebKit::TextChecker::setGrammarCheckingEnabled):
34937        (WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
34938        (WebKit::TextChecker::grammarCheckingEnabledStateChanged):
34939        (WebKit::TextChecker::uniqueSpellDocumentTag):
34940        (WebKit::TextChecker::closeSpellDocumentWithTag):
34941        (WebKit::TextChecker::checkSpellingOfString):
34942        (WebKit::TextChecker::checkGrammarOfString):
34943        (WebKit::TextChecker::spellingUIIsShowing):
34944        (WebKit::TextChecker::toggleSpellingUIIsShowing):
34945        (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
34946        (WebKit::TextChecker::updateSpellingUIWithGrammarString):
34947        (WebKit::TextChecker::getGuessesForWord):
34948        (WebKit::TextChecker::learnWord):
34949        (WebKit::TextChecker::ignoreWord):
34950        * UIProcess/mac/TextCheckerMac.mm: Implementation of API which was moved outside win port.
34951        * UIProcess/qt/TextCheckerQt.cpp: Stubbed implementation of API which was moved outside win port.
34952
349532011-10-13  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
34954
34955        [Qt][WK2] Implement decidePolicyForResponse in our PolicyClient
34956        https://bugs.webkit.org/show_bug.cgi?id=69832
34957
34958        Reviewed by Kenneth Rohde Christiansen.
34959
34960        We implement decidePolicyForResponse in our PolicyClient in order to
34961        decide whether a given ResourceResponse should be downloaded or loaded.
34962
34963        * UIProcess/qt/ClientImpl.cpp:
34964        (qt_wk_decidePolicyForResponse):
34965        * UIProcess/qt/ClientImpl.h:
34966        * UIProcess/qt/QtWebPageProxy.cpp:
34967        (QtWebPageProxy::init):
34968
349692011-10-13  Carlos Garcia Campos  <cgarcia@igalia.com>
34970
34971        [GTK] Add WebKitTestServer class to WebKit2 GTK+ unit tests library
34972        https://bugs.webkit.org/show_bug.cgi?id=70010
34973
34974        Reviewed by Martin Robinson.
34975
34976        With this class tests using a soup server only need to implement
34977        the soup server callback.
34978
34979        * UIProcess/API/gtk/tests/GNUmakefile.am: Add new files to compilation.
34980        * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp: Use WebKitTestServer.
34981        (testLoadingStatus):
34982        (testLoadingError):
34983        (testLoadAlternateContent):
34984        (testWebViewReload):
34985        (testLoadProgress):
34986        (beforeAll):
34987        (afterAll):
34988        * UIProcess/API/gtk/tests/WebKitTestServer.cpp: Added.
34989        (WebKitTestServer::WebKitTestServer):
34990        (WebKitTestServer::~WebKitTestServer):
34991        (WebKitTestServer::run): Run the soup server and adds the given
34992        soup server callback to handle requests.
34993        (WebKitTestServer::getURIForPath): Returns the server absolute URI
34994        for the given relative path.
34995        * UIProcess/API/gtk/tests/WebKitTestServer.h: Added.
34996        (WebKitTestServer::baseURI):
34997
349982011-10-13  Nayan Kumar K  <nayankk@motorola.com>
34999
35000        [WebKit2][gtk] Fix warnings while generating WebKit2-GTK+ documentation.
35001        https://bugs.webkit.org/show_bug.cgi?id=69928
35002
35003        Reviewed by Philippe Normand.
35004
35005        Patch fixes the warnings reported by gtk-doc while generating
35006        WebKit2-GTK+ documentation.
35007
35008        * UIProcess/API/gtk/WebKitWebContext.h: Correct the documentation comment.
35009        * UIProcess/API/gtk/WebKitWebView.cpp: Parameter name correction.
35010
350112011-10-12  Joseph Pecoraro  <joepeck@webkit.org>
35012
35013        Pass Parsed Accept Attribute MIME Types to WebKit Clients
35014        https://bugs.webkit.org/show_bug.cgi?id=69598
35015
35016        Reviewed by David Kilzer.
35017
35018        * Shared/WebCoreArgumentCoders.cpp:
35019        (CoreIPC::::encode):
35020        (CoreIPC::::decode):
35021
350222011-10-12  Joseph Pecoraro  <joepeck@webkit.org>
35023
35024        Pass Parsed Accept Attribute MIME Types to WebKit Clients
35025        https://bugs.webkit.org/show_bug.cgi?id=69598
35026
35027        Reviewed by Anders Carlsson.
35028
35029        The WebOpenPanelParameters::Data struct was a mirror of
35030        the already existing WebCore::FileChooserSettings struct.
35031        So eliminate the excess struct and generate default
35032        WebCore coders for the WebCore::FileChooserSettings struct.
35033
35034        * Scripts/webkit2/messages.py:
35035        Switch to the new type. FileChooserSetting's header needs
35036        to be special cased to FileChooser.h.
35037
35038        * Shared/WebCoreArgumentCoders.h:
35039        * Shared/WebCoreArgumentCoders.cpp:
35040        (CoreIPC::::encode):
35041        (CoreIPC::::decode):
35042        Encode and decode all, non-deprecated, values. So we
35043        ignore deprecatedAcceptTypes. A follow-up patch will add it.
35044
35045        * Shared/WebOpenPanelParameters.cpp:
35046        (WebKit::WebOpenPanelParameters::create):
35047        (WebKit::WebOpenPanelParameters::WebOpenPanelParameters):
35048        Switch to the new type.
35049
35050        * Shared/WebOpenPanelParameters.h:
35051        (WebKit::WebOpenPanelParameters::allowMultipleFiles):
35052        (WebKit::WebOpenPanelParameters::selectedFileNames):
35053        FileChooserSettings had different property names.
35054
35055        * UIProcess/WebPageProxy.cpp:
35056        (WebKit::WebPageProxy::runOpenPanel):
35057        Generate the WebOpenPanelParameters object here, before
35058        passing into the WebUIClient. This seems to be the convention
35059        to not have WebCore types in WebUIClient.
35060
35061        * UIProcess/WebPageProxy.h:
35062        * UIProcess/WebPageProxy.messages.in:
35063        * UIProcess/WebUIClient.cpp:
35064        (WebKit::WebUIClient::runOpenPanel):
35065        * UIProcess/WebUIClient.h:
35066        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
35067        (WebKit::WebChromeClient::runOpenPanel):
35068        Switch to the new type.
35069
350702011-10-12  Joseph Pecoraro  <joepeck@webkit.org>
35071
35072        Pass Parsed Accept Attribute MIME Types to WebKit Clients
35073        https://bugs.webkit.org/show_bug.cgi?id=69598
35074
35075        Reviewed by Kent Tamura.
35076
35077        Switch to deprecated for now, but the next patches will
35078        remove the deprecated version from the WebKit2 path.
35079
35080        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
35081        (WebKit::WebChromeClient::runOpenPanel):
35082
350832011-10-12  Adam Barth  <abarth@webkit.org>
35084
35085        Remove ENABLE(XHTMLMP) and associated code
35086        https://bugs.webkit.org/show_bug.cgi?id=69729
35087
35088        Reviewed by David Levin.
35089
35090        * Configurations/FeatureDefines.xcconfig:
35091
350922011-10-12  Dan Bernstein  <mitz@apple.com>
35093
35094        Hang beneath PluginProcessProxy::createPropertyListFile() when using a thin build
35095        https://bugs.webkit.org/show_bug.cgi?id=69960
35096
35097        Reviewed by Adam Roben.
35098
35099        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
35100        (WebKit::PluginProcessProxy::createPropertyListFile): Check for any non-zero return value
35101        from posix_spawn() rather than for a negative return value. The old, incorrect check, caused
35102        this function to hang in waitpid() after failing to spawn a plug-in process for a 32-bit plug-in
35103        when WebKit2 was built for 64-bit only.
35104
351052011-10-12  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
35106
35107        [Qt][WK2] Move qweberror* out of API/qt
35108        https://bugs.webkit.org/show_bug.cgi?id=69875
35109
35110        Reviewed by Andreas Kling.
35111
35112        Moving QWebError outside API/qt in order to keep our API folder (layer) aligned.
35113
35114        * UIProcess/qt/qweberror.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qweberror.cpp.
35115        (QWebError::QWebError):
35116        (QWebErrorPrivate::createQWebError):
35117        (QWebErrorPrivate::QWebErrorPrivate):
35118        (QWebErrorPrivate::~QWebErrorPrivate):
35119        (QWebError::type):
35120        (QWebError::errorCode):
35121        (QWebError::url):
35122        * UIProcess/qt/qweberror.h: Renamed from Source/WebKit2/UIProcess/API/qt/qweberror.h.
35123        (QWebError::errorCodeAsHttpStatusCode):
35124        (QWebError::errorCodeAsNetworkError):
35125        * UIProcess/qt/qweberror_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qweberror_p.h.
35126        * WebKit2.pro:
35127        * WebKit2API.pri:
35128
351292011-10-12  Nayan Kumar K  <nayankk@motorola.com>
35130
35131        [WebKit2][gtk] Add few more API's to gtk-doc section file.
35132        https://bugs.webkit.org/show_bug.cgi?id=69921
35133
35134        Reviewed by Gustavo Noronha Silva.
35135
35136        Generate documentation for existing WebKit2-GTK+ API's,
35137        which are not yet the part of gtk-doc documentation.
35138
35139        * UIProcess/API/gtk/docs/GNUmakefile.am: List ignore files.
35140        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: API's addition.
35141
351422011-10-11  Simon Fraser  <simon.fraser@apple.com>
35143
35144        Make custom scrollbar theme for use in DRT, to reduce pixel diffs between platforms
35145        https://bugs.webkit.org/show_bug.cgi?id=68134
35146
35147        Reviewed by Darin Adler.
35148
35149        Use ScrollbarThemeMock when the setting to use mock scrollbars is enabled.
35150        
35151        Make ScrollbarTheme::nativeTheme() private, and add a new static theme() method
35152        that reads the setting, and returns the mock theme if set. All callers now use
35153        theme() rther than nativeTheme(). Add the new ScrollbarTheme.cpp file to the build.
35154
35155        * UIProcess/win/WebPopupMenuProxyWin.cpp:
35156        (WebKit::WebPopupMenuProxyWin::calculatePositionAndSize):
35157        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
35158        (WebKit::BuiltInPDFView::paintControls):
35159        * WebProcess/WebPage/PageOverlay.cpp:
35160        (WebKit::PageOverlay::bounds):
35161
351622011-10-11  Simon Fraser  <simon.fraser@apple.com>
35163
35164        Make custom scrollbar theme for use in DRT, to reduce pixel diffs between platforms
35165        https://bugs.webkit.org/show_bug.cgi?id=68134
35166
35167        Reviewed by Darin Adler.
35168
35169        ScrollbarTheme::nativeTheme() renamed to theme().
35170
35171        * WebProcess/WebPage/PageOverlay.cpp:
35172        (WebKit::PageOverlay::bounds):
35173
351742011-10-10  Martin Robinson  <mrobinson@igalia.com>
35175
35176        [GTK] [WebKit2] Make adding another unit test easier
35177        https://bugs.webkit.org/show_bug.cgi?id=69409
35178
35179        Reviewed by Gustavo Noronha Silva.
35180
35181        * GNUmakefile.am: Add the new WebKit2 API tests.
35182        * UIProcess/API/gtk/tests/GNUmakefile.am: Added.
35183        * UIProcess/API/gtk/tests/LoadTrackingTest.cpp: Added. A fixture for creating load tracking tests.
35184        * UIProcess/API/gtk/tests/LoadTrackingTest.h: Added.
35185        * UIProcess/API/gtk/tests/TestMain.cpp: Copied from Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c.
35186        (main):
35187        * UIProcess/API/gtk/tests/TestMain.h: Added.
35188        * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp: Copied from Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c.
35189        * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp: Added.
35190        * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c.
35191        * UIProcess/API/gtk/tests/WebViewTest.cpp: Added. A fixture for generic WebView tests.
35192        * UIProcess/API/gtk/tests/WebViewTest.h: Added.
35193        * UIProcess/API/gtk/tests/testloading.c: Removed.
35194        * UIProcess/API/gtk/tests/testwebcontext.c: Removed.
35195
351962011-10-11  Alexey Proskuryakov  <ap@apple.com>
35197
35198        [Mac] Crash when opening an embedded PDF in a background tab
35199        https://bugs.webkit.org/show_bug.cgi?id=69880
35200
35201        Reviewed by Darin Adler.
35202
35203        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
35204        (WebKit::BuiltInPDFView::BuiltInPDFView):
35205        (WebKit::BuiltInPDFView::~BuiltInPDFView):
35206        (WebKit::BuiltInPDFView::initialize):
35207        (WebKit::BuiltInPDFView::destroy):
35208        Moved initialization and destruction code from C++ constructor and destructor to designated
35209        functions. Not part of the fix, but seems related enough to fix.
35210
352112011-10-11  Alexey Proskuryakov  <ap@apple.com>
35212
35213        [Mac] Crash when opening an embedded PDF in a background tab
35214        https://bugs.webkit.org/show_bug.cgi?id=69880
35215
35216        Reviewed by Darin Adler.
35217
35218        * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::paint): Don't call plug-in that
35219        doesn't even have a controller yet.
35220
352212011-10-11  Beth Dakin  <bdakin@apple.com>
35222
35223        https://bugs.webkit.org/show_bug.cgi?id=69874
35224        WebKit2 snapshot APIs should take the device scale factor into account 
35225        -and corresponding-
35226        <rdar://problem/10269112>
35227
35228        Reviewed by Darin Adler.
35229
35230        Add the deviceScaleFactor as a scale on the snapshot's context to create a 
35231        snapshot of the appropriate resolution. This matches the manner in which we scale 
35232        the context in DrawingAreaImpl::display().
35233        * WebProcess/WebPage/WebPage.cpp:
35234        (WebKit::WebPage::snapshotInViewCoordinates):
35235        (WebKit::WebPage::scaledSnapshotInDocumentCoordinates):
35236
352372011-10-11  W. James MacLean  <wjmaclean@chromium.org>
35238
35239        Loss of precision when converting from double to int and double to float in FrameView::zoomAnimatorTransformChanged()
35240        https://bugs.webkit.org/show_bug.cgi?id=69739
35241
35242        Change 'double' parameters to 'float' to match changes in FrameView.
35243
35244        Reviewed by Simon Fraser.
35245
35246        * WebProcess/Plugins/PDF/BuiltInPDFView.h:
35247        (WebKit::BuiltInPDFView::zoomAnimatorTransformChanged):
35248
352492011-10-11  Alexey Proskuryakov  <ap@apple.com>
35250
35251        [Mac] Small embedded PDFs are not fully repainted when scrolling
35252        https://bugs.webkit.org/show_bug.cgi?id=69861
35253
35254        Reviewed by Anders Carlsson.
35255
35256        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: (WebKit::BuiltInPDFView::paintContent):
35257        Account for vertical centering when deciding which pages to paint.
35258
352592011-10-11  Alexey Proskuryakov  <ap@apple.com>
35260
35261        Embedding of PDF's with <object> or <embed> fails when there is no MIME type specified
35262        https://bugs.webkit.org/show_bug.cgi?id=64934
35263
35264        Reviewed by Dan Bernstein.
35265
35266        * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::createPlugin): Check URL extension, too,
35267        like GetPluginPath does in UI process. One difference is that UI process additionally tries
35268        platform specific extension to MIME type mapping, but that doesn't matter for PDF, which
35269        does not have other standard extensions.
35270
352712011-10-11  Alexey Proskuryakov  <ap@apple.com>
35272
35273        [Mac] Should be able to display multi-page PDFs in subframes
35274        https://bugs.webkit.org/show_bug.cgi?id=69804
35275
35276        Reviewed by Anders Carlsson.
35277
35278        * WebProcess/Plugins/PDF/BuiltInPDFView.h:
35279        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
35280        (WebKit::BuiltInPDFView::updateScrollbars): Page step should be exactly one page, so that
35281        one could step over the document page by page. It certainly shouldn't be a portion of the
35282        whole document.
35283        (WebKit::BuiltInPDFView::pdfDocumentDidLoad): Moved duplicated code from load callbacks here.
35284        (WebKit::BuiltInPDFView::calculateSizes): Calculate document size including gutters, and
35285        remember page boxes.
35286        (WebKit::BuiltInPDFView::paint): Split into separate functions.
35287        (WebKit::BuiltInPDFView::paintBackground): Just paint gray background for the whole dirty rect.
35288        (WebKit::BuiltInPDFView::paintContent): Paint pages and shadow under them. This code is still
35289        fairly naive, as it doesn't understand annotations or page rotation.
35290        Constants for shadows roughly match PDFView, but not quite, since it draws entirely custom
35291        shadows.
35292        (WebKit::BuiltInPDFView::paintControls): Moved scrollbar and scroll corner painting here.
35293        (WebKit::BuiltInPDFView::streamDidFinishLoading): Moved common code into pdfDocumentDidLoad().
35294        (WebKit::BuiltInPDFView::manualStreamDidFinishLoading): Ditto.
35295
352962011-10-11  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
35297
35298        [Qt] WebProcess using proxy settings for localhost as well
35299        https://bugs.webkit.org/show_bug.cgi?id=69611
35300
35301        Reviewed by Chang Shu.
35302
35303        Implemented checks in queryProxy to return QNetworkProxy::NoProxy for localhost and 127.0.0.1
35304
35305        * WebProcess/qt/WebProcessMainQt.cpp:
35306        (WebKit::EnvHttpProxyFactory::queryProxy):
35307
353082011-10-11  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
35309
35310        [Qt] Remove all references to QTDIR_build and standalone_package
35311
35312        Qt is now modularized, which means we no longer import WebKit into
35313        the Qt source tree. Instead we use git submodules, and building
35314        QtWebKit as "part of Qt" is really building QtWebKit as from trunk.
35315
35316        To decrease the number of buildsystem configurations we also remove
35317        the standalone_package code-path used when we were providing tarballs
35318        with the derived sources pre-generated.
35319
35320        Reviewed by Simon Hausmann.
35321
35322        * DerivedSources.pro:
35323        * UIProcess/API/qt/qmlplugin/qmlplugin.pro:
35324        * UIProcess/API/qt/tests/tests.pri:
35325        * WebKit2.pri:
35326        * WebProcess.pro:
35327
353282011-10-10  Nate Chapin  <japhet@chromium.org>
35329
35330        Use a CachedImageClient instead of CachedResourceClient
35331        in WebDragClientMac.
35332        https://bugs.webkit.org/show_bug.cgi?id=69790
35333
35334        Reviewed by Adam Barth.
35335
35336        * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
35337        (promisedDataClient):
35338
353392011-10-10  Mark Hahnenberg  <mhahnenberg@apple.com>
35340
35341        Remove getCallDataVirtual methods
35342        https://bugs.webkit.org/show_bug.cgi?id=69186
35343
35344        Reviewed by Geoffrey Garen.
35345
35346        Removed all getCallDataVirtual methods and replaced their call sites 
35347        with an explicit lookup in the MethodTable.
35348
35349        * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
35350        * WebProcess/Plugins/Netscape/JSNPMethod.h:
35351        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
35352        * WebProcess/Plugins/Netscape/JSNPObject.h:
35353
353542011-10-10  Simon Hausmann  <simon.hausmann@nokia.com>
35355
35356        [Qt] Fix build with qreal == float on MeeGo 1.2 Harmattan
35357
35358        Reviewed by Andreas Kling.
35359
35360        Explicitly choose the qreal variant of qMin, since QPointF is using qreal.
35361
35362        * UIProcess/qt/ViewportInteractionEngine.cpp:
35363        (WebKit::ViewportInteractionEngine::animateContentPositionIntoBoundariesIfNeeded):
35364
353652011-10-10  Carlos Garcia Campos  <cgarcia@igalia.com>
35366
35367        [GTK] Add methods to reload the view to WebKit2 GTK+ API
35368        https://bugs.webkit.org/show_bug.cgi?id=69613
35369
35370        Reviewed by Martin Robinson.
35371
35372        * UIProcess/API/gtk/WebKitWebView.cpp:
35373        (webkit_web_view_reload):
35374        (webkit_web_view_reload_bypass_cache):
35375        * UIProcess/API/gtk/WebKitWebView.h:
35376        * UIProcess/API/gtk/tests/testloading.c:
35377        (loadReloadProvisionalLoadStarted):
35378        (loadReloadLoadFinished):
35379        (testLoadTimeoutFinishLoop):
35380        (testLoadReload):
35381        (main):
35382
353832011-10-09  Luke Macpherson   <macpherson@chromium.org>
35384
35385        Fix Lion, Leopard and Snow Leopard builds after changeset 97034 <http://trac.webkit.org/changeset/97034>
35386        (https://bugs.webkit.org/show_bug.cgi?id=68035)
35387        https://bugs.webkit.org/show_bug.cgi?id=69735
35388
35389        Reviewed by Daniel Bates.
35390
35391        * WebProcess/Plugins/PDF/BuiltInPDFView.h:
35392        Add symbols that are now required by ScrollableArea.
35393        (WebKit::BuiltInPDFView::zoomAnimatorTransformChanged):
35394
353952011-10-08  Mark Hahnenberg  <mhahnenberg@apple.com>
35396
35397        Add static version of JSCell::getConstructData
35398        https://bugs.webkit.org/show_bug.cgi?id=69673
35399
35400        Reviewed by Geoffrey Garen.
35401
35402        Added static version of getConstructData to all classes that 
35403        override it and changed the virtual versions to call the static 
35404        versions.  This is the first step in de-virtualizing JSCell::getConstructData.
35405
35406        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
35407        (WebKit::JSNPObject::getConstructData):
35408        * WebProcess/Plugins/Netscape/JSNPObject.h:
35409
354102011-10-08  Mark Hahnenberg  <mhahnenberg@apple.com>
35411
35412        Add static version of JSCell::getOwnPropertySlot
35413        https://bugs.webkit.org/show_bug.cgi?id=69593
35414
35415        Reviewed by Geoffrey Garen.
35416
35417        Added static version of getOwnPropertySlot to every class that overrides
35418        JSCell::getOwnPropertySlot.  The virtual versions now call the static versions.
35419        This is the first step in de-virtualizing JSCell::getOwnPropertySlot.
35420
35421        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
35422        (WebKit::JSNPObject::getOwnPropertySlot):
35423        * WebProcess/Plugins/Netscape/JSNPObject.h:
35424
354252011-10-03  Carlos Garcia Campos  <cgarcia@igalia.com> and Martin Robinson  <mrobinson@igalia.com>
35426
35427        [GTK] Implement drag and drop support in WebKit2
35428        https://bugs.webkit.org/show_bug.cgi?id=63706
35429
35430        Reviewed by Philippe Normand.
35431
35432        * GNUmakefile.am: Add new files to compilation.
35433        * Shared/gtk/ArgumentCodersGtk.cpp: Added.
35434        (CoreIPC::encodeImage): Encode a GdkPixbuf.
35435        (CoreIPC::decodeImage): Decode a GdkPixbuf.
35436        (CoreIPC::encodeDataObject): Encode a DataObjectGtk.
35437        (CoreIPC::decodeDataObject): Decode a DataObjectGtk.
35438        (CoreIPC::::encode): Encode DragData.
35439        (CoreIPC::::decode): Decode DragData.
35440        * Shared/gtk/ArgumentCodersGtk.h:
35441        * UIProcess/API/gtk/PageClientImpl.cpp:
35442        (WebKit::PageClientImpl::startDrag):
35443        * UIProcess/API/gtk/PageClientImpl.h:
35444        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
35445        (webkit_web_view_base_init): Set the view as a potential drop destination.
35446        (webkitWebViewBaseDragDataGet): Added, delegate to GtkDragAndDropHelper.
35447        (webkitWebViewBaseDragEnd): Ditto.
35448        (webkitWebViewBaseDragDataReceived): Ditto.
35449        (webkitWebViewBaseDragEnter): Ditto.
35450        (webkitWebViewBaseDragMotion): Ditto.
35451        (doDragLeaveLater): Ditto.
35452        (webkitWebViewBaseDragLeave): Ditto.
35453        (webkitWebViewBaseDragDrop): Ditto.
35454        (webkit_web_view_base_class_init): Override GtkWidget drag and drop methods.
35455        (webkitWebViewBaseStartDrag): Calls gtk_drag_begin() to start a drag operation.
35456        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Add webkitWebViewBaseStartDrag().
35457        * UIProcess/PageClient.h: Add startDrag().
35458        * UIProcess/WebPageProxy.cpp:
35459        (WebKit::WebPageProxy::performDragControllerAction): Share the Qt version.
35460        * UIProcess/WebPageProxy.h:
35461        * UIProcess/WebPageProxy.messages.in:
35462        * WebProcess/WebCoreSupport/WebDragClient.cpp:
35463        * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp: Added.
35464        * WebProcess/WebPage/WebPage.cpp: Add drag support for GTK+.
35465        * WebProcess/WebPage/WebPage.h: Ditto.
35466        * WebProcess/WebPage/WebPage.messages.in: Ditto.
35467
354682011-10-08  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
35469
35470        [Qt] [WK2] Wrong handling of visibility in QTouchWebPage
35471        https://bugs.webkit.org/show_bug.cgi?id=69670
35472
35473        Reviewed by Andreas Kling.
35474
35475        Replace QTouchWebPage visibility handling by Show/Hide events with use of 
35476        QSGItem::visibleChanged signal.
35477
35478        * UIProcess/API/qt/qtouchwebpage.cpp:
35479        (QTouchWebPage::QTouchWebPage):
35480        (QTouchWebPage::event):
35481        (QTouchWebPage::onVisibleChanged):
35482        * UIProcess/API/qt/qtouchwebpage.h:
35483
354842011-10-08  Sheriff Bot  <webkit.review.bot@gmail.com>
35485
35486        Unreviewed, rolling out r96996.
35487        http://trac.webkit.org/changeset/96996
35488        https://bugs.webkit.org/show_bug.cgi?id=69697
35489
35490        It broke all tests on the Qt bot (Requested by Ossy_night on
35491        #webkit).
35492
35493        * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
35494        (WebKit::JSNPMethod::getCallDataVirtual):
35495        * WebProcess/Plugins/Netscape/JSNPMethod.h:
35496        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
35497        (WebKit::JSNPObject::getCallDataVirtual):
35498        * WebProcess/Plugins/Netscape/JSNPObject.h:
35499
355002011-10-07  Jeff Miller  <jeffm@apple.com>
35501
35502        Add WKPageContextMenuClient callback when context menu is dismissed
35503        https://bugs.webkit.org/show_bug.cgi?id=69553
35504
35505        Add contextMenuDismissed callback to WKPageContextMenuClient, and bump the API
35506        version of this client to 1 so we continue to work with old clients.
35507
35508        * Shared/APIClientTraits.cpp: Added array of interface sizes for WKPageContextMenuClient.
35509        * Shared/APIClientTraits.h: Added APIClientTraits for WKPageContextMenuClient.
35510
35511        * UIProcess/API/C/WKPage.h: Added contextMenuDismissed callback to WKPageContextMenuClient and bumped kWKPageContextMenuClientCurrentVersion.
35512
35513        * UIProcess/WebPageContextMenuClient.cpp:
35514        (WebKit::WebPageContextMenuClient::contextMenuDismissed): Added.
35515
35516        * UIProcess/WebPageContextMenuClient.h: Added WebPageContextMenuClient::contextMenuDismissed().
35517
35518        * UIProcess/WebPageProxy.cpp:
35519        (WebKit::WebPageProxy::internalShowContextMenu): Notify client when context menu is dismissed.
35520
355212011-10-07  Mark Hahnenberg  <mhahnenberg@apple.com>
35522
35523        Remove getCallDataVirtual methods
35524        https://bugs.webkit.org/show_bug.cgi?id=69186
35525
35526        Reviewed by Geoffrey Garen.
35527
35528        Removed all getCallDataVirtual methods and replaced their call sites 
35529        with an explicit lookup in the MethodTable.
35530
35531        * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
35532        * WebProcess/Plugins/Netscape/JSNPMethod.h:
35533        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
35534        * WebProcess/Plugins/Netscape/JSNPObject.h:
35535
355362011-10-07  Alexey Proskuryakov  <ap@apple.com>
35537
35538        [Mac] Scrollbars in embedded PDFs should update when system preferences change
35539        https://bugs.webkit.org/show_bug.cgi?id=69654
35540
35541        Reviewed by Simon Fraser.
35542
35543        * WebProcess/Plugins/PDF/BuiltInPDFView.h: Added an scrollbarStyleChanged() override.
35544        ScrollAnimatorMac sets scrollbar frame to a bogus (0, 0, thickness, thickness) one when style
35545        changes, and expects clients to move them back in place.
35546
35547        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
35548        (WebKit::BuiltInPDFView::isOnActivePage): Fixed a typo that prevented ScrollAnimatorMac from
35549        updating style of PDF view scrollbars.
35550        (WebKit::BuiltInPDFView::scrollbarStyleChanged): Reposition scrollbars and content after
35551        style change. The behavior is not perfect in edge cases, but roughly matches ScrollView.
35552
355532011-10-07  Sheriff Bot  <webkit.review.bot@gmail.com>
35554
35555        Unreviewed, rolling out r96938.
35556        http://trac.webkit.org/changeset/96938
35557        https://bugs.webkit.org/show_bug.cgi?id=69653
35558
35559        It broke zillion tests and make testing so slow (Requested by
35560        ossy_ on #webkit).
35561
35562        * UIProcess/WebContext.cpp:
35563        * UIProcess/WebContext.h:
35564        * UIProcess/efl/WebContextEfl.cpp:
35565        (WebKit::WebContext::applicationCacheDirectory):
35566        * UIProcess/gtk/WebContextGtk.cpp:
35567        (WebKit::WebContext::applicationCacheDirectory):
35568        * UIProcess/mac/WebContextMac.mm:
35569        (WebKit::WebContext::applicationCacheDirectory):
35570        * UIProcess/qt/WebContextQt.cpp:
35571        (WebKit::WebContext::applicationCacheDirectory):
35572        * UIProcess/win/WebContextWin.cpp:
35573        (WebKit::WebContext::applicationCacheDirectory):
35574
355752011-10-07  Qi Zhang  <qi.2.zhang@nokia.com>
35576
35577        [Qt][WK2] ApplicationCache LayoutTests failed
35578        https://bugs.webkit.org/show_bug.cgi?id=69541
35579
35580        Reviewed by Chang Shu.
35581
35582        1. Moved applicationCacheDirectory to common code.
35583        2. Added interface setApplicationCacheDirectory to allow UI client overriding.
35584        3. Renamed all platform-dependent implementations of applicationCacheDirectory to platformDefaultApplicationCacheDirectory.
35585        4. On Qt, set the platformDefaultApplicationCacheDirectory to the default data location.
35586
35587
35588        * UIProcess/WebContext.cpp:
35589        (WebKit::WebContext::applicationCacheDirectory):
35590        * UIProcess/WebContext.h:
35591        (WebKit::WebContext::setApplicationCacheDirectory):
35592        * UIProcess/efl/WebContextEfl.cpp:
35593        (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
35594        * UIProcess/gtk/WebContextGtk.cpp:
35595        (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
35596        * UIProcess/mac/WebContextMac.mm:
35597        (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
35598        * UIProcess/qt/WebContextQt.cpp:
35599        (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
35600        * UIProcess/win/WebContextWin.cpp:
35601        (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
35602
356032011-10-06  Brent Fulgham  <bfulgham@webkit.org>
35604
35605        [WinCairo] Correct improper identification of WKQC extensions.
35606        https://bugs.webkit.org/show_bug.cgi?id=69600
35607
35608        * DerivedSources.make: Make sure we are not building the
35609        WinCairo variant.
35610
356112011-10-06  Anders Carlsson  <andersca@apple.com>
35612
35613        When building with clang, enable -Wglobal-constructors and -Wexit-time-destructors
35614        https://bugs.webkit.org/show_bug.cgi?id=69586
35615
35616        Reviewed by Darin Adler.
35617
35618        * Configurations/Base.xcconfig:
35619        Add -Wglobal-constructors and -Wexit-time-destructors when building with clang.
35620
35621        * WebKit2.xcodeproj/project.pbxproj:
35622        When building with clang, we don't need to run the check-for-global-initializers and
35623        check-for-exit-time-destructors anymore.
35624
356252011-10-06  Anders Carlsson  <andersca@apple.com>
35626
35627        Add DEFINE_DEBUG_ONLY_GLOBAL for globals that should be defined in debug builds
35628        https://bugs.webkit.org/show_bug.cgi?id=69584
35629
35630        Reviewed by Darin Adler.
35631
35632        Adopt the DEFINE_DEBUG_ONLY_GLOBAL macro.
35633
35634        * UIProcess/WebContext.cpp:
35635        * UIProcess/WebPageProxy.cpp:
35636        * WebProcess/WebPage/WebFrame.cpp:
35637        * WebProcess/WebPage/WebPage.cpp:
35638
356392011-10-06  Alexey Proskuryakov  <ap@apple.com>
35640
35641        [Mac] Should be able to scroll embedded PDFs using mouse
35642        https://bugs.webkit.org/show_bug.cgi?id=69579
35643
35644        Reviewed by Darin Adler.
35645
35646        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
35647        (WebKit::BuiltInPDFView::handleMouseEvent): No longer need to hardcode mouseDown handling,
35648        ScrollableArea does everything now.
35649        (WebKit::BuiltInPDFView::horizontalScrollbar): Added plumbing to access scrollbars from
35650        WebCore hit testing code.
35651        (WebKit::BuiltInPDFView::verticalScrollbar): Ditto.
35652        (WebKit::BuiltInPDFView::visibleHeight): ScrollableArea now wants this.
35653        (WebKit::BuiltInPDFView::visibleWidth): Ditto.
35654
35655        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
35656        (WebKit::NetscapePlugin::horizontalScrollbar):
35657        (WebKit::NetscapePlugin::verticalScrollbar):
35658        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
35659        * WebProcess/Plugins/PDF/BuiltInPDFView.h:
35660        * WebProcess/Plugins/Plugin.h:
35661        * WebProcess/Plugins/PluginProxy.cpp:
35662        (WebKit::PluginProxy::horizontalScrollbar):
35663        (WebKit::PluginProxy::verticalScrollbar):
35664        * WebProcess/Plugins/PluginProxy.h:
35665        * WebProcess/Plugins/PluginView.cpp:
35666        (WebKit::PluginView::horizontalScrollbar):
35667        (WebKit::PluginView::verticalScrollbar):
35668        * WebProcess/Plugins/PluginView.h:
35669        Added plumbing to access scrollbars from WebCore hit testing code.
35670
356712011-10-06  Alexis Menard  <alexis.menard@openbossa.org>
35672
35673        [Qt][WK2] WebIconDatabase expects a file path not a directory.
35674        https://bugs.webkit.org/show_bug.cgi?id=69557
35675
35676        Reviewed by Andreas Kling.
35677
35678        WebIconDatabase::setDatabasePath expects a file path not a directory.
35679        I used the same name as the Mac port.
35680
35681        * UIProcess/qt/WebContextQt.cpp:
35682        (WebKit::WebContext::platformDefaultIconDatabasePath):
35683
356842011-10-06  Anders Carlsson  <andersca@apple.com>
35685
35686        In background window, page flashes white if it enters and then immediately leaves compositing mode
35687        https://bugs.webkit.org/show_bug.cgi?id=69566
35688        <rdar://problem/9521192>
35689
35690        Reviewed by Dan Bernstein.
35691
35692        Don't update the backing store state if we're just about to exit accelerated compositing mode. Otherwise
35693        the UI process will try to render an empty layer tree for a short period of time, leading to a white flash.
35694
35695        * WebProcess/WebPage/DrawingAreaImpl.cpp:
35696        (WebKit::DrawingAreaImpl::layerHostDidFlushLayers):
35697
356982011-10-06  Fady Samuel  <fsamuel@chromium.org>
35699
35700        Code clean-up: Make RenderObject::absoluteBoundingBoxRect and associated methods const and make its parameter useTransforms no longer default to false
35701        https://bugs.webkit.org/show_bug.cgi?id=69009
35702
35703        Reviewed by Simon Fraser.
35704
35705        * win/WebKit2.def:
35706        * win/WebKit2CFLite.def:
35707
357082011-10-06  Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
35709
35710        Move windows specific TextChecker implementation common to all ports.
35711        https://bugs.webkit.org/show_bug.cgi?id=68532
35712
35713        Reviewed by Anders Carlsson.
35714
35715        All the TextChecker feature implementation files are moved outside of win port since they are
35716        platform independent and can be moved across all ports. Only the implementation of TextChecker
35717        class is platform dependent now and has been retained across all ports. Rest all files has been
35718        moved for all ports usage.
35719
35720        * Shared/API/c/WKBase.h: Add WKGrammarDetailRef & WKTextCheckerRef types.
35721        * Shared/API/c/win/WKBaseWin.h: Remove WKGrammarDetailRef & WKTextCheckerRef types.
35722        * Shared/APIObject.h: Moved TypeGrammarDetail & TypeTextChecker from platform specific section to UIProcess types.
35723        * UIProcess/API/C/WKAPICast.h: Added mapping for WKTextCheckerRef & WKGrammarDetailRef.
35724        * UIProcess/API/C/WKGrammarDetail.cpp: Renamed from Source/WebKit2/UIProcess/API/C/win/WKGrammarDetail.cpp.
35725        * UIProcess/API/C/WKGrammarDetail.h: Renamed from Source/WebKit2/UIProcess/API/C/win/WKGrammarDetail.h.
35726        * UIProcess/API/C/WKTextChecker.cpp: Renamed from Source/WebKit2/UIProcess/API/C/win/WKTextChecker.cpp.
35727        * UIProcess/API/C/WKTextChecker.h: Renamed from Source/WebKit2/UIProcess/API/C/win/WKTextChecker.h.
35728        * UIProcess/API/C/win/WKAPICastWin.h: Removed mapping for WKTextCheckerRef & WKGrammarDetailRef.
35729        * UIProcess/WebGrammarDetail.cpp: Renamed from Source/WebKit2/UIProcess/win/WebGrammarDetail.cpp.
35730        * UIProcess/WebGrammarDetail.h: Renamed from Source/WebKit2/UIProcess/win/WebGrammarDetail.h.
35731        * UIProcess/WebTextChecker.cpp: Renamed from Source/WebKit2/UIProcess/win/WebTextChecker.cpp.
35732        * UIProcess/WebTextChecker.h: Renamed from Source/WebKit2/UIProcess/win/WebTextChecker.h.
35733        * UIProcess/WebTextCheckerClient.cpp: Renamed from Source/WebKit2/UIProcess/win/WebTextCheckerClient.cpp.
35734        * UIProcess/WebTextCheckerClient.h: Renamed from Source/WebKit2/UIProcess/win/WebTextCheckerClient.h.
35735        * win/WebKit2.vcproj: Corrected paths for renamed files.
35736        * win/WebKit2Generated.make: Corrected paths for renamed files.
35737
357382011-10-06  Anders Carlsson  <andersca@apple.com>
35739
35740        Crash when PluginProxy object is destroyed inside PluginProxy::pluginScriptableNPObject
35741        https://bugs.webkit.org/show_bug.cgi?id=69559
35742        <rdar://problem/9704066>
35743
35744        Reviewed by Maciej Stachowiak.
35745
35746        Protect the plug-in itself in the call to pluginScriptableNPObject. In some cases, sending
35747        the synchronous message to the plug-in process can end up causing the web process to handle
35748        an incoming message that will destroy t he plug-in.
35749
35750        Unfortunately, this is highly timing-dependent and can't be tested reliably.
35751
35752        * WebProcess/Plugins/PluginProxy.cpp:
35753        (WebKit::PluginProxy::pluginScriptableNPObject):
35754
357552011-10-06  Carlos Garcia Campos  <cgarcia@igalia.com>
35756
35757        [GTK] Add estimated-progress property to WebKitWebLoaderClient
35758        https://bugs.webkit.org/show_bug.cgi?id=69509
35759
35760        Reviewed by Martin Robinson.
35761
35762        It allows to monitor the estimated progress of a lof operation by
35763        connecting to the notify signal.
35764
35765        * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
35766        (didChangeProgress): Update estimated-progress property and notify when
35767        it changes.
35768        (webkitWebLoaderClientConstructed): Add implementations for
35769        didStartProgress, didChangeProgress and didFinishProgress.
35770        (webkitWebLoaderClientGetProperty):
35771        (webkit_web_loader_client_class_init): Add estimated-progress property.
35772        (webkit_web_loader_client_get_estimated_progress): Returns the
35773        value of estimated-progress property.
35774        * UIProcess/API/gtk/WebKitWebLoaderClient.h:
35775        * UIProcess/API/gtk/tests/testloading.c:
35776        (webLoadingFixtureSetup):
35777        (loadProgressEstimatedProgressChanged):
35778        (loadProgressLoadFinished):
35779        (testLoadProgress):
35780        (main):
35781
357822011-10-06  Carlos Garcia Campos  <cgarcia@igalia.com>
35783
35784        [GTK] Implement cache model for WebKit2
35785        https://bugs.webkit.org/show_bug.cgi?id=68434
35786
35787        Reviewed by Martin Robinson.
35788
35789        * UIProcess/API/gtk/WebKitWebContext.cpp:
35790        (webkit_web_context_set_cache_model):
35791        (webkit_web_context_get_cache_model):
35792        * UIProcess/API/gtk/WebKitWebContext.h:
35793        * UIProcess/API/gtk/tests/testwebcontext.c:
35794        (testWebContextCacheModel):
35795        (main):
35796        * WebProcess/gtk/WebProcessGtk.cpp:
35797        (WebKit::getCacheDiskFreeSize): Helper function to get free space
35798        of the file system where the cache directory is on.
35799        (WebKit::getMemorySize): Helper function to get the total memory
35800        of the system in MB.
35801        (WebKit::WebProcess::platformSetCacheModel): Implement
35802        platformSetCacheModel for Gtk port using calculateCacheSizes().
35803
358042011-10-05  Alexey Proskuryakov  <ap@apple.com>
35805
35806        https://bugs.webkit.org/show_bug.cgi?id=69492
35807        [Mac] Should be able to scroll embedded PDFs from keyboard
35808
35809        Reviewed by Darin Adler.
35810
35811        * WebProcess/Plugins/Plugin.h:
35812        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
35813        (WebKit::NetscapePlugin::handleScroll):
35814        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
35815        * WebProcess/Plugins/PluginProxy.cpp:
35816        (WebKit::PluginProxy::handleScroll):
35817        * WebProcess/Plugins/PluginProxy.h:
35818        Added a handleScroll method. A plug-in gets it if it doesn't handle a keyboard event, and
35819        WebCore decides that this is an event for scrolling. A plug-in can decide whether it scrolls
35820        main content, or some scrollable subview of its own.
35821
35822        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
35823        (WebKit::BuiltInPDFView::handleMouseEvent): Added a comment explaining returned value.
35824        (WebKit::BuiltInPDFView::handleScroll): Just call ScrollableArea, it will do everything.
35825
35826        * WebProcess/Plugins/PDF/BuiltInPDFView.h: Added a handleScroll override.
35827
35828        * WebProcess/Plugins/PluginView.cpp:
35829        (WebKit::PluginView::scroll): Pass a PluginViewBase scroll to plug-in to handle.
35830        (WebKit::PluginView::handleEvent): Added a FIXME.
35831        * WebProcess/Plugins/PluginView.h:
35832
358332011-10-06  Carlos Garcia Campos  <cgarcia@igalia.com>
35834
35835        [GTK] Do not use C API in GTK+ API public headers
35836        https://bugs.webkit.org/show_bug.cgi?id=69506
35837
35838        Reviewed by Martin Robinson.
35839
35840        * GNUmakefile.am: Add new files to compilation.
35841        * UIProcess/API/gtk/WebKitDefines.h: Added.
35842        * UIProcess/API/gtk/WebKitError.h: Use WEBKIT_API instead of WK_EXPORT.
35843        * UIProcess/API/gtk/WebKitWebContext.h: Ditto.
35844        * UIProcess/API/gtk/WebKitWebLoaderClient.h: Ditto.
35845        * UIProcess/API/gtk/WebKitWebView.h: Ditto.
35846        * UIProcess/API/gtk/WebKitWebViewBase.h: Ditto.
35847        * UIProcess/API/gtk/docs/GNUmakefile.am: Ignore WEBKIT_API
35848        decorator in docs.
35849        * UIProcess/API/gtk/webkit2.h: Include <webkit2/WebKitDefines.h>
35850
358512011-10-06  Alexis Menard  <alexis.menard@openbossa.org>
35852
35853        [Qt][WK2] Cursor should change when hovering links or input fields.
35854        https://bugs.webkit.org/show_bug.cgi?id=69519
35855
35856        Reviewed by Simon Hausmann.
35857
35858        This is a temporary fix until Qt5 brings support for changing cursor
35859        per item. This patch enforce the change of the cursor at application
35860        level.
35861
35862        * UIProcess/API/qt/qdesktopwebview.cpp:
35863        (QDesktopWebViewPrivate::didChangeCursor):
35864
358652011-10-06  Zeno Albisser  <zeno.albisser@nokia.com>
35866
35867        [Qt][WK2][Mac] QtWebProcess should not show up in the Dock.
35868        https://bugs.webkit.org/show_bug.cgi?id=69432
35869
35870        We can set the environment variable QT_MAC_DISABLE_FOREGROUND_APPLICATION_TRANSFORM
35871        in the WebProcess stub to disable the automatic foreground transformation.
35872
35873        Reviewed by Andreas Kling.
35874
35875        * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
35876        (WebKit::QtWebProcess::setupChildProcess):
35877
358782011-10-03  Andy Estes  <aestes@apple.com>
35879
35880        Add an option to suppress rendering until the document's load event fires.
35881        https://bugs.webkit.org/show_bug.cgi?id=69298
35882
35883        Reviewed by Simon Fraser.
35884        
35885        Add a new WKPreference.
35886
35887        * Shared/WebPreferencesStore.h:
35888        * UIProcess/API/C/WKPreferences.cpp:
35889        (WKPreferencesSetSuppressRenderingWhileInitiallyLoading):
35890        (WKPreferencesGetSuppressRenderingWhileInitiallyLoading):
35891        * UIProcess/API/C/WKPreferences.h:
35892        * WebProcess/WebPage/WebPage.cpp:
35893        (WebKit::WebPage::updatePreferences):
35894
358952011-10-05  Simon Fraser  <simon.fraser@apple.com>
35896
35897        r96770 broke binary compatibility with Safari
35898        https://bugs.webkit.org/show_bug.cgi?id=69496
35899
35900        Reviewed by Dan Bernstein.
35901        
35902        Fix binary compatibility issue by declaring the deprecated methods inside a extern "C" block.
35903
35904        * UIProcess/API/C/WKContext.cpp:
35905
359062011-10-05  Jer Noble  <jer.noble@apple.com>
35907
35908        Enable WEB_AUDIO by default in the WebKit/mac port.
35909        https://bugs.webkit.org/show_bug.cgi?id=68587
35910
35911        Reviewed by Simon Fraser.
35912
35913        * Configurations/FeatureDefines.xcconfig:
35914
359152011-10-05  Simon Fraser  <simon.fraser@apple.com>
35916
35917        In WebKitTestRunner, text has font smoothing in pixel snapshots
35918        https://bugs.webkit.org/show_bug.cgi?id=69396
35919
35920        Reviewed by Darin Adler.
35921        
35922        Plumb through a method on WKContext that controls whether font smoothing
35923        is enabled. Since this is a global setting, such a method is more appropriate
35924        than a preference.
35925        
35926        Remove leading underscores on some WKContext functions, but keep
35927        exported versions of same for binary compatibility.
35928
35929        * Shared/WebProcessCreationParameters.cpp:
35930        (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
35931        (WebKit::WebProcessCreationParameters::encode):
35932        (WebKit::WebProcessCreationParameters::decode):
35933        * Shared/WebProcessCreationParameters.h:
35934        * UIProcess/API/C/WKContext.cpp:
35935        (WKContextSetAlwaysUsesComplexTextCodePath):
35936        (WKContextSetShouldUseFontSmoothing):
35937        (WKContextSetAdditionalPluginsDirectory):
35938        (WKContextRegisterURLSchemeAsEmptyDocument):
35939        (WKContextSetHTTPPipeliningEnabled):
35940        (_WKContextSetAdditionalPluginsDirectory):
35941        (_WKContextRegisterURLSchemeAsEmptyDocument):
35942        (_WKContextSetAlwaysUsesComplexTextCodePath):
35943        (_WKContextSetHTTPPipeliningEnabled):
35944        * UIProcess/API/C/WKContextPrivate.h:
35945        * UIProcess/WebContext.cpp:
35946        (WebKit::WebContext::WebContext):
35947        (WebKit::WebContext::ensureWebProcess):
35948        (WebKit::WebContext::setShouldUseFontSmoothing):
35949        (WebKit::WebContext::httpPipeliningEnabled):
35950        * UIProcess/WebContext.h:
35951        * WebProcess/WebProcess.cpp:
35952        (WebKit::WebProcess::initializeWebProcess):
35953        (WebKit::WebProcess::setShouldUseFontSmoothing):
35954        * WebProcess/WebProcess.h:
35955        * WebProcess/WebProcess.messages.in:
35956
359572011-10-05  Anders Carlsson  <andersca@apple.com>
35958
35959        Flash of white when unminimizing windows
35960        https://bugs.webkit.org/show_bug.cgi?id=69476
35961        <rdar://problem/10202680>
35962
35963        Reviewed by Simon Fraser.
35964
35965        Whenever the UI process requests an immediate backing store update, make sure to resume
35966        painting if it's suspended.
35967
35968        * WebProcess/WebPage/DrawingAreaImpl.cpp:
35969        (WebKit::DrawingAreaImpl::updateBackingStoreState):
35970
359712011-10-05  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
35972
35973        [Qt] [WK2] Support JS alert/confirm/prompt in QDesktopWebView
35974        https://bugs.webkit.org/show_bug.cgi?id=69274
35975
35976        Reviewed by Andreas Kling.
35977
35978        Use currently existing QtWidgets to provide an implementation of
35979        window.alert(), window.confirm() and window.prompt().
35980
35981        * Shared/WebString.h:
35982        (WebKit::WebString::createNull):
35983        (WebKit::WebString::WebString):
35984        Add a way to create a Null WebString. RunJavaScriptPrompt will differentiate
35985        between empty and null strings.
35986
35987        * UIProcess/API/qt/qdesktopwebview.cpp:
35988        (QDesktopWebViewPrivate::enableMouseEvents):
35989        (QDesktopWebViewPrivate::disableMouseEvents):
35990        Create helper functions to enable and disable mouse events. This is useful for
35991        disabling mouse events in the WebView when we show QtWidget dialogs to avoid
35992        unwanted interaction with the page.
35993
35994        (QDesktopWebViewPrivate::runJavaScriptAlert):
35995        (QDesktopWebViewPrivate::runJavaScriptConfirm):
35996        (QDesktopWebViewPrivate::runJavaScriptPrompt):
35997        (QDesktopWebView::init):
35998        * UIProcess/API/qt/qdesktopwebview_p.h:
35999        * UIProcess/qt/ClientImpl.cpp:
36000        (qt_wk_runJavaScriptAlert):
36001        (qt_wk_runJavaScriptConfirm):
36002        (createNullWKString):
36003        (qt_wk_runJavaScriptPrompt):
36004        * UIProcess/qt/ClientImpl.h:
36005        * UIProcess/qt/QtWebPageProxy.cpp:
36006        (QtWebPageProxy::init):
36007        * UIProcess/qt/TouchViewInterface.cpp:
36008        (WebKit::TouchViewInterface::runJavaScriptAlert):
36009        (WebKit::TouchViewInterface::runJavaScriptConfirm):
36010        (WebKit::TouchViewInterface::runJavaScriptPrompt):
36011        * UIProcess/qt/TouchViewInterface.h:
36012        * UIProcess/qt/ViewInterface.h:
36013
360142011-10-05  Chang Shu  <cshu@webkit.org>
36015
36016        [WK2] Support setMarkedText/hasMarkedText/unmarkText/insertText for WTR TextInputController
36017        https://bugs.webkit.org/show_bug.cgi?id=68924
36018
36019        Implemented WKBundlePage private APIs to support the above functions.
36020
36021        Reviewed by Darin Adler.
36022
36023        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
36024        (WKBundlePageSetComposition):
36025        (WKBundlePageHasComposition):
36026        (WKBundlePageConfirmComposition):
36027        (WKBundlePageConfirmCompositionWithText):
36028        * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
36029        * WebProcess/WebPage/WebPage.cpp:
36030        (WebKit::WebPage::setCompositionForTesting):
36031        (WebKit::WebPage::hasCompositionForTesting):
36032        (WebKit::WebPage::confirmCompositionForTesting):
36033        * WebProcess/WebPage/WebPage.h:
36034
360352011-10-05  Alexey Proskuryakov  <ap@apple.com>
36036
36037        [Mac] Make built-in PDF description localizable
36038        https://bugs.webkit.org/show_bug.cgi?id=69442
36039
36040        Reviewed by Dan Bernstein.
36041
36042        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: Use a localized string instead of a literal one.
36043
360442011-10-05  Chang Shu  <cshu@webkit.org>
36045
36046        [WK2] WebKitTestRunner needs LayoutTestController.dumpConfigurationForViewport
36047        https://bugs.webkit.org/show_bug.cgi?id=69365
36048
36049        Reviewed by Darin Adler.
36050
36051        Implement retrieving viewport configuration as text in WebProcess.
36052
36053        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
36054        (WKBundlePageViewportConfigurationAsText):
36055        * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
36056        * WebProcess/WebPage/WebPage.cpp:
36057        (WebKit::WebPage::viewportConfigurationAsText):
36058        * WebProcess/WebPage/WebPage.h:
36059
360602011-10-05  Alexis Menard  <alexis.menard@openbossa.org>
36061
36062        [Qt][WK2] Default directories and paths are missing for LocalStorage, Database and IconDatabase.
36063        https://bugs.webkit.org/show_bug.cgi?id=69111
36064
36065        Reviewed by Kenneth Rohde Christiansen.
36066
36067        Provide default path for LocalStorage, Database and IconDatabase using QDesktopServices.
36068
36069        * UIProcess/qt/WebContextQt.cpp:
36070        (WebKit::defaultDataLocation):
36071        (WebKit::WebContext::platformInitializeWebProcess):
36072        (WebKit::WebContext::platformDefaultDatabaseDirectory):
36073        (WebKit::WebContext::platformDefaultIconDatabasePath):
36074        (WebKit::WebContext::platformDefaultLocalStorageDirectory):
36075
360762011-10-05  Carlos Garcia Campos  <cgarcia@igalia.com>
36077
36078        [GTK] Use WKRetainPtr for WK types in WebKit2 GTK+
36079        https://bugs.webkit.org/show_bug.cgi?id=69404
36080
36081        Reviewed by Martin Robinson.
36082
36083        * UIProcess/API/gtk/WebKitWebContext.cpp:
36084        (webkitWebContextFinalize):
36085        (createDefaultWebContext):
36086        (webkitWebContextGetWKContext):
36087        * UIProcess/API/gtk/WebKitWebView.cpp:
36088        (webkit_web_view_load_uri):
36089        (webkit_web_view_load_alternate_html):
36090
360912011-10-04  Kent Tamura  <tkent@chromium.org>
36092
36093        Introduce feature flags for incomplete input types
36094        https://bugs.webkit.org/show_bug.cgi?id=68971
36095
36096        Reviewed by Hajime Morita.
36097
36098        * Configurations/FeatureDefines.xcconfig:
36099        Add ENABLE_INPUT_TYPE_* flags. They are enabled only for iOS.
36100
361012011-10-04  Scott Graham  <scottmg@chromium.org>
36102
36103        Add GAMEPAD feature flag
36104        https://bugs.webkit.org/show_bug.cgi?id=66859
36105
36106        Reviewed by Darin Fisher.
36107
36108        * Configurations/FeatureDefines.xcconfig:
36109
361102011-10-04  Ada Chan  <adachan@apple.com>
36111
36112        toURLRef() in WKSharedAPICast.h should return null for a null string
36113        https://bugs.webkit.org/show_bug.cgi?id=69380
36114
36115        Reviewed by Jon Honeycutt.
36116
36117        * Shared/API/c/WKSharedAPICast.h:
36118        (WebKit::toURLRef): Add the missing "return" for the null string case.
36119
361202011-10-04  Alexey Proskuryakov  <ap@apple.com>
36121
36122        https://bugs.webkit.org/show_bug.cgi?id=67774
36123        PDF in a frameset is not displayed, always downloads
36124
36125        Reviewed by Darin Adler.
36126
36127        * WebKit2.xcodeproj/project.pbxproj:
36128        * WebProcess/Plugins/PDF: Added.
36129        Added BuiltInPDFView class. It implements ScrollableArea and Plugin, working with iframes,
36130        objects and embeds. The implementation targets Mac port only, fixing a WebKit2 regression.
36131
36132        * UIProcess/WebContext.cpp: (WebKit::WebContext::getPlugins): Tell WebCore that there is a
36133        plug-in for PDF, so that it instantiates it in a regular fashion.
36134
36135        * UIProcess/WebFrameProxy.cpp: (WebKit::WebFrameProxy::canShowMIMEType): We can now show
36136        PDF not only in main frame.
36137
36138        * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: Added. This is largely an implementation of
36139        ScrollableArea now, which can render the first page of a PDF. Further improvements to come.
36140
36141        * WebProcess/Plugins/PDF/BuiltInPDFView.h: Added.
36142
36143        * WebProcess/Plugins/Plugin.cpp: (WebKit::Plugin::updateControlTints): Give Plugin a chance
36144        to invalidate its tintable controls - it's necessary for PDF because scrollbars are tintable. 
36145
36146        * WebProcess/Plugins/Plugin.h: (WebKit::Plugin::controller): Added a const version, since
36147        some ScrollableArea methods are const.
36148
36149        * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::paint): Call updateControlTints
36150        at updatingControlTints phase.
36151
36152        * WebProcess/Plugins/PluginView.h: PDF plug-in needs to tinker with embedding FrameView to
36153        use Scrollbar class, so it needs to cast its PluginController up to PluginView. It's unfortunate
36154        that PluginView has so much NPAPI specific code, but that's how it is now.
36155
36156        * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::createPlugin): If there is no real plug-in
36157        installed for PDF, instantiate built-in one.
36158
361592011-10-04  Jon Lee  <jonlee@apple.com>
36160
36161        REGRESSION (WK2): (Shift-)option-tabbing skips over elements when transitioning from chrome to webview
36162        https://bugs.webkit.org/show_bug.cgi?id=68412
36163        <rdar://problem/9988252>
36164
36165        Reviewed by Darin Adler.
36166
36167        In WK1 setInitialFocus() is called on FocusController with the key event that
36168        caused the web view to become first responder. In WK2 no event is sent. So if
36169        the key stroke that caused the change in first responder status contains the
36170        option modifier key, FocusController did not know that it had to switch behavior.
36171
36172        Because there are multiple ways that the WKView can becomeFirstResponder, I changed
36173        the signature to setInitialFocus to express whether the key event parameter is an
36174        actual key event.
36175
36176        * UIProcess/API/C/win/WKView.cpp:
36177        (WKViewSetInitialFocus):
36178        * UIProcess/API/mac/WKView.mm:
36179        (-[WKView becomeFirstResponder]): Take the NSApp currentEvent and pass it along if
36180        the event is a keyboard event, otherwise pass an empty event.
36181        * UIProcess/WebPageProxy.cpp:
36182        (WebKit::WebPageProxy::setInitialFocus): Change in function signature to confirm that
36183        the event that caused the initial focus was a keyboard event, and provide the keyboard
36184        event itself.
36185        * UIProcess/WebPageProxy.h:
36186        * UIProcess/win/WebView.cpp:
36187        (WebKit::WebView::setInitialFocus):
36188        * UIProcess/win/WebView.h:
36189        * WebProcess/WebPage/WebPage.cpp:
36190        (WebKit::WebPage::setInitialFocus): If we know that the cause of this was a keyboard
36191        event, we pass that event to the FocusController. Otherwise we fall back to the original
36192        behavior, which is to pass no event at all.
36193        * WebProcess/WebPage/WebPage.h:
36194        * WebProcess/WebPage/WebPage.messages.in:
36195
361962011-10-04  Jeff Miller  <jeffm@apple.com>
36197
36198        WKPreferences should allow control of application chrome mode
36199        https://bugs.webkit.org/show_bug.cgi?id=69344
36200
36201        Reviewed by Dan Bernstein.
36202
36203        * Shared/WebPreferencesStore.h: Add application chrome mode setting to FOR_EACH_WEBKIT_BOOL_PREFERENCE().
36204
36205        * UIProcess/API/C/WKPreferences.cpp:
36206        (WKPreferencesSetApplicationChromeModeEnabled): Added.
36207        (WKPreferencesGetApplicationChromeModeEnabled): Added.
36208
36209        * UIProcess/API/C/WKPreferencesPrivate.h: Added WKPreferencesSetApplicationChromeModeEnabled() and WKPreferencesGetApplicationChromeModeEnabled().
36210
36211        * WebProcess/WebPage/WebPage.cpp:
36212        (WebKit::WebPage::updatePreferences): Set application chrome mode setting.
36213
362142011-10-04  Carlos Garcia Campos  <cgarcia@igalia.com>
36215
36216        [GTK] Implement default error pages in WebKit2 GTK+ API
36217        https://bugs.webkit.org/show_bug.cgi?id=69255
36218
36219        Reviewed by Martin Robinson.
36220
36221        * UIProcess/API/gtk/WebKitError.cpp:
36222        (webkit_policy_error_quark): Add quark for policy errors.
36223        (webkit_plugin_error_quark): Add quark for plugin errors.
36224        * UIProcess/API/gtk/WebKitError.h: Add policy and plugin errors.
36225        * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
36226        (webkitWebLoaderClientLoadFailed): Load a custom error page when
36227        load failed and signal has not been handled.
36228        (webkit_web_loader_client_class_init): Add default implementation
36229        for provisional_load_failed and load_failed virtual methods.
36230
362312011-10-04  Carlos Garcia Campos  <cgarcia@igalia.com>
36232
36233        [GTK] Add webkit_web_view_load_alternate_html() to WebKit2 GTK+ API
36234        https://bugs.webkit.org/show_bug.cgi?id=69254
36235
36236        Reviewed by Martin Robinson.
36237
36238        * UIProcess/API/gtk/WebKitWebView.cpp:
36239        (webkit_web_view_load_alternate_html):
36240        * UIProcess/API/gtk/WebKitWebView.h:
36241        * UIProcess/API/gtk/tests/testloading.c:
36242        (loadAlternateContentLoadFinished):
36243        (loadAlternateContentLoadFailed):
36244        (testLoadAlternateContent):
36245        (main):
36246
362472011-10-03  Jon Lee  <jonlee@apple.com>
36248
36249        Extend DOM WheelEvent to differentiate between physical and logical scroll directions
36250        https://bugs.webkit.org/show_bug.cgi?id=68959
36251        <rdar://problem/10036688>
36252
36253        Reviewed by Sam Weinig.
36254
36255        * Shared/WebEvent.h:
36256        (WebKit::WebWheelEvent::directionInvertedFromDevice):
36257        * Shared/WebEventConversion.cpp:
36258        (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
36259        * Shared/WebWheelEvent.cpp:
36260        (WebKit::WebWheelEvent::WebWheelEvent):
36261        (WebKit::WebWheelEvent::encode):
36262        (WebKit::WebWheelEvent::decode):
36263        * Shared/mac/WebEventFactory.mm:
36264        (WebKit::WebEventFactory::createWebWheelEvent): get the flag from the NSEvent.
36265        * UIProcess/WebPageProxy.cpp:
36266        (WebKit::coalesce):
36267
362682011-10-04  Nayan Kumar K  <nayankk@motorola.com>
36269
36270        [WebKit2][gtk] Generate gtk-doc for WebKit2-GTK.
36271        https://bugs.webkit.org/show_bug.cgi?id=69325
36272
36273        Reviewed by Gustavo Noronha Silva.
36274
36275        Documentation generation for WebKit2-GTK+ APIs
36276        using gtk-doc.
36277
36278        * GNUmakefile.am: Added doc generation files to EXTRA_DIST.
36279        * UIProcess/API/gtk/docs/GNUmakefile.am: Makefile for doc generation.
36280        * UIProcess/API/gtk/docs/version.xml.in: Version information.
36281        * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Document template.
36282        * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Document sections added.
36283        * UIProcess/API/gtk/docs/webkit2gtk.types: Added GObjects types.
36284
362852011-10-04  Nayan Kumar K  <nayankk@motorola.com>
36286
36287        [WebKit2][gtk] Fix warnings while generating documentation using gtk-doc.
36288        https://bugs.webkit.org/show_bug.cgi?id=69329
36289
36290        Reviewed by Martin Robinson.
36291
36292        Added documentation for WebKitNetworkError enum and corrected few other
36293        minor issues in WebKit2-GTK+ API documentation.
36294
36295        * UIProcess/API/gtk/WebKitError.h: Added documentation for WebKitNetworkError.
36296        * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
36297        (webkit_web_loader_client_class_init): Corrected parameter name.
36298        * UIProcess/API/gtk/WebKitWebView.cpp: Corrected annotation.
36299
363002011-10-04  Vsevolod Vlasov  <vsevik@chromium.org>
36301
36302        Web Inspector: Remove http/tests/inspector/network/disabled-cache-crash.html.
36303        https://bugs.webkit.org/show_bug.cgi?id=69332
36304
36305        Reviewed by Pavel Feldman.
36306
36307        * win/WebKit2.def:
36308        * win/WebKit2CFLite.def:
36309
363102011-10-03  Anders Carlsson  <andersca@apple.com>
36311
36312        Content area does not return to the correct position after rubberbanding
36313        https://bugs.webkit.org/show_bug.cgi?id=69302
36314        <rdar://problem/10102886>
36315
36316        Reviewed by Sam Weinig.
36317
36318        Make sure to schedule a display after adding to the dirty region.
36319
36320        * WebProcess/WebPage/DrawingAreaImpl.cpp:
36321        (WebKit::DrawingAreaImpl::scroll):
36322
363232011-10-03  Anders Carlsson  <andersca@apple.com>
36324
36325        Remove custom scrollbar painting hooks
36326        https://bugs.webkit.org/show_bug.cgi?id=69163
36327
36328        Remove overridden ChromeClient member functions.
36329
36330        Reviewed by Alexey Proskuryakov.
36331
36332        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
36333        * WebProcess/WebCoreSupport/WebChromeClient.h:
36334
363352011-10-03  Jer Noble  <jer.noble@apple.com>
36336
36337        Unreviewed, rolling out r96526.
36338        http://trac.webkit.org/changeset/96526
36339        https://bugs.webkit.org/show_bug.cgi?id=68587
36340
36341        WEB_AUDIO has numerous 64->32 bit casting warnings, causing
36342        build breakages where -Wall is enabled.
36343
36344        * Configurations/FeatureDefines.xcconfig:
36345
363462011-10-03  Jer Noble  <jer.noble@apple.com>
36347
36348        Enable WEB_AUDIO by default in the WebKit/mac port.
36349        https://bugs.webkit.org/show_bug.cgi?id=68587
36350
36351        Reviewed by Simon Fraser.
36352
36353        * Configurations/FeatureDefines.xcconfig:
36354
363552011-10-03  Carlos Garcia Campos  <cgarcia@igalia.com>
36356
36357        [GTK] Add failing uri parameter to provisional-load-failed and load-failed signals
36358        https://bugs.webkit.org/show_bug.cgi?id=69252
36359
36360        Reviewed by Martin Robinson.
36361
36362        * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
36363        (didFailProvisionalLoadWithErrorForFrame): Pass failing URL to
36364        signal handler.
36365        (didFailLoadWithErrorForFrame): Ditto.
36366        (webkit_web_loader_client_class_init): Add failing URL parameter
36367        to provisional-load-failed and load-failed signals.
36368        * UIProcess/API/gtk/WebKitWebLoaderClient.h:
36369        * UIProcess/API/gtk/tests/testloading.c:
36370        (loadStatusProvisionalLoadFailed): Update to API changes.
36371        (loadStatusLoadFailed): Ditto.
36372        (loadErrorProvisionalLoadFailed): Ditto.
36373        * UIProcess/API/gtk/webkit2marshal.list:
36374
363752011-10-03  Carlos Garcia Campos  <cgarcia@igalia.com>
36376
36377        [GTK] Fix memory leak when loading url
36378        https://bugs.webkit.org/show_bug.cgi?id=69247
36379
36380        Reviewed by Martin Robinson.
36381
36382        Release URL created with WKURLCreateWithUTF8CString().
36383
36384        * UIProcess/API/gtk/WebKitWebView.cpp:
36385        (webkit_web_view_load_uri):
36386
363872011-10-03  Carlos Garcia Campos  <cgarcia@igalia.com>
36388
36389        [UNIX] Rename NetscapePluginModule::pluginInfo to NetscapePluginModule::getPluginInfoForLoadedPlugin()
36390        https://bugs.webkit.org/show_bug.cgi?id=69147
36391
36392        Reviewed by Martin Robinson.
36393
36394        * Shared/Plugins/Netscape/NetscapePluginModule.h:
36395        * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
36396        (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin):
36397        (WebKit::NetscapePluginModule::getPluginInfo):
36398
363992011-10-03  Zeno Albisser  <zeno.albisser@nokia.com>
36400
36401        [Qt][WebKit2][Mac] WebProcess should exit automatically when UIProcess dies.
36402        https://bugs.webkit.org/show_bug.cgi?id=68439
36403
36404        We use a dispatch queue and a dispatch source in the WebProcess
36405        to receive a notification when the UI Process dies.
36406        The WebProcess then commits suicide.
36407
36408        Reviewed by Andreas Kling.
36409
36410        * WebProcess/qt/WebProcessQt.cpp:
36411        (WebKit::parentProcessDiedCallback):
36412        (WebKit::WebProcess::platformInitializeWebProcess):
36413
364142011-10-02  Zeno Albisser  <zeno.albisser@nokia.com>
36415
36416        [Qt][WK2][Mac] WebKit2 does not build on mac after merge of Qt5 refactor branch.
36417        https://bugs.webkit.org/show_bug.cgi?id=69223
36418
36419        After the merge of the Qt5 refactor branch, networking stuff has been
36420        extracted into a separate library. The qmlplugin needs to link to that
36421        library to get QNetworkReply defined.
36422
36423        Reviewed by Noam Rosenthal.
36424
36425        * UIProcess/API/qt/qmlplugin/qmlplugin.pro:
36426
364272011-10-01  Geoffrey Garen  <ggaren@apple.com>
36428
36429        Removed redundant helper functions for allocating Strong handles
36430        https://bugs.webkit.org/show_bug.cgi?id=69218
36431
36432        Reviewed by Sam Weinig.
36433
36434        * WebProcess/Plugins/Netscape/NPJSObject.cpp:
36435        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
36436
364372011-09-30  Sam Weinig  <sam@webkit.org>
36438
36439        Add support for eventSender.mouseScrollBy in WTR
36440        https://bugs.webkit.org/show_bug.cgi?id=69189
36441
36442        Reviewed by Simon Fraser.
36443
36444        * UIProcess/WebPageProxy.cpp:
36445        (WebKit::WebPageProxy::handleWheelEvent):
36446        * WebProcess/WebPage/WebPage.cpp:
36447        (WebKit::WebPage::wheelEventSyncForTesting):
36448        * WebProcess/WebPage/WebPage.h:
36449        * WebProcess/WebPage/WebPage.messages.in:
36450        Add sync version of wheel event handling for use in testing.
36451
364522011-09-30  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
36453
36454        [Qt] Add missing include for QMimeData
36455        https://bugs.webkit.org/show_bug.cgi?id=69178
36456
36457        Reviewed by Tor Arne Vestbø.
36458
36459        This was implicitly included by other headers, but due to changes in
36460        Qt5 we need to include explicitly.
36461
36462        * UIProcess/qt/QtWebPageProxy.cpp:
36463        * WebProcess/WebPage/WebPage.cpp:
36464
364652011-09-30  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
36466
36467        [Qt] Prevent qDebug() output from DRT and WTR unless --verbose
36468
36469        For DRT we didn't install the message handler early enough to
36470        catch output while constructing the QApplication. For WTR we
36471        didn't even install a message handler.
36472
36473        Since the UI process will forward any output from the web process
36474        we set an environment variable QT_WEBKIT_SUPPRESS_WEB_PROCESS_OUTPUT
36475        in WTR before the web process is started. This is picked up by the
36476        web process which installs its own message handler.
36477
36478        The environment variable can be overriden on the command line if you
36479        want to see output from the web process, or you can pass --verbose to
36480        WTR to see output from both processes.
36481
36482        https://bugs.webkit.org/show_bug.cgi?id=69132
36483
36484        Reviewed by Andreas Kling.
36485
36486        * WebProcess/qt/WebProcessMainQt.cpp:
36487
364882011-09-30  Anders Carlsson  <andersca@apple.com>
36489
36490        Remove didCompleteRubberBandForMainFrame UIClient callback
36491        https://bugs.webkit.org/show_bug.cgi?id=69161
36492
36493        Reviewed by Adam Roben.
36494
36495        * UIProcess/API/C/WKPage.h:
36496        * UIProcess/WebPageProxy.cpp:
36497        * UIProcess/WebPageProxy.h:
36498        * UIProcess/WebPageProxy.messages.in:
36499        * UIProcess/WebUIClient.cpp:
36500        * UIProcess/WebUIClient.h:
36501        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
36502        (WebKit::WebChromeClient::didCompleteRubberBandForFrame):
36503
365042011-09-30  Qi Zhang  <qi.2.zhang@nokia.com>
36505
36506        WebKitTestRunner needs layoutTestController.setAppCacheMaximumSize
36507        https://bugs.webkit.org/show_bug.cgi?id=42698
36508
36509        Reviewed by Andreas Kling.
36510
36511        Implemented layoutTestController.setAppCacheMaximumSize and layoutTestController.clearApplicationCache,
36512        and call clearApplicationCache when layoutTest start up.
36513
36514        * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
36515        (WebKit::WebApplicationCacheManager::setAppCacheMaximumSize):
36516        * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
36517        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
36518        (WKBundleClearApplicationCache):
36519        (WKBundleSetAppCacheMaximumSize):
36520        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
36521        * WebProcess/InjectedBundle/InjectedBundle.cpp:
36522        (WebKit::InjectedBundle::clearApplicationCache):
36523        (WebKit::InjectedBundle::setAppCacheMaximumSize):
36524        * WebProcess/InjectedBundle/InjectedBundle.h:
36525
365262011-09-30  Carlos Garcia Campos  <cgarcia@igalia.com>
36527
36528        [UNIX] Add a method to get information for an already loaded plugin module
36529        https://bugs.webkit.org/show_bug.cgi?id=69139
36530
36531        Reviewed by Martin Robinson.
36532
36533        * Shared/Plugins/Netscape/NetscapePluginModule.h: Add pluginInfo().
36534        * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
36535        (WebKit::NetscapePluginModule::pluginInfo): Private method to get
36536        the plugin information from the module, it must be called when the
36537        module has been already initialized.
36538        (WebKit::NetscapePluginModule::getPluginInfo): Use pluginInfo() to
36539        get information of the plugin module for the given path.
36540
365412011-09-30  Zeno Albisser  <zeno.albisser@nokia.com>
36542
36543        [Qt][WK2] Event delivery in QDesktopWebView is broken after merge of Qt5 refactor
36544        https://bugs.webkit.org/show_bug.cgi?id=69105
36545
36546        This changes QDesktopWebView and QDesktopWebPageProxy to use QMouseEvent instead
36547        of QGraphicsSceneMouseEvent.
36548        Further it removes an endless loop introduced by the QSGItem::event() function
36549        delivering inputMethodEvents but no other events.
36550
36551        Reviewed by Andreas Kling.
36552
36553        * Shared/NativeWebMouseEvent.h:
36554        (WebKit::NativeWebMouseEvent::nativeEvent):
36555        * Shared/NativeWebWheelEvent.h:
36556        (WebKit::NativeWebWheelEvent::nativeEvent):
36557        * Shared/qt/NativeWebMouseEventQt.cpp:
36558        (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
36559        * Shared/qt/NativeWebWheelEventQt.cpp:
36560        (WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
36561        * Shared/qt/WebEventFactoryQt.cpp:
36562        (WebKit::mouseButtonForEvent):
36563        (WebKit::webEventTypeForEvent):
36564        (WebKit::WebEventFactory::createWebMouseEvent):
36565        (WebKit::WebEventFactory::createWebWheelEvent):
36566        * Shared/qt/WebEventFactoryQt.h:
36567        * UIProcess/API/qt/qdesktopwebview.cpp:
36568        (QDesktopWebView::mousePressEvent):
36569        (QDesktopWebView::mouseMoveEvent):
36570        (QDesktopWebView::mouseReleaseEvent):
36571        (QDesktopWebView::mouseDoubleClickEvent):
36572        (QDesktopWebView::wheelEvent):
36573        (QDesktopWebView::event):
36574        * UIProcess/API/qt/qdesktopwebview.h:
36575        * UIProcess/qt/qdesktopwebpageproxy.cpp:
36576        (QDesktopWebPageProxy::handleEvent):
36577        (QDesktopWebPageProxy::handleMouseMoveEvent):
36578        (QDesktopWebPageProxy::handleMousePressEvent):
36579        (QDesktopWebPageProxy::handleMouseReleaseEvent):
36580        (QDesktopWebPageProxy::handleMouseDoubleClickEvent):
36581        (QDesktopWebPageProxy::handleWheelEvent):
36582        (QDesktopWebPageProxy::handleHoverMoveEvent):
36583        * UIProcess/qt/qdesktopwebpageproxy.h:
36584
365852011-09-29  Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
36586
36587        Initial implementation of WebInspector for WebKit2 GTK port.
36588        https://bugs.webkit.org/show_bug.cgi?id=68235
36589
36590        Reviewed by Martin Robinson.
36591
36592        * UIProcess/WebInspectorProxy.cpp:
36593        (WebKit::WebInspectorProxy::WebInspectorProxy): Initialize the native window handles of GTK.
36594        * UIProcess/WebInspectorProxy.h: Add native window handle for inspector window.
36595        * UIProcess/gtk/WebInspectorGtk.cpp:
36596        (WebKit::inspectorFilesBasePath): Base folder for inspector resources.
36597        (WebKit::inspectorWindowDestroyed): Invoked when inspector window is closed by user.
36598        (WebKit::WebInspectorProxy::windowDestroyed): Resets the native handles to 0 when user closes the window.
36599        (WebKit::WebInspectorProxy::platformCreateInspectorPage): Create the WebView for inspector.
36600        (WebKit::WebInspectorProxy::platformOpen): Create the window for inspector.
36601        (WebKit::WebInspectorProxy::platformDidClose): Close both WebView & window of inspector.
36602        (WebKit::WebInspectorProxy::platformInspectedURLChanged): Update the title of inspector window.
36603        (WebKit::WebInspectorProxy::inspectorPageURL): Return the absolute URL of inspector.html.
36604        (WebKit::WebInspectorProxy::inspectorBaseURL): Return the location where inspector resources are present.
36605        WebProcess is given read access to this folder only for loading file URLs by sandboxed extension.
36606
366072011-09-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
36608
36609        [Qt] Fix build against Qt5 after refactor of widgets out of QtGUi
36610
36611        QWidget and friends now live in the QtWidgets library. We update
36612        includes in implementation files and private headers to us the
36613        non-module-prefixed path, and leave the lookup for the include
36614        path. For public headers we have to ifdef the includes as the
36615        user might now have the modules we need in his QT config.
36616
36617        Finally, QSGCanvas is no longer a QWidget but a QWindow, so we
36618        have to update our code and use windowHandle() for setting the
36619        parent relationships.
36620
36621        https://bugs.webkit.org/show_bug.cgi?id=68687
36622
36623        Reviewed by Andreas Kling.
36624
36625        * UIProcess/API/qt/qdesktopwebview.cpp:
36626        * UIProcess/API/qt/qdesktopwebview.h:
36627        * UIProcess/API/qt/tests/tests.pro:
36628        * UIProcess/qt/ViewInterface.h:
36629        * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
36630
366312011-09-29  Carlos Garcia Campos  <cgarcia@igalia.com>
36632
36633        [GTK] Force single header include in WebKit2 GTK+ API
36634        https://bugs.webkit.org/show_bug.cgi?id=69084
36635
36636        Reviewed by Martin Robinson.
36637
36638        Only <webkit2/webkit2.h> will be allowed for API users.
36639
36640        * GNUmakefile.am:
36641        * UIProcess/API/gtk/WebKitError.h:
36642        * UIProcess/API/gtk/WebKitWebContext.h:
36643        * UIProcess/API/gtk/WebKitWebLoaderClient.h:
36644        * UIProcess/API/gtk/WebKitWebView.h:
36645        * UIProcess/API/gtk/WebKitWebViewBase.h:
36646        * UIProcess/API/gtk/webkit2.h:
36647
366482011-09-29  Carlos Garcia Campos  <cgarcia@igalia.com>
36649
36650        [GTK] Explicitly call destructors for objects initialized with placement new syntax
36651        https://bugs.webkit.org/show_bug.cgi?id=69079
36652
36653        Reviewed by Xan Lopez.
36654
36655        * UIProcess/API/gtk/WebKitWebContext.cpp:
36656        (webkitWebContextFinalize): Call ~WebKitWebContextPrivate().
36657        * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
36658        (webkitWebLoaderClientFinalize): Call ~WebKitWebLoaderClient().
36659        (webkit_web_loader_client_class_init):
36660        * UIProcess/API/gtk/WebKitWebView.cpp:
36661        (webkitWebViewFinalize): Call ~WebKitWebViewPrivate().
36662        (webkit_web_view_class_init):
36663
366642011-09-28  Martin Robinson  <mrobinson@igalia.com>
36665
36666        Fix the WebGL build on WebKit2 GTK+.
36667
36668        * GNUmakefile.am: Add OPENGL_LIBS to WebKit2 targets.
36669
366702011-09-28  Brent Fulgham  <bfulgham@webkit.org>
36671
36672        WinCairo build fix.
36673
36674        * WebProcess/WebPage/WebFrame.h: Add include of <wtc/RetainPtr.h>
36675
366762011-09-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
36677
36678        One more shot at fixing GTK+, this seems to make the dependencies
36679        work.
36680
36681        * GNUmakefile.am:
36682
366832011-09-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
36684
36685        GTK+ build fix 3 - the return of the marshal.
36686
36687        * GNUmakefile.am:
36688
366892011-09-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
36690
36691        Second try at fixing the GTK+ build.
36692
36693        * GNUmakefile.am:
36694
366952011-09-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
36696
36697        Try to fix GTK+ build.
36698
36699        * GNUmakefile.am:
36700
367012011-09-28  Carlos Garcia Campos  <cgarcia@igalia.com>
36702
36703        [GTK] Fix webkit2 unit tests in debug builds
36704        https://bugs.webkit.org/show_bug.cgi?id=69006
36705
36706        Reviewed by Martin Robinson.
36707
36708        We are currently using the WorQueue name as thread name which in
36709        this moment can be com.apple.WebKit.ProcessLauncher or
36710        com.apple.CoreIPC.ReceiveQueue. Both names are longer than 31
36711        characters which is the limit of Visual Studio for thread
36712        names. When log is enabled createThread() will assert instead of
36713        truncate the name, so we need to make sure we don't use a name
36714        longer than 31 characters.
36715
36716        * Platform/gtk/WorkQueueGtk.cpp:
36717        (WorkQueue::platformInitialize):
36718
367192011-09-28  Carlos Garcia Campos  <cgarcia@igalia.com>
36720
36721        [GTK] Loader client implementation for WebKit2 GTK+ API
36722        https://bugs.webkit.org/show_bug.cgi?id=68085
36723
36724        Reviewed by Martin Robinson.
36725
36726        Adds a new object, WebKitWebLoaderClient, that emits signals for
36727        every page loader callback.
36728
36729        * GNUmakefile.am: Add new files to compilation.
36730        * UIProcess/API/gtk/WebKitWebLoaderClient.cpp: Added.
36731        (didStartProvisionalLoadForFrame):
36732        (didReceiveServerRedirectForProvisionalLoadForFrame):
36733        (didFailProvisionalLoadWithErrorForFrame):
36734        (didCommitLoadForFrame):
36735        (didFinishLoadForFrame):
36736        (didFailLoadWithErrorForFrame):
36737        (webkitWebLoaderClientConstructed):
36738        (webkitWebLoaderClientSetProperty):
36739        (webkitWebLoaderClientGetProperty):
36740        (webkit_web_loader_client_init):
36741        (webkit_web_loader_client_class_init):
36742        * UIProcess/API/gtk/WebKitWebLoaderClient.h: Added.
36743        * UIProcess/API/gtk/WebKitWebView.cpp:
36744        (webkitWebViewConstructed): Create the loader client for the view.
36745        (webkit_web_view_init):
36746        (webkit_web_view_get_loader_client): Get the current loader client.
36747        (webkit_web_view_set_loader_client): Set a new loader client.
36748        * UIProcess/API/gtk/WebKitWebView.h:
36749        * UIProcess/API/gtk/tests/testloading.c: Added.
36750        (serverCallback):
36751        (webLoadingFixtureSetup):
36752        (webLoadingFixtureTeardown):
36753        (getURIForPath):
36754        (loadStatusProvisionalLoadStarted):
36755        (loadStatusProvisionalLoadReceivedServerRedirect):
36756        (loadStatusProvisionalLoadFailed):
36757        (loadStatusLoadCommitted):
36758        (loadStatusLoadFinished):
36759        (loadStatusLoadFailed):
36760        (testLoadingStatus):
36761        (loadErrorProvisionalLoadStarted):
36762        (loadErrorProvisionalLoadFailed):
36763        (loadErrorLoadFinished):
36764        (testLoadingError):
36765        (main):
36766        * UIProcess/API/gtk/webkit2marshal.list: Added.
36767
367682011-09-28  Carlos Garcia Campos  <cgarcia@igalia.com>
36769
36770        [GTK] Add WebKitError to GTK+ WebKit2 API
36771        https://bugs.webkit.org/show_bug.cgi?id=68508
36772
36773        Reviewed by Martin Robinson.
36774
36775        Add WebKitNetworkError enum to define network errors.
36776
36777        * GNUmakefile.am: Add new files to compilation.
36778        * UIProcess/API/gtk/WebKitError.cpp: Added.
36779        (webkit_network_error_quark):
36780        * UIProcess/API/gtk/WebKitError.h:
36781        * UIProcess/API/gtk/WebKitPrivate.h: Add
36782        COMPILE_ASSERT_MATCHING_ENUM macro.
36783        * UIProcess/API/gtk/webkit2.h: Add WebKitError.h and
36784        WebKitEnumTypes.h
36785
367862011-09-28  Carlos Garcia Campos  <cgarcia@igalia.com>
36787
36788        [GTK] Fix Programs/unittests/webkit2/testwebview
36789        https://bugs.webkit.org/show_bug.cgi?id=68993
36790
36791        Reviewed by Philippe Normand.
36792
36793        * GNUmakefile.am: Add -DWEBKIT_EXEC_PATH.
36794        * UIProcess/API/gtk/tests/testwebview.c:
36795        (main): Get WebProcess path from WEBKIT_EXEC_PATH environment
36796        variable.
36797
367982011-09-27  Mark Hahnenberg  <mhahnenberg@apple.com>
36799
36800        Add static version of JSCell::getCallData
36801        https://bugs.webkit.org/show_bug.cgi?id=68741
36802
36803        Reviewed by Darin Adler.
36804
36805        In this patch we just extract the bodies of the virtual getCallData methods
36806        throughout the JSCell inheritance hierarchy out into static methods, which are 
36807        now called from the virtual methods.  This is an intermediate step in trying to 
36808        move the virtual-ness of getCallData into our own method table stored in 
36809        ClassInfo.  We need to convert the methods to static methods because static methods 
36810        can be represented as function pointers rather than pointers to member functions, and
36811        function pointers are smaller and faster to call than pointers to member functions.
36812
36813        * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
36814        (WebKit::JSNPMethod::getCallDataVirtual):
36815        (WebKit::JSNPMethod::getCallData):
36816        * WebProcess/Plugins/Netscape/JSNPMethod.h:
36817        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
36818        (WebKit::JSNPObject::getCallDataVirtual):
36819        (WebKit::JSNPObject::getCallData):
36820        * WebProcess/Plugins/Netscape/JSNPObject.h:
36821
368222011-09-27  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
36823
36824        [Qt] QDesktopWebView load zero size view test missing
36825        https://bugs.webkit.org/show_bug.cgi?id=68655
36826
36827        Reviewed by Chang Shu.
36828
36829        Added test case to check load behavior with zero size view.
36830
36831        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadZeroSizeView.qml: Added.
36832        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
36833
368342011-09-27  Carlos Garcia Campos  <cgarcia@igalia.com>
36835
36836        [GTK] Use WebKitWebContext in WebKitWebView
36837        https://bugs.webkit.org/show_bug.cgi?id=67990
36838
36839        Reviewed by Martin Robinson.
36840
36841        Use webkit_web_context_get_default() instead of
36842        WKContextGetSharedProcessContext() and add API to create a view
36843        with a given web context and to return the current context
36844        associated to the view.
36845
36846        * GNUmakefile.am: Add new files to compilation.
36847        * UIProcess/API/gtk/WebKitPrivate.h: Added.
36848        * UIProcess/API/gtk/WebKitWebContext.cpp:
36849        (webkitWebContextGetWKContext): Private API to get the WKContext
36850        wrapped by the WebKitWebContext.
36851        * UIProcess/API/gtk/WebKitWebContextPrivate.h: Added.
36852        * UIProcess/API/gtk/WebKitWebView.cpp:
36853        (webkitWebViewConstructed): Create the webpage using the web
36854        context of the view.
36855        (webkitWebViewSetProperty):
36856        (webkitWebViewGetProperty):
36857        (webkit_web_view_init):
36858        (webkit_web_view_class_init):
36859        (webkit_web_view_new): Create a new view with the default context.
36860        (webkit_web_view_new_with_context): Create a new view with the
36861        given context.
36862        (webkit_web_view_get_context): Return the context.
36863        * UIProcess/API/gtk/WebKitWebView.h:
36864        * UIProcess/API/gtk/tests/testwebview.c: Added.
36865        (testWebViewDefaultContext):
36866        (main):
36867
368682011-09-27  Carlos Garcia Campos  <cgarcia@igalia.com>
36869
36870
36871        [GTK] Add WebKitWebContext to GTK API
36872        https://bugs.webkit.org/show_bug.cgi?id=67931
36873
36874        Reviewed by Philippe Normand.
36875
36876        Initial implementation of WebKitWebContext for WebKit2 GTK API.
36877
36878        * GNUmakefile.am: Add new files to compilation.
36879        * UIProcess/API/gtk/WebKitWebContext.cpp: Added.
36880        (webkitWebContextFinalize):
36881        (webkit_web_context_init):
36882        (webkit_web_context_class_init):
36883        (createDefaultWebContext):
36884        (webkit_web_context_get_default):
36885        * UIProcess/API/gtk/WebKitWebContext.h: Added.
36886        * UIProcess/API/gtk/tests/testwebcontext.c:
36887        (testWebContextDefault):
36888        (main):
36889        * UIProcess/API/gtk/webkit2.h: Add <webkit2/WebKitWebContext.h>.
36890
368912011-09-27  Sheriff Bot  <webkit.review.bot@gmail.com>
36892
36893        Unreviewed, rolling out r96108, r96111, r96113, and r96116.
36894        http://trac.webkit.org/changeset/96108
36895        http://trac.webkit.org/changeset/96111
36896        http://trac.webkit.org/changeset/96113
36897        http://trac.webkit.org/changeset/96116
36898        https://bugs.webkit.org/show_bug.cgi?id=68913
36899
36900        Wait for working Qt5 (Requested by ossy on #webkit).
36901
36902        * UIProcess/API/qt/qdesktopwebview.cpp:
36903        (QDesktopWebViewPrivate::startDrag):
36904        (QDesktopWebViewPrivate::didChangeToolTip):
36905        (QDesktopWebViewPrivate::didChangeCursor):
36906        (QDesktopWebViewPrivate::showContextMenu):
36907        (QDesktopWebViewPrivate::chooseFiles):
36908        * UIProcess/API/qt/qdesktopwebview.h:
36909        * UIProcess/API/qt/tests/tests.pri:
36910        * UIProcess/API/qt/tests/tests.pro:
36911        * UIProcess/qt/ViewInterface.h:
36912        * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
36913        (WebKit::WebPopupMenuProxyQtDesktop::WebPopupMenuProxyQtDesktop):
36914
369152011-09-27  Carlos Garcia Campos  <cgarcia@igalia.com>
36916
36917        [GTK] Rename WebKit2 GTK+ API main header as webkit2.h
36918        https://bugs.webkit.org/show_bug.cgi?id=65178
36919
36920        Reviewed by Martin Robinson.
36921
36922        * GNUmakefile.am: Add webkit2.h.
36923        * UIProcess/API/gtk/WebKitWebView.h:
36924        * UIProcess/API/gtk/webkit2.h: Renamed from Source/WebKit2/UIProcess/API/gtk/webkit/webkit.h.
36925        * webkit2gtk.pc.in: Use webkitgtk-<api-version> as include dir.
36926
369272011-09-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
36928
36929        [Qt] Fix build of WebKit2 unit-tests after r96108
36930
36931        Reviewed by Andreas Kling.
36932
36933        * UIProcess/API/qt/tests/tests.pri:
36934
369352011-09-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
36936
36937        [Qt] Fix build against Qt5 after refactor of widgets out of QtGUi
36938
36939        QWidget and friends now live in the QtWidgets library. We update
36940        includes in implementation files and private headers to us the
36941        non-module-prefixed path, and leave the lookup for the include
36942        path. For public headers we have to ifdef the includes as the
36943        user might now have the modules we need in his QT config.
36944
36945        Finally, QSGCanvas is no longer a QWidget but a QWindow, so we
36946        have to update our code and use windowHandle() for setting the
36947        parent relationships.
36948
36949        https://bugs.webkit.org/show_bug.cgi?id=68687
36950
36951        Reviewed by Andreas Kling.
36952
36953        * UIProcess/API/qt/qdesktopwebview.cpp:
36954        * UIProcess/API/qt/qdesktopwebview.h:
36955        * UIProcess/API/qt/tests/tests.pro:
36956        * UIProcess/qt/ViewInterface.h:
36957        * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
36958
369592011-09-26  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
36960
36961        [Qt][WK2] Add support for hover API in Qt WebKit2
36962        https://bugs.webkit.org/show_bug.cgi?id=68369
36963
36964        Reviewed by Andreas Kling.
36965
36966        Based on the patch from Igor Oliveira in the same bug.
36967
36968        Expose a linkHovered() signal in QDesktopWebView, that passes the QUrl and the
36969        QString corresponding to the link title. I left textContent out because was
36970        unsure of its use case.
36971
36972        In QDesktopWebView we store the last URL and title emitted to make sure we send
36973        the signal only if either value changes. Tests were added to the QML element to
36974        check: if values are correctly emitted and if we don't emit more signals than
36975        necessary.
36976
36977        * UIProcess/API/qt/qdesktopwebview.cpp:
36978        (QDesktopWebViewPrivate::didMouseMoveOverElement):
36979        * UIProcess/API/qt/qdesktopwebview.h:
36980        * UIProcess/API/qt/qdesktopwebview_p.h:
36981        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml: Added.
36982        * UIProcess/API/qt/tests/qmltests/common/test2.html:
36983        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
36984        * UIProcess/qt/ClientImpl.cpp:
36985        (qt_wk_mouseDidMoveOverElement):
36986        * UIProcess/qt/ClientImpl.h:
36987        * UIProcess/qt/QtWebPageProxy.cpp:
36988        (QtWebPageProxy::init):
36989        * UIProcess/qt/TouchViewInterface.h:
36990        (WebKit::TouchViewInterface::didMouseMoveOverElement):
36991        * UIProcess/qt/ViewInterface.h:
36992
369932011-09-27  Alexis Menard  <alexis.menard@openbossa.org>
36994
36995        [Qt][WK2] API fixes for QML, the signal parameters needs to be named.
36996        https://bugs.webkit.org/show_bug.cgi?id=68889
36997
36998        Reviewed by Andreas Kling.
36999
37000        Signal parameters needs to be explicitly named in QML to be accessible.
37001        This patch fix this problem.
37002
37003        * UIProcess/API/qt/qdesktopwebview.h:
37004        * UIProcess/API/qt/qtouchwebpage.h:
37005
370062011-09-27  Alexis Menard  <alexis.menard@openbossa.org>
37007
37008        [Qt][WK2] Mark FINAL properties which can't be overridden by a subclass.
37009        https://bugs.webkit.org/show_bug.cgi?id=68848
37010
37011        Reviewed by Andreas Kling.
37012
37013        The presence of the FINAL attribute indicates that the property will not be 
37014        overridden by a derived class. This can be used for performance optimizations
37015        by QML.
37016
37017        * UIProcess/API/qt/qdesktopwebview.h:
37018        * UIProcess/API/qt/qtouchwebpage.h:
37019        * UIProcess/API/qt/qtouchwebview.h:
37020        * UIProcess/API/qt/qwebnavigationcontroller.h:
37021
370222011-09-26  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
37023
37024        [Qt] Fix WK2 build after r96014
37025        https://bugs.webkit.org/show_bug.cgi?id=68856
37026
37027        Reviewed by Gustavo Noronha Silva.
37028
37029        Commit r96014 added inspectorBaseURL for Qt but removed
37030        inspectorPageURL, adding it back.
37031
37032        * UIProcess/qt/WebInspectorProxyQt.cpp:
37033        (WebKit::WebInspectorProxy::inspectorPageURL):
37034
370352011-09-26  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
37036
37037        [Qt] [WK2] Fix build after r95982
37038        https://bugs.webkit.org/show_bug.cgi?id=68842
37039
37040        Reviewed by Anders Carlsson.
37041
37042        The patch in r95982 removed the paint() function, because it was doing
37043        nothing (in both implementations). This patch remove the call we had
37044        for it to fix the build.
37045
37046        * UIProcess/qt/qtouchwebpageproxy.cpp:
37047        (QTouchWebPageProxy::paintContent):
37048
370492011-09-26  Alexey Proskuryakov  <ap@apple.com>
37050
37051        REGRESSION (r95747): Activating the web inspector causes the web process to be killed
37052        https://bugs.webkit.org/show_bug.cgi?id=68762
37053
37054        Reviewed by Anders Carlsson.
37055
37056        * UIProcess/WebInspectorProxy.cpp: (WebKit::WebInspectorProxy::createInspectorPage):
37057        Tell Web process that loading resources from WebCore resources directory is OK.
37058
37059        * UIProcess/WebPageProxy.cpp:
37060        (WebKit::WebPageProxy::loadHTMLString):
37061        (WebKit::WebPageProxy::loadAlternateHTMLString):
37062        * UIProcess/WebProcessProxy.cpp:
37063        (WebKit::WebProcessProxy::assumeReadAccessToBaseURL):
37064        * UIProcess/WebProcessProxy.h:
37065        Renamed willLoadHTMLStringWithBaseURL to more generic assumeReadAccessToBaseURL.
37066
37067        * UIProcess/WebInspectorProxy.h:
37068        * UIProcess/efl/WebInspectorEfl.cpp:
37069        (WebKit::WebInspectorProxy::inspectorBaseURL):
37070        * UIProcess/gtk/WebInspectorGtk.cpp:
37071        (WebKit::WebInspectorProxy::inspectorBaseURL):
37072        * UIProcess/mac/WebInspectorProxyMac.mm:
37073        (WebKit::WebInspectorProxy::inspectorBaseURL):
37074        * UIProcess/qt/WebInspectorProxyQt.cpp:
37075        (WebKit::WebInspectorProxy::inspectorBaseURL):
37076        * UIProcess/win/WebInspectorProxyWin.cpp:
37077        (WebKit::WebInspectorProxy::inspectorBaseURL):
37078        Report what base directory Inspector has access to.
37079
370802011-09-26  Nayan Kumar K  <nayankk@motorola.com>
37081
37082        Added WKHitTestResult API's.
37083
37084        WKHitTestResult API's are added. These API's can be used to
37085        get the hover'ed link/image/media URL as well as link lable and
37086        title.
37087        https://bugs.webkit.org/show_bug.cgi?id=68426
37088
37089        Reviewed by Anders Carlsson.
37090
37091        * CMakeLists.txt:
37092        * GNUmakefile.am:
37093        * UIProcess/API/C/WKHitTestResult.cpp: Added.
37094        (WKHitTestResultGetTypeID):
37095        (WKHitTestResultCopyAbsoluteImageURL):
37096        (WKHitTestResultCopyAbsoluteLinkURL):
37097        (WKHitTestResultCopyAbsoluteMediaURL):
37098        (WKHitTestResultCopyLinkLabel):
37099        (WKHitTestResultCopyLinkTitle):
37100        * UIProcess/API/C/WKHitTestResult.h: Added.
37101        * UIProcess/API/C/WebKit2.h:
37102        * WebKit2.xcodeproj/project.pbxproj:
37103        * WebKit2API.pri:
37104        * win/WebKit2.vcproj:
37105        * win/WebKit2Generated.make:
37106
371072011-09-26  Csaba Osztrogonác  <ossy@webkit.org>
37108
37109        [Qt][WK2]Unreviewed speculative buildfix after r95968.
37110
37111        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
37112        (WebKit::WebChromeClient::contentsSizeChanged):
37113
371142011-09-26  Anders Carlsson  <andersca@apple.com>
37115
37116        Remove an old DrawingAreaProxy::paint member function
37117        https://bugs.webkit.org/show_bug.cgi?id=68825
37118
37119        Reviewed by Dan Bernstein.
37120
37121        * UIProcess/DrawingAreaProxy.h:
37122        * UIProcess/DrawingAreaProxyImpl.cpp:
37123        * UIProcess/DrawingAreaProxyImpl.h:
37124        * UIProcess/TiledDrawingAreaProxy.cpp:
37125        * UIProcess/TiledDrawingAreaProxy.h:
37126
371272011-09-26  Jer Noble  <jer.noble@apple.com>
37128
37129        White flash when entering full-screen using element.webkitRequestFullScreen()
37130        https://bugs.webkit.org/show_bug.cgi?id=68481
37131
37132        Reviewed by Simon Fraser.
37133
37134        Do not re-enable screen updates after exiting compositing mode until a repaint has completed.
37135
37136        * UIProcess/mac/WKFullScreenWindowController.mm:
37137        (-[WKFullScreenWindowController exitAcceleratedCompositingMode]):
37138        (continueExitCompositingModeAfterRepaintCallback):
37139        (-[WKFullScreenWindowController _continueExitCompositingModeAfterRepaint]):
37140
371412011-09-23  Simon Fraser  <simon.fraser@apple.com>
37142
37143        Repaint tests don't work in WebKit2
37144        https://bugs.webkit.org/show_bug.cgi?id=68453
37145
37146        Reviewed by Sam Weinig.
37147        
37148        Expose WKBundlePage methods to turn on repaint rect tracking
37149        in WebKit2, for WebKitTestRunner.
37150        
37151        As part of the change, expose utility methods on WebPage
37152        to get the main Frame and FrameView, which required renaming
37153        the exisiting method that returns a WebFrame. Fix callers
37154        of that method to handle null when necessary.
37155
37156        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
37157        (WKBundlePageGetMainFrame):
37158        (WKBundlePageSetTracksRepaints):
37159        (WKBundlePageIsTrackingRepaints):
37160        (WKBundlePageResetTrackedRepaints):
37161        (WKBundlePageCopyTrackedRepaintRects):
37162        * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
37163        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
37164        (WebKit::findLargestFrameInFrameSet):
37165        (WebKit::WebChromeClient::closeWindowSoon):
37166        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
37167        (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
37168        (WebKit::WebFrameLoaderClient::dispatchDidLayout):
37169        (WebKit::WebFrameLoaderClient::frameLoadCompleted):
37170        (WebKit::WebFrameLoaderClient::restoreViewState):
37171        (WebKit::WebFrameLoaderClient::provisionalLoadStarted):
37172        (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
37173        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
37174        (WebKit::WebFrameLoaderClient::createPlugin):
37175        * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
37176        (WebKit::WebEditorClient::documentFragmentFromAttributedString):
37177        * WebProcess/WebPage/WebFrame.cpp:
37178        (WebKit::WebFrame::isMainFrame):
37179        * WebProcess/WebPage/WebPage.cpp:
37180        (WebKit::WebPage::setTracksRepaints):
37181        (WebKit::WebPage::isTrackingRepaints):
37182        (WebKit::WebPage::resetTrackedRepaints):
37183        (WebKit::WebPage::trackedRepaintRects):
37184        (WebKit::WebPage::clearMainFrameName):
37185        (WebKit::WebPage::layoutIfNeeded):
37186        (WebKit::WebPage::mainFrameHasCustomRepresentation):
37187        (WebKit::WebPage::mainFrame):
37188        (WebKit::WebPage::mainFrameView):
37189        * WebProcess/WebPage/WebPage.h:
37190        (WebKit::WebPage::mainWebFrame):
37191        * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
37192        (-[WKAccessibilityWebPageObject accessibilityHitTest:]):
37193
371942011-09-25  Mark Hahnenberg  <mhahnenberg@apple.com>
37195
37196        Add custom vtable struct to ClassInfo struct
37197        https://bugs.webkit.org/show_bug.cgi?id=68567
37198
37199        Reviewed by Oliver Hunt.
37200
37201        Added CREATE_METHOD_TABLE macro to generate the custom vtable for the 
37202        specified class in its ClassInfo.  Also added to it the first function to use 
37203        this macro, visitChildren.  This is part of the process of getting rid of all 
37204        C++ virtual methods in JSCell.  Eventually all virtual functions in JSCell 
37205        that can't easily be converted to non-virtual functions will be put into 
37206        this custom vtable structure.
37207
37208        * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
37209        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
37210
372112011-09-25  Adam Barth  <abarth@webkit.org>
37212
37213        Finish removing PLATFORM(BREWMP) by removing associated code
37214        https://bugs.webkit.org/show_bug.cgi?id=68779
37215
37216        Reviewed by Sam Weinig.
37217
37218        * Scripts/generate-forwarding-headers.pl:
37219
372202011-09-25  Adam Barth  <abarth@webkit.org>
37221
37222        Remove PLATFORM(HAIKU) and associated code
37223        https://bugs.webkit.org/show_bug.cgi?id=68774
37224
37225        Reviewed by Sam Weinig.
37226
37227        * Scripts/generate-forwarding-headers.pl:
37228
372292011-09-24  Adam Barth  <abarth@webkit.org>
37230
37231        Always enable ENABLE(OFFLINE_WEB_APPLICATIONS)
37232        https://bugs.webkit.org/show_bug.cgi?id=68767
37233
37234        Reviewed by Eric Seidel.
37235
37236        * Configurations/FeatureDefines.xcconfig:
37237        * UIProcess/qt/WebContextQt.cpp:
37238        (WebKit::WebContext::applicationCacheDirectory):
37239        * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
37240        (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
37241        (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
37242        (WebKit::WebApplicationCacheManager::deleteAllEntries):
37243        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
37244        (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
37245        * WebProcess/WebCoreSupport/WebChromeClient.h:
37246        * WebProcess/WebProcess.cpp:
37247        (WebKit::WebProcess::initializeWebProcess):
37248        (WebKit::WebProcess::clearApplicationCache):
37249        * WebProcess/WebProcess.h:
37250
372512011-09-23  Adam Klein  <adamk@chromium.org>
37252
37253        Add ENABLE_MUTATION_OBSERVERS feature flag
37254        https://bugs.webkit.org/show_bug.cgi?id=68732
37255
37256        Reviewed by Ojan Vafai.
37257
37258        This flag will guard an implementation of the "Mutation Observers" proposed in
37259        http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1622.html
37260
37261        * Configurations/FeatureDefines.xcconfig:
37262
372632011-09-23  Varun Jain  <varunjain@google.com>
37264
37265        Refactor WebViewImpl::scrollFocusedNodeIntoRect to a better place and add tests 
37266        https://bugs.webkit.org/show_bug.cgi?id=68198
37267
37268        Reviewed by Dimitri Glazkov.
37269
37270        * win/WebKit2.def:
37271        * win/WebKit2CFLite.def:
37272
372732011-09-23  Chang Shu  <cshu@webkit.org>
37274
37275        [WK2] [Qt] Implement MouseDown/MouseUp/MouseMoveTo functions for WebKit2 EventSender
37276        https://bugs.webkit.org/show_bug.cgi?id=68556
37277
37278        Implement the MouseDown/MouseUp/MouseMoveTo functions on Qt platform.
37279
37280        Reviewed by Darin Adler.
37281
37282        * Shared/API/c/WKGeometry.h:
37283        (operator==):
37284        * WebProcess/WebPage/WebPage.cpp:
37285        (WebKit::WebPage::mouseEventSyncForTesting): initialize "handled"
37286
372872011-09-23  Anders Carlsson  <andersca@apple.com>
37288
37289        Move WebHitTestResult files to Shared/ in the Xcode project
37290        https://bugs.webkit.org/show_bug.cgi?id=68718
37291
37292        Reviewed by Sam Weinig.
37293
37294        * WebKit2.xcodeproj/project.pbxproj:
37295
372962011-09-23  Anders Carlsson  <andersca@apple.com>
37297
37298        Add OVERRIDE to overrides of virtual member functions in client classes
37299        https://bugs.webkit.org/show_bug.cgi?id=68702
37300
37301        Reviewed by Darin Adler.
37302
37303        Disable the warning in Xcode and VS2005 for using override and final when compiling as C++98,
37304        and remove WebEditorClient::isEditable, WebChromeClient::formDidFocus,
37305        WebChromeClient::formDidBlur and WebFrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest since
37306        they have been removed from their respective base classes.
37307        
37308        * Configurations/Base.xcconfig:
37309        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
37310        * WebProcess/WebCoreSupport/WebChromeClient.h:
37311        * WebProcess/WebCoreSupport/WebContextMenuClient.h:
37312        * WebProcess/WebCoreSupport/WebDatabaseManager.h:
37313        * WebProcess/WebCoreSupport/WebDragClient.h:
37314        * WebProcess/WebCoreSupport/WebEditorClient.cpp:
37315        * WebProcess/WebCoreSupport/WebEditorClient.h:
37316        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
37317        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
37318        * WebProcess/WebCoreSupport/WebGeolocationClient.h:
37319        * WebProcess/WebCoreSupport/WebInspectorClient.h:
37320        * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
37321        * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
37322        * WebProcess/WebCoreSupport/WebPopupMenu.h:
37323        * WebProcess/WebCoreSupport/WebSearchPopupMenu.h:
37324        * win/WebKit2Common.vsprops:
37325
373262011-09-23  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
37327
37328        [Qt][WK2] QtFileDownloader ctor shouldn't call QtFileDownloader::onReadyRead()
37329        https://bugs.webkit.org/show_bug.cgi?id=68696
37330
37331        Reviewed by Andreas Kling.
37332
37333        Instead of connecting signals and calling QtFileDownloader::onReadyRead()
37334        on its constructor, QtFileDownloader will now handle this in start().
37335
37336        * WebProcess/Downloads/qt/DownloadQt.cpp:
37337        (WebKit::Download::start):
37338        * WebProcess/Downloads/qt/QtFileDownloader.cpp:
37339        (WebKit::QtFileDownloader::QtFileDownloader):
37340        (WebKit::QtFileDownloader::start):
37341        * WebProcess/Downloads/qt/QtFileDownloader.h:
37342
373432011-09-22  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
37344
37345        [Qt] TouchWebView load test not running
37346        https://bugs.webkit.org/show_bug.cgi?id=68620
37347
37348        Reviewed by Chang Shu.
37349
37350        Load test was not executed since it was missing in pro file. Added tst_load.qml to qmltests.pro
37351
37352        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
37353
373542011-09-22  Dean Jackson  <dino@apple.com>
37355
37356        Add ENABLE_CSS_FILTERS
37357        https://bugs.webkit.org/show_bug.cgi?id=68652
37358
37359        Reviewed by Simon Fraser.
37360
37361        * Configurations/FeatureDefines.xcconfig:
37362
373632011-09-22  Simon Fraser  <simon.fraser@apple.com>
37364
37365        Add APIObjects for Size, Point, Rect
37366        https://bugs.webkit.org/show_bug.cgi?id=68644
37367
37368        Reviewed by Sam Weinig.
37369        
37370        Make APIObjects for size, point and rect so that they can be
37371        used in WKArrayRefs.
37372        
37373        Make some inline helper methods to create WKSize, WKPoint and WKRect
37374        types.
37375
37376        * GNUmakefile.am:
37377        * Shared/API/c/WKBase.h:
37378        * Shared/API/c/WKGeometry.cpp: Copied from Source/WebKit2/Shared/API/c/WKGeometry.h.
37379        (WKSizeGetTypeID):
37380        (WKPointGetTypeID):
37381        (WKRectGetTypeID):
37382        (WKPointCreate):
37383        (WKSizeCreate):
37384        (WKRectCreate):
37385        (WKSizeGetValue):
37386        (WKPointGetValue):
37387        (WKRectGetValue):
37388        * Shared/API/c/WKGeometry.h:
37389        (WKPoint::WKPointMake):
37390        (WKPoint::WKSizeMake):
37391        (WKPoint::WKRectMake):
37392        * Shared/API/c/WKSharedAPICast.h:
37393        * Shared/APIObject.h:
37394        * Shared/UserMessageCoders.h:
37395        (WebKit::UserMessageEncoder::baseEncode):
37396        (WebKit::UserMessageDecoder::baseDecode):
37397        * Shared/WebGeometry.h: Added.
37398        (WebKit::WebSize::create):
37399        (WebKit::WebSize::size):
37400        (WebKit::WebSize::WebSize):
37401        (WebKit::WebSize::type):
37402        (WebKit::WebPoint::create):
37403        (WebKit::WebPoint::point):
37404        (WebKit::WebPoint::WebPoint):
37405        (WebKit::WebPoint::type):
37406        (WebKit::WebRect::create):
37407        (WebKit::WebRect::rect):
37408        (WebKit::WebRect::WebRect):
37409        (WebKit::WebRect::type):
37410        * WebKit2.pro:
37411        * WebKit2.xcodeproj/project.pbxproj:
37412        * WebKit2API.pri:
37413        * win/WebKit2.vcproj:
37414
374152011-09-22  Alexey Proskuryakov  <ap@apple.com>
37416
37417        [WK2] UIProcess should check that WebProcess isn't sending unexpected file: URLs to it
37418        https://bugs.webkit.org/show_bug.cgi?id=68573
37419
37420        Reviewed by Anders Carlsson.
37421
37422        Re-landing with a slightly less aggressive check.
37423
37424        * UIProcess/API/mac/WKView.mm:
37425        (maybeCreateSandboxExtensionFromPasteboard): Return a boolean, telling the caller whether
37426        an extension actually needed to be created
37427        (-[WKView performDragOperation:]): Tell process proxy when the process is going to get
37428        universal file read sandbox extension.
37429
37430        * UIProcess/WebContext.cpp:
37431        (WebKit::WebContext::didPerformClientRedirect): Check the URLs.
37432        (WebKit::WebContext::didPerformServerRedirect): Ditto.
37433        (WebKit::WebContext::didUpdateHistoryTitle): Ditto.
37434        (WebKit::WebContext::getPluginPath): Ditto. Also, properly parse the URL - we can never
37435        assume that a string coming from WebProcess is a ParsedURLString.
37436
37437        * UIProcess/WebPageProxy.cpp:
37438        (WebKit::WebPageProxy::reattachToWebProcessWithItem): Tell process proxy when the process
37439        is going to get universal file read sandbox extension.
37440        (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle): Changed to return a boolean,
37441        telling the caller whether an extension actually needed to be created.
37442        (WebKit::WebPageProxy::loadURL): Tell process proxy about extension.
37443        (WebKit::WebPageProxy::loadURLRequest): Ditto.
37444        (WebKit::WebPageProxy::loadHTMLString): Tell process proxy if a file URL was used as a base
37445        one for a string. In this case, WebKit2 assumes that WebProcess has access to a subdirectory,
37446        (typically, one where error page resources live), and can load from it.
37447        (WebKit::WebPageProxy::loadAlternateHTMLString): Ditto.
37448        (WebKit::WebPageProxy::goForward): Tell process proxy about extension.
37449        (WebKit::WebPageProxy::goBack): Tell process proxy about extension.
37450        (WebKit::WebPageProxy::goToBackForwardItem): Tell process proxy about extension.
37451        (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): Check the URL.
37452        (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): Ditto.
37453        (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): Ditto.
37454        (WebKit::WebPageProxy::decidePolicyForNavigationAction): Ditto.
37455        (WebKit::WebPageProxy::decidePolicyForNewWindowAction): Ditto.
37456        (WebKit::WebPageProxy::decidePolicyForResponse): Ditto.
37457        (WebKit::WebPageProxy::didInitiateLoadForResource): Ditto.
37458        (WebKit::WebPageProxy::didSendRequestForResource): Ditto.
37459        (WebKit::WebPageProxy::didReceiveResponseForResource): Ditto.
37460        (WebKit::WebPageProxy::missingPluginButtonClicked): Ditto.
37461
37462        * UIProcess/WebPageProxy.h: Changed initializeSandboxExtensionHandle() to return a bool,
37463        and renamed to maybeInitializeSandboxExtensionHandle (matching WKView counterpart).
37464
37465        * UIProcess/WebProcessProxy.cpp:
37466        (WebKit::WebProcessProxy::WebProcessProxy): Initialize m_mayHaveUniversalFileReadSandboxExtension.
37467        It's going to be true if we ever granted an extension for "/".
37468        (WebKit::WebProcessProxy::willLoadHTMLStringWithBaseURL): Remember the path, we should expect
37469        that WebProcess will load subresources from it.
37470        (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess): Check that it's reasonable to expect
37471        WebProcess send us a URL like this.
37472        (WebKit::WebProcessProxy::addBackForwardItem): Check the URLs.
37473
37474        * UIProcess/WebProcessProxy.h: Added data members remembering what to expect from this process.
37475
37476        * UIProcess/cf/WebPageProxyCF.cpp: (WebKit::WebPageProxy::restoreFromSessionStateData):
37477        Tell process proxy when the process is going to get universal file read sandbox extension.
37478
374792011-09-22  Alpha Lam  <hclam@chromium.org>
37480
37481        https://bugs.webkit.org/show_bug.cgi?id=68081
37482        Fix scroll in page scaling mode.
37483
37484        Reviewed by Simon Fraser.
37485
37486        * WebProcess/Plugins/PluginView.cpp: Rename pageScaleFactor to frameScaleFactor.
37487        (WebKit::PluginView::handleEvent):
37488        (WebKit::PluginView::viewGeometryDidChange):
37489        (WebKit::PluginView::clipRectInWindowCoordinates):
37490
374912011-09-22  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
37492
37493        [Qt] Redirection overflow errors have wrong error domain
37494        https://bugs.webkit.org/show_bug.cgi?id=68612
37495
37496        Reviewed by Andreas Kling.
37497
37498        Redirection overflow currently puts the URL hostname in the errorDomain field
37499        and therefore are treated as a QWebError::EngineError. From now on they
37500        will be treated as QWebError::HttpError, since their error domain was modified
37501        to "HTTP" in QNetworkReplyHandler::redirect().
37502
37503        * UIProcess/API/qt/qweberror.cpp:
37504        (QWebError::type):
37505
375062011-09-22  Csaba Osztrogonác  <ossy@webkit.org>
37507
37508        REGRESSION(r95679): It broke everything.
37509        https://bugs.webkit.org/show_bug.cgi?id=68611
37510
37511        Unreviewed rolling out r95679 and r95690, because it broke everything.
37512
37513        * UIProcess/API/mac/WKView.mm:
37514        (maybeCreateSandboxExtensionFromPasteboard):
37515        (-[WKView performDragOperation:]):
37516        * UIProcess/WebContext.cpp:
37517        (WebKit::WebContext::didPerformClientRedirect):
37518        (WebKit::WebContext::didPerformServerRedirect):
37519        (WebKit::WebContext::didUpdateHistoryTitle):
37520        (WebKit::WebContext::getPluginPath):
37521        * UIProcess/WebPageProxy.cpp:
37522        (WebKit::WebPageProxy::reattachToWebProcessWithItem):
37523        (WebKit::WebPageProxy::initializeSandboxExtensionHandle):
37524        (WebKit::WebPageProxy::loadURL):
37525        (WebKit::WebPageProxy::loadURLRequest):
37526        (WebKit::WebPageProxy::loadHTMLString):
37527        (WebKit::WebPageProxy::loadAlternateHTMLString):
37528        (WebKit::WebPageProxy::goForward):
37529        (WebKit::WebPageProxy::goBack):
37530        (WebKit::WebPageProxy::goToBackForwardItem):
37531        (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
37532        (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
37533        (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
37534        (WebKit::WebPageProxy::decidePolicyForNavigationAction):
37535        (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
37536        (WebKit::WebPageProxy::decidePolicyForResponse):
37537        (WebKit::WebPageProxy::didInitiateLoadForResource):
37538        (WebKit::WebPageProxy::didSendRequestForResource):
37539        (WebKit::WebPageProxy::didReceiveResponseForResource):
37540        (WebKit::WebPageProxy::missingPluginButtonClicked):
37541        * UIProcess/WebPageProxy.h:
37542        * UIProcess/WebProcessProxy.cpp:
37543        (WebKit::WebProcessProxy::WebProcessProxy):
37544        (WebKit::WebProcessProxy::addBackForwardItem):
37545        * UIProcess/WebProcessProxy.h:
37546        * UIProcess/cf/WebPageProxyCF.cpp:
37547        (WebKit::WebPageProxy::restoreFromSessionStateData):
37548
375492011-09-21  Alexey Proskuryakov  <ap@apple.com>
37550
37551        [WK2] UIProcess should check that WebProcess isn't sending unexpected file: URLs to it
37552        https://bugs.webkit.org/show_bug.cgi?id=68573
37553
37554        Unreviewed follow-up fix.
37555
37556        * UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
37557        Just like we allow null URLs, also allow empty strings.
37558
375592011-09-21  Julien Chaffraix  <jchaffraix@webkit.org>
37560
37561        Crash in RenderBox::paintMaskImages when GraphicsContext's painting is disabled
37562        https://bugs.webkit.org/show_bug.cgi?id=68133
37563
37564        Reviewed by Darin Adler.
37565
37566        * win/WebKit2.def:
37567        * win/WebKit2CFLite.def:
37568        Exported the new FrameView::paintControlTints function.
37569
375702011-09-21  Alexey Proskuryakov  <ap@apple.com>
37571
37572        [WK2] UIProcess should check that WebProcess isn't sending unexpected file: URLs to it
37573        https://bugs.webkit.org/show_bug.cgi?id=68573
37574
37575        Reviewed by Anders Carlsson.
37576
37577        * UIProcess/API/mac/WKView.mm:
37578        (maybeCreateSandboxExtensionFromPasteboard): Return a boolean, telling the caller whether
37579        an extension actually needed to be created
37580        (-[WKView performDragOperation:]): Tell process proxy when the process is going to get
37581        universal file read sandbox extension.
37582
37583        * UIProcess/WebContext.cpp:
37584        (WebKit::WebContext::didPerformClientRedirect): Check the URLs.
37585        (WebKit::WebContext::didPerformServerRedirect): Ditto.
37586        (WebKit::WebContext::didUpdateHistoryTitle): Ditto.
37587        (WebKit::WebContext::getPluginPath): Ditto. Also, properly parse the URL - we can never
37588        assume that a string coming from WebProcess is a ParsedURLString.
37589
37590        * UIProcess/WebPageProxy.cpp:
37591        (WebKit::WebPageProxy::reattachToWebProcessWithItem): Tell process proxy when the process
37592        is going to get universal file read sandbox extension.
37593        (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle): Changed to return a boolean,
37594        telling the caller whether an extension actually needed to be created.
37595        (WebKit::WebPageProxy::loadURL): Tell process proxy about extension.
37596        (WebKit::WebPageProxy::loadURLRequest): Ditto.
37597        (WebKit::WebPageProxy::loadHTMLString): Tell process proxy if a file URL was used as a base
37598        one for a string. In this case, WebKit2 assumes that WebProcess has access to a subdirectory,
37599        (typically, one where error page resources live), and can load from it.
37600        (WebKit::WebPageProxy::loadAlternateHTMLString): Ditto.
37601        (WebKit::WebPageProxy::goForward): Tell process proxy about extension.
37602        (WebKit::WebPageProxy::goBack): Tell process proxy about extension.
37603        (WebKit::WebPageProxy::goToBackForwardItem): Tell process proxy about extension.
37604        (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): Check the URL.
37605        (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): Ditto.
37606        (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): Ditto.
37607        (WebKit::WebPageProxy::decidePolicyForNavigationAction): Ditto.
37608        (WebKit::WebPageProxy::decidePolicyForNewWindowAction): Ditto.
37609        (WebKit::WebPageProxy::decidePolicyForResponse): Ditto.
37610        (WebKit::WebPageProxy::didInitiateLoadForResource): Ditto.
37611        (WebKit::WebPageProxy::didSendRequestForResource): Ditto.
37612        (WebKit::WebPageProxy::didReceiveResponseForResource): Ditto.
37613        (WebKit::WebPageProxy::missingPluginButtonClicked): Ditto.
37614
37615        * UIProcess/WebPageProxy.h: Changed initializeSandboxExtensionHandle() to return a bool,
37616        and renamed to maybeInitializeSandboxExtensionHandle (matching WKView counterpart).
37617
37618        * UIProcess/WebProcessProxy.cpp:
37619        (WebKit::WebProcessProxy::WebProcessProxy): Initialize m_mayHaveUniversalFileReadSandboxExtension.
37620        It's going to be true if we ever granted an extension for "/".
37621        (WebKit::WebProcessProxy::willLoadHTMLStringWithBaseURL): Remember the path, we should expect
37622        that WebProcess will load subresources from it.
37623        (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess): Check that it's reasonable to expect
37624        WebProcess send us a URL like this.
37625        (WebKit::WebProcessProxy::addBackForwardItem): Check the URLs.
37626
37627        * UIProcess/WebProcessProxy.h: Added data members remembering what to expect from this process.
37628
37629        * UIProcess/cf/WebPageProxyCF.cpp: (WebKit::WebPageProxy::restoreFromSessionStateData):
37630        Tell process proxy when the process is going to get universal file read sandbox extension.
37631
376322011-09-19  Jer Noble  <jer.noble@apple.com>
37633
37634        Add settings to control the availability of the Web Audio API to WebKit and WebKit2.
37635        https://bugs.webkit.org/show_bug.cgi?id=68382
37636
37637        Add support for the webAudioEnabled preference in WebKit2.
37638
37639        Reviewed by Darin Adler.
37640
37641        * Shared/WebPreferencesStore.h: Add WebAudioEnabled getter and setter macro.
37642        * UIProcess/API/C/WKPreferences.cpp:
37643        (WKPreferencesSetWebAudioEnabled): Added.
37644        (WKPreferencesGetWebAudioEnabled): Added.
37645        * UIProcess/API/C/WKPreferences.h:
37646        * WebProcess/WebPage/WebPage.cpp:
37647        (WebKit::WebPage::updatePreferences): Update the webAudioEnabled preference.
37648
376492011-09-21  Dan Bernstein  <mitz@apple.com>
37650
37651        Use the prefix "WK" instead of "Web" for Objective-C classes defined in WebKit2.
37652
37653        Reviewed by Anders Carlsson.
37654
37655        Renamed WebInspectorProxyObjCAdapter to WKWebInspectorProxyObjCAdapter.
37656        Renamed WebInspectorWKView to WKWebInspectorWKView.
37657        Renamed WebFindIndicatorWindowAnimation to WKFindIndicatorWindowAnimation.
37658        Renamed WebFindIndicatorView to WKFindIndicatorView.
37659        Renamed WebUserDataWrapper to WKUserDataWrapper.
37660
37661        Updated the build phase checking for inappropriate Objective-C class names to disallow the prefix
37662        "Web" and only allow "WK".
37663
37664        * UIProcess/API/mac/FindIndicatorWindow.h:
37665        * UIProcess/API/mac/FindIndicatorWindow.mm:
37666        (WebKit::FindIndicatorWindow::setFindIndicator):
37667        (WebKit::FindIndicatorWindow::startFadeOutTimerFired):
37668        * UIProcess/WebInspectorProxy.h:
37669        * UIProcess/mac/WebContextMenuProxyMac.mm:
37670        (-[WKMenuTarget forwardContextMenuAction:]):
37671        (WebKit::nsMenuItemVector):
37672        * UIProcess/mac/WebInspectorProxyMac.mm:
37673        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
37674        (WebKit::WebInspectorProxy::platformOpen):
37675        * WebKit2.xcodeproj/project.pbxproj:
37676        * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
37677        (WebKit::WebFullScreenManagerMac::WebFullScreenManagerMac):
37678
376792011-09-21  Chang Shu  <cshu@webkit.org>
37680
37681        [WK2] [Mac] Implement a more-complete MouseDown/MouseUp/MouseMoveTo functions for WebKit2 EventSender
37682        https://bugs.webkit.org/show_bug.cgi?id=68108
37683
37684        This patch implements the event sender mouse events through WebKit2 UIProcess which is
37685        closer to the real simulation than a WebProcess-only approach. The patch only supports Mac
37686        platform as the first step so the existing code is still kept for other platforms.
37687
37688        Reviewed by Darin Adler.
37689
37690        * UIProcess/API/C/WKPage.cpp:
37691        (WKPageSetShouldSendEventsSynchronously):
37692        * UIProcess/API/C/WKPagePrivate.h:
37693        * UIProcess/WebPageProxy.cpp:
37694        (WebKit::WebPageProxy::WebPageProxy):
37695        (WebKit::WebPageProxy::handleMouseEvent):
37696        (WebKit::WebPageProxy::handleKeyboardEvent):
37697        * UIProcess/WebPageProxy.h:
37698        (WebKit::WebPageProxy::setShouldSendEventsSynchronously):
37699        * WebProcess/WebPage/WebPage.cpp:
37700        (WebKit::WebPage::mouseEventSyncForTesting):
37701        * WebProcess/WebPage/WebPage.h:
37702        * WebProcess/WebPage/WebPage.messages.in:
37703
377042011-09-21  Dan Bernstein  <mitz@apple.com>
37705
37706        WebKit2 part of: Prevent the WebKit frameworks from defining inappropriately-named Objective-C classes
37707        https://bugs.webkit.org/show_bug.cgi?id=68451
37708
37709        Reviewed by Darin Adler.
37710
37711        * WebKit2.xcodeproj/project.pbxproj: Added a script build phase that invokes
37712        check-for-inappropriate-objc-class-names, allowing only class names prefixed with "WK" or "Web".
37713
377142011-09-21  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
37715
37716        [Qt][WK2] Implement Download support in WebProcess
37717        https://bugs.webkit.org/show_bug.cgi?id=68153
37718
37719        Reviewed by Andreas Kling.
37720
37721        We implement the necessary functions of Download.h, and our QtFileDownloader
37722        to handle all network communication and call the necessary functions of Download.
37723
37724        We use the download policy for any MIME type not supported by WebKit. This
37725        behaves like Qt non-WebKit2 except that we don't force download when
37726        we encounter Content-Disposition: attachment. We still use the "filename="
37727        field for file name suggestion though.
37728
37729        Based on original patches by: Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>,
37730        Jocelyn Turcotte <jocelyn.turcotte@nokia.com>, Simon Hausmann <simon.hausmann@nokia.com>
37731        and Zalan Bujtas <zalan.bujtas@nokia.com>.
37732
37733        * UIProcess/API/qt/qweberror.cpp: Adding DownloadError
37734        (QWebError::type):
37735        * UIProcess/API/qt/qweberror.h: Adding DownloadError
37736        * WebKit2.pro:
37737        * WebProcess/Downloads/Download.cpp: Adding QtFileDownloader, Qt platform specific
37738        (WebKit::Download::Download):
37739        * WebProcess/Downloads/Download.h: Adding QtFileDownloader, Qt platform specific
37740        * WebProcess/Downloads/qt/DownloadQt.cpp:
37741        (WebKit::Download::start):
37742        (WebKit::Download::startWithHandle):
37743        (WebKit::Download::cancel):
37744        (WebKit::Download::platformInvalidate):
37745        (WebKit::Download::didDecideDestination):
37746        * WebProcess/Downloads/qt/QtFileDownloader.cpp: Added.
37747        (WebKit::QtFileDownloader::QtFileDownloader):
37748        (WebKit::QtFileDownloader::~QtFileDownloader):
37749        (WebKit::QtFileDownloader::determineFilename):
37750        (WebKit::QtFileDownloader::decidedDestination):
37751        (WebKit::QtFileDownloader::abortDownloadWritingAndEmitError):
37752        (WebKit::QtFileDownloader::onReadyRead):
37753        (WebKit::QtFileDownloader::onFinished):
37754        (WebKit::QtFileDownloader::onError):
37755        (WebKit::QtFileDownloader::cancel):
37756        * WebProcess/Downloads/qt/QtFileDownloader.h: Added.
37757
377582011-09-21  Mark Rowe  <mrowe@apple.com>
37759
37760        <rdar://problem/9890932> "Open PDF in Preview" on two PDFs of the same name does nothing the second time
37761
37762        The logic in PDFViewController::pathToPDFOnDisk that deals with constructing a unique
37763        file name if a file of the suggested name already exists was incorrect. It was appending
37764        the template used by mkstemps to the directory name component of the path rather than
37765        using it as a prefix on the filename portion of the path. This resulted in a template path
37766        like WebKitPDFs-ABCDEFXXXXXX-/foo.pdf where WebKitPDFs-ABCDEF/XXXXXX-foo.pdf was expected.
37767
37768        Reviewed by Jon Honeycutt.
37769
37770        * UIProcess/API/mac/PDFViewController.mm:
37771        (WebKit::PDFViewController::pathToPDFOnDisk): Append the template as a new path component,
37772        then append the suggested file name to that component.
37773
377742011-09-21  Andras Becsi  <andras.becsi@nokia.com>
37775
37776        [Qt] Remove Qt specific code from css/SelectorChecker.cpp
37777        https://bugs.webkit.org/show_bug.cgi?id=67702
37778
37779        Reviewed by Csaba Osztrogonác.
37780
37781        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Modify to match new prototype.
37782        (WebKit::WebPlatformStrategies::isLinkVisited):
37783        (WebKit::WebPlatformStrategies::addVisitedLink):
37784        * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Ditto.
37785
377862011-09-20  Anders Carlsson  <andersca@apple.com>
37787
37788        Get rid of PluginView::setBoundsSize from WebKit2
37789        https://bugs.webkit.org/show_bug.cgi?id=68489
37790
37791        Reviewed by Dan Bernstein.
37792
37793        Remove m_boundsSize and the setter since they aren't used anywhere.
37794
37795        * WebProcess/Plugins/PluginView.cpp:
37796        * WebProcess/Plugins/PluginView.h:
37797
377982011-09-20  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
37799
37800        [Qt] QTouchWebView missing signal tests for loadProgress
37801        https://bugs.webkit.org/show_bug.cgi?id=68442
37802
37803        Reviewed by Chang Shu.
37804
37805        Added test case to check load progress signal for QTouchWebView
37806
37807        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml: Added.
37808        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
37809
378102011-09-20  Sheriff Bot  <webkit.review.bot@gmail.com>
37811
37812        Unreviewed, rolling out r95565.
37813        http://trac.webkit.org/changeset/95565
37814        https://bugs.webkit.org/show_bug.cgi?id=68470
37815
37816        Broke builds (Requested by andersca on #webkit).
37817
37818        * GNUmakefile.am:
37819        * Shared/API/c/WKHitTestResult.cpp: Removed.
37820        * Shared/API/c/WKHitTestResult.h: Removed.
37821        * UIProcess/API/C/WebKit2.h:
37822
378232011-09-20  Alexis Menard  <alexis.menard@openbossa.org>
37824
37825        [Qt] [WK2] Implement a persistent cookie storage.
37826        https://bugs.webkit.org/show_bug.cgi?id=65309
37827
37828        Reviewed by Chang Shu.
37829
37830        Add parameter to the WebProcess creation to specify where cookies should be saved.
37831        It also use the new cookie storage implementation and set it to our network stack
37832        so cookies are used when using it.
37833
37834        * Shared/WebProcessCreationParameters.cpp:
37835        (WebKit::WebProcessCreationParameters::encode):
37836        (WebKit::WebProcessCreationParameters::decode):
37837        * Shared/WebProcessCreationParameters.h:
37838        * UIProcess/qt/WebContextQt.cpp:
37839        (WebKit::WebContext::platformInitializeWebProcess):
37840        * WebProcess/qt/WebProcessQt.cpp:
37841        (WebKit::WebProcess::platformInitializeWebProcess):
37842        (WebKit::WebProcess::platformTerminate):
37843
378442011-09-20  Nayan Kumar K  <nayankk@motorola.com>
37845
37846        Added WKHitTestResult API's.
37847
37848        WKHitTestResult API's are added. These API's can be used to
37849        get the hover'ed link/image/media URL as well as link lable and
37850        title.
37851        https://bugs.webkit.org/show_bug.cgi?id=68426
37852
37853        Reviewed by Anders Carlsson.
37854
37855        * GNUmakefile.am:
37856        * Shared/API/c/WKHitTestResult.cpp: Copied from Source/WebKit2/UIProcess/API/C/WebKit2.h.
37857        (WKHitTestResultGetTypeID):
37858        (WKHitTestResultCopyAbsoluteImageURL):
37859        (WKHitTestResultCopyAbsoluteLinkURL):
37860        (WKHitTestResultCopyAbsoluteMediaURL):
37861        (WKHitTestResultCopyLinkLabel):
37862        (WKHitTestResultCopyLinkTitle):
37863        * Shared/API/c/WKHitTestResult.h: Copied from Source/WebKit2/UIProcess/API/C/WebKit2.h.
37864        * UIProcess/API/C/WebKit2.h:
37865
378662011-09-20  Alexis Menard  <alexis.menard@openbossa.org>
37867
37868        [Qt][WK2] Add stubs for FULLSCREEN_API on Qt.
37869        https://bugs.webkit.org/show_bug.cgi?id=68444
37870
37871        Reviewed by Andreas Kling.
37872
37873        Create all the stubs necessary for enabling FULLSCREEN_API on the Qt port.
37874
37875        * UIProcess/qt/WebFullScreenManagerProxyQt.cpp: Added.
37876        (WebKit::WebFullScreenManagerProxy::invalidate):
37877        (WebKit::WebFullScreenManagerProxy::enterFullScreen):
37878        (WebKit::WebFullScreenManagerProxy::exitFullScreen):
37879        (WebKit::WebFullScreenManagerProxy::beganEnterFullScreenAnimation):
37880        (WebKit::WebFullScreenManagerProxy::finishedEnterFullScreenAnimation):
37881        (WebKit::WebFullScreenManagerProxy::beganExitFullScreenAnimation):
37882        (WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation):
37883        (WebKit::WebFullScreenManagerProxy::enterAcceleratedCompositingMode):
37884        (WebKit::WebFullScreenManagerProxy::exitAcceleratedCompositingMode):
37885        (WebKit::WebFullScreenManagerProxy::getFullScreenRect):
37886        * WebKit2.pro:
37887        * WebProcess/FullScreen/qt: Added.
37888        * WebProcess/FullScreen/qt/WebFullScreenManagerQt.cpp: Added.
37889        (WebKit::WebFullScreenManagerQt::WebFullScreenManagerQt):
37890        (WebKit::WebFullScreenManager::create):
37891        (WebKit::WebFullScreenManagerQt::setRootFullScreenLayer):
37892        (WebKit::WebFullScreenManagerQt::beginEnterFullScreenAnimation):
37893        (WebKit::WebFullScreenManagerQt::beginExitFullScreenAnimation):
37894        * WebProcess/FullScreen/qt/WebFullScreenManagerQt.h: Added.
37895
378962011-09-20  Alexis Menard  <alexis.menard@openbossa.org>
37897
37898        [Qt][WK2] Export QNetworkReply in the QtWebKit QML module.
37899        https://bugs.webkit.org/show_bug.cgi?id=68401
37900
37901        Reviewed by Simon Hausmann.
37902
37903        Add QNetworkReply in the QtWebKit module. We use the enum QNetworkReply::NetworkError
37904        as the error code when the load fails. It is not used in the QtQuick module therefore
37905        the QML team thinks it should belong here. Also added some auto-tests to cover the
37906        loading errors.
37907
37908        * UIProcess/API/qt/qmlplugin/plugin.cpp:
37909        (WebKit2QmlPlugin::registerTypes):
37910        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadFail.qml: Added.
37911        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml: Added.
37912
379132011-09-20  Csaba Osztrogonác  <ossy@webkit.org>
37914
37915        [Qt][Mac] Buildfix after r95513.
37916
37917        Rubber-stamped by Andras Becsi.
37918
37919        * Scripts/generate-forwarding-headers.pl: Add mm file supporting.
37920
379212011-09-20  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
37922
37923        [Qt] QDesktopWebView missing loadProgress tests
37924        https://bugs.webkit.org/show_bug.cgi?id=68280
37925
37926        Reviewed by Andreas Kling.
37927
37928        Added test case to check load progress property and signal for QDesktopWebView
37929
37930        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgress.qml: Added.
37931        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgressSignal.qml: Added.
37932        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
37933
379342011-09-20  Carlos Garcia Campos  <cgarcia@igalia.com>
37935
37936        [GTK] WebProcess shouldn't use the GTK+ API
37937        https://bugs.webkit.org/show_bug.cgi?id=68062
37938
37939        Reviewed by Martin Robinson.
37940
37941        Use WebCore API to create errors in WebProcess.
37942
37943        * GNUmakefile.am: Don't use webkit/webkierror.h.
37944        * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
37945        (WebKit::cancelledError):
37946        (WebKit::blockedError):
37947        (WebKit::cannotShowURLError):
37948        (WebKit::interruptedForPolicyChangeError):
37949        (WebKit::cannotShowMIMETypeError):
37950        (WebKit::fileDoesNotExistError):
37951        (WebKit::pluginWillHandleLoadError):
37952
379532011-09-19  Mark Rowe  <mrowe@apple.com>
37954
37955        <http://webkit.org/b/68421> Stop calling UpdateSystemActivity in places where we hold power assertions that achieve the same effect
37956
37957        On SnowLeopard and newer it's not necessary to call UpdateSystemActivity to prevent the screensaver from kicking
37958        in as the NoDisplaySleep assertion now has that effect. It's also not necessary to hold both a NoDisplaySleep and
37959        a NoIdleSleep assertion as the latter is implied by the former.
37960
37961        Adopt the DisplaySleepDisabler class that was added to WebCore and remove all of duplicated logic from WKFullScreenWindowController.
37962
37963        Reviewed by Dan Bernstein.
37964
37965        * UIProcess/mac/WKFullScreenWindowController.h:
37966        * UIProcess/mac/WKFullScreenWindowController.mm:
37967        (-[WKFullScreenWindowController _updatePowerAssertions]): Create a DisplaySleepDisabler instance when transitioning from permitting
37968        display sleep to disabling display sleep. Clear out our reference when sleep should be permitted, destroying any
37969        disabler that we own. Also adds a FIXME about an error that was noticed while working in this code.
37970
379712011-09-19  Adam Barth  <abarth@webkit.org>
37972
37973        Always enable ENABLE(EVENTSOURCE)
37974        https://bugs.webkit.org/show_bug.cgi?id=68414
37975
37976        Reviewed by Eric Seidel.
37977
37978        * Configurations/FeatureDefines.xcconfig:
37979
379802011-09-19  Alexis Menard  <alexis.menard@openbossa.org>
37981
37982        [Qt] Unreviewed coding style fix.
37983
37984        * UIProcess/API/qt/qdesktopwebview.h:
37985        * UIProcess/API/qt/qtouchwebpage.h:
37986        * UIProcess/API/qt/qweberror.h:
37987
379882011-09-19  Alexis Menard  <alexis.menard@openbossa.org>
37989
37990        [Qt][WK2] Make loading errors API easier to use.
37991        https://bugs.webkit.org/show_bug.cgi?id=68357
37992
37993        Reviewed by Tor Arne Vestbø.
37994
37995        Make the API to get loading errors easier to use. 95197 introduced
37996        a QJSValue API that is a bit opaque for the client code. Rather than
37997        using a dedicated object, we can just pass the needed information as
37998        parameters of the slot.
37999
38000        * UIProcess/API/qt/qdesktopwebview.cpp:
38001        (QDesktopWebViewPrivate::loadDidFail):
38002        * UIProcess/API/qt/qdesktopwebview.h:
38003        * UIProcess/API/qt/qdesktopwebview_p.h:
38004        * UIProcess/API/qt/qtouchwebpage.h:
38005        * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
38006        (tst_CommonViewTests::loadNonexistentFileUrl):
38007        * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
38008        (WebViewAbstraction::WebViewAbstraction):
38009        (WebViewAbstraction::touchViewLoadFailed):
38010        (WebViewAbstraction::desktopViewLoadFailed):
38011        * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
38012        * UIProcess/qt/QtWebPageProxy.cpp:
38013        (QtWebPageProxy::loadDidFail):
38014        * UIProcess/qt/TouchViewInterface.cpp:
38015        (WebKit::TouchViewInterface::loadDidFail):
38016        * UIProcess/qt/TouchViewInterface.h:
38017        * UIProcess/qt/ViewInterface.h:
38018
380192011-09-19  Dan Bernstein  <mitz@apple.com>
38020
38021        WebKit2 part of [mac] WebKit contains Objective-C classes that are not prefixed with its standard prefixes
38022        https://bugs.webkit.org/show_bug.cgi?id=68323
38023
38024        Reviewed by Sam Weinig.
38025
38026        Renamed FullKeyboardAccessWatcher to WKFullKeyboardAccessWatcher.
38027        Renamed AccessibilityWebPageObject to WKAccessibilityWebPageObject.
38028
38029        * WebKit2.xcodeproj/project.pbxproj:
38030        * WebProcess/WebPage/WebPage.h:
38031        * WebProcess/WebPage/mac/AccessibilityWebPageObject.h: Removed.
38032        * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm: Removed.
38033        * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.h: Copied from Source/WebKit2/WebProcess/WebPage/mac/AccessibilityWebPageObject.h.
38034        * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm: Copied from Source/WebKit2/WebProcess/WebPage/mac/AccessibilityWebPageObject.mm.
38035        * WebProcess/WebPage/mac/WebPageMac.mm:
38036        (WebKit::WebPage::platformInitialize):
38037        (WebKit::WebPage::accessibilityRemoteObject):
38038        * WebProcess/mac/FullKeyboardAccessWatcher.h: Removed.
38039        * WebProcess/mac/FullKeyboardAccessWatcher.mm: Removed.
38040        * WebProcess/mac/WKFullKeyboardAccessWatcher.h: Copied from Source/WebKit2/WebProcess/mac/FullKeyboardAccessWatcher.h.
38041        * WebProcess/mac/WKFullKeyboardAccessWatcher.mm: Copied from Source/WebKit2/WebProcess/mac/FullKeyboardAccessWatcher.mm.
38042        (+[WKFullKeyboardAccessWatcher fullKeyboardAccessEnabled]):
38043        * WebProcess/mac/WebProcessMac.mm:
38044        (WebKit::WebProcess::fullKeyboardAccessEnabled):
38045
380462011-09-14  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
38047
38048        [Qt] [WK2] Implement popup menus in QDesktopWebView using QComboBox
38049        https://bugs.webkit.org/show_bug.cgi?id=67938
38050
38051        Reviewed by Andreas Kling.
38052
38053        Implement a WebPopupMenuProxy that uses QtWebComboBox (a QComboBox subclass we
38054        have for WK1). Then use this WebPopupMenuProxy in QDesktopWebView. The implementation
38055        explicitly avoids running a nested mainloop.
38056
38057        * UIProcess/WebPageProxy.cpp:
38058        (WebKit::WebPageProxy::showPopupMenu):
38059        Since we don't run a nested mainloop, we need to keep the client pointer to call
38060        valueChangedForPopupMenu().
38061
38062        * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp: Added.
38063        (WebKit::WebPopupMenuProxyQtDesktop::WebPopupMenuProxyQtDesktop):
38064        (WebKit::WebPopupMenuProxyQtDesktop::~WebPopupMenuProxyQtDesktop):
38065        (WebKit::WebPopupMenuProxyQtDesktop::showPopupMenu):
38066        (WebKit::WebPopupMenuProxyQtDesktop::hidePopupMenu):
38067        (WebKit::WebPopupMenuProxyQtDesktop::setSelectedIndex):
38068        (WebKit::WebPopupMenuProxyQtDesktop::onPopupMenuHidden):
38069        (WebKit::WebPopupMenuProxyQtDesktop::populate):
38070        * UIProcess/qt/WebPopupMenuProxyQtDesktop.h: Added.
38071        (WebKit::WebPopupMenuProxyQtDesktop::create):
38072        * UIProcess/qt/qdesktopwebpageproxy.cpp:
38073        (QDesktopWebPageProxy::createPopupMenuProxy):
38074        * UIProcess/qt/qdesktopwebpageproxy.h:
38075        * WebKit2.pro:
38076
380772011-09-19  Carlos Garcia Campos  <cgarcia@igalia.com>
38078
38079        [GTK] Fix distcheck build
38080        https://bugs.webkit.org/show_bug.cgi?id=68241
38081
38082        Reviewed by Martin Robinson.
38083
38084        * GNUmakefile.am:
38085
380862011-09-17  Mihai Parparita  <mihaip@chromium.org>
38087
38088        FrameLoaderClient BackForwardList-related methods are unsued
38089        https://bugs.webkit.org/show_bug.cgi?id=68293
38090
38091        Reviewed by Darin Adler.
38092
38093        Remove FrameLoaderClient methods that were added by r51629, since only        
38094        the old (since-deleted) Android port needed them.
38095
38096        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
38097        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
38098
380992011-09-16  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
38100        [Qt] QTouchWebView missing loadProgress tests
38101        https://bugs.webkit.org/show_bug.cgi?id=68183
38102
38103        Reviewed by Chang Shu.
38104
38105        Added test case to check load progress for QTouchWebView
38106
38107        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml: Added.
38108        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
38109
381102011-09-16  Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
38111
38112        Removed unwanted NotImplemented.h inclusion in WebKit2 GTK port & platform independent files
38113        https://bugs.webkit.org/show_bug.cgi?id=68249
38114
38115        Reviewed by Martin Robinson.
38116
38117        * Shared/Plugins/NPIdentifierData.cpp: Removed NotImplemented.h inclusion.
38118        * Shared/Plugins/NPRemoteObjectMap.cpp: Removed NotImplemented.h inclusion.
38119        * Shared/Plugins/NPVariantData.cpp: Removed NotImplemented.h inclusion.
38120        * UIProcess/gtk/WebContextGtk.cpp: Removed NotImplemented.h inclusion.
38121        * WebProcess/Cookies/WebCookieManager.cpp: Removed NotImplemented.h inclusion.
38122        * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp: Removed NotImplemented.h inclusion.
38123        * WebProcess/Plugins/Netscape/JSNPMethod.cpp: Removed NotImplemented.h inclusion.
38124        * WebProcess/Plugins/Netscape/NPJSObject.cpp: Removed NotImplemented.h inclusion.
38125        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: Removed NotImplemented.h inclusion.
38126        * WebProcess/WebCoreSupport/WebInspectorClient.cpp: Removed NotImplemented.h inclusion.
38127
381282011-09-16  Simon Fraser  <simon.fraser@apple.com>
38129
38130        Make custom scrollbar theme for use in DRT, to reduce pixel diffs between platforms
38131        https://bugs.webkit.org/show_bug.cgi?id=68134
38132
38133        Reviewed by Sam Weinig.
38134
38135        Hook up a private preference that enables the mock scrollbar theme.
38136
38137        * Shared/WebPreferencesStore.h:
38138        * UIProcess/API/C/WKPreferences.cpp:
38139        (WKPreferencesSetMockScrollbarsEnabled):
38140        (WKPreferencesGetMockScrollbarsEnabled):
38141        * UIProcess/API/C/WKPreferencesPrivate.h:
38142        * WebProcess/WebPage/WebPage.cpp:
38143        (WebKit::WebPage::updatePreferences):
38144
381452011-09-16  Mark Rowe  <mrowe@apple.com>
38146
38147        Stop installing source and header files in to WebKit2.framework after r95303.
38148
38149        * WebKit2.xcodeproj/project.pbxproj:
38150
381512011-09-16  Anders Carlsson  <andersca@apple.com>
38152
38153        Add back the WKHitTestResultRef parameter to mouseDidMoveOverElement in an ABI preserving way
38154        https://bugs.webkit.org/show_bug.cgi?id=68269
38155
38156        Reviewed by Geoffrey Garen.
38157
38158        Add back WKPageMouseDidMoveOverElementCallback last and deprecate the current callback.
38159
38160        * UIProcess/API/C/WKPage.h:
38161        * UIProcess/WebUIClient.cpp:
38162        (WebKit::WebUIClient::mouseDidMoveOverElement):
38163
381642011-09-16  Alexey Proskuryakov  <ap@apple.com>
38165
38166        Give local builds of WebProcess different icon to distinguish them from built-in Safari’s WebProcess
38167        https://bugs.webkit.org/show_bug.cgi?id=68268
38168
38169        Reviewed by Darin Adler.
38170
38171        * Configurations/WebProcess.xcconfig: Add an icon in Debug and Release builds.  The empty
38172        value for production resulted in WebKit not adding the key to plist at all, which is what
38173        we want (but I don't know if it's a supported feature).
38174        Also, don't copy the icon file to built framework in production builds.
38175
38176        * WebKit2.xcodeproj/project.pbxproj: Added WebKit.icns.
38177
38178        * WebProcess/Info.plist: Added a key for the icon.
38179
38180        * WebProcess/mac/WebKit.icns: Copied from Websites/webkit.org/images/surfin-safari.icns.
38181
381822011-09-16  Anders Carlsson  <andersca@apple.com>
38183
38184        Temporarily remove the WKHitTestResultRef parameter to avoid breaking the WK2 ABI/API
38185        https://bugs.webkit.org/show_bug.cgi?id=68266
38186
38187        Reviewed by John Sullivan.
38188
38189        * UIProcess/API/C/WKPage.h:
38190        * UIProcess/WebUIClient.cpp:
38191        (WebKit::WebUIClient::mouseDidMoveOverElement):
38192
381932011-09-16  Filip Pizlo  <fpizlo@apple.com>
38194
38195        DFG JIT should inline Math.abs
38196        https://bugs.webkit.org/show_bug.cgi?id=68227
38197
38198        Reviewed by Oliver Hunt.
38199
38200        Added JavaScriptCore/dfg to include path path.
38201
38202        * CMakeLists.txt:
38203
382042011-09-16  Igor Oliveira  <igor.oliveira@openbossa.org>
38205
38206        [WK2] mouseDidMoveOverElement needs to send more information about hovered element to UiProcess.
38207        https://bugs.webkit.org/show_bug.cgi?id=68125
38208
38209        This patch implements support for the UiProcess to know what is the link url of a hovered element.
38210
38211        Reviewed by Anders Carlsson.
38212
38213        * CMakeLists.txt:
38214        * GNUmakefile.am:
38215        * Shared/API/c/WKBase.h:
38216        * Shared/APIObject.h:
38217        * Shared/WebHitTestResult.cpp: Added.
38218
38219        WebHitTestResult has hovered element information.
38220
38221        (WebKit::WebHitTestResult::create):
38222        (WebKit::WebHitTestResult::Data::encode):
38223        (WebKit::WebHitTestResult::Data::decode):
38224        * Shared/WebHitTestResult.h: Added.
38225        (WebKit::WebHitTestResult::absoluteImageURL):
38226        (WebKit::WebHitTestResult::absoluteLinkURL):
38227        (WebKit::WebHitTestResult::absoluteMediaURL):
38228        (WebKit::WebHitTestResult::linkLabel):
38229        (WebKit::WebHitTestResult::linkTitle):
38230        (WebKit::WebHitTestResult::WebHitTestResult):
38231        (WebKit::WebHitTestResult::type):
38232        * UIProcess/API/C/WKAPICast.h:
38233        * UIProcess/API/C/WKPage.h:
38234        * UIProcess/WebPageProxy.cpp:
38235        (WebKit::WebPageProxy::mouseDidMoveOverElement):
38236        * UIProcess/WebPageProxy.h:
38237        * UIProcess/WebPageProxy.messages.in:
38238        * UIProcess/WebUIClient.cpp:
38239        (WebKit::WebUIClient::mouseDidMoveOverElement):
38240        * UIProcess/WebUIClient.h:
38241        * WebKit2.pro:
38242        * WebKit2.xcodeproj/project.pbxproj:
38243        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
38244        (WebKit::WebChromeClient::mouseDidMoveOverElement):
38245        * win/WebKit2.vcproj:
38246
382472011-09-15  Adam Roben  <aroben@apple.com>
38248
38249        Add support for attributes on message parameters
38250
38251        Parameter attributes are specified as a space-separated list inside square brackets before
38252        the parameter's type. WebKit2 doesn't use this, but other projects that use these scripts
38253        would like to.
38254
38255        Fixes <http://webkit.org/b/68219> Would like a way to specify attributes on message
38256        parameters
38257
38258        Reviewed by Sam Weinig.
38259
38260        * Scripts/webkit2/messages_unittest.py: Added tests for parameter attributes.
38261
38262        * Scripts/webkit2/model.py:
38263        (Parameter.__init__): Added a new attributes parameter, which is stored in the self.attributes
38264        property.
38265        (Parameter.has_attribute): Added. Returns true if this parameter has the given attribute.
38266
38267        * Scripts/webkit2/parser.py:
38268        (parse): Moved attributes-parsing code from here...
38269        (parse_attributes_string): ...to here.
38270        (parse_parameters_string): Renamed from parse_parameter_string. Now also parses parameter
38271        attributes.
38272
382732011-09-15  Adam Roben  <aroben@apple.com>
38274
38275        Make WebKit2's message-generation model and parser scripts accessible to other projects
38276
38277        We copy them into the build products directory so other projects can find them.
38278
38279        Fixes <http://webkit.org/b/68169> Would like to be able to use WebKit2's message-generation
38280        scripts in other projects
38281
38282        Reviewed by Darin Adler.
38283
38284        * WebKit2.xcodeproj/project.pbxproj: Copy the scripts to PrivateHeaders.
38285
38286        * win/WebKit2.make: Copy the scripts from obj/WebKit2/scripts to
38287        tools/scripts, like WebCore does.
38288
38289        * win/WebKit2Generated.make: Copy the scripts to obj/WebKit2/scripts, which is similar to what
38290        WebCore does for its bindings scripts.
38291
382922011-09-15  Adam Roben  <aroben@apple.com>
38293
38294        Split some of the message-generation code into separate modules
38295
38296        This is in preparation for making these modules scripts usable by other projects.
38297
38298        Fixes <http://webkit.org/b/68217> Model and parsing functionality for WebKit2's
38299        message-generation scripts is trapped inside a much larger module
38300
38301        Reviewed by Darin Adler.
38302
38303        * DerivedSources.make:
38304        * DerivedSources.pro:
38305        * GNUmakefile.am:
38306        * WebKit2.xcodeproj/project.pbxproj:
38307        * win/WebKit2.vcproj:
38308        * win/WebKit2Generated.vcproj:
38309        Added new files.
38310
38311        * Scripts/webkit2/messages.py: Moved some code from here...
38312
38313        * Scripts/webkit2/model.py: Added.
38314        * Scripts/webkit2/parser.py: Added.
38315        ...to here. MessageReceiver.parse was split out into a function in the new parser module.
38316
38317        * Scripts/webkit2/messages_unittest.py: Updated for renames.
38318
383192011-09-16  Martin Robinson  <mrobinson@igalia.com>
38320
38321        [GTK] Disable WebKit2 by default in configure.ac, but enable it with build-webkit
38322        https://bugs.webkit.org/show_bug.cgi?id=68178
38323
38324        Reviewed by Xan Lopez.
38325
38326        * GNUmakefile.am: Do not build WebKit2 by default. Re-add pkgconfig support
38327        for WebKit2.
38328
383292011-09-15  Adam Barth  <abarth@webkit.org>
38330
38331        Rename ENABLE(DATABASE) to ENABLE(SQL_DATABASE)
38332        https://bugs.webkit.org/show_bug.cgi?id=68205
38333
38334        Reviewed by Eric Seidel.
38335
38336        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
38337        * WebProcess/WebCoreSupport/WebChromeClient.h:
38338        * WebProcess/WebPage/WebPage.cpp:
38339        (WebKit::WebPage::updatePreferences):
38340        * WebProcess/WebProcess.cpp:
38341        (WebKit::WebProcess::initializeWebProcess):
38342
383432011-09-15  Eric Seidel  <eric@webkit.org>
38344
38345        Remove ENABLE(SVG_AS_IMAGE) since all major ports have it on by default
38346        https://bugs.webkit.org/show_bug.cgi?id=68182
38347
38348        Reviewed by Adam Barth.
38349
38350        * Configurations/FeatureDefines.xcconfig:
38351
383522011-09-15  Eric Seidel  <eric@webkit.org>
38353
38354        Remove ENABLE_SVG_ANIMATION as all major ports have it on by default
38355        https://bugs.webkit.org/show_bug.cgi?id=68022
38356
38357        Reviewed by Ryosuke Niwa.
38358
38359        * Configurations/FeatureDefines.xcconfig:
38360
383612011-09-15  Alexis Menard  <alexis.menard@openbossa.org>
38362
38363        [Qt][WK2] Make QWebError more friendly to QML.
38364        https://bugs.webkit.org/show_bug.cgi?id=67785
38365
38366        Reviewed by Simon Hausmann.
38367
38368        Make sure that we can use the loading errors in QML. We send it via a QJSValue which
38369        has the properties needed to get the error code, the url and the type of error.
38370
38371        * UIProcess/API/qt/qdesktopwebview.cpp:
38372        (QDesktopWebViewPrivate::loadDidFail):
38373        (QDesktopWebViewPrivate::engine):
38374        * UIProcess/API/qt/qdesktopwebview.h:
38375        * UIProcess/API/qt/qdesktopwebview_p.h:
38376        * UIProcess/API/qt/qtouchwebpage.h:
38377        * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
38378        (tst_CommonViewTests::loadNonexistentFileUrl):
38379        * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
38380        (WebViewAbstraction::WebViewAbstraction):
38381        (WebViewAbstraction::touchViewLoadFailed):
38382        (WebViewAbstraction::desktopViewLoadFailed):
38383        * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
38384        * UIProcess/API/qt/tests/testwindow.h:
38385        * UIProcess/qt/QtWebPageProxy.cpp:
38386        (QtWebPageProxy::loadDidFail):
38387        * UIProcess/qt/QtWebPageProxy.h:
38388        * UIProcess/qt/TouchViewInterface.cpp:
38389        (WebKit::TouchViewInterface::loadDidFail):
38390        (WebKit::TouchViewInterface::engine):
38391        * UIProcess/qt/TouchViewInterface.h:
38392        * UIProcess/qt/ViewInterface.h:
38393
383942011-09-15  Adam Roben  <aroben@apple.com>
38395
38396        Remove WebKit2-specific knowledge from the Message class
38397
38398        This is in preparation for making some of our message-generations scripts usable by other
38399        projects.
38400
38401        Fixes <http://webkit.org/b/68170> Model classes in WebKit2's message-generation scripts know
38402        too much about WebKit2 details
38403
38404        Reviewed by Anders Carlsson.
38405
38406        * Scripts/webkit2/messages.py: Added constants for the message attributes we support.
38407        (MessageReceiver.parse): Instead of recognizing individual attributes, just stick the
38408        attributes into a set and pass it to the Message constructor.
38409        (Message.__init__): Changed to take a generic set of attributes instead of individual
38410        attributes.
38411        (Message.has_attribute): Added. Returns true if the message has an attribute.
38412        (message_is_variadic): Renamed from parameter_type_is_variadic. Code came from
38413        Message.__init__, which set the old message.is_variadic property.
38414
38415        (decode_type):
38416        (message_to_struct_declaration):
38417        (forward_declarations_and_headers):
38418        (async_case_statement):
38419        (sync_case_statement):
38420        (generate_message_handler):
38421        Updated to use Message.has_attribute and message_is_variadic.
38422
384232011-09-14  Wajahat Siddiqui  <mdwajahatali.siddiqui@motorola.com>
38424
38425        Eliminate WebKit2 compilation warnings.
38426        https://bugs.webkit.org/show_bug.cgi?id=65025
38427
38428        Warnings found with gcc on linux.
38429
38430        Reviewed by Sam Weinig.
38431
38432        * Platform/CoreIPC/ArgumentEncoder.cpp:
38433        (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
38434        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
38435        (WebKit::WebFrameLoaderClient::createPlugin):
38436
384372011-09-14  Ada Chan  <adachan@apple.com>
38438
38439        Implement WKBundleFrameCopyWebArchive().
38440        http://bugs.webkit.org/show_bug.cgi?id=67857
38441
38442        Reviewed by Anders Carlsson.
38443
38444        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
38445        (WKBundleFrameCopyWebArchive): Call WebFrame::webArchiveData() and create a WKDataRef from the returned CFDataRef.
38446        * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
38447        * WebProcess/WebPage/WebFrame.cpp:
38448        (WebKit::WebFrame::webArchiveData): Add WebFrame::webArchiveData().
38449        * WebProcess/WebPage/WebFrame.h:
38450        * WebProcess/WebPage/WebPage.cpp:
38451        (WebKit::WebPage::getWebArchiveOfFrame): Move the logic to WebFrame::webArchiveData() and call that method here.
38452
384532011-09-14  Alexey Proskuryakov  <ap@apple.com>
38454
38455        Web Process doesn't need a permission to look up WebProcess service any more
38456        https://bugs.webkit.org/show_bug.cgi?id=68101
38457
38458        Reviewed by Anders Carlsson.
38459
38460        * WebProcess/com.apple.WebProcess.sb:
38461
384622011-09-14  Mark Hahnenberg  <mhahnenberg@apple.com>
38463
38464        Unzip initialization lists and constructors in JSCell hierarchy (6/7)
38465        https://bugs.webkit.org/show_bug.cgi?id=67692
38466
38467        Reviewed by Geoffrey Garen.
38468
38469        Completed the sixth level of the refactoring to add finishCreation() 
38470        methods to all classes within the JSCell hierarchy with non-trivial 
38471        constructor bodies.
38472
38473        This primarily consists of pushing the calls to finishCreation() down 
38474        into the constructors of the subclasses of the fifth level of the hierarchy 
38475        as well as pulling the finishCreation() calls out into the class's corresponding
38476        create() method if it has one.  Doing both simultaneously allows us to 
38477        maintain the invariant that the finishCreation() method chain is called exactly 
38478        once during the creation of an object, since calling it any other number of 
38479        times (0, 2, or more) will cause an assertion failure.
38480
38481        * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
38482        (WebKit::JSNPMethod::JSNPMethod):
38483        * WebProcess/Plugins/Netscape/JSNPMethod.h:
38484        (WebKit::JSNPMethod::create):
38485
384862011-09-13  Eric Seidel  <eric@webkit.org>
38487
38488        Remove ENABLE_SVG_USE as <use> is required by HTML5
38489        https://bugs.webkit.org/show_bug.cgi?id=68019
38490
38491        Reviewed by Ryosuke Niwa.
38492
38493        * Configurations/FeatureDefines.xcconfig:
38494
384952011-09-13  Anders Carlsson  <andersca@apple.com>
38496
38497        Disable C++ exceptions when building with clang
38498        https://bugs.webkit.org/show_bug.cgi?id=68031
38499        <rdar://problem/9556880>
38500
38501        Reviewed by Mark Rowe.
38502
38503        * Configurations/Base.xcconfig:
38504
385052011-09-13  Eric Seidel  <eric@webkit.org>
38506
38507        Remove ENABLE_SVG_FOREIGN_OBJECT as it is a required part of HTML5
38508        https://bugs.webkit.org/show_bug.cgi?id=68018
38509
38510        Reviewed by Ryosuke Niwa.
38511
38512        * Configurations/FeatureDefines.xcconfig:
38513
385142011-09-13  Chang Shu  <cshu@webkit.org>
38515
38516        [WK2] [Mac] Implement KeyDown function for WebKit2 EventSender.
38517        https://bugs.webkit.org/show_bug.cgi?id=57515
38518
38519        The code change in WebKit2 allows key events being sent to WebProcess from UIProcess synchronously.
38520
38521        Reviewed by Darin Adler.
38522
38523        * UIProcess/API/C/WKPage.cpp:
38524        (WKPageSetShouldSendKeyboardEventSynchronously):
38525        * UIProcess/API/C/WKPagePrivate.h:
38526        * UIProcess/WebPageProxy.cpp:
38527        (WebKit::WebPageProxy::WebPageProxy):
38528        (WebKit::WebPageProxy::handleKeyboardEvent):
38529        * UIProcess/WebPageProxy.h:
38530        (WebKit::WebPageProxy::setShouldSendKeyboardEventSynchronously):
38531        * WebProcess/WebPage/WebPage.cpp:
38532        (WebKit::WebPage::keyEventSyncForTesting):
38533        * WebProcess/WebPage/WebPage.h:
38534        * WebProcess/WebPage/WebPage.messages.in:
38535
385362011-09-12  Ryuan Choi  <ryuan.choi@samsung.com>
38537
38538        Reviewed by Eric Seidel.
38539
38540        [CMAKE][WK2] include cmakeconfig.h in WebKit2/config.h
38541        https://bugs.webkit.org/show_bug.cgi?id=62692
38542
38543        * CMakeLists.txt: define WTF_USE_JSC=1.
38544        * config.h: add cmakeconfig.h and define necessary macros for CMake build.
38545
385462011-09-12  Igor Oliveira  <igor.oliveira@openbossa.org>
38547
38548        [Qt] [WK2] implement support to upload files in Qt WebKit2
38549        https://bugs.webkit.org/show_bug.cgi?id=67228
38550
38551        This patch implements support to upload files in the Desktop Qt WebKit2 implementation.
38552
38553        Reviewed by Andreas Kling.
38554
38555        * Shared/WebOpenPanelParameters.h:
38556        (WebKit::WebOpenPanelParameters::selectedFileNames):
38557        * UIProcess/API/qt/qdesktopwebview.cpp:
38558        (QDesktopWebViewPrivate::chooseFiles):
38559        (QDesktopWebViewPrivate::onOpenPanelFilesSelected):
38560        (QDesktopWebViewPrivate::onOpenPanelFinished):
38561        * UIProcess/API/qt/qdesktopwebview_p.h:
38562        * UIProcess/qt/ClientImpl.cpp:
38563
38564        qt_wk_runOpenPanel supports single and multiple files selection.
38565
38566        (qt_wk_runOpenPanel):
38567        * UIProcess/qt/ClientImpl.h:
38568        * UIProcess/qt/QtWebPageProxy.cpp:
38569        (QtWebPageProxy::init):
38570        * UIProcess/qt/TouchViewInterface.h:
38571        (WebKit::TouchViewInterface::chooseFiles):
38572        * UIProcess/qt/ViewInterface.h:
38573
385742011-09-12  Alexis Menard  <alexis.menard@openbossa.org>
38575
38576        [Qt]Style error fix.
38577
38578        Reviewed by Andreas Kling.
38579
38580        * UIProcess/qt/QtWebPageProxy.cpp:
38581
385822011-09-11  Mark Rowe  <mrowe@apple.com>
38583
38584        <rdar://problem/9878268> Pressing caps lock after closing a showModalDialog window results in WebProcess exiting
38585
38586        It's incorrect to try and use -[NSApplication run] to run nested runloops as it is not possible to
38587        interrupt a nested invocation of -run without also causing outer invocations to exit after processing
38588        their next event. We can avoid this issue by using -[NSApplication run] for the outermost invocation
38589        of the main runloop, while using CFRunLoopRun for any nested invocations.
38590
38591        Reviewed by Anders Carlsson.
38592
38593        * Platform/RunLoop.h:
38594        * Platform/mac/RunLoopMac.mm:
38595        (RunLoop::RunLoop): Initialize the nesting level to 0.
38596        (RunLoop::run): Bump the nesting level, and only use -[NSApplication run] for the outermost invocation of the
38597        runloop. We also switch from -[NSRunloop run] to CFRunLoopRun as the former will only exit when it has no sources
38598        left to process, while CFRunLoopRun will return immediately after CFRunLoopStop is called on it.
38599        (RunLoop::stop): Only go down the NSApp path for the outermost invocation of the runloop.
38600
386012011-09-11  Balazs Kelemen  <kbalazs@webkit.org>
38602
38603        [Qt][WK2] Qt layer should be hardened against C API versioning in the sense of build failures
38604        https://bugs.webkit.org/show_bug.cgi?id=67094
38605
38606        Reviewed by Andreas Kling.
38607
38608        * UIProcess/qt/QtWebPageProxy.cpp:
38609        (QtWebPageProxy::init):
38610
386112011-09-09  Oliver Hunt  <oliver@apple.com>
38612
38613        Remove support for anonymous storage from jsobjects
38614        https://bugs.webkit.org/show_bug.cgi?id=67881
38615
38616        Reviewed by Sam Weinig.
38617
38618        Remove the use of AnonymousSlotCount.
38619
38620        * WebProcess/Plugins/Netscape/JSNPMethod.h:
38621        (WebKit::JSNPMethod::createStructure):
38622        * WebProcess/Plugins/Netscape/JSNPObject.h:
38623        (WebKit::JSNPObject::createStructure):
38624
386252011-09-09  Chris Marrin  <cmarrin@apple.com>
38626
38627        requestAnimationFrame doesn't throttle on Mac
38628        https://bugs.webkit.org/show_bug.cgi?id=67171
38629
38630        Reviewed by Simon Fraser.
38631
38632        Removed runLoopObserver for requestAnimationFrame. It's now
38633        done by a Timer in ScriptedAnimationController in WebCore.
38634
38635        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
38636        * WebProcess/WebCoreSupport/WebChromeClient.h:
38637        * WebProcess/WebPage/WebPage.cpp:
38638        (WebKit::WebPage::~WebPage):
38639        * WebProcess/WebPage/WebPage.h:
38640        * WebProcess/WebPage/mac/WebPageMac.mm:
38641
386422011-09-09  Fady Samuel  <fsamuel@chromium.org>
38643
38644        Move pageScaleFactor code from Frame.{h|cpp} to Page.{h|cpp}
38645        https://bugs.webkit.org/show_bug.cgi?id=67250
38646
38647        Reviewed by Simon Fraser.
38648
38649        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
38650        (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
38651        * WebProcess/WebPage/WebPage.cpp:
38652        (WebKit::WebPage::scalePage):
38653        (WebKit::WebPage::pageScaleFactor):
38654
386552011-09-09  Mark Hahnenberg  <mhahnenberg@apple.com>
38656
38657        Unzip initialization lists and constructors in JSCell hierarchy (5/7)
38658        https://bugs.webkit.org/show_bug.cgi?id=67420
38659
38660        Reviewed by Geoffrey Garen.
38661
38662        Completed the fifth level of the refactoring to add finishCreation() 
38663        methods to all classes within the JSCell hierarchy with non-trivial 
38664        constructor bodies.
38665
38666        This primarily consists of pushing the calls to finishCreation() down 
38667        into the constructors of the subclasses of the second level of the hierarchy 
38668        as well as pulling the finishCreation() calls out into the class's corresponding
38669        create() method if it has one.  Doing both simultaneously allows us to 
38670        maintain the invariant that the finishCreation() method chain is called exactly 
38671        once during the creation of an object, since calling it any other number of 
38672        times (0, 2, or more) will cause an assertion failure.
38673
38674        * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
38675        (WebKit::JSNPMethod::JSNPMethod):
38676        (WebKit::JSNPMethod::finishCreation):
38677        * WebProcess/Plugins/Netscape/JSNPMethod.h:
38678        (WebKit::JSNPMethod::create):
38679        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
38680        (WebKit::JSNPObject::JSNPObject):
38681        * WebProcess/Plugins/Netscape/JSNPObject.h:
38682        (WebKit::JSNPObject::create):
38683
386842011-09-08  Mark Rowe  <mrowe@apple.com>
38685
38686        <rdar://problem/9742393> Spell checking a text area causes the page to reload
38687
38688        Ensure that m_pendingLearnOrIgnoreWordMessageCount is incremented when we use
38689        executeEditCommand to ignore a word. This will ensure that WebPageProxy::ignoreWord
38690        is expecting to be called, and will not turn around and terminate the web process.
38691
38692        Reviewed by Anders Carlsson.
38693
38694        * UIProcess/WebPageProxy.cpp:
38695        (WebKit::WebPageProxy::executeEditCommand):
38696
386972011-09-08  Sam Weinig  <sam@webkit.org>
38698
38699        Remove accidentally committed typo.
38700
38701        * Platform/CoreIPC/Connection.cpp:
38702        (CoreIPC::Connection::waitForSyncReply):
38703
387042011-09-08  Brian Weinstein  <bweinstein@apple.com>
38705
38706        WebKit2: Assertion when calling didPerform*Redirect on null source/destination URL string
38707        https://bugs.webkit.org/show_bug.cgi?id=67794
38708        <rdar://problem/9892024>
38709        
38710        Don't call didPerformClientRedirect or didPerformServerRedirect when source or destination URL string
38711        is empty or null.
38712        
38713        If we call didPerformClientRedirect or didPerformServerRedirect when the source or destination is null,
38714        it causes an assert in WKURLCF::WKURLCopyCFURL when we try to convert the WKURLRef into a CFURLRef.
38715
38716        Reviewed by Brady Eidson.
38717
38718        * UIProcess/WebContext.cpp:
38719        (WebKit::WebContext::didPerformClientRedirect): Return early if the source or destination URL string is empty or null.
38720        (WebKit::WebContext::didPerformServerRedirect): Ditto.
38721
387222011-09-08  Sam Weinig  <sam@webkit.org>
38723
38724        Remove the Completion object from JSC, I have never liked it
38725        https://bugs.webkit.org/show_bug.cgi?id=67755
38726
38727        Reviewed by Gavin Barraclough.
38728
38729        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
38730        (WebKit::NPRuntimeObjectMap::evaluate):
38731
387322011-09-08  Anders Carlsson  <andersca@apple.com>
38733
38734        Don't release the modal placeholder window if it's closed
38735        https://bugs.webkit.org/show_bug.cgi?id=67801
38736        <rdar://problem/10088059>
38737
38738        Reviewed by Adam Roben.
38739
38740        This is a speculative fix - nothing should really be able to close the modal placeholder window.
38741
38742        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
38743        (WebKit::PluginProcessProxy::beginModal):
38744
387452011-09-07  Alexei Svitkine  <asvitkine@chromium.org>
38746
38747        Add test infrastructure to test rubber-banding overhang drawing along with layout tests for existing Chromium Mac overhang drawing in the non-gpu path.
38748        https://bugs.webkit.org/show_bug.cgi?id=67511
38749
38750        Reviewed by Dimitri Glazkov.
38751
38752        * win/WebKit2.def:
38753        * win/WebKit2CFLite.def:
38754
387552011-09-06  Oliver Hunt  <oliver@apple.com>
38756
38757        Remove JSObjectWithGlobalObject
38758        https://bugs.webkit.org/show_bug.cgi?id=67689
38759
38760        Reviewed by Geoff Garen.
38761
38762        Remove JSObjectWithGlobalObject usage.
38763
38764        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
38765        (WebKit::JSNPObject::JSNPObject):
38766        (WebKit::JSNPObject::finishCreation):
38767        * WebProcess/Plugins/Netscape/JSNPObject.h:
38768
387692011-09-05  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
38770
38771        [Qt][WK2] Make TiledDrawingArea request tiles only in the direction the viewport is panned to.
38772        https://bugs.webkit.org/show_bug.cgi?id=67606
38773
38774        TiledBackingStore previously used different values for horizontal and vertial multiplication
38775        to calculate the cover area. 
38776        This patch replaces this mechanism, used to give a bigger panning range to vertical panning,
38777        with the possibility to use the motion vector of the viewport to request tiles ahead instead.
38778        This allows economies on rendering resources as tiles won't be rendered beside the trajectory
38779        of the viewport.
38780
38781        * UIProcess/API/qt/qtouchwebview.cpp:
38782        (QTouchWebViewPrivate::QTouchWebViewPrivate):
38783        (QTouchWebViewPrivate::_q_viewportMotionVectorChanged):
38784        * UIProcess/API/qt/qtouchwebview.h:
38785        * UIProcess/API/qt/qtouchwebview_p.h:
38786        * UIProcess/TiledDrawingAreaProxy.cpp:
38787        (WebKit::TiledDrawingAreaProxy::setVisibleContentRectMotionVector):
38788        * UIProcess/TiledDrawingAreaProxy.h:
38789        * UIProcess/qt/ViewportInteractionEngine.cpp:
38790        (WebKit::ViewportInteractionEngine::panGestureRequestUpdate):
38791        (WebKit::ViewportInteractionEngine::panGestureEnded):
38792        (WebKit::ViewportInteractionEngine::pinchGestureStarted):
38793        * UIProcess/qt/ViewportInteractionEngine.h:
38794        * UIProcess/qt/qtouchwebpageproxy.cpp:
38795        (QTouchWebPageProxy::setVisibleContentRectMotionVector):
38796        * UIProcess/qt/qtouchwebpageproxy.h:
38797        * WebProcess/WebPage/DrawingArea.h:
38798        (WebKit::DrawingArea::setVisibleContentRectMotionVector):
38799        * WebProcess/WebPage/DrawingArea.messages.in:
38800        * WebProcess/WebPage/TiledDrawingArea.cpp:
38801        (WebKit::TiledDrawingArea::setVisibleContentRectMotionVector):
38802        * WebProcess/WebPage/TiledDrawingArea.h:
38803
388042011-09-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
38805
38806        [Qt] TiledBackingStore: Import the resizeEdgeTiles logic from TiledDrawindAreaProxy.
38807        https://bugs.webkit.org/show_bug.cgi?id=67416
38808
38809        Reviewed by Kenneth Rohde Christiansen.
38810
38811        Original code by Antti Koivisto.
38812        With the current code, when the page is layouted during load, edge tiles will
38813        get removed instead of continuing to show their front buffer while the tile
38814        is being rendered for the new size.
38815
38816        * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
38817        (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
38818        (WebKit::TiledBackingStoreRemoteTile::resize):
38819        * WebProcess/WebPage/TiledBackingStoreRemoteTile.h:
38820
388212011-09-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
38822
38823        TiledDrawingArea: Fix issues where the tiles of the previous scale would be removed too early.
38824        https://bugs.webkit.org/show_bug.cgi?id=67390
38825
38826        Reviewed by Tor Arne Vestbø.
38827
38828        The two issues addresssed are:
38829        - The previous instance of the tile backing store would be destroyed in createTile which
38830          would send removeTile messages for all its tiles before the DidRenderFrame message is sent for the new tiles.
38831        - When quickly changing the scale a second time after a scale change, the previous tile set would
38832          be replaced by the current incomplete tile set which may contain no tiles at all.
38833        * WebProcess/WebPage/TiledDrawingArea.cpp:
38834        (WebKit::TiledDrawingArea::setVisibleContentRectAndScale):
38835        (WebKit::TiledDrawingArea::tiledBackingStorePaintEnd):
38836        (WebKit::TiledDrawingArea::createTile):
38837
388382011-08-30  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
38839
38840        [Qt][WK2] The scene graph is rendered continuously even when the page is idle.
38841        https://bugs.webkit.org/show_bug.cgi?id=67195
38842
38843        Reviewed by Tor Arne Vestbø.
38844
38845        Since tiledBackingStorePaintEnd is called even when no tile is dirty, the TiledDrawingArea
38846        and its proxy are looping over DidRenderFrame and RenderNextFrame messages.
38847        This causes QSGItem::update() to be called and consumes a lot of useless CPU cycles on the UI process.
38848
38849        Introduce a bool to send DidRenderFrame only when dirty content was rendered.
38850
38851        * WebProcess/WebPage/TiledDrawingArea.cpp:
38852        (WebKit::TiledDrawingArea::TiledDrawingArea):
38853        (WebKit::TiledDrawingArea::tiledBackingStorePaint):
38854        (WebKit::TiledDrawingArea::tiledBackingStorePaintEnd):
38855        * WebProcess/WebPage/TiledDrawingArea.h:
38856
388572011-08-30  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
38858
38859        [Qt][WK2] Make sure that the visible content rect and the content scale get to the web process in one single message.
38860        https://bugs.webkit.org/show_bug.cgi?id=67189
38861
38862        Reviewed by Kenneth Rohde Christiansen.
38863
38864        The TiledBackingStore needs to know the screen size of the viewport to know how many tiles to
38865        create, and since the visible content rect is given in page coordinates, the contents scale is
38866        necessary to calculate the viewport size.
38867        Both the rect and the scale then need to arrive to the web process at the same time to prevent
38868        picking the new visible rect with the old scale or vice-versa which can produce a huge viewport size
38869        and create/render an insane amount of tiles.
38870
38871        Things this patch does:
38872        - Merge the visible contents rect and content scale handling together.
38873        - Make QTouchWebView responsible for telling those viewport values to the web process instead of QTouchWebPage.
38874        - Prevent updating the viewport in ViewportInteractionEngine while a pinch is in progress and update the viewport at the end.
38875
38876        * UIProcess/API/qt/qtouchwebpage.cpp:
38877        * UIProcess/API/qt/qtouchwebpage.h:
38878        * UIProcess/API/qt/qtouchwebpage_p.h:
38879        * UIProcess/API/qt/qtouchwebview.cpp:
38880        (QTouchWebViewPrivate::QTouchWebViewPrivate):
38881        (QTouchWebViewPrivate::_q_viewportUpdated):
38882        (QTouchWebView::geometryChanged):
38883        * UIProcess/API/qt/qtouchwebview.h:
38884        * UIProcess/API/qt/qtouchwebview_p.h:
38885        * UIProcess/TiledDrawingAreaProxy.cpp:
38886        (WebKit::TiledDrawingAreaProxy::setVisibleContentRectAndScale):
38887        * UIProcess/TiledDrawingAreaProxy.h:
38888        * UIProcess/qt/ViewportInteractionEngine.cpp:
38889        (WebKit::ViewportInteractionEngine::ViewportInteractionEngine):
38890        (WebKit::ViewportInteractionEngine::~ViewportInteractionEngine): Allows OwnPtr with the forward declaration of ViewportUpdateGuard.
38891        (WebKit::ViewportInteractionEngine::setConstraints):
38892        (WebKit::ViewportInteractionEngine::pinchGestureStarted):
38893        (WebKit::ViewportInteractionEngine::pinchGestureEnded):
38894        (WebKit::ViewportInteractionEngine::contentViewportChanged):
38895        * UIProcess/qt/ViewportInteractionEngine.h:
38896        * UIProcess/qt/qtouchwebpageproxy.cpp:
38897        (QTouchWebPageProxy::setVisibleContentRectAndScale):
38898        * UIProcess/qt/qtouchwebpageproxy.h:
38899        * WebProcess/WebPage/DrawingArea.h:
38900        (WebKit::DrawingArea::setVisibleContentRectAndScale):
38901        * WebProcess/WebPage/DrawingArea.messages.in:
38902        * WebProcess/WebPage/TiledDrawingArea.cpp:
38903        (WebKit::TiledDrawingArea::setVisibleContentRectAndScale):
38904        * WebProcess/WebPage/TiledDrawingArea.h:
38905
389062011-08-29  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
38907
38908        [Qt][WK2] Rename SGAgent to SGUpdateQueue to sharpen it's responsability.
38909        https://bugs.webkit.org/show_bug.cgi?id=67122
38910
38911        Reviewed by Tor Arne Vestbø.
38912
38913        * UIProcess/API/qt/qtouchwebpage.cpp:
38914        (QTouchWebPage::updatePaintNode):
38915        (QTouchWebPagePrivate::QTouchWebPagePrivate):
38916        * UIProcess/API/qt/qtouchwebpage_p.h:
38917        * UIProcess/qt/SGUpdateQueue.cpp: Renamed from Source/WebKit2/UIProcess/qt/SGAgent.cpp.
38918        (WebKit::NodeUpdateCreateTile::NodeUpdateCreateTile):
38919        (WebKit::NodeUpdateRemoveTile::NodeUpdateRemoveTile):
38920        (WebKit::NodeUpdateSetBackBuffer::NodeUpdateSetBackBuffer):
38921        (WebKit::NodeUpdateSwapTileBuffers::NodeUpdateSwapTileBuffers):
38922        (WebKit::SGUpdateQueue::SGUpdateQueue):
38923        (WebKit::SGUpdateQueue::createTileNode):
38924        (WebKit::SGUpdateQueue::removeTileNode):
38925        (WebKit::SGUpdateQueue::setNodeBackBuffer):
38926        (WebKit::SGUpdateQueue::swapTileBuffers):
38927        (WebKit::SGUpdateQueue::applyUpdates):
38928        (WebKit::SGUpdateQueue::getScaleNode):
38929        * UIProcess/qt/SGUpdateQueue.h: Renamed from Source/WebKit2/UIProcess/qt/SGAgent.h.
38930        (WebKit::SGUpdateQueue::isSwapPending):
38931        (WebKit::NodeUpdate::NodeUpdate):
38932        (WebKit::NodeUpdate::~NodeUpdate):
38933        * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
38934        (WebKit::TiledDrawingAreaProxy::updateWebView):
38935        (WebKit::TiledDrawingAreaProxy::createTile):
38936        (WebKit::TiledDrawingAreaProxy::updateTile):
38937        (WebKit::TiledDrawingAreaProxy::didRenderFrame):
38938        (WebKit::TiledDrawingAreaProxy::removeTile):
38939        * UIProcess/qt/TouchViewInterface.cpp:
38940        (WebKit::TouchViewInterface::sceneGraphUpdateQueue):
38941        * UIProcess/qt/TouchViewInterface.h:
38942        * WebKit2.pro:
38943
389442011-09-07  Alexis Menard  <alexis.menard@openbossa.org>
38945
38946        [Qt] Unreviewed suppression of an unnecessary debug output. 
38947
38948        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
38949
389502011-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
38951
38952        Unreviewed, rolling out r94627 and r94632.
38953        http://trac.webkit.org/changeset/94627
38954        http://trac.webkit.org/changeset/94632
38955        https://bugs.webkit.org/show_bug.cgi?id=67698
38956
38957        It broke tests on GTK and Qt (Requested by Ossy on #webkit).
38958
38959        * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
38960        (WebKit::JSNPMethod::JSNPMethod):
38961        (WebKit::JSNPMethod::create):
38962        * WebProcess/Plugins/Netscape/JSNPMethod.h:
38963        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
38964        (WebKit::JSNPObject::JSNPObject):
38965        (WebKit::JSNPObject::create):
38966        * WebProcess/Plugins/Netscape/JSNPObject.h:
38967
389682011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
38969
38970        fast/forms/suggested-value-crash.html crashes on Windows
38971        https://bugs.webkit.org/show_bug.cgi?id=67688
38972
38973        Reviewed by Adam Barth.
38974
38975        Removed sybmols for inputTag and textareaTag. Added the symbol for StringImpl::equal.
38976
38977        * win/WebKit2.def:
38978        * win/WebKit2CFLite.def:
38979
389802011-09-06  Mark Hahnenberg  <mhahnenberg@apple.com>
38981
38982        Unzip initialization lists and constructors in JSCell hierarchy (5/7)
38983        https://bugs.webkit.org/show_bug.cgi?id=67420
38984
38985        Reviewed by Geoffrey Garen.
38986
38987        Completed the fifth level of the refactoring to add finishCreation() 
38988        methods to all classes within the JSCell hierarchy with non-trivial 
38989        constructor bodies.
38990
38991        This primarily consists of pushing the calls to finishCreation() down 
38992        into the constructors of the subclasses of the second level of the hierarchy 
38993        as well as pulling the finishCreation() calls out into the class's corresponding
38994        create() method if it has one.  Doing both simultaneously allows us to 
38995        maintain the invariant that the finishCreation() method chain is called exactly 
38996        once during the creation of an object, since calling it any other number of 
38997        times (0, 2, or more) will cause an assertion failure.
38998
38999        * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
39000        (WebKit::JSNPMethod::JSNPMethod):
39001        (WebKit::JSNPMethod::finishCreation):
39002        * WebProcess/Plugins/Netscape/JSNPMethod.h:
39003        (WebKit::JSNPMethod::create):
39004        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
39005        (WebKit::JSNPObject::JSNPObject):
39006        * WebProcess/Plugins/Netscape/JSNPObject.h:
39007        (WebKit::JSNPObject::create):
39008
390092011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
39010
39011        Rename confirmCompositionWithoutDisturbingSelection to cancelComposition
39012        https://bugs.webkit.org/show_bug.cgi?id=67569
39013
39014        Reviewed by Antonio Gomes.
39015
39016        * UIProcess/API/mac/WKView.mm:
39017        (-[WKView resignFirstResponder]):
39018        (-[WKView _updateTextInputStateIncludingSecureInputState:]):
39019        * UIProcess/WebPageProxy.h:
39020        * UIProcess/mac/WebPageProxyMac.mm:
39021        (WebKit::WebPageProxy::cancelComposition):
39022        * WebProcess/WebPage/WebPage.h:
39023        * WebProcess/WebPage/WebPage.messages.in:
39024        * WebProcess/WebPage/mac/WebPageMac.mm:
39025        (WebKit::WebPage::cancelComposition):
39026
390272011-09-05  Oliver Hunt  <oliver@apple.com>
39028
39029        An object's structure should reference the global object responsible for its creation
39030        https://bugs.webkit.org/show_bug.cgi?id=67624
39031
39032        Reviewed by Gavin Barraclough.
39033
39034        Update for new Structure::create globalObject parameter.
39035
39036        * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
39037        (WebKit::JSNPMethod::create):
39038        * WebProcess/Plugins/Netscape/JSNPMethod.h:
39039        (WebKit::JSNPMethod::createStructure):
39040        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
39041        (WebKit::JSNPObject::create):
39042        * WebProcess/Plugins/Netscape/JSNPObject.h:
39043        (WebKit::JSNPObject::createStructure):
39044
390452011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
39046
39047        REGRESSION(r94274): FormManagerTest.PreviewForm and FillFormNonEmptyField fail on chromium
39048        https://bugs.webkit.org/show_bug.cgi?id=67453
39049
39050        Reviewed by Kent Tamura.
39051
39052        Add symbols for internals.
39053
39054        * win/WebKit2.def:
39055        * win/WebKit2CFLite.def:
39056
390572011-09-06  Wajahat Siddiqui  <mdwajahatali.siddiqui@motorola.com>
39058
39059        [GTK] Use soup_session_add_feature_by_type uniformly in WebKit2.
39060        https://bugs.webkit.org/show_bug.cgi?id=67593
39061
39062        Reviewed by Martin Robinson.
39063
39064        Using soup_session_add_feature_by_type for adding all soup features 
39065        instead of adding using GRefPtr.
39066
39067        * WebProcess/gtk/WebProcessMainGtk.cpp:
39068        (WebKit::WebProcessMainGtk):
39069
390702011-09-05  Balazs Kelemen  <kbalazs@webkit.org>
39071
39072        [Qt][WK2] Add pixel test support
39073        https://bugs.webkit.org/show_bug.cgi?id=66283
39074
39075        Reviewed by Andreas Kling.
39076
39077        * Shared/API/c/qt/WKImageQt.cpp: Added.
39078        (WKImageCreateQImage):  C style (private) API to get the contents of the backing
39079        store as an image.
39080        * Shared/API/c/qt/WKImageQt.h: Added.
39081        * Shared/qt/ShareableBitmapQt.cpp:
39082        (WebKit::ShareableBitmap::createImage): Typo. Remove useless ifdef.
39083        * WebKit2API.pri:
39084
390852011-09-05  Andras Becsi  <andras.becsi@nokia.com>
39086
39087        [Qt][WK2] Fix the build
39088
39089        Rubber-stamped by Csaba Osztrogonác.
39090
39091        * DerivedSources.pro: Add missing PluginProcessConnection.messages.in after r94456.
39092
390932011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
39094
39095        Unreviewed, rolling out r94473.
39096        http://trac.webkit.org/changeset/94473
39097        https://bugs.webkit.org/show_bug.cgi?id=67547
39098
39099        Putting http://trac.webkit.org/changeset/94454 back in as
39100        http://trac.webkit.org/changeset/94472 fixed the problem
39101        (Requested by msaboff on #webkit).
39102
39103        * UIProcess/API/C/WKContext.cpp:
39104        (WKContextGarbageCollectJavaScriptObjects):
39105        * UIProcess/API/C/WKContext.h:
39106        * UIProcess/WebContext.cpp:
39107        (WebKit::WebContext::garbageCollectJavaScriptObjects):
39108        * UIProcess/WebContext.h:
39109        * WebProcess/WebProcess.cpp:
39110        (WebKit::WebProcess::garbageCollectJavaScriptObjects):
39111        * WebProcess/WebProcess.h:
39112        * WebProcess/WebProcess.messages.in:
39113
391142011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
39115
39116        Unreviewed, rolling out r94454.
39117        http://trac.webkit.org/changeset/94454
39118        https://bugs.webkit.org/show_bug.cgi?id=67546
39119
39120        "Broke Windows and SnowLeopard, also no reply on the bug."
39121        (Requested by jchaffraix on #webkit).
39122
39123        * UIProcess/API/C/WKContext.cpp:
39124        * UIProcess/API/C/WKContext.h:
39125        * UIProcess/WebContext.cpp:
39126        * UIProcess/WebContext.h:
39127        * WebProcess/WebProcess.cpp:
39128        * WebProcess/WebProcess.h:
39129        * WebProcess/WebProcess.messages.in:
39130
391312011-09-02  Michael Saboff  <msaboff@apple.com>
39132
39133        Fixed release build by removing #ifndef NDEBUG to
39134        allow definition of gcController().
39135
39136        Rubber-stamp by Sam Weinig.
39137
39138        * WebProcess/WebProcess.cpp:
39139
391402011-09-02  Anders Carlsson  <andersca@apple.com>
39141
39142        NPN_SetException doesn't work with OOP plug-ins
39143        https://bugs.webkit.org/show_bug.cgi?id=67524
39144
39145        Reviewed by Sam Weinig.
39146
39147        * DerivedSources.make:
39148        Add PluginProcessConnection.messages.in.
39149
39150        * GNUmakefile.am:
39151        Add generated files.
39152
39153        * Platform/CoreIPC/MessageID.h:
39154        Add MessageClassPluginProcessConnection.
39155
39156        * PluginProcess/PluginProcess.cpp:
39157        (WebKit::PluginProcess::initialize):
39158        Set the set exception function.
39159
39160        * PluginProcess/WebProcessConnection.cpp:
39161        (WebKit::ConnectionStack::current):
39162        (WebKit::ConnectionStack::CurrentConnectionPusher::CurrentConnectionPusher):
39163        (WebKit::ConnectionStack::CurrentConnectionPusher::~CurrentConnectionPusher):
39164        Add a helper class for managing a stack of CoreIPC connections, along with a RAII
39165        object to push/pop connections onto it.
39166
39167        (WebKit::connectionStack):
39168        Add getter.
39169
39170        (WebKit::WebProcessConnection::setGlobalException):
39171        Get the current connection and send a PluginProcessConnection::SetException message to it.
39172
39173        (WebKit::WebProcessConnection::didReceiveMessage):
39174        (WebKit::WebProcessConnection::didReceiveSyncMessage):
39175        Create connection pushers.
39176
39177        * PluginProcess/WebProcessConnection.h:
39178        Add setGlobalException.
39179
39180        * WebKit2.pro:
39181        * WebKit2.xcodeproj/project.pbxproj:
39182        Add new files.
39183
39184        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
39185        (WebKit::NetscapePlugin::setSetExceptionFunction):
39186        New function for setting the 'setException' function.
39187
39188        (WebKit::NetscapePlugin::setException):
39189        Call the 'setException' function.
39190
39191        * WebProcess/Plugins/PluginProcessConnection.cpp:
39192        (WebKit::PluginProcessConnection::didReceiveSyncMessage):
39193        Call the message receiver function.
39194
39195        (WebKit::PluginProcessConnection::setException):
39196        Call the NPRuntimeObjectMap.
39197        
39198        * WebProcess/Plugins/PluginProcessConnection.messages.in:
39199        Add new messages file.
39200
39201        * WebProcess/WebPage/WebPage.cpp:
39202        (WebKit::WebPage::createPlugin):
39203        When not using the plug-in process, make sure to call NetscapePlugin::setSetExceptionFunction.
39204
392052011-09-02  Ada Chan  <adachan@apple.com>
39206
39207        Add WKContextGarbageCollectJavaScriptObjects() which does a garbage collection in the WebProcess
39208        https://bugs.webkit.org/show_bug.cgi?id=67526
39209
39210        Reviewed by Darin Adler.
39211
39212        * UIProcess/API/C/WKContext.cpp:
39213        (WKContextGarbageCollectJavaScriptObjects):
39214        * UIProcess/API/C/WKContext.h:
39215        * UIProcess/WebContext.cpp:
39216        (WebKit::WebContext::garbageCollectJavaScriptObjects): Send a message to WebProcess to garbage collect JS objects.
39217        * UIProcess/WebContext.h:
39218        * WebProcess/WebProcess.cpp:
39219        (WebKit::WebProcess::garbageCollectJavaScriptObjects): Call GCController::garbageCollectNow().
39220        * WebProcess/WebProcess.h:
39221        * WebProcess/WebProcess.messages.in: Add GarbageCollectJavaScriptObjects message.
39222
392232011-09-02  Anders Carlsson  <andersca@apple.com>
39224
39225        Remove plug-in paths from web process sandbox
39226        https://bugs.webkit.org/show_bug.cgi?id=67518
39227
39228        Reviewed by Adam Roben.
39229
39230        Plug-ins are never accessed from the web process, so remove plug-in paths from the sandbox profile.
39231
39232        * WebProcess/com.apple.WebProcess.sb:
39233
392342011-09-02  Anders Carlsson  <andersca@apple.com>
39235
39236        Assertion/crash when running netscape-plugin-property-access-exception.html test
39237        https://bugs.webkit.org/show_bug.cgi?id=67517
39238
39239        Reviewed by Adam Roben.
39240
39241        Make sure to initialize the NPVariant in case the plug-in returns true from NP_GetProperty,
39242        but doesn't set the result NPVariant to anything.
39243
39244        * Shared/Plugins/NPObjectMessageReceiver.cpp:
39245        (WebKit::NPObjectMessageReceiver::getProperty):
39246
392472011-09-02  Anders Carlsson  <andersca@apple.com>
39248
39249        The private browsing state isn't saved when it changes
39250        https://bugs.webkit.org/show_bug.cgi?id=67508
39251
39252        Reviewed by Sam Weinig.
39253
39254        Store the new private browsing state so subsequent queries for it
39255        will return the right value.
39256
39257        * PluginProcess/PluginControllerProxy.cpp:
39258        (WebKit::PluginControllerProxy::privateBrowsingStateChanged):
39259
392602011-09-02  Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
39261
39262        [WK2] Anchor elements doesn't get focus on TAB key press.
39263        https://bugs.webkit.org/show_bug.cgi?id=66949
39264
39265        Reviewed by Adam Roben.
39266
39267        Setting the default property value of TabsToLinks to true
39268        only for GTK platform since Win & Mac platforms doesn't want 
39269        it to be set to true by default.
39270
39271        * Shared/WebPreferencesStore.h:
39272        Set the default value of key TabsToLinks to true for GTK platform only.
39273
392742011-09-02  Balazs Kelemen  <kbalazs@webkit.org>
39275
39276        [Qt][WK2] Cannot gathering glyph page statistics
39277        https://bugs.webkit.org/show_bug.cgi?id=67475
39278
39279        Rubber stamped by Csaba Osztrogonác.
39280
39281        Fix Qt WK2 build without having QRAWFONT.
39282
39283        * WebProcess/WebProcess.cpp:
39284        (WebKit::WebProcess::getWebCoreStatistics):
39285
392862011-09-02  Mark Rowe  <mrowe@apple.com>
39287
39288        <http://webkit.org/b/67467> WebProcessProxy::secItemCopyMatching / WebProcessProxy::secItemAdd
39289        leak the results of the APIs they wrap.
39290
39291        Reviewed by Dan Bernstein.
39292
39293        * UIProcess/mac/WebProcessProxyMac.mm:
39294        (WebKit::WebProcessProxy::secItemCopyMatching): Adopt the result of SecItemCopyMatching in to a
39295        RetainPtr to ensure it gets released at the appropriate time.
39296        (WebKit::WebProcessProxy::secItemAdd): Ditto for SecItemAdd.
39297
392982011-09-01  Ada Chan  <adachan@apple.com>
39299
39300        Cut down the ifdefs in WebKit::getWebCoreMemoryCacheStatistics() now that 
39301        MemoryCache::Statistics always has the xslStyleSheets field.
39302
39303        Reviewed by Darin Adler.
39304
39305        * WebProcess/WebProcess.cpp:
39306        (WebKit::getWebCoreMemoryCacheStatistics):
39307
393082011-09-01  Mark Hahnenberg  <mhahnenberg@apple.com>
39309
39310        Unzip initialization lists and constructors in JSCell hierarchy (4/7)
39311        https://bugs.webkit.org/show_bug.cgi?id=67174
39312
39313        Reviewed by Oliver Hunt.
39314
39315        Completed the fourth level of the refactoring to add finishCreation() 
39316        methods to all classes within the JSCell hierarchy with non-trivial 
39317        constructor bodies.
39318
39319        This primarily consists of pushing the calls to finishCreation() down 
39320        into the constructors of the subclasses of the second level of the hierarchy 
39321        as well as pulling the finishCreation() calls out into the class's corresponding
39322        create() method if it has one.  Doing both simultaneously allows us to 
39323        maintain the invariant that the finishCreation() method chain is called exactly 
39324        once during the creation of an object, since calling it any other number of 
39325        times (0, 2, or more) will cause an assertion failure.
39326
39327        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
39328        (WebKit::JSNPObject::JSNPObject):
39329        (WebKit::JSNPObject::finishCreation):
39330        * WebProcess/Plugins/Netscape/JSNPObject.h:
39331
393322011-09-01  Ada Chan  <adachan@apple.com>
39333
39334        Gather memory cache statistics in WebProcess::getWebCoreStatistics().
39335        https://bugs.webkit.org/show_bug.cgi?id=67160
39336
39337        Reviewed by Darin Adler.
39338
39339        Encode and decode webCoreCacheStatistics data member in StatisticsData.
39340        * Shared/StatisticsData.cpp:
39341        (WebKit::StatisticsData::encode):
39342        (WebKit::StatisticsData::decode):
39343        * Shared/StatisticsData.h:
39344
39345        Convert the cache statistics data into an ImmutableArray and return it in WebContext::didGetWebCoreStatistics().
39346        * UIProcess/WebContext.cpp:
39347        (WebKit::WebContext::didGetWebCoreStatistics):
39348
39349        Store memory cache statistics into the StatisticsData object.
39350        * WebProcess/WebProcess.cpp:
39351        (WebKit::getWebCoreMemoryCacheStatistics):
39352        (WebKit::WebProcess::getWebCoreStatistics):
39353
393542011-09-01  Tim Horton  <timothy_horton@apple.com>
39355
39356        REGRESSION: Rendering artifacts on a rotated, pattern filled shape
39357        https://bugs.webkit.org/show_bug.cgi?id=53055
39358        <rdar://problem/8910917>
39359
39360        Reviewed by Simon Fraser.
39361
39362        Introduce wkCGPatternCreateWithImageAndTransform.
39363
39364        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
39365        (InitWebCoreSystemInterface):
39366
393672011-09-01  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
39368
39369        [Qt] TouchWebView crashes with segmentation fault
39370        https://bugs.webkit.org/show_bug.cgi?id=67308
39371
39372        Reviewed by Benjamin Poulain.
39373
39374        If you instantiate TouchWebView element with height and width in a qml file and
39375        load a url it crashes.
39376        The functions setWidth() and setHeight() are called sequentially therefore it can happen
39377        that computeViewportAttributes was called with a size like (width, 0) breaking the
39378        assumption of the function that the size is valid. The patch makes sure we compute the
39379        viewport when both height and width are valid.
39380
39381        * UIProcess/API/qt/qtouchwebview.cpp:
39382        (QTouchWebViewPrivate::updateViewportConstraints):
39383        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml: Added.
39384        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml: Added.
39385        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml: Added.
39386        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
39387
393882011-09-01  Ada Chan  <adachan@apple.com>
39389
39390        Gather JavaScript, FastMalloc, icon, font, and glyph page statistics in WebProcess::getWebCoreStatistics().
39391        https://bugs.webkit.org/show_bug.cgi?id=67160
39392
39393        Reviewed by Darin Adler.
39394
39395        Encode and decode the data members in StatisticsData.
39396        * Shared/StatisticsData.cpp:
39397        (WebKit::StatisticsData::encode):
39398        (WebKit::StatisticsData::decode):
39399        (WebKit::StatisticsData::StatisticsData):
39400
39401        Add three data members to StatisticsData:
39402        - statisticsNumbers: Map containing statistics values that are numbers, mapped by their names, such as 
39403        JavaScriptObjectsCount, CachedFontDataCount, etc.
39404        - javaScriptProtectedObjectTypeCounts
39405        - javaScriptObjectTypeCounts
39406        * Shared/StatisticsData.h:
39407
39408        Create a WK::Dictionary containing statistics values mapped by their names and return that dictionary
39409        in WebContext::didGetWebCoreStatistics().
39410        * UIProcess/WebContext.cpp:
39411        (WebKit::createDictionaryFromHashMap):
39412        (WebKit::WebContext::didGetWebCoreStatistics):
39413
39414        Package JavaScript, FastMalloc, icon, font, and glyph page statistics into a StatisticsData object
39415        and send it to the UIProcess.
39416        * WebProcess/WebProcess.cpp:
39417        (WebKit::fromCountedSetToHashMap):
39418        (WebKit::WebProcess::getWebCoreStatistics):
39419
394202011-09-01  Xan Lopez  <xlopez@igalia.com>
39421
39422        [GTK] Add XRender lib dependencies explicitly
39423
39424        Reviewed by Philippe Normand.
39425
39426        This is needed when using the GNU/Gold linker, since we use
39427        XRender directly.
39428
39429        * GNUmakefile.am:
39430
394312011-08-31  Anders Carlsson  <andersca@apple.com>
39432
39433        Jagged text shown in find-in-page highlight
39434        https://bugs.webkit.org/show_bug.cgi?id=67347
39435        <rdar://problem/9870444>
39436
39437        Reviewed by Dan Bernstein.
39438
39439        When painting each text line in the find indicator, make sure to clip it against
39440        the text rect and not paint the entire rect over and over.
39441
39442        * UIProcess/FindIndicator.cpp:
39443        (WebKit::FindIndicator::draw):
39444
394452011-08-31  Beth Dakin  <bdakin@apple.com>
39446
39447        https://bugs.webkit.org/show_bug.cgi?id=67322
39448        Re-name overrideBackingScaleFactor
39449
39450        Reviewed by John Sullivan.
39451
39452        API is now WKPageSetCustomBackingScaleFactor() and WKPageGetBackingScaleFactor() 
39453        which returns the custom scale factor if one was set, and the intrinsic scale 
39454        factor otherwise. 
39455        * UIProcess/API/C/WKPage.cpp:
39456        (WKPageGetBackingScaleFactor):
39457        (WKPageSetCustomBackingScaleFactor):
39458        * UIProcess/API/C/WKPage.h:
39459
39460        Re-named _deviceScaleFactor to _intrinsicDeviceScaleFactor since it only ever 
39461        refers to the intrinsic value.
39462        * UIProcess/API/mac/WKView.mm:
39463        (-[WKView viewDidMoveToWindow]):
39464        (-[WKView _windowDidChangeResolution:]):
39465        (-[WKView _intrinsicDeviceScaleFactor]):
39466
39467        WebPageProxy stores both the customDeviceScaleFactor and the 
39468        intrinsicDeviceScaleFactor. deviceScaleFactor() returns the appropriate value that 
39469        should be the one used. 
39470        * UIProcess/WebPageProxy.cpp:
39471        (WebKit::WebPageProxy::WebPageProxy):
39472        (WebKit::WebPageProxy::setIntrinsicDeviceScaleFactor):
39473        (WebKit::WebPageProxy::deviceScaleFactor):
39474        (WebKit::WebPageProxy::setCustomDeviceScaleFactor):
39475        (WebKit::WebPageProxy::creationParameters):
39476        * UIProcess/WebPageProxy.h:
39477
394782011-08-31  Anders Carlsson  <andersca@apple.com>
39479
39480        REGRESSION(r93902): Can't open external links on gmail
39481        https://bugs.webkit.org/show_bug.cgi?id=67234
39482        <rdar://problem/10053636>
39483
39484        Reviewed by Alexey Proskuryakov.
39485
39486        * Shared/cf/ArgumentCodersCF.cpp:
39487        (CoreIPC::decode):
39488        If we encounter an empty URL string, create an empty url by using NSURL, just
39489        like we do in WebCore when converting an empty KURL to an NSURL.
39490
39491        * WebKit2.xcodeproj/project.pbxproj:
39492        Compile ArgumentCodersCF.cpp as Objective-C++ for now.
39493
394942011-08-30  Beth Dakin  <bdakin@apple.com>
39495
39496        https://bugs.webkit.org/show_bug.cgi?id=67150
39497        Would like API to use a custom device scale factor for a particular WebView/WKView
39498        -and corresponding-
39499        <rdar://problem/10041016>
39500
39501        Reviewed by Darin Adler.
39502
39503        New API is setOverrideBackingScaleFactor() on WKPage
39504        * UIProcess/API/C/WKPage.cpp:
39505        (WKPageGetOverrideBackingScaleFactor):
39506        (WKPageSetOverrideBackingScaleFactor):
39507        * UIProcess/API/C/WKPage.h:
39508        * UIProcess/WebPageProxy.cpp:
39509        (WebKit::WebPageProxy::WebPageProxy):
39510        (WebKit::WebPageProxy::deviceScaleFactor):
39511        (WebKit::WebPageProxy::setOverrideBackingScaleFactor):
39512        * UIProcess/WebPageProxy.h:
39513        (WebKit::WebPageProxy::overrideBackingScaleFactor):
39514
395152011-08-30  Aaron Colwell  <acolwell@chromium.org>
39516
39517        Add MediaSource API to HTMLMediaElement
39518        https://bugs.webkit.org/show_bug.cgi?id=64731
39519
39520        Reviewed by Eric Carlson.
39521
39522        * Configurations/FeatureDefines.xcconfig:
39523
395242011-08-30  Ada Chan  <adachan@apple.com>
39525
39526        Laying some groundwork to fetch performance statistics from WebProcess.
39527        https://bugs.webkit.org/show_bug.cgi?id=67160
39528
39529        Reviewed by Darin Adler.
39530
39531        Add WKContextGetStatistics() which sends a message to WebProcess to fetch the performance statistics.
39532        * UIProcess/API/C/WKContext.cpp:
39533        (WKContextGetStatistics):
39534        * UIProcess/API/C/WKContext.h:
39535        * UIProcess/WebContext.cpp:
39536        (WebKit::WebContext::~WebContext):
39537        (WebKit::WebContext::getWebCoreStatistics):
39538        (WebKit::WebContext::didGetWebCoreStatistics):
39539        * UIProcess/WebContext.h:
39540        * UIProcess/WebContext.messages.in: Add the DidGetWebCoreStatistics message that WebProcess can send when it has
39541        the performance statistics ready.
39542
39543        Add WebProcess::getWebCoreStatistics().  Currently it just sends back an empty StatisticsData object.
39544        It will gather the performance statistics to store in the StatisticsData object in a future patch.
39545        * WebProcess/WebProcess.cpp:
39546        (WebKit::WebProcess::getWebCoreStatistics):
39547        * WebProcess/WebProcess.h:
39548        * WebProcess/WebProcess.messages.in:
39549
39550        Add the skeleton for StatisticsData.
39551        * Scripts/webkit2/messages.py:
39552        * Shared/StatisticsData.cpp: Added.
39553        (WebKit::StatisticsData::encode):
39554        (WebKit::StatisticsData::decode):
39555        (WebKit::StatisticsData::StatisticsData):
39556        * Shared/StatisticsData.h: Added.
39557
39558        Add StatisticsData.h/cpp to project.
39559        * CMakeLists.txt:
39560        * GNUmakefile.am:
39561        * WebKit2.pro:
39562        * WebKit2.xcodeproj/project.pbxproj:
39563        * win/WebKit2.vcproj:
39564
395652011-08-29  Alexey Proskuryakov  <ap@apple.com>
39566
39567        DumpRenderTree should begin each test with an empty cookie store
39568        https://bugs.webkit.org/show_bug.cgi?id=63545
39569        <rdar://problem/5666907>
39570
39571        Reviewed by Darin Adler.
39572
39573        * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
39574        (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
39575        (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
39576        Updated to use currentCFHTTPCookieStorage() instead of privateBrowsingCookieStorage().
39577
39578        * WebProcess/Cookies/mac/WebCookieManagerMac.mm:
39579        (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
39580        There is no no need to access cookie storage through session manually - we already have code
39581        for that in WebCore.
39582
39583        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
39584        (WKBundleSwitchNetworkLoaderToNewTestingSession):
39585        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
39586        * WebProcess/InjectedBundle/InjectedBundle.cpp:
39587        (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession):
39588        * WebProcess/InjectedBundle/InjectedBundle.h:
39589        Exposed bundle SPI to use a private default session. It's separate from private browsing,
39590        because some tests enable the latter, and we don't want to mix them up.
39591
39592        * WebProcess/WebPage/mac/WebPageMac.mm:
39593        (WebKit::WebPage::platformHasLocalDataForURL):
39594        (WebKit::cachedResponseForURL):
39595        Updated to use currentStorageSession() instead of privateBrowsingStorageSession().
39596
39597        * WebProcess/win/WebProcessWin.cpp: (WebKit::WebProcess::platformInitializeWebProcess):
39598        ResourceHandle::setDefaultStorageSession() no longer steals a reference, so retain it properly.
39599
396002011-08-30  Alexis Menard  <alexis.menard@openbossa.org>
39601
39602        [Qt][WK2] Make mouse over work again for QDesktopWebView.
39603        https://bugs.webkit.org/show_bug.cgi?id=67200
39604
39605        Reviewed by Noam Rosenthal.
39606
39607        The API has changed after QGraphicsView, SceneGraph sends
39608        QHoverEvents now.
39609
39610        * UIProcess/qt/qdesktopwebpageproxy.cpp:
39611        (QDesktopWebPageProxy::handleEvent):
39612        (QDesktopWebPageProxy::handleHoverMoveEvent):
39613        * UIProcess/qt/qdesktopwebpageproxy.h:
39614
396152011-08-30  Kaustubh Atrawalkar  <kaustubh@motorola.com>
39616
39617        The unused ScrollView* argument can and should be removed from
39618        scrollRectIntoView.
39619        https://bugs.webkit.org/show_bug.cgi?id=67117
39620
39621        Reviewed by Darin Adler.
39622
39623        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
39624        (WebKit::WebChromeClient::scrollRectIntoView):
39625        * WebProcess/WebCoreSupport/WebChromeClient.h:
39626
396272011-08-29  Ryosuke Niwa  <rniwa@webkit.org>
39628
39629        Another Windows build fix after r94047.
39630
39631        * win/WebKit2.def:
39632        * win/WebKit2CFLite.def:
39633
396342011-08-29  Ryosuke Niwa  <rniwa@webkit.org>
39635
39636        Export more symbols for r94038.
39637
39638        * win/WebKit2.def:
39639        * win/WebKit2CFLite.def:
39640
396412011-08-29  Ryosuke Niwa  <rniwa@webkit.org>
39642
39643        Windows build fix for r94038.
39644
39645        * win/WebKit2.def:
39646        * win/WebKit2CFLite.def:
39647
396482011-08-29  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
39649
39650
39651        [Qt] QTouchWebView url property test missing
39652        https://bugs.webkit.org/show_bug.cgi?id=67159
39653
39654        Reviewed by Noam Rosenthal.
39655
39656        Added qml test case to check url property of QTouchWebView. Since url is a readonly property, we make sure that it's set after load() is called.
39657
39658        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml:
39659
396602011-08-29  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
39661
39662        [Qt] QDesktopWebView url property test missing
39663        https://bugs.webkit.org/show_bug.cgi?id=67155
39664
39665        Reviewed by Noam Rosenthal.
39666
39667        Added qml test case to check url property. Since url is a readonly property, we make sure that it's set after load() is called.
39668
39669        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml:
39670
396712011-08-29  Sheriff Bot  <webkit.review.bot@gmail.com>
39672
39673        Unreviewed, rolling out r93987, r93992, r93995, r93998, and
39674        r93999.
39675        http://trac.webkit.org/changeset/93987
39676        http://trac.webkit.org/changeset/93992
39677        http://trac.webkit.org/changeset/93995
39678        http://trac.webkit.org/changeset/93998
39679        http://trac.webkit.org/changeset/93999
39680        https://bugs.webkit.org/show_bug.cgi?id=67147
39681
39682        Many failing tests (Requested by ap on #webkit).
39683
39684        * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
39685        (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
39686        (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
39687        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
39688        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
39689        * WebProcess/InjectedBundle/InjectedBundle.cpp:
39690        * WebProcess/InjectedBundle/InjectedBundle.h:
39691        * WebProcess/win/WebProcessWin.cpp:
39692        (WebKit::WebProcess::platformInitializeWebProcess):
39693
396942011-08-26  Martin Robinson  <mrobinson@igalia.com>
39695
39696        Reviewed by Xan Lopez.
39697
39698        [GTK] Build WebKit2 unconditionally
39699        https://bugs.webkit.org/show_bug.cgi?id=62749
39700
39701        Build WebKit2 by default. This will make the bots build it and catch
39702        build errors when they occur.
39703
39704        * GNUmakefile.am: Enable WebKit2 by default, but remove references to the WebKit2
39705        PC file, which should not be shipped until WebKit2 is actually shipped officially.
39706
397072011-08-29  Alexey Proskuryakov  <ap@apple.com>
39708
39709        Windows build fix.
39710
39711        * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
39712        (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
39713        (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
39714        Updated for new function name and signature: currentCFHTTPCookieStorage().
39715
397162011-08-26  Alexey Proskuryakov  <ap@apple.com>
39717
39718        DumpRenderTree should begin each test with an empty cookie store
39719        https://bugs.webkit.org/show_bug.cgi?id=63545
39720        <rdar://problem/5666907>
39721
39722        Reviewed by Darin Adler.
39723
39724        * WebProcess/win/WebProcessWin.cpp: (WebKit::WebProcess::platformInitializeWebProcess):
39725        ResourceHandle::setDefaultStorageSession() no longer steals a reference, so retain it properly.
39726
39727        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
39728        (WKBundleUsePrivateSessionForNetworkLoading):
39729        * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
39730        * WebProcess/InjectedBundle/InjectedBundle.cpp:
39731        (WebKit::InjectedBundle::usePrivateSessionForNetworkLoading):
39732        * WebProcess/InjectedBundle/InjectedBundle.h:
39733        Exposed bundle SPI to use a private default session. It's separate from private browsing,
39734        because some tests enable the latter, and we don't want to mix them up.
39735
397362011-08-29  Chris Marrin  <cmarrin@apple.com>
39737
39738        Fixed a build problem caused by http://trac.webkit.org/changeset/93980
39739
39740        Unreviewed.
39741
39742        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
39743
397442011-08-23  Chris Marrin  <cmarrin@apple.com>
39745
39746        [mac] requestAnimationFrame support for mac port
39747        https://bugs.webkit.org/show_bug.cgi?id=59146
39748
39749        Reviewed by Simon Fraser.
39750
39751        Implement requestAnimationFrame for WebKit2. Add a
39752        CFRunLoopObserver to WebPage, which runs just before
39753        the syncCompositingState RLO and calls into the 
39754        ScriptedAnimationController if scheduleAnimation() has
39755        been called.
39756
39757        * Configurations/FeatureDefines.xcconfig:
39758        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
39759        (WebKit::WebChromeClient::scheduleAnimation):
39760        * WebProcess/WebCoreSupport/WebChromeClient.h:
39761        * WebProcess/WebPage/WebPage.cpp:
39762        (WebKit::WebPage::WebPage):
39763        (WebKit::WebPage::~WebPage):
39764        * WebProcess/WebPage/WebPage.h:
39765        * WebProcess/WebPage/mac/WebPageMac.mm:
39766        (WebKit::WebPage::requestAnimationFrameRunLoopObserverCallback):
39767        (WebKit::WebPage::scheduleAnimation):
39768        (WebKit::WebPage::unscheduleAnimation):
39769        * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.cpp:
39770        * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
39771
397722011-08-29  Pierre Rossi  <pierre.rossi@gmail.com>
39773
39774        [Qt] NPAPI support doesn't honor the ENABLE_NETSCAPE_PLUGIN_API define in WebKit2
39775        https://bugs.webkit.org/show_bug.cgi?id=67123
39776
39777        We could simply use the defines already in place for this.
39778
39779        Reviewed by Andreas Kling.
39780
39781        * WebKit2.pro:
39782
397832011-08-29  Vamshikrishna Yellenki  <vamshi@motorola.com>
39784
39785        [GTK][WK2] Compilation error in WebKit2 GTK - Revision 93953
39786        https://bugs.webkit.org/show_bug.cgi?id=67111
39787
39788        Reviewed by Martin Robinson.
39789
39790        WebKit2 GTK build error.
39791
39792        * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
39793        Include <WebCore/ResourceError.h> explicitly to remove WebCore::ResourceError
39794        inclusion error.
39795
397962011-08-28  Balazs Kelemen  <kbalazs@webkit.org>
39797
39798        [Qt][WK2] Unreviewed build fix.
39799
39800        * UIProcess/qt/QtWebPageProxy.cpp:
39801        (QtWebPageProxy::init): Initialize the WKPageUIClient with memset
39802        to avoid missing initializer warning. The missing initializer is the
39803        result of using a version 0 WKPageUIClient while it has newer version (1).
39804        We have nothing to do with the callbacks in the new version so I voted
39805        for memset.
39806        * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp: Include ResourceError.h.
39807
398082011-08-26  Sam Weinig  <sam@webkit.org>
39809
39810        Stop using custom NSErrors for WebKit2 WebErrors
39811        https://bugs.webkit.org/show_bug.cgi?id=67075
39812
39813        Reviewed by Anders Carlsson.
39814
39815        * WebProcess/WebCoreSupport/WebErrors.h:
39816        * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
39817        (WebKit::createNSError):
39818        (WebKit::cancelledError):
39819        (WebKit::fileDoesNotExistError):
39820        (WebKit::blockedError):
39821        (WebKit::cannotShowURLError):
39822        (WebKit::interruptedForPolicyChangeError):
39823        (WebKit::cannotShowMIMETypeError):
39824        (WebKit::pluginWillHandleLoadError):
39825        There is no reason to use custom registered NSErrors anymore, so don't.
39826
398272011-08-26  Anders Carlsson  <andersca@apple.com>
39828
39829        Fix build.
39830
39831        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
39832
398332011-08-26  Sam Weinig  <sam@webkit.org>
39834
39835        Fold _webkit_initWithDomain into _webkit_errorWithDomain in WebKit2
39836        https://bugs.webkit.org/show_bug.cgi?id=67063
39837
39838        Reviewed by Anders Carlsson.
39839
39840        * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
39841        (+[NSError _webkit_errorWithDomain:code:URL:]):
39842
398432011-08-26  Anders Carlsson  <andersca@apple.com>
39844
39845        Implement NPN_ScheduleTimer/NPN_UnscheduleTimer
39846        https://bugs.webkit.org/show_bug.cgi?id=67062
39847
39848        Reviewed by Sam Weinig.
39849
39850        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
39851        (WebKit::NPN_ScheduleTimer):
39852        Call NetscapePlugin::scheduleTimer.
39853
39854        (WebKit::NPN_UnscheduleTimer):
39855        Call NetscapePlugin::unscheduleTimer.
39856
39857        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
39858        (WebKit::NetscapePlugin::NetscapePlugin):
39859        Initialize m_nextTimerID.
39860
39861        (WebKit::NetscapePlugin::Timer::start):
39862        Start the timer.
39863
39864        (WebKit::NetscapePlugin::Timer::stop):
39865        Stop the timer.
39866
39867        (WebKit::NetscapePlugin::Timer::timerFired):
39868        Call the right callback and unschedule the timer object if it's not a repeating timer.
39869
39870        (WebKit::NetscapePlugin::scheduleTimer):
39871        Create a new timer and start it.
39872
39873        (WebKit::NetscapePlugin::unscheduleTimer):
39874        Get the timer from the map and destroy it.
39875        
39876        (WebKit::NetscapePlugin::destroy):
39877        Destroy all timers.
39878
39879        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
39880        Add Timer class.
39881
398822011-08-26  Sam Weinig  <sam@webkit.org>
39883
39884        Fix typo in Connection.cpp
39885        https://bugs.webkit.org/show_bug.cgi?id=67060
39886
39887        Reviewed by Anders Carlsson.
39888
39889        * Platform/CoreIPC/Connection.cpp:
39890        (CoreIPC::Connection::waitForSyncReply):
39891        We want timedOut, not timeout.  There is not a current way to cause this
39892        to be an issue. This issue was caught by the Clang Static Analyzer.
39893
398942011-08-26  Alice Liu  <alice.liu@apple.com>
39895
39896        https://bugs.webkit.org/show_bug.cgi?id=66823
39897        Add the request info to the WebPageProxy::CreateNewPage message
39898
39899        Reviewed by Anders Carlsson.
39900
39901        Update function declarations with additional ResourceRequest parameter:
39902        * UIProcess/API/C/WKPage.h:
39903        * UIProcess/WebPageProxy.cpp:
39904        (WebKit::WebPageProxy::createNewPage):
39905        * UIProcess/WebPageProxy.h:
39906        * UIProcess/WebPageProxy.messages.in:
39907        * UIProcess/WebUIClient.cpp:
39908        (WebKit::WebUIClient::createNewPage):
39909        * UIProcess/WebUIClient.h:
39910
39911        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
39912        (WebKit::WebChromeClient::createWindow): 
39913        Pass the ResourceRequest within the FrameLoadRequest.
39914
399152011-08-26  Alexis Menard  <alexis.menard@openbossa.org>
39916
39917        [Qt][WK2]REGRESSION(r93784): It made many tests crash
39918        https://bugs.webkit.org/show_bug.cgi?id=66958
39919
39920        Reviewed by Anders Carlsson.
39921
39922        Don't try to make sure the WebContext is deleted, for now the leak
39923        is intended and when multiple processes per context will be supported
39924        this leak should be fixed. This was the cause of DRT crashing on the bot,
39925        the context was deleted after the first test, letting other tests with nothing
39926        but a bad context.
39927
39928        * UIProcess/qt/QtWebPageProxy.cpp:
39929        (QtWebPageProxy::~QtWebPageProxy):
39930
399312011-08-26  Anders Carlsson  <andersca@apple.com>
39932
39933        Fix handling of keyup events in the new Cocoa text input model
39934        https://bugs.webkit.org/show_bug.cgi?id=67045
39935
39936        Reviewed by Sam Weinig.
39937
39938        Use a counter instead of a boolean for deciding when to ignore keyup events, because
39939        if multiple keys are pressed simultaneously then we need to ignore more than one keyup event in a row.
39940
39941        Also if a keyboard event is an autorepeating event we won't get a keyup event so don't increment the counter
39942        in that case.
39943
39944        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
39945        (WebKit::NetscapePlugin::NetscapePlugin):
39946        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
39947        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
39948        (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
39949
399502011-08-26  Jessie Berlin  <jberlin@apple.com>
39951
39952        Gut WKPageCreateSnapshotOfVisibleContent so that it can be removed later.
39953        https://bugs.webkit.org/show_bug.cgi?id=66979.
39954
39955        Removing the function altogether would break the nightlies.
39956        This patch removes the code behind it so that it is clear that
39957        WKPageCreateSnapshotOfVisibleContent should not be used, and so that the code isn't just
39958        left rotting in the tree.
39959
39960        Reviewed by Brian Weinstein.
39961
39962        * UIProcess/API/C/WKPage.cpp:
39963        (WKPageCreateSnapshotOfVisibleContent):
39964        Return 0.
39965        * UIProcess/API/C/WKPagePrivate.h:
39966        Update the comment and add a link to the bug.
39967
39968        * UIProcess/WebPageProxy.cpp:
39969        * UIProcess/WebPageProxy.h:
39970
39971        * WebProcess/WebPage/WebPage.cpp:
39972        * WebProcess/WebPage/WebPage.h:
39973        * WebProcess/WebPage/WebPage.messages.in:
39974
399752011-08-25  Anders Carlsson  <andersca@apple.com>
39976
39977        kNPEventStartIME doesn't work correctly for NPAPI
39978        https://bugs.webkit.org/show_bug.cgi?id=65264
39979        <rdar://problem/9996476>
39980
39981        Reviewed by Sam Weinig.
39982
39983        In order to remain compatible with older plug-ins, the updated input model won't
39984        be turned on unless a plug-in explicitly asks whether we support it. The plug-in must do
39985        this before any keyboard events have been processed.
39986
39987        * PluginProcess/mac/PluginControllerProxyMac.mm:
39988        (WebKit::PluginControllerProxy::setComplexTextInputState):
39989        Add the CoreIPC::DispatchMessageEvenWhenWaitingForSyncReply flag to this message since we want
39990        the web process to handle it while it's waiting for a reply to the PluginControllerProxy::HandleMouseEvent
39991        synchronous message.
39992
39993        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
39994        (WebKit::NPN_GetValue):
39995        Implement the logic for when to turn off the legacy Cocoa text input model support.
39996
39997        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
39998        (WebKit::NetscapePlugin::NetscapePlugin):
39999        Initialize m_ignoreNextKeyUpEvent to false.
40000
40001        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
40002        Add m_ignoreNextKeyUpEvent member variable.
40003
40004        (WebKit::NetscapePlugin::hasHandledAKeyDownEvent):
40005        Add a getter.
40006
40007        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
40008        (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
40009        Don't send keydown and keyup events when complex text input is enabled in the updated model.
40010
400112011-08-25  Anders Carlsson  <andersca@apple.com>
40012
40013        Correctly handle events in the updated Cocoa text input model
40014        https://bugs.webkit.org/show_bug.cgi?id=67005
40015
40016        Reviewed by Sam Weinig.
40017
40018        * UIProcess/API/mac/WKTextInputWindowController.mm:
40019        (-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]):
40020        When using the updated model, always return a string even for 'simple' characters.
40021
40022        * UIProcess/API/mac/WKView.mm:
40023        (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
40024        Only let the input method have a crack at the event in the legacy model.
40025
400262011-08-25  Jeff Miller  <jeffm@apple.com>
40027
40028        Move Windows-specific WebPageProxy code to WebPageProxyWin.cpp
40029        https://bugs.webkit.org/show_bug.cgi?id=67002
40030
40031        Reviewed by Brian Weinstein.
40032
40033        * UIProcess/WebPageProxy.cpp: Moved Windows-only functions to WebPageProxyWin.cpp.
40034        
40035        * UIProcess/win/WebPageProxyWin.cpp:
40036        (WebKit::WebPageProxy::firstRectForCharacterInSelectedRange): Moved from WebPageProxy.cpp.
40037        (WebKit::WebPageProxy::getSelectedText): Moved from WebPageProxy.cpp.
40038        (WebKit::WebPageProxy::gestureWillBegin): Moved from WebPageProxy.cpp.
40039        (WebKit::WebPageProxy::gestureDidScroll): Moved from WebPageProxy.cpp.
40040        (WebKit::WebPageProxy::gestureDidEnd): Moved from WebPageProxy.cpp.
40041        (WebKit::WebPageProxy::setGestureReachedScrollingLimit): Moved from WebPageProxy.cpp.
40042        (WebKit::WebPageProxy::startDragDrop): Moved from WebPageProxy.cpp.
40043        (WebKit::WebPageProxy::didChangeCompositionSelection): Moved from WebPageProxy.cpp.
40044        (WebKit::WebPageProxy::confirmComposition): Moved from WebPageProxy.cpp.
40045        (WebKit::WebPageProxy::setComposition): Moved from WebPageProxy.cpp.
40046
400472011-08-25  Anders Carlsson  <andersca@apple.com>
40048
40049        Handle key-down events in the updated Cocoa text input model
40050        https://bugs.webkit.org/show_bug.cgi?id=67001
40051
40052        Reviewed by Sam Weinig.
40053
40054        * UIProcess/API/mac/WKView.mm:
40055        (-[WKView performKeyEquivalent:]):
40056        Call _disableComplexTextInputIfNecessary so that we'll inform the plug-in that complex text
40057        input has been disabled.
40058
40059        (-[WKView _disableComplexTextInputIfNecessary]):
40060        If the plug-in is using the updated Cocoa text input model specification, disable text input
40061        if the text input window has been dismissed for whatever reason.
40062
40063        (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
40064        Call _disableComplexTextInputIfNecessary so that we'll inform the plug-in that complex text
40065        input has been disabled.
40066        
40067        (-[WKView _tryPostProcessPluginComplexTextInputKeyDown:]):
40068        If the plug-in is using the updated Cocoa text input model specification, let the input methods
40069        have a go at the keyboard event.
40070
40071        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
40072        (WebKit::NetscapePlugin::setComplexTextInputEnabled):
40073        Actually set m_isComplexTextInputEnabled to the right value.
40074
400752011-08-25  Anders Carlsson  <andersca@apple.com>
40076
40077        Factor code to send a key-down event to the plug-in out into a new function
40078        https://bugs.webkit.org/show_bug.cgi?id=66999
40079
40080        Reviewed by Darin Adler.
40081
40082        * UIProcess/API/mac/WKView.mm:
40083        (-[WKView _handlePluginComplexTextInputKeyDown:]):
40084        (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
40085
400862011-08-25  Anders Carlsson  <andersca@apple.com>
40087
40088        WKView should keep track of the plug-in complex text input state
40089        https://bugs.webkit.org/show_bug.cgi?id=66990
40090
40091        Reviewed by Sam Weinig.
40092
40093        * UIProcess/API/mac/WKView.mm:
40094        Add a _pluginComplexTextInputState ivar to WKViewData.
40095
40096        (-[WKView _setPluginComplexTextInputState:]):
40097        Set the _pluginComplexTextInputState variable. If text input is being disabled, send back an empty string to the plug-in.
40098
40099        (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
40100        Call -[WKView _setPluginComplexTextInputState:].
40101
401022011-08-25  Anders Carlsson  <andersca@apple.com>
40103
40104        Move file internal methods to a class continuation in WKView
40105        https://bugs.webkit.org/show_bug.cgi?id=66983
40106
40107        Reviewed by Dan Bernstein.
40108
40109        * UIProcess/API/mac/WKView.mm:
40110        (-[WKView _deviceScaleFactor]):
40111        (-[WKView _setDrawingAreaSize:]):
40112
401132011-08-25  Anders Carlsson  <andersca@apple.com>
40114
40115        More work on the updated Cocoa text input specification
40116        https://bugs.webkit.org/show_bug.cgi?id=66977
40117
40118        Reviewed by Sam Weinig.
40119
40120        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
40121        (WebKit::NetscapePlugin::NetscapePlugin):
40122        Initialize m_pluginWantsLegacyCocoaTextInput and m_hasHandledAKeyDownEvent.
40123
40124        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
40125        Add m_pluginWantsLegacyCocoaTextInput and m_hasHandledAKeyDownEvent.
40126        
40127        (WebKit::NetscapePlugin::setPluginWantsLegacyCocoaTextInput):
40128        Add setter. Not called yet.
40129
40130        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
40131        (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
40132        Set m_hasHandledAKeyDownEvent to true if we get a KeyDown event.
40133
40134        (WebKit::NetscapePlugin::sendComplexTextInput):
40135        If the plug-in is using the updated Cocoa text input spec, we can disable text input here.
40136
40137        (WebKit::NetscapePlugin::pluginFocusOrWindowFocusChanged):
40138        If the plug-in is using the updated Cocoa text input spec, text input is not enabled when
40139        the plug-in is focused.
40140
40141        (WebKit::NetscapePlugin::setComplexTextInputEnabled):
40142        Set the right text input state based on whether the plug-in is using the updated spec or not.
40143
401442011-08-25  Anders Carlsson  <andersca@apple.com>
40145
40146        Return the correct value for NPNVsupportsCarbonBool
40147        https://bugs.webkit.org/show_bug.cgi?id=66964
40148
40149        Reviewed by Adam Roben.
40150
40151        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
40152        (WebKit::NPN_GetValue):
40153        Remove a FIXME and set the value to true.
40154
401552011-08-25  Alexis Menard  <alexis.menard@openbossa.org>
40156
40157        [Qt][WK2] Remove QWKContext class and make sure the WebProcessProxy life is correctly managed.
40158        https://bugs.webkit.org/show_bug.cgi?id=66886
40159
40160        Reviewed by Benjamin Poulain.
40161
40162        Remove QWKContext class from Qt APIs as it is too low level for the vision
40163        of the Qt5 API. QtWebPageProxy now holds directly a WebContext which can be a custom one
40164        or default created one. This patch also ensure that the WebProcessProxy is correctly
40165        destroyed at application exit by removing the circular references between the WebContext,
40166        WebProcessProxy, and WebPageProxy.
40167
40168        * UIProcess/API/qt/qdesktopwebview.cpp:
40169        (QDesktopWebViewPrivate::QDesktopWebViewPrivate):
40170        * UIProcess/API/qt/qtouchwebview.cpp:
40171        (QTouchWebViewPrivate::QTouchWebViewPrivate):
40172        * UIProcess/qt/ClientImpl.cpp:
40173        (qt_wk_setStatusText):
40174        * UIProcess/qt/ClientImpl.h:
40175        * UIProcess/qt/QtWebPageProxy.cpp:
40176        (QtWebPageProxy::defaultWKContext):
40177        (QtWebPageProxy::QtWebPageProxy):
40178        (QtWebPageProxy::~QtWebPageProxy):
40179        * UIProcess/qt/QtWebPageProxy.h:
40180        * UIProcess/qt/qdesktopwebpageproxy.cpp:
40181        (QDesktopWebPageProxy::QDesktopWebPageProxy):
40182        * UIProcess/qt/qdesktopwebpageproxy.h:
40183        * UIProcess/qt/qtouchwebpageproxy.cpp:
40184        (QTouchWebPageProxy::QTouchWebPageProxy):
40185        * UIProcess/qt/qtouchwebpageproxy.h:
40186        * UIProcess/qt/qwkcontext.cpp: Removed.
40187        * UIProcess/qt/qwkcontext.h: Removed.
40188        * UIProcess/qt/qwkcontext_p.h: Removed.
40189        * WebKit2.pro:
40190
401912011-08-23  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
40192
40193        [Qt][WK2] Drive tiling from the WebProcess and reuse TiledBackingStore.
40194        https://bugs.webkit.org/show_bug.cgi?id=66771
40195
40196        Reviewed by Tor Arne Vestbø.
40197
40198        We need the tiling logic to be moved to the web process to allow invalidated tile rects to be
40199        rendered with the same layout. This also allows the web process to render tiles into
40200        buffers readable directly by the GPU (on supported platforms). We also take the opportunity
40201        to use the TiledBackingStore in WebCore to have only one tiling implementation.
40202
40203        Before this patch:
40204        - TiledDrawingAreaProxy manages tiles from the UI process.
40205        - TiledDrawingArea received rendering requests for a rect and returns the result
40206          to the proxy through shared memory.
40207
40208        After this patch:
40209        - TiledDrawingArea uses a TiledBackingStore to manage tiles from the web process.
40210        - TiledBackingStoreRemoteTile forwards tile creations, update and removals to the proxy.
40211        - TiledDrawingAreaProxy updates the scene graph directly from requests.
40212
40213        It also implements tile buffer swapping correctly in SGTileNode, triggered by the DidRenderFrame message.
40214        Render throttling is implemented by waiting in TiledDrawingArea for the UI process to
40215        notify us when the last rendered frame is ready to make it to the screen.
40216        TiledDrawingAreaTileSets have been replaced by using two instances of TiledBackingStore instead.
40217
40218        * UIProcess/API/qt/qtouchwebpage.cpp:
40219        (QTouchWebPage::updatePaintNode):
40220        * UIProcess/API/qt/qtouchwebview.cpp:
40221        (QTouchWebViewPrivate::updateViewportState):
40222        * UIProcess/DrawingAreaProxy.h:
40223        (WebKit::DrawingAreaProxy::createTile):
40224        (WebKit::DrawingAreaProxy::updateTile):
40225        (WebKit::DrawingAreaProxy::didRenderFrame):
40226        (WebKit::DrawingAreaProxy::removeTile):
40227        * UIProcess/DrawingAreaProxy.messages.in:
40228        * UIProcess/TiledDrawingAreaProxy.cpp:
40229        (WebKit::TiledDrawingAreaProxy::create):
40230        (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
40231        (WebKit::TiledDrawingAreaProxy::~TiledDrawingAreaProxy):
40232        (WebKit::TiledDrawingAreaProxy::setVisibleContentRect):
40233        (WebKit::TiledDrawingAreaProxy::setContentsScale):
40234        (WebKit::TiledDrawingAreaProxy::renderNextFrame):
40235        (WebKit::TiledDrawingAreaProxy::sizeDidChange):
40236        (WebKit::TiledDrawingAreaProxy::paint):
40237        * UIProcess/TiledDrawingAreaProxy.h:
40238        * UIProcess/TiledDrawingAreaTile.h: Removed.
40239        * UIProcess/qt/SGAgent.cpp:
40240        (WebKit::NodeUpdateCreateTile::NodeUpdateCreateTile):
40241        (WebKit::NodeUpdateRemoveTile::NodeUpdateRemoveTile):
40242        (WebKit::NodeUpdateSetBackBuffer::NodeUpdateSetBackBuffer):
40243        (WebKit::NodeUpdateSwapTileBuffers::NodeUpdateSwapTileBuffers):
40244        (WebKit::SGAgent::SGAgent):
40245        (WebKit::SGAgent::createTileNode):
40246        (WebKit::SGAgent::removeTileNode):
40247        (WebKit::SGAgent::setNodeBackBuffer):
40248        (WebKit::SGAgent::swapTileBuffers):
40249        (WebKit::SGAgent::updatePaintNode):
40250        (WebKit::SGAgent::getScaleNode):
40251        Make the parenting logic more strict to allow SGAgent to handle the scale nodes itself (remove NodeUpdateCreateScale and use the scale in CreateTile).
40252        Delete the scale node when the last of its child tiles has been removed.
40253
40254        * UIProcess/qt/SGAgent.h:
40255        (WebKit::SGAgent::isSwapPending):
40256
40257        * UIProcess/qt/SGTileNode.cpp:
40258        (WebKit::SGTileNode::SGTileNode):
40259        (WebKit::SGTileNode::setBackBuffer):
40260        (WebKit::SGTileNode::swapIfNeeded):
40261        Replace setTargetRect, setSourceRect and setTexture by a single setBackBuffer method.
40262        This allows all those values to be used only when swapIfNeeded is called later.
40263
40264        * UIProcess/qt/SGTileNode.h:
40265        * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
40266        (WebKit::TiledDrawingAreaProxy::createTile):
40267        (WebKit::TiledDrawingAreaProxy::updateTile):
40268        (WebKit::TiledDrawingAreaProxy::didRenderFrame):
40269        (WebKit::TiledDrawingAreaProxy::removeTile):
40270        * UIProcess/qt/TiledDrawingAreaTileQt.cpp: Removed.
40271        * UIProcess/qt/qtouchwebpageproxy.cpp:
40272        (QTouchWebPageProxy::renderNextFrame):
40273        * UIProcess/qt/qtouchwebpageproxy.h:
40274        * WebKit2.pro:
40275        * WebProcess/WebPage/DrawingArea.h:
40276        (WebKit::DrawingArea::setVisibleContentRect):
40277        (WebKit::DrawingArea::setContentsScale):
40278        (WebKit::DrawingArea::renderNextFrame):
40279        * WebProcess/WebPage/DrawingArea.messages.in:
40280        * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp: Added.
40281        (WebKit::TiledBackingStoreRemoteTile::TiledBackingStoreRemoteTile):
40282        (WebKit::TiledBackingStoreRemoteTile::~TiledBackingStoreRemoteTile):
40283        (WebKit::TiledBackingStoreRemoteTile::isDirty):
40284        (WebKit::TiledBackingStoreRemoteTile::invalidate):
40285        (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
40286        (WebKit::TiledBackingStoreRemoteTile::swapBackBufferToFront):
40287        (WebKit::TiledBackingStoreRemoteTile::isReadyToPaint):
40288        (WebKit::TiledBackingStoreRemoteTile::paint):
40289        (WebKit::TiledBackingStoreRemoteTileBackend::TiledBackingStoreRemoteTileBackend):
40290        (WebKit::TiledBackingStoreRemoteTileBackend::createTile):
40291        (WebKit::TiledBackingStoreRemoteTileBackend::paintCheckerPattern):
40292        * WebProcess/WebPage/TiledBackingStoreRemoteTile.h: Added.
40293        (WebKit::TiledBackingStoreRemoteTile::create):
40294        (WebKit::TiledBackingStoreRemoteTile::coordinate):
40295        (WebKit::TiledBackingStoreRemoteTile::rect):
40296        (WebKit::TiledBackingStoreRemoteTileClient::~TiledBackingStoreRemoteTileClient):
40297        (WebKit::TiledBackingStoreRemoteTileBackend::create):
40298        * WebProcess/WebPage/TiledDrawingArea.cpp:
40299        (WebKit::TiledDrawingArea::TiledDrawingArea):
40300        (WebKit::TiledDrawingArea::setNeedsDisplay):
40301        (WebKit::TiledDrawingArea::setSize):
40302        (WebKit::TiledDrawingArea::setVisibleContentRect):
40303        (WebKit::TiledDrawingArea::setContentsScale):
40304        (WebKit::TiledDrawingArea::renderNextFrame):
40305        (WebKit::TiledDrawingArea::suspendPainting):
40306        (WebKit::TiledDrawingArea::resumePainting):
40307        (WebKit::TiledDrawingArea::tiledBackingStorePaintBegin):
40308        (WebKit::TiledDrawingArea::tiledBackingStorePaint):
40309        (WebKit::TiledDrawingArea::tiledBackingStorePaintEnd):
40310        (WebKit::TiledDrawingArea::tiledBackingStoreIsUpdatingAllowed):
40311        (WebKit::TiledDrawingArea::tiledBackingStoreContentsRect):
40312        (WebKit::TiledDrawingArea::tiledBackingStoreVisibleRect):
40313        (WebKit::TiledDrawingArea::tiledBackingStoreBackgroundColor):
40314        (WebKit::TiledDrawingArea::createTile):
40315        (WebKit::TiledDrawingArea::updateTile):
40316        (WebKit::TiledDrawingArea::removeTile):
40317        * WebProcess/WebPage/TiledDrawingArea.h:
40318        * WebProcess/WebPage/qt/TiledDrawingAreaQt.cpp: Removed.
40319
403202011-08-24  Michael Saboff  <msaboff@apple.com>
40321
40322        Improper comment in CoreIPC/ArgumentEncoder.cpp from 66464
40323        https://bugs.webkit.org/show_bug.cgi?id=66912
40324
40325        Updated the comment in ArgumentEncoder::grow to reflect that system malloc
40326        currently checks to see if a MADV_FREE_REUSABLE will fail before calling it.
40327
40328        Reviewed by Mark Rowe.
40329
40330        * Platform/CoreIPC/ArgumentEncoder.cpp:
40331        (CoreIPC::ArgumentEncoder::grow):
40332
403332011-08-24  Anders Carlsson  <andersca@apple.com>
40334
40335        Rename -[WKTextInputWindowController keyboardInputSourceChanged] to unmarkText to indicate what the method does
40336        https://bugs.webkit.org/show_bug.cgi?id=66883
40337
40338        Reviewed by Beth Dakin.
40339
40340        * UIProcess/API/mac/WKTextInputWindowController.h:
40341        * UIProcess/API/mac/WKTextInputWindowController.mm:
40342        (-[WKTextInputPanel _unmarkText]):
40343        (-[WKTextInputWindowController unmarkText]):
40344        * UIProcess/API/mac/WKView.mm:
40345        (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]):
40346
403472011-08-24  Oliver Hunt  <oliver@apple.com>
40348
40349        JSNPObject and JSNPMethod create their structure in their constructors
40350        https://bugs.webkit.org/show_bug.cgi?id=66879
40351
40352        Reviewed by Anders Carlsson.
40353
40354        It's not safe to create the Structure for an object inside its constructor
40355        so we hoist construction out into their ::create methods and move the methods
40356        into the cpp file.
40357
40358        * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
40359        (WebKit::JSNPMethod::JSNPMethod):
40360        (WebKit::JSNPMethod::create):
40361        * WebProcess/Plugins/Netscape/JSNPMethod.h:
40362        (WebKit::JSNPMethod::create):
40363        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
40364        (WebKit::JSNPObject::JSNPObject):
40365        (WebKit::JSNPObject::create):
40366        * WebProcess/Plugins/Netscape/JSNPObject.h:
40367        (WebKit::JSNPObject::create):
40368
403692011-08-24  Anders Carlsson  <andersca@apple.com>
40370
40371        More plug-in complex text input scaffolding
40372        https://bugs.webkit.org/show_bug.cgi?id=66865
40373
40374        Reviewed by Sam Weinig.
40375
40376        Make -[WKView _doneWithKeyEvent:eventWasHandled:] take an NSEvent * directly. Also
40377        add methods for handling plug-in text input key-down events.
40378
40379        * UIProcess/API/mac/PageClientImpl.mm:
40380        (WebKit::PageClientImpl::doneWithKeyEvent):
40381        * UIProcess/API/mac/WKView.mm:
40382        (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
40383        (-[WKView keyDown:]):
40384        (-[WKView _tryPostProcessPluginComplexTextInputKeyDown:]):
40385        (-[WKView _doneWithKeyEvent:eventWasHandled:]):
40386        * UIProcess/API/mac/WKViewInternal.h:
40387
403882011-08-24  Amruth Raj  <amruthraj@motorola.com>
40389
40390        [GTK] WebProcess crash on hitting assertion m_isWaitingForDidUpdate in DrawingAreaImpl
40391        https://bugs.webkit.org/show_bug.cgi?id=66640
40392
40393        Reviewed by Martin Robinson.
40394
40395        The crash happens when a new timer is created in an existing timer callback. Since 
40396        TimerBase has a single GSource* it gets overridden and the old timer can never get
40397        stopped. To handle this, keep a copy of the old timer and use it for destruction.
40398
40399        * Platform/RunLoop.h:
40400        * Platform/gtk/RunLoopGtk.cpp:
40401        (RunLoop::TimerBase::timerFiredCallback):
40402        Store the timerSource so that even if it is modified by the timer callback,
40403        it can be restored for freeing it.
40404        (RunLoop::TimerBase::start):
40405        Remove destroyNotifyCallback. Destruction is now handled in timerFiredCallback itself.
40406
404072011-08-23  Anders Carlsson  <andersca@apple.com>
40408
40409        Prepare WKTextInputWindowController for the new text input model
40410        https://bugs.webkit.org/show_bug.cgi?id=66826
40411
40412        Reviewed by Sam Weinig.
40413
40414        Add -[WKTextInputWindowController hasMarkedText] and make interpretKeyEvent take an
40415        additional usingLegacyCocoaTextInput flag. No functionality change.
40416
40417        * UIProcess/API/mac/WKTextInputWindowController.h:
40418        * UIProcess/API/mac/WKTextInputWindowController.mm:
40419        (-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]):
40420        (-[WKTextInputPanel _hasMarkedText]):
40421        (-[WKTextInputWindowController hasMarkedText]):
40422        (-[WKTextInputWindowController interpretKeyEvent:usingLegacyCocoaTextInput:string:]):
40423        * UIProcess/API/mac/WKView.mm:
40424        (-[WKView keyDown:]):
40425
404262011-08-23  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
40427
40428        [Qt] Unnecessary folders in WebKit2.
40429        https://bugs.webkit.org/show_bug.cgi?id=66583
40430
40431        Reviewed by Benjamin Poulain.
40432
40433        Remove empty autotest folders that were left over from QGraphicsWKView times.
40434
40435        * UIProcess/API/qt/tests/qgraphicswkview: Removed.
40436        * UIProcess/API/qt/tests/qwkhistory: Removed.
40437        * UIProcess/API/qt/tests/qwkpage: Removed.
40438
404392011-08-23  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
40440
40441        [Qt][WK2] Fix an awful memory leak introduced in r92376.
40442        https://bugs.webkit.org/show_bug.cgi?id=65528
40443
40444        Reviewed by Benjamin Poulain.
40445
40446        The non-virtual destructor would create a leak of the tile update buffer because
40447        the NodeUpdateSetTexture's QImage member destructor wouldn't be called.
40448
40449        * UIProcess/qt/SGAgent.h:
40450        (WebKit::NodeUpdate::~NodeUpdate):
40451
404522011-08-23  Steve Block  <steveblock@google.com>
40453
40454        Remove all mention of removed Android files from build scripts
40455        https://bugs.webkit.org/show_bug.cgi?id=66755
40456
40457        Reviewed by Tony Gentilcore.
40458
40459        * Scripts/generate-forwarding-headers.pl:
40460
404612011-08-23  Benjamin Poulain  <benjamin@webkit.org>
40462
40463        [Qt][WK2] ViewportInteractionEngine: the position of the content is not corrected when scaling the page manually
40464        https://bugs.webkit.org/show_bug.cgi?id=66672
40465
40466        Reviewed by Kenneth Rohde Christiansen.
40467
40468        Add the method animateContentIntoBoundariesIfNeeded() to move the content back into both scale and position boundaries.
40469        This method is now used as the entry point for animations in order to avoid bugs regarding scale or position.
40470
40471        The existing animation methods were renamed accordingly for clarity and consistency with the updateContent methods.
40472
40473        * UIProcess/qt/ViewportInteractionEngine.cpp:
40474        (WebKit::ViewportInteractionEngine::panGestureEnded):
40475        (WebKit::ViewportInteractionEngine::pinchGestureEnded):
40476        (WebKit::ViewportInteractionEngine::animateContentIntoBoundariesIfNeeded):
40477        (WebKit::ViewportInteractionEngine::animateContentPositionIntoBoundariesIfNeeded):
40478        (WebKit::ViewportInteractionEngine::animateContentScaleIntoBoundariesIfNeeded):
40479        * UIProcess/qt/ViewportInteractionEngine.h:
40480
404812011-08-22  Oliver Hunt  <oliver@apple.com>
40482
40483        Delay GC triggered NP object destruction to the next runloop cycle
40484        https://bugs.webkit.org/show_bug.cgi?id=66717
40485
40486        Reviewed by Anders Carlsson.
40487
40488        Delay destruction of plugin objects caused by GC until the next
40489        runloop cycle so that they can execute JS in their finalizers.
40490        We do this using a zero delay timer coupled with a queue of
40491        objects to be finalised.
40492
40493        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
40494        (WebKit::JSNPObject::releaseObject):
40495        * WebProcess/Plugins/Netscape/JSNPObject.h:
40496        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
40497        (WebKit::NPRuntimeObjectMap::NPRuntimeObjectMap):
40498        (WebKit::NPRuntimeObjectMap::invalidate):
40499        (WebKit::NPRuntimeObjectMap::invalidateQueuedObjects):
40500        (WebKit::NPRuntimeObjectMap::addToInvalidationQueue):
40501        (WebKit::NPRuntimeObjectMap::finalize):
40502        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
40503        * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp:
40504        (WebKit::trySafeReleaseNPObject):
40505        * WebProcess/Plugins/Netscape/NPRuntimeUtilities.h:
40506
405072011-08-22  Anders Carlsson  <andersca@apple.com>
40508
40509        Move code from PageClientImpl::doneWithKeyEvent to WKView
40510        https://bugs.webkit.org/show_bug.cgi?id=66722
40511
40512        Reviewed by Darin Adler.
40513
40514        * UIProcess/API/mac/PageClientImpl.mm:
40515        (WebKit::PageClientImpl::doneWithKeyEvent):
40516        * UIProcess/API/mac/WKView.mm:
40517        (-[WKView _doneWithKeyEvent:WebKit::eventWasHandled:]):
40518        * UIProcess/API/mac/WKViewInternal.h:
40519
405202011-08-22  Anders Carlsson  <andersca@apple.com>
40521
40522        Update the text input context when the plug-in focus changes and not when the complex text input state changes
40523        https://bugs.webkit.org/show_bug.cgi?id=66716
40524
40525        Reviewed by Darin Adler.
40526
40527        * UIProcess/API/mac/WKView.mm:
40528        (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]):
40529        (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
40530
405312011-08-22  Michael Saboff  <msaboff@apple.com>
40532
40533        REGRESSION (r92231): Apple campus proposal PDF doesn't display in Safari
40534        https://bugs.webkit.org/show_bug.cgi?id=66464
40535
40536        Changed ArgumentEncoder to use system malloc instead of fastMalloc.
40537        FastMalloc uses madvise(MADV_FREE_REUSABLE) which is incompatible with
40538        mach message Out Of Line (OOL) messages that use MACH_MSG_VIRTUAL_COPY.
40539        The system malloc has no such limitation.
40540        Changed sendOutgoingMessage to use MACH_MSG_VIRTUAL_COPY again as it 
40541        doesn't have size limitations that MACH_MSG_PHYSICAL_COPY.
40542        
40543        Reviewed by Anders Carlsson.
40544
40545        * Platform/CoreIPC/ArgumentEncoder.cpp:
40546        (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
40547        (CoreIPC::ArgumentEncoder::grow):
40548        * Platform/CoreIPC/mac/ConnectionMac.cpp:
40549        (CoreIPC::Connection::sendOutgoingMessage):
40550
405512011-08-22  Anders Carlsson  <andersca@apple.com>
40552
40553        Use -[NSApplication updateWindows] to update the current input context
40554        https://bugs.webkit.org/show_bug.cgi?id=66715
40555
40556        Reviewed by Alexey Proskuryakov.
40557
40558        * UIProcess/API/mac/WKView.mm:
40559        (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
40560
405612011-08-22  Anders Carlsson  <andersca@apple.com>
40562
40563        The UI process should keep track of whether a plug-in has focus or not
40564        https://bugs.webkit.org/show_bug.cgi?id=66712
40565
40566        Reviewed by Darin Adler.
40567
40568        This is in preparation for implementing the updated Cocoa text input model.
40569
40570        Pipe through whether a plug-in and its containing window has focus or not, from the
40571        plug-in process and all the way to the UI process.
40572
40573        * PluginProcess/PluginControllerProxy.h:
40574        * PluginProcess/mac/PluginControllerProxyMac.mm:
40575        (WebKit::PluginControllerProxy::pluginFocusOrWindowFocusChanged):
40576        * UIProcess/API/mac/PageClientImpl.h:
40577        * UIProcess/API/mac/PageClientImpl.mm:
40578        (WebKit::PageClientImpl::pluginFocusOrWindowFocusChanged):
40579        * UIProcess/API/mac/WKView.mm:
40580        (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]):
40581        * UIProcess/API/mac/WKViewInternal.h:
40582        * UIProcess/PageClient.h:
40583        * UIProcess/WebPageProxy.h:
40584        * UIProcess/WebPageProxy.messages.in:
40585        * UIProcess/mac/WebPageProxyMac.mm:
40586        (WebKit::WebPageProxy::pluginFocusOrWindowFocusChanged):
40587        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
40588        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
40589        (WebKit::NetscapePlugin::platformSetFocus):
40590        (WebKit::NetscapePlugin::windowFocusChanged):
40591        (WebKit::NetscapePlugin::pluginFocusOrWindowFocusChanged):
40592        * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
40593        (WebKit::PluginProxy::pluginFocusOrWindowFocusChanged):
40594        * WebProcess/Plugins/PluginController.h:
40595        * WebProcess/Plugins/PluginProxy.h:
40596        * WebProcess/Plugins/PluginProxy.messages.in:
40597        * WebProcess/Plugins/PluginView.cpp:
40598        (WebKit::PluginView::pluginFocusOrWindowFocusChanged):
40599        * WebProcess/Plugins/PluginView.h:
40600
406012011-08-22  Anders Carlsson  <andersca@apple.com>
40602
40603        Update the current NSTextInputContext whenever the plug-in complex text input state changes
40604        https://bugs.webkit.org/show_bug.cgi?id=66709
40605
40606        Reviewed by Sam Weinig.
40607
40608        Call [NSTextInputContext currentInputContext] which will force AppKit to update the current input
40609        context. Fixes a rare case when the out-of-line editing window wouldn't appear.
40610
40611        * UIProcess/API/mac/WKView.mm:
40612        (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
40613
406142011-08-19  Anders Carlsson  <andersca@apple.com>
40615
40616        Another attempt at fixing the Windows build.
40617
40618        * UIProcess/PageClient.h:
40619
406202011-08-19  Anders Carlsson  <andersca@apple.com>
40621
40622        Fix Windows build.
40623
40624        * WebProcess/Plugins/PluginController.h:
40625
406262011-08-19  Anders Carlsson  <andersca@apple.com>
40627
40628        Make the complex text input state a tri-state enum instead of a boolean
40629        https://bugs.webkit.org/show_bug.cgi?id=62245
40630
40631        Reviewed by Sam Weinig.
40632
40633        This is to prepare the infrastructure for supporting the updated Cocoa text input model for plug-ins.
40634
40635        * PluginProcess/PluginControllerProxy.cpp:
40636        * PluginProcess/PluginControllerProxy.h:
40637        * PluginProcess/mac/PluginControllerProxyMac.mm:
40638        (WebKit::PluginControllerProxy::setComplexTextInputState):
40639        (WebKit::PluginControllerProxy::compositingRenderServerPort):
40640        * Shared/Plugins/mac: Added.
40641        * Shared/Plugins/mac/PluginComplexTextInputState.h: Added.
40642        (WebKit::isValidPluginComplexTextInputState):
40643        * UIProcess/API/mac/PageClientImpl.h:
40644        * UIProcess/API/mac/PageClientImpl.mm:
40645        (WebKit::PageClientImpl::setPluginComplexTextInputState):
40646        * UIProcess/API/mac/WKView.mm:
40647        (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
40648        * UIProcess/API/mac/WKViewInternal.h:
40649        * UIProcess/PageClient.h:
40650        * UIProcess/WebPageProxy.h:
40651        * UIProcess/WebPageProxy.messages.in:
40652        * UIProcess/mac/WebPageProxyMac.mm:
40653        (WebKit::WebPageProxy::setPluginComplexTextInputState):
40654        * WebKit2.xcodeproj/project.pbxproj:
40655        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
40656        (WebKit::NetscapePlugin::NetscapePlugin):
40657        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
40658        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
40659        (WebKit::NetscapePlugin::platformSetFocus):
40660        (WebKit::NetscapePlugin::windowFocusChanged):
40661        (WebKit::NetscapePlugin::setComplexTextInputEnabled):
40662        * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
40663        (WebKit::PluginProxy::setComplexTextInputState):
40664        * WebProcess/Plugins/PluginController.h:
40665        * WebProcess/Plugins/PluginProxy.cpp:
40666        * WebProcess/Plugins/PluginProxy.h:
40667        * WebProcess/Plugins/PluginProxy.messages.in:
40668        * WebProcess/Plugins/PluginView.cpp:
40669        (WebKit::PluginView::~PluginView):
40670        (WebKit::PluginView::setComplexTextInputState):
40671        (WebKit::PluginView::compositingRenderServerPort):
40672        * WebProcess/Plugins/PluginView.h:
40673
406742011-08-19  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
40675
40676        [Qt] [WK2] Provide API for intercept (and possible ignore) links clicked in QDesktopWebView
40677        https://bugs.webkit.org/show_bug.cgi?id=65920
40678
40679        Reviewed by Benjamin Poulain.
40680
40681        This patch makes QDesktopWebView delegate the decision of whether a navigation
40682        should proceed to a slot in QML. The user of the DesktopWebView must implement a
40683        'navigationPolicyForUrl()' if it wants to use the feature.
40684
40685        Such feature is useful for implementing opening links in "new tab" by using a
40686        specific mouse button or mouse button plus keyboard modifiers.
40687
40688        The patch introduces a internal Qt-level interface called PolicyInterface, that
40689        is used by QtWebPageProxy to delegate policy calls. A concrete implementation is
40690        provided for QDesktopWebView.
40691
40692        * Shared/qt/WebCoreArgumentCodersQt.cpp:
40693        (CoreIPC::::encode):
40694        (CoreIPC::::decode):
40695        Implement the serialization of the Request URL, which is the only data
40696        we exposing from the Request.
40697
40698        * WebKit2.pro:
40699        * UIProcess/qt/PolicyInterface.h: Added.
40700        * UIProcess/qt/QtWebPageProxy.cpp:
40701        (QtWebPageProxy::QtWebPageProxy):
40702        (QtWebPageProxy::init):
40703        * UIProcess/qt/QtWebPageProxy.h:
40704        Register a Policy Client in the WK2 C API only if there's a PolicyInterface available.
40705
40706        * UIProcess/qt/ClientImpl.h:
40707        * UIProcess/qt/ClientImpl.cpp:
40708        (toPolicyInterface):
40709        (toQtMouseButton):
40710        (toQtKeyboardModifiers):
40711        (qt_wk_decidePolicyForNavigationAction):
40712        Implement the callback for the Page Policy Client. It will translate the
40713        arguments to Qt jargon and call PolicyInterface.
40714
40715        * UIProcess/qt/qdesktopwebpageproxy.cpp:
40716        (QDesktopWebPageProxy::QDesktopWebPageProxy):
40717        * UIProcess/API/qt/qdesktopwebview.h:
40718        * UIProcess/API/qt/qdesktopwebview_p.h:
40719        * UIProcess/API/qt/qdesktopwebview.cpp:
40720        (toPolicyAction):
40721        (hasMetaMethod):
40722        (QDesktopWebViewPrivate::navigationPolicyForURL):
40723        The concrete implementation for QDesktopWebView. Its private object implements
40724        the PolicyInterface and try to call a possible function defined in QML (so return
40725        value and arguments all QVariants). If there's no such a function, returns the
40726        default UsePolicy, like if we haven't registered a PolicyClient in WK2 C API.
40727
40728        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml: Added.
40729        * UIProcess/API/qt/tests/qmltests/common/test2.html: Added.
40730        * UIProcess/API/qt/tests/qmltests/qmltests.pro:
40731        Add a test for DesktopWebView QML element making use of a button and a modifier to
40732        ignore a navigation.
40733
40734        * UIProcess/qt/qtouchwebpageproxy.cpp:
40735        (QTouchWebPageProxy::QTouchWebPageProxy):
40736        For now, we don't have a PolicyInterface for QTouchWebView.
40737
407382011-08-18  Anders Carlsson  <andersca@apple.com>
40739
40740        WebProcess crashes during startup if libdispatch is initialized by WebProcessShim.dylib
40741        https://bugs.webkit.org/show_bug.cgi?id=66508
40742        <rdar://problem/9828476>
40743
40744        Reviewed by Mark Rowe.
40745
40746        * mac/MainMac.cpp:
40747        (closeUnusedFileDescriptors):
40748        Check if a file descriptor is a kqueue and don't close it if that is the case. While this
40749        isn't a complete fix, (it won't work if other initializers end up creating non-kqueue file descriptors)
40750        it's good enough for Snow Leopard. For Lion, we should use the new posix_spawn API that lets you whitelist
40751        file descriptors from the parent process.
40752
407532011-08-19  Benjamin Poulain  <benjamin@webkit.org>
40754
40755        [Qt][WK2] Add a basic engine to control the content of the viewport
40756        https://bugs.webkit.org/show_bug.cgi?id=66383
40757
40758        Reviewed by Andreas Kling.
40759
40760        Add ViewportInteractionEngine to handle the content of the viewport. The class make
40761        sure the QTouchWebPage stays in the viewport and in the boundaries.
40762
40763        * UIProcess/API/qt/qdesktopwebview.cpp:
40764        (QDesktopWebViewPrivate::loadDidCommit):
40765        * UIProcess/API/qt/qdesktopwebview_p.h:
40766        * UIProcess/API/qt/qtouchwebpage.cpp:
40767        (QTouchWebPage::QTouchWebPage): Set the transform origin to the top left so
40768        we can asume the position 0, 0 is always the top left of the page.
40769        (QTouchWebPagePrivate::_q_commitScaleChange): Make commitScaleChange a slot
40770        in order to completely decouple the ViewportInteractionEngine and the WebKit classes.
40771        * UIProcess/API/qt/qtouchwebpage.h:
40772        * UIProcess/API/qt/qtouchwebpage_p.h:
40773        * UIProcess/API/qt/qtouchwebview.cpp:
40774        (QTouchWebViewPrivate::QTouchWebViewPrivate):
40775        (QTouchWebViewPrivate::loadDidCommit):
40776        (QTouchWebViewPrivate::_q_viewportRectUpdated): Make _q_viewportRectUpdated() a slot
40777        for reducing coupling.
40778        (QTouchWebViewPrivate::updateViewportConstraints):
40779        (QTouchWebViewPrivate::setViewportArguments):
40780        (QTouchWebView::geometryChanged):
40781        * UIProcess/API/qt/qtouchwebview.h:
40782        * UIProcess/API/qt/qtouchwebview_p.h:
40783        * UIProcess/qt/ClientImpl.cpp:
40784        (qt_wk_didCommitLoadForFrame):
40785        * UIProcess/qt/QtGestureRecognizer.cpp:
40786        (WebKit::QtGestureRecognizer::QtGestureRecognizer):
40787        * UIProcess/qt/QtGestureRecognizer.h: Change the gesture recognizer to talk directly
40788        to the ViewportInteractionEngine instead of interacting through TouchViewInterface.
40789        * UIProcess/qt/QtPanGestureRecognizer.cpp:
40790        (WebKit::QtPanGestureRecognizer::QtPanGestureRecognizer):
40791        (WebKit::QtPanGestureRecognizer::recognize):
40792        * UIProcess/qt/QtPanGestureRecognizer.h:
40793        * UIProcess/qt/QtPinchGestureRecognizer.cpp:
40794        (WebKit::QtPinchGestureRecognizer::QtPinchGestureRecognizer):
40795        (WebKit::QtPinchGestureRecognizer::recognize):
40796        * UIProcess/qt/QtPinchGestureRecognizer.h:
40797        * UIProcess/qt/QtWebPageProxy.cpp:
40798        (QtWebPageProxy::loadDidCommit): Add the loadCommited callback in order
40799        to reset the viewport state when the page change.
40800        * UIProcess/qt/QtWebPageProxy.h:
40801        * UIProcess/qt/TouchViewInterface.cpp:
40802        (WebKit::TouchViewInterface::TouchViewInterface):
40803        (WebKit::TouchViewInterface::contentSizeChanged):
40804        (WebKit::TouchViewInterface::loadDidCommit):
40805        * UIProcess/qt/TouchViewInterface.h:
40806        * UIProcess/qt/ViewInterface.h:
40807        * UIProcess/qt/ViewportInteractionEngine.cpp: Added.
40808        (WebKit::visibleRectInContentCoordinate):
40809        (WebKit::contentRectInViewportCoordinate):
40810        (WebKit::ViewportUpdateGuard::ViewportUpdateGuard):
40811        (WebKit::ViewportUpdateGuard::~ViewportUpdateGuard):
40812        (WebKit::ViewportInteractionEngine::ViewportInteractionEngine):
40813        (WebKit::ViewportInteractionEngine::reset):
40814        (WebKit::ViewportInteractionEngine::setConstraints):
40815        (WebKit::ViewportInteractionEngine::panGestureStarted):
40816        (WebKit::ViewportInteractionEngine::panGestureRequestScroll):
40817        (WebKit::ViewportInteractionEngine::panGestureCancelled):
40818        (WebKit::ViewportInteractionEngine::panGestureEnded):
40819        (WebKit::ViewportInteractionEngine::pinchGestureStarted):
40820        (WebKit::ViewportInteractionEngine::pinchGestureRequestUpdate):
40821        (WebKit::ViewportInteractionEngine::pinchGestureEnded):
40822        (WebKit::ViewportInteractionEngine::contentGeometryChanged):
40823        (WebKit::ViewportInteractionEngine::contentScaleChanged):
40824        (WebKit::ViewportInteractionEngine::updateContentIfNeeded):
40825        (WebKit::ViewportInteractionEngine::updateContentScaleIfNeeded):
40826        (WebKit::ViewportInteractionEngine::updateContentPositionIfNeeded):
40827        (WebKit::ViewportInteractionEngine::animateContentPositionToBoundaries):
40828        (WebKit::ViewportInteractionEngine::animateContentScaleToBoundaries):
40829        (WebKit::ViewportInteractionEngine::scaleContent):
40830        * UIProcess/qt/ViewportInteractionEngine.h: Added.
40831        (WebKit::ViewportInteractionEngine::Constraints::Constraints):
40832        (WebKit::operator==):
40833        * UIProcess/qt/qtouchwebpageproxy.cpp:
40834        (QTouchWebPageProxy::QTouchWebPageProxy):
40835        * UIProcess/qt/qtouchwebpageproxy.h:
40836        * WebKit2.pro:
40837
408382011-08-19  Lars Knudsen  <lars.knudsen@nokia.com>
40839
40840        [Qt][WK2] Change the rect argument of QtWebPageProxy::paint() to const ref
40841        https://bugs.webkit.org/show_bug.cgi?id=66549
40842
40843        Reviewed by Benjamin Poulain.
40844
40845        * UIProcess/qt/QtWebPageProxy.cpp:
40846        (QtWebPageProxy::paint):
40847        * UIProcess/qt/QtWebPageProxy.h:
40848
408492011-08-19  MORITA Hajime  <morrita@google.com>
40850
40851        Spell-checking against execCommand() inserted HTML doesn't care word boundary.
40852        https://bugs.webkit.org/show_bug.cgi?id=65902
40853
40854        Reviewed by Ryosuke Niwa.
40855        
40856        Add exports for window.internals object.
40857
40858        * win/WebKit2.def:
40859        * win/WebKit2CFLite.def:
40860
408612011-08-18  Beth Dakin  <bdakin@apple.com>
40862
40863        Reviewed by Sam Weinig.
40864
40865        https://bugs.webkit.org/show_bug.cgi?id=66495
40866        Lion-specific scroller SPIs can use forward declaration instead of 
40867        WebKitSystemInterface
40868
40869        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
40870        (InitWebCoreSystemInterface):
40871
408722011-08-18  Darin Adler  <darin@apple.com>
40873
40874        Made some code even more private to a particular file and class
40875        https://bugs.webkit.org/show_bug.cgi?id=66428
40876
40877        Reviewed by Anders Carlsson.
40878
40879        * UIProcess/API/mac/WKView.mm:
40880        (-[WKView _setDrawingAreaSize:]): Made this file internal.
40881        * UIProcess/API/mac/WKViewInternal.h: Removed _setDrawingAreaSize.
40882        * UIProcess/DrawingAreaProxy.h: Made sizeDidChange private.
40883
408842011-08-18  Amruth Raj  <amruthraj@motorola.com>
40885
40886        [GTK] [WK2] Activating sub menus cause the WebProcess to crash
40887        https://bugs.webkit.org/show_bug.cgi?id=66471
40888
40889        Reviewed by Anders Carlsson.
40890
40891        * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
40892        (WebKit::WebContextMenuProxyGtk::createGtkMenu):
40893
408942011-08-18  Adam Roben  <aroben@apple.com>
40895
40896        Update the device scale factor when the WKView's window changes
40897
40898        Fixes <http://webkit.org/b/66412> <rdar://problem/9971958> WebKit doesn't react when a
40899        WebView is moved between windows with different backing scale factors
40900
40901        Reviewed by Anders Carlsson.
40902
40903        * UIProcess/API/mac/WKView.mm:
40904        (-[WKView viewDidMoveToWindow]): Call setDeviceScaleFactor because our new window (or no
40905        window at all) might have a different backing scale factor than the previous one.
40906        (-[WKView _deviceScaleFactor]): Moved to the new FileInternal category.
40907
409082011-08-18  Adam Roben  <aroben@apple.com>
40909
40910        Make WebPageProxy keep track of the current device scale factor
40911
40912        The device scale factor is no longer considered part of WebPageProxy's "view state". It now
40913        has its own setter/getter. This made the code a little simpler and more similar to the page
40914        scale factor. Each port-specific WebKit2 view is now responsible for calling
40915        WebPageProxy::setDeviceScaleFactor whenever it thinks the device scale factor might have
40916        changed.
40917
40918        Fixes <http://webkit.org/b/66466> WebKit2 requires every port-specific view to keep track of
40919        the current device scale factor
40920
40921        Reviewed by Anders Carlsson.
40922
40923        * UIProcess/API/efl/PageClientImpl.cpp:
40924        * UIProcess/API/efl/PageClientImpl.h:
40925        * UIProcess/API/gtk/PageClientImpl.h:
40926        * UIProcess/API/mac/PageClientImpl.h:
40927        * UIProcess/API/mac/PageClientImpl.mm:
40928        * UIProcess/PageClient.h:
40929        * UIProcess/qt/QtWebPageProxy.h:
40930        * UIProcess/win/WebView.h:
40931        Removed deviceScaleFactor.
40932
40933        * UIProcess/API/mac/WKView.mm:
40934        (-[WKView _deviceScaleFactor]): Added. Code came from PageClientImpl::deviceScaleFactor.
40935        (-[WKView _windowDidChangeResolution:]): Changed to call WebPageProxy::setDeviceScaleFactor.
40936
40937        * UIProcess/WebPageProxy.cpp:
40938        (WebKit::WebPageProxy::WebPageProxy): Initialize m_deviceScaleFactor.
40939        (WebKit::WebPageProxy::viewStateDidChange): Removed device-scale-factor-related code.
40940        (WebKit::WebPageProxy::setDeviceScaleFactor): Added. Records the new device scale factor and
40941        tells the DrawingAreaProxy about it if it's actually changed.
40942        (WebKit::WebPageProxy::creationParameters): Use m_deviceScaleFactor instead of calling out
40943        to the PageClient.
40944
40945        * UIProcess/WebPageProxy.h: Added m_deviceScaleFactor and setDeviceScaleFactor, which
40946        replaces the DeviceScaleFactor ViewStateFlag.
40947        (WebKit::WebPageProxy::deviceScaleFactor): Inlined this now-simple getter.
40948
409492011-08-17  Adam Roben  <aroben@apple.com>
40950
40951        Make WebCore keep track of the current device scale factor
40952
40953        Fixes <http://webkit.org/b/66413> WebCore requires every WebKit port to keep track of the
40954        device scale factor
40955
40956        Reviewed by Darin Adler.
40957
40958        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
40959        * WebProcess/WebCoreSupport/WebChromeClient.h:
40960        Removed deviceScaleFactor.
40961
40962        * WebProcess/WebPage/DrawingAreaImpl.cpp:
40963        (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState):
40964        (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
40965        (WebKit::DrawingAreaImpl::display):
40966        * WebProcess/WebPage/FindController.cpp:
40967        (WebKit::FindController::updateFindIndicator):
40968        (WebKit::FindController::hideFindIndicator):
40969        * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
40970        (WebKit::LayerTreeHostCA::deviceScaleFactor):
40971        Changed to get the device scale factor from WebCore.
40972
40973        * WebProcess/WebPage/WebPage.cpp:
40974        (WebKit::WebPage::WebPage):
40975        (WebKit::WebPage::setDeviceScaleFactor):
40976        * WebProcess/WebPage/WebPage.h:
40977        Removed m_deviceScaleFactor. We always get the scale factor from WebCore now.
40978
409792011-08-17  Anders Carlsson  <andersca@apple.com>
40980
40981        Remove unused Core Animation related classes
40982        https://bugs.webkit.org/show_bug.cgi?id=66393
40983
40984        Reviewed by Darin Adler.
40985
40986        * Shared/mac/CoreAnimationRenderer.h: Removed.
40987        * Shared/mac/CoreAnimationRenderer.mm: Removed.
40988        * Shared/mac/ShareableSurface.cpp: Removed.
40989        * Shared/mac/ShareableSurface.h: Removed.
40990        * WebKit2.xcodeproj/project.pbxproj:
40991
409922011-08-15  Dmitry Titov  <dimich@chromium.org>
40993
40994        FrameLoaderClient::transferLoadingResourceFromPage does not have enough parameters
40995        https://bugs.webkit.org/show_bug.cgi?id=66165
40996
40997        Reviewed by Darin Fisher.
40998
40999        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
41000        (WebKit::WebFrameLoaderClient::transferLoadingResourceFromPage):
41001        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
41002
410032011-08-15  Balazs Kelemen  <kbalazs@webkit.org>
41004
41005        [Qt][WK2] Unreviewed build fix after r93058.
41006
41007        * UIProcess/TiledDrawingAreaProxy.cpp:
41008        (WebKit::TiledDrawingAreaProxy::deviceScaleFactorDidChange):
41009        * UIProcess/TiledDrawingAreaProxy.h:
41010
410112011-08-15  Adam Roben  <aroben@apple.com>
41012
41013        Update pages' style and content scale when the window's backing scale factor changes
41014
41015        Unfortunately, I couldn't think of a way to test this in an automated fashion.
41016
41017        Fixes <http://webkit.org/b/66229> <rdar://problem/9906269> WebKit doesn't react to device
41018        scale factor changes
41019
41020        Reviewed by Simon Fraser.
41021
41022        * UIProcess/API/mac/WKView.mm:
41023        (-[WKView addWindowObserversForWindow:]):
41024        (-[WKView removeWindowObservers]):
41025        Listen for the notification that tells us the window's backing scale has changed.
41026
41027        (-[WKView _windowDidChangeResolution:]): Tell the WebPageProxy about the change.
41028
41029        * UIProcess/DrawingAreaProxy.h:
41030        * UIProcess/DrawingAreaProxyImpl.h:
41031        Added deviceScaleFactorDidChange.
41032
41033        * UIProcess/DrawingAreaProxyImpl.cpp:
41034        (WebKit::DrawingAreaProxyImpl::deviceScaleFactorDidChange): Request a new backing store
41035        since the current one is using an old device scale factor.
41036        (WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState): Send the device scale factor
41037        along to the web process so it can render accordingly. This is how we tell the web process
41038        about device scale factor changes.
41039
41040        * UIProcess/WebPageProxy.cpp:
41041        (WebKit::WebPageProxy::viewStateDidChange): Tell the DrawingAreaProxy when the device scale
41042        factor changes.
41043        (WebKit::WebPageProxy::deviceScaleFactor): Added this simple getter that calls through to
41044        the PageClient. DrawingAreaProxy uses this function.
41045
41046        * UIProcess/WebPageProxy.h: Added new members.
41047
41048        * WebProcess/WebPage/DrawingArea.h:
41049        (WebKit::DrawingArea::updateBackingStoreState):
41050        * WebProcess/WebPage/DrawingArea.messages.in:
41051        * WebProcess/WebPage/DrawingAreaImpl.h:
41052        Send the device scale factor in the UpdateBackingStoreState message.
41053
41054        * WebProcess/WebPage/DrawingAreaImpl.cpp:
41055        (WebKit::DrawingAreaImpl::updateBackingStoreState): Tell the WebPage and LayerTreeHost about
41056        the new device scale factor.
41057
41058        * WebProcess/WebPage/LayerTreeHost.h:
41059        * WebProcess/WebPage/ca/LayerTreeHostCA.h:
41060        Added deviceScaleFactorDidChange.
41061
41062        * WebProcess/WebPage/WebPage.cpp:
41063        (WebKit::WebPage::setDeviceScaleFactor): Store the new scale factor and tell the page about
41064        it so that, e.g., scale-factor-dependent media queries will be reevaluated.
41065
41066        * WebProcess/WebPage/WebPage.h: Added setDeviceScaleFactor.
41067
41068        * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
41069        (WebKit::LayerTreeHostCA::deviceScaleFactorDidChange): Tell the layer for non-composited
41070        content about the new scale factor.
41071
410722011-08-15  Benjamin Poulain  <benjamin@webkit.org>
41073
41074        [Qt][WK2] Get rid of QTouchWebPagePrivate::getPageViewPrivate()
41075        https://bugs.webkit.org/show_bug.cgi?id=66222
41076
41077        Reviewed by Kenneth Rohde Christiansen.
41078
41079        The function QTouchWebPagePrivate::getPageViewPrivate() exposed
41080        the private QTouchWebPage to any object in WebKit.
41081
41082        Instead, use the friend keyword to list which objects can access
41083        the internal of QTouchWebPage.
41084
41085        * UIProcess/API/qt/qtouchwebpage.h:
41086        * UIProcess/API/qt/qtouchwebpage_p.h:
41087        * UIProcess/API/qt/qtouchwebview.cpp:
41088        (QTouchWebViewPrivate::QTouchWebViewPrivate):
41089        (QTouchWebViewPrivate::viewportRectUpdated):
41090
410912011-08-15  Balazs Kelemen  <kbalazs@webkit.org>
41092
41093        Unreviewed.
41094        Fix Qt-WK2 build after r93040.
41095
41096        * UIProcess/qt/QtWebPageProxy.h:
41097        (QtWebPageProxy::deviceScaleFactor):
41098
410992011-08-10  Adam Roben  <aroben@apple.com>
41100
41101        Clear up scale factor terminology
41102
41103        WebKit by and large deals with two scale factors: one intrinsic to the device on which the
41104        software is running, and one that is per-Page and can be controlled via API calls. This
41105        patch names the former "deviceScaleFactor" and the latter "pageScaleFactor", and makes the
41106        code use those names. It should introduce no behavior changes.
41107
41108        Fixes <http://webkit.org/b/55787> WebKit uses multiple conflicting names to refer to the
41109        device scale factor
41110
41111        Reviewed by Simon Fraser.
41112
41113        * Shared/UpdateInfo.cpp:
41114        * Shared/UpdateInfo.h:
41115        * Shared/WebPageCreationParameters.cpp:
41116        * Shared/WebPageCreationParameters.h:
41117        * UIProcess/API/C/WKPage.cpp:
41118        * UIProcess/API/efl/PageClientImpl.cpp:
41119        * UIProcess/API/efl/PageClientImpl.h:
41120        * UIProcess/API/gtk/PageClientImpl.h:
41121        * UIProcess/API/mac/PageClientImpl.h:
41122        * UIProcess/API/mac/PageClientImpl.mm:
41123        * UIProcess/BackingStore.cpp:
41124        * UIProcess/BackingStore.h:
41125        * UIProcess/DrawingAreaProxyImpl.cpp:
41126        * UIProcess/PageClient.h:
41127        * UIProcess/WebPageProxy.cpp:
41128        * UIProcess/WebPageProxy.h:
41129        * UIProcess/WebPageProxy.messages.in:
41130        * UIProcess/WebPopupMenuProxy.h:
41131        * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
41132        * UIProcess/gtk/WebPopupMenuProxyGtk.h:
41133        * UIProcess/mac/BackingStoreMac.mm:
41134        * UIProcess/mac/WebPageProxyMac.mm:
41135        * UIProcess/mac/WebPopupMenuProxyMac.h:
41136        * UIProcess/mac/WebPopupMenuProxyMac.mm:
41137        * UIProcess/qt/WebPopupMenuProxyQt.h:
41138        * UIProcess/win/WebPopupMenuProxyWin.h:
41139        * UIProcess/win/WebView.h:
41140        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
41141        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
41142        * WebProcess/WebCoreSupport/WebChromeClient.h:
41143        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
41144        * WebProcess/WebPage/DrawingAreaImpl.cpp:
41145        * WebProcess/WebPage/FindController.cpp:
41146        * WebProcess/WebPage/WebPage.cpp:
41147        * WebProcess/WebPage/WebPage.h:
41148        * WebProcess/WebPage/WebPage.messages.in:
41149        * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
41150        * WebProcess/WebPage/ca/LayerTreeHostCA.h:
41151
411522011-08-13  Sam Weinig  <sam@webkit.org>
41153
41154        Remove unused variables from WKFullScreenWindowController.h
41155        https://bugs.webkit.org/show_bug.cgi?id=66193
41156
41157        Reviewed by Dan Bernstein.
41158
41159        * UIProcess/mac/WKFullScreenWindowController.h:
41160        Remove _layerViewPlaceholder, _isWindowLoaded and _initialFrame which were not used.
41161
411622011-08-12  Dan Bernstein  <mitz@apple.com>
41163
41164        <rdar://problem/7337717> Add an option to automatically show tooltips (with the full text) over truncated text
41165        https://bugs.webkit.org/show_bug.cgi?id=66178
41166
41167        Reviewed by Simon Fraser.
41168
41169        * Shared/WebPreferencesStore.h:
41170        * UIProcess/API/C/WKPreferences.cpp:
41171        (WKPreferencesSetShowsToolTipOverTruncatedText): Added this setter.
41172        (WKPreferencesGetShowsToolTipOverTruncatedText): Added this getter.
41173        * UIProcess/API/C/WKPreferencesPrivate.h:
41174        * WebProcess/WebPage/WebPage.cpp:
41175        (WebKit::WebPage::updatePreferences): Handle the showsToolTipOverTruncatedText preference.
41176
411772011-08-12  Mark Rowe  <mrowe@apple.com>
41178
41179        Be more forward-looking in the choice of compiler.
41180
41181        Rubber-stamped by Jon Honeycutt.
41182
41183        * Configurations/CompilerVersion.xcconfig:
41184
411852011-08-11  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
41186
41187        VectorArgumentCoder doesn't encode/decode enough data for more than one byte vector elements
41188        https://bugs.webkit.org/show_bug.cgi?id=66109
41189
41190        Reviewed by Anders Carlsson.
41191
41192        Multiply vector size by element size in encode/decode to get correct byte size of vector data.
41193
41194        * Platform/CoreIPC/ArgumentCoders.h:
41195
411962011-08-11  Nico Weber  <thakis@chromium.org>
41197
41198        Remove incorrect comment about m_wheelEventHandlerCount
41199        https://bugs.webkit.org/show_bug.cgi?id=66117
41200
41201        Reviewed by Simon Fraser.
41202
41203        From what I can tell, this number is changed only in
41204        Frame::notifyChromeClientWheelEventHandlerCountChanged(),
41205        and there it just reads the number modified in
41206        Document::didAdd/RemoveWheelEventHandler(). So this is just the number
41207        of event handlers (and not related to horizontal scrollbars), and the
41208        variable name expresses that already.
41209
41210        * UIProcess/WebPageProxy.h:
41211
412122011-08-11  Kenneth Rohde Christiansen  <kenneth@webkit.org>
41213
41214        [Qt/WK2] Add initial support for viewport meta tag
41215        https://bugs.webkit.org/show_bug.cgi?id=65975
41216
41217        Reviewed by Benjamin Poulain.
41218
41219        Redirect the viewport arguments through to the view.
41220
41221        * UIProcess/API/qt/qdesktopwebview.cpp:
41222        (QDesktopWebViewPrivate::didReceiveViewportArguments):
41223        * UIProcess/API/qt/qdesktopwebview_p.h:
41224        * UIProcess/API/qt/qtouchwebview.cpp:
41225        (QTouchWebView::geometryChanged):
41226        * UIProcess/qt/QtWebPageProxy.cpp:
41227        (QtWebPageProxy::setViewportArguments):
41228        * UIProcess/qt/QtWebPageProxy.h:
41229        * UIProcess/qt/TouchViewInterface.cpp:
41230        (WebKit::TouchViewInterface::updateViewportState):
41231        (WebKit::TouchViewInterface::didReceiveViewportArguments):
41232        * UIProcess/qt/TouchViewInterface.h:
41233        (WebKit::TouchViewInterface::ViewportState::ViewportState):
41234        * UIProcess/qt/ViewInterface.h:
41235        * UIProcess/qt/qtouchwebpageproxy.cpp:
41236        (QTouchWebPageProxy::QTouchWebPageProxy):
41237        * UIProcess/qt/qtouchwebpageproxy.h:
41238
412392011-08-10  David Hyatt  <hyatt@apple.com>
41240
41241        https://bugs.webkit.org/show_bug.cgi?id=66004
41242
41243        Removing the CSS Regions and CSS Exclusions ifdefs.
41244
41245        Reviewed by Adam Roben.
41246
41247        * Configurations/FeatureDefines.xcconfig:
41248
412492011-08-10  Alexey Proskuryakov  <ap@apple.com>
41250
41251        Accidentally commented out an assertion in BackingStore::incorporateUpdate
41252        https://bugs.webkit.org/show_bug.cgi?id=65989
41253
41254        Reviewed by Anders Carlsson.
41255
41256        I couldn't get this assertion to fire in quick testing, let's bring it back.
41257
41258        * UIProcess/BackingStore.cpp: (WebKit::BackingStore::incorporateUpdate):
41259
412602011-08-10  Lars Knudsen  <lars.knudsen@nokia.com>
41261
41262        Add device specific settings to support viewport computing
41263        https://bugs.webkit.org/show_bug.cgi?id=65984
41264
41265        Reviewed by Kenneth Rohde Christiansen.
41266
41267        Expose new viewport related WebCore settings to WebKit2.
41268
41269        * Shared/WebPreferencesStore.h:
41270        * WebProcess/WebPage/WebPage.cpp:
41271        (WebKit::WebPage::updatePreferences):
41272
412732011-08-09  John Sullivan  <sullivan@apple.com>
41274
41275        WKPageCopyPendingAPIRequestURL returns stale result if policy decision set to Ignore
41276        https://bugs.webkit.org/show_bug.cgi?id=65950
41277        <rdar://problem/9925931>
41278
41279        Reviewed by Anders Carlsson.
41280
41281        * UIProcess/WebPageProxy.cpp:
41282        (WebKit::WebPageProxy::receivedPolicyDecision):
41283        Call clearPendingAPIRequestURL() if the policy decision is PolicyIgnore.
41284
412852011-08-09  Anders Carlsson  <andersca@apple.com>
41286
41287        Add a WebKit prefix to the user default.
41288
41289        Reviewed by Dan Bernstein.
41290
41291        * UIProcess/mac/WebContextMac.mm:
41292        (WebKit::WebContext::platformInitializeWebProcess):
41293
412942011-08-09  Anders Carlsson  <andersca@apple.com>
41295
41296        Add a user default to disable the plug-in process message timeout
41297        https://bugs.webkit.org/show_bug.cgi?id=65945
41298
41299        Reviewed by Adam Roben.
41300
41301        * Shared/WebProcessCreationParameters.cpp:
41302        (WebKit::WebProcessCreationParameters::encode):
41303        (WebKit::WebProcessCreationParameters::decode):
41304        * Shared/WebProcessCreationParameters.h:
41305        Add a disablePluginProcessMessageTimeout member variable.
41306
41307        * UIProcess/mac/WebContextMac.mm:
41308        (WebKit::WebContext::platformInitializeWebProcess):
41309        Initialize the disablePluginProcessMessageTimeout member variable from the 
41310        "DisablePluginProcessMessageTimeout" user default.
41311
41312        * WebProcess/Plugins/PluginProcessConnection.cpp:
41313        (WebKit::defaultSyncMessageTimeout):
41314        Return NoTimeout if WebProcess::disablePluginProcessMessageTimeout returns true.
41315
41316        * WebProcess/WebProcess.cpp:
41317        (WebKit::WebProcess::WebProcess):
41318        (WebKit::WebProcess::initializeWebProcess):
41319        Initialize m_disablePluginProcessMessageTimeout.
41320        
41321        * WebProcess/WebProcess.h:
41322        (WebKit::WebProcess::disablePluginProcessMessageTimeout):
41323        Add getter.
41324
413252011-08-09  Mark Hahnenberg  <mhahnenberg@apple.com>
41326
41327        Add ParentClass typedef in all JSC classes
41328        https://bugs.webkit.org/show_bug.cgi?id=65731
41329
41330        Reviewed by Oliver Hunt.
41331
41332        Just added the Base typedefs in all the classes that are a subclass of JSCell 
41333        to point at their parent classes.  This is a change to support future changes to the way
41334        constructors and destructors are implemented in JS objects, among other things.
41335
41336        * WebProcess/Plugins/Netscape/JSNPMethod.h:
41337        * WebProcess/Plugins/Netscape/JSNPObject.h:
41338
413392011-08-08  Adrienne Walker  <enne@google.com>
41340
41341        Add testing for --force-compositing-mode to windows.internal
41342        https://bugs.webkit.org/show_bug.cgi?id=65777
41343
41344        Reviewed by Adam Barth.
41345
41346        Add exports for Document::settings().
41347
41348        * win/WebKit2.def:
41349        * win/WebKit2CFLite.def:
41350
413512011-08-09  Kenneth Rohde Christiansen  <kenneth@webkit.org>
41352
41353        [Qt] Redirect didFindZoomableArea thru to the view
41354        https://bugs.webkit.org/show_bug.cgi?id=65913
41355
41356        Reviewed by Andreas Kling.
41357
41358        * UIProcess/API/qt/qdesktopwebview.cpp:
41359        (QDesktopWebViewPrivate::didFindZoomableArea):
41360        * UIProcess/API/qt/qdesktopwebview_p.h:
41361        * UIProcess/qt/QtWebPageProxy.cpp:
41362        (QtWebPageProxy::didFindZoomableArea):
41363        * UIProcess/qt/QtWebPageProxy.h:
41364        * UIProcess/qt/TouchViewInterface.cpp:
41365        (WebKit::TouchViewInterface::didFindZoomableArea):
41366        * UIProcess/qt/TouchViewInterface.h:
41367        * UIProcess/qt/ViewInterface.h:
41368        * UIProcess/qt/qdesktopwebpageproxy.cpp:
41369        (QDesktopWebPageProxy::timerEvent):
41370        * UIProcess/qt/qdesktopwebpageproxy.h:
41371        * UIProcess/qt/qtouchwebpageproxy.cpp:
41372        (QTouchWebPageProxy::setContentsScale):
41373        * UIProcess/qt/qtouchwebpageproxy.h:
41374
413752011-08-09  Kenneth Rohde Christiansen  <kenneth@webkit.org>
41376
41377        [Qt] Vastly improve the algorithm for finding a zoomable area when doing double-tap
41378        https://bugs.webkit.org/show_bug.cgi?id=65907
41379
41380        Reviewed by Andreas Kling.
41381
41382        This is upstreaming of the algorithm we are currently using on the N9 browser
41383        and this also fixes a bug with not considering the frame positions when finding
41384        a zoomable area.
41385
41386        * UIProcess/PageClient.h:
41387        * UIProcess/WebPageProxy.cpp:
41388        (WebKit::WebPageProxy::didFindZoomableArea):
41389        * UIProcess/WebPageProxy.h:
41390        * UIProcess/WebPageProxy.messages.in:
41391        * UIProcess/qt/qdesktopwebpageproxy.cpp:
41392        (QDesktopWebPageProxy::didFindZoomableArea):
41393        * UIProcess/qt/qdesktopwebpageproxy.h:
41394        * UIProcess/qt/qtouchwebpageproxy.cpp:
41395        (QTouchWebPageProxy::didFindZoomableArea):
41396        * UIProcess/qt/qtouchwebpageproxy.h:
41397        * WebProcess/WebPage/WebPage.cpp:
41398        (WebKit::WebPage::findZoomableAreaForPoint):
41399
414002011-08-08  Chris Marrin  <cmarrin@apple.com>
41401
41402        Logic to compute visible display rect in GraphicsLayerCA::syncCompositingState
41403        https://bugs.webkit.org/show_bug.cgi?id=65708
41404
41405        Supply initial display rects for the full-screen case
41406
41407        Reviewed by Simon Fraser.
41408
41409        * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
41410        (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer):
41411        (WebKit::WebFullScreenManagerMac::beginEnterFullScreenAnimation):
41412        (WebKit::WebFullScreenManagerMac::beginExitFullScreenAnimation):
41413
414142011-08-08  Dan Bernstein  <mitz@apple.com>
41415
41416        <rdar://problem/9652350> REGRESSION (r87755): WKView doesn't update when I drag files into a background Safari window
41417        https://bugs.webkit.org/show_bug.cgi?id=65860
41418
41419        Reviewed by Simon Fraser.
41420
41421        When layer flush scheduling is re-enabled, schedule a layer flush, just in case one was requested while
41422        scheduling was disabled. It doesn’t seem worthwhile to track whether that in fact happened, so do so
41423        unconditionally.
41424
41425        * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
41426        (WebKit::LayerTreeHostCAMac::setLayerFlushSchedulingEnabled):
41427        * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp:
41428        (WebKit::LayerTreeHostCAWin::setLayerFlushSchedulingEnabled):
41429
414302011-08-05  Pavel Feldman  <pfeldman@chromium.org>
41431
41432        Web Inspector: implement dock/undock in WebKit2 without getting into WebCore.
41433        https://bugs.webkit.org/show_bug.cgi?id=65763
41434
41435        InspectorFrontendClient.h can't have synchronous canAttachWindow() returning value
41436        since in the multiprocess environment, you can't immediately get back to it from the host.
41437
41438        r92384 introduced an unhealthy WebKit -> WebCore -> WebKit canAttach query where embedder
41439        was asking itself a question. This loop was fixed.
41440
41441        Reviewed by Yury Semikhatsky.
41442
41443        * UIProcess/WebInspectorProxy.cpp:
41444        (WebKit::WebInspectorProxy::attach):
41445        (WebKit::WebInspectorProxy::createInspectorPage):
41446        (WebKit::WebInspectorProxy::didLoadInspectorPage):
41447        (WebKit::WebInspectorProxy::shouldOpenAttached):
41448        * UIProcess/WebInspectorProxy.h:
41449        * UIProcess/WebInspectorProxy.messages.in:
41450        * UIProcess/efl/WebInspectorEfl.cpp:
41451        (WebKit::WebInspectorProxy::platformInspectedWindowHeight):
41452        * UIProcess/gtk/WebInspectorGtk.cpp:
41453        (WebKit::WebInspectorProxy::platformInspectedWindowHeight):
41454        * UIProcess/mac/WebInspectorProxyMac.mm:
41455        (WebKit::WebInspectorProxy::platformOpen):
41456        (WebKit::WebInspectorProxy::platformInspectedWindowHeight):
41457        * UIProcess/qt/WebInspectorProxyQt.cpp:
41458        (WebKit::WebInspectorProxy::platformOpen):
41459        (WebKit::WebInspectorProxy::platformInspectedWindowHeight):
41460        * UIProcess/win/WebInspectorProxyWin.cpp:
41461        (WebKit::WebInspectorProxy::platformOpen):
41462        (WebKit::WebInspectorProxy::platformInspectedWindowHeight):
41463        * WebProcess/WebPage/WebInspector.cpp:
41464        (WebKit::WebInspector::didLoadInspectorPage):
41465        * WebProcess/WebPage/WebInspector.h:
41466        * WebProcess/WebPage/WebInspector.messages.in:
41467
414682011-08-07  Joseph Pecoraro  <joepeck@webkit.org>
41469
41470        [QT] Possible Leaks WKRetainPtr<> should Adopt allocated Copy
41471        https://bugs.webkit.org/show_bug.cgi?id=65790
41472
41473        Reviewed by Sam Weinig.
41474
41475        Fix a leak by adopting an allocation instead of retaining it.
41476
41477        * UIProcess/qt/qwkhistory.cpp:
41478        (QWKHistoryItem::title):
41479        (QWKHistoryItem::url):
41480
414812011-08-06  Mark Rowe  <mrowe@apple.com>
41482
41483        Fix a memory leak found via code inspection.
41484
41485        Rubber-stamped by Dan Bernstein.
41486
41487        * WebProcess/Downloads/mac/DownloadMac.mm:
41488        (WebKit::setOriginalURLForDownload): Adopt the newly-allocated NSURL instance
41489        so that it does not leak.
41490
414912011-08-06  Aron Rosenberg  <arosenberg@logitech.com>
41492
41493        Reviewed by Benjamin Poulain.
41494
41495        [Qt] Fix build with Intel compiler on Windows
41496        https://bugs.webkit.org/show_bug.cgi?id=65088
41497
41498        Intel compiler needs .lib suffixes instead of .a
41499
41500        * WebKit2.pri:
41501
415022011-08-05  Darin Adler  <darin@apple.com>
41503
41504        Reviewed by Anders Carlsson.
41505
41506        [WebKit2] Fix code paths that can leave frame view paint behavior in the wrong state
41507        https://bugs.webkit.org/show_bug.cgi?id=63779
41508
41509        * WebProcess/Plugins/PluginView.cpp:
41510        (WebKit::PluginView::handleEvent): Unrelated cleanup. Removed unneeded local variable.
41511
41512        * WebProcess/WebPage/WebPage.cpp:
41513        (WebKit::WebPage::snapshotInViewCoordinates): Rearranged code so that the call to
41514        setPaintBehavior is after the early exit. Also got rid of unneeded save/restore since
41515        the function uses a graphics context that it then throws away.
41516        (WebKit::WebPage::scaledSnapshotInDocumentCoordinates): Ditto.
41517
415182011-08-04  Mark Rowe  <mrowe@apple.com>
41519
41520        Future-proof Xcode configuration settings.
41521
41522        * Configurations/Base.xcconfig:
41523        * Configurations/CompilerVersion.xcconfig:
41524        * Configurations/DebugRelease.xcconfig:
41525        * Configurations/Version.xcconfig:
41526        * Configurations/WebKit2.xcconfig:
41527
415282011-08-01  Brian Weinstein  <bweinstein@apple.com>
41529
41530        WebKit2: Web Inspector always starts in undocked mode
41531        https://bugs.webkit.org/show_bug.cgi?id=65493
41532        <rdar://problem/9353114>
41533        
41534        Reviewed by Adam Roben.
41535        
41536        When opening the inspector, the web process tells the UI process that the inspector page has loaded,
41537        but now will pass another bit of data, whether the inspector can start attached, so the UI process
41538        doesn't need to ask the web process to do another calculation on whether or not it can be attached.
41539        
41540        If the user prefers the inspector to start docked (this defaults to true), and there is room for the
41541        window, we send a message to the web process to try and attach the inspector. This makes sure that the
41542        inspector knows it is docked (in the web process).
41543        
41544        * UIProcess/WebInspectorProxy.cpp:
41545        (WebKit::WebInspectorProxy::attach): Update the user's docked/undocked preference if the inspector is visible
41546            when it was attached.
41547        (WebKit::WebInspectorProxy::detach): Ditto (but when it was detached).
41548        (WebKit::WebInspectorProxy::didLoadInspectorPage): If we can start docked, and the user prefers to start docked,
41549            then request the inspector be attached to the window.
41550        * UIProcess/WebInspectorProxy.h:
41551
41552        * UIProcess/mac/WebInspectorProxyMac.mm:
41553        (WebKit::WebInspectorProxy::platformOpen): Only show the window if we are going to start undocked.
41554        * UIProcess/win/WebInspectorProxyWin.cpp:
41555        (WebKit::WebInspectorProxy::platformOpen): Ditto.
41556
41557        * WebProcess/WebPage/WebInspector.cpp:
41558        (WebKit::WebInspector::didLoadInspectorPage): Pass whether or not we can attach the window.
41559        (WebKit::WebInspector::requestAttachWindow): Call through to the InspectorController to attach the inspector.
41560        (WebKit::WebInspector::canAttachWindow): Ask the InspectorController if we can attach the inspector.
41561        * WebProcess/WebPage/WebInspector.h:
41562
41563        * Shared/WebPreferencesStore.h: Add a new preference for whether or not the inspector should
41564            start attached.
41565
41566        * UIProcess/WebInspectorProxy.messages.in: When the inspector page is loaded, tell the UI Process whether
41567            we can attach the inspector without needing another message.
41568        * WebProcess/WebPage/WebInspector.messages.in: Add a new message for RequestAttachWindow
41569
415702011-08-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
41571
41572        [Qt][WK2] Create scene graph nodes for tiles in QTouchWebView instead of using imperative painting.
41573        https://bugs.webkit.org/show_bug.cgi?id=65528
41574
41575        Reviewed by Benjamin Poulain.
41576
41577        Converts QTouchWebPage from QSGPaintedItem to a straight QSGItem.
41578        - A SGTileNode is created and added to the scene graph for each tile,
41579          positioning them relatively to the page.
41580          It's basically a QSGSimpleTextureNode with support for specifying a
41581          source rect plus for owning the QSGTexture for proper destruction on
41582          shutdown by the rendering thread.
41583        - Scale nodes are used as parent of tile nodes to revert the scaling set on the
41584          QTouchWebPage and allow us to keep using integer coordinates.
41585        - The SGAgent class is introduced to carry scene graph update request up to the
41586          updatePaintNode call of the item, which may be on the scene graph rendering thread.
41587
41588        * UIProcess/API/qt/qtouchwebpage.cpp:
41589        (QTouchWebPage::QTouchWebPage):
41590        (QTouchWebPage::updatePaintNode):
41591        Delegate scene graph updates to the SGAgent which received update requests from the tiled drawing area.
41592        (QTouchWebPage::event):
41593        (QTouchWebPage::geometryChanged):
41594        (QTouchWebPagePrivate::QTouchWebPagePrivate):
41595        * UIProcess/API/qt/qtouchwebpage.h:
41596        * UIProcess/API/qt/qtouchwebpage_p.h:
41597        * UIProcess/TiledDrawingAreaProxy.cpp:
41598        Manage the scale node in the TileSet, it will be the parent node of Tile nodes.
41599        (WebKit::TiledDrawingAreaTileSet::sgNodeID):
41600        (WebKit::TiledDrawingAreaTileSet::TiledDrawingAreaTileSet):
41601        (WebKit::TiledDrawingAreaTileSet::~TiledDrawingAreaTileSet):
41602        (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
41603        (WebKit::TiledDrawingAreaProxy::setContentsScale):
41604        (WebKit::TiledDrawingAreaProxy::createTiles):
41605        (WebKit::TiledDrawingAreaProxy::removeAllTiles):
41606        * UIProcess/TiledDrawingAreaTile.h:
41607        (WebKit::TiledDrawingAreaTile::create):
41608        * UIProcess/qt/SGAgent.cpp: Added.
41609        * UIProcess/qt/SGAgent.h: Added.
41610        * UIProcess/qt/SGTileNode.cpp: Added.
41611        * UIProcess/qt/SGTileNode.h: Added.
41612        * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
41613        Disable the paint call and update the scene graph on incorporateUpdate through the SGAgent.
41614        (WebKit::TiledDrawingAreaProxy::updateWebView):
41615        * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
41616        (WebKit::TiledDrawingAreaTile::TiledDrawingAreaTile):
41617        (WebKit::TiledDrawingAreaTile::~TiledDrawingAreaTile):
41618        (WebKit::TiledDrawingAreaTile::isReadyToPaint):
41619        (WebKit::TiledDrawingAreaTile::swapBackBufferToFront):
41620        (WebKit::TiledDrawingAreaTile::paint):
41621        (WebKit::TiledDrawingAreaTile::incorporateUpdate):
41622        (WebKit::TiledDrawingAreaTile::disableUpdates):
41623        (WebKit::TiledDrawingAreaTile::setParentNodeID):
41624        * UIProcess/qt/TouchViewInterface.cpp:
41625        (WebKit::TouchViewInterface::sceneGraphAgent):
41626        (WebKit::TouchViewInterface::setViewNeedsDisplay):
41627        * UIProcess/qt/TouchViewInterface.h:
41628        * WebKit2.pro:
41629
416302011-08-04  Alexis Menard  <alexis.menard@openbossa.org>
41631
41632        [Qt] Make navigation actions properly usable in QML.
41633        https://bugs.webkit.org/show_bug.cgi?id=65624
41634
41635        Add a new class that is exposed in QML to control the navigation
41636        like reload/stop/back/forward. Enums are not very QML friendly,
41637        it not possible to use enums that are not declared in the same class
41638        than the object exposed in QML, therefore it makes hard the sharing
41639        between the desktop and the touch views. In addition namespaced enums are
41640        even harder to support in QML. QWebNavigationController is
41641        not really meant to be used in C++ but it is exported for convenience
41642        reason (tests and MiniBrowser) so its API is not meant to be public but
41643        exposed in QML through properties and convenience slots. The QML code to use
41644        the navigation action in QML will look like "desktopView.navigation.reload();"
41645        or "if (desktopView.navigation.reloadAction.enabled) ...".
41646
41647        Reviewed by Benjamin Poulain.
41648
41649        * UIProcess/API/qt/WKView.h: To get the forward header generated
41650        * UIProcess/API/qt/qdesktopwebview.cpp:
41651        (QDesktopWebViewPrivate::QDesktopWebViewPrivate):
41652        (QDesktopWebView::navigationController):
41653        * UIProcess/API/qt/qdesktopwebview.h:
41654        * UIProcess/API/qt/qdesktopwebview_p.h:
41655        * UIProcess/API/qt/qmlplugin/plugin.cpp:
41656        (WebKit2QmlPlugin::registerTypes):
41657        * UIProcess/API/qt/qtouchwebpage.cpp:
41658        (QTouchWebPage::navigationController):
41659        (QTouchWebPagePrivate::QTouchWebPagePrivate):
41660        * UIProcess/API/qt/qtouchwebpage.h:
41661        * UIProcess/API/qt/qtouchwebpage_p.h:
41662        * UIProcess/API/qt/qwebnavigationcontroller.cpp: Added.
41663        (QWebNavigationControllerPrivate::QWebNavigationControllerPrivate):
41664        (QWebNavigationController::QWebNavigationController):
41665        (QWebNavigationController::~QWebNavigationController):
41666        (QWebNavigationController::backAction):
41667        (QWebNavigationController::forwardAction):
41668        (QWebNavigationController::stopAction):
41669        (QWebNavigationController::reloadAction):
41670        (QWebNavigationController::navigationAction):
41671        (QWebNavigationController::back):
41672        (QWebNavigationController::forward):
41673        (QWebNavigationController::stop):
41674        (QWebNavigationController::reload):
41675        * UIProcess/API/qt/qwebnavigationcontroller.h: Added.
41676        * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
41677        (WebViewAbstraction::triggerNavigationAction):
41678        * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp:
41679        (tst_QDesktopWebView::navigationActionsStatusAtStartup):
41680        (LoadStartedCatcher::onLoadStarted):
41681        (tst_QDesktopWebView::stopActionEnabledAfterLoadStarted):
41682        * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp:
41683        (tst_QTouchWebView::navigationActionsStatusAtStartup):
41684        * WebKit2API.pri:
41685
416862011-08-03  Jeff Miller  <jeffm@apple.com>
41687
41688        Use of AVFoundation should default to off on Windows
41689        https://bugs.webkit.org/show_bug.cgi?id=65660
41690
41691        Reviewed by Darin Adler.
41692
41693        * Shared/WebPreferencesStore.h: Change default value for AVFoundationEnabled to false on Windows, it's still true on other platforms.
41694
416952011-08-03  Mark Rowe  <mrowe@apple.com>
41696
41697        Bring some order to FeatureDefines.xcconfig to make it easier to follow.
41698
41699        Reviewed by Sam Weinig.
41700
41701        * Configurations/FeatureDefines.xcconfig:
41702
417032011-08-03  Mark Rowe  <mrowe@apple.com>
41704
41705        Clean up FeatureDefines.xcconfig to remove some unnecessary conditional settings
41706
41707        Reviewed by Dave Kilzer.
41708
41709        * Configurations/FeatureDefines.xcconfig:
41710
417112011-08-03  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
41712
41713        [Qt] [WK2] Improve position of context menu for QDesktopWebView
41714        https://bugs.webkit.org/show_bug.cgi?id=65635
41715
41716        Reviewed by Andreas Kling.
41717
41718        Do not assume that the QDesktopWebView takes the entire canvas when
41719        positioning the context menu.
41720
41721        * UIProcess/API/qt/qdesktopwebview.cpp:
41722        (QDesktopWebViewPrivate::showContextMenu):
41723
417242011-08-03  Anders Carlsson  <andersca@apple.com>
41725
41726        Fix API tests.
41727
41728        Initialize threading before trying to allocate the WebContext.
41729
41730        * UIProcess/WebContext.cpp:
41731        (WebKit::WebContext::sharedProcessContext):
41732        (WebKit::WebContext::create):
41733
417342011-08-03  Pavel Feldman  <pfeldman@google.com>
41735
41736        Web Inspector: [Timeline] Hover on paint events and see rect outline around that area.
41737        https://bugs.webkit.org/show_bug.cgi?id=65510
41738
41739        Reviewed by Yury Semikhatsky.
41740
41741        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
41742        (WebKit::WebInspectorClient::drawRect):
41743
417442011-08-02  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
41745
41746        [Qt] [WK2] Expose web view classes to QML
41747        https://bugs.webkit.org/show_bug.cgi?id=65339
41748
41749        Reviewed by Benjamin Poulain.
41750
41751        This patch also uses QuickTest from QtDeclarative to provide the basic autotest
41752        infrastructure for the exposed elements.
41753
41754        * UIProcess/API/qt/qmlplugin/plugin.cpp: Added.
41755        (WebKit2QmlPlugin::registerTypes):
41756        * UIProcess/API/qt/qmlplugin/qmldir: Added.
41757        * UIProcess/API/qt/qmlplugin/qmlplugin.pro: Added.
41758        * UIProcess/API/qt/qtouchwebpage.h: Expose load() to QML environment.
41759        * UIProcess/API/qt/qtouchwebview.h: Since QTouchWebPage* doesn't change once set
41760        in the constructor, we mark the page property as CONSTANT. This avoid QML
41761        warnings for not having a NOTIFY signal for the property change.
41762
41763        * UIProcess/API/qt/tests/tests.pro:
41764        * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml: Added.
41765        * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml: Added.
41766        * UIProcess/API/qt/tests/qmltests/common/test1.html: Added.
41767        * UIProcess/API/qt/tests/qmltests/qmltests.pro: Added.
41768        * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp: Added.
41769
417702011-08-03  Carlos Garcia Campos  <cgarcia@igalia.com>
41771
41772        [GTK] Install web and plugin processes in libexecdir instead of bindir
41773        https://bugs.webkit.org/show_bug.cgi?id=65600
41774
41775        Reviewed by Martin Robinson.
41776
41777        Launch processes from libexecdir or WEBKIT_EXEC_PATH
41778        environment variable when it's set. This variable will be used by
41779        MiniBrowser and unit tests to find processes without having to
41780        install them.
41781
41782        * GNUmakefile.am:
41783        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
41784        (WebKit::ProcessLauncher::launchProcess):
41785
417862011-08-03  Pavel Feldman  <pfeldman@chromium.org>
41787
41788        Web Inspector: remove Node parameter from the InspectorClient::highlight
41789        https://bugs.webkit.org/show_bug.cgi?id=65549
41790
41791        Reviewed by Yury Semikhatsky.
41792
41793        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
41794        (WebKit::WebInspectorClient::highlight):
41795        * WebProcess/WebCoreSupport/WebInspectorClient.h:
41796
417972011-08-03  Carlos Garcia Campos  <cgarcia@igalia.com>
41798
41799        [GTK] Reorganize pkg-config files
41800        https://bugs.webkit.org/show_bug.cgi?id=65548
41801
41802        Reviewed by Martin Robinson.
41803
41804        * GNUmakefile.am: Rename pc file as webkit2gtk.pc.in. WebKit2
41805        depends on gtk3 unconditionally so we don't need to use
41806        WEBKITGTK_PC_NAME.
41807        * webkit2gtk.pc.in: Renamed from Source/WebKit2/gtk/webkit2.pc.in.
41808
418092011-08-01  Michael Saboff  <msaboff@apple.com>
41810
41811        Virtual copying of FastMalloc allocated memory causes madvise MADV_FREE_REUSABLE errors
41812        https://bugs.webkit.org/show_bug.cgi?id=65502
41813
41814        Reviewed by Anders Carlsson.
41815
41816        Changed OOL message to use MACH_MSG_PHYSICAL_COPY flag instead of virtual flag
41817        so that the original memory region isn't referenced by the message and ultimately
41818        the receiving process.  The additional reference caused madvise(MADV_FREE_REUSABLE)
41819        to fail when it encountered such pages.
41820
41821        * Platform/CoreIPC/mac/ConnectionMac.cpp:
41822        (CoreIPC::Connection::sendOutgoingMessage):
41823
418242011-07-29  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
41825
41826        [Qt] Add QtWebProcess in PATH at runtime for WebKit2 API auto tests.
41827        https://bugs.webkit.org/show_bug.cgi?id=65378
41828
41829        Reviewed by Benjamin Poulain.
41830
41831        This prevent the runner of the tests from having to add it to PATH himself.
41832
41833        * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
41834        (tst_CommonViewTests::tst_CommonViewTests):
41835        * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp:
41836        (tst_QDesktopWebView::tst_QDesktopWebView):
41837        * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp:
41838        (tst_QTouchWebView::tst_QTouchWebView):
41839        * UIProcess/API/qt/tests/tests.pri:
41840        * UIProcess/API/qt/tests/util.cpp: Copied from Source/WebKit2/UIProcess/API/qt/tests/util.h.
41841        Move definitions to a cpp file to prevent unused static symbol warnings.
41842        (addQtWebProcessToPath):
41843        (waitForSignal):
41844        * UIProcess/API/qt/tests/util.h:
41845
418462011-07-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
41847
41848        TiledDrawingArea: Handle update requests in the order they were received.
41849        https://bugs.webkit.org/show_bug.cgi?id=64365
41850
41851        Reviewed by Andreas Kling.
41852
41853        TiledDrawingAreaProxy::createTiles() uses the distance of tiles to the
41854        center of the viewport to decide which tile should be rendered first.
41855        This logic is useless if the requests are not handled in the same order
41856        as they were received.
41857        Now use a list instead of a map to hold pending tile update requests.
41858
41859        * WebProcess/WebPage/TiledDrawingArea.cpp:
41860        (WebKit::TiledDrawingArea::tileUpdateTimerFired):
41861        (WebKit::TiledDrawingArea::cancelTileUpdate):
41862        (WebKit::TiledDrawingArea::requestTileUpdate):
41863        * WebProcess/WebPage/TiledDrawingArea.h:
41864
418652011-08-02  Amruth Raj  <amruthraj@motorola.com>
41866
41867        Custom cursors cause the WebProcess to crash
41868        https://bugs.webkit.org/show_bug.cgi?id=64802
41869
41870        Reviewed by Martin Robinson.
41871
41872        * Shared/WebCoreArgumentCoders.cpp:
41873        (CoreIPC::::encode): In case of a NULL cursor image, encode a bool indicating that.
41874        (CoreIPC::::decode): Decode the image only if required.
41875
418762011-08-01  Scott Graham  <scottmg@chromium.org>
41877
41878        REGRESSION (r39725?): Resources removed from document can not be freed until the document is deleted
41879        https://bugs.webkit.org/show_bug.cgi?id=61006
41880
41881        Reviewed by Antti Koivisto.
41882
41883        Update exports for test harness.
41884
41885        * win/WebKit2.def:
41886        * win/WebKit2CFLite.def:
41887
418882011-08-01  Hayato Ito  <hayato@chromium.org>
41889
41890        Add support for getting an element in shadow root by its id into a window.internals object.
41891        https://bugs.webkit.org/show_bug.cgi?id=64587
41892
41893        Reviewed by Hajime Morita.
41894
41895        * win/WebKit2.def:
41896        * win/WebKit2CFLite.def:
41897
418982011-08-01  Sheriff Bot  <webkit.review.bot@gmail.com>
41899
41900        Unreviewed, rolling out r92108.
41901        http://trac.webkit.org/changeset/92108
41902        https://bugs.webkit.org/show_bug.cgi?id=65459
41903
41904        breaks SL compile (Requested by tonyg-cr on #webkit).
41905
41906        * Shared/WebCoreArgumentCoders.cpp:
41907        (CoreIPC::::encode):
41908        (CoreIPC::::decode):
41909
419102011-08-01  Amruth Raj  <amruthraj@motorola.com>
41911
41912        Custom cursors cause the WebProcess to crash
41913        https://bugs.webkit.org/show_bug.cgi?id=64802
41914
41915        Reviewed by Darin Adler.
41916
41917        * Shared/WebCoreArgumentCoders.cpp:
41918        (CoreIPC::::encode): In case of a NULL cursor image, encode a bool indicating that.
41919        (CoreIPC::::decode): Decode the image only if required.
41920
419212011-07-31  Daniel Bates  <dbates@webkit.org>
41922
41923        Try again to fix the WinCairo Debug build after r92059 ( https://bugs.webkit.org/show_bug.cgi?id=65419).
41924
41925        * win/WebKit2CFLite.def: Export symbols needed by Internals.
41926
419272011-07-30  Dan Bernstein  <mitz@apple.com>
41928
41929        Try to fix the Windows build after r92059.
41930
41931        * win/WebKit2.def: Export symbols needed by Internals.
41932
419332011-07-30  Patrick Gansterer  <paroga@webkit.org>
41934
41935        Remove inclusion of MainThread.h from Threading.h
41936        https://bugs.webkit.org/show_bug.cgi?id=65081
41937
41938        Reviewed by Darin Adler.
41939
41940        Add missing include statements for MainThread.
41941
41942        * PluginProcess/gtk/PluginProcessMainGtk.cpp:
41943        * PluginProcess/mac/PluginProcessMainMac.mm:
41944        * PluginProcess/qt/PluginProcessMainQt.cpp:
41945        * UIProcess/API/mac/WKPrintingView.mm:
41946        * UIProcess/Launcher/mac/ThreadLauncherMac.mm:
41947        * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
41948        * UIProcess/Launcher/win/ThreadLauncherWin.cpp:
41949        * UIProcess/WebContext.cpp:
41950        * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp:
41951        * WebProcess/efl/WebProcessMainEfl.cpp:
41952        * WebProcess/gtk/WebProcessMainGtk.cpp:
41953        * WebProcess/mac/KeychainItemShimMethods.mm:
41954        * WebProcess/mac/WebProcessMainMac.mm:
41955        * WebProcess/qt/WebProcessMainQt.cpp:
41956        * WebProcess/win/WebProcessMainWin.cpp:
41957
419582011-07-30  Balazs Kelemen  <kbalazs@webkit.org>
41959
41960        [Qt][WK2] Fix the build afer r92014
41961        https://bugs.webkit.org/show_bug.cgi?id=65410
41962
41963        Reviewed by Noam Rosenthal.
41964
41965        * Shared/ShareableBitmap.h:
41966        * UIProcess/qt/qdesktopwebpageproxy.cpp:
41967        (QDesktopWebPageProxy::paintContent):
41968
419692011-07-29  Sam Weinig  <sam@webkit.org>
41970
41971        Move Region code from WebKit2 to WebCore
41972        https://bugs.webkit.org/show_bug.cgi?id=65392
41973
41974        Reviewed by David Hyatt.
41975
41976        * CMakeLists.txt:
41977        * GNUmakefile.am:
41978        * WebKit2.pro:
41979        * WebKit2.xcodeproj/project.pbxproj:
41980        * win/WebKit2.vcproj:
41981        Update project files.
41982
41983        * Platform/Region.cpp: Removed.
41984        * Platform/Region.h: Removed.
41985        Remove Region files.
41986
41987        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
41988        (webkitWebViewBaseDraw):
41989        * UIProcess/API/mac/WKView.mm:
41990        * UIProcess/DrawingAreaProxyImpl.cpp:
41991        * UIProcess/DrawingAreaProxyImpl.h:
41992        * UIProcess/qt/qdesktopwebpageproxy.cpp:
41993        * UIProcess/win/WebView.cpp:
41994        * WebProcess/WebPage/DrawingAreaImpl.h:
41995        Update for new namespace and include type.
41996
419972011-07-29  Anders Carlsson  <andersca@apple.com>
41998
41999        Pass the HTTP referrer header for URLs loaded by plug-ins
42000        https://bugs.webkit.org/show_bug.cgi?id=65379
42001        <rdar://problem/9822116>
42002
42003        Reviewed by Sam Weinig.
42004
42005        Set the HTTP referrer if necessary.
42006
42007        * WebProcess/Plugins/PluginView.cpp:
42008        (WebKit::PluginView::loadURL):
42009
420102011-07-29  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
42011
42012        Fix the QTouchWebView in debug segfault on shutdown introduced in 91979.
42013        https://bugs.webkit.org/show_bug.cgi?id=64728
42014
42015        Reviewed by Benjamin Poulain.
42016
42017        unregisterTile is called in the tile's destructor, triggered in the TileSet's
42018        destruction, which happens in the middle of the proxy's destruction
42019        (after the m_tilesByID HashMap destruction).
42020        Detach the tiles in the proxy's destructor to make sure they can cleanup
42021        using a valid proxy.
42022
42023        * UIProcess/TiledDrawingAreaProxy.cpp:
42024        (WebKit::TiledDrawingAreaProxy::~TiledDrawingAreaProxy):
42025
420262011-07-29  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
42027
42028        Fix the QTouchWebView in debug broke in 91979.
42029        https://bugs.webkit.org/show_bug.cgi?id=64728
42030
42031        Reviewed by Benjamin Poulain.
42032
42033        registerTile is called in the Tile's constructor, before adoptRef.
42034        Change the pointer parameter to use the raw type instead.
42035
42036        * UIProcess/TiledDrawingAreaProxy.cpp:
42037        (WebKit::TiledDrawingAreaProxy::registerTile):
42038        * UIProcess/TiledDrawingAreaProxy.h:
42039
420402011-07-29  Alexis Menard  <alexis.menard@openbossa.org>
42041
42042        [Qt] Make QDesktopWebView/QTouchWebView loadProgress property more usable in QML.
42043        https://bugs.webkit.org/show_bug.cgi?id=65315
42044
42045        Reviewed by Benjamin Poulain.
42046
42047        In order to use the loadProgress value in QML we need to make it
42048        a Q_PROPERTY, therefore we need a getter to get it.
42049
42050        * UIProcess/API/qt/qdesktopwebview.cpp:
42051        (QDesktopWebViewPrivate::didChangeLoadProgress):
42052        (QDesktopWebView::url):
42053        (QDesktopWebView::loadProgress):
42054        * UIProcess/API/qt/qdesktopwebview.h:
42055        * UIProcess/API/qt/qtouchwebpage.cpp:
42056        (QTouchWebPage::loadProgress):
42057        * UIProcess/API/qt/qtouchwebpage.h:
42058        * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
42059        (tst_CommonViewTests::stop):
42060        (tst_CommonViewTests::loadProgress):
42061        * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
42062        (WebViewAbstraction::WebViewAbstraction):
42063        (WebViewAbstraction::loadProgress):
42064        (WebViewAbstraction::desktopViewLoadFailed):
42065        (WebViewAbstraction::touchViewLoadProgressChanged):
42066        (WebViewAbstraction::desktopViewLoadProgressChanged):
42067        * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
42068        * UIProcess/qt/QtWebPageProxy.cpp:
42069        (QtWebPageProxy::QtWebPageProxy):
42070        (QtWebPageProxy::didChangeLoadProgress):
42071        * UIProcess/qt/QtWebPageProxy.h:
42072        (QtWebPageProxy::loadProgress):
42073        * UIProcess/qt/TouchViewInterface.cpp:
42074        (WebKit::TouchViewInterface::didChangeLoadProgress):
42075
420762011-07-27  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
42077
42078        TiledDrawingArea: Use tile sets to paint old content while rendering for a new scale.
42079        https://bugs.webkit.org/show_bug.cgi?id=64728
42080
42081        Reviewed by Benjamin Poulain.
42082
42083        We currently delete all the tiles when setContentsScale is called. This shows a blank
42084        background to the user while the web process render tiles for the new scale.
42085
42086        This patch extracts the ownership of individual tiles from TiledDrawingAreaProxy to
42087        TiledDrawingAreaTileSet to allow the proxy to paint tiles with different scales.
42088        We can then paint the tiles we already have on top of the tiles we are rendering for
42089        the new scale until enough content is available.
42090
42091        * UIProcess/TiledDrawingAreaProxy.cpp:
42092        (WebKit::TiledDrawingAreaTileSet::tiles):
42093        (WebKit::TiledDrawingAreaTileSet::contentsScale):
42094        (WebKit::TiledDrawingAreaTileSet::TiledDrawingAreaTileSet):
42095        (WebKit::TiledDrawingAreaTileSet::mapToContents):
42096        (WebKit::TiledDrawingAreaTileSet::mapFromContents):
42097        (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
42098        (WebKit::TiledDrawingAreaProxy::registerTile):
42099        (WebKit::TiledDrawingAreaProxy::unregisterTile):
42100        Added those two methods to allow the tiles to clean
42101        themselves on destruction.
42102        (WebKit::TiledDrawingAreaProxy::requestTileUpdate):
42103        (WebKit::TiledDrawingAreaProxy::cancelTileUpdate):
42104        (WebKit::TiledDrawingAreaProxy::invalidate):
42105        (WebKit::TiledDrawingAreaProxy::updateTileBuffers):
42106        (WebKit::TiledDrawingAreaProxy::tileBufferUpdateComplete):
42107        (WebKit::TiledDrawingAreaProxy::paint):
42108        (WebKit::TiledDrawingAreaProxy::coverageRatio):
42109        (WebKit::TiledDrawingAreaProxy::setContentsScale):
42110        (WebKit::TiledDrawingAreaProxy::createTiles):
42111        (WebKit::TiledDrawingAreaProxy::resizeEdgeTiles):
42112        (WebKit::TiledDrawingAreaProxy::dropTilesOutsideRect):
42113        (WebKit::TiledDrawingAreaProxy::disableTileSetUpdates):
42114        (WebKit::TiledDrawingAreaProxy::removeAllTiles):
42115        (WebKit::TiledDrawingAreaProxy::contentsRect):
42116        (WebKit::TiledDrawingAreaProxy::visibleRect):
42117        (WebKit::TiledDrawingAreaProxy::hasPendingUpdates):
42118        * UIProcess/TiledDrawingAreaProxy.h:
42119        * UIProcess/TiledDrawingAreaTile.h:
42120        * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
42121        (WebKit::TiledDrawingAreaTile::TiledDrawingAreaTile):
42122        (WebKit::TiledDrawingAreaTile::~TiledDrawingAreaTile):
42123        (WebKit::TiledDrawingAreaTile::incorporateUpdate):
42124        (WebKit::TiledDrawingAreaTile::disableUpdates):
42125        (WebKit::TiledDrawingAreaTile::updateBackBuffer):
42126
421272011-07-28  Tim Horton  <timothy_horton@apple.com>
42128
42129        REGRESSION (5.1): CJK input broken after clicking on Flash content
42130        <rdar://problem/9854447>
42131        https://bugs.webkit.org/show_bug.cgi?id=65349
42132
42133        Reviewed by Darin Adler.
42134
42135        After giving Flash focus on a page and then navigating away from that page
42136        using the back button, we were not getting notified to switch back to
42137        inline (non-complex) input. Now, notify the page that it can leave complex
42138        text mode when the plugin is destroyed.
42139
42140        * WebProcess/Plugins/PluginView.cpp:
42141        (WebKit::PluginView::~PluginView):
42142
421432011-07-28  Anders Carlsson  <andersca@apple.com>
42144
42145        Crash when trying to encode FontInfo with a null font attribute descriptor
42146        https://bugs.webkit.org/show_bug.cgi?id=65350
42147        <rdar://problem/9520670>
42148
42149        Reviewed by Darin Adler.
42150
42151        * Shared/FontInfo.cpp:
42152        (WebKit::FontInfo::encode):
42153        Encode a boolean specifying whether there's a fontAttributeDictionary member variable.
42154
42155        (WebKit::FontInfo::decode):
42156        Don't try to decode the fontAttributeDictionary member variable if none has been encoded.
42157
421582011-07-26  Chris Fleizach  <cfleizach@apple.com>
42159
42160        REGRESSION (Safari 5.1): JavaScript dialogs not usable with VoiceOver
42161        https://bugs.webkit.org/show_bug.cgi?id=65214
42162
42163        Reviewed by Anders Carlsson.
42164
42165        Allow the ability to spin the run loop while WebProcess is waiting for a synchronous reply.
42166        This allows it to continue to serve accessibility requests while waiting and basically
42167        restores the behavior WK1 was presenting. This patch only enables this mode when accessibility is on.
42168
42169        * Platform/CoreIPC/Connection.cpp:
42170        (CoreIPC::Connection::sendSyncMessage):
42171        (CoreIPC::Connection::waitForSyncReply):
42172        * Platform/CoreIPC/Connection.h:
42173        (CoreIPC::Connection::sendSync):
42174        * Platform/RunLoop.h:
42175        * Platform/mac/RunLoopMac.mm:
42176        (RunLoop::runForDuration):
42177        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
42178        (WebKit::WebChromeClient::runJavaScriptAlert):
42179        (WebKit::WebChromeClient::runJavaScriptConfirm):
42180        (WebKit::WebChromeClient::runJavaScriptPrompt):
42181
421822011-07-28  Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
42183
42184        Pass the key_press_event or key_release_event to parent widget when it is not handled by Web Process.
42185        (https://bugs.webkit.org/show_bug.cgi?id=64790)
42186
42187        Reviewed by Martin Robinson.
42188
42189        * Shared/NativeWebKeyboardEvent.h:
42190        (WebKit::NativeWebKeyboardEvent::nativeEvent): Return a GdkEvent* instead of const GdkEvent* (non-const).
42191        * UIProcess/API/gtk/PageClientImpl.cpp:
42192        (WebKit::PageClientImpl::doneWithKeyEvent): Implemented for GTK port. Sets flag if the keyboard event 
42193        needs to be passed to the parent widget. Invoke gtk_main_do_event() if event needs to be passed to parent.
42194        * UIProcess/API/gtk/PageClientImpl.h: Deleted obsolete functions didNotHandleKeyEvent & didNotHandleWheelEvent.
42195        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
42196        (webkit_web_view_base_init): Initialize shouldForwardNextKeyEvent flag.
42197        (webkitWebViewBaseKeyPressEvent): Pass event to parent widget depending on status from doneWithKeyEvent. 
42198        (webkitWebViewBaseKeyReleaseEvent): Pass event to parent widget depending on status from doneWithKeyEvent.
42199        (webkitWebViewBaseForwardNextKeyEvent): API to set flag shouldForwardNextKeyEvent.
42200        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Added API to set shouldForwardNextKeyEvent flag.
42201
422022011-07-28  Dan Bernstein  <mitz@apple.com>
42203
42204        <rdar://problem/9589433> Displaying Japanese dictionary contents in vertical orientation takes a couple of seconds
42205
42206        Reviewed by Darin Adler.
42207
42208        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
42209        (InitWebCoreSystemInterface): Initialize wkGetVerticalGlyphsForCharacters.
42210
422112011-07-28  Brady Eidson  <beidson@apple.com>
42212
42213        <rdar://problem/9714337> and https://bugs.webkit.org/show_bug.cgi?id=65306
42214        WebKitInitializeStorageIfNecessary() can take awhile performing i/o, isn't necessary for every WebView
42215
42216        Reviewed by Maciej Stachowiak.
42217
42218        * WebProcess/WebProcess.cpp:
42219        (WebKit::WebProcess::initializeWebProcess): Pass a null client pointer in the new form of initializeTracker()
42220
422212011-07-27  Mark Hahnenberg  <mhahnenberg@apple.com>
42222
42223        Remove operator new from JSCell
42224        https://bugs.webkit.org/show_bug.cgi?id=64999
42225
42226        Reviewed by Oliver Hunt.
42227
42228        Removed the implementation of operator new in JSCell, so any further uses
42229        will not successfully link.  Also removed any remaining uses of operator new.
42230
42231        * WebProcess/Plugins/Netscape/JSNPMethod.h:
42232        (WebKit::JSNPMethod::create):
42233        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
42234        (WebKit::JSNPObject::methodGetter):
42235        * WebProcess/Plugins/Netscape/JSNPObject.h:
42236        (WebKit::JSNPObject::create):
42237        * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
42238        (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
42239
422402011-07-27  Benjamin Poulain  <benjamin@webkit.org>
42241
42242        [WK2][Qt] Move from QGraphicsView to Qt Scene Graph
42243        https://bugs.webkit.org/show_bug.cgi?id=62969
42244
42245        Reviewed by Andreas Kling.
42246
42247        Co-authored with Simon Hausmann  <simon.hausmann@nokia.com>
42248
42249        This patch change the base of WebKit2 from QGraphicsWidget
42250        to scenegraph based items.
42251
42252        QTouchWebView becomes a QSGItem with the only role of clipping
42253        child items.
42254        QTouchWebPage becomes a QSGPaintedItem in order to render the content
42255        of the flattened page. This is a temporary work around to get
42256        something running without deep changes on the drawing area proxy.
42257
42258        QDesktopWebView become a QSGPaintedItem and behave as before
42259        regarding rendering. The drawing area proxy is used to render
42260        the full item.
42261
42262        The event delivery had to be adapted because the scenegraph does not
42263        follow regular delivery of QEvents. Instead, each event type is
42264        delivered directly to a specific virtual function.
42265        In this patch, the events are forwarded to the classic QObject::event().
42266
42267        For the features that cannot be implemented on scenegraph (tooltip, menus, etc),
42268        a temporary workaround was added: the parent canvas is used as the widget for
42269        providing the feature. This assumes the web views alone in the canvas and
42270        take its full size. This will have to be fixed in the scenegraph for us to
42271        implement those features.
42272
42273        * UIProcess/API/qt/qdesktopwebview.cpp:
42274        (QDesktopWebViewPrivate::drawingAreaSize):
42275        (QDesktopWebViewPrivate::isActive):
42276        (QDesktopWebViewPrivate::startDrag):
42277        (QDesktopWebViewPrivate::didChangeToolTip):
42278        (QDesktopWebViewPrivate::didChangeCursor):
42279        (QDesktopWebViewPrivate::showContextMenu):
42280        (QDesktopWebView::QDesktopWebView):
42281        (QDesktopWebView::init):
42282        (paintCrashedPage):
42283        (QDesktopWebView::keyPressEvent):
42284        (QDesktopWebView::keyReleaseEvent):
42285        (QDesktopWebView::inputMethodEvent):
42286        (QDesktopWebView::focusInEvent):
42287        (QDesktopWebView::focusOutEvent):
42288        (QDesktopWebView::mousePressEvent):
42289        (QDesktopWebView::mouseMoveEvent):
42290        (QDesktopWebView::mouseReleaseEvent):
42291        (QDesktopWebView::mouseDoubleClickEvent):
42292        (QDesktopWebView::wheelEvent):
42293        (QDesktopWebView::touchEvent):
42294        (QDesktopWebView::hoverEnterEvent):
42295        (QDesktopWebView::hoverMoveEvent):
42296        (QDesktopWebView::hoverLeaveEvent):
42297        (QDesktopWebView::dragMoveEvent):
42298        (QDesktopWebView::dragEnterEvent):
42299        (QDesktopWebView::dragExitEvent):
42300        (QDesktopWebView::dragDropEvent):
42301        (QDesktopWebView::geometryChanged):
42302        (QDesktopWebView::paint):
42303        (QDesktopWebView::event):
42304        * UIProcess/API/qt/qdesktopwebview.h:
42305        * UIProcess/API/qt/qtouchwebpage.cpp:
42306        (QTouchWebPage::QTouchWebPage):
42307        (QTouchWebPage::paint):
42308        (QTouchWebPage::event):
42309        (QTouchWebPage::keyPressEvent):
42310        (QTouchWebPage::keyReleaseEvent):
42311        (QTouchWebPage::inputMethodEvent):
42312        (QTouchWebPage::focusInEvent):
42313        (QTouchWebPage::focusOutEvent):
42314        (QTouchWebPage::touchEvent):
42315        (QTouchWebPage::geometryChanged):
42316        * UIProcess/API/qt/qtouchwebpage.h:
42317        * UIProcess/API/qt/qtouchwebview.cpp:
42318        (QTouchWebViewPrivate::scroll):
42319        (QTouchWebView::QTouchWebView):
42320        (QTouchWebView::geometryChanged):
42321        * UIProcess/API/qt/qtouchwebview.h:
42322        * UIProcess/API/qt/tests/tests.pri:
42323        * UIProcess/API/qt/tests/testwindow.h:
42324        (TestWindow::TestWindow):
42325        (TestWindow::resizeEvent):
42326        * UIProcess/qt/TouchViewInterface.cpp:
42327        (WebKit::TouchViewInterface::panGestureRequestScroll):
42328        (WebKit::TouchViewInterface::pinchGestureRequestUpdate):
42329        (WebKit::TouchViewInterface::drawingAreaSize):
42330        (WebKit::TouchViewInterface::contentSizeChanged):
42331        (WebKit::TouchViewInterface::isActive):
42332        * UIProcess/qt/ViewInterface.cpp: Removed.
42333        * UIProcess/qt/ViewInterface.h:
42334        * WebKit2.pro:
42335
423362011-07-27  Benjamin Poulain  <benjamin@webkit.org>
42337
42338        [Qt][WK2] Clean WKPageLoaderClient
42339        https://bugs.webkit.org/show_bug.cgi?id=65246
42340
42341        Reviewed by Andreas Kling.
42342
42343        Remove the empty functions from Qt's WKPageLoaderClient.
42344
42345        * UIProcess/qt/ClientImpl.cpp:
42346        (qt_wk_didSameDocumentNavigationForFrame): Move the function to
42347        have all the implementations in the same order as the definitions.
42348        * UIProcess/qt/ClientImpl.h:
42349        * UIProcess/qt/QtWebPageProxy.cpp:
42350        (QtWebPageProxy::init):
42351
423522011-07-27  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
42353
42354        Fix Qt (and possibly Gtk) WebKit2 build after addition of -webkit-pictograph
42355        https://bugs.webkit.org/show_bug.cgi?id=65253
42356
42357        Reviewed by Andreas Kling.
42358
42359        The -webkit-pictograph generic family was added by bug 65197.
42360
42361        * Shared/WebPreferencesStore.h:
42362
423632011-07-27  Benjamin Poulain  <benjamin@webkit.org>
42364
42365        [Qt][WK2] Simplify the PageUIClient
42366        https://bugs.webkit.org/show_bug.cgi?id=65198
42367
42368        Reviewed by Andreas Kling.
42369
42370        The only function of WKPageLoaderClient with a complete implementation
42371        is qt_wk_setStatusText(). The other functions were what is left from
42372        before the refactoring of QWKPage.
42373
42374        This patch removes the unused functions to simplify the client. Since the dependency
42375        on QtWebPageProxy is removed from that client, it now calls the ViewInterface directly.
42376
42377        * UIProcess/qt/ClientImpl.cpp:
42378        (toViewInterface):
42379        (qt_wk_setStatusText):
42380        * UIProcess/qt/ClientImpl.h:
42381        * UIProcess/qt/QtWebPageProxy.cpp:
42382        (QtWebPageProxy::QtWebPageProxy):
42383        (QtWebPageProxy::init):
42384        * UIProcess/qt/QtWebPageProxy.h:
42385
423862011-07-26  Sadrul Habib Chowdhury  <sadrul@chromium.org>
42387
42388        Add support for download='filename' attribute in anchors.
42389        https://bugs.webkit.org/show_bug.cgi?id=64580
42390
42391        Reviewed by Adam Barth.
42392
42393        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
42394        (WebKit::WebFrameLoaderClient::startDownload):
42395        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
42396
423972011-07-26  Tim Horton  <timothy_horton@apple.com>
42398
42399        Apply r40940 to WebKit2 to work around a Silverlight crash.
42400        https://bugs.webkit.org/show_bug.cgi?id=65205
42401        <rdar://problem/9058370>
42402
42403        Reviewed by Anders Carlsson.
42404
42405        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
42406        (WebKit::NetscapePluginModule::determineQuirks):
42407        * Shared/Plugins/PluginQuirks.h:
42408        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
42409        (WebKit::NetscapePlugin::userAgent):
42410
424112011-07-26  Dan Bernstein  <mitz@apple.com>
42412
42413        <rdar://problem/9842889> Add a generic pictograph font family
42414        https://bugs.webkit.org/show_bug.cgi?id=65197
42415
42416        Reviewed by Anders Carlsson.
42417
42418        * Shared/WebPreferencesStore.h:
42419        * UIProcess/API/C/WKPreferences.cpp:
42420        (WKPreferencesSetPictographFontFamily): Added.
42421        (WKPreferencesCopyPictographFontFamily): Added.
42422        * UIProcess/API/C/WKPreferences.h:
42423
424242011-07-26  Andras Becsi  <abecsi@webkit.org>
42425
42426        [Qt] [WK2] Disable the build with Qt versions older than 5.0 
42427        https://bugs.webkit.org/show_bug.cgi?id=65189
42428
42429        Reviewed by Csaba Osztrogonác.
42430
42431        * Platform/qt/ModuleQt.cpp:
42432        (WebKit::Module::platformFunctionPointer): Fix the build for Qt5.
42433
424342011-07-26  Benjamin Poulain  <benjamin@webkit.org>
42435
42436        [Qt][WK2] Make the WebContextMenuProxyQt handle the full interactions between the views and the WebPageProxy
42437        https://bugs.webkit.org/show_bug.cgi?id=64739
42438
42439        Reviewed by Andreas Kling.
42440
42441        Change the WebContextMenuProxyQt to be the intermediary between the WebPageProxy and our views regarding
42442        the context menu.
42443
42444        The actions of the context menu are no longer the responsibility of QtWebPageProxy but are instead
42445        created and handled directly by the WebContextMenuProxyQt.
42446
42447        * UIProcess/qt/QtWebPageProxy.cpp:
42448        (QtWebPageProxy::createContextMenuProxy):
42449        (QtWebPageProxy::triggerAction):
42450        (QtWebPageProxy::action):
42451        * UIProcess/qt/QtWebPageProxy.h:
42452        * UIProcess/qt/WebContextMenuProxyQt.cpp:
42453        (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
42454        (WebKit::WebContextMenuProxyQt::create):
42455        (WebKit::WebContextMenuProxyQt::actionTriggered):
42456        (WebKit::WebContextMenuProxyQt::showContextMenu):
42457        (WebKit::WebContextMenuProxyQt::hideContextMenu):
42458        (WebKit::WebContextMenuProxyQt::createContextMenu):
42459        * UIProcess/qt/WebContextMenuProxyQt.h:
42460
424612011-07-26  Carlos Garcia Campos  <cgarcia@igalia.com>
42462
42463        [GTK] Remove header webkitwebviewcommon.h
42464        https://bugs.webkit.org/show_bug.cgi?id=65177
42465
42466        Reviewed by Martin Robinson.
42467
42468        * UIProcess/API/gtk/WebKitWebView.h: Add function prototypes
42469        instead of including webkitwebviewcommon.h.
42470
424712011-07-22  Jessie Berlin  <jberlin@apple.com>
42472
42473        [WebKit2] Changing the cookie accept policy in Private Browsing doesn’t work.
42474        https://bugs.webkit.org/show_bug.cgi?id=64997
42475
42476        Reviewed by Ada Chan.
42477
42478        * WebProcess/Cookies/mac/WebCookieManagerMac.mm:
42479        (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
42480        Set the policy on the Cookie Storage used by the Private Browsing Storage Session as well.
42481        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
42482        (InitWebCoreSystemInterface):
42483
424842011-07-21  Yael Aharon  <yael.aharon@nokia.com>
42485
42486        [Qt][WK2] Code cleanup for drag-and-drop
42487        https://bugs.webkit.org/show_bug.cgi?id=64916
42488
42489        Reviewed by Andreas Kling.
42490
42491        * UIProcess/WebPageProxy.cpp:
42492        (WebKit::WebPageProxy::startDrag):
42493        Allow receiving a NULL bitmap from the web process.
42494        
42495        * UIProcess/qt/qdesktopwebpageproxy.cpp:
42496        (QDesktopWebPageProxy::handleEvent):
42497        Fix typo introduced in http://trac.webkit.org/changeset/90458.
42498        All DnD related events should be GraphicsScene events.
42499        
42500        * WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp:
42501        (WebKit::convertQPixmapToShareableBitmap):
42502        Remove hack that creates a 1x1 bitmap.
42503        It is no longer needed after http://trac.webkit.org/changeset/91016.
42504        
42505        (WebKit::WebDragClient::startDrag):
42506        Allow sending a NULL bitmap to the UI process.
42507
425082011-07-20  Tim Horton  <timothy_horton@apple.com>
42509
42510        Scrollbar color heuristic needs to be hooked up in WebKit1
42511        https://bugs.webkit.org/show_bug.cgi?id=64220
42512        <rdar://problem/9589140>
42513
42514        Reviewed by Darin Adler.
42515
42516        Store the scroller style on ScrollableArea, and recompute it whenever
42517        the document or body element background color changes or the base background
42518        color of the scrollview changes. Also, make sure to repaint the scrollbars
42519        whenever the style changes.
42520
42521        * WebProcess/WebPage/WebFrame.cpp:
42522        (WebKit::WebFrame::getDocumentBackgroundColor):
42523
425242011-07-20  James Robinson  <jamesr@chromium.org>
42525
42526        Revert worker and WebKit2 runloops to use currentTime() for scheduling instead of the monotonic clock
42527        https://bugs.webkit.org/show_bug.cgi?id=64841
42528
42529        Reviewed by Mark Rowe.
42530
42531        http://trac.webkit.org/changeset/91206 converted most of WebKit's deferred work scheduling to using the
42532        monotonic clock instead of WTF::currentTime().  This broke many plugin tests on WebKit2 for reasons that are
42533        unclear.  This reverts everything except for WebCore::ThreadTimers back to the previous behavior.
42534
42535        * Platform/CoreIPC/Connection.cpp:
42536        (CoreIPC::Connection::waitForMessage):
42537        (CoreIPC::Connection::waitForSyncReply):
42538        * Platform/RunLoop.h:
42539
425402011-07-19  Ryosuke Niwa  <rniwa@webkit.org>
42541
42542        Build fix after r91307.
42543
42544        * Platform/Logging.h:
42545
425462011-07-19  Lukasz Slachciak  <lukasz.slachciak@gmail.com>
42547
42548        [GTK] [WK2] Implement missing initializeLogChannel function.
42549        https://bugs.webkit.org/show_bug.cgi?id=63381
42550
42551        Reviewed by Martin Robinson.
42552
42553        Implemented logging for GTK platform in WebKit2 - function initializeLogChannel is called for all ports,
42554        so added missing implementation. Aslo helper function added for getting channels from names.
42555
42556        * GNUmakefile.am: Added reference to new file LoggingGtk.cpp.
42557        * Platform/Logging.cpp: Logging implementation for GTK port enabled.
42558        (WebKit::getChannelFromName): Helper to connect name with WTFLogChannel.
42559        * Platform/Logging.h: New helper method added.
42560        * Platform/gtk/LoggingGtk.cpp: Added. GTK logging implementation.
42561        (WebKit::initializeLogChannel): Channel is initialized if its name is found in WEBKIT_DEBUG.
42562
425632011-07-19  Brian Weinstein  <bweinstein@apple.com>
42564
42565        Add back a change that was accidentally removed in r91266.
42566        
42567        Make sure to retain the WKPasteboardFilePromiseOwner before calling draggedImage because draggedImage releases
42568        its responder. Also make the comment more explicit, to keep this mistake from being made in the future.
42569        
42570        Rubber-stamped by Darin Adler.
42571
42572        * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
42573        (WebKit::WebDragClient::dragEnded):
42574
425752011-07-18  Brian Weinstein  <bweinstein@apple.com>
42576
42577        Speculative fix for: Crash under WebPage::platformDragEnded when dragging on Mac
42578        https://bugs.webkit.org/show_bug.cgi?id=64766
42579        <rdar://problem/9548174>
42580
42581        Reviewed by Enrica Casucci.
42582
42583        I was unable to reproduce this bug, but Darin Adler and I discussed the probable issue. When starting the drag, we create 
42584        a WKPasteboardFilePromiseOwner, and a WKPasteboardOwner. When the drag is concluded, we call a method on the WKPasteboardFilePromiseOwner
42585        which uses the WKPasteboardOwner. However, we are not guaranteeing that the WKPasteboardOwner will be around when the 
42586        WKPasteboardFilePromiseOwner method is called.
42587        
42588        The fix is to retain both the WKPasteboardFilePromiseOwner and the WKPasteboardOwner that we need, making sure that we are keeping
42589        both objects alive.
42590        
42591        This patch also uses r91222 to replace WebPage::platformDragEnded, so WebPage doesn't need to know about the drag source.
42592
42593        * WebProcess/WebCoreSupport/WebDragClient.cpp:
42594        (WebKit::WebDragClient::dragEnded): Add a non-Mac stub method, since the Mac is the only platform that does something here.
42595        * WebProcess/WebCoreSupport/WebDragClient.h:
42596        * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
42597        (WebKit::WebDragClient::declareAndWriteDragImage): Use member variables instead of local variables.
42598        (WebKit::WebDragClient::dragEnded): Move code from WebPageMac::platformDragEnded to here, and clear both member variables.
42599        * WebProcess/WebPage/WebPage.cpp:
42600        (WebKit::WebPage::dragEnded): Don't call platformDragEnded anymore. WebCore::DragController::dragEnded calls WebDragClient::dragEnded,
42601            which does the same thing.
42602        * WebProcess/WebPage/WebPage.h:
42603        * WebProcess/WebPage/mac/WebPageMac.mm: Remove platformDragEnded.
42604
426052011-07-18  Alexis Menard  <alexis.menard@openbossa.org>
42606
42607        [Qt][WK2] Make QDesktopWebView::navigationAction method usable in QML.
42608        https://bugs.webkit.org/show_bug.cgi?id=64690
42609
42610        Make the API usable with QML by declaring what's needed
42611        with the macros.
42612
42613        Reviewed by Benjamin Poulain.
42614
42615        * UIProcess/API/qt/qdesktopwebview.h:
42616
426172011-07-18  MORITA Hajime  <morrita@google.com>
42618
42619        [ShadowContentElement] forwarded node should be able to access its hosting content element.
42620        https://bugs.webkit.org/show_bug.cgi?id=64251
42621
42622        Reviewed by Dimitri Glazkov.
42623
42624        Exported additional symbols for window.internals object.
42625
42626        * win/WebKit2.def:
42627        * win/WebKit2CFLite.def:
42628
426292011-07-18  Dean Jackson  <dino@apple.com>
42630
42631        https://bugs.webkit.org/show_bug.cgi?id=64742
42632        Expose WebPreferences for media playback requiring user gestures and inline playback
42633
42634        Reviewed by Simon Fraser.
42635
42636        Two new WebPreferences: MediaPlaybackRequiresUserGesture and
42637        MediaPlaybackAllowsInline.
42638
42639        * Shared/WebPreferencesStore.h:
42640        * UIProcess/API/C/WKPreferences.cpp:
42641        (WKPreferencesSetMediaPlaybackRequiresUserGesture):
42642        (WKPreferencesGetMediaPlaybackRequiresUserGesture):
42643        (WKPreferencesSetMediaPlaybackAllowsInline):
42644        (WKPreferencesGetMediaPlaybackAllowsInline):
42645        * UIProcess/API/C/WKPreferencesPrivate.h:
42646        * WebProcess/WebPage/WebPage.cpp:
42647        (WebKit::WebPage::updatePreferences):
42648
426492011-07-18  James Robinson  <jamesr@chromium.org>
42650
42651        Timer scheduling should be based off the monotonic clock
42652        https://bugs.webkit.org/show_bug.cgi?id=64544
42653
42654        Reviewed by Darin Adler.
42655
42656        Converts the WebKit2 RunLoop and CoreIPC timeouts to use monotonicallyIncreasingTime().
42657
42658        * Platform/CoreIPC/Connection.cpp:
42659        (CoreIPC::Connection::waitForMessage):
42660        (CoreIPC::Connection::waitForSyncReply):
42661        * Platform/RunLoop.h:
42662
426632011-07-18  Anders Carlsson  <andersca@apple.com>
42664
42665        Make using lowercase parameter names for AppleConnect be a plug-in quirk
42666        https://bugs.webkit.org/show_bug.cgi?id=64638
42667
42668        Reviewed by Sam Weinig.
42669
42670        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
42671        (WebKit::NetscapePluginModule::determineQuirks):
42672        Set the WantsLowercaseParameterNames quirk for the AppleConnect plug-in.
42673
42674        * Shared/Plugins/PluginQuirks.h:
42675        Add WantsLowercaseParameterNames quirk.
42676
42677        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
42678        (WebKit::NetscapePlugin::initialize):
42679        If the plug-in has the WantsLowercaseParameterNames quirk, convert the parameter
42680        names to lowercase.
42681
42682        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
42683        (WebKit::WebFrameLoaderClient::createPlugin):
42684        Remove the code that would convert the parameters here. Also remove the FIXME; plug-in quirks
42685        aren't really the same thing as site-specific quirks.
42686
426872011-07-15  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
42688
42689        [Qt] Consider QTouchWebPage's transform when scrolling the viewport.
42690        https://bugs.webkit.org/show_bug.cgi?id=64541
42691
42692        Reviewed by Benjamin Poulain.
42693
42694        Currently the scroll deltas are given to moveBy in page coordinates
42695        which doesn't match when the page view is scalled.
42696        This patch gives the scroll delta to the viewport in it's own coordinates.
42697
42698        * UIProcess/qt/TouchViewInterface.cpp:
42699        (WebKit::TouchViewInterface::panGestureRequestScroll):
42700
427012011-07-15  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
42702
42703        [Qt] Push the new viewport rect to the drawing area after committing the scale.
42704        https://bugs.webkit.org/show_bug.cgi?id=64597
42705
42706        Reviewed by Benjamin Poulain.
42707
42708        * UIProcess/qt/TouchViewInterface.cpp:
42709        (WebKit::TouchViewInterface::pinchGestureEnded):
42710
427112011-07-15  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
42712
42713        [Qt] Remove the scale commit timer from QTouchWebPage.
42714        https://bugs.webkit.org/show_bug.cgi?id=64600
42715
42716        Reviewed by Benjamin Poulain.
42717
42718        Since we don't currently need unprepared page view scale changes,
42719        this timer isn't useful.
42720
42721        * UIProcess/API/qt/qtouchwebpage.cpp:
42722        (QTouchWebPage::QTouchWebPage):
42723        (QTouchWebPagePrivate::QTouchWebPagePrivate):
42724        (QTouchWebPagePrivate::commitScaleChange):
42725        * UIProcess/API/qt/qtouchwebpage.h:
42726        * UIProcess/API/qt/qtouchwebpage_p.h:
42727        * UIProcess/qt/TouchViewInterface.cpp:
42728        (WebKit::TouchViewInterface::pinchGestureStarted):
42729
427302011-07-15  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
42731
42732        TiledDrawingArea: map the visibleArea rect from page to tiles coordinates.
42733        https://bugs.webkit.org/show_bug.cgi?id=64538
42734
42735        Reviewed by Benjamin Poulain.
42736
42737        TiledDrawingAreaProxy expects its coordinates to be scaled according to
42738        contentsScale. This patch keep the pushed visibleArea as page coordinates
42739        and convert it each time to scaled coordinates in case the contents scale was
42740        changed afterward.
42741        This is a regression introduced in r90750.
42742        Also:
42743        - Rename visibleArea to visibleContentRect
42744        - Remove an unnecessary mapToContents in QTouchWebPageProxy::setVisibleContentRect
42745
42746        * UIProcess/API/qt/qtouchwebpage.cpp:
42747        (QTouchWebPagePrivate::setViewportRect):
42748        * UIProcess/TiledDrawingAreaProxy.cpp:
42749        (WebKit::TiledDrawingAreaProxy::invalidate):
42750        (WebKit::TiledDrawingAreaProxy::setVisibleContentRect):
42751        (WebKit::TiledDrawingAreaProxy::createTiles):
42752        (WebKit::TiledDrawingAreaProxy::visibleRect):
42753        * UIProcess/TiledDrawingAreaProxy.h:
42754        * UIProcess/qt/qtouchwebpageproxy.cpp:
42755        (QTouchWebPageProxy::setVisibleContentRect):
42756        * UIProcess/qt/qtouchwebpageproxy.h:
42757
427582011-07-17  Amruth Raj  <amruthraj@motorola.com>
42759
42760        [GTK] Fix selection of elements in a multi select list and remove an unnecessary include in WorkQueue
42761        https://bugs.webkit.org/show_bug.cgi?id=64666
42762
42763        Reviewed by Martin Robinson.
42764
42765        * Platform/gtk/WorkQueueGtk.cpp: Remove an include which is no longer required
42766        * Shared/gtk/WebEventFactory.cpp:
42767        (WebKit::modifiersForEvent): Fix an incorrect ASSERT statement
42768        (WebKit::WebEventFactory::createWebMouseEvent): Call the function to determine the modifier keys
42769
427702011-07-17  Lukasz Slachciak  <l.slachciak@samsung.com>
42771
42772        Reviewed by Martin Robinson.
42773
42774         [GTK] [WK2] Fix for getting editor client commands.
42775         https://bugs.webkit.org/show_bug.cgi?id=63081
42776
42777         Editor client commands intepretation was incorrect. It was based on the NativeWebKeyboardEvent only.
42778         In fact EventHandler is generating interpreted events - keypress and keydown. These event types
42779         are now passed from UIProcess to WebProcess so KeyBindingTranslator can correctly find editor commands.
42780         Also build break for Debug build was fixed.
42781
42782        * UIProcess/API/gtk/PageClientImpl.cpp: KeyboardEvent type is used for KeyBindingTranslator.
42783        (WebKit::PageClientImpl::getEditorCommandsForKeyEvent): getEditorCommandsForKeyEvent now has additional
42784        parameter describing KeyboardEvent type.
42785        * UIProcess/API/gtk/PageClientImpl.h:
42786        * UIProcess/PageClient.h:
42787        * UIProcess/WebPageProxy.h:
42788        * UIProcess/WebPageProxy.messages.in:
42789        * UIProcess/gtk/WebPageProxyGtk.cpp:
42790        (WebKit::WebPageProxy::getEditorCommandsForKeyEvent): KeyboardEvent type passed to PageClient.
42791        * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
42792        (WebKit::WebEditorClient::getEditorCommandsForKeyEvent): Sync message send with KeyboardEvent type.
42793
427942011-07-16  Daniel Bates  <dbates@webkit.org>
42795
42796        Fix Win Cairo Debug build after <http://trac.webkit.org/changeset/91085>.
42797
42798        Add stub implementation of scale factor overloaded ShareableBitmap::paint() for
42799        Cairo WebKit2 port after its usage in changeset <http://trac.webkit.org/changeset/91085>.
42800
42801        Also add stub implementation for GTK.
42802
42803        We'll need to actually implement this. See <https://bugs.webkit.org/show_bug.cgi?id=64664>
42804        and <https://bugs.webkit.org/show_bug.cgi?id=64665> for Cairo and GTK, respectively.
42805
42806        * Shared/cairo/ShareableBitmapCairo.cpp:
42807        (WebKit::ShareableBitmap::paint): Added scale-factor variant.
42808        * Shared/gtk/ShareableBitmapGtk.cpp:
42809        (WebKit::ShareableBitmap::paint): Added scale-factor variant.
42810
428112011-07-16  Daniel Bates  <dbates@webkit.org>
42812
42813        Fix Qt Linux Release build after changeset <http://trac.webkit.org/changeset/91085>
42814        (https://bugs.webkit.org/show_bug.cgi?id=64611).
42815
42816        Stub out scale factor-variant implementation of ShareableBitmap::paint().
42817        We'll need to implement this. See <https://bugs.webkit.org/show_bug.cgi?id=64663>
42818        for more details.
42819
42820        * Shared/qt/ShareableBitmapQt.cpp:
42821        (WebKit::ShareableBitmap::paint): Added scale-factor variant.
42822
428232011-07-16  Simon Fraser  <simon.fraser@apple.com>
42824
42825        Add code to attempt to align compositing layers to pixel boundaries when page scale changes
42826        https://bugs.webkit.org/show_bug.cgi?id=64658
42827
42828        Reviewed by Dan Bernstein.
42829        
42830        Removed implementation of pageScaleFactor() now that GraphicsLayerClient has
42831        a default implementation.
42832
42833        * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
42834        * WebProcess/WebPage/ca/LayerTreeHostCA.h:
42835
428362011-07-16  Daniel Bates  <dbates@webkit.org>
42837
42838        Attempt to fix the Qt Linux Release build after changeset <http://trac.webkit.org/changeset/91097>
42839        (https://bugs.webkit.org/show_bug.cgi?id=64615).
42840
42841        * UIProcess/qt/QtWebPageProxy.cpp:
42842        (QtWebPageProxy::setCursorHiddenUntilMouseMoves): Added stub method.
42843        * UIProcess/qt/QtWebPageProxy.h:
42844
428452011-07-15  Pratik Solanki  <psolanki@apple.com>
42846
42847        Part of https://bugs.webkit.org/show_bug.cgi?id=63674
42848        Get webkit to compile with USE(CFNETWORK) enabled on Mac
42849
42850        Reviewed by David Kilzer.
42851
42852        New WebKitSystemInterface functions for CFNetwork-based loader.
42853
42854        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
42855        (InitWebCoreSystemInterface):
42856
428572011-07-15  Tim Horton  <timothy_horton@apple.com>
42858
42859        Overlay scrollbars in overflow areas no longer pulse when revealed
42860        https://bugs.webkit.org/show_bug.cgi?id=64606
42861        <rdar://problem/9390674>
42862
42863        Reviewed by Simon Fraser.
42864
42865        Ensure that the state of the scrollbar implementation is kept in sync
42866        with WebCore's internal representation. Previously, we synchronized them
42867        at paint time, causing pulsing to be skipped due to the scrollbars being
42868        disabled.
42869
42870        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
42871        (InitWebCoreSystemInterface):
42872
428732011-07-15  Simon Fraser  <simon.fraser@apple.com>
42874
42875        Have GraphicsLayer pull their contentsScale, rather than pushing it onto them
42876        https://bugs.webkit.org/show_bug.cgi?id=64643
42877
42878        Reviewed by Darin Adler.
42879        
42880        Impement new GraphicsLayerClient methods related to contents scale,
42881        and don't push the scale.
42882
42883        * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
42884        (WebKit::LayerTreeHostCA::initialize):
42885        (WebKit::LayerTreeHostCA::backingScaleFactor):
42886        (WebKit::LayerTreeHostCA::pageScaleFactor):
42887        (WebKit::LayerTreeHostCA::createPageOverlayLayer):
42888        * WebProcess/WebPage/ca/LayerTreeHostCA.h:
42889        (WebKit::LayerTreeHostCA::didCommitChangesForLayer):
42890
428912011-07-15  Ada Chan  <adachan@apple.com>
42892
42893        Implement "Jump to Selection" in WebKit2
42894        https://bugs.webkit.org/show_bug.cgi?id=64569
42895
42896        Reviewed by Anders Carlsson.
42897
42898        * UIProcess/API/mac/WKView.mm:
42899        (-[WKView centerSelectionInVisibleArea:]): Call WebPageProxy::centerSelectionInVisibleArea().
42900        (-[WKView validateUserInterfaceItem:]): Enable the centerSelectionInVisibleArea: selector if there's a selection
42901        range or if there's an insertion point in an editable area.
42902        * WebProcess/WebPage/FindController.cpp:
42903        (WebKit::FindController::showFindIndicatorInSelection): Call updateFindIndicator() to show the find indicator.
42904        * WebProcess/WebPage/FindController.h:
42905        * WebProcess/WebPage/WebPage.cpp:
42906        (WebKit::WebPage::centerSelectionInVisibleArea): Use the selection in the focused or main frame.
42907        After scrolling the selection into view, flash the find indicator.
42908
429092011-07-15  Dan Bernstein  <mitz@apple.com>
42910
42911        Windows build fix.
42912
42913        * UIProcess/win/WebView.cpp:
42914
429152011-07-15  Dan Bernstein  <mitz@apple.com>
42916
42917        Windows build fix.
42918
42919        * UIProcess/win/WebView.h:
42920
429212011-07-15  Dan Bernstein  <mitz@apple.com>
42922
42923        REGRESSION: Mouse cursor doesn’t hide when full screen video HUD hides
42924        https://bugs.webkit.org/show_bug.cgi?id=64615
42925
42926        Reviewed by Anders Carlsson.
42927
42928        * UIProcess/API/efl/PageClientImpl.cpp:
42929        (WebKit::PageClientImpl::setCursorHiddenUntilMouseMoves): Added this stub.
42930        * UIProcess/API/efl/PageClientImpl.h:
42931        * UIProcess/API/gtk/PageClientImpl.cpp:
42932        (WebKit::PageClientImpl::setCursorHiddenUntilMouseMoves): Ditto.
42933        * UIProcess/API/gtk/PageClientImpl.h:
42934        * UIProcess/API/mac/PageClientImpl.h:
42935        * UIProcess/API/mac/PageClientImpl.mm:
42936        (WebKit::PageClientImpl::setCursorHiddenUntilMouseMoves): Added. Calls +[NSCursor setHiddenUntilMouseMoves:].
42937        * UIProcess/PageClient.h:
42938        * UIProcess/WebPageProxy.cpp:
42939        (WebKit::WebPageProxy::setCursorHiddenUntilMouseMoves): Added. Calls through to the PageClient.
42940        * UIProcess/WebPageProxy.h:
42941        * UIProcess/WebPageProxy.messages.in: Added SetCursorHiddenUntilMouseMoves message.
42942        * UIProcess/win/WebView.cpp:
42943        (WebKit::WebView::setCursorHiddenUntilMouseMoves): Added this stub.
42944        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
42945        (WebKit::WebChromeClient::setCursorHiddenUntilMouseMoves): Added. Sends SetCursorHiddenUntilMouseMoves message
42946        to the page proxy.
42947        * WebProcess/WebCoreSupport/WebChromeClient.h:
42948
429492011-07-14  Gavin Barraclough  <barraclough@apple.com>
42950
42951        https://bugs.webkit.org/show_bug.cgi?id=64250
42952        Global strict mode function leaking global object as "this".
42953
42954        Reviewed by Oliver Hunt.
42955
42956        * WebProcess/Plugins/Netscape/NPJSObject.cpp:
42957        (WebKit::NPJSObject::invoke):
42958            - Change call to pass DOM Window shell, instead of the global varaible object.
42959
429602011-07-15  Anders Carlsson  <andersca@apple.com>
42961
42962        Find indicator should take scale factor into account
42963        https://bugs.webkit.org/show_bug.cgi?id=64611
42964        <rdar://problem/9761020>
42965
42966        Reviewed by Sam Weinig.
42967
42968        * UIProcess/FindIndicator.cpp:
42969        (WebKit::FindIndicator::create):
42970        (WebKit::FindIndicator::FindIndicator):
42971        Keep track of the scale factor of the find indicator bitmap.
42972
42973        (WebKit::FindIndicator::draw):
42974        Pass the scale factor to ShareableBitmap::draw.
42975
42976        * UIProcess/FindIndicator.h:
42977        Add scale factor member variable.
42978
42979        * UIProcess/WebPageProxy.cpp:
42980        (WebKit::WebPageProxy::setFindIndicator):
42981        This now takes the content image scale factor.
42982
42983        * UIProcess/WebPageProxy.messages.in:
42984        Add the scale factor.
42985
42986        * WebProcess/WebPage/FindController.cpp:
42987        (WebKit::FindController::updateFindIndicator):
42988        Size the backing store correctly, and apply the scale factor to
42989        the graphics context.
42990
42991        (WebKit::FindController::hideFindIndicator):
42992        Pass the scale factor along.
42993
429942011-07-15  Martin Robinson  <mrobinson@igalia.com>
42995
42996        Build fixes for WebKit2. Ensure that all generated sources are
42997        on nodist primaries, that they are on forward declared variables
42998        so that BUILT_SOURCES is calculated properly and that zlib is 
42999        included during linking (for WOFF support).
43000
43001        * GNUmakefile.am:
43002
430032011-07-15  Kenneth Rohde Christiansen  <kenneth@webkit.org>
43004
43005        Upstream QtWebKit/N9 changes related to visibleContentRect
43006        https://bugs.webkit.org/show_bug.cgi?id=64589
43007
43008        Reviewed by Simon Hausmann.
43009
43010        Rename setActualVisibleContentRect to setFixedVisibleContentRect
43011        as that makes it more obvious that it is an override. It is also
43012        consistent with the setFixedLayout which is often used in
43013        conjunction with it.
43014
43015        * UIProcess/WebPageProxy.cpp:
43016        (WebKit::WebPageProxy::setFixedVisibleContentRect):
43017        * UIProcess/WebPageProxy.h:
43018        * UIProcess/qt/qtouchwebpageproxy.cpp:
43019        (QTouchWebPageProxy::setVisibleArea):
43020        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
43021        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
43022        Only set fixedVisibleContentRect for the mainframe.
43023        * WebProcess/WebPage/WebPage.cpp:
43024        (WebKit::WebPage::setFixedVisibleContentRect):
43025        * WebProcess/WebPage/WebPage.h:
43026        * WebProcess/WebPage/WebPage.messages.in:
43027
430282011-07-15  Carlos Garcia Campos  <cgarcia@igalia.com>
43029
43030        Reviewed by Martin Robinson.
43031
43032        [GTK] Install a custom X error handler in plugin process
43033        https://bugs.webkit.org/show_bug.cgi?id=63248
43034
43035        Some plugins, specially flash, can cause X errors that when
43036        handled by the default X error handler (or the GDK one) abort the
43037        process. Since we don't want to crash due to buggy plugins, we
43038        install a custom error handler to show a warning when a X error
43039        happens without aborting.
43040
43041        * PluginProcess/gtk/PluginProcessMainGtk.cpp:
43042        (WebKit::webkitgtkXError):
43043        (WebKit::PluginProcessMainGtk):
43044
430452011-07-14  Carlos Garcia Campos  <cgarcia@igalia.com>
43046
43047        Reviewed by Anders Carlsson.
43048
43049        [UNIX] Allow sending null handles in messages
43050        https://bugs.webkit.org/show_bug.cgi?id=60621
43051
43052        Only valid file descriptors are now sent using sendmsg() control
43053        messages, and instead of sending a list of attachment sizes we now
43054        send a list of AttachmentInfo structs. AttachmentInfo contains
43055        information about the attachments including the size for
43056        MappedMemory attachmens and whether the attachment is null or not.
43057
43058        * Platform/CoreIPC/unix/ConnectionUnix.cpp:
43059        (CoreIPC::AttachmentInfo::AttachmentInfo): New class containing
43060        information about the attachments sent.
43061        (CoreIPC::AttachmentInfo::setType): Set the attachment type.
43062        (CoreIPC::AttachmentInfo::getType): Return the attachment type.
43063        (CoreIPC::AttachmentInfo::setSize): Set the size for MappedMemory attachments.
43064        (CoreIPC::AttachmentInfo::getSize): Get the size for MappedMemory attachments.
43065        (CoreIPC::AttachmentInfo::setNull): Set attachment as null, it
43066        contains an invalid file descriptor, so the receiver shouldn't
43067        expect a file desriptor for this attachment.
43068        (CoreIPC::AttachmentInfo::isNull): Return whether attachment is
43069        null, it contains an invalid file descriptor.
43070        (CoreIPC::Connection::processMessage):
43071        (CoreIPC::Connection::sendOutgoingMessage):
43072
430732011-07-14  Carlos Garcia Campos  <cgarcia@igalia.com>
43074
43075        Reviewed by Martin Robinson.
43076
43077        [GTK] Implement Plugin Process
43078        https://bugs.webkit.org/show_bug.cgi?id=60546
43079
43080        * GNUmakefile.am: Add new files to compilation.
43081        * PluginProcess/gtk/PluginProcessMainGtk.cpp: Added.
43082        (WebKit::PluginProcessMainGtk):
43083        * PluginProcess/gtk/PluginProcessMainGtk.h: Added.
43084        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
43085        (WebKit::ProcessLauncher::launchProcess):
43086        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
43087        (WebKit::moduleMixesGtkSymbols):
43088        * gtk/PluginMainGtk.cpp: Added.
43089        (main):
43090
430912011-07-14  Balazs Kelemen  <kbalazs@webkit.org> and Carlos Garcia Campos  <cgarcia@igalia.com>
43092
43093        Reviewed by Anders Carlsson.
43094
43095        Implement plugin process for UNIX platform
43096        https://bugs.webkit.org/show_bug.cgi?id=60629
43097
43098        * Platform/CoreIPC/Attachment.h:
43099        * Platform/CoreIPC/unix/AttachmentUnix.cpp:
43100        (CoreIPC::Attachment::Attachment): Add the ability to pass a
43101        socket via Attachment.
43102        * Platform/unix/SharedMemoryUnix.cpp:
43103        (WebKit::SharedMemory::Handle::encode): Remove assertions that
43104        check that the Handle is not null. In
43105        PluginProxy::geometryDidChange we pass a null Handle if we do not
43106        need to allocate a new backing store.
43107        (WebKit::SharedMemory::Handle::releaseToAttachment): Ditto.
43108        * PluginProcess/PluginProcess.cpp:
43109        (WebKit::PluginProcess::createWebProcessConnection): Use
43110        Attachment. Set up the connection with socketpair.
43111        * UIProcess/Plugins/PluginProcessProxy.cpp:
43112        (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
43113        (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
43114        * UIProcess/Plugins/PluginProcessProxy.h:
43115        * UIProcess/Plugins/PluginProcessProxy.messages.in:
43116        * UIProcess/WebProcessProxy.messages.in:
43117        * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
43118        (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
43119        Use Attachment to pass the connection.
43120
431212011-07-14  Ada Chan  <adachan@apple.com>
43122
43123        Implement support to center selection on a page for WebKit2.
43124        https://bugs.webkit.org/show_bug.cgi?id=64481
43125
43126        Reviewed by Anders Carlsson.
43127
43128        * UIProcess/API/C/WKPage.cpp:
43129        (WKPageCenterSelectionInVisibleArea): Added.  Call WebPageProxy::centerSelectionInVisibleArea().
43130        * UIProcess/API/C/WKPage.h:
43131        * UIProcess/WebPageProxy.cpp:
43132        (WebKit::WebPageProxy::centerSelectionInVisibleArea): Send message to the WebProcess to center selection.
43133        * UIProcess/WebPageProxy.h:
43134        * WebProcess/WebPage/WebPage.cpp:
43135        (WebKit::WebPage::centerSelectionInVisibleArea): Get the FrameSelection from the main frame and call
43136        revealSelection() to center it.
43137        * WebProcess/WebPage/WebPage.h:
43138        * WebProcess/WebPage/WebPage.messages.in: Add the CenterSelectionInVisibleArea message.
43139
431402011-07-14  MORITA Hajime  <morrita@google.com>
43141
43142        Unreviewed, rolling out r90976, r90981, and r90985.
43143        http://trac.webkit.org/changeset/90976
43144        http://trac.webkit.org/changeset/90981
43145        http://trac.webkit.org/changeset/90985
43146        https://bugs.webkit.org/show_bug.cgi?id=64251
43147
43148        build break
43149
43150        * win/WebKit2.def:
43151        * win/WebKit2CFLite.def:
43152
431532011-07-13  MORITA Hajime <morrita@google.com>
43154
43155        Unreviewed attempt at a build fix.
43156
43157        * win/WebKit2CFLite.def:
43158
431592011-07-13  MORITA Hajime  <morrita@google.com>
43160
43161        [ShadowContentElement] forwarded node should be able to access its hosting content element.
43162        https://bugs.webkit.org/show_bug.cgi?id=64251
43163
43164        Reviewed by Dimitri Glazkov.
43165
43166        Exported additional symbols for window.internals object.
43167        
43168        * win/WebKit2.def:
43169
431702011-07-13  David Levin  <levin@chromium.org>
43171
43172        Possible race condition in ThreadIdentifierData::initializeKeyOnce and shouldCallRealDebugger.
43173        https://bugs.webkit.org/show_bug.cgi?id=64465
43174
43175        Reviewed by Dmitry Titov.
43176
43177        There isn't a good way to test this as it is very highly unlikely to occur.
43178
43179        * PluginProcess/mac/PluginProcessMac.mm:
43180        (WebKit::shouldCallRealDebugger): :Since scoped static initialization
43181        isn't thread-safe, change the initialization to be global.
43182
431832011-07-13  Andreas Kling  <kling@webkit.org>
43184
43185        [Qt][WK2] Remove invalid signal/slot connection in QTouchWebView.
43186        https://bugs.webkit.org/show_bug.cgi?id=64450
43187
43188        Reviewed by Benjamin Poulain.
43189
43190        The focusNextPrevChild() signal was removed, so we shouldn't try to
43191        connect to it.
43192
43193        * UIProcess/API/qt/qtouchwebpage.cpp:
43194        (QTouchWebPagePrivate::setPage):
43195
431962011-07-13  Andreas Kling  <kling@webkit.org>
43197
43198        [Qt][WK2] Undelayed WorkItems are leaked after execution.
43199        https://bugs.webkit.org/show_bug.cgi?id=64447
43200
43201        Reviewed by Benjamin Poulain.
43202
43203        * Platform/qt/WorkQueueQt.cpp:
43204        (WorkQueue::WorkItemQt::executeAndDelete):
43205        (WorkQueue::WorkItemQt::timerEvent):
43206        (WorkQueue::scheduleWork):
43207
432082011-07-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
43209
43210        [Qt] Also stop the scale commit timer when commitScaleChange is called explicitly.
43211        https://bugs.webkit.org/show_bug.cgi?id=64357
43212
43213        Reviewed by Benjamin Poulain.
43214
43215        * UIProcess/API/qt/qtouchwebpage.cpp:
43216        (QTouchWebPage::timerEvent):
43217        (QTouchWebPagePrivate::commitScaleChange):
43218
432192011-07-12  Joseph Pecoraro  <joepeck@webkit.org>
43220
43221        ApplicationCache update should not immediately fail when reaching per-origin quota
43222        https://bugs.webkit.org/show_bug.cgi?id=64177
43223
43224        Reviewed by Alexey Proskuryakov.
43225
43226        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
43227        (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
43228        * WebProcess/WebCoreSupport/WebChromeClient.h:
43229
432302011-06-22  Jer Noble  <jer.noble@apple.com>
43231
43232        Full-screen: Don't change the collectionBehavior of the WebView's NSWindow if not necessary
43233        https://bugs.webkit.org/show_bug.cgi?id=63217
43234        <rdar://problem/9660291>
43235
43236        Reviewed by Darin Adler.
43237
43238        Check to see if the NSWindow hosting the WebView is not on the active space before changing the window's
43239        collectionBehavior.
43240
43241        * UIProcess/mac/WKFullScreenWindowController.mm:
43242        (-[WKFullScreenWindowController beganExitFullScreenAnimation]):
43243
432442011-07-12  Andreas Kling  <kling@webkit.org>
43245
43246        [Qt][WK2] Navigation actions in incorrect state when loadStarted() is emitted.
43247        https://bugs.webkit.org/show_bug.cgi?id=64383
43248
43249        Reviewed by Kenneth Rohde Christiansen.
43250
43251        Update the navigation actions before emitting loadStarted().
43252
43253        * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp:
43254        (LoadStartedCatcher::LoadStartedCatcher):
43255        (LoadStartedCatcher::onLoadStarted):
43256        (tst_QDesktopWebView::stopActionEnabledAfterLoadStarted):
43257        * UIProcess/qt/ClientImpl.cpp:
43258        (qt_wk_didStartProvisionalLoadForFrame):
43259
432602011-07-12  Benjamin Poulain  <benjamin@webkit.org>
43261
43262        [Qt][WK2] Add a basic Pinch gesture recognizer for WebKit2
43263        https://bugs.webkit.org/show_bug.cgi?id=64373
43264
43265        Reviewed by Andreas Kling.
43266
43267        This patch adds QtPinchGestureRecognizer to recognize pinch gesture out of
43268        the events not handled by the WebProcess.
43269
43270        TouchViewInterface::pinchGestureRequestScale() has a basic default implementation
43271        so the feature can be tested manually.
43272
43273        * UIProcess/qt/QtGestureRecognizer.cpp:
43274        QtGestureRecognizer is the private base class for both gesture recognizer
43275        in order to be able to share some code.
43276        (WebKit::QtGestureRecognizer::QtGestureRecognizer):
43277        (WebKit::QtGestureRecognizer::reset):
43278        * UIProcess/qt/QtGestureRecognizer.h:
43279        * UIProcess/qt/QtPanGestureRecognizer.cpp:
43280        (WebKit::QtPanGestureRecognizer::QtPanGestureRecognizer):
43281        (WebKit::QtPanGestureRecognizer::reset):
43282        * UIProcess/qt/QtPanGestureRecognizer.h:
43283        * UIProcess/qt/QtPinchGestureRecognizer.cpp: Added.
43284        (WebKit::findTouchPointIndex):
43285        (WebKit::computeTouchCenter):
43286        (WebKit::QtPinchGestureRecognizer::QtPinchGestureRecognizer):
43287        (WebKit::QtPinchGestureRecognizer::recognize):
43288        (WebKit::QtPinchGestureRecognizer::reset):
43289        (WebKit::QtPinchGestureRecognizer::initializeGesture):
43290        * UIProcess/qt/QtPinchGestureRecognizer.h: Copied from Source/WebKit2/UIProcess/qt/QtPanGestureRecognizer.h.
43291        (WebKit::QtPinchGestureRecognizer::TouchPointInformation::TouchPointInformation):
43292        (WebKit::QtPinchGestureRecognizer::TouchPointInformation::isValid):
43293        * UIProcess/qt/TouchViewInterface.cpp:
43294        (WebKit::TouchViewInterface::TouchViewInterface):
43295        (WebKit::TouchViewInterface::pinchGestureStarted):
43296        (WebKit::TouchViewInterface::pinchGestureRequestScale):
43297        The scale factor reported by the recognizer to the TouchViewInterface is the total scale since the start
43298        of the gesture in order to avoid numerical instabilities.
43299        (WebKit::TouchViewInterface::pinchGestureEnded):
43300        * UIProcess/qt/TouchViewInterface.h:
43301        * UIProcess/qt/qtouchwebpageproxy.cpp:
43302        (QTouchWebPageProxy::QTouchWebPageProxy):
43303        (QTouchWebPageProxy::processDidCrash):
43304        (QTouchWebPageProxy::doneWithTouchEvent):
43305        * UIProcess/qt/qtouchwebpageproxy.h:
43306        * WebKit2.pro:
43307
433082011-07-12  Andreas Kling  <kling@webkit.org>
43309
43310        [Qt][WK2] Navigation actions should react to web process availability.
43311        https://bugs.webkit.org/show_bug.cgi?id=64375
43312
43313        Reviewed by Benjamin Poulain.
43314
43315        When the web process is unavailable, the reload and stop actions should
43316        behave slightly differently. Stop should always be disabled, and reload
43317        should be enabled if there's a reloadable item in the back/forward list.
43318
43319        * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp:
43320        (tst_QDesktopWebView::navigationActionEnabledStatusAtStartup):
43321        * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp:
43322        (tst_QTouchWebView::navigationActionEnabledStatusAtStartup):
43323        * UIProcess/qt/QtWebPageProxy.cpp:
43324        (QtWebPageProxy::updateAction):
43325        (QtWebPageProxy::didRelaunchProcess):
43326        (QtWebPageProxy::processDidCrash):
43327
433282011-07-12  Andreas Kling  <kling@webkit.org>
43329
43330        [Qt][WK2] QDesktopWebView crashes if resized without web process.
43331        https://bugs.webkit.org/show_bug.cgi?id=64371
43332
43333        Reviewed by Benjamin Poulain.
43334
43335        * UIProcess/qt/QtWebPageProxy.cpp:
43336        (QtWebPageProxy::paint): Remove an invalid assertion. The drawing
43337        area may be null if the web process has crashed.
43338        (QtWebPageProxy::setDrawingAreaSize): Fail silently if there is no
43339        drawing area.
43340
433412011-07-12  Andreas Kling  <kling@webkit.org>
43342
43343        [Qt][WK2] Add informative loadFailed() signal to web views.
43344        https://bugs.webkit.org/show_bug.cgi?id=64362
43345
43346        Reviewed by Benjamin Poulain.
43347
43348        The web views will now emit loadFailed(QWebError) when a load failure occurs.
43349
43350        The QWebError object currently contains:
43351        - Type of failure (whether it's an engine, network or protocol error.)
43352        - The failing URL.
43353        - Any error code associated with the failure.
43354
43355        * UIProcess/API/qt/qdesktopwebview.cpp:
43356        (QDesktopWebViewPrivate::loadDidFail):
43357        * UIProcess/API/qt/qdesktopwebview.h:
43358        * UIProcess/API/qt/qdesktopwebview_p.h:
43359        * UIProcess/API/qt/qtouchwebpage.h:
43360        * UIProcess/API/qt/qweberror.cpp: Added.
43361        (QWebError::QWebError):
43362        (QWebErrorPrivate::createQWebError):
43363        (QWebErrorPrivate::QWebErrorPrivate):
43364        (QWebErrorPrivate::~QWebErrorPrivate):
43365        (QWebError::type):
43366        (QWebError::errorCode):
43367        (QWebError::url):
43368        * UIProcess/API/qt/qweberror.h: Added.
43369        * UIProcess/API/qt/qweberror_p.h: Added.
43370        * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
43371        (tst_CommonViewTests::loadNonexistentFileUrl):
43372        * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
43373        (WebViewAbstraction::WebViewAbstraction):
43374        (WebViewAbstraction::touchViewLoadFailed):
43375        (WebViewAbstraction::desktopViewLoadFailed):
43376        * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
43377        * UIProcess/qt/ClientImpl.cpp:
43378        (dispatchLoadSucceeded):
43379        (dispatchLoadFailed):
43380        (qt_wk_didFailProvisionalLoadWithErrorForFrame):
43381        (qt_wk_didFinishLoadForFrame):
43382        (qt_wk_didFailLoadWithErrorForFrame):
43383        * UIProcess/qt/QtWebPageProxy.cpp:
43384        (QtWebPageProxy::loadDidFail):
43385        * UIProcess/qt/QtWebPageProxy.h:
43386        * UIProcess/qt/TouchViewInterface.cpp:
43387        (WebKit::TouchViewInterface::loadDidFail):
43388        * UIProcess/qt/TouchViewInterface.h:
43389        * UIProcess/qt/ViewInterface.h:
43390        * WebKit2API.pri:
43391
433922011-07-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
43393
43394        [Qt] Forward the touch view scale changes to the tiled drawing area.
43395        https://bugs.webkit.org/show_bug.cgi?id=64357
43396
43397        Reviewed by Kenneth Rohde Christiansen.
43398
43399        The drawing area needs to know the new scale to render tiles accordingly.
43400
43401        * UIProcess/API/qt/qtouchwebpage.cpp:
43402        (QTouchWebPagePrivate::commitScaleChange):
43403        * UIProcess/qt/qtouchwebpageproxy.cpp:
43404        (QTouchWebPageProxy::setContentsScale):
43405        * UIProcess/qt/qtouchwebpageproxy.h:
43406        (QTouchWebPageProxy::drawingArea):
43407
434082011-07-12  Adam Roben  <aroben@apple.com>
43409
43410        Export some symbols needed by TestWebKitAPI
43411
43412        Part of <http://webkit.org/b/63330> Concatenating string literals and WTF::Strings using
43413        operator+ is suboptimal
43414
43415        Reviewed by Darin Adler.
43416
43417        * win/WebKit2.def:
43418
434192011-07-11  Hironori Bono  <hbono@chromium.org>
43420
43421        Reviewed by Adam Roben.
43422
43423        Implement layoutTestController.setTextDirection for WebKit2 and Windows.
43424        https://bugs.webkit.org/show_bug.cgi?id=61931
43425
43426        This change implements layoutTextController.setTextDirection for WebKit2
43427        and Windows so we can run a layout test added by r87770 on them. Each
43428        implementation adds a wrapper function for Editor::setBaseWritingDirection()
43429        so LayoutTestController can call it.
43430
43431        * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: Added
43432        WKBundleFrameSetTextDirection to allow LayoutTestController to change the
43433        text direction.
43434        (WKBundleFrameSetTextDirection):
43435        * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: ditto.
43436        * WebProcess/WebPage/WebFrame.cpp: Added setTextDirection to allow
43437        WKBundleFrame to change the text direction.
43438        (WebKit::WebFrame::setTextDirection):
43439        * WebProcess/WebPage/WebFrame.h: ditto.
43440
434412011-07-11  Benjamin Poulain  <benjamin@webkit.org>
43442
43443        [Qt][WK2] Get rid of focusNextPrevChild()
43444        https://bugs.webkit.org/show_bug.cgi?id=64289
43445
43446        Reviewed by Andreas Kling.
43447
43448        Qt 5 does not use focusNextPrevChild() but uses setFocusNavigation(), and
43449        the focus is not based on QWidget.
43450
43451        We can get rid of the method since the new implementation will be totally
43452        different.
43453
43454        * UIProcess/API/qt/qtouchwebpage.cpp:
43455        * UIProcess/API/qt/qtouchwebpage.h:
43456        * UIProcess/qt/ClientImpl.cpp:
43457        (qt_wk_takeFocus):
43458        * UIProcess/qt/QtWebPageProxy.h:
43459
434602011-07-11  Anders Carlsson  <andersca@apple.com>
43461
43462        Implement getFormValue for WebKit2
43463        https://bugs.webkit.org/show_bug.cgi?id=64294
43464        <rdar://problem/3964087>
43465
43466        Reviewed by Kevin Decker.
43467
43468        * PluginProcess/PluginControllerProxy.cpp:
43469        (WebKit::PluginControllerProxy::getFormValue):
43470        Call Plugin::getFormValue.
43471
43472        * PluginProcess/PluginControllerProxy.messages.in:
43473        Add new GetFormValue message.
43474
43475        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
43476        (WebKit::NetscapePlugin::getFormValue):
43477        Get the form value and convert it to a String.
43478
43479        * WebProcess/Plugins/Plugin.h:
43480        Add getFormValue pure virtual member function.
43481
43482        * WebProcess/Plugins/PluginProxy.cpp:
43483        (WebKit::PluginProxy::getFormValue):
43484        Send a GetFormValue message to the plug-in process.
43485
43486        * WebProcess/Plugins/PluginView.cpp:
43487        (WebKit::PluginView::getFormValue):
43488        Call Plugin::getFormValue.
43489
434902011-07-11  Ada Chan  <adachan@apple.com>
43491
43492        The original request should be accessible from WebNavigationData.
43493        https://bugs.webkit.org/show_bug.cgi?id=64227
43494
43495        Reviewed by Anders Carlsson.
43496
43497        * Shared/WebNavigationDataStore.h:
43498        (WebKit::WebNavigationDataStore::encode): Handle the encoding of the original request.
43499        (WebKit::WebNavigationDataStore::decode): Handle the decoding of the original request.
43500        * UIProcess/API/C/WKNavigationData.cpp:
43501        (WKNavigationDataCopyOriginalRequest): 
43502        * UIProcess/API/C/WKNavigationData.h:
43503        * UIProcess/WebNavigationData.h:
43504        (WebKit::WebNavigationData::originalRequest):
43505        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
43506        (WebKit::WebFrameLoaderClient::updateGlobalHistory): Store the original request in the WebNavigationDataStore.
43507
435082011-07-11  Benjamin Poulain  <benjamin@webkit.org>
43509
43510        [Qt][WK2] Forward the viewport visible area from the view instead of inferring it from the TiledDrawingAreaProxy
43511        https://bugs.webkit.org/show_bug.cgi?id=64275
43512
43513        Reviewed by Simon Hausmann.
43514
43515        This patch refactors the way the viewport visible area is handled.
43516        Previously, the TiledDrawingAreaProxy would ask for the visible rect
43517        when painting or updating. This is reversed with this patch, and the viewport
43518        informs the page of any change in the view area.
43519
43520        With this change, the TiledDrawingAreaProxy does not need to know about QTouchWebPage,
43521        and can use the TouchViewInterface directly.
43522
43523        * UIProcess/API/qt/qtouchwebpage.cpp:
43524        (QTouchWebPagePrivate::setViewportRect):
43525        * UIProcess/API/qt/qtouchwebpage.h:
43526        * UIProcess/API/qt/qtouchwebpage_p.h:
43527        * UIProcess/API/qt/qtouchwebview.cpp:
43528        (QTouchWebViewPrivate::scroll):
43529        (QTouchWebViewPrivate::viewportRectUpdated):
43530        (QTouchWebView::resizeEvent):
43531        * UIProcess/API/qt/qtouchwebview.h:
43532        * UIProcess/API/qt/qtouchwebview_p.h:
43533        * UIProcess/PageClient.h:
43534        * UIProcess/TiledDrawingAreaProxy.cpp:
43535        (WebKit::TiledDrawingAreaProxy::invalidate):
43536        (WebKit::TiledDrawingAreaProxy::paint):
43537        (WebKit::TiledDrawingAreaProxy::setVisibleArea):
43538        (WebKit::TiledDrawingAreaProxy::createTiles):
43539        * UIProcess/TiledDrawingAreaProxy.h:
43540        * UIProcess/WebPageProxy.h:
43541        * UIProcess/qt/QtWebPageProxy.cpp:
43542        * UIProcess/qt/QtWebPageProxy.h:
43543        * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
43544        (WebKit::TiledDrawingAreaProxy::updateWebView):
43545        * UIProcess/qt/TouchViewInterface.cpp:
43546        (WebKit::TouchViewInterface::contentSizeChanged):
43547        * UIProcess/qt/TouchViewInterface.h:
43548        * UIProcess/qt/WebPageProxyQt.cpp:
43549        * UIProcess/qt/qtouchwebpageproxy.cpp:
43550        (QTouchWebPageProxy::createDrawingAreaProxy):
43551        (QTouchWebPageProxy::setVisibleArea):
43552        * UIProcess/qt/qtouchwebpageproxy.h:
43553
435542011-07-11  Andreas Kling  <kling@webkit.org>
43555
43556        [Qt][WK2] Move zoomable-area-for-point functionality to QTouchWebPageProxy
43557        https://bugs.webkit.org/show_bug.cgi?id=64273
43558
43559        Reviewed by Kenneth Rohde Christiansen.
43560
43561        * UIProcess/qt/QtWebPageProxy.cpp:
43562        * UIProcess/qt/QtWebPageProxy.h:
43563        * UIProcess/qt/qdesktopwebpageproxy.cpp:
43564        (QDesktopWebPageProxy::didFindZoomableArea):
43565        * UIProcess/qt/qdesktopwebpageproxy.h:
43566        * UIProcess/qt/qtouchwebpageproxy.cpp:
43567        (QTouchWebPageProxy::findZoomableAreaForPoint):
43568        (QTouchWebPageProxy::didFindZoomableArea):
43569        * UIProcess/qt/qtouchwebpageproxy.h:
43570
435712011-07-10  Anders Carlsson  <andersca@apple.com>
43572
43573        WebKit2 is leaking NSCursors created by leakNamedCursor
43574        https://bugs.webkit.org/show_bug.cgi?id=64241
43575        <rdar://problem/9507151>
43576
43577        Reviewed by Oliver Hunt.
43578
43579        * Shared/WebCoreArgumentCoders.cpp:
43580        (CoreIPC::::decode):
43581        When decoding a cursor of a known type, make sure to eagerly create the platform cursor
43582        for the cursor singleton. This way we avoid re-creating new NSCursor objects over and over for
43583        standard cursors.
43584
435852011-07-10  Benjamin Poulain  <benjamin@webkit.org>
43586
43587        [Qt][WK2] Move setResizesToContentsUsingLayoutSize() to the touch specific page proxy
43588        https://bugs.webkit.org/show_bug.cgi?id=64238
43589
43590        Reviewed by Andreas Kling.
43591
43592        The method is specific to the touch view, so it should be in QTouchWebPageProxy instead
43593        of QtWebPageProxy.
43594
43595        * UIProcess/qt/QtWebPageProxy.cpp:
43596        * UIProcess/qt/QtWebPageProxy.h:
43597        * UIProcess/qt/qtouchwebpageproxy.cpp:
43598        (QTouchWebPageProxy::setResizesToContentsUsingLayoutSize):
43599        * UIProcess/qt/qtouchwebpageproxy.h:
43600
436012011-07-09  Noel Gordon  <noel.gordon@gmail.com>
43602
43603        Reviewed by Adam Roben.
43604
43605        [WebKit2] Forward focus events to windowless plugins on the windows port.
43606        https://bugs.webkit.org/show_bug.cgi?id=63251
43607
43608        No new tests. Covered by existing tests: plugins/mouse-events.html and
43609        plugins/keyboard-events.html.
43610
43611        * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
43612        (WebKit::NetscapePlugin::platformSetFocus):
43613
436142011-07-08  Andreas Kling  <kling@webkit.org>
43615
43616        [Qt][WK2] Views should expose QActions for basic navigation.
43617        https://bugs.webkit.org/show_bug.cgi?id=64174
43618
43619        Add navigationAction() methods to the views to provide default
43620        QActions for Back, Forward, Stop and Reload.
43621
43622        Reviewed by Benjamin Poulain.
43623
43624        * UIProcess/API/qt/WKView.h:
43625        * UIProcess/API/qt/qdesktopwebview.cpp:
43626        (QDesktopWebView::navigationAction):
43627        * UIProcess/API/qt/qdesktopwebview.h:
43628        * UIProcess/API/qt/qtouchwebpage.cpp:
43629        (QTouchWebPage::navigationAction):
43630        * UIProcess/API/qt/qtouchwebpage.h:
43631        * UIProcess/API/qt/qwebkittypes.h: Added.
43632        * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
43633        (tst_CommonViewTests::backAndForward):
43634        (tst_CommonViewTests::reload):
43635        (tst_CommonViewTests::stop):
43636        * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
43637        (WebViewAbstraction::triggerNavigationAction):
43638        * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
43639        * UIProcess/API/qt/tests/html/basic_page2.html: Added.
43640        * UIProcess/qt/QtWebPageProxy.cpp:
43641        (QtWebPageProxy::navigationAction):
43642        * UIProcess/qt/QtWebPageProxy.h:
43643        * WebKit2API.pri:
43644
436452011-07-08  Benjamin Poulain  <benjamin@webkit.org>
43646
43647        [Qt][WK2] Get rid of the check for TILED_BACKING_STORE in Qt
43648        https://bugs.webkit.org/show_bug.cgi?id=64175
43649
43650        Reviewed by Kenneth Rohde Christiansen.
43651
43652        Qt no longer supports building WebKit2 without TILED_BACKING_STORE.
43653
43654        * UIProcess/API/qt/qtouchwebpage.cpp:
43655        (QTouchWebPagePrivate::onScaleChanged):
43656        * UIProcess/qt/QtWebPageProxy.cpp:
43657        (QtWebPageProxy::setResizesToContentsUsingLayoutSize):
43658        * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
43659        * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
43660        * WebProcess/WebPage/qt/TiledDrawingAreaQt.cpp:
43661
436622011-07-08  Benjamin Poulain  <benjamin@webkit.org>
43663
43664        [WK2] Do not forward touch events to the web process when it does not need them
43665        https://bugs.webkit.org/show_bug.cgi?id=64164
43666
43667        Reviewed by Kenneth Rohde Christiansen.
43668
43669        The call to ChromeClient::needTouchEvent() is now forwarded to the WebPageProxy
43670        to change the way events are delivered.
43671
43672        When the WebPage does not need touch events, and there is no queued touch events,
43673        the incoming events just bounce back through PageClient::doneWithTouchEvent().
43674
43675        In the case when new events come to WebPageProxy and there are still touch events
43676        incoming from the WebProcess, the new events are deferred with the corresponding
43677        pending touch events.
43678        Deferring the new events iafter the corresponding forwarded event ensure
43679        the delivery is always done in order when PageClient::doneWithTouchEvent()
43680        is called.
43681
43682        * UIProcess/WebPageProxy.cpp:
43683        (WebKit::WebPageProxy::WebPageProxy):
43684        (WebKit::WebPageProxy::handleTouchEvent):
43685        (WebKit::WebPageProxy::needTouchEvents):
43686        (WebKit::WebPageProxy::didReceiveEvent):
43687        (WebKit::WebPageProxy::processDidCrash):
43688        * UIProcess/WebPageProxy.h:
43689        (WebKit::QueuedTouchEvents:::forwardedEvent):
43690        * UIProcess/WebPageProxy.messages.in:
43691        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
43692        (WebKit::WebChromeClient::needTouchEvents):
43693
436942011-07-08  Benjamin Poulain  <benjamin@webkit.org>
43695
43696        [Qt][WK2] Add basic support for panning gestures to the QTouchWebView
43697        https://bugs.webkit.org/show_bug.cgi?id=64105
43698
43699        Reviewed by Kenneth Rohde Christiansen.
43700
43701        This patch adds basic support for the panning gesture on the UI process side.
43702
43703        The events coming back from the WebProcess are processed through
43704        the QtPanGestureRecognizer to recognize the pan gesture. When the
43705        gesture is recognized, the actions are performed on the view through
43706        the TouchViewInterface.
43707
43708        Currently, the viewport just move the page around without limit.
43709        This will be improved when a physics engine is integrated.
43710
43711        * UIProcess/API/qt/qtouchwebview.cpp:
43712        (QTouchWebViewPrivate::scroll):
43713        * UIProcess/API/qt/qtouchwebview.h:
43714        * UIProcess/API/qt/qtouchwebview_p.h:
43715        * UIProcess/qt/QtPanGestureRecognizer.cpp: Added.
43716        (WebKit::QtPanGestureRecognizer::QtPanGestureRecognizer):
43717        (WebKit::QtPanGestureRecognizer::recognize):
43718        (WebKit::QtPanGestureRecognizer::reset):
43719        * UIProcess/qt/QtPanGestureRecognizer.h: Added.
43720        * UIProcess/qt/TouchViewInterface.cpp:
43721        (WebKit::TouchViewInterface::panGestureStarted):
43722        (WebKit::TouchViewInterface::panGestureRequestScroll):
43723        (WebKit::TouchViewInterface::panGestureEnded):
43724        (WebKit::TouchViewInterface::panGestureCancelled):
43725        * UIProcess/qt/TouchViewInterface.h:
43726        * UIProcess/qt/qtouchwebpageproxy.cpp:
43727        (QTouchWebPageProxy::QTouchWebPageProxy):
43728        (QTouchWebPageProxy::processDidCrash):
43729        (QTouchWebPageProxy::doneWithTouchEvent):
43730        * UIProcess/qt/qtouchwebpageproxy.h:
43731        * WebKit2.pro:
43732
437332011-07-07  Andreas Kling  <kling@webkit.org>
43734
43735        [Qt][WK2] Remove Symbian code.
43736        https://bugs.webkit.org/show_bug.cgi?id=64101
43737
43738        Reviewed by Benjamin Poulain.
43739
43740        * DerivedSources.pro:
43741        * Platform/CoreIPC/Attachment.h:
43742        * Platform/CoreIPC/Connection.h:
43743        * Platform/SharedMemory.h:
43744        * Platform/qt/SharedMemorySymbian.cpp: Removed.
43745        * UIProcess/API/qt/tests/tests.pri:
43746        * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
43747        * WebKit2.pri:
43748        * WebKit2.pro:
43749        * WebProcess.pro:
43750        * config.h:
43751
437522011-07-07  Andreas Kling  <kling@webkit.org>
43753
43754        [Qt][WK2] Don't support ridiculous matrix of QT_NO_FEATURE combinations.
43755        https://bugs.webkit.org/show_bug.cgi?id=64099
43756
43757        Reviewed by Benjamin Poulain.
43758
43759        * Shared/qt/WebEventFactoryQt.cpp:
43760        (WebKit::WebEventFactory::createWebWheelEvent):
43761        * UIProcess/API/qt/qdesktopwebview_p.h:
43762        * UIProcess/qt/QtWebPageProxy.cpp:
43763        (QtWebPageProxy::QtWebPageProxy):
43764        (QtWebPageProxy::setCursor):
43765        (QtWebPageProxy::registerEditCommand):
43766        (QtWebPageProxy::clearAllEditCommands):
43767        (QtWebPageProxy::canUndoRedo):
43768        (QtWebPageProxy::executeUndoRedo):
43769        (QtWebPageProxy::updateAction):
43770        (QtWebPageProxy::webActionTriggered):
43771        (QtWebPageProxy::triggerAction):
43772        (QtWebPageProxy::action):
43773        * UIProcess/qt/QtWebPageProxy.h:
43774        * UIProcess/qt/TouchViewInterface.cpp:
43775        (WebKit::TouchViewInterface::didChangeCursor):
43776        * UIProcess/qt/TouchViewInterface.h:
43777        * UIProcess/qt/ViewInterface.h:
43778        * UIProcess/qt/WebUndoCommandQt.cpp:
43779        (WebUndoCommandQt::WebUndoCommandQt):
43780        * UIProcess/qt/WebUndoCommandQt.h:
43781        * WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp:
43782        (WebKit::WebDragClient::startDrag):
43783
437842011-07-07  Andreas Kling  <kling@webkit.org>
43785
43786        [Qt][WK2] Views should know about WebProcess crash/relaunch.
43787        https://bugs.webkit.org/show_bug.cgi?id=64093
43788
43789        Reviewed by Benjamin Poulain.
43790
43791        Add processDidCrash() and didRelaunchProcess() to ViewInterface.
43792
43793        QDesktopWebView now displays a simple sad smiley ":(" when the
43794        web process crashes.
43795
43796        * UIProcess/API/qt/qdesktopwebview.cpp:
43797        (QDesktopWebViewPrivate::QDesktopWebViewPrivate):
43798        (paintCrashedPage):
43799        (QDesktopWebView::paint):
43800        (QDesktopWebViewPrivate::processDidCrash):
43801        (QDesktopWebViewPrivate::didRelaunchProcess):
43802        * UIProcess/API/qt/qdesktopwebview_p.h:
43803        * UIProcess/qt/QtWebPageProxy.cpp:
43804        (QtWebPageProxy::QtWebPageProxy):
43805        (QtWebPageProxy::didRelaunchProcess):
43806        (QtWebPageProxy::processDidCrash):
43807        * UIProcess/qt/QtWebPageProxy.h:
43808        * UIProcess/qt/TouchViewInterface.cpp:
43809        (WebKit::TouchViewInterface::showContextMenu):
43810        (WebKit::TouchViewInterface::hideContextMenu):
43811        (WebKit::TouchViewInterface::processDidCrash):
43812        (WebKit::TouchViewInterface::didRelaunchProcess):
43813        * UIProcess/qt/TouchViewInterface.h:
43814        * UIProcess/qt/ViewInterface.h:
43815
438162011-07-07  Benjamin Poulain  <benjamin@webkit.org>
43817
43818        [Qt] [WK2] Improve the handling of touch events to use them as main input
43819        https://bugs.webkit.org/show_bug.cgi?id=63991
43820
43821        Reviewed by Kenneth Rohde Christiansen.
43822
43823        Promote touch event for use as primary input.
43824
43825        The touch events now use the responsiveness timer like the other input events.
43826
43827        The touch events also have a callback to the UI signaling if the event was used
43828        or not: PageClient::doneWithTouchEvent().
43829        This is similar to what is done with key events (PageClient::doneWithKeyEvent()).
43830
43831        * Shared/NativeWebTouchEvent.h: Copied from Source/WebKit2/Shared/qt/WebEventFactoryQt.h.
43832        (WebKit::NativeWebTouchEvent::nativeEvent):
43833        * Shared/qt/NativeWebTouchEventQt.cpp: Copied from Source/WebKit2/Shared/qt/WebEventFactoryQt.h.
43834        (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
43835        * Shared/qt/WebEventFactoryQt.cpp:
43836        (WebKit::webEventTypeForEvent):
43837        (WebKit::WebEventFactory::createWebTouchEvent):
43838        * Shared/qt/WebEventFactoryQt.h:
43839        * UIProcess/PageClient.h:
43840        * UIProcess/WebPageProxy.cpp:
43841        (WebKit::WebPageProxy::handleTouchEvent):
43842        (WebKit::WebPageProxy::didReceiveEvent):
43843        * UIProcess/WebPageProxy.h:
43844        * UIProcess/qt/qdesktopwebpageproxy.cpp:
43845        (QDesktopWebPageProxy::doneWithTouchEvent):
43846        * UIProcess/qt/qdesktopwebpageproxy.h:
43847        * UIProcess/qt/qtouchwebpageproxy.cpp:
43848        (QTouchWebPageProxy::doneWithTouchEvent):
43849        (QTouchWebPageProxy::touchEvent):
43850        * UIProcess/qt/qtouchwebpageproxy.h:
43851        * WebKit2.pro:
43852
438532011-07-06  Andreas Kling  <kling@webkit.org>
43854
43855        [Qt][WK2] Split Qt API into two different web views (touch and desktop)
43856        https://bugs.webkit.org/show_bug.cgi?id=63950
43857
43858        Co-authored with Benjamin Poulain <benjamin@webkit.org>.
43859
43860        Reviewed by Kenneth Rohde Christiansen.
43861
43862        Replace the QGraphicsWKView/QWKPage mess with QDesktopWebView and QTouchWebView.
43863
43864        QDesktopWebView is a traditional web view, similar to QGraphicsWebView. It will
43865        will have the expected "desktop" behavior for things like subframes and
43866        fixed-position elements.
43867
43868        QTouchWebView is intended for use on touch devices, and will manage the viewport,
43869        gestures, tiled rendering, and other things that the user should never have to
43870        worry about. It will use "resize to contents" and frame flattening by default.
43871
43872        API-wise, the biggest difference between the two is that QTouchWebView is really
43873        a viewport that contains a QTouchWebPage. These are decoupled for flexibility in
43874        UI design. This decoupling is not necessary for the desktop use-case, and so
43875        QDesktopWebView is the only class we need.
43876
43877        Much of the Qt/WebKit2 API has been removed (snapshots, history, preferences..)
43878        but will be re-added incrementally in a way that fits the new API vision.
43879
43880        * UIProcess/API/qt/WKView.h:
43881        * UIProcess/API/qt/qdesktopwebview.cpp: Added.
43882        (QDesktopWebViewPrivate::QDesktopWebViewPrivate):
43883        (QDesktopWebViewPrivate::setViewNeedsDisplay):
43884        (QDesktopWebViewPrivate::drawingAreaSize):
43885        (QDesktopWebViewPrivate::contentSizeChanged):
43886        (QDesktopWebViewPrivate::isActive):
43887        (QDesktopWebViewPrivate::hasFocus):
43888        (QDesktopWebViewPrivate::isVisible):
43889        (QDesktopWebViewPrivate::startDrag):
43890        (QDesktopWebViewPrivate::didChangeUrl):
43891        (QDesktopWebViewPrivate::didChangeTitle):
43892        (QDesktopWebViewPrivate::didChangeToolTip):
43893        (QDesktopWebViewPrivate::didChangeStatusText):
43894        (QDesktopWebViewPrivate::didChangeCursor):
43895        (QDesktopWebViewPrivate::loadDidBegin):
43896        (QDesktopWebViewPrivate::loadDidSucceed):
43897        (QDesktopWebViewPrivate::didChangeLoadProgress):
43898        (QDesktopWebViewPrivate::showContextMenu):
43899        (QDesktopWebViewPrivate::hideContextMenu):
43900        (QDesktopWebView::QDesktopWebView):
43901        (QDesktopWebView::init):
43902        (QDesktopWebView::~QDesktopWebView):
43903        (QDesktopWebView::load):
43904        (QDesktopWebView::url):
43905        (QDesktopWebView::title):
43906        (QDesktopWebView::resizeEvent):
43907        (QDesktopWebView::paint):
43908        (QDesktopWebView::event):
43909        (QDesktopWebView::pageRef):
43910        * UIProcess/API/qt/qdesktopwebview.h: Added.
43911        * UIProcess/API/qt/qdesktopwebview_p.h: Added.
43912        * UIProcess/API/qt/qgraphicswkview.cpp: Removed.
43913        * UIProcess/API/qt/qgraphicswkview.h: Removed.
43914        * UIProcess/API/qt/qtouchwebpage.cpp: Added.
43915        (QTouchWebPage::QTouchWebPage):
43916        (QTouchWebPage::~QTouchWebPage):
43917        (QTouchWebPage::paint):
43918        (QTouchWebPage::load):
43919        (QTouchWebPage::url):
43920        (QTouchWebPage::title):
43921        (QTouchWebPage::focusNextPrevChildCallback):
43922        (QTouchWebPage::focusNextPrevChild):
43923        (QTouchWebPage::event):
43924        (QTouchWebPage::timerEvent):
43925        (QTouchWebPage::resizeEvent):
43926        (QTouchWebPagePrivate::QTouchWebPagePrivate):
43927        (QTouchWebPage::visibleRect):
43928        (QTouchWebPagePrivate::prepareScaleChange):
43929        (QTouchWebPagePrivate::commitScaleChange):
43930        (QTouchWebPagePrivate::onScaleChanged):
43931        (QTouchWebPagePrivate::setPage):
43932        * UIProcess/API/qt/qtouchwebpage.h: Added.
43933        * UIProcess/API/qt/qtouchwebpage_p.h: Added.
43934        (QTouchWebPagePrivate::getPageViewPrivate):
43935        * UIProcess/API/qt/qtouchwebview.cpp: Added.
43936        (QTouchWebViewPrivate::QTouchWebViewPrivate):
43937        (QTouchWebView::QTouchWebView):
43938        (QTouchWebView::~QTouchWebView):
43939        (QTouchWebView::page):
43940        * UIProcess/API/qt/qtouchwebview.h: Added.
43941        * UIProcess/API/qt/qtouchwebview_p.h: Added.
43942        * UIProcess/API/qt/qwkpage.cpp: Removed.
43943        * UIProcess/API/qt/qwkpage.h: Removed.
43944        * UIProcess/API/qt/tests/commonviewtests/commonviewtests.pro: Added.
43945        * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp: Added.
43946        (tst_CommonViewTests::init):
43947        (tst_CommonViewTests::cleanup):
43948        (tst_CommonViewTests::baseUrl):
43949        (tst_CommonViewTests::loadEmptyUrl):
43950        (tst_CommonViewTests::loadEmptyPageViewVisible):
43951        (tst_CommonViewTests::loadEmptyPageViewHidden):
43952        (tst_CommonViewTests::show):
43953        * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp: Added.
43954        (WebViewAbstraction::WebViewAbstraction):
43955        (WebViewAbstraction::show):
43956        (WebViewAbstraction::hide):
43957        (WebViewAbstraction::load):
43958        (WebViewAbstraction::url):
43959        (WebViewAbstraction::touchViewLoadStarted):
43960        (WebViewAbstraction::desktopViewLoadStarted):
43961        (WebViewAbstraction::touchViewLoadSucceeded):
43962        (WebViewAbstraction::desktopViewLoadSucceeded):
43963        (WebViewAbstraction::touchWebView):
43964        (WebViewAbstraction::desktopWebView):
43965        * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h: Copied from Source/WebKit2/UIProcess/API/qt/tests/qwkpage/tst_qwkpage.cpp.
43966        * UIProcess/API/qt/tests/html/a.htm: Removed.
43967        * UIProcess/API/qt/tests/html/b.htm: Removed.
43968        * UIProcess/API/qt/tests/html/c.htm: Removed.
43969        * UIProcess/API/qt/tests/html/d.htm: Removed.
43970        * UIProcess/API/qt/tests/qdesktopwebview/qdesktopwebview.pro: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qgraphicswkview/qgraphicswkview.pro.
43971        * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qwkpage/tst_qwkpage.cpp.
43972        (tst_QDesktopWebView::init):
43973        (tst_QDesktopWebView::cleanup):
43974        (tst_QDesktopWebView::webView):
43975        * UIProcess/API/qt/tests/qgraphicswkview/tst_qgraphicswkview.cpp: Removed.
43976        * UIProcess/API/qt/tests/qtouchwebview/qtouchwebview.pro: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qwkhistory/qwkhistory.pro.
43977        * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp: Added.
43978        (tst_QTouchWebView::tst_QTouchWebView):
43979        (tst_QTouchWebView::init):
43980        (tst_QTouchWebView::cleanup):
43981        (tst_QTouchWebView::webView):
43982        (tst_QTouchWebView::accessPage):
43983        * UIProcess/API/qt/tests/qwkhistory/tst_qwkhistory.cpp: Removed.
43984        * UIProcess/API/qt/tests/qwkpage/qwkpage.pro: Removed.
43985        * UIProcess/API/qt/tests/tests.pro:
43986        * UIProcess/API/qt/tests/testwindow.h: Added.
43987        (TestWindow::TestWindow):
43988        (TestWindow::resizeEvent):
43989        * UIProcess/TiledDrawingAreaProxy.cpp:
43990        * UIProcess/TiledDrawingAreaProxy.h:
43991        * UIProcess/WebFullScreenManagerProxy.h:
43992        * UIProcess/qt/ClientImpl.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/ClientImpl.cpp.
43993        (toQWKContext):
43994        (toQtWebPageProxy):
43995        (loadFinished):
43996        (qt_wk_didStartProvisionalLoadForFrame):
43997        (qt_wk_didReceiveServerRedirectForProvisionalLoadForFrame):
43998        (qt_wk_didFailProvisionalLoadWithErrorForFrame):
43999        (qt_wk_didCommitLoadForFrame):
44000        (qt_wk_didFinishDocumentLoadForFrame):
44001        (qt_wk_didFinishLoadForFrame):
44002        (qt_wk_didFailLoadWithErrorForFrame):
44003        (qt_wk_didReceiveTitleForFrame):
44004        (qt_wk_didFirstLayoutForFrame):
44005        (qt_wk_didRemoveFrameFromHierarchy):
44006        (qt_wk_didFirstVisuallyNonEmptyLayoutForFrame):
44007        (qt_wk_didStartProgress):
44008        (qt_wk_didChangeProgress):
44009        (qt_wk_didFinishProgress):
44010        (qt_wk_didBecomeUnresponsive):
44011        (qt_wk_didBecomeResponsive):
44012        (qt_wk_createNewPage):
44013        (qt_wk_showPage):
44014        (qt_wk_close):
44015        (qt_wk_takeFocus):
44016        (qt_wk_runJavaScriptAlert):
44017        (qt_wk_setStatusText):
44018        (qt_wk_didSameDocumentNavigationForFrame):
44019        (qt_wk_didChangeIconForPageURL):
44020        (qt_wk_didRemoveAllIcons):
44021        * UIProcess/qt/ClientImpl.h: Renamed from Source/WebKit2/UIProcess/API/qt/ClientImpl.h.
44022        * UIProcess/qt/QtWebPageProxy.cpp: Added.
44023        (defaultWKContext):
44024        (contextMenuActionForWebAction):
44025        (dragOperationToDropActions):
44026        (dropActionToDragOperation):
44027        (QtWebPageProxy::QtWebPageProxy):
44028        (QtWebPageProxy::init):
44029        (QtWebPageProxy::~QtWebPageProxy):
44030        (QtWebPageProxy::handleEvent):
44031        (QtWebPageProxy::handleKeyPressEvent):
44032        (QtWebPageProxy::handleKeyReleaseEvent):
44033        (QtWebPageProxy::handleFocusInEvent):
44034        (QtWebPageProxy::handleFocusOutEvent):
44035        (QtWebPageProxy::setCursor):
44036        (QtWebPageProxy::setViewNeedsDisplay):
44037        (QtWebPageProxy::displayView):
44038        (QtWebPageProxy::scrollView):
44039        (QtWebPageProxy::viewSize):
44040        (QtWebPageProxy::isViewWindowActive):
44041        (QtWebPageProxy::isViewFocused):
44042        (QtWebPageProxy::isViewVisible):
44043        (QtWebPageProxy::isViewInWindow):
44044        (QtWebPageProxy::enterAcceleratedCompositingMode):
44045        (QtWebPageProxy::exitAcceleratedCompositingMode):
44046        (QtWebPageProxy::pageDidRequestScroll):
44047        (QtWebPageProxy::didChangeContentsSize):
44048        (QtWebPageProxy::toolTipChanged):
44049        (QtWebPageProxy::registerEditCommand):
44050        (QtWebPageProxy::clearAllEditCommands):
44051        (QtWebPageProxy::canUndoRedo):
44052        (QtWebPageProxy::executeUndoRedo):
44053        (QtWebPageProxy::convertToDeviceSpace):
44054        (QtWebPageProxy::screenToWindow):
44055        (QtWebPageProxy::windowToScreen):
44056        (QtWebPageProxy::convertToUserSpace):
44057        (QtWebPageProxy::selectionChanged):
44058        (QtWebPageProxy::doneWithKeyEvent):
44059        (QtWebPageProxy::createPopupMenuProxy):
44060        (QtWebPageProxy::createContextMenuProxy):
44061        (QtWebPageProxy::setFindIndicator):
44062        (QtWebPageProxy::didCommitLoadForMainFrame):
44063        (QtWebPageProxy::didFinishLoadingDataForCustomRepresentation):
44064        (QtWebPageProxy::flashBackingStoreUpdates):
44065        (QtWebPageProxy::pageRef):
44066        (QtWebPageProxy::didChangeUrl):
44067        (QtWebPageProxy::didChangeTitle):
44068        (QtWebPageProxy::didChangeStatusText):
44069        (QtWebPageProxy::showContextMenu):
44070        (QtWebPageProxy::hideContextMenu):
44071        (QtWebPageProxy::loadDidBegin):
44072        (QtWebPageProxy::loadDidSucceed):
44073        (QtWebPageProxy::didChangeLoadProgress):
44074        (QtWebPageProxy::paint):
44075        (QtWebPageProxy::updateAction):
44076        (QtWebPageProxy::updateNavigationActions):
44077        (QtWebPageProxy::webActionTriggered):
44078        (QtWebPageProxy::didRelaunchProcess):
44079        (QtWebPageProxy::processDidCrash):
44080        (QtWebPageProxy::setActualVisibleContentsRect):
44081        (QtWebPageProxy::preferences):
44082        (QtWebPageProxy::setCreateNewPageFunction):
44083        (QtWebPageProxy::setCustomUserAgent):
44084        (QtWebPageProxy::customUserAgent):
44085        (QtWebPageProxy::load):
44086        (QtWebPageProxy::url):
44087        (QtWebPageProxy::title):
44088        (QtWebPageProxy::setDrawingAreaSize):
44089        (QtWebPageProxy::textZoomFactor):
44090        (QtWebPageProxy::setTextZoomFactor):
44091        (QtWebPageProxy::pageZoomFactor):
44092        (QtWebPageProxy::setPageZoomFactor):
44093        (QtWebPageProxy::setPageAndTextZoomFactors):
44094        (QtWebPageProxy::history):
44095        (QtWebPageProxy::setResizesToContentsUsingLayoutSize):
44096        (QtWebPageProxy::triggerAction):
44097        (QtWebPageProxy::action):
44098        (QtWebPageProxy::findZoomableAreaForPoint):
44099        (QtWebPageProxy::didFindZoomableArea):
44100        (QtWebPageProxy::startDrag):
44101        (QtWebPageProxy::viewportVisibleRect):
44102        (QtWebPageProxy::isConnectedToEngine):
44103        (QtWebPageProxy::setPageIsVisible):
44104        * UIProcess/qt/QtWebPageProxy.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkpage_p.h.
44105        (QtWebPageProxy::pageClosed):
44106        (QtWebPageProxy::customRepresentationZoomFactor):
44107        (QtWebPageProxy::setCustomRepresentationZoomFactor):
44108        (QtWebPageProxy::didChangeScrollbarsForMainFrame):
44109        (QtWebPageProxy::findStringInCustomRepresentation):
44110        (QtWebPageProxy::countStringMatchesInCustomRepresentation):
44111        (QtWebPageProxy::userSpaceScaleFactor):
44112        (QtWebPageProxy::createNewPageFunction):
44113        * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
44114        (WebKit::TiledDrawingAreaProxy::page):
44115        * UIProcess/qt/TouchViewInterface.cpp: Added.
44116        (WebKit::TouchViewInterface::TouchViewInterface):
44117        (WebKit::TouchViewInterface::setViewNeedsDisplay):
44118        (WebKit::TouchViewInterface::drawingAreaSize):
44119        (WebKit::TouchViewInterface::contentSizeChanged):
44120        (WebKit::TouchViewInterface::isActive):
44121        (WebKit::TouchViewInterface::hasFocus):
44122        (WebKit::TouchViewInterface::isVisible):
44123        (WebKit::TouchViewInterface::startDrag):
44124        (WebKit::TouchViewInterface::didChangeUrl):
44125        (WebKit::TouchViewInterface::didChangeTitle):
44126        (WebKit::TouchViewInterface::didChangeToolTip):
44127        (WebKit::TouchViewInterface::didChangeStatusText):
44128        (WebKit::TouchViewInterface::didChangeCursor):
44129        (WebKit::TouchViewInterface::loadDidBegin):
44130        (WebKit::TouchViewInterface::loadDidSucceed):
44131        (WebKit::TouchViewInterface::didChangeLoadProgress):
44132        (WebKit::TouchViewInterface::showContextMenu):
44133        (WebKit::TouchViewInterface::hideContextMenu):
44134        * UIProcess/qt/TouchViewInterface.h: Added.
44135        (WebKit::TouchViewInterface::pageView):
44136        * UIProcess/qt/ViewInterface.cpp: Added.
44137        (WebKit::ViewInterface::ownerWidget):
44138        * UIProcess/qt/ViewInterface.h: Added.
44139        * UIProcess/qt/WebContextMenuProxyQt.cpp:
44140        (WebKit::webActionForContextMenuAction):
44141        (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
44142        (WebKit::WebContextMenuProxyQt::create):
44143        (WebKit::WebContextMenuProxyQt::showContextMenu):
44144        (WebKit::WebContextMenuProxyQt::hideContextMenu):
44145        (WebKit::WebContextMenuProxyQt::createContextMenu):
44146        * UIProcess/qt/WebContextMenuProxyQt.h:
44147        * UIProcess/qt/qdesktopwebpageproxy.cpp: Added.
44148        (dragOperationToDropAction):
44149        (QDesktopWebPageProxy::QDesktopWebPageProxy):
44150        (QDesktopWebPageProxy::createDrawingAreaProxy):
44151        (QDesktopWebPageProxy::paintContent):
44152        (QDesktopWebPageProxy::setViewportArguments):
44153        (QDesktopWebPageProxy::handleEvent):
44154        (QDesktopWebPageProxy::handleMouseMoveEvent):
44155        (QDesktopWebPageProxy::handleMousePressEvent):
44156        (QDesktopWebPageProxy::handleMouseReleaseEvent):
44157        (QDesktopWebPageProxy::handleMouseDoubleClickEvent):
44158        (QDesktopWebPageProxy::handleWheelEvent):
44159        (QDesktopWebPageProxy::handleHoverMoveEvent):
44160        (QDesktopWebPageProxy::handleDragEnterEvent):
44161        (QDesktopWebPageProxy::handleDragLeaveEvent):
44162        (QDesktopWebPageProxy::handleDragMoveEvent):
44163        (QDesktopWebPageProxy::handleDropEvent):
44164        (QDesktopWebPageProxy::timerEvent):
44165        * UIProcess/qt/qdesktopwebpageproxy.h: Added.
44166        * UIProcess/qt/qtouchwebpageproxy.cpp: Added.
44167        (QTouchWebPageProxy::QTouchWebPageProxy):
44168        (QTouchWebPageProxy::createDrawingAreaProxy):
44169        (QTouchWebPageProxy::paintContent):
44170        (QTouchWebPageProxy::setViewportArguments):
44171        (QTouchWebPageProxy::handleEvent):
44172        (QTouchWebPageProxy::touchEvent):
44173        * UIProcess/qt/qtouchwebpageproxy.h: Added.
44174        (QTouchWebPageProxy::touchViewInterface):
44175        (QTouchWebPageProxy::pageView):
44176        * UIProcess/qt/qwkcontext.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qwkcontext.cpp.
44177        (initializePlatformStrategiesIfNeeded):
44178        (QWKContextPrivate::QWKContextPrivate):
44179        (QWKContextPrivate::~QWKContextPrivate):
44180        (QWKContext::QWKContext):
44181        (QWKContext::~QWKContext):
44182        (QWKContext::setIconDatabasePath):
44183        (QWKContext::iconForPageURL):
44184        * UIProcess/qt/qwkcontext.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkcontext.h.
44185        * UIProcess/qt/qwkcontext_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkcontext_p.h.
44186        * UIProcess/qt/qwkhistory.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qwkhistory.cpp.
44187        (QWKHistoryItemPrivate::QWKHistoryItemPrivate):
44188        (QWKHistoryItemPrivate::~QWKHistoryItemPrivate):
44189        (QWKHistoryItem::QWKHistoryItem):
44190        (QWKHistoryItem::QWKHistoryItem::operator=):
44191        (QWKHistoryItem::~QWKHistoryItem):
44192        (QWKHistoryItem::title):
44193        (QWKHistoryItem::url):
44194        (QWKHistoryPrivate::QWKHistoryPrivate):
44195        (QWKHistoryPrivate::createHistory):
44196        (QWKHistoryPrivate::~QWKHistoryPrivate):
44197        (QWKHistory::QWKHistory):
44198        (QWKHistory::~QWKHistory):
44199        (QWKHistory::backListCount):
44200        (QWKHistory::forwardListCount):
44201        (QWKHistory::count):
44202        (QWKHistory::currentItem):
44203        (QWKHistory::backItem):
44204        (QWKHistory::forwardItem):
44205        (QWKHistory::itemAt):
44206        (QWKHistory::goToItemAt):
44207        (QWKHistory::backItems):
44208        (QWKHistory::forwardItems):
44209        * UIProcess/qt/qwkhistory.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkhistory.h.
44210        * UIProcess/qt/qwkhistory_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkhistory_p.h.
44211        * UIProcess/qt/qwkpreferences.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qwkpreferences.cpp.
44212        (QWKPreferencesPrivate::createPreferences):
44213        (QWKPreferencesPrivate::createSharedPreferences):
44214        (QWKPreferences::sharedPreferences):
44215        (QWKPreferences::QWKPreferences):
44216        (QWKPreferences::~QWKPreferences):
44217        (QWKPreferences::setFontFamily):
44218        (QWKPreferences::fontFamily):
44219        (QWKPreferences::testAttribute):
44220        (QWKPreferences::setAttribute):
44221        (QWKPreferences::setFontSize):
44222        (QWKPreferences::fontSize):
44223        * UIProcess/qt/qwkpreferences.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkpreferences.h.
44224        * UIProcess/qt/qwkpreferences_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkpreferences_p.h.
44225        * WebKit2.pro:
44226        * WebKit2API.pri:
44227        * WebProcess/WebPage/TiledDrawingArea.cpp:
44228        * WebProcess/WebPage/TiledDrawingArea.h:
44229
442302011-07-05  Jeff Miller  <jeffm@apple.com>
44231
44232        Add WKPageCopyStandardUserAgentWithApplicationName
44233        https://bugs.webkit.org/show_bug.cgi?id=63953
44234
44235        Reviewed by Adam Roben.
44236
44237         * UIProcess/API/C/WKPage.cpp:
44238        (WKPageCopyStandardUserAgentWithApplicationName): Added.
44239        * UIProcess/API/C/WKPagePrivate.h: Added WKPageCopyStandardUserAgentWithApplicationName().
44240
44241        * UIProcess/WebPageProxy.h: Make standardUserAgent() public.
44242
442432011-07-05  Vsevolod Vlasov  <vsevik@chromium.org>
44244
44245        Web Inspector: Show content for plugin requests in network panel.
44246        https://bugs.webkit.org/show_bug.cgi?id=30080
44247
44248        Added win symbols for new window.internals methods.
44249
44250        Reviewed by Pavel Feldman.
44251
44252        * win/WebKit2.def:
44253        * win/WebKit2CFLite.def:
44254
442552011-07-04  Sheriff Bot  <webkit.review.bot@gmail.com>
44256
44257        Unreviewed, rolling out r90373.
44258        http://trac.webkit.org/changeset/90373
44259        https://bugs.webkit.org/show_bug.cgi?id=63917
44260
44261        Breaks Qt Linux Release minimal (Requested by vsevik on
44262        #webkit).
44263
44264        * win/WebKit2.def:
44265        * win/WebKit2CFLite.def:
44266
442672011-07-04  Vsevolod Vlasov  <vsevik@chromium.org>
44268
44269        Web Inspector: Show content for plugin requests in network panel.
44270        https://bugs.webkit.org/show_bug.cgi?id=30080
44271
44272        Reviewed by Pavel Feldman.
44273
44274        * win/WebKit2.def:
44275        * win/WebKit2CFLite.def:
44276
442772011-07-04  Anders Carlsson  <andersca@apple.com>
44278
44279        NP_RemoveProperty is not called back by Safari when delete npObject.prop is encountered in JavaScript
44280        https://bugs.webkit.org/show_bug.cgi?id=63915
44281        <rdar://problem/7124300>
44282
44283        Reviewed by Sam Weinig.
44284
44285        * WebProcess/Plugins/Netscape/JSNPObject.cpp:
44286        (WebKit::JSNPObject::deleteProperty):
44287        Call NP_RemoveProperty on the NPObject.
44288
44289        * WebProcess/Plugins/Netscape/JSNPObject.h:
44290        Add deleteProperty.
44291
442922011-06-23  Robert Hogan  <robert@webkit.org>
44293
44294        Reviewed by Simon Hausmann.
44295
44296        [Qt] Windowless Plugins : <input> cursor blinks even after transferring focus to plugin
44297        https://bugs.webkit.org/show_bug.cgi?id=30355
44298
44299        PluginView needs to use page->focusController()->setFocusedNode() when focusing a plugin
44300        in order to clear the FrameSelection in the currently focused node. In its platform-specific
44301        code Chromium already does this (WebPluginContainerImpl.cpp).
44302
44303        * WebProcess/Plugins/PluginView.cpp:
44304        (WebCore::PluginView::focusPluginElement): Using FocusController::setFocusedNode() makes
44305                                                   the call to FocusController:setFocusedFrame() redundant, since the
44306                                                   former calls it.
44307
443082011-07-02  Anders Carlsson  <andersca@apple.com>
44309
44310        Have another go at fixing the Windows build.
44311
44312        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
44313        * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
44314        (WebKit::NetscapePlugin::containingWindow):
44315        (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
44316        (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
44317
443182011-07-02  Anders Carlsson  <andersca@apple.com>
44319
44320        Null out the plug-in controller after destroying the plug-in.
44321        https://bugs.webkit.org/show_bug.cgi?id=63869
44322
44323        Reviewed by Maciej Stachowiak.
44324
44325        * PluginProcess/PluginControllerProxy.cpp:
44326        (WebKit::PluginControllerProxy::destroy):
44327        Call destroyPlugin.
44328
44329        * WebProcess/Plugins/Plugin.cpp:
44330        (WebKit::Plugin::destroyPlugin):
44331        Call destroy and null out the plug-in controller.
44332
44333        * WebProcess/Plugins/Plugin.h:
44334        Add destroyPlugin, make destroy private.
44335
44336        * WebProcess/Plugins/PluginView.cpp:
44337        (WebKit::PluginView::~PluginView):
44338        Call destroyPlugin.
44339
443402011-07-02  Anders Carlsson  <andersca@apple.com>
44341
44342        Fix Windows build for real.
44343
44344        * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
44345        (WebKit::NetscapePlugin::containingWindow):
44346        (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate):
44347        (WebKit::NetscapePlugin::platformPaint):
44348        (WebKit::NetscapePlugin::platformHandleMouseEvent):
44349
443502011-07-02  Anders Carlsson  <andersca@apple.com>
44351
44352        Implement NPN_PluginThreadAsyncCall
44353        https://bugs.webkit.org/show_bug.cgi?id=63868
44354
44355        Reviewed by Dan Bernstein.
44356
44357        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
44358        (WebKit::NPN_PluginThreadAsyncCall):
44359        Call NetscapePlugin::pluginThreadAsyncCall.
44360
44361        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
44362        (WebKit::NetscapePlugin::pluginThreadAsyncCall):
44363        Schedule a work item to call the function on the main run loop.
44364
44365        (WebKit::NetscapePlugin::handlePluginThreadAsyncCall):
44366        If the plug-in is still running, run the function.
44367
44368        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
44369        Add new member function.
44370
44371        * WebProcess/Plugins/Plugin.h:
44372        Make plug-in inherit from ThreadSafeRefCounted since plug-ins can potentially
44373        ref the plug-in from other threads.
44374
443752011-07-02  Anders Carlsson  <andersca@apple.com>
44376
44377        Fix Windows build.
44378
44379        * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
44380        (WebKit::NetscapePlugin::containingWindow):
44381        (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate):
44382        (WebKit::NetscapePlugin::platformPaint):
44383        (WebKit::NetscapePlugin::platformHandleMouseEvent):
44384        (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
44385        (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
44386
443872011-07-02  Anders Carlsson  <andersca@apple.com>
44388
44389        Move the plug-in controller member variable up to the shared Plugin base class
44390        https://bugs.webkit.org/show_bug.cgi?id=63867
44391
44392        Reviewed by Sam Weinig.
44393
44394        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
44395        (WebKit::NetscapePlugin::NetscapePlugin):
44396        Remove m_pluginController.
44397
44398        (WebKit::NetscapePlugin::invalidate):
44399        (WebKit::NetscapePlugin::userAgent):
44400        (WebKit::NetscapePlugin::loadURL):
44401        (WebKit::NetscapePlugin::setStatusbarText):
44402        (WebKit::NetscapePlugin::evaluate):
44403        (WebKit::NetscapePlugin::isPrivateBrowsingEnabled):
44404        (WebKit::NetscapePlugin::windowScriptNPObject):
44405        (WebKit::NetscapePlugin::pluginElementNPObject):
44406        (WebKit::NetscapePlugin::tryToShortCircuitInvoke):
44407        (WebKit::NetscapePlugin::cancelStreamLoad):
44408        (WebKit::NetscapePlugin::isAcceleratedCompositingEnabled):
44409        (WebKit::NetscapePlugin::proxiesForURL):
44410        (WebKit::NetscapePlugin::cookiesForURL):
44411        (WebKit::NetscapePlugin::setCookiesForURL):
44412        (WebKit::NetscapePlugin::getAuthenticationInfo):
44413        Use controller() instead of m_pluginController.
44414
44415        (WebKit::NetscapePlugin::initialize):
44416        This doesn't take a PluginController parameter anymore.
44417
44418        (WebKit::NetscapePlugin::destroy):
44419        No need to null out the plug-in controller.
44420
44421        * WebProcess/Plugins/Netscape/NetscapePlugin.h:
44422        Remove m_pluginController member variable.
44423
44424        * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
44425        (WebKit::NetscapePlugin::compositingRenderServerPort):
44426        (WebKit::NetscapePlugin::platformSetFocus):
44427        (WebKit::NetscapePlugin::windowFocusChanged):
44428        Use controller() instead of m_pluginController.
44429        
44430        * WebProcess/Plugins/Plugin.cpp:
44431        (WebKit::Plugin::Plugin):
44432        Initialize m_pluginController.
44433
44434        (WebKit::Plugin::initialize):
44435        New function that initializes the plug-in controller and then calls the real
44436        virtual initialize member function.
44437
44438        * WebProcess/Plugins/Plugin.h:
44439        Add m_pluginController member variable and a new initialize virtual member function that doesn't take a
44440        PluginController parameter. Make the "old" initialize member function set up the plug-in controller.
44441
44442        (WebKit::Plugin::controller):
44443        This is now a simple getter.
44444
44445        * WebProcess/Plugins/PluginProxy.cpp:
44446        (WebKit::PluginProxy::PluginProxy):
44447        Remove m_pluginController.
44448
44449        (WebKit::PluginProxy::pluginProcessCrashed):
44450        Use controller(), remove a bogus null check.
44451
44452        (WebKit::PluginProxy::initialize):
44453        This doesn't take a PluginController parameter now.
44454
44455        (WebKit::PluginProxy::destroy):
44456        No need to null out the plug-in controller member variable.
44457
44458        (WebKit::PluginProxy::loadURL):
44459        (WebKit::PluginProxy::proxiesForURL):
44460        (WebKit::PluginProxy::cookiesForURL):
44461        (WebKit::PluginProxy::setCookiesForURL):
44462        (WebKit::PluginProxy::getAuthenticationInfo):
44463        (WebKit::PluginProxy::windowNPObjectID):
44464        (WebKit::PluginProxy::getPluginElementNPObject):
44465        (WebKit::PluginProxy::evaluate):
44466        (WebKit::PluginProxy::cancelStreamLoad):
44467        (WebKit::PluginProxy::cancelManualStreamLoad):
44468        (WebKit::PluginProxy::setStatusbarText):
44469        (WebKit::PluginProxy::setComplexTextInputEnabled):
44470        (WebKit::PluginProxy::update):
44471        Use controller() instead of m_pluginController.
44472        
44473        * WebProcess/Plugins/PluginProxy.h:
44474        Remove m_pluginController.
44475
444762011-07-01  Darin Adler  <darin@apple.com>
44477
44478        Consider backing scale factor when setting up graphics layers
44479        https://bugs.webkit.org/show_bug.cgi?id=63848
44480
44481        Reviewed by Simon Fraser.
44482
44483        * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
44484        (WebKit::LayerTreeHostCA::initialize): Set contents scale on the
44485        non-composited content layer based on the backing scale factor.
44486        (WebKit::LayerTreeHostCA::createPageOverlayLayer): Set contents
44487        scale on the page overlay layer based on the backing scale factor.
44488
444892011-06-30  Brian Weinstein  <bweinstein@apple.com>
44490
44491        Reviewed by Darin Adler.
44492
44493        WebKit2: DidFinishLoadForFrame is never called on iframes when loads are 
44494        cancelled by willSendRequest
44495        https://bugs.webkit.org/show_bug.cgi?id=63753
44496        
44497        When deciding a policy for a null request, call the callback that was passed
44498        to WebKit2 and say that we used the loader.
44499
44500        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
44501        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
44502
445032011-07-01  Balazs Kelemen  <kbalazs@webkit.org>
44504
44505        Reviewed by Andreas Kling.
44506
44507        [X11][WK2] plugins/mouse-evets-fixedpos.html is failing because of broken event propagation
44508        https://bugs.webkit.org/show_bug.cgi?id=63239
44509
44510        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
44511        Revert the return value of NPP_HandleEvent because the plugin function
44512        returns with 0 if it handled the event.
44513        (WebKit::NetscapePlugin::platformHandleMouseEvent):
44514        (WebKit::NetscapePlugin::platformHandleWheelEvent):
44515        (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
44516        (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
44517        (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
44518
445192011-07-01  Mark Rowe  <mrowe@apple.com>
44520
44521        Unreviewed due to fixing of a broken world.
44522
44523        REGRESSION (r90163): WebKit2 bot is failing 100% of the tests.
44524
44525        r90163 bumped the version of the WKBundlePageLoaderClient passed in by WebKitTestRunner from 0 to 1.
44526        This made it run in to the ad-hoc client version checking implemented directly in WKBundlePageSetPageLoaderClient,
44527        resulting in no client being set. After r90162 the ad-hoc checking is not necessary as the APIClient
44528        template takes care of the relevant version checks.
44529
44530        * Shared/APIClient.h:
44531        (WebKit::APIClient::initialize): Fix a bug I noticed along the way: don't attempt to copy anything if
44532        the client version is newer than what we support. This matches the behavior of the ad-hoc version checking.
44533        * UIProcess/API/C/WKContext.cpp:
44534        (WKContextSetInjectedBundleClient): Drop the ad-hoc version checking.
44535        (WKContextSetHistoryClient): Ditto.
44536        (WKContextSetDownloadClient): Ditto.
44537        * UIProcess/API/C/WKCookieManager.cpp:
44538        (WKCookieManagerSetClient): Ditto.
44539        * UIProcess/API/C/WKGeolocationManager.cpp:
44540        (WKGeolocationManagerSetProvider): Ditto.
44541        * UIProcess/API/C/WKIconDatabase.cpp:
44542        (WKIconDatabaseSetIconDatabaseClient): Ditto.
44543        * UIProcess/API/C/WKPage.cpp:
44544        (WKPageSetPageContextMenuClient): Ditto.
44545        (WKPageSetPageFindClient): Ditto.
44546        (WKPageSetPageFormClient): Ditto.
44547        (WKPageSetPageLoaderClient): Ditto.
44548        (WKPageSetPagePolicyClient): Ditto.
44549        (WKPageSetPageResourceLoadClient): Ditto.
44550        (WKPageSetPageUIClient): Ditto.
44551        * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
44552        (WKBundleSetClient): Ditto.
44553        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
44554        (WKBundlePageSetContextMenuClient): Ditto.
44555        (WKBundlePageSetEditorClient): Ditto.
44556        (WKBundlePageSetFormClient): Ditto.
44557        (WKBundlePageSetPageLoaderClient): Ditto.
44558        (WKBundlePageSetResourceLoadClient): Ditto.
44559        (WKBundlePageSetPolicyClient): Ditto.
44560        (WKBundlePageSetUIClient): Ditto.
44561        (WKBundlePageSetFullScreenClient): Ditto.
44562
445632011-06-30  Darin Adler  <darin@apple.com>
44564
44565        Reviewed by Anders Carlsson.
44566
44567        [WebKit2] Consider scale factor when allocating backing store
44568        https://bugs.webkit.org/show_bug.cgi?id=63766
44569
44570        This is the first step in considering scale factor. It considers
44571        scale factor for the primary backing store, not graphics layers,
44572        and for CG only.
44573
44574        * Platform/cg/CGUtilities.cpp:
44575        (WebKit::paintImage): Added a scale factor argument.
44576        (WebKit::paintBitmapContext): Pass 1 for scale factor.
44577        * Platform/cg/CGUtilities.h: Updated for above.
44578
44579        * Shared/ShareableBitmap.h: Added an overload of paint that can handle
44580        a scale factor.
44581
44582        * Shared/UpdateInfo.cpp:
44583        (WebKit::UpdateInfo::encode): Encode scale factor.
44584        (WebKit::UpdateInfo::decode): Decode scale factor.
44585        * Shared/UpdateInfo.h: Added scale factor.
44586
44587        * Shared/cg/ShareableBitmapCG.cpp:
44588        (WebKit::ShareableBitmap::paint): Added the overload that can handle
44589        a scale factor.
44590
44591        * UIProcess/BackingStore.cpp:
44592        (WebKit::BackingStore::create): Take a scale factor.
44593        (WebKit::BackingStore::BackingStore): Store the scale factor.
44594        (WebKit::BackingStore::incorporateUpdate): Consider the scale factor
44595        when asserting the size is correct.
44596
44597        * UIProcess/BackingStore.h: Add a scale factor.
44598
44599        * UIProcess/DrawingAreaProxyImpl.cpp:
44600        (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState): Check the
44601        scale factor too when deciding whether to reuse a backing store.
44602        (WebKit::DrawingAreaProxyImpl::incorporateUpdate): Pass in the scale
44603        factor when creating a backing store.
44604
44605        * UIProcess/mac/BackingStoreMac.mm:
44606        (WebKit::BackingStore::incorporateUpdate): Take the scale factor into
44607        account when painting.
44608
44609        * WebProcess/WebPage/DrawingAreaImpl.cpp:
44610        (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState): Put the
44611        scale factor into the UpdateInfo.
44612        (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): Ditto.
44613        (WebKit::DrawingAreaImpl::display): Take the scale factor into account
44614        when allocating the bitmap and creating a graphics context for it.
44615
446162011-06-30  Mark Rowe  <mrowe@apple.com>
44617
44618        Fix the Windows build.
44619
44620        * UIProcess/API/C/win/WKTextChecker.h:
44621        * UIProcess/API/C/win/WKView.h:
44622        * UIProcess/win/WebTextCheckerClient.h:
44623        * UIProcess/win/WebUndoClient.h:
44624
446252011-06-30  Mark Rowe  <mrowe@apple.com>
44626
44627        Reviewed by Anders Carlsson.
44628
44629        Teach APIClient to correctly handle multiple versions of a client interface.
44630
44631        If a client struct is not the current version then we can't copy it via assignment
44632        since that will read past the end of the smaller, older struct. To deal with this
44633        APIClient needs to be aware of the sizes of the older client version structs so that
44634        it can copy only the appropriate amount of the struct.
44635        
44636        * Shared/APIClient.h:
44637        (WebKit::APIClient::initialize): Assign through to our client if the new in client is the
44638        latest version. If an older client version was passed then we zero out our client and memcpy
44639        the appropriate number of bytes in to it. This ensures that any new members in the client
44640        are initialized to 0.
44641        * Shared/APIClientTraits.cpp:
44642        * Shared/APIClientTraits.h: Client interfaces are the size of their struct unless otherwise stated.
44643        * WebKit2.xcodeproj/project.pbxproj:
44644        * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Bump the version and add comments indicating
44645        which components belong to which versions.
44646
446472011-06-30  Mark Rowe  <mrowe@apple.com>
44648
44649        Reviewed by Anders Carlsson.
44650
44651        Make the APIClient template aware of the latest client interface version number.
44652
44653        This will be used in an upcoming patch.
44654
44655        * Shared/APIClient.h:
44656        * UIProcess/WebContextInjectedBundleClient.h:
44657        * UIProcess/WebCookieManagerProxyClient.h:
44658        * UIProcess/WebDatabaseManagerProxyClient.h:
44659        * UIProcess/WebDownloadClient.h:
44660        * UIProcess/WebFindClient.h:
44661        * UIProcess/WebFormClient.h:
44662        * UIProcess/WebGeolocationProvider.h:
44663        * UIProcess/WebHistoryClient.h:
44664        * UIProcess/WebIconDatabaseClient.h:
44665        * UIProcess/WebLoaderClient.h:
44666        * UIProcess/WebPageContextMenuClient.h:
44667        * UIProcess/WebPolicyClient.h:
44668        * UIProcess/WebResourceLoadClient.h:
44669        * UIProcess/WebUIClient.h:
44670        * WebProcess/InjectedBundle/InjectedBundleClient.h:
44671        * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
44672        * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
44673        * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
44674        * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h:
44675        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
44676        * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h:
44677        * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
44678        * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
44679
446802011-06-30  Mark Rowe  <mrowe@apple.com>
44681
44682        Reviewed by Anders Carlsson.
44683
44684        WebKit2 client interfaces should have constant declaring latest version.
44685
44686        * UIProcess/API/C/WKContext.h:
44687        * UIProcess/API/C/WKCookieManager.h:
44688        * UIProcess/API/C/WKDatabaseManager.h:
44689        * UIProcess/API/C/WKGeolocationManager.h:
44690        * UIProcess/API/C/WKIconDatabase.h:
44691        * UIProcess/API/C/WKPage.h:
44692        * WebProcess/InjectedBundle/API/c/WKBundle.h:
44693        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
44694        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
44695
446962011-06-30  Anders Carlsson  <andersca@apple.com>
44697
44698        Build fix.
44699
44700        * UIProcess/win/WebPopupMenuProxyWin.h:
44701        (WebKit::WebPopupMenuProxyWin::enclosingScrollableArea):
44702
447032011-06-30  Martin Robinson  <mrobinson@igalia.com>
44704
44705        Reviewed by Anders Carlsson.
44706
44707        [GTK] Crash observed with nspluginwrapper and flash
44708        https://bugs.webkit.org/show_bug.cgi?id=62249
44709
44710        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
44711        (WebKit::NPN_InvalidateRect): Guard against null instances here.
44712
447132011-06-30  Mark Rowe  <mrowe@apple.com>
44714
44715        Reviewed by Anders Carlsson.
44716
44717        Reinstate WKSecurityOriginGetHost and WKSecurityOriginGetProtocol as wrappers around the correctly-named functions.
44718
44719        They're needed for ABI compatibility.
44720
44721        * Shared/API/c/WKSecurityOrigin.cpp:
44722        (WKSecurityOriginGetHost):
44723        (WKSecurityOriginGetProtocol):
44724
447252011-06-29  Darin Adler  <darin@apple.com>
44726
44727        Reviewed by Dan Bernstein.
44728
44729        [Mac] Use system cursors instead of custom bitmaps where possible
44730        https://bugs.webkit.org/show_bug.cgi?id=63679
44731
44732        * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
44733        (InitWebCoreSystemInterface): Added WKCursor.
44734
447352011-06-29  Darin Adler  <darin@apple.com>
44736
44737        Reviewed by Anders Carlsson.
44738
44739        [WebKit2] Crash loading page that adds/removes frame in DOMContentLoaded/loaded
44740        https://bugs.webkit.org/show_bug.cgi?id=63483
44741
44742        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
44743        (WebKit::WebFrameLoaderClient::createFrame): Added a check for null when creating
44744        a frame. Also added a check that was in the WebKit1 code, but not here. Strangely,
44745        the comment from the second check was still here, but not the code.
44746
447472011-06-28  Chang Shu  <cshu@webkit.org>
44748
44749        Reviewed by Andreas Kling.
44750
44751        [Qt][WK2] Random crashes in fast/frames/ tests
44752        https://bugs.webkit.org/show_bug.cgi?id=63459
44753
44754        Investigation on the crashes has revealed that sometimes, a frame could
44755        have been destroyed before it is removed from the hierachy in Qt WebKit2 UI process.
44756        The root cause lies in the fact that the order of the two contiguous asynchronous
44757        messages may not be respected on the receiving side. And it is Qt's implementation,
44758        which uses QTimer::startTimer(0), that causes the reverse order. This patch replaces
44759        the timer approach with QMetaObject::invokeMethod approach and no crash happens afterwards.
44760
44761        * Platform/qt/WorkQueueQt.cpp:
44762        (WorkQueue::scheduleWork):
44763
447642011-06-28  Balazs Kelemen  <kbalazs@webkit.org>
44765
44766        Reviewed by Kenneth Rohde Christiansen.
44767
44768        [X11][WK2] X error with plugin tests
44769        https://bugs.webkit.org/show_bug.cgi?id=63520
44770
44771        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
44772        Never create a pixmap with (0,0) dimensions.
44773        (WebKit::NetscapePlugin::platformGeometryDidChange):
44774        (WebKit::NetscapePlugin::platformPaint):
44775
447762011-06-28  Balazs Kelemen  <kbalazs@webkit.org>
44777
44778        Reviewed by Kenneth Rohde Christiansen.
44779
44780        [X11][WK2] plugins/plugin-javascript-access fails
44781        https://bugs.webkit.org/show_bug.cgi?id=63464
44782
44783        * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
44784        (WebKit::NetscapePluginModule::getPluginInfo):
44785        Determine the name of the plugin.
44786
447872011-06-27  Yuta Kitamura  <yutak@chromium.org>
44788
44789        Reviewed by Alexey Proskuryakov.
44790
44791        [WebKit2] Add hixie76WebSocketProtocolEnabled flag to WebPreferences
44792        https://bugs.webkit.org/show_bug.cgi?id=63447
44793
44794        Make a new flag added in WebCore::Settings (useHixie76WebSocketProtocol)
44795        switchable from WebPage and WebPreferences.
44796
44797        * Shared/WebPreferencesStore.h:
44798        * UIProcess/API/C/WKPreferences.cpp:
44799        (WKPreferencesSetHixie76WebSocketProtocolEnabled):
44800        (WKPreferencesGetHixie76WebSocketProtocolEnabled):
44801        * UIProcess/API/C/WKPreferencesPrivate.h:
44802        * WebProcess/WebPage/WebPage.cpp:
44803        (WebKit::WebPage::updatePreferences):
44804
448052011-06-27  Jeff Miller  <jeffm@apple.com>
44806
44807        Reviewed by Oliver Hunt.
44808
44809        Web process always pauses on launch
44810        https://bugs.webkit.org/show_bug.cgi?id=63487
44811        
44812        In the absence of the WEBKIT2_PAUSE_WEB_PROCESS_ON_LAUNCH environment variable, only pause the web process on
44813        launch if the shift, control, and alt keys are all held down. This regressed in r89685, which always caused the
44814        web process to pause if the shift and alt keys were not held down.
44815
44816        * WebProcess/WebKitMain.cpp:
44817        (pauseProcessIfNeeded): Add some parentheses.
44818
448192011-06-27  Huang Dongsung  <luxtella@company100.net>
44820
44821        Reviewed by Kenneth Rohde Christiansen.
44822
44823        TiledBackingStore endlessly creates and destroys tiles due to an off-by-one
44824        error.
44825        https://bugs.webkit.org/show_bug.cgi?id=62422
44826
44827        REGRESSION(r77286): Remove bottomRight().
44828        REGRESSION(r77312): Change the logic to get the bottom right point.
44829        REGRESSION(r77928): Cause off-by-one error in TiledBackingStore.
44830        REGRESSION(r78783): Cause off-by-one error in TiledDrawingAreaProxy.
44831        REGRESSION(r78785): Cause off-by-one error in TiledDrawingAreaProxy.
44832
44833        If the viewport width equals the contents width, especially in the mobile
44834        device, TiledBackingStore endlessly creates and deletes the rightmost
44835        column and bottom row of tiles.
44836        In the detail, dropTilesOutsideRect() in TiledBackingStore::createTiles()
44837        deletes tiles and setTile(coordinate, Tile::create(this, coordinate)) creates
44838        tiles infinitely.
44839        Modified TiledDrawingAreaProxy also.
44840
44841        * UIProcess/TiledDrawingAreaProxy.cpp:
44842        (WebKit::innerBottomRight):
44843        (WebKit::TiledDrawingAreaProxy::invalidate):
44844        (WebKit::TiledDrawingAreaProxy::paint):
44845        (WebKit::TiledDrawingAreaProxy::createTiles):
44846
448472011-06-26  Mark Rowe  <mrowe@apple.com>
44848
44849        Reviewed by Dan Bernstein.
44850
44851        Use a separate file name for Lion's WebKitSystemInterface.
44852
44853        * Configurations/DebugRelease.xcconfig:
44854
448552011-06-26  Mark Rowe  <mrowe@apple.com>
44856
44857        Rubber-stamped by Maciej Stachowiak.
44858
44859        <rdar://problem/9679221&9679235> Work around an issue with sandbox.h.
44860
44861        * WebProcess/mac/WebProcessMac.mm:
44862
448632011-06-26  Anders Carlsson  <andersca@apple.com>
44864
44865        Reviewed by Dan Bernstein.
44866
44867        Don't use a Mutex for protecting access to the connection queue clients
44868        https://bugs.webkit.org/show_bug.cgi?id=63403
44869
44870        Make sure to only access the queue client vector from the connection work queue.
44871        This gets rid of a lock and ensures that adding/removing clients from callbacks works correctly.
44872
44873        * Platform/CoreIPC/Connection.cpp:
44874        (CoreIPC::Connection::addQueueClient):
44875        (CoreIPC::Connection::removeQueueClient):
44876        (CoreIPC::Connection::addQueueClientOnWorkQueue):
44877        (CoreIPC::Connection::removeQueueClientOnWorkQueue):
44878        (CoreIPC::Connection::processIncomingMessage):
44879        * Platform/CoreIPC/Connection.h:
44880
448812011-06-25  Brent Fulgham  <bfulgham@webkit.org>
44882
44883        Unreviewed build correction after r89426.
44884
44885        * Shared/API/c/cairo/WKImageCairo.h: Declare cairo type
44886          as struct (in keeping with other declarations).
44887        * win/WebKit2.vcproj: Add new WKImageCairo.cpp file to
44888          WinCairo build.
44889
448902011-06-25  Brent Fulgham  <bfulgham@webkit.org>
44891
44892        Unreviewed build correction after r89503.
44893        See http://trac.webkit.org/changeset/89503. The modifications
44894        to the WebKit2.def need to be mirrored in WebKit2CFLite.def.
44895
44896        * win/WebKit2CFLite.def: Add new exported symbol for isPreloaded.
44897
448982011-06-24  Brent Fulgham  <bfulgham@webkit.org>
44899
44900        Unreviewed build correction after r89426.
44901        See http://trac.webkit.org/changeset/89426. The new WebKit2
44902        header file (WKImageCairo.h) is needed.
44903
44904        * win/WebKit2Generated.make: Make sure to copy the WKImageCairo.h
44905        header file to the WebKit2 API directory after building.
44906
449072011-06-24  Anders Carlsson  <andersca@apple.com>
44908
44909        Reviewed by John Sullivan.
44910
44911        Drag-and-drop tab in same window makes web process falsely report unresponsiveness
44912        https://bugs.webkit.org/show_bug.cgi?id=63369
44913        <rdar://problem/9673120>
44914
44915        If the view becomes invisible, stop the responsiveness timer, because we might not get any
44916        messages that will cause it to stop (such as painting notifications since we don't paint
44917        when we're not visible).
44918
44919        * UIProcess/WebPageProxy.cpp:
44920        (WebKit::WebPageProxy::viewStateDidChange):
44921
449222011-06-24  Anders Carlsson  <andersca@apple.com>
44923
44924        Reviewed by Kevin Decker.
44925
44926        Not possible for plug-ins to override the internal PDF viewer
44927        https://bugs.webkit.org/show_bug.cgi?id=63356
44928        <rdar://problem/9673382>
44929
44930        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
44931        (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
44932        (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
44933        Pass the entire resource response to shouldUseCustomRepresentationForResponse.
44934
44935        * WebProcess/WebProcess.cpp:
44936        (WebKit::canPluginHandleResponse):
44937        Ask for the plug-in path for a plug-in that can handle the given resource response.
44938        If we fail to send the message, or if the path comes back empty, we assume that there's no plug-in
44939        that can handle it.
44940
44941        (WebKit::WebProcess::shouldUseCustomRepresentationForResponse):
44942        If the response MIME type is in the m_mimeTypesWithCustomRepresentations map, check if there's
44943        a plug-in that can handle the given response. If that is the case, it should have precedence over
44944        the custom representation.
44945
44946        * WebProcess/WebProcess.h:
44947        Rename shouldUseCustomRepresentationForMIMEType to shouldUseCustomRepresentationForResponse.
44948
449492011-06-24  Adam Roben  <aroben@apple.com>
44950
44951        Mac build fix after r89685
44952
44953        * WebProcess/WebKitMain.cpp: Make a Windows-only #include really be Windows-only.
44954
449552011-06-24  Adam Roben  <aroben@apple.com>
44956
44957        Make the web process pause dialog look better on Vista/7 and robust against executable
44958        renames
44959
44960        Fixes <http://webkit.org/b/63335> Web process pause dialog looks bad on Vista/7
44961
44962        Reviewed by Brian Weinstein.
44963
44964        * WebProcess/WebKitMain.cpp:
44965        (pauseProcessIfNeeded): Moved code to show the pause dialog here from WebKitMain. We now
44966        fetch the executable name using ::GetModuleFileNameW instead of hard-coding it. The string
44967        we pass to ::MessageBoxW no longer has embedded newlines, which improves its appearance on
44968        Vista/7 (which were doing their own wrapping in addition to our newlines). Appearance is
44969        different but fine on XP. Note that the message text now contains the "[_debug].exe" suffix when
44970        referring to the process; that is different from before but seems fine.
44971        (WebKitMain): Call the new function.
44972
449732011-06-24  Dominic Cooney  <dominicc@chromium.org>
44974
44975        Reviewed by Dimitri Glazkov.
44976
44977        Convert shadow DOM-related tests to use window.internals
44978        https://bugs.webkit.org/show_bug.cgi?id=61671
44979
44980        Remove shadow DOM-related methods from WebKit2 API. These are not
44981        required any more.
44982
44983        * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
44984        * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
44985        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
44986        * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
44987        * win/WebKit2.def: Re-exports for symbols used by WebCoreTestSupport.
44988        * win/WebKit2CFLite.def: Same for Cairo.
44989
449902011-06-24  Carlos Garcia Campos  <cgarcia@igalia.com>
44991
44992        Reviewed by Martin Robinson.
44993
44994        [X11] Do not call NPP_SetWindow with a null window handle on destroy
44995        https://bugs.webkit.org/show_bug.cgi?id=62981
44996
44997        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
44998        (WebKit::NetscapePlugin::destroy):
44999
450002011-06-23 Jamie Cooley  <james.cooley@nokia.com>
45001
45002        Reviewed by Andreas Kling.
45003
45004        [Qt][WK2] Qt port needs load-from-history implementation
45005        https://bugs.webkit.org/show_bug.cgi?id=57784
45006 
45007        Created "random access" BackForwardHistory public API method,
45008        QWKHistory::goToItemAt(int)
45009
45010        * UIProcess/API/qt/qwkhistory.cpp:
45011        (QWKHistoryItem::QWKHistoryItem::itemRef):
45012        Added access method to fetch WKBackForwardListRef
45013
45014        (QWKHistoryPrivate::QWKHistoryPrivate):
45015        (QWKHistoryPrivate::createHistory):
45016        Updated createHistory method and QWKHistoryPrivate constructor to take a pointer
45017        to the owning QWKPage in addition to the WebBackForwardList. This will be saved so that the
45018        new API can ask the page to load a HistoryItem.
45019
45020        (QWKHistory::goToItemAt):
45021        New Public API. Like QWKHistory::itemAt, callee gives an integer.
45022        <0 means jump back to that item, 0 means the current item, >0 means jump forwards.
45023        If an out-of-range index is given, the function silently fails.
45024        This will invoke WKPageGoToBackForwardListItem.
45025
45026        * UIProcess/API/qt/qwkhistory.h:
45027        * UIProcess/API/qt/qwkhistory_p.h:
45028        * UIProcess/API/qt/qwkpage.cpp:
45029        (QWKPagePrivate::QWKPagePrivate):
45030        Update instantiation of QWKHistory to include QWKPage.
45031
45032        * UIProcess/API/qt/tests/qwkhistory/tst_qwkhistory.cpp:
45033        (tst_QWKHistory::historyForwardBackTest_data):
45034        (tst_QWKHistory::historyForwardBackTest):
45035        Add test content for the new API
45036
450372011-06-23  Yael Aharon  <yael.aharon@nokia.com>
45038
45039        Reviewed by Andreas Kling.
45040
45041        [Qt] [WK2] Add drag and drop support
45042        https://bugs.webkit.org/show_bug.cgi?id=62838
45043
45044        Added missing pieces to add support for DnD in QtWebKit.
45045
45046        * Shared/qt/ArgumentCodersQt.cpp: Added.
45047        (CoreIPC::::encode):
45048        (CoreIPC::::decode):
45049        * Shared/qt/ArgumentCodersQt.h: Added.
45050        Encode DragData so that we can transfer the QMimeData between the
45051        WebProcess and the UI Process.
45052        I encode the DragData and not QMimeData directly because we don't
45053        have an associated QMimeData for each message.
45054
45055        * UIProcess/API/qt/qgraphicswkview.cpp:
45056        (QGraphicsWKView::init):
45057        (QGraphicsWKView::dragEnterEvent):
45058        (QGraphicsWKView::dragLeaveEvent):
45059        (QGraphicsWKView::dragMoveEvent):
45060        (QGraphicsWKView::dropEvent):
45061        * UIProcess/API/qt/qgraphicswkview.h:
45062        * UIProcess/API/qt/qwkpage.cpp:
45063        (dropActionToDragOperation):
45064        (dragOperationToDropAction):
45065        (dragOperationToDropActions):
45066        (QWKPagePrivate::dragEnterEvent):
45067        (QWKPagePrivate::dragLeaveEvent):
45068        (QWKPagePrivate::dragMoveEvent):
45069        (QWKPagePrivate::dropEvent):
45070        (QWKPagePrivate::startDrag):
45071
45072        Send drag-and-drop related events to WebKit.
45073
45074        * UIProcess/API/qt/qwkpage_p.h:
45075        * UIProcess/PageClient.h:
45076        * UIProcess/WebPageProxy.cpp:
45077        (WebKit::WebPageProxy::performDragControllerAction):
45078        (WebKit::WebPageProxy::startDrag):
45079        * UIProcess/WebPageProxy.h:
45080
45081         Start the HTML5 drag operation from the UI process, because QDrag
45082         needs a handle to the QWidget under the mouse.
45083
45084        * UIProcess/WebPageProxy.messages.in:
45085
45086        Add message type that takes DragData as a parameter.
45087
45088        * WebKit2.pro:
45089        * WebProcess/WebCoreSupport/WebDragClient.cpp:
45090        * WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp: Added.
45091        (WebKit::convertImageToBitmap):
45092        (WebKit::WebDragClient::startDrag):
45093
45094        Send a message to the UI process to start the HTML5 drag operation.
45095
45096        * WebProcess/WebPage/WebPage.cpp:
45097        (WebKit::WebPage::performDragControllerAction):
45098        * WebProcess/WebPage/WebPage.h:
45099        * WebProcess/WebPage/WebPage.messages.in:
45100
45101        Add message type that takes DragData as a parameter.
45102
451032011-06-23  Carlos Garcia Campos  <cgarcia@igalia.com>
45104
45105        Reviewed by Martin Robinson.
45106
45107        [UNIX] Fix compile warnings in NetscapePluginX11.cpp
45108        https://bugs.webkit.org/show_bug.cgi?id=63249
45109
45110        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
45111        (WebKit::setXButtonEventFields):
45112        (WebKit::NetscapePlugin::platformHandleMouseEvent):
45113
451142011-06-22  Carlos Garcia Campos  <cgarcia@igalia.com>
45115
45116        Reviewed by Martin Robinson.
45117
45118        [UNIX] Increment/decrement module load conter in NetscapePluginModule::getPluginInfo()
45119        https://bugs.webkit.org/show_bug.cgi?id=63150
45120
45121        Since the method is static, we are using
45122        NetscapePluginModule::getOrCreate() to get the module. If it's
45123        created, the load counter is 0, so that when module is deleted,
45124        shutdown() hasn't been called and the destructor crashes in the
45125        assert that checks the module has been removed from the
45126        initialized module list. We should increment the load counter, and
45127        decrement it before getPluginInfo() returns, so that
45128        decrementLoadCount() will call shutdown() if counter is 0 and the
45129        module will be deleted from the list.
45130
45131        * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
45132        (WebKit::NetscapePluginModule::getPluginInfo):
45133
451342011-06-22  Carlos Garcia Campos  <cgarcia@igalia.com>
45135
45136        Reviewed by Martin Robinson.
45137
45138        [UNIX] Check for npp directly when getting X display in NetscapeBrowserFuncs
45139        https://bugs.webkit.org/show_bug.cgi?id=63149
45140
45141        NetscapePlugin::fromNPP() shouldn't be called with a null npp, it
45142        contains an assert that make it crash when building with debug enabled.
45143
45144        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
45145        (WebKit::NPN_GetValue):
45146
451472011-06-22  Nate Chapin  <japhet@chromium.org>
45148
45149        Reviewed by Adam Barth.
45150
45151        Add win symbols for new window.internals functionality.
45152        https://bugs.webkit.org/show_bug.cgi?id=62066
45153
45154        * win/WebKit2.def:
45155
451562011-06-22  Balazs Kelemen  <kbalazs@webkit.org>
45157
45158        Reviewed by Andreas Kling.
45159
45160        [Qt][WK2] Set up plugin tests
45161        https://bugs.webkit.org/show_bug.cgi?id=63066
45162
45163        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
45164        (WebKit::WebFrameLoaderClient::createPlugin):
45165        Force windowless mode for the test plugin because we
45166        don't support windowed plugins yet.
45167
451682011-06-22  Geoffrey Garen  <ggaren@apple.com>
45169
45170        Reviewed by Oliver Hunt.
45171
45172        Removed unnecessary #include <stdio.h>.
45173
45174        * PluginProcess/mac/PluginProcessMainMac.mm:
45175        * Shared/WebMemorySampler.cpp:
45176        * UIProcess/WebFrameProxy.cpp:
45177        * UIProcess/WebProcessProxy.cpp:
45178        * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
45179        * WebProcess/mac/WebProcessMac.mm: Added #include back to places where it
45180        was needed.
45181
451822011-06-22  Balazs Kelemen  <kbalazs@webkit.org>
45183
45184        Unreviewed build fix after r89461.
45185
45186        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
45187        (WebKit::NetscapePlugin::platformSetFocus):
45188        Forgot to name the parameter, fix it.
45189
451902011-06-22  Balazs Kelemen  <kbalazs@webkit.org>
45191
45192        Reviewed by Darin Adler.
45193
45194        [X11][WK2] Implement NetscapePlugin::platformSetFocus
45195        https://bugs.webkit.org/show_bug.cgi?id=63154
45196
45197        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
45198        (WebKit::NetscapePlugin::platformSetFocus):
45199        Implement focus setting based on the WebKit1 path.
45200
452012011-06-22  Eunmi Lee  <eunmi15.lee@samsung.com>
45202
45203        Reviewed by Martin Robinson.
45204
45205        Change GtkWidgetBackingStore.h to WidgetBackingStore.h in order to use in the EFL port.
45206        https://bugs.webkit.org/show_bug.cgi?id=62848
45207
45208        Change GtkWidgetBackingStore to WidgetBackingStore in the BackingStore.h and
45209        gtk/BackingStoreGtk.cpp.
45210
45211        * UIProcess/BackingStore.h:
45212        * UIProcess/gtk/BackingStoreGtk.cpp:
45213        (WebKit::BackingStore::incorporateUpdate):
45214
452152011-06-22  Adam Roben  <aroben@apple.com>
45216
45217        Don't use an alpha channel when drawing the web page on Windows
45218
45219        We never use the alpha channel in the end anyway (because we never render into a layered
45220        window, which is the only kind of window that supports alpha). And using an alpha channel is
45221        tricky to get right since GDI doesn't support alpha (and often writes 0x0 into the alpha
45222        channel).
45223
45224        Fixes <http://webkit.org/b/63075> <rdar://problem/9648113> REGRESSION (r88978): Text inside
45225        form controls looks really awful on Windows XP
45226
45227        Reviewed by Anders Carlsson.
45228
45229        * WebProcess/WebPage/win/DrawingAreaImplWin.cpp:
45230        (WebKit::DrawingAreaImpl::createGraphicsContext): Specify false for the hasAlpha parameter
45231        to the GraphicsContext constructor.
45232
452332011-06-22  Carlos Garcia Campos  <cgarcia@igalia.com>
45234
45235        Reviewed by Martin Robinson.
45236
45237        [GTK] Remove Connection::setShouldCloseConnectionOnProcessTermination()
45238        https://bugs.webkit.org/show_bug.cgi?id=61627
45239
45240        Don't use Connection::setShouldCloseConnectionOnProcessTermination() for the
45241        GTK port, when the process finishes the connection is closed and
45242        the other process is already notified. We still need to monitor
45243        the child process so that it doesn't become a zombie when it dntabi
45244
45245        * Platform/CoreIPC/Connection.h:
45246        * Platform/CoreIPC/unix/ConnectionUnix.cpp:
45247        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
45248        (WebKit::childFinishedFunction):
45249        (WebKit::ProcessLauncher::launchProcess):
45250        * UIProcess/WebProcessProxy.cpp:
45251        (WebKit::WebProcessProxy::didFinishLaunching):
45252
452532011-06-20  Dimitri Glazkov  <dglazkov@chromium.org>
45254
45255        Reviewed by Kent Tamura.
45256
45257        FileChooser should be only created when we need to choose files.
45258        https://bugs.webkit.org/show_bug.cgi?id=63039
45259
45260        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
45261        (WebKit::WebChromeClient::runOpenPanel): Changed to use settings.
45262
452632011-06-22  Martin Robinson  <mrobinson@igalia.com>
45264
45265        Reviewed by Adam Roben.
45266
45267        [GTK] Implement pixel dump support for WebKitTestRunner
45268        https://bugs.webkit.org/show_bug.cgi?id=58242
45269
45270        * GNUmakefile.am: Added new Cairo specific image handling files to the build.
45271        * Shared/API/c/cairo/WKImageCairo.cpp: Copied from Source/WebKit2/Shared/cairo/ShareableBitmapCairo.cpp.
45272        (WKImageCreateCairoSurface): Added
45273        (WKImageCreateFromCairoSurface): Added
45274        * Shared/API/c/cairo/WKImageCairo.h: Copied from Source/WebKit2/Shared/cairo/ShareableBitmapCairo.cpp.
45275
452762011-06-21  MORITA Hajime  <morrita@google.com>
45277
45278        Unreviewed, rolling out r89401 and r89403.
45279        http://trac.webkit.org/changeset/89401
45280        http://trac.webkit.org/changeset/89403
45281        https://bugs.webkit.org/show_bug.cgi?id=62970
45282
45283        Breaks mac build and mistakenly enables the spellcheck API
45284
45285        * Configurations/FeatureDefines.xcconfig:
45286
452872011-06-20  MORITA Hajime  <morrita@google.com>
45288
45289        Reviewed by Kent Tamura.
45290
45291        Spellcheck API should be build-able.
45292        https://bugs.webkit.org/show_bug.cgi?id=62970
45293
45294        No new tests, changing only build related files
45295
45296        * Configurations/FeatureDefines.xcconfig:
45297
452982011-06-21  Jer Noble  <jer.noble@apple.com>
45299
45300        Reviewed by Simon Fraser.
45301
45302        REGRESSION: Fullscreen videos are broken (affects embedded vimeo, vimeo.com, and apple.com)
45303        https://bugs.webkit.org/show_bug.cgi?id=63098
45304        <rdar://problem/9645393>
45305
45306        Force a repaint after completing entering full-screen mode only after the notification 
45307        is sent for the QTMovie to tear down its layer.  Then, the QTMovie will build up its
45308        layer again during the repaint.
45309
45310        * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
45311        (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer):
45312
453132011-06-21  Yael Aharon  <yael.aharon@nokia.com>
45314
45315        Reviewed by Kenneth Rohde Christiansen.
45316
45317        [Qt] Add an internal API for accessing the QGraphicsView.
45318        https://bugs.webkit.org/show_bug.cgi?id=63095
45319
45320        * UIProcess/API/qt/qwkpage.cpp:
45321        (QWKPagePrivate::ownerWidget):
45322        * UIProcess/API/qt/qwkpage_p.h:
45323
453242011-06-21  Lukasz Slachciak  <l.slachciak@samsung.com>
45325
45326        Reviewed by Sam Weinig.
45327
45328        [GTK] [WK2] WebKit2 build break fixes.
45329        https://bugs.webkit.org/show_bug.cgi?id=62950
45330
45331        When building WebKit2 for GTK there are few build breaks connected with missing include files.
45332
45333        * Platform/unix/SharedMemoryUnix.cpp:
45334        * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
45335        * UIProcess/API/gtk/PageClientImpl.cpp:
45336
453372011-06-20  Martin Robinson  <mrobinson@igalia.com>
45338
45339        Reviewed by Eric Seidel.
45340
45341        [GTK] [WebKit2] Disable GDK double buffering
45342        https://bugs.webkit.org/show_bug.cgi?id=62770
45343
45344        Explicitly disable GDK double-buffering when instantiating
45345        a WebKit2 view widget. This prevents one extra pixmap copy.
45346
45347        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
45348        (webkit_web_view_base_init):
45349
453502011-06-20  Carlos Garcia Campos  <cgarcia@igalia.com>
45351
45352        Reviewed by Martin Robinson.
45353
45354        [UNIX] Don't use WebCore::PluginPackage to get plugin information
45355        https://bugs.webkit.org/show_bug.cgi?id=62899
45356
45357        The problem is that both PluginPackage in WebCore and
45358        NetscapePluginModule in webkit2 install their own netscape browser
45359        functions and that can cause conflicts in some situations.
45360
45361        * Shared/Plugins/Netscape/NetscapePluginModule.h: Add helper
45362        function to set plugin mime type descriptions.
45363        * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
45364        (WebKit::NetscapePluginModule::setMIMEDescription): Helper
45365        function to set plugin mime type descriptions.
45366        (WebKit::NetscapePluginModule::getPluginInfo): Use
45367        NetscapePluginModule instead of PluginPackage.
45368        * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp: Remove unneeded
45369        header include.
45370        * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
45371        (WebKit::NPN_GetValue): Do not try to get the XDisplay if the
45372        plugin doesn't have a view. It fixes a crash with flash plugin and
45373        matches WebCore.
45374
453752011-06-20  Carlos Garcia Campos  <cgarcia@igalia.com>
45376
45377        Reviewed by Xan Lopez.
45378
45379        [GTK] Split libWebCore into two libWebCore and libWebCoreGtk
45380        https://bugs.webkit.org/show_bug.cgi?id=60539
45381
45382        * GNUmakefile.am: Link to libWebCoreGtk.la too.
45383
453842011-06-19  MORITA Hajime <morrita@google.com>
45385
45386        Unreviewed wincairo build fix.
45387
45388        * win/WebKit2CFLite.def:
45389
453902011-06-19  MORITA Hajime  <morrita@google.com>
45391
45392        Reviewed by Dimitri Glazkov.
45393
45394        The internals object should have createShadowContentElement()
45395        https://bugs.webkit.org/show_bug.cgi?id=62432
45396
45397        * win/WebKit2.def: Added some more symbols necessary for
45398        window.internals to function to the global symbol list.
45399
454002011-06-18  Dimitri Glazkov  <dglazkov@chromium.org>
45401
45402        Reviewed by Darin Adler.
45403
45404        Separate concerns of loading file icons and choosing files.
45405        https://bugs.webkit.org/show_bug.cgi?id=62931
45406
45407        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
45408        (WebKit::WebChromeClient::loadIconForFiles): Renamed.
45409        * WebProcess/WebCoreSupport/WebChromeClient.h:
45410
454112011-06-18  Eunmi Lee  <eunmi15.lee@samsung.com>
45412
45413        Reviewed by Sam Weinig.
45414
45415        [EFL][WK2] add WebKit2 EFL port's NativeWebMouseEvent, NativeWebWheelEvent and NativeWebKeyboardEvent
45416        https://bugs.webkit.org/show_bug.cgi?id=61993
45417
45418        Add native mouse and keyboard event classes to convert EFL's events to NativeWebEvent.
45419
45420        * Shared/NativeWebKeyboardEvent.h:
45421        (WebKit::NativeWebKeyboardEvent::nativeEvent):
45422        * Shared/NativeWebMouseEvent.h:
45423        (WebKit::NativeWebMouseEvent::nativeEvent):
45424        * Shared/NativeWebWheelEvent.h:
45425        (WebKit::NativeWebWheelEvent::nativeEvent):
45426        * Shared/efl/NativeWebKeyboardEventEfl.cpp: Added.
45427        (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):
45428        * Shared/efl/NativeWebMouseEventEfl.cpp: Added.
45429        (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
45430        * Shared/efl/NativeWebWheelEventEfl.cpp: Added.
45431        (WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
45432        * Shared/efl/WebEventFactory.cpp: Added.
45433        (WebKit::modifiersForEvent):
45434        (WebKit::buttonForEvent):
45435        (WebKit::clickCountForEvent):
45436        (WebKit::WebEventFactory::createWebMouseEvent):
45437        (WebKit::WebEventFactory::createWebWheelEvent):
45438        (WebKit::WebEventFactory::createWebKeyboardEvent):
45439        * Shared/efl/WebEventFactory.h: Added.
45440
454412011-06-18  Eunmi Lee  <eunmi15.lee@samsung.com>
45442
45443        Reviewed by Sam Weinig.
45444
45445        [EFL][WK2] Add missing functions of EFL port's PageClientImpl
45446        https://bugs.webkit.org/show_bug.cgi?id=62711
45447
45448        Three functions are added in the PageClient.h, so add them to the EFL's PageClientImpl.
45449
45450        * UIProcess/API/efl/PageClientImpl.cpp:
45451        (WebKit::PageClientImpl::screenToWindow):
45452        (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
45453        (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
45454        * UIProcess/API/efl/PageClientImpl.h:
45455
454562011-06-17  Brent Fulgham  <bfulgham@webkit.org>
45457
45458        [WinCairo] Unreviewed build fix after r89060 and r89161.
45459
45460        * Shared/win/WebCoreArgumentCodersWin.cpp: WinCairo build fixes
45461          (1) Include proper header files for WinCairo build
45462          (2) Exclude unused namespace declaration
45463
454642011-06-17  Anders Carlsson  <andersca@apple.com>
45465
45466        Reviewed by Sam Weinig.
45467
45468        Remove unused ArgumentEncoder and ArgumentDecoder functions
45469        https://bugs.webkit.org/show_bug.cgi?id=62909
45470
45471        * Platform/CoreIPC/ArgumentDecoder.cpp:
45472        * Platform/CoreIPC/ArgumentDecoder.h:
45473        * Platform/CoreIPC/ArgumentEncoder.cpp:
45474        * Platform/CoreIPC/ArgumentEncoder.h:
45475        
45476        * Shared/win/PlatformCertificateInfo.cpp:
45477        (WebKit::PlatformCertificateInfo::encode):
45478        (WebKit::PlatformCertificateInfo::decode):
45479        Replace calls to encodeBytes/decodeBytes with
45480        encodeVariableLengthByteArray/decodeVariableLengthByteArray.
45481
454822011-06-17  Anders Carlsson  <andersca@apple.com>
45483
45484        Yet another Qt build fix attempt.
45485
45486        * UIProcess/API/qt/ClientImpl.cpp:
45487        * UIProcess/API/qt/qgraphicswkview.cpp:
45488        * UIProcess/API/qt/qwkpage.cpp:
45489        * UIProcess/API/qt/qwkpage_p.h:
45490
454912011-06-17  Anders Carlsson  <andersca@apple.com>
45492
45493        Another attempt at fixing the Qt build.
45494
45495        * UIProcess/API/qt/ClientImpl.cpp:
45496        * UIProcess/API/qt/qgraphicswkview.cpp:
45497        * UIProcess/API/qt/qwkcontext.cpp:
45498
454992011-06-17  Anders Carlsson  <andersca@apple.com>
45500
45501        Fix Qt build.
45502
45503        * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
45504
455052011-06-17  Anders Carlsson  <andersca@apple.com>
45506
45507        Windows build fix.
45508
45509        * UIProcess/win/WebView.cpp:
45510
455112011-06-17  Anders Carlsson  <andersca@apple.com>
45512
45513        Reviewed by Sam Weinig.
45514
45515        Move the remaining WebCore argument coders to the .cpp file
45516        https://bugs.webkit.org/show_bug.cgi?id=62874
45517
45518        Also add includes that other files need that used to be provided by WebCoreArgumentCoders.h,
45519        and get rid of the LAZY_NATIVE_CURSOR #if check because all WebKit2 platforms now support it.
45520        
45521        * Shared/ContextMenuState.h:
45522        * Shared/WebCoreArgumentCoders.cpp:
45523        (CoreIPC::::encode):
45524        (CoreIPC::::decode):
45525        * Shared/WebCoreArgumentCoders.h:
45526        * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
45527        * Shared/mac/WebCoreArgumentCodersMac.mm:
45528        * Shared/qt/WebCoreArgumentCodersQt.cpp:
45529        * UIProcess/API/mac/PDFViewController.mm:
45530        * UIProcess/PageClient.h:
45531        * UIProcess/WebIconDatabase.cpp:
45532        * UIProcess/WebPageProxy.cpp:
45533        * UIProcess/WebPageProxy.h:
45534        * UIProcess/mac/WKFullScreenWindowController.mm:
45535
455362011-06-17  Chang Shu  <cshu@webkit.org>
45537
45538        Reviewed by Anders Carlsson.
45539
45540        [Qt] [WK2] Debug info leaks to stdout from plugins in Qt WebKit2 layout tests
45541        https://bugs.webkit.org/show_bug.cgi?id=61940
45542
45543        Tempararily supress stdout during getPluginInfo during which debug info was leaked out.
45544
45545        * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
45546        (WebKit::StdoutRedirect::StdoutRedirect):
45547        (WebKit::StdoutRedirect::~StdoutRedirect):
45548        (WebKit::NetscapePluginModule::getPluginInfo):
45549
455502011-06-17  Anders Carlsson  <andersca@apple.com>
45551
45552        Reviewed by Andreas Kling.
45553
45554        Remove WebCore:: qualifier from names in WebPageProxy.
45555
45556        * UIProcess/WebPageProxy.cpp:
45557        (WebKit::WebPageProxy::dragEntered):
45558        (WebKit::WebPageProxy::dragUpdated):
45559        (WebKit::WebPageProxy::dragExited):
45560        (WebKit::WebPageProxy::performDrag):
45561        (WebKit::WebPageProxy::performDragControllerAction):
45562        (WebKit::WebPageProxy::dragEnded):
45563        (WebKit::WebPageProxy::setResizesToContentsUsingLayoutSize):
45564        (WebKit::WebPageProxy::unableToImplementPolicy):
45565        (WebKit::WebPageProxy::didChangeContentsSize):
45566        (WebKit::WebPageProxy::didFindZoomableArea):
45567        (WebKit::WebPageProxy::findZoomableAreaForPoint):
45568        (WebKit::WebPageProxy::setComposition):
45569        (WebKit::WebPageProxy::checkTextOfParagraph):
45570        (WebKit::WebPageProxy::checkGrammarOfString):
45571        (WebKit::WebPageProxy::setCursor):
45572        (WebKit::WebPageProxy::computedPagesCallback):
45573        (WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpaceInFrame):
45574        (WebKit::WebPageProxy::didReceiveAuthenticationChallenge):
45575        (WebKit::WebPageProxy::showCorrectionPanel):
45576        (WebKit::WebPageProxy::dismissCorrectionPanel):
45577        (WebKit::WebPageProxy::dismissCorrectionPanelSoon):
45578        (WebKit::WebPageProxy::recordAutocorrectionResponse):
45579
455802011-06-17  Anders Carlsson  <andersca@apple.com>
45581
45582        Reviewed by Darin Adler.
45583
45584        Fix message generator to include headers for all types
45585        https://bugs.webkit.org/show_bug.cgi?id=62870
45586
45587        Previously, if we found an argument coder header for a type, we'd assume
45588        that that header includes the necessary headers for the type.
45589
45590        * Scripts/webkit2/messages.py:
45591        * Scripts/webkit2/messages_unittest.py:
45592
455932011-06-17  Chang Shu  <cshu@webkit.org>
45594
45595        Reviewed by Andreas Kling.
45596
45597        [Qt] [WK2] Support undo/redo in MiniBrowser
45598        https://bugs.webkit.org/show_bug.cgi?id=62809
45599
45600        * UIProcess/API/qt/qwkpage.cpp:
45601        (QWKPage::action):
45602        * UIProcess/API/qt/qwkpage.h:
45603
456042011-06-17  Carlos Garcia Campos  <cgarcia@igalia.com>
45605
45606        Unreviewed. Fix WebKit2 GTK build after r89060.
45607
45608        * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
45609        (CoreIPC::::encode):
45610
456112011-06-16  Anders Carlsson  <andersca@apple.com>
45612
45613        Reviewed by Sam Weinig.
45614
45615        Get rid of CoreIPC::In and CoreIPC::Out from some argument coders
45616        https://bugs.webkit.org/show_bug.cgi?id=62832
45617
45618        * Shared/OriginAndDatabases.cpp:
45619        (WebKit::OriginAndDatabases::encode):
45620        (WebKit::OriginAndDatabases::decode):
45621        * Shared/SecurityOriginData.cpp:
45622        (WebKit::SecurityOriginData::encode):
45623        (WebKit::SecurityOriginData::decode):
45624        * Shared/WebKeyboardEvent.cpp:
45625        (WebKit::WebKeyboardEvent::encode):
45626        (WebKit::WebKeyboardEvent::decode):
45627        * Shared/WebOpenPanelParameters.cpp:
45628        (WebKit::WebOpenPanelParameters::Data::encode):
45629        (WebKit::WebOpenPanelParameters::Data::decode):
45630        * Shared/WebPreferencesStore.cpp:
45631        (WebKit::WebPreferencesStore::encode):
45632        (WebKit::WebPreferencesStore::decode):
45633
456342011-06-16  Anders Carlsson  <andersca@apple.com>
45635
45636        Reviewed by Sam Weinig.
45637
45638        Cleanup ResourceRequest, ResourceResponse and ResourceError argument coders
45639        https://bugs.webkit.org/show_bug.cgi?id=62803
45640
45641        Get rid of the free encode/decode functions and move the template specializations to their
45642        respective implementation files instead.
45643
45644        * Shared/WebCoreArgumentCoders.h:
45645        * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
45646        (CoreIPC::::encode):
45647        (CoreIPC::::decode):
45648        * Shared/mac/WebCoreArgumentCodersMac.mm:
45649        (CoreIPC::::encode):
45650        (CoreIPC::::decode):
45651        * Shared/qt/WebCoreArgumentCodersQt.cpp:
45652        (CoreIPC::::encode):
45653        (CoreIPC::::decode):
45654        * Shared/win/WebCoreArgumentCodersWin.cpp:
45655        (CoreIPC::::encode):
45656        (CoreIPC::::decode):
45657
456582011-06-16  Chang Shu  <cshu@webkit.org>
45659
45660        Reviewed by Sam Weinig.
45661
45662        [Qt] [WK2] Qt WebKit2 needs undo/redo support
45663        https://bugs.webkit.org/show_bug.cgi?id=62637
45664
45665        Implement undo/redo support for document.execCommand().
45666
45667        * UIProcess/API/qt/qwkpage.cpp:
45668        (QWKPagePrivate::QWKPagePrivate):
45669        (QWKPagePrivate::~QWKPagePrivate):
45670        (QWKPagePrivate::registerEditCommand):
45671        (QWKPagePrivate::clearAllEditCommands):
45672        (QWKPagePrivate::canUndoRedo):
45673        (QWKPagePrivate::executeUndoRedo):
45674        * UIProcess/API/qt/qwkpage_p.h:
45675        * UIProcess/qt/WebUndoCommandQt.cpp: Added.
45676        (WebUndoCommandQt::WebUndoCommandQt):
45677        (WebUndoCommandQt::~WebUndoCommandQt):
45678        (WebUndoCommandQt::redo):
45679        (WebUndoCommandQt::undo):
45680        * UIProcess/qt/WebUndoCommandQt.h: Added.
45681        (WebUndoCommandQt::inUndoRedo):
45682        * WebKit2.pro:
45683
456842011-06-16  Anders Carlsson  <andersca@apple.com>
45685
45686        Fix build.
45687
45688        * Shared/WebCoreArgumentCoders.cpp:
45689        * Shared/WebCoreArgumentCoders.h:
45690
456912011-06-15  Anders Carlsson  <andersca@apple.com>
45692
45693        Reviewed by Sam Weinig.
45694
45695        Move more argument coders to WebCoreArgumentCoders and clean up the animation coders
45696        https://bugs.webkit.org/show_bug.cgi?id=62760
45697
45698        * Shared/WebCoreArgumentCoders.cpp:
45699        (CoreIPC::::encode):
45700        (CoreIPC::::decode):
45701        (CoreIPC::encodeOperation):
45702        (CoreIPC::decodeOperation):
45703        (CoreIPC::encodeBoolAndValue):
45704        (CoreIPC::encodeBoolAndEnumValue):
45705        (CoreIPC::decodeBoolAndValue):
45706        (CoreIPC::decodeBoolAndEnumValue):
45707        * Shared/WebCoreArgumentCoders.h:
45708        * Shared/mac/ArgumentCodersMac.h:
45709        * Shared/mac/ArgumentCodersMac.mm:
45710        * Shared/mac/WebCoreArgumentCodersMac.mm:
45711        (CoreIPC::::encode):
45712        (CoreIPC::::decode):
45713
457142011-06-16  Sangyong Park  <sy302.park@gmail.com>
45715
45716        Reviewed by Martin Robinson.
45717
45718        [GTK] Implement ResourceRequest and ResourceResponse encoder/decoder
45719        https://bugs.webkit.org/show_bug.cgi?id=55934
45720
45721        * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
45722        (CoreIPC::encodeResourceRequest):
45723        (CoreIPC::decodeResourceRequest):
45724        (CoreIPC::encodeResourceResponse):
45725        (CoreIPC::decodeResourceResponse):
45726
457272011-06-16  Carlos Garcia Campos  <cgarcia@igalia.com>
45728
45729        Reviewed by Xan Lopez.
45730
45731        [GTK] Remove support for GTK+2 in WebKit2
45732        https://bugs.webkit.org/show_bug.cgi?id=62794
45733
45734        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
45735        (webkitWebViewBaseRealize):
45736        (webkitWebViewBaseDraw):
45737        (webkitWebViewBaseQueryTooltip):
45738        (webkit_web_view_base_class_init):
45739        (webkitWebViewBaseSetTooltipText):
45740        * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
45741        (WebKit::WebContextMenuProxyGtk::menuPositionFunction):
45742        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
45743        (WebKit::moduleMixesGtkSymbols):
45744
457452011-06-15  Adam Barth  <abarth@webkit.org>
45746
45747        Reviewed by Eric Seidel.
45748
45749        Remove ScriptController::setAllowPopupsFromPlugin
45750        https://bugs.webkit.org/show_bug.cgi?id=62706
45751
45752        * WebProcess/Plugins/PluginView.cpp:
45753        (WebKit::PluginView::performJavaScriptURLRequest):
45754        (WebKit::PluginView::evaluate):
45755
457562011-06-15  Ryuan Choi  <ryuan.choi@samsung.com>
45757
45758        Rubber stamped by Eric Seidel.
45759
45760        [CMAKE][WK2] Add an option to build webkit2.
45761        https://bugs.webkit.org/show_bug.cgi?id=62260
45762
45763        Add script to build WebKit2 using CMake.
45764
45765        * CMakeLists.txt: Added.
45766
457672011-06-15  John Sullivan  <sullivan@apple.com>
45768
45769        Reviewed by Sam Weinig.
45770
45771        WKSecurityOriginGetProtocol and WKSecurityOriginGetHost are named wrong because they return copied strings
45772        <https://bugs.webkit.org/show_bug.cgi?id=62763>
45773        <rdar://problem/9618071>
45774
45775        * Shared/API/c/WKSecurityOrigin.cpp:
45776        (WKSecurityOriginCopyProtocol):
45777        Renamed to use "Copy" instead of "Get" because it returns a copy.
45778        (WKSecurityOriginCopyHost):
45779        Ditto.
45780
45781        * Shared/API/c/WKSecurityOrigin.h:
45782        Updated declarations.
45783
457842011-06-14  Jon Honeycutt  <jhoneycutt@apple.com>
45785
45786        REGRESSION(78201): Windowless Flash plug-ins are transparent on some sites
45787        https://bugs.webkit.org/show_bug.cgi?id=62690
45788        <rdar://problem/9512026>
45789
45790        Reviewed by Ada Chan.
45791
45792        The bug arises when mixing CoreGraphics and GDI. When we create a Windows
45793        bitmap for a windowless plug-in to draw into, we first fill it with "clear",
45794        or all 0s. If the plug-in uses GDI to draw, the GDI calls will ignore the
45795        alpha channel, and if we then use CG to blend this bitmap onto the
45796        GraphicsContext for the rest of the page, CG will treat the 0-filled
45797        alpha channel as being transparent.
45798
45799        To fix this, on Windows, use a GDI-backed GraphicsContext to paint the
45800        page in the WebProcess, and use GDI to blit from the UpdateInfo to the
45801        backing store in the UI process.
45802
45803        * Platform/SharedMemory.h:
45804        (WebKit::SharedMemory::handle):
45805        Return the handle for the memory.
45806
45807        * Shared/ShareableBitmap.h:
45808        Declared windowsContext() to return a HDC with the bitmap selected into it.
45809        Added members to store the HDC and the HBITMAP.
45810
45811        * Shared/win/ShareableBitmapWin.cpp: Added.
45812        (WebKit::ShareableBitmap::windowsContext):
45813        Get the screen DC, and create a compatible DC from it. Create a DIB
45814        section backed by the shared memory, select it into the context, and
45815        return it.
45816
45817        * UIProcess/win/BackingStoreWin.cpp:
45818        (WebKit::BackingStore::incorporateUpdate):
45819        Use GDI to blit from the update info's bitmap into the backing store bitmap.
45820
45821        * WebProcess/WebPage/DrawingAreaImpl.cpp:
45822        (WebKit::DrawingAreaImpl::createGraphicsContext):
45823        Return a GraphicsContext from the ShareableBitmap.
45824        (WebKit::DrawingAreaImpl::display):
45825        Call createGraphicsContext(), and pass the ShareableBitmap.
45826
45827        * WebProcess/WebPage/DrawingAreaImpl.h:
45828        Declare createGraphicsContext(), which on Windows will create a GDI-backed
45829        GraphicsContext.
45830
45831        * WebProcess/WebPage/win/DrawingAreaImplWin.cpp: Added.
45832        (WebKit::DrawingAreaImpl::createGraphicsContext):
45833        Get a Windows context for the bitmap, and create and return a new
45834        GraphicsContext using the DC.
45835
45836        * win/WebKit2.vcproj:
45837        Added new files.
45838
458392011-06-15  Anders Carlsson  <andersca@apple.com>
45840
45841        Reviewed by Sam Weinig.
45842
45843        Move more argument coders to WebCoreArgumentCoders.cpp
45844        https://bugs.webkit.org/show_bug.cgi?id=62755
45845
45846        * Shared/WebCoreArgumentCoders.cpp:
45847        (CoreIPC::::decode):
45848        (CoreIPC::::encode):
45849        (CoreIPC::encodeImage):
45850        (CoreIPC::decodeImage):
45851        * Shared/WebCoreArgumentCoders.h:
45852
458532011-06-15  Anders Carlsson  <andersca@apple.com>
45854
45855        Reviewed by Darin Adler.
45856
45857        Add ShareableBitmap::createImage and get rid of WebCoreArgumentCodersCG.cpp
45858        https://bugs.webkit.org/show_bug.cgi?id=62742
45859
45860        * Shared/ShareableBitmap.h:
45861        Move createImage out of the #if PLATFORM(QT) section.
45862
45863        * Shared/WebCoreArgumentCoders.cpp:
45864        (CoreIPC::decodeImage):
45865        Call ShareableBitmap::createImage.
45866
45867        * Shared/WebCoreArgumentCoders.h:
45868        remove createImage function declaration.
45869
45870        * Shared/cairo/ShareableBitmapCairo.cpp:
45871        (WebKit::ShareableBitmap::createImage):
45872        Add implementation.
45873
45874        * Shared/cg/ShareableBitmapCG.cpp:
45875        (WebKit::ShareableBitmap::createGraphicsContext):
45876        (WebKit::ShareableBitmap::createImage):
45877        Move createImage implementation from WebCoreArgumentCodersCG.cpp here.
45878
45879        * WebKit2.xcodeproj/project.pbxproj:
45880        * win/WebKit2.vcproj:
45881        Update projects.
45882
458832011-06-15  Anders Carlsson  <andersca@apple.com>
45884
45885        Reviewed by Alexey Proskuryakov.
45886
45887        Move some argument coders to WebCoreArgumentCoders.cpp
45888        https://bugs.webkit.org/show_bug.cgi?id=62739
45889
45890        * GNUmakefile.am:
45891        * Shared/WebCoreArgumentCoders.cpp:
45892        (CoreIPC::::encode):
45893        (CoreIPC::::decode):
45894        * Shared/WebCoreArgumentCoders.h:
45895        * WebKit2.pro:
45896
458972011-06-15  Anders Carlsson  <andersca@apple.com>
45898
45899        Reviewed by Sam Weinig.
45900
45901        Fix possible null dereference in webSecKeychainItemCreateFromContentOnMainThread
45902        https://bugs.webkit.org/show_bug.cgi?id=62736
45903        <rdar://problem/9601595>
45904
45905        * WebProcess/mac/KeychainItemShimMethods.mm:
45906        (WebKit::webSecKeychainItemCreateFromContentOnMainThread):
45907        SecKeychainItemCreateFromContent can potentially return a null keychain item, so add a null check before trying to retain it.
45908
459092011-06-15  Anders Carlsson  <andersca@apple.com>
45910
45911        Reviewed by Dan Bernstein.
45912
45913        Ignore responsiveness timer callbacks on closed pages
45914        https://bugs.webkit.org/show_bug.cgi?id=62735
45915        <rdar://problem/9511295>
45916
45917        * UIProcess/WebPageProxy.cpp:
45918        (WebKit::WebPageProxy::close):
45919        Use nullptr instead of clear.
45920
45921        (WebKit::WebPageProxy::processDidBecomeUnresponsive):
45922        Return early if the page isn't valid.
45923
45924        (WebKit::WebPageProxy::processDidBecomeResponsive):
45925        Ditto.
45926
45927        (WebKit::WebPageProxy::updateBackingStoreDiscardableState):
45928        Assert that the page is valid.
45929
459302011-06-15  Sheriff Bot  <webkit.review.bot@gmail.com>
45931
45932        Unreviewed, rolling out r88907.
45933        http://trac.webkit.org/changeset/88907
45934        https://bugs.webkit.org/show_bug.cgi?id=62732
45935
45936        See comment #15 by Nikolas Zimmermann on bug 62527 regarding
45937        the deprecation of makeString() (Requested by acidx on
45938        #webkit).
45939
45940        * UIProcess/efl/WebPageProxyEfl.cpp:
45941        (WebKit::WebPageProxy::standardUserAgent):
45942
459432011-06-15  Csaba Osztrogonác  <ossy@webkit.org>
45944
45945        [Qt][WK2] Unreviewed rolling out r88799, because it made web process crash.
45946
45947        * Scripts/webkit2/messages.py:
45948        * Shared/LayerTreeContext.h:
45949        * Shared/qt/LayerTreeContextQt.cpp:
45950        (WebKit::LayerTreeContext::LayerTreeContext):
45951        (WebKit::LayerTreeContext::~LayerTreeContext):
45952        (WebKit::LayerTreeContext::encode):
45953        (WebKit::LayerTreeContext::decode):
45954        (WebKit::LayerTreeContext::isEmpty):
45955        (WebKit::operator==):
45956        * UIProcess/DrawingAreaProxy.h:
45957        * UIProcess/DrawingAreaProxy.messages.in:
45958        * WebKit2.pro:
45959        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
45960        (WebCore::collectCompositingInfoForThisLayer):
45961        * WebProcess/WebPage/LayerTreeHost.cpp:
45962        (WebKit::LayerTreeHost::create):
45963        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
45964        * WebProcess/WebPage/qt/LayerTreeHostQt.h: Removed.
45965
459662011-06-14  Eunmi Lee  <eunmi15.lee@samsung.com>
45967
45968        Reviewed by Sam Weinig.
45969
45970        [EFL][WK2] Change string operation to makeString()
45971        https://bugs.webkit.org/show_bug.cgi?id=62527
45972
45973        Use makeString() because it is better than creating individual strings and concatenating them.
45974
45975        * UIProcess/efl/WebPageProxyEfl.cpp:
45976        (WebKit::WebPageProxy::standardUserAgent):
45977
459782011-06-14  Sam Weinig  <sam@webkit.org>
45979
45980        Reviewed by Simon Fraser.
45981
45982        Follow up for Callers should be robust against WebImage::create() returning an image with a null snapshot
45983        https://bugs.webkit.org/show_bug.cgi?id=62666
45984
45985        * Shared/API/c/cg/WKImageCG.cpp:
45986        (WKImageCreateCGImage):
45987        (WKImageCreateFromCGImage):
45988        Don't null check the arguments (as per our API design) or the direct result of WebImage::create.
45989
45990        * Shared/UserMessageCoders.h:
45991        (WebKit::UserMessageEncoder::baseEncode):
45992        Remove redundant check and make not being able to create a handle the same
45993        as not being backed by shareable memory.
45994
459952011-06-14  John Sullivan  <sullivan@apple.com>
45996
45997        Reviewed by Ada Chan.
45998
45999        <https://bugs.webkit.org/show_bug.cgi?id=62693>
46000        <rdar://problem/9601436>
46001        windowsKeyCodeForKeyEvent should be robust against NSFlagsChanged events
46002
46003        * Shared/mac/WebEventFactory.mm:
46004        (WebKit::windowsKeyCodeForKeyEvent):
46005        Explicitly check for NSFlagsChanged before calling -charactersIgnoringModifiers, since
46006        charactersIgnoringModifiers throws an exception for NSFlagsChanged events.
46007
460082011-06-14  Anders Carlsson  <andersca@apple.com>
46009
46010        Reviewed by Sam Weinig.
46011
46012        Use new byte array encoding/decoding functions for WTF argument coders
46013        https://bugs.webkit.org/show_bug.cgi?id=62682
46014
46015        * Platform/CoreIPC/ArgumentCoders.cpp:
46016        (CoreIPC::::encode):
46017        (CoreIPC::::decode):
46018        Use the new functions for the string argument coders.
46019        
46020        * Platform/CoreIPC/ArgumentCoders.h:
46021        (CoreIPC::SimpleArgumentCoder::encode):
46022        (CoreIPC::SimpleArgumentCoder::decode):
46023        Use the new functions to avoid encoding/decoding the size when it's known at decode time.
46024
46025        * Platform/CoreIPC/ArgumentDecoder.cpp:
46026        (CoreIPC::roundUpToAlignment):
46027        Assert that the alignment is a power of 2.
46028
46029        (CoreIPC::decodeFixedLengthData):
46030        Alignment comes before the size.
46031
46032        * UIProcess/cf/WebBackForwardListCF.cpp:
46033        (WebKit::WebBackForwardList::createCFDictionaryRepresentation):
46034        Add a FIXME about now using the internal CoreIPC encoding format here.
46035
46036        * UIProcess/cf/WebPageProxyCF.cpp:
46037        Bump the current session state data version number.
46038
460392011-06-14  No'am Rosenthal  <noam.rosenthal@nokia.com>
46040
46041        Reviewed by Kenneth Rohde Christiansen.
46042
46043        [Qt] Implement accelerated compositing on WK2 Qt port
46044        https://bugs.webkit.org/show_bug.cgi?id=56935
46045
46046        Expose viewportVisibleRect(), so that we can detect which parts of a texture actually
46047        need to be uploaded.
46048
46049        Together with Viatcheslav Ostapenko.
46050
46051        * UIProcess/API/qt/qwkpage.cpp:
46052        (QWKPagePrivate::viewportVisibleRect):
46053        * UIProcess/API/qt/qwkpage_p.h:
46054        * UIProcess/PageClient.h:
46055        * UIProcess/WebPageProxy.h:
46056        * UIProcess/qt/WebPageProxyQt.cpp:
46057        (WebKit::WebPageProxy::viewportVisibleRect):
46058
460592011-06-14  Anders Carlsson  <andersca@apple.com>
46060
46061        Reviewed by Sam Weinig.
46062
46063        Start using the new encode/decode functions
46064        https://bugs.webkit.org/show_bug.cgi?id=62676
46065
46066        * Platform/CoreIPC/DataReference.cpp:
46067        (CoreIPC::DataReference::encode):
46068        Use encodeVariableLengthByteArray.
46069
46070        * Shared/UserMessageCoders.h:
46071        (WebKit::UserMessageEncoder::baseEncode):
46072        Use encodeVariableLengthByteArray and the new dataReference accessors.
46073
46074        (WebKit::UserMessageDecoder::baseDecode):
46075        Use decodeVariableLengthByteArray.
46076 
46077        * Shared/WebData.h:
46078        (WebKit::WebData::dataReference):
46079        Return a reference to the data.
46080
46081        * Shared/WebSerializedScriptValue.h:
46082        (WebKit::WebSerializedScriptValue::dataReference):
46083        Ditto.
46084
46085        * Shared/cf/ArgumentCodersCF.cpp:
46086        (CoreIPC::encode):
46087        Use encodeVariableLengthByteArray.
46088
46089        * Shared/mac/SandboxExtensionMac.mm:
46090        (WebKit::SandboxExtension::Handle::encode):
46091        Use encodeVariableLengthByteArray.
46092
46093        * WebProcess/WebPage/DecoderAdapter.cpp:
46094        (WebKit::DecoderAdapter::decodeBytes):
46095        Use decodeVariableLengthByteArray.
46096
46097        * WebProcess/WebPage/EncoderAdapter.cpp:
46098        (WebKit::EncoderAdapter::dataReference):
46099        Rename data() to dataReference() to indicate that it returns a reference to the data.
46100
46101        (WebKit::EncoderAdapter::encodeBytes):
46102        Use encodeVariableLengthByteArray.
46103
461042011-06-14  Anders Carlsson  <andersca@apple.com>
46105
46106        Reviewed by Sam Weinig.
46107
46108        Add encodeVariableLengthByteArray and decodeVariableLengthByteArray
46109        https://bugs.webkit.org/show_bug.cgi?id=62674
46110
46111        Rename the ArgumentDecoder::decodeBytes overload that takes a DataReference to
46112        decodeVariableLengthByteArray, to match the added encodeVariableLengthByteArray.
46113
46114        * Platform/CoreIPC/ArgumentDecoder.cpp:
46115        (CoreIPC::ArgumentDecoder::decodeVariableLengthByteArray):
46116        * Platform/CoreIPC/ArgumentDecoder.h:
46117        * Platform/CoreIPC/ArgumentEncoder.cpp:
46118        (CoreIPC::ArgumentEncoder::encodeFixedLengthData):
46119        (CoreIPC::ArgumentEncoder::encodeVariableLengthByteArray):
46120        * Platform/CoreIPC/ArgumentEncoder.h:
46121        * Platform/CoreIPC/DataReference.cpp:
46122        (CoreIPC::DataReference::decode):
46123        * Shared/mac/SandboxExtensionMac.mm:
46124        (WebKit::SandboxExtension::Handle::decode):
46125
461262011-06-14  Anders Carlsson  <andersca@apple.com>
46127
46128        Reviewed by Sam Weinig.
46129
46130        Add functions for converting between DataReferences and vectors
46131        https://bugs.webkit.org/show_bug.cgi?id=62671
46132
46133        * Platform/CoreIPC/DataReference.h:
46134        (CoreIPC::DataReference::DataReference):
46135        New implicit constructor that takes a vector.
46136
46137        (CoreIPC::DataReference::vector):
46138        New function that returns a new vector.
46139
46140        * Shared/WebBackForwardListItem.cpp:
46141        (WebKit::WebBackForwardListItem::encode):
46142        Use implicit constructor.
46143
46144        * WebProcess/WebPage/WebPage.cpp:
46145        (WebKit::WebPage::runJavaScriptInMainFrame):
46146        Ditto.
46147
461482011-06-14  John Sullivan  <sullivan@apple.com>
46149
46150        Reviewed by Dan Bernstein.
46151
46152        <https://bugs.webkit.org/show_bug.cgi?id=62666>
46153        <rdar://problem/9606676>
46154        Callers should be robust against WebImage::create() returning an image with a null snapshot
46155
46156        * Shared/API/c/cg/WKImageCG.cpp:
46157        (WKImageCreateCGImage):
46158        Return 0 if no bitmap was created.
46159        (WKImageCreateFromCGImage):
46160        Ditto.
46161        
46162        * Shared/UserMessageCoders.h:
46163        (WebKit::UserMessageEncoder::baseEncode):
46164        Check for null before dereferencing image->bitmap() in two places.
46165        
46166        * WebProcess/WebPage/WebPage.cpp:
46167        (WebKit::WebPage::snapshotInViewCoordinates):
46168        Return 0 if no bitmap was created.
46169        (WebKit::WebPage::scaledSnapshotInDocumentCoordinates):
46170        Ditto.
46171        (WebKit::WebPage::createSnapshotOfVisibleContent):
46172        Bail out if no bitmap was created.
46173
461742011-06-14  Anders Carlsson  <andersca@apple.com>
46175
46176        Reviewed by Darin Adler.
46177
46178        Add functions for encoding/decoding data with a known size and alignment
46179        https://bugs.webkit.org/show_bug.cgi?id=62663
46180
46181        * Platform/CoreIPC/ArgumentDecoder.cpp:
46182        (CoreIPC::ArgumentDecoder::decodeFixedLengthData):
46183        * Platform/CoreIPC/ArgumentDecoder.h:
46184        * Platform/CoreIPC/ArgumentEncoder.cpp:
46185        (CoreIPC::ArgumentEncoder::encodeFixedLengthData):
46186        (CoreIPC::ArgumentEncoder::encodeVariableLengthData):
46187        * Platform/CoreIPC/ArgumentEncoder.h:
46188
461892011-06-14  Anders Carlsson  <andersca@apple.com>
46190
46191        Reviewed by Sam Weinig.
46192
46193        Move string ArgumentCoder template specializations out into a .cpp file
46194        https://bugs.webkit.org/show_bug.cgi?id=62660
46195
46196        * GNUmakefile.am:
46197        * Platform/CoreIPC/ArgumentCoders.cpp: Added.
46198        (CoreIPC::::encode):
46199        (CoreIPC::::decode):
46200        * Platform/CoreIPC/ArgumentCoders.h:
46201        * WebKit2.pro:
46202        * WebKit2.xcodeproj/project.pbxproj:
46203        * win/WebKit2.vcproj:
46204
462052011-06-14  Anders Carlsson  <andersca@apple.com>
46206
46207        Reviewed by Sam Weinig.
46208
46209        Remove PluginInfoStore::Plugin typedef
46210        https://bugs.webkit.org/show_bug.cgi?id=62657
46211
46212        * UIProcess/Plugins/PluginInfoStore.h:
46213        * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
46214        (WebKit::PluginInfoStore::getPluginInfo):
46215        (WebKit::PluginInfoStore::shouldUsePlugin):
46216
462172011-06-14  Anders Carlsson  <andersca@apple.com>
46218
46219        Reviewed by Sam Weinig.
46220
46221        Create the PluginModuleInfo class and reverse the typedef so that PluginInfoStore::Plugin is now a typedef
46222        https://bugs.webkit.org/show_bug.cgi?id=62654
46223
46224        * UIProcess/Plugins/PluginInfoStore.cpp:
46225        (WebKit::PluginInfoStore::loadPluginsIfNecessary):
46226        (WebKit::PluginInfoStore::loadPlugin):
46227        (WebKit::PluginInfoStore::findPluginForMIMEType):
46228        (WebKit::PluginInfoStore::findPluginForExtension):
46229        (WebKit::PluginInfoStore::findPlugin):
46230        (WebKit::PluginInfoStore::infoForPluginWithPath):
46231        * UIProcess/Plugins/PluginInfoStore.h:
46232        * UIProcess/Plugins/PluginProcessManager.cpp:
46233        (WebKit::PluginProcessManager::getPluginProcessConnection):
46234        * UIProcess/Plugins/PluginProcessProxy.cpp:
46235        (WebKit::PluginProcessProxy::PluginProcessProxy):
46236        * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
46237        (WebKit::WebPluginSiteDataManager::getSitesWithData):
46238        (WebKit::WebPluginSiteDataManager::clearSiteData):
46239        * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
46240        (WebKit::PluginInfoStore::getPluginInfo):
46241        (WebKit::PluginInfoStore::shouldUsePlugin):
46242        * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
46243        (WebKit::PluginInfoStore::getPluginInfo):
46244        (WebKit::PluginInfoStore::shouldUsePlugin):
46245        * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
46246        (WebKit::isOldWindowsMediaPlayerPlugin):
46247        (WebKit::isNewWindowsMediaPlayerPlugin):
46248        (WebKit::PluginInfoStore::shouldUsePlugin):
46249
462502011-06-14  Stephanie Lewis  <slewis@apple.com>
46251
46252        Rubber stamped by Oliver Hunt.
46253
46254        <rdar://problem/9511169>
46255        Update order files.
46256
46257        * mac/WebKit2.order:
46258
462592011-06-14  Anders Carlsson  <andersca@apple.com>
46260
46261        Reviewed by Dan Bernstein.
46262
46263        Start replacing PluginInfoStore::Plugin with PluginModuleInfo
46264        https://bugs.webkit.org/show_bug.cgi?id=62651
46265
46266        * UIProcess/Plugins/PluginInfoStore.cpp:
46267        (WebKit::PluginInfoStore::plugins):
46268        (WebKit::PluginInfoStore::findPluginForMIMEType):
46269        (WebKit::PluginInfoStore::findPluginForExtension):
46270        (WebKit::PluginInfoStore::infoForPluginWithPath):
46271        * UIProcess/Plugins/PluginInfoStore.h:
46272        * UIProcess/Plugins/PluginProcessManager.cpp:
46273        (WebKit::PluginProcessManager::getPluginProcessConnection):
46274        (WebKit::PluginProcessManager::getSitesWithData):
46275        (WebKit::PluginProcessManager::clearSiteData):
46276        (WebKit::PluginProcessManager::getOrCreatePluginProcess):
46277        * UIProcess/Plugins/PluginProcessManager.h:
46278        * UIProcess/Plugins/PluginProcessProxy.cpp:
46279        (WebKit::PluginProcessProxy::create):
46280        * UIProcess/Plugins/PluginProcessProxy.h:
46281        (WebKit::PluginProcessProxy::pluginInfo):
46282        * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
46283        (WebKit::PluginProcessProxy::pluginNeedsExecutableHeap):
46284        (WebKit::PluginProcessProxy::createPropertyListFile):
46285
462862011-06-14  Anders Carlsson  <andersca@apple.com>
46287
46288        Reviewed by Darin Adler.
46289
46290        Add PluginModuleInfo header and prepare for renaming of PluginInfoStore::Plugin to PluginModuleInfo
46291        https://bugs.webkit.org/show_bug.cgi?id=62647
46292
46293        Make PluginModuleInfo a typedef of PluginInfoStore::Plugin for now; eventually it should be its own class,
46294        and PluginInfoStore::Plugin should go away.
46295
46296        * GNUmakefile.am:
46297        * Shared/Plugins/Netscape/NetscapePluginModule.h:
46298        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
46299        (WebKit::getPluginArchitecture):
46300        (WebKit::getMIMETypesFromPluginBundle):
46301        (WebKit::getPluginInfoFromPropertyLists):
46302        (WebKit::getPluginInfoFromCarbonResources):
46303        (WebKit::NetscapePluginModule::getPluginInfo):
46304        (WebKit::NetscapePluginModule::determineQuirks):
46305        * Shared/Plugins/PluginModuleInfo.cpp: Added.
46306        * Shared/Plugins/PluginModuleInfo.h: Added.
46307        * WebKit2.pro:
46308        * WebKit2.xcodeproj/project.pbxproj:
46309        * win/WebKit2.vcproj:
46310
463112011-06-14  Carlos Garcia Campos  <cgarcia@igalia.com>
46312
46313        Reviewed by Martin Robinson.
46314
46315        [GTK] Move the code to show the context menu from WebKitWebViewBase to WebContextMenuProxyGtk
46316        https://bugs.webkit.org/show_bug.cgi?id=62627
46317
46318        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
46319        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
46320        * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
46321        (WebKit::WebContextMenuProxyGtk::showContextMenu):
46322        (WebKit::WebContextMenuProxyGtk::hideContextMenu):
46323        (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk):
46324        (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk):
46325        (WebKit::WebContextMenuProxyGtk::menuPositionFunction):
46326        * UIProcess/gtk/WebContextMenuProxyGtk.h:
46327
463282011-06-14  Carlos Garcia Campos  <cgarcia@igalia.com>
46329
46330        Reviewed by Martin Robinson.
46331
46332        [GTK] Rename convertWidgetRectToScreenRect() to convertWidgetPointToScreenPoint()
46333        https://bugs.webkit.org/show_bug.cgi?id=62626
46334
46335        * UIProcess/API/gtk/PageClientImpl.cpp:
46336        (WebKit::PageClientImpl::screenToWindow): Implement this method
46337        using convertWidgetPointToScreenPoint().
46338        (WebKit::PageClientImpl::windowToScreen): Update to use
46339        convertWidgetPointToScreenPoint().
46340        * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
46341        (WebKit::WebPopupMenuProxyGtk::showPopupMenu): Use
46342        convertWidgetPointToScreenPoint().
46343
463442011-06-14  Carlos Garcia Campos  <cgarcia@igalia.com>
46345
46346        Reviewed by Martin Robinson.
46347
46348        [GTK] Support authentication dialogs in WebKit2
46349        https://bugs.webkit.org/show_bug.cgi?id=62366
46350
46351        Add a new soup feature to show an authentication dialog when it
46352        gets a 401 HTTP response.
46353
46354        * GNUmakefile.am: Add new files to compilation.
46355        * WebProcess/gtk/WebAuthDialog.cpp: Added.
46356        (web_auth_dialog_class_init):
46357        (web_auth_dialog_init):
46358        (sessionAuthenticate):
46359        (attach):
46360        (detach):
46361        (webAuthDialogSessionFeatureInit):
46362        * WebProcess/gtk/WebAuthDialog.h: Added.
46363        * WebProcess/gtk/WebProcessMainGtk.cpp:
46364        (WebKit::WebProcessMainGtk):
46365
463662011-06-14  No'am Rosenthal  <noam.rosenthal@nokia.com> and Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
46367
46368        Reviewed by Kenneth Rohde Christiansen.
46369
46370        [Qt] Implement accelerated compositing on WK2 Qt port
46371        https://bugs.webkit.org/show_bug.cgi?id=56935
46372
46373        Implementing LayerTreeHost and LayerTreeContext and LayerTreeHost for Qt.
46374        Add the necessary plumbing to make the LayerTreeHost work with Qt, based on the original Mac
46375        implementation (the code is nearly identical). This includes creating the right layers for the
46376        overlay and for the non-composited content, and passing the root layer to the UI process.
46377
46378        Also, since LayerTreeHostQt is compiled, we have to add some of the rest of the existing patches,
46379        namely the new messages: syncCompositingLayers and updateCompositingLayerContent, and create a
46380        stub implementation for them in DrawingAreaProxy.
46381
46382        Note that this is not activated yet, until we enable accelerated compositing in the settings and
46383        create the right GraphicsLayer.
46384
46385        * Scripts/webkit2/messages.py:
46386        * Shared/LayerTreeContext.h:
46387        * Shared/qt/LayerTreeContextQt.cpp:
46388        (WebKit::LayerTreeContext::LayerTreeContext):
46389        (WebKit::LayerTreeContext::~LayerTreeContext):
46390        (WebKit::LayerTreeContext::encode):
46391        (WebKit::LayerTreeContext::decode):
46392        (WebKit::LayerTreeContext::isEmpty):
46393        (WebKit::operator==):
46394        * UIProcess/DrawingAreaProxy.h:
46395        (WebKit::DrawingAreaProxy::syncCompositingLayers):
46396        (WebKit::DrawingAreaProxy::updateCompositingLayerContent):
46397        * UIProcess/DrawingAreaProxy.messages.in:
46398        * WebKit2.pro:
46399        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
46400        (WebCore::collectCompositingInfoForThisLayer):
46401        * WebProcess/WebPage/LayerTreeHost.cpp:
46402        (WebKit::LayerTreeHost::create):
46403        * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
46404        (WebKit::LayerTreeHostQt::create):
46405        (WebKit::LayerTreeHostQt::~LayerTreeHostQt):
46406        (WebKit::LayerTreeHostQt::LayerTreeHostQt):
46407        (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled):
46408        (WebKit::LayerTreeHostQt::scheduleLayerFlush):
46409        (WebKit::LayerTreeHostQt::cancelPendingLayerFlush):
46410        (WebKit::LayerTreeHostQt::setShouldNotifyAfterNextScheduledLayerFlush):
46411        (WebKit::LayerTreeHostQt::setRootCompositingLayer):
46412        (WebKit::LayerTreeHostQt::invalidate):
46413        (WebKit::LayerTreeHostQt::setNonCompositedContentsNeedDisplay):
46414        (WebKit::LayerTreeHostQt::scrollNonCompositedContents):
46415        (WebKit::LayerTreeHostQt::forceRepaint):
46416        (WebKit::LayerTreeHostQt::sizeDidChange):
46417        (WebKit::LayerTreeHostQt::didInstallPageOverlay):
46418        (WebKit::LayerTreeHostQt::didUninstallPageOverlay):
46419        (WebKit::LayerTreeHostQt::setPageOverlayNeedsDisplay):
46420        (WebKit::LayerTreeHostQt::flushPendingLayerChanges):
46421        (WebKit::LayerTreeHostQt::performScheduledLayerFlush):
46422        (WebKit::LayerTreeHostQt::layerFlushTimerFired):
46423        (WebKit::LayerTreeHostQt::createPageOverlayLayer):
46424        (WebKit::LayerTreeHostQt::destroyPageOverlayLayer):
46425        (WebKit::LayerTreeHostQt::notifyAnimationStarted):
46426        (WebKit::LayerTreeHostQt::notifySyncRequired):
46427        (WebKit::LayerTreeHostQt::paintContents):
46428        (WebKit::LayerTreeHostQt::showDebugBorders):
46429        (WebKit::LayerTreeHostQt::showRepaintCounter):
46430        (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
46431        * WebProcess/WebPage/qt/LayerTreeHostQt.h: Added.
46432        (WebKit::LayerTreeHostQt::layerTreeContext):
46433        (WebKit::LayerTreeHostQt::pauseRendering):
46434        (WebKit::LayerTreeHostQt::resumeRendering):
46435
464362011-06-14  Noam Rosenthal  <noam.rosenthal@nokia.com>
46437
46438        Reviewed by Kenneth Rohde Christiansen.
46439
46440        [Qt] Implement accelerated compositing on WK2 Qt port
46441        https://bugs.webkit.org/show_bug.cgi?id=56935
46442
46443        Add a createImage() function to ShareableBitmap, for now ifdef'ed to Qt only.
46444        This allows us to support directly composited images across the WebKit2 processes.
46445
46446        Together with Viatcheslav Ostapenko.
46447
46448        * Shared/ShareableBitmap.h:
46449        * Shared/qt/ShareableBitmapQt.cpp:
46450        (WebKit::ShareableBitmap::createQImage):
46451        (WebKit::ShareableBitmap::createImage):
46452
464532011-06-13  Anders Carlsson  <andersca@apple.com>
46454
46455        Reviewed by Sam Weinig.
46456
46457        Crash when trying to use Netflix Watch Instantly with Silverlight 3
46458        https://bugs.webkit.org/show_bug.cgi?id=62611
46459        <rdar://problem/9058370>
46460
46461        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
46462        (WebKit::NetscapePluginModule::getPluginInfo):
46463        Get the plug-in version string instead of the version number.
46464
46465        (WebKit::PluginVersion::isValid):
46466        (WebKit::PluginVersion::PluginVersion):
46467        (WebKit::PluginVersion::parse):
46468        (WebKit::PluginVersion::isLessThan):
46469        Add a new PluginVersion class that represents a plug-in version. The idea is
46470        that this class be made cross platform.
46471
46472        (WebKit::NetscapePluginModule::determineQuirks):
46473        Add the ReturnsNonRetainedScriptableNPObject quirk for versions of Silverlight less than 4.
46474
46475        * Shared/Plugins/PluginQuirks.h:
46476        Add the ReturnsNonRetainedScriptableNPObject quirk.
46477
46478        * UIProcess/Plugins/PluginInfoStore.h:
46479        Use a version string. Eventually this should hold the PluginVersion class we added.
46480
46481        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
46482        (WebKit::NetscapePlugin::pluginScriptableNPObject):
46483        If the plug-in has the ReturnsNonRetainedScriptableNPObject quirk, do an extra retain.
46484
464852011-06-13  Ryuan Choi  <ryuan.choi@samsung.com>
46486
46487        Reviewed by Kenneth Rohde Christiansen.
46488
46489        [EFL][WK2] Add dummy files at below of WebProcess.
46490        https://bugs.webkit.org/show_bug.cgi?id=62445
46491
46492        Add Efl related directory and files in WebKit2/WebProcess/.
46493
46494        * WebProcess/Cookies/efl/WebCookieManagerEfl.cpp: Added.
46495        (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
46496        (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
46497        * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp: Added.
46498        (WebKit::InjectedBundle::load):
46499        (WebKit::InjectedBundle::activateMacFontAscentHack):
46500        * WebProcess/WebPage/efl/WebInspectorEfl.cpp: Added.
46501        (WebKit::WebInspector::localizedStringsURL):
46502        * WebProcess/WebPage/efl/WebPageEfl.cpp: Added.
46503        (WebKit::WebPage::platformInitialize):
46504        (WebKit::WebPage::platformPreferencesDidChange):
46505        (WebKit::scroll):
46506        (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
46507        (WebKit::WebPage::platformHasLocalDataForURL):
46508        (WebKit::WebPage::cachedResponseMIMETypeForURL):
46509        (WebKit::WebPage::platformCanHandleRequest):
46510        (WebKit::WebPage::cachedSuggestedFilenameForURL):
46511        (WebKit::WebPage::cachedResponseDataForURL):
46512        * WebProcess/efl/WebProcessEfl.cpp: Added.
46513        (WebKit::WebProcess::platformSetCacheModel):
46514        (WebKit::WebProcess::platformClearResourceCaches):
46515        (WebKit::WebProcess::platformInitializeWebProcess):
46516        (WebKit::WebProcess::platformTerminate):
46517        * WebProcess/efl/WebProcessMainEfl.cpp: Added.
46518        (WebKit::WebProcessMainEfl):
46519        * WebProcess/efl/WebProcessMainEfl.h: Added.
46520        * efl/MainEfl.cpp: Added.
46521        (main):
46522
465232011-06-13  Eunmi Lee  <eunmi15.lee@samsung.com>
46524
46525        Reviewed by Eric Seidel.
46526
46527        [EFL][WK2] Add initial WebInspectorEfl.cpp for webkit2 efl port
46528        https://bugs.webkit.org/show_bug.cgi?id=62524
46529
46530        * UIProcess/efl/WebInspectorEfl.cpp: Added.
46531        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
46532        (WebKit::WebInspectorProxy::platformOpen):
46533        (WebKit::WebInspectorProxy::platformDidClose):
46534        (WebKit::WebInspectorProxy::platformBringToFront):
46535        (WebKit::WebInspectorProxy::platformInspectedURLChanged):
46536        (WebKit::WebInspectorProxy::inspectorPageURL):
46537        (WebKit::WebInspectorProxy::platformAttach):
46538        (WebKit::WebInspectorProxy::platformDetach):
46539        (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight):
46540
465412011-06-13  Eunmi Lee  <eunmi15.lee@samsung.com>
46542
46543        Reviewed by Eric Seidel.
46544
46545        [EFL][WK2] Add initial TextCheckerEfl.cpp for webkit2 efl port
46546        https://bugs.webkit.org/show_bug.cgi?id=62438
46547
46548        * UIProcess/efl/TextCheckerEfl.cpp: Added.
46549        (WebKit::TextChecker::state):
46550        (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
46551        (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
46552        (WebKit::TextChecker::setGrammarCheckingEnabled):
46553        (WebKit::TextChecker::uniqueSpellDocumentTag):
46554        (WebKit::TextChecker::closeSpellDocumentWithTag):
46555        (WebKit::TextChecker::checkSpellingOfString):
46556        (WebKit::TextChecker::checkGrammarOfString):
46557        (WebKit::TextChecker::spellingUIIsShowing):
46558        (WebKit::TextChecker::toggleSpellingUIIsShowing):
46559        (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
46560        (WebKit::TextChecker::updateSpellingUIWithGrammarString):
46561        (WebKit::TextChecker::getGuessesForWord):
46562        (WebKit::TextChecker::learnWord):
46563        (WebKit::TextChecker::ignoreWord):
46564
465652011-06-13  Sangyong Park  <sy302.park@gmail.com>
46566
46567        Reviewed by Eric Seidel.
46568
46569        implement to handle wheel event of plugin on x11
46570        https://bugs.webkit.org/show_bug.cgi?id=62522
46571
46572        Implement platformHandleWheelEvent() in NetscapePluginX11.cpp
46573        for to handle wheel event on plugins
46574
46575        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
46576        (WebKit::setCommonMouseEventFields): add template argument to support WebWheelEvent
46577        (WebKit::setXButtonEventFieldsByWebWheelEvent): initialize XButtonEvent by WebWheelEvent
46578        (WebKit::NetscapePlugin::platformHandleWheelEvent): handle wheel event on plugin
46579
465802011-06-13  Eunmi Lee  <eunmi15.lee@samsung.com>
46581
46582        Reviewed by Eric Seidel.
46583
46584        [EFL][WK2] Add initial WebContextEfl.cpp for webkit2 efl port
46585        https://bugs.webkit.org/show_bug.cgi?id=62523
46586
46587        * UIProcess/efl/WebContextEfl.cpp: Added.
46588        (WebKit::WebContext::applicationCacheDirectory):
46589        (WebKit::WebContext::platformInitializeWebProcess):
46590        (WebKit::WebContext::platformInvalidateContext):
46591        (WebKit::WebContext::platformDefaultDatabaseDirectory):
46592        (WebKit::WebContext::platformDefaultIconDatabasePath):
46593        (WebKit::WebContext::platformDefaultLocalStorageDirectory):
46594
465952011-06-13  Noam Rosenthal  <noam.rosenthal@nokia.com>
46596
46597        Unreviewed fix - removed parts of r88659 that were committed by mistake.
46598
46599        The patch accidentally included parts that weren't supposed to be there, namely the whole
46600        code was duplicated. This patch rectifies that and brings it to the original reviewed code.
46601
46602        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
46603        * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
46604
466052011-06-13  Anders Carlsson  <andersca@apple.com>
46606
46607        Reviewed by Dan Bernstein.
46608
46609        BankID plug-in isn't instantiated correctly
46610        https://bugs.webkit.org/show_bug.cgi?id=62588
46611        <rdar://problem/9586600>
46612
46613        * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
46614        (WebKit::NetscapePluginModule::determineQuirks):
46615        The BankID plug-in uses the QuickDraw drawing model but doesn't draw anything so we can
46616        use the half-baked QuickDraw support.
46617
46618        * WebProcess/Plugins/PluginProcessConnection.cpp:
46619        (WebKit::defaultSyncMessageTimeout):
46620        Don't use a sync message timeout for the BankID plug-in since it sends synchronous Apple Events
46621        and we don't want the plug-in to die while it's waiting for a reply.
46622
466232011-06-13  Chris Fleizach  <cfleizach@apple.com>
46624
46625        Reviewed by Darin Adler.
46626
46627        kAXTextMarkerForPositionParametrizedAttribute does not work correctly in WK2
46628        https://bugs.webkit.org/show_bug.cgi?id=62547
46629
46630        Implement the missing screenToWindow method for WK2.
46631
46632        * UIProcess/API/gtk/PageClientImpl.cpp:
46633        (WebKit::PageClientImpl::screenToWindow):
46634        * UIProcess/API/gtk/PageClientImpl.h:
46635        * UIProcess/API/mac/PageClientImpl.h:
46636        * UIProcess/API/mac/PageClientImpl.mm:
46637        (WebKit::PageClientImpl::screenToWindow):
46638        * UIProcess/API/qt/qwkpage.cpp:
46639        (QWKPagePrivate::screenToWindow):
46640        * UIProcess/API/qt/qwkpage_p.h:
46641        * UIProcess/PageClient.h:
46642        * UIProcess/WebPageProxy.cpp:
46643        (WebKit::WebPageProxy::screenToWindow):
46644        * UIProcess/WebPageProxy.h:
46645        * UIProcess/WebPageProxy.messages.in:
46646        * UIProcess/win/WebView.cpp:
46647        (WebKit::WebView::screenToWindow):
46648        * UIProcess/win/WebView.h:
46649        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
46650        (WebKit::WebChromeClient::screenToWindow):
46651        * WebProcess/WebPage/WebPage.cpp:
46652        (WebKit::WebPage::screenToWindow):
46653        * WebProcess/WebPage/WebPage.h:
46654
466552011-06-13  Sam Weinig  <sam@webkit.org>
46656
46657        Reviewed by Darin Adler.
46658
46659        REGRESSION (81679-81939): In Safari, Dictionary look up (tap or Ctrl-Cmd-D) doesn't work if you have clicked on a word and not moved the mouse
46660        <rdar://problem/9580237> 
46661
46662        * WebProcess/WebPage/mac/WebPageMac.mm:
46663        (WebKit::shouldUseSelection):
46664        Return early if the selection we are using is not a range.
46665
466662011-06-13  Tony Chang  <tony@chromium.org>
46667
46668        Reviewed by Dimitri Glazkov.
46669
46670        rename ENABLE_NEW_FLEXBOX to ENABLE_CSS3_FLEXBOX
46671        https://bugs.webkit.org/show_bug.cgi?id=62578
46672
46673        * Configurations/FeatureDefines.xcconfig:
46674
466752011-06-13  No'am Rosenthal  <noam.rosenthal@nokia.com>
46676
46677        Reviewed by Kenneth Rohde Christiansen.
46678
46679        [Qt] Implement accelerated compositing on WK2 Qt port
46680        https://bugs.webkit.org/show_bug.cgi?id=56935
46681
46682        Added WebGraphicsLayer, a subclass of WebCore::GraphicsLayer that serializes the state of the layer
46683        tree to the UI process WebLayerTreeInfo.
46684        For now this patch doesn't serialize the animation information, a feature that will be upstreamed later on.
46685
46686        Together with Viatcheslav Ostapenko.
46687
46688        * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: Added.
46689        * WebProcess/WebCoreSupport/WebGraphicsLayer.h: Added.
46690
466912011-06-13  No'am Rosenthal  <noam.rosenthal@nokia.com>
46692
46693        Reviewed by Kenneth Rohde Christiansen.
46694
46695        [Qt] Implement accelerated compositing on WK2 Qt port
46696        https://bugs.webkit.org/show_bug.cgi?id=56935
46697
46698        Added WebLayerTreeInfo: a set of structures that can serialize a tree of GraphicsLayers
46699        across to the UI process.
46700
46701        Together with Viatcheslav Ostapenko.
46702
46703        * Scripts/webkit2/messages.py:
46704        * Shared/WebLayerTreeInfo.cpp: Added.
46705        * Shared/WebLayerTreeInfo.h: Added.
46706
467072011-06-11  Jer Noble  <jer.noble@apple.com>
46708
46709        Reviewed by Anders Carlsson.
46710
46711        Avoid flashing when exiting full-screen mode.
46712        https://bugs.webkit.org/show_bug.cgi?id=62338
46713
46714        Instead of making a round-trip between processes by calling forceRepaint
46715        and waiting for a callback, instead make a WebProcess-side call to
46716        forceRepaintWithoutCallback before sending the ExitAcceleratedCompositingMode
46717        message to the WebFullScreenControllerProxy. This also means we can get rid of
46718        the dragImage creation and display.
46719
46720        Because this redraw will happen during the current run-loop instead of a future
46721        one, make sure the background color has been set before the redraw in 
46722        didEnterFullScreen().
46723
46724        Wait to hide the full-screen window until after we have received the 
46725        ExitAcceleratedCompositingMode message.  By this time, repaint will have already
46726        completed.
46727
46728        * UIProcess/mac/WKFullScreenWindowController.h:
46729        * UIProcess/mac/WKFullScreenWindowController.mm:
46730        (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Disable
46731            screen updates, to be re-enabled during exitAcceleratedCompositingMode.
46732        (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Don't hide
46733            the full-screen window here; wait for exitAcceleratedCompositing instead.
46734        (-[WKFullScreenWindowController exitAcceleratedCompositingMode]): Collapse 
46735            the redrawCompleted method into this one.
46736        (-[WKFullScreenWindowController close]): Remove the reference to 
46737            exitCompositedModeRepaintCompleted.
46738        * WebProcess/FullScreen/WebFullScreenManager.cpp:
46739        (WebKit::WebFullScreenManager::didEnterFullScreen): Set the full screen
46740            background color first.
46741        * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
46742        (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer): Repaint before
46743            sending the ExitAcceleratedCompositingMode message. 
46744
467452011-06-13  Tony Chang  <tony@chromium.org>
46746
46747        Reviewed by Adam Barth.
46748
46749        rename ENABLE_FLEXBOX to ENABLE_NEW_FLEXBOX
46750        https://bugs.webkit.org/show_bug.cgi?id=62545
46751
46752        * Configurations/FeatureDefines.xcconfig:
46753
467542011-06-13  Anders Carlsson  <andersca@apple.com>
46755
46756        Reviewed by Dan Bernstein.
46757
46758        Don't access freed memory in the UI process when a plug-in process crashes
46759        https://bugs.webkit.org/show_bug.cgi?id=62548
46760        <rdar://problem/9599243>
46761
46762        Call pluginProcessCrashedOrFailedToLaunch after sending messages to all processes about the plug-in crash,
46763        otherwise we'll try to dereference m_pluginInfo.path after the PluginProcessProxy object has been deleted.
46764
46765        * UIProcess/Plugins/PluginProcessProxy.cpp:
46766        (WebKit::PluginProcessProxy::didClose):
46767
467682011-06-13  Carlos Garcia Campos  <cgarcia@igalia.com>
46769
46770        Reviewed by Martin Robinson.
46771
46772        [GTK] Fix a crash when drawing area has been deleted
46773        https://bugs.webkit.org/show_bug.cgi?id=62541
46774
46775        Check whether WebPageProxy::drawingArea() returns a valid pointer
46776        before using it, it might be null, for example, when the web
46777        process crashes.
46778
46779        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
46780        (callDrawingAreaPaintMethod):
46781        (webkitWebViewBaseSizeAllocate):
46782
467832011-06-13  Eunmi Lee  <eunmi15.lee@samsung.com>
46784
46785        Reviewed by Kenneth Rohde Christiansen.
46786
46787        [EFL][WK2] Minor fix: fix coding style and remove unnecessary codes for WebKit2 efl port's PageClientImpl
46788        https://bugs.webkit.org/show_bug.cgi?id=62429
46789
46790        * UIProcess/API/efl/PageClientImpl.cpp:
46791        (WebKit::PageClientImpl::scrollView):
46792        (WebKit::PageClientImpl::setCursor):
46793        (WebKit::PageClientImpl::windowToScreen):
46794        (WebKit::PageClientImpl::doneWithKeyEvent):
46795        (WebKit::PageClientImpl::setFindIndicator):
46796        (WebKit::PageClientImpl::didCommitLoadForMainFrame):
46797        (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation):
46798        (WebKit::PageClientImpl::findStringInCustomRepresentation):
46799        (WebKit::PageClientImpl::countStringMatchesInCustomRepresentation):
46800        * UIProcess/API/efl/PageClientImpl.h:
46801
468022011-06-13  Eunmi Lee  <eunmi15.lee@samsung.com>
46803
46804        Reviewed by Kenneth Rohde Christiansen.
46805
46806        [EFL][WK2] Add initial WebPreferencesEfl.cpp for webkit2 efl port
46807        https://bugs.webkit.org/show_bug.cgi?id=62525
46808
46809        * UIProcess/efl/WebPreferencesEfl.cpp: Added.
46810        (WebKit::WebPreferences::platformInitializeStore):
46811        (WebKit::WebPreferences::platformUpdateStringValueForKey):
46812        (WebKit::WebPreferences::platformUpdateBoolValueForKey):
46813        (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
46814        (WebKit::WebPreferences::platformUpdateDoubleValueForKey):
46815
468162011-06-13  Carlos Garcia Campos  <cgarcia@igalia.com>
46817
46818        Reviewed by Martin Robinson.
46819
46820        [GTK] Add context menu support for Webkit2
46821        https://bugs.webkit.org/show_bug.cgi?id=54827
46822
46823        * GNUmakefile.am: Add new files to compilation.
46824        * UIProcess/API/gtk/PageClientImpl.cpp:
46825        (WebKit::PageClientImpl::createContextMenuProxy): Create a context
46826        menu proxy.
46827        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
46828        (globalPointForClientPoint): Function copied from webkit1 to
46829        convert a point in widget coordinates to global coordinates.
46830        (popupMenuPositionFunction):
46831        (webkitWebViewBaseShowContextMenu): Show the given context menu at
46832        the given position.
46833        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
46834        * UIProcess/gtk/WebContextMenuProxyGtk.cpp: Added.
46835        (WebKit::contextMenuItemActivatedCallback):
46836        (WebKit::WebContextMenuProxyGtk::createGtkMenu):
46837        (WebKit::WebContextMenuProxyGtk::showContextMenu):
46838        (WebKit::WebContextMenuProxyGtk::hideContextMenu):
46839        (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk):
46840        (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk):
46841        * UIProcess/gtk/WebContextMenuProxyGtk.h: Copied from Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h.
46842        (WebKit::WebContextMenuProxyGtk::create):
46843
468442011-06-13  Carlos Garcia Campos  <cgarcia@igalia.com>
46845
46846        Reviewed by Martin Robinson.
46847
46848        [GTK] Export an API similar to WebKit1
46849        https://bugs.webkit.org/show_bug.cgi?id=57820
46850
46851        Add first implementation of WebKitWebView, a class with the same
46852        API than webkit1, that wraps the C API to provide a high level
46853        WebKit2 API for GTK port.
46854
46855        * GNUmakefile.am: Add new files to compilation.
46856        * UIProcess/API/gtk/WebKitWebView.cpp: Added.
46857        (webkit_web_view_init):
46858        (webkit_web_view_class_init):
46859        (webkit_web_view_new):
46860        (webkit_web_view_load_uri):
46861        (webkit_web_view_go_back):
46862        (webkit_web_view_go_forward):
46863        * UIProcess/API/gtk/WebKitWebView.h: Added.
46864        * UIProcess/API/gtk/WebKitWebViewBase.cpp:
46865        (webkitWebViewBaseCreate):
46866        (webkitWebViewBaseCreateWebPage):
46867        * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
46868        * UIProcess/API/gtk/webkit/webkit.h: Added.
46869
468702011-06-12  Adam Barth  <abarth@webkit.org>
46871
46872        Reviewed by Alexey Proskuryakov.
46873
46874        Rename FrameLoaderClient::interruptForPolicyChangeError to use the past tense
46875        https://bugs.webkit.org/show_bug.cgi?id=62516
46876
46877        * WebProcess/WebCoreSupport/WebErrors.h:
46878        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
46879        (WebKit::WebFrameLoaderClient::interruptedForPolicyChangeError):
46880        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
46881        * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
46882        (WebKit::interruptedForPolicyChangeError):
46883        * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
46884        (WebKit::interruptedForPolicyChangeError):
46885        * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
46886        (WebKit::interruptedForPolicyChangeError):
46887        * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp:
46888        (WebKit::interruptedForPolicyChangeError):
46889        * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
46890        (WebKit::interruptedForPolicyChangeError):
46891
468922011-06-12  Adam Barth  <abarth@webkit.org>
46893
46894        Reviewed by Eric Seidel.
46895
46896        Remove FrameLoader::isProcessingUserGesture
46897        https://bugs.webkit.org/show_bug.cgi?id=62519
46898
46899        Instead of asking the gesture indicator directly, ask the
46900        ScriptController, like everyone else.  The gesture indicator is just
46901        one of the piece of information we use to determine whether we're
46902        processing a user gesture.
46903
46904        * WebProcess/InjectedBundle/InjectedBundle.cpp:
46905        (WebKit::InjectedBundle::isProcessingUserGesture):
46906
469072011-06-12  Adam Barth  <abarth@webkit.org>
46908
46909        Reviewed by Alexey Proskuryakov.
46910
46911        Remove trival "forward-to-client" member functions from FrameLoader
46912        https://bugs.webkit.org/show_bug.cgi?id=62510
46913
46914        * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
46915        (WebKit::WebFrameNetworkingContext::blockedError):
46916
469172011-06-11  Stephanie Lewis  <slewis@apple.com>
46918
46919        Reviewed by Sam Weinig.
46920
46921        https://bugs.webkit.org/show_bug.cgi?id=62480
46922        part of <rdar://problem/8675177>
46923        Add API to launch the WebProcess.  Launching it earlier can save time 
46924        when loading the first page.
46925
46926        * UIProcess/API/C/WKContext.cpp:
46927        (WKContextWarmInitialProcess):
46928        * UIProcess/API/C/WKContextPrivate.h:
46929        * UIProcess/WebContext.cpp:
46930        (WebKit::WebContext::warmInitialProcess):
46931        * UIProcess/WebContext.h:
46932
469332011-06-09  Jer Noble  <jer.noble@apple.com>
46934
46935        Reviewed by Darin Adler.
46936
46937        AVPlayerLayer is adding a "fade" animation during Safari full-screen
46938        https://bugs.webkit.org/show_bug.cgi?id=62433
46939
46940        CoreAnimation will add default animations when certain properties are changed, unless
46941        those changes are wrapped in a CATransaction which has had its disableActions property set
46942        to true.  Wrap each of these three property changes in a CATransaction and disable its actions,
46943        so that the default "fade" animation is not created in response.
46944
46945        * UIProcess/mac/WKFullScreenWindowController.mm:
46946        (-[WKFullScreenWindowController enterFullScreen:]): Wrap with CATransaction.
46947        (-[WKFullScreenWindowController _swapView:with:]): Ditto:
46948        * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
46949        (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer): Ditto.
46950
469512011-06-10  Anders Carlsson  <andersca@apple.com>
46952
46953        Reviewed by Sam Weinig.
46954
46955        REGRESSION (WebKit2): window.showModalDialog() broken
46956        https://bugs.webkit.org/show_bug.cgi?id=62496
46957        <rdar://problem/9581492>
46958
46959        If dispatching a message ends up creating a nested run loop, some incoming messages can end up not being
46960        delivered until we exit from the run loop.
46961
46962        Fix this by using a Deque instead of a Vector for incoming messages, and get one message at a time and then
46963        dispatch it. That prevents us from having any lingering messages lying around in stack allocated space.
46964
46965        * Platform/CoreIPC/Connection.cpp:
46966        (CoreIPC::Connection::waitForMessage):
46967        (CoreIPC::Connection::dispatchMessages):
46968        * Platform/CoreIPC/Connection.h:
46969
469702011-06-10  Sam Weinig  <sam@webkit.org>
46971
46972        Reviewed by Anders Carlsson.
46973
46974        Unresponsive cursor is shown when displaying a modal dialog
46975        Part of <rdar://problem/9581492>
46976        https://bugs.webkit.org/show_bug.cgi?id=62494
46977
46978        * UIProcess/WebPageProxy.cpp:
46979        (WebKit::WebPageProxy::runModal):
46980        * UIProcess/WebPageProxy.h:
46981        Stop the responsiveness timer when calling out to show a modal dialog.
46982
469832011-06-10  Tony Chang  <tony@chromium.org>
46984
46985        Reviewed by Ojan Vafai.
46986
46987        add a compile guard ENABLE(FLEXBOX)
46988        https://bugs.webkit.org/show_bug.cgi?id=62049
46989
46990        * Configurations/FeatureDefines.xcconfig:
46991
469922011-06-10  Ryuan Choi  <ryuan.choi@samsung.com>
46993
46994        Reviewed by Kenneth Rohde Christiansen.
46995
46996        [EFL][WK2] Add dummy files in WebProcess/WebCoreSupport/efl
46997        https://bugs.webkit.org/show_bug.cgi?id=62346
46998
46999        Add WebProcess/WebCoreSupport/efl directory and files.
47000
47001        * WebProcess/WebCoreSupport/efl/WebContextMenuClientEfl.cpp: Added.
47002        (WebKit::WebContextMenuClient::lookUpInDictionary):
47003        (WebKit::WebContextMenuClient::isSpeaking):
47004        (WebKit::WebContextMenuClient::speak):
47005        (WebKit::WebContextMenuClient::stopSpeaking):
47006        * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp: Added.
47007        (WebKit::WebEditorClient::handleKeyboardEvent):
47008        (WebKit::WebEditorClient::handleInputMethodKeydown):
47009        * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp: Added.
47010        (WebKit::cancelledError):
47011        (WebKit::blockedError):
47012        (WebKit::cannotShowURLError):
47013        (WebKit::interruptForPolicyChangeError):
47014        (WebKit::cannotShowMIMETypeError):
47015        (WebKit::fileDoesNotExistError):
47016        (WebKit::pluginWillHandleLoadError):
47017        * WebProcess/WebCoreSupport/efl/WebFrameNetworkingContext.h: Added.
47018        (WebFrameNetworkingContext::create):
47019        (WebFrameNetworkingContext::WebFrameNetworkingContext):
47020        * WebProcess/WebCoreSupport/efl/WebPopupMenuEfl.cpp: Added.
47021        (WebKit::WebPopupMenu::setUpPlatformData):
47022
470232011-06-09  Andreas Kling  <kling@webkit.org>
47024
47025        Reviewed by Darin Adler.
47026
47027        WebKit2: Remove unused function CoreIPC::Connection::deprecatedWaitFor().
47028        https://bugs.webkit.org/show_bug.cgi?id=62386
47029
47030        * Platform/CoreIPC/Connection.h:
47031
470322011-06-09  Andreas Kling  <kling@webkit.org>
47033
47034        Reviewed by Anders Carlsson.
47035
47036        [Qt][WK2] Remove usage of deprecated CoreIPC functions.
47037        https://bugs.webkit.org/show_bug.cgi?id=62290
47038
47039        Use the new DrawingArea{,Proxy}.messages.in approach to CoreIPC in TiledDrawingArea.
47040        The TiledDrawingArea{,Proxy}-specific messages were moved up into DrawingArea{,Proxy}
47041        and guarded by ENABLE(TILED_BACKING_STORE).
47042
47043        * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h: Removed.
47044        * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h: Removed.
47045
47046        * GNUmakefile.am:
47047        * WebKit2.pro:
47048        * WebKit2.xcodeproj/project.pbxproj:
47049        * win/WebKit2.vcproj: Prune deleted files from build system.
47050
47051        * Platform/CoreIPC/MessageID.h: Remove legacy DrawingArea message ID's.
47052
47053        * UIProcess/API/qt/qgraphicswkview.cpp:
47054        (QGraphicsWKViewPrivate::commitScale): No longer waits for all tile updates to complete,
47055        this will be addressed by the soon-to-be-upstreamed TileSet mechanism.
47056
47057        * UIProcess/DrawingAreaProxy.messages.in:
47058        * UIProcess/DrawingAreaProxy.h:
47059        (WebKit::DrawingAreaProxy::didSetSize):
47060        (WebKit::DrawingAreaProxy::invalidate):
47061        (WebKit::DrawingAreaProxy::snapshotTaken):
47062        (WebKit::DrawingAreaProxy::tileUpdated):
47063        (WebKit::DrawingAreaProxy::allTileUpdatesProcessed): Added IPC calls used by
47064        TiledDrawingAreaProxy to DrawingAreaProxy.
47065
47066        * WebProcess/WebPage/DrawingArea.messages.in:
47067        * WebProcess/WebPage/DrawingArea.h:
47068        (WebKit::DrawingArea::setSize):
47069        (WebKit::DrawingArea::cancelTileUpdate):
47070        (WebKit::DrawingArea::requestTileUpdate):
47071        (WebKit::DrawingArea::takeSnapshot): Added IPC calls used by TiledDrawingArea
47072        to DrawingArea.
47073
47074        * UIProcess/DrawingAreaProxyImpl.h:
47075        * UIProcess/DrawingAreaProxyImpl.cpp: Remove the now-unneeded didReceiveMessage()
47076        and didReceiveSyncMessage().
47077
47078        * WebProcess/WebPage/DrawingAreaImpl.cpp:
47079        * WebProcess/WebPage/DrawingAreaImpl.h: Remove the now-unneeded didReceiveMessage().
47080
47081        * UIProcess/TiledDrawingAreaProxy.h:
47082        * UIProcess/TiledDrawingAreaProxy.cpp:
47083        (WebKit::TiledDrawingAreaProxy::sizeDidChange):
47084        (WebKit::TiledDrawingAreaProxy::tileUpdated):
47085        (WebKit::TiledDrawingAreaProxy::allTileUpdatesProcessed): Split didReceiveMessage()
47086        into functions.
47087
47088        (WebKit::TiledDrawingAreaProxy::removeTile):
47089        (WebKit::TiledDrawingAreaProxy::requestTileUpdate):
47090        (WebKit::TiledDrawingAreaProxy::setPageIsVisible):
47091        (WebKit::TiledDrawingAreaProxy::takeSnapshot): Use new-style IPC.
47092
47093        * WebProcess/WebPage/TiledDrawingArea.cpp:
47094        (WebKit::TiledDrawingArea::setSize):
47095        (WebKit::TiledDrawingArea::cancelTileUpdate):
47096        (WebKit::TiledDrawingArea::requestTileUpdate):
47097        (WebKit::TiledDrawingArea::takeSnapshot): Split didReceiveMessage() into functions.
47098
47099        (WebKit::TiledDrawingArea::display):
47100        (WebKit::TiledDrawingArea::updateTile):
47101        (WebKit::TiledDrawingArea::tileUpdateTimerFired): Use new-style IPC.
47102
47103        * UIProcess/WebPageProxy.cpp:
47104        (WebKit::WebPageProxy::didReceiveMessage): Remove handling of
47105        CoreIPC::MessageClassDrawingAreaProxyLegacy.
47106
47107        * WebProcess/WebPage/WebPage.cpp:
47108        (WebKit::WebPage::didReceiveMessage): Remove handling of
47109        CoreIPC::MessageClassDrawingAreaLegacy.
47110
47111        * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: Remove unneeded includes.
47112
47113        * WebProcess/WebPage/TiledDrawingArea.h: Remove didReceiveMessage() and make
47114        CoreIPC message handlers explicitly virtual.
47115
471162011-06-09  Andreas Kling  <kling@webkit.org>
47117
47118        Reviewed by Anders Carlsson.
47119
47120        WebKit2: Generate correct header conditionals in message receivers.
47121        https://bugs.webkit.org/show_bug.cgi?id=62379
47122
47123        Given a *.messages.in file like this:
47124
47125        Foo(AwesomeObject o)
47126        #if ENABLE(ESOTERIC_FEATURE)
47127        Bar(AwesomeObject o)
47128        #endif
47129
47130        messages.py would include AwesomeObject.h only #if ENABLE(ESOTERIC_FEATURE).
47131        This breaks the build on platforms without that defined.
47132
47133        Furthermore, if two messages guarded by different conditionals both pull in the same
47134        header, only the last conditional will be applied, for example:
47135
47136        #if ENABLE(ESOTERIC_FEATURE)
47137        Foo(AwesomeObject o)
47138        #endif
47139        #if ENABLE(MYSTERIOUS_FEATURE)
47140        Bar(AwesomeObject o)
47141        #endif
47142
47143        Would include AwesomeObject.h #if ENABLE(MYSTERIOUS_FEATURE) when it really should
47144        check #if ENABLE(ESOTERIC_FEATURE) || ENABLE(MYSTERIOUS_FEATURE).
47145
47146        Change the generator to consider all conditionals for a given header file.
47147        Also consider conditionals for reply parameters.
47148
47149        * Scripts/webkit2/messages.py:
47150        * Scripts/webkit2/messages_unittest.py:
47151
471522011-06-09  Eunmi Lee  <eunmi15.lee@samsung.com>
47153
47154        Reviewed by Kenneth Rohde Christiansen.
47155
47156        [EFL][WK2] Add PageClientImpl and WebPageProxyEfl for efl port
47157        https://bugs.webkit.org/show_bug.cgi?id=62363
47158
47159        * UIProcess/API/efl/PageClientImpl.cpp: Added.
47160        (WebKit::PageClientImpl::PageClientImpl):
47161        (WebKit::PageClientImpl::~PageClientImpl):
47162        (WebKit::PageClientImpl::createDrawingAreaProxy):
47163        (WebKit::PageClientImpl::setViewNeedsDisplay):
47164        (WebKit::PageClientImpl::displayView):
47165        (WebKit::PageClientImpl::scrollView):
47166        (WebKit::PageClientImpl::viewSize):
47167        (WebKit::PageClientImpl::isViewWindowActive):
47168        (WebKit::PageClientImpl::isViewFocused):
47169        (WebKit::PageClientImpl::isViewVisible):
47170        (WebKit::PageClientImpl::isViewInWindow):
47171        (WebKit::PageClientImpl::processDidCrash):
47172        (WebKit::PageClientImpl::didRelaunchProcess):
47173        (WebKit::PageClientImpl::pageClosed):
47174        (WebKit::PageClientImpl::toolTipChanged):
47175        (WebKit::PageClientImpl::setCursor):
47176        (WebKit::PageClientImpl::setViewportArguments):
47177        (WebKit::PageClientImpl::registerEditCommand):
47178        (WebKit::PageClientImpl::clearAllEditCommands):
47179        (WebKit::PageClientImpl::canUndoRedo):
47180        (WebKit::PageClientImpl::executeUndoRedo):
47181        (WebKit::PageClientImpl::convertToDeviceSpace):
47182        (WebKit::PageClientImpl::convertToUserSpace):
47183        (WebKit::PageClientImpl::windowToScreen):
47184        (WebKit::PageClientImpl::doneWithKeyEvent):
47185        (WebKit::PageClientImpl::createPopupMenuProxy):
47186        (WebKit::PageClientImpl::createContextMenuProxy):
47187        (WebKit::PageClientImpl::setFindIndicator):
47188        (WebKit::PageClientImpl::didChangeScrollbarsForMainFrame):
47189        (WebKit::PageClientImpl::didCommitLoadForMainFrame):
47190        (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation):
47191        (WebKit::PageClientImpl::customRepresentationZoomFactor):
47192        (WebKit::PageClientImpl::setCustomRepresentationZoomFactor):
47193        (WebKit::PageClientImpl::flashBackingStoreUpdates):
47194        (WebKit::PageClientImpl::findStringInCustomRepresentation):
47195        (WebKit::PageClientImpl::countStringMatchesInCustomRepresentation):
47196        (WebKit::PageClientImpl::userSpaceScaleFactor):
47197        * UIProcess/API/efl/PageClientImpl.h: Added.
47198        (WebKit::PageClientImpl::create):
47199        (WebKit::PageClientImpl::viewObject):
47200        (WebKit::PageClientImpl::page):
47201        * UIProcess/WebPageProxy.h:
47202        * UIProcess/efl/WebPageProxyEfl.cpp: Added.
47203        (WebKit::WebPageProxy::viewObject):
47204        (WebKit::WebPageProxy::standardUserAgent):
47205        (WebKit::WebPageProxy::getEditorCommandsForKeyEvent):
47206        (WebKit::WebPageProxy::saveRecentSearches):
47207        (WebKit::WebPageProxy::loadRecentSearches):
47208
472092011-06-08  John Sullivan  <sullivan@apple.com>
47210
47211        Reviewed by Darin Adler.
47212
47213        <https://bugs.webkit.org/show_bug.cgi?id=62332>
47214        <rdar://problem/9355199>
47215        [WKView _setDragImage:at:linkDrag:] can crash if WKView is dealloc'ed during drag
47216
47217        * UIProcess/API/mac/WKView.mm:
47218        (-[WKView _resendKeyDownEvent:]):
47219        Renamed self-protecting RetainPtr from "protect" to "protector" so it's a noun.
47220        (-[WKView _setDragImage:at:linkDrag:]):
47221        Added a self-protecting RetainPtr.
47222
472232011-06-08  No'am Rosenthal  <noam.rosenthal@nokia.com>
47224
47225        Reviewed by Kenneth Rohde Christiansen.
47226
47227        WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
47228        https://bugs.webkit.org/show_bug.cgi?id=61694
47229
47230        Add an ArgumentCoder for FloatPoint3D.
47231
47232        Together with Viatcheslav Ostapenko.
47233
47234        * Scripts/webkit2/messages.py:
47235        * Shared/WebCoreArgumentCoders.h:
47236
472372011-06-08  No'am Rosenthal  <noam.rosenthal@nokia.com>
47238
47239         Reviewed by Kenneth Rohde Christiansen.
47240
47241         WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
47242         https://bugs.webkit.org/show_bug.cgi?id=61694
47243
47244         Add ArgumentCoders for TransformOperation, including all the subclasses,
47245         and TransformOperations.
47246
47247         * Scripts/webkit2/messages.py:
47248         * Shared/WebCoreArgumentCoders.h:
47249
472502011-06-08  Yael Aharon  <yael.aharon@nokia.com>
47251
47252        Reviewed by Andreas Kling.
47253
47254        [Qt] Build fix for building QtWebKit inside of Qt.
47255        https://bugs.webkit.org/show_bug.cgi?id=62280
47256
47257        Remove CONFIG=staticlib, because it causes the configure script to add -lwebkit2
47258        into QtWebKit.prl.
47259
47260        * WebKit2.pri:
47261
472622011-06-07  Tim Horton  <timothy_horton@apple.com>
47263
47264        Reviewed by Alexey Proskuryakov.
47265
47266        Use correct CFURLStorageSessionRef definition on Snow Leopard
47267        https://bugs.webkit.org/show_bug.cgi?id=62223
47268
47269        * PluginProcess/mac/PluginProcessShim.mm:
47270
472712011-06-07  John Sullivan  <sullivan@apple.com>
47272
47273        Reviewed by Darin Adler.
47274
47275        <https://bugs.webkit.org/show_bug.cgi?id=62248>
47276        <rdar://problem/9568516>
47277        WKResponderChainSink mechanism isn't robust against some types of responder chain manipulation
47278
47279        * UIProcess/API/mac/WKView.mm:
47280        (-[WKResponderChainSink detach]):
47281        This method formerly blindly assumed that since -initWithResponderChain: put self at the
47282        end of the responder chain, after _lastResponderInChain, then self is still at the end
47283        of the responder chain and still immediately after _lastResponderInChain. Made this function
47284        robust against some kinds of responder chain manipulations, though it can't be robust against
47285        some other kinds (e.g., manipulations that removed self from this chain and put it into some
47286        other chain).
47287
472882011-06-07  Sam Weinig  <sam@webkit.org>
47289
47290        Reviewed by Anders Carlsson.
47291
47292        Remove repeated IPC traffic from SetRenderTreeSize message
47293        https://bugs.webkit.org/show_bug.cgi?id=62244
47294
47295        * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
47296        Add didLayoutForFrame callback.
47297
47298        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
47299        (WKBundlePageGetRenderTreeSize):
47300        * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
47301        Add render tree size getter in WebProcess.
47302
47303        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
47304        (WebKit::InjectedBundlePageLoaderClient::didLayoutForFrame):
47305        * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
47306        Added.
47307
47308        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
47309        * WebProcess/WebCoreSupport/WebChromeClient.h:
47310        Removed setRenderTreeSize.
47311
47312        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
47313        (WebKit::WebFrameLoaderClient::dispatchDidLayout):
47314        * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
47315        Call the new didLayoutForFrame client function.
47316
47317        * WebProcess/WebPage/WebPage.cpp:
47318        (WebKit::WebPage::renderTreeSize):
47319        * WebProcess/WebPage/WebPage.h:
47320        Add iterative implementation to compute the total size of the render tree
47321        for a page.
47322
473232011-06-07  Zalan Bujtas  <zbujtas@gmail.com>
47324
47325        Reviewed by Andreas Kling.
47326
47327        TiledDrawingArea: Delay serving tile requests when the drawing area is suspended.
47328
47329        Do not paint tiles when painting is disabled (suspended) on the web process side.
47330        Buffer up the tile requests and paint them, when the drawing area gets resumed.
47331        On the UI process side, do not block on tile updates, when the tiled area is
47332        not visible (painting is disabled on the web process side).
47333
47334        * UIProcess/TiledDrawingAreaProxy.cpp:
47335        (WebKit::TiledDrawingAreaProxy::waitUntilUpdatesComplete):
47336        * WebProcess/WebPage/TiledDrawingArea.cpp:
47337        (WebKit::TiledDrawingArea::suspendPainting):
47338        (WebKit::TiledDrawingArea::resumePainting):
47339        (WebKit::TiledDrawingArea::scheduleTileUpdate):
47340        (WebKit::TiledDrawingArea::tileUpdateTimerFired):
47341        (WebKit::TiledDrawingArea::didReceiveMessage):
47342        * WebProcess/WebPage/TiledDrawingArea.h:
47343
473442011-06-07  Sheriff Bot  <webkit.review.bot@gmail.com>
47345
47346        Unreviewed, rolling out r88259 and r88263.
47347        http://trac.webkit.org/changeset/88259
47348        http://trac.webkit.org/changeset/88263
47349        https://bugs.webkit.org/show_bug.cgi?id=62228
47350
47351        broke builds (Requested by rniwa on #webkit).
47352
47353        * PluginProcess/mac/PluginProcessShim.mm:
47354
473552011-06-07  Tim Horton  <timothy_horton@apple.com>
47356
47357        Reviewed by Alexey Proskuryakov.
47358
47359        Use correct CFURLStorageSessionRef definition on Snow Leopard
47360        https://bugs.webkit.org/show_bug.cgi?id=62223
47361
47362        * PluginProcess/mac/PluginProcessShim.mm:
47363
473642011-06-07  Carlos Garcia Campos  <cgarcia@igalia.com>
47365
47366        Reviewed by Martin Robinson.
47367
47368        [GTK] Move moduleMixesGtkSymbols() from PluginPackage to PluginView
47369        https://bugs.webkit.org/show_bug.cgi?id=62200
47370
47371        In WebKit2 PluginPackage is used by the UI process to load plugins
47372        in order to get information about them, but it doesn't use any GTK
47373        symbol. So the UI process should be able to load plugins even when
47374        building with GTK3, but we should not allow the plugin view to use
47375        the plugin if it mixes GTK2 and GTK3 symbols.
47376
47377        * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
47378        (WebKit::moduleMixesGtkSymbols):
47379        (WebKit::NetscapePlugin::platformPostInitialize): Check whether
47380        the module is mixing GTK+ 2 and GTK+ 3 symbols.
47381
473822011-06-06  Sheriff Bot  <webkit.review.bot@gmail.com>
47383
47384        Unreviewed, rolling out r88222.
47385        http://trac.webkit.org/changeset/88222
47386        https://bugs.webkit.org/show_bug.cgi?id=62192
47387
47388        Broke compile on Mac (Requested by abarth on #webkit).
47389
47390        * Scripts/webkit2/messages.py:
47391        * Shared/WebCoreArgumentCoders.h:
47392
473932011-06-06  Noam Rosenthal  <noam.rosenthal@nokia.com>
47394
47395        Reviewed by Kenneth Rohde Christiansen.
47396
47397        WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
47398        https://bugs.webkit.org/show_bug.cgi?id=61694
47399
47400        Add ArgumentCoders for TransformOperation, including all the subclasses,
47401        and TransformOperations.
47402
47403        * Scripts/webkit2/messages.py:
47404        * Shared/WebCoreArgumentCoders.h:
47405
474062011-06-06  John Sullivan  <sullivan@apple.com>
47407
47408        Reviewed by Dan Bernstein.
47409
47410        <https://bugs.webkit.org/show_bug.cgi?id=62165>
47411        <rdar://problem/9555835>
47412        WebKit2 find-on-page callback doesn’t handle kWKMoreThanMaximumMatchCount on PDF pages
47413
47414        * UIProcess/API/mac/PDFViewController.mm:
47415        (WebKit::PDFViewController::findString):
47416        Return kWKMoreThanMaximumMatchCount when appropriate, a la FindController::countStringMatches().
47417        Also, skip counting all the matches if maxMatchCount is 0, to avoid (perhaps slowly) computing a
47418        number that would be ignored.
47419
474202011-06-06  Carlos Garcia Campos  <cgarcia@igalia.com>
47421
47422        Reviewed by Anders Carlsson.
47423
47424        Do not use NPRuntimeObjectMap in NetscapePlugin::setException when plug-in is running out of process
47425        https://bugs.webkit.org/show_bug.cgi?id=62124
47426
47427        * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
47428        (WebKit::NetscapePlugin::setException):
47429
474302011-06-06  Dominic Cooney  <dominicc@chromium.org>
47431
47432        Unreviewed WinCairo build fix after r88159.
47433
47434        * win/WebKit2CFLite.def: Export symbols for WebCoreTestSupport.
47435
474362011-06-04  Dominic Cooney  <dominicc@chromium.org>
47437
47438        Reviewed by Dimitri Glazkov.
47439
47440        Re-export JSC and WebCore symbols required by WebCoreTestSupport.
47441        https://bugs.webkit.org/show_bug.cgi?id=61076
47442
47443        * win/WebKit2.def:
47444
474452011-06-06  Alexandru Chiculita  <achicu@adobe.com>
47446
47447        Reviewed by Kent Tamura.
47448
47449        Add ENABLE_CSS_EXCLUSIONS support for build-webkit script
47450        https://bugs.webkit.org/show_bug.cgi?id=61628
47451
47452        * Configurations/FeatureDefines.xcconfig:
47453
474542011-06-06  Mihnea Ovidenie  <mihnea@adobe.com>
47455
47456        Reviewed by Kent Tamura.
47457
47458        Add ENABLE(CSS_REGIONS) guard for CSS Regions support
47459        https://bugs.webkit.org/show_bug.cgi?id=61631
47460
47461        * Configurations/FeatureDefines.xcconfig:
47462
474632011-06-06  Carlos Garcia Campos  <cgarcia@igalia.com>
47464
47465        Reviewed by Anders Carlsson.
47466
47467        [UNIX] SOCK_DGRAM sockets are not notified when the other end closes the connection
47468        https://bugs.webkit.org/show_bug.cgi?id=61538
47469
47470        Use SOCK_STREAM instead of SOCK_DGRAM sockets. Rework the message
47471        receiver code to support stream sockets, since it requires to
47472        handle message boundaries. The same code works for DGRAM sockets,
47473        so this change shouldn't break other ports using DGRAM.
47474
47475        * Platform/CoreIPC/Connection.h:
47476        * Platform/CoreIPC/unix/ConnectionUnix.cpp:
47477        (CoreIPC::Connection::platformInitialize):
47478        (CoreIPC::Connection::processMessage): Process messages from data
47479        already received.
47480        (CoreIPC::readBytesFromSocket): Read from socket using recvmsg().
47481        (CoreIPC::Connection::readyReadHandler):
47482        * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
47483        (WebKit::ProcessLauncher::launchProcess): Use SOCK_DGRAM in
47484        socketpair().
47485
47486== Rolled over to ChangeLog-2011-06-04 ==
47487