[Cocoa] WKCustomProtocolLoader should store a WeakPtr to its LegacyCustomProtocolMana...
[WebKit-https.git] / Source / WebKit / ChangeLog-2012-05-22
1 2012-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
22 2012-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
57 2012-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
75 2012-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
90 2012-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
105 2012-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
126 2012-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
139 2012-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
160 2012-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
175 2012-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
187 2012-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
203 2012-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
214 2012-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
238 2012-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
285 2012-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
299 2012-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
312 2012-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
333 2012-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
353 2012-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
362 2012-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
376 2012-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
389 2012-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
405 2012-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
417 2012-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
436 2012-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
448 2012-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
513 2012-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
525 2012-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
543 2012-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
549 2012-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
556 2012-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
575 2012-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
588 2012-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
607 2012-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
625 2012-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
643 2012-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
652 2012-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
661 2012-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
673 2012-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
733 2012-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
746 2012-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
767 2012-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
777 2012-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
796 2012-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
824 2012-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
836 2012-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
843 2012-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
899 2012-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
921 2012-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
959 2012-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
998 2012-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
1010 2012-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
1035 2012-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
1055 2012-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
1094 2012-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
1122 2012-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
1135 2012-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
1153 2012-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
1206 2012-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
1222 2012-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
1234 2012-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
1245 2012-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
1265 2012-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
1286 2012-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
1300 2012-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
1312 2012-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
1326 2012-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
1332 2012-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
1341 2012-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
1350 2012-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
1364 2012-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
1375 2012-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
1404 2012-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
1439 2012-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
1451 2012-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
1526 2012-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
1535 2012-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
1542 2012-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
1608 2012-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
1620 2012-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
1629 2012-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
1680 2012-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
1752 2012-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
1769 2012-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
1781 2012-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
1813 2012-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
1827 2012-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
1840 2012-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
1888 2012-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
1905 2012-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
1924 2012-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
1947 2012-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
1956 2012-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
1966 2012-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
1975 2012-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
1987 2012-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
2037 2012-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
2058 2012-05-08  Jon Lee  <jonlee@apple.com>
2059
2060         Unreviewed build fix.
2061
2062         * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.h:
2063         (LayerTreeHostCAWin):
2064
2065 2012-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
2102 2012-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
2113 2012-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
2129 2012-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
2170 2012-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
2181 2012-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
2198 2012-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
2221 2012-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
2242 2012-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
2253 2012-05-07  Andy Estes  <aestes@apple.com>
2254
2255         ENABLE_IFRAME_SEAMLESS should be part of FEATURE_DEFINES.
2256
2257         * Configurations/FeatureDefines.xcconfig:
2258
2259 2012-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
2268 2012-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
2276 2012-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
2289 2012-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
2306 2012-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
2316 2012-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
2325 2012-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
2345 2012-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
2369 2012-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
2378 2012-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
2388 2012-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
2407 2012-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
2427 2012-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
2441 2012-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
2470 2012-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
2493 2012-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
2503 2012-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
2523 2012-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
2533 2012-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
2544 2012-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
2574 2012-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
2586 2012-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
2596 2012-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
2627 2012-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
2642 2012-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
2679 2012-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
2692 2012-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
2706 2012-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
2719 2012-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
2727 2012-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
2741 2012-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
2755 2012-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
2776 2012-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
2796 2012-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
2818 2012-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
2833 2012-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
2850 2012-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
2866 2012-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
2881 2012-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
2892 2012-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
2905 2012-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
2917 2012-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
2934 2012-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
2972 2012-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
2985 2012-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
2991 2012-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
3003 2012-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
3045 2012-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
3064 2012-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
3077 2012-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
3089 2012-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
3102 2012-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
3141 2012-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
3167 2012-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
3180 2012-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
3190 2012-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
3199 2012-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
3213 2012-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
3233 2012-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
3248 2012-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
3260 2012-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
3292 2012-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
3309 2012-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
3329 2012-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
3338 2012-04-30  Anders Carlsson  <andersca@apple.com>
3339
3340         Build fix.
3341
3342         * Shared/DrawingAreaInfo.h:
3343
3344 2012-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
3359 2012-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
3380 2012-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
3392 2012-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: