Merge "Add to ewk api for setting/getting the User Agent by using system info library...
[framework/web/webkit-efl.git] / Source / WebKit2 / 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:
3404         (WebKit::WebPageProxy::registerKeypressCommandName):
3405         (WebKit::WebPageProxy::isValidKeypressCommandName):
3406         * UIProcess/mac/WebPageProxyMac.mm:
3407         (WebKit::WebPageProxy::executeSavedCommandBySelector):
3408
3409 2012-04-30  Mario Sanchez Prada  <msanchez@igalia.com>
3410
3411         [GTK] Implement WebUIClient's runOpenPanel in WebKit2GTK+
3412         https://bugs.webkit.org/show_bug.cgi?id=78491
3413
3414         Reviewed by Martin Robinson.
3415
3416         Add a new public class to the API, WebKitFileChooserRequest, to be
3417         emitted along with a new WebKitWebView::run-file-chooser signal to
3418         let client applications to provide their own file chooser dialog
3419         when the use interacts with HTML Input elements of type 'file'.
3420
3421         * GNUmakefile.am: Added new source files and headers.
3422         * UIProcess/API/gtk/WebKitFileChooserRequest.cpp: Added.
3423         (_WebKitFileChooserRequestPrivate):
3424         (webkit_file_chooser_request_init):
3425         (webkitFileChooserRequestFinalize):
3426         (webkitFileChooserRequestGetProperty):
3427         (webkit_file_chooser_request_class_init):
3428         (webkitFileChooserRequestCreate):
3429         (webkit_file_chooser_request_get_mime_types):
3430         (webkit_file_chooser_request_get_mime_types_filter):
3431         (webkit_file_chooser_request_get_select_multiple):
3432         (webkit_file_chooser_request_select_files):
3433         (webkit_file_chooser_request_get_selected_files):
3434         (webkit_file_chooser_request_cancel):
3435         * UIProcess/API/gtk/WebKitFileChooserRequest.h: Added.
3436         (_WebKitFileChooserRequest):
3437         (_WebKitFileChooserRequestClass):
3438         * UIProcess/API/gtk/WebKitFileChooserRequestPrivate.h: Added,
3439         containing the prototype of webkitFileChooserRequestCreate.
3440
3441         Provide private API to make a file chooser request from the
3442         WebView, and provide a default handler for it.
3443
3444         * UIProcess/API/gtk/WebKitWebView.cpp:
3445         (fileChooserDialogResponseCallback): Handler for the 'response'
3446         signal for the GtkFileChooserDialog used in the default
3447         handler. It will call to webkit_file_chooser_request_select_files
3448         or webkit_file_chooser_request_cancel as needed.
3449         (webkitWebViewRunFileChooser): Default handler for the new
3450         'run-file-chooser' signal. It will create a GtkFileChooserDialog,
3451         connect to the 'response' signal and show it.
3452         (webkit_web_view_class_init): Connect the 'run-file-chooser'
3453         signal to the default handler, webkitWebViewRunFileChooser.
3454         (webkitWebViewRunFileChooserRequest):
3455         * UIProcess/API/gtk/WebKitWebView.h:
3456         (_WebKitWebViewClass): Added prototype for the handler of the new
3457         'run-file-chooser' signal.
3458         * UIProcess/API/gtk/WebKitWebViewPrivate.h: Added prototype for
3459         private new function webkitWebViewRunFileChooserRequest.
3460
3461         Provide an implementation for runOpenPanel in WebKitUIClient.
3462
3463         * UIProcess/API/gtk/WebKitUIClient.cpp:
3464         (runOpenPanel): New, implements runOpenPanel by creating an
3465         instance of WebKitFileChooserRequest and asking the WebView to
3466         emit the 'run-file-chooser' signal with it.
3467         (attachUIClientToView): Reference the new runOpenPanel function.
3468
3469         Added the new publich header to the main header.
3470
3471         * UIProcess/API/gtk/webkit2.h: Added WebKitFileChooserRequest.h.
3472
3473         New unit tests for the new WebKitFileChooserRequest API. Also,
3474         extended the WebViewTest class to allow simulating mouse clicks.
3475
3476         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
3477         (checkMimeTypeForFilter): New, checks whether a GtkFileFilter
3478         filters a given MIME type, as specified by RFC 2046.
3479         (testWebViewFileChooserRequest): New unit test.
3480         (beforeAll): Add the new unit test as an UIClientTest.
3481
3482         * UIProcess/API/gtk/tests/WebViewTest.cpp:
3483         (WebViewTest::clickMouseButton): New public function to simulate a
3484         mouse click through GdkEvents, as the combination of a 'press' and
3485         a 'release' event. Used from the new unit test to simulate the
3486         user pressing in the button rendered for a HTML Input element.
3487         (WebViewTest::executeMouseButtonEvent): New private function to
3488         simulate a mouse event through GdkEvents.
3489         * UIProcess/API/gtk/tests/WebViewTest.h:
3490
3491         Updated documentation related files with the new API.
3492
3493         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added new API.
3494         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Added new section.
3495         * UIProcess/API/gtk/docs/webkit2gtk.types: Added get_type function.
3496
3497 2012-04-28  Yury Semikhatsky  <yurys@chromium.org>
3498
3499         Unreviewed. Added new exported symbols after r115553.
3500
3501         * win/WebKit2.def:
3502         * win/WebKit2CFLite.def:
3503
3504 2012-04-27  Geoffrey Garen  <ggaren@apple.com>
3505
3506         Made WeakSet::allocate() static and removed its JSGlobalData argument
3507         https://bugs.webkit.org/show_bug.cgi?id=85128
3508
3509         Reviewed by Anders Carlsson.
3510
3511         Mechanically removed JSGlobalData arguments from PassWeak<T> and Weak<T> allocation.
3512
3513         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
3514         (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
3515
3516 2012-04-27  Yael Aharon  <yael.aharon@nokia.com>
3517
3518         [Qt][WK2] Don't call syncRemoteContents from WebLayerTreeRenderer::paintToCurrentGLContext
3519         https://bugs.webkit.org/show_bug.cgi?id=85088
3520
3521         Reviewed by Noam Rosenthal.
3522
3523         Remove the call to syncRemoteContents from WebLayerTreeRenderer::paintToCurrentGLContext,
3524         since it was moved to QQuickWebPage::updatePaintNode.
3525         To make sure that we always sync before painting, this patch also calls page->update()
3526         when the viewport changes.
3527
3528         * UIProcess/API/qt/qquickwebview.cpp:
3529         (QQuickWebViewFlickablePrivate::_q_contentViewportChanged):
3530         * UIProcess/WebLayerTreeRenderer.cpp:
3531         (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
3532
3533 2012-04-27  Gavin Peters  <gavinp@chromium.org>
3534
3535         Add new ENABLE_LINK_PRERENDER define to control the Prerendering API
3536         https://bugs.webkit.org/show_bug.cgi?id=84871
3537
3538         Reviewed by Adam Barth.
3539
3540         Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering
3541         API separates it from prefetching.  Having separate include guards lets ports enable prefetching,
3542         a relatively easy change, without needing to build the infrastructure for prerendering, which
3543         is considerably more complicated.
3544
3545 2012-04-27  Yael Aharon  <yael.aharon@nokia.com>
3546
3547         [Qt][WK2] setVisibleContentsRect is not thread safe
3548         https://bugs.webkit.org/show_bug.cgi?id=85060
3549
3550         Reviewed by Noam Rosenthal.
3551
3552         Don't call WebLayerTreeRenderer::setVisibleContentsRect directly. Use bind() instead.
3553
3554         * UIProcess/LayerTreeHostProxy.cpp:
3555         (WebKit::LayerTreeHostProxy::setVisibleContentsRect):
3556
3557 2012-04-26  Carlos Garcia Campos  <cgarcia@igalia.com>
3558
3559         [SOUP] Add a way to register custom uri schemes in WebKit2
3560         https://bugs.webkit.org/show_bug.cgi?id=84130
3561
3562         Reviewed by Martin Robinson.
3563
3564         * GNUmakefile.am: Add new files to compilation.
3565         * Platform/CoreIPC/MessageID.h: Add
3566         MessageClassWebSoupRequestManager and
3567         MessageClassWebSoupRequestManagerProxy message types to identify
3568         WebSoupRequestManager messages.
3569         * Shared/API/c/WKBase.h: Include WKBaseSoup.h when building with
3570         soup network backend.
3571         * Shared/API/c/soup/WKBaseSoup.h: Added.
3572         * Shared/APIObject.h: Add SoupRequestManager type when using soup.
3573         * UIProcess/API/C/WKAPICast.h: Include WKAPICastSoup.h when
3574         building with soup network backend.
3575         * UIProcess/API/C/soup/WKAPICastSoup.h: Added.
3576         (WebKit): Map WKSoupRequestManagerRef to
3577         WebSoupRequestManagerProxy.
3578         * UIProcess/API/C/soup/WKContextSoup.cpp: Added.
3579         (WKContextGetSoupRequestManager): Return WKSoupRequestManagerRef
3580         associated to the context.
3581         * UIProcess/API/C/soup/WKContextSoup.h: Added.
3582         * UIProcess/API/C/soup/WKSoupRequestManager.cpp: Added.
3583         (WKSoupRequestManagerGetTypeID): Return the
3584         WebSoupRequestManagerProxy API type.
3585         (WKSoupRequestManagerSetClient): Set the WKSoupRequestManagerClient.
3586         (WKSoupRequestManagerRegisterURIScheme): Call
3587         WebSoupRequestManagerProxy::registerURIScheme().
3588         (WKSoupRequestManagerHandleURIRequest): Call
3589         WebSoupRequestManagerProxy::handleURIRequest().
3590         * UIProcess/API/C/soup/WKSoupRequestManager.h: Added.
3591         * UIProcess/WebContext.cpp:
3592         (WebKit::WebContext::WebContext): Initialize
3593         m_soupRequestManagerProxy when using soup.
3594         (WebKit::WebContext::~WebContext): Invalidate and clear the
3595         m_soupRequestManagerProxy when using soup.
3596         (WebKit::WebContext::disconnectProcess): Invalidate the
3597         m_soupRequestManagerProxy when using soup.
3598         (WebKit::WebContext::didReceiveMessage): Forward the message to
3599         m_soupRequestManagerProxy if it's a
3600         MessageClassWebSoupRequestManagerProxy message.
3601         * UIProcess/WebContext.h:
3602         (WebKit::WebContext::soupRequestManagerProxy): Return
3603         m_soupRequestManagerProxy.
3604         * UIProcess/WebProcessProxy.cpp:
3605         (WebKit::WebProcessProxy::didReceiveMessage): Forward message to
3606         the web context if it's a MessageClassWebSoupRequestManagerProxy
3607         message.
3608         * UIProcess/soup/WebSoupRequestManagerClient.cpp: Added.
3609         (WebKit::WebSoupRequestManagerClient::didReceiveURIRequest): Call
3610         didReceiveURIRequest callback if it has an implementation.
3611         * UIProcess/soup/WebSoupRequestManagerClient.h: Added.
3612         * UIProcess/soup/WebSoupRequestManagerProxy.cpp: Added.
3613         (WebKit::WebSoupRequestManagerProxy::create): Create a new
3614         WebSoupRequestManagerProxy.
3615         (WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy):
3616         (WebKit::WebSoupRequestManagerProxy::~WebSoupRequestManagerProxy):
3617         (WebKit::WebSoupRequestManagerProxy::invalidate):
3618         (WebKit::WebSoupRequestManagerProxy::initializeClient):
3619         (WebKit::WebSoupRequestManagerProxy::didReceiveMessage):
3620         (WebKit::WebSoupRequestManagerProxy::registerURIScheme): Send
3621         RegisterURIScheme message to the WebProcess to register the given
3622         URI scheme.
3623         (WebKit::WebSoupRequestManagerProxy::handleURIRequest): Send
3624         HandleURIRequest message to the WebProcess with the given data and
3625         data type.
3626         (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequest): Call
3627         didReceiveURIRequest callback to allow the user to handle the
3628         request.
3629         * UIProcess/soup/WebSoupRequestManagerProxy.h: Added.
3630         * UIProcess/soup/WebSoupRequestManagerProxy.messages.in: Added.
3631         * WebProcess/WebProcess.cpp:
3632         (WebKit::WebProcess::WebProcess): Initialize m_soupRequestManager
3633         when using soup.
3634         (WebKit::WebProcess::didReceiveMessage): Forward the message to
3635         m_soupRequestManager if it's a MessageClassWebSoupRequestManager
3636         message.
3637         * WebProcess/WebProcess.h:
3638         (WebKit::WebProcess::soupRequestManager): Return m_soupRequestManager.
3639         * WebProcess/soup/WebKitSoupRequestGeneric.cpp: Added.
3640         (webkitSoupRequestGenericFinalize):
3641         (webkit_soup_request_generic_init):
3642         (webkitSoupRequestGenericSendAsync): Create a GSimpleAsyncResult
3643         to handle the request and pass it to the WebSoupRequestManager.
3644         (webkitSoupRequestGenericSendFinish): Finish the async operation
3645         started by webkitSoupRequestGenericSendAsync() and return the
3646         contents of the request as returned by WebSoupRequestManager.
3647         (webkitSoupRequestGenericGetContentLength): Get the request
3648         contents length.
3649         (webkitSoupRequestGenericGetContentType): Get the request mime
3650         type.
3651         (webkit_soup_request_generic_class_init):
3652         (webkitSoupRequestGenericSetContentLength): Set the request
3653         contents length.
3654         (webkitSoupRequestGenericSetContentType): Set the request mime
3655         type.
3656         * WebProcess/soup/WebKitSoupRequestGeneric.h: Added.
3657         * WebProcess/soup/WebSoupRequestManager.cpp: Added.
3658         (WebKit::generateSoupRequestID): Helper function to generate a
3659         unique request identifier.
3660         (WebKit::WebSoupRequestManager::WebSoupRequestManager):
3661         (WebKit::WebSoupRequestManager::~WebSoupRequestManager):
3662         (WebKit::WebSoupRequestManager::didReceiveMessage):
3663         (WebKit::WebSoupRequestManager::registerURIScheme): Add the scheme
3664         to the schemes array and add a new WebKitSoupRequestGeneric
3665         feature with the new scheme list to the SoupRequester feature.
3666         (WebKit::WebSoupRequestManager::handleURIRequest): Complete the
3667         async operation by creating a GInputStream with the request data,
3668         or setting an error in case of failure.
3669         (WebKit::WebSoupRequestManager::send): Send DidReceiveURIRequest
3670         message to the UI process.
3671         (WebKit::WebSoupRequestManager::finish): Return the GInputStream
3672         containing the request data.
3673         * WebProcess/soup/WebSoupRequestManager.h: Added.
3674         * WebProcess/soup/WebSoupRequestManager.messages.in: Added.
3675
3676 2012-04-26  No'am Rosenthal  <noam.rosenthal@nokia.com>
3677
3678         [Qt][WK2] A GraphicsSurface instance is created with every update
3679         https://bugs.webkit.org/show_bug.cgi?id=85014
3680
3681         Reviewed by Kenneth Rohde Christiansen.
3682
3683         Keep a copy of the GraphicsSurface in the UI process, and reuse it for
3684         subsequent updates. This ensure that the texture and other data associated
3685         with the GraphicsSurface does not need to be reconstructed.
3686
3687         * Shared/ShareableSurface.h:
3688         (Handle):
3689         (WebKit::ShareableSurface::Handle::graphicsSurfaceToken):
3690         * UIProcess/LayerTreeHostProxy.cpp:
3691         (WebKit::LayerTreeHostProxy::updateTileForLayer):
3692         * UIProcess/LayerTreeHostProxy.h:
3693         (LayerTreeHostProxy):
3694
3695 2012-04-26  Martin Robinson  <mrobinson@igalia.com>
3696
3697         [Cairo] Wrap cairo surfaces in a class when storing native images
3698         https://bugs.webkit.org/show_bug.cgi?id=83611
3699
3700         Reviewed by Alejandro G. Castro.
3701
3702         * Shared/gtk/ArgumentCodersGtk.cpp: Updated to reflect the addition of NativeImageCairo.
3703
3704 2012-04-26  Jon Lee  <jonlee@apple.com>
3705
3706         [WK2] AlternativeTextClient leaks when the page is destroyed
3707         https://bugs.webkit.org/show_bug.cgi?id=84307
3708         <rdar://problem/11328431>
3709
3710         Reviewed by Enrica Casucci.
3711
3712         * WebProcess/WebCoreSupport/WebAlternativeTextClient.h: Implement pageDestroyed(), as in EditorClient.
3713         (WebAlternativeTextClient):
3714         * WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp:
3715         (WebKit::WebAlternativeTextClient::pageDestroyed): Deletes itself.
3716
3717 2012-04-26  Jer Noble  <jer.noble@apple.com>
3718
3719         Full Screen mode does not preserve CALayer ordering after exiting.
3720         https://bugs.webkit.org/show_bug.cgi?id=83931
3721
3722         Reviewed by Eric Carlson.
3723
3724         Further corrections to r114567. When swapping view for otherView, give the correct
3725         relative view to -[NSView addSubview:positioned:relativeTo:].
3726
3727         * UIProcess/mac/WKFullScreenWindowController.mm:
3728         (-[WKFullScreenWindowController _swapView:with:]):
3729
3730 2012-04-25  Jer Noble  <jer.noble@apple.com>
3731
3732         Placeholder view is immediately removed from hosting window upon entering full screen.
3733         https://bugs.webkit.org/show_bug.cgi?id=84916
3734
3735         Reviewed by Darin Adler.
3736
3737         Correct a mistake added in r114567.  When swapping view for otherView, add otherView and 
3738         remove view (rather than adding otherView and removing otherView).
3739
3740         * UIProcess/mac/WKFullScreenWindowController.mm:
3741         (-[WKFullScreenWindowController _swapView:with:]):
3742
3743 2012-04-26  Carlos Garcia Campos  <cgarcia@igalia.com>
3744
3745         [GTK] Build and run TestWebKitAPI WebKit2 unit tests
3746         https://bugs.webkit.org/show_bug.cgi?id=84446
3747
3748         Reviewed by Philippe Normand.
3749
3750         * UIProcess/API/C/WKNativeEvent.h: Define WKNativeEventPtr as
3751         GdkEvent for the GTK+ port.
3752
3753 2012-04-26  Andras Becsi  <andras.becsi@nokia.com>
3754
3755         [Qt][WK2] Tap highlight should have a delay not to interfere with panning
3756         https://bugs.webkit.org/show_bug.cgi?id=84948
3757
3758         Reviewed by Kenneth Rohde Christiansen.
3759
3760         Start the tap highlight animation after a slight delay so that pan
3761         gestures do not result in flashing highlight rects which slow down
3762         flicking, especially during continuous pan gestures.
3763
3764         * UIProcess/qt/QtTapGestureRecognizer.cpp:
3765         (WebKit::QtTapGestureRecognizer::update):
3766         (WebKit::QtTapGestureRecognizer::highlightTimeout):
3767         (WebKit):
3768         (WebKit::QtTapGestureRecognizer::reset):
3769         (WebKit::QtTapGestureRecognizer::timerEvent):
3770         * UIProcess/qt/QtTapGestureRecognizer.h:
3771         (QtTapGestureRecognizer):
3772         * UIProcess/qt/QtWebPageEventHandler.cpp:
3773         (WebKit::QtWebPageEventHandler::doneWithTouchEvent):
3774
3775 2012-04-26  Lars Knudsen  <lars.knudsen@nokia.com>
3776
3777         Make it possible to use accelerated compositing for page overlay fading
3778         https://bugs.webkit.org/show_bug.cgi?id=82336
3779
3780         Reviewed by Noam Rosenthal.
3781
3782         Page overlay fading will use AC where possible.  Otherwise, it will
3783         fall back to the previous method of redrawing each frame in the animation.
3784
3785         * WebProcess/WebPage/DrawingArea.h:
3786         (WebKit::DrawingArea::setPageOverlayOpacity):
3787         (DrawingArea):
3788         (WebKit::DrawingArea::pageOverlayShouldApplyFadeWhenPainting):
3789         * WebProcess/WebPage/DrawingAreaImpl.cpp:
3790         (WebKit::DrawingAreaImpl::setPageOverlayOpacity):
3791         (WebKit):
3792         (WebKit::DrawingAreaImpl::pageOverlayShouldApplyFadeWhenPainting):
3793         * WebProcess/WebPage/DrawingAreaImpl.h:
3794         (DrawingAreaImpl):
3795         * WebProcess/WebPage/LayerTreeHost.h:
3796         (WebKit::LayerTreeHost::setPageOverlayOpacity):
3797         (WebKit::LayerTreeHost::pageOverlayShouldApplyFadeWhenPainting):
3798         * WebProcess/WebPage/PageOverlay.cpp:
3799         (WebKit::PageOverlay::PageOverlay):
3800         (WebKit::PageOverlay::setPage):
3801         (WebKit::PageOverlay::fadeAnimationTimerFired):
3802         * WebProcess/WebPage/PageOverlay.h:
3803         * WebProcess/WebPage/TapHighlightController.cpp:
3804         (WebKit::TapHighlightController::drawRect):
3805         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
3806         (WebKit::LayerTreeHostQt::setPageOverlayOpacity):
3807         (WebKit):
3808         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
3809         (LayerTreeHostQt):
3810         (WebKit::LayerTreeHostQt::pageOverlayShouldApplyFadeWhenPainting):
3811
3812 2012-04-26  Alexander Færøy  <ahf@0x90.dk>
3813
3814         [Qt] r115300 broke the Qt build on Mac OS X.
3815
3816         This patch adds guards around the createPluginContainer and
3817         windowedPluginGeometryDidChange member functions in WebPageProxy.
3818
3819         Unreviewed build fix.
3820
3821         * UIProcess/qt/WebPageProxyQt.cpp:
3822         (WebKit):
3823
3824 2012-04-26  Carlos Garcia Campos  <cgarcia@igalia.com>
3825
3826         [GTK][WebKit2] Initial windowed plugins implementation
3827         https://bugs.webkit.org/show_bug.cgi?id=61065
3828
3829         Reviewed by Philippe Normand.
3830
3831         * PluginProcess/PluginControllerProxy.cpp:
3832         (WebKit::PluginControllerProxy::createPluginContainer):
3833         (WebKit::PluginControllerProxy::windowedPluginGeometryDidChange):
3834         * PluginProcess/PluginControllerProxy.h:
3835         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
3836         (webkitWebViewBaseContainerAdd): Implement GtkContainer::add().
3837         (webkitWebViewBaseContainerRemove): Implement GtkContainer::remove().
3838         (webkitWebViewBaseContainerForall): Implement GtkContainer::forall().
3839         (webkitWebViewBaseChildMoveResize): Set a new geometry for a child widget.
3840         (webkitWebViewBaseChildAllocate): Allocate a child widget.
3841         (resizeWebKitWebViewBaseFromAllocation): Allocate child widgets.
3842         (webkit_web_view_base_class_init):
3843         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Add webkitWebViewBaseSizeAllocate().
3844         * UIProcess/WebPageProxy.h:
3845         * UIProcess/WebPageProxy.messages.in: Add createPluginContainer
3846         and windowedPluginGeometryDidChange messages.
3847         * UIProcess/gtk/WebPageProxyGtk.cpp:
3848         (WebKit::pluginWindowMap):
3849         (WebKit::pluginContainerPlugRemoved): Remove the socket from the
3850         hash map when its plug is removed.
3851         (WebKit::WebPageProxy::createPluginContainer): Create a GtkSocket
3852         as container widget for windowed plugins.
3853         (WebKit::WebPageProxy::windowedPluginGeometryDidChange): Call
3854         webkitWebViewBaseSizeAllocate() to update the plugin widget
3855         geometry.
3856         * UIProcess/qt/WebPageProxyQt.cpp:
3857         (WebKit::WebPageProxy::createPluginContainer):
3858         (WebKit::WebPageProxy::windowedPluginGeometryDidChange):
3859         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
3860         (WebKit::NetscapePlugin::NetscapePlugin):
3861         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
3862         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
3863         (WebKit::socketPlugRemovedCallback): Return TRUE to avoid the
3864         socket to be destroyed, since we need to reuse it.
3865         (WebKit::NetscapePlugin::platformPostInitializeWindowed): Ask the
3866         ui process to create a plugin container.
3867         (WebKit::NetscapePlugin::platformPostInitializeWindowless):
3868         (WebKit::NetscapePlugin::platformPostInitialize):
3869         (WebKit::NetscapePlugin::platformGeometryDidChange): For windowed
3870         plugins notify the ui process that the plugin geometry has
3871         changed.
3872         (WebKit::NetscapePlugin::platformPaint): Do nothing for windowed
3873         plugins, the caller already calls callSetWindow().
3874         * WebProcess/Plugins/PluginController.h:
3875         * WebProcess/Plugins/PluginProxy.cpp:
3876         (WebKit::PluginProxy::createPluginContainer):
3877         (WebKit::PluginProxy::windowedPluginGeometryDidChange):
3878         * WebProcess/Plugins/PluginProxy.h:
3879         * WebProcess/Plugins/PluginProxy.messages.in:
3880         * WebProcess/Plugins/PluginView.cpp:
3881         (WebKit::PluginView::createPluginContainer):
3882         (WebKit::PluginView::windowedPluginGeometryDidChange):
3883         * WebProcess/Plugins/PluginView.h:
3884
3885 2012-04-26  Chris Fleizach2  <cfleizach@apple.com>
3886
3887         CrashTracer: [USER] 157 crashes in WebProcess at com.apple.WebCore: WebCore::AccessibilityRenderObject::isAttachment const + 29
3888         https://bugs.webkit.org/show_bug.cgi?id=84463
3889
3890         Reviewed by Darin Adler.
3891
3892         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
3893         (WebKit):
3894
3895 2012-04-25  Benjamin Poulain  <benjamin@webkit.org>
3896
3897         Add a version of StringImpl::find() without offset
3898         https://bugs.webkit.org/show_bug.cgi?id=83968
3899
3900         Update the symbols files.
3901
3902         * win/WebKit2.def:
3903         * win/WebKit2CFLite.def:
3904
3905 2012-04-25  Mark Hahnenberg  <mhahnenberg@apple.com>
3906
3907         WebCore shouldn't call collectAllGarbage directly
3908         https://bugs.webkit.org/show_bug.cgi?id=84897
3909
3910         Reviewed by Geoffrey Garen.
3911
3912         * WebProcess/WebProcess.cpp:
3913         (WebKit::WebProcess::didClose): Changed to call garbageCollectSoon. This is the 
3914         function that causes us to do so much collection on page navigation.
3915
3916 2012-04-25  Beth Dakin  <bdakin@apple.com>
3917
3918         https://bugs.webkit.org/show_bug.cgi?id=84909
3919         Background tabs are fuzzy until repaint when deviceScaleFactor > 1
3920         -and corresponding-
3921         <rdar://problem/11312064>
3922
3923         Rubber-stamped by Darin Adler.
3924
3925         Re-order the parameters of paintBitmapContext to match paintImage.
3926         * Platform/cg/CGUtilities.cpp:
3927         (WebKit::paintBitmapContext):
3928         * Platform/cg/CGUtilities.h:
3929         (WebKit):
3930         * UIProcess/mac/BackingStoreMac.mm:
3931         (WebKit::BackingStore::resetScrolledRect):
3932         (WebKit::BackingStore::paint):
3933         (WebKit::BackingStore::backingStoreContext):
3934
3935 2012-04-25  Beth Dakin  <bdakin@apple.com>
3936
3937         https://bugs.webkit.org/show_bug.cgi?id=84909
3938         Background tabs are fuzzy until repaint when deviceScaleFactor > 1
3939         -and corresponding-
3940         <rdar://problem/11312064>
3941
3942         Reviewed by Darin Adler.
3943
3944         BackingStoreMac paints into a Bitmap instead of a CGLayer when there is no 
3945         containing window. That bitmap is used for the initial paint when a background tab 
3946         first comes to he foreground, so it needs to be HiDPI-aware.  
3947
3948         paintBitmapContext() now takes a scale factor that it passes along to paintImage 
3949         rather than hardcoding a scale factor of 1 for paintImage.
3950         * Platform/cg/CGUtilities.cpp:
3951         (WebKit::paintBitmapContext):
3952         * Platform/cg/CGUtilities.h:
3953         (WebKit):
3954
3955         When these functions fall into the bitmap case, they need to adopt the device 
3956         scale factor, which means they need to scale in size by the scale factor, and also 
3957         scale their context. 
3958         * UIProcess/mac/BackingStoreMac.mm:
3959         (WebKit::BackingStore::resetScrolledRect):
3960         (WebKit::BackingStore::paint):
3961         (WebKit::BackingStore::backingStoreContext):
3962
3963 2012-04-25  Enrica Casucci  <enrica@apple.com>
3964
3965         REGRESSION (r110494): Dragging images from Safari to Finder results in .webloc rather than image file
3966         https://bugs.webkit.org/show_bug.cgi?id=84878
3967         <rdar://problem/11155407>
3968         
3969         In WebKit2, it could happen to try to start the drag twice, given the asynchronous nature
3970         of the communication between the UI process and the WebProcess.
3971         We need to guarantee that we don't do that, otherwise on OS X the pasteboard ownership
3972         gets changed which affects the promised file types.
3973         The fix for the problem is in WebCore and we can now remove the guard on _setDragImage.
3974
3975         Reviewed by Alexey Proskuryakov.
3976
3977         * UIProcess/API/mac/WKView.mm:
3978         (-[WKView mouseDown:]):
3979         (-[WKView _setDragImage:at:linkDrag:]):
3980
3981 2012-04-18  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3982
3983         [Qt] Make the web view's url property follow the active url
3984
3985         https://bugs.webkit.org/show_bug.cgi?id=77554
3986
3987         The url property of the webview now reflects the 'active' url of the
3988         page, which maps to either the currently loading url, in the case of
3989         an ongoing load, or the result of a load, even when the load failed.
3990
3991         In practice this means that setting the url though QML, or navigating
3992         to a new url in the page by e.g clicking, will both instantly change
3993         the url-property of the webview to the target url. This differs from
3994         earlier behavior, where we would update the url when the load
3995         committed.
3996
3997         An optional argument is added to loadHtml(), to allow setting
3998         the unreachable url when providing replacement content for failed
3999         loads.
4000
4001         A slight change in the activeUrl() implementation is also done,
4002         where we now favour the url of an pending API request, even when
4003         we don't have a mainframe yet.
4004
4005         Finally, the location bar in the minibrowser is updated to behave
4006         a bit more like normal browsers in terms of when the url will change
4007         and how active focus is handled.
4008
4009         Reviewed by Simon Hausmann.
4010
4011         * UIProcess/API/qt/qquickwebview.cpp:
4012         (QQuickWebViewPrivate::onComponentComplete):
4013         (QQuickWebView::reload):
4014         (QQuickWebView::url):
4015         (QQuickWebView::setUrl):
4016         (QQuickWebView::loadHtml):
4017         * UIProcess/API/qt/qquickwebview_p.h:
4018         * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
4019         * UIProcess/API/qt/tests/qmltests/WebView.pro:
4020         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
4021         * UIProcess/API/qt/tests/qmltests/common/link.html: Added.
4022         * UIProcess/API/qt/tests/qmltests/common/redirect.html: Added.
4023         * UIProcess/WebPageProxy.cpp:
4024         (WebKit::WebPageProxy::activeURL):
4025         * UIProcess/qt/QtWebPageLoadClient.cpp:
4026         (QtWebPageLoadClient::QtWebPageLoadClient):
4027         (QtWebPageLoadClient::didStartProvisionalLoadForFrame):
4028         (QtWebPageLoadClient::didReceiveServerRedirectForProvisionalLoadForFrame):
4029         (QtWebPageLoadClient::didCommitLoadForFrame):
4030         (QtWebPageLoadClient::dispatchLoadFailed):
4031         (QtWebPageLoadClient::didFailProvisionalLoadWithErrorForFrame):
4032         (QtWebPageLoadClient::didFailLoadWithErrorForFrame):
4033         * UIProcess/qt/QtWebPageLoadClient.h:
4034         (QtWebPageLoadClient):
4035
4036 2012-04-25  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
4037
4038         [Qt] Zoom back can overscroll document edges.
4039         https://bugs.webkit.org/show_bug.cgi?id=84851
4040
4041         Reviewed by Kenneth Rohde Christiansen.
4042
4043         * UIProcess/qt/QtViewportInteractionEngine.cpp:
4044         (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
4045
4046 2012-04-18  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
4047
4048         [Qt] Make the web view's url property follow the active url
4049
4050         https://bugs.webkit.org/show_bug.cgi?id=77554
4051
4052         The url property of the webview now reflects the 'active' url of the
4053         page, which maps to either the currently loading url, in the case of
4054         an ongoing load, or the result of a load, even when the load failed.
4055
4056         In practice this means that setting the url though QML, or navigating
4057         to a new url in the page by e.g clicking, will both instantly change
4058         the url-property of the webview to the target url. This differs from
4059         earlier behavior, where we would update the url when the load
4060         committed.
4061
4062         An optional argument is added to loadHtml(), to allow setting
4063         the unreachable url when providing replacement content for failed
4064         loads.
4065
4066         A slight change in the activeUrl() implementation is also done,
4067         where we now favour the url of an pending API request, even when
4068         we don't have a mainframe yet.
4069
4070         Finally, the location bar in the minibrowser is updated to behave
4071         a bit more like normal browsers in terms of when the url will change
4072         and how active focus is handled.
4073
4074         Reviewed by Simon Hausmann.
4075
4076         * UIProcess/API/qt/qquickwebview.cpp:
4077         (QQuickWebViewPrivate::onComponentComplete):
4078         (QQuickWebView::reload):
4079         (QQuickWebView::url):
4080         (QQuickWebView::setUrl):
4081         (QQuickWebView::loadHtml):
4082         * UIProcess/API/qt/qquickwebview_p.h:
4083         * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
4084         * UIProcess/API/qt/tests/qmltests/WebView.pro:
4085         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
4086         * UIProcess/API/qt/tests/qmltests/common/link.html: Added.
4087         * UIProcess/API/qt/tests/qmltests/common/redirect.html: Added.
4088         * UIProcess/WebPageProxy.cpp:
4089         (WebKit::WebPageProxy::activeURL):
4090         * UIProcess/qt/QtWebPageLoadClient.cpp:
4091         (QtWebPageLoadClient::QtWebPageLoadClient):
4092         (QtWebPageLoadClient::didStartProvisionalLoadForFrame):
4093         (QtWebPageLoadClient::didReceiveServerRedirectForProvisionalLoadForFrame):
4094         (QtWebPageLoadClient::didCommitLoadForFrame):
4095         (QtWebPageLoadClient::dispatchLoadFailed):
4096         (QtWebPageLoadClient::didFailProvisionalLoadWithErrorForFrame):
4097         (QtWebPageLoadClient::didFailLoadWithErrorForFrame):
4098         * UIProcess/qt/QtWebPageLoadClient.h:
4099         (QtWebPageLoadClient):
4100
4101 2012-04-24  Enrica Casucci  <enrica@apple.com>
4102
4103         REGRESSION (r109022) Safari not placing service data on pasteboard.
4104         https://bugs.webkit.org/show_bug.cgi?id=84766
4105         <rdar://problem/11085756>
4106         
4107         The support for OS X services requires that the write operations to
4108         the pasteboard occur synchronously. This behavior was changed with r109022.
4109         This change removes the original synchronous call to the WebProcess to perform
4110         the pasteboard write that had become asynchronous after r109022.
4111         It implements instead a synchronous call to retrive the content to be placed
4112         in the pasteboard.
4113
4114         Reviewed by Alexey Proskuryakov.
4115
4116         * UIProcess/API/mac/WKView.mm:
4117         (-[WKView writeSelectionToPasteboard:types:]): Uses new methods.
4118         * UIProcess/WebPageProxy.h:
4119         * UIProcess/mac/WebPageProxyMac.mm: Removed writeSelectionToPasteboard.
4120         (WebKit::WebPageProxy::getStringSelectionForPasteboard): Added.
4121         (WebKit::WebPageProxy::getBufferSelectionForPasteboard): Added.
4122         * WebProcess/WebPage/WebPage.h: Added support for the new messages and
4123         removed old message.
4124         * WebProcess/WebPage/WebPage.messages.in: Ditto.
4125         * WebProcess/WebPage/mac/WebPageMac.mm: Ditto.
4126         (WebKit::WebPage::readSelectionFromPasteboard): Added.
4127         (WebKit::WebPage::getBufferSelectionForPasteboard): Added.
4128
4129 2012-04-24  Brady Eidson  <beidson@apple.com>
4130
4131         Fix Windows build.
4132
4133         * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.h:
4134         (~InjectedBundleDOMWindowExtension): VS doesn't like OVERRIDE on d'tor's
4135
4136 2012-04-24  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
4137
4138         [Qt] Unreviewed build fix after r115083
4139
4140         * WebProcess/qt/QtBuiltinBundlePage.cpp:
4141         (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
4142
4143 2012-04-24  Brady Eidson  <beidson@apple.com>
4144
4145         <rdar://problem/10120155> and https://bugs.webkit.org/show_bug.cgi?id=82664
4146          Need DOMWindow mechanism to supplement UserScripts for page cache notifications
4147
4148         Reviewed by Sam Weinig.
4149         
4150         - Adds a new API object WKBundleDOMWindowExtension
4151         - Exposes callbacks about the lifetime of DOMWindowExtensions through BundlePageLoaderClient
4152
4153         Add new API casts:
4154         * Shared/API/c/WKBase.h:
4155         * Shared/APIClientTraits.cpp:
4156         * Shared/APIObject.h:
4157         * WebProcess/InjectedBundle/API/c/WKBundleAPICast.h:
4158
4159         Add API for the new DOMWindowExtension object:
4160         * WebProcess/InjectedBundle/API/c/WKBundleDOMWindowExtension.cpp: Added.
4161         (WKBundleDOMWindowExtensionGetTypeID):
4162         (WKBundleDOMWindowExtensionCreate):
4163         (WKBundleDOMWindowExtensionGetFrame):
4164         (WKBundleDOMWindowExtensionGetScriptWorld):
4165         * WebProcess/InjectedBundle/API/c/WKBundleDOMWindowExtension.h: Added.
4166
4167         Add implementation for that API which wraps the WebCore::DOMWindowExtension:
4168         * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp: Added.
4169         (WebKit::allExtensions):
4170         (WebKit::InjectedBundleDOMWindowExtension::create):
4171         (WebKit::InjectedBundleDOMWindowExtension::get):
4172         (WebKit::InjectedBundleDOMWindowExtension::InjectedBundleDOMWindowExtension):
4173         (WebKit::InjectedBundleDOMWindowExtension::~InjectedBundleDOMWindowExtension):
4174         (WebKit::InjectedBundleDOMWindowExtension::frame):
4175         (WebKit::InjectedBundleDOMWindowExtension::world):
4176         * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.h: Added.
4177         (InjectedBundleDOMWindowExtension):
4178         (WebKit::InjectedBundleDOMWindowExtension::type):
4179
4180         Add new BundlePageLoaderClient methods:
4181         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
4182         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
4183         (WebKit::InjectedBundlePageLoaderClient::didCreateGlobalObjectForFrame):
4184         (WebKit::InjectedBundlePageLoaderClient::willDisconnectDOMWindowExtensionFromGlobalObject):
4185         (WebKit::InjectedBundlePageLoaderClient::didReconnectDOMWindowExtensionToGlobalObject):
4186         (WebKit::InjectedBundlePageLoaderClient::willDestroyGlobalObjectForDOMWindowExtension):
4187         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
4188         (InjectedBundlePageLoaderClient):
4189
4190         Implement the 4 new callbacks from WebCore which notify the BundlePageLoaderClient:
4191         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
4192         (WebKit::WebFrameLoaderClient::dispatchGlobalObjectAvailable):
4193         (WebKit::WebFrameLoaderClient::dispatchWillDisconnectDOMWindowExtensionFromGlobalObject):
4194         (WebKit::WebFrameLoaderClient::dispatchDidReconnectDOMWindowExtensionToGlobalObject):
4195         (WebKit::WebFrameLoaderClient::dispatchWillDestroyGlobalObjectForDOMWindowExtension):
4196         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
4197
4198         Project Files:
4199         * CMakeLists.txt:
4200         * GNUmakefile.am:
4201         * Target.pri:
4202         * WebKit2.xcodeproj/project.pbxproj:
4203         * win/WebKit2.vcproj:
4204
4205 2012-04-24  Andras Becsi  <andras.becsi@nokia.com>
4206
4207         [Qt][WK2] Implement axis locking on the WebView for pan gestures
4208         https://bugs.webkit.org/show_bug.cgi?id=84350
4209
4210         Reviewed by Kenneth Rohde Christiansen.
4211
4212         If a pan gesture has sufficient velocity along one axis the WebView
4213         should automatically lock the page movement to that axis.
4214         This locking should be maintained until the ongoing pan gesture ends.
4215
4216         This patch implements a simple axis locker which adjusts the positions
4217         sent to the Flickable to the initial reference position according to the
4218         direction an velocity information it gathered from incoming touch events.
4219
4220         The FlickableAxisLocker makes use of the velocity information of the touch point
4221         if available, else an approximate velocity of the incoming event is
4222         calculated.
4223
4224         * UIProcess/API/qt/qquickwebview.cpp:
4225         (QQuickWebViewPrivate::FlickableAxisLocker::FlickableAxisLocker):
4226         (QQuickWebViewPrivate::FlickableAxisLocker::touchVelocity):
4227         (QQuickWebViewPrivate::FlickableAxisLocker::update):
4228         (QQuickWebViewPrivate::FlickableAxisLocker::setReferencePosition):
4229         (QQuickWebViewPrivate::FlickableAxisLocker::reset):
4230         (QQuickWebViewPrivate::FlickableAxisLocker::adjust):
4231         (QQuickWebViewPrivate::QQuickWebViewPrivate):
4232         (QQuickWebView::touchEvent):
4233         (QQuickWebView::handleFlickableMousePress):
4234         (QQuickWebView::handleFlickableMouseMove):
4235         (QQuickWebView::handleFlickableMouseRelease):
4236         * UIProcess/API/qt/qquickwebview_p_p.h:
4237         (QQuickWebViewPrivate):
4238
4239 2012-04-24  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
4240
4241         [Qt] Tap-to zoom should navigate when appropiate
4242         https://bugs.webkit.org/show_bug.cgi?id=84602
4243
4244         Reviewed by Simon Hausmann.
4245
4246         When a zoomable area is returned and has the same zoom-level as the current, 
4247         examine if the using this target would expose currently unexposed parts of
4248         the zoom-target. If it does, pan to that area instead of zooming back.
4249
4250         * UIProcess/qt/QtViewportInteractionEngine.cpp:
4251         (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
4252
4253 2012-04-24  Carlos Garcia Campos  <cgarcia@igalia.com>
4254
4255         [GTK] Add WebKitCookieManager::changed signal to WebKit2 GTK+ API
4256         https://bugs.webkit.org/show_bug.cgi?id=82598
4257
4258         Reviewed by Philippe Normand.
4259
4260         * UIProcess/API/gtk/WebKitCookieManager.cpp:
4261         (webkitCookieManagerFinalize): Stop observing cookie changes.
4262         (webkit_cookie_manager_class_init): Add
4263         WebKitCookieManager::changed signal.
4264         (cookiesDidChange): Emit WebKitCookieManager::changed signal.
4265         (webkitCookieManagerCreate): Implement WKCookieManagerClient and
4266         start observing cookie changes.
4267         * UIProcess/API/gtk/tests/TestCookieManager.cpp:
4268         (testCookieManagerCookiesChanged):
4269         (beforeAll):
4270
4271 2012-04-24  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
4272
4273         [Qt] Restore x-position when restoring previous zoom-level.
4274         https://bugs.webkit.org/show_bug.cgi?id=84591
4275
4276         Reviewed by Simon Hausmann.
4277
4278         Tap-to-zoom fits content to width, therefore it is essentional that
4279         the content is refitted to width when zooming out.
4280
4281         This patch pairs horizontal position and scale on the zoom-out stack.
4282
4283         Additionally it fixes a problem with not detecting zoom-out properly
4284         due to floating point errors.
4285
4286         * UIProcess/qt/QtViewportInteractionEngine.cpp:
4287         (WebKit::fuzzyCompare):
4288         (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
4289         * UIProcess/qt/QtViewportInteractionEngine.h:
4290         (WebKit::QtViewportInteractionEngine::ScaleStackItem::ScaleStackItem):
4291         (QtViewportInteractionEngine):
4292
4293 2012-04-24  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
4294
4295         [Qt] Incomplete interaction-engine reset.
4296         https://bugs.webkit.org/show_bug.cgi?id=84594
4297
4298         Reviewed by Simon Hausmann.
4299
4300         Reset a few values forgotten in the reset function.
4301
4302         * UIProcess/qt/QtViewportInteractionEngine.cpp:
4303         (WebKit::QtViewportInteractionEngine::reset):
4304
4305 2012-04-23  Andreas Kling  <kling@webkit.org>
4306
4307         [Mac] WebProcess should empty cache on a background thread/block.
4308         <http://webkit.org/b/84619>
4309         <rdar://problem/10668689>
4310
4311         Reviewed by Anders Carlsson.
4312
4313         Move the removeAllCachedResponses call to a dispatch queue and wait for it on exit.
4314
4315         * WebProcess/WebProcess.cpp:
4316         (WebKit::WebProcess::WebProcess):
4317         * WebProcess/WebProcess.h:
4318         (WebProcess):
4319         * WebProcess/mac/WebProcessMac.mm:
4320         (WebKit::WebProcess::platformClearResourceCaches):
4321         (WebKit::WebProcess::platformTerminate):
4322
4323 2012-04-23  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
4324
4325         [Qt][WK2] Convert touch-point area.
4326         https://bugs.webkit.org/show_bug.cgi?id=84434
4327
4328         Reviewed by Kenneth Rohde Christiansen.
4329
4330         Missed WebKit2 conversion in commit r106470.
4331
4332         * Shared/qt/WebEventFactoryQt.cpp:
4333         (WebKit::WebEventFactory::createWebTouchEvent):
4334
4335 2012-04-23  Balazs Kelemen  <kbalazs@webkit.org>
4336
4337         [Qt] Add desktop zooming support for QQuickWebView
4338         https://bugs.webkit.org/show_bug.cgi?id=82337
4339
4340         Reviewed by Simon Hausmann.
4341
4342         Add private C++ API for programmatic zooming.
4343         This is important on desktop where we don't
4344         have any way to zoom currently.
4345
4346         * UIProcess/API/qt/qquickwebview.cpp:
4347         (QQuickWebViewLegacyPrivate::zoomFactor):
4348         (QQuickWebViewLegacyPrivate::setZoomFactor):
4349         (QQuickWebView::zoomFactor):
4350         (QQuickWebView::setZoomFactor):
4351         * UIProcess/API/qt/qquickwebview_p.h:
4352         * UIProcess/API/qt/qquickwebview_p_p.h:
4353         (QQuickWebViewPrivate::zoomFactor):
4354         (QQuickWebViewPrivate::setZoomFactor):
4355         (QQuickWebViewPrivate):
4356         (QQuickWebViewLegacyPrivate):
4357
4358 2012-04-23  Zalan Bujtas  <zbujtas@gmail.com>
4359
4360         [Qt][WK2] Move non-api classes to WebKit namespace at WebKit2/UiProcess/qt
4361         https://bugs.webkit.org/show_bug.cgi?id=84528
4362
4363         Reviewed by Simon Hausmann.
4364
4365         Fix namespace usage in non-api classes for Qt.
4366
4367         * UIProcess/API/qt/qquickwebpage.cpp:
4368         * UIProcess/API/qt/qquickwebpage_p.h:
4369         (WebKit):
4370         * UIProcess/API/qt/qquickwebpage_p_p.h:
4371         (WebKit):
4372         (QQuickWebPagePrivate):
4373         * UIProcess/API/qt/qquickwebview.cpp:
4374         * UIProcess/API/qt/qquickwebview_p.h:
4375         (WebKit):
4376         * UIProcess/API/qt/qquickwebview_p_p.h:
4377         (WebKit):
4378         (QQuickWebViewPrivate::viewportInteractionEngine):
4379         (QQuickWebViewPrivate):
4380         (QQuickWebViewFlickablePrivate::viewportInteractionEngine):
4381         (QQuickWebViewFlickablePrivate):
4382         * UIProcess/API/qt/qwebdownloaditem_p.h:
4383         (WebKit):
4384         * UIProcess/API/qt/qwebviewportinfo.cpp:
4385         * UIProcess/qt/LayerBackingStore.cpp:
4386         * UIProcess/qt/LayerBackingStore.h:
4387         (WebKit):
4388         * UIProcess/qt/QtDialogRunner.cpp:
4389         (WebKit):
4390         * UIProcess/qt/QtDialogRunner.h:
4391         (WebKit):
4392         * UIProcess/qt/QtDownloadManager.cpp:
4393         * UIProcess/qt/QtDownloadManager.h:
4394         (WebKit):
4395         * UIProcess/qt/QtGestureRecognizer.cpp:
4396         * UIProcess/qt/QtGestureRecognizer.h:
4397         (WebKit):
4398         * UIProcess/qt/QtPageClient.cpp:
4399         (WebKit):
4400         * UIProcess/qt/QtPageClient.h:
4401         (WebKit):
4402         (QtPageClient):
4403         * UIProcess/qt/QtPanGestureRecognizer.cpp:
4404         * UIProcess/qt/QtPanGestureRecognizer.h:
4405         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
4406         * UIProcess/qt/QtPinchGestureRecognizer.h:
4407         * UIProcess/qt/QtTapGestureRecognizer.h:
4408         (WebKit):
4409         * UIProcess/qt/QtViewportInteractionEngine.cpp:
4410         * UIProcess/qt/QtViewportInteractionEngine.h:
4411         * UIProcess/qt/QtWebContext.cpp:
4412         * UIProcess/qt/QtWebContext.h:
4413         * UIProcess/qt/QtWebError.cpp:
4414         (WebKit):
4415         * UIProcess/qt/QtWebError.h:
4416         (WebKit):
4417         * UIProcess/qt/QtWebIconDatabaseClient.cpp:
4418         (WebKit):
4419         * UIProcess/qt/QtWebIconDatabaseClient.h:
4420         (WTF):
4421         (WebKit):
4422         (QtWebIconDatabaseClient):
4423         * UIProcess/qt/QtWebPageEventHandler.cpp:
4424         (WebKit):
4425         * UIProcess/qt/QtWebPageEventHandler.h:
4426         (WebCore):
4427         (WebKit):
4428         * UIProcess/qt/QtWebPageLoadClient.cpp:
4429         (WebKit):
4430         * UIProcess/qt/QtWebPageLoadClient.h:
4431         (WebKit):
4432         * UIProcess/qt/QtWebPagePolicyClient.cpp:
4433         (WebKit):
4434         * UIProcess/qt/QtWebPagePolicyClient.h:
4435         (WebKit):
4436         * UIProcess/qt/QtWebPageSGNode.cpp:
4437         * UIProcess/qt/QtWebPageSGNode.h:
4438         (WebKit):
4439         * UIProcess/qt/QtWebPageUIClient.cpp:
4440         * UIProcess/qt/QtWebPageUIClient.h:
4441         (WebKit):
4442         * UIProcess/qt/QtWebUndoController.cpp:
4443         (WebKit):
4444         * UIProcess/qt/QtWebUndoController.h:
4445         (WebKit):
4446         * UIProcess/qt/WebContextMenuProxyQt.cpp:
4447         * UIProcess/qt/WebContextQt.cpp:
4448         * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
4449         * UIProcess/qt/WebGeolocationProviderQt.cpp:
4450         (WebKit):
4451         * UIProcess/qt/WebGeolocationProviderQt.h:
4452         (WebKit):
4453         * UIProcess/qt/WebPopupMenuProxyQt.cpp:
4454         (WebKit):
4455         * UIProcess/qt/WebPopupMenuProxyQt.h:
4456
4457 2012-04-23  Kent Tamura  <tkent@chromium.org>
4458
4459         Add test function to get placeholder string
4460         https://bugs.webkit.org/show_bug.cgi?id=84536
4461
4462         Reviewed by Ryosuke Niwa.
4463
4464         * win/WebKit2.def: Expose HTMLNames::inputTag,
4465         HTMLTextFormControlElement::placeholderShouldBeVisible(), and
4466         Node::textContent.
4467         * win/WebKit2CFLite.def: ditto.
4468
4469 2012-04-22  Sriram Neelakandan  <sriram.neelakandan@gmail.com>
4470
4471         [Gtk] Added MOZ_X11 build flag for TARGET_X11
4472         [Qt]  Added MOZ_X11 build flag for !embedded
4473         https://bugs.webkit.org/show_bug.cgi?id=40785
4474
4475         Reviewed by Anders Carlsson.
4476
4477         * GNUmakefile.am:
4478         * Target.pri:
4479
4480 2012-04-22  Jon Lee  <jonlee@apple.com>
4481
4482         Remove notifications support on Mac Lion.
4483         https://bugs.webkit.org/show_bug.cgi?id=84554
4484         <rdar://problem/11297128>
4485
4486         Reviewed by Sam Weinig.
4487
4488         * Configurations/FeatureDefines.xcconfig:
4489
4490 2012-04-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
4491
4492         [Qt] Multi-level tap-to-zoom.
4493         https://bugs.webkit.org/show_bug.cgi?id=84456
4494
4495         Reviewed by Kenneth Rohde Christiansen.
4496         
4497         Replace tap-to-zoomed flag with a stack of progressively higher zoom levels, 
4498         and zoom out to last zoom-level when attempting to zoom to current level.
4499         
4500         Additionally detect a series of tap-to-zoom gestures on the same level and 
4501         continue to zoom out.
4502
4503         * UIProcess/qt/QtViewportInteractionEngine.cpp:
4504         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
4505         (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
4506         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
4507         * UIProcess/qt/QtViewportInteractionEngine.h:
4508         (QtViewportInteractionEngine):
4509
4510 2012-04-20  Jon Lee  <jonlee@apple.com>
4511
4512         Add Notification constructor
4513         https://bugs.webkit.org/show_bug.cgi?id=80477
4514         <rdar://problem/10912431>
4515
4516         Reviewed by Jian Li.
4517
4518         * WebProcess/Notifications/WebNotificationManager.cpp:
4519         (WebKit::WebNotificationManager::show): If the notification doesn't get shown,
4520         we should return false, since it will not go through a setPendingActivity cycle.
4521         (WebKit::WebNotificationManager::clearNotifications): When clearing notifications,
4522         finalize them so that they can be cleaned up by the GC.
4523
4524 2012-04-20  Timothy Hatcher  <timothy@apple.com>
4525
4526         Make the Web Inspector be the first responder when opening docked.
4527
4528         <rdar://problem/11294217>
4529
4530         Reviewed by Brian Weinstein.
4531
4532         * UIProcess/mac/WebInspectorProxyMac.mm:
4533         (WebKit::WebInspectorProxy::platformAttach): Call makeFirstResponder: on
4534         the window and pass the Inspector's WKView.
4535
4536 2012-04-06  Jer Noble  <jer.noble@apple.com>
4537
4538         apple.com top navigation bar appears inside video during full screen exit animation
4539         https://bugs.webkit.org/show_bug.cgi?id=83095
4540
4541         Reviewed by Eric Carlson.
4542
4543         Add new WebCore symbols needed by DumpRenderTree to exported symbol list.
4544
4545         * win/WebKit2.def:
4546         * win/WebKit2CFLite.def:
4547
4548 2012-04-19  Carlos Garcia Campos  <cgarcia@igalia.com>
4549
4550         [GTK] Ignore resources while replacing content in WebKit2 GTK+ API
4551         https://bugs.webkit.org/show_bug.cgi?id=79777
4552
4553         Reviewed by Philippe Normand.
4554
4555         * UIProcess/API/gtk/WebKitResourceLoadClient.cpp:
4556         (didSendRequestForResource): Return early if resources is Null.
4557         (didReceiveResponseForResource): Ditto.
4558         (didReceiveContentLengthForResource): Ditto.
4559         (didFinishLoadForResource): Ditto.
4560         (didFailLoadForResource): Ditto.
4561         * UIProcess/API/gtk/WebKitWebView.cpp:
4562         (webkitWebViewLoadChanged): Clear resources before checking
4563         whether we are replacing content.
4564         (webkitWebViewIsReplacingContentOrDidReplaceContent): Helper
4565         function to check whether view is replacing content or current
4566         content is replaced.
4567         (webkitWebViewResourceLoadStarted): Do not create resources when
4568         replacing content.
4569         (webkitWebViewGetLoadingWebResource): Ignore when replacing
4570         content. Also add an assert when getting a loading resources to
4571         make sure we only return Null when replacing content.
4572         (webkitWebViewRemoveLoadingWebResource): Ditto.
4573         (webkitWebViewResourceLoadFinished): Ditto.
4574         * UIProcess/API/gtk/tests/TestResources.cpp:
4575         (replacedContentResourceLoadStartedCallback):
4576         (testWebViewResourcesReplacedContent):
4577         (beforeAll):
4578
4579 2012-04-19  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
4580
4581         [Qt] ASSERT(m_thread == currentThread()) on Mac when threaded rendering is enabled for the Qt scenegraph
4582         https://bugs.webkit.org/show_bug.cgi?id=84278
4583
4584         Reviewed by Noam Rosenthal.
4585
4586         Delete the whole layer tree on UI side when paint node is deleted and force resync of the layers when
4587         page becomes visible again.
4588
4589         * UIProcess/LayerTreeHostProxy.cpp:
4590         (WebKit::LayerTreeHostProxy::purgeBackingStores):
4591         * UIProcess/WebLayerTreeRenderer.cpp:
4592         (WebKit::WebLayerTreeRenderer::WebLayerTreeRenderer):
4593         (WebKit::WebLayerTreeRenderer::purgeGLResources):
4594         (WebKit::WebLayerTreeRenderer::appendUpdate):
4595         (WebKit::WebLayerTreeRenderer::setActive):
4596         (WebKit):
4597         * UIProcess/WebLayerTreeRenderer.h:
4598         (WebLayerTreeRenderer):
4599         * UIProcess/qt/QtWebPageSGNode.cpp:
4600         (WebKit::ContentsSGNode::ContentsSGNode):
4601         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
4602         (WebCore::WebGraphicsLayer::purgeBackingStores):
4603
4604 2012-04-19  Vivek Galatage  <vivekgalatage@gmail.com>
4605
4606         DevTools: assertion failure upon devtools window reopen.
4607         https://bugs.webkit.org/show_bug.cgi?id=53493
4608
4609         Reviewed by Pavel Feldman.
4610
4611         The pointers pointed to by WebInspector must be reset explicitly
4612         in WebInspector::didClose() method
4613
4614         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
4615         (WebKit::WebInspectorClient::closeInspectorFrontend):
4616         * WebProcess/WebPage/WebInspector.cpp:
4617         (WebKit::WebInspector::didClose):
4618
4619 2012-04-19  Zalan Bujtas  <zbujtas@gmail.com>
4620
4621         [Qt][WK2] Zoom out on the second double click does not always scale right.
4622         https://bugs.webkit.org/show_bug.cgi?id=84332
4623
4624         Reviewed by Simon Hausmann.
4625
4626         Zoom out to the minimum scale value instead of the fixed 1.
4627
4628         * UIProcess/qt/QtViewportInteractionEngine.cpp:
4629         (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
4630
4631 2012-04-18  Jer Noble  <jer.noble@apple.com>
4632
4633         Full Screen mode does not preserve CALayer ordering after exiting.
4634         https://bugs.webkit.org/show_bug.cgi?id=83931
4635
4636         Reviewed by Eric Carlson.
4637
4638         When swapping the placeholder and web views, use -[NSView addSubview:positioned:relativeTo:]
4639         instead of -[NSView replaceSubview:with:], as the latter does not preserve the relative order
4640         of the view's backing CALayers.
4641
4642         * UIProcess/mac/WKFullScreenWindowController.mm:
4643         (-[WKFullScreenWindowController _swapView:with:]):
4644
4645 2012-04-18  Alexey Proskuryakov  <ap@apple.com>
4646
4647         [WK2] Sandbox violations prevent attaching files to gmail messages
4648         https://bugs.webkit.org/show_bug.cgi?id=84263
4649         <rdar://problem/11248260>
4650
4651         Reviewed by Oliver Hunt.
4652
4653         * WebProcess/WebCoreSupport/WebDragClient.cpp: (WebKit::WebDragClient::willPerformDragDestinationAction):
4654         Prepare to the possibility that file data will be read. This needs to happen on every drop
4655         with files, not just after event dispatch.
4656
4657         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::mayPerformUploadDragDestinationAction):
4658         * WebProcess/WebPage/WebPage.h:
4659         Renamed performUploadDragDestinationAction to mayPerformUploadDragDestinationAction. We don't
4660         know if an upload will actually happen, it's up to JavaScript code to decide.
4661
4662 2012-04-18  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
4663
4664         Clean-up WheelEvent Conversion.
4665         https://bugs.webkit.org/show_bug.cgi?id=84243
4666
4667         Reviewed by Simon Hausmann.
4668
4669         * Shared/qt/WebEventFactoryQt.cpp:
4670         (WebKit::WebEventFactory::createWebWheelEvent):
4671         * UIProcess/qt/QtViewportInteractionEngine.cpp:
4672         (WebKit::QtViewportInteractionEngine::wheelEvent):
4673
4674 2012-04-18  Zalan Bujtas  <zbujtas@gmail.com>
4675
4676         [Qt][WK2] Minibrowser asserts on startup at QtViewportInteractionEngine::ensureContentWithinViewportBoundary()
4677         https://bugs.webkit.org/show_bug.cgi?id=84172
4678
4679         Reviewed by Simon Hausmann.
4680
4681         After the viewport computing refactor, ensureContentWithinViewportBoundary() can be called
4682         with resumed page. QtViewportInteractionEngine::ensureContentWithinViewportBoundary()
4683         functionality does not necessarily require the page to be suspended. It's the caller's context
4684         that determines whether the page needs to be suspended, so it's the caller's responsibility
4685         to enforce the ASSERT().
4686         Remove the invalid ASSERT on m_suspendCount at QtViewportInteractionEngine::ensureContentWithinViewportBoundary()
4687
4688         * UIProcess/qt/QtViewportInteractionEngine.cpp:
4689         (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
4690
4691 2012-04-17  Alexey Proskuryakov  <ap@apple.com>
4692
4693         [Mac] USPS Shipping label prints without barcode
4694         https://bugs.webkit.org/show_bug.cgi?id=84099
4695         <rdar://problem/11133877>
4696
4697         Reviewed by Sam Weinig.
4698
4699         Use PDFDocuemnt instead of CGPDFDocument when printing PDFs, because PDFKit knows
4700         how to draw PDF buttons, and CG does not.
4701
4702         * Shared/mac/PDFKitImports.h: Added.
4703         * Shared/mac/PDFKitImports.mm: Added.
4704         * UIProcess/API/mac/WKPrintingView.mm:
4705         Moved code for dealing with dynamically loaded PDFKit from WKPrintingView, as we
4706         now also need it elsewhere.
4707
4708         * WebKit2.xcodeproj/project.pbxproj: Added
4709         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: Rebamed to .mm.
4710
4711         * WebProcess/Plugins/PDF/BuiltInPDFView.h: Changed m_pdfDocument to PDFDocument.
4712
4713         * WebProcess/Plugins/PDF/BuiltInPDFView.mm: Copied from Source/WebKit2/WebProcess/Plugins/PDF/BuiltInPDFView.cpp.
4714         (WebKit::BuiltInPDFView::pdfDocumentDidLoad):
4715         (WebKit::BuiltInPDFView::calculateSizes):
4716         (WebKit::BuiltInPDFView::paintContent):
4717         Changed m_pdfDocument to PDFDocument, and updated for the changes. We still use
4718         CGPDF when drawing to screen though, because that doesn't affect USPS.
4719
4720         * WebProcess/Plugins/Plugin.h: (WebKit::Plugin::pdfDocumentForPrinting): Updated
4721         the type, and changed ifsed from CG to MAC, as we're now fully dependent on Cocoa.
4722
4723         * WebProcess/Plugins/PluginView.h: (WebKit::PluginView::pdfDocumentForPrinting):
4724         Ditto.
4725
4726         * WebProcess/WebPage/WebPage.cpp:
4727         (WebKit::WebPage::pdfDocumentForPrintingFrame):
4728         (WebKit::WebPage::beginPrinting):
4729         (WebKit::WebPage::computePagesForPrinting):
4730         (WebKit::WebPage::drawRectToPDF):
4731         (WebKit::WebPage::drawPagesToPDF):
4732         * WebProcess/WebPage/WebPage.h:
4733         Moved PDF document printing code to WebPageMac.mm, as it's now Objective C.
4734
4735         * WebProcess/WebPage/mac/WebPageMac.mm:
4736         (WebKit::WebPage::computePagesForPrintingPDFDocument):
4737         (WebKit::roundCGFloat):
4738         (WebKit::drawPDFPage): While moving, also fixed a logic error in calculating the box
4739         (it used to intersect with an empty box).
4740         (WebKit::WebPage::drawRectToPDFFromPDFDocument):
4741         (WebKit::WebPage::drawPagesToPDFFromPDFDocument):
4742
4743 2012-04-17  Anders Carlsson  <andersca@apple.com>
4744
4745         Need a client callback for when the user tires to interact with an already unresponsive page
4746         https://bugs.webkit.org/show_bug.cgi?id=84201
4747         <rdar://problem/11140862>
4748
4749         Reviewed by Andreas Kling.
4750
4751         Add a interactionOccurredWhileProcessUnresponsive callback that's called when the unresponsiveness timer
4752         fires while it's already unresponsive.
4753
4754         * UIProcess/API/C/WKPage.h:
4755         * UIProcess/ResponsivenessTimer.cpp:
4756         (WebKit):
4757         (WebKit::ResponsivenessTimer::timerFired):
4758         (WebKit::ResponsivenessTimer::start):
4759         * UIProcess/ResponsivenessTimer.h:
4760         (Client):
4761         * UIProcess/WebLoaderClient.cpp:
4762         (WebKit::WebLoaderClient::processDidBecomeUnresponsive):
4763         (WebKit):
4764         (WebKit::WebLoaderClient::interactionOccurredWhileProcessUnresponsive):
4765         * UIProcess/WebLoaderClient.h:
4766         (WebLoaderClient):
4767         * UIProcess/WebPageProxy.cpp:
4768         (WebKit::WebPageProxy::interactionOccurredWhileProcessUnresponsive):
4769         (WebKit):
4770         * UIProcess/WebPageProxy.h:
4771         (WebPageProxy):
4772         * UIProcess/WebProcessProxy.cpp:
4773         (WebKit::WebProcessProxy::interactionOccurredWhileUnresponsive):
4774         (WebKit):
4775         * UIProcess/WebProcessProxy.h:
4776         (WebProcessProxy):
4777
4778 2012-04-17  Anders Carlsson  <andersca@apple.com>
4779
4780         Make sure that the layer hosting mode is kept up to date if it changes before the plug-in is initialized
4781         https://bugs.webkit.org/show_bug.cgi?id=84180
4782         <rdar://problem/11265113>
4783
4784         Reviewed by Andreas Kling.
4785
4786         * WebProcess/Plugins/PluginView.cpp:
4787         (WebKit::PluginView::setLayerHostingMode):
4788
4789 2012-04-17  Jer Noble  <jer.noble@apple.com>
4790
4791         Exiting full screen video brings the wrong Safari window to the foreground
4792         https://bugs.webkit.org/show_bug.cgi?id=83936
4793
4794         Reviewed by Adele Peterson.
4795
4796         Tell the original webView's window to makeKeyAndOrderFront once the exit
4797         animation completes.
4798
4799         * UIProcess/mac/WKFullScreenWindowController.mm:
4800         (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
4801
4802 2012-04-17  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
4803
4804         [EFL][WK2] Fix build break when FULLSCREEN_API is enabled.
4805         https://bugs.webkit.org/show_bug.cgi?id=84142
4806
4807         Reviewed by Martin Robinson.
4808
4809         Create a cpp file needed to build EFL port with FULLSCREEN_API.
4810
4811         * PlatformEfl.cmake: Added WebFullScreenManagerProxyEfl.cpp to build list.
4812         * UIProcess/WebFullScreenManagerProxy.h:
4813         (WebKit):
4814         * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp: Added.
4815         (WebKit):
4816         (WebKit::WebFullScreenManagerProxy::invalidate):
4817         (WebKit::WebFullScreenManagerProxy::close):
4818         (WebKit::WebFullScreenManagerProxy::isFullScreen):
4819         (WebKit::WebFullScreenManagerProxy::enterFullScreen):
4820         (WebKit::WebFullScreenManagerProxy::exitFullScreen):
4821         (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
4822         (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
4823
4824 2012-04-17  Andras Becsi  <andras.becsi@nokia.com>
4825
4826         [Qt][WK2] Refactor the gesture recognizers
4827         https://bugs.webkit.org/show_bug.cgi?id=83044
4828
4829         Reviewed by Kenneth Rohde Christiansen and Simon Hausmann.
4830
4831         This patch implements a simple decision tree in the web page event handler
4832         on the basis of how many active touch points the current touch event has.
4833
4834         Active touch points are pressed, moved or stationary and the number of these
4835         fully determine which gesture recognizer should be updated, cancelled or
4836         finished.
4837
4838         This new structure makes the internal states of the pinch and pan gesture
4839         recognizers independent from the event type, thus makes it possible to handle
4840         the transitions between these gestures in one centralized place which reduces
4841         code duplication and complexity and fixes some issues regarding incorrectly
4842         handled transitions.
4843
4844         * UIProcess/qt/QtPanGestureRecognizer.cpp:
4845         (WebKit::QtPanGestureRecognizer::update):
4846         (WebKit::QtPanGestureRecognizer::finish):
4847         (WebKit):
4848         (WebKit::QtPanGestureRecognizer::cancel):
4849         * UIProcess/qt/QtPanGestureRecognizer.h:
4850         (QtPanGestureRecognizer):
4851         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
4852         (WebKit):
4853         (WebKit::QtPinchGestureRecognizer::update):
4854         (WebKit::QtPinchGestureRecognizer::finish):
4855         * UIProcess/qt/QtPinchGestureRecognizer.h:
4856         (QtPinchGestureRecognizer):
4857         * UIProcess/qt/QtTapGestureRecognizer.cpp:
4858         (WebKit::QtTapGestureRecognizer::withinDistance):
4859         (WebKit::QtTapGestureRecognizer::update):
4860         (WebKit::QtTapGestureRecognizer::cancel):
4861         (WebKit):
4862         (WebKit::QtTapGestureRecognizer::singleTapTimeout):
4863         (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
4864         (WebKit::QtTapGestureRecognizer::reset):
4865         * UIProcess/qt/QtTapGestureRecognizer.h:
4866         (QtTapGestureRecognizer):
4867         * UIProcess/qt/QtViewportInteractionEngine.cpp:
4868         (WebKit):
4869         * UIProcess/qt/QtViewportInteractionEngine.h:
4870         (QtViewportInteractionEngine):
4871         * UIProcess/qt/QtWebPageEventHandler.cpp:
4872         (QtWebPageEventHandler::resetGestureRecognizers):
4873         (QtWebPageEventHandler::doneWithTouchEvent):
4874
4875 2012-04-17  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
4876
4877         REGRESSION(r113172) Wheel events are scrolling inversed.
4878         https://bugs.webkit.org/show_bug.cgi?id=84156
4879
4880         Reviewed by Simon Hausmann.
4881
4882         * UIProcess/qt/QtViewportInteractionEngine.cpp:
4883         (WebKit::QtViewportInteractionEngine::wheelEvent):
4884
4885 2012-04-17  Balazs Kelemen  <kbalazs@webkit.org>
4886
4887         [Qt] Unreviewed ARM build fix
4888
4889         * PluginProcess/qt/PluginProcessMainQt.cpp:
4890         (WebKit::PluginProcessMain): Export this function.
4891
4892 2012-04-17  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
4893
4894         [Qt] Zoom out on second double-tap.
4895         https://bugs.webkit.org/show_bug.cgi?id=84145
4896
4897         Reviewed by Simon Hausmann.
4898
4899         * UIProcess/qt/QtViewportInteractionEngine.cpp:
4900         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
4901         (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
4902         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
4903         * UIProcess/qt/QtViewportInteractionEngine.h:
4904         (QtViewportInteractionEngine):
4905
4906 2012-04-17  Mariusz Grzegorczyk  <mariusz.g@samsung.com>
4907
4908         [EFL][WK2] Fix build break when CONTEXT_MENUS is disabled.
4909         https://bugs.webkit.org/show_bug.cgi?id=83285
4910
4911         Reviewed by Ryosuke Niwa.
4912
4913         Surround code related to context menu with ENABLE(CONTEXT_MENUS) macro.
4914         Add dummy functions for public API implementation related to context menu.
4915
4916         * Shared/API/c/WKContextMenuItem.cpp:
4917         (WKContextMenuItemGetTypeID):
4918         (WKContextMenuItemCreateAsAction):
4919         (WKContextMenuItemCreateAsCheckableAction):
4920         (WKContextMenuItemCreateAsSubmenu):
4921         (WKContextMenuItemSeparatorItem):
4922         (WKContextMenuItemGetTag):
4923         (WKContextMenuItemGetType):
4924         (WKContextMenuItemCopyTitle):
4925         (WKContextMenuItemGetEnabled):
4926         (WKContextMenuItemGetChecked):
4927         (WKContextMenuCopySubmenuItems):
4928         (WKContextMenuItemGetUserData):
4929         (WKContextMenuItemSetUserData):
4930         * Shared/WebContextMenuItem.cpp:
4931         * Shared/WebContextMenuItem.h:
4932         * Shared/WebContextMenuItemData.cpp:
4933         * Shared/WebContextMenuItemData.h:
4934         * UIProcess/API/C/WKPage.cpp:
4935         (WKPageSetPageContextMenuClient):
4936         * UIProcess/WebPageContextMenuClient.cpp:
4937         * UIProcess/WebPageContextMenuClient.h:
4938         * UIProcess/WebPageProxy.cpp:
4939         (WebKit):
4940         * UIProcess/WebPageProxy.h:
4941         (WebPageProxy):
4942         * UIProcess/WebPageProxy.messages.in:
4943         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
4944         (WKBundlePageSetContextMenuClient):
4945         * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp:
4946         * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
4947         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
4948         * WebProcess/WebCoreSupport/WebContextMenuClient.h:
4949         * WebProcess/WebCoreSupport/efl/WebContextMenuClientEfl.cpp:
4950         * WebProcess/WebPage/WebContextMenu.cpp:
4951         * WebProcess/WebPage/WebContextMenu.h:
4952         * WebProcess/WebPage/WebPage.cpp:
4953         (WebKit::WebPage::WebPage):
4954         (WebKit):
4955         (WebKit::handleMouseEvent):
4956         (WebKit::WebPage::mouseEvent):
4957         * WebProcess/WebPage/WebPage.h:
4958         (WebPage):
4959         * WebProcess/WebPage/WebPage.messages.in:
4960
4961 2012-04-16  Ryuan Choi  <ryuan.choi@samsung.com>
4962
4963         [EFL][WK2] Add missing files to build webkit2/Efl.
4964         https://bugs.webkit.org/show_bug.cgi?id=76139
4965
4966         Reviewed by Ryosuke Niwa.
4967
4968         Add missing files needed to build webkit2/Efl.
4969
4970         * Shared/efl/PlatformCertificateInfo.h: Added.
4971         (WebKit):
4972         (PlatformCertificateInfo):
4973         (WebKit::PlatformCertificateInfo::PlatformCertificateInfo):
4974         (WebKit::PlatformCertificateInfo::encode):
4975         (WebKit::PlatformCertificateInfo::decode):
4976         * UIProcess/Launcher/efl/ThreadLauncherEfl.cpp: Added.
4977         (WebKit):
4978         (WebKit::ThreadLauncher::createWebThread):
4979
4980 2012-04-16  Brady Eidson  <beidson@apple.com>
4981
4982         Followup to http://trac.webkit.org/changeset/114323
4983
4984         For more correctness, actually include an autorelease pool instead of cleverly trying to avoid its use.
4985
4986         Reviewed by Mark Rowe.
4987
4988         * PluginProcess/mac/PluginProcessMainMac.mm:
4989         (WebKit::PluginProcessMain): 
4990
4991 2012-04-16  Brady Eidson  <beidson@apple.com>
4992
4993         <rdar://problem/11238965> Leak in Plugin Process when launched 32-bit
4994
4995         Reviewed by Jessie Berlin.
4996
4997         * PluginProcess/mac/PluginProcessMainMac.mm:
4998         (WebKit::PluginProcessMain): alloc/init an NSDictionary then release it, instead of leaking an autoreleased one.
4999
5000 2012-04-16  Anders Carlsson  <andersca@apple.com>
5001
5002         Nightly Back/Forward no longer calls plug-in's NPP_NewStream
5003         https://bugs.webkit.org/show_bug.cgi?id=83805
5004         <rdar://problem/11238748>
5005
5006         Reviewed by Simon Fraser.
5007
5008         When a page with a full-frame plug-in is restored from the page cache, it needs to re-fetch the plug-in stream.
5009
5010         Fix this by breaking the assumption that a plug-in will always get its data from WebCore if it's a full-frame plug-in;
5011         instead it only get its data from WebCore if it's a full-frame plug-in that's not being restored from the page cache.
5012         
5013         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
5014         (WebKit::NetscapePlugin::NetscapePlugin):
5015         Rename m_loadManually to m_shouldUseManualLoader.
5016
5017         (WebKit::NetscapePlugin::initialize):
5018         Get the mode from parameters.isFullFramePlugin instead.
5019
5020         (WebKit::NetscapePlugin::manualStreamDidReceiveResponse):
5021         (WebKit::NetscapePlugin::manualStreamDidReceiveData):
5022         (WebKit::NetscapePlugin::manualStreamDidFinishLoading):
5023         (WebKit::NetscapePlugin::manualStreamDidFail):
5024         Rename m_loadManually to m_shouldUseManualLoader.
5025
5026         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
5027         Rename m_loadManually to m_shouldUseManualLoader.
5028
5029         * WebProcess/Plugins/Plugin.cpp:
5030         (WebKit::Plugin::Parameters::encode):
5031         (WebKit::Plugin::Parameters::decode):
5032         * WebProcess/Plugins/Plugin.h:
5033         (Parameters):
5034         Add an extra isFullFramePlugin parameter, and rename loadManually to shouldUseManualLoader.
5035
5036         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
5037         (WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
5038         Initialize m_frameCameFromPageCache.
5039
5040         (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
5041         Set m_frameCameFromPageCache to true.
5042
5043         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
5044         Set m_frameCameFromPageCache to false.
5045
5046         (WebKit::WebFrameLoaderClient::createPlugin):
5047         Initialize isFullFramePlugin and shouldUseManualLoader.
5048
5049 2012-04-16  Alexey Proskuryakov  <ap@apple.com>
5050
5051         EndPrinting message should be sent synchronously when printing was initiated from DOM.
5052         https://bugs.webkit.org/show_bug.cgi?id=84049
5053         <rdar://problem/11096575>
5054
5055         Reviewed by Oliver Hunt.
5056
5057         * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::printFrame): When printing is
5058         initiated by WebProcess, all messages from UI process are sent synchronously to
5059         avoid being queued, and so should EndPrinting.
5060
5061 2012-04-16  Brady Eidson  <beidson@apple.com>
5062
5063         <rdar://problem/11249336> and https://bugs.webkit.org/show_bug.cgi?id=84050
5064         WebKit2 back/forward items in the page cache are never removed when the page is closed
5065
5066         Reviewed by Jessie Berlin and unofficially reviewed by Jon Lee.
5067
5068         Individual WebBackForwardListProxy's had no idea which items are associated with them.
5069         This adds that association and makes sure the proxy removes all associated items from the PageCache when it closes.
5070
5071         * WebProcess/WebPage/WebBackForwardListProxy.cpp:
5072         (WebKit::WebBackForwardListProxy::removeItem): Remove the item from the PageCache in case it was in it.
5073         (WebKit::WebBackForwardListProxy::addItem): Add the item ID to this back/forward list's set of associated IDs.
5074         (WebKit::WebBackForwardListProxy::close): Remove each associated item from the PageCache.
5075         * WebProcess/WebPage/WebBackForwardListProxy.h:
5076
5077 2012-04-16  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
5078
5079          [EFL][WK2] Fix build break in PageClientImpl.cpp.
5080          https://bugs.webkit.org/show_bug.cgi?=id=84034
5081
5082          Reviewed by Kenneth Rohde Christiansen.
5083
5084          Fixes typo in didChangeViewportProperites definition.
5085
5086          * UIProcess/API/efl/PageClientImpl.cpp:
5087          (WebKit::PageClientImpl::didChangeViewportProperties):
5088
5089 2012-04-16  Yael Aharon  <yael.aharon@nokia.com>
5090
5091         [Qt][WK2] Fixed elements position is wrong after zooming.
5092         https://bugs.webkit.org/show_bug.cgi?id=83981
5093
5094         Reviewed by Kenneth Rohde Christiansen.
5095
5096         Turn on the flag setFixedElementsLayoutRelativeToFrame. This causes fixed elements position to be calculated based on
5097         visibleWidth and visibleHeight. When zoom level grows, the visibleWidth and visibleHeight become smaller.
5098
5099         * WebProcess/WebPage/WebPage.cpp:
5100         (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
5101
5102 2012-04-16  Kenneth Rohde Christiansen  <kenneth@webkit.org>
5103
5104         [Qt] Clean up how the interaction engine is making use of ViewportAttributes
5105         https://bugs.webkit.org/show_bug.cgi?id=83895
5106
5107         Reviewed by Simon Hausmann.
5108
5109         Refactor how the interaction engine is using the ViewportAttributes
5110         and get rid of the Contraints subclass.
5111
5112         Push the ViewportAttributes through to the QQuickWebViewPrivate class
5113         and add some default values in the case the Legacy view is used.
5114
5115         * UIProcess/API/qt/qquickwebview.cpp:
5116         (QQuickWebViewLegacyPrivate::QQuickWebViewLegacyPrivate):
5117         (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
5118         * UIProcess/API/qt/qquickwebview_p_p.h:
5119         (QQuickWebViewPrivate):
5120         * UIProcess/API/qt/qwebviewportinfo.cpp:
5121         (QWebViewportInfo::QWebViewportInfo):
5122         (QWebViewportInfo::~QWebViewportInfo):
5123         (QWebViewportInfo::currentScale):
5124         (QWebViewportInfo::devicePixelRatio):
5125         (QWebViewportInfo::initialScale):
5126         (QWebViewportInfo::minimumScale):
5127         (QWebViewportInfo::maximumScale):
5128         (QWebViewportInfo::isScalable):
5129         (QWebViewportInfo::layoutSize):
5130         * UIProcess/qt/QtViewportInteractionEngine.cpp:
5131         (WebKit::QtViewportInteractionEngine::cssScaleFromItem):
5132         (WebKit::QtViewportInteractionEngine::itemScaleFromCSS):
5133         (WebKit::QtViewportInteractionEngine::itemCoordFromCSS):
5134         (WebKit::QtViewportInteractionEngine::innerBoundedCSSScale):
5135         (WebKit::QtViewportInteractionEngine::outerBoundedCSSScale):
5136         (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
5137         (WebKit::QtViewportInteractionEngine::setCSSScaleBounds):
5138         (WebKit::QtViewportInteractionEngine::setCSSScale):
5139         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
5140         (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
5141         (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
5142         * UIProcess/qt/QtViewportInteractionEngine.h:
5143         (QtViewportInteractionEngine):
5144         (WebKit::QtViewportInteractionEngine::hadUserInteraction):
5145         (WebKit::QtViewportInteractionEngine::setAllowsUserScaling):
5146         (WebKit::QtViewportInteractionEngine::setContentToDevicePixelRatio):
5147
5148 2012-04-15  Carlos Garcia Campos  <cgarcia@igalia.com>
5149
5150         [GTK] Use GRefPtr to delete the default web context in WebKit2 GTK+
5151         https://bugs.webkit.org/show_bug.cgi?id=83752
5152
5153         Reviewed by Martin Robinson.
5154
5155         * UIProcess/API/gtk/WebKitWebContext.cpp:
5156         (createDefaultWebContext):
5157
5158 2012-04-13  Jer Noble  <jer.noble@apple.com>
5159
5160         Video at apple.com gets standard controls in addition to custom controls after returning from full screen
5161         https://bugs.webkit.org/show_bug.cgi?id=83939
5162
5163         Reviewed by Eric Carlson.
5164
5165         So that the media controls don't show up momentarily during full screen animations, call setAnimatingFullScreen(true)
5166         before calling will{Enter,Exit}FullScreen(), so that the CSS rule for full screen animation will be in effect
5167         immediately.
5168
5169         Similarly, call setAnimatingFullScreen(false) after calling did{Enter,Exit}FullScreen, so that the full screen media
5170         controls don't momentarily appear at the end of an animation.
5171
5172         * UIProcess/mac/WKFullScreenWindowController.mm:
5173         (-[WKFullScreenWindowController enterFullScreen:]):
5174         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
5175         (-[WKFullScreenWindowController exitFullScreen]):
5176         (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
5177
5178 2012-04-13  Anders Carlsson  <andersca@apple.com>
5179
5180         Make sure that we're using the right compiler for generating derived sources.
5181
5182         Rubber-stamped by Dan Bernstein.
5183
5184         * WebKit2.xcodeproj/project.pbxproj:
5185
5186 2012-04-13  Anders Carlsson  <andersca@apple.com>
5187
5188         Include the error if we fail to initialize the web process sandbox
5189         https://bugs.webkit.org/show_bug.cgi?id=83927
5190
5191         Reviewed by Alexey Proskuryakov.
5192
5193         * WebProcess/mac/WebProcessMac.mm:
5194         (WebKit::initializeSandbox):
5195
5196 2012-04-13  Brady Eidson  <beidson@apple.com>
5197
5198         <rdar://problem/11176921> and https://bugs.webkit.org/show_bug.cgi?id=83600
5199         Need WebKit2 API to notify whether history loads are in the page cache
5200
5201         - Add a new WKBundlePageLoaderClient callback allowing the bundle to be notified
5202           of back/forward navigations (and deny them if it chooses)
5203         - Add a new API to WKBundleBackForwardListItem to probe if the item is in the page cache.
5204
5205         Reviewed by Darin Adler.
5206
5207         Add the new WKBundleBackForwardListItem API:
5208         * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.cpp:
5209         (WKBundleBackForwardListItemIsInPageCache):
5210         * WebProcess/InjectedBundle/API/c/WKBundleBackForwardListItem.h:
5211         * WebProcess/InjectedBundle/InjectedBundleBackForwardListItem.h:
5212         (WebKit::InjectedBundleBackForwardListItem::isInPageCache):
5213
5214         Update the UI page loader client to allow for a user data object to be passed from the bundle:
5215         * UIProcess/API/C/WKPage.h:
5216         * UIProcess/WebLoaderClient.cpp:
5217         (WebKit::WebLoaderClient::shouldGoToBackForwardListItem): Update a comment typo.
5218         (WebKit::WebLoaderClient::willGoToBackForwardListItem): Update for the user data field.
5219         * UIProcess/WebLoaderClient.h:
5220         * UIProcess/WebPageProxy.cpp:
5221         (WebKit::WebPageProxy::willGoToBackForwardListItem):
5222         * UIProcess/WebPageProxy.h:
5223         * UIProcess/WebPageProxy.messages.in:
5224
5225         Add the new callback to the bundle loader client:
5226         * WebProcess/InjectedBundle/API/c/WKBundlePage.h: 
5227         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
5228         (WebKit::InjectedBundlePageLoaderClient::shouldGoToBackForwardListItem):
5229         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
5230         (InjectedBundlePageLoaderClient):
5231
5232         Call the bundle client before doing anything else, possibly canceling the navigation:
5233         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
5234         (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem):
5235
5236         * WebProcess/qt/QtBuiltinBundlePage.cpp:
5237         (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage) Adopt new bundle client interface.
5238
5239 2012-04-13  Dinu Jacob  <dinu.jacob@nokia.com>
5240
5241         [Qt][WK2] Title in MiniBrowser is not updated for a page with no title
5242         https://bugs.webkit.org/show_bug.cgi?id=82483
5243
5244         Reviewed by Noam Rosenthal.
5245
5246         This fixes API tests broken by r113715.
5247
5248         * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
5249         * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
5250         * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml:
5251
5252 2012-04-13  Sheriff Bot  <webkit.review.bot@gmail.com>
5253
5254         Unreviewed, rolling out r113714.
5255         http://trac.webkit.org/changeset/113714
5256         https://bugs.webkit.org/show_bug.cgi?id=83887
5257
5258         It is behaving strange on the bots and needs more
5259         investigation. (Requested by jeez_ on #webkit).
5260
5261         * UIProcess/qt/QtPageClient.cpp:
5262         (QtPageClient::isViewWindowActive):
5263
5264 2012-04-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
5265
5266         [Qt] Use QQuickFlickable::setPixelAligned instead of doing pixel-alignment when rendering.
5267         https://bugs.webkit.org/show_bug.cgi?id=83770
5268
5269         Reviewed by Kenneth Rohde Christiansen.
5270
5271         - Do the alignment on the highest level as possible: the QQuickFlickable content item
5272           position. It already supports this with setPixelAligned which rounds the content item's position.
5273         - Also move the setClip(true) to the common constructor as this constructor is currently only used by WTR.
5274         - Remove setFlags(QQuickItem::ItemClipsChildrenToShape) as it is redundant with setClip(true).
5275
5276         * UIProcess/API/qt/qquickwebview.cpp:
5277         (QQuickWebViewPrivate::QQuickWebViewPrivate):
5278         (QQuickWebView::QQuickWebView):
5279
5280 2012-04-12  Alexey Proskuryakov  <ap@apple.com>
5281
5282         Preprocessing text files with modern clang treats double slashes in comments
5283         https://bugs.webkit.org/show_bug.cgi?id=83827
5284
5285         Reviewed by Mark Rowe.
5286
5287         * DerivedSources.make: Pass appropriate flags to both llvm and gcc.
5288
5289 2012-04-12  Brent Fulgham  <bfulgham@webkit.org>
5290
5291         [WinCairo] Build fix after Windows export definition file change.
5292
5293         * win/WebKit2CFLite.def: This file needs to be kept in sync with
5294         WebKit2.def (aside from the WebKitInterface exports.)
5295
5296 2012-04-12  Bear Travis  <betravis@adobe.com>
5297
5298         [CSS Exclusions] Add flag to enable / disable exclusions at runtime
5299         https://bugs.webkit.org/show_bug.cgi?id=83313
5300
5301         Reviewed by Ryosuke Niwa.
5302
5303         Adding windows symbols
5304
5305         * win/WebKit2.def:
5306         * win/WebKit2CFLite.def:
5307
5308 2012-04-12  Yael Aharon  <yael.aharon@nokia.com>
5309
5310         [Qt][WK2] Nested fixed elements scroll too fast
5311         https://bugs.webkit.org/show_bug.cgi?id=83720
5312
5313         Reviewed by Noam Rosenthal.
5314
5315         Set the fixedToViewport flag on the fixed position layers and adjust to
5316         the new function name for setting scrollPositionDelta.
5317
5318         * UIProcess/WebLayerTreeRenderer.cpp:
5319         (WebKit::WebLayerTreeRenderer::adjustPositionForFixedLayers):
5320         (WebKit::WebLayerTreeRenderer::setLayerState):
5321
5322 2012-04-12  Kenneth Rohde Christiansen  <kenneth@webkit.org>
5323
5324         Move viewport meta handling to the web process side
5325         https://bugs.webkit.org/show_bug.cgi?id=83771
5326
5327         Reviewed by Simon Hausmann.
5328
5329         Instead of computing the viewport attributes on both sides,
5330         we now do everything on the web process side, and just send
5331         over the computed result.
5332
5333         * Scripts/webkit2/messages.py:
5334         (struct_or_class):
5335         (headers_for_type):
5336         * Shared/WebCoreArgumentCoders.cpp:
5337         (CoreIPC::::encode):
5338         (CoreIPC::::decode):
5339         * Shared/WebCoreArgumentCoders.h:
5340         (WebCore):
5341         * UIProcess/API/efl/PageClientImpl.cpp:
5342         (WebKit::PageClientImpl::didChangeViewportProperties):
5343         * UIProcess/API/efl/PageClientImpl.h:
5344         (PageClientImpl):
5345         * UIProcess/API/gtk/PageClientImpl.cpp:
5346         (WebKit::PageClientImpl::didChangeViewportProperties):
5347         * UIProcess/API/gtk/PageClientImpl.h:
5348         (PageClientImpl):
5349         * UIProcess/API/mac/PageClientImpl.h:
5350         (PageClientImpl):
5351         * UIProcess/API/mac/PageClientImpl.mm:
5352         (WebKit::PageClientImpl::didChangeViewportProperties):
5353         * UIProcess/API/qt/qquickwebview.cpp:
5354         (QQuickWebViewPrivate::didRelaunchProcess):
5355         (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
5356         (QQuickWebViewFlickablePrivate::updateViewportSize):
5357         * UIProcess/API/qt/qquickwebview_p_p.h:
5358         (QQuickWebViewPrivate::didChangeViewportProperties):
5359         (QQuickWebViewPrivate):
5360         (QQuickWebViewFlickablePrivate):
5361         * UIProcess/PageClient.h:
5362         (WebCore):
5363         (PageClient):
5364         * UIProcess/WebPageProxy.cpp:
5365         (WebKit::WebPageProxy::didChangeViewportProperties):
5366         * UIProcess/WebPageProxy.h:
5367         (WebCore):
5368         (WebPageProxy):
5369         * UIProcess/WebPageProxy.messages.in:
5370         * UIProcess/qt/QtPageClient.cpp:
5371         (QtPageClient::didChangeViewportProperties):
5372         * UIProcess/qt/QtPageClient.h:
5373         (QtPageClient):
5374         * UIProcess/win/WebView.cpp:
5375         (WebKit::WebView::didChangeViewportProperties):
5376         * UIProcess/win/WebView.h:
5377         (WebView):
5378         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
5379         (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
5380         (WebKit):
5381         * WebProcess/WebPage/WebPage.cpp:
5382         (WebKit::WebPage::sendViewportAttributesChanged):
5383         (WebKit):
5384         (WebKit::WebPage::setViewportSize):
5385         * WebProcess/WebPage/WebPage.h:
5386         (WebPage):
5387
5388 2012-04-12  Zalan Bujtas  <zbujtas@gmail.com>
5389
5390         [Qt][WK2] Zoom gesture with double tap crashes on iframe when main frame has scroll offset.
5391         https://bugs.webkit.org/show_bug.cgi?id=83428
5392
5393         Reviewed by Kenneth Rohde Christiansen.
5394
5395         When delegate scrolling is on, the frame view needs to ignore scrolling offset when converting
5396         coordinates. It is already done at ScrollView base class and this patch copies the logic to the
5397         FrameView subclass.
5398         Also make sure that TouchAdjustment's findBest*() functions' return value are not ignored by the caller.
5399
5400         * WebProcess/WebPage/WebPage.cpp:
5401         (WebKit::WebPage::highlightPotentialActivation):
5402         (WebKit::WebPage::findZoomableAreaForPoint):
5403
5404 2012-04-11  Andy Estes  <aestes@apple.com>
5405
5406         Remove an autorelease pool made redundant by r113923.
5407         https://bugs.webkit.org/show_bug.cgi?id=83730
5408
5409         Reviewed by Dan Bernstein.
5410         
5411         Remove flushLayer()'s autorelease pool, since one now exists in the
5412         call frame above it (in LayerFlushScheduler::runLoopObserverCallback()).
5413
5414         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
5415         (WebKit::LayerTreeHostCAMac::flushLayers):
5416
5417 2012-04-11  Carlos Garcia Campos  <cgarcia@igalia.com>
5418
5419         [GTK] Initial cookies API for WebKit2 GTK+ API
5420         https://bugs.webkit.org/show_bug.cgi?id=82441
5421
5422         Reviewed by Gustavo Noronha Silva.
5423
5424         * GNUmakefile.am: Add new files to compilation.
5425         * UIProcess/API/gtk/WebKitCookieManager.cpp: Added.
5426         (webkit_cookie_manager_init):
5427         (webkitCookieManagerFinalize):
5428         (webkit_cookie_manager_class_init):
5429         (webkitCookieManagerCreate): Create a new WebKitCookieManager for
5430         the given WKCookieManagerRef.
5431         (webkit_cookie_manager_set_accept_policy): Set the cookie
5432         acceptance policy.
5433         (webkitCookieManagerGetAcceptPolicyCallback): Callback called by
5434         the C API when the cookie acceptance policy has been received.
5435         (webkit_cookie_manager_get_accept_policy): Asynchronously get the
5436         cookie acceptance policy.
5437         (webkit_cookie_manager_get_accept_policy_finish): Finish async
5438         operation started by webkit_cookie_manager_get_accept_policy()
5439         returning the cookie acceptance policy.
5440         (webkitCookieManagerGetDomainsWithCookiesCallback): Callback
5441         called by the C API when the list of hostnames with cookies has
5442         been received.
5443         (webkit_cookie_manager_get_domains_with_cookies): Asynchronously
5444         get the list of domains with cookies.
5445         (webkit_cookie_manager_get_domains_with_cookies_finish): Finish
5446         async operation started by
5447         webkit_cookie_manager_get_domains_with_cookies() returning the
5448         list of domains.
5449         (webkit_cookie_manager_delete_cookies_for_domain): Delete all
5450         cookies for the given domain.
5451         (webkit_cookie_manager_delete_all_cookies): Delete all cookies.
5452         * UIProcess/API/gtk/WebKitCookieManager.h: Added.
5453         * UIProcess/API/gtk/WebKitCookieManagerPrivate.h: Added.
5454         * UIProcess/API/gtk/WebKitWebContext.cpp:
5455         (webkit_web_context_get_cookie_manager): Get the
5456         WebKitCookieManager associated with the web context.
5457         * UIProcess/API/gtk/WebKitWebContext.h:
5458         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new chapter for
5459         WebKitCookieManager.
5460         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
5461         * UIProcess/API/gtk/docs/webkit2gtk.types: Add
5462         webkit_cookie_manager_get_type.
5463         * UIProcess/API/gtk/tests/GNUmakefile.am:
5464         * UIProcess/API/gtk/tests/TestCookieManager.cpp: Added.
5465         (testCookieManagerAcceptPolicy):
5466         (testCookieManagerDeleteCookies):
5467         (serverCallback):
5468         (beforeAll):
5469         (afterAll):
5470         * UIProcess/API/gtk/webkit2.h: Include WebKitCookieManager.h.
5471
5472 2012-04-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
5473
5474         [Qt] InspectorServer: Add an API level auto test
5475         https://bugs.webkit.org/show_bug.cgi?id=83594
5476
5477         Reviewed by Kenneth Rohde Christiansen.
5478
5479         This tests InspectorServer and WebSocketServer.
5480
5481         * UIProcess/API/qt/tests/inspectorserver/inspectorserver.pro: Added.
5482         * UIProcess/API/qt/tests/inspectorserver/tst_inspectorserver.cpp: Added.
5483         (tst_InspectorServer):
5484         (tst_InspectorServer::tst_InspectorServer):
5485         (tst_InspectorServer::prepareWebViewComponent):
5486         (tst_InspectorServer::newWebView):
5487         (tst_InspectorServer::init):
5488         (tst_InspectorServer::cleanup):
5489         (tst_InspectorServer::webView):
5490         (tst_InspectorServer::fetchPageList):
5491         (tst_InspectorServer::testPageList): This tests that pages with developerExtrasEnabled appear available for inspection.
5492         (tst_InspectorServer::testRemoteDebuggingMessage): This tests a web socket connection using a raw inspector command.
5493         (tst_InspectorServer::openRemoteDebuggingSession): This tests the whole pipeline by starting a remote inspection session.
5494         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
5495         (tst_QQuickWebView):
5496         (tst_QQuickWebView::prepareWebViewComponent):
5497         * UIProcess/API/qt/tests/tests.pri:
5498         * UIProcess/API/qt/tests/util.cpp:
5499         (LoadStartedCatcher::LoadStartedCatcher):
5500         (LoadStartedCatcher::onLoadingChanged):
5501         * UIProcess/API/qt/tests/util.h:
5502         (LoadStartedCatcher):
5503
5504 2012-04-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
5505
5506         [Qt] InspectorServer: Improve the JSON page list's parameter names
5507         https://bugs.webkit.org/show_bug.cgi?id=83592
5508
5509         Reviewed by Simon Hausmann.
5510
5511         - Add "id" that would be needed to build the URL when using local front-end resources
5512           (and will be used by tests)
5513         - Rename description to "title", the description contains both the title and URL on the final list
5514         - Rename inspectorLocation to "inspectorUrl" to match with the url parameter.
5515
5516         * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
5517         (WebKit::WebInspectorServer::buildPageList):
5518         * qt/Resources/inspectorPageIndex.html:
5519
5520 2012-04-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
5521
5522         [Qt] Fix issues when using the WebView as ShaderEffectSource
5523         https://bugs.webkit.org/show_bug.cgi?id=83587
5524
5525         Reviewed by Noam Rosenthal.
5526
5527         Qt is going to mirror the projection matrix when the shader effect source
5528         is grabbed. Detect that the matrix is mirrored and pass on this information
5529         to TextureMapper so that it can do the same.
5530
5531         * UIProcess/WebLayerTreeRenderer.cpp:
5532         (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
5533         * UIProcess/WebLayerTreeRenderer.h:
5534         (WebLayerTreeRenderer):
5535         * UIProcess/qt/QtWebPageSGNode.cpp:
5536         (WebKit::ContentsSGNode::render):
5537
5538 2012-04-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
5539
5540         [Qt] Remove unnecessary rendering code
5541         https://bugs.webkit.org/show_bug.cgi?id=83591
5542
5543         Reviewed by Noam Rosenthal.
5544
5545         - Remove code that isn't needed since the introduction of WebLayerTreeRenderer
5546         - Remove TextureMapper::bindSurface(0) calls following beginPainting, which calls it itself.
5547
5548         * UIProcess/API/qt/qquickwebpage.cpp:
5549         (QQuickWebPagePrivate::paint):
5550         * UIProcess/API/qt/qquickwebpage_p_p.h:
5551         (QQuickWebPagePrivate):
5552         * UIProcess/DrawingAreaProxy.h:
5553         * UIProcess/DrawingAreaProxyImpl.cpp:
5554         * UIProcess/DrawingAreaProxyImpl.h:
5555         (DrawingAreaProxyImpl):
5556         * UIProcess/LayerTreeHostProxy.cpp:
5557         * UIProcess/LayerTreeHostProxy.h:
5558         (LayerTreeHostProxy):
5559         * UIProcess/WebLayerTreeRenderer.cpp:
5560         (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
5561         (WebKit::WebLayerTreeRenderer::paintToGraphicsContext):
5562
5563 2012-04-10  Carlos Garcia Campos  <cgarcia@igalia.com>
5564
5565         Unreviewed. Fix make distcheck issues.
5566
5567         * GNUmakefile.am: Add missing header file.
5568
5569 2012-04-10  Mark Rowe  <mrowe@apple.com>
5570
5571         <rdar://problem/10583749> WebKit2 should log to both ASL and stderr
5572
5573         Replace direct calls to fprintf stderr with calls to WTFLogAlways.
5574
5575         Reviewed by Sam Weinig.
5576
5577         * PluginProcess/mac/PluginProcessMainMac.mm:
5578         (WebKit::PluginProcessMain):
5579         * UIProcess/WebProcessProxy.cpp:
5580         (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
5581         (WebKit::WebProcessProxy::didReceiveInvalidMessage):
5582         * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
5583         (WebKit::InjectedBundle::load):
5584         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
5585         (readSandboxProfile):
5586         (WKN_EnterSandbox):
5587         * WebProcess/mac/WebProcessMac.mm:
5588         (WebKit::initializeSandbox):
5589         * WebProcess/mac/WebProcessMainMac.mm:
5590         (WebKit::WebProcessMain):
5591
5592 2012-04-10  Yael Aharon  <yael.aharon@nokia.com>
5593
5594         Unreviewed build fix after r113791.
5595
5596         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
5597         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
5598
5599 2012-04-10  Yael Aharon  <yael.aharon@nokia.com>
5600
5601         Initial support for fixed position elements in Qt WebKit2
5602         https://bugs.webkit.org/show_bug.cgi?id=81786
5603
5604         Reviewed by Noam Rosenthal.
5605
5606         Turn on the flag acceleratedCompositingForFixedPositionEnabled when using fixed layout.
5607         As we scroll, we keep track of the delta in scroll position between the UI and web processes,
5608         and adjust the position of all the fixed layers by that delta.
5609         When WebLayerTreeRenderer receives a new scroll position from the web process, it keeps it as pending,
5610         and commit the new scroll position in flushLayerChanges.
5611         This patch does not address scrolling overshoot and it does not fix the wrong positioning
5612         that occurs when we zoom. These issues will be addressed in future patches.
5613
5614         * Shared/WebLayerTreeInfo.h:
5615         * UIProcess/API/qt/qquickwebpage.cpp:
5616         (QQuickWebPagePrivate::updateSize):
5617         * UIProcess/LayerTreeHostProxy.cpp:
5618         (WebKit::LayerTreeHostProxy::setContentsSize):
5619         (WebKit):
5620         (WebKit::LayerTreeHostProxy::renderNextFrame):
5621         (WebKit::LayerTreeHostProxy::didChangeScrollPosition):
5622         * UIProcess/LayerTreeHostProxy.h:
5623         (LayerTreeHostProxy):
5624         * UIProcess/LayerTreeHostProxy.messages.in:
5625         * UIProcess/WebLayerTreeRenderer.cpp:
5626         (WebKit::boundedScrollPosition):
5627         (WebKit):
5628         (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
5629         (WebKit::WebLayerTreeRenderer::setContentsSize):
5630         (WebKit::WebLayerTreeRenderer::adjustPositionForFixedLayers):
5631         (WebKit::WebLayerTreeRenderer::didChangeScrollPosition):
5632         (WebKit::WebLayerTreeRenderer::syncLayerParameters):
5633         (WebKit::WebLayerTreeRenderer::deleteLayer):
5634         (WebKit::WebLayerTreeRenderer::flushLayerChanges):
5635         * UIProcess/WebLayerTreeRenderer.h:
5636         (WebLayerTreeRenderer):
5637         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
5638         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
5639         (WebCore::WebGraphicsLayer::syncCompositingState):
5640         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
5641         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
5642         (WebGraphicsLayerClient):
5643         (WebCore::WebGraphicsLayer::fixedToViewport):
5644         (WebCore::WebGraphicsLayer::setFixedToViewport):
5645         (WebGraphicsLayer):
5646         * WebProcess/WebPage/WebPage.cpp:
5647         (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
5648         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
5649         (WebKit::LayerTreeHostQt::LayerTreeHostQt):
5650         (WebKit::LayerTreeHostQt::didSyncCompositingStateForLayer):
5651         (WebKit::updateOffsetFromViewportForSelf):
5652         (WebKit):
5653         (WebKit::updateOffsetFromViewportForLayer):
5654         (WebKit::LayerTreeHostQt::syncFixedLayers):
5655         (WebKit::LayerTreeHostQt::setVisibleContentsRect):
5656         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
5657         (LayerTreeHostQt):
5658
5659 2012-04-10  Anders Carlsson  <andersca@apple.com>
5660
5661         Fix fast/images/exif-orientation.html WebKitTestRunner failure
5662         https://bugs.webkit.org/show_bug.cgi?id=83627
5663
5664         Reviewed by Sam Weinig.
5665
5666         Handle overriding the WebKitShouldRespectImageOrientation preference.
5667
5668         * WebProcess/InjectedBundle/InjectedBundle.cpp:
5669         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
5670
5671 2012-04-10  No'am Rosenthal  <noam.rosenthal@nokia.com>
5672
5673         [Qt][WK2] Manage graphics buffers in the web process
5674         https://bugs.webkit.org/show_bug.cgi?id=78675
5675
5676         Added ShareableSurface, a class allowing the use of GPU-enabled
5677         surfaces for bitmap transfer between the web and UI processes.
5678         Since GraphicsSurfaces may not always be available, ShareableSurface
5679         uses a standard ShareableBitmap as a fallback backend.
5680
5681         The necessary plumbing was added in WebKit2 for passing updates via
5682         ShareableSurfaces instead of ShareableBitmaps. SurfaceUpdateInfo was
5683         added, as to not make UpdateInfo more complicated.
5684
5685         Reviewed by Kenneth Rohde Christiansen.
5686
5687         * Shared/ShareableSurface.cpp: Added.
5688         * Shared/ShareableSurface.h: Added.
5689         * Shared/SurfaceUpdateInfo.cpp: Added.
5690         * Shared/SurfaceUpdateInfo.h: Added.
5691         * Target.pri:
5692         * UIProcess/LayerTreeHostProxy.cpp:
5693         (WebKit::LayerTreeHostProxy::createTileForLayer):
5694         (WebKit::LayerTreeHostProxy::updateTileForLayer):
5695         * UIProcess/LayerTreeHostProxy.h:
5696         (LayerTreeHostProxy):
5697         * UIProcess/LayerTreeHostProxy.messages.in:
5698         * UIProcess/WebLayerTreeRenderer.cpp:
5699         (WebKit::WebLayerTreeRenderer::updateTile):
5700         * UIProcess/WebLayerTreeRenderer.h:
5701         (TileUpdate):
5702         (WebKit::WebLayerTreeRenderer::TileUpdate::TileUpdate):
5703         * UIProcess/qt/LayerBackingStore.cpp:
5704         (WebKit::LayerBackingStoreTile::swapBuffers):
5705         (WebKit::LayerBackingStoreTile::setBackBuffer):
5706         (WebKit::LayerBackingStore::updateTile):
5707         * UIProcess/qt/LayerBackingStore.h:
5708         (LayerBackingStoreTile):
5709         (LayerBackingStore):
5710         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
5711         (WebCore::WebGraphicsLayer::beginContentUpdate):
5712         (WebCore::WebGraphicsLayer::createTile):
5713         (WebCore::WebGraphicsLayer::updateTile):
5714         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
5715         (WebGraphicsLayerClient):
5716         (WebGraphicsLayer):
5717         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
5718         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
5719         * WebProcess/WebPage/TiledBackingStoreRemoteTile.h:
5720         (WebKit):
5721         (TiledBackingStoreRemoteTileClient):
5722         * WebProcess/WebPage/UpdateAtlas.cpp:
5723         (WebKit::UpdateAtlas::UpdateAtlas):
5724         (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
5725         * WebProcess/WebPage/UpdateAtlas.h:
5726         (WebKit::UpdateAtlas::surface):
5727         (WebKit::UpdateAtlas::size):
5728         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
5729         (WebKit::LayerTreeHostQt::createTile):
5730         (WebKit::LayerTreeHostQt::updateTile):
5731         (WebKit::LayerTreeHostQt::beginContentUpdate):
5732         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
5733         (LayerTreeHostQt):
5734
5735 2012-04-10  Patrick Gansterer  <paroga@webkit.org>
5736
5737         [CMake] Enable USE_FOLDERS property
5738         https://bugs.webkit.org/show_bug.cgi?id=83571
5739
5740         Reviewed by Daniel Bates.
5741
5742         Setting the FOLDER property on targets gives more structure 
5743         to the generated Visual Studio solutions.
5744         This does not affect other CMake generators.
5745
5746         * CMakeLists.txt:
5747
5748 2012-04-10  Dinu Jacob  <dinu.jacob@nokia.com>
5749
5750         [Qt][WK2] Assertion failure on loading new page after panning/zooming
5751         https://bugs.webkit.org/show_bug.cgi?id=83049
5752
5753         Reviewed by Kenneth Rohde Christiansen.
5754
5755         When handling contents size change, set the visible content rectangle immediately,
5756         instead of animating to it.
5757
5758         * UIProcess/qt/QtViewportInteractionEngine.cpp:
5759         (WebKit::QtViewportInteractionEngine::itemSizeChanged):
5760
5761 2012-04-10  Dinu Jacob  <dinu.jacob@nokia.com>
5762
5763         [Qt][WK2] Title in MiniBrowser is not updated for a page with no title
5764         https://bugs.webkit.org/show_bug.cgi?id=82483
5765
5766         Reviewed by Kenneth Rohde Christiansen.
5767
5768         titleChanged signal is not emitted on comitting a new load.
5769
5770         * UIProcess/API/qt/tests/html/basic_page.html:
5771         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
5772         (tst_QQuickWebView):
5773         (tst_QQuickWebView::titleUpdate):
5774         * UIProcess/qt/QtWebPageLoadClient.cpp:
5775         (QtWebPageLoadClient::didCommitLoadForFrame):
5776
5777 2012-04-10  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
5778
5779         [Qt][WK2] Implement PageClient::isViewWindowActive()
5780         https://bugs.webkit.org/show_bug.cgi?id=81143
5781
5782         Reviewed by Kenneth Rohde Christiansen.
5783
5784         This patch implements PageClient::isViewWindowActive()
5785         now that QQuickCanvas::isActive() is available (from QWindow).
5786
5787         * UIProcess/qt/QtPageClient.cpp:
5788         (QtPageClient::isViewWindowActive):
5789
5790 2012-04-10  Philippe Normand <pnormand@igalia.com> and Carlos Garcia Campos  <cgarcia@igalia.com>
5791
5792         [WK2][GTK] FullScreen signals
5793         https://bugs.webkit.org/show_bug.cgi?id=76166
5794
5795         Reviewed by Gustavo Noronha Silva.
5796
5797         * GNUmakefile.am: Add new files to compilation.
5798         * UIProcess/API/C/gtk/WKFullScreenClientGtk.cpp:
5799         (WKViewSetFullScreenClientGtk): Initialize WebKitWebViewBase
5800         fullscreen client.
5801         * UIProcess/API/C/gtk/WKFullScreenClientGtk.h:
5802         * UIProcess/API/gtk/WebKitFullscreenClient.cpp: Added.
5803         (willEnterFullScreen): Call webkitWebViewEnterFullScreen().
5804         (willExitFullScreen): Call webkitWebViewLeaveFullScreen().
5805         (attachFullScreenClientToView): Initialize FullScreenClient adding
5806         implementations for willEnterFullScreen and willExitFullScreen callbacks.
5807         * UIProcess/API/gtk/WebKitFullscreenClient.h: Added.
5808         * UIProcess/API/gtk/WebKitPrivate.h:
5809         * UIProcess/API/gtk/WebKitWebView.cpp:
5810         (webkitWebViewConstructed): Attach fullscreen client to view.
5811         (webkit_web_view_class_init): Add WebKitWebView::enter-fullscreen
5812         and WebKitWebView::leave-fullscreen signals.
5813         (webkitWebViewEnterFullScreen): Emit
5814         WebKitWebView::enter-fullscreen signal.
5815         (webkitWebViewLeaveFullScreen): Emit
5816         WebKitWebView::leave-fullscreen signal.
5817         * UIProcess/API/gtk/WebKitWebView.h:
5818         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
5819         (webkitWebViewBaseKeyPressEvent): Only return early when leaving
5820         fullscreen, otherwise let the view process the key pressed.
5821         (webkitWebViewBaseEnterFullScreen): Return early if
5822         willEnterFullScreen callback is handled and returns false.
5823         (webkitWebViewBaseExitFullScreen): Return early if
5824         willExitFullScreen callback is handled and returns false.
5825         (webkitWebViewBaseInitializeFullScreenClient): Initialize the
5826         fullscreen client.
5827         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
5828         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
5829         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
5830         (testWebViewFullScreen):
5831         (beforeAll):
5832         * UIProcess/API/gtk/tests/WebViewTest.cpp:
5833         (WebViewTest::keyStroke): Helper function to synthesize key
5834         press/release events.
5835         * UIProcess/API/gtk/tests/WebViewTest.h:
5836         * UIProcess/API/gtk/webkit2marshal.list:
5837         * UIProcess/gtk/WebFullScreenClientGtk.cpp:
5838         (WebKit::WebFullScreenClientGtk::willEnterFullScreen): Call
5839         willEnterFullScreen callback if defined.
5840         (WebKit::WebFullScreenClientGtk::willExitFullScreen): Call
5841         willExitFullScreen callback if defined.
5842         * UIProcess/gtk/WebFullScreenClientGtk.h:
5843
5844 2012-04-10  Patrick Gansterer  <paroga@webkit.org>
5845
5846         [CMake] Add missing source files to build system
5847
5848         * CMakeLists.txt:
5849
5850 2012-04-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
5851
5852         [WK2] Enable using a single ShareableBitmap for multiple updates
5853         https://bugs.webkit.org/show_bug.cgi?id=83424
5854
5855         Reviewed by Kenneth Rohde Christiansen.
5856
5857         Enabled creating a GraphicsContext that references a rect inside ShareableBitmap.
5858         Added bitmapOffset to UpdateInfo, to allow updates to reference an offset inside the bitmap.
5859         Added UpdateAtlas, a class that manages available rects in a larger ShareableBitmap.
5860
5861         In this iteration, UpdateAtlas has a simple behavior where a rect inside the bitmap is
5862         either available or used. When the buffers are swapped, all used buffers become available
5863         again. A future enhancement might allow triple-buffering, where available rects can be
5864         updated while other rects from the same atlas are in use.
5865
5866         Added the necessary plumbing to allow Qt's UI-side compositing to take advantage of
5867         UpdateAtlas. LayerTreeHostQt creates an atlas per type of bitmap (i.e. one opaque and one
5868         alpha-enabled atlas). When a tile wants to update and there's no available scratch-buffer,
5869         the update would be postponed to the next frame, creating a tiling-artifact in low memory
5870         situations.
5871
5872         * Shared/UpdateInfo.cpp:
5873         (WebKit::UpdateInfo::encode):
5874         (WebKit::UpdateInfo::decode):
5875         * Shared/UpdateInfo.h:
5876         (UpdateInfo):
5877         * Target.pri:
5878         * UIProcess/LayerTreeHostProxy.cpp:
5879         (WebKit::LayerTreeHostProxy::updateTileForLayer):
5880         * UIProcess/WebLayerTreeRenderer.cpp:
5881         (WebKit::WebLayerTreeRenderer::syncLayerParameters):
5882         (WebKit::WebLayerTreeRenderer::updateTile):
5883         (WebKit::WebLayerTreeRenderer::createImage):
5884         * UIProcess/WebLayerTreeRenderer.h:
5885         (TileUpdate):
5886         (WebKit::WebLayerTreeRenderer::TileUpdate::TileUpdate):
5887         (WebLayerTreeRenderer):
5888         * UIProcess/qt/LayerBackingStore.cpp:
5889         (WebKit::LayerBackingStoreTile::swapBuffers):
5890         (WebKit::LayerBackingStoreTile::setBackBuffer):
5891         (WebKit::LayerBackingStore::createTile):
5892         * UIProcess/qt/LayerBackingStore.h:
5893         (LayerBackingStoreTile):
5894         (LayerBackingStore):
5895         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
5896         (WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor):
5897         (WebCore::WebGraphicsLayer::beginContentUpdate):
5898         (WebCore):
5899         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
5900         (WebGraphicsLayerClient):
5901         (WebGraphicsLayer):
5902         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
5903         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
5904         * WebProcess/WebPage/TiledBackingStoreRemoteTile.h:
5905         (TiledBackingStoreRemoteTileClient):
5906         * WebProcess/WebPage/UpdateAtlas.cpp: Added.
5907         (WebKit):
5908         (WebKit::UpdateAtlas::UpdateAtlas):
5909         (WebKit::nextPowerOfTwo):
5910         (WebKit::UpdateAtlas::buildLayoutIfNeeded):
5911         (WebKit::UpdateAtlas::findAvailableIndex):
5912         (WebKit::UpdateAtlas::didSwapBuffers):
5913         (WebKit::UpdateAtlas::acquireScratchBuffer):
5914         (WebKit::UpdateAtlas::offsetForIndex):
5915         * WebProcess/WebPage/UpdateAtlas.h: Added.
5916         (WebCore):
5917         (WebKit):
5918         (UpdateAtlas):
5919         (WebKit::UpdateAtlas::bitmap):
5920         (WebKit::UpdateAtlas::size):
5921         (WebKit::UpdateAtlas::flags):
5922         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
5923         (WebKit::LayerTreeHostQt::adoptImageBackingStore):
5924         (WebKit::LayerTreeHostQt::renderNextFrame):
5925         (WebKit::LayerTreeHostQt::purgeBackingStores):
5926         (WebKit):
5927         (WebKit::LayerTreeHostQt::getAtlas):
5928         (WebKit::LayerTreeHostQt::beginContentUpdate):
5929         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
5930         (LayerTreeHostQt):
5931
5932 2012-04-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
5933
5934         [Qt][WK2] Sync the layer's state and the layer's children separately
5935         https://bugs.webkit.org/show_bug.cgi?id=82534
5936
5937         Reviewed by Kenneth Rohde Christiansen.
5938
5939         Switched the WebLayerInfo struct, which includes a single layer's state,
5940         to use only POD types that can be serialized via SimpleArgumentCoder.
5941         To allow POD-serialization, we serialize the children IDs in a seperate
5942         message (SetLayerChildren), and only when the tree layout has actually
5943         been modified.
5944
5945         * Shared/WebLayerTreeInfo.cpp:
5946         (WebKit::WebLayerInfo::encode):
5947         (WebKit::WebLayerInfo::decode):
5948         * Shared/WebLayerTreeInfo.h:
5949         (WebKit::WebLayerInfo::WebLayerInfo):
5950         * UIProcess/LayerTreeHostProxy.cpp:
5951         (WebKit::LayerTreeHostProxy::setCompositingLayerState):
5952         (WebKit):
5953         (WebKit::LayerTreeHostProxy::setCompositingLayerChildren):
5954         * UIProcess/LayerTreeHostProxy.h:
5955         (LayerTreeHostProxy):
5956         * UIProcess/LayerTreeHostProxy.messages.in:
5957         * UIProcess/WebLayerTreeRenderer.cpp:
5958         (WebKit::WebLayerTreeRenderer::setLayerChildren):
5959         (WebKit):
5960         (WebKit::WebLayerTreeRenderer::setLayerState):
5961         * UIProcess/WebLayerTreeRenderer.h:
5962         (WebLayerTreeRenderer):
5963         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
5964         (WebCore::WebGraphicsLayer::didChangeLayerState):
5965         (WebCore):
5966         (WebCore::WebGraphicsLayer::didChangeChildren):
5967         (WebCore::WebGraphicsLayer::didChangeGeometry):
5968         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
5969         (WebCore::WebGraphicsLayer::setChildren):
5970         (WebCore::WebGraphicsLayer::addChild):
5971         (WebCore::WebGraphicsLayer::addChildAtIndex):
5972         (WebCore::WebGraphicsLayer::addChildAbove):
5973         (WebCore::WebGraphicsLayer::addChildBelow):
5974         (WebCore::WebGraphicsLayer::replaceChild):
5975         (WebCore::WebGraphicsLayer::removeFromParent):
5976         (WebCore::WebGraphicsLayer::setDrawsContent):
5977         (WebCore::WebGraphicsLayer::setContentsOpaque):
5978         (WebCore::WebGraphicsLayer::setBackfaceVisibility):
5979         (WebCore::WebGraphicsLayer::setOpacity):
5980         (WebCore::WebGraphicsLayer::setContentsRect):
5981         (WebCore::WebGraphicsLayer::setContentsToImage):
5982         (WebCore::WebGraphicsLayer::setMaskLayer):
5983         (WebCore::WebGraphicsLayer::setReplicatedByLayer):
5984         (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
5985         (WebCore::WebGraphicsLayer::id):
5986         (WebCore::WebGraphicsLayer::syncChildren):
5987         (WebCore::WebGraphicsLayer::syncLayerState):
5988         (WebCore::WebGraphicsLayer::syncImageBackingStore):
5989         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
5990         (WebCore::WebGraphicsLayer::setRootLayer):
5991         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
5992         (WebGraphicsLayerClient):
5993         (WebGraphicsLayer):
5994         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
5995         (WebKit::LayerTreeHostQt::syncLayerState):
5996         (WebKit):
5997         (WebKit::LayerTreeHostQt::syncLayerChildren):
5998         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
5999         (LayerTreeHostQt):
6000
6001 2012-04-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
6002
6003         [Qt][WK2] Accelerated and non-accelerated animations need to be synchronized
6004         https://bugs.webkit.org/show_bug.cgi?id=75780
6005
6006         Reviewed by Kenneth Rohde Christiansen.
6007
6008         Remove the ui-side animation code, and return false from addAnimation so that web-side
6009         animations kick in.
6010
6011         * Shared/WebLayerTreeInfo.cpp:
6012         (WebKit):
6013         * Shared/WebLayerTreeInfo.h:
6014         (WebLayerInfo):
6015         * UIProcess/WebLayerTreeRenderer.cpp:
6016         (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
6017         (WebKit::WebLayerTreeRenderer::setLayerState):
6018         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
6019         (WebCore::WebGraphicsLayer::didChangeGeometry):
6020         (WebCore::WebGraphicsLayer::syncLayerState):
6021         (WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
6022         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
6023         (WebGraphicsLayer):
6024
6025 2012-04-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
6026
6027         [Qt][WK2] Don't synchronize WebGraphicsLayers to the UI process if the actual layer information wasn't changed
6028         https://bugs.webkit.org/show_bug.cgi?id=82522
6029
6030         Reviewed by Kenneth Rohde Christiansen.
6031
6032         Currently we set the m_modified flags for all of the descendants of a layer
6033         that has changed its geometry. This causes unnecessary layer sync messages.
6034         Instead, we only sync when the actual layer has changed, and add a flag
6035         called m_shouldUpdateVisibleRect that applies to descendants of a layer
6036         that has a modified geometry.
6037
6038         * Shared/WebLayerTreeInfo.h:
6039         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
6040         (WebCore::WebGraphicsLayer::didChangeChildren):
6041         (WebCore):
6042         (WebCore::WebGraphicsLayer::setShouldUpdateVisibleRect):
6043         (WebCore::WebGraphicsLayer::didChangeGeometry):
6044         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
6045         (WebCore::WebGraphicsLayer::setPosition):
6046         (WebCore::WebGraphicsLayer::setAnchorPoint):
6047         (WebCore::WebGraphicsLayer::setSize):
6048         (WebCore::WebGraphicsLayer::setTransform):
6049         (WebCore::WebGraphicsLayer::setChildrenTransform):
6050         (WebCore::WebGraphicsLayer::setPreserves3D):
6051         (WebCore::WebGraphicsLayer::setContentsToImage):
6052         (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
6053         (WebCore::WebGraphicsLayer::syncImageBackingStore):
6054         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
6055         (WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin):
6056         (WebCore::WebGraphicsLayer::setRootLayer):
6057         (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
6058         (WebCore::WebGraphicsLayer::setContentsScale):
6059         (WebCore::WebGraphicsLayer::effectiveContentsScale):
6060         (WebCore::WebGraphicsLayer::adjustContentsScale):
6061         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
6062         (WebGraphicsLayer):
6063
6064 2012-04-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
6065
6066         [Qt][WK2] Remove all USE(TILED_BACKING_STORE) defines from code that contains UI_SIDE_COMPOSITING
6067         https://bugs.webkit.org/show_bug.cgi?id=82533
6068
6069         Reviewed by Kenneth Rohde Christiansen.
6070
6071         No change in behavior, removing some #defines.
6072
6073         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
6074         (WebCore::WebGraphicsLayer::setShouldUpdateVisibleRect):
6075         (WebCore::WebGraphicsLayer::adjustContentsScale):
6076         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
6077         (WebGraphicsLayer):
6078         * WebProcess/WebPage/LayerTreeHost.h:
6079         (LayerTreeHost):
6080         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
6081         (WebKit::LayerTreeHostQt::LayerTreeHostQt):
6082         (WebKit::LayerTreeHostQt::detachLayer):
6083
6084 2012-04-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
6085
6086         [Qt][WK2] Disable the content-scaling and visible contents rect when the layer's transform is not affine
6087         https://bugs.webkit.org/show_bug.cgi?id=82523
6088
6089         Reviewed by Kenneth Rohde Christiansen.
6090
6091         Always use contentsScale of 1 and a full visibleContentsRect when
6092         the layer's transform is not affine. That's because layer's with
6093         complex transform would not gain from the benefit of contents scaling,
6094         and might also create unexpected layer content sizes.
6095
6096         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
6097         (WebCore::WebGraphicsLayer::createBackingStore):
6098         (WebCore):
6099         (WebCore::WebGraphicsLayer::tiledBackingStorePaint):
6100         (WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd):
6101         (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
6102         (WebCore::WebGraphicsLayer::updateTile):
6103         (WebCore::WebGraphicsLayer::removeTile):
6104         (WebCore::WebGraphicsLayer::updateContentBuffers):
6105         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
6106         (WebGraphicsLayer):
6107
6108 2012-04-09  Zalan Bujtas  <zbujtas@gmail.com>
6109
6110         [Qt][WK2] Fail to activate links after double tap gesture.
6111         https://bugs.webkit.org/show_bug.cgi?id=83468
6112
6113         Reviewed by Kenneth Rohde Christiansen.
6114
6115         After a recognized double tap gesture, QtTapGestureRecognizer
6116         gets stuck in the double-tap state. Only tapping outside of
6117         the double tap radius cancels it.
6118         Call reset() to set the default state back.
6119
6120         * UIProcess/qt/QtTapGestureRecognizer.cpp:
6121         (WebKit::QtTapGestureRecognizer::recognize):
6122
6123         ManualTests/link-activation-fails-after-double-tap-gesture.html: Added.
6124
6125 2012-04-07  Patrick Gansterer  <paroga@webkit.org>
6126
6127         [CMake] Cleanup WTF include directories
6128         https://bugs.webkit.org/show_bug.cgi?id=82716
6129
6130         Reviewed by Eric Seidel.
6131
6132         * CMakeLists.txt:
6133
6134 2012-04-06  Jon Lee  <jonlee@apple.com>
6135
6136         Build fix for Windows bots.
6137
6138         * win/WebKit2.def: Add missing export symbol.
6139
6140 2012-04-06  Hironori Bono  <hbono@chromium.org>
6141
6142         REGRESSION: Cannot write a word with Korean double consonant
6143         https://bugs.webkit.org/show_bug.cgi?id=81186
6144
6145         Reviewed by Dan Bernstein.
6146
6147         WebKit change r103859 posts fake mouse-move events when the keyboard status is
6148         changed. Unfortunately, these mouse events go to input methods and confuse a
6149         Korean input method. This change directly calls handleMouseEvent() instead of
6150         -mouseMoved: to prevent sending these fake events to input methods.
6151
6152         * UIProcess/API/mac/WKView.mm:
6153         (-[WKView _postFakeMouseMovedEventForFlagsChangedEvent:]):
6154
6155 2012-04-06  Alexey Proskuryakov  <ap@apple.com>
6156
6157         [Mac] Adopt a different method of telling AppKit when inline input isn't supported
6158         https://bugs.webkit.org/show_bug.cgi?id=83408
6159         <rdar://problem/9205734>
6160
6161         Reviewed by Adele Peterson.
6162
6163         * UIProcess/API/mac/WKTextInputWindowController.mm:
6164         (-[WKTextInputView validAttributesForMarkedText]):
6165         (-[WKTextInputPanel init]):
6166         (-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]): Added a comment
6167         about old approach.
6168
6169 2012-04-06  Jer Noble  <jer.noble@apple.com>
6170
6171         WebFullScreenManagerProxy::isFullScreen() will create an empty full screen window; steal focus.
6172         https://bugs.webkit.org/show_bug.cgi?id=83388
6173
6174         Reviewed by Geoffrey Garen.
6175
6176         Calling WebFullScreenManagerProxy::isFullScreen() will create a WKFullScreenWindowController if 
6177         one does not already exist, since the -[WKView fullScreenWindowController] method will create-on-access.
6178         Add a new call, -[WKView hasFullScreenWindowController], which does not auto-create the controller
6179         and add that check to WebFullScreenManagerProxy::isFullScreen().
6180
6181         * UIProcess/API/mac/WKView.mm:
6182         (-[WKView hasFullScreenWindowController]):
6183         * UIProcess/API/mac/WKViewInternal.h:
6184         * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
6185         (WebKit::WebFullScreenManagerProxy::isFullScreen):
6186
6187 2012-04-06  Tim Horton  <timothy_horton@apple.com>
6188
6189         Add autodetection of image orientation from EXIF information
6190         https://bugs.webkit.org/show_bug.cgi?id=19688
6191         <rdar://problem/4126979> and <rdar://problem/11091578>
6192
6193         Original patch by David Carson and Eric Seidel.
6194
6195         Reviewed by Simon Fraser.
6196
6197         Add a preference, ShouldRespectImageOrientation, which will cause WebCore to respect EXIF orientation in all images.
6198
6199         * Shared/WebPreferencesStore.h:
6200         (WebKit):
6201         * UIProcess/API/C/WKPreferences.cpp:
6202         (WKPreferencesSetShouldRespectImageOrientation):
6203         (WKPreferencesGetShouldRespectImageOrientation):
6204         * UIProcess/API/C/WKPreferences.h:
6205         * WebProcess/WebPage/WebPage.cpp:
6206         (WebKit::WebPage::updatePreferences):
6207
6208 2012-04-06  Dan Bernstein  <mitz@apple.com>
6209
6210         <rdar://problem/10912476> HiDPI: Have canvas use a hidpi backing store, but downsample upon access
6211
6212         Reviewed by Sam Weinig.
6213
6214         * Configurations/FeatureDefines.xcconfig: Added ENABLE_HIGH_DPI_CANVAS.
6215
6216 2012-04-05  Anders Carlsson  <andersca@apple.com>
6217
6218         Crash when switching to a tab with plug-ins
6219         https://bugs.webkit.org/show_bug.cgi?id=83339
6220         <rdar://problem/11183338>
6221
6222         Reviewed by Oliver Hunt.
6223
6224         Add an additional check so we don't try to call into plug-ins that haven't yet been initialized.
6225
6226         * WebProcess/Plugins/PluginView.cpp:
6227         (WebKit::PluginView::setLayerHostingMode):
6228
6229 2012-04-05  Dean Jackson  <dino@apple.com>
6230
6231         [mac] requestAnimationFrame sometimes stuck when page loads in a background tab
6232         https://bugs.webkit.org/show_bug.cgi?id=76105
6233
6234         Unreviewed build fix for Windows. windowIsVisible() is PLATFORM(MAC) only.
6235         This means a Page might start requestAnimationFrame-based animations
6236         even when it isn't visible. This should only happen when a Page is
6237         opened in the background though. The regular hide and show should still
6238         pause animations.
6239
6240         * WebProcess/WebPage/DrawingAreaImpl.cpp:
6241         (WebKit::DrawingAreaImpl::resumePainting):
6242
6243 2012-04-05  Dean Jackson  <dino@apple.com>
6244
6245         [mac] requestAnimationFrame sometimes stuck when page loads in a background tab
6246         https://bugs.webkit.org/show_bug.cgi?id=76105
6247
6248         Reviewed by Simon Fraser.
6249
6250         When we are resuming painting only start the scripted animations
6251         if we're a visible window. This can happen when tabs are opened
6252         in the background.
6253
6254         * WebProcess/WebPage/DrawingAreaImpl.cpp:
6255         (WebKit::DrawingAreaImpl::resumePainting):
6256
6257 2012-04-05  Patrick Gansterer  <paroga@webkit.org>
6258
6259         [Qt] Correct <wtf/*.h> include paths.
6260         https://bugs.webkit.org/show_bug.cgi?id=83270
6261
6262         Reviewed by Eric Seidel.
6263
6264         Modify the #include declerations so that the
6265         wtf types are included using the full path.
6266
6267         * Shared/qt/QtNetworkReplyData.cpp:
6268         * UIProcess/WebLayerTreeRenderer.cpp:
6269         * UIProcess/qt/LayerBackingStore.h:
6270         * UIProcess/qt/QtViewportInteractionEngine.cpp:
6271         * UIProcess/qt/QtViewportInteractionEngine.h:
6272         * UIProcess/qt/QtWebPageSGNode.h:
6273         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
6274
6275 2012-04-05  Jia Pu  <jpu@apple.com>
6276
6277         Move correction panel related functions from EditorClient into separated AlternativeTextClient class.
6278         https://bugs.webkit.org/show_bug.cgi?id=82970
6279
6280         Reviewed by Enrica Casucci.
6281
6282         Move correction panel related functions from WebEditorClient to the new WebAlternativeTextClient.
6283         See WebCore/ChangeLog for details.
6284
6285         * UIProcess/API/gtk/PageClientImpl.cpp:
6286         * UIProcess/API/mac/PageClientImpl.h:
6287         (PageClientImpl):
6288         * UIProcess/API/mac/PageClientImpl.mm:
6289         (WebKit::PageClientImpl::recordAutocorrectionResponse):
6290         * UIProcess/API/qt/qquickwebview.cpp:
6291         * UIProcess/PageClient.h:
6292         (PageClient):
6293         * UIProcess/WebPageProxy.cpp:
6294         (WebKit::WebPageProxy::recordAutocorrectionResponse):
6295         * UIProcess/mac/CorrectionPanel.h:
6296         * UIProcess/mac/CorrectionPanel.mm:
6297         * WebKit2.xcodeproj/project.pbxproj:
6298         * WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp: Added.
6299         (WebKit):
6300         (WebKit::WebAlternativeTextClient::WebAlternativeTextClient):
6301         (WebKit::WebAlternativeTextClient::~WebAlternativeTextClient):
6302         (WebKit::WebAlternativeTextClient::showCorrectionAlternative):
6303         (WebKit::WebAlternativeTextClient::dismissAlternative):
6304         (WebKit::WebAlternativeTextClient::dismissAlternativeSoon):
6305         (WebKit::WebAlternativeTextClient::recordAutocorrectionResponse):
6306         * WebProcess/WebCoreSupport/WebAlternativeTextClient.h: Added.
6307         (WebKit):
6308         (WebAlternativeTextClient):
6309         * WebProcess/WebCoreSupport/WebEditorClient.h:
6310         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
6311         (WebKit):
6312         * WebProcess/WebPage/WebPage.cpp:
6313         (WebKit::WebPage::WebPage):
6314
6315 2012-04-05  Csaba Osztrogonác  <ossy@webkit.org>
6316
6317         [Qt] Fix includes after QtDeclarative -> QtQML renaming
6318         https://bugs.webkit.org/show_bug.cgi?id=82195
6319
6320         Relanding r112651, because Qt5 is updated everywhere.
6321
6322         * UIProcess/API/qt/qquicknetworkreply_p.h:
6323         * UIProcess/API/qt/qquicknetworkrequest_p.h:
6324         * UIProcess/API/qt/qquickwebview.cpp:
6325         * UIProcess/API/qt/qquickwebview_p.h:
6326         * UIProcess/API/qt/qwebiconimageprovider_p.h:
6327         * UIProcess/API/qt/qwebnavigationhistory.cpp:
6328         * UIProcess/API/qt/qwebnavigationhistory_p.h:
6329         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
6330         * UIProcess/qt/QtDialogRunner.cpp:
6331         (QtDialogRunner::initForAlert):
6332         (QtDialogRunner::initForConfirm):
6333         (QtDialogRunner::initForPrompt):
6334         (QtDialogRunner::initForAuthentication):
6335         (QtDialogRunner::initForProxyAuthentication):
6336         (QtDialogRunner::initForCertificateVerification):
6337         (QtDialogRunner::initForFilePicker):
6338         (QtDialogRunner::initForDatabaseQuotaDialog):
6339         (QtDialogRunner::createDialog):
6340         * UIProcess/qt/WebPopupMenuProxyQt.cpp:
6341         (WebKit::WebPopupMenuProxyQt::createItem):
6342         (WebKit::WebPopupMenuProxyQt::createContext):
6343
6344 2012-04-04  Hayato Ito  <hayato@chromium.org>
6345
6346         Remove ReifiedTreeTraversal.
6347         https://bugs.webkit.org/show_bug.cgi?id=83110
6348
6349         Reviewed by Dimitri Glazkov.
6350
6351         * win/WebKit2.def:
6352         * win/WebKit2CFLite.def:
6353
6354 2012-04-04  Shinya Kawanaka  <shinyak@chromium.org>
6355
6356         Shadow DOM is exposed in JS.
6357         https://bugs.webkit.org/show_bug.cgi?id=82607
6358
6359         Reviewed by Hajime Morita.
6360
6361         * win/WebKit2.def:
6362         * win/WebKit2CFLite.def:
6363
6364 2012-04-04  Anders Carlsson  <andersca@apple.com>
6365
6366         Text input doesn't work for some Flash forms
6367         https://bugs.webkit.org/show_bug.cgi?id=83232
6368         <rdar://problem/11186162>
6369
6370         Reviewed by Alexey Proskuryakov.
6371
6372         If a plug-in is instantiated when the WKView is not focused, text input wouldn't work. The reason for this
6373         is that WebPage::windowIsFocused() would only return true if the window and the WKView are both focused. Rename
6374         this member function to windowAndWebPageAreFocused, add a new windowIsFocused member function that does the right thing
6375         and change WebPage::focusedWebPage to use windowAndWebPageAreFocused.
6376
6377         * WebProcess/WebPage/WebPage.cpp:
6378         (WebKit::WebPage::windowIsFocused):
6379         (WebKit):
6380         (WebKit::WebPage::windowAndWebPageAreFocused):
6381         * WebProcess/WebPage/WebPage.h:
6382         (WebPage):
6383         * WebProcess/WebProcess.cpp:
6384         (WebKit::WebProcess::focusedWebPage):
6385
6386 2012-03-15  Jer Noble  <jer.noble@apple.com>
6387
6388         Full Screen mode should cancel before navigation.
6389         https://bugs.webkit.org/show_bug.cgi?id=81295
6390
6391         Reviewed by Anders Carlsson.
6392
6393         When a provisional load is started, if the page is currently in full screen mode, instruct
6394         the full screen controller to close the full screen window immediately.
6395
6396         Close the full screen window controller, if present and in full screen mode:
6397         * UIProcess/WebPageProxy.cpp:
6398         (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): 
6399
6400         Add boilerplate to support passing through isFullScreen() and close() methods from the WebPageProxy
6401         to the WKFullScreenWindowController:
6402         * UIProcess/WebFullScreenManagerProxy.h:
6403         * UIProcess/mac/WKFullScreenWindowController.h:
6404         * UIProcess/mac/WKFullScreenWindowController.mm:
6405         (-[WKFullScreenWindowController isFullScreen]): Added simple accessor.
6406         * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
6407         (WebKit::WebFullScreenManagerProxy::close): Pass through to the WKFullScreenWindowController.
6408         (WebKit::WebFullScreenManagerProxy::isFullScreen): Ditto.
6409
6410 2012-04-04  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
6411
6412         WKTR needs to implement layoutTestController.setPageVisibility()
6413         https://bugs.webkit.org/show_bug.cgi?id=69554
6414
6415         Reviewed by Simon Fraser.
6416
6417         This patch implements the setPageVisibilityState through InjectedBundle
6418         so WKTR supports the Page Visibility API and can set the visibility state
6419         directly to Page.
6420
6421         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
6422         (WKBundleSetPageVisibilityState):
6423         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
6424         * WebProcess/InjectedBundle/InjectedBundle.cpp:
6425         (WebKit):
6426         (WebKit::InjectedBundle::setPageVisibilityState):
6427         * WebProcess/InjectedBundle/InjectedBundle.h:
6428         (InjectedBundle):
6429
6430 2012-04-04  Alexis Menard  <alexis.menard@openbossa.org>
6431
6432         Animation related classes should use CSSPropertyId rather than integers when manipulating CSS property ids.
6433         https://bugs.webkit.org/show_bug.cgi?id=83050
6434
6435         Reviewed by Simon Fraser.
6436
6437         The property of the Animation is a CSSPropertyID. It's ok to cast it here as an int for IPC transmission.
6438
6439         * Shared/WebCoreArgumentCoders.cpp:
6440         (CoreIPC::::encode):
6441         (CoreIPC::::decode):
6442
6443 2012-04-04  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
6444
6445         [Qt] Entire page highlighted on panning.
6446         https://bugs.webkit.org/show_bug.cgi?id=83158
6447
6448         Reviewed by Kenneth Rohde Christiansen.
6449
6450         * WebProcess/WebPage/WebPage.cpp:
6451         (WebKit::WebPage::highlightPotentialActivation):
6452
6453 2012-04-04  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
6454
6455         [Qt][WK2] QtWebKit2 should support Page Visibility API
6456         https://bugs.webkit.org/show_bug.cgi?id=81164
6457
6458         Reviewed by Kenneth Rohde Christiansen.
6459
6460         Implementing the last bits needed for getting the expected
6461         behavior for Page Visibility API, according to its spec.
6462         The only missing part in Qt was a way to check whether
6463         the view was exposed or not.
6464
6465         * UIProcess/qt/QtPageClient.cpp:
6466         (QtPageClient::isViewVisible):
6467
6468 2012-04-04  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
6469
6470         [WK2] Add Page Visibility API support
6471         https://bugs.webkit.org/show_bug.cgi?id=81154
6472
6473         Reviewed by Kenneth Rohde Christiansen.
6474
6475         Use WebPageProxy::viewStateDidChange to correctly define the page's
6476         visibilityState and then set it to the WebProcess. The WebKit2's based
6477         ports just need to implement the related PageClient functions in order
6478         to get this API enabled and working properly.
6479
6480         * UIProcess/WebPageProxy.cpp:
6481         (WebKit::WebPageProxy::WebPageProxy):
6482         (WebKit::WebPageProxy::initializeWebPage):
6483         (WebKit::WebPageProxy::viewStateDidChange):
6484         * WebProcess/WebPage/WebPage.cpp:
6485         (WebKit):
6486         (WebKit::WebPage::setVisibilityState):
6487         * WebProcess/WebPage/WebPage.h:
6488         (WebPage):
6489         * WebProcess/WebPage/WebPage.messages.in:
6490
6491 2012-04-04  Kenneth Rohde Christiansen  <kenneth@webkit.org>
6492
6493         [Qt] Further improvements of the tap gesture recognizer
6494         https://bugs.webkit.org/show_bug.cgi?id=83149
6495
6496         Reviewed by Zoltan Herczeg.
6497
6498         Ignore single tap while finger is still pressed.
6499         Some renaming to make the states more clear.
6500         A pan further than the maxPanDistance can now invalidate
6501         double-taps as well.
6502
6503         * UIProcess/qt/QtTapGestureRecognizer.cpp:
6504         (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
6505         (WebKit::QtTapGestureRecognizer::recognize):
6506         (WebKit::QtTapGestureRecognizer::singleTapTimeout):
6507         (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
6508         (WebKit::QtTapGestureRecognizer::reset):
6509         * UIProcess/qt/QtTapGestureRecognizer.h:
6510
6511 2012-04-04  Andras Becsi  <andras.becsi@nokia.com>
6512
6513         [Qt][WK2] Make the WebView a subclass of Flickable
6514         https://bugs.webkit.org/show_bug.cgi?id=83033
6515
6516         Reviewed by Kenneth Rohde Christiansen.
6517
6518         Hitherto, the experiment of a QML WebView with an internal Flickable
6519         instance showed that the approach of hiding the Flickable raises more
6520         problems than it solves.
6521
6522         One set of problems arose because the internal Flickable was a separate
6523         item which received and reacted on automatically synthesized mouse events
6524         send by the canvas, this interfered with the gesture recognizers of the
6525         WebView.
6526
6527         Other issues were related to orientation and the integration of the
6528         WebView item with other QML items and components (like scroll indicators)
6529         which require a larger set of the Flickable API or the Flickable object
6530         itself (e.g. ScrollDecorator).
6531
6532         These disadvantages of an internal Flickable instance outweigh the
6533         benefits of controlling the exposed API, therefore the experiment had
6534         the conclusion that there is no way around the public inheritance from
6535         QQuickFlickable.
6536
6537         This patch removes the QtFlickProvider class, inherits QQuickWebView
6538         from QQuickFlickable and adjusts the viewport interaction engine and
6539         the gesture recognizers to use the Flickable API of the WebView to
6540         keep the same behaviour as before.
6541
6542         * Target.pri:
6543         * UIProcess/API/qt/qquickwebpage.cpp:
6544         (QQuickWebPage::QQuickWebPage):
6545         * UIProcess/API/qt/qquickwebview.cpp:
6546         (QQuickWebViewPrivate::QQuickWebViewPrivate):
6547         (QQuickWebViewFlickablePrivate::initialize):
6548         (QQuickWebViewFlickablePrivate::pageItemPos):
6549         (QQuickWebViewFlickablePrivate::updateContentsSize):
6550         (QQuickWebViewFlickablePrivate::onComponentComplete):
6551         (QQuickWebViewFlickablePrivate::updateViewportSize):
6552         (QQuickWebViewExperimental::useDefaultContentItemSize):
6553         (QQuickWebViewExperimental::setUseDefaultContentItemSize):
6554         (QQuickWebView::QQuickWebView):
6555         (QQuickWebView::inputMethodQuery):
6556         (QQuickWebView::geometryChanged):
6557         (QQuickWebView::componentComplete):
6558         (QQuickWebView::event):
6559         (QQuickWebView::contentPos):
6560         (QQuickWebView::setContentPos):
6561         (QQuickWebView::handlePress):
6562         (QQuickWebView::handleMove):
6563         (QQuickWebView::handleRelease):
6564         * UIProcess/API/qt/qquickwebview_p.h:
6565         (WebKit):
6566         * UIProcess/API/qt/qquickwebview_p_p.h:
6567         (QQuickWebViewPrivate):
6568         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
6569         (tst_QQuickWebView::scrollRequest):
6570         * UIProcess/API/qt/tests/tests.pri:
6571         * UIProcess/qt/QtFlickProvider.cpp: Removed.
6572         * UIProcess/qt/QtFlickProvider.h: Removed.
6573         * UIProcess/qt/QtPanGestureRecognizer.cpp:
6574         (WebKit::QtPanGestureRecognizer::recognize):
6575         * UIProcess/qt/QtViewportInteractionEngine.cpp:
6576         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
6577         (WebKit::QtViewportInteractionEngine::setItemRectVisible):
6578         (WebKit::QtViewportInteractionEngine::flickableMoveStarted):
6579         (WebKit::QtViewportInteractionEngine::flickableMoveEnded):
6580         (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
6581         (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
6582         (WebKit::QtViewportInteractionEngine::wheelEvent):
6583         (WebKit::QtViewportInteractionEngine::reset):
6584         (WebKit::QtViewportInteractionEngine::scrollAnimationActive):
6585         (WebKit::QtViewportInteractionEngine::panGestureActive):
6586         (WebKit::QtViewportInteractionEngine::panGestureStarted):
6587         (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
6588         (WebKit::QtViewportInteractionEngine::panGestureEnded):
6589         (WebKit::QtViewportInteractionEngine::panGestureCancelled):
6590         (WebKit::QtViewportInteractionEngine::cancelScrollAnimation):
6591         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
6592         (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
6593         (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
6594         (WebKit::QtViewportInteractionEngine::scaleContent):
6595         * UIProcess/qt/QtViewportInteractionEngine.h:
6596         (QtViewportInteractionEngine):
6597         * UIProcess/qt/QtWebPageEventHandler.cpp:
6598         (QtWebPageEventHandler::doneWithTouchEvent):
6599
6600 2012-04-04  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
6601
6602         [Qt] Unable to zoom to some areas.
6603         https://bugs.webkit.org/show_bug.cgi?id=83144
6604
6605         Reviewed by Kenneth Rohde Christiansen.
6606
6607         Remember to convert touch-area to touch-point radius.
6608
6609         * WebProcess/WebPage/WebPage.cpp:
6610         (WebKit::WebPage::findZoomableAreaForPoint):
6611
6612 2012-04-04  Kenneth Rohde Christiansen  <kenneth@webkit.org>
6613
6614         [Qt] Improve the tap gesture recognizer
6615         https://bugs.webkit.org/show_bug.cgi?id=83135
6616
6617         Reviewed by Simon Hausmann.
6618
6619         Clean up the code and make sure that the first single tap
6620         event, as part of a double tap gesture, is ignored.
6621
6622         * UIProcess/qt/QtTapGestureRecognizer.cpp:
6623         (WebKit::QtTapGestureRecognizer::withinDistance):
6624         (WebKit):
6625         (WebKit::QtTapGestureRecognizer::recognize):
6626         (WebKit::QtTapGestureRecognizer::singleTapTimeout):
6627         (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
6628         (WebKit::QtTapGestureRecognizer::reset):
6629         * UIProcess/qt/QtTapGestureRecognizer.h:
6630         (QtTapGestureRecognizer):
6631
6632 2012-04-03  Geoffrey Garen  <ggaren@apple.com>
6633
6634         Fixed some WebKit2 crashes seen on the buildbot after my last patch.
6635
6636         Reviewed by Beth Dakin.
6637
6638         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
6639         (WebKit::NPRuntimeObjectMap::finalize): Don't try to get our value
6640         out of the map, since Weak<T> returns NULL during finalization. Instead,
6641         use the handle we've been passed for finalization.
6642
6643 2012-03-29  Geoffrey Garen  <ggaren@apple.com>
6644
6645         First step toward incremental Weak<T> finalization
6646         https://bugs.webkit.org/show_bug.cgi?id=82670
6647
6648         Reviewed by Filip Pizlo.
6649
6650         Updated for API change.
6651
6652         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
6653         (WebKit::NPRuntimeObjectMap::finalize):
6654
6655 2012-04-03  Keishi Hattori  <keishi@webkit.org>
6656
6657         Disable ENABLE_DATALIST for now
6658         https://bugs.webkit.org/show_bug.cgi?id=82871
6659
6660         Reviewed by Kent Tamura.
6661
6662         * Configurations/FeatureDefines.xcconfig: Disabled ENABLE_DATALIST.
6663
6664 2012-04-03  Yael Aharon  <yael.aharon@nokia.com>
6665
6666         [Qt][WK2] Assert on startup after r113090
6667         https://bugs.webkit.org/show_bug.cgi?id=83111
6668
6669         Reviewed by Noam Rosenthal.
6670
6671         Add willBeDestroyed to to WebGraphicsLayer.
6672
6673         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
6674         (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
6675         (WebCore):
6676         (WebCore::WebGraphicsLayer::willBeDestroyed):
6677         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
6678         (WebGraphicsLayer):
6679
6680 2012-04-03  Sam Weinig  <sam@webkit.org>
6681
6682         Allow the old WebKit2 drawing model to host layers in the window server
6683         <rdar://problem/11170525>
6684         https://bugs.webkit.org/show_bug.cgi?id=83101
6685
6686         Reviewed by Anders Carlsson.
6687
6688         * UIProcess/DrawingAreaProxyImpl.cpp:
6689         (WebKit::DrawingAreaProxyImpl::layerHostingModeDidChange):
6690         * UIProcess/DrawingAreaProxyImpl.h:
6691         (DrawingAreaProxyImpl):
6692         * WebProcess/WebPage/DrawingArea.h:
6693         (DrawingArea):
6694         * WebProcess/WebPage/DrawingAreaImpl.cpp:
6695         (WebKit::DrawingAreaImpl::setLayerHostingMode):
6696         * WebProcess/WebPage/DrawingAreaImpl.h:
6697         (DrawingAreaImpl):
6698         * WebProcess/WebPage/LayerTreeHost.h:
6699         (LayerTreeHost):
6700         (WebKit::LayerTreeHost::setLayerHostingMode):
6701         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
6702         (LayerTreeHostCAMac):
6703         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
6704         (WebKit::LayerTreeHostCAMac::platformInitialize):
6705         (WebKit::LayerTreeHostCAMac::setLayerHostingMode):
6706         Pipe layer hosting mode to the old drawing area.
6707
6708 2012-04-03  Jia Pu  <jpu@apple.com>
6709
6710         Rename SpellingCorrectionController to AlternativeTextController.
6711         https://bugs.webkit.org/show_bug.cgi?id=82942
6712
6713         Reviewed by Enrica Casucci.
6714
6715         These changes are simply for adopting new class names.
6716
6717         * UIProcess/API/mac/PageClientImpl.h:
6718         (PageClientImpl):
6719         * UIProcess/API/mac/PageClientImpl.mm:
6720         (WebKit::PageClientImpl::showCorrectionPanel):
6721         (WebKit::PageClientImpl::dismissCorrectionPanel):
6722         (WebKit::PageClientImpl::dismissCorrectionPanelSoon):
6723         * UIProcess/API/mac/WKView.mm:
6724         (-[WKView handleCorrectionPanelResult:]):
6725         * UIProcess/PageClient.h:
6726         (PageClient):
6727         * UIProcess/WebPageProxy.cpp:
6728         (WebKit::WebPageProxy::didCommitLoadForFrame):
6729         (WebKit::WebPageProxy::pageDidScroll):
6730         (WebKit::WebPageProxy::processDidCrash):
6731         (WebKit::WebPageProxy::showCorrectionPanel):
6732         (WebKit::WebPageProxy::dismissCorrectionPanel):
6733         (WebKit::WebPageProxy::dismissCorrectionPanelSoon):
6734         (WebKit::WebPageProxy::handleAlternativeTextUIResult):
6735         * UIProcess/WebPageProxy.h:
6736         (WebPageProxy):
6737         * UIProcess/mac/CorrectionPanel.h:
6738         (CorrectionPanel):
6739         * UIProcess/mac/CorrectionPanel.mm:
6740         (correctionIndicatorType):
6741         (WebKit::CorrectionPanel::CorrectionPanel):
6742         (WebKit::CorrectionPanel::~CorrectionPanel):
6743         (WebKit::CorrectionPanel::show):
6744         (WebKit::CorrectionPanel::dismiss):
6745         (WebKit::CorrectionPanel::dismissInternal):
6746         (WebKit::CorrectionPanel::handleAcceptedReplacement):
6747         * WebProcess/WebCoreSupport/WebEditorClient.h:
6748         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
6749         (WebKit::WebEditorClient::showCorrectionPanel):
6750         (WebKit::WebEditorClient::dismissCorrectionPanel):
6751         (WebKit::WebEditorClient::dismissCorrectionPanelSoon):
6752         * WebProcess/WebPage/WebPage.cpp:
6753         (WebKit::WebPage::handleAlternativeTextUIResult):
6754         * WebProcess/WebPage/WebPage.h:
6755         (WebPage):
6756         * WebProcess/WebPage/WebPage.messages.in:
6757
6758 2012-04-03  Zalan Bujtas  <zbujtas@gmail.com>
6759
6760         [Qt][WK2] Remove #if !USE(TILED_BACKING_STORE) from WebFrameLoaderClient::transitionToCommittedForNewPage()
6761         https://bugs.webkit.org/show_bug.cgi?id=83070
6762
6763         Reviewed by Andreas Kling.
6764
6765         It is preventing m_frameHasCustomRepresentation to be set properly and not in sync with
6766         WebFrameLoaderClient::transitionToCommittedFromCachedFrame()
6767
6768         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
6769         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
6770
6771 2012-04-03  Jer Noble  <jer.noble@apple.com>
6772
6773         ESC key in full screen does not result in webkitFullScreenChange event.
6774         https://bugs.webkit.org/show_bug.cgi?id=82755
6775         <rdar://problem/11093513>
6776
6777         Reviewed by Eric Carlson.
6778
6779         Instead of exiting full screen directly, ask the document to initiate exiting full screen. This ensures
6780         that the entire full screen element stack is cleared and that webkitFullScreenChange events are sent
6781         out correctly.
6782
6783         Because the WebProcess may be stalled or hung, add a watchdog timer which will force an exit of full
6784         screen if the WebProcess does not respond in a timely manner (defaults to 1s).
6785
6786         Add a new method, requestExitFullScreen, which calls through to the WebProcess and Document:
6787         * UIProcess/WebFullScreenManagerProxy.cpp:
6788         (WebKit::WebFullScreenManagerProxy::requestExitFullScreen):
6789         * UIProcess/WebFullScreenManagerProxy.h:
6790         * WebProcess/FullScreen/WebFullScreenManager.cpp:
6791         (WebKit::WebFullScreenManager::requestExitFullScreen):
6792         * WebProcess/FullScreen/WebFullScreenManager.h:
6793         * WebProcess/FullScreen/WebFullScreenManager.messages.in:
6794
6795         Request that the document exits full screen when the ESC key is pressed:
6796         * UIProcess/mac/WKFullScreenWindowController.h:
6797         * UIProcess/mac/WKFullScreenWindowController.mm:
6798         (-[WKFullScreenWindowController cancelOperation:]):
6799         (-[WKFullScreenWindowController exitFullScreen]):
6800
6801 2012-04-03  Balazs Kelemen  <kbalazs@webkit.org>
6802
6803         [Qt][WK2] ASSERT(!(outputBytes.size() % sizeof(UChar))) in PluginProcessProxyQt.cpp
6804         https://bugs.webkit.org/show_bug.cgi?id=83034
6805
6806         Reviewed by Zoltan Herczeg.
6807
6808         Don't allow the plugin to pollute the standard output.
6809         Reinvent StdOutDevNullRedirector which was removed in
6810         r112889 for this purpose.
6811
6812         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
6813         (StdoutDevNullRedirector):
6814         (WebKit):
6815         (WebKit::StdoutDevNullRedirector::StdoutDevNullRedirector):
6816         (WebKit::StdoutDevNullRedirector::~StdoutDevNullRedirector):
6817         (WebKit::NetscapePluginModule::scanPlugin):
6818
6819 2012-04-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
6820
6821         Enable and connect the WebInspectorServer with WebKit2 pages.
6822         https://bugs.webkit.org/show_bug.cgi?id=73094
6823
6824         Reviewed by Simon Hausmann.
6825
6826         Pages are registered/unregistered as they are created/destroyed, if they have
6827         developer extras enabled. The server is run on the UI process and communicates
6828         with the web process through IPC for each message between the inspector
6829         controller and the remote frontend.
6830
6831         Includes the server spawning logic for the Qt port, the server is
6832         started through an environment variable specifying the interface and
6833         port to bind the server to, by default on 127.0.0.1.
6834
6835         * UIProcess/WebInspectorProxy.cpp:
6836         (WebKit::WebInspectorProxy::WebInspectorProxy):
6837         (WebKit::WebInspectorProxy::invalidate):
6838         (WebKit):
6839         (WebKit::WebInspectorProxy::enableRemoteInspection):
6840         (WebKit::WebInspectorProxy::remoteFrontendConnected):
6841         (WebKit::WebInspectorProxy::remoteFrontendDisconnected):
6842         (WebKit::WebInspectorProxy::dispatchMessageFromRemoteFrontend):
6843         (WebKit::WebInspectorProxy::sendMessageToRemoteFrontend):
6844         * UIProcess/WebInspectorProxy.h:
6845         (WebInspectorProxy):
6846         * UIProcess/WebInspectorProxy.messages.in:
6847         * UIProcess/WebPageProxy.cpp:
6848         (WebKit::WebPageProxy::initializeWebPage):
6849         (WebKit::WebPageProxy::preferencesDidChange):
6850         * UIProcess/qt/QtWebContext.cpp:
6851         (WebKit::initInspectorServer):
6852         (WebKit):
6853         (WebKit::globalInitialization):
6854         (WebKit::QtWebContext::create):
6855         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
6856         (WebKit::WebInspectorClient::sendMessageToFrontend):
6857         * WebProcess/WebPage/WebInspector.cpp:
6858         (WebKit::WebInspector::WebInspector):
6859         (WebKit):
6860         (WebKit::WebInspector::sendMessageToRemoteFrontend):
6861         (WebKit::WebInspector::dispatchMessageFromRemoteFrontend):
6862         (WebKit::WebInspector::remoteFrontendConnected):
6863         (WebKit::WebInspector::remoteFrontendDisconnected):
6864         * WebProcess/WebPage/WebInspector.h:
6865         (WebInspector):
6866         (WebKit::WebInspector::hasRemoteFrontendConnected):
6867         * WebProcess/WebPage/WebInspector.messages.in:
6868
6869 2012-03-29  Joseph Pecoraro  <joepeck@webkit.org> and Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
6870
6871         WebInspectorServer for WebKit2.
6872         https://bugs.webkit.org/show_bug.cgi?id=73855
6873
6874         Reviewed by Simon Hausmann.
6875
6876         The server uses WebSocket for communication with the remote client and
6877         normal HTTP requests are handled to optionally send the frontend on the
6878         wire. Those decision are handled per platform and Qt currently maps:
6879
6880           - "/" to a static listing page.
6881           - "/pagelist.json" to the page list for the listing page or tools.
6882           - anything else, for example "/inspector.js" to the file with the
6883             same name in the dynamic libraries built resources.
6884             Invalid files should return a 404.
6885
6886         * Target.pri:
6887         * UIProcess/InspectorServer/WebInspectorServer.cpp: Added.
6888         (WebKit):
6889         (WebKit::pageIdFromRequestPath):
6890         (WebKit::WebInspectorServer::server):
6891         (WebKit::WebInspectorServer::WebInspectorServer):
6892         (WebKit::WebInspectorServer::~WebInspectorServer):
6893         (WebKit::WebInspectorServer::registerPage):
6894         (WebKit::WebInspectorServer::unregisterPage):
6895         (WebKit::WebInspectorServer::sendMessageOverConnection):
6896         (WebKit::WebInspectorServer::didReceiveUnrecognizedHTTPRequest):
6897         (WebKit::WebInspectorServer::didReceiveWebSocketUpgradeHTTPRequest):
6898         (WebKit::WebInspectorServer::didEstablishWebSocketConnection):
6899         (WebKit::WebInspectorServer::didReceiveWebSocketMessage):
6900         (WebKit::WebInspectorServer::didCloseWebSocketConnection):
6901         (WebKit::WebInspectorServer::closeConnection):
6902         * UIProcess/InspectorServer/WebInspectorServer.h: Added.
6903         (WebKit):
6904         (WebInspectorServer):
6905         * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp: Added.
6906         (WebKit):
6907         (WebKit::WebInspectorServer::platformResourceForPath):
6908         (WebKit::WebInspectorServer::buildPageList):
6909         * WebKit2.qrc: Added.
6910         * qt/Resources/inspectorPageIndex.html: Added.
6911
6912 2012-03-29  Joseph Pecoraro  <joepeck@webkit.org> and Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
6913
6914         Add a Generic WebSocket Server.
6915         https://bugs.webkit.org/show_bug.cgi?id=73093
6916
6917         Reviewed by Simon Hausmann.
6918
6919         The Inspector Server will be a WebSocket Server that also responds to
6920         non-WebSocket-Upgrade HTTP Requests. This is a generic WebSocket server
6921         that passes on what it doesn't know on to its client for extended
6922         functionality. This code is wrapped in a new ENABLE(INSPECTOR_SERVER) flag.
6923
6924         There are no tests yet for a built-in WebSocket server.
6925         This will be covered by API level tests in a later patch.
6926
6927         * Target.pri:
6928
6929           WebSocketServer is a simple server. Calling listen, or close,
6930           multiple times is safe. Subclassing is expected.
6931
6932         * UIProcess/InspectorServer/WebSocketServer.cpp: Added.
6933         (WebKit):
6934         (WebKit::WebSocketServer::WebSocketServer):
6935         (WebKit::WebSocketServer::~WebSocketServer):
6936         (WebKit::WebSocketServer::listen):
6937         (WebKit::WebSocketServer::close):
6938         (WebKit::WebSocketServer::didAcceptConnection):
6939         (WebKit::WebSocketServer::didCloseWebSocketServerConnection):
6940         * UIProcess/InspectorServer/WebSocketServer.h: Added.
6941         (WebKit):
6942         (WebCore):
6943         (WebSocketServer):
6944         * UIProcess/InspectorServer/WebSocketServerClient.h: Added.
6945         (WebCore):
6946         (WebKit):
6947         (WebSocketServerClient):
6948         (WebKit::WebSocketServerClient::~WebSocketServerClient):
6949         (WebKit::WebSocketServerClient::didReceiveUnrecognizedHTTPRequest):
6950         (WebKit::WebSocketServerClient::didReceiveWebSocketUpgradeHTTPRequest):
6951         (WebKit::WebSocketServerClient::didEstablishWebSocketConnection):
6952         (WebKit::WebSocketServerClient::didReceiveWebSocketMessage):
6953         (WebKit::WebSocketServerClient::didCloseWebSocketConnection):
6954
6955           Each WebSocketConnection:
6956
6957            - Passes unknown HTTP Requests to the server's client.
6958            - Handles WebSocket Upgrade Requests.
6959              - First ask the client if it is okay.
6960              - Later notify the client about a success.
6961            - Once upgraded the connection parses and passes WebSocket
6962              frames to the client.
6963
6964         * UIProcess/InspectorServer/WebSocketServerConnection.cpp: Added.
6965         (WebKit):
6966         (WebKit::WebSocketServerConnection::WebSocketServerConnection):
6967         (WebKit::WebSocketServerConnection::~WebSocketServerConnection):
6968         (WebKit::WebSocketServerConnection::shutdownNow):
6969         (WebKit::WebSocketServerConnection::shutdownAfterSendOrNow): meant to shutdown after an HTTP response. Ensure all platforms work as expected.
6970         (WebKit::WebSocketServerConnection::sendWebSocketMessage): send a text message (WebSocket message) over the connection.
6971         (WebKit::WebSocketServerConnection::sendHTTPResponseHeader):
6972         (WebKit::WebSocketServerConnection::sendRawData): send raw data (HTTP message) over the connection.
6973         (WebKit::WebSocketServerConnection::didCloseSocketStream): handle socket closing scenarios.
6974         (WebKit::WebSocketServerConnection::didReceiveSocketStreamData): parse the incoming data in HTTP / WebSocket modes.
6975         (WebKit::WebSocketServerConnection::didFailSocketStream): log errors.
6976         (WebKit::WebSocketServerConnection::readHTTPMessage): when starting, a web socket connection reads an HTTP message.
6977         (WebKit::WebSocketServerConnection::upgradeToWebSocketServerConnection):
6978         (WebKit::WebSocketServerConnection::readWebSocketFrames): parse our buffer for as many frames as possible.
6979         (WebKit::WebSocketServerConnection::readWebSocketFrame): parse an individual frame.
6980         * UIProcess/InspectorServer/WebSocketServerConnection.h: Added.
6981         (WebCore):
6982         (WebKit):
6983         (WebSocketServerConnection):
6984         (WebKit::WebSocketServerConnection::identifier):
6985         (WebKit::WebSocketServerConnection::setIdentifier):
6986
6987           Qt specific implementation.
6988
6989         * UIProcess/InspectorServer/qt/WebSocketServerQt.cpp: Added.
6990         (WebKit):
6991         (WebKit::WebSocketServer::platformInitialize):
6992         (WebKit::WebSocketServer::platformListen):
6993         (WebKit::WebSocketServer::platformClose):
6994         (WebKit::QtTcpServerHandler::QtTcpServerHandler):
6995         (WebKit::QtTcpServerHandler::handleNewConnection):
6996         (WebKit::QtTcpServerHandler::listen):
6997         (WebKit::QtTcpServerHandler::close):
6998         * UIProcess/InspectorServer/qt/WebSocketServerQt.h: Added.
6999         (WebKit):
7000         (QtTcpServerHandler):
7001
7002         * WebKit2.pri:
7003         * config.h: Add ENABLE(INSPECTOR_SERVER) for WebKit2.
7004
7005 2012-04-03  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
7006
7007         [Qt] Add developerExtrasEnabled to QWebPreferences.
7008         https://bugs.webkit.org/show_bug.cgi?id=83018
7009
7010         Reviewed by Kenneth Rohde Christiansen.
7011
7012         This is required to allow inspecting pages.
7013
7014         * UIProcess/API/qt/qwebpreferences.cpp:
7015         (QWebPreferencesPrivate::testAttribute):
7016         (QWebPreferencesPrivate::setAttribute):
7017         (QWebPreferences::developerExtrasEnabled):
7018         (QWebPreferences::setDeveloperExtrasEnabled):
7019         * UIProcess/API/qt/qwebpreferences_p.h:
7020         * UIProcess/API/qt/qwebpreferences_p_p.h:
7021
7022 2012-04-03  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
7023
7024         [Qt] Tap highlight attempted hidden several times
7025         https://bugs.webkit.org/show_bug.cgi?id=82903
7026
7027         Reviewed by Kenneth Rohde Christiansen.
7028
7029         Do not reset GestureRecognizer if already reset, and do not
7030         disable tap-highlight on touch-end if already reset.
7031
7032         * UIProcess/qt/QtTapGestureRecognizer.cpp:
7033         (WebKit::QtTapGestureRecognizer::recognize):
7034         (WebKit::QtTapGestureRecognizer::reset):
7035
7036 2012-04-03  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
7037
7038         [Qt] Tap highlight still showing when tap gesture has timed out
7039         https://bugs.webkit.org/show_bug.cgi?id=82902
7040
7041         Reviewed by Kenneth Rohde Christiansen.
7042
7043         Disable highlight of potential tap, when tap-and-hold state
7044         replaces potential tap state.
7045
7046         * UIProcess/qt/QtTapGestureRecognizer.cpp:
7047         (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
7048
7049 2012-04-02  Zalan Bujtas  <zbujtas@gmail.com>
7050
7051         [Qt][WK2] Set viewport size back, when WebProcess is relaunched.
7052         https://bugs.webkit.org/show_bug.cgi?id=82936
7053
7054         Reviewed by Andreas Kling.
7055
7056         Fixed layout requires viewport size set properly on the WebProcess side.
7057         Make sure it is set, when WebProcess is relaunched.
7058
7059         * UIProcess/API/qt/qquickwebview.cpp:
7060         (QQuickWebViewPrivate::didRelaunchProcess):
7061
7062 2012-04-02  Anders Carlsson  <andersca@apple.com>
7063
7064         Call NPP_SetValue with WKNVCALayerRenderServerPort when a WKView is moved from a buffered to an unbuffered window, or vice versa
7065         https://bugs.webkit.org/show_bug.cgi?id=82951
7066         <rdar://problem/10589308>
7067
7068         Reviewed by Sam Weinig.
7069
7070         * PluginProcess/mac/PluginControllerProxyMac.mm:
7071         (WebKit::PluginControllerProxy::setLayerHostingMode):
7072         Call Plugin::setLayerHostingMode).
7073
7074         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
7075         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.h:
7076         Move WKNVCALayerRenderServerPort to the header file.
7077
7078         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
7079         (WebKit::NetscapePlugin::NetscapePlugin):
7080         Initialize m_layerHostingMode.
7081
7082         (WebKit::NetscapePlugin::initialize):
7083         Set m_layerHostingMode from the parameters struct.
7084
7085         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
7086         (WebKit::NetscapePlugin::compositingRenderServerPort):
7087         Return MACH_PORT_NULL when hosted in the window server.
7088
7089         (WebKit::NetscapePlugin::platformPostInitialize):
7090         Move the code that gets the layer out into a separate function, updatePluginLayer.
7091
7092         (WebKit::NetscapePlugin::setLayerHostingMode):
7093         Let the plug-in know that the layer hosting mode changed and update the plug-in layer if
7094         setting the new compositing port was successful.
7095
7096 2012-04-02  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
7097
7098         [Qt][WK2] ResourceError::isCancellation() is always returning false
7099         https://bugs.webkit.org/show_bug.cgi?id=82917
7100
7101         Reviewed by Noam Rosenthal.
7102
7103         We were missing the encoding of a boolean in ArgumentCoder<ResourceError>
7104         and, therefore, we were getting always "false" for ResourceError::isCancellation()
7105         for errors being sent through the IPC.
7106
7107         * Shared/qt/WebCoreArgumentCodersQt.cpp:
7108         (CoreIPC::::encode):
7109         (CoreIPC::::decode):
7110
7111 2012-03-29  Sam Weinig  <sam@webkit.org>
7112
7113         Add setting to disable Java for local files even if it is otherwise enabled
7114         https://bugs.webkit.org/show_bug.cgi?id=82685
7115
7116         Reviewed by Anders Carlsson.
7117
7118         * Shared/WebPreferencesStore.h:
7119         * UIProcess/API/C/WKPreferences.cpp:
7120         (WKPreferencesSetJavaEnabledForLocalFiles):
7121         (WKPreferencesGetJavaEnabledForLocalFiles):
7122         * UIProcess/API/C/WKPreferencesPrivate.h:
7123         * WebProcess/WebPage/WebPage.cpp:
7124         (WebKit::WebPage::updatePreferences):
7125         Add pref as SPI and forward to WebCore.
7126
7127 2012-04-02  Balazs Kelemen  <kbalazs@webkit.org>
7128
7129         [Qt][WK2] Set up plugin process on Unix
7130         https://bugs.webkit.org/show_bug.cgi?id=72121
7131
7132         Reviewed by Simon Hausmann.
7133
7134         Setup plugin process for Qt and move the task of querying the plugins
7135         to this process in order to avoid crashes due to plugin bugs or library
7136         incompatibility.
7137
7138         * GNUmakefile.am:
7139         * PluginProcess.pro: Added.
7140
7141         * PluginProcess/gtk/PluginProcessMainGtk.cpp:
7142         (WebKit::PluginProcessMainGtk):
7143         * PluginProcess/qt/PluginProcessMainQt.cpp:
7144         (WebKit::messageHandler):
7145         (WebKit::initializeGtk):
7146         (WebKit):
7147         (WebKit::PluginProcessMain):
7148         Implement entry point of the plugin process.
7149         Handle -scanPlugin command line switch: produce meta data
7150         of plugin on standard output and terminate. Move Gtk initialization
7151         hack to there.
7152
7153         * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
7154         (WebKit::NetscapePluginModule::tryLoad):
7155         Get rid of the Gtk initialization hack. We do not nead it here anymore.
7156
7157         * Shared/Plugins/Netscape/NetscapePluginModule.h:
7158         (WebKit):
7159         (NetscapePluginModule):
7160         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
7161         (WebKit::parseMIMEDescription):
7162         (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin):
7163         (WebKit):
7164         (WebKit::NetscapePluginModule::getPluginInfo):
7165         Get plugin meta data via PluginProcessproxy. If a failure
7166         happened we ignore to use the plugin. Remove the concept
7167         of stdout redirection since we can control it when launching
7168         the process.
7169
7170         (WebKit::NetscapePluginModule::determineQuirks):
7171         (WebKit::truncateToSingleLine):
7172         (WebKit::NetscapePluginModule::scanPlugin):
7173         Produce plugin meta data on standard output.
7174
7175         * Shared/ProcessExecutablePath.h: Added.
7176         (WebKit):
7177         * Shared/gtk/ProcessExecutablePathGtk.cpp: Added.
7178         (findWebKitProcess):
7179         (executablePathOfWebProcess):
7180         (executablePathOfPluginProcess):
7181         * Shared/qt/ProcessExecutablePathQt.cpp: Copied from Source/WebKit2/UIProcess/Plugins/qt/PluginProcessProxyQt.cpp.
7182         (WebKit):
7183         (WebKit::executablePath):
7184         (WebKit::executablePathOfWebProcess):
7185         (WebKit::executablePathOfPluginProcess):
7186         Factored the executable path determination into free functions
7187         to avoid code duplication.
7188
7189         * Shared/qt/ShareableBitmapQt.cpp:
7190         (WebKit::ShareableBitmap::paint):
7191         Added implementation for the override with the scale factor because
7192         it is called from PluginProxy. It does not actually handle the case
7193         when the scale factor is not 1. However it's ok because it can only
7194         happen on Mac in the moment.
7195
7196         * Target.pri:
7197         * UIProcess/Launcher/ProcessLauncher.h:
7198         (ProcessLauncher):
7199         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
7200         (WebKit::ProcessLauncher::launchProcess):
7201         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
7202         (WebKit::ProcessLauncher::launchProcess):
7203         Use the new functions to determine the executable path.
7204
7205         * UIProcess/Plugins/PluginProcessProxy.h:
7206         (WebKit):
7207         (RawPluginMetaData):
7208         (PluginProcessProxy):
7209         * UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp:
7210         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
7211         (WebKit):
7212         (WebKit::PluginProcessProxy::scanPlugin):
7213         * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
7214         (WebKit):
7215         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
7216         (WebKit::PluginProcessProxy::scanPlugin):
7217         Launch plugin process and parse it's output to get the meta data
7218         for the plugin.
7219
7220         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
7221         (WebKit::NPN_GetValue):
7222         Changed according to the removing of the flash hack. Do not try
7223         to decide whether the plugin needs Gtk by it's name but instead
7224         always get back the expected Gtk version (2). Only Gtk plugins
7225         should ask for this anyway.
7226
7227         * qt/PluginMainQt.cpp: Copied from Source/WebKit2/UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp.
7228         (WebKit):
7229         (main):
7230
7231 2012-04-02  Sheriff Bot  <webkit.review.bot@gmail.com>
7232
7233         Unreviewed, rolling out r112868, r112879, and r112881.
7234         http://trac.webkit.org/changeset/112868
7235         http://trac.webkit.org/changeset/112879
7236         http://trac.webkit.org/changeset/112881
7237         https://bugs.webkit.org/show_bug.cgi?id=82901
7238
7239         "Build fail on bots." (Requested by kbalazs on #webkit).
7240
7241         * GNUmakefile.am:
7242         * PluginProcess.pro: Removed.
7243         * PluginProcess/gtk/PluginProcessMainGtk.cpp:
7244         (WebKit::PluginProcessMainGtk):
7245         * PluginProcess/qt/PluginProcessMainQt.cpp:
7246         (WebKit::PluginProcessMain):
7247         * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
7248         (WebKit::NetscapePluginModule::tryLoad):
7249         * Shared/Plugins/Netscape/NetscapePluginModule.h:
7250         (NetscapePluginModule):
7251         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
7252         (StdoutDevNullRedirector):
7253         (WebKit):
7254         (WebKit::StdoutDevNullRedirector::StdoutDevNullRedirector):
7255         (WebKit::StdoutDevNullRedirector::~StdoutDevNullRedirector):
7256         (WebKit::initializeGTK):
7257         (WebKit::NetscapePluginModule::applyX11QuirksBeforeLoad):
7258         (WebKit::NetscapePluginModule::setMIMEDescription):
7259         (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin):
7260         (WebKit::NetscapePluginModule::getPluginInfo):
7261         (WebKit::NetscapePluginModule::determineQuirks):
7262         * Shared/ProcessExecutablePath.h: Removed.
7263         * Shared/gtk/ProcessExecutablePathGtk.cpp: Removed.
7264         * Shared/qt/ProcessExecutablePathQt.cpp: Removed.
7265         * Shared/qt/ShareableBitmapQt.cpp:
7266         (WebKit::ShareableBitmap::paint):
7267         * Target.pri:
7268         * UIProcess/Launcher/ProcessLauncher.h:
7269         (ProcessLauncher):
7270         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
7271         (WebKit):
7272         (WebKit::findWebKitProcess):
7273         (WebKit::ProcessLauncher::launchProcess):
7274         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
7275         (WebKit::ProcessLauncher::launchProcess):
7276         * UIProcess/Plugins/PluginProcessProxy.h:
7277         (WebKit):
7278         (PluginProcessProxy):
7279         * UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp:
7280         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
7281         * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
7282         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
7283         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
7284         (WebKit::NPN_GetValue):
7285         * qt/PluginMainQt.cpp: Removed.
7286
7287 2012-04-02  Balazs Kelemen  <kbalazs@webkit.org>
7288
7289         One more try to fix Qt build after r112868.
7290
7291         It's a misery why I don't have these build failures
7292         locally.
7293
7294         * PluginProcess.pro:
7295
7296 2012-04-02  Balazs Kelemen  <kbalazs@webkit.org>
7297
7298         Fix Qt build after r112868.
7299
7300         * PluginProcess.pro: Add WTF into includepath.
7301
7302 2012-04-02  Zalan Bujtas  <zbujtas@gmail.com>
7303
7304         [Qt][WK2] Call resize on frameview in WebPage::resizeToContentsIfNeeded only when the size changes.
7305         https://bugs.webkit.org/show_bug.cgi?id=82892
7306
7307         Reviewed by Kenneth Rohde Christiansen.
7308
7309         Check against the expanded size before calling resize on frameview.
7310
7311         * WebProcess/WebPage/WebPage.cpp:
7312         (WebKit::WebPage::setFixedVisibleContentRect):
7313         (WebKit::WebPage::resizeToContentsIfNeeded):
7314
7315 2012-04-02  Balazs Kelemen  <kbalazs@webkit.org>
7316
7317         [Qt][WK2] Set up plugin process on Unix
7318         https://bugs.webkit.org/show_bug.cgi?id=72121
7319
7320         Reviewed by Simon Hausmann.
7321
7322         Setup plugin process for Qt and move the task of querying the plugins
7323         to this process in order to avoid crashes due to plugin bugs or library
7324         incompatibility.
7325
7326         * GNUmakefile.am:
7327         * PluginProcess.pro: Added.
7328
7329         * PluginProcess/gtk/PluginProcessMainGtk.cpp:
7330         (WebKit::PluginProcessMainGtk):
7331         * PluginProcess/qt/PluginProcessMainQt.cpp:
7332         (WebKit::messageHandler):
7333         (WebKit::initializeGtk):
7334         (WebKit):
7335         (WebKit::PluginProcessMain):
7336         Implement entry point of the plugin process.
7337         Handle -scanPlugin command line switch: produce meta data
7338         of plugin on standard output and terminate. Move Gtk initialization
7339         hack to there.
7340
7341         * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
7342         (WebKit::NetscapePluginModule::tryLoad):
7343         Get rid of the Gtk initialization hack. We do not nead it here anymore.
7344
7345         * Shared/Plugins/Netscape/NetscapePluginModule.h:
7346         (WebKit):
7347         (NetscapePluginModule):
7348         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
7349         (WebKit::parseMIMEDescription):
7350         (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin):
7351         (WebKit):
7352         (WebKit::NetscapePluginModule::getPluginInfo):
7353         Get plugin meta data via PluginProcessproxy. If a failure
7354         happened we ignore to use the plugin. Remove the concept
7355         of stdout redirection since we can control it when launching
7356         the process.
7357
7358         (WebKit::NetscapePluginModule::determineQuirks):
7359         (WebKit::truncateToSingleLine):
7360         (WebKit::NetscapePluginModule::scanPlugin):
7361         Produce plugin meta data on standard output.
7362
7363         * Shared/ProcessExecutablePath.h: Added.
7364         (WebKit):
7365         * Shared/gtk/ProcessExecutablePathGtk.cpp: Added.
7366         (findWebKitProcess):
7367         (executablePathOfWebProcess):
7368         (executablePathOfPluginProcess):
7369         * Shared/qt/ProcessExecutablePathQt.cpp: Copied from Source/WebKit2/UIProcess/Plugins/qt/PluginProcessProxyQt.cpp.
7370         (WebKit):
7371         (WebKit::executablePath):
7372         (WebKit::executablePathOfWebProcess):
7373         (WebKit::executablePathOfPluginProcess):
7374         Factored the executable path determination into free functions
7375         to avoid code duplication.
7376
7377         * Shared/qt/ShareableBitmapQt.cpp:
7378         (WebKit::ShareableBitmap::paint):
7379         Added implementation for the override with the scale factor because
7380         it is called from PluginProxy. It does not actually handle the case
7381         when the scale factor is not 1. However it's ok because it can only
7382         happen on Mac in the moment.
7383
7384         * Target.pri:
7385         * UIProcess/Launcher/ProcessLauncher.h:
7386         (ProcessLauncher):
7387         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
7388         (WebKit::ProcessLauncher::launchProcess):
7389         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
7390         (WebKit::ProcessLauncher::launchProcess):
7391         Use the new functions to determine the executable path.
7392
7393         * UIProcess/Plugins/PluginProcessProxy.h:
7394         (WebKit):
7395         (RawPluginMetaData):
7396         (PluginProcessProxy):
7397         * UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp:
7398         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
7399         (WebKit):
7400         (WebKit::PluginProcessProxy::scanPlugin):
7401         * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
7402         (WebKit):
7403         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
7404         (WebKit::PluginProcessProxy::scanPlugin):
7405         Launch plugin process and parse it's output to get the meta data
7406         for the plugin.
7407
7408         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
7409         (WebKit::NPN_GetValue):
7410         Changed according to the removing of the flash hack. Do not try
7411         to decide whether the plugin needs Gtk by it's name but instead
7412         always get back the expected Gtk version (2). Only Gtk plugins
7413         should ask for this anyway.
7414
7415         * qt/PluginMainQt.cpp: Copied from Source/WebKit2/UIProcess/Plugins/gtk/PluginProcessProxyGtk.cpp.
7416         (WebKit):
7417         (main):
7418
7419 2012-03-16  Philippe Normand  <pnormand@igalia.com>
7420
7421         [GTK][WK2] Initial FullScreen support
7422         https://bugs.webkit.org/show_bug.cgi?id=75553
7423
7424         Reviewed by Martin Robinson.
7425
7426         Full screen display support in WebKitWebViewBase. Two functions
7427         have been added to handle this. They're called by the
7428         WebFullScreenManagerProxy when full screen display needs to be
7429         managed for an HTML element.
7430
7431         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
7432         (_WebKitWebViewBasePrivate):
7433         (webkitWebViewBaseCreateWebPage):
7434         (onFullscreenGtkKeyPressEvent):
7435         (webkitWebViewBaseEnterFullScreen):
7436         (webkitWebViewBaseExitFullScreen):
7437         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
7438         * UIProcess/WebFullScreenManagerProxy.h:
7439         (WebKit):
7440         * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
7441         (WebKit::WebFullScreenManagerProxy::enterFullScreen):
7442         (WebKit::WebFullScreenManagerProxy::exitFullScreen):
7443
7444 2012-04-02  Sheriff Bot  <webkit.review.bot@gmail.com>
7445
7446         Unreviewed, rolling out r112651.
7447         http://trac.webkit.org/changeset/112651
7448         https://bugs.webkit.org/show_bug.cgi?id=82887
7449
7450         It doesn't work with older Qt5 (Requested by Ossy on #webkit).
7451
7452         * UIProcess/API/qt/qquicknetworkreply_p.h:
7453         * UIProcess/API/qt/qquicknetworkrequest_p.h:
7454         * UIProcess/API/qt/qquickwebview.cpp:
7455         * UIProcess/API/qt/qquickwebview_p.h:
7456         * UIProcess/API/qt/qwebiconimageprovider_p.h:
7457         * UIProcess/API/qt/qwebnavigationhistory.cpp:
7458         * UIProcess/API/qt/qwebnavigationhistory_p.h:
7459         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
7460         * UIProcess/qt/QtDialogRunner.cpp:
7461         (QtDialogRunner::initForAlert):
7462         (QtDialogRunner::initForConfirm):
7463         (QtDialogRunner::initForPrompt):
7464         (QtDialogRunner::initForAuthentication):
7465         (QtDialogRunner::initForProxyAuthentication):
7466         (QtDialogRunner::initForCertificateVerification):
7467         (QtDialogRunner::initForFilePicker):
7468         (QtDialogRunner::initForDatabaseQuotaDialog):
7469         (QtDialogRunner::createDialog):
7470         * UIProcess/qt/QtFlickProvider.cpp:
7471         * UIProcess/qt/QtFlickProvider.h:
7472         (QtFlickProvider):
7473         * UIProcess/qt/WebPopupMenuProxyQt.cpp:
7474         (WebKit::WebPopupMenuProxyQt::createItem):
7475         (WebKit::WebPopupMenuProxyQt::createContext):
7476
7477 2012-04-02  Hayato Ito  <hayato@chromium.org>
7478
7479         [Shadow DOM] Introduce ComposedShadowTreeWalker as a successor of ReifiedTreeTraversal APIs
7480         https://bugs.webkit.org/show_bug.cgi?id=82009
7481
7482         Reviewed by Dimitri Glazkov.
7483
7484         * win/WebKit2.def:
7485         * win/WebKit2CFLite.def:
7486
7487 2012-04-01  Jon Lee  <jonlee@apple.com>
7488
7489         Rename notification properties and functions
7490         https://bugs.webkit.org/show_bug.cgi?id=80482
7491         <rdar://problem/10912432>
7492
7493         Reviewed by Kentaro Hara.
7494
7495         Rename APIs to use tag.
7496         * UIProcess/API/C/WKNotification.cpp:
7497         (WKNotificationCopyTag):
7498         * UIProcess/API/C/WKNotification.h:
7499         * UIProcess/Notifications/WebNotification.cpp:
7500         (WebKit::WebNotification::WebNotification):
7501         * UIProcess/Notifications/WebNotification.h:
7502         (WebKit::WebNotification::create):
7503         (WebKit::WebNotification::tag):
7504         (WebNotification):
7505         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
7506         (WebKit::WebNotificationManagerProxy::show):
7507         * UIProcess/Notifications/WebNotificationManagerProxy.h:
7508         (WebNotificationManagerProxy):
7509         * UIProcess/WebPageProxy.cpp:
7510         (WebKit::WebPageProxy::showNotification):
7511         * UIProcess/WebPageProxy.h:
7512         (WebPageProxy):
7513         * UIProcess/WebPageProxy.messages.in:
7514         * WebProcess/Notifications/WebNotificationManager.cpp:
7515         (WebKit::WebNotificationManager::show):
7516
7517 2012-03-31  Timothy Hatcher  <timothy@apple.com>
7518
7519         Prevent opening external URLs in the Web Inspector's WebView.
7520
7521         All URLs not handled by the Inspector's JavaScript are now opened in the inspected WebView.
7522
7523         https://webkit.org/b/82812
7524         rdar://problem/9488558
7525
7526         Reviewed by Joseph Pecoraro.
7527
7528         * UIProcess/WebInspectorProxy.cpp:
7529         (WebKit::decidePolicyForNavigationAction): Added. Only allow non-main frame and the inspector page. All other URLs
7530         will be opened in the inspected page.
7531         (WebKit::WebInspectorProxy::createInspectorPage): Set the policy client and use decidePolicyForNavigationAction.
7532         * UIProcess/WebInspectorProxy.h: Made inspectorPageURL and inspectorBaseURL public for decidePolicyForNavigationAction.
7533
7534 2012-03-31  Anders Carlsson  <andersca@apple.com>
7535
7536         32-bit plug-ins need to opt into magnified mode
7537         https://bugs.webkit.org/show_bug.cgi?id=82837
7538         <rdar://problem/9104840>
7539
7540         Reviewed by Simon Fraser.
7541
7542         * PluginProcess/mac/PluginProcessMainMac.mm:
7543         (WebKit::PluginProcessMain):
7544
7545 2012-03-30  Timothy Hatcher  <timothy@apple.com>
7546
7547         Stop creating the Web Inspector's NSWindow when detaching on close.
7548
7549         This fixes a UI process crash that would happen when detaching because of a Web Process crash.
7550
7551         https://webkit.org/b/82820
7552         rdar://problem/11085467
7553
7554         Reviewed by Dan Bernstein.
7555
7556         * UIProcess/mac/WebInspectorProxyMac.mm:
7557         (WebKit::WebInspectorProxy::platformDetach): Moved the creation and showing code to the end
7558         and added an early return if we are not visible in the middle.
7559
7560 2012-03-30  Emil A Eklund  <eae@chromium.org>
7561
7562         Change WebKit/WebKit2 platform code to use pixel snapped values
7563         https://bugs.webkit.org/show_bug.cgi?id=82549
7564
7565         Change WebKit and WebKit2 platform code to use rounded locations and
7566         pixel snapped rects and sizes. This largely avoids having to expose the
7567         fractional layout types to the platform code.
7568
7569         Reviewed by Eric Seidel.
7570
7571         * Shared/WebRenderObject.cpp:
7572         (WebKit::WebRenderObject::WebRenderObject):
7573         * UIProcess/win/WebPopupMenuProxyWin.cpp:
7574         (WebKit::WebPopupMenuProxyWin::calculatePositionAndSize):
7575         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
7576         (WebKit::InjectedBundleNodeHandle::renderRect):
7577         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
7578         (WebKit::BuiltInPDFView::invalidateScrollbarRect):
7579         * WebProcess/WebPage/mac/WebPageMac.mm:
7580         (WebKit::WebPage::characterIndexForPoint):
7581
7582 2012-03-30  Anders Carlsson  <andersca@apple.com>
7583
7584         Fix Lion build.
7585
7586         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
7587         (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
7588
7589 2012-03-30  Mark Pilgrim  <pilgrim@chromium.org>
7590
7591         GEOLOCATION should be implemented as Page Supplement
7592         https://bugs.webkit.org/show_bug.cgi?id=82228
7593
7594         Reviewed by Adam Barth.
7595
7596         Geolocation is now a Supplement in Page so the interface
7597         has changed for setting up the page's geolocation client
7598         initially and accessing the controller later.
7599
7600         * WebProcess/Geolocation/WebGeolocationManager.cpp:
7601         (WebKit::WebGeolocationManager::didChangePosition):
7602         (WebKit::WebGeolocationManager::didFailToDeterminePosition):
7603         * WebProcess/InjectedBundle/InjectedBundle.cpp:
7604         (WebKit::InjectedBundle::setGeoLocationPermission):
7605         * WebProcess/WebPage/WebPage.cpp:
7606         (WebKit::WebPage::WebPage):
7607
7608 2012-03-30  Anders Carlsson  <andersca@apple.com>
7609
7610         Show a scrolling indicator light when compositing borders are turned on
7611         https://bugs.webkit.org/show_bug.cgi?id=82758
7612         <rdar://problem/11143892>
7613
7614         Reviewed by Andreas Kling.
7615
7616         * WebProcess/WebPage/DrawingArea.h:
7617         (WebKit::DrawingArea::updatePreferences):
7618         Add a hook for letting drawing area subclasses know when preferences change.
7619
7620         * WebProcess/WebPage/WebPage.cpp:
7621         Call DrawingArea::updatePreferences.
7622
7623         (WebKit::WebPage::updatePreferences):
7624         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
7625         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
7626         Call updatePreferences.
7627
7628         (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
7629         If compositing borders are enabled, create a debug root layer and tell the scrolling tree about it.
7630     
7631         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
7632         If we have a debug root layer, make sure it's in front.
7633
7634 2012-03-30  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
7635
7636         [Qt] Find zoomable area using area-based hit-testing
7637         https://bugs.webkit.org/show_bug.cgi?id=82609
7638
7639         Reviewed by Kenneth Rohde Christiansen.
7640
7641         Add area to findZoomableAreaForPoint and use new TOUCH_ADJUSTMENT
7642         code-path to find the best zoomable area.
7643
7644         * UIProcess/WebPageProxy.cpp:
7645         (WebKit::WebPageProxy::findZoomableAreaForPoint):
7646         * UIProcess/WebPageProxy.h:
7647         (WebPageProxy):
7648         * UIProcess/qt/QtWebPageEventHandler.cpp:
7649         (QtWebPageEventHandler::handleDoubleTapEvent):
7650         * WebProcess/WebPage/WebPage.cpp:
7651         (WebKit):
7652         (WebKit::WebPage::findZoomableAreaForPoint):
7653         * WebProcess/WebPage/WebPage.h:
7654         (WebPage):
7655         * WebProcess/WebPage/WebPage.messages.in:
7656
7657 2012-03-30  Keishi Hattori  <keishi@webkit.org>
7658
7659         Change ENABLE_INPUT_COLOR to ENABLE_INPUT_TYPE_COLOR and enable it for chromium
7660         https://bugs.webkit.org/show_bug.cgi?id=80972
7661
7662         Reviewed by Kent Tamura.
7663
7664         * Configurations/FeatureDefines.xcconfig:
7665
7666 2012-03-29  Ádám Kallai  <kadam@inf.u-szeged.hu>
7667
7668         [Qt] Build fix by renameing QtDeclarative to QtQml in header calls.
7669         https://bugs.webkit.org/show_bug.cgi?id=82195
7670
7671         Reviewed by Simon Hausmann.
7672
7673         * UIProcess/API/qt/qquicknetworkreply_p.h:
7674         * UIProcess/API/qt/qquicknetworkrequest_p.h:
7675         * UIProcess/API/qt/qquickwebview.cpp:
7676         * UIProcess/API/qt/qquickwebview_p.h:
7677         * UIProcess/API/qt/qwebiconimageprovider_p.h:
7678         * UIProcess/API/qt/qwebnavigationhistory.cpp:
7679         * UIProcess/API/qt/qwebnavigationhistory_p.h:
7680         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
7681         * UIProcess/qt/QtDialogRunner.cpp:
7682         (QtDialogRunner::initForAlert):
7683         (QtDialogRunner::initForConfirm):
7684         (QtDialogRunner::initForPrompt):
7685         (QtDialogRunner::initForAuthentication):
7686         (QtDialogRunner::initForProxyAuthentication):
7687         (QtDialogRunner::initForCertificateVerification):
7688         (QtDialogRunner::initForFilePicker):
7689         (QtDialogRunner::initForDatabaseQuotaDialog):
7690         (QtDialogRunner::createDialog):
7691         * UIProcess/qt/QtFlickProvider.cpp:
7692         * UIProcess/qt/QtFlickProvider.h:
7693         (QtFlickProvider):
7694         * UIProcess/qt/WebPopupMenuProxyQt.cpp:
7695         (WebKit::WebPopupMenuProxyQt::createItem):
7696         (WebKit::WebPopupMenuProxyQt::createContext):
7697
7698 2012-03-29  No'am Rosenthal  <noam.rosenthal@nokia.com>
7699
7700         [Qt][WK2] Direct composited image assignment doesn't work
7701         https://bugs.webkit.org/show_bug.cgi?id=82525
7702
7703         Reviewed by Kenneth Rohde Christiansen.
7704
7705         We don't need to check whether the image or contentsRect are updated,
7706         since assignImageToLayer is a cheap operation after the LayerBackingStore
7707         refactor.
7708
7709         * UIProcess/WebLayerTreeRenderer.cpp:
7710         (WebKit::WebLayerTreeRenderer::setLayerChildren):
7711         (WebKit::WebLayerTreeRenderer::setLayerState):
7712         (WebKit::WebLayerTreeRenderer::renderNextFrame):
7713
7714 2012-03-29  Sheriff Bot  <webkit.review.bot@gmail.com>
7715
7716         Unreviewed, rolling out r112553.
7717         http://trac.webkit.org/changeset/112553
7718         https://bugs.webkit.org/show_bug.cgi?id=82638
7719
7720         It made all tests crash on Qt WK2 (Requested by Ossy_away on
7721         #webkit).
7722
7723         * WebProcess/Geolocation/WebGeolocationManager.cpp:
7724         (WebKit::WebGeolocationManager::didChangePosition):
7725         (WebKit::WebGeolocationManager::didFailToDeterminePosition):
7726         * WebProcess/InjectedBundle/InjectedBundle.cpp:
7727         (WebKit::InjectedBundle::setGeoLocationPermission):
7728         * WebProcess/WebPage/WebPage.cpp:
7729         (WebKit::WebPage::WebPage):
7730
7731 2012-03-29  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
7732
7733         HashMap<>::add should return a more descriptive object
7734         https://bugs.webkit.org/show_bug.cgi?id=71063
7735
7736         Reviewed by Ryosuke Niwa.
7737
7738         Update code to use AddResult instead of a pair.
7739
7740         * Platform/CoreIPC/ArgumentCoders.h:
7741         * Platform/CoreIPC/Connection.cpp:
7742         (CoreIPC::Connection::SyncMessageState::getOrCreate):
7743         * Shared/MutableDictionary.cpp:
7744         (WebKit::MutableDictionary::add):
7745         (WebKit::MutableDictionary::set):
7746         * Shared/UserMessageCoders.h:
7747         (WebKit::UserMessageDecoder::baseDecode):
7748         * Shared/mac/CommandLineMac.cpp:
7749         (WebKit::CommandLine::parse):
7750         * UIProcess/API/mac/WKPrintingView.mm:
7751         (pageDidDrawToPDF):
7752         * UIProcess/API/mac/WKView.mm:
7753         (-[WKView validateUserInterfaceItem:]):
7754         * UIProcess/WebProcessProxy.cpp:
7755         (WebKit::WebProcessProxy::addBackForwardItem):
7756         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
7757         (WebKit::InjectedBundleNodeHandle::getOrCreate):
7758         * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
7759         (WebKit::InjectedBundleRangeHandle::getOrCreate):
7760         * WebProcess/Notifications/WebNotificationManager.cpp:
7761         (WebKit::WebNotificationManager::show):
7762         * WebProcess/WebProcess.cpp:
7763         (WebKit::WebProcess::createWebPage):
7764         (WebKit::WebProcess::webPageGroup):
7765
7766 2012-03-29  Mark Pilgrim  <pilgrim@chromium.org>
7767
7768         GEOLOCATION should be implemented as Page Supplement
7769         https://bugs.webkit.org/show_bug.cgi?id=82228
7770
7771         Reviewed by Adam Barth.
7772
7773         Geolocation is now a Supplement in Page so the interface
7774         has changed for setting up the page's geolocation client
7775         initially and accessing the controller later.
7776
7777         * WebProcess/Geolocation/WebGeolocationManager.cpp:
7778         (WebKit::WebGeolocationManager::didChangePosition):
7779         (WebKit::WebGeolocationManager::didFailToDeterminePosition):
7780         * WebProcess/InjectedBundle/InjectedBundle.cpp:
7781         (WebKit::InjectedBundle::setGeoLocationPermission):
7782         * WebProcess/WebPage/WebPage.cpp:
7783         (WebKit::WebPage::WebPage):
7784
7785 2012-03-28  Anders Carlsson  <andersca@apple.com>
7786
7787         Fix a crash and an assertion when recovering from a web process crash
7788         https://bugs.webkit.org/show_bug.cgi?id=82559
7789         <rdar://problem/10902574>
7790
7791         Reviewed by Mark Rowe.
7792
7793         * UIProcess/API/mac/WKView.mm:
7794         (-[WKView _processDidCrash]):
7795         If we're currently in accelerated compositing mode, exit.
7796
7797         (-[WKView updateLayer]):
7798         Guard against a null drawing area.
7799
7800 2012-03-28  Nate Chapin  <japhet@chromium.org>
7801
7802         Remove dispatchDidLoadMainResource callback, since no
7803         port implements it.
7804         https://bugs.webkit.org/show_bug.cgi?id=82539
7805
7806         Reviewed by Alexey Proskuryakov.
7807
7808         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
7809         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
7810
7811 2012-03-28  Anders Carlsson  <andersca@apple.com>
7812
7813         Massive lag opening a link in a new background tab
7814         https://bugs.webkit.org/show_bug.cgi?id=82542
7815         <rdar://problem/11004502>
7816
7817         Reviewed by Sam Weinig.
7818
7819         Defer waiting for the web process to update the page size until we're actually going to display the layer.
7820         This matches what we do in the non-tiled code path.
7821
7822         * UIProcess/API/mac/WKView.mm:
7823         (-[WKView setFrameSize:]):
7824         (-[WKView updateLayer]):
7825         * UIProcess/DrawingAreaProxy.h:
7826         (WebKit::DrawingAreaProxy::waitForPossibleGeometryUpdate):
7827         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
7828         (TiledCoreAnimationDrawingAreaProxy):
7829         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
7830         (WebKit::TiledCoreAnimationDrawingAreaProxy::sizeDidChange):
7831         (WebKit):
7832         (WebKit::TiledCoreAnimationDrawingAreaProxy::waitForPossibleGeometryUpdate):
7833
7834 2012-03-28  Anders Carlsson  <andersca@apple.com>
7835
7836         REGRESSION (r109826): Can't type into Flash text fields
7837         https://bugs.webkit.org/show_bug.cgi?id=82488
7838         <rdar://problem/11022004>
7839
7840         Reviewed by Sam Weinig.
7841
7842         This was caused by the fix in r109826. Revert that change and fix the original bug by notifying the UI process
7843         that the plug-in lost focus when it's destroyed. This will correctly reset the text input state (merely setting 
7844         the text input state to PluginComplexTextInputDisabled doesn't reset the state correctly).
7845
7846         * UIProcess/API/mac/WKView.mm:
7847         (-[WKView _setPluginComplexTextInputState:]):
7848         (-[WKView _handlePluginComplexTextInputKeyDown:]):
7849         * WebProcess/Plugins/PluginView.cpp:
7850         (WebKit::PluginView::~PluginView):
7851
7852 2012-03-28  Balazs Kelemen  <kbalazs@webkit.org>
7853
7854         [Qt] Fix QWARN in test_loadIgnoreEmptyUrl API test.
7855
7856         Rubber-stamped by Csaba Osztrogonác.
7857
7858         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
7859         There is no load() API of the view, we have to use the url property.
7860
7861 2012-03-27  YoungTaeck Song  <youngtaeck.song@samsung.com>
7862
7863         [EFL][WK2] Add RunLoopEfl and WorkQueueEfl
7864         https://bugs.webkit.org/show_bug.cgi?id=62777
7865
7866         Reviewed by Hajime Morita.
7867
7868         Add initial version WorkQueueEfl for WebKit2 Efl.
7869
7870         * Platform/CoreIPC/Connection.h:
7871         * Platform/CoreIPC/unix/ConnectionUnix.cpp:
7872         (CoreIPC::Connection::platformInvalidate):
7873         (CoreIPC::Connection::open):
7874         * Platform/PlatformProcessIdentifier.h:
7875         (WebKit):
7876         * Platform/WorkQueue.h:
7877         (WorkQueue):
7878         * Platform/efl/WorkQueueEfl.cpp: Added.
7879         (TimerWorkItem):
7880         (TimerWorkItem::TimerWorkItem):
7881         (TimerWorkItem::~TimerWorkItem):
7882         (TimerWorkItem::function):
7883         (TimerWorkItem::queue):
7884         (TimerWorkItem::timerID):
7885         (WorkQueue::platformInitialize):
7886         (WorkQueue::platformInvalidate):
7887         (WorkQueue::performWork):
7888         (WorkQueue::performFdWork):
7889         (WorkQueue::sendMessageToThread):
7890         (WorkQueue::workQueueThread):
7891         (WorkQueue::registerSocketEventHandler):
7892         (WorkQueue::unregisterSocketEventHandler):
7893         (WorkQueue::dispatch):
7894         (WorkQueue::timerFired):
7895         (WorkQueue::dispatchAfterDelay):
7896         * PlatformEfl.cmake:
7897
7898 2012-03-27  Anders Carlsson  <andersca@apple.com>
7899
7900         Plug-ins using the Core Animation drawing model should work when hosting the layer tree in the window server
7901         https://bugs.webkit.org/show_bug.cgi?id=82387
7902         <rdar://problem/11031942>
7903
7904         Reviewed by Sam Weinig.
7905
7906         * PluginProcess/PluginControllerProxy.cpp:
7907         (WebKit::PluginControllerProxy::PluginControllerProxy):
7908         (WebKit::PluginControllerProxy::initialize):
7909         Remove m_pluginCreationParameters; it was used by the old NPRuntime short-circuit code. 
7910         Make platformInitialize take creation parameters.
7911
7912         * PluginProcess/PluginControllerProxy.messages.in:
7913         Add SetLayerHostingMode message.
7914
7915         * PluginProcess/gtk/PluginControllerProxyGtk.cpp:
7916         (WebKit::PluginControllerProxy::platformInitialize):
7917         Make platformInitialize take creation parameters.
7918
7919         * PluginProcess/mac/PluginControllerProxyMac.mm:
7920         (WebKit::PluginControllerProxy::platformInitialize):
7921         Call updateLayerHostingContext.
7922
7923         (WebKit::PluginControllerProxy::setLayerHostingMode):
7924         Call updateLayerHostingContext and send back the new context ID.
7925
7926         (WebKit::PluginControllerProxy::updateLayerHostingContext):
7927         Create a new LayerHostingContext given the layer hosting mode.
7928
7929         * PluginProcess/qt/PluginControllerProxyQt.cpp:
7930         (WebKit::PluginControllerProxy::platformInitialize):
7931         Make platformInitialize take creation parameters.
7932
7933         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
7934         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
7935         (WebKit::NetscapePlugin::setLayerHostingMode):
7936         Add stub.
7937
7938         * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
7939         (WebKit::makeRenderLayer):
7940         Add helper function for creating a new render layer.
7941
7942         (WebKit::PluginProxy::pluginLayer):
7943         Call makeRenderLayer.
7944
7945         (WebKit::PluginProxy::setLayerHostingMode):
7946         Send a message to the plug-in process.
7947
7948         (WebKit::PluginProxy::setLayerHostingContextID):
7949         Update the context ID and make a new render layer.
7950
7951         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
7952         (WebKit::BuiltInPDFView::setLayerHostingMode):
7953         Add stub.
7954         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
7955
7956         * WebProcess/Plugins/Plugin.cpp:
7957         (WebKit::Plugin::Parameters::encode):
7958         (WebKit::Plugin::Parameters::decode):
7959         * WebProcess/Plugins/Plugin.h:
7960         Add the layer hosting mode as a parameter. Add a new setLayerHostingMode pure virtual member function.
7961
7962         * WebProcess/Plugins/PluginProxy.messages.in:
7963         Add a SetLayerHostingContextID message.
7964
7965         * WebProcess/Plugins/PluginView.cpp:
7966         (WebKit::PluginView::setLayerHostingMode):
7967         Call down to the plug-in.
7968
7969         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
7970         (WebKit::WebFrameLoaderClient::createPlugin):
7971         Set the layer hosting mode of the page.
7972
7973         * WebProcess/WebPage/WebPage.cpp:
7974         (WebKit::WebPage::WebPage):
7975         Initialize m_layerHostingMode to false.
7976
7977         * WebProcess/WebPage/WebPage.h:
7978         (WebKit::WebPage::layerHostingMode):
7979         Add m_layerHostingMode and a getter.
7980
7981         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
7982         (WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode):
7983         Call WebPage::setLayerHostingMode.
7984
7985         * WebProcess/WebPage/mac/WebPageMac.mm:
7986         (WebKit::WebPage::setLayerHostingMode):
7987         Tell all plug-ins that the layer hosting mode changed.
7988
7989 2012-03-27  Timothy Hatcher  <timothy@apple.com>
7990
7991         Make WebKit properly load a staged framework when soft linking.
7992
7993         https://webkit.org/b/82371
7994         rdar://problem/11125989
7995
7996         Reviewed by Dan Bernstein.
7997
7998         * UIProcess/mac/WebInspectorProxyMac.mm: Use SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL to properly
7999         load the WebInspector framework.
8000         * WebProcess/WebPage/mac/WebInspectorMac.mm: Ditto.
8001
8002 2012-03-27  Anders Carlsson  <andersca@apple.com>
8003
8004         Don't update the layer hosting state unless the WKView is added to a window
8005         https://bugs.webkit.org/show_bug.cgi?id=82359
8006
8007         Reviewed by Sam Weinig.
8008
8009         This avoids thrashing the layer hosting state when switching tabs.
8010
8011         * UIProcess/WebPageProxy.cpp:
8012         (WebKit::WebPageProxy::viewStateDidChange):
8013
8014 2012-03-27  Carlos Garcia Campos  <cgarcia@igalia.com>
8015
8016         Implement WebFrameNetworkingContext for soup in WebKit2
8017
8018         [SOUP] Implement WebFrameNetworkingContext for soup in WebKit2
8019         https://bugs.webkit.org/show_bug.cgi?id=82081
8020
8021         Reviewed by Martin Robinson.
8022
8023         * GNUmakefile.am: Add new files to compilation
8024         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp: Copied from Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebFrameNetworkingContext.h.
8025         (WebKit::WebFrameNetworkingContext::soupSession): Return the
8026         default SoupSession.
8027         * WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.h: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebFrameNetworkingContext.h.
8028         (WebKit):
8029         (WebFrameNetworkingContext):
8030         (WebKit::WebFrameNetworkingContext::create): Create a new
8031         WebFrameNetworkingContext().
8032         (WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext):
8033
8034 2012-03-27  Yael Aharon  <yael.aharon@nokia.com>
8035
8036         [Qt][WK2] Merge setVisibleContentsRect with setFixedVisibleContentRect
8037         https://bugs.webkit.org/show_bug.cgi?id=82289
8038
8039         Reviewed by Kenneth Rohde Christiansen.
8040
8041         As we scroll, we constantly send 2 messages. Those 2 messages can be merged into one.
8042
8043         * UIProcess/API/qt/qquickwebview.cpp:
8044         (QQuickWebViewFlickablePrivate::_q_contentViewportChanged):
8045         * UIProcess/WebPageProxy.cpp:
8046         (WebKit):
8047         * UIProcess/WebPageProxy.h:
8048         (WebPageProxy):
8049         * WebProcess/WebPage/WebPage.messages.in:
8050         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
8051         (WebKit::LayerTreeHostQt::setVisibleContentsRect):
8052
8053 2012-03-27  Carlos Garcia Campos  <cgarcia@igalia.com>
8054
8055         [SOUP] Implement missing methods in CookieJarSoup
8056         https://bugs.webkit.org/show_bug.cgi?id=82082
8057
8058         Reviewed by Martin Robinson.
8059
8060         * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp:
8061         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): Use
8062         soupCookieJar() instead of defaultCookieJar().
8063         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy): Ditto.
8064
8065 2012-03-27  Carlos Garcia Campos  <cgarcia@igalia.com>
8066
8067         [GTK] Add method webkit_web_resource_get_data() to WebKit2 GTK+ API
8068         https://bugs.webkit.org/show_bug.cgi?id=79667
8069
8070         Reviewed by Gustavo Noronha Silva.
8071
8072         * UIProcess/API/gtk/WebKitWebResource.cpp:
8073         (webkitWebResourceCreate): Add isMainResource parameter indication
8074         whether the resource is the main one of the frame.
8075         (resourceDataCallback): C API callback called when resource data
8076         is available.
8077         (webkit_web_resource_get_data): Asynchronously get the raw data of
8078         the resource.
8079         (webkit_web_resource_get_data_finish): Finish asynchronous
8080         operation started by webkit_web_resource_get_data().
8081         * UIProcess/API/gtk/WebKitWebResource.h:
8082         * UIProcess/API/gtk/WebKitWebResourcePrivate.h:
8083         * UIProcess/API/gtk/WebKitWebView.cpp:
8084         (webkitWebViewResourceLoadStarted): Pass isMainResource parameter
8085         to webkitWebResourceCreate().
8086         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
8087         * UIProcess/API/gtk/tests/TestResources.cpp:
8088         (testWebResourceGetData):
8089         (serverCallback):
8090         (beforeAll):
8091
8092 2012-03-27  Carlos Garcia Campos  <cgarcia@igalia.com>
8093
8094         [GTK] Add resources API to WebKit2 GTK+
8095         https://bugs.webkit.org/show_bug.cgi?id=79477
8096
8097         Reviewed by Gustavo Noronha Silva.
8098
8099         * GNUmakefile.am: Add new files to compilation.
8100         * UIProcess/API/gtk/WebKitResourceLoadClient.cpp: Added.
8101         (didInitiateLoadForResource): Call
8102         webkitWebViewResourceLoadStarted() so that view will create the
8103         resource and emit WebKitWebView::resource-load-started.
8104         (didSendRequestForResource): Call webkitWebResourceSentRequest()
8105         with the given request and response.
8106         (didReceiveResponseForResource): Call
8107         webkitWebResourceSetResponse() with the given response.
8108         (didReceiveContentLengthForResource): Call
8109         webkitWebResourceNotifyProgress().
8110         (didFinishLoadForResource): Call webkitWebResourceFinished().
8111         (didFailLoadForResource): Create a GError for the given WKError
8112         and call webkitWebResourceFailed().
8113         (attachResourceLoadClientToView): Add callbacks for the
8114         WKPageResourceLoadClient.
8115         * UIProcess/API/gtk/WebKitResourceLoadClient.h: Added.
8116         * UIProcess/API/gtk/WebKitWebResource.cpp: Added.
8117         (webkitWebResourceGetProperty):
8118         (webkit_web_resource_init):
8119         (webkit_web_resource_class_init):
8120         (webkitWebResourceUpdateURI): Update the active URI every time a
8121         new request is sent to the server.
8122         (webkitWebResourceCreate): Create a WebResource for the given
8123         frame.
8124         (webkitWebResourceSentRequest): Update uri and emit
8125         WebKitWebResource::sent-request.
8126         (webkitWebResourceSetResponse): Set the response property.
8127         (webkitWebResourceNotifyProgress): Emit
8128         WebKitWebResource::received-data.
8129         (webkitWebResourceFinished): Emit WebKitWebResource::finished.
8130         (webkitWebResourceFailed): Emit WebKitWebResource::failed and then
8131         WebKitWebResource::finished.
8132         (webkit_web_resource_get_uri): Return the currentr active URI.
8133         (webkit_web_resource_get_response): Return the response received
8134         from the server.
8135         * UIProcess/API/gtk/WebKitWebResource.h: Added.
8136         * UIProcess/API/gtk/WebKitWebResourcePrivate.h: Added.
8137         * UIProcess/API/gtk/WebKitWebView.cpp:
8138         (webkitWebViewConstructed): Attach the resource load client to the
8139         view.
8140         (webkit_web_view_class_init): Add
8141         WebKitWebView::resource-load-started signal.
8142         (webkitWebViewLoadChanged): Clear loading resources map when a new
8143         load starts and loaded resources map when the new load has been
8144         committed.
8145         (webkitWebViewResourceLoadStarted): Create a resource for the
8146         given identifier, add it to the loading resources map and emit
8147         WebKitWebView::resource-load-started signal.
8148         (webkitWebViewGetLoadingWebResource): Return the resource that is
8149         being loaded corresponding to the given identifier.
8150         (webkitWebViewRemoveLoadingWebResource): Remove the resouurce
8151         corresponfing to the given identifier from the loading resources
8152         map.
8153         (webkitWebViewResourceLoadFinished): Move the resource from the
8154         loading resources map to the loaded resources map.
8155         (webkit_web_view_get_main_resource): Return the main resource.
8156         (webkit_web_view_get_subresources): Return the list of
8157         subresources.
8158         * UIProcess/API/gtk/WebKitWebView.h:
8159         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
8160         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
8161         WebKitWebResource.
8162         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
8163         * UIProcess/API/gtk/docs/webkit2gtk.types: Add
8164         webkit_web_resource_get_type.
8165         * UIProcess/API/gtk/tests/GNUmakefile.am: Add new test for resources.
8166         * UIProcess/API/gtk/tests/TestDownloads.cpp:
8167         (testDownloadLocalFile): Use getWebKit1TestResoucesDir() from Test.
8168         (testDownloadLocalFileError): Ditto.
8169         (serverCallback): Ditto.
8170         * UIProcess/API/gtk/tests/TestMain.h:
8171         (Test::getWebKit1TestResoucesDir): Moed from TestDownloads so that
8172         it can be used by other tests.
8173         (Test): Add information about leaked objects.
8174         * UIProcess/API/gtk/tests/TestResources.cpp: Added.
8175         (testWebViewResources):
8176         (testWebResourceLoading):
8177         (testWebResourceResponse):
8178         (testWebResourceActiveURI):
8179         (addCacheHTTPHeadersToResponse):
8180         (serverCallback):
8181         (beforeAll):
8182         (afterAll):
8183         * UIProcess/API/gtk/webkit2.h: Include WebKitWebResource.h
8184         * UIProcess/API/gtk/webkit2marshal.list:
8185
8186 2012-03-26  Pratik Solanki  <psolanki@apple.com>
8187
8188         Fix typo in method name - WebCore::miminumValueForLength should be WebCore::minimumValueForLength
8189         https://bugs.webkit.org/show_bug.cgi?id=82254
8190
8191         Reviewed by Benjamin Poulain.
8192
8193         * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
8194         (WebKit::WebPopupMenu::setUpPlatformData):
8195
8196 2012-03-26  Dinu Jacob  <dinu.jacob@nokia.com>
8197
8198         [Qt][WK2] Support multi-file upload
8199         https://bugs.webkit.org/show_bug.cgi?id=81589
8200
8201         Reviewed by Simon Hausmann.
8202
8203         Added 'allowMutipleFiles' property to filePicker context property to indicate whether to allow
8204         multiple file selections.
8205
8206         * UIProcess/API/qt/qquickwebview.cpp:
8207         (QQuickWebViewPrivate::chooseFiles):
8208         * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
8209         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_multiFileUpload.qml: Added.
8210         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_singleFileUpload.qml:
8211         * UIProcess/API/qt/tests/qmltests/common/multifileupload.html: Added.
8212         * UIProcess/API/qt/tests/qmltests/common/singlefileupload.html:
8213         * UIProcess/API/qt/tests/qmltests/common/titleupdate.js: Added.
8214         (updateTitle):
8215         * UIProcess/qt/QtDialogRunner.cpp:
8216         (FilePickerContextObject):
8217         (FilePickerContextObject::FilePickerContextObject):
8218         (FilePickerContextObject::allowMultipleFiles):
8219         (FilePickerContextObject::accept):
8220         (QtDialogRunner::initForFilePicker):
8221         * UIProcess/qt/QtDialogRunner.h:
8222         (QtDialogRunner):
8223
8224 2012-03-26  Adam Barth  <abarth@webkit.org>
8225
8226         FrameLoader::shouldAllowNavigation uses Frame for context rather than Document
8227         https://bugs.webkit.org/show_bug.cgi?id=81020
8228
8229         Reviewed by Eric Seidel.
8230
8231         Update call site to new function name.
8232
8233         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
8234         (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
8235
8236 2012-03-26  Anders Carlsson  <andersca@apple.com>
8237
8238         Never remove root compositing layers in the web process
8239         https://bugs.webkit.org/show_bug.cgi?id=82255
8240         <rdar://problem/11058521>
8241
8242         Reviewed by Sam Weinig.
8243
8244         Since we never leave accelerated compositing mode when using tiled drawing, we should
8245         never remove root compositing layers in the web process.
8246
8247         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
8248         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
8249
8250 2012-03-26  Rafael Brandao  <rafael.lobo@openbossa.org>
8251
8252         [Qt][WK2] default families are not set in QWebPreferences
8253         https://bugs.webkit.org/show_bug.cgi?id=81933
8254
8255         This is a build-fix after r112116.
8256
8257         Reviewed by Tor Arne Vestbø.
8258
8259         * UIProcess/API/qt/qwebpreferences_p_p.h:
8260
8261 2012-03-26  Pierre Rossi  <pierre.rossi@nokia.com>
8262
8263         [Qt][WK2] default families are not set in QWebPreferences
8264         https://bugs.webkit.org/show_bug.cgi?id=81933
8265
8266         This would result in an attempt to create FontPlatformData
8267         with the -webkit- prefixed family name.
8268         Logic adapted from QWebSettings.
8269
8270         Reviewed by Kenneth Rohde Christiansen.
8271
8272         * UIProcess/API/qt/qwebpreferences.cpp:
8273         (QWebPreferencesPrivate::createPreferences):
8274         (QWebPreferencesPrivate::initFontDefaults):
8275         * UIProcess/API/qt/qwebpreferences_p_p.h:
8276
8277 2012-03-26  Dinu Jacob  <dinu.jacob@nokia.com>
8278
8279         [Qt WK2] Disable/enable mouse events when displaying dialogs only for desktop view
8280         https://bugs.webkit.org/show_bug.cgi?id=80542
8281
8282         Reviewed by Simon Hausmann.
8283        
8284         * UIProcess/API/qt/qquickwebview.cpp:
8285         (QQuickWebViewLegacyPrivate::enableMouseEvents):
8286         (QQuickWebViewLegacyPrivate::disableMouseEvents):
8287         * UIProcess/API/qt/qquickwebview_p_p.h:
8288         (QQuickWebViewPrivate::enableMouseEvents):
8289         (QQuickWebViewPrivate::disableMouseEvents):
8290         (QQuickWebViewLegacyPrivate):
8291
8292 2012-03-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
8293
8294         [Qt] Make sure that purged directly composited images are re-created before a layer's sync.
8295         https://bugs.webkit.org/show_bug.cgi?id=81771
8296
8297         Reviewed by Noam Rosenthal.
8298
8299         This fixes a regression in tst_qquickwebview introduced by r111567.
8300
8301         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
8302         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
8303         (WebCore::WebGraphicsLayer::updateContentBuffers):
8304
8305 2012-03-26  Simon Hausmann  <simon.hausmann@nokia.com>
8306
8307         [WK2][Qt] Fix compilation without QtWidgets
8308         https://bugs.webkit.org/show_bug.cgi?id=79458
8309
8310         Reviewed by Tor Arne Vestbø.
8311
8312         * Shared/qt/WebEventFactoryQt.cpp:
8313         (WebKit::WebEventFactory::createWebWheelEvent): Replace use of QApplication::wheelScrollLines()
8314         with the constant that is actually used and usually not changed anyway.
8315         * Target.pri: Remove widgets from Qt variable.
8316         * UIProcess/qt/QtWebPageEventHandler.cpp: Remove unecessary include.
8317         * WebProcess.pro: Use widgets for the process (for the time being).
8318         * WebProcess/qt/WebProcessMainQt.cpp: Delegate QApplication creation to the caller.
8319         (WebKit::WebProcessMainQt):
8320         * qt/MainQt.cpp: Create QApplication here.
8321         (WebKit):
8322         (main):
8323
8324 2012-03-26  Andras Becsi  <andras.becsi@nokia.com>
8325
8326         Be more careful with git gui usage
8327
8328         Unreviewed typo fix.
8329
8330         * UIProcess/qt/QtViewportInteractionEngine.cpp: Remove additional line committed by accident.
8331         (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
8332
8333 2012-03-26  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
8334
8335         [Qt] Taps are sometimes not highlighted.
8336         https://bugs.webkit.org/show_bug.cgi?id=82188
8337
8338         Reviewed by Kenneth Rohde Christiansen.
8339
8340         Highlight any focusable parent element, or if none is found at least
8341         the element returned by bestClickableNodeForTouchPoint.
8342
8343         * WebProcess/WebPage/WebPage.cpp:
8344         (WebKit::WebPage::highlightPotentialActivation):
8345
8346 2012-03-26  Sheriff Bot  <webkit.review.bot@gmail.com>
8347
8348         Unreviewed, rolling out r111993.
8349         http://trac.webkit.org/changeset/111993
8350         https://bugs.webkit.org/show_bug.cgi?id=82184
8351
8352         It broke layout and API tests and made WTR crash (Requested by
8353         Ossy on #webkit).
8354
8355         * UIProcess/qt/QtPageClient.cpp:
8356         (QtPageClient::isViewWindowActive):
8357
8358 2012-03-25  Hayato Ito  <hayato@chromium.org>
8359
8360         [Shadow DOM] Add Reified DOM Tree traversal internal APIs.
8361         https://bugs.webkit.org/show_bug.cgi?id=79197
8362
8363         Reviewed by Dimitri Glazkov.
8364
8365         Add internal APIs which can be used to traverse Reified DOM tree, which is
8366         a result of node distribution algorithm explained in Shadow DOM spec.
8367         https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html
8368
8369         Every public functions defined in ReifiedTreeTraversal are static
8370         functions and are named in a similar way to ones defined in WebCore::Node class.
8371         The only difference is that ReifiedTreeTraversal APIs consider shadow
8372         hosts and also traverse nodes is Shadow DOM subtrees, crossing shadow's upper and lower boundary
8373         transparently.
8374
8375         There is no actual client which uses these APIs. Follow-up patches for FocusNavigation
8376         and EventDispatcher will use the APIs so that they can traverse node in reified tree order.
8377
8378         * win/WebKit2.def:
8379         * win/WebKit2CFLite.def:
8380
8381 2012-03-25  Alexander Færøy  <alexander.faeroy@nokia.com>
8382
8383         Unreviewed build fix for QtWebKit on Mac OS X.
8384
8385         * UIProcess/API/qt/tests/bytearraytestdata.cpp:
8386         (ByteArrayTestData::~ByteArrayTestData):
8387         * UIProcess/API/qt/tests/bytearraytestdata.h:
8388
8389 2012-03-24  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
8390
8391         [Qt][WK2] Implement PageClient::isViewWindowActive()
8392         https://bugs.webkit.org/show_bug.cgi?id=81143
8393
8394         Reviewed by Kenneth Rohde Christiansen.
8395
8396         This patch implements PageClient::isViewWindowActive()
8397         now that QQuickCanvas::isActive() is available (from QWindow).
8398
8399         * UIProcess/qt/QtPageClient.cpp:
8400         (QtPageClient::isViewWindowActive):
8401
8402 2012-03-23  Alexey Proskuryakov  <ap@apple.com>
8403
8404         [Mac] No need for platform-specific ENABLE_BLOB values
8405         https://bugs.webkit.org/show_bug.cgi?id=82102
8406
8407         Reviewed by David Kilzer.
8408
8409         * Configurations/FeatureDefines.xcconfig:
8410
8411 2012-03-23  Sheriff Bot  <webkit.review.bot@gmail.com>
8412
8413         Unreviewed, rolling out r108851.
8414         http://trac.webkit.org/changeset/108851
8415         https://bugs.webkit.org/show_bug.cgi?id=82098
8416
8417         "Revert the addition of unnecessary, deprecated functions in
8418         WKPreferences.h" (Requested by estes on #webkit).
8419
8420         * UIProcess/API/C/WKPreferences.cpp:
8421         * UIProcess/API/C/WKPreferences.h:
8422
8423 2012-03-23  Brent Fulgham  <bfulgham@webkit.org>
8424
8425         [WinCairo] Unreviewed build fix.
8426
8427         * win/WebKit2CFLite.def: Add missing export symbols so that other
8428         tools can link properly.
8429
8430 2012-03-23  Dean Jackson  <dino@apple.com>
8431
8432         Disable CSS_SHADERS in Apple builds
8433         https://bugs.webkit.org/show_bug.cgi?id=81996
8434
8435         Reviewed by Simon Fraser.
8436
8437         Remove ENABLE_CSS_SHADERS from FeatureDefines. It's now in Platform.h.
8438
8439         * Configurations/FeatureDefines.xcconfig:
8440
8441 2012-03-23  Dave Michael  <dmichael@chromium.org>
8442
8443         Relanding(r111754): HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called
8444         https://bugs.webkit.org/show_bug.cgi?id=80428
8445
8446         Reviewed by Eric Seidel and Ryosuke Niwa.
8447
8448         * win/WebKit2.def: Export a symbol for InspectorCounters::counterValue
8449         * win/WebKit2CFLite.def: Export a symbol for InspectorCounters::counterValue
8450
8451 2012-03-23  Sheriff Bot  <webkit.review.bot@gmail.com>
8452
8453         Unreviewed, rolling out r111855.
8454         http://trac.webkit.org/changeset/111855
8455         https://bugs.webkit.org/show_bug.cgi?id=82053
8456
8457         It broke 30+ tests (Requested by Ossy on #webkit).
8458
8459         * UIProcess/qt/QtPageClient.cpp:
8460         (QtPageClient::isViewWindowActive):
8461
8462 2012-03-23  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
8463
8464         [Qt][WK2] Implement PageClient::isViewWindowActive()
8465         https://bugs.webkit.org/show_bug.cgi?id=81143
8466
8467         Reviewed by Kenneth Rohde Christiansen.
8468
8469         This patch implements PageClient::isViewWindowActive()
8470         now that QQuickCanvas::isActive() is available (from QWindow).
8471
8472         * UIProcess/qt/QtPageClient.cpp:
8473         (QtPageClient::isViewWindowActive):
8474
8475 2012-03-23  Andras Becsi  <andras.becsi@nokia.com>
8476
8477         [Qt][WK2] Disable the flickable when pinching.
8478
8479         Reviewed by Kenneth Rohde Christiansen.
8480
8481         Set the interactivity of the internal flickable to false
8482         when pinching so that it does not react to mouse events
8483         which might break pinch zoom.
8484         This is a temporal workaround and needed until the event
8485         propagation in QtQuick is fixed.
8486
8487         * UIProcess/qt/QtViewportInteractionEngine.cpp:
8488         (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
8489         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
8490         (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
8491
8492 2012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
8493
8494         REGRESSION(r111754): plugins/reloadplugins-and-pages.html fails on all platforms
8495         https://bugs.webkit.org/show_bug.cgi?id=82035
8496
8497         * win/WebKit2.def:
8498         * win/WebKit2CFLite.def:
8499
8500 2012-03-22  Anders Carlsson  <andersca@apple.com>
8501
8502         Remove the Flash NPRuntime short-circuit hacks
8503         https://bugs.webkit.org/show_bug.cgi?id=81997
8504         <rdar://problem/10409289>
8505
8506         Reviewed by Sam Weinig.
8507
8508         This code was added to help speed up Flash plug-in instantiation by reducing the number of
8509         synchronous API calls from the plug-in process to the web process during instantiation.
8510         However, there was no real indication that this actually improved performance.
8511
8512         Furthermore, it seems to have introduced crashers when misbehaving plug-ins would make NPRuntime calls
8513         after a plug-in had been destroyed. Since Flash is now 64-bit like the rest of WebKit launch time has
8514         improved since we don't have to bring in all of the 32-bit system frameworks, so the time has come to
8515         rip out this egregious hack.
8516
8517         * PluginProcess/PluginControllerProxy.cpp:
8518         (WebKit::PluginControllerProxy::evaluate):
8519         * PluginProcess/PluginControllerProxy.h:
8520         (PluginControllerProxy):
8521         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
8522         (WebKit::NetscapePluginModule::determineQuirks):
8523         * Shared/Plugins/PluginQuirks.h:
8524         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
8525         (WebKit::NPN_Invoke):
8526         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
8527         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
8528         (NetscapePlugin):
8529         * WebProcess/Plugins/Plugin.cpp:
8530         (WebKit::Plugin::Parameters::encode):
8531         (WebKit::Plugin::Parameters::decode):
8532         * WebProcess/Plugins/Plugin.h:
8533         (Parameters):
8534         * WebProcess/Plugins/PluginController.h:
8535         (PluginController):
8536         * WebProcess/Plugins/PluginView.cpp:
8537         * WebProcess/Plugins/PluginView.h:
8538         (PluginView):
8539         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
8540         (WebKit::WebFrameLoaderClient::createPlugin):
8541
8542 2012-03-22  Raphael Kubo da Costa  <rakuco@FreeBSD.org>
8543
8544         [CMake] Unreviewed build fix after r111778.
8545
8546         * CMakeLists.txt: Replace ${JAVASCRIPTCORE_DIR}/wtf includes with
8547         ${WTF_DIR}/wtf ones.
8548
8549 2012-03-22  Csaba Osztrogonác  <ossy@webkit.org>
8550
8551         Actually move WTF files to their new home
8552         https://bugs.webkit.org/show_bug.cgi?id=81844
8553
8554         [Qt] Unreviewed buildfix after r111778.
8555
8556         * UIProcess/API/qt/qquicknetworkrequest_p.h:
8557         * WebKit2.pri:
8558
8559 2012-03-22  Dave Michael  <dmichael@chromium.org>
8560
8561         HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called
8562         https://bugs.webkit.org/show_bug.cgi?id=80428
8563
8564         Reviewed by Eric Seidel.
8565
8566         Test: plugins/netscape-dom-access-and-reload.html
8567
8568         * win/WebKit2.def: Export a symbol for InspectorCounters::counterValue
8569         * win/WebKit2CFLite.def: Export a symbol for InspectorCounters::counterValue
8570
8571 2012-03-22  Pierre Rossi  <pierre.rossi@gmail.com>
8572
8573         Revert back the device DPI to 160.
8574
8575         This corresponds to a device pixel ratio of 1, which
8576         is nicer on the eye in many cases.
8577
8578         Rubber-stamped by Kenneth Rohde Christiansen.
8579
8580         * UIProcess/API/qt/qquickwebview.cpp:
8581         (QQuickWebViewFlickablePrivate::computeViewportConstraints):
8582
8583 2012-03-22  Alexander Færøy  <alexander.faeroy@nokia.com>
8584
8585         [Qt][WK2] Remember to initialize databaseQuotaDialog
8586         https://bugs.webkit.org/show_bug.cgi?id=81942
8587
8588         Reviewed by Kenneth Rohde Christiansen.
8589
8590         * UIProcess/API/qt/qquickwebview.cpp:
8591         (QQuickWebViewPrivate::QQuickWebViewPrivate):
8592
8593 2012-03-22  Alexander Færøy  <alexander.faeroy@nokia.com>
8594
8595         [Qt][WK2] Pass Origin information to the DatabaseQuotaDialogContextObject
8596         https://bugs.webkit.org/show_bug.cgi?id=81910
8597
8598         Reviewed by Simon Hausmann.
8599
8600         * UIProcess/API/qt/qquickwebview.cpp:
8601         (QQuickWebViewPrivate::exceededDatabaseQuota):
8602         * UIProcess/API/qt/qquickwebview_p_p.h:
8603         (QQuickWebViewPrivate):
8604         * UIProcess/qt/QtDialogRunner.cpp:
8605         (DatabaseQuotaDialogContextObject):
8606         (DatabaseQuotaDialogContextObject::DatabaseQuotaDialogContextObject):
8607         (DatabaseQuotaDialogContextObject::securityOrigin):
8608         (QtDialogRunner::initForDatabaseQuotaDialog):
8609         * UIProcess/qt/QtDialogRunner.h:
8610         (QtDialogRunner):
8611         * UIProcess/qt/QtWebPageUIClient.cpp:
8612         (QtWebPageUIClient::exceededDatabaseQuota):
8613         * UIProcess/qt/QtWebPageUIClient.h:
8614
8615 2012-03-22  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
8616
8617         [Qt] Don't resume the suspended page if the user is continuously flicking.
8618         https://bugs.webkit.org/show_bug.cgi?id=81895
8619
8620         Reviewed by Kenneth Rohde Christiansen.
8621
8622         Create an additional suspend deferrer between TouchBegin and TouchEnd to
8623         relay with the one kept while the flick animation is running.
8624         This allows the page to be suspended when a pan gesture starts and stay
8625         that way until the last flick animation ends.
8626
8627         * UIProcess/qt/QtViewportInteractionEngine.cpp:
8628         (WebKit::QtViewportInteractionEngine::touchBegin):
8629         (WebKit):
8630         (WebKit::QtViewportInteractionEngine::touchEnd):
8631         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
8632         * UIProcess/qt/QtViewportInteractionEngine.h:
8633         (QtViewportInteractionEngine):
8634         * UIProcess/qt/QtWebPageEventHandler.cpp:
8635         (QtWebPageEventHandler::doneWithTouchEvent):
8636
8637 2012-03-22  Carlos Garcia Campos  <cgarcia@bb-webkit-rel-64.local.igalia.com>
8638
8639         [GTK] Use the angle-bracket form to include wtf headers
8640         https://bugs.webkit.org/show_bug.cgi?id=81884
8641
8642         Reviewed by Eric Seidel.
8643
8644         Use #include <wtf/foo> instead of #include <JavaScriptCore/foo>.
8645
8646         * UIProcess/API/gtk/tests/TestMain.h:
8647         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
8648
8649 2012-03-22  No'am Rosenthal  <noam.rosenthal@nokia.com>
8650
8651         [Qt][WK2] The background appears to have one extra pixel from the contents
8652         https://bugs.webkit.org/show_bug.cgi?id=81830
8653
8654         Reviewed by Kenneth Rohde Christiansen.
8655
8656         The clip-polygon from the scenegraph uses floats, not integers.
8657         This could cause 1-offset clipping problems in some cases.
8658
8659         * UIProcess/qt/QtWebPageSGNode.cpp:
8660         (WebKit::ContentsSGNode::clipRect):
8661
8662 2012-03-21  Alexander Færøy  <alexander.faeroy@nokia.com>
8663
8664         [Qt][WK2] Add QML API for handling database quotas
8665         https://bugs.webkit.org/show_bug.cgi?id=81827
8666
8667         Reviewed by Simon Hausmann.
8668
8669         Patch by Pierre Rossi and Alexander Færøy.
8670
8671         This patch adds a QML API for handling database quotas.
8672
8673         * UIProcess/API/qt/qquickwebview.cpp:
8674         (QQuickWebViewPrivate::exceededDatabaseQuota):
8675         (QQuickWebViewExperimental::databaseQuotaDialog):
8676         (QQuickWebViewExperimental::setDatabaseQuotaDialog):
8677         * UIProcess/API/qt/qquickwebview_p.h:
8678         * UIProcess/API/qt/qquickwebview_p_p.h:
8679         (QQuickWebViewPrivate):
8680         * UIProcess/qt/QtDialogRunner.cpp:
8681         (DatabaseQuotaDialogContextObject):
8682         (DatabaseQuotaDialogContextObject::DatabaseQuotaDialogContextObject):
8683         (DatabaseQuotaDialogContextObject::databaseName):
8684         (DatabaseQuotaDialogContextObject::displayName):
8685         (DatabaseQuotaDialogContextObject::currentQuota):
8686         (DatabaseQuotaDialogContextObject::currentOriginUsage):
8687         (DatabaseQuotaDialogContextObject::currentDatabaseUsage):
8688         (DatabaseQuotaDialogContextObject::expectedUsage):
8689         (DatabaseQuotaDialogContextObject::accept):
8690         (DatabaseQuotaDialogContextObject::reject):
8691         (QtDialogRunner::initForDatabaseQuotaDialog):
8692         * UIProcess/qt/QtDialogRunner.h:
8693         (QtDialogRunner):
8694         (QtDialogRunner::databaseQuota):
8695         (QtDialogRunner::onDatabaseQuotaAccepted):
8696         * UIProcess/qt/QtWebPageUIClient.cpp:
8697         (QtWebPageUIClient::QtWebPageUIClient):
8698         (QtWebPageUIClient::exceededDatabaseQuota):
8699         * UIProcess/qt/QtWebPageUIClient.h:
8700         * UIProcess/qt/WebContextQt.cpp:
8701         (WebKit::WebContext::platformDefaultDatabaseDirectory):
8702
8703 2012-03-21  Tim Horton  <timothy_horton@apple.com>
8704
8705         Make use of CG rounded-rect primitives
8706         https://bugs.webkit.org/show_bug.cgi?id=79932
8707         <rdar://problem/9274953>
8708
8709         Reviewed by Simon Fraser.
8710         
8711         Portions of patch by Nikolas Zimmermann and Mustafizur Rahaman.
8712
8713         Add wkCGPathAddRoundedRect.
8714
8715         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
8716         (InitWebCoreSystemInterface):
8717
8718 2012-03-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
8719
8720         [Qt] WebGraphicsLayer: Untie the layer updates and tile updates.
8721         https://bugs.webkit.org/show_bug.cgi?id=81771
8722
8723         Reviewed by Kenneth Rohde Christiansen.
8724
8725         The DidRenderFrame message needs to be sent for every UpdateTileForLayer
8726         message, but this currently has to be triggered by m_shouldSyncFrame which
8727         is only set after sending a SyncCompositingLayerState message.
8728         This patch makes sure that tile updates won't trigger sending the whole
8729         layer info if it didn't change, and send the DidRenderFrame message directly.
8730
8731         It also makes sure that the layer info is sent before any tile update so that
8732         the layer can be created on the UI process before any tile update is handled.
8733
8734         * UIProcess/WebLayerTreeRenderer.cpp:
8735         (WebKit::WebLayerTreeRenderer::getBackingStore):
8736         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
8737         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
8738         (WebCore::WebGraphicsLayer::tiledBackingStorePaint):
8739         (WebCore::WebGraphicsLayer::createTile):
8740         (WebCore::WebGraphicsLayer::updateTile):
8741         (WebCore::WebGraphicsLayer::removeTile):
8742         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
8743         (WebKit::LayerTreeHostQt::createTile):
8744         (WebKit::LayerTreeHostQt::updateTile):
8745         (WebKit::LayerTreeHostQt::removeTile):
8746
8747 2012-03-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
8748
8749         [Qt] Don't clip the contents rendering to the contents size.
8750         https://bugs.webkit.org/show_bug.cgi?id=81770
8751
8752         Reviewed by Kenneth Rohde Christiansen.
8753
8754         The original bug was caused by the contents size updates
8755         having to go through the UI process before being applied
8756         on the TiledBackingStore of the non composited contents layer.
8757         With this bug being fixed, the clipping isn't necessary anymore.
8758
8759         * UIProcess/qt/LayerBackingStore.cpp:
8760         (WebKit::LayerBackingStore::paintToTextureMapper):
8761
8762 2012-03-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
8763
8764         [Qt] Apply tile removals at the same time as update buffer swaps.
8765         https://bugs.webkit.org/show_bug.cgi?id=81768
8766
8767         Reviewed by Kenneth Rohde Christiansen.
8768
8769         When committing the scale, we have to remove old tiles once the
8770         tiles for the new scale are rendered. This should however wait
8771         until those tiles gets their buffer swapped (following the DidRenderFrame
8772         message) to make sure that there is no rendered gap between the removals
8773         and updates swap.
8774         This patch continues rendering the removed tiles until the DidRenderFrame
8775         message is received to discard the old contents and show the new contents
8776         at the same frame.
8777
8778         * UIProcess/WebLayerTreeRenderer.cpp:
8779         (WebKit::WebLayerTreeRenderer::commitTileUpdates):
8780         (WebKit::WebLayerTreeRenderer::flushLayerChanges):
8781         * UIProcess/WebLayerTreeRenderer.h:
8782         (WebLayerTreeRenderer):
8783         * UIProcess/qt/LayerBackingStore.cpp:
8784         (WebKit::LayerBackingStore::removeTile):
8785         (WebKit::LayerBackingStore::commitTileUpdates):
8786         * UIProcess/qt/LayerBackingStore.h:
8787         (LayerBackingStore):
8788
8789 2012-03-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
8790
8791         [Qt] Trigger scene graph repaints only for relevant layer updates.
8792         https://bugs.webkit.org/show_bug.cgi?id=81765
8793
8794         Reviewed by Kenneth Rohde Christiansen.
8795
8796         Tile updates and removal shouldn't re-render the scene all by themselves
8797         since they need a buffer swap before having any effect on the framebuffer.
8798
8799         * UIProcess/LayerTreeHostProxy.cpp:
8800         (WebKit::LayerTreeHostProxy::dispatchUpdate):
8801         (WebKit::LayerTreeHostProxy::deleteCompositingLayer):
8802         (WebKit::LayerTreeHostProxy::setRootCompositingLayer):
8803         (WebKit::LayerTreeHostProxy::didRenderFrame):
8804
8805 2012-03-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
8806
8807         [Qt] Don't go through the UI process to update a layer's contents size.
8808         https://bugs.webkit.org/show_bug.cgi?id=81764
8809
8810         Reviewed by Kenneth Rohde Christiansen.
8811
8812         It's happening when navigating pages that contents from the old page
8813         is still present on the tiles until the contents size is shrunk to cut it out.
8814         Since the contents size updates are asynchronous and go through the UI process,
8815         this could occasionally show some glitch frames.
8816         Even worse, the user could delay this update by starting to pan and keep
8817         his finger on the screen.
8818         This patch makes sure that changes to contents size are notifying the LayerTreeHost
8819         immediately when in fixed layout mode, and remove the loop through the UI process.
8820
8821         * UIProcess/API/qt/qquickwebpage.cpp:
8822         (QQuickWebPage::setContentsSize):
8823         * UIProcess/API/qt/qquickwebpage_p_p.h:
8824         (QQuickWebPagePrivate):
8825         * UIProcess/API/qt/qquickwebview.cpp:
8826         (QQuickWebViewPrivate::didRelaunchProcess):
8827         (QQuickWebViewLegacyPrivate::updateViewportSize):
8828         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
8829         (WebKit::WebChromeClient::contentsSizeChanged):
8830         * WebProcess/WebPage/DrawingArea.h:
8831         (WebKit):
8832         (WebKit::DrawingArea::layerTreeHost):
8833         * WebProcess/WebPage/DrawingAreaImpl.cpp:
8834         (WebKit::DrawingAreaImpl::updateBackingStoreState):
8835         * WebProcess/WebPage/DrawingAreaImpl.h:
8836         (WebKit::DrawingAreaImpl::layerTreeHost):
8837         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
8838         (WebKit::LayerTreeHostQt::sizeDidChange):
8839
8840 2012-03-21  Kenneth Rohde Christiansen  <kenneth@webkit.org>
8841
8842         The activation highlight does not always hide
8843         https://bugs.webkit.org/show_bug.cgi?id=81767
8844
8845         Reviewed by Simon Hausmann.
8846
8847         The zero point used for hiding potential activations should
8848         not be transformed.
8849
8850         * UIProcess/qt/QtWebPageEventHandler.cpp:
8851         (QtWebPageEventHandler::handlePotentialSingleTapEvent):
8852
8853 2012-03-21  Dinu Jacob  <dinu.jacob@nokia.com>
8854
8855         [Qt][WK2] Item cannot be selected from select list in touch webview
8856         https://bugs.webkit.org/show_bug.cgi?id=81674
8857
8858         Reviewed by Simon Hausmann.
8859
8860         Activate flag to prevent QQuickWebView from accepting touch event when select
8861         dialog is being displayed.
8862
8863         * UIProcess/API/qt/qquickwebview.cpp:
8864         (QQuickWebViewPrivate::QQuickWebViewPrivate):
8865         (QQuickWebViewPrivate::execDialogRunner):
8866         (QQuickWebView::touchEvent):
8867         * UIProcess/API/qt/qquickwebview_p_p.h:
8868         (QQuickWebViewPrivate::setDialogActive):
8869         (QQuickWebViewPrivate):
8870         * UIProcess/qt/WebPopupMenuProxyQt.cpp:
8871         (WebKit::WebPopupMenuProxyQt::showPopupMenu):
8872         (WebKit::WebPopupMenuProxyQt::hidePopupMenu):
8873
8874 2012-03-21  Kenneth Rohde Christiansen  <kenneth@webkit.org>
8875
8876         [Qt] Remove the PostTransitionState
8877         https://bugs.webkit.org/show_bug.cgi?id=81751
8878
8879         Reviewed by Simon Hausmann.
8880
8881         As we are handling content size change event etc from the
8882         WebProcess, that conflicts with the PostTransitionState handling
8883         and we therefore need to handle this slightly differently.
8884
8885         Remove the code and make sure that we never resize the tiled
8886         area to something smaller than the layout viewport.
8887
8888         * UIProcess/API/qt/qquickwebview.cpp:
8889         (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
8890         (QQuickWebViewFlickablePrivate::loadDidCommit):
8891         (QQuickWebViewFlickablePrivate::didFinishFirstNonEmptyLayout):
8892         (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
8893         (QQuickWebViewFlickablePrivate::_q_resume):
8894         (QQuickWebViewFlickablePrivate::pageDidRequestScroll):
8895         (QQuickWebViewFlickablePrivate::didChangeContentsSize):
8896         * UIProcess/API/qt/qquickwebview_p_p.h:
8897         (QQuickWebViewFlickablePrivate):
8898         * UIProcess/qt/QtViewportInteractionEngine.cpp:
8899         (WebKit::QtViewportInteractionEngine::applyConstraints):
8900         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
8901         (WebKit::WebChromeClient::contentsSizeChanged):
8902         * WebProcess/WebPage/WebPage.cpp:
8903         (WebKit::WebPage::resizeToContentsIfNeeded):
8904
8905 2012-03-21  Carlos Garcia Campos  <cgarcia@igalia.com>
8906
8907         [GTK] Add webkit_web_view_run_javascript() to WebKit2 GTK+
8908         https://bugs.webkit.org/show_bug.cgi?id=75543
8909
8910         Reviewed by Martin Robinson.
8911
8912         * GNUmakefile.am: Add new files to compilation.
8913         * UIProcess/API/gtk/WebKitError.cpp:
8914         (webkit_javascript_error_quark): Add new error domain for
8915         Javascript errors.
8916         * UIProcess/API/gtk/WebKitError.h:
8917         * UIProcess/API/gtk/WebKitJavascriptResult.cpp: Added.
8918         (webkitJavascriptResultCreate): Create a WebKitJavascriptResult
8919         for the given WKSerializedScriptValueRef.
8920         (webkit_javascript_result_ref): Increment reference count of
8921         WebKitJavascriptResult.
8922         (webkit_javascript_result_unref): Decrement reference count of
8923         WebKitJavascriptResult.
8924         (webkit_javascript_result_get_global_context): Get global
8925         javascript context of the result.
8926         (webkit_javascript_result_get_value): Get the JSValueRef of the
8927         result.
8928         * UIProcess/API/gtk/WebKitJavascriptResult.h: Added.
8929         * UIProcess/API/gtk/WebKitJavascriptResultPrivate.h: Added.
8930         * UIProcess/API/gtk/WebKitPrivate.h:
8931         * UIProcess/API/gtk/WebKitWebView.cpp:
8932         (webkitWebViewFinalize): Release the global javascript context.
8933         (webkit_web_view_get_javascript_global_context): Get or create the
8934         global javascript context.
8935         (webkitWebViewRunJavaScriptCallback): Callback called by C API when
8936         javascript execution finishes.
8937         (webkit_web_view_run_javascript): Asynchronously run a given
8938         javascript.
8939         (webkit_web_view_run_javascript_finish): Finish async operation
8940         started by webkit_web_view_run_javascript().
8941         * UIProcess/API/gtk/WebKitWebView.h:
8942         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
8943         * UIProcess/API/gtk/docs/webkit2gtk.types: Add
8944         webkit_javascript_result_get_type().
8945         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
8946         (testWebViewRunJavaScript):
8947         (beforeAll):
8948         * UIProcess/API/gtk/tests/WebViewTest.cpp:
8949         (WebViewTest::WebViewTest):
8950         (WebViewTest::~WebViewTest):
8951         (runJavaScriptReadyCallback):
8952         (WebViewTest::runJavaScriptAndWaitUntilFinished):
8953         (jsValueToCString):
8954         (WebViewTest::javascriptResultToCString):
8955         (WebViewTest::javascriptResultToNumber):
8956         (WebViewTest::javascriptResultToBoolean):
8957         (WebViewTest::javascriptResultIsNull):
8958         (WebViewTest::javascriptResultIsUndefined):
8959         * UIProcess/API/gtk/tests/WebViewTest.h:
8960         * UIProcess/API/gtk/webkit2.h:
8961
8962 2012-03-20  Eric Seidel  <eric@webkit.org>
8963
8964         Move wtf/Platform.h from JavaScriptCore to Source/WTF/wtf
8965         https://bugs.webkit.org/show_bug.cgi?id=80911
8966
8967         Reviewed by Adam Barth.
8968
8969         Update to not depend on "Foo.h" includes for WTF headers.
8970
8971         * Shared/qt/QtNetworkReplyData.h:
8972         * Shared/qt/QtNetworkRequestData.cpp:
8973         * Shared/qt/QtNetworkRequestData.h:
8974
8975 2012-03-20  Anders Carlsson  <andersca@apple.com>
8976
8977         REGRESSION (r110780): Loading a PDF always makes the WKView layer backed
8978         https://bugs.webkit.org/show_bug.cgi?id=81734
8979         <rdar://problem/11088172>
8980
8981         Reviewed by Adele Peterson.
8982
8983         * UIProcess/API/mac/WKView.mm:
8984         (-[WKView _setPageHasCustomRepresentation:]):
8985         Don't call -[NSView setWantsLayer:], the web process already takes care of entering and exiting
8986         accelerated compositing mode for us.
8987
8988 2012-03-20  Jon Lee  <jonlee@apple.com>
8989
8990         Restrict access to notifications for unique origins and file URLs with no local file access
8991         https://bugs.webkit.org/show_bug.cgi?id=79704
8992         <rdar://problem/10912430>
8993
8994         Reviewed by Adam Barth.
8995
8996         In the specific case where a file URL has restricted file access and is denied universal access,
8997         SecurityOrigin::canShowNotifications() returns Ask, since it is not considered a unique origin.
8998         The cached table of permissions held by the notification manager will typically not have an entry for
8999         the toString() representation of these file URLs, which is "null", since that can also cover unique
9000         origins, and it is possible that the client will want different permissions between the two types.
9001
9002         It is reasonable, however, for there to be an entry for "file://", so we use toRawString() to do the lookup.
9003
9004         * WebProcess/Notifications/WebNotificationManager.cpp:
9005         (WebKit::WebNotificationManager::policyForOrigin):
9006
9007 2012-03-20  Alexey Proskuryakov  <ap@apple.com>
9008
9009         Address review comment for WebProcess side, too.
9010
9011         * WebProcess/mac/WebProcessMac.mm: (WebKit::initializeSandbox): There is no need for
9012         path to be in static storage, setenv will copy the value.
9013
9014 2012-03-20  Alexey Proskuryakov  <ap@apple.com>
9015
9016         Sandboxed PluginProcess should use private temporary and cache directories
9017         https://bugs.webkit.org/show_bug.cgi?id=81702
9018         <rdar://problem/10792047>
9019
9020         Reviewed by Anders Carlsson.
9021
9022         * Platform/Module.h:
9023         * Platform/mac/ModuleMac.mm:
9024         (WebKit::Module::bundleIdentifier):
9025         Expose plug-in's bundle identifier.
9026
9027         * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.in: Some unerlated fixes to make
9028         networking functional on my testing platforms. These serveices are already allowed for
9029         WebProcess.
9030
9031         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
9032         (readSandboxProfile): Unrelated fix - I've been made to rename the profile file, but
9033         didn't update where it's read from!
9034         (WKN_EnterSandbox): Add a suffix to user directories.
9035
9036 2012-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>
9037
9038         Unreviewed, rolling out r111445 and r111446.
9039         http://trac.webkit.org/changeset/111445
9040         http://trac.webkit.org/changeset/111446
9041         https://bugs.webkit.org/show_bug.cgi?id=81708
9042
9043         It broke Qt and GTK build intentionally (Requested by Ossy on
9044         #webkit).
9045
9046         * WebProcess/Notifications/WebNotificationManager.cpp:
9047         (WebKit::WebNotificationManager::policyForOrigin):
9048
9049 2012-03-20  Jon Lee  <jonlee@apple.com>
9050
9051         Restrict access to notifications for unique origins and file URLs with no local file access
9052         https://bugs.webkit.org/show_bug.cgi?id=79704
9053         <rdar://problem/10912430>
9054
9055         Reviewed by Adam Barth.
9056
9057         In the specific case where a file URL has restricted file access and is denied universal access,
9058         SecurityOrigin::canShowNotifications() returns Ask, since it is not considered a unique origin.
9059         The cached table of permissions held by the notification manager will typically not have an entry for
9060         the toString() representation of these file URLs, which is "null", since that can also cover unique
9061         origins, and it is possible that the client will want different permissions between the two types.
9062
9063         It is reasonable, however, for there to be an entry for "file://", so we use toRawString() to do the lookup.
9064
9065         * WebProcess/Notifications/WebNotificationManager.cpp:
9066         (WebKit::WebNotificationManager::policyForOrigin):
9067
9068 2012-03-20  Alexey Proskuryakov  <ap@apple.com>
9069
9070         WebProcess should use private temporary and cache directories
9071         https://bugs.webkit.org/show_bug.cgi?id=80876
9072
9073         Reviewed by Sam Weinig.
9074
9075         * Shared/WebProcessCreationParameters.cpp:
9076         (WebKit::WebProcessCreationParameters::encode):
9077         (WebKit::WebProcessCreationParameters::decode):
9078         * Shared/WebProcessCreationParameters.h: (WebProcessCreationParameters):
9079         * UIProcess/mac/WebContextMac.mm: (WebKit::WebContext::platformInitializeWebProcess):
9080         Always pass uiProcessBundleIdentifier to WebProcess on Mac, it's now used for more than
9081         CFURL sessions.
9082
9083         * WebProcess/com.apple.WebProcess.sb.in: Limit old workaround to platforms that need it.
9084
9085         * WebProcess/mac/WebProcessMac.mm: (WebKit::initializeSandbox): Tell confstr to use a suffix
9086         on user directories.
9087
9088 2012-03-20  Anders Carlsson  <andersca@apple.com>
9089
9090         Graphic distortion effect when launching with empty page Safari after reset
9091         https://bugs.webkit.org/show_bug.cgi?id=81677
9092         <rdar://problem/11065904>
9093
9094         Reviewed by Sam Weinig.
9095
9096         Don't set the redraw policy to never, since that was causing the WKView layer to never be updated. Instead,
9097         let AppKit decide which redraw policy to use.
9098
9099         * UIProcess/API/mac/WKView.mm:
9100         (-[WKView initWithFrame:contextRef:pageGroupRef:]):
9101
9102 2012-03-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
9103
9104         Convert hasSpellingMarker to use Internals interface.
9105         https://bugs.webkit.org/show_bug.cgi?id=81300
9106
9107         Reviewed by Ryosuke Niwa.
9108
9109         * win/WebKit2.def: Export a symbol for hasSpellingMarker.
9110
9111 2012-03-20  Antaryami Pandia  <antaryami.pandia@motorola.com>
9112
9113         [GTK] [WK2] Add javascript clipboard functionality settings to WebKit2 GTK+ API.
9114         https://bugs.webkit.org/show_bug.cgi?id=80981
9115
9116         Reviewed by Martin Robinson.
9117
9118         Add WebSettings to enable/disable javascript clipboard functionality.
9119
9120         * UIProcess/API/gtk/WebKitSettings.cpp:
9121         (webKitSettingsSetProperty):
9122         (webKitSettingsGetProperty):
9123         (webkit_settings_class_init):
9124         (webkit_settings_get_javascript_can_access_clipboard):
9125         (webkit_settings_set_javascript_can_access_clipboard):
9126         * UIProcess/API/gtk/WebKitSettings.h:
9127         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
9128         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
9129         (testWebKitSettings):
9130
9131 2012-03-19  Adam Barth  <abarth@webkit.org>
9132
9133         Remove support for "magic" iframe
9134         https://bugs.webkit.org/show_bug.cgi?id=81590
9135
9136         Reviewed by Eric Seidel.
9137
9138         Remove FrameLoaderClient methods that no longer exist.
9139
9140         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
9141         (WebKit):
9142         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
9143
9144 2012-03-19  Gustavo Noronha Silva  <gns@gnome.org>
9145
9146         [GTK] libWebCore.la has become too big for make
9147         https://bugs.webkit.org/show_bug.cgi?id=81582
9148
9149         Unreviewed build fix.
9150
9151         * GNUmakefile.am: link-in the new libWebCoreModules.la
9152
9153 2012-03-19  Sam Weinig  <sam@webkit.org>
9154
9155         Stop messing with the AppKit grow box on platforms that don't support it
9156         <rdar://problem/10752048>
9157         https://bugs.webkit.org/show_bug.cgi?id=81614
9158
9159         Reviewed by Dan Bernstein.
9160
9161         * UIProcess/API/mac/WKView.mm:
9162         (-[WKView viewWillMoveToWindow:]):
9163         (-[WKView _didChangeScrollbarsForMainFrame]):
9164         Snow Leopard was the last Mac OS to need a grow box.
9165
9166 2012-03-19  Enrica Casucci  <enrica@apple.com>
9167
9168         WebKit2: create sandbox extensions for files that are dropped in an input control.
9169         https://bugs.webkit.org/show_bug.cgi?id=81153
9170         <rdar://problem/11031207>
9171
9172         Reviewed by Alexey Proskuryakov.
9173
9174         Now the pasteboard access is performed only in the UI process, it is
9175         necessary to create sandbox extensions for each file that is dropped into
9176         an input type=file element. The extensions are created at the time the files
9177         are dropped and consumed immediately.
9178         
9179         * Platform/CoreIPC/HandleMessage.h:
9180         (CoreIPC::callMemberFunction): Added template that takes 8 arguments.
9181         * Shared/SandboxExtension.h:
9182         (HandleArray): Added new class to handle an array of sandbox extension handles.
9183         (WebKit::SandboxExtension::HandleArray::HandleArray):
9184         (WebKit::SandboxExtension::HandleArray::~HandleArray):
9185         (WebKit::SandboxExtension::HandleArray::resize):
9186         (WebKit::SandboxExtension::HandleArray::operator[]):
9187         (WebKit::SandboxExtension::HandleArray::size):
9188         (WebKit::SandboxExtension::HandleArray::encode):
9189         (WebKit::SandboxExtension::HandleArray::decode):
9190         * Shared/mac/SandboxExtensionMac.mm: Added new class implementation.
9191         (WebKit::SandboxExtension::HandleArray::HandleArray):
9192         (WebKit::SandboxExtension::HandleArray::~HandleArray):
9193         (WebKit::SandboxExtension::HandleArray::resize):
9194         (WebKit::SandboxExtension::HandleArray::operator[]):
9195         (WebKit::SandboxExtension::HandleArray::size):
9196         (WebKit::SandboxExtension::HandleArray::encode):
9197         (WebKit::SandboxExtension::HandleArray::decode):
9198         * UIProcess/API/mac/WKView.mm:
9199         (createSandboxExtensionsForFileUpload):
9200         (-[WKView performDragOperation:]): Added logic to create the sandbox extensions for each
9201         file/directory being dropped.
9202         * UIProcess/WebPageProxy.cpp:
9203         (WebKit::WebPageProxy::dragEntered):
9204         (WebKit::WebPageProxy::dragUpdated):
9205         (WebKit::WebPageProxy::dragExited):
9206         (WebKit::WebPageProxy::performDrag):
9207         (WebKit::WebPageProxy::performDragControllerAction): Added the handle array parameter.
9208         * UIProcess/WebPageProxy.h:
9209         * UIProcess/qt/QtWebPageEventHandler.cpp:
9210         (QtWebPageEventHandler::handleDropEvent):
9211         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
9212         * UIProcess/win/WebView.cpp:
9213         (WebKit::WebView::Drop):
9214         * WebProcess/WebCoreSupport/WebDragClient.cpp:
9215         (WebKit::WebDragClient::willPerformDragDestinationAction): Added handling of the new DragActionUpload.
9216         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
9217         (WebKit::WebPlatformStrategies::getPathnamesForType): Implemented using message to the UI process.
9218         * WebProcess/WebPage/WebPage.cpp:
9219         (WebKit::WebPage::performDragControllerAction):
9220         (WebKit::WebPage::performUploadDragDestinationAction): Added method that consumes the received extensions.
9221         * WebProcess/WebPage/WebPage.h:
9222         * WebProcess/WebPage/WebPage.messages.in:
9223
9224 2012-03-19  Alexey Proskuryakov  <ap@apple.com>
9225
9226         Make WebFrameLoaderClient::createFrame more like WebKit1 version.
9227         https://bugs.webkit.org/show_bug.cgi?id=81550
9228
9229         Covered by existing tests.
9230
9231         Reviewed by Jessie Berlin.
9232
9233         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::createFrame):
9234
9235 2012-03-19  Anders Carlsson  <andersca@apple.com>
9236
9237         Find in page highlights get out of place when scrolling
9238         https://bugs.webkit.org/show_bug.cgi?id=81543
9239         <rdar://problem/10932590>
9240
9241         Reviewed by Sam Weinig.
9242
9243         When we have a page overlay layer, always force a full repaint of it whenever the page changes.
9244         If this turns out to be a real performance problem (measurements suggest that it isn't), we could once
9245         again try to figure out when a full page repaint is needed. Doing so could probably be more expensive than
9246         simply repainting the page, given that a page overlay consists of a bunch of rect-fills mostly.
9247
9248         Also turn on accelerated drawing for the page overlay layer, since that cut CPU usage in half when scrolling
9249         on a page that had a find overlay visible.
9250
9251         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
9252         (TiledCoreAnimationDrawingArea):
9253         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
9254         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
9255         (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
9256
9257 2012-03-19  Anders Carlsson  <andersca@apple.com>
9258
9259         When Find overlay first appears and the page scrolls, the scrolling happens through a fade
9260         https://bugs.webkit.org/show_bug.cgi?id=81539
9261         <rdar://problem/11031093>
9262
9263         Reviewed by Dan Bernstein.
9264
9265         Disable implicit animations when adding the page overlay layer to its superlayer.
9266
9267         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
9268         (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
9269
9270 2012-03-19  Anders Carlsson  <andersca@apple.com>
9271
9272         Crash when closing an inspected web page with tiled drawing enabled
9273         https://bugs.webkit.org/show_bug.cgi?id=81524
9274         <rdar://problem/11062396>
9275
9276         Reviewed by Sam Weinig.
9277
9278         Guard against the WebPage's underlying WebCore Page being null, which can happen
9279         when the inspector highlight overlay is uninstalled by the inspector when the inspected
9280         page goes away.
9281
9282         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
9283         (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
9284
9285 2012-03-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
9286
9287         Merge _q_commitScaleChange and _q_commitPositionChange
9288         https://bugs.webkit.org/show_bug.cgi?id=81511
9289
9290         Reviewed by Simon Hausmann.
9291
9292         Both methods were used for notifying WebCore of the new
9293         viewport and re-tiling. The methods are merge into
9294         _q_contentViewportChanged.
9295
9296         * UIProcess/API/qt/qquickwebview.cpp:
9297         (QQuickWebViewFlickablePrivate::onComponentComplete):
9298         (QQuickWebViewFlickablePrivate::updateViewportSize):
9299         (QQuickWebViewFlickablePrivate::_q_contentViewportChanged):
9300         (QQuickWebViewFlickablePrivate::_q_resume):
9301         * UIProcess/API/qt/qquickwebview_p.h:
9302         * UIProcess/API/qt/qquickwebview_p_p.h:
9303         (QQuickWebViewPrivate::_q_contentViewportChanged):
9304         (QQuickWebViewFlickablePrivate):
9305         * UIProcess/qt/QtViewportInteractionEngine.cpp:
9306         (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
9307         (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
9308         (WebKit::QtViewportInteractionEngine::wheelEvent):
9309         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
9310         * UIProcess/qt/QtViewportInteractionEngine.h:
9311         (QtViewportInteractionEngine):
9312
9313 2012-03-19  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
9314
9315         Select best target for tap gesture.
9316         https://bugs.webkit.org/show_bug.cgi?id=78801
9317
9318         Reviewed by Kenneth Rohde Christiansen.
9319
9320         Send radius to handlePotentialSingleTapEvent so it can do the same hit
9321         detection the tap gesture later does.
9322
9323         * UIProcess/WebPageProxy.cpp:
9324         (WebKit::WebPageProxy::handlePotentialActivation):
9325         * UIProcess/WebPageProxy.h:
9326         * UIProcess/qt/QtWebPageEventHandler.cpp:
9327         (QtWebPageEventHandler::handlePotentialSingleTapEvent):
9328         * WebProcess/WebPage/WebPage.cpp:
9329         (WebKit::WebPage::highlightPotentialActivation):
9330         * WebProcess/WebPage/WebPage.h:
9331         * WebProcess/WebPage/WebPage.messages.in:
9332
9333 2012-03-19  Alexander Færøy  <alexander.faeroy@nokia.com>
9334
9335         [Qt] Add experimental API for dynamically changing the UA string
9336
9337         Reviewed by Simon Hausmann.
9338
9339         This patch adds a new property named userAgent to the
9340         QQuickWebViewExperimental type which allows us to dynamically change
9341         the user agent string from the QML API.
9342
9343         * UIProcess/API/qt/qquickwebview.cpp:
9344         (QQuickWebViewExperimental::userAgent):
9345         (QQuickWebViewExperimental::setUserAgent):
9346         * UIProcess/API/qt/qquickwebview_p.h:
9347
9348 2012-03-18  No'am Rosenthal  <noam.rosenthal@nokia.com>
9349
9350         [Qt][WK2] Avoid usage of manual scaling in the Qt scenegraph integration
9351         https://bugs.webkit.org/show_bug.cgi?id=81368
9352
9353         Reviewed by Simon Hausmann.
9354
9355         Moved the QtScenegraph integration classes to a separate file,
9356         QtWebPageSGNode. The nodes created for QQuickWebPage now include
9357         a QSGTransformNode that controls the contentsScale, a 
9358         QSGSimpleRectNode that controls the background color, and a
9359         QSGRenderNode subclass that renders the actual contents.
9360         * Target.pri:
9361         * UIProcess/API/qt/qquickwebpage.cpp:
9362         (QQuickWebPage::updatePaintNode):
9363         * UIProcess/qt/QtWebPageSGNode.cpp: Added.
9364         * UIProcess/qt/QtWebPageSGNode.h: Added.
9365
9366 2012-03-18  No'am Rosenthal  <noam.rosenthal@nokia.com>
9367
9368         [Qt] The background is visible for tiles inside the contents area which are not ready
9369         https://bugs.webkit.org/show_bug.cgi?id=81349
9370
9371         Reviewed by Simon Hausmann.
9372
9373         Split PageProxyNode to BackgroundSGNode and ContentsSGNode.
9374         BackgroundSGNode paints a solid background, either white or transparent
9375         (depending on drawsTransparentBackground flag).
9376
9377         * UIProcess/API/qt/qquickwebpage.cpp:
9378         (ContentsSGNode):
9379         (ContentsSGNode::ContentsSGNode):
9380         (ContentsSGNode::changedStates):
9381         (ContentsSGNode::~ContentsSGNode):
9382         (BackgroundSGNode):
9383         (BackgroundSGNode::BackgroundSGNode):
9384         (BackgroundSGNode::contentsNode):
9385         (QQuickWebPage::updatePaintNode):
9386
9387 2012-03-17  Joe Thomas  <joethomas@motorola.com>
9388
9389         move calc*Value functions out from Length (and platform)
9390         https://bugs.webkit.org/show_bug.cgi?id=80897
9391
9392         Moving the Length calc*Value functions out from Length structure and also from /WebCore/platform/ folder.
9393         This helps to avoid the layering violation while length calculation. Otherwise layer violation can be avoided only by adding a virtual interface(bug 27160).
9394
9395         Reviewed by Antti Koivisto.
9396
9397         * WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
9398         (WebKit::WebPopupMenu::setUpPlatformData):
9399
9400 2012-03-17  Dan Bernstein  <mitz@apple.com>
9401
9402         <rdar://problem/10263562> Crash in WebCore::Range::startPosition() when dismissing the Press and Hold panel by clicking in the menu bar
9403         https://bugs.webkit.org/show_bug.cgi?id=81454
9404
9405         Reviewed by Ada Chan.
9406
9407         When the Press and Hold panel is dismissed by clicking in the menu bar,
9408         -insertText:replacementRange: is called with an NSRange whose location is NSNotFound - 1
9409         (see <rdar://problem/11069374>). Trying to convert this bogus range to a WebCore Range
9410         returns 0, which leads to the crash.
9411
9412         * WebProcess/WebPage/mac/WebPageMac.mm:
9413         (WebKit::WebPage::insertText): Added a null check, to protect the code from bogus ranges.
9414
9415 2012-03-16  Stephanie Lewis  <slewis@apple.com>
9416
9417         https://bugs.webkit.org/show_bug.cgi?id=81065
9418         <rdar://problem/10944309> CrashTracer: [USER] 111 crashes in WebProcess at WebKitTestRunnerInjectedBundle: WTR::InjectedBundle::done + 142
9419         Add some string function exports to Windows so the WebKitTestRunner can use them.
9420
9421         Reviewed by Geoff Garen.
9422
9423         * win/WebKit2.def:
9424
9425 2012-03-16  Brady Eidson  <beidson@apple.com>
9426
9427         <rdar://problem/11027997> and https://bugs.webkit.org/show_bug.cgi?id=81412
9428         REGRESSION (r107435) Copy a link and paste to Mail: Nothing is pasted
9429
9430         Reviewed by Geoff Garen.
9431
9432         Add new message so the WebProcess can ask the UIProcesses pasteboard for the URL:
9433         * UIProcess/WebContext.h:
9434         * UIProcess/WebContext.messages.in:
9435         * UIProcess/mac/WebContextMac.mm:
9436         (WebKit::WebContext::getPasteboardURL):
9437
9438         Use that new message to implement the pasteboard strategy:
9439         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
9440         (WebKit::WebPlatformStrategies::url):
9441         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
9442         (WebPlatformStrategies):
9443
9444 2012-03-16  Alexey Proskuryakov  <ap@apple.com>
9445
9446         ASSERTION FAILED: m_loadState == LoadStateCommitted in WebFrameProxy::didFinishLoad causing
9447         "crashes" on Lion Intel Debug WebKit2 Tests
9448         https://bugs.webkit.org/show_bug.cgi?id=81184
9449         <rdar://problem/11052462>
9450
9451         Rubber-stamped by Anders Carlsson.
9452
9453         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: (WebKit::WebFrameLoaderClient::finishedLoading):
9454         Don't leave a lingering m_pluginView after load is finished. When plug-in data was empty,
9455         we would create the plug-in here, but failed to finalize the load.
9456
9457 2012-03-08  Jer Noble  <jer.noble@apple.com>
9458
9459         Support W3C Full Screen API proposal
9460         https://bugs.webkit.org/show_bug.cgi?id=80660
9461
9462         Reviewed by Alexey Proskuryakov.
9463
9464         Allow full screen elements to access the keyboard.
9465
9466         * UIProcess/WebFullScreenManagerProxy.cpp:
9467         (WebKit::WebFullScreenManagerProxy::supportsFullScreen):
9468         * WebProcess/FullScreen/WebFullScreenManager.cpp:
9469         (WebKit::WebFullScreenManager::exitFullScreenForElement):
9470
9471 2012-03-16  Andras Becsi  <andras.becsi@nokia.com>
9472
9473         [Qt][WK2] Fix bounce-back behaviour for panning
9474         https://bugs.webkit.org/show_bug.cgi?id=81144
9475
9476         Reviewed by Kenneth Rohde Christiansen.
9477
9478         If the pan gesture recognizer receives a touch begin event
9479         during an ongoing kinetic scroll animation of a previous
9480         pan gesture, the animation is stopped and the content is
9481         immediately positioned back to valid boundaries.
9482
9483         * UIProcess/qt/QtPanGestureRecognizer.cpp:
9484         (WebKit::QtPanGestureRecognizer::recognize):
9485         * UIProcess/qt/QtViewportInteractionEngine.cpp:
9486         (WebKit::QtViewportInteractionEngine::cancelScrollAnimation):
9487         (WebKit):
9488         * UIProcess/qt/QtViewportInteractionEngine.h:
9489         (QtViewportInteractionEngine):
9490
9491 2012-03-16  Dinu Jacob  <dinu.jacob@nokia.com>
9492
9493         [Qt][Wk2] Assertion Failure and crash on file upload
9494         https://bugs.webkit.org/show_bug.cgi?id=80854
9495
9496         Reviewed by Simon Hausmann.
9497
9498         Crash resulted from attempting to create QFileDialog, a QtWidget based dialog from a 
9499         QGuiApplication. Replace QFileDialog with a QML implementable component.
9500         Added a new property 'filePicker' to WebView experimental to set the QML component for
9501         file upload triggered by an input file element.
9502
9503         Co-authored with Kasthuri Nallappasoundararajan <kasthuri.n-s@nokia.com>
9504
9505         * UIProcess/API/qt/qquickwebview.cpp:
9506         (QQuickWebViewPrivate::QQuickWebViewPrivate):
9507         (QQuickWebViewPrivate::chooseFiles):
9508         (QQuickWebViewExperimental::filePicker):
9509         (QQuickWebViewExperimental::setFilePicker):
9510         * UIProcess/API/qt/qquickwebview_p.h:
9511         * UIProcess/API/qt/qquickwebview_p_p.h:
9512         (QQuickWebViewPrivate):
9513         * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
9514         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_singleFileUpload.qml: Added.
9515         * UIProcess/API/qt/tests/qmltests/common/singlefileupload.html: Added.
9516         * UIProcess/qt/QtDialogRunner.cpp:
9517         (FilePickerContextObject):
9518         (FilePickerContextObject::FilePickerContextObject):
9519         (FilePickerContextObject::fileList):
9520         (FilePickerContextObject::reject):
9521         (FilePickerContextObject::accept):
9522         (QtDialogRunner::initForFilePicker):
9523         * UIProcess/qt/QtDialogRunner.h:
9524         (QtDialogRunner):
9525         (QtDialogRunner::filePaths):
9526         (QtDialogRunner::onFileSelected):
9527
9528 2012-03-16  Dinu Jacob  <dinu.jacob@nokia.com>
9529
9530         [Qt][WK2] Build failure when using --no-touch-events
9531         https://bugs.webkit.org/show_bug.cgi?id=81241
9532
9533         Reviewed by Simon Hausmann.
9534
9535         Fixed inconsistency in the use of ENABLE_TOUCH_EVENTS flag that caused build
9536         failure when using --no-touch-events option
9537
9538         * UIProcess/qt/QtPageClient.h:
9539         (QtPageClient):
9540         * UIProcess/qt/QtWebPageEventHandler.cpp:
9541         (QtWebPageEventHandler::handlePotentialSingleTapEvent):
9542         * UIProcess/qt/QtWebPageEventHandler.h:
9543         (QtWebPageEventHandler):
9544         * WebProcess/WebPage/WebPage.cpp:
9545         (WebKit::WebPage::WebPage):
9546         * WebProcess/WebPage/WebPage.h:
9547         (WebPage):
9548         * WebProcess/WebPage/WebPage.messages.in:
9549
9550 2012-03-16  Kenneth Rohde Christiansen  <kenneth@webkit.org>
9551
9552         Merge setVisibleContentsForScaling with setVisibleContentsRectForPanning
9553         https://bugs.webkit.org/show_bug.cgi?id=81346
9554
9555         Reviewed by Simon Hausmann.
9556
9557         This cleans up the code path and is one step on the way to avoid
9558         calling both methods in succession, for instance after ending pinch
9559         zoom.
9560
9561         * UIProcess/API/qt/qquickwebview.cpp:
9562         (QQuickWebViewLegacyPrivate::updateViewportSize):
9563         (QQuickWebViewFlickablePrivate::_q_commitScaleChange):
9564         (QQuickWebViewPrivate::_q_commitPositionChange):
9565         * UIProcess/DrawingAreaProxy.h:
9566         (WebKit::DrawingAreaProxy::setVisibleContentsRect):
9567         * UIProcess/DrawingAreaProxyImpl.cpp:
9568         (WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):
9569         * UIProcess/DrawingAreaProxyImpl.h:
9570         (DrawingAreaProxyImpl):
9571         * UIProcess/LayerTreeHostProxy.cpp:
9572         (WebKit::LayerTreeHostProxy::setVisibleContentsRect):
9573         * UIProcess/LayerTreeHostProxy.h:
9574         (LayerTreeHostProxy):
9575         * UIProcess/WebLayerTreeRenderer.cpp:
9576         (WebKit::WebLayerTreeRenderer::setVisibleContentsRect):
9577         * UIProcess/WebLayerTreeRenderer.h:
9578         (WebLayerTreeRenderer):
9579         * WebProcess/WebPage/LayerTreeHost.h:
9580         (WebKit::LayerTreeHost::setVisibleContentsRect):
9581         * WebProcess/WebPage/LayerTreeHost.messages.in:
9582         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
9583         (WebKit::LayerTreeHostQt::setVisibleContentsRect):
9584         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
9585         (LayerTreeHostQt):
9586
9587 2012-03-16  YoungTaeck Song  <youngtaeck.song@samsung.com>
9588
9589         [EFL][WK2] Add ProcessLauncherEfl.cpp
9590         https://bugs.webkit.org/show_bug.cgi?id=75464
9591
9592         Reviewed by Hajime Morita.
9593
9594         Add first version of ProcessLauncherEfl.cpp including launchProcess() and terminateProcess().
9595
9596         * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp: Added.
9597         (WebKit::ProcessLauncher::launchProcess):
9598         (WebKit::ProcessLauncher::terminateProcess):
9599         (WebKit::ProcessLauncher::platformInvalidate):
9600
9601 2012-03-15  Anders Carlsson  <andersca@apple.com>
9602
9603         Try to fix the Snow Leopard build.
9604
9605         * UIProcess/API/mac/PDFViewController.mm:
9606         (WebKit::PDFViewController::pdfKitBundle):
9607
9608 2012-03-07  Jon Lee  <jonlee@apple.com>
9609
9610         Move NotificationContents into Notification
9611         https://bugs.webkit.org/show_bug.cgi?id=80487
9612         <rdar://problem/10965519>
9613
9614         Reviewed by Jian Li.
9615
9616         * UIProcess/Notifications/WebNotificationManagerProxy.cpp: Remove extraneous include.
9617         * WebProcess/Notifications/WebNotificationManager.cpp:
9618         (WebKit::WebNotificationManager::show): Refactor to use accessor methods on Notification.
9619
9620 2012-03-15  Brent Fulgham  <bfulgham@webkit.org>
9621
9622         Unreviewed build correction. WinCairo export definitions
9623         file was not updated when the main Apple file was changed.
9624
9625         * win/WebKit2CFLite.def: Revise export declarations to match
9626         new symbol names.
9627
9628 2012-03-15  Anders Carlsson  <andersca@apple.com>
9629
9630         REGRESSION(r107168?): Assertion failures under pageContainsAnyHorizontalScrollbars causing multiple "crashes" on the Lion Intel Debug WebKit2 testers
9631         https://bugs.webkit.org/show_bug.cgi?id=81162
9632         <rdar://problem/11050423>
9633
9634         Reviewed by Beth Dakin and Jessie Berlin.
9635
9636         Downgrade the ASSERT to a simple if check since scrollableArea->isOnActivePage() can return false when layout happens during page transitions.
9637
9638         * WebProcess/WebPage/WebPage.cpp:
9639         (WebKit::pageContainsAnyHorizontalScrollbars):
9640
9641 2012-03-15  David Hyatt  <hyatt@apple.com>
9642
9643         https://bugs.webkit.org/show_bug.cgi?id=81258
9644
9645         Add a preference for enabling the new multi-column layout code that will be based on regions.
9646
9647         Reviewed by Beth Dakin.
9648
9649         * Shared/WebPreferencesStore.h:
9650         (WebKit):
9651         * UIProcess/API/C/WKPreferences.cpp:
9652         (WKPreferencesSetRegionBasedColumnsEnabled):
9653         (WKPreferencesGetRegionBasedColumnsEnabled):
9654         * UIProcess/API/C/WKPreferencesPrivate.h:
9655         * WebProcess/WebPage/WebPage.cpp:
9656         (WebKit::WebPage::updatePreferences):
9657
9658 2012-03-14  Anders Carlsson  <andersca@apple.com>
9659
9660         Can't swipe to go back/forward when the current page is a PDF document
9661         https://bugs.webkit.org/show_bug.cgi?id=81194
9662         <rdar://problem/6954125>
9663
9664         Reviewed by Sam Weinig.
9665
9666         Override -[PDFViewScrollView scrollWheel:] and have the new implementation call
9667         -[WKPDFView forwardScrollWheelEvent:] when the PDF is pinned to either the left or right side.
9668         WKPDFView will then call PDFController::forwardScrollWheelEvent which checks if we can go back or forward,
9669         and passes the event along to the WKView which ends up triggering the swiping machinery in Safari.
9670
9671         * UIProcess/API/mac/PDFViewController.h:
9672         * UIProcess/API/mac/PDFViewController.mm:
9673         (-[WKPDFView forwardScrollWheelEvent:]):
9674         (WebKit):
9675         (WebKit::PDFViewController::forwardScrollWheelEvent):
9676         (WebKit::findEnclosingWKPDFView):
9677         (WebKit::PDFViewScrollView_scrollWheel):
9678         (WebKit::PDFViewController::pdfKitBundle):
9679         * UIProcess/WebPageProxy.cpp:
9680         (WebKit::WebPageProxy::didCommitLoadForFrame):
9681
9682 2012-03-15  Brady Eidson  <beidson@apple.com>
9683
9684         <rdar://problem/11036900> and https://bugs.webkit.org/show_bug.cgi?id=81079
9685         REGRESSION(r107844): Clipboard API only remembers most recent data set on clipboard
9686
9687         Reviewed by Sam Weinig.
9688
9689         Add the non-destructive "addTypes" to supplement the destructive "setTypes"
9690
9691         * UIProcess/WebContext.h:
9692         * UIProcess/WebContext.messages.in:
9693         * UIProcess/mac/WebContextMac.mm:
9694         (WebKit::WebContext::addPasteboardTypes):
9695
9696         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
9697         (WebKit::WebPlatformStrategies::addTypes):
9698         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
9699
9700 2012-03-15  Carlos Garcia Campos  <cgarcia@igalia.com>
9701
9702         [GTK] Implement unicode submenu items
9703         https://bugs.webkit.org/show_bug.cgi?id=81117
9704
9705         Reviewed by Martin Robinson.
9706
9707         * WebProcess/WebCoreSupport/WebEditorClient.h:
9708         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
9709         (WebKit::WebEditorClient::shouldShowUnicodeMenu): Implement
9710         shouldShowUnicodeMenu() returning always true. When ContextMenu
9711         API is implemented for GTK+ the UI process will decide whether to
9712         show the unicode menu or not.
9713
9714 2012-03-15  Andras Becsi  <andras.becsi@nokia.com>
9715
9716         [Qt][WK2] Fix bounce-back behaviour for panning
9717         https://bugs.webkit.org/show_bug.cgi?id=81144
9718
9719         Reviewed by Kenneth Rohde Christiansen.
9720
9721         Move the content back to boundaries immediately
9722         in response to a tap gesture during the bounce-back
9723         animation after panning.
9724
9725         * UIProcess/qt/QtPanGestureRecognizer.cpp:
9726         (WebKit::QtPanGestureRecognizer::recognize):
9727         * UIProcess/qt/QtViewportInteractionEngine.h:
9728         Make the ensureContentWithinViewportBoundary function public.
9729         (QtViewportInteractionEngine):
9730
9731 2012-03-15  Carlos Garcia Campos  <cgarcia@igalia.com>
9732
9733         [WK2] WebPageProxy::activeURL should return unreachableURL() when it's not empty
9734         https://bugs.webkit.org/show_bug.cgi?id=75465
9735
9736         Reviewed by Philippe Normand.
9737
9738         * UIProcess/API/gtk/tests/WebViewTest.cpp:
9739         (WebViewTest::replaceContent): Return the main frame
9740         unreachableURL if it's not empty.
9741         * UIProcess/WebPageProxy.cpp:
9742         (WebKit::WebPageProxy::activeURL):
9743
9744 2012-03-14  Anders Carlsson  <andersca@apple.com>
9745
9746         java/java-and-plugins.html test failing
9747         https://bugs.webkit.org/show_bug.cgi?id=81188
9748         <rdar://problem/11048657>
9749
9750         Reviewed by Sam Weinig.
9751
9752         When we're marshaling NPObjects that wrap plug-in objects, make sure to check that the
9753         current plug-in instance is the same as the plug-in instance the object came from and don't
9754         pass the unwrapped object ID if that is the case.
9755
9756         * Shared/Plugins/NPRemoteObjectMap.cpp:
9757         (WebKit::remoteNPObjectID):
9758         (WebKit::NPRemoteObjectMap::npVariantToNPVariantData):
9759
9760 2012-03-14  Matt Falkenhagen  <falken@chromium.org>
9761
9762         Allow per-script font settings to be specified in layout tests
9763         https://bugs.webkit.org/show_bug.cgi?id=78184
9764
9765         Reviewed by Hajime Morita.
9766
9767         This adds per-script font settings to InternalSettings, so it can be used in layout tests instead of
9768         the per-script font settings support in DumpRenderTree overridePreference, which has only been implemented
9769         for Chromium so far.
9770
9771         * win/WebKit2.def: Added symbols.
9772         * win/WebKit2CFLite.def: Added symbols.
9773
9774 2012-03-14  Michael Saboff  <msaboff@apple.com>
9775
9776         REGRESSION(r110383): ASSERTION failures in JSCell::finishCreation causing multiple tests to "crash" on the Lion Intel Debug Bots
9777         https://bugs.webkit.org/show_bug.cgi?id=80993
9778
9779         Reviewed by Mark Rowe.
9780
9781         Moved $(BUILT_PRODUCTS_DIR)/usr/local/include to the front of HEADER_SEARCH_PATH
9782         to fix builds given the wtf move.
9783
9784         * Configurations/BaseTarget.xcconfig:
9785
9786 2012-03-14  Andy Estes  <aestes@apple.com>
9787
9788         Stop shadowing the argument to drawRect: with a local variable.
9789
9790         Reviewed by Sam Weinig.
9791
9792         * UIProcess/API/mac/WKView.mm:
9793         (-[WKView drawRect:]):
9794
9795 2012-03-13  Jon Lee  <jonlee@apple.com>
9796
9797         Separate NOTIFICATIONS and LEGACY_NOTIFICATIONS
9798         https://bugs.webkit.org/show_bug.cgi?id=80922
9799         <rdar://problem/11035082>
9800
9801         Reviewed by Jian Li.
9802
9803         You can include either NOTIFICATIONS or LEGACY_NOTIFICATIONS and have a complete API.
9804         LEGACY_NOTIFICATIONS should cover all of the previous functionality, and NOTIFICATIONS will cover the
9805         new API. Therefore, APIs that are common between the two will have:
9806         #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
9807
9808         This patch initially sets both to be exactly the same. As other bugs with patches begin to migrate to
9809         the new API, the defines will begin to split. This allows ports to decide which set of APIs to include.
9810
9811         Update everything to be #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
9812         * Shared/WebProcessCreationParameters.cpp:
9813         (WebKit::WebProcessCreationParameters::encode):
9814         (WebKit::WebProcessCreationParameters::decode):
9815         * Shared/WebProcessCreationParameters.h:
9816         (WebProcessCreationParameters):
9817         * UIProcess/WebContext.cpp:
9818         (WebKit::WebContext::ensureWebProcess):
9819         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
9820         (WebKit):
9821         (WebKit::NotificationPermissionRequestManager::startRequest):
9822         (WebKit::NotificationPermissionRequestManager::cancelRequest):
9823         (WebKit::NotificationPermissionRequestManager::permissionLevel):
9824         (WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision):
9825         * WebProcess/Notifications/WebNotificationManager.cpp:
9826         (WebKit):
9827         (WebKit::WebNotificationManager::initialize):
9828         (WebKit::WebNotificationManager::didUpdateNotificationDecision):
9829         (WebKit::WebNotificationManager::didRemoveNotificationDecisions):
9830         (WebKit::WebNotificationManager::policyForOrigin):
9831         (WebKit::WebNotificationManager::show):
9832         (WebKit::WebNotificationManager::cancel):
9833         (WebKit::WebNotificationManager::clearNotifications):
9834         (WebKit::WebNotificationManager::didDestroyNotification):
9835         (WebKit::WebNotificationManager::didShowNotification):
9836         (WebKit::WebNotificationManager::didClickNotification):
9837         (WebKit::WebNotificationManager::didCloseNotifications):
9838         * WebProcess/Notifications/WebNotificationManager.h:
9839         (WebNotificationManager):
9840         * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
9841         * WebProcess/WebCoreSupport/WebNotificationClient.h:
9842         * WebProcess/WebPage/WebPage.cpp:
9843         (WebKit::WebPage::WebPage):
9844         (WebKit::WebPage::updatePreferences):
9845         * WebProcess/WebProcess.cpp:
9846         (WebKit::WebProcess::WebProcess):
9847         (WebKit::WebProcess::didReceiveMessage):
9848         * WebProcess/WebProcess.h:
9849         (WebProcess):
9850         * WebProcess/mac/WebProcessMac.mm:
9851         (WebKit::WebProcess::platformInitializeWebProcess):
9852
9853 2012-03-14  Dinu Jacob  <dinu.jacob@nokia.com>
9854
9855         [Qt][WK2] Move code common to both ProxyAuthentication and Authentication context objects into a base class
9856         https://bugs.webkit.org/show_bug.cgi?id=80627
9857
9858         Reviewed by Kenneth Rohde Christiansen.
9859
9860         No impact to QML API.
9861
9862         * UIProcess/qt/QtDialogRunner.cpp:
9863         (BaseAuthenticationContextObject):
9864         (BaseAuthenticationContextObject::BaseAuthenticationContextObject):
9865         (HttpAuthenticationDialogContextObject):
9866         (HttpAuthenticationDialogContextObject::HttpAuthenticationDialogContextObject):
9867         (HttpAuthenticationDialogContextObject::realm):
9868         (ProxyAuthenticationDialogContextObject):
9869         (ProxyAuthenticationDialogContextObject::ProxyAuthenticationDialogContextObject):
9870         (QtDialogRunner::initForAuthentication):
9871
9872 2012-03-14  Anders Carlsson  <andersca@apple.com>
9873
9874         With tiled drawing enabled, clicking a link to a PDF causes a cross-fade
9875         https://bugs.webkit.org/show_bug.cgi?id=79247
9876         <rdar://problem/10910808>
9877
9878         Reviewed by Sam Weinig.
9879
9880         Instead of creating a new CALayer for the WKView when we're in tiled mode, re-use the existing layer that AppKit makes for us.
9881         This way, we won't get any implicit animations when we change layer properties (such as sublayers in this case).
9882
9883         * UIProcess/API/mac/WKView.mm:
9884         (-[WKView initWithFrame:contextRef:pageGroupRef:]):
9885         (-[WKView wantsUpdateLayer]):
9886         (-[WKView updateLayer]):
9887
9888 2012-03-14  Alexey Proskuryakov  <ap@apple.com>
9889
9890         WebProcess sometimes hits an assertion in SandboxExtensionTracker::didCommitProvisionalLoad after running regression tests
9891         https://bugs.webkit.org/show_bug.cgi?id=81150
9892         <rdar://problem/11002254>
9893
9894         Reviewed by Anders Carlsson.
9895
9896         * WebProcess/WebPage/WebPage.cpp:
9897         (WebKit::WebPage::SandboxExtensionTracker::didCommitProvisionalLoad):
9898         (WebKit::WebPage::SandboxExtensionTracker::didFailProvisionalLoad):
9899         It's not great, but for now we need to handle this case. Hopefully, some day we'll make
9900         both WebKit2 processes better aware of what's going on with loading in WebCore.
9901
9902 2012-03-14  Anders Carlsson  <andersca@apple.com>
9903
9904         Fix UI process crash when a plug-in process crashes with a modal dialog showing
9905         https://bugs.webkit.org/show_bug.cgi?id=81139
9906         <rdar://problem/9641197>
9907
9908         Reviewed by Dan Bernstein.
9909
9910         When a plug-in process crashes, its corresponding PluginProcessProxy object is deleted immediately,
9911         which is bad if we're currently running a nested run loop.
9912
9913         Fix this by making PluginProcessProxy ref-counted and protecting it before the call to -[NSApp runModalForWindow:].
9914
9915         * UIProcess/Plugins/PluginProcessManager.cpp:
9916         (WebKit::PluginProcessManager::pluginProcessWithPath):
9917         (WebKit::PluginProcessManager::getOrCreatePluginProcess):
9918         * UIProcess/Plugins/PluginProcessManager.h:
9919         (PluginProcessManager):
9920         * UIProcess/Plugins/PluginProcessProxy.cpp:
9921         (WebKit::PluginProcessProxy::create):
9922         (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
9923         * UIProcess/Plugins/PluginProcessProxy.h:
9924         (PluginProcessProxy):
9925         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
9926         (WebKit::PluginProcessProxy::setModalWindowIsShowing):
9927         (WebKit::PluginProcessProxy::beginModal):
9928
9929 2012-03-14  Carlos Garcia Campos  <cgarcia@igalia.com>
9930
9931         [GTK] Handle printing errors in WebKit2
9932         https://bugs.webkit.org/show_bug.cgi?id=77197
9933
9934         Reviewed by Gustavo Noronha Silva.
9935
9936         * UIProcess/API/gtk/WebKitError.cpp:
9937         (webkit_print_error_quark): Add new error domain for print
9938         errors.
9939         * UIProcess/API/gtk/WebKitError.h: Ad print errors.
9940         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
9941         (webkit_print_operation_class_init): Add
9942         WebKitPrintOperation::failed signal.
9943         (drawPagesForPrintingCompleted): Emit WebKitPrintOperation::failed
9944         when the print operation failed with the given error.
9945         (webkitPrintOperationPrintPagesForFrame): Use
9946         PrintFinishedCallback instead of a VoidCallback.
9947         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
9948         * UIProcess/API/gtk/tests/TestPrinting.cpp:
9949         (testPrintOperationPrint):
9950         (testPrintOperationErrors): Test different print errors are
9951         correctly reported.
9952         (beforeAll):
9953         * UIProcess/WebPageProxy.cpp:
9954         (WebKit::WebPageProxy::close): Invalidate print finished callbacks
9955         map.
9956         (WebKit::WebPageProxy::printFinishedCallback): Callback called
9957         when the print operation has finished in the web process.
9958         (WebKit::WebPageProxy::processDidCrash): Invalidate print finished
9959         callbacks map.
9960         (WebKit::WebPageProxy::drawPagesForPrinting): Use a
9961         PrintFinishedCallback instead of a VoidCallback.
9962         * UIProcess/WebPageProxy.h:
9963         (WebKit): Delcare PrintFinishedCallback as a generic callback.
9964         (WebPageProxy):
9965         * UIProcess/WebPageProxy.messages.in: Use PrintFinishedCallback
9966         instead of VoidCallback as callback argument of
9967         DrawPagesForPrinting message.
9968         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
9969         (WebKit::PrintPagesData::PrintPagesData): Mark the data as invalid
9970         when there are no pages to print.
9971         (PrintPagesData): Add isValid parameter to mark the data struct as
9972         invalid.
9973         (WebKit::WebPrintOperationGtk::printPagesIdleDone): Call
9974         printPagesDone() instead of printDone().
9975         (WebKit::WebPrintOperationGtk::printPagesDone): Renamed.
9976         (WebKit::WebPrintOperationGtk::printDone): Notify the UI process
9977         that the print operation has finsihed.
9978         (WebKit::WebPrintOperationGtk::print): Finish the print if the
9979         PrintPagesData struct is not valid.
9980         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
9981
9982 2012-03-13  Jer Noble  <jer.noble@apple.com>
9983
9984         Lion Intel Debug WebKit2 Tests crashing under [WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]
9985         https://bugs.webkit.org/show_bug.cgi?id=81056
9986
9987         Reviewed by Jessie Berlin.
9988
9989         Give the InjectedBundlePageFullScreenClient a first crack at beganEnterFullScreen and beganExitFullScreen:
9990         * WebProcess/FullScreen/WebFullScreenManager.cpp:
9991         (WebKit::WebFullScreenManager::willEnterFullScreen):
9992         (WebKit::WebFullScreenManager::willExitFullScreen):
9993
9994         And call the client function if it exists; otherwise, continue to message the page:
9995         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
9996         * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.cpp:
9997         (WebKit::InjectedBundlePageFullScreenClient::beganEnterFullScreen):
9998         (WebKit::InjectedBundlePageFullScreenClient::beganExitFullScreen):
9999         * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h:
10000
10001         Add a custom APIClientTraits for InjectedBundlePageFullScreenClient to handle the API number change.
10002         * Shared/APIClientTraits.cpp:
10003         * Shared/APIClientTraits.h:
10004
10005 2012-03-14  Andrey Kosyakov  <caseq@chromium.org>
10006
10007         Web Inspector: add didCancelFrame timeline event
10008         https://bugs.webkit.org/show_bug.cgi?id=80994
10009
10010         Reviewed by Pavel Feldman.
10011
10012         * win/WebKit2.def:
10013         * win/WebKit2CFLite.def:
10014
10015 2012-03-13  Anders Carlsson  <andersca@apple.com>
10016
10017         Find bouncy doesn’t hide when a subframe is scrolled
10018         https://bugs.webkit.org/show_bug.cgi?id=81060
10019         <rdar://problem/9365329>
10020
10021         Reviewed by Andreas Kling.
10022
10023         Instead of hiding the find indicator when pageDidScroll is called, add a check to FindController::drawRect and hide
10024         the find indicator there if the find selection bounds have changed since the last call to drawRect.
10025
10026         * WebProcess/WebPage/FindController.cpp:
10027         (WebKit::FindController::updateFindIndicator):
10028         (WebKit::FindController::drawRect):
10029         * WebProcess/WebPage/FindController.h:
10030         (FindController):
10031         * WebProcess/WebPage/WebPage.cpp:
10032         (WebKit::WebPage::pageDidScroll):
10033
10034 2012-03-13  Jeff Miller  <jeffm@apple.com>
10035
10036         Support loading a WKPage from web archive data
10037         https://bugs.webkit.org/show_bug.cgi?id=81044
10038
10039         This code was written by Jessie Berlin.
10040
10041         Reviewed by Brady Eidson.
10042
10043         * UIProcess/API/C/WKPage.cpp:
10044         (WKPageLoadWebArchiveData): Added.
10045         
10046         * UIProcess/API/C/WKPage.h: Added WKPageLoadWebArchiveData().
10047         
10048         * UIProcess/WebPageProxy.cpp:
10049         (WebKit::WebPageProxy::loadWebArchiveData): Added.
10050         
10051         * UIProcess/WebPageProxy.h: Added loadWebArchiveData().
10052
10053         * WebProcess/WebPage/WebPage.cpp:
10054         (WebKit::WebPage::loadWebArchiveData): Added.
10055         
10056         * WebProcess/WebPage/WebPage.h: Added loadWebArchiveData().
10057
10058         * WebProcess/WebPage/WebPage.messages.in: Added LoadWebArchiveData message.
10059
10060 2012-03-13  Adam Barth  <abarth@webkit.org> && Benjamin Poulain  <bpoulain@apple.com>
10061
10062         Always enable ENABLE(CLIENT_BASED_GEOLOCATION)
10063         https://bugs.webkit.org/show_bug.cgi?id=78853
10064
10065         Reviewed by Adam Barth.
10066
10067         * Configurations/FeatureDefines.xcconfig:
10068         * WebProcess/Geolocation/WebGeolocationManager.cpp:
10069         (WebKit::WebGeolocationManager::registerWebPage):
10070         (WebKit::WebGeolocationManager::unregisterWebPage):
10071         (WebKit::WebGeolocationManager::didChangePosition):
10072         (WebKit::WebGeolocationManager::didFailToDeterminePosition):
10073         * WebProcess/InjectedBundle/InjectedBundle.cpp:
10074         (WebKit::InjectedBundle::setGeoLocationPermission):
10075         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
10076         (WebKit):
10077         * WebProcess/WebCoreSupport/WebChromeClient.h:
10078         (WebChromeClient):
10079         * WebProcess/WebCoreSupport/WebGeolocationClient.cpp:
10080         * WebProcess/WebCoreSupport/WebGeolocationClient.h:
10081         * WebProcess/WebPage/WebPage.cpp:
10082         (WebKit::WebPage::WebPage):
10083         * mac/WebKit2.order:
10084
10085 2012-03-13  Max Vujovic  <mvujovic@adobe.com>
10086
10087         Add a method to window.internals to enable testing of inspector highlight rects
10088         https://bugs.webkit.org/show_bug.cgi?id=80338
10089
10090         Reviewed by Pavel Feldman.
10091
10092         * win/WebKit2.def: Export symbols for win.
10093         * win/WebKit2CFLite.def: Same as above.
10094
10095 2012-03-13  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
10096
10097         [Qt] Set correct device width and height.
10098         https://bugs.webkit.org/show_bug.cgi?id=80980
10099
10100         Reviewed by Tor Arne Vestbø.
10101
10102         * UIProcess/API/qt/qquickwebview.cpp:
10103         (QQuickWebViewFlickablePrivate::computeViewportConstraints):
10104
10105 2012-03-12  Sam Weinig  <sam@webkit.org>
10106
10107         Fix typo in PageClientImpl where we were overriding viewLayerHostingMode with
10108         a function called layerHostingMode.
10109
10110         Reviewed by Anders Carlsson.
10111
10112         * UIProcess/API/mac/PageClientImpl.h:
10113         * UIProcess/API/mac/PageClientImpl.mm:
10114         (WebKit::PageClientImpl::viewLayerHostingMode):
10115         Update name and add OVERRIDE to catch this in the future.
10116
10117 2012-03-12  Enrica Casucci  <enrica@apple.com>
10118
10119         WebKit2: remove NSPasteboard access for promised data from the WebProcess
10120         https://bugs.webkit.org/show_bug.cgi?id=80073
10121
10122         Reviewed by Alexey Proskuryakov.
10123
10124         This patch removes the last remaining access to NSPasteboard from the WebProcess.
10125         The code in WebDragClient::declareAndWriteDragImage now packages all the data
10126         required for the drag and the promised drag types and sends one request to the UI
10127         process that will place the data in the NSPasteboard when appropriate.
10128         
10129         * UIProcess/API/mac/PageClientImpl.h: Added setPromisedData method.
10130         * UIProcess/API/mac/PageClientImpl.mm:
10131         (WebKit::PageClientImpl::setPromisedData):
10132         * UIProcess/API/mac/WKView.mm:
10133         (matchesExtensionOrEquivalent): Added.
10134         (fileExists): Added.
10135         (pathWithUniqueFilenameForPath): Added.
10136         (-[WKView _setPromisedData:WebCore::withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:WebCore::forPasteboard:]):
10137         (-[WKView pasteboardChangedOwner:]):
10138         (-[WKView pasteboard:provideDataForType:]):
10139         (-[WKView namesOfPromisedFilesDroppedAtDestination:]):
10140         * UIProcess/API/mac/WKViewInternal.h: Added _setPromisedData.
10141         * UIProcess/PageClient.h:
10142         * UIProcess/WebPageProxy.h: Added method for the new message.
10143         * UIProcess/WebPageProxy.messages.in: Added setPromisedData message.
10144         * UIProcess/mac/WebPageProxyMac.mm:
10145         (WebKit::WebPageProxy::setPromisedData):
10146         * WebProcess/WebCoreSupport/WebDragClient.cpp:
10147         * WebProcess/WebCoreSupport/WebDragClient.h:
10148         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
10149         (WebKit::WebDragClient::declareAndWriteDragImage):
10150         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
10151         (InitWebCoreSystemInterface): Added SetMetadataURL.
10152
10153 2012-03-12  Andras Becsi  <andras.becsi@nokia.com>
10154
10155         [Qt][WK2] Add support for rudimentary scroll indicators in MiniBrowser
10156         https://bugs.webkit.org/show_bug.cgi?id=80832
10157
10158         Reviewed by Tor Arne Vestbø.
10159
10160         Since the ScrollDecorator QML component requires a Flickable in its API
10161         we need to expose the Flickable in QML for now and we also need to add
10162         a notifier because we instantiate the internal Flickable only when the
10163         WebView component completes construction.
10164
10165         * UIProcess/API/qt/qquickwebview.cpp:
10166         (QQuickWebViewFlickablePrivate::onComponentComplete):
10167         (QQuickWebViewExperimental::flickable):
10168         * UIProcess/API/qt/qquickwebview_p.h:
10169
10170 2012-03-11  Timothy Hatcher  <timothy@apple.com>
10171
10172         Update how the Web Inspector resources are loaded.
10173
10174         https://bugs.webkit.org/show_bug.cgi?id=80814
10175         rdar://problem/10359959
10176
10177         Reviewed by John Sullivan.
10178
10179         * Shared/WebPreferencesStore.h:
10180         (WebKit): Added InspectorUsesWebKitUserInterface.
10181         * Shared/WebProcessCreationParameters.cpp:
10182         (WebKit::WebProcessCreationParameters::encode): Removed webInspectorLocalizedStringsPath.
10183         (WebKit::WebProcessCreationParameters::decode): Ditto.
10184         * Shared/WebProcessCreationParameters.h: Ditto.
10185         (WebProcessCreationParameters): Ditto.
10186         * UIProcess/API/C/WKContext.cpp:
10187         * UIProcess/API/C/WKContextPrivate.h:
10188         * UIProcess/API/C/WKPreferences.cpp:
10189         (WKPreferencesSetInspectorUsesWebKitUserInterface): Added.
10190         (WKPreferencesGetInspectorUsesWebKitUserInterface): Added.
10191         * UIProcess/API/C/WKPreferencesPrivate.h:
10192         * UIProcess/WebContext.cpp:
10193         (WebKit::WebContext::ensureWebProcess): Removed webInspectorLocalizedStringsPath.
10194         * UIProcess/WebContext.h:
10195         (WebContext): Ditto.
10196         * UIProcess/mac/WebInspectorProxyMac.mm:
10197         (WebKit::inspectorReallyUsesWebKitUserInterface): Added.
10198         (WebKit::WebInspectorProxy::createInspectorWindow): Use inspectorReallyUsesWebKitUserInterface
10199         to determine if texture should be used.
10200         (WebKit::WebInspectorProxy::inspectorPageURL): Choose the right path.
10201         (WebKit::WebInspectorProxy::inspectorBaseURL): Ditto.
10202         * WebProcess/WebPage/WebInspector.h:
10203         * WebProcess/WebPage/mac/WebInspectorMac.mm:
10204         (WebKit::inspectorReallyUsesWebKitUserInterface):
10205         (WebKit::WebInspector::setInspectorUsesWebKitUserInterface): Added.
10206         (WebKit::WebInspector::localizedStringsURL):
10207         * WebProcess/WebPage/mac/WebPageMac.mm:
10208         (WebKit::WebPage::platformPreferencesDidChange): Call WebInspector::setInspectorUsesWebKitUserInterface.
10209         * WebProcess/mac/WebProcessMac.mm:
10210         (WebKit::WebProcess::platformInitializeWebProcess): Removed call to WebInspector::setLocalizedStringsPath.
10211
10212 2012-03-11  Andy Estes  <aestes@apple.com>
10213
10214         Remove unnecessary call to NSSizeToCGSize().
10215         https://bugs.webkit.org/show_bug.cgi?id=80817
10216
10217         Reviewed by Dan Bernstein.
10218
10219         There is no need to call NSSizeToCGSize() to convert an IntSize to a
10220         CGSize. IntSize defines a conversion function to CGSize that will do
10221         this for us implicitly.
10222
10223         * UIProcess/mac/BackingStoreMac.mm:
10224         (WebKit::BackingStore::backingStoreContext): Do not call NSSizeToCGSize().
10225
10226 2012-03-11  Dan Bernstein  <mitz@apple.com>
10227
10228         WebKit2 lacks API for obtaining a representation of the RenderLayer tree of a page, like WebRenderLayer
10229         <http://webkit.org/b/80791>
10230
10231         Reviewed by Anders Carlsson.
10232
10233         * CMakeLists.txt:
10234         * GNUmakefile.am:
10235
10236         * Shared/API/c/WKBase.h: Added a type definition of WKRenderLayerRef.
10237
10238         * Shared/API/c/WKRenderLayer.cpp: Added.
10239         (WKRenderLayerGetTypeID): Added. Returns the WKRenderLayer type ID.
10240         (WKRenderLayerCopyRendererName): Added this getter wrapper.
10241         (WKRenderLayerCopyElementTagName): Ditto.
10242         (WKRenderLayerCopyElementID): Ditto.
10243         (WKRenderLayerGetElementClassNames): Ditto.
10244         (WKRenderLayerGetAbsoluteBounds): Ditto.
10245         (WKRenderLayerIsClipping): Ditto.
10246         (WKRenderLayerIsClipped): Ditto.
10247         (WKRenderLayerIsReflection): Ditto.
10248         (WKRenderLayerGetCompositingLayerType): Ditto.
10249         (WKRenderLayerGetNegativeZOrderList): Ditto.
10250         (WKRenderLayerGetNormalFlowList): Ditto.
10251         (WKRenderLayerGetPositiveZOrderList): Ditto.
10252
10253         * Shared/API/c/WKRenderLayer.h: Added.
10254
10255         * Shared/APIObject.h: Added TypeRenderLayer to the APIObject::Type enum.
10256
10257         * Shared/UserMessageCoders.h:
10258         (WebKit::UserMessageEncoder::baseEncode): Added WebRenderLayer encoding.
10259         (WebKit::UserMessageDecoder::baseDecode): Added WebRenderLayer decoding.
10260
10261         * Shared/WebRenderLayer.cpp: Added.
10262         (WebKit::WebRenderLayer::create): Added. Creates a WebRenderLayer for the page’s main
10263         frame’s root layer.
10264         (WebKit::WebRenderLayer::createArrayFromLayerList): Added this helper function.
10265         (WebKit::WebRenderLayer::WebRenderLayer): Added. Constructs a WebRenderLayer with the
10266         renderer name, element tag, ID and class names, metrics, child lists, and compositing
10267         layer properties of the given RenderLayer.
10268
10269         * Shared/WebRenderLayer.h: Added.
10270         (WebKit::WebRenderLayer::create):
10271         (WebKit::WebRenderLayer::negativeZOrderList):
10272         (WebKit::WebRenderLayer::normalFlowList):
10273         (WebKit::WebRenderLayer::positiveZOrderList):
10274         (WebKit::WebRenderLayer::renderObjectName):
10275         (WebKit::WebRenderLayer::elementTagName):
10276         (WebKit::WebRenderLayer::elementID):
10277         (WebKit::WebRenderLayer::elementClassNames):
10278         (WebKit::WebRenderLayer::isReflection):
10279         (WebKit::WebRenderLayer::isClipping):
10280         (WebKit::WebRenderLayer::isClipped):
10281         (WebKit::WebRenderLayer::compositingLayerType):
10282         (WebKit::WebRenderLayer::absoluteBoundingBox):
10283         (WebKit::WebRenderLayer::WebRenderLayer):
10284
10285         * Target.pri
10286
10287         * UIProcess/API/C/WKAPICast.h: Added a mapping between WKRenderLayerRef and WebRenderLayer.
10288
10289         * WebKit2.xcodeproj/project.pbxproj: Added WebRenderLayer.{cpp,h} and WKRenderLayer.{cpp,h}.
10290
10291         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
10292         (WKBundlePageCopyRenderLayerTree): Added this bundle API for getting the layer tree.
10293
10294         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
10295
10296         * win/WebKit2.vcproj:
10297
10298 2012-03-11  Joseph Pecoraro  <pecoraro@apple.com>
10299
10300         <http://webkit.org/b/80782> Web Inspector: Crash using released frontendClient when resizing window with closed inspector
10301
10302         The WebInspectorFrontendClient reference should be cleared when the
10303         WebInspectorClient::closeInspectorFrontend is called. This adds a
10304         destroyInspectorPage to mirror createInspectorPage and clear the weak
10305         pointers that are no longer valid.
10306
10307         Reviewed by Pavel Feldman.
10308
10309         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
10310         (WebKit::WebInspectorClient::closeInspectorFrontend):
10311         (WebKit::WebInspectorClient::didResizeMainFrame):
10312         * WebProcess/WebPage/WebInspector.cpp:
10313         (WebKit::WebInspector::destroyInspectorPage):
10314         * WebProcess/WebPage/WebInspector.h:
10315
10316 2012-03-11  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
10317
10318         [Qt] [WK2] Support threaded renderer in WK2
10319         https://bugs.webkit.org/show_bug.cgi?id=76661
10320
10321         Reviewed by Noam Rosenthal.
10322
10323         Implement Qt5 threaded rendering support for Qt WebKit2.
10324         Parts of LayerTreeHostProxy which contain layer tree and layer painting objects 
10325         are moved to separate class called WebLayerTreeRenderer. WebLayerTreeRenderer is 
10326         thread safe ref counted and referenced by LayerTreeHostProxy and paint node.
10327         All layer tree and graphics objects are created, accessed and deallocated from Qt 
10328         Scenegraph's paint thread only.
10329         Layer tree updates from render queue are fetched in updatePaintNode call stack when 
10330         main thread is locked.
10331         Messages from paint thread to web process are passed through MainThreadGuardedInvoker 
10332         call gate (implemented by Noam Rosenthal and previously reviewed by Kenneth Rohde 
10333         Christiansen).
10334
10335         * Target.pri:
10336         * UIProcess/API/qt/qquickwebpage.cpp:
10337         (PageProxyNode::PageProxyNode):
10338         (PageProxyNode::render):
10339         (PageProxyNode::~PageProxyNode):
10340         (PageProxyNode::layerTreeRenderer):
10341         (PageProxyNode):
10342         (PageProxyNode::setScale):
10343         (QQuickWebPage::updatePaintNode):
10344         (QQuickWebPagePrivate::~QQuickWebPagePrivate):
10345         * UIProcess/LayerTreeHostProxy.cpp: Added.
10346         (WebKit):
10347         (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
10348         (WebKit::LayerTreeHostProxy::~LayerTreeHostProxy):
10349         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
10350         (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
10351         (WebKit::LayerTreeHostProxy::updateViewport):
10352         (WebKit::LayerTreeHostProxy::dispatchUpdate):
10353         (WebKit::LayerTreeHostProxy::createTileForLayer):
10354         (WebKit::LayerTreeHostProxy::updateTileForLayer):
10355         (WebKit::LayerTreeHostProxy::removeTileForLayer):
10356         (WebKit::LayerTreeHostProxy::deleteCompositingLayer):
10357         (WebKit::LayerTreeHostProxy::setRootCompositingLayer):
10358         (WebKit::LayerTreeHostProxy::syncCompositingLayerState):
10359         (WebKit::LayerTreeHostProxy::didRenderFrame):
10360         (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
10361         (WebKit::LayerTreeHostProxy::destroyDirectlyCompositedImage):
10362         (WebKit::LayerTreeHostProxy::setVisibleContentsRectForPanning):
10363         (WebKit::LayerTreeHostProxy::setVisibleContentsRectForScaling):
10364         (WebKit::LayerTreeHostProxy::renderNextFrame):
10365         (WebKit::LayerTreeHostProxy::purgeBackingStores):
10366         * UIProcess/LayerTreeHostProxy.h:
10367         (WebKit):
10368         (LayerTreeHostProxy):
10369         (WebKit::LayerTreeHostProxy::layerTreeRenderer):
10370         * UIProcess/WebLayerTreeRenderer.cpp: Renamed from Source/WebKit2/UIProcess/qt/LayerTreeHostProxyQt.cpp.
10371         (WebKit):
10372         (MainThreadGuardedInvoker):
10373         (WebKit::MainThreadGuardedInvoker::call):
10374         (WebKit::MainThreadGuardedInvoker::MainThreadGuardedInvoker):
10375         (WebKit::MainThreadGuardedInvoker::invoke):
10376         (WebKit::WebLayerTreeRenderer::callOnMainTread):
10377         (WebKit::WebLayerTreeRenderer::WebLayerTreeRenderer):
10378         (WebKit::WebLayerTreeRenderer::~WebLayerTreeRenderer):
10379         (WebKit::WebLayerTreeRenderer::createLayer):
10380         (WebKit::WebLayerTreeRenderer::paintToCurrentGLContext):
10381         (WebKit::WebLayerTreeRenderer::syncAnimations):
10382         (WebKit::WebLayerTreeRenderer::paintToGraphicsContext):
10383         (WebKit::WebLayerTreeRenderer::setVisibleContentsRectForScaling):
10384         (WebKit::WebLayerTreeRenderer::updateViewport):
10385         (WebKit::WebLayerTreeRenderer::syncLayerParameters):
10386         (WebKit::WebLayerTreeRenderer::deleteLayer):
10387         (WebKit::WebLayerTreeRenderer::ensureLayer):
10388         (WebKit::WebLayerTreeRenderer::setRootLayerID):
10389         (WebKit::WebLayerTreeRenderer::getBackingStore):
10390         (WebKit::WebLayerTreeRenderer::createTile):
10391         (WebKit::WebLayerTreeRenderer::removeTile):
10392         (WebKit::WebLayerTreeRenderer::updateTile):
10393         (WebKit::WebLayerTreeRenderer::createImage):
10394         (WebKit::WebLayerTreeRenderer::destroyImage):
10395         (WebKit::WebLayerTreeRenderer::assignImageToLayer):
10396         (WebKit::WebLayerTreeRenderer::swapBuffers):
10397         (WebKit::WebLayerTreeRenderer::flushLayerChanges):
10398         (WebKit::WebLayerTreeRenderer::renderNextFrame):
10399         (WebKit::WebLayerTreeRenderer::ensureRootLayer):
10400         (WebKit::WebLayerTreeRenderer::syncRemoteContent):
10401         (WebKit::WebLayerTreeRenderer::purgeGLResources):
10402         (WebKit::WebLayerTreeRenderer::purgeBackingStores):
10403         (WebKit::WebLayerTreeRenderer::detach):
10404         (WebKit::WebLayerTreeRenderer::appendUpdate):
10405         * UIProcess/WebLayerTreeRenderer.h: Copied from Source/WebKit2/UIProcess/LayerTreeHostProxy.h.
10406         (WebKit):
10407         (WebLayerTreeRenderer):
10408         (WebKit::WebLayerTreeRenderer::layerByID):
10409         (WebKit::WebLayerTreeRenderer::rootLayer):
10410         (WebKit::WebLayerTreeRenderer::notifyAnimationStarted):
10411         (WebKit::WebLayerTreeRenderer::notifySyncRequired):
10412         (WebKit::WebLayerTreeRenderer::showDebugBorders):
10413         (WebKit::WebLayerTreeRenderer::showRepaintCounter):
10414         (WebKit::WebLayerTreeRenderer::paintContents):
10415
10416 2012-03-09  Jon Lee  <jonlee@apple.com>
10417
10418         Rename NotificationPresenter to NotificationClient
10419         https://bugs.webkit.org/show_bug.cgi?id=80488
10420         <rdar://problem/10965558>
10421
10422         Reviewed by Kentaro Hara.
10423
10424         Refactor to use renamed WebCore::NotificationClient.
10425         * UIProcess/Notifications/WebNotificationManagerProxy.h:
10426         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
10427         (WebKit::NotificationPermissionRequestManager::startRequest):
10428         (WebKit::NotificationPermissionRequestManager::permissionLevel):
10429         * WebProcess/Notifications/NotificationPermissionRequestManager.h:
10430         (NotificationPermissionRequestManager):
10431         * WebProcess/Notifications/WebNotificationManager.cpp:
10432         (WebKit::WebNotificationManager::policyForOrigin):
10433         * WebProcess/Notifications/WebNotificationManager.h:
10434         (WebNotificationManager):
10435         * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
10436         (WebKit::WebNotificationClient::checkPermission):
10437         * WebProcess/WebCoreSupport/WebNotificationClient.h:
10438         (WebNotificationClient):
10439
10440 2012-03-09  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
10441
10442         [Qt] [WK2] Shouldn't use item for clipping rect calculation in paint node.
10443         https://bugs.webkit.org/show_bug.cgi?id=80714
10444
10445         Reviewed by Noam Rosenthal.
10446
10447         Replace item based clip-rect calculation with clipping-nodes based calculation.
10448         This is required for threaded rendering, since we don't have access to the QSGItems
10449         from the render thread.
10450
10451         * UIProcess/API/qt/qquickwebpage.cpp:
10452         (QQuickWebPage::QQuickWebPage):
10453         (QQuickWebPagePrivate::paintToCurrentGLContext):
10454         (PageProxyNode::render):
10455         (PageProxyNode::clipRect):
10456         (PageProxyNode):
10457         * UIProcess/API/qt/qquickwebpage_p_p.h:
10458         (QQuickWebPagePrivate):
10459         * UIProcess/API/qt/qquickwebview.cpp:
10460         (QQuickWebView::QQuickWebView):
10461
10462 2012-03-09  Enrica Casucci  <enrica@apple.com>
10463
10464         Move WebNSURLExtras code down to WebCore.
10465         https://bugs.webkit.org/show_bug.cgi?id=80611
10466
10467         Reviewed by Alexey Proskuryakov.
10468
10469         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
10470         (InitWebCoreSystemInterface):
10471
10472 2012-03-09  Jeff Miller  <jeffm@apple.com>
10473
10474         Add WKPageEndPrinting() to balance WKPageBeginPrinting()
10475         https://bugs.webkit.org/show_bug.cgi?id=80739
10476
10477         Reviewed by Dan Bernstein.
10478
10479         * UIProcess/API/C/WKPage.cpp:
10480         (WKPageEndPrinting): Added.
10481         
10482         * UIProcess/API/C/WKPagePrivate.h: Added WKPageEndPrinting().
10483
10484 2012-03-09  Emil A Eklund  <eae@chromium.org>
10485
10486         Add roundedPoint to HitTestResult and change platform code to use it
10487         https://bugs.webkit.org/show_bug.cgi?id=80715
10488
10489         Reviewed by James Robinson.
10490
10491         Change ports to use roundedPoint to avoid exposing subpixel types to
10492         platform code.
10493
10494         * WebProcess/WebPage/WebContextMenu.cpp:
10495         (WebKit::WebContextMenu::show):
10496
10497 2012-03-09  Alexey Proskuryakov  <ap@apple.com>
10498
10499         [Mac] Pass sandbox profiles through preprocessor
10500         https://bugs.webkit.org/show_bug.cgi?id=80651
10501
10502         Reviewed by Mark Rowe.
10503
10504         * DerivedSources.make: Preprocess sandbox profiles.
10505
10506         * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb: Removed.
10507         * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.in: Copied from Source/WebKit2/PluginProcess/mac/com.apple.WebKit.PluginProcess.sb.
10508         * WebProcess/com.apple.WebProcess.sb: Removed.
10509         * WebProcess/com.apple.WebProcess.sb.in: Copied from Source/WebKit2/WebProcess/com.apple.WebProcess.sb.
10510         Renamed to avoid make finding the wrong original in default paths.
10511
10512         * WebKit2.xcodeproj/project.pbxproj: Copy preprocessed files to Resources, not originals.
10513         Also, changed DerivedSources target to use BaseTarget.xcconfig to have correct include paths.
10514
10515 2012-03-09  Jon Lee  <jonlee@apple.com>
10516
10517         Add support for ENABLE(LEGACY_NOTIFICATIONS)
10518         https://bugs.webkit.org/show_bug.cgi?id=80497
10519
10520         Reviewed by Adam Barth.
10521
10522         Prep for b80472: Update API for Web Notifications
10523         * Configurations/FeatureDefines.xcconfig:
10524
10525 2012-03-09  Ashod Nakashian  <ashodnakashian@yahoo.com>
10526
10527         Bash scripts should support LF endings only
10528         https://bugs.webkit.org/show_bug.cgi?id=79509
10529
10530         Reviewed by David Kilzer.
10531
10532         * win/build-generated-files.sh: Added properties svn:executable and svn:eol-style.
10533
10534 2012-03-08  Enrica Casucci  <enrica@apple.com>
10535
10536         REGRESSION (r109022): Files dragged onto input controls cannot be read due to sandbox violation.
10537         https://bugs.webkit.org/show_bug.cgi?id=80203
10538         <rdar://problem/10976643>
10539
10540         Reviewed by Alexey Proskuryakov.
10541
10542         This patch reverts a small part fo r109022, leaving access to
10543         NSPasteboard in the WebProcess when retrieving pathnames for
10544         files being dragged. This avoid the sandbox violation until we
10545         implement a mechanism to provide a sandbox extension to the WebProcess.
10546         
10547         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
10548         (WebKit::WebPlatformStrategies::getPathnamesForType):
10549
10550 2012-03-09  Sheriff Bot  <webkit.review.bot@gmail.com>
10551
10552         Unreviewed, rolling out r110191, r110202, and r110279.
10553         http://trac.webkit.org/changeset/110191
10554         http://trac.webkit.org/changeset/110202
10555         http://trac.webkit.org/changeset/110279
10556         https://bugs.webkit.org/show_bug.cgi?id=80694
10557
10558         They broke !ENABLE(INSPECTOR) builds (Requested by Ossy on
10559         #webkit).
10560
10561         * win/WebKit2.def:
10562         * win/WebKit2CFLite.def:
10563
10564 2012-03-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
10565
10566         [Qt] Use Qt's module system for install rules and depending on QtWebKit
10567
10568         Instead of rolling our own install rules we now use the same approach as
10569         every other Qt module, by loading qt_module.prf and qt_module_config.prf.
10570
10571         This ensures that we follow the same semantics as the rest of Qt on
10572         what sort of config options are enabled by default (create_cmake eg.).
10573         It also allows us to use QT += webkit instead of the workaround we had
10574         with CONFIG += qtwebkit.
10575
10576         We do however force Qt to always treat our build as a non-developer build,
10577         so the libraries will end up in the WebKit lib directory instead of the
10578         qtbase directory (as with a normal developer-build). This allows us to
10579         keep the webkit-build self-contained. If Qt is a developer build we still
10580         copy the module file manually to Qt, so that you don't have to install
10581         WebKit to make it available.
10582
10583         For non-developer builds of Qt, it is still possible to use the built
10584         WebKit libraries without having to install them, by having the variable
10585         QMAKE_EXTRA_MODULE_FORWARDS set in the project's .qmake.cache file,
10586         pointing to $WEBKITOUTUTDIR/$CONFIGURATION/modules.
10587
10588         https://bugs.webkit.org/show_bug.cgi?id=80590
10589
10590         Reviewed by Simon Hausmann.
10591
10592         * UIProcess/API/qt/tests/publicapi/publicapi.pro:
10593         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
10594         * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro:
10595         * UIProcess/API/qt/tests/qmltests/WebView.pro:
10596         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
10597         * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
10598         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
10599         * UIProcess/API/qt/tests/tests.pri:
10600         * UIProcess/API/qt/tests/util.cpp:
10601         * WebProcess.pro:
10602
10603 2012-03-08  No'am Rosenthal  <noam.rosenthal@nokia.com>
10604
10605         [Qt][WK2] Allow transparent WebViews
10606         https://bugs.webkit.org/show_bug.cgi?id=80608
10607
10608         Reviewed by Tor Arne Vestbø.
10609
10610         Added support for transparentBackground in QQuickWebViewExperimental.
10611         This uses the existing drawsTransparentBackground property in WebKit2.
10612         Also, changed LayerTreeHostQt to set the contentsOpaque flag when the root layer changes,
10613         otherwise the change doesn't take effect.
10614
10615         A new API test was added.
10616
10617         * UIProcess/API/qt/qquickwebview.cpp:
10618         (QQuickWebViewPrivate::setTransparentBackground):
10619         (QQuickWebViewPrivate::transparentBackground):
10620         (QQuickWebViewExperimental::transparentBackground):
10621         (QQuickWebViewExperimental::setTransparentBackground):
10622         * UIProcess/API/qt/qquickwebview_p.h:
10623         * UIProcess/API/qt/qquickwebview_p_p.h:
10624         (QQuickWebViewPrivate):
10625         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
10626         (tst_QQuickWebView):
10627         (tst_QQuickWebView::transparentWebViews):
10628         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
10629         (WebKit::LayerTreeHostQt::LayerTreeHostQt):
10630         (WebKit::LayerTreeHostQt::setRootCompositingLayer):
10631
10632 2012-03-08  Gustavo Noronha Silva  <gns@gnome.org>
10633
10634         GTK+ build fix. Only try to get the backing from the layer in when
10635         ACCELERATED_COMPOSITING is enabled.
10636
10637         Rubber-stamped by Ryosuke Niwa.
10638
10639         * WebProcess/FullScreen/WebFullScreenManager.cpp:
10640         (WebKit::screenRectOfContents):
10641
10642 2012-03-08  Ryosuke Niwa  <rniwa@webkit.org>
10643
10644         Mac build fix for micro data API.
10645
10646         * Configurations/FeatureDefines.xcconfig:
10647
10648 2012-03-08  Jer Noble  <jer.noble@apple.com>
10649
10650         Unreviewed Snow Leopard build fix.
10651
10652         On Leopard and Snow Leopard, provide an implementation for -[NSWindow convertRectToScreen:].
10653
10654         * UIProcess/mac/WKFullScreenWindowController.mm:
10655         (-[NSWindow convertRectToScreen:]):
10656
10657 2012-03-08  Jer Noble  <jer.noble@apple.com>
10658
10659         Further unreviewed build fix.
10660
10661         Add in the WebCore namespace, so that IntRect is pulled in.
10662
10663         * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
10664         * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
10665         * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
10666
10667 2012-03-08  Jer Noble  <jer.noble@apple.com>
10668
10669         Unreviewed build fix.
10670         
10671         Add stub implementations of beganEnterFullScreen and beganExitFullScreen
10672         to platform-specific WebFullScreenManagerProxy implementations.
10673
10674         * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
10675         (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
10676         (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
10677         * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
10678         (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
10679         (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
10680         * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
10681         (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
10682         (WebKit::WebFullScreenManagerProxy::beganExitFullScreen):
10683
10684 2012-03-08  Jer Noble  <jer.noble@apple.com>
10685
10686         Full Screen Refactor Part 3: Animate into Full Screen mode using new animation classes.
10687         https://bugs.webkit.org/show_bug.cgi?id=78928
10688
10689         Reviewed by Anders Carlsson.
10690
10691         Boilerplate changes to WebKit2 IPC messages and supporting functions.
10692         * UIProcess/WebFullScreenManagerProxy.cpp:
10693         (WebKit::WebFullScreenManagerProxy::setAnimatingFullScreen): Added boilerplate.
10694         * UIProcess/WebFullScreenManagerProxy.h:
10695         * UIProcess/WebFullScreenManagerProxy.messages.in:
10696         * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
10697         (WebKit::WebFullScreenManagerProxy::beganEnterFullScreen): Added boilerplate.
10698         (WebKit::WebFullScreenManagerProxy::beganExitFullScreen): Added boilerplate.
10699         * WebProcess/FullScreen/WebFullScreenManager.cpp:
10700         (WebKit::screenRectOfContents): Added.  Calculates the screen rect of an element's contents.
10701         (WebKit::WebFullScreenManager::enterFullScreenForElement): Use screenRectOfContents()
10702         (WebKit::WebFullScreenManager::willEnterFullScreen): Ditto. Do not set the background color. Call new BeganEnterFullScreen
10703             XPC message.
10704         (WebKit::WebFullScreenManager::didEnterFullScreen): Do not set the background color.
10705         (WebKit::WebFullScreenManager::willExitFullScreen): Use screenRectOfContents. Do not set the background color. Call new
10706             BeganExitFullScreen XPC message.
10707         (WebKit::WebFullScreenManager::didExitFullScreen): Do not set the background color.
10708         (WebKit::WebFullScreenManager::setAnimatingFullScreen): Added boilerplate.
10709         * WebProcess/FullScreen/WebFullScreenManager.h:
10710         * WebProcess/FullScreen/WebFullScreenManager.messages.in:
10711
10712         * UIProcess/mac/WKFullScreenWindowController.h:
10713         * UIProcess/mac/WKFullScreenWindowController.mm:
10714         (-[WKFullScreenWindowController cancelOperation:]): Renamed from _requestExitWithAnimation:.
10715         (-[WKFullScreenWindowController applicationDidResignActive:]): Call cancelOperation: instead
10716             of _requestExitWithAnimation.
10717         (-[WKFullScreenWindowController applicationDidChangeScreenParameters:]): Set the frame of
10718             both the full screen window and the background window.
10719         (-[WKFullScreenWindowController enterFullScreen:]): Save a rendered image of the current
10720             page to use in the placeholder.
10721         (-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]): Renamed from 
10722             beganEnterFullScreenAnimation.
10723         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): No need to swap 
10724             placeholder views here, as they were already swapped in beganEnter...:.
10725         (-[WKFullScreenWindowController exitFullScreen]):
10726         (-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:WebCore::finalFrame:WebCore::]): Renamed from 
10727             beganExitFullScreenAnimation.
10728         (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Swap web view back into place.
10729         (-[WKFullScreenWindowController close]):
10730         (-[WKFullScreenWindowController animationDidEnd:]): Added.
10731         (createBackgroundFullscreenWindow): Added.
10732         (windowFrameFromApparentFrames): Added.
10733         (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]): Added.
10734         (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]): Added.
10735
10736 2012-03-08  Jer Noble  <jer.noble@apple.com>
10737
10738         Full Screen Refactor Part 2: Remove unnecessary WebKit2 APIs for Full Screen made
10739         https://bugs.webkit.org/show_bug.cgi?id=78926
10740
10741         Reviewed by John Sullivan.
10742
10743         The following functions (and also their Proxy versions) were removed completely:
10744         WebFullScreenManager::enterAcceleratedCompositingMode(const LayerTreeContext&)
10745         WebFullScreenManager::exitAcceleratedCompositingMode()
10746         WebFullScreenManager::beganEnterFullScreenAnimation()
10747         WebFullScreenManager::finishedEnterFullScreenAnimation(bool)
10748         WebFullScreenManager::beganExitFullScreenAnimation()
10749         WebFullScreenManager::finishedExitFullScreenAnimation(bool)
10750         WebFullScreenManager::getFullScreenRect(WebCore::IntRect&)
10751
10752         * UIProcess/WebFullScreenManagerProxy.cpp:
10753         * UIProcess/WebFullScreenManagerProxy.h:
10754         (WebKit::WebFullScreenManagerProxy::beginEnterFullScreenAnimation):
10755         (WebKit::WebFullScreenManagerProxy::beginExitFullScreenAnimation):
10756         (WebKit::WebFullScreenManagerProxy::disposeOfLayerClient):
10757         (WebFullScreenManagerProxy):
10758         * UIProcess/WebFullScreenManagerProxy.messages.in:
10759         * UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
10760         * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
10761         * UIProcess/qt/WebFullScreenManagerProxyQt.cpp:
10762         * UIProcess/win/WebFullScreenManagerProxyWin.cpp:
10763         (WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation):
10764         * WebKit2.xcodeproj/project.pbxproj:
10765         * WebProcess/FullScreen/WebFullScreenManager.cpp:
10766         (WebKit::WebFullScreenManager::create):
10767         (WebKit::WebFullScreenManager::~WebFullScreenManager):
10768         * WebProcess/FullScreen/WebFullScreenManager.h:
10769         (WebFullScreenManager):
10770         * WebProcess/FullScreen/WebFullScreenManager.messages.in:
10771         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
10772         (WebKit::WebChromeClient::exitFullScreenForElement):
10773         * WebProcess/WebCoreSupport/WebChromeClient.h:
10774         (WebChromeClient):
10775
10776         Additionally, the platform-specific WebFullScreenManager subclasses were removed, as no
10777         platform-specific implementations remained after the above functions were removed:
10778         * GNUmakefile.am:
10779         * Target.pri:
10780         * win/WebKit2.vcproj:
10781         * WebProcess/FullScreen/gtk/WebFullScreenManagerGtk.cpp: Removed.
10782         * WebProcess/FullScreen/gtk/WebFullScreenManagerGtk.h: Removed.
10783         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h: Removed.
10784         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm: Removed.
10785         * WebProcess/FullScreen/qt/WebFullScreenManagerQt.cpp: Removed.
10786         * WebProcess/FullScreen/qt/WebFullScreenManagerQt.h: Removed.
10787         * WebProcess/FullScreen/win/WebFullScreenManagerWin.cpp: Removed.
10788         * WebProcess/FullScreen/win/WebFullScreenManagerWin.h: Removed.
10789
10790 2012-03-08  Matt Lilek  <mrl@apple.com>
10791
10792         Don't enable VIDEO_TRACK on all OS X platforms
10793         https://bugs.webkit.org/show_bug.cgi?id=80635
10794
10795         Reviewed by Eric Carlson.
10796
10797         * Configurations/FeatureDefines.xcconfig:
10798
10799 2012-03-08  Max Vujovic  <mvujovic@adobe.com>
10800
10801         Add a method to window.internals to enable testing of inspector highlight rects
10802         https://bugs.webkit.org/show_bug.cgi?id=80338
10803
10804         Reviewed by Pavel Feldman.
10805
10806         * win/WebKit2.def: Export symbols for win.
10807         * win/WebKit2CFLite.def: Same as above.
10808
10809 2012-03-08  Dinu Jacob  <dinu.jacob@nokia.com>
10810
10811         [Qt WK2] Remove duplicate code related to dialog handling in QQuickWebView
10812         https://bugs.webkit.org/show_bug.cgi?id=80557
10813
10814         Reviewed by Simon Hausmann.
10815
10816         Move common code related to running QtDialogRunner into a separate function
10817  
10818         * UIProcess/API/qt/qquickwebview.cpp:
10819         (QQuickWebViewPrivate::runJavaScriptAlert):
10820         (QQuickWebViewPrivate::runJavaScriptConfirm):
10821         (QQuickWebViewPrivate::runJavaScriptPrompt):
10822         (QQuickWebViewPrivate::handleAuthenticationRequiredRequest):
10823         (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest):
10824         (QQuickWebViewPrivate::handleCertificateVerificationRequest):
10825         (QQuickWebViewPrivate::execDialogRunner):
10826         * UIProcess/API/qt/qquickwebview_p_p.h:
10827         (QQuickWebViewPrivate):
10828
10829 2012-03-07  Dinu Jacob  <dinu.jacob@nokia.com>
10830
10831         [Qt] Authentication dialog does not work
10832         https://bugs.webkit.org/show_bug.cgi?id=79738
10833
10834         Reviewed by Simon Hausmann.
10835
10836         QQuickWebView should accept touch events only if there is
10837         no active dialog.
10838
10839         * UIProcess/API/qt/qquickwebview.cpp:
10840         (QQuickWebViewPrivate::QQuickWebViewPrivate):
10841         (QQuickWebViewPrivate::runJavaScriptAlert):
10842         (QQuickWebViewPrivate::runJavaScriptConfirm):
10843         (QQuickWebViewPrivate::runJavaScriptPrompt):
10844         (QQuickWebViewPrivate::handleAuthenticationRequiredRequest):
10845         (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest):
10846         (QQuickWebViewPrivate::handleCertificateVerificationRequest):
10847         (QQuickWebView::touchEvent):
10848         * UIProcess/API/qt/qquickwebview_p_p.h:
10849         (QQuickWebViewPrivate):
10850
10851 2012-03-07  Dan Bernstein  <mitz@apple.com>
10852
10853         <rdar://problem/8494396> WebKit2 lacks API for obtaining a representation of the render tree of a page, like WebRenderNode
10854         https://bugs.webkit.org/show_bug.cgi?id=80230
10855
10856         Reviewed by Beth Dakin.
10857
10858         * CMakeLists.txt:
10859         * GNUmakefile.am:
10860
10861         * Shared/API/c/WKBase.h: Added a type definition of WKRenderObjectRef.
10862
10863         * Shared/API/c/WKRenderObject.cpp: Added.
10864         (WKRenderObjectGetTypeID): Added. Returns the WKRenderObject type ID.
10865         (WKRenderObjectCopyName): Added this getter wrapper.
10866         (WKRenderObjectGetAbsolutePosition): Ditto.
10867         (WKRenderObjectGetFrameRect): Ditto.
10868         (WKRenderObjectGetChildren): Ditto.
10869
10870         * Shared/API/c/WKRenderObject.h: Added.
10871
10872         * Shared/APIObject.h: Added TypeRenderObject to the APIObject::Type enum.
10873         * Shared/UserMessageCoders.h:
10874         (WebKit::UserMessageEncoder::baseEncode): Added WebRenderObject encoding.
10875         (WebKit::UserMessageDecoder::baseDecode): Added WebRenderObject decoding.
10876         * Shared/WebRenderObject.cpp: Added.
10877         (WebKit::WebRenderObject::create): Added. Creates a WebRenderObject for the page’s main
10878         frame content renderer.
10879         (WebKit::WebRenderObject::WebRenderObject): Added. Constructs a WebRenderObject with the
10880         name, metrics and children of the given RenderObject, following the rules used in WebKit1
10881         WebRenderNode. In particular, a RenderWidget representing a frame gets the frame’s content
10882         renderer as a child.
10883
10884         * Shared/WebRenderObject.h: Added.
10885         (WebKit::WebRenderObject::create):
10886         (WebKit::WebRenderObject::children):
10887         (WebKit::WebRenderObject::name):
10888         (WebKit::WebRenderObject::absolutePosition):
10889         (WebKit::WebRenderObject::frameRect):
10890         (WebKit::WebRenderObject::WebRenderObject):
10891
10892         * Target.pri:
10893
10894         * UIProcess/API/C/WKAPICast.h: Added a mapping between WKRenderObjectRef and WebRenderObject.
10895
10896         * WebKit2.xcodeproj/project.pbxproj: Added WebRenderObject.{cpp,h} and WKRenderObject.{cpp.h}.
10897
10898         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
10899         (WKBundlePageCopyRenderTree): Added this bundle API for getting the render tree.
10900
10901         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
10902
10903         * win/WebKit2.vcproj:
10904
10905 2012-03-07  Kenneth Rohde Christiansen  <kenneth@webkit.org>
10906
10907         Pinch zoom acts weirdly on nytimes.com while loading
10908         https://webkit.org/b/80508
10909
10910         Reviewed by Simon Hausmann.
10911
10912         Make sure to suspend the page while doing pinch zooming.
10913         If the page is suspended (which happens while pinch zooming)
10914         then do not send touch events to the page, even if it has
10915         listeners.
10916
10917         * UIProcess/WebPageProxy.cpp:
10918         (WebKit::WebPageProxy::handleTouchEvent):
10919         * UIProcess/qt/QtViewportInteractionEngine.cpp:
10920         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
10921
10922 2012-03-05  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
10923
10924         [Qt] QWebNavigationRequest 'action' property should have an enum type instead of int
10925         https://bugs.webkit.org/show_bug.cgi?id=80164
10926
10927         Reviewed by Simon Hausmann.
10928
10929         Use the appropriate enum type instead of int. Make IgnoreRequest have a bigger
10930         value that give some room for us to put Experimental values in the middle. This
10931         way the Experimental values are in a valid range for the original enumeration. To
10932         avoid confusion, the Experimental enumeration was renamed.
10933
10934         * UIProcess/API/qt/qquickwebview_p.h:
10935         * UIProcess/API/qt/qwebnavigationrequest.cpp:
10936         (QWebNavigationRequestPrivate):
10937         (QWebNavigationRequest::setAction):
10938         (QWebNavigationRequest::action):
10939         * UIProcess/API/qt/qwebnavigationrequest_p.h:
10940         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
10941
10942 2012-03-07  Andras Becsi  <andras.becsi@nokia.com>
10943
10944         [WK2] Make it possible to build without geolocation support
10945         https://bugs.webkit.org/show_bug.cgi?id=80426
10946
10947         Reviewed by Simon Hausmann.
10948
10949         Add missing guards.
10950
10951         * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
10952         (WebKit::GeolocationPermissionRequestManagerProxy::didReceiveGeolocationPermissionDecision):
10953         * UIProcess/WebPageProxy.cpp:
10954         (WebKit::WebPageProxy::close):
10955         (WebKit::WebPageProxy::processDidCrash):
10956         * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
10957         * WebProcess/WebPage/WebPage.cpp:
10958         (WebKit::WebPage::WebPage):
10959         (WebKit):
10960         * WebProcess/WebPage/WebPage.h:
10961         (WebPage):
10962         * WebProcess/WebPage/WebPage.messages.in:
10963
10964 2012-03-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
10965
10966         [CMake] Make the removal of transitive library dependencies work with CMake < 2.8.7.
10967         https://bugs.webkit.org/show_bug.cgi?id=80469
10968
10969         Reviewed by Antonio Gomes.
10970
10971         * CMakeLists.txt: Manually set the LINK_INTERFACE_LIBRARIES target
10972         property on the library being created.
10973
10974 2012-03-06  Hugo Parente Lima  <hugo.lima@openbossa.org>
10975
10976         MiniBrowser --window-size 480x800 www.nytimes.com doesn't paint bottom tiles.
10977         https://bugs.webkit.org/show_bug.cgi?id=80313
10978
10979         Reviewed by Kenneth Rohde Christiansen.
10980
10981         Fix the math to get the visible rectangle and add a method to get it.
10982
10983         * UIProcess/API/qt/qquickwebview.cpp:
10984         (QQuickWebViewPrivate::visibleContentsRect):
10985         (QQuickWebViewFlickablePrivate::_q_commitScaleChange):
10986         (QQuickWebViewPrivate::_q_commitPositionChange):
10987         * UIProcess/API/qt/qquickwebview_p_p.h:
10988         (QQuickWebViewPrivate):
10989
10990 2012-03-05  Joseph Pecoraro  <pecoraro@apple.com>
10991
10992         Web Inspector: Hide dock button when not allowed to dock
10993         https://bugs.webkit.org/show_bug.cgi?id=78575
10994
10995         Reviewed by Pavel Feldman.
10996
10997         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
10998         (WebKit::WebInspectorClient::didResizeMainFrame):
10999         * WebProcess/WebCoreSupport/WebInspectorClient.h:
11000         * WebProcess/WebPage/WebInspector.cpp:
11001         (WebKit::WebInspector::updateDockingAvailability):
11002         * WebProcess/WebPage/WebInspector.h:
11003
11004 2012-03-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
11005
11006         [Qt] Interaction Engine suspends content during pageload.
11007         https://bugs.webkit.org/show_bug.cgi?id=80294
11008
11009         Only suspend content when viewport updates are deferred
11010         for a non-instantanious interaction.
11011
11012         Reviewed by Kenneth Rohde Christiansen.
11013
11014         * UIProcess/qt/QtViewportInteractionEngine.cpp:
11015         (WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer):
11016         (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
11017         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
11018         (WebKit::QtViewportInteractionEngine::flickableMoveStarted):
11019         (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
11020         * UIProcess/qt/QtViewportInteractionEngine.h:
11021         (QtViewportInteractionEngine):
11022
11023 2012-03-06  Simon Hausmann  <simon.hausmann@nokia.com>
11024
11025         [Qt] Make QQuickWebView's url property work with a flickable webview
11026
11027         Reviewed by Tor Arne Vestbø.
11028
11029         QQuickWebViewPrivate::onComponentComplete implements the deferred url loading
11030         when the url property is set in the component instantiation. QQuickWebViewFlickablePrivate
11031         is the private sub-class used for a flickable webview, which re-implemented onComponentComplete
11032         but forgot to call the base implementation.
11033
11034         * UIProcess/API/qt/qquickwebview.cpp:
11035         (QQuickWebViewFlickablePrivate::onComponentComplete):
11036
11037 2012-03-06  Carlos Garcia Campos  <cgarcia@igalia.com>
11038
11039         [GTK] Fix several documentation issues in WebKit2 GTK+ API
11040         https://bugs.webkit.org/show_bug.cgi?id=80281
11041
11042         Reviewed by Martin Robinson.
11043
11044         * UIProcess/API/gtk/WebKitFindController.cpp:
11045         * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
11046         (webkit_navigation_policy_decision_class_init):
11047         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
11048         * UIProcess/API/gtk/WebKitWebView.h:
11049
11050 2012-03-06  Carlos Garcia Campos  <cgarcia@igalia.com>
11051
11052         [GTK] Use a single signal for script dialogs in WebKit2 GTK+ API
11053         https://bugs.webkit.org/show_bug.cgi?id=80271
11054
11055         Reviewed by Martin Robinson.
11056
11057         Add a new signal WebKitWebView::script-dialog that passes a
11058         WebKitScriptDialog boxed type that can be used to build the dialog
11059         and set the responses. It simplifies the API and makes it bindings
11060         friendly.
11061
11062         * GNUmakefile.am:
11063         * UIProcess/API/gtk/WebKitScriptDialog.cpp: Added.
11064         (webkitScriptDialogCopy): Copy method for boxed type.
11065         (webkitScriptDialogFree): Free method for boxed type.
11066         (webkit_script_dialog_get_dialog_type): Return the type of dialog:
11067         alert, confirm or prompt.
11068         (webkit_script_dialog_get_message): Return the message of the dialog.
11069         (webkit_script_dialog_confirm_set_confirmed): Set whether user
11070         confirmed the dialog, for confirm dialogs.
11071         (webkit_script_dialog_prompt_get_default_text): Get the default
11072         text of prompt dialogs.
11073         (webkit_script_dialog_prompt_set_text): Set the text entered by
11074         the user, for prompt dialogs.
11075         * UIProcess/API/gtk/WebKitScriptDialog.h: Added.
11076         * UIProcess/API/gtk/WebKitScriptDialogPrivate.h: Added.
11077         * UIProcess/API/gtk/WebKitWebView.cpp:
11078         (webkitWebViewScriptDialog): Default implementation of
11079         WebKitWebView::script-dialog signal.
11080         (webkit_web_view_class_init): Add WebKitWebView::script-dialog and
11081         remove alert, confirm and propmpt.
11082         (webkitWebViewRunJavaScriptAlert): Create a WebKitScriptDialog and
11083         emit WebKitWebView::script-dialog signal.
11084         (webkitWebViewRunJavaScriptConfirm): Ditto.
11085         (webkitWebViewRunJavaScriptPrompt): Ditto.
11086         * UIProcess/API/gtk/WebKitWebView.h:
11087         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new
11088         symbols.
11089         * UIProcess/API/gtk/docs/webkit2gtk.types: Add webkit_script_dialog_get_type().
11090         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
11091         (testWebViewJavaScriptDialogs): Update javascript dialog test to
11092         use the new API.
11093         * UIProcess/API/gtk/webkit2marshal.list:
11094         * UIProcess/API/gtk/webkit2.h:
11095
11096 2012-03-05  Gavin Barraclough  <barraclough@apple.com>
11097
11098         putByIndex should throw in strict mode
11099         https://bugs.webkit.org/show_bug.cgi?id=80335
11100
11101         Reviewed by Filip Pizlo.
11102
11103         Make the MethodTable PutByIndex trap take a boolean 'shouldThrow' parameter.
11104
11105         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
11106         (WebKit::NPJSObject::setProperty):
11107
11108 2012-03-05  Joseph Pecoraro  <pecoraro@apple.com>
11109
11110         Unreviewed rollout of r109858 for restructuring.
11111
11112 2012-03-05  Joseph Pecoraro  <pecoraro@apple.com>
11113
11114         <http://webkit.org/b/78575> Web Inspector: Hide dock button when not allowed to dock
11115
11116         Reviewed by Timothy Hatcher.
11117
11118         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
11119         (WebKit::WebInspectorClient::updateDockingAvailability):
11120         * WebProcess/WebCoreSupport/WebInspectorClient.h:
11121         * WebProcess/WebPage/WebInspector.cpp:
11122         (WebKit::WebInspector::updateDockingAvailability):
11123         * WebProcess/WebPage/WebInspector.h:
11124
11125 2012-03-05  Anders Carlsson  <andersca@apple.com>
11126
11127         pinch-to-zoom and double-tap flicker when using the new scrolling model
11128         https://bugs.webkit.org/show_bug.cgi?id=80368
11129         <rdar://problem/10866221>
11130
11131         Reviewed by Sam Weinig.
11132
11133         Add a way for drawing areas to respond to callback based force repaint requests asynchronously.
11134         This is currently needed for the tiled drawing area when there might be outstanding scroll updates
11135         that are sent from the scrolling thread to the main thread and we need to ensure that they're processed
11136         before sending a message back.
11137
11138         * WebProcess/WebPage/DrawingArea.h:
11139         (WebKit::DrawingArea::forceRepaintAsync):
11140         Add new member function.
11141
11142         * WebProcess/WebPage/WebPage.cpp:
11143         (WebKit::WebPage::forceRepaint):
11144         Try forceRepaintAsync first.
11145
11146         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
11147         (WebKit::forceRepaintAndSendMessage):
11148         Force the repaint and send the message.
11149
11150         (WebKit::dispatchBackToMainThread):
11151         Dispatch a call to forceRepaintAndSendMessage to the main thread.
11152
11153         (WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync):
11154         Dispatch a function on the scrolling thread. Its sole purpose is to dispatch a function back to the
11155         main thread, ensuring that all previously dispatched functions have been executed.
11156
11157 2012-03-05  Enrica Casucci  <enrica@apple.com>
11158
11159         Can't type on some websites (plug-ins steal key events).
11160         <rdar://problem/10892291>
11161
11162         When the plugin is disabled, it is necessary to reset _pluginComplexTextInputIdentifier
11163         in order to return the correct input context. Failure to do so results in the inputContext
11164         method to return the plugin input context instead of the context of the browser view.
11165         
11166         Reviewed by Sam Weinig.
11167
11168         * UIProcess/API/mac/WKView.mm:
11169         (-[WKView _setPluginComplexTextInputState:]):
11170         (-[WKView _handlePluginComplexTextInputKeyDown:]):
11171
11172 2012-03-05  Anders Carlsson  <andersca@apple.com>
11173
11174         Be more aggressive about repainting page overlays
11175         https://bugs.webkit.org/show_bug.cgi?id=80336
11176         <rdar://problem/10965943>
11177
11178         Reviewed by Simon Fraser.
11179
11180         Whenever we're flushing layers and we have a page overlay, check if the main frame
11181         has scrolled or if the main frame root content layer needs to be repainted and force the
11182         overlay layer to be repainted if either of those conditions are true.
11183
11184         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
11185         (TiledCoreAnimationDrawingArea):
11186         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
11187         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
11188         (WebKit::TiledCoreAnimationDrawingArea::shouldRepaintPageOverlayLayer):
11189         (WebKit):
11190
11191 2012-03-05  Sam Weinig  <sam@webkit.org>
11192
11193         Add support for hosting layers in the window server in WebKit2
11194         <rdar://problem/10400246>
11195         https://bugs.webkit.org/show_bug.cgi?id=80310
11196
11197         Reviewed by Anders Carlsson.
11198
11199         This currently only works if you are using TiledCoreAnimation drawing model.
11200
11201         * Platform/mac/LayerHostingContext.h: Renamed from Source/WebKit2/Platform/mac/RemoteLayerClient.h.
11202         * Platform/mac/LayerHostingContext.mm: Renamed from Source/WebKit2/Platform/mac/RemoteLayerClient.mm.
11203         (WebKit::LayerHostingContext::createForPort):
11204         (WebKit::LayerHostingContext::LayerHostingContext):
11205         (WebKit::LayerHostingContext::createForWindowServer):
11206         (WebKit::LayerHostingContext::~LayerHostingContext):
11207         (WebKit::LayerHostingContext::setRootLayer):
11208         (WebKit::LayerHostingContext::rootLayer):
11209         (WebKit::LayerHostingContext::contextID):
11210         (WebKit::LayerHostingContext::invalidate):
11211         Renamed RemoteLayerClient to LayerHostingContext and add ability to use the window server
11212         as the remote context.
11213
11214         * PluginProcess/PluginControllerProxy.cpp:
11215         * PluginProcess/PluginControllerProxy.h:
11216         * PluginProcess/mac/PluginControllerProxyMac.mm:
11217         Update for new names.
11218
11219         * Shared/LayerTreeContext.h:
11220         Add LayerHostingMode enum.
11221
11222         * UIProcess/PageClient.h:
11223         * UIProcess/API/mac/PageClientImpl.h:
11224         * UIProcess/API/mac/PageClientImpl.mm:
11225         (WebKit::PageClientImpl::layerHostingMode):
11226         (WebKit::PageClientImpl::updateAcceleratedCompositingMode):
11227         Add PageClient access points to get the current layer hosting mode,
11228         and a hook to tell the underlying view that the layer hosting context
11229         has changed.
11230
11231         * UIProcess/API/mac/WKViewInternal.h:
11232         * UIProcess/API/mac/WKView.mm:
11233         (-[WKView _updateAcceleratedCompositingMode:WebKit::]):
11234         Implement responding to a new layer hosting context as a simple
11235         exit and re-entrance of compositing.
11236
11237         * UIProcess/DrawingAreaProxy.h:
11238         (WebKit::DrawingAreaProxy::layerHostingModeDidChange):
11239         (WebKit::DrawingAreaProxy::updateAcceleratedCompositingMode):
11240         * UIProcess/DrawingAreaProxy.messages.in:
11241         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
11242         (TiledCoreAnimationDrawingAreaProxy):
11243         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
11244         (WebKit::TiledCoreAnimationDrawingAreaProxy::layerHostingModeDidChange):
11245         (WebKit::TiledCoreAnimationDrawingAreaProxy::updateAcceleratedCompositingMode):
11246         Pipe layer hosting changes around.
11247
11248         * UIProcess/WebPageProxy.h:
11249         (WebKit::WebPageProxy::layerHostingMode):
11250         * UIProcess/WebPageProxy.cpp:
11251         (WebKit::WebPageProxy::WebPageProxy):
11252         (WebKit::WebPageProxy::viewStateDidChange):
11253         Cache the current layer hosting mode so we don't overzealously
11254         tell the WebProcess to reset its context. Re-check layer hosting
11255         mode each time we are added/removed from a window.
11256
11257         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h:
11258         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
11259         Update for new names.
11260
11261         * WebProcess/WebPage/DrawingArea.h:
11262         (WebKit::DrawingArea::setDeviceScaleFactor):
11263         (WebKit::DrawingArea::setLayerHostingMode):
11264         * WebProcess/WebPage/DrawingArea.messages.in:
11265         Pipe layer hosting changes around.
11266
11267         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
11268         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
11269         (WebKit::LayerTreeHostCAMac::~LayerTreeHostCAMac):
11270         (WebKit::LayerTreeHostCAMac::platformInitialize):
11271         (WebKit::LayerTreeHostCAMac::invalidate):
11272         Update for new names.
11273
11274         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
11275         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
11276         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
11277         (WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode):
11278         Respond to a change in the layer hosting mode by invalidating our old context,
11279         making a new one of the right type, and informing the UIProcess of our new context.
11280
11281         * WebKit2.xcodeproj/project.pbxproj:
11282         Add new files.
11283
11284 2012-03-05  Anders Carlsson  <andersca@apple.com>
11285
11286         Always update the scroll layer position on the main thread when we have an overlay
11287         https://bugs.webkit.org/show_bug.cgi?id=80324
11288
11289         Reviewed by Sam Weinig.
11290
11291         Call setForceMainThreadScrollLayerPositionUpdates when installing and uninstalling page overlays,
11292         so we'll be able to synchronize painting between the tile cache and the page overlays.
11293
11294         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
11295         (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
11296         (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
11297
11298 2012-03-05  Timothy Hatcher  <timothy@apple.com>
11299
11300         Change how the Web Inspector Develop menu actions work.
11301
11302         This removes the methods used by Safari's Develop menu. They can now be implemented in Safari.
11303
11304         https://webkit.org/b/80308
11305
11306         Reviewed by John Sullivan.
11307
11308         * UIProcess/API/C/mac/WKInspectorPrivateMac.h: Renamed from Source/WebKit2/UIProcess/API/C/mac/WKInspectorMac.h.
11309         * UIProcess/mac/WebInspectorProxyMac.mm:
11310         (-[WKWebInspectorProxyObjCAdapter inspectorRef]): Added.
11311         * WebKit2.xcodeproj/project.pbxproj: Renamed WKInspectorPrivateMac.h to better reflect its private nature.
11312
11313 2012-03-02  Jon Lee  <jonlee@apple.com>
11314
11315         Add support for notification replaceId in Mac WebKit and WK2
11316         https://bugs.webkit.org/show_bug.cgi?id=80206
11317         <rdar://problem/10965574>
11318
11319         Reviewed by Sam Weinig.
11320
11321         * UIProcess/API/C/WKNotification.cpp: Add WK API.
11322         (WKNotificationCopyReplaceID):
11323         * UIProcess/API/C/WKNotification.h:
11324         * UIProcess/Notifications/WebNotification.cpp:
11325         (WebKit::WebNotification::WebNotification):
11326         * UIProcess/Notifications/WebNotification.h: Add replaceID member.
11327         (WebKit::WebNotification::create):
11328         (WebKit::WebNotification::replaceID):
11329         (WebNotification):
11330         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
11331         (WebKit::WebNotificationManagerProxy::show):
11332         * UIProcess/Notifications/WebNotificationManagerProxy.h:
11333         (WebNotificationManagerProxy):
11334         * UIProcess/WebPageProxy.cpp:
11335         (WebKit::WebPageProxy::showNotification):
11336         * UIProcess/WebPageProxy.h:
11337         (WebPageProxy):
11338         * UIProcess/WebPageProxy.messages.in: Add replaceID to the showNotification message.
11339         * WebProcess/Notifications/WebNotificationManager.cpp:
11340         (WebKit::WebNotificationManager::show):
11341
11342 2012-03-05  Sheriff Bot  <webkit.review.bot@gmail.com>
11343
11344         Unreviewed, rolling out r109748.
11345         http://trac.webkit.org/changeset/109748
11346         https://bugs.webkit.org/show_bug.cgi?id=80296
11347
11348         Made some tests crash, will fix and recommit (Requested by
11349         noamr on #webkit).
11350
11351         * Target.pri:
11352         * UIProcess/API/qt/qquickwebpage.cpp:
11353         (QQuickWebPagePrivate::paintToCurrentGLContext):
11354         (PageProxyNode::PageProxyNode):
11355         (PageProxyNode):
11356         (PageProxyNode::changedStates):
11357         (PageProxyNode::render):
11358         (PageProxyNode::~PageProxyNode):
11359         (QQuickWebPage::updatePaintNode):
11360         (QQuickWebPagePrivate::updateSize):
11361         (QQuickWebPagePrivate::resetPaintNode):
11362         (QQuickWebPagePrivate::~QQuickWebPagePrivate):
11363         * UIProcess/API/qt/qquickwebpage_p_p.h:
11364         (QQuickWebPagePrivate):
11365         * UIProcess/DrawingAreaProxy.h:
11366         (WebKit):
11367         (WebKit::DrawingAreaProxy::layerTreeHostProxy):
11368         (DrawingAreaProxy):
11369         * UIProcess/DrawingAreaProxyImpl.cpp:
11370         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
11371         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
11372         * UIProcess/LayerTreeHostProxy.h:
11373         (LayerTreeHostProxy):
11374         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
11375         (WebKit::LayerTreeHostProxy::syncAnimations):
11376         (WebKit::LayerTreeHostProxy::updateViewport):
11377         (WebKit::LayerTreeHostProxy::syncLayerParameters):
11378         (WebKit::LayerTreeHostProxy::flushLayerChanges):
11379         (WebKit::LayerTreeHostProxy::ensureRootLayer):
11380         (WebKit::LayerTreeHostProxy::syncRemoteContent):
11381         (WebKit::LayerTreeHostProxy::dispatchUpdate):
11382         (WebKit):
11383         (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
11384         (WebKit::LayerTreeHostProxy::purgeGLResources):
11385         * UIProcess/qt/QtWebPageSGNode.cpp: Removed.
11386         * UIProcess/qt/QtWebPageSGNode.h: Removed.
11387
11388 2012-03-05  Joone Hur  <joone.hur@collabora.co.uk>
11389
11390         [GTK] zlib link error with --enable-webkit2
11391         https://bugs.webkit.org/show_bug.cgi?id=79877
11392
11393         Reviewed by Martin Robinson.
11394
11395         zlib should be linked properly.
11396
11397         * GNUmakefile.am: Link $(ZLIB_LIBS) with libwebkit2gtk instead of
11398         linking it with WebKitWebProcess.
11399
11400 2012-03-05  Carlos Garcia Campos  <cgarcia@igalia.com>
11401
11402         [WK2] WKPageGetContextMenuFromProposedContextMenuCallback should pass a HitTestResult
11403         https://bugs.webkit.org/show_bug.cgi?id=77208
11404
11405         Reviewed by Anders Carlsson.
11406
11407         A HitTestResultData is now passed to ShowContextMenu WebPageProxy
11408         message instead of the ContextMenuState. ContextMenu client has
11409         been updated to pass the HitTestResult to the
11410         getContextMenuFromProposedMenu callback.
11411
11412         * GNUmakefile.am: Remove ContextMenuState.h.
11413         * Shared/APIClientTraits.h:
11414         * Shared/ContextMenuState.h: Removed.
11415         * Shared/WebHitTestResult.h:
11416         (WebKit::WebHitTestResult::Data::Data): Add constructor that takes
11417         a WebCore::HitTestResult.
11418         * UIProcess/API/C/WKPage.h: Add HitTestResult parameter to
11419         getContextMenuFromProposedMenu callback and deprecate the old
11420         version.
11421         * UIProcess/WebPageContextMenuClient.cpp:
11422         (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
11423         Pass a HitTestResult to getContextMenuFromProposedMenu or use the
11424         deprecated one if client version is an old one.
11425         * UIProcess/WebPageContextMenuClient.h:
11426         * UIProcess/WebPageProxy.cpp:
11427         (WebKit::WebPageProxy::showContextMenu):
11428         (WebKit::WebPageProxy::internalShowContextMenu): Save the
11429         WebHitTestResult::Data to use it for handling context menu actions.
11430         (WebKit::WebPageProxy::contextMenuItemSelected): Use the saved
11431         WebHitTestResult::Data.
11432         * UIProcess/WebPageProxy.h:
11433         * UIProcess/WebPageProxy.messages.in:
11434         * WebKit2.xcodeproj/project.pbxproj: Remove ContextMenuState.h.
11435         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
11436         (WebKit::WebChromeClient::mouseDidMoveOverElement): Use the new
11437         WebHitTestResult::Data constructor that takes a WebCore::HitTestResult.
11438         * WebProcess/WebPage/WebContextMenu.cpp:
11439         (WebKit::WebContextMenu::show): Create a WebHitTestResult::Data
11440         instead of a ContextMenuState and pass it to ShowContextMenu message.
11441         * win/WebKit2.vcproj: ContextMenuState.h.
11442
11443 2012-03-05  No'am Rosenthal  <noam.rosenthal@nokia.com>
11444
11445         [Qt] [WK2] Support threaded renderer in WK2
11446         https://bugs.webkit.org/show_bug.cgi?id=76661
11447
11448         Made the appropriate fixes in the UI process code to make rendering thread-safe.
11449         - Separated the scenegraph node code to QtWebPageSGNode. QtWebPageSGNode has direct access
11450           to LayerTreeHostProxy.
11451
11452         - Each function in LayerTreeHostProxy can be either called from the main thread (handling
11453           messages from the web process), or from the renderer thread (handling the GL context).
11454           The render-queue is locked with a mutex, and messages back to the web process are sent
11455           via callOnMainThread.
11456
11457         - LayerTreeHostProxy is now ThreadSafeRefCounted. That is done to make sure that the GL
11458           resources it creates are only freed when the QtWebPageSGNode is deleted, which can be
11459           before or after the owning DrawingAreaProxy is deleted. This ensures that the class is
11460           deleted only after its GL resources are freed, otherwise those resources may leak.
11461
11462         Based on a patch by Viatcheslav Ostapenko.
11463
11464         Reviewed by Kenneth Rohde Christiansen.
11465
11466         * Target.pri: Added new files.
11467         * UIProcess/API/qt/qquickwebpage.cpp: Moved QtWebPageSGNode out.
11468         (QQuickWebPage::updatePaintNode): Call QtWebPageSGNode
11469         (QQuickWebPagePrivate::updateSize): Call QtWebPageSGNode
11470         (QQuickWebPagePrivate::didDeleteSGWebPageNode): Override QtWebPageSGNode::Client
11471         (QQuickWebPagePrivate::~QQuickWebPagePrivate):
11472         * UIProcess/API/qt/qquickwebpage_p_p.h:
11473         (QQuickWebPagePrivate):
11474         * UIProcess/DrawingAreaProxy.h:
11475         (WebKit):
11476         (WebKit::DrawingAreaProxy::layerTreeHostProxy): Made LayerTreeHostProxy ref-counted.
11477         (DrawingAreaProxy):
11478         * UIProcess/DrawingAreaProxyImpl.cpp:
11479         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
11480         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
11481         * UIProcess/LayerTreeHostProxy.h:
11482         (WebKit):
11483         (WebKit::LayerTreeHostProxy::create):
11484         (LayerTreeHostProxy):
11485         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
11486         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
11487         (WebKit):
11488         (MainThreadGuardedInvoker):
11489             A class that allows invoking functions in the main thread, while guarding a ref-
11490             counted object.
11491
11492         (WebKit::MainThreadGuardedInvoker::call):
11493         (WebKit::MainThreadGuardedInvoker::MainThreadGuardedInvoker):
11494         (WebKit::MainThreadGuardedInvoker::invoke):
11495         (WebKit::LayerTreeHostProxy::syncAnimations):
11496         (WebKit::LayerTreeHostProxy::updateViewport):
11497         (WebKit::LayerTreeHostProxy::detachDrawingArea):
11498         (WebKit::LayerTreeHostProxy::syncLayerParameters):
11499         (WebKit::LayerTreeHostProxy::setShouldRenderNextFrame):
11500         (WebKit::LayerTreeHostProxy::flushLayerChanges):
11501         (WebKit::LayerTreeHostProxy::ensureRootLayer):
11502         (WebKit::LayerTreeHostProxy::syncRemoteContent):
11503         (WebKit::LayerTreeHostProxy::dispatchUpdate):
11504         (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
11505         (WebKit::LayerTreeHostProxy::purgeGLResources):
11506         * UIProcess/qt/QtWebPageSGNode.cpp: Added.
11507         * UIProcess/qt/QtWebPageSGNode.h: Added.
11508
11509 2012-03-04  Raphael Kubo da Costa  <kubo@profusion.mobi>
11510
11511         [CMake] Libraries are installed to /usr/lib and not /usr/lib64 on x86_64
11512         https://bugs.webkit.org/show_bug.cgi?id=71507
11513
11514         Reviewed by Antonio Gomes.
11515
11516         * CMakeLists.txt: Use ${LIB_INSTALL_DIR} instead of hardcoding "lib".
11517
11518 2012-03-03  Simon Hausmann  <simon.hausmann@nokia.com>
11519
11520         [Qt] Fix static_libs_as_shared build
11521         https://bugs.webkit.org/show_bug.cgi?id=80214
11522
11523         Reviewed by Tor Arne Vestbø.
11524
11525         Replace (static) link time dependency to WK1 with entrypoint
11526         in the separate WebProcess for activating the QStyle theme if
11527         necessary.
11528
11529         * Target.pri:
11530         * UIProcess/Launcher/ProcessLauncher.h:
11531         * WebProcess/qt/WebProcessMainQt.cpp:
11532         (WebKit::WebProcessMainQt):
11533         * qt/MainQt.cpp:
11534         (WebKit):
11535         (main):
11536
11537 2012-03-03  Hans Wennborg  <hans@chromium.org>
11538
11539         Implement Speech JavaScript API
11540         https://bugs.webkit.org/show_bug.cgi?id=80019
11541
11542         Reviewed by Adam Barth.
11543
11544         Add ENABLE_SCRIPTED_SPEECH.
11545
11546         * Configurations/FeatureDefines.xcconfig:
11547
11548 2012-03-03  No'am Rosenthal  <noam.rosenthal@nokia.com>
11549
11550         [Qt] Use the existing inheritedOpacity/matrix properties of QSGNode
11551         https://bugs.webkit.org/show_bug.cgi?id=79543
11552
11553         Use QSGNode::inheritedOpacity() and QSGNode::matrix().
11554         Also, remove flags from changedStates() that we don't actually touch.
11555         This is covered by existing API tests.
11556
11557         Reviewed by Kenneth Rohde Christiansen.
11558
11559         * UIProcess/API/qt/qquickwebpage.cpp:
11560         (QQuickWebPagePrivate::paintToCurrentGLContext):
11561         (PageProxyNode::changedStates):
11562         (PageProxyNode::render):
11563         * UIProcess/API/qt/qquickwebpage_p_p.h:
11564         (QQuickWebPagePrivate):
11565
11566 2012-03-03  Anders Carlsson  <andersca@apple.com>
11567
11568         Fix build with newer versions of clang.
11569
11570         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
11571         (WebKit::NPN_GetValue):
11572         Cast the switch parameter to unsigned to prevent warnings about case values not being part of the enum type.
11573
11574 2012-03-02  Andy Estes  <aestes@apple.com>
11575
11576         Move nsStringFromWebCoreString out of PageClientImpl
11577         https://bugs.webkit.org/show_bug.cgi?id=80202
11578
11579         Reviewed by Sam Weinig.
11580
11581         nsStringFromWebCoreString() doesn't really belong in PageClientImpl.mm,
11582         and it makes us include PageClientImpl.h in places where we shouldn't.
11583         Move this function into StringUtilities.{h, mm}.
11584
11585         * Platform/mac/StringUtilities.h: Added.
11586         * Platform/mac/StringUtilities.mm: Added.
11587         (WebKit::nsStringFromWebCoreString):
11588         * UIProcess/API/mac/PageClientImpl.h:
11589         * UIProcess/API/mac/PageClientImpl.mm:
11590         * UIProcess/API/mac/WKView.mm:
11591         * UIProcess/mac/WebContextMenuProxyMac.mm:
11592         * UIProcess/mac/WebPageProxyMac.mm:
11593         * UIProcess/mac/WebPopupMenuProxyMac.mm:
11594         * UIProcess/mac/WebPreferencesMac.mm:
11595         * WebKit2.xcodeproj/project.pbxproj:
11596
11597 2012-03-02  Andy Estes  <aestes@apple.com>
11598
11599         Remove com.apple.WebKit.PluginProcess.sb from WebKit2.xcodeproj's Headers build phase
11600         https://bugs.webkit.org/show_bug.cgi?id=80197
11601
11602         Reviewed by Alexey Proskuryakov.
11603
11604         It doesn't belong there, and it makes Xcode consider the project to be
11605         invalid, triggering assertions in some builds of Xcode.
11606
11607         * WebKit2.xcodeproj/project.pbxproj:
11608
11609 2012-03-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
11610
11611         [Qt] Fix spelling mistake in header guard
11612
11613         Reviewed by Noam Rosenthal.
11614
11615         * UIProcess/API/qt/qwebviewportinfo_p.h:
11616
11617 2012-03-02  Carlos Garcia Campos  <cgarcia@igalia.com>
11618
11619         [GTK] Invalid check in webkit_web_view_set_zoom_level() when zoom-text-only is enabled
11620         https://bugs.webkit.org/show_bug.cgi?id=80150
11621
11622         Reviewed by Philippe Normand.
11623
11624         * UIProcess/API/gtk/WebKitWebView.cpp:
11625         (webkit_web_view_set_zoom_level): Use
11626         webkit_web_view_get_zoom_level() instead of
11627         WKPageGetPageZoomFactor() to get the current effective zoom level
11628         depending on zoom-text-only setting.
11629
11630 2012-03-02  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
11631
11632         Fix build on AppleWebKit after 109548.
11633
11634         * mac/WebKit2.order:
11635
11636 2012-03-02  Simon Hausmann  <simon.hausmann@nokia.com>
11637
11638         [Qt] Fix tests run with WTR not using QStyle theme
11639         https://bugs.webkit.org/show_bug.cgi?id=80147
11640
11641         Reviewed by Csaba Osztrogonác.
11642
11643         Use an environment variable (set by WTR) to select the QStyle theme.
11644         This is a temporary kludge until we rebase the layout tests to use the
11645         QStyle independent "mobile" theme. This also temporarily breaks the
11646         force_static_libs_as_shared build.
11647
11648         * Target.pri:
11649         * WebProcess/qt/WebProcessMainQt.cpp:
11650         (WebKit::WebProcessMainQt):
11651
11652 2012-03-02  Simon Hausmann  <simon.hausmann@nokia.com>
11653
11654         [Qt] Compile WebCore without QtWidgets
11655         https://bugs.webkit.org/show_bug.cgi?id=80141
11656
11657         Reviewed by Tor Arne Vestbø.
11658
11659         * Shared/qt/WebEventFactoryQt.cpp: Removed unnecessary include.
11660         * Target.pri: Require widgets for WK2 for the moment, until bug #79458
11661         is fixed.
11662
11663 2012-03-02  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
11664
11665         Suspend/Resume API for pausing timers and animations.
11666         https://bugs.webkit.org/show_bug.cgi?id=76063
11667
11668         Based on the initial work of Zalan Bujtas <zalan.bujtas@nokia.com>,
11669
11670         Adds suspend and resume API for WebKit2 and uses it in Qt to
11671         suspend animations and DOM timers during panning and zoom.
11672
11673         Reviewed by Kenneth Rohde Christiansen.
11674
11675         * UIProcess/API/qt/qquickwebview.cpp:
11676         (QQuickWebViewFlickablePrivate::_q_suspend):
11677         (QQuickWebViewFlickablePrivate::_q_resume):
11678         * UIProcess/WebPageProxy.cpp:
11679         (WebKit::WebPageProxy::WebPageProxy):
11680         (WebKit::WebPageProxy::resumeActiveDOMObjectsAndAnimations):
11681         (WebKit::WebPageProxy::suspendActiveDOMObjectsAndAnimations):
11682         (WebKit::WebPageProxy::processDidCrash):
11683         * UIProcess/WebPageProxy.h:
11684         * WebProcess/WebPage/WebPage.cpp:
11685         (WebKit::WebPage::suspendActiveDOMObjectsAndAnimations):
11686         (WebKit::WebPage::resumeActiveDOMObjectsAndAnimations):
11687         * WebProcess/WebPage/WebPage.h:
11688         * WebProcess/WebPage/WebPage.messages.in:
11689
11690 2012-03-02  Joone Hur  <joone.hur@collabora.co.uk>
11691
11692         Unreviewed. Fix WebKit2 GTK+ build.
11693
11694         * GNUmakefile.am: allow WebKitWebProcess to link with zlib properly.
11695
11696 2012-03-01  Andras Becsi  <andras.becsi@nokia.com>
11697
11698         [Qt][WK2] Make the interaction with the Flickable work on the N9
11699         https://bugs.webkit.org/show_bug.cgi?id=80029
11700
11701         Reviewed by Simon Hausmann.
11702
11703         Because the WebView item accepts all touch events it receives and sends
11704         them to the web process before propagating them to the gesture recognizers,
11705         which is correct behaviour, we can not rely on the touch->mouse conversion
11706         of Qt5 when controlling Flickable. Hence we need to convert the received
11707         touch events to mouse events in the QtFlickProvider.
11708
11709         * UIProcess/qt/QtFlickProvider.cpp:
11710         (QtFlickProvider::handleTouchFlickEvent):
11711         Do the touch to mouse event conversion for the Flickable.
11712         * UIProcess/qt/QtPanGestureRecognizer.cpp:
11713         (WebKit::QtPanGestureRecognizer::recognize):
11714         A touch begin event should cancel the previous pan gesture
11715         and stop the ongoing flick animation.
11716
11717 2012-03-01  Anders Carlsson  <andersca@apple.com>
11718
11719         Assertion failure in pageContainsAnyHorizontalScrollbars() (scrollableArea->isOnActivePage()) when leaving pages with embedded PDFs
11720         https://bugs.webkit.org/show_bug.cgi?id=80044
11721         <rdar://problem/10919940>
11722
11723         Reviewed by Brady Eidson.
11724
11725         Remove the code that would add and remove wheel event handlers since that's not what we want to track.
11726         Instead, dynamically add and remove the view as its scrollbars come and go.
11727
11728         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
11729         (WebKit::BuiltInPDFView::updateScrollbars):
11730         (WebKit::BuiltInPDFView::initialize):
11731         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
11732         (BuiltInPDFView):
11733
11734 2012-03-01  Kangil Han  <kangil.han@samsung.com>
11735
11736         [DRT] Remove all PlainTextController usages in existing tests by adding internal API
11737         https://bugs.webkit.org/show_bug.cgi?id=78570
11738
11739         Reviewed by Hajime Morita.
11740
11741         This patch will remove all PlainTextController usages
11742         in existing DRT tests by adding internal API to WebCore/testing/Internals
11743
11744         * win/WebKit2.def:
11745         * win/WebKit2CFLite.def:
11746
11747 2012-03-01  Nikolas Zimmermann  <nzimmermann@rim.com>
11748
11749         Unreviewed, rolling out r109255.
11750         http://trac.webkit.org/changeset/109255
11751         https://bugs.webkit.org/show_bug.cgi?id=79932
11752
11753         Breaks rounded rects with dashed strokes in SVG
11754
11755         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
11756         (InitWebCoreSystemInterface):
11757
11758 2012-03-01  Sergio Villar Senin  <svillar@igalia.com>
11759
11760         [WK2] [GTK] [libsoup] SoupSession should use system CA
11761         https://bugs.webkit.org/show_bug.cgi?id=79657
11762
11763         Reviewed by Martin Robinson.
11764
11765         SoupSession sould use system CA list to validate SSL
11766         certificates. Do not use strict certificate validation though as
11767         we want clients to decide whether or not accept/decline invalid
11768         certificates (API to be added later).
11769
11770         No new tests required as current behaviour does not change at all
11771         as we continue to accept invalid certificates by default.
11772
11773         * WebProcess/gtk/WebProcessMainGtk.cpp:
11774         (WebKit::WebProcessMainGtk):
11775
11776 2012-03-01  Carlos Garcia Campos  <cgarcia@igalia.com>
11777
11778         Unreviewed. Fix WebKit2 GTK+ build.
11779
11780         * UIProcess/API/gtk/WebKitDefines.h:
11781         * UIProcess/API/gtk/WebKitWebView.h:
11782
11783 2012-02-29  Simon Hausmann  <simon.hausmann@nokia.com>
11784
11785         [Qt][WK2] QQuickWebView::event should lookup faster which events QQuickWebPage can handle
11786         https://bugs.webkit.org/show_bug.cgi?id=78047
11787
11788         Reviewed by Kenneth Rohde Christiansen.
11789
11790         Replaced double-dispatch of events with direct forwarding of events from QQuickWebView::*Event to
11791         QtWebPageEventHandler::handle*Event.
11792
11793         * UIProcess/API/qt/qquickwebview.cpp:
11794         (QQuickWebView::keyPressEvent):
11795         (QQuickWebView::keyReleaseEvent):
11796         (QQuickWebView::inputMethodEvent):
11797         (QQuickWebView::focusInEvent):
11798         (QQuickWebView::focusOutEvent):
11799         (QQuickWebView::touchEvent):
11800         (QQuickWebView::mousePressEvent):
11801         (QQuickWebView::mouseMoveEvent):
11802         (QQuickWebView::mouseReleaseEvent):
11803         (QQuickWebView::mouseDoubleClickEvent):
11804         (QQuickWebView::wheelEvent):
11805         (QQuickWebView::hoverEnterEvent):
11806         (QQuickWebView::hoverMoveEvent):
11807         (QQuickWebView::hoverLeaveEvent):
11808         (QQuickWebView::dragMoveEvent):
11809         (QQuickWebView::dragEnterEvent):
11810         (QQuickWebView::dragLeaveEvent):
11811         (QQuickWebView::dropEvent):
11812         (QQuickWebView::event):
11813         * UIProcess/qt/QtWebPageEventHandler.cpp:
11814         (QtWebPageEventHandler::handleMouseMoveEvent):
11815         (QtWebPageEventHandler::handleMousePressEvent):
11816         (QtWebPageEventHandler::handleMouseReleaseEvent):
11817         (QtWebPageEventHandler::handleWheelEvent):
11818         (QtWebPageEventHandler::handleHoverLeaveEvent):
11819         (QtWebPageEventHandler::handleHoverMoveEvent):
11820         (QtWebPageEventHandler::handleDragEnterEvent):
11821         (QtWebPageEventHandler::handleDragLeaveEvent):
11822         (QtWebPageEventHandler::handleDragMoveEvent):
11823         (QtWebPageEventHandler::handleDropEvent):
11824         (QtWebPageEventHandler::handleKeyPressEvent):
11825         (QtWebPageEventHandler::handleKeyReleaseEvent):
11826         (QtWebPageEventHandler::handleFocusInEvent):
11827         (QtWebPageEventHandler::handleFocusOutEvent):
11828         (QtWebPageEventHandler::handleInputMethodEvent):
11829         (QtWebPageEventHandler::handleTouchEvent):
11830         * UIProcess/qt/QtWebPageEventHandler.h:
11831         (QtWebPageEventHandler):
11832
11833 2012-03-01  Csaba Osztrogonác  <ossy@webkit.org>
11834
11835         [Qt][WK2] Unreviewed buildfix after r109277.
11836
11837         * WebProcess/qt/QtBuiltinBundlePage.cpp:
11838         (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
11839
11840 2012-02-29  No'am Rosenthal  <noam.rosenthal@nokia.com>
11841
11842         [Qt][WK2] Get rid of the #ifdef mess in LayerTreeHost[Proxy]
11843         https://bugs.webkit.org/show_bug.cgi?id=79501
11844
11845         Use a new UI_SIDE_COMPOSITING flag instead of the several #ifdef flags we currently use.
11846
11847         Reviewed by Kenneth Rohde Christiansen.
11848
11849         * Shared/WebLayerTreeInfo.cpp:
11850         * Shared/WebLayerTreeInfo.h:
11851         * UIProcess/DrawingAreaProxy.cpp:
11852         (WebKit):
11853         * UIProcess/DrawingAreaProxy.h:
11854         (DrawingAreaProxy):
11855         * UIProcess/DrawingAreaProxyImpl.cpp:
11856         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
11857         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
11858         (WebKit):
11859         * UIProcess/DrawingAreaProxyImpl.h:
11860         (DrawingAreaProxyImpl):
11861         * UIProcess/LayerTreeHostProxy.h:
11862         (LayerTreeHostProxy):
11863         * UIProcess/WebPageProxy.cpp:
11864         (WebKit::WebPageProxy::didReceiveMessage):
11865         * UIProcess/qt/LayerBackingStore.cpp:
11866         * UIProcess/qt/LayerBackingStore.h:
11867         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
11868         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
11869         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
11870         * WebProcess/WebPage/DrawingArea.h:
11871         (DrawingArea):
11872         * WebProcess/WebPage/DrawingAreaImpl.cpp:
11873         (WebKit):
11874         * WebProcess/WebPage/DrawingAreaImpl.h:
11875         (DrawingAreaImpl):
11876         * WebProcess/WebPage/LayerTreeHost.cpp:
11877         (WebKit::LayerTreeHost::create):
11878         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
11879         (WebKit::LayerTreeHostQt::purgeBackingStores):
11880         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
11881         (LayerTreeHostQt):
11882
11883 2012-02-28  Brian Weinstein  <bweinstein@apple.com>
11884
11885         WebKit2: didNewFirstVisuallyNonEmptyLayout should be sent to injected bundle
11886         https://bugs.webkit.org/show_bug.cgi?id=79849
11887         
11888         Tell the injected bundle about didNewFirstVisuallyNonEmptyLayout (we currently
11889         just tell the UI process).
11890
11891         Reviewed by Beth Dakin.
11892
11893         * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add didNewFirstVisuallyNonEmptyLayout to version 1.
11894         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
11895         (WebKit::InjectedBundlePageLoaderClient::didNewFirstVisuallyNonEmptyLayout): Call through to the
11896             client.
11897         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
11898         (InjectedBundlePageLoaderClient):
11899         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
11900         (WebKit::WebFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout): Tell the injected
11901             bundle.
11902
11903 2012-02-29  Tim Horton  <timothy_horton@apple.com>
11904
11905         Make use of CG rounded-rect primitives
11906         https://bugs.webkit.org/show_bug.cgi?id=79932
11907         <rdar://problem/9274953>
11908
11909         Reviewed by Simon Fraser.
11910
11911         Add wkCGPathAddRoundedRect.
11912
11913         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
11914         (InitWebCoreSystemInterface):
11915
11916 2012-02-29  Andy Estes  <aestes@apple.com>
11917
11918         CFURLDownloadScheduleWithCurrentMessageQueue only exists on Windows
11919         https://bugs.webkit.org/show_bug.cgi?id=79936
11920
11921         Reviewed by Brady Eidson.
11922
11923         CFURLDownloadScheduleWithCurrentMessageQueue only exists on Windows
11924         platforms. Non-Windows platforms that use CFNetwork-based downloads
11925         should omit this call.
11926
11927         * WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
11928         (WebKit::Download::start):
11929
11930 2012-02-29  Rafael Brandao  <rafael.lobo@openbossa.org>
11931
11932         [Qt][WK2] We should not add NetscapeBrowserFuncs.cpp as header
11933         https://bugs.webkit.org/show_bug.cgi?id=79847
11934
11935         Reviewed by Alexey Proskuryakov.
11936
11937         * Target.pri: Fix typo, so we can add ".h" file instead.
11938
11939 2012-02-29  Sam Weinig  <sam@webkit.org>
11940
11941         When invoking Lookup while zoomed in, the highlighted word renders out of line
11942         <rdar://problem/10812527>
11943
11944         Reviewed by Simon Fraser.
11945
11946         * WebProcess/WebPage/mac/WebPageMac.mm:
11947         (WebKit::WebPage::performDictionaryLookupForRange):
11948         Make sure to scale the ascent when determining the origin for the overlay.
11949
11950 2012-02-29  Carlos Garcia Campos  <cgarcia@igalia.com>
11951
11952         [GTK] Use text or page zoom factor in WebKitWebView depending on zoom-text-only
11953         https://bugs.webkit.org/show_bug.cgi?id=75252
11954
11955         Reviewed by Gustavo Noronha Silva.
11956
11957         * UIProcess/API/gtk/WebKitWebView.cpp:
11958         (zoomTextOnlyChanged): Update text/page zoom factor when
11959         zoom-text-only setting changes.
11960         (webkitWebViewSetSettings): Helper function to set the settings
11961         object for the web view, initializing the settings for the page
11962         and connecting to notify::zoom-text-only signal.
11963         (webkitWebViewConstructed): Use webkitWebViewSetSettings().
11964         (webkit_web_view_set_settings): Use webkitWebViewSetSettings() and
11965         disconnect from the notify::zoom-text-only signal of the previous
11966         settings object.
11967         (webkit_web_view_set_zoom_level): Set text/page zoom factor
11968         depending on WebKitSettings:zoom-text-only property.
11969         (webkit_web_view_get_zoom_level): Get text/page zoom factor
11970         depending on WebKitSettings:zoom-text-only property.
11971         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
11972         (testWebViewZoomLevel):
11973
11974 2012-02-29  Carlos Garcia Campos  <cgarcia@igalia.com>
11975
11976         [GTK] Add zoom-text-only setting to WebKit2 GTK+ API
11977         https://bugs.webkit.org/show_bug.cgi?id=75249
11978
11979         Reviewed by Gustavo Noronha Silva.
11980
11981         To set whether zoom level of web view should affect only the text
11982         or all page contents. It's disabled by default.
11983
11984         * UIProcess/API/gtk/WebKitSettings.cpp:
11985         (webKitSettingsSetProperty):
11986         (webKitSettingsGetProperty):
11987         (webkit_settings_class_init): Add WebKitSettings:zoom-text-only
11988         property.
11989         (webkit_settings_set_zoom_text_only): Set
11990         WebKitSettings:zoom-text-only.
11991         (webkit_settings_get_zoom_text_only): Get
11992         WebKitSettings:zoom-text-only.
11993         * UIProcess/API/gtk/WebKitSettings.h:
11994         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new
11995         symbols.
11996         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
11997         (testWebKitSettings):
11998
11999 2012-02-29  Sergio Villar Senin  <svillar@igalia.com>
12000
12001         DidFindString should be emitted even if FindOptionsShowOverlay is not enabled
12002         https://bugs.webkit.org/show_bug.cgi?id=76522
12003
12004         Reviewed by Darin Adler.
12005
12006         DidFindString message should be issued always even if neither
12007         FindOptionsShowOverlay or FindOptionsShowHighlight are
12008         provided. The difference is that if any of those flags are present
12009         the find operation will look for all the appearances of the text
12010         in the web view, otherwise it will just look and report the next
12011         occurrence.
12012
12013         This patch removes the temporary workaround added in r109222 to
12014         the WebKitFindController unit tests.
12015
12016         * UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
12017         * WebProcess/WebPage/FindController.cpp:
12018         (WebKit::FindController::findString):
12019
12020 2012-01-19  Sergio Villar Senin  <svillar@igalia.com>
12021
12022         [GTK] [WK2] Add Find API
12023         https://bugs.webkit.org/show_bug.cgi?id=76070
12024
12025         Reviewed by Martin Robinson.
12026
12027         This patch adds a new public find API for the Gtk+ WK2 port. It
12028         defines a new object called WebKitFindController owned by each
12029         WebKitWebView. Clients will use this new object to search strings
12030         in the WebKitWebView.
12031
12032         Changes include also documentation and unit tests for the new
12033         public API.
12034
12035         * GNUmakefile.am:
12036         * UIProcess/API/gtk/WebKitDefines.h:
12037         * UIProcess/API/gtk/WebKitFindController.cpp: Added.
12038         (didFindString): implementation of the WKPage Find interface.
12039         (didFailToFindString): Ditto.
12040         (didCountStringMatches): Ditto.
12041         (webkit_find_controller_init):
12042         (getWKPageFromWebKitWebView):
12043         (webkitFindControllerConstructed):
12044         (webkitFindControllerGetProperty):
12045         (webkitFindControllerSetProperty):
12046         (webkitFindControllerFinalize):
12047         (webkit_find_controller_class_init):
12048         (webkit_find_controller_get_search_text):
12049         (webkit_find_controller_get_options):
12050         (webkit_find_controller_get_max_match_count):
12051         (webkit_find_controller_get_web_view):
12052         (webKitFindControllerPerform):
12053         (webKitFindControllerSetSearchData):
12054         (webkit_find_controller_search): asynchronously looks for the
12055         search string in the WebKitWebView.
12056         (webkit_find_controller_search_finish): unhighlights text matches.
12057         (webkit_find_controller_search_next):
12058         (webkit_find_controller_search_previous):
12059         (webkit_find_controller_count_matches): asynchronously counts the
12060         number of matches of the search string in the WebKitWebView.
12061         * UIProcess/API/gtk/WebKitFindController.h: Added.
12062         * UIProcess/API/gtk/WebKitPrivate.h:
12063         * UIProcess/API/gtk/WebKitWebView.cpp:
12064         (webkit_web_view_get_find_controller): returns the
12065         WebKitFindController instance owned by the WebKitWebView.
12066         * UIProcess/API/gtk/WebKitWebView.h:
12067         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
12068         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
12069         * UIProcess/API/gtk/docs/webkit2gtk.types:
12070         * UIProcess/API/gtk/tests/GNUmakefile.am:
12071         * UIProcess/API/gtk/tests/TestWebKitFindController.cpp: Added.
12072         (testFindControllerTextFound):
12073         (testFindControllerTextNotFound):
12074         (testFindControllerMatchCount):
12075         (testFindControllerMaxMatchCount):
12076         (testFindControllerNext):
12077         (testFindControllerPrevious):
12078         (testFindControllerCountedMatches):
12079         (testFindControllerOptions):
12080         (testFindControllerInstance):
12081         (testFindControllerGetters):
12082         (testFindControllerHide):
12083         (beforeAll):
12084         (afterAll):
12085         * UIProcess/API/gtk/webkit2.h:
12086
12087 2012-02-28  Simon Fraser  <simon.fraser@apple.com>
12088
12089         Update WebKitSystemInterface.
12090
12091         Reviewed by Sam Weinig.
12092
12093         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
12094         (InitWebCoreSystemInterface):
12095
12096 2012-02-28  Hugo Parente Lima  <hugo.lima@openbossa.org>
12097
12098         All mouse events after a right click are ignored when they came from WebkitTestRunner
12099         https://bugs.webkit.org/show_bug.cgi?id=77350
12100
12101         Reviewed by Chang Shu.
12102
12103         Never ignore mouse events when using sync events, even if the context menu is being
12104         show but the Ui did replied the ShowContextMenu event with a ContextMenuHidden.
12105
12106         * WebProcess/WebPage/WebPage.cpp:
12107         (WebKit::WebPage::mouseEventSyncForTesting):
12108
12109 2012-02-28  Alexey Proskuryakov  <ap@apple.com>
12110
12111         More build fix.
12112
12113         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Check for build platform
12114         properly.
12115
12116 2012-02-28  Alexey Proskuryakov  <ap@apple.com>
12117
12118         Build fix.
12119
12120         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue):
12121         Check for build platform properly.
12122
12123 2012-02-28  Enrica Casucci  <enrica@apple.com>
12124
12125         More Pasteboard code cleanup.
12126         https://bugs.webkit.org/show_bug.cgi?id=79816
12127
12128         Removing the last references to NSPasteboard.
12129         
12130         Reviewed by Alexey Proskuryakov.
12131
12132         * WebProcess/WebCoreSupport/WebEditorClient.h:
12133         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
12134         (WebKit::WebEditorClient::setInsertionPasteboard):
12135
12136 2012-02-28  Alexey Proskuryakov  <ap@apple.com>
12137
12138         [Mac] Add an experimental SPI for plug-ins to enter sandbox
12139         https://bugs.webkit.org/show_bug.cgi?id=79709
12140
12141         Reviewed by Anders Carlsson.
12142
12143         * PluginProcess/PluginProcess.h: (WebKit::PluginProcess::pluginPath): Exposed plugin path.
12144
12145         * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb: Added.
12146
12147         * WebKit2.xcodeproj/project.pbxproj: Added new files.
12148
12149         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue): Exposed
12150         a function to access sandboxing functions when available.
12151
12152         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h: Added.
12153         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Added.
12154
12155 2012-02-28  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
12156
12157         [Qt] Allow read/write to the WebView.url property
12158         https://bugs.webkit.org/show_bug.cgi?id=77554
12159
12160         Reviewed by Tor Arne Vestbø.
12161
12162         Change QML API WebView.url to read/write to reflect either the url requested by the user.
12163         Also removed WebView.load(url). Defers setting url (loading page) until onComponentComplete is triggered. 
12164         Fixed c++ and qml tests to reflect the new API.
12165
12166         * Target.pri:
12167         * UIProcess/API/qt/qquickwebview.cpp:
12168         (QQuickWebViewPrivate::QQuickWebViewPrivate):
12169         (QQuickWebViewPrivate::onComponentComplete):
12170         (QQuickWebView::setUrl):
12171         * UIProcess/API/qt/qquickwebview_p_p.h:
12172         (QQuickWebViewPrivate):
12173         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
12174         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml:
12175         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
12176         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
12177         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
12178         * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
12179         * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml:
12180         * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
12181         * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml:
12182         * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
12183         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
12184         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml:
12185         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml:
12186         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
12187         * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml:
12188         * UIProcess/API/qt/tests/qmltests/WebView/tst_origin.qml:
12189         * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
12190         * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml:
12191         * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml:
12192         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
12193         (tst_QQuickWebView::loadEmptyPageViewHidden):
12194         (tst_QQuickWebView::loadNonexistentFileUrl):
12195
12196 2012-02-28  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
12197
12198         [Qt] Signal and property cleanup in QQuickWebView
12199         https://bugs.webkit.org/show_bug.cgi?id=78820
12200
12201         Reviewed by Noam Rosenthal.
12202
12203         - Remove parameters from property change notify signals:
12204           titleChanged, urlChanged, iconChanged, loadProgressChanged
12205         - Rename the parameters of linkHovered to prevent shadoing properties of WebView
12206         - Rename navigationStateChanged to navigationHistoryChanged
12207
12208         * UIProcess/API/qt/qquickwebview.cpp:
12209         (QQuickWebViewPrivate::QQuickWebViewPrivate):
12210         (QQuickWebViewPrivate::initialize):
12211         (QQuickWebViewPrivate::_q_onUrlChanged):
12212         (QQuickWebViewPrivate::setIcon):
12213         * UIProcess/API/qt/qquickwebview_p.h:
12214         * UIProcess/API/qt/qquickwebview_p_p.h:
12215         (QQuickWebViewPrivate):
12216         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
12217         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
12218         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
12219         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
12220         (tst_QQuickWebView::loadProgress):
12221         * UIProcess/qt/QtWebPageLoadClient.cpp:
12222         (QtWebPageLoadClient::didCommitLoadForFrame):
12223         (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
12224         (QtWebPageLoadClient::didReceiveTitleForFrame):
12225         (QtWebPageLoadClient::setLoadProgress):
12226         * UIProcess/qt/QtWebPageLoadClient.h:
12227         (QtWebPageLoadClient):
12228
12229 2012-02-28  Mario Sanchez Prada  <msanchez@igalia.com>
12230
12231         [GTK] Add GMainLoop and GMainContext to be handled by GRefPtr
12232         https://bugs.webkit.org/show_bug.cgi?id=79496
12233
12234         Reviewed by Martin Robinson.
12235
12236         Updated places where raw pointers to GMainLoop and GMainContext
12237         were being used, replacing them with GRefPtr-based code.
12238
12239         * Platform/WorkQueue.h:
12240         (WorkQueue):
12241         * Platform/gtk/WorkQueueGtk.cpp:
12242         (WorkQueue::platformInitialize):
12243         (WorkQueue::platformInvalidate):
12244         (WorkQueue::workQueueThreadBody):
12245         (WorkQueue::registerEventSourceHandler):
12246         (WorkQueue::dispatchOnSource):
12247         * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
12248         (WebKit::WebPopupMenuProxyGtk::WebPopupMenuProxyGtk):
12249         (WebKit::WebPopupMenuProxyGtk::showPopupMenu):
12250         (WebKit::WebPopupMenuProxyGtk::shutdownRunLoop):
12251         * UIProcess/gtk/WebPopupMenuProxyGtk.h:
12252         (WebPopupMenuProxyGtk):
12253
12254 2012-02-28  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
12255
12256         [Qt] Initialize QtWebContext as much as we can in its constructor.
12257         https://bugs.webkit.org/show_bug.cgi?id=79809
12258
12259         Reviewed by Tor Arne Vestbø.
12260
12261         The icon database wouldn't be initialized on the QtWebContext while in WebKitTestRunner
12262         since it doesn't call the initialize method on it after creating it.
12263         Remove the initialize method, move the download manager and icon database initialization
12264         in the constructor and call initializeContextInjectedBundleClient directly in
12265         defaultContext to prevent overriding WKTR's injected bundle client.
12266
12267         * UIProcess/qt/QtWebContext.cpp:
12268         (WebKit::QtWebContext::QtWebContext):
12269         (WebKit::QtWebContext::defaultContext):
12270         * UIProcess/qt/QtWebContext.h:
12271         (QtWebContext):
12272
12273 2012-02-28  Carlos Garcia Campos  <cgarcia@igalia.com>
12274
12275         [GTK] Inconsistent state of WebKitWebView when replacing content in WebKit2
12276         https://bugs.webkit.org/show_bug.cgi?id=79775
12277
12278         Reviewed by Martin Robinson.
12279
12280         Use an enum instead of a boolean to track the status of a
12281         replace_content() load operation. We need to know when the load of
12282         the replace content actually starts to not ignore valid load
12283         events of a previous ongoing load operation.
12284
12285         * UIProcess/API/gtk/WebKitWebView.cpp:
12286         (webkitWebViewLoadChanged): Transit to new replace content state
12287         when replacing content depending on the load event.
12288         (webkitWebViewLoadFailed): Ignore load failed events when
12289         replacing content.
12290         (webkitWebViewSetEstimatedLoadProgress): Ignore load progress when
12291         replacing content.
12292         (webkit_web_view_replace_content): Set replace content status to
12293         WillReplaceContent.
12294         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
12295         (replaceContentLoadCallback):
12296         (testWebViewReplaceContent):
12297         * UIProcess/API/gtk/tests/WebViewTest.cpp:
12298         (titleChanged):
12299         (WebViewTest::waitUntilTitleChanged): Convenient method to wait
12300         until title changes. Use with replaceConent() since load events
12301         are not emitted when replacing content.
12302         * UIProcess/API/gtk/tests/WebViewTest.h:
12303
12304 2012-02-27  Anders Carlsson  <andersca@apple.com>
12305
12306         Add basic page overlay support to TiledCoreAnimationDrawingArea
12307         https://bugs.webkit.org/show_bug.cgi?id=79716
12308         <rdar://problem/10923079>
12309
12310         Reviewed by Sam Weinig.
12311
12312         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
12313         Make TiledCoreAnimationDrawingArea a GraphicsLayerClient.
12314
12315         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
12316         (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
12317         Create the page overlay layer.
12318
12319         (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
12320         Destroy the page overlay layer.
12321
12322         (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
12323         Mark the page overlay layer as needing display.
12324
12325         (WebKit::TiledCoreAnimationDrawingArea::notifyAnimationStarted):
12326         (WebKit::TiledCoreAnimationDrawingArea::notifySyncRequired):
12327         Add empty GraphisLayerClient member function implementations.
12328
12329         (WebKit::TiledCoreAnimationDrawingArea::paintContents):
12330         Ask the page overlay to paint itself.
12331
12332         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
12333         Flush the page overlay layer.
12334         
12335         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
12336         Resize the page overlay layer.
12337
12338         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
12339         If we have a page overlay layer, add it as a sublayer of the root layer.
12340
12341         (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
12342         Create the page overlay layer and add it as a sublayer of the root layer.
12343
12344         (WebKit::TiledCoreAnimationDrawingArea::destroyPageOverlayLayer):
12345         Remove the page overlay layer and destroy it.
12346
12347 2012-02-28  Carlos Garcia Campos  <cgarcia@igalia.com>
12348
12349         [GTK] Remove virtual methods of WebKitDownload signals in WebKit2 GTK+ API
12350         https://bugs.webkit.org/show_bug.cgi?id=79804
12351
12352         Reviewed by Martin Robinson.
12353
12354         That comes from the first patch that followed the approach of the
12355         first LoaderClient implementation. With current implementation
12356         download signals, except decide-destination, don't need to be
12357         true_handled, and they won't have a default handler
12358         implementation. Also the download object is not supposed to be
12359         inheritable, since instances are created privately by the
12360         WebContext, so it's not possible to override the virtual methods
12361         in derived classes.
12362
12363         * UIProcess/API/gtk/WebKitDownload.cpp:
12364         (webkit_download_class_init):
12365         (webkitDownloadNotifyProgress):
12366         (webkitDownloadFailed):
12367         (webkitDownloadFinished):
12368         * UIProcess/API/gtk/WebKitDownload.h:
12369         (_WebKitDownloadClass):
12370         * UIProcess/API/gtk/webkit2marshal.list:
12371
12372 2012-02-28  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
12373
12374         [Qt] Fix build for WK2, do not use enum type if values can be outside the enum
12375         https://bugs.webkit.org/show_bug.cgi?id=79800
12376
12377         Reviewed by Csaba Osztrogonác.
12378
12379         We have two different enums called NavigationRequestAction. If we use one of them
12380         to store the variables, compilers can rightfully warn about comparison with
12381         values from other enums.
12382
12383         We might revisit the strategy of exposing different enumerations in experimental,
12384         but for now, fallback to using int for the 'action' property in
12385         QWebNavigationRequest.
12386
12387         * UIProcess/API/qt/qwebnavigationrequest.cpp:
12388         (QWebNavigationRequestPrivate):
12389         (QWebNavigationRequest::setAction):
12390         (QWebNavigationRequest::action):
12391         * UIProcess/API/qt/qwebnavigationrequest_p.h:
12392         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
12393
12394 2012-02-27  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
12395
12396         [Qt] API changes to QWebNavigationRequest
12397         https://bugs.webkit.org/show_bug.cgi?id=78821
12398
12399         Reviewed by Kenneth Rohde Christiansen.
12400
12401         Changes discussed in API review at Szeged: rename 'button' to 'mouseButton',
12402         rename 'modifiers' to 'keyboardModifiers', remove 'originatingUrl' and
12403         use the enum type for 'action'.
12404
12405         * UIProcess/API/qt/qwebnavigationrequest.cpp:
12406         (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
12407         (QWebNavigationRequestPrivate):
12408         (QWebNavigationRequest::QWebNavigationRequest):
12409         (QWebNavigationRequest::setAction):
12410         (QWebNavigationRequest::mouseButton):
12411         (QWebNavigationRequest::keyboardModifiers):
12412         (QWebNavigationRequest::action):
12413         * UIProcess/API/qt/qwebnavigationrequest_p.h:
12414         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
12415         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
12416         * UIProcess/qt/QtWebPagePolicyClient.cpp:
12417         (QtWebPagePolicyClient::decidePolicyForNavigationAction):
12418         * UIProcess/qt/QtWebPagePolicyClient.h:
12419         (QtWebPagePolicyClient):
12420
12421 2012-02-28  Shinya Kawanaka  <shinyak@chromium.org>
12422
12423         Element should be able to have multiple shadow roots.
12424         https://bugs.webkit.org/show_bug.cgi?id=77931
12425
12426         Reviewed by Hajime Morita.
12427
12428         * win/WebKit2.def:
12429         * win/WebKit2CFLite.def:
12430
12431 2012-02-28  Hugo Parente Lima  <hugo.lima@openbossa.org>
12432
12433         [Qt][WK2] Use movementStarted/Ended signals instead of movingChanged on QtViewportInterationEngine
12434         https://bugs.webkit.org/show_bug.cgi?id=79521
12435
12436         Reviewed by Kenneth Rohde Christiansen.
12437
12438         movingChanged() signal is emitted many times, so the use of movementStarted() and
12439         movementEnded() is a better choice.
12440
12441         * UIProcess/qt/QtFlickProvider.cpp:
12442         (QtFlickProvider::QtFlickProvider):
12443         * UIProcess/qt/QtFlickProvider.h:
12444         (QtFlickProvider):
12445         * UIProcess/qt/QtViewportInteractionEngine.cpp:
12446         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
12447         * UIProcess/qt/QtViewportInteractionEngine.h:
12448         (QtViewportInteractionEngine):
12449
12450 2012-02-27  Shinya Kawanaka  <shinyak@chromium.org>
12451
12452         Element::removeShadowRoot() and setShadowRoot() should be moved into ShadowTree.
12453         https://bugs.webkit.org/show_bug.cgi?id=78313
12454
12455         Reviewed by Hajime Morita.
12456
12457         * win/WebKit2.def:
12458         * win/WebKit2CFLite.def:
12459
12460 2012-02-27  Brady Eidson  <beidson@apple.com>
12461
12462         <rdar://problem/10924993> and https://bugs.webkit.org/show_bug.cgi?id=79725
12463         <a ping> doesn't work in WebKit2
12464
12465         Reviewed by Alexey Proskuryakov.
12466
12467         * WebProcess/WebPage/WebPage.cpp:
12468         (WebKit::WebPage::updatePreferences): Push the WK2 <a ping> setting to WebCore::Settings.
12469
12470 2012-02-27  Enrica Casucci  <enrica@apple.com>
12471
12472         WebKit2: implement platform strategy to access Pasteboard in the UI process.
12473         https://bugs.webkit.org/show_bug.cgi?id=79253
12474         <rdar://problem/9971876>
12475
12476         Reviewed by Alexey Proskuryakov.
12477
12478         * UIProcess/WebContext.h:
12479         * UIProcess/WebContext.messages.in: Added messages to access NSPasteboard
12480         in the UI process.
12481         * UIProcess/mac/WebContextMac.mm: Added methods corresponding to the
12482         new messages.
12483         (WebKit::WebContext::getPasteboardTypes):
12484         (WebKit::WebContext::getPasteboardPathnamesForType):
12485         (WebKit::WebContext::getPasteboardStringForType):
12486         (WebKit::WebContext::getPasteboardBufferForType):
12487         (WebKit::WebContext::pasteboardCopy):
12488         (WebKit::WebContext::getPasteboardChangeCount):
12489         (WebKit::WebContext::getPasteboardUniqueName):
12490         (WebKit::WebContext::getPasteboardColor):
12491         (WebKit::WebContext::setPasteboardTypes):
12492         (WebKit::WebContext::setPasteboardPathnamesForType):
12493         (WebKit::WebContext::setPasteboardStringForType):
12494         (WebKit::WebContext::setPasteboardBufferForType):
12495         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: New implementation of the PasteboardStrategy using message exchange
12496         with the UI process.
12497         (WebKit::WebPlatformStrategies::getTypes):
12498         (WebKit::WebPlatformStrategies::bufferForType):
12499         (WebKit::WebPlatformStrategies::getPathnamesForType):
12500         (WebKit::WebPlatformStrategies::stringForType):
12501         (WebKit::WebPlatformStrategies::copy):
12502         (WebKit::WebPlatformStrategies::changeCount):
12503         (WebKit::WebPlatformStrategies::uniqueName):
12504         (WebKit::WebPlatformStrategies::color):
12505         (WebKit::WebPlatformStrategies::setTypes):
12506         (WebKit::WebPlatformStrategies::setBufferForType):
12507         (WebKit::WebPlatformStrategies::setPathnamesForType):
12508         (WebKit::WebPlatformStrategies::setStringForType):
12509
12510 2012-02-27  Dan Bernstein  <mitz@apple.com>
12511
12512         <rdar://problem/9557598> REGRESSION (WebKit2): Non-activating links sometimes don’t work
12513         https://bugs.webkit.org/show_bug.cgi?id=79607
12514
12515         Reviewed by Adele Peterson.
12516
12517         Test: TestWebKitAPI/Tests/mac/AcceptsFirstMouse.mm
12518
12519         This was caused by not mapping the mouse event coordinates from window coordinates to
12520         document coordinates.
12521
12522         * WebProcess/WebPage/mac/WebPageMac.mm:
12523         (WebKit::WebPage::performDictionaryLookupAtLocation): Convert the point to main frame
12524         coordinates when performing the hit test.
12525         (WebKit::WebPage::shouldDelayWindowOrderingEvent): Convert the point to the main or focused
12526         frame coordinates when perfomring the hit test.
12527         (WebKit::WebPage::acceptsFirstMouse): Ditto.
12528
12529 2012-02-27  Timothy Hatcher  <timothy@apple.com>
12530
12531         Add WKInspector API to know when the Web Inspector is the frontmost window.
12532
12533         Also makes the Safari Develop menu items work when the Web Inspector is frontmost.
12534
12535         https://webkit.org/b/79649
12536
12537         Reviewed by John Sullivan.
12538
12539         * UIProcess/API/C/WKInspector.cpp:
12540         (WKInspectorIsFront): Added. Call WebInspectorProxy::isFront.
12541         * UIProcess/API/C/WKInspector.h:
12542         * UIProcess/WebInspectorProxy.cpp:
12543         (WebKit::WebInspectorProxy::isFront): Added. Call platformIsFront.
12544         * UIProcess/WebInspectorProxy.h:
12545         * UIProcess/efl/WebInspectorEfl.cpp:
12546         (WebKit::WebInspectorProxy::platformIsFront): Added stub.
12547         * UIProcess/gtk/WebInspectorGtk.cpp:
12548         (WebKit::WebInspectorProxy::platformIsFront): Added stub.
12549         * UIProcess/mac/WebInspectorProxyMac.mm:
12550         (-[WKWebInspectorProxyObjCAdapter showWebInspector:]): Added. Makes the Develop menu items in Safari work when
12551         the Web Inspector window is front.
12552         (-[WKWebInspectorProxyObjCAdapter showErrorConsole:]): Added. Ditto.
12553         (-[WKWebInspectorProxyObjCAdapter showResources:]): Added. Ditto.
12554         (-[WKWebInspectorProxyObjCAdapter viewSource:]): Added. Ditto.
12555         (-[WKWebInspectorProxyObjCAdapter toggleDebuggingJavaScript:]): Added. Ditto.
12556         (-[WKWebInspectorProxyObjCAdapter toggleProfilingJavaScript:]): Added. Ditto.
12557         (-[WKWebInspectorProxyObjCAdapter validateUserInterfaceItem:]): Added. Update the menu item titles.
12558         (WebKit::WebInspectorProxy::platformIsFront): Added. Return if visible and the window is main.
12559         * UIProcess/qt/WebInspectorProxyQt.cpp:
12560         (WebKit::WebInspectorProxy::platformIsFront): Added stub.
12561         * UIProcess/win/WebInspectorProxyWin.cpp:
12562         (WebKit::WebInspectorProxy::platformIsFront): Added stub.
12563
12564 2012-02-26  YoungTaeck Song  <youngtaeck.song@samsung.com>
12565
12566         [EFL][WK2] Add InjectedBundleEfl.cpp
12567         https://bugs.webkit.org/show_bug.cgi?id=75463
12568
12569         Reviewed by Andreas Kling.
12570
12571         Add first version of InjectedBundleEfl.cpp including load() and placeholder for activateMacFontAscentHack().
12572
12573         * WebProcess/InjectedBundle/InjectedBundle.h:
12574         * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp:
12575         (WebKit::InjectedBundle::load):
12576         (WebKit::InjectedBundle::activateMacFontAscentHack):
12577
12578 2012-02-26  Shinya Kawanaka  <shinyak@chromium.org>
12579
12580         Rename ShadowRootList to ShadowTree.
12581         https://bugs.webkit.org/show_bug.cgi?id=79342
12582
12583         Reviewed by Hajime Morita.
12584
12585         * win/WebKit2.def:
12586         * win/WebKit2CFLite.def:
12587
12588 2012-02-26  Hajime Morrita  <morrita@chromium.org>
12589
12590         Move ChromeClient::showContextMenu() to ContextMenuClient
12591         https://bugs.webkit.org/show_bug.cgi?id=79427
12592
12593         Reviewed by Adam Barth.
12594
12595         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
12596         * WebProcess/WebCoreSupport/WebChromeClient.h:
12597         (WebChromeClient):
12598         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
12599         (WebKit):
12600         (WebKit::WebContextMenuClient::showContextMenu): Moved from WebChromeClient
12601         * WebProcess/WebCoreSupport/WebContextMenuClient.h:
12602         (WebContextMenuClient):
12603         * WebProcess/WebPage/WebPage.cpp:
12604         (WebKit::handleContextMenuEvent):
12605         (WebKit::handleMouseEvent):
12606         (WebKit::WebPage::mouseEvent):
12607         (WebKit::WebPage::mouseEventSyncForTesting):
12608
12609 2012-02-26  Huang Dongsung  <luxtella@company100.net>
12610
12611         Use Functional instead of a MessageQueue for messages to the LayerTreeHostProxy
12612         renderer.
12613         https://bugs.webkit.org/show_bug.cgi?id=79478
12614
12615         This makes a lot of the broilerplate code for message-passing unnecessary, and
12616         results in a much more succinct implementation.
12617
12618         Reviewed by Noam Rosenthal.
12619
12620         * UIProcess/LayerTreeHostProxy.h:
12621         (WebKit):
12622         (LayerTreeHostProxy):
12623         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
12624         (WebKit):
12625         (WebKit::LayerTreeHostProxy::updateTile):
12626         (WebKit::LayerTreeHostProxy::createImage):
12627         (WebKit::LayerTreeHostProxy::syncRemoteContent):
12628         (WebKit::LayerTreeHostProxy::dispatchUpdate):
12629         (WebKit::LayerTreeHostProxy::createTileForLayer):
12630         (WebKit::LayerTreeHostProxy::updateTileForLayer):
12631         (WebKit::LayerTreeHostProxy::removeTileForLayer):
12632         (WebKit::LayerTreeHostProxy::deleteCompositingLayer):
12633         (WebKit::LayerTreeHostProxy::setRootCompositingLayer):
12634         (WebKit::LayerTreeHostProxy::syncCompositingLayerState):
12635         (WebKit::LayerTreeHostProxy::didRenderFrame):
12636         (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
12637         (WebKit::LayerTreeHostProxy::destroyDirectlyCompositedImage):
12638
12639 2012-02-26  Filip Pizlo  <fpizlo@apple.com>
12640
12641         Build fix for SL.
12642
12643         * Platform/mac/RemoteLayerClient.mm:
12644         (WebKit::RemoteLayerClient::RemoteLayerClient):
12645
12646 2012-02-26  Sam Weinig  <sam@webkit.org>
12647
12648         Encapsulate uses of WKSI to setup a remote layer into a new RemoteLayerClient class
12649         https://bugs.webkit.org/show_bug.cgi?id=79612
12650
12651         Reviewed by Anders Carlsson.
12652
12653         * Platform/mac/RemoteLayerClient.h: 
12654         * Platform/mac/RemoteLayerClient.mm: 
12655         (WebKit::RemoteLayerClient::create):
12656         (WebKit::RemoteLayerClient::RemoteLayerClient):
12657         (WebKit::RemoteLayerClient::~RemoteLayerClient):
12658         (WebKit::RemoteLayerClient::clientID):
12659         (WebKit::RemoteLayerClient::invalidate):
12660         New class that encapsulates calls to WKSI WKCARemoteLayerClient*. For platforms
12661         where the use of WKSI is not necessary, due to CARemoteLayerClient being available,
12662         stop using WKSI.
12663
12664         * PluginProcess/PluginControllerProxy.cpp:
12665         * PluginProcess/PluginControllerProxy.h:
12666         * PluginProcess/mac/PluginControllerProxyMac.mm:
12667         (WebKit::PluginControllerProxy::platformInitialize):
12668         (WebKit::PluginControllerProxy::platformDestroy):
12669         (WebKit::PluginControllerProxy::remoteLayerClientID):
12670         (WebKit::PluginControllerProxy::platformGeometryDidChange):
12671         * WebKit2.xcodeproj/project.pbxproj:
12672         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h:
12673         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
12674         (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer):
12675         (WebKit::WebFullScreenManagerMac::disposeOfLayerClient):
12676         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
12677         (LayerTreeHostCAMac):
12678         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
12679         (WebKit::LayerTreeHostCAMac::platformInitialize):
12680         (WebKit::LayerTreeHostCAMac::invalidate):
12681         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
12682         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
12683         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
12684         Switch to using RemoteLayerClient.
12685
12686         * UIProcess/mac/WebContextMac.mm:
12687         (WebKit::WebContext::platformInitializeWebProcess):
12688         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
12689         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
12690         Use CARemoteLayerServer directly if available.
12691
12692 2012-02-25  Anders Carlsson  <andersca@apple.com>
12693
12694         Address review feedback from Andreas Kling.
12695
12696         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
12697         (WebKit::NetscapePlugin::platformHandleMouseEvent):
12698
12699 2012-02-25  Anders Carlsson  <andersca@apple.com>
12700
12701         Mouse tracking incorrect in Silverlight when using multi monitor with offset arrangement
12702         https://bugs.webkit.org/show_bug.cgi?id=79589
12703         <rdar://problem/9719592>
12704
12705         Reviewed by Sam Weinig.
12706
12707         In the Carbon event model, mouse event coordinates are flipped relative to the first screen,
12708         whereas the coordinates we get from the WebMouseEvent are flipped relative to the screen where
12709         the containing WKView is on.
12710
12711         Instead of passing the global coordinates to NPP_HandleEvent, convert them to the flipped screen coordinate
12712         system that the plug-in expects.
12713
12714         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
12715         (WebKit::NetscapePlugin::platformHandleMouseEvent):
12716
12717 2012-02-25  Sheriff Bot  <webkit.review.bot@gmail.com>
12718
12719         Unreviewed, rolling out r108900.
12720         http://trac.webkit.org/changeset/108900
12721         https://bugs.webkit.org/show_bug.cgi?id=79587
12722
12723         broke some API tests, will investigate and re-commit
12724         (Requested by noamr on #webkit).
12725
12726         * UIProcess/API/qt/qquickwebpage.cpp:
12727         (computeEffectiveOpacity):
12728         (QQuickWebPagePrivate::paintToCurrentGLContext):
12729         (PageProxyNode::changedStates):
12730         (PageProxyNode::render):
12731         * UIProcess/API/qt/qquickwebpage_p_p.h:
12732         (QQuickWebPagePrivate):
12733
12734 2012-02-25  No'am Rosenthal  <noam.rosenthal@nokia.com>
12735
12736         [Qt] Use the existing inheritedOpacity/matrix properties of QSGNode
12737         https://bugs.webkit.org/show_bug.cgi?id=79543
12738
12739         Use QSGNode::inheritedOpacity() and QSGNode::matrix().
12740         Also, remove flags from changedStates() that we don't actually touch.
12741
12742         Reviewed by Kenneth Rohde Christiansen.
12743
12744         * UIProcess/API/qt/qquickwebpage.cpp:
12745         (QQuickWebPagePrivate::paintToCurrentGLContext):
12746         (PageProxyNode::changedStates):
12747         (PageProxyNode::render):
12748         * UIProcess/API/qt/qquickwebpage_p_p.h:
12749         (QQuickWebPagePrivate):
12750
12751 2012-02-25  Sheriff Bot  <webkit.review.bot@gmail.com>
12752
12753         Unreviewed, rolling out r108816.
12754         http://trac.webkit.org/changeset/108816
12755         https://bugs.webkit.org/show_bug.cgi?id=79562
12756
12757         It made many tests crash and timeout on Qt-WK2 (Requested by
12758         ossy__ on #webkit).
12759
12760         * UIProcess/API/qt/qquickwebview.cpp:
12761         (QQuickWebViewPrivate::QQuickWebViewPrivate):
12762         (QQuickWebViewPrivate::initialize):
12763         (QQuickWebViewPrivate::setIcon):
12764         * UIProcess/API/qt/qquickwebview_p.h:
12765         * UIProcess/API/qt/qquickwebview_p_p.h:
12766         (QQuickWebViewPrivate):
12767         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
12768         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
12769         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
12770         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
12771         (tst_QQuickWebView::loadProgress):
12772         * UIProcess/qt/QtWebPageLoadClient.cpp:
12773         (QtWebPageLoadClient::didCommitLoadForFrame):
12774         (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
12775         (QtWebPageLoadClient::didReceiveTitleForFrame):
12776         (QtWebPageLoadClient::setLoadProgress):
12777         * UIProcess/qt/QtWebPageLoadClient.h:
12778         (QtWebPageLoadClient):
12779
12780 2012-02-24  Andy Estes  <aestes@apple.com>
12781
12782         REGRESSION (r108730): Webkit nightlies fails to start due to WKPreferencesGetSuppressIncrementalRendering renaming
12783         https://bugs.webkit.org/show_bug.cgi?id=79515
12784
12785         Reviewed by Alexey Proskuryakov.
12786
12787         Some versions of Safari contain call sites to two functions in WebKit2
12788         that were removed in r108730. Restore these two functions so that these
12789         versions of Safari can be used with WebKit nightly builds.
12790
12791         * UIProcess/API/C/WKPreferences.cpp:
12792         (WKPreferencesSetSuppressIncrementalRendering):
12793         (WKPreferencesGetSuppressIncrementalRendering):
12794         * UIProcess/API/C/WKPreferences.h:
12795
12796 2012-02-24  Jessie Berlin  <jberlin@apple.com>
12797
12798         requestPermission callback not invoked if the WebProcess doesn't have to ask the UI Process
12799         about the permission level.
12800         https://bugs.webkit.org/show_bug.cgi?id=79494
12801
12802         Reviewed by Jon Honeycutt.
12803
12804         Invoke the callback in the case where the permission level is known and no message is sent
12805         to the UI Process.
12806
12807         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
12808         (WebKit::NotificationPermissionRequestManager::startRequest):
12809
12810 2012-02-24  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
12811
12812         [Qt] Signal and property cleanup in QQuickWebView
12813         https://bugs.webkit.org/show_bug.cgi?id=78820
12814
12815         Reviewed by Simon Hausmann.
12816
12817         - Remove parameters from property change notify signals:
12818           titleChanged, urlChanged, iconChanged, loadProgressChanged
12819         - Rename the parameters of linkHovered to prevent shadoing properties of WebView
12820         - Rename navigationStateChanged to navigationHistoryChanged
12821
12822         * UIProcess/API/qt/qquickwebview.cpp:
12823         (QQuickWebViewPrivate::QQuickWebViewPrivate):
12824         (QQuickWebViewPrivate::initialize):
12825         (QQuickWebViewPrivate::_q_onUrlChanged):
12826         (QQuickWebViewPrivate::setIcon):
12827         * UIProcess/API/qt/qquickwebview_p.h:
12828         * UIProcess/API/qt/qquickwebview_p_p.h:
12829         (QQuickWebViewPrivate):
12830         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
12831         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
12832         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
12833         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
12834         (tst_QQuickWebView::loadProgress):
12835         * UIProcess/qt/QtWebPageLoadClient.cpp:
12836         (QtWebPageLoadClient::didCommitLoadForFrame):
12837         (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
12838         (QtWebPageLoadClient::didReceiveTitleForFrame):
12839         (QtWebPageLoadClient::setLoadProgress):
12840         * UIProcess/qt/QtWebPageLoadClient.h:
12841         (QtWebPageLoadClient):
12842
12843 2012-02-24  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
12844
12845         [Qt] API: Unify the loading properties and signals.
12846         https://bugs.webkit.org/show_bug.cgi?id=79486
12847
12848         Reviewed by Simon Hausmann.
12849
12850         - Remove the canReload signal, instead assume that calling reload in those cases
12851           won't have any effect.
12852         - Replace loadStarted, loadSucceeded and loadFailed by a single signal: loadingChanged.
12853           The signal carries an argument with a status and error codes giving the intended context.
12854         - Use loadingChanged as the notification signal for the property "loading" instead of
12855           navigationStateChanged.
12856
12857         Also update all API tests to use the new loading signals and add some utility functions
12858         to track the loading since the new API aims to be more adapted to declarative logic
12859         and the auto tests are using an imperative logic.
12860
12861         * Target.pri:
12862         * UIProcess/API/qt/qquickwebview.cpp:
12863         (QQuickWebViewPrivate::QQuickWebViewPrivate):
12864         (QQuickWebViewPrivate::loadDidSucceed):
12865         (QQuickWebViewPrivate::didChangeLoadingState):
12866         (QQuickWebViewPrivate::processDidCrash):
12867         (QQuickWebViewPrivate::didRelaunchProcess):
12868         * UIProcess/API/qt/qquickwebview_p.h:
12869         * UIProcess/API/qt/qquickwebview_p_p.h:
12870         (QQuickWebViewPrivate):
12871         * UIProcess/API/qt/qwebloadrequest.cpp: Added.
12872         (QWebLoadRequestPrivate):
12873         (QWebLoadRequestPrivate::QWebLoadRequestPrivate):
12874         (QWebLoadRequest::QWebLoadRequest):
12875         (QWebLoadRequest::~QWebLoadRequest):
12876         (QWebLoadRequest::url):
12877         (QWebLoadRequest::status):
12878         (QWebLoadRequest::errorString):
12879         (QWebLoadRequest::errorDomain):
12880         (QWebLoadRequest::errorCode):
12881         * UIProcess/API/qt/qwebloadrequest_p.h: Added.
12882         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
12883         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml:
12884         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
12885         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
12886         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
12887         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
12888         * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
12889         * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
12890         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
12891         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadHtml.qml:
12892         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml:
12893         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml:
12894         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
12895         * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml:
12896         * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
12897         * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml:
12898         * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml:
12899         * UIProcess/API/qt/tests/qmltests/common/TestWebView.qml: Added.
12900         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
12901         (tst_QQuickWebView::navigationStatusAtStartup):
12902         (LoadStartedCatcher::LoadStartedCatcher):
12903         (LoadStartedCatcher::onLoadingChanged):
12904         (tst_QQuickWebView::stopEnabledAfterLoadStarted):
12905         (tst_QQuickWebView::loadEmptyPageViewHidden):
12906         (tst_QQuickWebView::loadNonexistentFileUrl):
12907         (tst_QQuickWebView::backAndForward):
12908         (tst_QQuickWebView::reload):
12909         (tst_QQuickWebView::stop):
12910         (tst_QQuickWebView::loadProgress):
12911         (tst_QQuickWebView::showWebView):
12912         (tst_QQuickWebView::multipleWebViewWindows):
12913         (tst_QQuickWebView::multipleWebViews):
12914         (tst_QQuickWebView::scrollRequest):
12915         * UIProcess/API/qt/tests/util.cpp:
12916         (LoadSpy):
12917         (LoadSpy::LoadSpy):
12918         (LoadSpy::onLoadingChanged):
12919         (waitForLoadSucceeded):
12920         (waitForLoadFailed):
12921         * UIProcess/API/qt/tests/util.h:
12922         * UIProcess/qt/QtWebError.h:
12923         * UIProcess/qt/QtWebPageLoadClient.cpp:
12924         (QtWebPageLoadClient::didStartProvisionalLoadForFrame):
12925         (QtWebPageLoadClient::dispatchLoadFailed):
12926         * UIProcess/qt/QtWebPageLoadClient.h:
12927         (QtWebPageLoadClient):
12928
12929 2012-02-24  Simon Hausmann  <simon.hausmann@nokia.com>
12930
12931         Unreviewed, rolling out r108798.
12932         http://trac.webkit.org/changeset/108798
12933         https://bugs.webkit.org/show_bug.cgi?id=78047
12934
12935         Broke too many Qt WK2 tests.
12936
12937         * UIProcess/API/qt/qquickwebview.cpp:
12938         (QQuickWebView::keyPressEvent):
12939         (QQuickWebView::keyReleaseEvent):
12940         (QQuickWebView::inputMethodEvent):
12941         (QQuickWebView::focusInEvent):
12942         (QQuickWebView::focusOutEvent):
12943         (QQuickWebView::touchEvent):
12944         (QQuickWebView::mousePressEvent):
12945         (QQuickWebView::mouseMoveEvent):
12946         (QQuickWebView::mouseReleaseEvent):
12947         (QQuickWebView::mouseDoubleClickEvent):
12948         (QQuickWebView::wheelEvent):
12949         (QQuickWebView::hoverEnterEvent):
12950         (QQuickWebView::hoverMoveEvent):
12951         (QQuickWebView::hoverLeaveEvent):
12952         (QQuickWebView::dragMoveEvent):
12953         (QQuickWebView::dragEnterEvent):
12954         (QQuickWebView::dragLeaveEvent):
12955         (QQuickWebView::dropEvent):
12956         (QQuickWebView::event):
12957         * UIProcess/qt/QtWebPageEventHandler.cpp:
12958         (QtWebPageEventHandler::handleEvent):
12959         (QtWebPageEventHandler::handleMouseMoveEvent):
12960         (QtWebPageEventHandler::handleMousePressEvent):
12961         (QtWebPageEventHandler::handleMouseReleaseEvent):
12962         (QtWebPageEventHandler::handleWheelEvent):
12963         (QtWebPageEventHandler::handleHoverLeaveEvent):
12964         (QtWebPageEventHandler::handleHoverMoveEvent):
12965         (QtWebPageEventHandler::handleDragEnterEvent):
12966         (QtWebPageEventHandler::handleDragLeaveEvent):
12967         (QtWebPageEventHandler::handleDragMoveEvent):
12968         (QtWebPageEventHandler::handleDropEvent):
12969         (QtWebPageEventHandler::handleKeyPressEvent):
12970         (QtWebPageEventHandler::handleKeyReleaseEvent):
12971         (QtWebPageEventHandler::handleFocusInEvent):
12972         (QtWebPageEventHandler::handleFocusOutEvent):
12973         (QtWebPageEventHandler::inputMethodEvent):
12974         (QtWebPageEventHandler::touchEvent):
12975         * UIProcess/qt/QtWebPageEventHandler.h:
12976         (QtWebPageEventHandler):
12977
12978 2012-02-24  Simon Hausmann  <simon.hausmann@nokia.com>
12979
12980         [Qt][WK2] QQuickWebView::event should lookup faster which events QQuickWebPage can handle
12981         https://bugs.webkit.org/show_bug.cgi?id=78047
12982
12983         Reviewed by Kenneth Rohde Christiansen.
12984
12985         Replaced double-dispatch of events with direct forwarding of events from QQuickWebView::*Event to
12986         QtWebPageEventHandler::handle*Event.
12987
12988         * UIProcess/API/qt/qquickwebview.cpp:
12989         (QQuickWebView::keyPressEvent):
12990         (QQuickWebView::keyReleaseEvent):
12991         (QQuickWebView::inputMethodEvent):
12992         (QQuickWebView::focusInEvent):
12993         (QQuickWebView::focusOutEvent):
12994         (QQuickWebView::touchEvent):
12995         (QQuickWebView::mousePressEvent):
12996         (QQuickWebView::mouseMoveEvent):
12997         (QQuickWebView::mouseReleaseEvent):
12998         (QQuickWebView::mouseDoubleClickEvent):
12999         (QQuickWebView::wheelEvent):
13000         (QQuickWebView::hoverEnterEvent):
13001         (QQuickWebView::hoverMoveEvent):
13002         (QQuickWebView::hoverLeaveEvent):
13003         (QQuickWebView::dragMoveEvent):
13004         (QQuickWebView::dragEnterEvent):
13005         (QQuickWebView::dragLeaveEvent):
13006         (QQuickWebView::dropEvent):
13007         (QQuickWebView::event):
13008         * UIProcess/qt/QtWebPageEventHandler.cpp:
13009         (QtWebPageEventHandler::handleMouseMoveEvent):
13010         (QtWebPageEventHandler::handleMousePressEvent):
13011         (QtWebPageEventHandler::handleMouseReleaseEvent):
13012         (QtWebPageEventHandler::handleWheelEvent):
13013         (QtWebPageEventHandler::handleHoverLeaveEvent):
13014         (QtWebPageEventHandler::handleHoverMoveEvent):
13015         (QtWebPageEventHandler::handleDragEnterEvent):
13016         (QtWebPageEventHandler::handleDragLeaveEvent):
13017         (QtWebPageEventHandler::handleDragMoveEvent):
13018         (QtWebPageEventHandler::handleDropEvent):
13019         (QtWebPageEventHandler::handleKeyPressEvent):
13020         (QtWebPageEventHandler::handleKeyReleaseEvent):
13021         (QtWebPageEventHandler::handleFocusInEvent):
13022         (QtWebPageEventHandler::handleFocusOutEvent):
13023         (QtWebPageEventHandler::handleInputMethodEvent):
13024         (QtWebPageEventHandler::handleTouchEvent):
13025         * UIProcess/qt/QtWebPageEventHandler.h:
13026         (QtWebPageEventHandler):
13027
13028 2012-02-24  Simon Hausmann  <simon.hausmann@nokia.com>
13029
13030         [Qt] Use private QSGRenderNode in QQuickWebView for improved Qt Scene Graph integration
13031         https://bugs.webkit.org/show_bug.cgi?id=79022
13032
13033         Reviewed by Csaba Osztrogonác.
13034
13035         * Target.pri:
13036         * UIProcess/API/qt/qquickwebpage.cpp:
13037         (PageProxyNode::PageProxyNode):
13038         (PageProxyNode::changedStates):
13039         (PageProxyNode::render):
13040         (PageProxyNode):
13041
13042 2012-02-24  Carlos Garcia Campos  <cgarcia@igalia.com>
13043
13044         [GTK] Encode/decode Null ResourceResponse objects in WebKit2
13045         https://bugs.webkit.org/show_bug.cgi?id=79471
13046
13047         Reviewed by Philippe Normand.
13048
13049         * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
13050         (CoreIPC::::encode): Check whether ResourceResponse is Null before
13051         encoding it.
13052         (CoreIPC::::decode): Check whether response is Null and create a
13053         Null ResourceResponse object in such case.
13054
13055 2012-02-24  Shinya Kawanaka  <shinyak@chromium.org>
13056
13057         SpellCheckRequest needs to know the context where the spellcheck happened.
13058         https://bugs.webkit.org/show_bug.cgi?id=79320
13059
13060         Reviewed by Hajime Morita.
13061
13062         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
13063         (WebKit::WebEditorClient::requestCheckingOfString):
13064         * WebProcess/WebCoreSupport/WebEditorClient.h:
13065
13066 2012-02-23  Kenneth Rohde Christiansen  <kenneth@webkit.org>
13067
13068         [Qt] Tiling: Improve the method names dealing with moving and scaling.
13069
13070         Rubberstamped by Simon Hausmann.
13071
13072         * UIProcess/API/qt/qquickwebview.cpp:
13073         (QQuickWebViewLegacyPrivate::updateViewportSize):
13074         (QQuickWebViewFlickablePrivate::onComponentComplete):
13075         (QQuickWebViewFlickablePrivate::updateViewportSize):
13076         (QQuickWebViewFlickablePrivate::_q_commitScaleChange):
13077         (QQuickWebViewPrivate::_q_commitPositionChange):
13078         (QQuickWebViewFlickablePrivate::_q_resume):
13079         * UIProcess/API/qt/qquickwebview_p.h:
13080         * UIProcess/API/qt/qquickwebview_p_p.h:
13081         (QQuickWebViewPrivate):
13082         (QQuickWebViewPrivate::_q_commitScaleChange):
13083         (QQuickWebViewFlickablePrivate):
13084         * UIProcess/DrawingAreaProxy.h:
13085         (WebKit::DrawingAreaProxy::setVisibleContentsRectForScaling):
13086         (WebKit::DrawingAreaProxy::setVisibleContentsRectForPanning):
13087         * UIProcess/DrawingAreaProxyImpl.cpp:
13088         (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectForScaling):
13089         (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectForPanning):
13090         * UIProcess/DrawingAreaProxyImpl.h:
13091         (DrawingAreaProxyImpl):
13092         * UIProcess/LayerTreeHostProxy.h:
13093         (LayerTreeHostProxy):
13094         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
13095         (WebKit::LayerTreeHostProxy::setVisibleContentsRectForPanning):
13096         (WebKit::LayerTreeHostProxy::setVisibleContentsRectForScaling):
13097         * UIProcess/qt/QtViewportInteractionEngine.cpp:
13098         (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
13099         (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
13100         (WebKit::QtViewportInteractionEngine::wheelEvent):
13101         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
13102         * UIProcess/qt/QtViewportInteractionEngine.h:
13103         (QtViewportInteractionEngine):
13104         * WebProcess/WebPage/LayerTreeHost.h:
13105         (WebKit::LayerTreeHost::setVisibleContentsRectForScaling):
13106         (WebKit::LayerTreeHost::setVisibleContentsRectForPanning):
13107         (WebKit::LayerTreeHost::setVisibleContentsRectForLayer):
13108         * WebProcess/WebPage/LayerTreeHost.messages.in:
13109         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
13110         (WebKit::LayerTreeHostQt::setVisibleContentsRectForScaling):
13111         (WebKit::LayerTreeHostQt::setVisibleContentsRectForPanning):
13112         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
13113         (LayerTreeHostQt):
13114
13115 2012-02-24  Sergio Villar Senin  <svillar@igalia.com>
13116
13117         [WK2] [GTK] Destructor not invoked in EditorClientFrameDestructionObserver
13118         https://bugs.webkit.org/show_bug.cgi?id=79466
13119
13120         Reviewed by Philippe Normand.
13121
13122         Explicitly cast the observer before deleting it instead of just
13123         deleting a generic pointer. We must to that in order to get the
13124         destructor of the object properly called.
13125
13126         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
13127         (WebKit::EditorClientFrameDestructionObserver::destroyOnClosureFinalization):
13128
13129 2012-02-23  Andy Estes  <aestes@apple.com>
13130
13131         Rename [setS|s]uppressIncrementalRendering to [setS|s]uppressesIncrementalRendering and make it WebPreferences API.
13132         https://bugs.webkit.org/show_bug.cgi?id=79433
13133
13134         Reviewed by Dan Bernstein.
13135
13136         * Shared/WebPreferencesStore.h:
13137         (WebKit):
13138         * UIProcess/API/C/WKPreferences.cpp:
13139         (WKPreferencesSetSuppressesIncrementalRendering):
13140         (WKPreferencesGetSuppressesIncrementalRendering):
13141         * UIProcess/API/C/WKPreferences.h:
13142         * UIProcess/WebInspectorProxy.cpp:
13143         (WebKit::createInspectorPageGroup):
13144         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
13145         (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
13146         * WebProcess/WebPage/WebPage.cpp:
13147         (WebKit::WebPage::updatePreferences):
13148
13149 2012-02-23  Mario Sanchez Prada  <msanchez@igalia.com>
13150
13151         [GTK] Wrong signal name on emission in WebKitWindowProperties.cpp
13152         https://bugs.webkit.org/show_bug.cgi?id=79352
13153
13154         Reviewed by Philippe Normand.
13155
13156         Emit the signal 'resizable' instead of 'resizable-visible'.
13157
13158         * UIProcess/API/gtk/WebKitWindowProperties.cpp:
13159         (webkitWindowPropertiesSetResizable): Use right signal name.
13160
13161 2012-02-23  Anders Carlsson  <andersca@apple.com>
13162
13163         Flush layer changes after layout when resizing web page
13164         https://bugs.webkit.org/show_bug.cgi?id=79399
13165         <rdar://problem/10920157>
13166
13167         Reviewed by Andreas Kling.
13168
13169         Flush layer changes after layout, otherwise the scrollbars won't be updated
13170         until sometime later which looks bad.
13171
13172         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
13173         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
13174
13175 2012-02-23  Daniel Bates  <dbates@webkit.org>
13176
13177         Add missing "Reviewed by" line to change log entry for changeset r108631
13178         (https://bugs.webkit.org/show_bug.cgi?id=79252)
13179
13180         The patch landed in changeset r108631 was reviewed by Martin Robinson.
13181
13182         * ChangeLog:
13183
13184 2012-02-23  Patrick Gansterer  <paroga@webkit.org>
13185
13186         [CMake] Add WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS macro
13187         https://bugs.webkit.org/show_bug.cgi?id=79371
13188
13189         Reviewed by Daniel Bates.
13190
13191         * CMakeLists.txt:
13192
13193 2012-02-23  Simon Hausmann  <simon.hausmann@nokia.com>
13194
13195         [Qt] Add support for touch cancellation
13196         https://bugs.webkit.org/show_bug.cgi?id=79348
13197
13198         Reviewed by Kenneth Rohde Christiansen.
13199
13200         Convert and forward incoming touch cancellation events
13201         to the web process.
13202
13203         * Shared/qt/WebEventFactoryQt.cpp:
13204         (WebKit::webEventTypeForEvent):
13205         (WebKit::WebEventFactory::createWebTouchEvent):
13206         * UIProcess/API/qt/qquickwebview.cpp:
13207         (QQuickWebView::event):
13208         * UIProcess/qt/QtWebPageEventHandler.cpp:
13209         (QtWebPageEventHandler::handleEvent):
13210
13211 2012-02-23  Brent Fulgham  <bfulgham@webkit.org>
13212
13213         [WinCairo] Build fix after r108428.
13214
13215         * win/WebKit2CFLite.def: Add missing export declaration.
13216
13217 2012-02-23  Simon Hausmann  <simon.hausmann@nokia.com>
13218
13219         Unreviewed test fix after r108614: Adjust public API after changes.
13220
13221         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
13222
13223 2012-02-23  Simon Hausmann  <simon.hausmann@nokia.com>
13224
13225         [Qt] Build fix. Qt WebKit2 can not be compiled due to QtWebPageEventHandler.
13226         https://bugs.webkit.org/show_bug.cgi?id=79335
13227
13228         Reviewed by Kenneth Rohde Christiansen.
13229
13230         In the upcoming Qt 5 builds the convenient setInputMethodHints method on QQuickItem
13231         will be removed. There's no need for us to use it, we can implement passing the hints
13232         to the input method right away in our re-implementation of inputMethodQuery, which works
13233         with old and newer Qt 5 builds.
13234
13235         * UIProcess/API/qt/qquickwebview.cpp:
13236         (QQuickWebView::inputMethodQuery):
13237         * UIProcess/qt/QtWebPageEventHandler.cpp:
13238         (QtWebPageEventHandler::updateTextInputState):
13239
13240 2012-02-23  Sergio Villar Senin  <svillar@igalia.com>
13241
13242         [WK2][GTK] WebProcess SIGSEVs due to incorrect clipboard handling
13243         https://bugs.webkit.org/show_bug.cgi?id=79252
13244
13245         Reviewed by Martin Robinson.
13246
13247         Do not execute clipboard callbacks after the Frame associated with
13248         it is destroyed.
13249
13250         This change is already covered by the TestWebViewEditor unit tests
13251         (among others), they hang (because WebProcess dies) without this
13252         patch in Debug builds.
13253
13254         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
13255         (EditorClientFrameDestructionObserver):
13256         (WebKit::EditorClientFrameDestructionObserver::EditorClientFrameDestructionObserver):
13257         (WebKit::EditorClientFrameDestructionObserver::frameDestroyed):
13258         (WebKit::EditorClientFrameDestructionObserver::destroyOnClosureFinalization):
13259         (WebKit):
13260         (WebKit::WebEditorClient::setSelectionPrimaryClipboardIfNeeded):
13261
13262 2012-02-23  Kenneth Rohde Christiansen  <kenneth@webkit.org>
13263
13264         [Qt] Page doesn't get repainted while panning is in progress
13265         https://bugs.webkit.org/show_bug.cgi?id=78602
13266
13267         Reviewed by Simon Hausmann.
13268
13269         The tiling code needed the current visibleContentsRect in order to be
13270         able to create tiles, so we now make sure it gets it. We also needed
13271         to make sure to set the trajectory vector while panning and while the
13272         flicking engine was animating kinetic scrolling.
13273
13274         * UIProcess/API/qt/qquickwebview.cpp:
13275         (QQuickWebViewFlickablePrivate::_q_updateVisibleContentRectAndScale):
13276         (QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged):
13277         * UIProcess/DrawingAreaProxy.h:
13278         (WebKit::DrawingAreaProxy::setVisibleContentRectTrajectoryVector):
13279         * UIProcess/DrawingAreaProxyImpl.cpp:
13280         (WebKit::DrawingAreaProxyImpl::setVisibleContentRectTrajectoryVector):
13281         * UIProcess/DrawingAreaProxyImpl.h:
13282         (DrawingAreaProxyImpl):
13283         * UIProcess/LayerTreeHostProxy.h:
13284         (LayerTreeHostProxy):
13285         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
13286         (WebKit::LayerTreeHostProxy::setVisibleContentRectTrajectoryVector):
13287         * UIProcess/qt/QtViewportInteractionEngine.cpp:
13288         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
13289         (WebKit::QtViewportInteractionEngine::flickableMovingStateChanged):
13290         (WebKit):
13291         (WebKit::QtViewportInteractionEngine::panMoveStarted):
13292         (WebKit::QtViewportInteractionEngine::panMoveEnded):
13293         (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
13294         (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
13295         * UIProcess/qt/QtViewportInteractionEngine.h:
13296         (QtViewportInteractionEngine):
13297         * WebProcess/WebPage/LayerTreeHost.h:
13298         (WebKit::LayerTreeHost::setVisibleContentRectTrajectoryVector):
13299         * WebProcess/WebPage/LayerTreeHost.messages.in:
13300         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
13301         (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
13302         (WebKit::LayerTreeHostQt::setVisibleContentRectTrajectoryVector):
13303         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
13304         (LayerTreeHostQt):
13305
13306 2012-02-23  Patrick Gansterer  <paroga@webkit.org>
13307
13308         [CMAKE][WK2] Cleanup WebKit2/CMakeLists.txt.
13309         https://bugs.webkit.org/show_bug.cgi?id=76122
13310
13311         Reviewed by Eric Seidel.
13312
13313         * CMakeLists.txt: Removed hardcoded WTF_USE_JSC preprocessor definition.
13314
13315 2012-02-23  Simon Hausmann  <simon.hausmann@nokia.com>
13316
13317         [WK2] Trivial build fix after r108615.
13318
13319         * WebProcess/WebPage/WebPage.cpp:
13320         (WebKit::WebPage::WebPage):
13321
13322 2012-02-22  Michael Tyutyunik  <michael.tyutyunik@nokia.com>
13323
13324         [Qt][WK2] navigationType is missing in new API
13325         https://bugs.webkit.org/show_bug.cgi?id=78867
13326
13327         Reviewed by Simon Hausmann.
13328
13329         In QtWebPagePolicyClient::decidePolicyForNavigationAction()
13330         navigationType argument is dropped by mistake. Adding it back
13331         and make it available through NavigationRequest.
13332
13333         * UIProcess/API/qt/qquickwebview_p.h:
13334         * UIProcess/API/qt/qwebnavigationrequest.cpp:
13335         (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
13336         (QWebNavigationRequestPrivate):
13337         (QWebNavigationRequest::QWebNavigationRequest):
13338         (QWebNavigationRequest::navigationType):
13339         * UIProcess/API/qt/qwebnavigationrequest_p.h:
13340         * UIProcess/qt/QtWebPagePolicyClient.cpp:
13341         (QtWebPagePolicyClient::decidePolicyForNavigationAction):
13342         (toQuickWebViewNavigationType):
13343         * UIProcess/qt/QtWebPagePolicyClient.h:
13344         (QtWebPagePolicyClient):
13345
13346 2012-02-22  Anders Carlsson  <andersca@apple.com>
13347
13348         Implement TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange
13349         https://bugs.webkit.org/show_bug.cgi?id=79297
13350         <rdar://problem/10748510>
13351
13352         Reviewed by Beth Dakin.
13353
13354         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
13355         (WebKit::TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange):
13356         Send a message to the web process.
13357
13358         * WebProcess/WebPage/DrawingArea.h:
13359         (WebKit::DrawingArea::setDeviceScaleFactor):
13360         Add empty stub.
13361
13362         * WebProcess/WebPage/DrawingArea.messages.in:
13363         Add SetDeviceScaleFactor message.
13364
13365         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
13366         (WebKit::TiledCoreAnimationDrawingArea::setDeviceScaleFactor):
13367         Call WebPage::setDeviceScaleFactor.
13368
13369 2012-02-22  Brady Eidson  <beidson@apple.com>
13370
13371         <rdar://problem/10406044> and https://bugs.webkit.org/show_bug.cgi?id=79279
13372         Synchronous ShouldGoToBackForwardListItem causes lots of WebProcess hangs
13373
13374         Reviewed by Anders Carlsson.
13375
13376         Anytime the WebProcess sends a sync message up to the UI Process a hang can ensue.
13377         
13378         In the case of shouldGoToBackForwardListItem it seems many clients want a back/forward
13379         notification but don't actually want to make a policy decision.
13380
13381         Making it an asynchronous notification instead of a synchronous policy call will remove the
13382         possibility of a hang here.
13383
13384         If clients later decide it is important to have a policy here we should implement a form of
13385         shouldGoToBackForwardListItem in the bundle loader client.
13386
13387         Add a notification "willGoToBackForwardListItem" to the WKPageLoaderClient:
13388         * UIProcess/API/C/WKPage.h:
13389
13390         * UIProcess/WebPageProxy.cpp:
13391         (WebKit::WebPageProxy::initializeLoaderClient): Tell the WebProcess whether it should be
13392           sending the shouldGoToBackForwardListItem or willGoToBackForwardListItem form of this message.
13393         (WebKit::WebPageProxy::shouldGoToBackForwardListItem): 
13394         (WebKit::WebPageProxy::willGoToBackForwardListItem):
13395         * UIProcess/WebPageProxy.h:
13396         * UIProcess/WebPageProxy.messages.in: Add an asynchronous WillGoToBackForwardListItem message
13397
13398         Store a flag in the WebProcess - Sent from the UIProcess - to tell the FrameLoaderClient which form 
13399         of the callback should be used:
13400         * WebProcess/WebPage/WebPage.cpp:
13401         (WebKit::WebPage::WebPage):
13402         * WebProcess/WebPage/WebPage.h:
13403         (WebKit::WebPage::willGoToBackForwardItemCallbackEnabled):
13404         (WebKit::WebPage::setWillGoToBackForwardItemCallbackEnabled):
13405         * WebProcess/WebPage/WebPage.messages.in:
13406
13407         * UIProcess/WebLoaderClient.cpp:
13408         (WebKit::WebLoaderClient::shouldGoToBackForwardListItem): Only consider calling this for
13409           version 0 clients.
13410         (WebKit::WebLoaderClient::willGoToBackForwardListItem): Later clients get this callback.
13411         * UIProcess/WebLoaderClient.h:
13412         (WebLoaderClient):
13413         
13414         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
13415         (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem): Send either the synchronous "should" message
13416           or the asynchronous "will" message depending on which the WebProcess was last told that the
13417           UIProcess expects. There is an edge case where the wrong one might be sent because the WebProcess
13418           hasn't received the message about a change in the WKPageLoaderClient yet but that's probably okay;
13419           It seems unlikely that a UIProcess client would ever rapidly change between v0 and other versions
13420           of the loader client and the UIProcess of WebKit2 is equipped to handle that case if it comes up.
13421
13422 2012-02-16  Jon Lee  <jonlee@apple.com>
13423
13424         [WK2] Clearing notifications does not clean up internal state
13425         https://bugs.webkit.org/show_bug.cgi?id=78861
13426         <rdar://problem/10881167>
13427
13428         Reviewed by Anders Carlsson.
13429
13430         * WebProcess/Notifications/WebNotificationManager.cpp:
13431         (WebKit::WebNotificationManager::clearNotifications): This function was missing removing the notification
13432         entries from the other maps.
13433         (WebKit::WebNotificationManager::didDestroyNotification): When the notification is destroyed, it should
13434         also be removed from the context map.
13435         (WebKit::WebNotificationManager::didCloseNotifications): Refactor to pull out the code that removes
13436         a provided notification from the context map.
13437         (WebKit::WebNotificationManager::removeNotificationFromContextMap): Find the notification in the map, and
13438         remove it. If the map is empty, get rid of the entry.
13439         * WebProcess/Notifications/WebNotificationManager.h:
13440         (WebNotificationManager):
13441
13442 2012-02-22  Jon Lee  <jonlee@apple.com>
13443
13444         Code cleanup in WebNotificationManager (79285)
13445         https://bugs.webkit.org/show_bug.cgi?id=79285
13446         <rdar://problem/10914522>
13447
13448         Reviewed by Anders Carlsson.
13449
13450         * WebProcess/Notifications/WebNotificationManager.cpp:
13451         (WebKit::WebNotificationManager::show): Simplify adding a blank vector to the map using .add(),
13452         similar to what is found in WebNotificationClient.mm in WebKit 1.
13453
13454 2012-02-21  Ryosuke Niwa  <rniwa@webkit.org>
13455
13456         Remove the remaining uses of CSSStyleDeclaration in Editor
13457         https://bugs.webkit.org/show_bug.cgi?id=78939
13458
13459         Reviewed by Enrica Casucci.
13460
13461         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
13462         (WebKit::WebEditorClient::shouldApplyStyle):
13463         * WebProcess/WebCoreSupport/WebEditorClient.h:
13464         (WebEditorClient):
13465
13466 2012-02-22  Martin Robinson  <mrobinson@igalia.com>
13467
13468         [GTK] Clean build is broken when using make -j
13469         https://bugs.webkit.org/show_bug.cgi?id=76388
13470
13471         * GNUmakefile.am: Add some WebKit2 sources to global sources lists
13472         so that we can refer to them in separate GNUmakefiles.
13473
13474 2012-02-22  Antaryami Pandia  <antaryami.pandia@motorola.com>
13475
13476         [GTK][WK2] Add WebGL WebSetting.
13477         https://bugs.webkit.org/show_bug.cgi?id=79217
13478
13479         Reviewed by Martin Robinson.
13480
13481         Add a WebSetting to enable/disable Webgl.
13482
13483         * UIProcess/API/gtk/WebKitSettings.cpp:
13484         (webKitSettingsSetProperty):
13485         (webKitSettingsGetProperty):
13486         (webkit_settings_class_init):
13487         (webkit_settings_set_enable_webaudio):
13488         (webkit_settings_get_enable_webgl):
13489         (webkit_settings_set_enable_webgl):
13490         * UIProcess/API/gtk/WebKitSettings.h:
13491         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
13492         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
13493         (testWebKitSettings):
13494
13495 2012-02-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
13496
13497         [Qt] Disregard previous backing store as soon as possible
13498         https://bugs.webkit.org/show_bug.cgi?id=79232
13499
13500         Reviewed by Simon Hausmann and No'am Rosenthal.
13501
13502         Between creating the new backing store and painting the content,
13503         we do not want to drop the previous one as that might result in
13504         briefly seeing flickering as the old tiles may be dropped before
13505         something replaces them.
13506
13507         But we do need to drop it at some point and we need to make sure
13508         to not spike the memory usage before of this.
13509
13510         What we now do, is to store the previous backing store as before,
13511         but drop all tiles which are not visible and then drop it as soon
13512         as the visible rect (which might change due if followed by a quick
13513         panning) has been fully covered by tiles.
13514
13515         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
13516         (WebCore::WebGraphicsLayer::setContentsScale):
13517         (WebCore::WebGraphicsLayer::updateContentBuffers):
13518
13519 2012-02-22  Michael Brüning  <michael.bruning@nokia.com>
13520
13521         [Qt][WK2] Implement proxy authentication handling.
13522         https://bugs.webkit.org/show_bug.cgi?id=78792
13523
13524         Reviewed by Simon Hausmann.
13525
13526         This patch corrects two bugs with the previous implementation:
13527         1. The signal proxyAuthenticationRequired was not connected to a
13528            slot.
13529         2. The slot onProxyAuthenticationRequired had the wrong parameters. 
13530
13531         * WebProcess/qt/QtNetworkAccessManager.cpp:
13532         (WebKit::QtNetworkAccessManager::QtNetworkAccessManager):
13533         (WebKit::QtNetworkAccessManager::onProxyAuthenticationRequired):
13534         * WebProcess/qt/QtNetworkAccessManager.h: Added include.
13535         (QtNetworkAccessManager):
13536
13537 2012-02-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
13538
13539         Merge setVisibleRectTrajectoryVector and adjustVisibleRect to
13540         the more descriptive coverWithTilesIfNeeded
13541         https://bugs.webkit.org/show_bug.cgi?id=79230
13542
13543         Reviewed by Simon Hausmann.
13544
13545         Replace use by coverWithTilesIfNeeded().
13546
13547         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
13548         (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
13549         (WebCore::WebGraphicsLayer::adjustVisibleRect):
13550         (WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
13551
13552 2012-02-22  Zalan Bujtas  <zbujtas@gmail.com>
13553
13554         [Qt][WK2] Add frame flattening setting to QWebPreferences.
13555         https://bugs.webkit.org/show_bug.cgi?id=79099
13556
13557         Reviewed by Simon Hausmann.
13558
13559         Frame flattening is enabled by default for Qt WebKit2.
13560
13561         * UIProcess/API/qt/qquickwebview.cpp:
13562         (QQuickWebViewPrivate::initialize):
13563         * UIProcess/API/qt/qwebpreferences.cpp:
13564         (QWebPreferencesPrivate::testAttribute):
13565         (QWebPreferencesPrivate::setAttribute):
13566         (QWebPreferences::setNavigatorQtObjectEnabled):
13567         (QWebPreferences::frameFlatteningEnabled):
13568         (QWebPreferences::setFrameFlatteningEnabled):
13569         * UIProcess/API/qt/qwebpreferences_p.h:
13570
13571 2012-02-22  Ryosuke Niwa  <rniwa@webkit.org>
13572
13573         Remove the remaining uses of CSSStyleDeclaration in Editor
13574         https://bugs.webkit.org/show_bug.cgi?id=78939
13575
13576         Reviewed by Enrica Casucci.
13577
13578         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
13579         (WebKit::WebEditorClient::shouldApplyStyle):
13580         * WebProcess/WebCoreSupport/WebEditorClient.h:
13581         (WebEditorClient):
13582
13583 2012-02-21  Carlos Garcia Campos  <cgarcia@igalia.com>
13584
13585         [GTK] Null ResourceErrors are encoded/decoded as empty ResourceErrors
13586         https://bugs.webkit.org/show_bug.cgi?id=79120
13587
13588         Reviewed by Martin Robinson.
13589
13590         * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
13591         (CoreIPC::::encode): Encode a boolean to indicate whether it's a
13592         Null error.
13593         (CoreIPC::::decode): Check whether the error is Null and do not
13594         continue decoding in such case.
13595
13596 2012-02-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
13597
13598         [Qt][WK2] Draw tiles of previous contents-scale for opaque layers if they don't intersect with previous tiles
13599         https://bugs.webkit.org/show_bug.cgi?id=78962
13600
13601         Only avoid painting old-scale tiles in semi-transparent situtations if the old
13602         tiles intersect with existing tiles.
13603
13604         Reviewed by Kenneth Rohde Christiansen.
13605
13606         * UIProcess/qt/LayerBackingStore.cpp:
13607         (WebKit::LayerBackingStore::paintToTextureMapper):
13608
13609 2012-02-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
13610
13611         [Qt] Previous web page appears outside content rect
13612         https://bugs.webkit.org/show_bug.cgi?id=78816
13613
13614         Apply a clip on painted tiles if some of the tiles fall outside of the target rect.
13615
13616         Reviewed by Kenneth Rohde Christiansen.
13617
13618         * UIProcess/qt/LayerBackingStore.cpp:
13619         (WebKit::LayerBackingStore::paintToTextureMapper):
13620
13621 2012-02-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
13622
13623         [Qt][WK2] Accelerated animations don't work on Mac
13624         https://bugs.webkit.org/show_bug.cgi?id=78963
13625
13626         Problem came from using a non-RunLoop timer.
13627         Remove the unused viewportUpdateTimer, and use the existing animationTimer instead.
13628         Use a continuous timer that we only stop when animations stop.
13629
13630         Reviewed by Kenneth Rohde Christiansen.
13631
13632         * UIProcess/LayerTreeHostProxy.h:
13633         (LayerTreeHostProxy):
13634         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
13635         (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
13636         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
13637         (WebKit):
13638         (WebKit::LayerTreeHostProxy::syncAnimations):
13639
13640 2012-02-21  Sam Weinig  <sam@webkit.org>
13641
13642         Attempt to fix the Snow Leopard build.
13643
13644         * Configurations/Base.xcconfig:
13645
13646 2012-02-21  Sam Weinig  <sam@webkit.org>
13647
13648         Use libc++ when building with Clang on Mac
13649         https://bugs.webkit.org/show_bug.cgi?id=78981
13650
13651         Reviewed by Dan Bernstein.
13652
13653         * Configurations/Base.xcconfig:
13654
13655 2012-02-21  Andras Becsi  <andras.becsi@nokia.com>
13656
13657         [Qt][WK2] Get rid of the dependency to QtWidgets
13658         https://bugs.webkit.org/show_bug.cgi?id=76276
13659
13660         Reviewed by Simon Hausmann.
13661
13662         * Target.pri:
13663         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
13664         (main):
13665         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
13666         * UIProcess/API/qt/tests/tests.pri:
13667         * UIProcess/API/qt/tests/util.h:
13668
13669 2012-02-20  Martin Robinson  <mrobinson@igalia.com>
13670
13671         [UNIX] Plugin information fields are not interpreted as UTF-8
13672         https://bugs.webkit.org/show_bug.cgi?id=78635
13673
13674         Reviewed by Gustavo Noronha Silva.
13675
13676         Interpret plugin metadata as UTF8 aways. This matches the behavior
13677         of Chromium and the Totem plugin.
13678
13679         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
13680         (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin): Use String::fromUTF8.
13681
13682 2012-02-20  Carlos Garcia Campos  <cgarcia@igalia.com>
13683
13684         [GTK] Adding SOUP_TYPE_PROXY_RESOLVER_DEFAULT feature to soup session makes WebProcess to hang
13685         https://bugs.webkit.org/show_bug.cgi?id=79036
13686
13687         Reviewed by Martin Robinson.
13688
13689         This looks like a bug in gobject. Initializing the WebProcess
13690         before creating the soup session seems to fix the problem. It's
13691         actually a workaround, but initializing the WebProcess as sson as
13692         possible it's a good idea in any case.
13693
13694         * WebProcess/gtk/WebProcessMainGtk.cpp:
13695         (WebKit::WebProcessMainGtk):
13696
13697 2012-02-20  Michael Brüning  <michael.bruning@nokia.com>
13698
13699         [Qt][WK2] Implement proxy authentication handling.
13700         https://bugs.webkit.org/show_bug.cgi?id=78792
13701
13702         Reviewed by Simon Hausmann.
13703
13704         This patch implements the proxy authentication handling
13705         for the Qt port in a similar matter to the http authentication
13706         implementation.
13707
13708         Since there is a need to pass the proxy port, which is of type uint16_t,
13709         from the WebProcess to the UIProcess, an encoder and a decoder for
13710         this type was added because it did not exist.
13711         
13712         The message that was added to the WebPageProxy is called synchronously
13713         as this is needed by the implementation of the network access manager
13714         and has also been implemented this way already for the http 
13715         authentication.
13716
13717         * Platform/CoreIPC/ArgumentDecoder.cpp:
13718         (CoreIPC::ArgumentDecoder::decodeUInt16):
13719         (CoreIPC):
13720         * Platform/CoreIPC/ArgumentDecoder.h:
13721         (ArgumentDecoder):
13722         (CoreIPC::ArgumentDecoder::decode):
13723         (CoreIPC):
13724         * Platform/CoreIPC/ArgumentEncoder.cpp:
13725         (CoreIPC::ArgumentEncoder::encodeUInt16):
13726         (CoreIPC):
13727         * Platform/CoreIPC/ArgumentEncoder.h:
13728         (ArgumentEncoder):
13729         (CoreIPC::ArgumentEncoder::encode):
13730         (CoreIPC):
13731         * UIProcess/API/qt/qquickwebview.cpp:
13732         (QQuickWebViewPrivate::QQuickWebViewPrivate):
13733         (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest):
13734         (QQuickWebViewExperimental::proxyAuthenticationDialog):
13735         (QQuickWebViewExperimental::setProxyAuthenticationDialog):
13736         * UIProcess/API/qt/qquickwebview_p.h:
13737         * UIProcess/API/qt/qquickwebview_p_p.h:
13738         (QQuickWebViewPrivate):
13739         * UIProcess/PageClient.h:
13740         (PageClient):
13741         * UIProcess/WebPageProxy.cpp:
13742         (WebKit::WebPageProxy::proxyAuthenticationRequiredRequest):
13743         (WebKit):
13744         * UIProcess/WebPageProxy.h:
13745         (WebPageProxy):
13746         * UIProcess/WebPageProxy.messages.in:
13747         * UIProcess/qt/QtDialogRunner.cpp:
13748         (ProxyAuthenticationDialogContextObject):
13749         (ProxyAuthenticationDialogContextObject::ProxyAuthenticationDialogContextObject):
13750         (ProxyAuthenticationDialogContextObject::hostname):
13751         (ProxyAuthenticationDialogContextObject::port):
13752         (ProxyAuthenticationDialogContextObject::prefilledUsername):
13753         (ProxyAuthenticationDialogContextObject::accept):
13754         (ProxyAuthenticationDialogContextObject::reject):
13755         (QtDialogRunner::initForProxyAuthentication):
13756         * UIProcess/qt/QtDialogRunner.h:
13757         (QtDialogRunner):
13758         * UIProcess/qt/QtPageClient.cpp:
13759         (QtPageClient::handleProxyAuthenticationRequiredRequest):
13760         * UIProcess/qt/QtPageClient.h:
13761         (QtPageClient):
13762         * WebProcess/WebPage/DecoderAdapter.cpp:
13763         (WebKit::DecoderAdapter::decodeUInt16):
13764         (WebKit):
13765         * WebProcess/WebPage/DecoderAdapter.h:
13766         (DecoderAdapter):
13767         * WebProcess/WebPage/EncoderAdapter.cpp:
13768         (WebKit::EncoderAdapter::encodeUInt16):
13769         (WebKit):
13770         * WebProcess/WebPage/EncoderAdapter.h:
13771         (EncoderAdapter):
13772         * WebProcess/qt/QtNetworkAccessManager.cpp:
13773         (WebKit::QtNetworkAccessManager::onProxyAuthenticationRequired):
13774         (WebKit):
13775         * WebProcess/qt/QtNetworkAccessManager.h:
13776         (QtNetworkAccessManager):
13777
13778 2012-02-20  Patrick Gansterer  <paroga@webkit.org>
13779
13780         [CMake] Update and sort list of source files.
13781
13782         * CMakeLists.txt:
13783
13784 2012-02-20  Martin Robinson  <mrobinson@igalia.com>
13785
13786         Fix WebKit2GTK+ for 'make distcheck'.
13787
13788         Instead of conditionally including WebKit2 GNUmakefiles, always
13789         include them and conditionally activate the final targets.
13790
13791         * GNUmakefile.am:
13792         * UIProcess/API/gtk/tests/GNUmakefile.am:
13793
13794 2012-02-20  Martin Robinson  <mrobinson@igalia.com>
13795
13796         [GTK][WK2] WebKit2 does not build if gtk-unix-printing-3.0 is not available
13797         https://bugs.webkit.org/show_bug.cgi?id=79011
13798
13799         Fix the build when gtk-unix-printing-3.0 is not present.
13800
13801         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
13802         (webkitPrintOperationRunDialog):
13803         (webkitPrintOperationRunDialogForFrame):
13804         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
13805         (WebKit::WebPrintOperationGtk::create):
13806
13807 2012-02-18  Dan Bernstein  <mitz@apple.com>
13808
13809         <rdar://problem/10891801> BackingStore::scroll() unnecessarily copies pixels around
13810         https://bugs.webkit.org/show_bug.cgi?id=78976
13811
13812         Reviewed by Anders Carlsson.
13813
13814         Rather than move pixels in the backing store in response to scrolling, we can maintain a
13815         mapping, for the most recently scrolled rect, from backing store coordinates to view
13816         client coordinates.
13817
13818         * UIProcess/BackingStore.h:
13819         * UIProcess/mac/BackingStoreMac.mm:
13820         (WebKit::BackingStore::performWithScrolledRectTransform): Added. Given a block to be
13821         performed on a rect, divides the rect into parts such that for each part the mapping from
13822         backing store coordinates to client coordinates is a (uniform) translation, and performs
13823         the block on that part, passing it the translation that applies to the part.
13824         (WebKit::BackingStore::resetScrolledRect): Added. Copies everything in the scrolled rect
13825         back to where it should be under the identity map, and resets the scrolled rect and offset.
13826         (WebKit::BackingStore::paint): Changed to call through performWithScrolledRectTransform().
13827         (WebKit::BackingStore::incorporateUpdate): Ditto.
13828         (WebKit::BackingStore::scroll): Now instead of copying pixels, just updates the scrolled
13829         rect and offset.
13830
13831 2012-02-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
13832
13833         [Qt][WK2] Allow opaque tiles
13834         https://bugs.webkit.org/show_bug.cgi?id=78809
13835
13836         Apply the SupportsAlpha flag only when the buffers actually have alpha.
13837
13838         Reviewed by Kenneth Rohde Christiansen.
13839
13840         * Shared/ShareableBitmap.h:
13841         (ShareableBitmap):
13842         * Shared/qt/ShareableBitmapQt.cpp:
13843         * UIProcess/qt/LayerBackingStore.cpp:
13844         (WebKit::LayerBackingStoreTile::swapBuffers):
13845
13846 2012-02-17  Adam Roben  <aroben@apple.com>
13847
13848         Clang build fix after r108119
13849
13850         * WebProcess/WebProcess.cpp:
13851         (WebKit::randomCrashThread): Annotate this function with NO_RETURN_DUE_TO_CRASH.
13852
13853 2012-02-17  Kalev Lember  <kalevlember@gmail.com>
13854
13855         Remove unused parameters from WTF threading API
13856         https://bugs.webkit.org/show_bug.cgi?id=78389
13857
13858         Reviewed by Adam Roben.
13859
13860         waitForThreadCompletion() had an out param 'void **result' to get the
13861         'void *' returned by ThreadFunction. However, the implementation in
13862         ThreadingWin.cpp ignored the out param, not filling it in. This had
13863         led to a situation where none of the client code made use of the param
13864         and just ignored it.
13865
13866         To clean this up, the patch changes the signature of ThreadFunction to
13867         return void instead of void* and drops the the unused 'void **result'
13868         parameter from waitForThreadCompletion. Also, all client code is
13869         updated for the API change.
13870
13871         As mentioned in https://bugs.webkit.org/show_bug.cgi?id=78389 , even
13872         though the change only affects internal API, Safari is using it
13873         directly and we'll need to keep the old versions around for ABI
13874         compatibility. For this, the patch adds compatibility wrappers with
13875         the old ABI.
13876
13877         * Platform/WorkQueue.h:
13878         (WorkQueue):
13879         * Platform/gtk/WorkQueueGtk.cpp:
13880         (WorkQueue::startWorkQueueThread):
13881         * UIProcess/Launcher/mac/ThreadLauncherMac.mm:
13882         (WebKit::webThreadBody):
13883         * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
13884         (WebKit::webThreadBody):
13885         * UIProcess/Launcher/win/ThreadLauncherWin.cpp:
13886         (WebKit::webThreadBody):
13887         * WebProcess/WebProcess.cpp:
13888         (WebKit::randomCrashThread):
13889         * win/WebKit2.def:
13890         * win/WebKit2CFLite.def:
13891
13892 2012-02-17  Mihnea Ovidenie  <mihnea@adobe.com>
13893
13894         CSS regions enabled by default
13895         https://bugs.webkit.org/show_bug.cgi?id=78525
13896
13897         Reviewed by David Hyatt.
13898
13899         Add a runtime preference to enable/disable regions functionality at runtime(WebKitCSSRegionsEnabled).
13900         CSSRegions are still enabled by default.
13901         In DRT, use layoutTestController.overridePreference("WebKitCSSRegionsEnabled", "0") to disable the css regions functionality.
13902
13903         * Shared/WebPreferencesStore.h:
13904         (WebKit):
13905         * UIProcess/API/C/WKPreferences.cpp:
13906         (WKPreferencesSetCSSRegionsEnabled):
13907         (WKPreferencesGetCSSRegionsEnabled):
13908         * UIProcess/API/C/WKPreferencesPrivate.h:
13909         * WebProcess/InjectedBundle/InjectedBundle.cpp:
13910         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
13911         * WebProcess/WebPage/WebPage.cpp:
13912         (WebKit::WebPage::updatePreferences):
13913
13914 2012-02-17  Enrica Casucci  <enrica@apple.com>
13915
13916         Refactor DragData class to use PlatformStrategies in the Mac implementation.
13917         https://bugs.webkit.org/show_bug.cgi?id=78768
13918
13919         Reviewed by Darin Adler.
13920
13921         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added color() method.
13922         (WebKit::WebPlatformStrategies::color):
13923         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
13924
13925 2012-02-17  Martin Robinson  <mrobinson@igalia.com>
13926
13927         Fix some warnings encountered during the GTK+ build
13928         https://bugs.webkit.org/show_bug.cgi?id=78911
13929
13930         Reviewed by Xan Lopez.
13931
13932         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
13933         (attachLoaderClientToView): Initialize a new member of the loader client struct.
13934
13935 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
13936
13937         [GTK] Allow printing scaled pages in WebKit2 for printers that don't support it
13938         https://bugs.webkit.org/show_bug.cgi?id=78823
13939
13940         Reviewed by Gustavo Noronha Silva.
13941
13942         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
13943         (webkitPrintOperationRunDialogUnix): Enable scale option in print
13944         dialog.
13945         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
13946         (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
13947         manual scale to 1.
13948         (WebKit::WebPrintOperationGtk::rotatePageIfNeeded): Renamed and
13949         moved the needs rotate check here as an early return.
13950         (WebKit::WebPrintOperationGtk::prepareContextToDraw): Scale the
13951         page according to the manual scale factor.
13952         (WebKit::WebPrintOperationGtk::renderPage): Move rotatePage to
13953         prepareContextToDraw.
13954         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
13955
13956 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
13957
13958         [GTK] Allow printing multiple copies in WebKit2 for printers that don't support it
13959         https://bugs.webkit.org/show_bug.cgi?id=78805
13960
13961         Reviewed by Gustavo Noronha Silva.
13962
13963         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
13964         (webkitPrintOperationRunDialogUnix): Enable multiple copies and
13965         collate options in print dialog.
13966         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
13967         (WebKit::PrintPagesData::PrintPagesData): Initialize number of
13968         collated and uncolated copies done and total.
13969         (WebKit::PrintPagesData::collatedCopiesLeft): Helper function that
13970         returns the number of collated copies left to do.
13971         (WebKit::PrintPagesData::uncollatedCopiesLeft): Helper function
13972         that returns the number of uncollated copies left to do.
13973         (WebKit::PrintPagesData::copiesLeft): Helper function
13974         that returns the number of collated or uncollated copies left to
13975         do.
13976         (WebKit::PrintPagesData::incrementPageSequence): Do not finish the
13977         print if there are uncollated copies left, and do not increment
13978         sheet number if there are collated copies left.
13979         (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
13980         m_manualCopies to 1 and m_manualCollateCopies to false.
13981         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
13982
13983 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
13984
13985         [GTK] Allow printing pages in reverse order in WebKit2 for printers that don't support it
13986         https://bugs.webkit.org/show_bug.cgi?id=78799
13987
13988         Reviewed by Gustavo Noronha Silva.
13989
13990         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
13991         (webkitPrintOperationRunDialogUnix): Enable printing in reverse
13992         order option in print dialog.
13993         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
13994         (WebKit::PrintPagesData::PrintPagesData): Initialize sheetNumber
13995         and lastPagePosition depending on whether printing is in reverse
13996         order or not.
13997         (WebKit::PrintPagesData::incrementPageSequence): Use a negative
13998         increment step when printing in reverse order. Fix page
13999         incrementing when printing only odd/even pages broken in previous
14000         commit due to merge conflicts.
14001         (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
14002         reverse printing to false.
14003         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
14004
14005 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
14006
14007         [GTK] Allow printing only odd/even pages in WebKit2 for printers that don't support it
14008         https://bugs.webkit.org/show_bug.cgi?id=78793
14009
14010         Reviewed by Gustavo Noronha Silva.
14011
14012         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
14013         (webkitPrintOperationRunDialogUnix): Enable print odd/even pages
14014         option in print dialog.
14015         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
14016         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
14017         (WebKit::PrintPagesData::PrintPagesData): Add lastPagePosition and
14018         initialize it depending on the page set.
14019         (WebKit::PrintPagesData::incrementPageSequence): Use 2 step
14020         increment when printing only odd/even pages.
14021         (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
14022         m_manualPageSet to GTK_PAGE_SET_ALL.
14023
14024 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
14025
14026         [GTK] Allow printing multiple pages per sheet in WebKit2 for printers that don't support it
14027         https://bugs.webkit.org/show_bug.cgi?id=78715
14028
14029         Reviewed by Gustavo Noronha Silva.
14030
14031         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
14032         (webkitPrintOperationRunDialogUnix): Enable multiple pages per
14033         sheet options in print dialog.
14034         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
14035         (WebKit::PrintPagesData::PrintPagesData): Initialize sheetNumber
14036         and numberOfSheets. Move pagePosition to WebPrintOperationGtk.
14037         (WebKit::PrintPagesData::incrementPageSequence): Increment current
14038         sheet and page position.
14039         (WebKit::WebPrintOperationGtk::WebPrintOperationGtk):
14040         (WebKit::WebPrintOperationGtk::currentPageIsFirstPageOfSheet):
14041         Helper function to check whether current pages is the first one of
14042         the current sheet.
14043         (WebKit::WebPrintOperationGtk::currentPageIsLastPageOfSheet):
14044         Helper function to check whether current pages is the last one of
14045         the current sheet.
14046         (WebKit::WebPrintOperationGtk::getRowsAndColumnsOfPagesPerSheet):
14047         Returns the number of rows and columns of pages per sheet.
14048         (WebKit::WebPrintOperationGtk::getPositionOfPageInSheet): Returns
14049         the row and column number of the current page in the current sheet.
14050         (WebKit::WebPrintOperationGtk::prepareContextToDraw): Translate,
14051         scale and rotate accordingly to render every page in the right
14052         place of the sheet.
14053         (WebKit::WebPrintOperationGtk::renderPage): Call
14054         prepareContextToDraw() before drawing the page.
14055         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
14056         (WebKit::WebPrintOperationGtk::setNumberOfPagesToPrint):
14057         (WebKit::WebPrintOperationGtk::pagePosition):
14058         (WebKit::WebPrintOperationGtk::setPagePosition):
14059         (WebKit::WebPrintOperationGtk::numberUp):
14060         (WebKit::WebPrintOperationGtk::numberUpLayout):
14061
14062 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
14063
14064         [GTK] Rename WebKitPrintOperation::done signal to ::finished in WebKit2
14065         https://bugs.webkit.org/show_bug.cgi?id=78893
14066
14067         Reviewed by Gustavo Noronha Silva.
14068
14069         And it's not emitted anynmore when the print dialog has been
14070         cancelled. Since it's not possible to know whether the print
14071         dialog was cancelled or not, the enum WebKitPrintOperationResponse
14072         has been added, with Print and Cancel values, and it's used as
14073         return value of webkit_print_operation_run_dialog().
14074
14075         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
14076         (webkit_print_operation_class_init): Rename done as finished.
14077         (webkitPrintOperationRunDialogUnix): Return a
14078         WebKitPrintOperationResponse instead of bool.
14079         (webkitPrintOperationRunDialogWin32): Ditto.
14080         (drawPagesForPrintingCompleted): Emit finished instead of done.
14081         (webkitPrintOperationRunDialogForFrame): Do not emit finished if
14082         the dialog was cancelled and return a WebKitPrintOperationResponse.
14083         (webkit_print_operation_run_dialog): Return
14084         WebKitPrintOperationResponse.
14085         * UIProcess/API/gtk/WebKitPrintOperation.h: Add
14086         WebKitPrintOperationResponse enum.
14087         * UIProcess/API/gtk/WebKitPrintOperationPrivate.h:
14088         * UIProcess/API/gtk/WebKitWebView.cpp:
14089         (webkitWebViewPrintFrame): Check whether the dialog has been
14090         cancelled or not and connect to finish when the print operation is
14091         in progress to release the print operation object when printing
14092         finishes.
14093         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add
14094         WebKitPrintOperationResponse symbol.
14095         * UIProcess/API/gtk/tests/TestPrinting.cpp:
14096         (testPrintOperationPrintFinished): Use finished instead of done.
14097         (testPrintOperationPrint): Ditto.
14098
14099 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
14100
14101         [GTK] Add webkit_print_operation_print() to WebKit2 GTK+ API
14102         https://bugs.webkit.org/show_bug.cgi?id=76536
14103
14104         Reviewed by Gustavo Noronha Silva.
14105
14106         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
14107         (webkitPrintOperationPrintPagesForFrame): Helper function to call
14108         WebPageProxy::drawPagesForPrinting using the given
14109         GtkPrintSettings and GtkPageSetup.
14110         (webkitPrintOperationRunDialogForFrame): Use
14111         webkitPrintOperationPrintPagesForFrame().
14112         (webkit_print_operation_print): Print directly using current
14113         GtkPrintSettings and GtkPageSetup without showing the print
14114         dialog.
14115         * UIProcess/API/gtk/WebKitPrintOperation.h:
14116         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
14117         * UIProcess/API/gtk/tests/GNUmakefile.am:
14118         * UIProcess/API/gtk/tests/TestPrinting.cpp:
14119         (testPrintOperationPrintLoadChanged):
14120         (testPrintOperationPrintDone):
14121         (testPrintOperationPrintPrinter):
14122         (testPrintOperationPrint):
14123         (beforeAll):
14124         (afterAll):
14125
14126 2012-02-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
14127
14128         [Qt][WK2] Allow partial updates
14129         https://bugs.webkit.org/show_bug.cgi?id=78824
14130
14131         Instead of using UpdateInfo to fill the entire tile's texture, we use it as a patch that
14132         contains only the dirty rectangle of the current paint. This requires a lot less memory
14133         for small updates, for example when typing a text in an input field.
14134         This shows a significant reduction in overhead when testing on Mac with Instruments.
14135
14136         Reviewed by Simon Hausmann.
14137
14138         * UIProcess/qt/LayerBackingStore.cpp:
14139         (WebKit::LayerBackingStoreTile::swapBuffers):
14140         (WebKit::LayerBackingStoreTile::setBackBuffer):
14141         (WebKit):
14142         (WebKit::LayerBackingStore::updateTile):
14143         * UIProcess/qt/LayerBackingStore.h:
14144         (LayerBackingStoreTile):
14145         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
14146         (WebKit::LayerTreeHostProxy::updateTileForLayer):
14147         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
14148         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
14149
14150 2012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
14151
14152         [GTK] Make sure print operation object is alive until printing finishes in WebKit2
14153         https://bugs.webkit.org/show_bug.cgi?id=78829
14154
14155         Reviewed by Martin Robinson.
14156
14157         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
14158         (drawPagesForPrintingCompleted): Adopt the WebKitPrintOperation
14159         reference so that it's released when the callback finishes.
14160         (webkitPrintOperationRunDialogForFrame): Pass a reference of
14161         WebKitPrintOperation to the printing callback.
14162
14163 2012-02-15  Geoffrey Garen  <ggaren@apple.com>
14164
14165         Made Weak<T> single-owner, adding PassWeak<T>
14166         https://bugs.webkit.org/show_bug.cgi?id=78740
14167
14168         Reviewed by Sam Weinig.
14169
14170         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
14171         (WebKit::NPRuntimeObjectMap::getOrCreateJSObject): Use raw pointer and
14172         PassWeak<T>, as required by our new hash map API.
14173
14174 2012-02-16  Sergio Villar Senin  <svillar@igalia.com>
14175
14176         [soup] Move important SoupSession feature initialization to WebCore
14177         https://bugs.webkit.org/show_bug.cgi?id=68602
14178
14179         Reviewed by Martin Robinson.
14180
14181         Moved content sniffer and decoder initialization from the
14182         WebProcess to WebCore because network stuff will not work as
14183         expected without them.
14184
14185         No new tests required as we're just moving stuff from the
14186         WebProcess to WebCore.
14187
14188         * WebProcess/gtk/WebProcessMainGtk.cpp:
14189         (WebKit::WebProcessMainGtk):
14190
14191 2012-02-16  Philippe Normand  <pnormand@igalia.com>
14192
14193         Unreviewed, rolling out r107941.
14194         http://trac.webkit.org/changeset/107941
14195         https://bugs.webkit.org/show_bug.cgi?id=68602
14196
14197         Broke 23 http tests on GTK
14198
14199         * WebProcess/gtk/WebProcessMainGtk.cpp:
14200         (WebKit::WebProcessMainGtk):
14201
14202 2012-02-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
14203
14204         [Texmap] Improve the way we deal with BGRA extension
14205         https://bugs.webkit.org/show_bug.cgi?id=78822
14206
14207         Get rid of swizzling in the web process. Instead, we moved swizzling back to
14208         TextureMapperGL, as we're moving towards a setup where textures are uploaded
14209         in the web process.
14210
14211         Reviewed by Kenneth Rohde Christiansen.
14212
14213         * UIProcess/qt/LayerBackingStore.cpp:
14214         (WebKit::LayerBackingStoreTile::swapBuffers):
14215         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
14216         (WebKit::LayerTreeHostProxy::createImage):
14217         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
14218         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
14219         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
14220         (WebKit::LayerTreeHostQt::adoptImageBackingStore):
14221
14222 2012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
14223
14224         Unreviewed. Fix WebKit2 GTK+ build after r107947.
14225
14226         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
14227         (webkitPrintOperationRunDialogForFrame):
14228
14229 2012-02-16  Alexander Færøy  <ahf@0x90.dk>
14230
14231         [Qt] Fix linking in debug builds on Mac OS X
14232         https://bugs.webkit.org/show_bug.cgi?id=78811
14233
14234         Reviewed by Kenneth Rohde Christiansen.
14235
14236         * UIProcess/API/qt/tests/bytearraytestdata.h:
14237
14238 2012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
14239
14240         [GTK] Page content is incorrectly translated whenh rendering pages for printing in WebKit2
14241         https://bugs.webkit.org/show_bug.cgi?id=78712
14242
14243         Reviewed by Martin Robinson.
14244
14245         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
14246         (WebKit::WebPrintOperationGtk::enumeratePrintersFunction):
14247         Simplify the code to select the printer.
14248         (WebKit::WebPrintOperationGtk::renderPage): Call cairo_save()
14249         before rendering the page and cairo_restore() when page has been
14250         rendered.
14251
14252 2012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
14253
14254         [GTK] Add WebKitPrintOperation to WebKit2 GTK+ API
14255         https://bugs.webkit.org/show_bug.cgi?id=76448
14256
14257         Reviewed by Martin Robinson.
14258
14259         * GNUmakefile.am: Add new files to compilation.
14260         * UIProcess/API/gtk/WebKitDefines.h:
14261         * UIProcess/API/gtk/WebKitPrintOperation.cpp: Added.
14262         (webViewDestroyed): Delete the print operation when the view
14263         widget associated is destroyed.
14264         (webkitPrintOperationConstructed): Connect to destroy signal of
14265         associated web view.
14266         (webkitPrintOperationGetProperty):
14267         (webkitPrintOperationSetProperty):
14268         (webkit_print_operation_init):
14269         (webkit_print_operation_class_init):
14270         (webkitPrintOperationRunDialogUnix): Use GtkPrintUnixDialog to
14271         show the printing dialog in UNIX platforms.
14272         (webkitPrintOperationRunDialogWin32): Empty, not implemented yet.
14273         (drawPagesForPrintingCompleted): Callback called when printing
14274         operation has finished in the web process.
14275         (webkitPrintOperationRunDialogForFrame): Run the printing dialog
14276         and start printing the given frame.
14277         (webkit_print_operation_new): Create a new print operation for the
14278         given web view.
14279         (webkit_print_operation_get_print_settings):
14280         (webkit_print_operation_set_print_settings):
14281         (webkit_print_operation_get_page_setup):
14282         (webkit_print_operation_set_page_setup):
14283         (webkit_print_operation_run_dialog): Run the print dialog to print
14284         the web view main frame.
14285         * UIProcess/API/gtk/WebKitPrintOperation.h: Added.
14286         * UIProcess/API/gtk/WebKitPrintOperationPrivate.h: Added.
14287         * UIProcess/API/gtk/WebKitUIClient.cpp:
14288         (printFrame): Call webkitWebViewPrintFrame.
14289         (attachUIClientToView): Add implementation for
14290         printFrame callback.
14291         * UIProcess/API/gtk/WebKitWebView.cpp:
14292         (webkit_web_view_class_init): Add WebKitWebView::print-requested
14293         signal.
14294         (webkitWebViewPrintFrame): Emit print-requested and show the print
14295         dialog to print the frame when not signal is not handled by user.
14296         * UIProcess/API/gtk/WebKitWebView.h:
14297         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
14298         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
14299         WebKitPrintOperation.
14300         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
14301         * UIProcess/API/gtk/tests/GNUmakefile.am:
14302         * UIProcess/API/gtk/tests/TestPrinting.cpp: Added.
14303         (testPrintOperationPrintSettings):
14304         (webViewPrintRequestedCallback):
14305         (testWebViewPrintRequested):
14306         (beforeAll):
14307         (afterAll):
14308         * UIProcess/API/gtk/webkit2.h: Include WebKitPrintOperation.h.
14309
14310 2012-02-16  Simon Hausmann  <simon.hausmann@nokia.com>
14311
14312         [Gtk][Efl][Qt] Move OpenGLShims out of cairo/ subdirectory
14313         https://bugs.webkit.org/show_bug.cgi?id=78800
14314
14315         Reviewed by Kenneth Rohde Christiansen.
14316
14317         * UIProcess/qt/LayerTreeHostProxyQt.cpp: Adjust to changed OpenGLShims.h
14318         location - no more cairo prefix needed.
14319
14320 2012-02-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
14321
14322         [Qt][WK2] Allow opaque tiles
14323         https://bugs.webkit.org/show_bug.cgi?id=78809
14324
14325         Set the supportsAlpha flag for TiledBackingStore when the layer has contentsOpaque enabled.
14326         Use the flag for ShareableBitmaps created by TiledBackingStore.
14327
14328         For now this will not have impact on performance/memory, because we allocate the same type
14329         of buffers for opaque and transparent tiles.
14330
14331         Reviewed by Kenneth Rohde Christiansen.
14332
14333         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
14334         (WebCore::WebGraphicsLayer::setContentsOpaque):
14335         (WebCore::WebGraphicsLayer::setContentsScale):
14336         (WebCore::WebGraphicsLayer::createBackingStore):
14337         (WebCore):
14338         (WebCore::WebGraphicsLayer::updateContentBuffers):
14339         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
14340         (WebGraphicsLayer):
14341         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
14342         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
14343
14344 2012-02-16  Sergio Villar Senin  <svillar@igalia.com>
14345
14346         [soup] Move important SoupSession feature initialization to WebCore
14347         https://bugs.webkit.org/show_bug.cgi?id=68602
14348
14349         Reviewed by Martin Robinson.
14350
14351         Moved content sniffer and decoder initialization from the
14352         WebProcess to WebCore because network stuff will not work as
14353         expected without them.
14354
14355         No new tests required as we're just moving stuff from the
14356         WebProcess to WebCore.
14357
14358         * WebProcess/gtk/WebProcessMainGtk.cpp:
14359         (WebKit::WebProcessMainGtk):
14360
14361 2012-02-16  Adenilson Cavalcanti  <cavalcantii@gmail.com>
14362
14363         [Qt][WK2] Split QWebPermissionRequest into QWebSecurityOrigin
14364         https://bugs.webkit.org/show_bug.cgi?id=73215
14365
14366         Reviewed by Kenneth Rohde Christiansen.
14367
14368         Introducing a new class to expose security origin information
14369         (port/scheme/etc), useful for inspecting the origin of permission
14370         requests.
14371
14372         * Target.pri:
14373         * UIProcess/API/qt/qtwebsecurityorigin.cpp: Added.
14374         (QtWebSecurityOrigin::QtWebSecurityOrigin):
14375         (QtWebSecurityOrigin::~QtWebSecurityOrigin):
14376         (QtWebSecurityOrigin::host):
14377         (QtWebSecurityOrigin::scheme):
14378         (QtWebSecurityOrigin::path):
14379         (QtWebSecurityOrigin::port):
14380         (QtWebSecurityOrigin::setHost):
14381         (QtWebSecurityOrigin::setScheme):
14382         (QtWebSecurityOrigin::setPath):
14383         (QtWebSecurityOrigin::setPort):
14384         * UIProcess/API/qt/qtwebsecurityorigin_p.h: Added.
14385         * UIProcess/API/qt/tests/qmltests/WebView/tst_origin.qml: Added.
14386         * UIProcess/API/qt/qwebpermissionrequest.cpp:
14387         (QWebPermissionRequestPrivate::QWebPermissionRequestPrivate):
14388         (QWebPermissionRequest::securityOrigin):
14389         * UIProcess/API/qt/qwebpermissionrequest_p.h:
14390         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
14391
14392 2012-02-16  Patrick Gansterer  <paroga@webkit.org>
14393
14394         [CMake] Add missing include directories.
14395
14396         * CMakeLists.txt:
14397
14398 2012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
14399
14400         [GTK] Document that local paths in html loaded with loadHTML might cause the web process to terminate
14401         https://bugs.webkit.org/show_bug.cgi?id=78719
14402
14403         Reviewed by Martin Robinson.
14404
14405         * UIProcess/API/gtk/WebKitWebView.cpp:
14406
14407 2012-02-15  Anders Carlsson  <andersca@apple.com>
14408
14409         Add TiledCoreAnimationDrawingArea::forceRepaint
14410         https://bugs.webkit.org/show_bug.cgi?id=78749
14411         <rdar://problem/10866221>
14412
14413         Reviewed by Sam Weinig.
14414
14415         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
14416         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
14417         (WebKit::TiledCoreAnimationDrawingArea::forceRepaint):
14418         Force a repaint and synchronize the layer tree to the UI process.
14419
14420 2012-02-15  Enrica Casucci  <enrica@apple.com>
14421
14422         Refactor ClipboardMac class to use PlatformStrategies.
14423         https://bugs.webkit.org/show_bug.cgi?id=78554
14424
14425         Reviewed by Anders Carlsson.
14426
14427         * WebProcess/WebCoreSupport/WebDragClient.h: Changed method signature to reference
14428         the pasteboard by name.
14429         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added new methods.
14430         (WebKit::WebPlatformStrategies::changeCount):
14431         (WebKit::WebPlatformStrategies::uniqueName):
14432         * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Ditto.
14433         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
14434         (WebKit::WebDragClient::declareAndWriteDragImage): Changed method signature to reference
14435         the pasteboard by name.
14436
14437 2012-02-15  Sadrul Habib Chowdhury  <sadrul@chromium.org>
14438
14439         Notify ChromeClient when touch-event handlers are installed/removed.
14440         https://bugs.webkit.org/show_bug.cgi?id=77440
14441
14442         Reviewed by Darin Fisher and Ryosuke Niwa.
14443
14444         * UIProcess/WebPageProxy.h:
14445         (WebKit::WebPageProxy::numTouchEventHandlersChanged):
14446         * WebProcess/WebCoreSupport/WebChromeClient.h:
14447
14448 2012-02-15  Patrick Gansterer  <paroga@webkit.org>
14449
14450         [CMake] Move RunLoop to WebCore/platform
14451         https://bugs.webkit.org/show_bug.cgi?id=78504
14452
14453         Reviewed by Adam Roben.
14454
14455         * CMakeLists.txt: Remove RunLoop.cpp from list of souces.
14456
14457 2012-02-14  Simon Hausmann  <simon.hausmann@nokia.com>
14458
14459         [Qt] Eliminate first set of QtWidgets dependencies from WebCore
14460         https://bugs.webkit.org/show_bug.cgi?id=78611
14461
14462         Reviewed by Kenneth Rohde Christiansen.
14463
14464         * UIProcess/qt/QtWebPageEventHandler.cpp: Add missing QCursor include
14465         to fix compilation.
14466
14467 2012-02-15  Roland Steiner  <rolandsteiner@chromium.org>
14468
14469         <style scoped>: Allow <style scoped> as a direct child of a ShadowRoot
14470         https://bugs.webkit.org/show_bug.cgi?id=77853
14471
14472         numberOfScopedHTMLStyleChildren got moved from Element into Node.
14473
14474         Reviewed by Dimitri Glazkov.
14475
14476         * win/WebKit2.def:
14477         * win/WebKit2CFLite.def:
14478
14479 2012-02-15  No'am Rosenthal  <noam.rosenthal@nokia.com>
14480
14481         [Texmap] Divide TextureMapperNode.cpp to 3 files.
14482         https://bugs.webkit.org/show_bug.cgi?id=76660
14483
14484         Rename TextureMapperNode to TextureMapperLayer.
14485
14486         Reviewed by Kenneth Rohde Christiansen.
14487
14488         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
14489         (WebKit::LayerTreeHostProxy::createLayer):
14490         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
14491         (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
14492         (WebKit::LayerTreeHostProxy::getBackingStore):
14493         (WebKit::LayerTreeHostProxy::ensureRootLayer):
14494         (WebKit::LayerTreeHostProxy::purgeGLResources):
14495
14496 2012-02-14  Anders Carlsson  <andersca@apple.com>
14497
14498         Swipe gestures don't work if main frame has a horizontal scrollbar
14499         https://bugs.webkit.org/show_bug.cgi?id=78650
14500         <rdar://problem/10864993>
14501
14502         Reviewed by Sam Weinig.
14503
14504         * WebProcess/WebPage/EventDispatcher.cpp:
14505         (WebKit::EventDispatcher::wheelEvent):
14506         ScrollingTree::tryToHandleWheelEvent now returns a tri-state enum so handle the extra case.
14507
14508         (WebKit::EventDispatcher::sendDidReceiveEvent):
14509         Rename this now that it takes a parameter indicating whether the event was handled or not.
14510
14511 2012-02-14  Brian Weinstein  <bweinstein@apple.com>
14512
14513         Web Inspector: Add the ability to show the resources panel on launch
14514         https://bugs.webkit.org/show_bug.cgi?id=78641
14515         
14516         Add WebKit2 API for the ability to show the resources panel. This calls down
14517         from the WK API all the way to InspectorFrontendClientLocal::showResources.
14518
14519         Reviewed by Timothy Hatcher.
14520
14521         * UIProcess/API/C/WKInspector.cpp:
14522         (WKInspectorShowResources): Call WebInspectorProxy::showResources.
14523         * UIProcess/API/C/WKInspector.h:
14524         * UIProcess/WebInspectorProxy.cpp:
14525         (WebKit::WebInspectorProxy::showResources): Send a message to the web process.
14526         * UIProcess/WebInspectorProxy.h:
14527         * WebProcess/WebPage/WebInspector.cpp:
14528         (WebKit::WebInspector::showResources): Call InspectorFrontendClientLocal::showResources.
14529         * WebProcess/WebPage/WebInspector.h:
14530         * WebProcess/WebPage/WebInspector.messages.in: Add a ShowResources message.
14531
14532 2012-02-14  Matt Lilek  <mrl@apple.com>
14533
14534         Don't ENABLE_DASHBOARD_SUPPORT unconditionally on all Mac platforms
14535         https://bugs.webkit.org/show_bug.cgi?id=78629
14536
14537         Reviewed by David Kilzer.
14538
14539         * Configurations/FeatureDefines.xcconfig:
14540
14541 2012-02-13  Raphael Kubo da Costa  <kubo@profusion.mobi>
14542
14543         [CMake] Merge WebKitEfl.cmake into FindEFL.cmake.
14544         https://bugs.webkit.org/show_bug.cgi?id=78566
14545
14546         Reviewed by Daniel Bates.
14547
14548         * PlatformEfl.cmake: Do not include WebKitEfl.cmake.
14549
14550 2012-02-14  No'am Rosenthal  <noam.rosenthal@nokia.com>
14551
14552         [Qt][Texmap] Refactor backing-store code in TextureMapper
14553         https://bugs.webkit.org/show_bug.cgi?id=78305
14554
14555         Move the backing-store code to LayerTreeBackingStore, implementing the virtual functions
14556         in TextureMapperBackingStore.
14557         We save the double-buffered tile in the backing-store, and then convert them to regular
14558         tiles in updateContents, based on the order of painting.
14559         Use TextureMapperCompositedImage for images instead of saving our own composited image
14560         registry.
14561
14562         Reviewed by Kenneth Rohde Christiansen.
14563
14564         * Target.pri:
14565         * UIProcess/LayerTreeHostProxy.h:
14566         (WebKit):
14567         (LayerTreeHostProxy):
14568         * UIProcess/qt/LayerBackingStore.cpp: Added.
14569         * UIProcess/qt/LayerBackingStore.h: Added.
14570         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
14571         (WebKit::LayerTreeHostProxy::createLayer):
14572         (WebKit::LayerTreeHostProxy::syncLayerParameters):
14573         (WebKit::LayerTreeHostProxy::getBackingStore):
14574         (WebKit::LayerTreeHostProxy::createTile):
14575         (WebKit::LayerTreeHostProxy::removeTile):
14576         (WebKit::LayerTreeHostProxy::updateTile):
14577         (WebKit::LayerTreeHostProxy::createImage):
14578         (WebKit::LayerTreeHostProxy::assignImageToLayer):
14579         (WebKit::LayerTreeHostProxy::purgeGLResources):
14580         * WebProcess.pro:
14581
14582
14583 2012-02-14  Shinya Kawanaka  <shinyak@google.com>
14584
14585         Use youngestShadowRoot and oldestShadowRoot instead of Element::shadowRoot().
14586         https://bugs.webkit.org/show_bug.cgi?id=78455
14587
14588         Reviewed by Hajime Morita.
14589
14590         Exports necesarry symbols.
14591
14592         * win/WebKit2.def:
14593         * win/WebKit2CFLite.def:
14594
14595 2012-02-14  Alexey Proskuryakov  <ap@apple.com>
14596
14597         [Mac][Win][WK2] Switch to RFC 6455 protocol for WebSockets
14598         https://bugs.webkit.org/show_bug.cgi?id=78541
14599         <rdar://problem/10036695>
14600
14601         Reviewed by Kent Tamura.
14602
14603         * Shared/WebPreferencesStore.h: (WebKit): Changed default value of the preference.
14604
14605 2012-02-13  W. James MacLean  <wjmaclean@chromium.org>
14606
14607         [chromium] Remove obsolete zoom animation pathway.
14608         https://bugs.webkit.org/show_bug.cgi?id=78359
14609
14610         Reviewed by James Robinson.
14611
14612         This patch removes dead code from the previous incarnation of zoom animation for chromium.
14613
14614         WebProcess/Plugins/PDF/BuiltInPDFView.h:
14615         (BuiltInPDFView):
14616
14617 2012-02-13  Enrica Casucci  <enrica@apple.com>
14618
14619         Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies.
14620         https://bugs.webkit.org/show_bug.cgi?id=78282
14621
14622         This patch removes any accesss to the NSPasteboard object from the Pasteboard class which
14623         now makes use of a new pasteboardStrategy object that is implemented both in WebKit and
14624         WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard
14625         class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy
14626         interface but this one more step in the direction of removing access to NSPasteboard from
14627         the WebProcess.
14628         As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes.
14629
14630         Reviewed by Anders Carlsson.
14631
14632         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added implementation of PasteboardStrategy
14633         interface.
14634         (WebKit::WebPlatformStrategies::createPasteboardStrategy):
14635         (WebKit::WebPlatformStrategies::getTypes):
14636         (WebKit::WebPlatformStrategies::bufferForType):
14637         (WebKit::WebPlatformStrategies::getPathnamesForType):
14638         (WebKit::WebPlatformStrategies::stringForType):
14639         (WebKit::WebPlatformStrategies::copy):
14640         (WebKit::WebPlatformStrategies::setTypes):
14641         (WebKit::WebPlatformStrategies::setBufferForType):
14642         (WebKit::WebPlatformStrategies::setPathnamesForType):
14643         (WebKit::WebPlatformStrategies::setStringForType):
14644         * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Added PasteboardStrategy.
14645
14646 2012-02-13  Anders Carlsson  <andersca@apple.com>
14647
14648         The scrolling tree needs to know about the back forward state of the page
14649         https://bugs.webkit.org/show_bug.cgi?id=78523
14650         <rdar://problem/10756548>
14651
14652         Reviewed by Sam Weinig.
14653
14654         Pass the back/forward state in the WheelEvent message. This is pretty hacky but works well.
14655
14656         * Platform/CoreIPC/HandleMessage.h:
14657         (CoreIPC):
14658         (CoreIPC::callMemberFunction):
14659         * UIProcess/WebPageProxy.cpp:
14660         (WebKit::WebPageProxy::handleWheelEvent):
14661         (WebKit::WebPageProxy::didReceiveEvent):
14662         * WebProcess/WebPage/EventDispatcher.cpp:
14663         (WebKit::EventDispatcher::wheelEvent):
14664         * WebProcess/WebPage/EventDispatcher.h:
14665         (EventDispatcher):
14666         * WebProcess/WebPage/EventDispatcher.messages.in:
14667
14668 2012-02-13  Dan Bernstein  <mitz@apple.com>
14669
14670         WebKit2 build emits a warning about not stripping code-signed PluginProcess.app when copying it into the framework
14671         https://bugs.webkit.org/show_bug.cgi?id=78451
14672
14673         Reviewed by Sam Weinig.
14674
14675         * Configurations/Base.xcconfig: Set COPY_PHASE_STRIP to NO.
14676
14677 2012-02-13  Sam Weinig  <sam@webkit.org>
14678
14679         Windows build fix.
14680
14681         * UIProcess/win/WebPopupMenuProxyWin.cpp:
14682         (WebKit::WebPopupMenuProxyWin::scrollToRevealSelection):
14683
14684 2012-02-13  Zalan Bujtas  <zbujtas@gmail.com>
14685
14686         Manage ShareableBitmap object lifecycle properly, when QImage is created
14687         using the shared data.
14688         https://bugs.webkit.org/show_bug.cgi?id=77546
14689
14690         Reviewed by Simon Hausmann.
14691
14692         * Shared/ShareableBitmap.h:
14693         (ShareableBitmap):
14694         * Shared/qt/ShareableBitmapQt.cpp:
14695         (WebKit::ShareableBitmap::createQImage):
14696         (WebKit):
14697         (WebKit::ShareableBitmap::releaseSharedMemoryData):
14698
14699 2012-02-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
14700
14701         [EFL] Drop support for the Curl network backend.
14702         https://bugs.webkit.org/show_bug.cgi?id=77874
14703
14704         Reviewed by Eric Seidel.
14705
14706         Nobody seems to be maintaining the Curl backend in WebCore, the
14707         EFL port developers all seem to be using the Soup backend and the
14708         port itself has many features which are only implemented for the
14709         latter.
14710
14711         * PlatformEfl.cmake: Unconditionally build the glib/soup source
14712         files and unconditionally add the required include directories and
14713         libraries.
14714         * WebProcess/efl/WebProcessMainEfl.cpp:
14715         (WebKit::WebProcessMainEfl): Remove USE(SOUP) check.
14716
14717 2012-02-11  Sheriff Bot  <webkit.review.bot@gmail.com>
14718
14719         Unreviewed, rolling out r107435.
14720         http://trac.webkit.org/changeset/107435
14721         https://bugs.webkit.org/show_bug.cgi?id=78410
14722
14723         It broke the Qt build (Requested by Ossy on #webkit).
14724
14725         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
14726         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
14727         (WebPlatformStrategies):
14728
14729 2012-02-10  Brian Weinstein  <bweinstein@apple.com>
14730
14731         Web Inspector: Add the ability to jump to the source for a given frame
14732         https://bugs.webkit.org/show_bug.cgi?id=78396
14733         
14734         Add WebKit2 API for the ability to show the source of a frame in the web inspector. This calls down
14735         from the WK API all the way to InspectorFrontendClientLocal::showMainResourceForFrame.
14736
14737         Reviewed by Tim Hatcher.
14738
14739         * UIProcess/API/C/WKInspector.cpp:
14740         (WKInspectorShowMainResourceForFrame): Call WebInspectorProxy::showMainResourceForFrame.
14741         * UIProcess/API/C/WKInspector.h:
14742
14743         * UIProcess/WebInspectorProxy.cpp:
14744         (WebKit::WebInspectorProxy::showMainResourceForFrame): Send a message to the web process, passing
14745             the frame ID of the frame we want to show the main resource of.
14746         * UIProcess/WebInspectorProxy.h:
14747
14748         * WebProcess/WebPage/WebInspector.cpp:
14749         (WebKit::WebInspector::showMainResourceForFrame): Get the WebFrame for the frame we want to show the
14750             main resource of from its ID. If we found a frame, call InspectorFrontendClientLocal::showMainResourceForFrame.
14751         * WebProcess/WebPage/WebInspector.h:
14752         
14753         * WebProcess/WebPage/WebInspector.messages.in: Add a new message.
14754
14755 2012-02-10  Adam Klein  <adamk@chromium.org>
14756
14757         Enable MUTATION_OBSERVERS by default on all platforms
14758         https://bugs.webkit.org/show_bug.cgi?id=78196
14759
14760         Reviewed by Ojan Vafai.
14761
14762         * Configurations/FeatureDefines.xcconfig:
14763
14764 2012-02-10  Enrica Casucci  <enrica@apple.com>
14765
14766         Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies.
14767         https://bugs.webkit.org/show_bug.cgi?id=78282
14768
14769         This patch removes any accesss to the NSPasteboard object from the Pasteboard class which
14770         now makes use of a new pasteboardStrategy object that is implemented both in WebKit and
14771         WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard
14772         class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy
14773         interface but this one more step in the direction of removing access to NSPasteboard from
14774         the WebProcess.
14775         As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes.
14776         
14777         Reviewed by Anders Carlsson.
14778
14779         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added implementation of PasteboardStrategy
14780         interface.
14781         (WebKit::WebPlatformStrategies::createPasteboardStrategy):
14782         (WebKit::WebPlatformStrategies::getTypes):
14783         (WebKit::WebPlatformStrategies::bufferForType):
14784         (WebKit::WebPlatformStrategies::getPathnamesForType):
14785         (WebKit::WebPlatformStrategies::stringForType):
14786         (WebKit::WebPlatformStrategies::copy):
14787         (WebKit::WebPlatformStrategies::setTypes):
14788         (WebKit::WebPlatformStrategies::setBufferForType):
14789         (WebKit::WebPlatformStrategies::setPathnamesForType):
14790         (WebKit::WebPlatformStrategies::setStringForType):
14791         * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Added PasteboardStrategy.
14792
14793 2012-02-09  Timothy Hatcher  <timothy@apple.com>
14794
14795         Prevent attaching when inspecting the Web Inspector.
14796
14797         Also adds some comments about keeping in sync with InspectorFrontendClientLocal::canAttachWindow
14798         and why there are two implementations of the same function.
14799
14800         https://webkit.org/b/78304
14801
14802         Reviewed by Brian Weinstein.
14803
14804         * UIProcess/WebInspectorProxy.cpp:
14805         (WebKit::WebInspectorProxy::canAttach): Prevent attaching when the page is an inspector page.
14806         Added comments about InspectorFrontendClientLocal::canAttachWindow.
14807         * UIProcess/WebInspectorProxy.h:
14808         (WebInspectorProxy): Added comment about keeping in sync with InspectorFrontendClientLocal.
14809
14810 2012-02-09  Alexey Proskuryakov  <ap@apple.com>
14811
14812         Managed network proxy settings are not used in WebProcess
14813         https://bugs.webkit.org/show_bug.cgi?id=78288
14814         <rdar://problem/9962116>
14815
14816         Reviewed by Anders Carlsson.
14817
14818         * WebProcess/com.apple.WebProcess.sb: Allow reading managed preferences.
14819
14820 2012-02-09  Alexey Proskuryakov  <ap@apple.com>
14821
14822         ASSERTION FAILED: checkURLReceivedFromWebProcess(originalURL) loading a local file, if the WebProcess crashed
14823         https://bugs.webkit.org/show_bug.cgi?id=70845
14824         <rdar://problem/10269985>
14825
14826         Reviewed by Anders Carlsson.
14827
14828         This also fixes some case where WebProcess did not get a sandbox extension after a crash.
14829
14830         * UIProcess/WebPageProxy.cpp:
14831         (WebKit::WebPageProxy::reattachToWebProcessWithItem): We no longer need to pass a sandbox
14832         extension here, we're now passing it at b/f navigation bottleneck.
14833         (WebKit::WebPageProxy::reload): Pass a sandbox extension - reload may mean reloading an error
14834         page after a crash, so WebProcess may no longer have the extension.
14835         (WebKit::WebPageProxy::goForward): We no longer need to pass a sandbox extension here,
14836         we're now passing it at b/f navigation bottleneck. Also, fixed a bug where we first null checked
14837         a WebBackForwardListItem pointer, and then used it anyway.
14838         (WebKit::WebPageProxy::goBack): Ditto.
14839         (WebKit::WebPageProxy::goToBackForwardItem): Ditto.
14840         (WebKit::WebPageProxy::backForwardGoToItem): This is the bottleneck. We get here both for UI
14841         actions like pressing the Back button, and for window.history.go() navigations. JS navigations
14842         previously didn't open up the sandbox. URLs in UI process b/f list are trusted, so it's
14843         always OK to grant a sandbox extension if one of them is a file: one.
14844
14845         * UIProcess/WebPageProxy.h: backForwardGoToItem() now returns a sandbox extension handle.
14846
14847         * UIProcess/WebPageProxy.messages.in: Ditto.
14848
14849         * UIProcess/WebProcessProxy.cpp:
14850         (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess): If a URL is in UI process b/f
14851         list, then it has been already vetted as something the Web process knows about. No need to
14852         crash if it actually attempts going there.
14853         (WebKit::WebProcessProxy::didReceiveInvalidMessage): Removed a useless comment (we have tons
14854         of fprintfs besides this one). Fixed log message syntax.
14855
14856         * UIProcess/cf/WebPageProxyCF.cpp: (WebKit::WebPageProxy::restoreFromSessionStateData):
14857         We no longer need to pass a sandbox extension here, we're now passing it at b/f navigation
14858         bottleneck. 
14859
14860         * WebProcess/WebPage/WebBackForwardListProxy.cpp: (WebKit::WebBackForwardListProxy::goToItem):
14861         We now get an extension here, when telling UI process that we're navigating to a b/f list item.
14862
14863         * WebProcess/WebPage/WebPage.cpp:
14864         (WebKit::WebPage::reload): Use the extension we're getting.
14865         (WebKit::WebPage::goForward): Don't use one we're not getting.
14866         (WebKit::WebPage::goBack): Ditto.
14867         (WebKit::WebPage::goToBackForwardItem): Ditto.
14868         (WebKit::WebPage::restoreSessionAndNavigateToCurrentItem): Ditto.
14869
14870         * WebProcess/WebPage/WebPage.h: Adjusted signatures accordingly.
14871
14872         * WebProcess/WebPage/WebPage.messages.in: Ditto.
14873
14874 2012-02-09  Matthew Delaney  <mdelaney@apple.com>
14875
14876         HiDPI: WebKit2's drag images are blurry
14877         https://bugs.webkit.org/show_bug.cgi?id=67779
14878
14879         Use the proper deviceScaleFactor() instead of accessing _intrinsicDeviceScaleFactor
14880
14881         Reviewed by Beth Dakin.
14882
14883         * UIProcess/API/mac/WKView.mm:
14884         (-[WKView _setDragImage:at:linkDrag:]):
14885
14886 2012-02-09  Alexey Proskuryakov  <ap@apple.com>
14887
14888         [WK2] Allow reading some debug-only preference files
14889         https://bugs.webkit.org/show_bug.cgi?id=78255
14890         <rdar://problem/9382382>
14891         <rdar://problem/10830558>
14892
14893         Reviewed by Dan Bernstein.
14894
14895         * WebProcess/com.apple.WebProcess.sb:
14896
14897 2012-02-09  Matthew Delaney  <mdelaney@apple.com>
14898
14899         HiDPI: WebKit2's link-dragging images are blurry
14900         https://bugs.webkit.org/show_bug.cgi?id=67779
14901
14902         Reviewed by Beth Dakin.
14903
14904         Teach startDrag about the deviceScaleFactor so that it creates
14905         an appropriately scaled bitmap image to ship over.
14906         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
14907         (WebKit::WebDragClient::startDrag):
14908         (WebKit::convertImageToBitmap):
14909
14910         Have setDragImage assume that it's receiving a bitmap image scaled
14911         up by the deviceScaleFactor that it sees.
14912         * UIProcess/API/mac/WKView.mm:
14913         (-[WKView _setDragImage:at:linkDrag:]):
14914
14915 2012-02-09  Carlos Garcia Campos  <cgarcia@igalia.com>
14916
14917         [GTK] Add WebKitWebView::mouse-target-changed signal to WebKit2 GTK+ API
14918         https://bugs.webkit.org/show_bug.cgi?id=78097
14919
14920         Reviewed by Martin Robinson.
14921
14922         * GNUmakefile.am: Add new files to compilation.
14923         * UIProcess/API/gtk/WebKitHitTestResult.cpp: Added.
14924         (webkitHitTestResultFinalize):
14925         (webkitHitTestResultGetProperty):
14926         (webkitHitTestResultSetProperty):
14927         (webkit_hit_test_result_init):
14928         (webkit_hit_test_result_class_init):
14929         (webkitHitTestResultCreate): Create a new WebKitHitTestResult for
14930         the given WKHitTestResult.
14931         (stringIsEqualToCString): Helper function to compare String and
14932         CString considering String::isEmpty() == CString.isNull().
14933         (webkitHitTestResultCompare): Helper function to check whether a
14934         WebKitHitTestResult contains the same information than the given
14935         WKHitTestResult.
14936         (webkit_hit_test_result_get_context):
14937         (webkit_hit_test_result_context_is_link):
14938         (webkit_hit_test_result_context_is_image):
14939         (webkit_hit_test_result_context_is_media):
14940         (webkit_hit_test_result_get_link_uri):
14941         (webkit_hit_test_result_get_link_title):
14942         (webkit_hit_test_result_get_link_label):
14943         (webkit_hit_test_result_get_image_uri):
14944         (webkit_hit_test_result_get_media_uri):
14945         * UIProcess/API/gtk/WebKitHitTestResult.h: Added.
14946         * UIProcess/API/gtk/WebKitHitTestResultPrivate.h:
14947         * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
14948         (webkitNavigationPolicyDecisionCreate): Use
14949         wkEventModifiersToGdkModifiers.
14950         * UIProcess/API/gtk/WebKitPrivate.cpp:
14951         (wkEventModifiersToGdkModifiers): Moved from
14952         WebKitNavigationPolicyDecision and renamed to wkEventModifiersToGdkModifiers.
14953         * UIProcess/API/gtk/WebKitPrivate.h:
14954         * UIProcess/API/gtk/WebKitUIClient.cpp:
14955         (mouseDidMoveOverElement): UI client callback that calls
14956         webkitWebViewMouseTargetChanged().
14957         (attachUIClientToView): Add implementation for callback
14958         mouseDidMoveOverElement.
14959         * UIProcess/API/gtk/WebKitWebView.cpp:
14960         (webkit_web_view_class_init): Add
14961         WebKitWebView::mouse-target-changed signal.
14962         (webkitWebViewMouseTargetChanged): Emit
14963         WebKitWebView::mouse-target-changed signal.
14964         * UIProcess/API/gtk/WebKitWebView.h:
14965         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
14966         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
14967         WebKitHitTestResult.
14968         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
14969         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
14970         (testWebViewMouseTarget):
14971         (beforeAll):
14972         * UIProcess/API/gtk/tests/WebViewTest.cpp:
14973         (WebViewTest::WebViewTest):
14974         (WebViewTest::~WebViewTest):
14975         (parentWindowMapped):
14976         (WebViewTest::showInWindowAndWaitUntilMapped): Method to add the
14977         view into a popup window and show it running the main loop until
14978         the window is mapped.
14979         (WebViewTest::mouseMoveTo): Method to synthesize a
14980         GDK_MOTION_EVENT on the given coordinates and using the given
14981         modifiers.
14982         * UIProcess/API/gtk/tests/WebViewTest.h:
14983         * UIProcess/API/gtk/webkit2.h: Include WebKitHitTestResult.h.
14984         * UIProcess/API/gtk/webkit2marshal.list:
14985
14986 2012-02-07  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
14987
14988         [Qt] Fetch the visible rect from LayerTreeHost instead of keeping a copy in each layer.
14989         https://bugs.webkit.org/show_bug.cgi?id=78009
14990
14991         Reviewed by Noam Rosenthal.
14992
14993         Since WebGraphicsLayers are now accessed directly from LayerTreeHost, they don't
14994         need to keep the visible rect to pass it down their child layers anymore.
14995
14996         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
14997         (WebCore::WebGraphicsLayer::setContentsScale):
14998         (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
14999         (WebCore::WebGraphicsLayer::adjustVisibleRect):
15000         (WebCore):
15001         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
15002         (WebGraphicsLayerClient):
15003         (WebGraphicsLayer):
15004         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
15005         (WebKit::LayerTreeHostQt::registerLayer):
15006         (WebKit::LayerTreeHostQt::visibleContentsRect):
15007         (WebKit):
15008         (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
15009         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
15010         (LayerTreeHostQt):
15011
15012 2012-02-09  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
15013
15014         [Qt] Control the lifetime of TiledBackingStores in WebGraphicsLayer.
15015         https://bugs.webkit.org/show_bug.cgi?id=78005
15016
15017         Reviewed by Noam Rosenthal.
15018
15019         This makes sure that no empty tiles are generated for layers without contents and that
15020         no interaction is made with the TiledBackingStore until we got a WebGraphicsLayerClient.
15021
15022         - Create the main TiledBackingStore only when the layer has drawsContent and has no
15023           directly composited image
15024         - Removed recreateBackingStoreIfNeeded and do the (re)creation of the backing stores
15025           in updateContentBuffers
15026         - Call purgeBackingStores on registered layers instead of passing it down the layer tree
15027
15028         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
15029         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
15030         (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
15031         (WebCore::WebGraphicsLayer::setDrawsContent):
15032         (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
15033         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
15034         (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
15035         (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
15036         (WebCore::WebGraphicsLayer::updateContentBuffers):
15037         (WebCore::WebGraphicsLayer::purgeBackingStores):
15038         (WebCore::WebGraphicsLayer::setWebGraphicsLayerClient):
15039         (WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
15040         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
15041         (WebGraphicsLayer):
15042         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
15043         (WebKit::LayerTreeHostQt::LayerTreeHostQt):
15044         (WebKit::LayerTreeHostQt::flushPendingLayerChanges):
15045         (WebKit):
15046         (WebKit::LayerTreeHostQt::purgeBackingStores):
15047         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
15048         (LayerTreeHostQt):
15049
15050 2012-02-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
15051
15052         [Qt] Remove WebGraphicsLayer::updateTileBuffersRecursively
15053         https://bugs.webkit.org/show_bug.cgi?id=78105
15054
15055         Reviewed by Kenneth Rohde Christiansen.
15056
15057         The method is unused.
15058
15059         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
15060         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
15061         (WebGraphicsLayer):
15062
15063 2012-02-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
15064
15065         [Qt] Register individual WebGraphicsLayers to LayerTreeHost instead of handling the tree as a whole.
15066         https://bugs.webkit.org/show_bug.cgi?id=77976
15067
15068         Reviewed by Kenneth Rohde Christiansen.
15069
15070         The LayerTreeHost association had to be maintained between re-parented layers and it would be
15071         impossible to know if the layer would be disconnected from the LayerTreeHost only for reparenting
15072         or disconnected for good (in other words, that the LayerTreeHost could be deleted meanwhile).
15073
15074         Instead, this patch assumes that graphics layers will only be in contact with one instance of
15075         LayerTreeHost, and that this association can be kept until either the graphics layer or the layer
15076         tree host gets deleted.
15077
15078         The registered layers are kept in a set and the visible rect and scales are passed directly
15079         to layers instead of down the tree, through the root layer.
15080
15081         This also fixes the !m_layerInfo.imageBackingStoreID ASSERT that was popping in unit tests.
15082
15083         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
15084         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
15085         (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
15086         (WebCore::WebGraphicsLayer::setChildren):
15087         (WebCore::WebGraphicsLayer::addChild):
15088         (WebCore::WebGraphicsLayer::addChildAtIndex):
15089         (WebCore::WebGraphicsLayer::addChildAbove):
15090         (WebCore::WebGraphicsLayer::addChildBelow):
15091         (WebCore::WebGraphicsLayer::replaceChild):
15092         (WebCore::WebGraphicsLayer::removeFromParent):
15093         (WebCore::WebGraphicsLayer::setContentsToImage):
15094         (WebCore::WebGraphicsLayer::setMaskLayer):
15095         (WebCore::WebGraphicsLayer::setReplicatedByLayer):
15096         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
15097         (WebCore::WebGraphicsLayer::setVisibleContentRectAndScale):
15098         (WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed):
15099         (WebCore::WebGraphicsLayer::createTile):
15100         (WebCore::WebGraphicsLayer::updateTile):
15101         (WebCore::WebGraphicsLayer::removeTile):
15102         (WebCore::WebGraphicsLayer::updateContentBuffers):
15103         (WebCore::WebGraphicsLayer::purgeBackingStores):
15104         (WebCore::WebGraphicsLayer::setWebGraphicsLayerClient):
15105         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
15106         (WebCore):
15107         (WebGraphicsLayerClient):
15108         (WebGraphicsLayer):
15109         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
15110         (WebKit::LayerTreeHostQt::~LayerTreeHostQt):
15111         (WebKit::LayerTreeHostQt::LayerTreeHostQt):
15112         (WebKit::LayerTreeHostQt::attachLayer):
15113         (WebKit):
15114         (WebKit::LayerTreeHostQt::detachLayer):
15115         (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
15116         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
15117         (LayerTreeHostQt):
15118
15119 2012-02-07  Andras Becsi  <andras.becsi@nokia.com>
15120
15121         [Qt][WK2] WebView should use Flickable instead of QScroller to handle positioning
15122         https://bugs.webkit.org/show_bug.cgi?id=76275
15123
15124         Reviewed by Simon Hausmann and Kenneth Rohde Christiansen.
15125
15126         The current WebView implementation uses QScroller to manage positioning but other
15127         similar items in QML (ie. ListView, GridView) use Flickable as their base class.
15128         Since QScroller will be dropped from Qt5 this patch removes the QScroller code
15129         and redirects pan gestures to a dynamically created encapsulated Flickable instance
15130         (QtFlickProvider) which handles the positioning.
15131
15132         This implementation only uses public QML API and does not depend on declarative-private.
15133         It propagates a small subset of the Flickable API as the public API of the WebView.
15134         This minimalistic API is accessible via the experimental extension and makes it possible
15135         in QML to place additional items (such as toolbars, scroll indicators and floating menus)
15136         aroud the page.
15137         These items can use anchoring and binding for positioning on the flickable contentItem.
15138
15139         The patch depends however on the automatic touch->mouse event synthetization of Qt5.
15140         The touch events sent to the flickProvider are translated to mouse events automatically
15141         as long as the Flickable does not handle touch events directly.
15142
15143         After this change QtWebKit2 does no longer depend on QtWidgets and this dependency can be
15144         removed in a follow-up patch.
15145
15146         * Target.pri: Added QtFlickProvider source.
15147         * UIProcess/API/qt/qquickwebpage.cpp:
15148         (QQuickWebPagePrivate::paintToCurrentGLContext):
15149         (QQuickWebPage::transformToItem):
15150         (QQuickWebPagePrivate::updateSize):
15151         * UIProcess/API/qt/qquickwebview.cpp:
15152         (QQuickWebViewPrivate::QQuickWebViewPrivate):
15153         (QQuickWebViewPrivate::pageItemPos):
15154         (QQuickWebViewFlickablePrivate::pageItemPos):
15155         (QQuickWebViewFlickablePrivate::updateContentsSize):
15156         (QQuickWebViewFlickablePrivate::onComponentComplete):
15157         (QQuickWebViewFlickablePrivate::updateViewportSize):
15158         (QQuickWebViewExperimental::flickableData):
15159         (QQuickWebViewExperimental::contentItem):
15160         (QQuickWebViewExperimental::contentWidth):
15161         (QQuickWebViewExperimental::setContentWidth):
15162         (QQuickWebViewExperimental::contentHeight):
15163         (QQuickWebViewExperimental::setContentHeight):
15164         (QQuickWebViewExperimental::contentX):
15165         (QQuickWebViewExperimental::setContentX):
15166         (QQuickWebViewExperimental::contentY):
15167         (QQuickWebViewExperimental::setContentY):
15168         (QQuickWebView::pageItemPos):
15169         (QQuickWebView::updateContentsSize):
15170         * UIProcess/API/qt/qquickwebview_p.h:
15171         * UIProcess/API/qt/qquickwebview_p_p.h:
15172         (QQuickWebViewPrivate):
15173         (QQuickWebViewPrivate::updateContentsSize):
15174         (QQuickWebViewFlickablePrivate):
15175         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
15176         (tst_QQuickWebView::scrollRequest):
15177         * UIProcess/qt/QtFlickProvider.cpp: Added.
15178         (QtFlickProvider::QtFlickProvider):
15179         (QtFlickProvider::handleTouchFlickEvent):
15180         (QtFlickProvider::contentItem):
15181         (QtFlickProvider::flickableData):
15182         (QtFlickProvider::contentPos):
15183         (QtFlickProvider::setContentPos):
15184         (QtFlickProvider::viewportSize):
15185         (QtFlickProvider::setViewportSize):
15186         (QtFlickProvider::returnToBounds):
15187         (QtFlickProvider::cancelFlick):
15188         (QtFlickProvider::isMoving):
15189         (QtFlickProvider::isDragging):
15190         (QtFlickProvider::isFlicking):
15191         (QtFlickProvider::contentWidth):
15192         (QtFlickProvider::setContentWidth):
15193         (QtFlickProvider::contentHeight):
15194         (QtFlickProvider::setContentHeight):
15195         (QtFlickProvider::contentX):
15196         (QtFlickProvider::setContentX):
15197         (QtFlickProvider::contentY):
15198         (QtFlickProvider::setContentY):
15199         * UIProcess/qt/QtFlickProvider.h: Added.
15200         (QtFlickProvider):
15201         * UIProcess/qt/QtPanGestureRecognizer.cpp:
15202         (WebKit::QtPanGestureRecognizer::recognize):
15203         * UIProcess/qt/QtPanGestureRecognizer.h:
15204         (QtPanGestureRecognizer):
15205         * UIProcess/qt/QtViewportInteractionEngine.cpp:
15206         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
15207         (WebKit::QtViewportInteractionEngine::setItemRectVisible):
15208         (WebKit::QtViewportInteractionEngine::scrollStateChanged):
15209         (WebKit):
15210         (WebKit::QtViewportInteractionEngine::wheelEvent):
15211         (WebKit::QtViewportInteractionEngine::reset):
15212         (WebKit::QtViewportInteractionEngine::applyConstraints):
15213         (WebKit::QtViewportInteractionEngine::scrollAnimationActive):
15214         (WebKit::QtViewportInteractionEngine::panGestureActive):
15215         (WebKit::QtViewportInteractionEngine::panGestureStarted):
15216         (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
15217         (WebKit::QtViewportInteractionEngine::panGestureCancelled):
15218         (WebKit::QtViewportInteractionEngine::panGestureEnded):
15219         (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
15220         (WebKit::QtViewportInteractionEngine::scaleContent):
15221         * UIProcess/qt/QtViewportInteractionEngine.h:
15222         (QtViewportInteractionEngine):
15223         * UIProcess/qt/QtWebPageEventHandler.cpp:
15224         (QtWebPageEventHandler::doneWithTouchEvent):
15225
15226 2012-02-08  Keunsoon Lee  <keunsoon.lee@samsung.com>
15227
15228         [WK2][EFL] creating dummy class derived from ResourceHandleClient for Efl download module.
15229         https://bugs.webkit.org/show_bug.cgi?id=76171
15230
15231         Reviewed by Andreas Kling.
15232
15233         FileDownloaderEfl is a practical class to operate file download.
15234         It communicates with Download class to start download
15235         and to notify downloading states to user(e.g. client application).
15236         Besides FileDownloaderEfl derives from ResourceHandleClient
15237         and receives chunked data from ResourceHandle directly
15238         or redirects data flow which is started from MainResourceLoader
15239         by mean of exchanging ResourceHandle's existing client for FileDownloaderEfl.
15240
15241         This patch has only dummy functions to make easy to review.
15242         Working patch will be uploaded on another bug thread.
15243
15244         * PlatformEfl.cmake: added new file to compile.
15245         * WebProcess/Downloads/Download.h: added FileDownloaderEfl's instance as a form of OwnPtr<FileDownloaderEfl>.
15246         (WebKit):
15247         (Download):
15248         * WebProcess/Downloads/efl/DownloadEfl.cpp:
15249         (WebKit::Download::start): calling to FileDownloaderEfl::start() to start download for passing ResourceRequest.
15250         * WebProcess/Downloads/efl/FileDownloaderEfl.cpp: Added. a practical class to operate file download.
15251         (WebKit):
15252         (WebKit::FileDownloaderEfl::create): create function, which returns PassOwnPtr<FileDownloaderEfl>.
15253         (WebKit::FileDownloaderEfl::FileDownloaderEfl): constructor, which receives Download* as a parameter.
15254         (WebKit::FileDownloaderEfl::~FileDownloaderEfl): deconstructor.
15255         (WebKit::FileDownloaderEfl::start): a function to start downloading for passed ResourceRequest.
15256         It does nothing for now, but shows how Download class can call FileDownloaderEfl's function.
15257         (WebKit::FileDownloaderEfl::didReceiveResponse): virtual function for ResourceHandleClient.
15258         It will receive response header information from ResourceHandle.
15259         (WebKit::FileDownloaderEfl::didReceiveData): virtual function for ResourceHandleClient.
15260         It will receive chunk data from ResourceHandle.
15261         (WebKit::FileDownloaderEfl::didFinishLoading): virtual function for ResourceHandleClient.
15262         It will be notified loading is finished from ResourceHandle.
15263         (WebKit::FileDownloaderEfl::didFail): virtual function for ResourceHandleClient.
15264         It will be notified loading is fail with ResourceError from ResourceHandle.
15265         (WebKit::FileDownloaderEfl::shouldUseCredentialStorage): virtual function for ResourceHandleClient.
15266         It returns whether to use credential storage or not.
15267         (WebKit::FileDownloaderEfl::didReceiveAuthenticationChallenge): virtual function for ResourceHandleClient.
15268         It will receive AuthenticationChallenge.
15269         (WebKit::FileDownloaderEfl::didCancelAuthenticationChallenge): virtual function for ResourceHandleClient.
15270         It will be notified AuthenticationChallenge is canceled.
15271         (WebKit::FileDownloaderEfl::receivedCancellation): virtual function for ResourceHandleClient.
15272         * WebProcess/Downloads/efl/FileDownloaderEfl.h: Added.
15273         (WebCore):
15274         (WebKit):
15275         (FileDownloaderEfl):
15276
15277 2012-02-07  MORITA Hajime  <morrita@google.com>
15278
15279         Replacement text should be available from the marker.
15280         https://bugs.webkit.org/show_bug.cgi?id=77934
15281
15282         Reviewed by Kent Tamura.
15283
15284         * win/WebKit2.def:
15285         * win/WebKit2CFLite.def:
15286
15287 2012-02-08  Anders Carlsson  <andersca@apple.com>
15288
15289         Don't use the wheel event handler count to track if a page has horizontal scrollbars
15290         https://bugs.webkit.org/show_bug.cgi?id=78192
15291
15292         Reviewed by Andreas Kling.
15293
15294         Prior to this change, we were incrementing and decrementing the wheel event handler count
15295         whenever a scrollable area gained or lost a horizontal scrollbar, so we could use the count
15296         to determine if Safari can handle horizontal wheel events directly or whether they have to be sent
15297         to the web process first.
15298
15299         What this meant was that whenever a page had horizontal scrollbars we'd have to send all scroll wheel events
15300         to the main thread instead of the scrolling thread, regardless of whether there were any wheel event handlers.
15301         
15302         After this change, we traverse the tree of scrollable areas after every layout and check if any of them
15303         have a horizontal scrollbar. (We still also check if there are wheel event handlers).
15304
15305         If traversing the tree after every layout is deemed to slow we can go back to caching the number of horizontal scrollbars
15306         in a page, but the number of subframes in a page is usually very small and the number of other scrollable areas is even smaller.
15307
15308         * UIProcess/WebPageProxy.cpp:
15309         (WebKit::WebPageProxy::WebPageProxy):
15310         (WebKit::WebPageProxy::willHandleHorizontalScrollEvents):
15311         * UIProcess/WebPageProxy.h:
15312         (WebKit::WebPageProxy::setCanShortCircuitHorizontalWheelEvents):
15313         (WebPageProxy):
15314         * UIProcess/WebPageProxy.messages.in:
15315         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
15316         (WebKit::WebChromeClient::numWheelEventHandlersChanged):
15317         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
15318         (WebKit::WebFrameLoaderClient::dispatchDidLayout):
15319         * WebProcess/WebPage/WebPage.cpp:
15320         (WebKit::WebPage::WebPage):
15321         (WebKit::WebPage::numWheelEventHandlersChanged):
15322         (WebKit):
15323         (WebKit::hasEnabledHorizontalScrollbar):
15324         (WebKit::pageContainsAnyHorizontalScrollbars):
15325         (WebKit::WebPage::recomputeShortCircuitHorizontalWheelEventsState):
15326         * WebProcess/WebPage/WebPage.h:
15327         (WebPage):
15328
15329 2012-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>
15330
15331         Unreviewed, rolling out r106920, r106924, r106933, r106939,
15332         and r107090.
15333         http://trac.webkit.org/changeset/106920
15334         http://trac.webkit.org/changeset/106924
15335         http://trac.webkit.org/changeset/106933
15336         http://trac.webkit.org/changeset/106939
15337         http://trac.webkit.org/changeset/107090
15338         https://bugs.webkit.org/show_bug.cgi?id=78124
15339
15340         Something is completely wrong this change (Requested by
15341         Ossy_gardener on #webkit).
15342
15343         * Shared/WebProcessCreationParameters.cpp:
15344         (WebKit::WebProcessCreationParameters::encode):
15345         (WebKit::WebProcessCreationParameters::decode):
15346         * Shared/WebProcessCreationParameters.h:
15347         (WebProcessCreationParameters):
15348         * UIProcess/WebContext.cpp:
15349         (WebKit::WebContext::WebContext):
15350         * UIProcess/qt/WebContextQt.cpp:
15351         (WebKit::WebContext::platformInitializeWebProcess):
15352         * WebProcess/qt/WebProcessQt.cpp:
15353         (WebKit):
15354         (WebKit::WebProcess::platformSetCacheModel):
15355         (WebKit::WebProcess::platformInitializeWebProcess):
15356
15357 2012-02-08  Carlos Garcia Campos  <cgarcia@igalia.com>
15358
15359         [GTK] Fix a crash when WebKitWebView is created without a WebContext
15360         https://bugs.webkit.org/show_bug.cgi?id=78104
15361
15362         Reviewed by Philippe Normand.
15363
15364         * UIProcess/API/gtk/WebKitWebView.cpp:
15365         (webkitWebViewSetProperty): Make sure WebKitWebView:web-context
15366         property is initialized to the default web context when a web
15367         context is not passed to g_object_new().
15368         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
15369         (testWebViewDefaultContext): Check that a web view created with
15370         g_object_new has the default context.
15371
15372 2012-02-08  Michael Brüning  <michael.bruning@nokia.com>
15373
15374         [Qt][WK2] Compute and set cache capacities using the current CacheModel
15375         https://bugs.webkit.org/show_bug.cgi?id=73918
15376
15377         Reviewed by Kenneth Rohde Christiansen.
15378
15379         * UIProcess/WebContext.cpp:
15380         (WebKit::WebContext::WebContext): Set default cacheModel for Qt platform to
15381         CacheModelPrimaryWebBrowser.
15382
15383 2012-02-08  Carlos Garcia Campos  <cgarcia@igalia.com>
15384
15385         [GTK] Fix WebKitWebView::decide-policy API documentation
15386         https://bugs.webkit.org/show_bug.cgi?id=78101
15387
15388         Reviewed by Martin Robinson.
15389
15390         - It refers to WebKitPolicyClient instead of WebKitWebView
15391         - Trailing ':' is missing
15392         - References @decision as WebKitNavigationPolicyDecision instead
15393         of WebKitPolicyDecision
15394
15395         * UIProcess/API/gtk/WebKitWebView.cpp:
15396         (webkit_web_view_class_init):
15397
15398 2012-02-08  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
15399
15400         [Qt] Build broken if qt missing openssl
15401         https://bugs.webkit.org/show_bug.cgi?id=77894
15402
15403         Reviewed by Chang Shu.
15404
15405         Build fix. No new test content. 
15406
15407         * WebProcess/qt/QtNetworkAccessManager.cpp:
15408         (WebKit::QtNetworkAccessManager::onSslErrors):
15409
15410 2012-02-08  Yael Aharon  <yael.aharon@nokia.com>
15411
15412         [WK2] Text notifications should have an iconURL
15413         https://bugs.webkit.org/show_bug.cgi?id=77968
15414
15415         Reviewed by Simon Hausmann.
15416         
15417         Per http://www.w3.org/TR/notifications simple text notifications should have an iconURL.
15418         Add an iconURL to WebNotification and add a public API to access it.
15419        
15420         * UIProcess/API/C/WKNotification.cpp:
15421         (WKNotificationCopyiconURL):
15422         * UIProcess/API/C/WKNotification.h:
15423         * UIProcess/Notifications/WebNotification.cpp:
15424         (WebKit::WebNotification::WebNotification):
15425         * UIProcess/Notifications/WebNotification.h:
15426         (WebKit::WebNotification::create):
15427         (WebKit::WebNotification::iconURL):
15428         (WebNotification):
15429         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
15430         (WebKit::WebNotificationManagerProxy::show):
15431         * UIProcess/Notifications/WebNotificationManagerProxy.h:
15432         (WebNotificationManagerProxy):
15433         * UIProcess/WebPageProxy.cpp:
15434         (WebKit::WebPageProxy::showNotification):
15435         * UIProcess/WebPageProxy.h:
15436         (WebPageProxy):
15437         * UIProcess/WebPageProxy.messages.in:
15438         * WebProcess/Notifications/WebNotificationManager.cpp:
15439         (WebKit::WebNotificationManager::show):
15440
15441 2012-02-08  Philippe Normand  <pnormand@igalia.com>
15442
15443         [GTK][WK2] enable-webaudio WebSetting
15444         https://bugs.webkit.org/show_bug.cgi?id=77959
15445
15446         Reviewed by Martin Robinson.
15447
15448         Add a new WebKitGTK WebSetting to enable/disable WebAudio at
15449         runtime.
15450
15451         * UIProcess/API/gtk/WebKitSettings.cpp:
15452         (webKitSettingsSetProperty):
15453         (webKitSettingsGetProperty):
15454         (webkit_settings_class_init):
15455         (webkit_settings_get_enable_webaudio):
15456         (webkit_settings_set_enable_webaudio):
15457         * UIProcess/API/gtk/WebKitSettings.h:
15458         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
15459         (testWebKitSettings):
15460
15461 2012-02-07  Martin Robinson  <mrobinson@igalia.com>
15462
15463         [GTK] [WK2] Add WebKitResponsePolicyDecision
15464         https://bugs.webkit.org/show_bug.cgi?id=76789
15465
15466         Reviewed by Philippe Normand.
15467
15468         Add a WebKitResponsePolicyDecision GObject, use it for response
15469         policy decisions and add a test.
15470
15471         * GNUmakefile.am: Added new source files to the list.
15472         * UIProcess/API/gtk/WebKitPolicyClient.cpp:
15473         (decidePolicyForResponseCallback): Added this callback which creates the request
15474         and fires the signal.
15475         (attachPolicyClientToPage): Added new callback to the C API policy client.
15476         * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp: Added.
15477         * UIProcess/API/gtk/WebKitResponsePolicyDecision.h: Added.
15478         * UIProcess/API/gtk/WebKitResponsePolicyDecisionPrivate.h: Added.
15479         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Added new docs.
15480         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ditto.
15481         * UIProcess/API/gtk/tests/TestWebKitPolicyClient.cpp:
15482         (testResponsePolicy): Added this test for response policy decisions.
15483         (serverCallback): Added a SoupServer to test policy response policy decisions.
15484         (beforeAll): Ditto.
15485         (afterAll): Ditto.
15486
15487 2012-02-07  Timothy Hatcher  <timothy@apple.com>
15488
15489         Avoid making a window for the Web Inspector when it is docked.
15490
15491         This also makes sure the inspector WKView is in a window before the page is loaded.
15492         This avoids some redundant work caused by moving it to a window later.
15493
15494         https://webkit.org/b/78064
15495
15496         Reviewed by Brian Weinstein.
15497
15498         * UIProcess/WebInspectorProxy.cpp:
15499         (WebKit::WebInspectorProxy::createInspectorPage): Set m_isAttached here...
15500         (WebKit::WebInspectorProxy::didLoadInspectorPage): ... instead of here.
15501         * UIProcess/WebInspectorProxy.h:
15502         (WebInspectorProxy):
15503         * UIProcess/mac/WebInspectorProxyMac.mm:
15504         (WebKit::WebInspectorProxy::createInspectorWindow): Added. Factored out of platformOpen.
15505         (WebKit::WebInspectorProxy::updateInspectorWindowTitle): Added. Factored out of platformInspectedURLChanged.
15506         (WebKit::WebInspectorProxy::platformCreateInspectorPage): Call platformAttach or createInspectorWindow.
15507         (WebKit::WebInspectorProxy::platformOpen): Make the view or window visible.
15508         (WebKit::WebInspectorProxy::platformDidClose): Only message m_inspectorWindow if it isn't nil.
15509         (WebKit::WebInspectorProxy::platformInspectedURLChanged): Store the urlString and call updateInspectorWindowTitle.
15510         (WebKit::WebInspectorProxy::inspectedViewFrameDidChange): Return early if not visible.
15511         (WebKit::WebInspectorProxy::platformAttach): Start out hidden if we are not visible yet. Destroy the window.
15512         (WebKit::WebInspectorProxy::platformDetach): Use createInspectorWindow to create it again.
15513
15514 2012-02-07  Tony Chang  <tony@chromium.org>
15515
15516         merge DashboardSupportCSSPropertyNames.in into CSSPropertyNames.in
15517         https://bugs.webkit.org/show_bug.cgi?id=78036
15518
15519         Reviewed by Darin Adler.
15520
15521         * Configurations/FeatureDefines.xcconfig: Add ENABLE_DASHBOARD_SUPPORT to FEATURE_DEFINES.
15522
15523 2012-02-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
15524
15525         [CMAKE] Use *bin* and *lib* directories for executable and libraries.
15526         https://bugs.webkit.org/show_bug.cgi?id=77928
15527
15528         Reviewed by Daniel Bates.
15529
15530         CMake has used *Programs* directory for executable. In addition, shared libraries are being
15531         built in source directory. It is better to set common places in order to maintain executable
15532         and libraries. *bin* is for executable and *lib* is for library.
15533
15534         * CMakeLists.txt:
15535
15536 2012-02-07  Timothy Hatcher  <timothy@apple.com>
15537
15538         Initilize the WebPageProxy intrinsicDeviceScaleFactor on creation of the WKView.
15539
15540         If WKView was created and loaded a page with canvas elements before beinging moved
15541         to a window, the canvas elements would be locked in at a pixel ratio of 1. With this
15542         change the WKView will use the main screen's pixel ratio until it moves to a window.
15543
15544         Reviewed by Anders Carlsson.
15545
15546         * UIProcess/API/mac/WKView.mm:
15547         (-[WKView initWithFrame:contextRef:pageGroupRef:]): Call setIntrinsicDeviceScaleFactor.
15548
15549 2012-02-07  Alexey Proskuryakov  <ap@apple.com>
15550
15551         Keep a reference in didReceiveInvalidMessage.
15552         https://bugs.webkit.org/show_bug.cgi?id=78024
15553
15554         Reviewed by Anders Carlsson.
15555
15556         * UIProcess/WebConnectionToWebProcess.cpp:
15557         (WebKit::WebConnectionToWebProcess::didReceiveInvalidMessage):
15558
15559 2012-02-06  Anders Carlsson  <andersca@apple.com>
15560
15561         ScrollableAreaSet should be moved from Page to FrameView
15562         https://bugs.webkit.org/show_bug.cgi?id=62762
15563
15564         Reviewed by Beth Dakin.
15565
15566         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
15567         (WebKit::BuiltInPDFView::initialize):
15568         Call FrameView::addScrollableArea instead.
15569
15570         (WebKit::BuiltInPDFView::destroy):
15571         Call FrameView::removeScrollableArea instead.
15572
15573         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
15574         Remove disconnectFromPage since it no longer exists on ScrollableArea.
15575
15576 2012-02-07  Carlos Garcia Campos  <cgarcia@igalia.com>
15577
15578         [GTK] Add cut, copy and paste methods to WebKit2 GTK+ API
15579         https://bugs.webkit.org/show_bug.cgi?id=76998
15580
15581         Reviewed by Martin Robinson.
15582
15583         * GNUmakefile.am: Add WebKitEditingCommands.h.
15584         * UIProcess/API/gtk/WebKitEditingCommands.h: Added.
15585         * UIProcess/API/gtk/WebKitWebView.cpp:
15586         (didValidateCommand): Callback called by the C API when an editor
15587         command has been validated.
15588         (webkit_web_view_can_execute_editing_command): Asynchronously
15589         validate the given editing command.
15590         (webkit_web_view_can_execute_editing_command_finish): Finish async
15591         operation started by webkit_web_view_can_execute_editing_command().
15592         (webkit_web_view_execute_editing_command): Execute the given
15593         command.
15594         * UIProcess/API/gtk/WebKitWebView.h:
15595         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
15596         * UIProcess/API/gtk/tests/GNUmakefile.am:
15597         * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
15598         (LoadTrackingTest::provisionalLoadFailed): Do not finish the main
15599         loop on load failure, now finished is always called.
15600         * UIProcess/API/gtk/tests/TestBackForwardList.cpp: Use WebViewTest
15601         instead of LoadTrackingTest.
15602         * UIProcess/API/gtk/tests/TestWebViewEditor.cpp: Added.
15603         (testWebViewEditorCutCopyPasteNonEditable):
15604         (testWebViewEditorCutCopyPasteEditable):
15605         (beforeAll):
15606         (afterAll):
15607         * UIProcess/API/gtk/tests/WebViewTest.cpp:
15608         (loadChanged):
15609         (WebViewTest::waitUntilLoadFinished): Run a main loop until load
15610         finished.
15611         * UIProcess/API/gtk/tests/WebViewTest.h: Add waitUntilLoadFinished().
15612         * UIProcess/API/gtk/webkit2.h: Include WebKitEditingCommands.h.
15613
15614 2012-02-07  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
15615
15616         Encode radius, force and rotationAngle in WebPlatformTouchPoint.
15617         https://bugs.webkit.org/show_bug.cgi?id=77986
15618
15619         Reviewed by Kenneth Rohde Christiansen.
15620
15621         * Shared/WebEvent.h:
15622         (WebKit::WebPlatformTouchPoint::WebPlatformTouchPoint):
15623         (WebPlatformTouchPoint):
15624         (WebKit::WebPlatformTouchPoint::radius):
15625         (WebKit::WebPlatformTouchPoint::rotationAngle):
15626         (WebKit::WebPlatformTouchPoint::force):
15627         * Shared/WebEventConversion.cpp:
15628         (WebKit::WebKit2PlatformTouchPoint::WebKit2PlatformTouchPoint):
15629         * Shared/WebPlatformTouchPoint.cpp:
15630         (WebKit::WebPlatformTouchPoint::WebPlatformTouchPoint):
15631         (WebKit::WebPlatformTouchPoint::encode):
15632         (WebKit::WebPlatformTouchPoint::decode):
15633
15634 2012-02-07  Andras Becsi  <andras.becsi@nokia.com>
15635
15636         [Qt] [WK2] Fix the debug build after r106920
15637
15638         * WebProcess/qt/WebProcessQt.cpp:
15639         (WebKit::WebProcess::platformSetCacheModel):
15640         Remove unnecessary assert.
15641
15642 2012-02-03  Andras Becsi  <andras.becsi@nokia.com>
15643
15644         [Qt][WK2] Add the componentComplete method to WebView
15645         https://bugs.webkit.org/show_bug.cgi?id=77111
15646
15647         Reviewed by Simon Hausmann.
15648
15649         Move the initialization of the interaction engine to componentComplete
15650         in preparation of switching to a Flickable based content positioning
15651         for the touch based WebView.
15652         Suspend the page and delay the dispatch of load success on startup until
15653         the component finished initialization. With this patch instantiating the
15654         WebView in C++ is only possible by creating a QDeclarativeComponent as
15655         the initialization depends on the componentComplete method being called.
15656         Also return valid default values in the viewport info functions if the
15657         interaction engine is not yet initialized because the viewport info
15658         component could finish initialization earlier than the WebView, which
15659         results in QML warnings during MiniBrowser startup.
15660
15661         * UIProcess/API/qt/qquickwebview.cpp:
15662         (QQuickWebViewPrivate::initialize):
15663         (QQuickWebViewPrivate::loadDidSucceed):
15664         (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
15665         (QQuickWebViewFlickablePrivate::initialize):
15666         (QQuickWebViewFlickablePrivate::onComponentComplete):
15667         (QQuickWebViewFlickablePrivate::loadDidSucceed):
15668         (QQuickWebViewFlickablePrivate::updateViewportSize):
15669         (QQuickWebViewFlickablePrivate::_q_resume):
15670         (QQuickWebView::geometryChanged):
15671         (QQuickWebView::componentComplete):
15672         * UIProcess/API/qt/qquickwebview_p.h:
15673         * UIProcess/API/qt/qquickwebview_p_p.h:
15674         (QQuickWebViewPrivate::onComponentComplete):
15675         (QQuickWebViewPrivate):
15676         (QQuickWebViewFlickablePrivate):
15677         * UIProcess/API/qt/qwebviewportinfo.cpp:
15678         (QWebViewportInfo::currentScale):
15679         (QWebViewportInfo::devicePixelRatio):
15680         (QWebViewportInfo::initialScale):
15681         (QWebViewportInfo::minimumScale):
15682         (QWebViewportInfo::maximumScale):
15683         (QWebViewportInfo::isScalable):
15684         (QWebViewportInfo::layoutSize):
15685         * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
15686         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
15687         (tst_QQuickWebView::tst_QQuickWebView):
15688         (tst_QQuickWebView::init):
15689         (tst_QQuickWebView::multipleWebViewWindows):
15690         (tst_QQuickWebView::multipleWebViews):
15691         * UIProcess/qt/QtWebPageLoadClient.cpp:
15692         (QtWebPageLoadClient::dispatchLoadSucceeded):
15693
15694 2012-02-07  YoungTaeck Song  <youngtaeck.song@samsung.com>
15695
15696         [EFL][WK2] Add ModuleEfl.cpp
15697         https://bugs.webkit.org/show_bug.cgi?id=63608
15698
15699         Reviewed by Andreas Kling.
15700
15701         Add first version of ModuleEfl.cpp including load(), unload() and platformFunctionPointer().
15702
15703         * Platform/Module.h:
15704         * Platform/efl/ModuleEfl.cpp: Added.
15705         (WebKit::Module::load):
15706         (WebKit::Module::unload):
15707         (WebKit::Module::platformFunctionPointer):
15708
15709 2012-02-07  Michael Brüning  <michael.bruning@nokia.com>
15710
15711         [Qt][WK2] Compute and set cache capacities using the current CacheModel
15712         https://bugs.webkit.org/show_bug.cgi?id=73918
15713
15714         Reviewed by Kenneth Rohde Christiansen.
15715
15716         First part of the implementation. The next steps are the implementation
15717         of the API for the Qt WebKit 2 port and the hybrid memory and disk cache.
15718
15719         * Shared/WebProcessCreationParameters.cpp:
15720         (WebKit::WebProcessCreationParameters::encode):
15721         (WebKit::WebProcessCreationParameters::decode):
15722         * Shared/WebProcessCreationParameters.h:
15723         (WebProcessCreationParameters):
15724         * UIProcess/qt/WebContextQt.cpp:
15725         (WebKit::defaultDiskCacheDirectory):
15726         (WebKit):
15727         (WebKit::WebContext::platformInitializeWebProcess):
15728         * WebProcess/qt/WebProcessQt.cpp:
15729         (WebKit::physicalMemorySizeInBytes):
15730         (WebKit):
15731         (WebKit::WebProcess::platformSetCacheModel):
15732         (WebKit::WebProcess::platformInitializeWebProcess):
15733
15734 2012-02-06  Shinya Kawanaka  <shinyak@google.com>
15735
15736         Remove Element::ensureShadowRoot export.
15737         https://bugs.webkit.org/show_bug.cgi?id=77932
15738
15739         Reviewed by Hajime Morita.
15740
15741         * win/WebKit2.def:
15742         * win/WebKit2CFLite.def:
15743
15744 2012-02-06  Martin Robinson  <mrobinson@igalia.com>
15745
15746         [GTK] Add TextureMapperGL implementation
15747         https://bugs.webkit.org/show_bug.cgi?id=75308
15748
15749         Reviewed by Alejandro G. Castro.
15750
15751         Fix the WebKit2 + AC build for GTK+.
15752
15753         * GNUmakefile.am: Add some missing source files.
15754         * UIProcess/DrawingAreaProxy.cpp:
15755         (WebKit): Add USE(TILED_BACKING_STORE) to the guard.
15756         * UIProcess/WebPageProxy.cpp:
15757         (WebKit::WebPageProxy::didReceiveMessage): Ditto.
15758         * WebProcess/WebPage/DrawingArea.h:
15759         (DrawingArea): Ditto.
15760         * WebProcess/WebPage/DrawingAreaImpl.cpp:
15761         (WebKit): Ditto.
15762         * WebProcess/WebPage/DrawingAreaImpl.h:
15763         (DrawingAreaImpl): Ditto.
15764
15765 2012-02-06  Martin Robinson  <mrobinson@igalia.com>
15766
15767         Fix some miscellaneous 'make dist' error for WebKitGTK+.
15768
15769         * GNUmakefile.am: Do not distribute generated files.
15770
15771 2012-02-06  Anders Carlsson  <andersca@apple.com>
15772
15773         Overlay scrollbars flash when window is simply activated
15774         https://bugs.webkit.org/show_bug.cgi?id=77911
15775
15776         Reviewed by Kenneth Russell.
15777
15778         * UIProcess/API/mac/WKView.mm:
15779         (-[WKView _updateWindowVisibility]):
15780         Use -[NSWindow isVisible] here, since we also want to consider the window hidden if the application itself is hidden.
15781
15782         (-[WKView _windowDidOrderOffScreen:]):
15783         (-[WKView _windowDidOrderOnScreen:]):
15784         Call -[WKView updateWindowVisibility].
15785
15786         * WebProcess/WebPage/WebPage.cpp:
15787         (WebKit::WebPage::setWindowIsVisible):
15788         Call FocusController::setContainingWindowIsVisible.
15789
15790 2012-02-06  Martin Robinson  <mrobinson@igalia.com>
15791
15792          [GTK] Fix remaining errors in GTK+ WebKit2 API
15793         https://bugs.webkit.org/show_bug.cgi?id=77890
15794
15795         Reviewed by Gustavo Noronha Silva.
15796
15797         Fix some style issues in the GTK+ WebKit2 API section of the source code.
15798
15799         * UIProcess/API/gtk/WebKitPrivate.h:
15800         * UIProcess/API/gtk/WebKitWebView.cpp:
15801         * UIProcess/API/gtk/tests/TestMain.h:
15802
15803 2012-02-06  Matthew Delaney  <mdelaney@apple.com>
15804
15805         toDataURL() uses stale data after putImageData()
15806         https://bugs.webkit.org/show_bug.cgi?id=65767
15807
15808         Reviewed by Chris Marrin.
15809
15810         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
15811         (InitWebCoreSystemInterface):
15812
15813 2012-02-06  Ryosuke Niwa  <rniwa@webkit.org>
15814
15815         gcc build fix after r106749.
15816
15817         * UIProcess/WebPreferences.cpp:
15818         (WebKit::WebPreferences::WebPreferences):
15819
15820 2012-02-06  Martin Robinson  <mrobinson@igalia.com>
15821
15822         [GTK] WebKitWebView does a lot of work during size_allocate when not mapped
15823         https://bugs.webkit.org/show_bug.cgi?id=77743
15824
15825         Reviewed by Gustavo Noronha Silva.
15826
15827         Instead of resizing the guts of a WebView when it's not mapped, wait
15828         until it's mapped and do one resize. This prevents unmapped WebViews
15829         from adding to a container's resize cost.
15830
15831         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
15832         (_WebKitWebViewBasePrivate): Added a new member needsResizeOnMap.
15833         (resizeWebKitWebViewBaseFromAllocation): Abstracted out this helper.
15834         (webkitWebViewBaseSizeAllocate): Wait until map to resize unmapped WebViews.
15835         (webkitWebViewBaseMap): Added this vmethod implementation.
15836         (webkit_web_view_base_class_init): Added vmethod.
15837
15838 2012-02-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
15839
15840         WebGestureEvent can not encode delta and area.
15841         https://bugs.webkit.org/show_bug.cgi?id=77728
15842
15843         Support delta and area fields in WebGestureEvent, and send area with Qt tap gesture.
15844
15845         Reviewed by Kenneth Rohde Christiansen.
15846
15847         * Shared/WebEvent.h:
15848         (WebKit::WebGestureEvent::area):
15849         (WebKit::WebGestureEvent::delta):
15850         * Shared/WebEventConversion.cpp:
15851         (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
15852         * Shared/WebGestureEvent.cpp:
15853         (WebKit::WebGestureEvent::WebGestureEvent):
15854         (WebKit::WebGestureEvent::encode):
15855         (WebKit::WebGestureEvent::decode):
15856         * UIProcess/qt/QtWebPageEventHandler.cpp:
15857         (QtWebPageEventHandler::handleSingleTapEvent):
15858
15859 2012-02-03  Zalan Bujtas  <zbujtas@gmail.com>  and  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
15860
15861         [Qt][WK2] Remove TiledDrawingArea and dependencies.
15862         https://bugs.webkit.org/show_bug.cgi?id=71681
15863
15864         Reviewed by Kenneth Rohde Christiansen.
15865
15866         Tiled drawing surface functionality got converted to LayerTree.
15867         TiledDrawingArea and its dependencies are not used by any port anymore.
15868
15869         * CMakeLists.txt:
15870         * GNUmakefile.am:
15871         * Shared/DrawingAreaInfo.h:
15872         * Target.pri:
15873         * UIProcess/API/qt/qquickwebpage.cpp:
15874         (QQuickWebPagePrivate::QQuickWebPagePrivate):
15875         * UIProcess/API/qt/qquickwebpage_p.h:
15876         * UIProcess/API/qt/qquickwebpage_p_p.h:
15877         (QQuickWebPagePrivate):
15878         * UIProcess/DrawingAreaProxy.h:
15879         * UIProcess/DrawingAreaProxy.messages.in:
15880         * UIProcess/TiledDrawingAreaProxy.cpp: Removed.
15881         * UIProcess/TiledDrawingAreaProxy.h: Removed.
15882         * UIProcess/qt/QtSGTileNode.cpp: Removed.
15883         * UIProcess/qt/QtSGTileNode.h: Removed.
15884         * UIProcess/qt/QtSGUpdateQueue.cpp: Removed.
15885         * UIProcess/qt/QtSGUpdateQueue.h: Removed.
15886         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: Removed.
15887         * WebProcess/WebPage/DrawingArea.cpp:
15888         (WebKit::DrawingArea::create):
15889         * WebProcess/WebPage/DrawingArea.h:
15890         * WebProcess/WebPage/DrawingArea.messages.in:
15891         * WebProcess/WebPage/TiledDrawingArea.cpp: Removed.
15892         * WebProcess/WebPage/TiledDrawingArea.h: Removed.
15893         * WebProcess/WebPage/WebPage.h:
15894         (WebPage):
15895
15896 2012-02-03  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
15897
15898         [Qt] Don't version QtWebKit.experimental.
15899         https://bugs.webkit.org/show_bug.cgi?id=77739
15900
15901         Reviewed by Tor Arne Vestbø.
15902
15903         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml:
15904         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
15905         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
15906         * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
15907         * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml:
15908         * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml:
15909         * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
15910         * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml:
15911         * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
15912
15913 2012-02-06  Carlos Garcia Campos  <cgarcia@igalia.com>
15914
15915         [GTK] Fix several gtkdoc-fixxref warnings
15916         https://bugs.webkit.org/show_bug.cgi?id=77613
15917
15918         Reviewed by Martin Robinson.
15919
15920         * UIProcess/API/gtk/WebKitWindowProperties.cpp: Fix a typo, a
15921         colon was missing in WebKitWebView::ready-to-show.
15922
15923 2012-02-05  Dan Bernstein  <mitz@apple.com>
15924
15925         <rdar://problem/10809525> WebKit2’s WebFrameLoaderClient::shouldUseCredentialStorage() always returns true
15926         https://bugs.webkit.org/show_bug.cgi?id=77823
15927
15928         Reviewed by Anders Carlsson.
15929
15930         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
15931         * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
15932         (WebKit::InjectedBundlePageResourceLoadClient::shouldUseCredentialStorage): Added. Calls
15933         through to the client if it implements shouldUseCredentialStorage. Returns true otherwise.
15934         * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
15935         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
15936         (WebKit::WebFrameLoaderClient::shouldUseCredentialStorage): Changed to call the injected
15937         bundle resource load client.
15938
15939 2012-02-04  Dan Bernstein  <mitz@apple.com>
15940
15941         <rdar://problem/10660698> Clients cannot prevent caching of individual responses
15942         https://bugs.webkit.org/show_bug.cgi?id=77822
15943
15944         Reviewed by Sam Weinig.
15945
15946         * Shared/APIClientTraits.cpp: Added definition of interfaceSizesByVersion for
15947         WKBundlePageResourceLoadClient.
15948         * Shared/APIClientTraits.h: Added APIClientTraits specialization for WKBundlePageResourceLoadClient.
15949         * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Added WKBundlePageShouldCacheResponseCallback
15950         typedef, added shouldCacheResponse member to WKBundlePageResourceLoadClient, and bumped
15951         kWKBundlePageResourceLoadClientCurrentVersion to 1.
15952         * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
15953         (WebKit::InjectedBundlePageResourceLoadClient::shouldCacheResponse): Added. Calls through
15954         to the client if it implements shouldCacheResponse. Returns true otherwise.
15955         * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
15956         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
15957         (WebKit::WebFrameLoaderClient::willCacheResponse): Changed to call
15958         InjectedBundlePageResourceLoadClient::shouldCacheResponse() and return nil if the former
15959         returns false.
15960         (WebKit::WebFrameLoaderClient::shouldCacheResponse): Changed to call
15961         InjectedBundlePageResourceLoadClient::shouldCacheResponse().
15962
15963 2012-02-04  Sam Weinig  <sam@webkit.org>
15964
15965         Add ability to send WKURLRequests in WebKit2 API user messages
15966         https://bugs.webkit.org/show_bug.cgi?id=77819
15967
15968         Reviewed by Anders Carlsson.
15969
15970         Test: WebKit2UserMessageRoundTripTest API test.
15971
15972         * Shared/UserMessageCoders.h:
15973         (WebKit::UserMessageEncoder::baseEncode):
15974         (WebKit::UserMessageDecoder::baseDecode):
15975         Add encode/decode for WebURLRequest.
15976
15977 2012-02-04  Dan Bernstein  <mitz@apple.com>
15978
15979         <rdar://problem/10772406> WKPreferences instances cannot be copied
15980         https://bugs.webkit.org/show_bug.cgi?id=77816
15981
15982         Reviewed by Sam Weinig.
15983
15984         Test added in TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp.
15985
15986         * UIProcess/API/C/WKPreferences.cpp:
15987         (WKPreferencesCreateCopy): Added.
15988         * UIProcess/API/C/WKPreferencesPrivate.h:
15989         * UIProcess/WebPreferences.cpp:
15990         (WebKit::WebPreferences::WebPreferences): Added this constructor that copies the
15991         WebPreferencesStore of the given WebPreferences.
15992         * UIProcess/WebPreferences.h:
15993         (WebKit::WebPreferences::create): Added this create function that takes a WebPreferences
15994         instance and creates a new instance with a copy of the given instance’s store.
15995
15996 2012-02-03  Anders Carlsson  <andersca@apple.com>
15997
15998         WebKit2 should dispatch wheel events to the new ScrollingTree class
15999         https://bugs.webkit.org/show_bug.cgi?id=77795
16000
16001         Reviewed by Andreas Kling.
16002
16003         Replace all uses of ScrollingCoordinator with ScrollingTree instead.
16004         Also, don't try to handle gesture events on the scrolling thread anymore;
16005         we don't need to to that right now.
16006
16007         * WebProcess/WebPage/EventDispatcher.cpp:
16008         (WebKit::EventDispatcher::addScrollingTreeForPage):
16009         (WebKit::EventDispatcher::removeScrollingTreeForPage):
16010         (WebKit::EventDispatcher::wheelEvent):
16011         (WebKit::EventDispatcher::gestureEvent):
16012         * WebProcess/WebPage/EventDispatcher.h:
16013         (WebCore):
16014         (EventDispatcher):
16015         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
16016         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
16017         (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
16018
16019 2012-02-03  Alexey Proskuryakov  <ap@apple.com>
16020
16021         [WK2 Mac] No need to allow access to input methods or keyboard layouts
16022         https://bugs.webkit.org/show_bug.cgi?id=77775
16023         <rdar://problem/9276253>
16024         <rdar://problem/9276268>
16025
16026         Reviewed by Dan Bernstein.
16027
16028         * WebProcess/com.apple.WebProcess.sb: These rules were likely only necessary in early days
16029         of WebKit2. If there are cases when this happens, that's likely wrong, and we need to know
16030         about that.
16031
16032 2012-02-03  Alexey Proskuryakov  <ap@apple.com>
16033
16034         [WK2] Use properly quoted string literals
16035         https://bugs.webkit.org/show_bug.cgi?id=77583
16036
16037         Reviewed by Darin Adler.
16038
16039         Also added some FIXMEs.
16040
16041         * WebProcess/com.apple.WebProcess.sb:
16042
16043 2012-02-03  Brady Eidson  <beidson@apple.com>
16044
16045         <rdar://problem/10742441> and https://bugs.webkit.org/show_bug.cgi?id=77766
16046         Need a WK2 API to filter which subframes go into WebArchives as they are created.
16047
16048         Reviewed by Darin Adler.
16049
16050         Add a new WKBundleFrame API that takes a filter callback object to allow or reject
16051         subframes from a WebArchive:
16052         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
16053         (WKBundleFrameCopyWebArchive):
16054         (WKBundleFrameCopyWebArchiveFilteringSubframes):
16055         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
16056
16057         Implement the above API by calling through to WebCore:
16058         * WebProcess/WebPage/WebFrame.cpp:
16059         (WebFrameFilter):
16060         (WebKit::WebFrameFilter::WebFrameFilter):
16061         (WebKit::WebFrameFilter::shouldIncludeSubframe):
16062         (WebKit::WebFrame::webArchiveData):
16063         * WebProcess/WebPage/WebFrame.h:
16064         (WebFrame):
16065
16066         * WebProcess/WebPage/WebPage.cpp:
16067         (WebKit::WebPage::getWebArchiveOfFrame):
16068
16069 2012-02-03  Alexey Proskuryakov  <ap@apple.com>
16070
16071         [Mac WK2] Use a minimally invasive way to fake plug-in process name
16072         https://bugs.webkit.org/show_bug.cgi?id=77682
16073
16074         Reviewed by Darin Adler.
16075
16076         * PluginProcess/PluginProcess.cpp: (WebKit::PluginProcess::netscapePluginModule):
16077         Only change the name as it's seen from within the process.
16078
16079         * Shared/Plugins/PluginQuirks.h: Fixed a typo.
16080
16081 2012-02-03  Beth Dakin  <bdakin@apple.com>
16082
16083         https://bugs.webkit.org/show_bug.cgi?id=77691
16084         Fix PlatformScreen layering violation and PlatformScreenMac's incorrect use 
16085         of device scale
16086
16087         Reviewed by Andy Estes.
16088
16089         toUserSpace() and toDeviceSpace() don't need to take device scale.
16090         * UIProcess/API/mac/WKView.mm:
16091         (-[WKView _convertToDeviceSpace:]):
16092         (-[WKView _convertToUserSpace:]):
16093
16094 2012-02-03  No'am Rosenthal  <noam.rosenthal@nokia.com>
16095
16096         [Qt][Texmap] Refactor TextureMapper API to use ImageBuffers when possible.
16097         https://bugs.webkit.org/show_bug.cgi?id=77148
16098
16099         Reviewed by Martin Robinson.
16100
16101         Use TextureMapper::create instead of creating TextureMapperGL/TextureMapperQt directly.
16102         Remove calls to unused API.
16103
16104         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
16105         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
16106         (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
16107         (WebKit::LayerTreeHostProxy::createImage):
16108         (WebKit::LayerTreeHostProxy::ensureRootLayer):
16109
16110 2012-02-03  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
16111
16112         [Qt] Split QQuickWebViewPrivate in two classes, for desktop and touch behavior.
16113         https://bugs.webkit.org/show_bug.cgi?id=77632
16114
16115         Reviewed by Kenneth Rohde Christiansen.
16116
16117         Replace the runtime property setting the desktop behavior on each instance
16118         by a static boolean controlling the behavior used by future created WebViews.
16119
16120         * UIProcess/API/qt/qquickwebpage.cpp:
16121         Let only setContentsSize control the size of the drawing area instead of deferring
16122         it until geometryChanged is called.
16123         (QQuickWebPagePrivate::QQuickWebPagePrivate):
16124         * UIProcess/API/qt/qquickwebpage_p.h:
16125         * UIProcess/API/qt/qquickwebpage_p_p.h:
16126         (QQuickWebPagePrivate):
16127         * UIProcess/API/qt/qquickwebview.cpp:
16128         (createPrivateObject):
16129         (QQuickWebViewPrivate::QQuickWebViewPrivate):
16130         (QQuickWebViewPrivate::~QQuickWebViewPrivate):
16131         (QQuickWebViewPrivate::initialize):
16132         (QQuickWebViewPrivate::processDidCrash):
16133         (QQuickWebViewLegacyPrivate::QQuickWebViewLegacyPrivate):
16134         (QQuickWebViewLegacyPrivate::initialize):
16135         (QQuickWebViewLegacyPrivate::updateViewportSize):
16136         (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
16137         (QQuickWebViewFlickablePrivate::~QQuickWebViewFlickablePrivate):
16138         (QQuickWebViewFlickablePrivate::initialize):
16139         (QQuickWebViewFlickablePrivate::loadDidCommit):
16140         (QQuickWebViewFlickablePrivate::didFinishFirstNonEmptyLayout):
16141         (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
16142         (QQuickWebViewFlickablePrivate::updateViewportSize):
16143         (QQuickWebViewFlickablePrivate::_q_updateVisibleContentRectAndScale):
16144         (QQuickWebViewFlickablePrivate::_q_suspend):
16145         (QQuickWebViewFlickablePrivate::_q_resume):
16146         (QQuickWebViewFlickablePrivate::pageDidRequestScroll):
16147         (QQuickWebViewFlickablePrivate::didChangeContentsSize):
16148         (QQuickWebViewFlickablePrivate::computeViewportConstraints):
16149         (QQuickWebViewFlickablePrivate::PostTransitionState::apply):
16150         (QQuickWebViewExperimental::setFlickableViewportEnabled):
16151         The switch is now a static function that has to be called before a WebView
16152         is created. The switch can have it's default defined by the deploying platform.
16153         (QQuickWebViewExperimental::flickableViewportEnabled):
16154         (QQuickWebView::QQuickWebView):
16155         On creation of QQuickWebView, the static boolean is read to know if we want
16156         a QQuickWebViewTouchPrivate or a QQuickWebViewDesktopPrivate.
16157         (QQuickWebView::geometryChanged):
16158         * UIProcess/API/qt/qquickwebview_p.h:
16159         * UIProcess/API/qt/qquickwebview_p_p.h:
16160         (QQuickWebViewPrivate):
16161         (QQuickWebViewPrivate::loadDidCommit):
16162         (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
16163         (QQuickWebViewPrivate::didChangeViewportProperties):
16164         (QQuickWebViewPrivate::viewportInteractionEngine):
16165         (QQuickWebViewPrivate::updateViewportSize):
16166         (QQuickWebViewPrivate::_q_updateVisibleContentRectAndScale):
16167         (QQuickWebViewPrivate::_q_suspend):
16168         (QQuickWebViewPrivate::_q_resume):
16169         (QQuickWebViewPrivate::pageDidRequestScroll):
16170         (QQuickWebViewPrivate::didChangeContentsSize):
16171         (QQuickWebViewLegacyPrivate):
16172         (QQuickWebViewFlickablePrivate):
16173         (QQuickWebViewFlickablePrivate::viewportInteractionEngine):
16174         (PostTransitionState):
16175         (QQuickWebViewFlickablePrivate::PostTransitionState::PostTransitionState):
16176         * UIProcess/API/qt/qwebviewportinfo.cpp:
16177         (QWebViewportInfo::currentScale):
16178         (QWebViewportInfo::devicePixelRatio):
16179         (QWebViewportInfo::initialScale):
16180         (QWebViewportInfo::minimumScale):
16181         (QWebViewportInfo::maximumScale):
16182         (QWebViewportInfo::isScalable):
16183         (QWebViewportInfo::layoutSize):
16184         * UIProcess/API/qt/tests/publicapi/publicapi.pro:
16185         * UIProcess/API/qt/tests/qmltests/DesktopBehavior.pro: Added.
16186         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/DesktopWebView.qml: Removed.
16187         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml: Renamed
16188         from Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_itemSelector.qml.
16189         Moved to DesktopBehavior instead of using a DesktopWebView to workaround the touch event limitation.
16190         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
16191         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
16192         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
16193         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
16194         * UIProcess/API/qt/tests/qmltests/WebView.pro: Copied
16195         from Source/WebKit2/UIProcess/API/qt/tests/qmltests/qmltests.pro.
16196         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
16197         Split qmltests in two executables, tst_qmltests_DesktopBehavior and tst_qmltests_WebView.
16198         The former runs without setFlickableViewportEnabled and the later does.
16199         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
16200         (main):
16201         * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
16202         * UIProcess/API/qt/tests/tests.pri:
16203         * UIProcess/qt/QtWebPageEventHandler.cpp:
16204         (QtWebPageEventHandler::QtWebPageEventHandler):
16205
16206 2012-02-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
16207
16208         [Qt] Rename content* to contents* in QQuickWebPage.
16209         https://bugs.webkit.org/show_bug.cgi?id=77629
16210
16211         Reviewed by Kenneth Rohde Christiansen.
16212
16213         * UIProcess/API/qt/qquickwebpage.cpp:
16214         (QQuickWebPagePrivate::QQuickWebPagePrivate):
16215         (QQuickWebPagePrivate::paintToCurrentGLContext):
16216         (QQuickWebPage::setContentsSize):
16217         (QQuickWebPage::contentsSize):
16218         (QQuickWebPage::setContentsScale):
16219         (QQuickWebPage::contentsScale):
16220         (QQuickWebPage::transformToItem):
16221         (QQuickWebPagePrivate::updateSize):
16222         * UIProcess/API/qt/qquickwebpage_p.h:
16223         * UIProcess/API/qt/qquickwebpage_p_p.h:
16224         (QQuickWebPagePrivate):
16225         * UIProcess/API/qt/qquickwebview.cpp:
16226         (QQuickWebViewPrivate::didChangeContentsSize):
16227         (QQuickWebViewPrivate::updateVisibleContentRectAndScale):
16228         (QQuickWebViewPrivate::PostTransitionState::apply):
16229         * UIProcess/API/qt/qwebviewportinfo.cpp:
16230         (QWebViewportInfo::contentsSize):
16231         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
16232         (tst_QQuickWebView::scrollRequest):
16233         * UIProcess/qt/QtViewportInteractionEngine.cpp:
16234         (WebKit::QtViewportInteractionEngine::setItemRectVisible):
16235         (WebKit::QtViewportInteractionEngine::event):
16236         (WebKit::QtViewportInteractionEngine::wheelEvent):
16237         (WebKit::QtViewportInteractionEngine::pagePositionRequest):
16238         (WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale):
16239         (WebKit::QtViewportInteractionEngine::applyConstraints):
16240         (WebKit::QtViewportInteractionEngine::currentCSSScale):
16241         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
16242         (WebKit::QtViewportInteractionEngine::scaleContent):
16243
16244 2012-02-03  Simon Hausmann  <simon.hausmann@nokia.com>
16245
16246         [Qt] Fix build when cross-compiling
16247         https://bugs.webkit.org/show_bug.cgi?id=77634
16248
16249         Reviewed by Tor Arne Vestbø.
16250
16251         * WebKit2.pri: Link in -lrt on linux mkspecs, regardless of whether gcc
16252         is in use or not. More specifically this fixes the case where the makespace
16253         is not linux-g++* but for a cross-compiling one like linux-arm-gnueabi-g++.
16254
16255 2012-02-03  Shinya Kawanaka  <shinyak@google.com>
16256
16257         Stop calling Element::ensureShadowRoot in Internals.
16258         https://bugs.webkit.org/show_bug.cgi?id=77612
16259
16260         Reviewed by Hajime Morita.
16261
16262         Exports symbols.
16263
16264         * win/WebKit2.def:
16265         * win/WebKit2CFLite.def:
16266
16267 2012-02-02  Sheriff Bot  <webkit.review.bot@gmail.com>
16268
16269         Unreviewed, rolling out r106620.
16270         http://trac.webkit.org/changeset/106620
16271         https://bugs.webkit.org/show_bug.cgi?id=77716
16272
16273         It broke non ENABLE(3D_RENDERING) builds (Requested by
16274         Ossy_morning on #webkit).
16275
16276         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
16277         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
16278         (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
16279         (WebKit::LayerTreeHostProxy::createImage):
16280         (WebKit::LayerTreeHostProxy::ensureRootLayer):
16281
16282 2012-02-02  No'am Rosenthal  <noam.rosenthal@nokia.com>
16283
16284         [Qt][Texmap] Refactor TextureMapper API to use ImageBuffers when possible.
16285         https://bugs.webkit.org/show_bug.cgi?id=77148
16286
16287         Reviewed by Martin Robinson.
16288
16289         Use TextureMapper::create instead of creating TextureMapperGL/TextureMapperQt directly.
16290         Remove calls to unused API.
16291
16292         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
16293         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
16294         (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
16295         (WebKit::LayerTreeHostProxy::createImage):
16296         (WebKit::LayerTreeHostProxy::ensureRootLayer):
16297
16298 2012-02-02  Jon Lee  <jonlee@apple.com>
16299
16300         Clear shown notifications when context is no longer active
16301         https://bugs.webkit.org/show_bug.cgi?id=77363
16302         <rdar://problem/10568907>
16303
16304         Reviewed by Darin Adler.
16305
16306         * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
16307         (WebKit::WebNotificationClient::clearNotifications): Forward the call to
16308         WebNotificationManager.
16309         * WebProcess/WebCoreSupport/WebNotificationClient.h:
16310         (WebNotificationClient):
16311
16312         * WebProcess/Notifications/WebNotificationManager.h: Add an additional map that maps
16313         all notifications associated with a given ScriptExecutionContext instance.
16314         * WebProcess/Notifications/WebNotificationManager.cpp:
16315         (WebKit::WebNotificationManager::show): Create a map entry for the notification's
16316         context if it doesn't exist already, and note that notification's ID. Also, correct
16317         the return value of show() if notifications are not enabled, to return false.
16318         (WebKit::WebNotificationManager::didCloseNotifications): When the notification is closed,
16319         we remove that notification from the map.
16320         (WebKit::WebNotificationManager::clearNotifications): Use the map entry for the given
16321         context, and pass that along to the proxy so that all of the notifications with those IDs
16322         can be cleared. In the meantime, we remove that context's map entry.
16323
16324         * UIProcess/Notifications/WebNotificationManagerProxy.messages.in: New ClearNotifications()
16325         message.
16326         * UIProcess/Notifications/WebNotificationManagerProxy.h:
16327         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
16328         (WebKit::WebNotificationManagerProxy::clearNotifications): Forward the call to the provider.
16329         Then remove this proxy's entries for the given notification IDs.
16330
16331         * UIProcess/Notifications/WebNotificationProvider.cpp:
16332         (WebKit::WebNotificationProvider::clearNotifications): Convert the vector of IDs to a mutable
16333         array.
16334         * UIProcess/Notifications/WebNotificationProvider.h:
16335         (WebNotificationProvider):
16336
16337         * UIProcess/API/C/WKNotificationProvider.h: Add WK API to tell the platform to clear the notifications.
16338
16339         Remove the #if guard since they already exist in WebNotificationManager functions:
16340         * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
16341         (WebKit::WebNotificationClient::show):
16342         (WebKit::WebNotificationClient::cancel):
16343         (WebKit::WebNotificationClient::notificationObjectDestroyed):
16344
16345 2012-02-02  Anders Carlsson  <andersca@apple.com>
16346
16347         NPAPI will not send mouse up events when mouse is outside plugin area
16348         https://bugs.webkit.org/show_bug.cgi?id=77657
16349         <rdar://problem/10160674>
16350
16351         Reviewed by Andreas Kling.
16352
16353         Use EventHandler::setCapturingMouseEventsNode to ensure we get all the mouse events when the mouse is down.
16354
16355         * WebProcess/Plugins/PluginView.cpp:
16356         (WebKit::PluginView::handleEvent):
16357
16358 2012-02-02  Claudio Saavedra  <csaavedra@igalia.com> and Martin Robinson  <mrobinson@igalia.com>
16359
16360         [GTK] WebKitWebView won't work in a GtkOffscreenWindow
16361         https://bugs.webkit.org/show_bug.cgi?id=76911
16362
16363         Reviewed by Philippe Normand.
16364
16365         * UIProcess/API/gtk/WebKitUIClient.cpp:
16366         (getWindowFrame): Use the new helper.
16367         * UIProcess/API/gtk/WebKitWebView.cpp:
16368         (webkitWebViewCreateJavaScriptDialog): Ditto
16369         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
16370         (webkitWebViewBaseRealize): Ditto.
16371         (webkitWebViewBaseSizeAllocate): Ditto.
16372         (webkitWebViewBaseFocusInEvent): Ditto.
16373
16374 2012-02-01  Philippe Normand  <pnormand@igalia.com>
16375
16376         [GStreamer] FFTFrame implementation
16377         https://bugs.webkit.org/show_bug.cgi?id=73545
16378
16379         Reviewed by Chris Rogers.
16380
16381         * GNUmakefile.am: Remove libfftw compilation flags.
16382
16383 2012-02-01  No'am Rosenthal  <noam.rosenthal@nokia.com>
16384
16385         [Texmap] Use glScissors for clipping in TextureMapperGL when possible
16386         https://bugs.webkit.org/show_bug.cgi?id=77575
16387
16388         Reviewed by Martin Robinson.
16389
16390         Instead of applying the scissor clip in QQuickWebPage, we trickle it down to
16391         TextureMapperGL, and apply it there as part of beginClip(). All direct GL operations are
16392         now cleaned out of QQuickWebPage.
16393
16394         * UIProcess/API/qt/qquickwebpage.cpp:
16395         (QQuickWebPagePrivate::paintToCurrentGLContext):
16396         * UIProcess/DrawingAreaProxy.h:
16397         (WebKit::DrawingAreaProxy::paintToCurrentGLContext):
16398         * UIProcess/DrawingAreaProxyImpl.cpp:
16399         (WebKit::DrawingAreaProxyImpl::paintToCurrentGLContext):
16400         * UIProcess/DrawingAreaProxyImpl.h:
16401         (DrawingAreaProxyImpl):
16402         * UIProcess/LayerTreeHostProxy.h:
16403         (LayerTreeHostProxy):
16404         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
16405         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
16406
16407 2012-02-01  Dan Bernstein  <mitz@apple.com>
16408
16409         WebKit2 part of <rdar://problem/10442663> Paginated display does not respect page-break-{before,after}
16410         https://bugs.webkit.org/show_bug.cgi?id=77505
16411
16412         Reviewed by Darin Adler.
16413
16414         * Shared/WebPageCreationParameters.cpp:
16415         (WebKit::WebPageCreationParameters::encode): Encode paginationBehavesLikeColumns.
16416         (WebKit::WebPageCreationParameters::decode): Decode paginationBehavesLikeColumns.
16417         * Shared/WebPageCreationParameters.h:
16418         (WebPageCreationParameters): Added paginationBehavesLikeColumns boolean.
16419         * UIProcess/API/C/WKPage.cpp:
16420         (WKPageSetPaginationBehavesLikeColumns): Added this setter.
16421         (WKPageGetPaginationBehavesLikeColumns): Added this getter.
16422         * UIProcess/API/C/WKPagePrivate.h:
16423         * UIProcess/API/mac/WKBrowsingContextController.mm:
16424         (-[WKBrowsingContextController setPaginationBehavesLikeColumns:]): Added this Objective-C
16425         wrapper around WKPageSetPaginationBehavesLikeColumns.
16426         (-[WKBrowsingContextController paginationBehavesLikeColumns]): Added this Objective-C wrapper
16427         around WKPageGetPaginationBehavesLikeColumns.
16428         * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h:
16429         * UIProcess/WebPageProxy.cpp:
16430         (WebKit::WebPageProxy::WebPageProxy): Added call to setPaginationBehavesLikeColumns() with
16431         the value from the creation parameters.
16432         (WebKit::WebPageProxy::setPaginationBehavesLikeColumns): Added this setter.
16433         (WebKit::WebPageProxy::creationParameters): Populate paginationBehavesLikeColumns.
16434         * UIProcess/WebPageProxy.h:
16435         (WebKit::WebPageProxy::paginationBehavesLikeColumns): Added this getter.
16436         * WebProcess/WebPage/WebPage.cpp:
16437         (WebKit::WebPage::setPaginationBehavesLikeColumns): Added this setter.
16438         * WebProcess/WebPage/WebPage.h:
16439         * WebProcess/WebPage/WebPage.messages.in: Added SetPaginationBehavesLikeColumns message.
16440
16441 2012-02-01  Anders Carlsson  <andersca@apple.com>
16442
16443         REGRESSION (r104727): Strange graphics corruption opening a new tab in Safari
16444         https://bugs.webkit.org/show_bug.cgi?id=77578
16445         <rdar://problem/10767174>
16446
16447         Reviewed by Dan Bernstein.
16448
16449         Resizing a window will always invalidate the window backing store, so make sure to set
16450         _data->_windowHasValidBackingStore to NO whenever that happens.
16451
16452         * UIProcess/API/mac/WKView.mm:
16453         (-[WKView addWindowObserversForWindow:]):
16454         Use separate methods for the NSWindowDidMoveNotification and NSWindowDidResizeNotification notifications.
16455
16456         (-[WKView _windowDidMove:]):
16457         Call -[WKView _updateWindowAndViewFrames].
16458
16459         (-[WKView _windowDidResize:]):
16460         Call -[WKView _updateWindowAndViewFrames] and mark the window backing store as invalid.
16461
16462 2012-02-01  Beth Dakin  <bdakin@apple.com>
16463
16464         https://bugs.webkit.org/show_bug.cgi?id=77383
16465         Add a different didFirstVisuallNonEmptyLayout heuristic to experiment with
16466         -and corresponding-
16467         <rdar://problem/10709560>
16468
16469         Reviewed by Sam Weinig.
16470
16471         Machinery for didNewFirstVisuallNonEmptyLayout.
16472         * UIProcess/API/C/WKPage.h:
16473         * UIProcess/WebLoaderClient.cpp:
16474         (WebKit::WebLoaderClient::didNewFirstVisuallyNonEmptyLayout):
16475         (WebKit):
16476         * UIProcess/WebLoaderClient.h:
16477         (WebLoaderClient):
16478         * UIProcess/WebPageProxy.cpp:
16479         (WebKit::WebPageProxy::didNewFirstVisuallyNonEmptyLayout):
16480         (WebKit):
16481         * UIProcess/WebPageProxy.h:
16482         (WebPageProxy):
16483         * UIProcess/WebPageProxy.messages.in:
16484         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
16485         (WebKit::WebFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout):
16486         (WebKit):
16487         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
16488         (WebFrameLoaderClient):
16489
16490         This temporary API allows the client to specify the threshold for the painted 
16491         objects counter on Page. This is temporary.
16492         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
16493         (WKBundlePageSetPaintedObjectsCounterThreshold):
16494         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
16495         * WebProcess/WebPage/WebPage.cpp:
16496         (WebKit::WebPage::setPaintedObjectsCounterThreshold):
16497         (WebKit):
16498         * WebProcess/WebPage/WebPage.h:
16499         (WebPage):
16500
16501 2012-01-31  Alexey Proskuryakov  <ap@apple.com>
16502
16503         REGRESSION (WebKit2): event.keyCode is always zero when typing in Russian
16504         https://bugs.webkit.org/show_bug.cgi?id=77473
16505         <rdar://problem/10751357>
16506
16507         Reviewed by Darin Adler.
16508
16509         * Shared/mac/WebEventFactory.mm: Removed broken copy/pasted implementation in favor of
16510         WebCore ones.
16511
16512 2012-01-31  Alexey Proskuryakov  <ap@apple.com>
16513
16514         PluginProcess should be able to use remote open and save panels
16515         https://bugs.webkit.org/show_bug.cgi?id=77461
16516         <rdar://problem/10783615>
16517
16518         Reviewed by Mark Rowe.
16519
16520         * PluginProcess/mac/PluginProcess.entitlements: Added.
16521         * PluginProcess/mac/add-entitlements.sh: Added.
16522         * WebKit2.xcodeproj/project.pbxproj:
16523         Add appropriate entitlement, plus ad hoc binary signing for it to work.
16524
16525 2012-01-31  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
16526
16527         Ensure tiles are repainted when scrolling using mouse wheel.
16528         https://bugs.webkit.org/show_bug.cgi?id=77339
16529
16530         A new slot visibleContentRectAndScaleChanged has been added
16531         that is emited by non-animated scrolling code in the
16532         QtViewportInteractionEngine.
16533
16534         Reviewed by Kenneth Rohde Christiansen.
16535
16536         * UIProcess/API/qt/qquickwebview.cpp:
16537         (QQuickWebViewPrivate::initializeDesktop):
16538         (QQuickWebViewPrivate::initializeTouch):
16539         (QQuickWebViewPrivate::_q_resume):
16540         (QQuickWebViewPrivate::_q_updateVisibleContentRectAndScale):
16541         (QQuickWebViewPrivate::updateTouchViewportSize):
16542         * UIProcess/API/qt/qquickwebview_p.h:
16543         * UIProcess/API/qt/qquickwebview_p_p.h:
16544         (QQuickWebViewPrivate):
16545         * UIProcess/qt/QtViewportInteractionEngine.cpp:
16546         (WebKit::QtViewportInteractionEngine::wheelEvent):
16547         * UIProcess/qt/QtViewportInteractionEngine.h:
16548         (QtViewportInteractionEngine):
16549
16550 2012-01-31  Zeno Albisser  <zeno@webkit.org>
16551
16552         [Qt][WK2] Make UIProcess decide about encoding of input data for application URL schemes.
16553         https://bugs.webkit.org/show_bug.cgi?id=77417
16554
16555         Make the UIProcess decide about the encoding and display
16556         a warning in case no encoding was defined.
16557         Make the QQuickNetworkReply store a QWeakPointer to the
16558         QQuickWebViewExperimental to get rid of hackish chain of parental queries.
16559
16560         Reviewed by Simon Hausmann.
16561
16562         * UIProcess/API/qt/qquicknetworkreply.cpp:
16563         (QQuickNetworkReply::send):
16564         (QQuickNetworkReply::setWebViewExperimental):
16565         * UIProcess/API/qt/qquicknetworkreply_p.h:
16566         * UIProcess/API/qt/qquickwebview.cpp:
16567         (QQuickWebViewExperimental::schemeDelegates_Append):
16568         * WebProcess/qt/QtNetworkReply.cpp:
16569         (WebKit::QtNetworkReply::QtNetworkReply):
16570         (WebKit::QtNetworkReply::setReplyData):
16571
16572 2012-01-30  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
16573
16574         [Qt] Disconnect the LayerTreeHost from layers when they get removed from their parent.
16575         https://bugs.webkit.org/show_bug.cgi?id=77362
16576
16577         Reviewed by Noam Rosenthal.
16578
16579         This fixes crashes seen in layout tests under certain timing circumstances
16580         that appeared after r106109 was landed.
16581
16582         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
16583         (WebCore::WebGraphicsLayer::replaceChild):
16584         (WebCore::WebGraphicsLayer::removeFromParent):
16585
16586 2012-01-30  Beth Dakin  <bdakin@apple.com>
16587
16588         https://bugs.webkit.org/show_bug.cgi?id=77263
16589         PlatformScreenMac should not rely on NSWindow for important bits of data
16590
16591         Reviewed by Geoff Garen.
16592
16593         toUserSpace() and toDeviceSpace() now take a parameter for the 
16594         deviceScaleFactor.
16595         * UIProcess/API/mac/WKView.mm:
16596         (-[WKView _convertToDeviceSpace:]):
16597         (-[WKView _convertToUserSpace:]):
16598
16599 2012-01-26  No'am Rosenthal  <noam.rosenthal@nokia.com> and Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
16600
16601         [Qt] WKTR: Use a software rendering pipiline when running tests.
16602         https://bugs.webkit.org/show_bug.cgi?id=76708
16603
16604         Reviewed by Kenneth Rohde Christiansen.
16605
16606         Animation layout tests require the graphics layers tree to be updated
16607         to pass. WebkitTestRunner doesn't show its wrapping QQuickView, which
16608         prevents the rendering pipeline to run and then in turn blocks the web
16609         process from processing further graphics layer updates.
16610
16611         This allows the tests to use a TextureMapperQt to empty the LayerTreeHost's
16612         message queue and render the layers in software on an offscreen buffer.
16613
16614         * UIProcess/API/qt/qquickwebpage.cpp:
16615         (QQuickWebPagePrivate::paint):
16616         * UIProcess/API/qt/qquickwebview.cpp:
16617         (QQuickWebViewPrivate::QQuickWebViewPrivate):
16618         (QQuickWebViewPrivate::setNeedsDisplay):
16619         (QQuickWebViewExperimental::setRenderToOffscreenBuffer):
16620         (QQuickWebViewExperimental::renderToOffscreenBuffer):
16621         * UIProcess/API/qt/qquickwebview_p.h:
16622         * UIProcess/API/qt/qquickwebview_p_p.h:
16623         (QQuickWebViewPrivate::setRenderToOffscreenBuffer):
16624         (QQuickWebViewPrivate::renderToOffscreenBuffer):
16625         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
16626         (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
16627
16628 2012-01-30  Andras Becsi  <andras.becsi@nokia.com>
16629
16630         [Qt][WK2] Render layers do not get flushed when the scroll animation finishes
16631         https://bugs.webkit.org/show_bug.cgi?id=77338
16632
16633         Reviewed by Noam Rosenthal.
16634
16635         Schedule a layer flush when setting the visible content rect and scale.
16636
16637         Fixed with the help of Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
16638
16639         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
16640         (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
16641
16642 2012-01-30  Carlos Garcia Campos  <cgarcia@igalia.com>
16643
16644         Unreviewed. Fix make distcheck.
16645
16646         * GNUmakefile.am: Add missing files.
16647         * WebProcess/WebPage/TapHighlightController.cpp: Add #if
16648         ENABLE(TOUCH_EVENTS).
16649
16650 2012-01-29  Sheriff Bot  <webkit.review.bot@gmail.com>
16651
16652         Unreviewed, rolling out r106022.
16653         http://trac.webkit.org/changeset/106022
16654         https://bugs.webkit.org/show_bug.cgi?id=77305
16655
16656         It broke Qt-WK2 API tests (Requested by Ossy_weekend on
16657         #webkit).
16658
16659         * UIProcess/API/qt/qquickwebview.cpp:
16660         (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
16661         (QQuickWebView::geometryChanged):
16662         * UIProcess/API/qt/qquickwebview_p.h:
16663         * UIProcess/API/qt/qwebviewportinfo.cpp:
16664         (QWebViewportInfo::currentScale):
16665         (QWebViewportInfo::devicePixelRatio):
16666         (QWebViewportInfo::initialScale):
16667         (QWebViewportInfo::minimumScale):
16668         (QWebViewportInfo::maximumScale):
16669         (QWebViewportInfo::isScalable):
16670         (QWebViewportInfo::layoutSize):
16671
16672 2012-01-29  Sheriff Bot  <webkit.review.bot@gmail.com>
16673
16674         Unreviewed, rolling out r106109.
16675         http://trac.webkit.org/changeset/106109
16676         https://bugs.webkit.org/show_bug.cgi?id=77302
16677
16678         It made tests crash (Requested by Ossy_weekend on #webkit).
16679
16680         * UIProcess/API/qt/qquickwebpage.cpp:
16681         * UIProcess/API/qt/qquickwebpage_p_p.h:
16682         (QQuickWebPagePrivate):
16683         * UIProcess/API/qt/qquickwebview.cpp:
16684         (QQuickWebViewPrivate::QQuickWebViewPrivate):
16685         * UIProcess/API/qt/qquickwebview_p.h:
16686         * UIProcess/API/qt/qquickwebview_p_p.h:
16687         (QQuickWebViewPrivate):
16688         * UIProcess/DrawingAreaProxy.h:
16689         * UIProcess/DrawingAreaProxyImpl.cpp:
16690         * UIProcess/DrawingAreaProxyImpl.h:
16691         (DrawingAreaProxyImpl):
16692         * UIProcess/LayerTreeHostProxy.h:
16693         (LayerTreeHostProxy):
16694         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
16695         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
16696         * UIProcess/qt/QtPageClient.cpp:
16697         (QtPageClient::setViewNeedsDisplay):
16698
16699 2012-01-27  Fady Samuel  <fsamuel@chromium.org>
16700
16701         Rename shouldLayoutFixedElementsRelativeToFrame and make it a setting
16702         https://bugs.webkit.org/show_bug.cgi?id=76459
16703
16704         Reviewed by Darin Fisher.
16705
16706         * win/WebKit2.def:
16707         * win/WebKit2CFLite.def:
16708
16709 2012-01-27  Martin Robinson  <mrobinson@igalia.com>
16710
16711         Fix a compilation warning in a WebKit2 GTK+ API test.
16712
16713         Reviewed by Gustavo Noronha Silva.
16714
16715         * UIProcess/API/gtk/tests/TestBackForwardList.cpp:
16716         (testBackForwardListLimitAndCache): Use an int instead of size_t
16717         because we want to print them as ints and do subtraction on them.
16718
16719 2012-01-27  Martin Robinson  <mrobinson@igalia.com>
16720
16721         [GTK] [WK2] Implement the policy client
16722         https://bugs.webkit.org/show_bug.cgi?id=76343
16723
16724         Reviewed by Gustavo Noronha Silva.
16725
16726         Implement the abstract WebKitPolicyDecision, WebKitNavigationPolicyDecision,
16727         and add the decide-policy signal to WebKitWebView.
16728
16729         * GNUmakefile.am: Add new files to the source list.
16730         * UIProcess/API/gtk/WebKitError.cpp: Use the WebCore namespace because
16731         of changes to ASSERT_MATCHING_ENUMS.
16732         * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp: Added.
16733         * UIProcess/API/gtk/WebKitNavigationPolicyDecision.h: Added.
16734         * UIProcess/API/gtk/WebKitNavigationPolicyDecisionPrivate.h: Added.
16735         * UIProcess/API/gtk/WebKitPolicyClient.cpp: Added.
16736         * UIProcess/API/gtk/WebKitPolicyClientPrivate.h: Added.
16737         * UIProcess/API/gtk/WebKitPolicyDecision.cpp: Added.
16738         * UIProcess/API/gtk/WebKitPolicyDecision.h: Added.
16739         * UIProcess/API/gtk/WebKitPolicyDecisionPrivate.h: Added.
16740         * UIProcess/API/gtk/WebKitPrivate.h: Modify ASSERT_MATCHING_ENUMS to make
16741         it useful for non-WebCore enums.
16742         * UIProcess/API/gtk/WebKitWebView.cpp:
16743         (webkitWebViewConstructed): Attach the policy client callbacks to the page.
16744         (webkit_web_view_class_init): Add the decide-policy signal definition.
16745         (webkitWebViewMakePolicyDecision): Added this private method to fire the signal.
16746         * UIProcess/API/gtk/WebKitWebView.h: Added new signal to the list.
16747         * UIProcess/API/gtk/WebKitWebViewPrivate.h: Added new method declaration.
16748         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Added new classes to the docs.
16749         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Ditto.
16750         * UIProcess/API/gtk/tests/GNUmakefile.am: Added new test to the source list.
16751         * UIProcess/API/gtk/tests/TestWebKitPolicyClient.cpp: Added.
16752         * UIProcess/API/gtk/webkit2marshal.list: decide-policy has a new signature.
16753
16754 2012-01-27  Ada Chan  <adachan@apple.com>
16755
16756         Add API to get the parent frame in WKBundleFrameRef
16757         https://bugs.webkit.org/show_bug.cgi?id=77161
16758
16759         Reviewed by Anders Carlsson.
16760
16761         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
16762         (WKBundleFrameGetParentFrame): Get the parent frame by calling WebFrame::parentFrame().
16763         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
16764         * WebProcess/WebPage/WebFrame.cpp:
16765         (WebKit::WebFrame::parentFrame): Return null if the frame does not have an owner element.
16766         Otherwise, return the owner element's frame.
16767         * WebProcess/WebPage/WebFrame.h:
16768
16769 2012-01-27  Gustavo Noronha Silva  <gns@gnome.org>
16770
16771         [GTK] Sometimes fails to build when using make -j
16772         https://bugs.webkit.org/show_bug.cgi?id=77226
16773
16774         Reviewed by Martin Robinson.
16775
16776         * GNUmakefile.am: use a different name for the scripts used to
16777         generate enum files for WebKitGTK+ and WebKit2GTK+, so they do not
16778         clash;
16779
16780 2012-01-27  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
16781
16782         Fix overridePreference for WebKitHixie76WebSocketProtocolEnabled in WebKitTestRunner.
16783         https://bugs.webkit.org/show_bug.cgi?id=77220
16784
16785         Reviewed by Noam Rosenthal.
16786
16787         * WebProcess/InjectedBundle/InjectedBundle.cpp:
16788         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner): The macro already stringify TestRunnerName.
16789
16790 2012-01-27  Carlos Garcia Campos  <cgarcia@igalia.com>
16791
16792         [GTK] Add a GKeyFile especialization to GOwnPtr
16793         https://bugs.webkit.org/show_bug.cgi?id=77191
16794
16795         Reviewed by Martin Robinson.
16796
16797         * Shared/gtk/ArgumentCodersGtk.cpp:
16798         (CoreIPC::decodeGKeyFile): Use GOwnPtr for GKeyFile.
16799         (CoreIPC::encode): Ditto.
16800         (CoreIPC::decode): Ditto.
16801
16802 2012-01-27  Kenneth Rohde Christiansen  <kenneth@webkit.org>
16803
16804         [Qt] Fade out tap highlighting when starting to pan
16805         https://bugs.webkit.org/show_bug.cgi?id=77202
16806
16807         Reviewed by Simon Hausmann.
16808
16809         Basically we need to fade out the potential tap highlighting
16810         when ever the gesture recognition fails or another gesture
16811         is recognized. We do that with this change.
16812
16813         * UIProcess/qt/QtTapGestureRecognizer.cpp:
16814         (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
16815         (WebKit::QtTapGestureRecognizer::recognize):
16816         (WebKit::QtTapGestureRecognizer::reset):
16817
16818             Remove reset as it does nothing but call code before the
16819             event handler is installed.
16820
16821 2012-01-26  No'am Rosenthal  <noam.rosenthal@nokia.com> and Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
16822
16823         [Qt] WKTR: Use a software rendering pipiline when running tests.
16824         https://bugs.webkit.org/show_bug.cgi?id=76708
16825
16826         Reviewed by Kenneth Rohde Christiansen.
16827
16828         Animation layout tests require the graphics layers tree to be updated
16829         to pass. WebkitTestRunner doesn't show its wrapping QQuickView, which
16830         prevents the rendering pipeline to run and then in turn blocks the web
16831         process from processing further graphics layer updates.
16832
16833         This allows the tests to use a TextureMapperQt to empty the LayerTreeHost's
16834         message queue and render the layers in software on an offscreen buffer.
16835
16836         * UIProcess/API/qt/qquickwebpage.cpp:
16837         (QQuickWebPagePrivate::paint):
16838         * UIProcess/API/qt/qquickwebview.cpp:
16839         (QQuickWebViewPrivate::QQuickWebViewPrivate):
16840         (QQuickWebViewPrivate::setNeedsDisplay):
16841         (QQuickWebViewExperimental::setRenderToOffscreenBuffer):
16842         (QQuickWebViewExperimental::renderToOffscreenBuffer):
16843         * UIProcess/API/qt/qquickwebview_p.h:
16844         * UIProcess/API/qt/qquickwebview_p_p.h:
16845         (QQuickWebViewPrivate::setRenderToOffscreenBuffer):
16846         (QQuickWebViewPrivate::renderToOffscreenBuffer):
16847         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
16848         (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
16849
16850 2012-01-27  Simon Hausmann  <simon.hausmann@nokia.com>
16851
16852         [Qt] Re-creating QQuickWebView starts new web process every time
16853         https://bugs.webkit.org/show_bug.cgi?id=77194
16854
16855         Reviewed by Kenneth Rohde Christiansen.
16856
16857         Since the WebKit::WebContext is never fully destructed due to circular
16858         references, we should use the real shared context instead of re-creating
16859         a new WebContext every time.
16860
16861         * UIProcess/qt/QtWebContext.cpp:
16862         (WebKit::QtWebContext::defaultContext):
16863
16864 2012-01-26  Carlos Garcia Campos  <cgarcia@igalia.com>
16865
16866         [GTK] Add basic printing support to WebKit2
16867         https://bugs.webkit.org/show_bug.cgi?id=76172
16868
16869         Reviewed by Gustavo Noronha Silva.
16870
16871         * GNUmakefile.am: Add new files to compilation.
16872         * Shared/PrintInfo.cpp:
16873         (WebKit::PrintInfo::encode): Encode also GtkPrintSettings and
16874         GtkPageSetup for the GTK+ port.
16875         (WebKit::PrintInfo::decode): Decode also GtkPrintSettings and
16876         GtkPageSetup for the GTK+ port.
16877         * Shared/PrintInfo.h: Add GtkPrintSettings and GtkPageSetup member
16878         for the GTK+ port.
16879         * Shared/gtk/ArgumentCodersGtk.cpp:
16880         (CoreIPC::encodeGKeyFile): Helper function to encode a GKeyFile as
16881         a DataReference object.
16882         (CoreIPC::decodeGKeyFile): Helper function to decode a GKeyFile to
16883         a DataReference object.
16884         (CoreIPC::encode): Encode GtkPrintSettings and GtkPageSetup using
16885         the GKeyFile representation.
16886         (CoreIPC::decode): Decode GtkPrintSettings and GtkPageSetup using
16887         the GKeyFile representation.
16888         * Shared/gtk/ArgumentCodersGtk.h:
16889         * Shared/gtk/PrintInfoGtk.cpp: Copied from Source/WebKit2/Shared/PrintInfo.cpp.
16890         (WebKit::PrintInfo::PrintInfo): Add PrintInfo constructor that
16891         takes GtkPrintSettings and GtkPageSetup instances.
16892         * UIProcess/WebPageProxy.cpp:
16893         (WebKit::WebPageProxy::drawPagesForPrinting): Send
16894         DrawPagesForPrinting message to Web process to start printing.
16895         * UIProcess/WebPageProxy.h:
16896         * WebProcess/WebPage/WebPage.cpp:
16897         (WebKit::WebPage::beginPrinting): Create a WebPrintOperationGtk.
16898         (WebKit::WebPage::endPrinting): Delete the WebPrintOperationGtk
16899         object.
16900         (WebKit::WebPage::drawPagesForPrinting): Start printing pages.
16901         * WebProcess/WebPage/WebPage.h:
16902         * WebProcess/WebPage/WebPage.messages.in: Add DrawPagesForPrinting message.
16903         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp: Added.
16904         (WebKit::PrintPagesData::PrintPagesData): Struct to store all data
16905         used to render pages for printing.
16906         (WebKit::PrintPagesData::incrementPageSequence): Helper function
16907         to increment the page sequence.
16908         (WebKit::WebPrintOperationGtk::create): Create a
16909         WebPrintOperationGtkUnix or WebPrintOperationGtkWin32 depending on
16910         the platform.
16911         (WebKit::WebPrintOperationGtk::WebPrintOperationGtk):
16912         (WebKit::WebPrintOperationGtk::~WebPrintOperationGtk):
16913         (WebKit::WebPrintOperationGtk::pageCount): Return the total pages
16914         of the document to print.
16915         (WebKit::WebPrintOperationGtk::rotatePage): Helper function to
16916         transform the context according to orientation.
16917         (WebKit::WebPrintOperationGtk::renderPage): Render the given page
16918         into the printing context.
16919         (WebKit::WebPrintOperationGtk::printPagesIdle): Idle function used
16920         to print pages.
16921         (WebKit::WebPrintOperationGtk::printPagesIdleDone): Callback
16922         called when printPagesIdle finishes.
16923         (WebKit::WebPrintOperationGtk::printDone): Helper function to
16924         finish the print operation, called when all pages have been rendered.
16925         (WebKit::WebPrintOperationGtk::print): Start printing the document
16926         using the given cairo surface.
16927         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h: Added.
16928         (WebKit::WebPrintOperationGtk::printSettings):
16929         (WebKit::WebPrintOperationGtk::pageSetup):
16930         (WebKit::WebPrintOperationGtk::pagesToPrint):
16931         (WebKit::WebPrintOperationGtk::pageRanges):
16932         (WebKit::WebPrintOperationGtk::pageRangesCount):
16933
16934 2012-01-26  Tim Horton  <hortont424@gmail.com>
16935
16936         3D transformed elements hide when showing the print dialog
16937         https://bugs.webkit.org/show_bug.cgi?id=45894
16938         <rdar://problem/7441593>
16939
16940         Reviewed by Andy Estes.
16941
16942         Suspend updates of the compositing layer tree while printing is taking place,
16943         preventing on-screen layers from moving to their print-mode positions.
16944
16945         * WebProcess/WebPage/WebPage.cpp:
16946         (WebKit::WebPage::beginPrinting):
16947         (WebKit::WebPage::endPrinting):
16948         * WebProcess/WebPage/ca/LayerTreeHostCA.h:
16949         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
16950         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
16951         (WebKit::LayerTreeHostCAMac::forceRepaint):
16952         (WebKit::LayerTreeHostCAMac::flushPendingLayerChanges):
16953
16954 2012-01-26  Andras Becsi  <andras.becsi@nokia.com>
16955
16956         [Qt][WK2] Add the componentComplete method to WebView
16957         https://bugs.webkit.org/show_bug.cgi?id=77111
16958
16959         Reviewed by Kenneth Rohde Christiansen.
16960
16961         Move the touch/desktop initialization to componentComplete.
16962         Also return valid default values in the viewport info functions
16963         if the interaction engine is not yet initialized because the
16964         viewport info component could finish initialization earlier
16965         than the WebView, which results in QML warnings during MiniBrowser
16966         startup.
16967
16968         * UIProcess/API/qt/qquickwebview.cpp:
16969         (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
16970         (QQuickWebView::geometryChanged):
16971         (QQuickWebView::componentComplete):
16972         * UIProcess/API/qt/qquickwebview_p.h:
16973         * UIProcess/API/qt/qwebviewportinfo.cpp:
16974         (QWebViewportInfo::currentScale):
16975         (QWebViewportInfo::devicePixelRatio):
16976         (QWebViewportInfo::initialScale):
16977         (QWebViewportInfo::minimumScale):
16978         (QWebViewportInfo::maximumScale):
16979         (QWebViewportInfo::isScalable):
16980         (QWebViewportInfo::layoutSize):
16981
16982 2012-01-26  Anders Carlsson  <andersca@apple.com>
16983
16984         WebWheelEvent::Phase and PlatformWheelEvent::Phase declarations should match AppKit
16985         https://bugs.webkit.org/show_bug.cgi?id=77123
16986
16987         Reviewed by Beth Dakin.
16988
16989         * Shared/WebEvent.h:
16990         ():
16991         * Shared/mac/WebEventFactory.mm:
16992         (WebKit::phaseForEvent):
16993
16994 2012-01-26  Andras Becsi  <andras.becsi@nokia.com>
16995
16996         ASSERT(!m_overlay) reached in TapHighlightController.cpp:73
16997         https://bugs.webkit.org/show_bug.cgi?id=77117
16998
16999         Reviewed by Tor Arne Vestbø.
17000
17001         The PageOverlay does only get uninstalled after the fade-out animation finishes,
17002         so do not assert on !m_overlay after the uninstallPageOverlay call.
17003
17004         * WebProcess/WebPage/TapHighlightController.cpp:
17005         (WebKit::TapHighlightController::hideHighlight):
17006
17007 2012-01-26  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
17008
17009         WebPreferencesStore: use DEFINE_STATIC_LOCAL for overrides HashMap
17010         https://bugs.webkit.org/show_bug.cgi?id=77109
17011
17012         Reviewed by Andreas Kling.
17013
17014         Fix build for Clang.
17015
17016         * Shared/WebPreferencesStore.cpp:
17017         (WebKit):
17018         (WebKit::boolTestRunnerOverridesMap):
17019         (WebKit::WebPreferencesStore::overrideBoolValueForKey):
17020         (WebKit::WebPreferencesStore::removeTestRunnerOverrides):
17021         (WebKit::WebPreferencesStore::getBoolValueForKey):
17022
17023 2012-01-26  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
17024
17025         Implement overridePreference for boolean preferences in WebKitTestRunner
17026         https://bugs.webkit.org/show_bug.cgi?id=77033
17027
17028         Reviewed by Alexey Proskuryakov.
17029
17030         Implement a way to WebKitTestRunner override preferences for the pages
17031         loaded. Follows the same approach taken by
17032         overrideXSSAuditorEnabledForTestRunner() from r66551, but generalizing to many
17033         preferences.
17034
17035         Preferences are stored in the UI process using WebPreferencesStore, and when
17036         there's a change, this data is sent to Web process, triggering
17037         WebPage::preferencesDidChange(), which take a WebPreferencesStore and apply it's
17038         data to the WebCore::Settings object.
17039
17040         The overridePreference() is executed on the Web process, and set the preferences
17041         without communicating to the UI process. The overriden preferences are stored in
17042         a static map and WebPreferencesStore query this map before returning the values
17043         of each preference. This static map is used only on the Web process.
17044
17045         To clear the overrides we need to clear the map. Since WTR only sets preferences
17046         when resetting the page, we hook the clearing at WebPage::preferencesDidChange().
17047         A WKPreferences private function was exposed to WTR force the update, in case
17048         there's no effective change at UI process (all the properties remains the same).
17049
17050         This clearing could be improved by creating a proper message instead of hooking
17051         at WebPage::preferencesDidChange().
17052
17053         * Shared/WebPreferencesStore.cpp:
17054         (WebKit::WebPreferencesStore::decode):
17055         (WebKit::WebPreferencesStore::overrideBoolValueForKey):
17056         (WebKit::WebPreferencesStore::removeTestRunnerOverrides):
17057         (WebKit::WebPreferencesStore::getBoolValueForKey):
17058         * Shared/WebPreferencesStore.h:
17059         * UIProcess/API/C/WKPreferences.cpp:
17060         (WKPreferencesResetTestRunnerOverrides):
17061         * UIProcess/API/C/WKPreferencesPrivate.h:
17062         * UIProcess/WebPreferences.h:
17063         (WebKit::WebPreferences::forceUpdate):
17064         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
17065         (WKBundleOverrideBoolPreferenceForTestRunner):
17066         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
17067         * WebProcess/InjectedBundle/InjectedBundle.cpp:
17068         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
17069         (WebKit::InjectedBundle::overrideXSSAuditorEnabledForTestRunner):
17070         * WebProcess/InjectedBundle/InjectedBundle.h:
17071
17072 2012-01-26  Carlos Garcia Campos  <cgarcia@igalia.com>
17073
17074         [GTK][WK2] Primary clipboard should be updated with the current selection in X11 platforms
17075         https://bugs.webkit.org/show_bug.cgi?id=77097
17076
17077         Reviewed by Martin Robinson.
17078
17079         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
17080         (WebKit::WebEditorClient::respondToChangedSelection): Call
17081         setSelectionPrimaryClipboardIfNeeded() to update primary clipboard
17082         in X11 platforms.
17083         * WebProcess/WebCoreSupport/WebEditorClient.h:
17084         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
17085         (WebKit::collapseSelection): Callback called when clearing
17086         clipboard contents.
17087         (WebKit::WebEditorClient::setSelectionPrimaryClipboardIfNeeded):
17088         Updaye primary clipboard with the current selection.
17089
17090 2012-01-26  Zeno Albisser  <zeno@webkit.org>
17091
17092         [Qt][WK2] Use QVariant for payload data in application URL schemes.
17093         https://bugs.webkit.org/show_bug.cgi?id=77007
17094
17095         Make application schemes use QVariant for payload data.
17096         This allows passing QByteArrays as well as simple String data.
17097
17098         Remove unneeded http header parts that were exposed in
17099         QQuickNetworkReply.
17100
17101         Add ByteArrayTestData class to allow injecting QByteArray
17102         data into an application scheme handler for testing.
17103
17104         Reviewed by Simon Hausmann.
17105
17106         * Shared/qt/QtNetworkReplyData.cpp:
17107         (WebKit::QtNetworkReplyData::QtNetworkReplyData):
17108         (WebKit::QtNetworkReplyData::encode):
17109         (WebKit::QtNetworkReplyData::decode):
17110         * Shared/qt/QtNetworkReplyData.h:
17111         * UIProcess/API/qt/qquicknetworkreply.cpp:
17112         (QQuickNetworkReply::QQuickNetworkReply):
17113         (QQuickNetworkReply::data):
17114         (QQuickNetworkReply::setData):
17115         (QQuickNetworkReply::send):
17116         * UIProcess/API/qt/qquicknetworkreply_p.h:
17117         * UIProcess/API/qt/tests/bytearraytestdata.cpp: Added.
17118         (ByteArrayTestData::ByteArrayTestData):
17119         (ByteArrayTestData::latin1Data):
17120         (ByteArrayTestData::utf8Data):
17121         * UIProcess/API/qt/tests/bytearraytestdata.h: Added.
17122         * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
17123         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
17124         (main):
17125         * UIProcess/API/qt/tests/tests.pri:
17126         * WebProcess/qt/QtNetworkReply.cpp:
17127         (WebKit::QtNetworkReply::setReplyData):
17128         * WebProcess/qt/QtNetworkReply.h:
17129
17130 2012-01-26  Thiago Marcos P. Santos  <tmpsantos@gmail.com>
17131
17132         [Qt] Fixed build when using force_static_libs_as_shared
17133         https://bugs.webkit.org/attachment.cgi?bugid=77082
17134
17135         Reviewed by Simon Hausmann.
17136
17137         * Target.pri:
17138
17139 2012-01-26  Nándor Huszka  <huszka.nandor@stud.u-szeged.hu>
17140
17141         [WK2] WebKitTestRunner needs layoutTestController.setGeolocationPermission
17142         https://bugs.webkit.org/show_bug.cgi?id=42545
17143
17144         Reviewed by Zoltan Herczeg.
17145
17146         Implement the setGeolocationPermission method.
17147
17148         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
17149         (WKBundleSetGeolocationPermission):
17150         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
17151         * WebProcess/InjectedBundle/InjectedBundle.cpp:
17152         (WebKit::InjectedBundle::setGeoLocationPermission):
17153         (WebKit):
17154         * WebProcess/InjectedBundle/InjectedBundle.h:
17155         (InjectedBundle):
17156
17157 2012-01-25  Mark Rowe  <mrowe@apple.com>
17158
17159         Build in to an alternate location when USE_STAGING_INSTALL_PATH is set.
17160
17161         <rdar://problem/10609417> Adopt USE_STAGING_INSTALL_PATH
17162
17163         Reviewed by David Kilzer.
17164
17165         * Configurations/BaseTarget.xcconfig: Define NORMAL_WEBKIT2_FRAMEWORKS_DIR, which contains
17166         the path where WebKit is normally installed. Update WEBKIT2_FRAMEWORKS_DIR to point to
17167         the staged frameworks directory when USE_STAGING_INSTALL_PATH is set. Update
17168         UMBRELLA_FRAMEWORKS_DIR so we can find WebCore at the top level of the staged frameworks
17169         directory when USE_STAGING_INSTALL_PATH is set, rather than finding it embedded inside of
17170         WebKit.framework.
17171         * Configurations/PluginProcess.xcconfig: Set our install path based on WEBKIT2_FRAMEWORKS_DIR.
17172         * Configurations/WebKit2.xcconfig: Set our install path based on WEBKIT2_FRAMEWORKS_DIR.
17173         Always set the framework's install name based on the normal framework location. This prevents
17174         an incorrect install name from being used when installing in to the staged frameworks directory.
17175         * Configurations/WebProcess.xcconfig: Set our install path based on WEBKIT2_FRAMEWORKS_DIR.
17176
17177 2012-01-25  No'am Rosenthal  <noam.rosenthal@nokia.com>
17178
17179         [WK2][Qt] REGRESSION: Pages with transform animations sometimes omit some of the layers since r105413
17180         https://bugs.webkit.org/show_bug.cgi?id=76886
17181
17182         Reviewed by Kenneth Rohde Christiansen.
17183
17184         We now render the whole layer if it or one if its ancestors has an active transform
17185         animations. It's possible to optimize further in the future, but not currently necessary.
17186         Also, we make sure that when a WebGraphicsLayer's property that affects transformation is
17187         changed, all its descandants layers are marked as modified so that we re-adjust their
17188         visible rect in the next pass.
17189
17190         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
17191         (WebCore::WebGraphicsLayer::notifyChangeRecursively):
17192         (WebCore):
17193         (WebCore::WebGraphicsLayer::setPosition):
17194         (WebCore::WebGraphicsLayer::setAnchorPoint):
17195         (WebCore::WebGraphicsLayer::setSize):
17196         (WebCore::WebGraphicsLayer::setTransform):
17197         (WebCore::WebGraphicsLayer::setChildrenTransform):
17198         (WebCore::WebGraphicsLayer::setPreserves3D):
17199         (WebCore::WebGraphicsLayer::setMasksToBounds):
17200         (WebCore::WebGraphicsLayer::addAnimation):
17201         (WebCore::WebGraphicsLayer::removeAnimation):
17202         (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
17203         (WebCore::WebGraphicsLayer::selfOrAncestorHasActiveTransformAnimations):
17204         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
17205         (WebGraphicsLayer):
17206
17207 2012-01-25  Hajime Morita  <morrita@google.com>
17208
17209         ENABLE_SHADOW_DOM should be available via build-webkit --shadow-dom
17210         https://bugs.webkit.org/show_bug.cgi?id=76863
17211
17212         Reviewed by Dimitri Glazkov.
17213
17214         Added a feature flag.
17215
17216         * Configurations/FeatureDefines.xcconfig:
17217
17218 2012-01-25  Martin Robinson  <mrobinson@igalia.com>
17219
17220         [WK2] Navigation events not triggered by a mouse event claim to be triggered by the left mouse button during policy decisions
17221         https://bugs.webkit.org/show_bug.cgi?id=76344
17222
17223         Reviewed by Sam Weinig.
17224
17225         When creating InjectedBundleNavigationActions, initialize the mouse button to NoButton.
17226         This ensures that when there is no mouse event associated with the action, when the event
17227         hits the client-API layer, the button is still NoButton.
17228
17229         * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
17230         (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction): Initialize m_mouseButton
17231         to WebMouseEvent::NoButton.
17232
17233 2012-01-25  Kenneth Rohde Christiansen  <kenneth@webkit.org>
17234
17235         [Qt] Implement tap feedback respecting -webkit-tap-highlight-color
17236         https://bugs.webkit.org/show_bug.cgi?id=76914
17237
17238         Reviewed by Simon Hausmann.
17239
17240         Implement tap highlighting for Qt. When a touch press is issued,
17241         which is not handled by the web page, then we highlight any
17242         activatable node below. In all otehr cases, we hide any highlights.
17243
17244         The highlighting itself is painted on an accelerated PageOverlay,
17245         on the web process side.
17246
17247         * Target.pri:
17248         * UIProcess/WebPageProxy.cpp:
17249         (WebKit::WebPageProxy::handlePotentialActivation):
17250         * UIProcess/WebPageProxy.h:
17251         * UIProcess/qt/QtTapGestureRecognizer.cpp:
17252         (WebKit::QtTapGestureRecognizer::recognize):
17253         * UIProcess/qt/QtWebPageEventHandler.cpp:
17254         (QtWebPageEventHandler::handlePotentialSingleTapEvent):
17255         * UIProcess/qt/QtWebPageEventHandler.h:
17256         * WebProcess/WebPage/TapHighlightController.cpp: Added.
17257         (WebKit::TapHighlightController::TapHighlightController):
17258         (WebKit::TapHighlightController::~TapHighlightController):
17259         (WebKit::TapHighlightController::highlight):
17260         (WebKit::TapHighlightController::hideHighlight):
17261         (WebKit::TapHighlightController::pageOverlayDestroyed):
17262         (WebKit::TapHighlightController::willMoveToWebPage):
17263         (WebKit::TapHighlightController::didMoveToWebPage):
17264         (WebKit::highlightColor):
17265         (WebKit::TapHighlightController::drawRect):
17266         (WebKit::TapHighlightController::mouseEvent):
17267         * WebProcess/WebPage/TapHighlightController.h: Added.
17268         * WebProcess/WebPage/WebPage.cpp:
17269         (WebKit::WebPage::WebPage):
17270         (WebKit::WebPage::highlightPotentialActivation):
17271         * WebProcess/WebPage/WebPage.h:
17272         (WebKit::WebPage::tapHighlightController):
17273         * WebProcess/WebPage/WebPage.messages.in:
17274
17275 2012-01-25  Nándor Huszka  <huszka.nandor@stud.u-szeged.hu>
17276
17277         [WK2] WebKitTestRunner needs layoutTestController.setPopupBlockingEnabled
17278         https://bugs.webkit.org/show_bug.cgi?id=63458
17279
17280         Reviewed by Adam Roben.
17281
17282         Implement the setPopupBlockingEnabled method.
17283
17284         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
17285         (WKBundleSetPrivateBrowsingEnabled):
17286         (WKBundleSetPopupBlockingEnabled):
17287         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
17288         * WebProcess/InjectedBundle/InjectedBundle.cpp:
17289         (WebKit::InjectedBundle::setPopupBlockingEnabled):
17290         * WebProcess/InjectedBundle/InjectedBundle.h:
17291
17292 2012-01-25  Yael Aharon  <yael.aharon@nokia.com>
17293
17294         [Qt] Build fix when using force_static_libs_as_shared
17295         https://bugs.webkit.org/show_bug.cgi?id=76832
17296
17297         Reviewed by Simon Hausmann.
17298
17299         Add a dependency on QtWidgets.
17300
17301         * Target.pri:
17302
17303 2012-01-24  Sergio Villar Senin  <svillar@igalia.com>
17304
17305         [WK2] FindController should not assume that ports do not want to highlight text matches
17306         https://bugs.webkit.org/show_bug.cgi?id=76921
17307
17308         Reviewed by Darin Adler.
17309
17310         FindController must obey the FindOptionsShowHighlight flag instead
17311         of assuming that ports do not want to highlight search matches.
17312
17313         * Shared/API/c/WKFindOptions.h: added kWKFindOptionsShowHighlight.
17314         * Shared/API/c/WKSharedAPICast.h:
17315         (WebKit::toFindOptions): Ditto.
17316         * Shared/WebFindOptions.h: added FindOptionsShowHighlight.
17317         * WebProcess/WebPage/FindController.cpp:
17318         (WebKit::FindController::findString):
17319
17320 2012-01-25  Carlos Garcia Campos  <cgarcia@igalia.com>
17321
17322         [GTK] Page clients don't need to be GObjects anymore in WebKit2 GTK+ API
17323         https://bugs.webkit.org/show_bug.cgi?id=76899
17324
17325         Reviewed by Martin Robinson.
17326
17327         * UIProcess/API/gtk/WebKitLoaderClient.cpp: Renamed from
17328         Source/WebKit2/UIProcess/API/gtk/WebKitWebLoaderClient.cpp.
17329         (didStartProvisionalLoadForFrame): Use clientInfo instead fo
17330         getting the view from the page.
17331         (didReceiveServerRedirectForProvisionalLoadForFrame): Ditto.
17332         (didFailProvisionalLoadWithErrorForFrame): Ditto.
17333         (didCommitLoadForFrame): Ditto.
17334         (didFinishLoadForFrame): Ditto.
17335         (didFailLoadWithErrorForFrame): Ditto.
17336         (didSameDocumentNavigationForFrame): Ditto.
17337         (didReceiveTitleForFrame): Ditto.
17338         (didChangeProgress): Ditto.
17339         (didChangeBackForwardList): Ditto.
17340         (attachLoaderClientToView): Pass WebKitWebView as clientInfo to
17341         callbacks.
17342         * UIProcess/API/gtk/WebKitLoaderClient.h: Added.
17343         * UIProcess/API/gtk/WebKitUIClient.cpp:
17344         (createNewPage): Use clientInfo instead fo getting the view from
17345         the page.
17346         (showPage): Ditto.
17347         (closePage): Ditto.
17348         (runJavaScriptAlert): Ditto.
17349         (runJavaScriptConfirm): Ditto.
17350         (runJavaScriptPrompt): Ditto.
17351         (toolbarsAreVisible): Ditto.
17352         (setToolbarsAreVisible): Ditto.
17353         (menuBarIsVisible): Ditto.
17354         (setMenuBarIsVisible): Ditto.
17355         (statusBarIsVisible): Ditto.
17356         (setStatusBarIsVisible): Ditto.
17357         (isResizable): Ditto.
17358         (setIsResizable): Ditto.
17359         (getWindowFrame): Ditto.
17360         (setWindowFrame): Ditto.
17361         (attachUIClientToView): Pass WebKitWebView as clientInfo to
17362         callbacks.
17363         * UIProcess/API/gtk/WebKitUIClient.h: Remove GObject boilerplate.
17364         * UIProcess/API/gtk/WebKitWebLoaderClient.h: Removed.
17365         * UIProcess/API/gtk/WebKitWebView.cpp:
17366         (webkitWebViewConstructed): Remove UIClient and LoaderClient
17367         objects and call attachUIClientToView() and attachLoaderClientToView().
17368         * UIProcess/API/gtk/tests/GNUmakefile.am: Rename
17369         WebKitWebLoaderClient to WebKitLoaderClient.
17370         * UIProcess/API/gtk/tests/TestLoaderClient.cpp: Renamed from
17371         Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp.
17372
17373 2012-01-25  Roland Steiner  <rolandsteiner@chromium.org>
17374
17375         <style scoped>: Implement registering of <style scoped> with the scoping element
17376         https://bugs.webkit.org/show_bug.cgi?id=67790
17377
17378         Add symbols for windows.internals.numberOfScopedHTMLStyleChildren
17379
17380         Reviewed by Dimitri Glazkov.
17381
17382         * win/WebKit2.def:
17383         * win/WebKit2CFLite.def:
17384
17385 2012-01-24  Beth Dakin  <bdakin@apple.com>
17386
17387         https://bugs.webkit.org/show_bug.cgi?id=76928
17388         Accelerated drawing should force compositing mode
17389         -and corresponding-
17390         <rdar://problem/10697417>
17391
17392         Reviewed by Simon Fraser.
17393
17394         * WebProcess/WebPage/WebPage.cpp:
17395         (WebKit::WebPage::updatePreferences):
17396
17397 2012-01-24  Alexis Menard  <alexis.menard@openbossa.org>
17398
17399         Unreviewed build fix for Qt.
17400
17401         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
17402         (WebKit::LayerTreeHostQt::showDebugBorders):
17403         (WebKit::LayerTreeHostQt::showRepaintCounter):
17404
17405 2012-01-23  Simon Fraser  <simon.fraser@apple.com>
17406
17407         Show layer borders for scrollbar layers
17408         https://bugs.webkit.org/show_bug.cgi?id=76888
17409
17410         Reviewed by Beth Dakin.
17411         
17412         Update for new signatures of GraphicsLayerClient::showDebugBorders()
17413         and GraphicsLayerClient::showRepaintCounter().
17414
17415         * UIProcess/LayerTreeHostProxy.h:
17416         (WebKit::LayerTreeHostProxy::showDebugBorders):
17417         (WebKit::LayerTreeHostProxy::showRepaintCounter):
17418         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
17419         (WebKit::LayerTreeHostCA::showDebugBorders):
17420         (WebKit::LayerTreeHostCA::showRepaintCounter):
17421         * WebProcess/WebPage/ca/LayerTreeHostCA.h:
17422         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
17423
17424 2012-01-24  David Levin  <levin@chromium.org>
17425
17426         [windows] Convert usage of GetDC to HWndDC Part 3.
17427         https://bugs.webkit.org/show_bug.cgi?id=76889
17428
17429         Reviewed by Adam Roben.
17430
17431         * UIProcess/win/WebPopupMenuProxyWin.cpp:
17432         (WebKit::WebPopupMenuProxyWin::paint): Fix a dc leak and use the dellayed allocation.
17433
17434 2012-01-24  Sergio Villar Senin  <svillar@igalia.com>
17435
17436         [WK2] [GTK] TestDownloads hitting an assertion in Debug builds
17437         https://bugs.webkit.org/show_bug.cgi?id=76915
17438
17439         Reviewed by Martin Robinson.
17440
17441         No new tests required as it fixes some assertions in a unit test.
17442
17443         * WebProcess/Downloads/soup/DownloadSoup.cpp:
17444         (WebKit::Download::start):
17445         (WebKit::Download::startWithHandle):
17446
17447 2012-01-24  No'am Rosenthal  <noam.rosenthal@nokia.com>
17448
17449         [Qt][WK2] Qt's cross-process AC copies images excessively when updating tiles.
17450         https://bugs.webkit.org/show_bug.cgi?id=76877
17451
17452         Reviewed by Kenneth Rohde Christiansen.
17453
17454         Instead of copying QImages, pass a reference to the ShareableBitmap that was originally
17455         created by the web process. Also, swizzle the image's RGB in the web process, before it's
17456         transferred to the UI process.
17457
17458         Data flow before change:
17459         (Web Process) Render to image -> IPC -> (UI Process) Copy (render queue) -> Copy Swizzled RGB -> Upload
17460
17461         Data flow after change:
17462         (Web Process) Render to image -> swizzle RGB -> IPC -> (UI Process) -> Upload
17463
17464         * Shared/ShareableBitmap.h:
17465         * Shared/qt/ShareableBitmapQt.cpp:
17466         (WebKit::ShareableBitmap::swizzleRGB):
17467         * UIProcess/LayerTreeHostProxy.h:
17468         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
17469         (WebKit::LayerTreeHostProxy::updateTile):
17470         (WebKit::LayerTreeHostProxy::createImage):
17471         (WebKit::LayerTreeHostProxy::syncRemoteContent):
17472         (WebKit::LayerTreeHostProxy::updateTileForLayer):
17473         (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
17474         (WebKit::LayerTreeHostProxy::purgeGLResources):
17475         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
17476         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
17477         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
17478         (WebKit::LayerTreeHostQt::adoptImageBackingStore):
17479
17480 2012-01-24  Rafael Brandao  <rafael.lobo@openbossa.org>
17481
17482         [Qt][WK2] QtWebIconDatabaseClient leaves a dangling pointer on WebIconDatabase after its destruction
17483         https://bugs.webkit.org/show_bug.cgi?id=76399
17484
17485         Reviewed by Simon Hausmann.
17486
17487         Due a circular dependency between WebContext and WebProcessProxy, WebContext it not
17488         being destroyed, neither WebIconDatabase. As QtWebIconDatabaseClient's life time is the same
17489         as QtWebContext and this one is being destroyed, the remaining reference to our client
17490         on WebIconDatabase should be cleaned upon its destruction.
17491
17492         * UIProcess/qt/QtWebIconDatabaseClient.cpp:
17493         (QtWebIconDatabaseClient::QtWebIconDatabaseClient):
17494         (QtWebIconDatabaseClient::~QtWebIconDatabaseClient): Clear client pointer on WebIconDatabase.
17495         * UIProcess/qt/QtWebIconDatabaseClient.h: Make this client hold a reference to WebIconDatabase.
17496
17497 2012-01-24  Zeno Albisser  <zeno@webkit.org>
17498
17499         [Qt][WK2] Add test for application URL schemes.
17500         https://bugs.webkit.org/show_bug.cgi?id=74933
17501
17502         Add a test that checks handling of url strings.
17503         Add a test that verifies replies in case of multiple
17504         available application url schemes.
17505
17506         Reviewed by Kenneth Rohde Christiansen.
17507
17508         * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
17509
17510 2012-01-24  Carlos Garcia Campos  <cgarcia@igalia.com>
17511
17512         [GTK] Fix /webkit2/WebKitWebView/reload after r105688
17513         https://bugs.webkit.org/show_bug.cgi?id=76898
17514
17515         Reviewed by Alejandro G. Castro.
17516
17517         * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
17518         (LoadTrackingTest::reload): Add reload method that clears events
17519         and initializes progress.
17520         * UIProcess/API/gtk/tests/LoadTrackingTest.h:
17521         * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
17522         (testWebViewReload): Use LoadTrackingTest::reload() instead of
17523         webkit_web_view_reload().
17524
17525 2012-01-24  Simon Hausmann  <simon.hausmann@nokia.com>
17526
17527         Some qmake build files must include Qt5's "quick" module.
17528         https://bugs.webkit.org/show_bug.cgi?id=76671
17529
17530         Unreviewed build fix.
17531
17532         * UIProcess/API/qt/tests/tests.pri:
17533
17534 2012-01-24  Zeno Albisser  <zeno@webkit.org>
17535
17536         [Qt][WK2] Application URL schemes cause asserts when using debug.
17537         https://bugs.webkit.org/show_bug.cgi?id=76700
17538
17539         Instances of QtNetworkRequestData / QtNetworkReplyData are meant
17540         to be used for transfering data over IPC. To allow transferring
17541         instances of these classes over IPC they need to be copyable,
17542         and it must be possible to create such instances on the stack.
17543         Because classes that inherit from RefCounted always need to be
17544         used in connection with RefPtr, QtNetworkRequestData and
17545         QtNetworkReplyData cannot inherit directly from RefCounted.
17546
17547         Deleting an object that inherits from RefCounted, without
17548         the proper sequence of ref()/deref() being called by it's
17549         RefPtr, causes asserts when running a debug version.
17550
17551         Reviewed by Simon Hausmann.
17552
17553         * Shared/qt/QtNetworkReplyData.h:
17554         (WebKit::QtRefCountedNetworkReplyData::data):
17555         * Shared/qt/QtNetworkRequestData.cpp:
17556         (WebKit::QtRefCountedNetworkRequestData::QtRefCountedNetworkRequestData):
17557         * Shared/qt/QtNetworkRequestData.h:
17558         (WebKit::QtRefCountedNetworkRequestData::data):
17559         * Target.pri:
17560         * UIProcess/API/qt/qquicknetworkreply.cpp:
17561         (QQuickNetworkReply::QQuickNetworkReply):
17562         (QQuickNetworkReply::contentType):
17563         (QQuickNetworkReply::setContentType):
17564         (QQuickNetworkReply::operation):
17565         (QQuickNetworkReply::setOperation):
17566         (QQuickNetworkReply::contentDisposition):
17567         (QQuickNetworkReply::setContentDisposition):
17568         (QQuickNetworkReply::location):
17569         (QQuickNetworkReply::setLocation):
17570         (QQuickNetworkReply::lastModified):
17571         (QQuickNetworkReply::setLastModified):
17572         (QQuickNetworkReply::cookie):
17573         (QQuickNetworkReply::setCookie):
17574         (QQuickNetworkReply::userAgent):
17575         (QQuickNetworkReply::setUserAgent):
17576         (QQuickNetworkReply::server):
17577         (QQuickNetworkReply::setServer):
17578         (QQuickNetworkReply::data):
17579         (QQuickNetworkReply::setData):
17580         (QQuickNetworkReply::send):
17581         (QQuickNetworkReply::networkRequestData):
17582         (QQuickNetworkReply::setNetworkRequestData):
17583         (QQuickNetworkReply::networkReplyData):
17584         * UIProcess/API/qt/qquicknetworkreply_p.h:
17585         * UIProcess/API/qt/qquicknetworkrequest.cpp:
17586         (QQuickNetworkRequest::QQuickNetworkRequest):
17587         (QQuickNetworkRequest::setNetworkRequestData):
17588         (QQuickNetworkRequest::url):
17589         * UIProcess/API/qt/qquicknetworkrequest_p.h:
17590         * UIProcess/API/qt/qquickwebview.cpp:
17591         (QQuickWebViewExperimental::invokeApplicationSchemeHandler):
17592         * UIProcess/API/qt/qquickwebview_p.h:
17593         * UIProcess/WebPageProxy.h:
17594         * UIProcess/qt/QtPageClient.cpp:
17595         (QtPageClient::handleApplicationSchemeRequest):
17596         * UIProcess/qt/QtPageClient.h:
17597         * UIProcess/qt/WebPageProxyQt.cpp:
17598         (WebKit::WebPageProxy::resolveApplicationSchemeRequest):
17599         (WebKit::WebPageProxy::sendApplicationSchemeReply):
17600         * WebProcess/qt/QtNetworkReply.cpp:
17601         (WebKit::QtNetworkReply::setData):
17602         (WebKit::QtNetworkReply::readData):
17603
17604 2012-01-24  Carlos Garcia Campos  <cgarcia@igalia.com>
17605
17606         [GTK] Implement DownloadClient in WebKit2 GTK+ API
17607         https://bugs.webkit.org/show_bug.cgi?id=72952
17608
17609         Reviewed by Martin Robinson.
17610
17611         * GNUmakefile.am: Add new files to compilation.
17612         * UIProcess/API/gtk/WebKitDownloadClient.cpp: Added.
17613         (didStart): Call webkitWebContextDownloadStarted().
17614         (didReceiveResponse): Call webkitDownloadSetResponse() with the
17615         received response.
17616         (didReceiveData): Call webkitDownloadNotifyProgress().
17617         (decideDestinationWithSuggestedFilename): Call
17618         webkitDownloadDecideDestinationWithSuggestedFilename().
17619         (didCreateDestination): Call webkitDownloadDestinationCreated().
17620         (didFail): Call webkitDownloadFailed() or
17621         webkitDownloadCancelled() if the download was cancelled before
17622         failing.
17623         (didCancel): Call webkitDownloadCancelled().
17624         (didFinish): Call webkitDownloadFinished().
17625         (attachDownloadClientToContext): Add
17626         implementation for download client callbacks.
17627         * UIProcess/API/gtk/WebKitDownloadClient.h: Added.
17628         * UIProcess/API/gtk/WebKitError.cpp:
17629         (webkit_download_error_quark): Add quark for download errors.
17630         * UIProcess/API/gtk/WebKitError.h:
17631         * UIProcess/API/gtk/WebKitWebContext.cpp:
17632         (webkit_web_context_class_init): Add download-started signal.
17633         (createDefaultWebContext): Initialize the download client.
17634         (downloadsMap): HashMap containing download objects for all
17635         ongoing download operations.
17636         (webkit_web_context_download_uri): Start a new download for the
17637         given URI.
17638         (webkitWebContextGetOrCreateDownload): Helper function to create a
17639         new download object or return the existing one from the downloads map.
17640         (webkitWebContextRemoveDownload): Remove the download object from
17641         the downloads map.
17642         (webkitWebContextDownloadStarted): Emit
17643         WebKitWebContext::download-started for the given download object.
17644         * UIProcess/API/gtk/WebKitWebContext.h:
17645         * UIProcess/API/gtk/WebKitWebContextPrivate.h:
17646         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
17647         * UIProcess/API/gtk/tests/GNUmakefile.am: Add new test for downloads.
17648         * UIProcess/API/gtk/tests/TestDownloads.cpp: Added.
17649         (getWebKit1TestResoucesDir):
17650         (testDownloadLocalFile):
17651         (testDownloadLocalFileError):
17652         (serverCallback):
17653         (testDownloadRemoteFile):
17654         (testDownloadRemoteFileError):
17655         (beforeAll):
17656         (afterAll):
17657
17658 2012-01-23  Carlos Garcia Campos  <cgarcia@igalia.com>
17659
17660         [GTK] Add WebKitDownload to WebKit2 GTK+ API
17661         https://bugs.webkit.org/show_bug.cgi?id=72949
17662
17663         Reviewed by Martin Robinson.
17664
17665         * GNUmakefile.am: Add new files to compilation.
17666         * UIProcess/API/gtk/WebKitDownload.cpp: Added.
17667         (webkitDownloadFinalize):
17668         (webkitDownloadGetProperty):
17669         (webkitDownloadDecideDestination):
17670         (webkit_download_init):
17671         (webkit_download_class_init):
17672         (webkitDownloadCreate): Create a new WebKitDownload for a given
17673         WKDownloadRef.
17674         (webkitDownloadSetResponse): Set the network response of the
17675         download.
17676         (webkitDownloadIsCancelled): Whether the download has been
17677         cancelled by the user.
17678         (webkitDownloadNotifyProgress): Emit notify::estimated-progress if
17679         needed.
17680         (webkitDownloadFailed): Emit WebKitDownload::failed with the given
17681         error.
17682         (webkitDownloadCancelled): Emit WebKitDownload::failed with
17683         cancelled error.
17684         (webkitDownloadFinished): Emit WebKitDownload::finished.
17685         (webkitDownloadDecideDestinationWithSuggestedFilename): Emit
17686         WebKitDownload::decide-destination.
17687         (webkitDownloadDestinationCreated): Emit
17688         WebKitDownload::created-destination.
17689         (webkit_download_get_destination): Return the destination URI of
17690         the download.
17691         (webkit_download_set_destination): Set the destination URI of the
17692         download.
17693         (webkit_download_get_response): Return the response received by
17694         the server.
17695         (webkit_download_cancel): Cancel the download.
17696         (webkit_download_get_estimated_progress): Return the estimated
17697         progress.
17698         (webkit_download_get_elapsed_time): Return the time elapsed since
17699         the download started.
17700         * UIProcess/API/gtk/WebKitDownload.h: Added.
17701         * UIProcess/API/gtk/WebKitDownloadPrivate.h: Added.
17702         * UIProcess/API/gtk/WebKitPrivate.h:
17703         * UIProcess/API/gtk/WebKitURIResponse.cpp:
17704         (webkitURIResponseGetResourceResponse):
17705         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
17706         * UIProcess/API/gtk/docs/webkit2gtk.types: Add
17707         webkit_download_get_type().
17708         * UIProcess/API/gtk/webkit2.h: Include WebKitDownload.h.
17709         * UIProcess/API/gtk/webkit2marshal.list:
17710
17711 2012-01-23  Geoffrey Garen  <ggaren@apple.com>
17712
17713         JSValue::toString() should return a JSString* instead of a UString
17714         https://bugs.webkit.org/show_bug.cgi?id=76861
17715
17716         Reviewed by Gavin Barraclough.
17717
17718         Mechanical changes to call value() after calling toString(), to
17719         convert from "JS string" (JSString*) to "C++ string" (UString), since
17720         toString() no longer returns a "C++ string".
17721
17722         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
17723         (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
17724
17725 2012-01-23  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
17726
17727         [Qt][WK2] QQuickWebView is initializing touch mode twice while being constructed
17728         https://bugs.webkit.org/show_bug.cgi?id=76859
17729
17730         Reviewed by Kenneth Rohde Christiansen.
17731
17732         Removing d->initializeTouch() from QQuickWebView::QQuickWebView()
17733         since in QQuickWebViewPrivate::initialize() there is a call for
17734         setUseTraditionalDesktopBehaviour(false), which will call initializeTouch.
17735
17736         * UIProcess/API/qt/qquickwebview.cpp:
17737         (QQuickWebView::QQuickWebView):
17738
17739 2012-01-23  Martin Robinson  <mrobinson@igalia.com>
17740
17741         [GTK][WK2] Make the LoadTracking and WebView test fixtures more flexible
17742         https://bugs.webkit.org/show_bug.cgi?id=76755
17743
17744         Reviewed by Alejandro G. Castro.
17745
17746         Always clear the loading events when loading new content in the load tracking
17747         test. In the WebView test correctly handle loading HTML with a URL that isn't
17748         "about:blank."
17749
17750         * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
17751         (LoadTrackingTest::loadURI): Reset the class state when starting a new load.
17752         (LoadTrackingTest::loadHtml): Ditto.
17753         (LoadTrackingTest::loadPlainText): Ditto.
17754         (LoadTrackingTest::loadRequest): Ditto.
17755         * UIProcess/API/gtk/tests/LoadTrackingTest.h: Added new method definitions.
17756         * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
17757         (assertNormalLoadHappened): No longer clear loading events. The fixture handles that now.
17758         (testLoadHtml): Update to reflect new method name.
17759         (testLoadPlainText): Ditto.
17760         (testLoadRequest): Ditto.
17761         (testWebViewReload): Ditto.
17762         * UIProcess/API/gtk/tests/WebViewTest.cpp:
17763         (WebViewTest::loadHtml): Properly interpret the baseURL parameter.
17764         * UIProcess/API/gtk/tests/WebViewTest.h: Make loading methods virtual.
17765
17766 2012-01-23  Alexander Færøy  <alexander.faeroy@nokia.com>
17767
17768         [Qt] Implement SSL error handling QML API.
17769         https://bugs.webkit.org/show_bug.cgi?id=76793
17770
17771         Reviewed by Simon Hausmann.
17772
17773         This patch implements support for accepting or rejecting invalid SSL
17774         certificates from the QML API.
17775
17776         * UIProcess/API/qt/qquickwebview.cpp:
17777         (QQuickWebViewPrivate::QQuickWebViewPrivate):
17778         (QQuickWebViewPrivate::handleCertificateVerificationRequest):
17779         (QQuickWebViewExperimental::certificateVerificationDialog):
17780         (QQuickWebViewExperimental::setCertificateVerificationDialog):
17781         * UIProcess/API/qt/qquickwebview_p.h:
17782         * UIProcess/API/qt/qquickwebview_p_p.h:
17783         * UIProcess/PageClient.h:
17784         * UIProcess/WebPageProxy.cpp:
17785         (WebKit::WebPageProxy::certificateVerificationRequest):
17786         * UIProcess/WebPageProxy.h:
17787         * UIProcess/WebPageProxy.messages.in:
17788         * UIProcess/qt/QtDialogRunner.cpp:
17789         (CertificateVerificationDialogContextObject::CertificateVerificationDialogContextObject):
17790         (CertificateVerificationDialogContextObject::hostname):
17791         (CertificateVerificationDialogContextObject::accept):
17792         (CertificateVerificationDialogContextObject::reject):
17793         (QtDialogRunner::initForCertificateVerification):
17794         * UIProcess/qt/QtDialogRunner.h:
17795         * UIProcess/qt/QtPageClient.cpp:
17796         (QtPageClient::handleCertificateVerificationRequest):
17797         * UIProcess/qt/QtPageClient.h:
17798         * WebProcess/qt/QtNetworkAccessManager.cpp:
17799         (WebKit::QtNetworkAccessManager::QtNetworkAccessManager):
17800         (WebKit::QtNetworkAccessManager::onSslErrors):
17801         * WebProcess/qt/QtNetworkAccessManager.h:
17802
17803 2012-01-23  David Levin  <levin@chromium.org>
17804
17805         [windows] Convert usages of GetDC to HWndDC Part 2.
17806         https://bugs.webkit.org/show_bug.cgi?id=76750
17807
17808         Reviewed by Adam Roben.
17809
17810         * Shared/win/ShareableBitmapWin.cpp:
17811         (WebKit::ShareableBitmap::windowsContext): Fix incorrect usage of OwnPtr<HDC> which
17812         would do a DeleteDC instead of a ReleaseDC.
17813
17814 2012-01-23  David Levin  <levin@chromium.org>
17815
17816         [windows] Convert usages of GetDC to HWndDC Part 1.
17817         https://bugs.webkit.org/show_bug.cgi?id=76744
17818
17819         Reviewed by Adam Roben.
17820
17821         * UIProcess/win/WebView.cpp:
17822         (WebKit::WebView::flashBackingStoreUpdates): Typical conversion.
17823
17824 2012-01-21  Timothy Hatcher  <timothy@apple.com>
17825
17826         Make WebKit2 remember the height of the Web Inspector when it is docked.
17827
17828         https://webkit.org/b/76769
17829
17830         Reviewed by Dan Bernstein.
17831
17832         * Shared/WebPreferencesStore.h: Added InspectorAttachedHeight.
17833         * UIProcess/WebInspectorProxy.cpp:
17834         (WebKit::WebInspectorProxy::setAttachedWindowHeight): Call WebPreferencesStore::setInspectorAttachedHeight.
17835         * UIProcess/mac/WebInspectorProxyMac.mm:
17836         (WebKit::WebInspectorProxy::platformAttach): Set the height of the inspector's WKView to inspectorAttachedHeight.
17837         (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight): Remove unneeded setNeedsDisplay: calls.
17838
17839 2012-01-20  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
17840
17841         [Qt] [WK2] Division by zero error in QtViewportInteractionEngine::setItemRectVisible
17842         https://bugs.webkit.org/show_bug.cgi?id=76674
17843
17844         Reviewed by Kenneth Rohde Christiansen.
17845
17846         Make sure that itemRect is not empty.
17847
17848         * UIProcess/qt/QtViewportInteractionEngine.cpp:
17849         (WebKit::QtViewportInteractionEngine::setItemRectVisible):
17850
17851 2012-01-20  Steve Falkenburg  <sfalken@apple.com>
17852
17853         Reviewed by Alexey Proskuryakov.
17854
17855         Drag/drop of a file into a WebView on Windows needs to allow access to that file
17856         https://bugs.webkit.org/show_bug.cgi?id=76753
17857         <rdar://problem/10731719>
17858         
17859         The Windows drag/drop code path was missing the code to open a file read exception.
17860
17861         Added code to match the Mac version, while allowing directories and multiple files to
17862         also be dragged (matching our previous behavior).
17863
17864         * UIProcess/win/WebView.cpp:
17865         (WebKit::maybeCreateSandboxExtensionFromDragData): Added.
17866         (WebKit::WebView::Drop): Add a universal read exception if we're dragging a file into a WebView to open it.
17867
17868 2012-01-20  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
17869
17870         [Qt] Trigger forcing accelerated compositing from the UI process side.
17871         https://bugs.webkit.org/show_bug.cgi?id=76296
17872
17873         Reviewed by Noam Rosenthal.
17874
17875         Some messages can be sent from the web view to the LayerTreeHost before
17876         accelerated compositing is entered on the web process and signaled back.
17877         By letting the UI process decide if AC has to be forced, we can create
17878         the LayerTreeHostProxy earlier to send messages to the web process while
17879         AC is being entered there.
17880
17881         This patch also fixes the flow of DidRenderFrame and RenderNextFrame messages
17882         by setting the m_waitingForUIProcess flag properly and only send the
17883         RenderNextFrame once the painting thread on the UI process is ready to paint.
17884
17885         This fixes the first visible content rect message not being received when
17886         loading pages from the disk.
17887
17888         * Shared/WebPreferencesStore.h:
17889         * UIProcess/API/qt/qquickwebview.cpp:
17890         (QQuickWebViewPrivate::initialize):
17891         * UIProcess/DrawingAreaProxyImpl.cpp:
17892         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
17893         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
17894         (WebKit::LayerTreeHostProxy::flushLayerChanges):
17895         (WebKit::LayerTreeHostProxy::didRenderFrame):
17896         * WebProcess/WebPage/DrawingAreaImpl.cpp:
17897         (WebKit::DrawingAreaImpl::DrawingAreaImpl):
17898         * WebProcess/WebPage/WebPage.cpp:
17899         (WebKit::WebPage::updatePreferences):
17900         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
17901         (WebKit::LayerTreeHostQt::performScheduledLayerFlush):
17902         * WebProcess/WebPage/qt/WebPageQt.cpp:
17903         (WebKit::WebPage::platformInitialize):
17904
17905 2012-01-20  Sheriff Bot  <webkit.review.bot@gmail.com>
17906
17907         Unreviewed, rolling out r105497.
17908         http://trac.webkit.org/changeset/105497
17909         https://bugs.webkit.org/show_bug.cgi?id=76696
17910
17911         Leaking in Qt layout tests and timing out in GTK API tests.
17912         (Requested by jturcotte on #webkit).
17913
17914         * Shared/WebPreferencesStore.h:
17915         * UIProcess/API/qt/qquickwebview.cpp:
17916         (QQuickWebViewPrivate::initialize):
17917         * UIProcess/DrawingAreaProxyImpl.cpp:
17918         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
17919         * WebProcess/WebPage/DrawingAreaImpl.cpp:
17920         (WebKit::DrawingAreaImpl::DrawingAreaImpl):
17921         * WebProcess/WebPage/WebPage.cpp:
17922         (WebKit::WebPage::updatePreferences):
17923         * WebProcess/WebPage/qt/WebPageQt.cpp:
17924         (WebKit::WebPage::platformInitialize):
17925
17926 2012-01-20  Mario Sanchez Prada  <msanchez@igalia.com>
17927
17928         [GTK] Expose accessibility hierarchy in WebKit2 to ATK/AT-SPI based ATs
17929         https://bugs.webkit.org/show_bug.cgi?id=72589
17930
17931         Reviewed by Martin Robinson.
17932
17933         Expose the accessibility hierarchy in the multi-process
17934         architecture of WK2 through AtkSocket and AtkPlug.
17935
17936         Make the WebView widget return an AtkSocket when calling to
17937         gtk_widget_get_accessible().
17938
17939         * GNUmakefile.am: Add new files.
17940         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
17941         (webkit_web_view_base_init):
17942         (webkitWebViewBaseGetAccessible):
17943         (webkit_web_view_base_class_init):
17944         * UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp: Added.
17945         (webkitWebViewBaseAccessibleWidgetFinalize):
17946         (webkitWebViewBaseAccessibleWidgetDestroyed):
17947         (webkitWebViewBaseAccessibleInitialize):
17948         (webkitWebViewBaseAccessibleRefStateSet):
17949         (webkitWebViewBaseAccessibleGetIndexInParent):
17950         (webkit_web_view_base_accessible_init):
17951         (webkit_web_view_base_accessible_class_init):
17952         (webkitWebViewBaseAccessibleNew):
17953         * UIProcess/API/gtk/WebKitWebViewBaseAccessible.h: Added.
17954
17955         Make the WebPage create an AtkPlug on its initialization and
17956         sending the ID of that plug to the UI process, so it can embed the
17957         plug in the socket.
17958
17959         Also, take care of all the needed wrapping around the WebCore's
17960         accessibility objects, exposing them in the UI process's
17961         accessibility hierarchy thanks to the socket-plug connection.
17962
17963         * UIProcess/WebPageProxy.h:
17964         (WebKit::WebPageProxy::accessibilityPlugID):
17965         * UIProcess/WebPageProxy.messages.in:
17966         * UIProcess/gtk/WebPageProxyGtk.cpp:
17967         (WebKit::WebPageProxy::bindAccessibilityTree):
17968         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
17969         (WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
17970         * WebProcess/WebPage/WebPage.cpp:
17971         (WebKit::WebPage::WebPage):
17972         * WebProcess/WebPage/gtk/WebPageAccessibilityObject.cpp: Added.
17973         (accessibilityRootObjectWrapper):
17974         (webPageAccessibilityObjectInitialize):
17975         (webPageAccessibilityObjectGetIndexInParent):
17976         (webPageAccessibilityObjectGetNChildren):
17977         (webPageAccessibilityObjectRefChild):
17978         (web_page_accessibility_object_init):
17979         (web_page_accessibility_object_class_init):
17980         (webPageAccessibilityObjectNew):
17981         (webPageAccessibilityObjectRefresh):
17982         * WebProcess/WebPage/gtk/WebPageAccessibilityObject.h: Added.
17983         * WebProcess/WebPage/gtk/WebPageGtk.cpp:
17984         (WebKit::WebPage::platformInitialize):
17985         (WebKit::WebPage::updateAccessibilityTree):
17986
17987         New unit test for checking accessibility support in WK2GTK.
17988
17989         * UIProcess/API/gtk/tests/AccessibilityTestServer.cpp: Added.
17990         (loadChangedCallback): Notify the parent process (the test)
17991         when ready.
17992         (main):
17993         * UIProcess/API/gtk/tests/GNUmakefile.am:
17994         * UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp: Added.
17995         (stopTestServer):
17996         (sigAbortHandler):
17997         (testServerMonitorThreadFunc):
17998         (startTestServerMonitor):
17999         (startTestServer):
18000         (checkAtspiAccessible):
18001         (findTestServerApplication):
18002         (testAtspiBasicHierarchy):
18003         (beforeAll):
18004         (afterAll):
18005
18006 2012-01-19  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
18007
18008         [Qt] Public API watch dog auto test.
18009         https://bugs.webkit.org/show_bug.cgi?id=73922
18010
18011         Reviewed by Simon Hausmann.
18012
18013         This test aims to prevent unintended/unapproved
18014         modifications to the public QML API.
18015
18016         * UIProcess/API/qt/tests/publicapi/publicapi.pro: Added.
18017         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp: Added.
18018         (isCheckedEnum):
18019         (isCheckedClass):
18020         (checkKnownType):
18021         (gatherAPI):
18022         (tst_publicapi::publicAPI):
18023
18024 2012-01-13  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
18025
18026         [Qt] Trigger forcing accelerated compositing from the UI process side.
18027         https://bugs.webkit.org/show_bug.cgi?id=76296
18028
18029         Reviewed by Noam Rosenthal.
18030
18031         Some messages can be sent from the web view to the LayerTreeHost before
18032         accelerated compositing is entered on the web process and signaled back.
18033         By letting the UI process decide if AC has to be forced, we can create
18034         the LayerTreeHostProxy earlier to send messages to the web process while
18035         AC is being entered there.
18036
18037         This fixes the first visible content rect message not being received when
18038         loading pages from the disk.
18039
18040         * Shared/WebPreferencesStore.h:
18041         * UIProcess/API/qt/qquickwebview.cpp:
18042         (QQuickWebViewPrivate::initialize):
18043         * UIProcess/DrawingAreaProxyImpl.cpp:
18044         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
18045         * WebProcess/WebPage/DrawingAreaImpl.cpp:
18046         (WebKit::DrawingAreaImpl::DrawingAreaImpl):
18047         * WebProcess/WebPage/WebPage.cpp:
18048         (WebKit::WebPage::updatePreferences):
18049         * WebProcess/WebPage/qt/WebPageQt.cpp:
18050         (WebKit::WebPage::platformInitialize):
18051
18052 2012-01-20  Alexandru Chiculita  <achicu@adobe.com>
18053
18054         CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime
18055         https://bugs.webkit.org/show_bug.cgi?id=76444
18056
18057         Reviewed by Nikolas Zimmermann.
18058
18059         * Shared/WebPreferencesStore.h:
18060         * UIProcess/API/C/WKPreferences.cpp:
18061         (WKPreferencesSetCSSCustomFilterEnabled):
18062         (WKPreferencesGetCSSCustomFilterEnabled):
18063         * UIProcess/API/C/WKPreferencesPrivate.h:
18064         * WebProcess/WebPage/WebPage.cpp:
18065         (WebKit::WebPage::updatePreferences):
18066
18067 2012-01-19  Sam Weinig  <sam@webkit.org>
18068
18069         Replace improper #import with an #include.
18070
18071         * UIProcess/Plugins/PluginProcessProxy.cpp:
18072         Fixes warnings.
18073
18074 2012-01-18  Sam Weinig  <sam@webkit.org>
18075
18076         Move RunLoop to WebCore/platform
18077         https://bugs.webkit.org/show_bug.cgi?id=76471
18078
18079         Reviewed by Anders Carlsson.
18080
18081         * GNUmakefile.am:
18082         * Platform/CoreIPC/Connection.cpp:
18083         * Platform/CoreIPC/Connection.h:
18084         * Platform/CoreIPC/mac/ConnectionMac.cpp:
18085         * PluginProcess/PluginControllerProxy.h:
18086         * PluginProcess/PluginProcess.cpp:
18087         * PluginProcess/PluginProcess.h:
18088         * PluginProcess/WebProcessConnection.cpp:
18089         * PluginProcess/mac/PluginProcessMainMac.mm:
18090         * PluginProcess/qt/PluginProcessMainQt.cpp:
18091         * Shared/ChildProcess.cpp:
18092         * Shared/ChildProcess.h:
18093         * Target.pri:
18094         * UIProcess/API/mac/FindIndicatorWindow.h:
18095         * UIProcess/API/mac/WKView.mm:
18096         * UIProcess/DrawingAreaProxyImpl.h:
18097         * UIProcess/Launcher/ThreadLauncher.cpp:
18098         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
18099         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
18100         * UIProcess/Launcher/mac/ThreadLauncherMac.mm:
18101         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
18102         * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
18103         * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
18104         * UIProcess/Launcher/win/ThreadLauncherWin.cpp:
18105         * UIProcess/LayerTreeHostProxy.h:
18106         * UIProcess/Plugins/PluginProcessProxy.cpp:
18107         * UIProcess/ResponsivenessTimer.cpp:
18108         * UIProcess/ResponsivenessTimer.h:
18109         * UIProcess/TiledDrawingAreaProxy.h:
18110         * UIProcess/VisitedLinkProvider.h:
18111         * UIProcess/WebConnectionToWebProcess.cpp:
18112         * UIProcess/WebConnectionToWebProcess.h:
18113         * UIProcess/WebContext.cpp:
18114         * UIProcess/win/WebView.cpp:
18115         * WebKit2.xcodeproj/project.pbxproj:
18116         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
18117         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
18118         * WebProcess/Plugins/Netscape/NetscapePluginStream.h:
18119         * WebProcess/Plugins/PluginView.h:
18120         * WebProcess/WebConnectionToUIProcess.cpp:
18121         * WebProcess/WebConnectionToUIProcess.h:
18122         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
18123         * WebProcess/WebPage/DrawingAreaImpl.h:
18124         * WebProcess/WebPage/EventDispatcher.cpp:
18125         * WebProcess/WebPage/PageOverlay.h:
18126         * WebProcess/WebPage/WebPage.cpp:
18127         * WebProcess/WebPage/WebPage.h:
18128         * WebProcess/WebProcess.cpp:
18129         * WebProcess/WebProcess.h:
18130         (WebKit::WebProcess::runLoop):
18131         * WebProcess/gtk/WebProcessMainGtk.cpp:
18132         * WebProcess/mac/WebProcessMainMac.mm:
18133         * WebProcess/qt/WebProcessMainQt.cpp:
18134         * WebProcess/win/WebProcessMainWin.cpp:
18135         * win/WebKit2.vcproj:
18136         Remove RunLoop code and update #includes.
18137
18138 2012-01-18  Ada Chan  <adachan@apple.com>
18139
18140         Need a WebKit2 API for setting media volume
18141         https://bugs.webkit.org/show_bug.cgi?id=76560
18142
18143         Reviewed by Dan Bernstein.
18144
18145         * Shared/WebPageCreationParameters.cpp:
18146         (WebKit::WebPageCreationParameters::encode): Encode the mediaVolume parameter.
18147         (WebKit::WebPageCreationParameters::decode): Decode the mediaVolume parameter.
18148         * Shared/WebPageCreationParameters.h:
18149         * UIProcess/API/C/WKPage.cpp:
18150         (WKPageSetMediaVolume): Call WebPageProxy::setMediaVolume().
18151         * UIProcess/API/C/WKPagePrivate.h:
18152         * UIProcess/WebPageProxy.cpp:
18153         (WebKit::WebPageProxy::WebPageProxy): Initialize new data member m_mediaVolume.
18154         (WebKit::WebPageProxy::setMediaVolume): Bail if the volume hasn't changed. Update m_mediaVolume 
18155         and bail if the page is no longer valid.  Otherwise, send a WebPage::SetMediaVolume message to 
18156         the web process.
18157         (WebKit::WebPageProxy::creationParameters): Add media volume to the creation parameters.
18158         * UIProcess/WebPageProxy.h:
18159         * WebProcess/WebPage/WebPage.cpp:
18160         (WebKit::WebPage::WebPage): Initialize media volume from the WebPageCreationParameters.
18161         (WebKit::WebPage::setMediaVolume): Call Page::setMediaVolume().
18162         * WebProcess/WebPage/WebPage.h:
18163         * WebProcess/WebPage/WebPage.messages.in: Add the SetMediaVolume message.
18164
18165 2012-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>
18166
18167         [GTK] WebKit2 GTK+ API public headers are not installed
18168         https://bugs.webkit.org/show_bug.cgi?id=76626
18169
18170         Reviewed by Martin Robinson.
18171
18172         * GNUmakefile.am: Rename webkit2gtk_headers as
18173         libwebkit2gtkinclude_HEADERS to match libwebkit2gtkincludedir so
18174         that headers are installed during make install.
18175
18176 2012-01-19  Carlos Garcia Campos  <cgarcia@igalia.com>
18177
18178         [GTK] Add print-backgrounds setting to WebKit2 GTK+ API
18179         https://bugs.webkit.org/show_bug.cgi?id=76616
18180
18181         Reviewed by Martin Robinson.
18182
18183         * UIProcess/API/gtk/WebKitSettings.cpp:
18184         (webKitSettingsSetProperty):
18185         (webKitSettingsGetProperty):
18186         (webkit_settings_class_init):
18187         (webkit_settings_get_print_backgrounds):
18188         (webkit_settings_set_print_backgrounds):
18189         * UIProcess/API/gtk/WebKitSettings.h:
18190         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
18191         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
18192         (testWebKitSettings):
18193
18194 2012-01-18  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
18195
18196         [Qt] Handle the layers visible rect calculation on the web process.
18197         https://bugs.webkit.org/show_bug.cgi?id=74720
18198
18199         Reviewed by Noam Rosenthal.
18200
18201         The layers now get their visible rect on the web process through the
18202         root layer when the UI process call setVisibleContentRectAndScale,
18203         previously only used for the non-composited content layer.
18204         The rect is then carried down the layers in the tree which apply it the inverse
18205         of their transform before handing it to their tiled backing store.
18206
18207         This ensures that new layers get a proper visible rect right on creation,
18208         and also that simultaneous visible rect and scale changes are applied synchronously.
18209
18210         This patch also uses clampedBoundsOfProjectedQuad instead of mapRect
18211         to transform the visible rect correctly for 3D transformed layers.
18212
18213         * UIProcess/API/qt/qquickwebview.cpp:
18214         (QQuickWebViewPrivate::initializeDesktop):
18215         (QQuickWebViewPrivate::initializeTouch):
18216         (QQuickWebViewPrivate::updateDesktopViewportSize):
18217         (QQuickWebViewPrivate::updateTouchViewportSize):
18218         (QQuickWebView::geometryChanged):
18219         Make sure that the visible rect is updated for the desktop view as well.
18220         * UIProcess/API/qt/qquickwebview_p_p.h:
18221         * UIProcess/LayerTreeHostProxy.h:
18222         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
18223         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
18224         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
18225         (WebCore::WebGraphicsLayer::setChildren):
18226         (WebCore::WebGraphicsLayer::addChild):
18227         (WebCore::WebGraphicsLayer::addChildAtIndex):
18228         (WebCore::WebGraphicsLayer::addChildAbove):
18229         (WebCore::WebGraphicsLayer::addChildBelow):
18230         (WebCore::WebGraphicsLayer::replaceChild):
18231         (WebCore::WebGraphicsLayer::setMaskLayer):
18232         (WebCore::WebGraphicsLayer::syncCompositingState):
18233         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
18234         (WebCore::WebGraphicsLayer::setVisibleContentRectAndScale):
18235         (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
18236         (WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
18237         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
18238         * WebProcess/WebPage/LayerTreeHost.messages.in:
18239         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
18240         (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
18241         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
18242
18243 2012-01-18  Jon Lee  <jonlee@apple.com>
18244
18245         Another build fix for r105364.
18246
18247         * WebProcess/mac/WebProcessMac.mm:
18248         (WebKit::WebProcess::platformInitializeWebProcess): Missing #if.
18249
18250 2012-01-18  Jon Lee  <jonlee@apple.com>
18251
18252         Build fix for r105364. Unreviewed.
18253
18254         * WebProcess/Notifications/WebNotificationManager.cpp: Wrap methods in #if ENABLE(NOTIFICATIONS)
18255         (WebKit::WebNotificationManager::initialize):
18256         (WebKit::WebNotificationManager::didUpdateNotificationDecision):
18257         (WebKit::WebNotificationManager::didRemoveNotificationDecisions):
18258         (WebKit::WebNotificationManager::policyForOrigin):
18259
18260 2012-01-18  Jon Lee  <jonlee@apple.com>
18261
18262         [WK2] Sync call for notifications permissions causes flashes on gmail.com
18263         https://bugs.webkit.org/show_bug.cgi?id=76570
18264         <rdar://problem/10647155>
18265
18266         Reviewed by Anders Carlsson and Sam Weinig.
18267
18268         The website code figures out the permission level for its security origin by making a JS call (called
18269         checkPermission()) that is synchronous. The way this was implemented was to make a synchronous call from
18270         the WebNotificationManager to its proxy. That call goes to the WK API layer to find the policy, and
18271         returns that policy back to the JS.
18272
18273         The synchronous nature of this call causes the white flash to appear in certain cases.
18274
18275         To fix this, the checkPermission() call is handled all within the web process, instead of going up into
18276         the UI process. To do this, the web process initializes the WebNotificationManager with a copy of the
18277         notification permissions. Any time the WK client makes a change to the permissions, that gets sent down
18278         asynchronously, and the cached copy in WebNotificationManager gets updated.
18279
18280         A page's settings may disable notifications altogether. Before, this would have been handled by the WK
18281         client, since retrieving the permissions were also handled there. Now that the lookup happens in the web
18282         process, we need to add that setting in WebCore.
18283
18284         == Update notification permissions to use the security origin's string representation, rather than its
18285         database identifier.
18286
18287         * UIProcess/Notifications/WebNotification.cpp:
18288         (WebKit::WebNotification::WebNotification):
18289         * UIProcess/Notifications/WebNotification.h:
18290         (WebKit::WebNotification::create):
18291         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
18292         (WebKit::WebNotificationManagerProxy::show): Registering the provider with the manager is handled in
18293         initialize() now.
18294         (WebKit::WebNotificationManagerProxy::cancel): Registering the provider with the manager is handled in
18295         initialize() now.
18296         * UIProcess/Notifications/WebNotificationManagerProxy.h:
18297         * UIProcess/WebPageProxy.cpp:
18298         (WebKit::WebPageProxy::requestNotificationPermission):
18299         (WebKit::WebPageProxy::showNotification):
18300         * UIProcess/WebPageProxy.h:
18301
18302         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
18303         (WebKit::NotificationPermissionRequestManager::startRequest): Only start the request if notifications
18304         are enabled.
18305         * WebProcess/Notifications/WebNotificationManager.cpp:
18306         (WebKit::WebNotificationManager::show): Only show notification is they are enabled.
18307         (WebKit::WebNotificationManager::cancel): Only cancel if notifications are enabled.
18308
18309         == Remove synchronous message to get policy for a given origin. Instead, use the cached copy in
18310         WebNotificationManager.
18311
18312         * WebProcess/Notifications/WebNotificationManager.h:
18313         * WebProcess/Notifications/WebNotificationManager.cpp:
18314         (WebKit::WebNotificationManager::policyForOrigin): Looks for the permission in the cached copy.
18315         If it doesn't exist, return NotificationPresenter::PermissionNotAllowed.
18316         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
18317         (WebKit::NotificationPermissionRequestManager::permissionLevel): Update permissionLevel to use
18318         policyForOrigin().
18319
18320         Remove old WK API function to get the policy. Because this function was the only synchronous message,
18321         we remove the sync-message-related functions also. Also, add in some #includes that might have been
18322         omitted in prior patches.
18323
18324         * UIProcess/API/C/WKNotificationProvider.h:
18325         * UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Remove NotificationPermissionLevel.
18326         * UIProcess/Notifications/WebNotificationManagerProxy.h:
18327         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
18328
18329         * UIProcess/Notifications/WebNotificationProvider.h: Remove policyForNotificationPermissionAtOrigin().
18330         * UIProcess/Notifications/WebNotificationProvider.cpp:
18331
18332         * UIProcess/WebProcessProxy.cpp:
18333         (WebKit::WebProcessProxy::didReceiveSyncMessage): Remove conditional to forward sync messages to the
18334         notification manager proxy.
18335
18336         == Mechanism for client to update the permissions copy in WebNotificationManager.
18337
18338         * WebProcess/Notifications/WebNotificationManager.messages.in: Add new messages
18339         didUpdateNotificationDecision and didRemoveNotificationDecisions.
18340         * WebProcess/Notifications/WebNotificationManager.h:
18341         * WebProcess/Notifications/WebNotificationManager.cpp:
18342         (WebKit::WebNotificationManager::initialize):
18343         (WebKit::WebNotificationManager::didUpdateNotificationDecision): Update the entry.
18344         (WebKit::WebNotificationManager::didRemoveNotificationDecisions): Remove the entry.
18345
18346         * UIProcess/Notifications/WebNotificationManagerProxy.h:
18347         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
18348         (WebKit::WebNotificationManagerProxy::providerDidUpdateNotificationPolicy):
18349         (WebKit::WebNotificationManagerProxy::providerDidRemoveNotificationPolicies): Convert the array of
18350         origins to remove, and send it to the WebNotificationManager.
18351
18352         * UIProcess/API/C/WKNotificationManager.h: Expose these update functions as WK API.
18353         * UIProcess/API/C/WKNotificationManager.cpp:
18354         (WKNotificationManagerProviderDidUpdateNotificationPolicy):
18355         (WKNotificationManagerProviderDidRemoveNotificationPolicies):
18356
18357         == Initialize WebNotificationManager with permissions. Initialize WebPage with notifications enabled bit
18358         from settings.
18359
18360         * Shared/WebProcessCreationParameters.h: Add map of notification permissions as part of the
18361         parameters.
18362         * Shared/WebProcessCreationParameters.cpp:
18363         (WebKit::WebProcessCreationParameters::encode):
18364         (WebKit::WebProcessCreationParameters::decode):
18365
18366         * UIProcess/Notifications/WebNotificationProvider.h: Retrieve copy of existing notification permissions.
18367         * UIProcess/Notifications/WebNotificationProvider.cpp:
18368         * UIProcess/API/C/WKNotificationProvider.h: Add WK API to get a copy of the permissions.
18369
18370         * UIProcess/Notifications/WebNotificationManagerProxy.h: Add populateCopyOfNotificationPermissions().
18371         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
18372         (WebKit::WebNotificationManagerProxy::initializeProvider): Add the manager at the time of initialization.
18373         Similar calls in show() and cancel() are removed in following patch.
18374         (WebKit::WebNotificationManagerProxy::populateCopyOfNotificationPermissions): Clear the existing copy.
18375         Populate with origin string, and whether that origin is allowed to post. If no decision has been made
18376         by the user, then there should be no item in this dictionary.
18377
18378         * UIProcess/WebContext.cpp:
18379         (WebKit::WebContext::ensureWebProcess): When the web process is initialized, we get a copy of the
18380         permissions, and send it to the web process to initialize the notification manager.
18381         * WebProcess/mac/WebProcessMac.mm:
18382         (WebKit::WebProcess::platformInitializeWebProcess): Initialize the notification manager.
18383
18384         * WebProcess/Notifications/WebNotificationManager.h:
18385         * WebProcess/Notifications/WebNotificationManager.cpp:
18386         (WebKit::WebNotificationManager::initialize): Initialize the permissions copy.
18387
18388         * WebProcess/WebPage/WebPage.cpp:
18389         (WebKit::WebPage::updatePreferences): Set notifications enabled bit from settings.
18390
18391         == Expose toString() method from WebCore::SecurityOrigin. Work is also towards bug 74956.
18392
18393         * Shared/API/c/WKSecurityOrigin.h: Refactor WKSecurityOriginCreateFromIdentifier to
18394         WKSecurityOriginCreateFromDatabaseIdentifier and add WKSecurityOriginCreateFromString function.
18395         * Shared/API/c/WKSecurityOrigin.cpp:
18396         (WKSecurityOriginCreateFromString):
18397         (WKSecurityOriginCreateFromDatabaseIdentifier):
18398         (WKSecurityOriginCopyToString):
18399
18400         Refactor WebSecurityOrigin::create() to WebSecurityOrigin::createFromDatabaseIdentifier()
18401         and add WebSecurityOrigin::createFromString().
18402
18403         * Shared/WebSecurityOrigin.h:
18404         (WebKit::WebSecurityOrigin::createFromString):
18405         (WebKit::WebSecurityOrigin::createFromDatabaseIdentifier):
18406         (WebKit::WebSecurityOrigin::toString): Added function.
18407         
18408         Refactor with renamed createFromDatabaseIdentifier() method.
18409         
18410         * UIProcess/WebDatabaseManagerProxy.cpp:
18411         (WebKit::WebDatabaseManagerProxy::didGetDatabasesByOrigin):
18412         (WebKit::WebDatabaseManagerProxy::didGetDatabaseOrigins):
18413         (WebKit::WebDatabaseManagerProxy::didModifyOrigin):
18414         (WebKit::WebDatabaseManagerProxy::didModifyDatabase):
18415         * UIProcess/WebPageProxy.cpp:
18416         (WebKit::WebPageProxy::exceededDatabaseQuota):
18417         (WebKit::WebPageProxy::requestGeolocationPermissionForFrame):
18418
18419         == Add WK API calls to change notificationsEnabled bit in WebCore::Settings.
18420
18421         * Shared/WebPreferencesStore.h:
18422         * UIProcess/API/C/WKPreferences.cpp:
18423         (WKPreferencesSetNotificationsEnabled):
18424         (WKPreferencesGetNotificationsEnabled):
18425         * UIProcess/API/C/WKPreferences.h:
18426
18427 2012-01-18  Anders Carlsson  <andersca@apple.com>
18428
18429         REGRESSION (r88886): Tabs restore blank when running Safari with a nightly build for the first time
18430         https://bugs.webkit.org/show_bug.cgi?id=76587
18431         <rdar://problem/9739135>
18432
18433         Reviewed by Sam Weinig.
18434
18435         * UIProcess/cf/WebPageProxyCF.cpp:
18436         Change CurrentSessionStateDataVersion back to 2.
18437
18438         * WebProcess/WebPage/DecoderAdapter.cpp:
18439         (WebKit::DecoderAdapter::decodeString):
18440         * WebProcess/WebPage/EncoderAdapter.cpp:
18441         (WebKit::EncoderAdapter::encodeString):
18442         Backport the CoreIPC string encoding and decoding functions that were in place prior to r88886.
18443
18444 2012-01-17  Alexey Proskuryakov  <ap@apple.com>
18445
18446         [Mac] Add a flag telling plug-in if it can enter sandbox
18447         https://bugs.webkit.org/show_bug.cgi?id=76467
18448
18449         Reviewed by Anders Carlsson.
18450
18451         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
18452         (WebKit::NPN_GetValue): Added a private flag.
18453
18454 2012-01-18  Eric Carlson  <eric.carlson@apple.com>
18455
18456         Provide access to user's list of preferred languages
18457         https://bugs.webkit.org/show_bug.cgi?id=76138
18458
18459         Reviewed by Alexey Proskuryakov.
18460
18461         * Shared/WebProcessCreationParameters.cpp:
18462         (WebKit::WebProcessCreationParameters::encode): Encode the languages array.
18463         (WebKit::WebProcessCreationParameters::decode): Decode the languages array.
18464         * Shared/WebProcessCreationParameters.h:
18465
18466         * UIProcess/WebContext.cpp:
18467         (WebKit::WebContext::languageChanged): Override the WebProcess userPreferredLanguages.
18468         (WebKit::WebContext::ensureWebProcess): Initialize parameters.languages.
18469
18470         * WebProcess/WebProcess.cpp:
18471         (WebKit::WebProcess::initializeWebProcess): Override user languages array.
18472         (WebKit::WebProcess::userPreferredLanguagesChanged): Ditto.
18473         * WebProcess/WebProcess.h:
18474         * WebProcess/WebProcess.messages.in: Define UserPreferredLanguagesChanged.
18475
18476         * win/WebKit2.def: Export the new functions.
18477         * win/WebKit2CFLite.def: Ditto.
18478
18479 2012-01-18  Luciano Wolf  <luciano.wolf@openbossa.org>
18480
18481         [Qt][WK2] Broken build with undefined reference to shm_open and shm_unlink
18482         https://bugs.webkit.org/show_bug.cgi?id=76538
18483
18484         Reviewed by Tor Arne Vestbø.
18485
18486         The -lrt parameter was coming before -lWebKit2 during linkage.
18487
18488         Moved rt lib inclusion from Source/api.pri to WebKit2.pri as it should be aware
18489         of its own dependencies instead of letting WebKit guess about. Letting
18490         it on api.pri can lead to a wrong parameter's order during linker phase.
18491         Ubuntu 11.10 was giving errors about SharedMemory (shm_open and
18492         shm_unlink undefined symbols).
18493
18494         The issue was fixed with the help of Aloisio Almeida and Lauro Venancio.
18495
18496         * WebKit2.pri:
18497
18498 2012-01-18  Carlos Garnacho  <carlosg@gnome.org>
18499
18500         [GTK] Listen to GDK_SCROLL_MASK
18501         https://bugs.webkit.org/show_bug.cgi?id=76529
18502
18503         Set GDK_SCROLL_MASK explicitly, as WebKitWebViewBase does handle
18504         scroll events, scrolling currently works because GTK+ happens 
18505         to send such events to widgets listening to GDK_BUTTON_PRESS_MASK,
18506         but this isn't the intended behavior, so it's subject to change.
18507
18508         Reviewed by Martin Robinson.
18509
18510         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
18511         (webkitWebViewBaseRealize):
18512
18513 2012-01-18  Andras Becsi  <andras.becsi@nokia.com>
18514
18515         [Qt][WK2] Fix the debug build.
18516
18517         Unreviewed.
18518
18519         * UIProcess/qt/QtWebPageEventHandler.cpp:
18520         (setInputPanelVisible): Remove assertion from non-member function.
18521
18522 2012-01-12  Kenneth Rohde Christiansen  <kenneth@webkit.org>
18523
18524         [Qt] Zoom in to the focused node only when vkb starts becoming visible
18525         https://bugs.webkit.org/show_bug.cgi?id=76174
18526
18527         Reviewed by Simon Hausmann.
18528
18529         Remove the old code which always zoomed in when something got focus,
18530         even via JavaScript, and replaced it with code checking the state of
18531         the Qt input panel.
18532
18533         Also make sure that we do not zoom in or request the input panel if
18534         the item is not focused.
18535
18536         * UIProcess/PageClient.h:
18537         * UIProcess/WebPageProxy.cpp:
18538         * UIProcess/WebPageProxy.h:
18539         * UIProcess/WebPageProxy.messages.in:
18540         * UIProcess/qt/QtPageClient.cpp:
18541         * UIProcess/qt/QtPageClient.h:
18542         * UIProcess/qt/QtWebPageEventHandler.cpp:
18543         (QtWebPageEventHandler::QtWebPageEventHandler):
18544         (QtWebPageEventHandler::~QtWebPageEventHandler):
18545         (QtWebPageEventHandler::inputPanelVisibleChanged):
18546         * UIProcess/qt/QtWebPageEventHandler.h:
18547         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
18548         (WebKit::WebEditorClient::respondToChangedSelection):
18549
18550 2012-01-18  Shinya Kawanaka  <shinyak@google.com>
18551
18552         Move ShadowContentElement from dom/ to html/ and make ShadowContentElement subclass of HTMLElement.
18553         https://bugs.webkit.org/show_bug.cgi?id=76241
18554
18555         Reviewed by Dimitri Glazkov.
18556
18557         * win/WebKit2.def: Exposed necessary symbols.
18558         * win/WebKit2CFLite.def: ditto.
18559
18560 2012-01-17  Hajime Morrita  <morrita@chromium.org>
18561
18562         [Internals] Should be able to access corresponding Document object.
18563         https://bugs.webkit.org/show_bug.cgi?id=76425
18564
18565         Reviewed by Adam Barth.
18566
18567         * win/WebKit2.def: Added exporting symbols.
18568         * win/WebKit2CFLite.def: Added exporting symbols.
18569
18570 2012-01-17  Matthew Delaney  <mdelaney@apple.com>
18571
18572         On post-Lion releases, preserve the Lion behavior where WebKit explicitly calls -setGeometryFlipped on the hosting layer for applications that were linked on Lion or earlier.
18573         <rdar://problem/10692025>
18574
18575         Reviewed by Simon Fraser.
18576
18577         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: Init new function.
18578         (InitWebCoreSystemInterface):
18579
18580 2012-01-17  Sam Weinig  <sam@webkit.org>
18581
18582         Rename quickLookPreviewItemsAtWindowLocation: to quickLookWithEvent:
18583         <rdar://problem/10688913>
18584
18585         Reviewed by Anders Carlsson.
18586
18587         * UIProcess/API/mac/WKView.mm:
18588         (-[WKView quickLookWithEvent:]):
18589
18590 2012-01-17  Sam Weinig  <sam@webkit.org>
18591
18592         Add helper macro for forward declaring objective-c classes
18593         https://bugs.webkit.org/show_bug.cgi?id=76485
18594
18595         Reviewed by Anders Carlsson.
18596
18597         * WebProcess/WebCoreSupport/WebDragClient.h:
18598         Deploy OBJC_CLASS for a little code reduction.
18599
18600         * config.h:
18601         Remove duplicate copy of OBJC_CLASS.
18602
18603 2012-01-17  Martin Robinson  <mrobinson@igalia.com>
18604
18605         [GTK] [WK2] WebKitPrivate should include the entire WebKit2 C API
18606         https://bugs.webkit.org/show_bug.cgi?id=76345
18607
18608         Reviewed by Gustavo Noronha Silva.
18609
18610         Isolate all of the WebKit2 C API includes into WebKitPrivate.h and no longer
18611         include anything other than WebKit2.h for the C API.
18612
18613         * UIProcess/API/gtk/WebKitBackForwardList.cpp: Use WebKitPrivate.h now.
18614         * UIProcess/API/gtk/WebKitBackForwardListItem.cpp: Ditto.
18615         * UIProcess/API/gtk/WebKitPrivate.h: Add WebKit2.h, WKAPICast.h and WKRetainPtr.h includes.
18616         * UIProcess/API/gtk/WebKitSettings.cpp: Use WebKitPrivate.h.
18617         * UIProcess/API/gtk/WebKitUIClient.cpp: Ditto.
18618         * UIProcess/API/gtk/WebKitWebContext.cpp: Ditto.
18619         * UIProcess/API/gtk/WebKitWebView.cpp: Ditto.
18620         * UIProcess/API/gtk/WebKitWebViewBase.cpp: Ditto.
18621         * UIProcess/API/gtk/WebKitWindowProperties.cpp: Ditto.
18622
18623 2012-01-17  Alexander Færøy  <alexander.faeroy@nokia.com>
18624
18625         [Qt] Implement HTTP authentication QML API
18626         https://bugs.webkit.org/show_bug.cgi?id=75535
18627
18628         Reviewed by Kenneth Rohde Christiansen.
18629
18630         This patch implements the QML API for handling HTTP authentication.
18631         The implementation uses a syncronous message between the WebProcess
18632         and the UIProcess which is called when the authenticationRequired
18633         signal is emitted from QNAM.
18634
18635         Based in part upon patch by Peter Hartmann.
18636
18637         * UIProcess/API/qt/qquickwebview.cpp:
18638         (QQuickWebViewPrivate::QQuickWebViewPrivate):
18639         (QQuickWebViewPrivate::handleAuthenticationRequiredRequest):
18640         (QQuickWebViewExperimental::authenticationDialog):
18641         (QQuickWebViewExperimental::setAuthenticationDialog):
18642         * UIProcess/API/qt/qquickwebview_p.h:
18643         * UIProcess/API/qt/qquickwebview_p_p.h:
18644         * UIProcess/PageClient.h:
18645         * UIProcess/WebPageProxy.cpp:
18646         (WebKit::WebPageProxy::authenticationRequiredRequest):
18647         * UIProcess/WebPageProxy.h:
18648         * UIProcess/WebPageProxy.messages.in:
18649         * UIProcess/qt/QtDialogRunner.cpp:
18650         (AuthenticationDialogContextObject::AuthenticationDialogContextObject):
18651         (AuthenticationDialogContextObject::hostname):
18652         (AuthenticationDialogContextObject::realm):
18653         (AuthenticationDialogContextObject::prefilledUsername):
18654         (AuthenticationDialogContextObject::accept):
18655         (AuthenticationDialogContextObject::reject):
18656         (QtDialogRunner::initForAuthentication):
18657         * UIProcess/qt/QtDialogRunner.h:
18658         (QtDialogRunner::username):
18659         (QtDialogRunner::password):
18660         (QtDialogRunner::onAuthenticationAccepted):
18661         * UIProcess/qt/QtPageClient.cpp:
18662         (QtPageClient::handleAuthenticationRequiredRequest):
18663         * UIProcess/qt/QtPageClient.h:
18664         * WebProcess/qt/QtNetworkAccessManager.cpp:
18665         (WebKit::QtNetworkAccessManager::QtNetworkAccessManager):
18666         (WebKit::QtNetworkAccessManager::onAuthenticationRequired):
18667         * WebProcess/qt/QtNetworkAccessManager.h:
18668
18669 2012-01-16  Dan Bernstein  <mitz@apple.com>
18670
18671         <rdar://problem/10702758> REGRESSION: Every Safari Reader WKView leaks
18672
18673         Reviewed by John Sullivan and Ada Chan.
18674
18675         * UIProcess/API/mac/WKView.mm:
18676         (-[WKView viewDidMoveToWindow]): Since this method can be called multiple times in a row
18677         while [self window] is non-nil, check if there isn’t already an event monitor before adding
18678         a new one.
18679
18680 2012-01-16  Anders Carlsson  <andersca@apple.com>
18681
18682         Crash when calling SecItemAdd with a null result pointer
18683         https://bugs.webkit.org/show_bug.cgi?id=76407
18684         <rdar://problem/10696087>
18685
18686         Reviewed by Brady Eidson.
18687
18688         Add null check.
18689
18690         * WebProcess/mac/SecItemShimMethods.mm:
18691         (WebKit::webSecItemAdd):
18692
18693 2012-01-16  Jon Lee  <jonlee@apple.com>
18694
18695         Build fix for r105086.
18696
18697         * Configurations/FeatureDefines.xcconfig:
18698
18699 2012-01-16  Zeno Albisser  <zeno@webkit.org>
18700
18701         [Qt] Fix QT_VERSION related warnings when building on Mac OS X
18702         https://bugs.webkit.org/show_bug.cgi?id=76340
18703
18704         This bug was caused by r104826.
18705         As was already mentioned for https://bugs.webkit.org/show_bug.cgi?id=57239
18706         we should not use "using namespace WebCore" in header files,
18707         because it might cause ambiguous references.
18708         This patch reverts the changes from r104826 and r104981
18709         and removes the "using namespace WebCore" statement from
18710         two header files.
18711
18712         Reviewed by Tor Arne Vestbø.
18713
18714         * Shared/WebLayerTreeInfo.h:
18715         (WebKit::WebLayerUpdateInfo::WebLayerUpdateInfo):
18716         (WebKit::WebLayerAnimation::WebLayerAnimation):
18717         * UIProcess/LayerTreeHostProxy.h:
18718         (WebKit::LayerTreeHostProxy::layerByID):
18719         (WebKit::LayerTreeHostProxy::rootLayer):
18720         (WebKit::LayerTreeHostProxy::notifyAnimationStarted):
18721         (WebKit::LayerTreeHostProxy::notifySyncRequired):
18722         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
18723         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
18724         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
18725
18726 2012-01-16  Alexander Færøy  <alexander.faeroy@nokia.com>
18727
18728         [Qt] Remove references to PagePointer in the FrameNetworkingContext
18729         https://bugs.webkit.org/show_bug.cgi?id=76342
18730
18731         Reviewed by Simon Hausmann.
18732
18733         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
18734         (WebKit::WebFrameLoaderClient::createNetworkingContext):
18735         * WebProcess/qt/QtNetworkAccessManager.cpp:
18736         (WebKit::QtNetworkAccessManager::obtainOriginatingWebPage):
18737         * WebProcess/qt/QtNetworkAccessManager.h:
18738
18739 2012-01-14  Dan Bernstein  <mitz@apple.com>
18740
18741         <rdar://problem/10696295> Crash in WebProcess at com.apple.CFNetwork: URLCredentialStorage::CreateCurrentPersistentCredentials + 298
18742
18743         Reviewed by Anders Carlsson.
18744
18745         * WebProcess/mac/SecItemShimMethods.mm:
18746         (WebKit::initializeSecItemShim): Removed an early return that was accidentally added in r105008.
18747
18748 2012-01-13  Anders Carlsson  <andersca@apple.com>
18749
18750         Delay updating the root compositing layer if the layer tree state is frozen
18751         https://bugs.webkit.org/show_bug.cgi?id=76316
18752
18753         Reviewed by Dan Bernstein.
18754
18755         When the layer tree is frozen, stash the root layer in m_pendingRootCompositingLayer and set it in flushLayers.
18756
18757         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
18758         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
18759         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
18760         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
18761
18762 2012-01-13  Anders Carlsson  <andersca@apple.com>
18763
18764         Implement TiledCoreAnimationDrawingArea::setLayerTreeStateIsFrozen
18765         https://bugs.webkit.org/show_bug.cgi?id=76308
18766
18767         Reviewed by Sam Weinig.
18768
18769         Keep track of whether the layer tree state is frozen and suspend/resume the layer flush scheduler accordingly.
18770
18771         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
18772         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
18773         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
18774         (WebKit::TiledCoreAnimationDrawingArea::setLayerTreeStateIsFrozen):
18775         (WebKit::TiledCoreAnimationDrawingArea::layerTreeStateIsFrozen):
18776         (WebKit::TiledCoreAnimationDrawingArea::scheduleCompositingLayerSync):
18777         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
18778
18779 2012-01-13  Anders Carlsson  <andersca@apple.com>
18780
18781         Disable implicit animations when setting the root compositing layer
18782         https://bugs.webkit.org/show_bug.cgi?id=76304
18783
18784         Reviewed by Sam Weinig.
18785
18786         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
18787         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
18788
18789 2012-01-13  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
18790
18791         TextureMapper: Extract layer transform logic to a LayerTransform class.
18792         https://bugs.webkit.org/show_bug.cgi?id=76291
18793
18794         Reviewed by Noam Rosenthal.
18795
18796         Move the paint call before the visible rect collection to make sure that
18797         transforms are computed. This will increase the delay for the visible rects
18798         to get to the WebProcess until we move this calculation out of the UI Process.
18799         This fixes an assert triggering in LayerTransform::combineTransforms.
18800
18801         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
18802         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
18803
18804 2012-01-13  Brent Fulgham  <bfulgham@webkit.org>
18805
18806         [WinCairo] Build correction.
18807
18808         * Shared/WebGraphicsContext.h: Use proper include path for RefPtrCairo.h.
18809
18810 2012-01-12  Martin Robinson  <mrobinson@igalia.com>
18811
18812         [GTK] [WebKit2] WebKitURIRequest and WebKitURIResponse should wrap the corresponding WebCore classes
18813         https://bugs.webkit.org/show_bug.cgi?id=74478
18814
18815         Reviewed by Gustavo Noronha Silva.
18816
18817         Have WebKitURIRequest wrap a ResourceRquesst and WebKitURIResponse wrap a ResourceResponse.
18818         They are the WebCore types they are meant to represent and we will need to expose more
18819         information from them in the future to make them useful. Later we can have ResourceResponse
18820         generate a SoupMessage lazily if necessary.
18821
18822         * GNUmakefile.am:
18823         * UIProcess/API/gtk/WebKitURIRequest.cpp:
18824         (webkit_uri_request_class_init): Remove the set property vmethod.
18825         (webkit_uri_request_new): The URI property is no longer settable.
18826         (webkitURIRequestCreateForResourceRequest): Added this private constructor.
18827         (webkit_uri_request_get_uri): Now we just get the URI directly from the ResourceRequest.
18828         * UIProcess/API/gtk/WebKitURIResponse.cpp:
18829         (webkit_uri_response_class_init): Remove the set property vmethod.
18830         (webkit_uri_response_get_uri): Get the URI directly from the ResourceReponse.
18831         (webkit_uri_response_get_status_code): Get the status code directly from the ResourceResponse.
18832         (webkit_uri_response_get_content_length): Get the content length directly from the ResourceResponse.
18833         (webkitURIResponseCreateForResourceResponse): Added this private constructor.
18834         * UIProcess/API/gtk/WebKitURIResponsePrivate.h: Removed unnecessary methods.
18835
18836 2012-01-12  No'am Rosenthal  <noam.rosenthal@nokia.com>
18837
18838         [Qt][WK2] WebProcesses crashes when composited reflections/masks are present
18839         https://bugs.webkit.org/show_bug.cgi?id=75883
18840
18841         Reviewed by Kenneth Rohde Christiansen.
18842
18843         Make sure masks and replica layers can access layerTreeTileClient. Let masks
18844         have the right contents/visible rect so that they can render content tiles.
18845         Default the mask's size to be the layer's size.
18846
18847         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
18848         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
18849         (WebCore::WebGraphicsLayer::setSize):
18850         (WebCore::WebGraphicsLayer::setMaskLayer):
18851         (WebCore::WebGraphicsLayer::setReplicatedByLayer):
18852         (WebCore::WebGraphicsLayer::syncCompositingState):
18853         (WebCore::WebGraphicsLayer::setContentsScale):
18854         (WebCore::WebGraphicsLayer::setVisibleContentRect):
18855         (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
18856         (WebCore::WebGraphicsLayer::updateTileBuffersRecursively):
18857         (WebCore::WebGraphicsLayer::layerTreeTileClient):
18858         (WebCore::WebGraphicsLayer::purgeBackingStores):
18859         (WebCore::WebGraphicsLayer::recreateBackingStoreIfNeeded):
18860         (WebCore::WebGraphicsLayer::setLayerTreeTileClient):
18861         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
18862         (WebCore::WebGraphicsLayer::maskTarget):
18863         (WebCore::WebGraphicsLayer::setMaskTarget):
18864
18865 2012-01-12  Kenneth Rohde Christiansen  <kenneth@webkit.org>
18866
18867         [Qt] Set the input method hints on the QtQuick item
18868         https://bugs.webkit.org/show_bug.cgi?id=76169
18869
18870         Reviewed by Simon Hausmann.
18871
18872         Set the input method hints given the HTMLElement type and state.
18873
18874         * Shared/EditorState.cpp:
18875         (WebKit::EditorState::encode):
18876         (WebKit::EditorState::decode):
18877         * Shared/EditorState.h:
18878         (WebKit::EditorState::EditorState):
18879         * UIProcess/qt/QtWebPageEventHandler.cpp:
18880         (QtWebPageEventHandler::updateTextInputState):
18881         * WebProcess/WebPage/WebPage.cpp:
18882         (WebKit::WebPage::editorState):
18883
18884 2012-01-12  Eunmi Lee  <eunmi15.lee@samsung.com>
18885
18886         [EFL][WK2] Update and show ewk_view with updated webpage.
18887         https://bugs.webkit.org/show_bug.cgi?id=76023
18888
18889         Reviewed by Andreas Kling.
18890
18891         Update ewk_view with BackingStore image which is rendered webpage
18892         image by WebProcess, and show updated image's area when
18893         PageClientImpl::setViewNeedsDisplay() is called.
18894         The ewk_view_display() function is used to display updated area of
18895         evas_object_image and the ewk_view_image_data_set() function is used
18896         to set evas_object_image's data with rendered webpage.
18897
18898         * UIProcess/API/efl/PageClientImpl.cpp:
18899         (WebKit::PageClientImpl::setViewNeedsDisplay):
18900         * UIProcess/API/efl/ewk_private.h: Added.
18901         * UIProcess/API/efl/ewk_view.cpp:
18902         (ewk_view_add):
18903         (ewk_view_display):
18904         (ewk_view_image_data_set):
18905         * UIProcess/cairo/BackingStoreCairo.cpp:
18906         (WebKit::BackingStore::incorporateUpdate):
18907
18908 2012-01-12  Ryuan Choi  <ryuan.choi@samsung.com>
18909
18910         [EFL][WK2] Network is not available when SOUP is enabled.
18911         https://bugs.webkit.org/show_bug.cgi?id=76112
18912
18913         Reviewed by Andreas Kling.
18914
18915         ecore_main_loop_glib_integrate should be called to use glib based library
18916         such as SOUP.
18917
18918         * WebProcess/efl/WebProcessMainEfl.cpp:
18919         (WebKit::WebProcessMainEfl):
18920
18921 2012-01-12  Ryuan Choi  <ryuan.choi@samsung.com>
18922
18923         [EFL][WK2] Add PLATFORM(EFL) in SharedMemory.h, WebProcessStore.h, WebEditorClient.cpp
18924         https://bugs.webkit.org/show_bug.cgi?id=76115
18925
18926         Reviewed by Andreas Kling.
18927
18928         This patch added PLATFORM(EFL) guard in SharedMemory.h to use UNIX_DOMAIN_SOCKETS
18929         and WebProcessStore.h to have font family preference
18930         and WebEditorClient.cpp to use platform specific handleKeyboardEvent(),
18931         handleInputMethodKeydown()
18932
18933         * Platform/SharedMemory.h:
18934         * Shared/WebPreferencesStore.h:
18935         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
18936
18937 2012-01-11  Carlos Garcia Campos  <cgarcia@igalia.com>
18938
18939         [GTK] Web process should use the same locale than UI process
18940         https://bugs.webkit.org/show_bug.cgi?id=76054
18941
18942         Reviewed by Gustavo Noronha Silva.
18943
18944         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
18945         (WebKit::childSetupFunction): Make child process use the same
18946         locale than its parent.
18947
18948 2012-01-11  Ryuan Choi  <ryuan.choi@samsung.com>
18949
18950         [WK2] Share cairo specific codes with EFL port.
18951         https://bugs.webkit.org/show_bug.cgi?id=75457
18952
18953         Reviewed by Brent Fulgham.
18954
18955         Change PLATFORM(GTK) to USE(CAIRO) in WebGraphicsContext{h,cpp} to share
18956         with EFL port.
18957
18958         * Shared/WebGraphicsContext.cpp:
18959         (WebKit::WebGraphicsContext::WebGraphicsContext):
18960         * Shared/WebGraphicsContext.h:
18961
18962 2012-01-11  Beth Dakin  <bdakin@apple.com>
18963
18964         https://bugs.webkit.org/show_bug.cgi?id=75904
18965         WebKit 1: Scrollbar uiStateTransitionProgress requires tracking the mouse all 
18966         the time
18967         -and corresponding-
18968         <rdar://problem/10498816>
18969
18970         Reviewed by Darin Adler.
18971
18972         This patch gets rid of the optional parameter called onlyUpdateScrollbars for 
18973         WebCore::EventHandler::mouseMoved() and instead moves that functionality into 
18974         its own function called passMouseMovedEventToScrollbars().
18975         * WebProcess/WebPage/WebPage.cpp:
18976         (WebKit::handleMouseEvent):
18977
18978 2012-01-11  Brent Fulgham  <bfulgham@webkit.org>
18979
18980         WinCairo build correction.
18981
18982         * UIProcess/WebPageProxy.h: Don't define viewWidget for WinCairo port.
18983
18984 2012-01-11  Anders Carlsson  <andersca@apple.com>
18985
18986         Webpages flash white when switching between windows
18987         https://bugs.webkit.org/show_bug.cgi?id=76080
18988         <rdar://problem/9893565>
18989
18990         Reviewed by Dan Bernstein.
18991
18992         Introduce a _windowHasValidBackingStore boolean and only paint the background (white or clear)
18993         * UIProcess/API/mac/WKView.mm:
18994         (-[WKView setFrameSize:]):
18995         Set _windowHasValidBackingStore to false if the new size is different from the old size.
18996
18997         (-[WKView viewDidMoveToWindow]):
18998         Set _windowHasValidBackingStore to false.
18999
19000         (-[WKView _windowDidMiniaturize:]):
19001         Set _windowHasValidBackingStore to false.
19002
19003         (-[WKView _windowDidChangeBackingProperties:]):
19004         Set _windowHasValidBackingStore to false.
19005
19006         (-[WKView drawRect:]):
19007         Only call drawPageBackground if _windowHasValidBackingStore is false. Set it to true after painting.
19008
19009 2012-01-11  Anders Carlsson  <andersca@apple.com>
19010
19011         Fix the Mac GCC build.
19012
19013         Work around the fact that GCC doesn't work very well with Blocks and C++ objets.
19014
19015         * UIProcess/mac/WebProcessProxyMac.mm:
19016         (WebKit::dispatchFunctionOnQueue):
19017         (WebKit::WebProcessProxy::secItemRequest):
19018         (WebKit::WebProcessProxy::secKeychainItemRequest):
19019
19020 2012-01-11  No'am Rosenthal  <noam.rosenthal@nokia.com>
19021
19022         [Qt][WK2] Directly-composited images sometimes appear with a wrong geometry
19023         https://bugs.webkit.org/show_bug.cgi?id=75882
19024
19025         Reviewed by Simon Hausmann.
19026
19027         When assigning a directly composited image to a TextureMapperNode in WebKit2, we take
19028         contentsRect() onto account. However, contentsRect() might be changed after the image
19029         is already assigned.
19030         We have to reassign the image when contentsRect() changes. This is a pretty cheap
19031         operation, since the image is already converted to a texture and we simply change the
19032         geometric values.
19033
19034         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
19035         (WebKit::LayerTreeHostProxy::syncLayerParameters):
19036         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
19037         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
19038
19039 2012-01-11  Kenneth Rohde Christiansen  <kenneth@webkit.org>
19040
19041         [Qt] Add the editor rect to the EditorState
19042         https://bugs.webkit.org/show_bug.cgi?id=76053
19043
19044         Reviewed by Simon Hausmann.
19045
19046         Also rename some members to match the new Qt naming scheme.
19047
19048         * Shared/EditorState.cpp:
19049         (WebKit::EditorState::encode):
19050         (WebKit::EditorState::decode):
19051         * Shared/EditorState.h:
19052         * UIProcess/API/qt/qquickwebview.cpp:
19053         (QQuickWebView::inputMethodQuery):
19054         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
19055         (WebKit::WebEditorClient::respondToChangedSelection):
19056         * WebProcess/WebPage/WebPage.cpp:
19057         (WebKit::WebPage::editorState):
19058
19059 2012-01-11  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
19060
19061         [GTK] Linking of big binaries should be serialized to avoid thrashing
19062         https://bugs.webkit.org/show_bug.cgi?id=75977
19063
19064         Reviewed by Martin Robinson.
19065
19066         Added artificial dependencies so that libwebkitgtk is always
19067         linked first, libwebkit2gtk second, and WebKitPluginProcess
19068         last. Automake unfortunately replaces the whole rule used to build
19069         the libraries if the actual name is used to add the dependency, so
19070         we use helper variables to work around that.
19071
19072         * GNUmakefile.am:
19073
19074 2012-01-11  Ryuan Choi  <ryuan.choi@samsung.com>
19075
19076         [EFL][WK2] Rename viewObject to viewWidget
19077         https://bugs.webkit.org/show_bug.cgi?id=75947
19078
19079         Reviewed by Martin Robinson.
19080
19081         Rename viewObject to viewWidget for the EFL port to use WidgetBackingStore
19082         which calls viewWidget().
19083
19084         * UIProcess/API/efl/PageClientImpl.cpp:
19085         (WebKit::PageClientImpl::PageClientImpl):
19086         (WebKit::PageClientImpl::setViewNeedsDisplay):
19087         (WebKit::PageClientImpl::viewSize):
19088         * UIProcess/API/efl/PageClientImpl.h:
19089         (WebKit::PageClientImpl::create):
19090         (WebKit::PageClientImpl::viewWidget):
19091         * UIProcess/WebPageProxy.h:
19092         * UIProcess/efl/WebPageProxyEfl.cpp:
19093         (WebKit::WebPageProxy::viewWidget):
19094
19095 2012-01-10  Mark Rowe  <mrowe@apple.com>
19096
19097         REGRESSION (r104377): All pages print blank on Snow Leopard
19098         <http://webkit.org/b/75879> / <rdar://problem/10674335>
19099
19100         We need to explicitly load PDFKit.framework before using PDFDocument and friends.
19101         On SnowLeopard the framework is not necessarily loaded by anything else before we
19102         print, which would lead to us failing to allocate the PDFDocument that we use for
19103         drawing the content from the web process.
19104
19105         Reviewed by Dan Bernstein.
19106
19107         * UIProcess/API/mac/WKPrintingView.mm:
19108         (pdfKitFrameworkPath): Construct the path to the PDFKit framework.
19109         (classFromPDFKit): Ensure that the PDFKit framework is loaded, and then retrieve the
19110         given class from it.
19111         (pdfAnnotationLinkClass): ASSERT that we found the class.
19112         (pdfDocumentClass): Ditto.
19113
19114 2012-01-10  Chris Marrin  <cmarrin@apple.com>
19115
19116         Wrapped allowedCompositingTriggers in ACCELERATED_COMPOSITING ifdef to make non-accelerated builds work
19117
19118         Unreviewed.
19119
19120         * WebProcess/WebCoreSupport/WebChromeClient.h:
19121
19122 2012-01-10  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
19123
19124         [Qt][WK2]REGRESSION(r102435): It made tst_QQuickWebView::show() crash
19125         https://bugs.webkit.org/show_bug.cgi?id=74176
19126
19127         Reviewed by Noam Rosenthal.
19128
19129         Check texture mapper exists already in ensureRootLayer to avoid recrecation.
19130         Check if root layer was deleted already in purgeGLResources.
19131         Added multipleWebViewWindows and multipleWebViews API tests.
19132
19133         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
19134         (tst_QQuickWebView::multipleWebViewWindows):
19135         (tst_QQuickWebView::multipleWebViews):
19136         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
19137         (WebKit::LayerTreeHostProxy::ensureRootLayer):
19138         (WebKit::LayerTreeHostProxy::purgeGLResources):
19139
19140 2012-01-10  Ryosuke Niwa  <rniwa@webkit.org>
19141
19142         Snow Leopard build fix.
19143
19144         * UIProcess/API/mac/PageClientImpl.h:
19145         * UIProcess/API/mac/PageClientImpl.mm:
19146
19147 2012-01-10  Anders Carlsson  <andersca@apple.com>
19148
19149         Hang opening movie that requires authentication
19150         https://bugs.webkit.org/show_bug.cgi?id=75989
19151
19152         Reviewed by Sam Weinig.
19153
19154         Change the way the keychain calls are processed to avoid deadlocks:
19155
19156         1. When a keychain call is made, the web process sends an asynchronous request message to the UI process,
19157            avoiding the need to bounce calls to the main thread (since CoreIPC only allows sending
19158            synchronous messages from the main thread). Incidentally, this fixes <rdar://problem/9428041>.
19159         2. The Web Process now waits on the calling thread, (for a condition variable to be signalled) for a reply message.
19160         3. The UI process handles the incoming message request message on the connection work queue and uses
19161            dispatch_async to a global dispatch queue where the keychain call is made.
19162            We use a global queue to prevent the connection work queue from blocking on the call.
19163         4. The UI process then sends an asynchronous reply message back to the web process. This message is sent from
19164            the global dispatch queue.
19165         5. The Web Process handles the reply message on the connection queue, adds the reply to a map and signals
19166            the condition variable that the web process is waiting on and the thread that made the keychain call
19167            can resume execution.
19168
19169         * Shared/mac/SecItemRequestData.cpp:
19170         (WebKit::SecItemRequestData::SecItemRequestData):
19171         (WebKit::SecItemRequestData::encode):
19172         (WebKit::SecItemRequestData::decode):
19173         * Shared/mac/SecItemRequestData.h:
19174         (WebKit::SecItemRequestData::type):
19175         Add a type to SecItemRequestData and encode/decode it.
19176
19177         * Shared/mac/SecItemResponseData.h:
19178         (WebKit::SecItemResponseData::resultObject):
19179         Make this return a reference so we can call leakRef() on it.
19180
19181         * Shared/mac/SecKeychainItemRequestData.cpp:
19182         (WebKit::SecKeychainItemRequestData::SecKeychainItemRequestData):
19183         (WebKit::SecKeychainItemRequestData::~SecKeychainItemRequestData):
19184         (WebKit::SecKeychainItemRequestData::attributeList):
19185         (WebKit::SecKeychainItemRequestData::encode):
19186         (WebKit::SecKeychainItemRequestData::decode):
19187         * Shared/mac/SecKeychainItemRequestData.h:
19188         (WebKit::SecKeychainItemRequestData::type):
19189         Add a type, and put the OwnPtr and OwnArrayPtr in a RefCounted struct so we can
19190         correctly copy this object.
19191
19192         * UIProcess/WebConnectionToWebProcess.cpp:
19193         (WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess):
19194         Don't open the connection here, the WebProcessProxy object needs to add itself as a queue client before opening.
19195     
19196         * UIProcess/WebProcessProxy.cpp:
19197         (WebKit::WebProcessProxy::disconnect):
19198         Remove the WebProcessProxy object from the list of connection queue clients.
19199
19200         (WebKit::WebProcessProxy::didReceiveMessageOnConnectionWorkQueue):
19201         Call didReceiveWebProcessProxyMessageOnConnectionWorkQueue.
19202
19203         (WebKit::WebProcessProxy::didFinishLaunching):
19204         Add the WebProcessProxy as a queue client and open the connection.
19205
19206         * UIProcess/WebProcessProxy.h:
19207         WebProcessProxy should inherit from CoreIPC::Connection::QueueClient. Replace all individual keychain
19208         handler functions with two generic functions, secItemRequest and secKeychainItemRequest.
19209     
19210         * UIProcess/WebProcessProxy.messages.in:
19211         Replace individual keychain messages with SecItemRequest and SecKeychainItemRequest messages.
19212
19213         * UIProcess/mac/WebProcessProxyMac.mm:
19214         (WebKit::handleSecItemRequest):
19215         Call the right SecItem function depending on the request type and send back the result.
19216
19217         (WebKit::WebProcessProxy::secItemRequest):
19218         Dispatch handleSecItemRequest on a global dispatch queue.
19219
19220         (WebKit::handleSecKeychainItemRequest):
19221         Call the right SecKeychainItem function depending on the request type and send back the result.
19222         
19223         (WebKit::WebProcessProxy::secKeychainItemRequest):
19224         Dispatch handleSecKeychainItemRequest on a global dispatch queue.
19225         
19226         * WebKit2.xcodeproj/project.pbxproj:
19227         Update for added/removed files.
19228
19229         * WebProcess/WebProcess.h:
19230         Add secItemResponse and secKeychainItemResponse message handlers.
19231
19232         * WebProcess/WebProcess.messages.in:
19233         Add SecItemResponse and SecKeychainItemResponse messages.
19234
19235         * WebProcess/mac/CoreIPCClientRunLoop.h:
19236         * WebProcess/mac/CoreIPCClientRunLoop.mm:
19237         This is no longer needed.
19238
19239         * WebProcess/mac/KeychainItemShimMethods.h:
19240         * WebProcess/mac/KeychainItemShimMethods.mm:
19241         (WebKit::managedAttributeLists):
19242         Make this an atomically initialized static.
19243
19244         (WebKit::managedAttributeListsMutex):
19245         Add an atomically initialized mutex.
19246
19247         (WebKit::allocateAttributeListContents):
19248         Use the managedAttributeListsMutex to make this function callable from any thread.
19249
19250         (WebKit::managedKeychainItemContents):
19251         Make this an atomically initialized static.
19252         
19253         (WebKit::managedKeychainItemContentsMutex):
19254         Add an atomically initialized mutex.
19255
19256         (WebKit::allocateKeychainItemContentData):
19257         Use the managedAttributeListsMutex to make this function callable from any thread.
19258
19259         (WebKit::webFreeAttributeListContent):
19260         Use locking so this can be called from any thread.
19261
19262         (WebKit::webFreeKeychainItemContent):
19263         Ditto.
19264
19265         (WebKit::responseMap):
19266         Add responseMap thread-safe singleton for holding incoming responses.
19267
19268         (WebKit::generateSecKeychainItemRequestID):
19269         Return a unique item request id, using OSAtomicIncrement64Barrier for atomicity.
19270
19271         (WebKit::didReceiveSecKeychainItemResponse):
19272         Pass the response over the response map.
19273
19274         (WebKit::sendSeqKeychainItemRequest):
19275         Send a request message and wait for a response using ResponseMap::waitForResponse.
19276
19277         (WebKit::webSecKeychainItemCopyContent):
19278         Send a request using sendSeqKeychainItemRequest.
19279
19280         (WebKit::webSecKeychainItemCreateFromContent):
19281         Ditto.
19282
19283         (WebKit::webSecKeychainItemModifyContent):
19284         Ditto.
19285
19286         * WebProcess/mac/KeychainShimResponseMap.h:
19287         New thread-safe helper class that stores a map of responses and lets client wait for a response
19288         with a given ID.
19289
19290         (KeychainShimResponseMap::waitForResponse):
19291         Wait until the response is available in the hash map, then return it.
19292
19293         (KeychainShimResponseMap::didReceiveResponse):
19294         Add the response to the hash map and signal the condition variable.
19295
19296         * WebProcess/mac/SecItemShimMethods.h:
19297         * WebProcess/mac/SecItemShimMethods.mm:
19298         (WebKit::responseMap):
19299         Add responseMap thread-safe singleton for holding incoming responses.
19300
19301         (WebKit::generateSecItemRequestID):
19302         Return a unique item request id, using OSAtomicIncrement64Barrier for atomicity.
19303
19304         (WebKit::didReceiveSecItemResponse):
19305         Pass the response over the response map.
19306
19307         (WebKit::sendSeqItemRequest):
19308         Send a request message and wait for a response using ResponseMap::waitForResponse.
19309
19310         (WebKit::webSecItemCopyMatching):
19311         Send a request using sendSeqItemRequest.
19312
19313         (WebKit::webSecItemAdd):
19314         Ditto.
19315
19316         (WebKit::webSecItemUpdate):
19317         Ditto.
19318
19319         (WebKit::webSecItemDelete):
19320         Ditto.
19321
19322         * WebProcess/mac/WebProcessMac.mm:
19323         (WebKit::WebProcess::secItemResponse):
19324         Call didReceiveSecItemResponse.
19325
19326         (WebKit::WebProcess::secKeychainItemResponse):
19327         Call didReceiveSecKeychainItemResponse.
19328
19329 2012-01-10  Anders Carlsson  <andersca@apple.com>
19330
19331         DispatchOnConnectionQueue messages should have a Connection parameter
19332         https://bugs.webkit.org/show_bug.cgi?id=75986
19333
19334         Reviewed by Adam Roben.
19335
19336         Message handlers for messages with the DispatchOnConnectionQueue should have a CoreIPC::Connection
19337         parameter, making it easier to send messages back over that connection.
19338
19339         * Platform/CoreIPC/HandleMessage.h:
19340         (CoreIPC::callMemberFunction):
19341         (CoreIPC::handleMessageOnConnectionQueue):
19342         * Scripts/webkit2/messages.py:
19343         (async_case_statement):
19344         (generate_message_handler):
19345         * Scripts/webkit2/messages_unittest.py:
19346         * WebProcess/WebPage/EventDispatcher.cpp:
19347         (WebKit::EventDispatcher::wheelEvent):
19348         (WebKit::EventDispatcher::gestureEvent):
19349         * WebProcess/WebPage/EventDispatcher.h:
19350         * WebProcess/WebProcess.cpp:
19351         (WebKit::WebProcess::pluginProcessCrashed):
19352         * WebProcess/WebProcess.h:
19353
19354 2012-01-10  Chris Marrin  <cmarrin@apple.com>
19355
19356         Turn off the FilterTrigger in WebKit and WebKit2
19357         https://bugs.webkit.org/show_bug.cgi?id=75914
19358
19359         Reviewed by Simon Fraser.
19360
19361         Implement allowedCompositingTriggers to turn on all compositing triggers except FilterTrigger.
19362
19363         * WebProcess/WebCoreSupport/WebChromeClient.h:
19364         (WebKit::WebChromeClient::allowedCompositingTriggers):
19365
19366 2012-01-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
19367
19368         Unreviewed potential Mac WK2 build fix.
19369
19370         * UIProcess/PageClient.h: forward declare WebGestureEvent.
19371
19372 2012-01-10  Csaba Osztrogonác  <ossy@webkit.org>
19373
19374         Unreviewed, rolling out an accidental commit r104569.
19375
19376         * Shared/EditorState.cpp:
19377         (WebKit::EditorState::encode):
19378         (WebKit::EditorState::decode):
19379         * Shared/EditorState.h:
19380         * UIProcess/API/qt/qquickwebview.cpp:
19381         (QQuickWebView::inputMethodQuery):
19382         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
19383         (WebKit::WebEditorClient::respondToChangedSelection):
19384         * WebProcess/WebPage/WebPage.cpp:
19385         (WebKit::WebPage::editorState):
19386
19387 2012-01-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
19388
19389         Unreviewed potential Mac WK2 build fix.
19390
19391         * UIProcess/API/mac/PageClientImpl.h:
19392         * UIProcess/API/mac/PageClientImpl.mm:
19393         (WebKit::PageClientImpl::doneWithGestureEvent):
19394
19395 2012-01-10  Rafael Brandao  <rafael.lobo@openbossa.org>
19396
19397         [Qt][WK2] Add font-related API tests for QWebPreferences
19398         https://bugs.webkit.org/show_bug.cgi?id=75739
19399
19400         Reviewed by Zoltan Herczeg.
19401
19402         * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
19403         * UIProcess/API/qt/tests/qmltests/common/font-preferences.html: Added.
19404
19405 2012-01-10  Simon Hausmann  <simon.hausmann@nokia.com>
19406
19407         [Qt] Fix failing WK2 layout tests after r104557
19408
19409         Reviewed by Kenneth Rohde Christiansen.
19410
19411         * UIProcess/WebPageProxy.cpp:
19412         (WebKit::WebPageProxy::didReceiveEvent): Add missing break to not
19413         handle mouseDown as gesture event.
19414
19415 2012-01-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
19416
19417         Unreviewed buildfix.
19418
19419         * UIProcess/WebPageProxy.h:
19420
19421 2012-01-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
19422
19423         Implement the input panel request/close handling
19424
19425         Reviewed by Simon Hausmann.
19426
19427         With the current patch we only request the input panel as a
19428         response to a user tap. Close requests, on the other hand,
19429         is always respected.
19430
19431         As multiple show/hide requests can happen while processing
19432         the tap gesture, input panel visibility changes are postponed
19433         until the tap gesture ends.
19434
19435         The input panel will become visible if the WebCore editor is
19436         in canEdit mode and thus work for content-editable, meaning
19437         that it won't close the input panel if you click on a link
19438         (eg. editCommand) while in content-editable mode.
19439
19440         * UIProcess/PageClient.h:
19441         * UIProcess/WebPageProxy.cpp:
19442         (WebKit::WebPageProxy::handleGestureEvent):
19443         (WebKit::WebPageProxy::editorStateChanged):
19444         (WebKit::WebPageProxy::didReceiveEvent):
19445
19446             Add a new doneWithGestureEvent method to the PageClient
19447             as well as add a updateTextInputState similar to that of mac.
19448
19449         * UIProcess/WebPageProxy.h:
19450         * UIProcess/qt/QtPageClient.cpp:
19451         (QtPageClient::updateTextInputState):
19452         (QtPageClient::doneWithGestureEvent):
19453
19454             Propagate the new events to the Qt EventHandler.
19455
19456         * UIProcess/qt/QtPageClient.h:
19457         * UIProcess/qt/QtWebPageEventHandler.cpp:
19458         * UIProcess/qt/QtWebPageEventHandler.h:
19459         (QtWebPageEventHandler::QtWebPageEventHandler):
19460         (QtWebPageEventHandler::handleSingleTapEvent):
19461         (setInputPanelVisible):
19462         (QtWebPageEventHandler::updateTextInputState):
19463         (QtWebPageEventHandler::doneWithGestureEvent):
19464
19465             Handle postponing of the input method visibility change
19466             and the actual showing/hiding.
19467
19468 2012-01-10  Eunmi Lee  <eunmi15.lee@samsung.com>
19469
19470         [EFL][WK2] Remove codes to move and resize the clip.
19471         https://bugs.webkit.org/show_bug.cgi?id=75428
19472
19473         Reviewed by Andreas Kling.
19474
19475         Remove codes to move and resize the clip because clip is not used now.
19476         We have to show whole area of evas_object_image so we don't have to
19477         clip any area.
19478         In the WebKit1 Efl, the clip is used to clip the area to show during
19479         weak zoom, so we can use codes to manipulate the clip when we want to
19480         implement weak zoom for WebKit2 Efl.
19481
19482         * UIProcess/API/efl/ewk_view.cpp:
19483         (_ewk_view_smart_calculate):
19484
19485 2012-01-09  Andras Becsi  <andras.becsi@nokia.com>
19486
19487         [Qt][WK2] Pinch zoom should affect the page size
19488         https://bugs.webkit.org/show_bug.cgi?id=74601
19489
19490         Reviewed by Kenneth Rohde Christiansen.
19491
19492         The current implementation uses the scale property of the QQuickWebPage
19493         to scale the page in response to pinch gestures.
19494         However for layout and anchoring to work correctly in QML, pinching needs
19495         to change the page size.
19496         This patch applies the pinch scale to the page size and to the transformation
19497         matrix of the drawing area.
19498         Thus the page item's coordinate system is no longer a direct representation
19499         of the WebCore::Page coordinate system and it is no longer suitable as
19500         an inertial frame of reference for input events. The event propagation had
19501         to be moved to the QQuickWebView and the positions translated to content
19502         coordinates when NativeWebEvents are created.
19503         Re-landing with fixed event delivery for the test infrastructure.
19504
19505         * Shared/NativeWebMouseEvent.h:
19506         * Shared/NativeWebTouchEvent.h:
19507         * Shared/NativeWebWheelEvent.h:
19508         * Shared/qt/NativeWebMouseEventQt.cpp:
19509         (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
19510         * Shared/qt/NativeWebTouchEventQt.cpp:
19511         (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
19512         * Shared/qt/NativeWebWheelEventQt.cpp:
19513         (WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
19514         * Shared/qt/WebEventFactoryQt.cpp:
19515         (WebKit::WebEventFactory::createWebMouseEvent):
19516         (WebKit::WebEventFactory::createWebWheelEvent):
19517         (WebKit::WebEventFactory::createWebTouchEvent):
19518         * Shared/qt/WebEventFactoryQt.h:
19519         * UIProcess/API/qt/qquickwebpage.cpp:
19520         (QQuickWebPage::geometryChanged):
19521         (QQuickWebPagePrivate::QQuickWebPagePrivate):
19522         (QQuickWebPagePrivate::paintToCurrentGLContext):
19523         (QQuickWebPage::usesTraditionalDesktopBehaviour):
19524         (QQuickWebPage::setUsesTraditionalDesktopBehaviour):
19525         (QQuickWebPage::eventHandler):
19526         (QQuickWebPage::setContentSize):
19527         (QQuickWebPage::contentSize):
19528         (QQuickWebPage::setContentScale):
19529         (QQuickWebPage::contentScale):
19530         (QQuickWebPage::transformFromItem):
19531         (QQuickWebPage::transformToItem):
19532         (QQuickWebPagePrivate::updateSize):
19533         * UIProcess/API/qt/qquickwebpage_p.h:
19534         * UIProcess/API/qt/qquickwebpage_p_p.h:
19535         * UIProcess/API/qt/qquickwebview.cpp:
19536         (QQuickWebViewPrivate::enableMouseEvents):
19537         (QQuickWebViewPrivate::disableMouseEvents):
19538         (QQuickWebViewPrivate::loadDidCommit):
19539         (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
19540         (QQuickWebViewPrivate::didChangeContentsSize):
19541         (QQuickWebViewPrivate::didChangeViewportProperties):
19542         (QQuickWebViewPrivate::pageDidRequestScroll):
19543         (QQuickWebViewPrivate::updateVisibleContentRectAndScale):
19544         (QQuickWebViewPrivate::PostTransitionState::apply):
19545         (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
19546         (QQuickWebViewExperimental::setUseTraditionalDesktopBehaviour):
19547         (QQuickWebViewExperimental::useTraditionalDesktopBehaviour):
19548         (QQuickWebView::mapToWebContent):
19549         (QQuickWebView::mapRectToWebContent):
19550         (QQuickWebView::mapFromWebContent):
19551         (QQuickWebView::mapRectFromWebContent):
19552         (QQuickWebView::geometryChanged):
19553         (QQuickWebView::keyPressEvent):
19554         (QQuickWebView::keyReleaseEvent):
19555         (QQuickWebView::inputMethodEvent):
19556         (QQuickWebView::focusInEvent):
19557         (QQuickWebView::focusOutEvent):
19558         (QQuickWebView::touchEvent):
19559         (QQuickWebView::mousePressEvent):
19560         (QQuickWebView::mouseMoveEvent):
19561         (QQuickWebView::mouseReleaseEvent):
19562         (QQuickWebView::mouseDoubleClickEvent):
19563         (QQuickWebView::wheelEvent):
19564         (QQuickWebView::hoverEnterEvent):
19565         (QQuickWebView::hoverMoveEvent):
19566         (QQuickWebView::hoverLeaveEvent):
19567         (QQuickWebView::dragMoveEvent):
19568         (QQuickWebView::dragEnterEvent):
19569         (QQuickWebView::dragLeaveEvent):
19570         (QQuickWebView::dropEvent):
19571         (QQuickWebView::event):
19572         * UIProcess/API/qt/qquickwebview_p.h:
19573         * UIProcess/API/qt/qquickwebview_p_p.h:
19574         * UIProcess/API/qt/qwebviewportinfo.cpp:
19575         (QWebViewportInfo::contentsSize):
19576         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
19577         (tst_QQuickWebView::scrollRequest):
19578         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
19579         (WebKit::QtPinchGestureRecognizer::recognize):
19580         * UIProcess/qt/QtViewportInteractionEngine.cpp:
19581         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
19582         (WebKit::QtViewportInteractionEngine::setItemRectVisible):
19583         (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
19584         (WebKit::QtViewportInteractionEngine::event):
19585         (WebKit::QtViewportInteractionEngine::wheelEvent):
19586         (WebKit::QtViewportInteractionEngine::pagePositionRequest):
19587         (WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale):
19588         (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
19589         (WebKit::QtViewportInteractionEngine::applyConstraints):
19590         (WebKit::QtViewportInteractionEngine::currentCSSScale):
19591         (WebKit::QtViewportInteractionEngine::panGestureStarted):
19592         (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
19593         (WebKit::QtViewportInteractionEngine::panGestureEnded):
19594         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
19595         (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
19596         (WebKit::QtViewportInteractionEngine::scaleContent):
19597         * UIProcess/qt/QtViewportInteractionEngine.h:
19598         * UIProcess/qt/QtWebPageEventHandler.cpp:
19599         (QtWebPageEventHandler::handleEvent):
19600         (QtWebPageEventHandler::handleMouseMoveEvent):
19601         (QtWebPageEventHandler::handleMousePressEvent):
19602         (QtWebPageEventHandler::handleMouseReleaseEvent):
19603         (QtWebPageEventHandler::handleWheelEvent):
19604         (QtWebPageEventHandler::handleHoverLeaveEvent):
19605         (QtWebPageEventHandler::handleHoverMoveEvent):
19606         (QtWebPageEventHandler::handleDragEnterEvent):
19607         (QtWebPageEventHandler::handleDragMoveEvent):
19608         (QtWebPageEventHandler::handleDropEvent):
19609         (QtWebPageEventHandler::handleSingleTapEvent):
19610         (QtWebPageEventHandler::handleDoubleTapEvent):
19611         (QtWebPageEventHandler::touchEvent):
19612         * UIProcess/qt/QtWebPageEventHandler.h:
19613
19614 2012-01-09  Eunmi Lee  <eunmi15.lee@samsung.com>
19615
19616         [EFL][WK2] Set color_set function to the clipped smart class.
19617         https://bugs.webkit.org/show_bug.cgi?id=75286
19618
19619         Reviewed by Andreas Kling.
19620
19621         Set _ewk_view_smart_color_set() function to the clipped smart class's color_set,
19622         so application can set webpage's background color using evas_object_color_set() API.
19623
19624         * UIProcess/API/efl/ewk_view.cpp:
19625         (_ewk_view_smart_color_set):
19626         (ewk_view_smart_class_init):
19627
19628 2012-01-08  Dan Bernstein  <mitz@apple.com>
19629
19630         REGRESSION (r103859): WKViews leak
19631         https://bugs.webkit.org/show_bug.cgi?id=75805
19632
19633         The flags changed event monitor added in r103859 was retaining the WKView (as it references
19634         self in the handler block), causing it to leak.
19635
19636         * UIProcess/API/mac/WKView.mm:
19637         (-[WKView dealloc]): Moved call to remove the flags changed event monitor from here...
19638         (-[WKView viewDidMoveToWindow]): ...to here. Moved call to add the flags changed event
19639         monitor to here from...
19640         (-[WKView initWithFrame:contextRef:pageGroupRef:]): ...here.
19641
19642 2012-01-06  Mark Rowe  <mrowe@apple.com>
19643
19644         REGRESSION (WebKit2): Save as PDF no longer generates links to URLs
19645         <http://webkit.org/b/65076> / <rdar://problem/9606246>
19646
19647         WebKit2 printing works by having the web process render the page content to a PDF. The PDF
19648         data is then shipped to the UI process which will render it in to the printing graphics context.
19649         Links were being lost because the API used to do the rendering of the PDF in to the printing
19650         graphics context, CGContextDrawPDFPage, did not preserve the links that were present in the
19651         PDF content received from the web process.
19652
19653         To fix this we switch to using PDFKit for drawing the PDF in to the printing graphics context.
19654         PDFKit provides the ability for us to iterate over the links in the PDF content ourselves and
19655         add links in to the printing graphics context.
19656
19657         Reviewed by Alexey Proskuryakov.
19658
19659         * UIProcess/API/mac/WKPrintingView.h:
19660         * UIProcess/API/mac/WKPrintingView.mm:
19661         (pdfAnnotationLinkClass): Look up the PDFAnnotationLink class from PDFKit as WebKit2 loads PDFKit lazily.
19662         (pdfDocumentClass): Ditto.
19663         (-[WKPrintingView _drawPDFDocument:page:atPoint:]): Switch to using the PDFKit equivalents of several types.
19664         Iterate over the annotations present in the PDFPage, calling CGPDFContextSetURLForRect for each PDFAnnotationLink
19665         that we find.
19666         (-[WKPrintingView _drawPreview:]): Create an NSData to feed to PDFDocument.
19667         (-[WKPrintingView drawRect:]): Ditto.
19668         * WebKit2Prefix.h: Add the usual workaround to make Objective-C exceptions compile when C++ exception handling is disabled.
19669
19670 2012-01-06  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
19671
19672         [Qt] [WK2] Minibrowser leaks memory ~6-7Mb per reload
19673         https://bugs.webkit.org/show_bug.cgi?id=75746
19674
19675         Reset WebGraphicsLayer::m_layerTreeTileClient of all dependent 
19676         layers from ~LayerTreeHostQt(). This replaces r103760 which
19677         causes leaks of GraphicsLayerTextureMapper objects on UI side. 
19678
19679         Reviewed by Noam Rosenthal.
19680
19681         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
19682         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
19683         (WebCore::WebGraphicsLayer::setLayerTreeTileClient):
19684         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
19685         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
19686         (WebKit::LayerTreeHostQt::~LayerTreeHostQt):
19687
19688 2012-01-06  Alexey Proskuryakov  <ap@apple.com>
19689
19690         [Mac] Thread verifier assertions when printing
19691         https://bugs.webkit.org/show_bug.cgi?id=75738
19692
19693         Reviewed by Sam Weinig.
19694
19695         * UIProcess/API/mac/WKPrintingView.mm:
19696         (-[WKPrintingView dealloc]): Dealloc in main thread, so that WebFrameProxy doesn't get
19697         deref'ed from a secondary one.
19698         (-[WKPrintingView _adjustPrintingMarginsForHeaderAndFooter]): This method calls out to client,
19699         which only expects that on main thread.
19700         (-[WKPrintingView knowsPageRange:]): Call _adjustPrintingMarginsForHeaderAndFooter on main
19701         thread.
19702
19703 2012-01-06  Alexey Proskuryakov  <ap@apple.com>
19704
19705         Need to allow SCNetworkReachability service in sandbox profile
19706         https://bugs.webkit.org/show_bug.cgi?id=75724
19707         <rdar://problem/10652415>
19708
19709         Reviewed by Mark Rowe.
19710
19711         * WebProcess/com.apple.WebProcess.sb:
19712
19713 2012-01-06  Benjamin Poulain  <bpoulain@apple.com>
19714
19715         [Mac] Sort the resources of WebKit2.xcodeproj
19716         https://bugs.webkit.org/show_bug.cgi?id=75636
19717
19718         Reviewed by Andreas Kling.
19719
19720         * WebKit2.xcodeproj/project.pbxproj:
19721
19722 2012-01-06  Rafael Brandao  <rafael.lobo@openbossa.org>
19723
19724         [Qt][WK2] QQuickWebView breaks when an empty url is loaded
19725         https://bugs.webkit.org/show_bug.cgi?id=75445
19726
19727         Reviewed by Tor Arne Vestbø.
19728
19729         * UIProcess/API/qt/qquickwebview.cpp:
19730         (QQuickWebView::load):
19731         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml: Check if a request to load
19732         an empty url is ignored. 'about:blank' should be used instead to load an empty page.
19733         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
19734
19735 2012-01-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
19736
19737         [Qt] Move listing of include paths and libs to pri files in sources
19738
19739         Includepaths are sometimes modified by non-Qt contributors so keeping
19740         them in files inside Sources makes it more likely that they are updated
19741         along with project files for the other ports.
19742
19743         Using pri files instead of prf files for this also has the benefit that
19744         the include() from the main target file can be parsed and followed by
19745         Qt Creator -- something that does not work with load().
19746
19747         Dependency from a target to a library through the WEBKIT variable are
19748         handled through forwarding-files in Tools/qmake/mkspecs/modules, which
19749         set the source root of the module and include the right pri file.
19750
19751         Ideally we'd use the variant of include() that takes an optional
19752         namespace to read the variables into, or the fromfile() function,
19753         but both of these add an overhead of about 40% on the total qmake
19754         runtime, due to making a deep copy of all the variables in the
19755         project or re-reading all the prf files from scratch.
19756
19757         Reviewed by Simon Hausmann.
19758         Reviewed by Ossy.
19759
19760         * Target.pri:
19761         * WebKit2.pri: Renamed from Tools/qmake/mkspecs/features/webkit2.prf.
19762
19763 2012-01-06  Zeno Albisser  <zeno@webkit.org>
19764
19765         [Qt][WK2] Add test for application URL schemes.
19766         https://bugs.webkit.org/show_bug.cgi?id=74933
19767
19768         Reviewed by Kenneth Rohde Christiansen.
19769
19770         * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml: Added.
19771         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
19772
19773 2012-01-05  Dan Bernstein  <mitz@apple.com>
19774
19775         <rdar://problem/10633760> Update copyright strings
19776
19777         Reviewed by Mark Rowe.
19778
19779         * Info.plist:
19780         * PluginProcess/Info.plist:
19781         * WebProcess/Info.plist:
19782
19783 2012-01-05  Anders Carlsson  <andersca@apple.com>
19784
19785         Crash when trying to invalidate the NPRuntimeObjectMap for a plug-in in a subframe
19786         https://bugs.webkit.org/show_bug.cgi?id=75667
19787         <rdar://problem/10389454>
19788
19789         Reviewed by Kevin Decker.
19790
19791         NPRuntimeObjectMap::invalidate is called whenever a plug-in view is destroyed. If invalidate is called for an object map
19792         whose plug-in has a null frame, we'd crash.
19793
19794         The plug-in will have a null frame if the plug-in view is destroyed because its containing frame has been removed from the document,
19795         and if the plug-in view is being destroyed asynchronously due to the plug-in itself calling JavaScript that will remove the frame
19796         (see PluginView::unprotectPluginFromDestruction).
19797
19798         The reason NPRuntimeObjectMap::invalidate will crash when the frame is null is because we were trying to access the frame's global
19799         object, causing a null dereference. The reason we were trying to get at the frame's global object was to create a Strong handle to
19800         a JSNPObject so we could stick the object in a vector so we could later iterate over the vector elements and call invalidate() on
19801         each JSNPObject which will end up releasing the underlying NPObject.
19802
19803         However, it turns out that we don't need to stick the JSNPObject in a vector; we can just get the underlying NPObject directly and
19804         stick that in a vector and then iterate over the NPObjects, releasing them.
19805
19806         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
19807         (WebKit::NPRuntimeObjectMap::invalidate):
19808
19809 2012-01-05  Alexey Proskuryakov  <ap@apple.com>
19810
19811         REGRESSION (r98912-r99538): Crash in WebKit::WebFrameLoaderClient::didDetectXSS
19812         https://bugs.webkit.org/show_bug.cgi?id=75578
19813
19814         Reviewed by Daniel Bates.
19815
19816         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
19817         (WebKit::InjectedBundlePageLoaderClient::didDetectXSSForFrame):
19818         Check for a correct struct member existence.
19819
19820 2012-01-05  Alexey Proskuryakov  <ap@apple.com>
19821
19822         WK2: Safari fails to open a PostScript file in Preview from context menu
19823         https://bugs.webkit.org/show_bug.cgi?id=75643
19824         <rdar://problem/9823430>
19825
19826         Reviewed by Dan Bernstein.
19827
19828         * UIProcess/API/mac/PDFViewController.mm: (WebKit::PDFViewController::setPDFDocumentData):
19829         Append ".pdf" to file name when converting data, as suggested file name is created for
19830         original MIME type.
19831
19832 2012-01-05  Zeno Albisser  <zeno@webkit.org>
19833
19834         [Qt][WK2] Implement custom URL schemes defined in QML.
19835         https://bugs.webkit.org/show_bug.cgi?id=74931
19836
19837         Allow creation of custom UrlSchemeDelegates from QML.
19838         A UrlSchemeDelegate contains a handler signal that is triggered
19839         when a url matching the defined scheme is requested.
19840         To allow for this a derivation of QNetworkAccessManager
19841         is necessary.
19842         The request is then handled in QML/JS and a reply
19843         is sent back from the UIProcess to the WebProcess.
19844
19845         Reviewed by Kenneth Rohde Christiansen.
19846
19847         * Shared/qt/QtNetworkReplyData.cpp: Added.
19848         (WebKit::QtNetworkReplyData::QtNetworkReplyData):
19849         (WebKit::QtNetworkReplyData::encode):
19850         (WebKit::QtNetworkReplyData::decode):
19851         * Shared/qt/QtNetworkReplyData.h: Added.
19852         * Shared/qt/QtNetworkRequestData.cpp: Added.
19853         (WebKit::QtNetworkRequestData::QtNetworkRequestData):
19854         (WebKit::QtNetworkRequestData::encode):
19855         (WebKit::QtNetworkRequestData::decode):
19856         * Shared/qt/QtNetworkRequestData.h: Added.
19857         * Target.pri:
19858         * UIProcess/API/qt/qquicknetworkreply.cpp: Added.
19859         (QQuickNetworkReply::QQuickNetworkReply):
19860         (QQuickNetworkReply::contentType):
19861         (QQuickNetworkReply::setContentType):
19862         (QQuickNetworkReply::operation):
19863         (QQuickNetworkReply::setOperation):
19864         (QQuickNetworkReply::contentDisposition):
19865         (QQuickNetworkReply::setContentDisposition):
19866         (QQuickNetworkReply::location):
19867         (QQuickNetworkReply::setLocation):
19868         (QQuickNetworkReply::lastModified):
19869         (QQuickNetworkReply::setLastModified):
19870         (QQuickNetworkReply::cookie):
19871         (QQuickNetworkReply::setCookie):
19872         (QQuickNetworkReply::userAgent):
19873         (QQuickNetworkReply::setUserAgent):
19874         (QQuickNetworkReply::server):
19875         (QQuickNetworkReply::setServer):
19876         (QQuickNetworkReply::data):
19877         (QQuickNetworkReply::setData):
19878         (QQuickNetworkReply::send):
19879         (QQuickNetworkReply::networkRequestData):
19880         (QQuickNetworkReply::setNetworkRequestData):
19881         (QQuickNetworkReply::networkReplyData):
19882         * UIProcess/API/qt/qquicknetworkreply_p.h: Added.
19883         * UIProcess/API/qt/qquicknetworkrequest_p.h: Added.
19884         * UIProcess/API/qt/qquickurlschemedelegate.cpp: Added.
19885         (QQuickUrlSchemeDelegate::QQuickUrlSchemeDelegate):
19886         (QQuickUrlSchemeDelegate::scheme):
19887         (QQuickUrlSchemeDelegate::setScheme):
19888         (QQuickUrlSchemeDelegate::request):
19889         (QQuickUrlSchemeDelegate::reply):
19890         * UIProcess/API/qt/qquickurlschemedelegate_p.h: Added.
19891         * UIProcess/API/qt/qquickwebview.cpp:
19892         (QQuickWebViewExperimental::QQuickWebViewExperimental):
19893         (QQuickWebViewExperimental::schemeDelegates_At):
19894         (QQuickWebViewExperimental::schemeDelegates_Append):
19895         (QQuickWebViewExperimental::schemeDelegates_Count):
19896         (QQuickWebViewExperimental::schemeDelegates_Clear):
19897         (QQuickWebViewExperimental::schemeDelegates):
19898         (QQuickWebViewExperimental::invokeApplicationSchemeHandler):
19899         (QQuickWebViewExperimental::sendApplicationSchemeReply):
19900         * UIProcess/API/qt/qquickwebview_p.h:
19901         * UIProcess/WebPageProxy.h:
19902         * UIProcess/WebPageProxy.messages.in:
19903         * UIProcess/qt/QtPageClient.cpp:
19904         (QtPageClient::handleApplicationSchemeRequest):
19905         * UIProcess/qt/QtPageClient.h:
19906         * UIProcess/qt/WebPageProxyQt.cpp:
19907         (WebKit::WebPageProxy::registerApplicationScheme):
19908         (WebKit::WebPageProxy::resolveApplicationSchemeRequest):
19909         (WebKit::WebPageProxy::sendApplicationSchemeReply):
19910         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
19911         (WebKit::WebFrameLoaderClient::createNetworkingContext):
19912         * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
19913         * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h:
19914         * WebProcess/WebPage/WebPage.h:
19915         * WebProcess/WebPage/WebPage.messages.in:
19916         * WebProcess/WebPage/qt/WebPageQt.cpp:
19917         (WebKit::WebPage::registerApplicationScheme):
19918         (WebKit::WebPage::receivedApplicationSchemeRequest):
19919         (WebKit::WebPage::applicationSchemeReply):
19920         * WebProcess/qt/QtNetworkAccessManager.cpp: Added.
19921         (WebKit::QtNetworkAccessManager::QtNetworkAccessManager):
19922         (WebKit::QtNetworkAccessManager::obtainOriginatingWebPage):
19923         (WebKit::QtNetworkAccessManager::createRequest):
19924         (WebKit::QtNetworkAccessManager::registerApplicationScheme):
19925         * WebProcess/qt/QtNetworkAccessManager.h: Added.
19926         * WebProcess/qt/QtNetworkReply.cpp: Added.
19927         (WebKit::QtNetworkReply::QtNetworkReply):
19928         (WebKit::QtNetworkReply::setData):
19929         (WebKit::QtNetworkReply::setReplyData):
19930         (WebKit::QtNetworkReply::readData):
19931         (WebKit::QtNetworkReply::bytesAvailable):
19932         (WebKit::QtNetworkReply::setHeader):
19933         (WebKit::QtNetworkReply::abort):
19934         (WebKit::QtNetworkReply::close):
19935         (WebKit::QtNetworkReply::setReadBufferSize):
19936         (WebKit::QtNetworkReply::canReadLine):
19937         (WebKit::QtNetworkReply::finalize):
19938         * WebProcess/qt/QtNetworkReply.h: Added.
19939         * WebProcess/qt/WebProcessQt.cpp:
19940         (WebKit::WebProcess::platformInitializeWebProcess):
19941
19942 2012-01-05  Fady Samuel  <fsamuel@chromium.org>
19943
19944         Move scalePageBy from eventSender to window.internals
19945         https://bugs.webkit.org/show_bug.cgi?id=64512
19946
19947         Reviewed by Simon Fraser.
19948
19949         * win/WebKit2.def:
19950         * win/WebKit2CFLite.def:
19951
19952 2012-01-05  Alexander Færøy  <alexander.faeroy@nokia.com>
19953
19954         Pass WebFrame instead of WebCore::Frame to the WebKit2 specific FrameNetworkingContext
19955         https://bugs.webkit.org/show_bug.cgi?id=75550
19956
19957         Make the WebKit2 FrameNetworkingContext implementation store the
19958         WebFrame instead of the WebCore::Frame as this is needed for the Qt
19959         port to implement a.o. HTTP autentication and SSL support.
19960
19961         As the WebFrameNetworkingContext is partly shared across all WebKit2 ports,
19962         all port specific files have been modified.
19963
19964         For the Qt implementation of FrameNetworkingContext, we also set a
19965         property to the originatingObject for the page ID. We also switch to
19966         using an OwnPtr instead of a raw C++ pointer for the
19967         m_originatingObject member.
19968
19969         Based on original patch by Peter Hartmann.
19970
19971         Reviewed by Kenneth Rohde Christiansen.
19972
19973         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
19974         (WebKit::WebFrameLoaderClient::createNetworkingContext):
19975         * WebProcess/WebCoreSupport/efl/WebFrameNetworkingContext.h:
19976         (WebFrameNetworkingContext::create):
19977         (WebFrameNetworkingContext::WebFrameNetworkingContext):
19978         * WebProcess/WebCoreSupport/gtk/WebFrameNetworkingContext.h:
19979         (WebFrameNetworkingContext::create):
19980         (WebFrameNetworkingContext::WebFrameNetworkingContext):
19981         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
19982         (WebKit::WebFrameNetworkingContext::create):
19983         (WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext):
19984         * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
19985         (WebCore::WebFrameNetworkingContext::WebFrameNetworkingContext):
19986         (WebCore::WebFrameNetworkingContext::~WebFrameNetworkingContext):
19987         (WebCore::WebFrameNetworkingContext::create):
19988         * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h:
19989         * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:
19990         (WebFrameNetworkingContext::create):
19991         (WebFrameNetworkingContext::WebFrameNetworkingContext):
19992
19993 2012-01-05  Kenneth Rohde Christiansen  <kenneth@webkit.org>
19994
19995         [Qt] Implement QQuickWebView::inputMethodQuery
19996
19997         Reviewed by Simon Hausmann.
19998
19999         Implement the current Qt5 queries of inputMethodQuery.
20000
20001         * UIProcess/API/qt/qquickwebview.cpp:
20002         (QQuickWebView::inputMethodQuery):
20003         * UIProcess/API/qt/qquickwebview_p.h:
20004
20005 2012-01-05  Carlos Garcia Campos  <cgarcia@igalia.com>
20006
20007         [GTK] Add methods to get/set the WebView zoom level to WebKit2 GTK+ API
20008         https://bugs.webkit.org/show_bug.cgi?id=75248
20009
20010         Reviewed by Gustavo Noronha Silva.
20011
20012         It uses the page zoom factor unconditionally for now.
20013
20014         * UIProcess/API/gtk/WebKitWebView.cpp:
20015         (webkitWebViewSetProperty):
20016         (webkitWebViewGetProperty):
20017         (webkit_web_view_class_init): Add WebKitWebView:zoom-level
20018         property.
20019         (webkit_web_view_set_zoom_level): Set current zoom level.
20020         (webkit_web_view_get_zoom_level): Get current zoom level.
20021         * UIProcess/API/gtk/WebKitWebView.h:
20022         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
20023         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
20024         (testWebViewZoomLevel):
20025         (beforeAll):
20026
20027 2012-01-05  Carlos Garcia Campos  <cgarcia@igalia.com>
20028
20029         [GTK] Rename webkit_web_view_load_alternate_html as webkit_web_view_replace_content in WebKit2 GTK+
20030         https://bugs.webkit.org/show_bug.cgi?id=75433
20031
20032         Reviewed by Martin Robinson.
20033
20034         * UIProcess/API/gtk/WebKitWebView.cpp:
20035         (webkitWebViewLoadFail): Use webkit_web_view_replace_content().
20036         (webkitWebViewLoadChanged): Do not emit load-changed signal when
20037         replacing content.
20038         (webkitWebViewLoadFailed): Do not emit load-failed signal when
20039         replacing content.
20040         (webkitWebViewSetEstimatedLoadProgress): Do not emit
20041         notify::estimated-load-progress signal when replacing content.
20042         (webkit_web_view_replace_content):
20043         * UIProcess/API/gtk/WebKitWebView.h:
20044         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
20045         * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
20046         (beforeAll):
20047         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
20048         (replaceContentTitleChangedCallback):
20049         (replaceContentLoadCallback):
20050         (testWebViewReplaceContent):
20051         (beforeAll):
20052         * UIProcess/API/gtk/tests/WebViewTest.cpp:
20053         (WebViewTest::replaceContent):
20054         * UIProcess/API/gtk/tests/WebViewTest.h:
20055
20056 2012-01-05  Keunsoon Lee  <keunsoon.lee@samsung.com>
20057
20058         [WK2][EFL] creating dummy functions for Download class on Efl port.
20059         https://bugs.webkit.org/show_bug.cgi?id=75246
20060
20061         dummy functions for Download class on Efl port
20062
20063         Reviewed by Hajime Morita.
20064
20065         * PlatformEfl.cmake: add new file to compile
20066         * WebProcess/Downloads/efl: Added.
20067         * WebProcess/Downloads/efl/DownloadEfl.cpp: Added.
20068         (WebKit::Download::start):
20069         (WebKit::Download::startWithHandle):
20070         (WebKit::Download::cancel):
20071         (WebKit::Download::platformInvalidate):
20072         (WebKit::Download::didDecideDestination):
20073         (WebKit::Download::platformDidFinish):
20074         (WebKit::Download::receivedCredential):
20075         (WebKit::Download::receivedRequestToContinueWithoutCredential):
20076         (WebKit::Download::receivedCancellation):
20077         (WebKit::Download::useCredential):
20078         (WebKit::Download::continueWithoutCredential):
20079         (WebKit::Download::cancelAuthenticationChallenge):
20080
20081 2012-01-04  Dan Bernstein  <mitz@apple.com>
20082
20083         Allow WebProcess to launch a client process and become its first WebProcess.
20084
20085         This is the WebKit2 part of fixing <http://webkit.org/b/75444> Debugging WebProcess requires running a UI process first and waiting to attach
20086
20087         Reviewed by Anders Carlsson.
20088
20089         * PluginProcess/mac/PluginProcessMainMac.mm:
20090         (WebKit::PluginProcessMain): Added a newline to stderr output.
20091         * UIProcess/Launcher/mac/EnvironmentVariables.cpp:
20092         (WebKit::EnvironmentVariables::preexistingProcessServiceNameKey): Added. Returns the name
20093         of the environment variable that optionally tells a UI processs to look for a preexisting
20094         web process instead of launching a new one.
20095         (WebKit::EnvironmentVariables::preexistingProcessTypeKey): Added. Returns the name of the
20096         environment variable that tells a UI process the type of the preexisting web process
20097         indicated by the other variable.
20098         * UIProcess/Launcher/mac/EnvironmentVariables.h:
20099         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
20100         (WebKit::ProcessLauncher::launchProcess): Changed to look for a preexisting web process if
20101         the aforementioned environment variables are set and the preexisting process has not been
20102         used yet.
20103         * WebProcess/mac/WebProcessMainMac.mm:
20104         (WebKit::WebProcessMain): Changed to look for the -client-executable command-line option,
20105         and if present, launch the specified executable, setting variables in its environment that
20106         tell it to use this preexisting web process, then wait for it to send a send right to its
20107         listening port.
20108
20109 2012-01-04  Alexey Proskuryakov  <ap@apple.com>
20110
20111         First sentence is missing or clipped when printing a inline PDF
20112         https://bugs.webkit.org/show_bug.cgi?id=75514
20113         <rdar://problem/10640680>
20114
20115         Reviewed by Dan Bernstein.
20116
20117         * UIProcess/WebPageProxy.cpp:
20118         (WebKit::WebPageProxy::headerHeight):
20119         (WebKit::WebPageProxy::footerHeight):
20120         (WebKit::WebPageProxy::drawHeader):
20121         (WebKit::WebPageProxy::drawFooter):
20122         Do not ask the client about headers and footers when printing a PDF.
20123
20124 2012-01-04  Alexander Færøy  <alexander.faeroy@nokia.com>
20125
20126         [Qt] Fix test regressions after r104025
20127         https://bugs.webkit.org/show_bug.cgi?id=75545
20128
20129         Reviewed by Kenneth Rohde Christiansen.
20130
20131         * WebProcess/WebPage/WebPage.cpp:
20132         (WebKit::WebPage::editorState):
20133
20134 2012-01-04  Andras Becsi  <andras.becsi@nokia.com>
20135
20136         REGRESSION(r104028): Broke editing tests and event coordinates in desktop behaviour
20137         https://bugs.webkit.org/show_bug.cgi?id=75542
20138
20139
20140         [Qt][WK2] Pinch zoom should affect the page size
20141         https://bugs.webkit.org/show_bug.cgi?id=74601
20142
20143         Unreviewed roll-out.
20144
20145         * Shared/NativeWebMouseEvent.h:
20146         * Shared/NativeWebTouchEvent.h:
20147         * Shared/NativeWebWheelEvent.h:
20148         * Shared/qt/NativeWebMouseEventQt.cpp:
20149         (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
20150         * Shared/qt/NativeWebTouchEventQt.cpp:
20151         (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
20152         * Shared/qt/NativeWebWheelEventQt.cpp:
20153         (WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
20154         * Shared/qt/WebEventFactoryQt.cpp:
20155         (WebKit::WebEventFactory::createWebMouseEvent):
20156         (WebKit::WebEventFactory::createWebWheelEvent):
20157         (WebKit::WebEventFactory::createWebTouchEvent):
20158         * Shared/qt/WebEventFactoryQt.h:
20159         * UIProcess/API/qt/qquickwebpage.cpp:
20160         (QQuickWebPage::keyPressEvent):
20161         (QQuickWebPage::keyReleaseEvent):
20162         (QQuickWebPage::inputMethodEvent):
20163         (QQuickWebPage::focusInEvent):
20164         (QQuickWebPage::focusOutEvent):
20165         (QQuickWebPage::mousePressEvent):
20166         (QQuickWebPage::mouseMoveEvent):
20167         (QQuickWebPage::mouseReleaseEvent):
20168         (QQuickWebPage::mouseDoubleClickEvent):
20169         (QQuickWebPage::wheelEvent):
20170         (QQuickWebPage::hoverEnterEvent):
20171         (QQuickWebPage::hoverMoveEvent):
20172         (QQuickWebPage::hoverLeaveEvent):
20173         (QQuickWebPage::dragMoveEvent):
20174         (QQuickWebPage::dragEnterEvent):
20175         (QQuickWebPage::dragLeaveEvent):
20176         (QQuickWebPage::dropEvent):
20177         (QQuickWebPage::geometryChanged):
20178         (QQuickWebPage::event):
20179         (QQuickWebPage::touchEvent):
20180         (QQuickWebPagePrivate::QQuickWebPagePrivate):
20181         (QQuickWebPagePrivate::paintToCurrentGLContext):
20182         * UIProcess/API/qt/qquickwebpage_p.h:
20183         * UIProcess/API/qt/qquickwebpage_p_p.h:
20184         * UIProcess/API/qt/qquickwebview.cpp:
20185         (QQuickWebViewPrivate::enableMouseEvents):
20186         (QQuickWebViewPrivate::disableMouseEvents):
20187         (QQuickWebViewPrivate::loadDidCommit):
20188         (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
20189         (QQuickWebViewPrivate::didChangeContentsSize):
20190         (QQuickWebViewPrivate::didChangeViewportProperties):
20191         (QQuickWebViewPrivate::pageDidRequestScroll):
20192         (QQuickWebViewPrivate::updateVisibleContentRectAndScale):
20193         (QQuickWebViewPrivate::PostTransitionState::apply):
20194         (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
20195         (QQuickWebViewExperimental::setUseTraditionalDesktopBehaviour):
20196         (QQuickWebViewExperimental::useTraditionalDesktopBehaviour):
20197         (QQuickWebView::geometryChanged):
20198         (QQuickWebView::focusInEvent):
20199         (QQuickWebView::focusOutEvent):
20200         * UIProcess/API/qt/qquickwebview_p.h:
20201         * UIProcess/API/qt/qquickwebview_p_p.h:
20202         * UIProcess/API/qt/qwebviewportinfo.cpp:
20203         (QWebViewportInfo::contentsSize):
20204         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
20205         (tst_QQuickWebView::scrollRequest):
20206         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
20207         (WebKit::QtPinchGestureRecognizer::recognize):
20208         * UIProcess/qt/QtViewportInteractionEngine.cpp:
20209         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
20210         (WebKit::QtViewportInteractionEngine::setItemRectVisible):
20211         (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
20212         (WebKit::QtViewportInteractionEngine::event):
20213         (WebKit::QtViewportInteractionEngine::wheelEvent):
20214         (WebKit::QtViewportInteractionEngine::pagePositionRequest):
20215         (WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale):
20216         (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
20217         (WebKit::QtViewportInteractionEngine::applyConstraints):
20218         (WebKit::QtViewportInteractionEngine::currentCSSScale):
20219         (WebKit::QtViewportInteractionEngine::panGestureStarted):
20220         (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
20221         (WebKit::QtViewportInteractionEngine::panGestureEnded):
20222         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
20223         (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
20224         (WebKit::QtViewportInteractionEngine::scaleContent):
20225         * UIProcess/qt/QtViewportInteractionEngine.h:
20226         * UIProcess/qt/QtWebPageEventHandler.cpp:
20227         (QtWebPageEventHandler::handleEvent):
20228         (QtWebPageEventHandler::handleMouseMoveEvent):
20229         (QtWebPageEventHandler::handleMousePressEvent):
20230         (QtWebPageEventHandler::handleMouseReleaseEvent):
20231         (QtWebPageEventHandler::handleWheelEvent):
20232         (QtWebPageEventHandler::handleHoverLeaveEvent):
20233         (QtWebPageEventHandler::handleHoverMoveEvent):
20234         (QtWebPageEventHandler::handleDragEnterEvent):
20235         (QtWebPageEventHandler::handleDragMoveEvent):
20236         (QtWebPageEventHandler::handleDropEvent):
20237         (QtWebPageEventHandler::handleSingleTapEvent):
20238         (QtWebPageEventHandler::handleDoubleTapEvent):
20239         (QtWebPageEventHandler::touchEvent):
20240         * UIProcess/qt/QtWebPageEventHandler.h:
20241
20242 2012-01-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
20243
20244         [Qt] Introduce new qmake variable 'WEBKIT' for signaling dependencies
20245
20246         The custom qmake variable 'WEBKIT' is used for signaling that a
20247         target depends in some way on other subproject of the WebKit
20248         project. For now this is limited to the set of intermediate
20249         libraries: wtf, javascriptcore, webcore, and webkit2.
20250
20251         This replaces the previous convension of using load(foo) for
20252         just include paths, and CONFIG += foo to also link against foo.
20253
20254         Adding a dependency results in additional include paths being
20255         available, and potentially linking to the library. This is
20256         decided by the build system based on conditions such as what
20257         kind of target is being built and the general build config.
20258
20259         An advantage to his approach is that it simplifies the individual
20260         foo.prf files, for example by allowing us to use INCLUDEPATH +=
20261         and LIBS += as normal instead of prepending.
20262
20263         Reviewed by Simon Hausmann.
20264
20265         * Target.pri:
20266         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
20267
20268 2012-01-03  Andras Becsi  <andras.becsi@nokia.com>
20269
20270         [Qt][WK2] Pinch zoom should affect the page size
20271         https://bugs.webkit.org/show_bug.cgi?id=74601
20272
20273         Reviewed by Kenneth Rohde Christiansen and Simon Hausmann.
20274
20275         The current implementation uses the scale property of the QQuickWebPage
20276         to scale the page in response to pinch gestures.
20277         However for layout and anchoring to work correctly in QML, pinching needs
20278         to change the page size.
20279         This patch applies the pinch scale to the page size and to the transformation
20280         matrix of the drawing area.
20281         Thus the page item's coordinate system is no longer a direct representation
20282         of the WebCore::Page coordinate system and it is no longer suitable as
20283         an inertial frame of reference for input events. The event propagation had
20284         to be moved to the QQuickWebView and the positions translated to content
20285         coordinates when NativeWebEvents are created.
20286
20287         * Shared/NativeWebMouseEvent.h:
20288         * Shared/NativeWebTouchEvent.h:
20289         * Shared/NativeWebWheelEvent.h:
20290         * Shared/qt/NativeWebMouseEventQt.cpp:
20291         (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
20292         * Shared/qt/NativeWebTouchEventQt.cpp:
20293         (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
20294         * Shared/qt/NativeWebWheelEventQt.cpp:
20295         (WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
20296         * Shared/qt/WebEventFactoryQt.cpp:
20297         (WebKit::WebEventFactory::createWebMouseEvent):
20298         (WebKit::WebEventFactory::createWebWheelEvent):
20299         (WebKit::WebEventFactory::createWebTouchEvent):
20300         * Shared/qt/WebEventFactoryQt.h:
20301         * UIProcess/API/qt/qquickwebpage.cpp:
20302         (QQuickWebPage::geometryChanged):
20303         (QQuickWebPagePrivate::QQuickWebPagePrivate):
20304         (QQuickWebPagePrivate::paintToCurrentGLContext):
20305         (QQuickWebPage::usesTraditionalDesktopBehaviour):
20306         (QQuickWebPage::setUsesTraditionalDesktopBehaviour):
20307         (QQuickWebPage::eventHandler):
20308         (QQuickWebPage::setContentSize):
20309         (QQuickWebPage::contentSize):
20310         (QQuickWebPage::setContentScale):
20311         (QQuickWebPage::contentScale):
20312         (QQuickWebPage::transformFromItem):
20313         (QQuickWebPage::transformToItem):
20314         (QQuickWebPagePrivate::updateSize):
20315         * UIProcess/API/qt/qquickwebpage_p.h:
20316         * UIProcess/API/qt/qquickwebpage_p_p.h:
20317         * UIProcess/API/qt/qquickwebview.cpp:
20318         (QQuickWebViewPrivate::enableMouseEvents):
20319         (QQuickWebViewPrivate::disableMouseEvents):
20320         (QQuickWebViewPrivate::loadDidCommit):
20321         (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
20322         (QQuickWebViewPrivate::didChangeContentsSize):
20323         (QQuickWebViewPrivate::didChangeViewportProperties):
20324         (QQuickWebViewPrivate::pageDidRequestScroll):
20325         (QQuickWebViewPrivate::updateVisibleContentRectAndScale):
20326         (QQuickWebViewPrivate::PostTransitionState::apply):
20327         (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
20328         (QQuickWebViewExperimental::setUseTraditionalDesktopBehaviour):
20329         (QQuickWebViewExperimental::useTraditionalDesktopBehaviour):
20330         (QQuickWebView::mapToWebContent):
20331         (QQuickWebView::mapRectToWebContent):
20332         (QQuickWebView::mapFromWebContent):
20333         (QQuickWebView::mapRectFromWebContent):
20334         (QQuickWebView::geometryChanged):
20335         (QQuickWebView::keyPressEvent):
20336         (QQuickWebView::keyReleaseEvent):
20337         (QQuickWebView::inputMethodEvent):
20338         (QQuickWebView::focusInEvent):
20339         (QQuickWebView::focusOutEvent):
20340         (QQuickWebView::touchEvent):
20341         (QQuickWebView::mousePressEvent):
20342         (QQuickWebView::mouseMoveEvent):
20343         (QQuickWebView::mouseReleaseEvent):
20344         (QQuickWebView::mouseDoubleClickEvent):
20345         (QQuickWebView::wheelEvent):
20346         (QQuickWebView::hoverEnterEvent):
20347         (QQuickWebView::hoverMoveEvent):
20348         (QQuickWebView::hoverLeaveEvent):
20349         (QQuickWebView::dragMoveEvent):
20350         (QQuickWebView::dragEnterEvent):
20351         (QQuickWebView::dragLeaveEvent):
20352         (QQuickWebView::dropEvent):
20353         (QQuickWebView::event):
20354         * UIProcess/API/qt/qquickwebview_p.h:
20355         * UIProcess/API/qt/qquickwebview_p_p.h:
20356         * UIProcess/API/qt/qwebviewportinfo.cpp:
20357         (QWebViewportInfo::contentsSize):
20358         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
20359         (tst_QQuickWebView::scrollRequest):
20360         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
20361         (WebKit::QtPinchGestureRecognizer::recognize):
20362         * UIProcess/qt/QtViewportInteractionEngine.cpp:
20363         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
20364         (WebKit::QtViewportInteractionEngine::setItemRectVisible):
20365         (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
20366         (WebKit::QtViewportInteractionEngine::event):
20367         (WebKit::QtViewportInteractionEngine::wheelEvent):
20368         (WebKit::QtViewportInteractionEngine::pagePositionRequest):
20369         (WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale):
20370         (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
20371         (WebKit::QtViewportInteractionEngine::applyConstraints):
20372         (WebKit::QtViewportInteractionEngine::currentCSSScale):
20373         (WebKit::QtViewportInteractionEngine::panGestureStarted):
20374         (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
20375         (WebKit::QtViewportInteractionEngine::panGestureEnded):
20376         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
20377         (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
20378         (WebKit::QtViewportInteractionEngine::scaleContent):
20379         * UIProcess/qt/QtViewportInteractionEngine.h:
20380         * UIProcess/qt/QtWebPageEventHandler.cpp:
20381         (QtWebPageEventHandler::handleEvent):
20382         (QtWebPageEventHandler::handleMouseMoveEvent):
20383         (QtWebPageEventHandler::handleMousePressEvent):
20384         (QtWebPageEventHandler::handleMouseReleaseEvent):
20385         (QtWebPageEventHandler::handleWheelEvent):
20386         (QtWebPageEventHandler::handleHoverLeaveEvent):
20387         (QtWebPageEventHandler::handleHoverMoveEvent):
20388         (QtWebPageEventHandler::handleDragEnterEvent):
20389         (QtWebPageEventHandler::handleDragMoveEvent):
20390         (QtWebPageEventHandler::handleDropEvent):
20391         (QtWebPageEventHandler::handleSingleTapEvent):
20392         (QtWebPageEventHandler::handleDoubleTapEvent):
20393         (QtWebPageEventHandler::touchEvent):
20394         * UIProcess/qt/QtWebPageEventHandler.h:
20395
20396 2012-01-03  Kenneth Rohde Christiansen  <kenneth@webkit.org>
20397
20398         [Qt] Clean up Qt specific part of editorState()
20399
20400         Reviewed by Simon Hausmann.
20401
20402         Use unsigned instead of int.
20403         No need to clone the range as we don't modify it.
20404         Support selections which include a composition.
20405         If we are not in editable content make sure to use the document element
20406         as the scope for calculating the positions and lengths.
20407         Remove compositionStart/Length as there cannot be a selection and
20408         composition at the same time.
20409
20410         Only tested manually as we don't have everything in place yet
20411         to properly test this.
20412
20413         * Shared/EditorState.h:
20414         * WebProcess/WebPage/WebPage.cpp:
20415         (WebKit::WebPage::editorState):
20416
20417 2012-01-04  Mihnea Ovidenie  <mihnea@adobe.com>
20418
20419         [Mac]Fix build after changeset 103997
20420         https://bugs.webkit.org/show_bug.cgi?id=75530
20421
20422         Reviewed by Andreas Kling.
20423
20424         * UIProcess/API/mac/WKView.mm:
20425
20426 2012-01-03  Carlos Garcia Campos  <cgarcia@igalia.com>
20427
20428         [GTK] Scrollbars are drawn behind the window resize grip
20429         https://bugs.webkit.org/show_bug.cgi?id=75384
20430
20431         Reviewed by Martin Robinson.
20432
20433         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
20434         (webkitWebViewBaseNotifyResizerSizeForWindow): Get the size of the
20435         main window resize grip and send it to the page proxy if it
20436         overlaps with the view.
20437         (toplevelWindowResizeGripVisibilityChanged): Call
20438         webkitWebViewBaseNotifyResizerSizeForWindow().
20439         (webkitWebViewBaseRealize): Get the toplevel window and connect to
20440         notify::resize-grip-visible signal.
20441         (webkitWebViewBaseSizeAllocate): Call
20442         webkitWebViewBaseNotifyResizerSizeForWindow().
20443
20444 2012-01-03  Jon Lee  <jonlee@apple.com>
20445
20446         Leak of WebNotificationClient when page is destroyed
20447         https://bugs.webkit.org/show_bug.cgi?id=74980
20448         <rdar://problem/10611231>
20449
20450         Reviewed by Mark Rowe.
20451
20452         * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
20453         (WebKit::WebNotificationClient::notificationControllerDestroyed): Delete the instance.
20454         * WebProcess/WebCoreSupport/WebNotificationClient.h:
20455
20456 2012-01-03  Sam Weinig  <sam@webkit.org>
20457
20458         Remove unnecessary forward declaration of Function
20459         https://bugs.webkit.org/show_bug.cgi?id=75485
20460
20461         Reviewed by Dan Bernstein.
20462
20463         * Platform/WorkQueue.h:
20464
20465 2012-01-03  Carlos Garcia Campos  <cgarcia@igalia.com>
20466
20467         [GTK] Simplify loader client WebKit2 GTK+ API
20468         https://bugs.webkit.org/show_bug.cgi?id=74605
20469
20470         Reviewed by Gustavo Noronha Silva.
20471
20472         Remove WebKitWebLoaderClient from public API keeping it as a
20473         private object. Loading API has been reduced to two signals in
20474         WebKitWebView.
20475
20476         * GNUmakefile.am: Remove WebKitWebLoaderClientPrivate.h.
20477         * UIProcess/API/gtk/WebKitDefines.h: Remove forward delcarations
20478         that are no longer needed.
20479         * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
20480         (didStartProvisionalLoadForFrame): Emit
20481         WebKitWebView::load-changed signal with Started event.
20482         (didReceiveServerRedirectForProvisionalLoadForFrame): Emit
20483         WebKitWebView::load-changed signal with Redirected event.
20484         (didFailProvisionalLoadWithErrorForFrame): Emit
20485         WebKitWebView::load-failed signal with Started event.
20486         (didCommitLoadForFrame): Emit WebKitWebView::load-changed signal
20487         with Committed event.
20488         (didFinishLoadForFrame): Emit WebKitWebView::load-changed signal
20489         with Finished event.
20490         (didFailLoadWithErrorForFrame): Emit WebKitWebView::load-failed
20491         signal with Committed event.
20492         (webkit_web_loader_client_init):
20493         (webkit_web_loader_client_class_init):
20494         * UIProcess/API/gtk/WebKitWebLoaderClient.h: Remove public API and
20495         move private API here.
20496         * UIProcess/API/gtk/WebKitWebLoaderClientPrivate.h: Removed.
20497         * UIProcess/API/gtk/WebKitWebView.cpp:
20498         (webkitWebViewLoadFail): Default implementation of
20499         WebKitWebView::load-failed signal to show a custom error page.
20500         (webkit_web_view_class_init): Add load-changed and load-failed
20501         signals.
20502         (webkitWebViewLoadChanged): Emit WebKitWebView::load-changed with
20503         the given event.
20504         (webkitWebViewLoadFailed): Emit WebKitWebView::load-failed signal
20505         with the given event, failing uri and error.
20506         * UIProcess/API/gtk/WebKitWebView.h:
20507         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
20508         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Remove loader
20509         client section.
20510         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Remove loader
20511         client symbols.
20512         * UIProcess/API/gtk/docs/webkit2gtk.types: Remove
20513         webkit_web_loader_client_get_type.
20514         * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
20515         (loadChangedCallback):
20516         (loadFailedCallback):
20517         (LoadTrackingTest::LoadTrackingTest):
20518         (LoadTrackingTest::~LoadTrackingTest):
20519         (LoadTrackingTest::provisionalLoadStarted):
20520         (LoadTrackingTest::provisionalLoadReceivedServerRedirect):
20521         (LoadTrackingTest::provisionalLoadFailed):
20522         (LoadTrackingTest::loadCommitted):
20523         (LoadTrackingTest::loadFinished):
20524         (LoadTrackingTest::loadFailed):
20525         * UIProcess/API/gtk/tests/LoadTrackingTest.h:
20526         * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
20527         (testLoadingError):
20528         (LoadStopTrackingTest::loadCommitted):
20529         (LoadStopTrackingTest::loadFailed):
20530         (testLoadCancelled):
20531         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
20532         (beforeAll):
20533         * UIProcess/API/gtk/webkit2.h: Remove loader client header.
20534         * UIProcess/API/gtk/webkit2marshal.list:
20535
20536 2012-01-03  Rafael Brandao  <rafael.lobo@openbossa.org>
20537
20538         [Qt][WK2] tst_favIconLoad.qml crashes on debug mode
20539         https://bugs.webkit.org/show_bug.cgi?id=75448
20540
20541         Reviewed by Kenneth Rohde Christiansen.
20542
20543         * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml: Loads
20544         "about:blank" instead of an empty url between tests to clean favicon.
20545
20546 2012-01-02  Dan Bernstein  <mitz@apple.com>
20547
20548         Fixed a typo I made in r103871.
20549
20550         Fixes <http://webkit.org/b/75450> Inline PDF doesn't preview correctly when attempting to print its frame
20551
20552         * WebProcess/WebPage/WebPage.cpp:
20553         (WebKit::WebPage::drawRectToPDF): Changed USE(GC) to USE(CG).
20554
20555 2012-01-02  Andy Estes  <aestes@apple.com>
20556
20557         Fix the Windows build (again).
20558
20559         * Platform/CoreIPC/Connection.h:
20560
20561 2012-01-02  Sam Weinig  <sam@webkit.org>
20562
20563         Fix windows build.
20564
20565         * Platform/CoreIPC/Connection.h:
20566         * Platform/CoreIPC/win/ConnectionWin.cpp:
20567         * Platform/RunLoop.h:
20568         Missing declarations/includes of BinarySemaphore.
20569
20570 2012-01-02  Sam Weinig  <sam@webkit.org>
20571
20572         Move dispatchSentMessagesUntil out of the RunLoop class.
20573         https://bugs.webkit.org/show_bug.cgi?id=75320
20574
20575         Reviewed by Dan Bernstein.
20576
20577         * Platform/CoreIPC/Connection.cpp:
20578         (CoreIPC::Connection::SyncMessageState::waitWhileDispatchingSentWin32Messages):
20579         * Platform/CoreIPC/Connection.h:
20580         * Platform/CoreIPC/win/ConnectionWin.cpp:
20581         (CoreIPC::Connection::dispatchSentMessagesUntil):
20582         * Platform/win/RunLoopWin.cpp:
20583
20584 2012-01-02  Dan Bernstein  <mitz@apple.com>
20585
20586         Build fix.
20587
20588         * Platform/CoreIPC/mac/ConnectionMac.cpp:
20589         * Platform/mac/SharedMemoryMac.cpp:
20590
20591 2012-01-02  Nikolas Zimmermann  <nzimmermann@rim.com>
20592
20593         Not reviewed. Fix build on Lion, by including mach_error.h in two places that need it.
20594
20595         * PluginProcess/mac/PluginProcessMainMac.mm:
20596         * WebProcess/mac/WebProcessMainMac.mm:
20597
20598 2012-01-01  Dan Bernstein  <mitz@apple.com>
20599
20600         EnvironmentUtilities::stripValuesEndingWithString enters an infinite loop if the search value
20601         occurs a component other than the first.
20602
20603         Reviewed by Anders Carlsson.
20604
20605         * Platform/unix/EnvironmentUtilities.cpp:
20606         (WebKit::EnvironmentUtilities::stripValuesEndingWithString): Changed to start the search for
20607         the next colon after the current colon.
20608
20609 2012-01-01  Dan Bernstein  <mitz@apple.com>
20610
20611         Improved reproting of kernel return codes.
20612
20613         Reviewed by Anders Carlsson.
20614
20615         * Platform/CoreIPC/mac/ConnectionMac.cpp:
20616         (CoreIPC::Connection::exceptionSourceEventHandler): Added the error string to the log message.
20617         * Platform/mac/SharedMemoryMac.cpp:
20618         (WebKit::SharedMemory::create): Ditto.
20619         * PluginProcess/mac/PluginProcessMainMac.mm:
20620         (WebKit::PluginProcessMain): Ditto. Also changed to log to stderr.
20621         * WebProcess/mac/WebProcessMainMac.mm:
20622         (WebKit::WebProcessMain): Ditto.
20623
20624 2011-12-31  Dan Bernstein  <mitz@apple.com>
20625
20626         Continue trying to fix the ASSERT-enabled Windows build after r103858.
20627
20628         * WebProcess/WebPage/WebPage.cpp:
20629         (WebKit::WebPage::drawRectToPDF):
20630         (WebKit::WebPage::drawPagesToPDF):
20631
20632 2011-12-31  Dan Bernstein  <mitz@apple.com>
20633
20634         Start trying to fix the Windows build after r103858.
20635
20636         * WebProcess/WebPage/WebPage.cpp:
20637         (WebKit::drawPDFPage):
20638
20639 2011-12-31  Dan Bernstein  <mitz@apple.com>
20640
20641         <rdar://problem/10463059> Cannot print USPS shipping labels
20642         http://webkit.org/b/72801
20643
20644         Reviewed by Anders Carlsson and Alexey Proskuryakov.
20645
20646         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
20647         (appendValuesInPDFNameSubtreeToVector): Copied from WebKit/mac/WebView/WebPDFDocumentExtras.mm.
20648         (getAllValuesInPDFNameTree): Ditto.
20649         (getAllScriptsInPDFDocument): Copied allScriptsInPDFDocument() from WebPDFDocumentExtras.mm
20650         and changed it to append to a Vector<RetainPtr<CFStringRef> >.
20651         (WebKit::BuiltInPDFView::create): Changed to take a WebFrame* rather than a Page*.
20652         (WebKit::BuiltInPDFView::BuiltInPDFView): Ditto. Updated initializer accordingly.
20653         (WebKit::BuiltInPDFView::pdfDocumentDidLoad): Copied and adapted code from
20654         -[WebPDFRepresentation finishedLoadingWithDataSource:] to run scripts from the PDF with a
20655         Doc object as the this object.
20656         (WebKit::BuiltInPDFView::initialize): Adapted for the change from having a Page* to having
20657         a WebFrame*.
20658         (WebKit::BuiltInPDFView::destroy): Ditto.
20659         (WebKit::BuiltInPDFView::isActive): Ditto.
20660         (WebKit::jsPDFDocInitialize): Added. Refs the BuiltInPDFView which is the private object for
20661         this Doc.
20662         (WebKit::jsPDFDocFinalize): Added. Derefs the BuiltInPDFView for this Doc.
20663         (WebKit::BuiltInPDFView::jsPDFDocPrint): Added. Calls WebCore::Chrome::print().
20664         (WebKit::BuiltInPDFView::makeJSPDFDoc): Copied from WebKit/mac/WebView/WebJSPDFDoc.mm and
20665         modified to use this BuiltInPDFView as the private object of the Doc being made.
20666         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
20667         (WebKit::BuiltInPDFView::disconnectFromPage): Adapted for the change from having a Page* to
20668         having a WebFrame*.
20669         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
20670         (WebKit::WebFrameLoaderClient::createPlugin): Pass the WebFrame to WebPage::createPlugin().
20671         * WebProcess/WebPage/WebPage.cpp:
20672         (WebKit::WebPage::createPlugin): Added a WebFrame* parameter, which is used when creating
20673         a BuiltInPDFView.
20674         * WebProcess/WebPage/WebPage.h:
20675
20676 2011-12-31  Dan Bernstein  <mitz@apple.com>
20677
20678         <rdar://problem/8553040> REGRESSION (WebKit2): Safari status text doesn't change when you change the modifier keys without moving the mouse
20679         https://bugs.webkit.org/show_bug.cgi?id=75404
20680
20681         Reviewed by Jon Honeycutt.
20682
20683         * UIProcess/API/mac/WKView.mm:
20684         (-[WKView dealloc]): Remove the flags changed event monitor.
20685         (-[WKView _postFakeMouseMovedEventForFlagsChangedEvent:]): Added. Similarly to
20686         -[WebHTMLView _postFlagsChangedEvent:], creates a mouse moved event and passes it to
20687         -mouseMoved:.
20688         (-[WKView initWithFrame:contextRef:pageGroupRef:]): Create a local event monitor for flags
20689         changed events.
20690
20691 2011-12-31  Dan Bernstein  <mitz@apple.com>
20692
20693         <rdar://problem/8750356> REGRESSION (WebKit2): Printing a subframe containing a PDF prints the on-screen view instead of the entire PDF document
20694         <http://webkit.org/b/75232>
20695
20696         Reviewed by Alexey Proskuryakov.
20697
20698         * UIProcess/API/C/WKPage.cpp:
20699         (WKPageDrawPagesToPDF): Added WKPrintInfo parameter, which is passed through as a PrintInfo
20700         to the WebPageProxy.
20701         * UIProcess/API/C/WKPagePrivate.h:
20702         * UIProcess/API/mac/WKPrintingView.mm:
20703         (-[WKPrintingView _preparePDFDataForPrintingOnSecondaryThread]): Changed to pass the PrintInfo
20704         down to WebPageProxy::drawPagesToPDF.
20705         (-[WKPrintingView _drawPreview:]): Changed to pass the PrintInfo down to
20706         WebPageProxy::drawRectToPDF.
20707         * UIProcess/API/mac/WKView.mm:
20708         (-[WKView canChangeFrameLayout:]): Changed to use WebFrameProxy::isDisplayingPDFDocument, which
20709         works for subframes as well.
20710         (-[WKView printOperationWithPrintInfo:forFrame:]): Added a FIXME.
20711         * UIProcess/WebFrameProxy.cpp:
20712         (WebKit::WebFrameProxy::isDisplayingPDFDocument): Added.
20713         * UIProcess/WebFrameProxy.h:
20714         * UIProcess/WebPageProxy.cpp:
20715         (WebKit::WebPageProxy::drawRectToPDF): Added a PrintInfo parameter, which is passed through to
20716         the Web process.
20717         (WebKit::WebPageProxy::drawPagesToPDF): Ditto.
20718         * UIProcess/WebPageProxy.h:
20719         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
20720         Added an override of pdfDocumentForPrinting() which returns the PDFDocument.
20721         * WebProcess/Plugins/Plugin.h:
20722         (WebKit::Plugin::pdfDocumentForPrinting): Added. This base class implementation returns 0.
20723         * WebProcess/Plugins/PluginView.h:
20724         (WebKit::PluginView::pdfDocumentForPrinting): Added. Calls through to the Plugin.
20725         * WebProcess/WebPage/WebPage.cpp:
20726         (WebKit::pdfDocumentForPrintingFrame): Added this helper function. If the frame is displaying
20727         a plug-in document, allows the plug-in to provide a PDF document for printing.
20728         (WebKit::WebPage::beginPrinting): Added an early return if the frame provides a PDF document
20729         for printing.
20730         (WebKit::WebPage::computePagesForPrinting): If the frame provides a PDF document for printing,
20731         create for each page in the PDF document a page rect with the size available for printing.
20732         (WebKit::drawPDFPage): Added this helper function, which draws a page from the PDF document
20733         into one of the aforementioned page rects. It rotates the PDF page 90 degrees if necessary to
20734         better match the aspect ratio of the paper, then it centers it on the paper. This matches the
20735         behavior of a PDFView when printed with default settings.
20736         (WebKit::WebPage::drawRectToPDF): If the frame provides a PDF document for printing, draw the
20737         PDF pages falling within the requested rect.
20738         (WebKit::WebPage::drawPagesToPDF): If the frame provides a PDF document for printing, draw
20739         the requested pages.
20740         * WebProcess/WebPage/WebPage.h:
20741         * WebProcess/WebPage/WebPage.messages.in: Added a PrintInfo parameter to DrawRectToPDF and
20742         DrawPagesToPDF.
20743
20744 2011-12-30  Dan Bernstein  <mitz@apple.com>
20745
20746         EnvironmentUtilities::stripValuesEndingWithString fails when the variable ends with the search value
20747         https://bugs.webkit.org/show_bug.cgi?id=75389
20748
20749         Reviewed by Anders Carlsson.
20750
20751         * Platform/unix/EnvironmentUtilities.cpp:
20752         (WebKit::EnvironmentUtilities::stripValuesEndingWithString): Fixed an off-by-1 error when
20753         examining the character after the match.
20754
20755 2011-12-29  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
20756
20757         [Qt] Remove unused m_signalListeners from WorkQueue
20758         https://bugs.webkit.org/show_bug.cgi?id=75354
20759
20760         Reviewed by Andreas Kling.
20761
20762         This is unused since r76507.
20763
20764         * Platform/WorkQueue.h:
20765         * Platform/qt/WorkQueueQt.cpp:
20766         (WorkQueue::platformInvalidate):
20767
20768 2011-12-29  Carlos Garcia Campos  <cgarcia@igalia.com>
20769
20770         [GTK] Context menu is hidden right after showing it when first menu item is not disabled
20771         https://bugs.webkit.org/show_bug.cgi?id=75357
20772
20773         Reviewed by Martin Robinson.
20774
20775         The problem is that we are passing GDK_CURRENT_TIME (which is 0)
20776         to gtk_popup_menu, because the events are async and
20777         gtk_get_current_event is NULL when calling gtk_menu_popup. GtkMenu
20778         has a timeout to decide whether the press-release was fast enough
20779         and ignore the button release event in that case. That way, a
20780         normal right click shows the menu while a long press hides the
20781         menu when the button is released. So, we need to know the real time
20782         when the right button was pressed and pass it to gtk_popup_menu.
20783
20784         * UIProcess/WebPageProxy.h: Make
20785         currentlyProcessedMouseDownEvent() public.
20786         * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
20787         (WebKit::WebContextMenuProxyGtk::showContextMenu): Use
20788         WebPageProxy::currentlyProcessedMouseDownEvent() to get the
20789         current mouse event and pass its button number and time to
20790         gtk_popup_menu.
20791
20792 2011-12-29  Carlos Garcia Campos  <cgarcia@igalia.com>
20793
20794         [GTK] Fix several conding style issues in WebKit2 GTK+ code
20795         https://bugs.webkit.org/show_bug.cgi?id=75339
20796
20797         Reviewed by Martin Robinson.
20798
20799         In addition to the WebKit coding style, code in UIProcess/API/gtk
20800         should follow style and conventions described here
20801         http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API
20802
20803         * UIProcess/API/gtk/WebKitSettings.cpp: Remove trailing whitespaces.
20804         (webkit_settings_class_init): Remove trailing whitespaces, fix
20805         indentation issues in API doc comments, add missing trailing to
20806         some properties.
20807         (webkit_settings_set_enable_fullscreen): Move the code after
20808         get_enable_fullscreen() for consistency.
20809         * UIProcess/API/gtk/WebKitSettings.h: Remove trailing
20810         whitespaces. Fix * placement and line up parameters.
20811         * UIProcess/API/gtk/WebKitWebView.cpp: Remove several empty lines.
20812         (webkit_web_view_class_init): Mark property nicks and blurbs for translation.
20813         (webkitWebViewSetTitle): Remove trailing whitespaces.
20814         * UIProcess/API/gtk/WebKitWebView.h: Line up parameters.
20815         * UIProcess/API/gtk/WebKitWebViewBase.cpp: Use the angle-bracket
20816         form for including file from WebCore and wtf. Use GRefPtr for
20817         GtkIMContext and bool instead of gboolean. Use the placement new
20818         syntax for private struct instead of new/delete.
20819         (webkitWebViewBaseRealize):
20820         (webkitWebViewBaseFinalize):
20821         (webkit_web_view_base_init):
20822         (webkitWebViewBaseFocusInEvent):
20823         (webkitWebViewBaseFocusOutEvent):
20824         (webkitWebViewBaseKeyPressEvent): Remove trailing whitespaces.
20825         (webkitWebViewBaseKeyReleaseEvent):
20826         (webkit_web_view_base_class_init):
20827         (webkitWebViewBaseGetIMContext):
20828
20829 2011-12-28  Balazs Kelemen  <kbalazs@webkit.org>
20830
20831         [Qt][WK2] Crash in ~WebGraphicsLayer when running fast/multicol/pagination-* tests
20832         https://bugs.webkit.org/show_bug.cgi?id=75000
20833
20834         Reviewed by Noam Rosenthal.
20835
20836         Don't adopt a tile client that belongs to a parent layer.
20837         This is unnecessary and also unsafe because we can live
20838         through that client.
20839
20840         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
20841         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
20842
20843 2011-12-27  Dan Bernstein  <mitz@apple.com>
20844
20845         [mac] Stop using bootstrap_look_up2
20846         https://bugs.webkit.org/show_bug.cgi?id=75280
20847
20848         Reviewed by Mark Rowe.
20849
20850         * PluginProcess/mac/PluginProcessMainMac.mm:
20851         (WebKit::PluginProcessMain): Changed to use bootstrap_look_up() instead of
20852         bootstrap_look_up2().
20853         * WebProcess/mac/WebProcessMainMac.mm:
20854         (WebKit::WebProcessMain): Ditto.
20855
20856 2011-12-27  Kenneth Rohde Christiansen  <kenneth@webkit.org>
20857
20858         [Qt] Make the inputMethodEvent set or confirm the composition
20859         https://bugs.webkit.org/show_bug.cgi?id=75256
20860
20861         Reviewed by Chang Shu.
20862
20863         * UIProcess/qt/QtWebPageEventHandler.cpp:
20864         (QtWebPageEventHandler::inputMethodEvent):
20865
20866 2011-12-26  Mark Rowe  <mrowe@apple.com>
20867
20868         <http://webkit.org/b/75196> REGRESSION(r103643): Command-clicking a link no longer opens a new tab.
20869
20870         r103643 contained some botched copy-paste code that caused the state of the Command key
20871         to be lost when translating from a WebKit2 event to a WebCore event.
20872
20873         Reviewed by Dan Bernstein.
20874
20875         * Shared/WebEventConversion.cpp:
20876         (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent): Test for the correct modifier.
20877         (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent): Ditto.
20878         (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent): Ditto.
20879         (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent): Ditto.
20880         (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent): Ditto.
20881
20882 2011-12-26  Carlos Garcia Campos  <cgarcia@igalia.com>
20883
20884         Fix a crash in WebProcess when starting a download not initiated by a WebPage
20885         https://bugs.webkit.org/show_bug.cgi?id=75225
20886
20887         Reviewed by Darin Adler.
20888
20889         * WebProcess/WebProcess.cpp:
20890         (WebKit::WebProcess::downloadRequest): Check initiatingPage is not
20891         NULL before using it.
20892
20893 2011-12-25  Dan Bernstein  <mitz@apple.com>
20894
20895         Find indicators overlap when a match spans multiple text boxes
20896         https://bugs.webkit.org/show_bug.cgi?id=75220
20897
20898         Reviewed by Darin Adler.
20899
20900         * UIProcess/FindIndicator.cpp:
20901         (WebKit::findIndicatorsForTextRectsOverlap): Added this helper function that checks for
20902         pairwise intersections between all indicator rects.
20903         (WebKit::FindIndicator::FindIndicator): Changed to use a single rect (the union of all text
20904         rects) if any two indicator rects would otherwise overlap. This is similar to what Safari
20905         does, and it eliminates overlapping rects for adjacent text boxes. In rare cases (such as when
20906         a match spans two lines and adjacent text boxes on one of those lines) it results in a find
20907         indicator that is too large and obscures some non-match text.
20908         * UIProcess/FindIndicator.h:
20909
20910 2011-12-21  Sam Weinig  <sam@webkit.org>
20911
20912         Start extracting platform specific bits out of PlatformEvents
20913         https://bugs.webkit.org/show_bug.cgi?id=75063
20914
20915         Reviewed by Anders Carlsson.
20916
20917         * Shared/WebEventConversion.cpp:
20918         (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
20919         (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
20920         (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
20921         (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
20922         (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
20923         * UIProcess/API/mac/WKView.mm:
20924         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
20925         (InitWebCoreSystemInterface):
20926
20927 2011-12-22  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
20928
20929         [Qt] [WK2] Use HashMap instead of Vector in the builtin bundle
20930         https://bugs.webkit.org/show_bug.cgi?id=75112
20931
20932         Reviewed by Andreas Kling.
20933
20934         Fix my own FIXME now that HashMap have support to hold OwnPtr as value.
20935
20936         * WebProcess/qt/QtBuiltinBundle.cpp:
20937         (WebKit::QtBuiltinBundle::didCreatePage):
20938         (WebKit::QtBuiltinBundle::willDestroyPage):
20939         (WebKit::QtBuiltinBundle::handleMessageToNavigatorQtObject):
20940         (WebKit::QtBuiltinBundle::handleSetNavigatorQtObjectEnabled):
20941         * WebProcess/qt/QtBuiltinBundle.h:
20942
20943 2011-12-22  Anders Carlsson  <andersca@apple.com>
20944
20945         Remove the last of the WebKit2 display throttling
20946         https://bugs.webkit.org/show_bug.cgi?id=75109
20947
20948         Reviewed by Adam Roben.
20949
20950         The code to do display throttling in WebKit2 is complex and doesn't really help us except
20951         on an old benchmark that's no longer representative of real-world behavior; let's rip it out instead.
20952
20953         * WebProcess/WebPage/DrawingAreaImpl.cpp:
20954         (WebKit::DrawingAreaImpl::DrawingAreaImpl):
20955         (WebKit::DrawingAreaImpl::displayTimerFired):
20956         (WebKit::DrawingAreaImpl::display):
20957         * WebProcess/WebPage/DrawingAreaImpl.h:
20958         * WebProcess/WebPage/WebPage.cpp:
20959         (WebKit::WebPage::wheelEvent):
20960         (WebKit::WebPage::wheelEventSyncForTesting):
20961
20962 2011-12-22  Anders Carlsson  <andersca@apple.com>
20963
20964         Get rid of didStartAnimatedScroll and didCompleteAnimatedScroll
20965         https://bugs.webkit.org/show_bug.cgi?id=75107
20966
20967         Reviewed by Adam Roben.
20968
20969         This is another step towards removing the display throttling in WebKit2.
20970
20971         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
20972         (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
20973         * WebProcess/WebCoreSupport/WebChromeClient.h:
20974
20975 2011-12-22  Anders Carlsson  <andersca@apple.com>
20976
20977         Remove didStartRubberBand and didCompleteRubberBand callbacks
20978         https://bugs.webkit.org/show_bug.cgi?id=75102
20979
20980         Reviewed by Adam Roben.
20981
20982         The code to do display throttling in WebKit2 is complex and doesn't really help us except
20983         on an old benchmark that's no longer representative of real-world behavior; let's rip it out instead.
20984
20985         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
20986         * WebProcess/WebCoreSupport/WebChromeClient.h:
20987
20988 2011-12-22  Ryuan Choi <ryuan.choi@samsung.com>, Tomasz Morawski <t.morawski@samsung.com>
20989
20990         [EFL][WK2] Add an option to build WebKit2.
20991         https://bugs.webkit.org/show_bug.cgi?id=61999
20992
20993         Reviewed by Eric Seidel.
20994
20995         Add build script for WebKit2 on EFL port.
20996
20997         * CMakeLists.txt:
20998         * PlatformEfl.cmake: Added.
20999
21000 2011-12-21  Eunmi Lee  <eunmi15.lee@samsung.com>
21001
21002         [EFL][WK2] Add efl port's ewk_view files
21003         https://bugs.webkit.org/show_bug.cgi?id=61915
21004
21005         Reviewed by Eric Seidel.
21006
21007         This is the initial version of WebKit2 EFL port's ewk_view.
21008         The ewk_view is Evas_Object to show the rendered web contents.
21009
21010         * UIProcess/API/efl/ewk_view.cpp: Added.
21011         (_ewk_view_smart_changed):
21012         (_ewk_view_smart_focus_in):
21013         (_ewk_view_smart_focus_out):
21014         (_ewk_view_smart_mouse_wheel):
21015         (_ewk_view_smart_mouse_down):
21016         (_ewk_view_smart_mouse_up):
21017         (_ewk_view_smart_mouse_move):
21018         (_ewk_view_smart_key_down):
21019         (_ewk_view_smart_key_up):
21020         (_ewk_view_on_focus_in):
21021         (_ewk_view_on_focus_out):
21022         (_ewk_view_on_mouse_wheel):
21023         (_ewk_view_on_mouse_down):
21024         (_ewk_view_on_mouse_up):
21025         (_ewk_view_on_mouse_move):
21026         (_ewk_view_on_key_down):
21027         (_ewk_view_on_key_up):
21028         (_ewk_view_priv_new):
21029         (_ewk_view_priv_del):
21030         (_ewk_view_smart_add):
21031         (_ewk_view_smart_del):
21032         (_ewk_view_smart_resize):
21033         (_ewk_view_smart_move):
21034         (_ewk_view_smart_calculate):
21035         (_ewk_view_smart_show):
21036         (_ewk_view_smart_hide):
21037         (ewk_view_smart_class_init):
21038         (_ewk_view_smart_class_new):
21039         (ewk_view_add):
21040         (ewk_view_page_get):
21041         * UIProcess/API/efl/ewk_view.h: Added.
21042
21043 2011-12-21  Timothy Hatcher  <timothy@apple.com>
21044
21045         Web Inspector: suppress incremental rendering and use application chrome mode
21046
21047         https://webkit.org/b/75026
21048
21049         Reviewed by Joseph Pecoraro.
21050
21051         * UIProcess/WebInspectorProxy.cpp:
21052         (WebKit::createInspectorPageGroup): Set suppress incremental rendering and use application chrome mode.
21053
21054 2011-12-21  Sam Weinig  <sam@webkit.org>
21055
21056         Cleanup up clients when deallocating WebKit2 API objects
21057         https://bugs.webkit.org/show_bug.cgi?id=75014
21058
21059         Reviewed by Adam Roben.
21060
21061         * UIProcess/API/mac/WKBrowsingContextController.mm:
21062         (-[WKBrowsingContextController dealloc]):
21063         * UIProcess/API/mac/WKConnection.mm:
21064         (-[WKConnection dealloc]):
21065         Clear clients on dealloc.
21066
21067 2011-12-21  Rafael Brandao  <rafael.lobo@openbossa.org>
21068
21069         [Qt][WK2] Add tests for favicon and fix icon url decoding issue
21070         https://bugs.webkit.org/show_bug.cgi?id=74967
21071
21072         Reviewed by Simon Hausmann.
21073
21074         * UIProcess/API/qt/qwebiconimageprovider.cpp: We already receive the url
21075         without the percent encoding and we should access WebIconDatabase with
21076         an encoded url. Added a test to cover this behavior.
21077         (QWebIconImageProvider::requestImage):
21078         * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml: Added.
21079         * UIProcess/API/qt/tests/qmltests/common/favicon.html: Added.
21080         * UIProcess/API/qt/tests/qmltests/common/favicon.png: Added.
21081         * UIProcess/API/qt/tests/qmltests/common/favicon2.html: Added.
21082         * UIProcess/API/qt/tests/qmltests/common/small-favicon.png: Added.
21083         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
21084
21085 2011-12-21  Sam Weinig  <sam@webkit.org>
21086
21087         Exception thrown when running WKBrowsingContextLoadDelegateTest.SimpleLoad test
21088         https://bugs.webkit.org/show_bug.cgi?id=75012
21089
21090         Reviewed by Adam Roben.
21091
21092         * UIProcess/API/mac/WKProcessGroup.mm:
21093         (-[WKProcessGroup dealloc]):
21094         Clear the WKContext's connection client.
21095
21096 2011-12-21  Michael Brüning  <michael.bruning@nokia.com>
21097
21098         [Qt][WK2] Fix tst_QQuickWebView::scrollRequest() API test
21099         https://bugs.webkit.org/show_bug.cgi?id=73994
21100
21101         Reviewed by Kenneth Rohde Christiansen.
21102
21103         Added a viewport meta tag so that the view is actually scrollable and
21104         does not get scaled to not be scrollable. Corrected the style
21105         definition for the <div> tag. Removed unneeded text in div
21106
21107         Rolled back changes some of the changes from the previous patch
21108         (r102453) because they weren't necessary.
21109
21110         * UIProcess/API/qt/tests/html/scroll.html:
21111         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
21112         (tst_QQuickWebView::scrollRequest): Partially rolled back changes.
21113
21114 2011-12-21  Jessie Berlin  <jberlin@apple.com>
21115
21116         Windows build fix.
21117
21118         Replace all instances of "WebPropupMenuProxy" with "WebPopupMenuProxy".
21119
21120         * UIProcess/win/WebPopupMenuProxyWin.cpp:
21121         (WebKit::WebPopupMenuProxyWin::showPopupMenu):
21122         (WebKit::WebPopupMenuProxyWin::setFocusedIndex):
21123
21124 2011-12-20  Anders Carlsson  <andersca@apple.com>
21125
21126         Add ScrollableArea::contentsResized and have it call the scroll animator
21127         https://bugs.webkit.org/show_bug.cgi?id=74966
21128
21129         Reviewed by Sam Weinig.
21130
21131         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
21132         (WebKit::BuiltInPDFView::scrollbarStyleChanged):
21133
21134 2011-12-20  Anders Carlsson  <andersca@apple.com>
21135
21136         Try to fix the Windows build.
21137
21138         * UIProcess/win/WebPopupMenuProxyWin.cpp:
21139         (WebKit::WebPopupMenuProxyWin::showPopupMenu):
21140         (WebKit::WebPopupMenuProxyWin::setFocusedIndex):
21141
21142 2011-12-20  Simon Hausmann  <simon.hausmann@nokia.com>
21143
21144         [Qt][WK2] Remove statusBarMessageChanged
21145         https://bugs.webkit.org/show_bug.cgi?id=74405
21146
21147         Reviewed by Tor Arne Vestbø.
21148
21149         Removing support for window.status updates from the public
21150         QML API. See bug for details.
21151
21152         * UIProcess/API/qt/qquickwebview_p.h:
21153         * UIProcess/qt/QtWebPageUIClient.cpp:
21154         (QtWebPageUIClient::QtWebPageUIClient):
21155         * UIProcess/qt/QtWebPageUIClient.h:
21156
21157 2011-12-20  Anders Carlsson  <andersca@apple.com>
21158
21159         Add ScrollableArea wrappers for a bunch of ScrollAnimator member functions
21160         https://bugs.webkit.org/show_bug.cgi?id=74951
21161
21162         Reviewed by Sam Weinig.
21163
21164         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
21165         (WebKit::BuiltInPDFView::paint):
21166         (WebKit::BuiltInPDFView::handleMouseEvent):
21167         (WebKit::BuiltInPDFView::handleMouseEnterEvent):
21168         (WebKit::BuiltInPDFView::handleMouseLeaveEvent):
21169
21170 2011-12-20  Brent Fulgham  <bfulgham@webkit.org>
21171
21172         [WinCairo] Unreviewed build fix.
21173
21174         * win/WebKit2CFLite.def: Add missing export declaration.
21175
21176 2011-12-20  Simon Hausmann  <simon.hausmann@nokia.com>
21177
21178         [Qt] Build fix for gcc used on WK2 build bot.
21179
21180         * UIProcess/qt/QtWebPagePolicyClient.cpp:
21181         (QtWebPagePolicyClient::decidePolicyForNavigationAction): Don't do case:
21182         with values outside the range of the type. Instead switch() on the int instead.
21183
21184 2011-12-20  Rafael Brandao  <rafael.lobo@openbossa.org>
21185
21186         [Qt] Extend QQuickWebview::navigationRequested API
21187         https://bugs.webkit.org/show_bug.cgi?id=73818
21188
21189         Reviewed by Simon Hausmann.
21190
21191         Added url of the originating frame on QWebNavigationRequest,
21192         accessible via 'request.originatingUrl' on QML. Download action
21193         was moved to experimental, so in order to use it you should set
21194         'request.action = WebViewExperimental.DownloadRequest' on QML.
21195
21196         * UIProcess/API/qt/qquickwebview_p.h:
21197         * UIProcess/API/qt/qwebnavigationrequest.cpp:
21198         (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
21199         (QWebNavigationRequest::QWebNavigationRequest):
21200         (QWebNavigationRequest::originatingUrl):
21201         * UIProcess/API/qt/qwebnavigationrequest_p.h:
21202         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
21203         Tests were modified a bit to reuse urls and also added a test case to check
21204         originating url once a request is done.
21205         * UIProcess/qt/QtWebPagePolicyClient.cpp:
21206         (QtWebPagePolicyClient::decidePolicyForNavigationAction):
21207         * UIProcess/qt/QtWebPagePolicyClient.h:
21208
21209 2011-12-20  Balazs Kelemen  <kbalazs@webkit.org>
21210
21211         [Qt] WK2 Debugging quirks need some improvement
21212         https://bugs.webkit.org/show_bug.cgi?id=74859
21213
21214         Reviewed by Simon Hausmann.
21215
21216         Improvements added to make debugging WebKit2 more
21217         confortable and efficient:
21218         1. Unify debugging quirks. From now all of them are controlled
21219         by the QT_WEBKIT2_DEBUG environment variable.
21220         2. Disable crash handlers for WebKitTestRunner if debugging quirks
21221         are used to make it possible to use postmortem debugging via core dumps
21222         which is extremely useful for debugging bugs triggered by layout tests.
21223         3. Disable test timeout for WebKitTestRunner if debugging quirks
21224         are used because that makes debugging impossible.
21225
21226         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
21227         (WebKit::QtWebProcess::setupChildProcess):
21228         * WebProcess/qt/WebProcessMainQt.cpp:
21229         (WebKit::WebProcessMainQt):
21230
21231 2011-12-20  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
21232
21233         [Qt][WK2]REGRESSION(r103310): It broke tst_QQuickWebView::loadNonexistentFileUrl() API test
21234         https://bugs.webkit.org/show_bug.cgi?id=74923
21235
21236         Rubber-stamped by Csaba Osztrogonác.
21237
21238         Fixing API usage after http://trac.webkit.org/changeset/103310.
21239
21240         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
21241         (tst_QQuickWebView::loadNonexistentFileUrl):
21242
21243 2011-12-20  Simon Hausmann  <simon.hausmann@nokia.com>
21244
21245         [Qt] Favicon support should work with multiple web contexts
21246         https://bugs.webkit.org/show_bug.cgi?id=74922
21247
21248         Reviewed by Tor Arne Vestbø.
21249
21250         * UIProcess/API/qt/qquickwebview.cpp:
21251         (QQuickWebViewPrivate::initialize): Remove unnecessary use of QtWebContext::defaultContext(). There is
21252         already a member variable "context" which is the correct one.
21253         (QQuickWebViewPrivate::setIcon): Ditto.
21254         * UIProcess/API/qt/qwebiconimageprovider.cpp:
21255         (QWebIconImageProvider::requestImage): Extract the context id from the image id and use it to
21256         query the correct icon database.
21257         * UIProcess/qt/QtWebContext.cpp: Provide a mapping from id to qtwebcontext.
21258         (WebKit::generateContextID):
21259         (WebKit::QtWebContext::QtWebContext):
21260         (WebKit::QtWebContext::~QtWebContext):
21261         (WebKit::QtWebContext::contextByID):
21262         (WebKit::QtWebContext::initialize):
21263         * UIProcess/qt/QtWebContext.h:
21264         (WebKit::QtWebContext::context):
21265         (WebKit::QtWebContext::contextID):
21266         * UIProcess/qt/QtWebIconDatabaseClient.cpp:
21267         (QtWebIconDatabaseClient::QtWebIconDatabaseClient):
21268         (QtWebIconDatabaseClient::requestIconForPageURL): Store the context id in the icon url.
21269         * UIProcess/qt/QtWebIconDatabaseClient.h:
21270
21271 2011-12-20  Rafael Brandao  <rafael.lobo@openbossa.org>
21272
21273         [Qt][WK2] Implement favicon support
21274         https://bugs.webkit.org/show_bug.cgi?id=71082
21275
21276         Reviewed by Simon Hausmann.
21277
21278         Added attribute to QQuickWebView named "icon" that should be used
21279         as source for QQuickImage in order to display it. All images
21280         pointing to it will refresh when the icon is ready. We also use IDs
21281         to make it possible to handle different icons for the same page URL
21282         at different times (i.e. dynamically changing favicon).
21283
21284         IconDatabase storage lies on UIProcess and the synchronous call for
21285         the icon that happens on WebIconDatabase won't need to send any message
21286         to WebProcess. The part of IconDatabase on WebProcess handles the download
21287         of the resource whenever it is needed. Then the content downloaded is sent
21288         through IPC to the actual database, on UIProcess.
21289
21290         * Target.pri:
21291         * UIProcess/API/qt/qquickwebview.cpp:
21292         (QQuickWebViewPrivate::initialize):
21293         (QQuickWebViewPrivate::_q_onIconChangedForPageURL):
21294         (QQuickWebViewPrivate::setIcon):
21295         (QQuickWebView::icon):
21296         * UIProcess/API/qt/qquickwebview_p.h:
21297         * UIProcess/API/qt/qquickwebview_p_p.h:
21298         * UIProcess/API/qt/qwebiconimageprovider.cpp: Added.
21299         (QWebIconImageProvider::QWebIconImageProvider):
21300         (QWebIconImageProvider::~QWebIconImageProvider):
21301         (QWebIconImageProvider::requestImage):
21302         * UIProcess/API/qt/qwebiconimageprovider_p.h: Added.
21303         * UIProcess/WebContext.h:
21304         * UIProcess/WebIconDatabase.cpp:
21305         (WebKit::WebIconDatabase::synchronousIconURLForPageURL):
21306         (WebKit::WebIconDatabase::imageForPageURL): Added iconSize parameter
21307         and a default value for it to not break the old usage. The support for
21308         multiple sizes of favicons is still missing on WebCore.
21309         * UIProcess/WebIconDatabase.h:
21310         * UIProcess/qt/QtWebContext.cpp:
21311         (WebKit::QtWebContext::initialize):
21312         * UIProcess/qt/QtWebContext.h:
21313         (WebKit::QtWebContext::iconDatabase):
21314         * UIProcess/qt/QtWebIconDatabaseClient.cpp: Added.
21315         (toQtWebIconDatabaseClient):
21316         (QtWebIconDatabaseClient::QtWebIconDatabaseClient):
21317         (QtWebIconDatabaseClient::~QtWebIconDatabaseClient):
21318         (QtWebIconDatabaseClient::didChangeIconForPageURL):
21319         (QtWebIconDatabaseClient::iconImageForPageURL):
21320         (QtWebIconDatabaseClient::iconURLHashForPageURL):
21321         (QtWebIconDatabaseClient::requestIconForPageURL):
21322         (QtWebIconDatabaseClient::retainIconForPageURL):
21323         (QtWebIconDatabaseClient::releaseIconForPageURL):
21324         * UIProcess/qt/QtWebIconDatabaseClient.h: Added.
21325         * UIProcess/qt/QtWebPageLoadClient.cpp:
21326         (QtWebPageLoadClient::didStartProgress):
21327
21328 2011-12-20  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
21329
21330         [Qt] Improve QQuickWebView error handling API
21331         https://bugs.webkit.org/show_bug.cgi?id=73815
21332
21333         Reviewed by Simon Hausmann.
21334
21335         Modifying loadFail signal to include the error description
21336         and changing the ErrorType enum to ErrorDomain, to stay aligned
21337         with ResourceError API itself.
21338
21339         * UIProcess/API/qt/qquickwebview_p.h:
21340         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
21341         * UIProcess/qt/QtWebPageLoadClient.cpp:
21342         (QtWebPageLoadClient::dispatchLoadFailed):
21343
21344 2011-12-19  Sam Weinig  <sam@webkit.org>
21345
21346         Add support for scrollLineDown: and scrollLineUp: NSResponder selectors
21347         https://bugs.webkit.org/show_bug.cgi?id=74907
21348
21349         Reviewed by Dan Bernstein.
21350
21351         * UIProcess/API/mac/WKView.mm:
21352         Add implementations for scrollLineDown: and scrollLineUp: using our
21353         fun macros.
21354
21355 2011-12-19  Sam Weinig  <sam@webkit.org>
21356
21357         More PlatformEvent cleanup
21358         https://bugs.webkit.org/show_bug.cgi?id=74831
21359
21360         Reviewed by Dan Bernstein.
21361
21362         * WebProcess/WebPage/WebPage.cpp:
21363         (WebKit::handleContextMenuEvent):
21364         Update to use new names, access style.
21365
21366 2011-12-16  Jon Lee  <jonlee@apple.com>
21367
21368         [WK2] Extend show notification API to include the source page
21369         https://bugs.webkit.org/show_bug.cgi?id=74751
21370         <rdar://problem/10514541>
21371
21372         Reviewed by John Sullivan.
21373
21374         We add the source page that dispatched the notification in the API for convenience. In order to include the page,
21375         we move the show() message sent by WebNotificationManager from WebNotificationManagerProxy to WebPageProxy.
21376
21377         * WebProcess/Notifications/WebNotificationManager.cpp:
21378         (WebKit::WebNotificationManager::show): We aim the message at WebPageProxy instead of WebNotificationManagerProxy.
21379
21380         * UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Remove the show() message.
21381         * UIProcess/WebPageProxy.messages.in: Add a showNotification() message.
21382
21383         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
21384         (WebKit::WebNotificationManagerProxy::show): This function is now called from the WebPageProxy.
21385         * UIProcess/Notifications/WebNotificationManagerProxy.h:
21386
21387         * UIProcess/API/C/WKNotificationProvider.h:
21388         * UIProcess/Notifications/WebNotificationProvider.cpp:
21389         (WebKit::WebNotificationProvider::show):
21390         * UIProcess/Notifications/WebNotificationProvider.h:
21391         * UIProcess/WebPageProxy.cpp:
21392         (WebKit::WebPageProxy::showNotification):
21393         * UIProcess/WebPageProxy.h:
21394
21395 2011-12-19  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
21396
21397         [Qt][WK2] QWebDownloadItems are leaking
21398         https://bugs.webkit.org/show_bug.cgi?id=74618
21399
21400         Reviewed by Kenneth Rohde Christiansen.
21401
21402         QWebDownloadItems are leaking when WebProcess raises a
21403         download failure before sending didReceiveResponse back to UIProcess.
21404         This can happen when QtFileDownloader fails in determineFilename(), for instance.
21405         It happens when QtDownloadManager::downloadFailed() is reached
21406         and has an "empty" downloadItem, which means we never got to
21407         QtDownloadManager::downloadReceivedResponse(). At this point
21408         QQuickWebView::downloadRequested() signal hasn't been emitted and
21409         the downloadItem will have null parent. Therefore, it will leak
21410         unless we delete it ourselves.
21411
21412         * UIProcess/qt/QtDownloadManager.cpp:
21413         (WebKit::QtDownloadManager::downloadFailed):
21414
21415 2011-12-19  Anders Carlsson  <andersca@apple.com>
21416
21417         Send gesture events through the event dispatcher and scrolling coordinator
21418         https://bugs.webkit.org/show_bug.cgi?id=74879
21419
21420         Reviewed by Andreas Kling.
21421
21422         * UIProcess/WebPageProxy.cpp:
21423         (WebKit::WebPageProxy::handleGestureEvent):
21424         Use the EventDispatcher message.
21425
21426         * WebProcess/WebPage/EventDispatcher.cpp:
21427         (WebKit::EventDispatcher::gestureEvent):
21428         Try to send the event to the scrolling coordinator first before dispatching it on the main thread.
21429
21430         (WebKit::EventDispatcher::dispatchGestureEvent):
21431         Just call through to the WebPageProxy.
21432
21433         * WebProcess/WebPage/EventDispatcher.h:
21434         * WebProcess/WebPage/EventDispatcher.messages.in:
21435         * WebProcess/WebPage/WebPage.h:
21436         * WebProcess/WebPage/WebPage.messages.in:
21437         Move the GestureEvent message from WebPage to EventDispatcher.
21438
21439 2011-12-19  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
21440
21441         [Qt] Setting QWebPreferences affect multiple WebViews
21442         https://bugs.webkit.org/show_bug.cgi?id=71559
21443
21444         Reviewed by Kenneth Rohde Christiansen.
21445
21446         The QWebPreferences are per WebView, but the actual implementation
21447         in WebKit2 make them per page group. Currently we share only one
21448         page group between all the views, so if we set preferences
21449         to one WebView the preferences are shared between them all, generating
21450         unexpected behavior. This patch fixes this by making each WebView have
21451         its own page group.
21452
21453         * UIProcess/API/qt/qquickwebview.cpp:
21454         (QQuickWebViewPrivate::QQuickWebViewPrivate):
21455         * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
21456
21457 2011-12-19  Eric Carlson  <eric.carlson@apple.com>
21458
21459         Enable <track> for Mac build
21460         https://bugs.webkit.org/show_bug.cgi?id=74838
21461
21462         Reviewed by Darin Adler.
21463
21464         * Configurations/FeatureDefines.xcconfig:
21465
21466 2011-12-19  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
21467
21468         [Qt] [WK2] Fix build error due to unused variables
21469         https://bugs.webkit.org/show_bug.cgi?id=74862
21470
21471         Reviewed by Kenneth Rohde Christiansen.
21472
21473         * UIProcess/qt/QtWebPageEventHandler.cpp:
21474         (QtWebPageEventHandler::inputMethodEvent):
21475
21476 2011-12-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
21477
21478         [Qt] Add methods for setting, cancelling and confirming the composition
21479
21480         Reviewed by Simon Hausmann.
21481
21482         * UIProcess/WebPageProxy.h:
21483         * UIProcess/qt/WebPageProxyQt.cpp:
21484         (WebKit::WebPageProxy::setComposition):
21485         (WebKit::WebPageProxy::confirmComposition):
21486         (WebKit::WebPageProxy::cancelComposition):
21487         * WebProcess/WebPage/WebPage.h:
21488         * WebProcess/WebPage/WebPage.messages.in:
21489         * WebProcess/WebPage/qt/WebPageQt.cpp:
21490         (WebKit::targetFrameForEditing):
21491         (WebKit::WebPage::confirmComposition):
21492         (WebKit::WebPage::setComposition):
21493         (WebKit::WebPage::cancelComposition):
21494
21495 2011-12-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
21496
21497         First stab at upstreaming our virtual keyboard code
21498
21499         Reviewed by Simon Hausmann.
21500
21501         Add basic implementation of inputMethodEvent
21502
21503         * UIProcess/qt/QtWebPageEventHandler.cpp:
21504         (QtWebPageEventHandler::handleEvent):
21505         (QtWebPageEventHandler::inputMethodEvent):
21506         * UIProcess/qt/QtWebPageEventHandler.h:
21507
21508 2011-12-19  Simon Hausmann  <simon.hausmann@nokia.com>
21509
21510         [Qt][WK2] Add support for modal event loop processing for WTR
21511         https://bugs.webkit.org/show_bug.cgi?id=74852
21512
21513         Reviewed by Kenneth Rohde Christiansen.
21514
21515         Add support for nested event loops, used by WebPage::runModal().
21516
21517         * Platform/qt/RunLoopQt.cpp:
21518         (RunLoop::run):
21519         (RunLoop::stop):
21520
21521 2011-12-18  Sam Weinig  <sam@webkit.org>
21522
21523         Another attempt to fix the windows build.
21524
21525         * Platform/win/WorkQueueWin.cpp:
21526         (WorkQueue::performWorkOnRegisteredWorkThread):
21527         (WorkQueue::dispatch):
21528
21529 2011-12-18  Sam Weinig  <sam@webkit.org>
21530
21531         Try to fix the windows build.
21532
21533         * Platform/win/WorkQueueWin.cpp:
21534         (WorkQueue::performWorkOnRegisteredWorkThread):
21535
21536 2011-12-18  Sam Weinig  <sam@webkit.org>
21537
21538         Remove now unused WorkItem.h
21539         https://bugs.webkit.org/show_bug.cgi?id=74818
21540
21541         Reviewed by Andreas Kling.
21542
21543         * GNUmakefile.am:
21544         * Platform/CoreIPC/Connection.cpp:
21545         * Platform/RunLoop.cpp:
21546         * Platform/RunLoop.h:
21547         * Platform/WorkItem.h: Removed.
21548         * Platform/gtk/RunLoopGtk.cpp:
21549         * Platform/mac/RunLoopMac.mm:
21550         * Platform/mac/WorkQueueMac.cpp:
21551         (WorkQueue::platformInvalidate):
21552         * Platform/qt/RunLoopQt.cpp:
21553         * Platform/win/RunLoopWin.cpp:
21554         * Target.pri:
21555         * UIProcess/ResponsivenessTimer.cpp:
21556         * WebKit2.xcodeproj/project.pbxproj:
21557         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
21558         * win/WebKit2.vcproj:
21559
21560 2011-12-18  Anders Carlsson  <andersca@apple.com>
21561
21562         Set the main frame view scroll position asynchronously
21563         https://bugs.webkit.org/show_bug.cgi?id=74823
21564
21565         Reviewed by Sam Weinig.
21566
21567         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
21568         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
21569         Don't make the background red.
21570
21571 2011-12-18  Sam Weinig  <sam@webkit.org>
21572
21573         Move timestamp down from PlatformEvent subclasses to the base class
21574         https://bugs.webkit.org/show_bug.cgi?id=74805
21575
21576         Reviewed by Anders Carlsson.
21577
21578         * Shared/WebEventConversion.cpp:
21579         (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
21580         (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
21581         (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
21582         (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
21583         (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
21584
21585 2011-12-18  Anders Carlsson  <andersca@apple.com>
21586
21587         Add a scrolling thread to the scrolling coordinator
21588         https://bugs.webkit.org/show_bug.cgi?id=74814
21589
21590         Reviewed by Andreas Kling.
21591
21592         Check if the scrolling coordinator can handle the wheel event before dispatching it
21593         to the main thread.
21594
21595         * WebProcess/WebPage/EventDispatcher.cpp:
21596         (WebKit::EventDispatcher::wheelEvent):
21597
21598 2011-12-18  Anders Carlsson  <andersca@apple.com>
21599
21600         EventDispatcher should keep track of all scrolling coordinators
21601         https://bugs.webkit.org/show_bug.cgi?id=74810
21602
21603         Reviewed by Andreas Kling.
21604
21605         * WebProcess/WebPage/EventDispatcher.cpp:
21606         (WebKit::EventDispatcher::addScrollingCoordinatorForPage):
21607         Get the scrolling coordinator from the WebCore page and add it to the map.
21608
21609         (WebKit::EventDispatcher::removeScrollingCoordinatorForPage):
21610         Remove the scrolling coordinator from the map.
21611
21612         (WebKit::EventDispatcher::sendDidHandleEvent):
21613         Add a new helper function, currently unused.
21614
21615         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
21616         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
21617         Add the scrolling coordinator.
21618
21619         (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
21620         Remove the scrolling coordinator.
21621
21622         * WebProcess/WebProcess.h:
21623         (WebKit::WebProcess::eventDispatcher):
21624         Add a getter.
21625
21626 2011-12-16  Anders Carlsson  <andersca@apple.com>
21627
21628         Move everyone off of WorkItem
21629         https://bugs.webkit.org/show_bug.cgi?id=74773
21630
21631         Reviewed by Darin Adler.
21632
21633         * Platform/CoreIPC/unix/ConnectionUnix.cpp:
21634         (CoreIPC::Connection::open):
21635         (CoreIPC::Connection::setShouldCloseConnectionOnProcessTermination):
21636         * Platform/CoreIPC/win/ConnectionWin.cpp:
21637         (CoreIPC::Connection::open):
21638         * Platform/RunLoop.cpp:
21639         (RunLoop::performWork):
21640         (RunLoop::dispatch):
21641         * Platform/RunLoop.h:
21642         * Platform/WorkQueue.cpp:
21643         * Platform/WorkQueue.h:
21644         (WorkQueue::WorkItemWin::function):
21645         * Platform/gtk/WorkQueueGtk.cpp:
21646         (WorkQueue::EventSource::EventSource):
21647         (WorkQueue::EventSource::executeEventSource):
21648         (WorkQueue::registerEventSourceHandler):
21649         (WorkQueue::dispatchOnSource):
21650         (WorkQueue::dispatch):
21651         (WorkQueue::dispatchAfterDelay):
21652         (WorkQueue::dispatchOnTermination):
21653         * Platform/mac/WorkQueueMac.cpp:
21654         (WorkQueue::executeFunction):
21655         (WorkQueue::dispatch):
21656         (WorkQueue::dispatchAfterDelay):
21657         * Platform/qt/WorkQueueQt.cpp:
21658         (WorkQueue::WorkItemQt::WorkItemQt):
21659         (WorkQueue::WorkItemQt::~WorkItemQt):
21660         (WorkQueue::WorkItemQt::execute):
21661         (WorkQueue::registerSocketEventHandler):
21662         (WorkQueue::dispatch):
21663         (WorkQueue::dispatchAfterDelay):
21664         (WorkQueue::dispatchOnTermination):
21665         * Platform/win/RunLoopWin.cpp:
21666         (RunLoop::wakeUp):
21667         * Platform/win/WorkQueueWin.cpp:
21668         (WorkQueue::WorkItemWin::WorkItemWin):
21669         (WorkQueue::WorkItemWin::create):
21670         (WorkQueue::HandleWorkItem::HandleWorkItem):
21671         (WorkQueue::HandleWorkItem::createByAdoptingHandle):
21672         (WorkQueue::registerHandle):
21673         (WorkQueue::dispatch):
21674         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
21675         (WebKit::ProcessLauncher::launchProcess):
21676         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
21677         (WebKit::ProcessLauncher::launchProcess):
21678         * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
21679         (WebKit::ProcessLauncher::launchProcess):
21680         * WebProcess/mac/CoreIPCClientRunLoop.mm:
21681         (WebKit::callOnCoreIPCClientRunLoopAndWait):
21682
21683 2011-12-17  Sam Weinig  <sam@webkit.org>
21684
21685         Make PlatformTouchEvent inherit from PlatformEvent
21686         https://bugs.webkit.org/show_bug.cgi?id=74777
21687
21688         Reviewed by Andreas Kling.
21689
21690         * Shared/WebEventConversion.cpp:
21691         (WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
21692         Add PlatformEvent prefix to enum types.
21693
21694 2011-12-16  Anders Carlsson  <andersca@apple.com>
21695
21696         Convert more WorkItems over to WTF::Functions
21697         https://bugs.webkit.org/show_bug.cgi?id=74770
21698
21699         Reviewed by Andreas Kling.
21700
21701         * Platform/WorkQueue.cpp:
21702         (WorkQueue::dispatchAfterDelay):
21703         * Platform/WorkQueue.h:
21704         * Shared/ChildProcess.cpp:
21705         (WebKit::ChildProcess::didCloseOnConnectionWorkQueue):
21706         * UIProcess/Launcher/ThreadLauncher.cpp:
21707         (WebKit::ThreadLauncher::launchThread):
21708         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
21709         (WebKit::ProcessLauncher::launchProcess):
21710         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
21711         (WebKit::NetscapePlugin::pluginThreadAsyncCall):
21712         * WebProcess/Plugins/PluginView.cpp:
21713         (WebKit::derefPluginView):
21714         (WebKit::PluginView::unprotectPluginFromDestruction):
21715
21716 2011-12-16  Mark Hahnenberg  <mhahnenberg@apple.com>
21717
21718         Windows test fix
21719
21720         Unreviewed test fix. All Windows tests were crashing when objects who were pointing to 
21721         static data members across DLL boundaries were getting garbage in their pointers.
21722
21723         * win/WebKit2.def:
21724
21725 2011-12-16  Ryosuke Niwa  <rniwa@webkit.org>
21726
21727         Rename registerCommandFor(Undo|Redo) to register(Undo|Redo)Step
21728         https://bugs.webkit.org/show_bug.cgi?id=74748
21729
21730         Reviewed by Eric Seidel.
21731
21732         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
21733         (WebKit::WebEditorClient::registerUndoStep):
21734         (WebKit::WebEditorClient::registerRedoStep):
21735         * WebProcess/WebCoreSupport/WebEditorClient.h:
21736
21737 2011-12-16  Anders Carlsson  <andersca@apple.com>
21738
21739         Add a pretty dumb tile cache to WebTileCacheLayer
21740         https://bugs.webkit.org/show_bug.cgi?id=74753
21741
21742         Reviewed by Simon Fraser.
21743
21744         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
21745         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
21746         Always do a layout here, to prevent an ASSERT(!needsLayout()) when painting.
21747
21748 2011-12-16  Anders Carlsson  <andersca@apple.com>
21749
21750         TiledCoreAnimationDrawingArea should enable the scrolling coordinator
21751         https://bugs.webkit.org/show_bug.cgi?id=74724
21752
21753         Reviewed by Adam Roben.
21754
21755         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
21756         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
21757
21758 2011-12-16  Sam Weinig  <sam@webkit.org>
21759
21760         Give PlatformEvents a base class
21761         https://bugs.webkit.org/show_bug.cgi?id=74685
21762
21763         Reviewed by Anders Carlsson.
21764
21765         Add a base class for PlatformMouseEvent, PlatformKeyboardEvent, PlatformWheelEvent
21766         and PlatformGestureEvent and move Type enumeration and modifiers down to it.
21767
21768         * Shared/WebEventConversion.cpp:
21769         (WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
21770         (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
21771         (WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
21772         (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):
21773         * WebKit2.xcodeproj/project.pbxproj:
21774         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
21775         (WebKit::WebEditorClient::handleKeyboardEvent):
21776         * WebProcess/WebPage/WebPage.cpp:
21777         (WebKit::handleMouseEvent):
21778         (WebKit::WebPage::setInitialFocus):
21779         (WebKit::WebPage::handleEditingKeyboardEvent):
21780         (WebKit::WebPage::dragEnded):
21781         * WebProcess/WebPage/mac/WebPageMac.mm:
21782         (WebKit::WebPage::executeKeypressCommandsInternal):
21783         (WebKit::WebPage::handleEditingKeyboardEvent):
21784
21785 2011-12-16  Ryosuke Niwa  <rniwa@webkit.org>
21786
21787         Only EditCommandComposition should implement unapply and reapply
21788         https://bugs.webkit.org/show_bug.cgi?id=74490
21789
21790         Reviewed by Eric Seidel.
21791
21792         Renamed WebEditCommand to WebUndoStep and made necessary changes.
21793         Everything on WebProcess side should have the correct name now.
21794
21795         Names in the proxy and UIProcess are to be updated in a follow up.
21796
21797         * CMakeLists.txt:
21798         * GNUmakefile.am:
21799         * Target.pri:
21800         * WebKit2.xcodeproj/project.pbxproj:
21801         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
21802         (WebKit::WebEditorClient::registerCommandForUndo):
21803         (WebKit::WebEditorClient::registerCommandForRedo):
21804         * WebProcess/WebCoreSupport/WebEditorClient.h:
21805         * WebProcess/WebPage/WebEditCommand.cpp: Removed.
21806         * WebProcess/WebPage/WebEditCommand.h: Removed.
21807         * WebProcess/WebPage/WebPage.cpp:
21808         (WebKit::WebPage::webUndoStep):
21809         (WebKit::WebPage::addWebUndoStep):
21810         (WebKit::WebPage::removeWebEditCommand):
21811         (WebKit::WebPage::unapplyEditCommand):
21812         (WebKit::WebPage::reapplyEditCommand):
21813         * WebProcess/WebPage/WebPage.h:
21814         * WebProcess/WebPage/WebUndoStep.cpp: Copied from Source/WebKit2/WebProcess/WebPage/WebEditCommand.cpp.
21815         (WebKit::generateUndoStep):
21816         (WebKit::WebUndoStep::create):
21817         * WebProcess/WebPage/WebUndoStep.h: Copied from Source/WebKit2/WebProcess/WebPage/WebEditCommand.h.
21818         (WebKit::WebUndoStep::entry):
21819         (WebKit::WebUndoStep::entryID):
21820         (WebKit::WebUndoStep::WebUndoStep):
21821         * win/WebKit2.vcproj:
21822
21823 2011-12-16  Simon Hausmann  <simon.hausmann@nokia.com>
21824
21825         [Qt] Eliminate dependency to QUndoStack
21826         https://bugs.webkit.org/show_bug.cgi?id=74691
21827
21828         Reviewed by Kenneth Rohde Christiansen.
21829
21830         Replaced the QUndoStack with two vectors. When calling unapply()
21831         on the edit command proxy, it will automatically re-register itself
21832         in the redo stack.
21833
21834         * UIProcess/qt/QtWebUndoController.cpp:
21835         (QtWebUndoController::registerEditCommand):
21836         (QtWebUndoController::clearAllEditCommands):
21837         (QtWebUndoController::canUndoRedo):
21838         (QtWebUndoController::executeUndoRedo):
21839         * UIProcess/qt/QtWebUndoController.h:
21840
21841 2011-12-16  Rafael Brandao  <rafael.lobo@openbossa.org>
21842
21843         [Qt][WK2] Move webView.page into experimental
21844         https://bugs.webkit.org/show_bug.cgi?id=74406
21845
21846         Reviewed by Simon Hausmann.
21847
21848         * UIProcess/API/qt/qquickwebview.cpp:
21849         (QQuickWebViewExperimental::page):
21850         * UIProcess/API/qt/qquickwebview_p.h:
21851         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
21852         (tst_QQuickWebView::accessPage):
21853
21854 2011-12-16  Mark Hahnenberg  <mhahnenberg@apple.com>
21855
21856         De-virtualize destructors
21857         https://bugs.webkit.org/show_bug.cgi?id=74331
21858
21859         Reviewed by Geoffrey Garen.
21860
21861         * WebProcess/Plugins/Netscape/JSNPMethod.cpp: Add trivial destructor assert.
21862         * WebProcess/Plugins/Netscape/JSNPObject.cpp: Add static destroy.
21863         (WebKit::JSNPObject::destroy):
21864         * WebProcess/Plugins/Netscape/JSNPObject.h:
21865         * win/WebKit2.def: Add/remove necessary symbols.
21866         * win/WebKit2CFLite.def: Ditto.
21867
21868 2011-12-16  Carlos Garcia Campos  <cgarcia@igalia.com>
21869
21870         [GTK] Use bit field for bool members of WebKitWindowPropertiesPrivate
21871         https://bugs.webkit.org/show_bug.cgi?id=74713
21872
21873         Reviewed by Gustavo Noronha Silva.
21874
21875         Most of the members are bools, so it reduces the memory footprint.
21876
21877         * UIProcess/API/gtk/WebKitWindowProperties.cpp:
21878
21879 2011-12-16  Carlos Garcia Campos  <cgarcia@igalia.com>
21880
21881         [GTK] Window frame should be 0x0 when the toplevel window is not visible
21882         https://bugs.webkit.org/show_bug.cgi?id=74709
21883
21884         Reviewed by Gustavo Noronha Silva.
21885
21886         * UIProcess/API/gtk/WebKitUIClient.cpp:
21887         (getWindowFrame): Check also whether the toplevel is visible
21888         before getting its size and position.
21889
21890 2011-12-16  Michael Bruning  <michael.bruning@nokia.com>
21891
21892         [qt][wk2] Viewport info panel shows wrong current scale
21893         https://bugs.webkit.org/show_bug.cgi?id=74613
21894
21895         Reviewed by Kenneth Rohde Christiansen.
21896
21897         * UIProcess/API/qt/qwebviewportinfo.cpp:
21898         (QWebViewportInfo::currentScale): Added division by devicePixelRatio. Also
21899         added emission of currenScaleUpdated signal when the viewport constraints
21900         have been updated.
21901         (QWebViewportInfo::didUpdateViewportConstraints):
21902         * UIProcess/API/qt/qwebviewportinfo_p.h: Changed return type of
21903         currentScale to QVariant as it depends on the viewport interaction engine
21904         now.
21905         * UIProcess/qt/QtViewportInteractionEngine.cpp:
21906         (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary): Changed
21907         to use currentCSSScale for getting the current css scale.
21908         (WebKit::QtViewportInteractionEngine::currentCSSScale): Added.
21909         * UIProcess/qt/QtViewportInteractionEngine.h: Added method currentCSSScale.
21910
21911 2011-12-15  Martin Robinson  <mrobinson@igalia.com>
21912
21913         Fix 'make dist' in preparation for the GTK+ release.
21914
21915         * GNUmakefile.am: Add missing header.
21916
21917 2011-12-15  Anders Carlsson  <andersca@apple.com>
21918
21919         Add support for accelerated compositing to the tiled Core Animation drawing area
21920         https://bugs.webkit.org/show_bug.cgi?id=74675
21921
21922         Reviewed by Andreas Kling.
21923
21924         Add a layer flush scheduler and get rid of the content layer since WebCore will manage that for us.
21925
21926         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
21927         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
21928         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
21929         (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
21930         (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay):
21931         (WebKit::TiledCoreAnimationDrawingArea::scroll):
21932         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
21933         (WebKit::TiledCoreAnimationDrawingArea::scheduleCompositingLayerSync):
21934         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
21935         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
21936
21937 2011-12-15  Sheriff Bot  <webkit.review.bot@gmail.com>
21938
21939         Unreviewed, rolling out r102652 and r102717.
21940         http://trac.webkit.org/changeset/102652
21941         http://trac.webkit.org/changeset/102717
21942         https://bugs.webkit.org/show_bug.cgi?id=74674
21943
21944         Broke too many webs. (Requested by kling on #webkit).
21945
21946         * UIProcess/API/mac/WKView.mm:
21947         (-[WKView _updateWindowAndViewFrames]):
21948         * UIProcess/WebPageProxy.h:
21949         * UIProcess/mac/WebPageProxyMac.mm:
21950         (WebKit::WebPageProxy::windowAndViewFramesChanged):
21951         * WebProcess/Plugins/PluginView.cpp:
21952         (WebKit::PluginView::windowAndViewFramesChanged):
21953         * WebProcess/Plugins/PluginView.h:
21954         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
21955         (WebKit::WebChromeClient::windowRect):
21956         * WebProcess/WebPage/WebPage.cpp:
21957         (WebKit::WebPage::windowAndViewFramesChanged):
21958         * WebProcess/WebPage/WebPage.h:
21959         (WebKit::WebPage::windowFrameInScreenCoordinates):
21960         (WebKit::WebPage::viewFrameInWindowCoordinates):
21961         (WebKit::WebPage::accessibilityPosition):
21962         * WebProcess/WebPage/WebPage.messages.in:
21963         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
21964         (-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):
21965
21966 2011-12-15  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
21967
21968         [GTK] New API test for WindowProperties fails
21969         https://bugs.webkit.org/show_bug.cgi?id=74630
21970
21971         Reviewed by Martin Robinson.
21972
21973         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
21974         (WindowProperties::viewReadyToShow): assert each member to make
21975         assertion error messages more useful, and avoid asserting x and y,
21976         since we are getting bad values from WebCore, for some reason.
21977         (testWebViewWindowProperties): use smaller values that fit inside the
21978         800x600 screen used by the bots.
21979
21980 2011-12-15  Anders Carlsson  <andersca@apple.com>
21981
21982         EventDispatcher should handle wheel events on the connection queue
21983         https://bugs.webkit.org/show_bug.cgi?id=74627
21984
21985         Reviewed by Andreas Kling.
21986
21987         Send wheel events to the EventDispatcher, which handles them on the connection work queue, and
21988         immediately bounces them to the main thread (for now).
21989
21990         * UIProcess/WebPageProxy.cpp:
21991         (WebKit::WebPageProxy::handleWheelEvent):
21992         (WebKit::WebPageProxy::didReceiveEvent):
21993         * WebProcess/WebPage/EventDispatcher.cpp:
21994         (WebKit::EventDispatcher::wheelEvent):
21995         (WebKit::EventDispatcher::dispatchWheelEvent):
21996         * WebProcess/WebPage/EventDispatcher.h:
21997         * WebProcess/WebPage/EventDispatcher.messages.in:
21998         * WebProcess/WebPage/WebPage.h:
21999
22000 2011-12-15  Jon Lee  <jonlee@apple.com>
22001
22002         [WK2] Extend WebNotification to include its origin
22003         https://bugs.webkit.org/show_bug.cgi?id=74615
22004         <rdar://problem/10587164>
22005
22006         Reviewed by Sam Weinig.
22007
22008         * Shared/API/c/WKSecurityOrigin.h: Expose API that converts the security origin to database
22009         identifier.
22010         * Shared/API/c/WKSecurityOrigin.cpp:
22011         (WKSecurityOriginCopyDatabaseIdentifier):
22012
22013         * UIProcess/Notifications/WebNotification.h: Extend WebNotification to include the origin.
22014         (WebKit::WebNotification::create):
22015         (WebKit::WebNotification::origin):
22016         * UIProcess/Notifications/WebNotification.cpp: Remove unneeded encode() and decode() functions.
22017         (WebKit::WebNotification::WebNotification):
22018
22019         * UIProcess/API/C/WKNotification.h: Expose WebNotification's origin().
22020         * UIProcess/API/C/WKNotification.cpp:
22021         (WKNotificationGetSecurityOrigin):
22022
22023         * UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Update show() to include the
22024         origin of the notification.
22025         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
22026         (WebKit::WebNotificationManagerProxy::show):
22027         * UIProcess/Notifications/WebNotificationManagerProxy.h:
22028         * WebProcess/Notifications/WebNotificationManager.cpp:
22029         (WebKit::WebNotificationManager::show): Pass the notification's exec context's origin as
22030         identifier.
22031
22032 2011-12-15  Rafael Brandao  <rafael.lobo@openbossa.org>
22033
22034         [Qt][WK2] Add test for download policy on navigation request
22035         https://bugs.webkit.org/show_bug.cgi?id=74541
22036
22037         Reviewed by Tor Arne Vestbø.
22038
22039         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
22040         * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml: Make it wait for a
22041         downloadFinished signal to finish the test.
22042
22043 2011-12-15  Anders Carlsson  <andersca@apple.com>
22044
22045         Move WorkQueue Mach handlers over to WTF::Function
22046         https://bugs.webkit.org/show_bug.cgi?id=74620
22047
22048         Reviewed by Sam Weinig.
22049
22050         * Platform/CoreIPC/mac/ConnectionMac.cpp:
22051         (CoreIPC::Connection::open):
22052         (CoreIPC::Connection::initializeDeadNameSource):
22053         * Platform/WorkQueue.h:
22054         * Platform/mac/WorkQueueMac.cpp:
22055         (WorkQueue::EventSource::EventSource):
22056         (WorkQueue::EventSource::eventHandler):
22057         (WorkQueue::registerMachPortEventHandler):
22058
22059 2011-12-14  Anders Carlsson  <andersca@apple.com>
22060
22061         Add WTF::Function to wtf/Forward.h
22062         https://bugs.webkit.org/show_bug.cgi?id=74576
22063
22064         Reviewed by Adam Roben.
22065
22066         * Platform/RunLoop.h:
22067         * Platform/WorkQueue.h:
22068         Remove forward declarations and just include wtf/Forward.h.
22069
22070 2011-12-15  Rafael Brandao  <rafael.lobo@openbossa.org>
22071
22072         [Qt][WK2] Move WebPreferences into experimental
22073         https://bugs.webkit.org/show_bug.cgi?id=74404
22074
22075         Reviewed by Tor Arne Vestbø.
22076
22077         * UIProcess/API/qt/qquickwebview.cpp:
22078         (QQuickWebViewExperimental::preferences):
22079         * UIProcess/API/qt/qquickwebview_p.h:
22080         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
22081         * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
22082
22083 2011-12-15  Carlos Garcia Campos  <cgarcia@igalia.com>
22084
22085         [GTK] Add WebKitWindowProperties to WebKit2 GTK+ API
22086         https://bugs.webkit.org/show_bug.cgi?id=74595
22087
22088         Reviewed by Gustavo Noronha Silva.
22089
22090         * GNUmakefile.am: Add new files to compilation.
22091         * UIProcess/API/gtk/WebKitUIClient.cpp:
22092         (createNewPage): Pass the dictionary containing the window
22093         features to webkitWebViewCreateNewPage().
22094         (toolbarsAreVisible): Return
22095         WebKitWindowProperties:toolbar-visible.
22096         (setToolbarsAreVisible): Set
22097         WebKitWindowProperties:toolbar-visible.
22098         (menuBarIsVisible): Return WebKitWindowProperties:menu-visible.
22099         (setMenuBarIsVisible): Set WebKitWindowProperties:menu-visible.
22100         (statusBarIsVisible): Return
22101         WebKitWindowProperties:status-visible.
22102         (setStatusBarIsVisible): Set
22103         WebKitWindowProperties:status-visible.
22104         (isResizable): Return WebKitWindowProperties:resizable.
22105         (setIsResizable): Set WebKitWindowProperties:resizable.
22106         (getWindowFrame): Return WebKitWindowProperties:geometry.
22107         (setWindowFrame): Set WebKitWindowProperties:geometry.
22108         (webkitUIClientAttachUIClientToPage): Initialize the UI client for
22109         the given page.
22110         * UIProcess/API/gtk/WebKitWebView.cpp:
22111         (webkit_web_view_init): Create a WebKitWindowProperties object for
22112         the view.
22113         (webkit_web_view_class_init):
22114         (webkitWebViewCreateNewPage): Update the WebKitWindowProperties
22115         object using the window features dictionary.
22116         (webkit_web_view_get_window_properties): Return the
22117         WebKitWindowProperties object of the view.
22118         * UIProcess/API/gtk/WebKitWebView.h:
22119         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
22120         * UIProcess/API/gtk/WebKitWindowProperties.cpp: Added.
22121         (webkitWindowPropertiesFinalize):
22122         (webkitWindowPropertiesGetProperty):
22123         (webkitWindowPropertiesSetProperty):
22124         (webkit_window_properties_class_init):
22125         (webkit_window_properties_init):
22126         (webkitWindowPropertiesCreate): Create a new
22127         WebKitWindowProperties object.
22128         (webkitWindowPropertiesSetGeometry):
22129         (webkitWindowPropertiesSetToolbarVisible):
22130         (webkitWindowPropertiesSetMenubarVisible):
22131         (webkitWindowPropertiesSetStatusbarVisible):
22132         (webkitWindowPropertiesSetLocationbarVisible):
22133         (webkitWindowPropertiesSetScrollbarsVisible):
22134         (webkitWindowPropertiesSetResizable):
22135         (webkitWindowPropertiesSetFullscreen):
22136         (webkitWindowPropertiesUpdateFromWKWindowFeatures): Parse the
22137         window features dictionary and update the WebKitWindowProperties
22138         object accordingly.
22139         (webkit_window_properties_get_geometry):
22140         (webkit_window_properties_get_toolbar_visible):
22141         (webkit_window_properties_get_statusbar_visible):
22142         (webkit_window_properties_get_scrollbars_visible):
22143         (webkit_window_properties_get_menubar_visible):
22144         (webkit_window_properties_get_locationbar_visible):
22145         (webkit_window_properties_get_resizable):
22146         (webkit_window_properties_get_fullscreen):
22147         * UIProcess/API/gtk/WebKitWindowProperties.h: Added.
22148         * UIProcess/API/gtk/WebKitWindowPropertiesPrivate.h: Copied from Source/WebKit2/UIProcess/API/gtk/WebKitWebViewPrivate.h.
22149         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
22150         WebKitWindowProperties.
22151         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
22152         * UIProcess/API/gtk/docs/webkit2gtk.types: Add
22153         webkit_window_properties_get_type.
22154         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
22155         (WindowProperties::windowPropertiesNotifyCallback):
22156         (WindowProperties::viewReadyToShow):
22157         (WindowProperties::viewCreate):
22158         (WindowProperties::setExpectedWindowProperties):
22159         (testWebViewWindowProperties):
22160         (beforeAll):
22161         * UIProcess/API/gtk/webkit2.h: Include WebKitWindowProperties.h.
22162         * UIProcess/WebUIClient.cpp:
22163         (WebKit::WebUIClient::createNewPage): Add also "locationBarVisible"
22164         to the window features dictionary.
22165
22166 2011-12-15  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
22167
22168         [Qt] [WK2] Remove QtWebPageProxy
22169         https://bugs.webkit.org/show_bug.cgi?id=74540
22170
22171         Reviewed by Kenneth Rohde Christiansen.
22172
22173         Move WebPageProxy* to QQuickWebViewPrivate. The remaining functions in
22174         QtWebPageProxy were simple wrappers to WebKit functionality (text zoom, page zoom
22175         and user agent setting). Since those wrappers are unused, they were removed. The
22176         signal in the class was also unused.
22177
22178         This patch also remove the code from WebContextMenuProxyQt, it was remains of a
22179         previous QMenu-based implementation. We want to rewrite this code for QML anyway,
22180         so I reverted to an empty state.
22181
22182         Farewell, QtWebPageProxy!
22183
22184         * Target.pri:
22185         * UIProcess/API/qt/qquickwebpage.cpp:
22186         * UIProcess/API/qt/qquickwebpage_p.h:
22187         * UIProcess/API/qt/qquickwebview.cpp:
22188         (QQuickWebViewPrivate::~QQuickWebViewPrivate):
22189         (QQuickWebViewPrivate::initialize):
22190         (QQuickWebViewPrivate::processDidCrash):
22191         (QQuickWebViewPrivate::createDrawingAreaProxy):
22192         (QQuickWebViewPrivate::updateVisibleContentRectAndScale):
22193         (QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged):
22194         (QQuickWebViewPrivate::_q_onVisibleChanged):
22195         (QQuickWebViewPrivate::updateViewportSize):
22196         (QQuickWebViewPrivate::computeViewportConstraints):
22197         (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
22198         (QQuickWebViewPrivate::setNavigatorQtObjectEnabled):
22199         (QQuickWebViewExperimental::postMessage):
22200         (QQuickWebView::load):
22201         (QQuickWebView::goBack):
22202         (QQuickWebView::goForward):
22203         (QQuickWebView::stop):
22204         (QQuickWebView::reload):
22205         (QQuickWebView::url):
22206         (QQuickWebView::canGoBack):
22207         (QQuickWebView::canGoForward):
22208         (QQuickWebView::loading):
22209         (QQuickWebView::canReload):
22210         (QQuickWebView::title):
22211         (QQuickWebView::pageRef):
22212         (QQuickWebView::loadHtml):
22213         * UIProcess/API/qt/qquickwebview_p.h:
22214         * UIProcess/API/qt/qquickwebview_p_p.h:
22215         * UIProcess/API/qt/qwebnavigationhistory_p_p.h:
22216         * UIProcess/API/qt/qwebpreferences.cpp:
22217         (QWebPreferencesPrivate::preferencesRef):
22218         * UIProcess/PageClient.h:
22219         * UIProcess/qt/QtPageClient.cpp:
22220         (QtPageClient::QtPageClient):
22221         (QtPageClient::initialize):
22222         (QtPageClient::createPopupMenuProxy):
22223         (QtPageClient::createContextMenuProxy):
22224         * UIProcess/qt/QtPageClient.h:
22225         * UIProcess/qt/QtWebPageProxy.cpp: Removed.
22226         * UIProcess/qt/QtWebPageProxy.h: Removed.
22227         * UIProcess/qt/WebContextMenuProxyQt.cpp:
22228         (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
22229         (WebKit::WebContextMenuProxyQt::create):
22230         (WebKit::WebContextMenuProxyQt::showContextMenu):
22231         (WebKit::WebContextMenuProxyQt::hideContextMenu):
22232         * UIProcess/qt/WebContextMenuProxyQt.h:
22233
22234 2011-12-15  Simon Hausmann  <simon.hausmann@nokia.com>
22235
22236         [WK2] Eliminate unnecessary GTK/QT ifdefs for shared memory implementation
22237         https://bugs.webkit.org/show_bug.cgi?id=74602
22238
22239         Reviewed by Kenneth Rohde Christiansen.
22240
22241         For shared memory Qt was using shm_open, Gtk was using files in /tmp. There
22242         is no reason to obfuscate the code with #ifdefs or let Gtk use an inferior
22243         method of opening shared memory. So this patch makes SharedMemoryUnix.cpp
22244         truly Qt and Gtk independent.
22245
22246         * Platform/unix/SharedMemoryUnix.cpp:
22247         (WebKit::SharedMemory::create):
22248
22249 2011-12-15  Simon Hausmann  <simon.hausmann@nokia.com>
22250
22251         [Qt] Cleanup: Remove unnecessary const_cast
22252
22253         Reviewed by Kenneth Christiansen.
22254
22255         * UIProcess/API/qt/qquickwebview.cpp:
22256         (QQuickWebView::preferences):
22257
22258 2011-12-15  Michael Brüning  <michael.bruning@nokia.com>
22259
22260         [QT][WK2]Add (experimental) viewport info view to Minibrowser/qt.
22261         https://bugs.webkit.org/show_bug.cgi?id=72893
22262
22263         Reviewed by Kenneth Rohde Christiansen.
22264
22265         This patch extends QQuickWebViewExperimental by a property named
22266         viewportInfo, which contains the viewport scalability and
22267         layout and contents size information. This property is exposed to
22268         QML through the experimental extension for QQuickWebView.
22269
22270         * Target.pri:
22271         * UIProcess/API/qt/qquickwebview.cpp:
22272         (QQuickWebViewPrivate::didChangeContentsSize):
22273         (QQuickWebViewPrivate::computeViewportConstraints):
22274         (QQuickWebViewPrivate::PostTransitionState::apply): Added applying
22275         contentsSize to viewportInfo.
22276         (QQuickWebViewExperimental::QQuickWebViewExperimental):
22277         (QQuickWebViewExperimental::viewportInfo):
22278         * UIProcess/API/qt/qquickwebview_p.h:
22279         * UIProcess/API/qt/qquickwebview_p_p.h: Moved PostTransitionState::apply
22280         to qquickwebview.cpp. Added friend QWebViewportInfo.
22281         * UIProcess/API/qt/qwebviewportinfo.cpp: Added.
22282         (QWebViewportInfo::QWebViewportInfo):
22283         (QWebViewportInfo::~QWebViewportInfo):
22284         (QWebViewportInfo::contentsSize):
22285         (QWebViewportInfo::currentScale):
22286         (QWebViewportInfo::devicePixelRatio):
22287         (QWebViewportInfo::initialScale):
22288         (QWebViewportInfo::minimumScale):
22289         (QWebViewportInfo::maximumScale):
22290         (QWebViewportInfo::isScalable):
22291         (QWebViewportInfo::layoutSize):
22292         (QWebViewportInfo::didUpdateContentsSize):
22293         (QWebViewportInfo::didUpdateCurrentScale):
22294         (QWebViewportInfo::didUpdateViewportConstraints):
22295         * UIProcess/API/qt/qwebviewportinfo_p.h: Added.
22296         * UIProcess/qt/QtViewportInteractionEngine.h:
22297         (WebKit::QtViewportInteractionEngine::Constraints::Constraints): Added layoutSize.
22298         (WebKit::QtViewportInteractionEngine::constraints): Added property to access m_contraints.
22299
22300 2011-12-15  Simon Hausmann  <simon.hausmann@nokia.com>
22301
22302         [WK2] WebPage::m_useFixedLayout variable unininitialized
22303         https://bugs.webkit.org/show_bug.cgi?id=74596
22304
22305         Reviewed by Kenneth Rohde Christiansen.
22306
22307         * WebProcess/WebPage/WebPage.cpp:
22308         (WebKit::WebPage::WebPage): Avoid uninitialized use through
22309         initialization in the constructor.
22310
22311 2011-12-15  Alexander Færøy  <ahf@0x90.dk>
22312
22313         [Qt] r102849 broke the Qt build on Mac OS X.
22314         https://bugs.webkit.org/show_bug.cgi?id=74594
22315
22316         Reviewed by Simon Hausmann.
22317
22318         The __APPLE__ macro is defined on all standard OS X compilers, which
22319         leads to various CoreGraphics headers to be included in the Qt build.
22320
22321         * config.h:
22322
22323 2011-12-14  Jing Zhao  <jingzhao@chromium.org>
22324
22325         Opening two popup menus by dispatchEvent() makes problems.
22326         https://bugs.webkit.org/show_bug.cgi?id=73304
22327
22328         Reviewed by Kent Tamura.
22329
22330         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
22331         (WebKit::WebChromeClient::hasOpenedPopup): Not implemented.
22332         * WebProcess/WebCoreSupport/WebChromeClient.h: Overrides hasOpenedPopup().
22333
22334 2011-12-14  Sam Weinig  <weinig@apple.com>
22335
22336         Remove whitespace from InheritedPropertySheets attributes in
22337         vsprops files to appease the Visual Studio project migrator.
22338
22339         Reviewed by Adam Roben.
22340
22341         * win/WebKit2Debug.vsprops:
22342         * win/WebKit2DebugAll.vsprops:
22343         * win/WebKit2DebugCairoCFLite.vsprops:
22344         * win/WebKit2Production.vsprops:
22345         * win/WebKit2Release.vsprops:
22346         * win/WebKit2ReleaseCairoCFLite.vsprops:
22347         * win/WebKit2WebProcessDebug.vsprops:
22348         * win/WebKit2WebProcessDebugAll.vsprops:
22349         * win/WebKit2WebProcessDebugCairoCFLite.vsprops:
22350         * win/WebKit2WebProcessProduction.vsprops:
22351         * win/WebKit2WebProcessRelease.vsprops:
22352         * win/WebKit2WebProcessReleaseCairoCFLite.vsprops:
22353
22354 2011-12-14  Anders Carlsson  <andersca@apple.com>
22355
22356         Add WorkQueue::dispatch and RunLoop::dispatch which both take WTF::Function objects
22357         https://bugs.webkit.org/show_bug.cgi?id=74574
22358
22359         Reviewed by Sam Weinig.
22360
22361         * Platform/CoreIPC/Connection.cpp:
22362         (CoreIPC::Connection::SyncMessageState::processIncomingMessage):
22363         (CoreIPC::Connection::addQueueClient):
22364         (CoreIPC::Connection::removeQueueClient):
22365         (CoreIPC::Connection::invalidate):
22366         (CoreIPC::Connection::sendMessage):
22367         (CoreIPC::Connection::postConnectionDidCloseOnConnectionWorkQueue):
22368         (CoreIPC::Connection::connectionDidClose):
22369         (CoreIPC::Connection::enqueueIncomingMessage):
22370         Switch over to dispatch.
22371
22372         * Platform/RunLoop.cpp:
22373         (RunLoop::dispatch):
22374         Create a FunctionWorkItem and call scheduleWork.
22375
22376         * Platform/RunLoop.h:
22377         Add dispatch.
22378
22379         * Platform/WorkItem.h:
22380         (FunctionWorkItem::FunctionWorkItem):
22381         (FunctionWorkItem::execute):
22382         (WorkItem::create):
22383         Add a helper work item that wraps a WTF::Function.
22384
22385         * Platform/WorkQueue.cpp:
22386         (WorkQueue::dispatch):
22387         Create a FunctionWorkItem and call scheduleWork.
22388
22389         * Platform/WorkQueue.h:
22390         Add dispatch.
22391
22392         * UIProcess/Launcher/ProcessLauncher.cpp:
22393         (WebKit::ProcessLauncher::ProcessLauncher):
22394         Switch over to dispatch.
22395
22396 2011-12-14  Hajime Morrita  <morrita@chromium.org>
22397
22398         JS_INLINE and WTF_INLINE should be visible from WebCore
22399         https://bugs.webkit.org/show_bug.cgi?id=73191
22400
22401         Reviewed by Kevin Ollivier.
22402
22403         Removed macro definitions which is now provided by Platform.h
22404
22405         * config.h:
22406
22407 2011-12-14  Alexey Proskuryakov  <ap@apple.com>
22408
22409         [Mac] Sandbox violation opening AppleSNBFBUserClient
22410         https://bugs.webkit.org/show_bug.cgi?id=74560
22411         <rdar://problem/10410896>
22412
22413         Reviewed by Darin Adler.
22414
22415         * WebProcess/com.apple.WebProcess.sb: Just allow it.
22416
22417 2011-12-13  Jon Lee  <jonlee@apple.com>
22418
22419         Enable notifications on Mac.
22420
22421         Reviewed by Sam Weinig.
22422
22423         * Configurations/FeatureDefines.xcconfig:
22424
22425 2011-12-14  Mark Rowe  <mrowe@apple.com>
22426
22427         <rdar://problem/10573872> NPN_GetValueForURL returns wrong value for NPNURLVProxy
22428
22429         Reviewed by Anders Carlsson.
22430
22431         * PluginProcess/PluginControllerProxy.cpp:
22432         (WebKit::PluginControllerProxy::proxiesForURL): Fix a copy-paste error.
22433
22434 2011-12-14  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
22435
22436         [Qt] [WK2] Move QWebPreferences out of QtWebPageProxy
22437         https://bugs.webkit.org/show_bug.cgi?id=74525
22438
22439         Reviewed by Luiz Agostini.
22440
22441         This patch also uses internal WebKit API to set the Accelerate Compositing
22442         directly instead of going thru QWebPreferencesPrivate. The previous approach was
22443         always causing the QWebPreferences to be created making the "lazy initialization"
22444         useless.
22445
22446         * UIProcess/API/qt/qquickwebview.cpp:
22447         (QQuickWebViewPrivate::QQuickWebViewPrivate):
22448         (QQuickWebViewPrivate::initialize):
22449         (QQuickWebViewPrivate::navigatorQtObjectEnabled):
22450         (QQuickWebViewPrivate::setNavigatorQtObjectEnabled):
22451         (QQuickWebViewExperimental::postMessage):
22452         (QQuickWebView::preferences):
22453         * UIProcess/API/qt/qquickwebview_p_p.h:
22454         * UIProcess/API/qt/qwebpreferences.cpp:
22455         (QWebPreferencesPrivate::createPreferences):
22456         (QWebPreferencesPrivate::testAttribute):
22457         (QWebPreferencesPrivate::setAttribute):
22458         (QWebPreferences::navigatorQtObjectEnabled):
22459         (QWebPreferences::setNavigatorQtObjectEnabled):
22460         (QWebPreferencesPrivate::preferencesRef):
22461         * UIProcess/API/qt/qwebpreferences_p_p.h:
22462         * UIProcess/qt/QtWebPageProxy.cpp:
22463         (QtWebPageProxy::QtWebPageProxy):
22464         * UIProcess/qt/QtWebPageProxy.h:
22465
22466 2011-12-14  Carlos Garcia Campos  <cgarcia@igalia.com>
22467
22468         [GTK] Page size should be 0,0 when view widget is not realized
22469         https://bugs.webkit.org/show_bug.cgi?id=74523
22470
22471         Reviewed by Martin Robinson.
22472
22473         We currently return 1,1 because GTK+ initializes widget allocation
22474         as -1,-1,1,1.
22475
22476         * UIProcess/API/gtk/PageClientImpl.cpp:
22477         (WebKit::PageClientImpl::viewSize): Check whether widget is
22478         realized and return IntSize() in that case.
22479
22480 2011-12-14  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
22481
22482         [Qt] [WK2] Move download handling out of QtWebPageProxy
22483         https://bugs.webkit.org/show_bug.cgi?id=74506
22484
22485         Reviewed by Kenneth Rohde Christiansen.
22486
22487         Also moves the creation of QtWebContext out of QtWebPageProxy.
22488
22489         * UIProcess/API/qt/qquickwebview.cpp:
22490         (QQuickWebViewPrivate::initialize):
22491         (QQuickWebViewPrivate::handleDownloadRequest):
22492         (QQuickWebViewPrivate::_q_onReceivedResponseFromDownload):
22493         * UIProcess/API/qt/qquickwebview_p.h:
22494         * UIProcess/API/qt/qquickwebview_p_p.h:
22495         * UIProcess/API/qt/qwebdownloaditem_p.h:
22496         * UIProcess/qt/QtPageClient.cpp:
22497         (QtPageClient::handleDownloadRequest):
22498         * UIProcess/qt/QtPageClient.h:
22499         * UIProcess/qt/QtWebPageProxy.cpp:
22500         (QtWebPageProxy::QtWebPageProxy):
22501         * UIProcess/qt/QtWebPageProxy.h:
22502
22503 2011-12-14  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
22504
22505         [Qt] [WK2] Move QWebNavigationHistory to QQuickWebView
22506         https://bugs.webkit.org/show_bug.cgi?id=74442
22507
22508         Reviewed by Simon Hausmann.
22509
22510         QWebNavigationHistory used QtWebPageProxy to be QObject parent of the inner models,
22511         this patch change that to use OwnPtr instead. When creating the history object we pass
22512         only the WKPageRef and let it get the backForwardList.
22513
22514         * UIProcess/API/qt/qquickwebview.cpp:
22515         (QQuickWebViewPrivate::initialize):
22516         (QQuickWebViewPrivate::didChangeBackForwardList):
22517         (QQuickWebViewExperimental::navigationHistory):
22518         (QQuickWebViewExperimental::goForwardTo):
22519         (QQuickWebViewExperimental::goBackTo):
22520         * UIProcess/API/qt/qquickwebview_p_p.h:
22521         * UIProcess/API/qt/qwebnavigationhistory.cpp:
22522         (QWebNavigationListModelPrivate::createWebNavigationModel):
22523         (QWebNavigationHistoryPrivate::QWebNavigationHistoryPrivate):
22524         (QWebNavigationHistoryPrivate::createHistory):
22525         (QWebNavigationHistoryPrivate::goBackTo):
22526         (QWebNavigationHistoryPrivate::goForwardTo):
22527         (QWebNavigationListModel::QWebNavigationListModel):
22528         (QWebNavigationHistory::backItems):
22529         (QWebNavigationHistory::forwardItems):
22530         * UIProcess/API/qt/qwebnavigationhistory_p.h:
22531         * UIProcess/API/qt/qwebnavigationhistory_p_p.h:
22532         * UIProcess/qt/QtWebPageProxy.cpp:
22533         (QtWebPageProxy::QtWebPageProxy):
22534         * UIProcess/qt/QtWebPageProxy.h:
22535
22536 2011-12-14  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
22537
22538         [Qt][WK2] Remove DrawingArea and QtWebPageEventHandler code from QtWebPageProxy
22539         https://bugs.webkit.org/show_bug.cgi?id=74414
22540
22541         Reviewed by Simon Hausmann.
22542
22543         This also moves QtWebPageEventHandler to inside QQuickWebPagePrivate, to avoid
22544         the WebPage having a backpointer to the QQuickWebView.
22545
22546         * Target.pri:
22547         * UIProcess/API/qt/qquickwebpage.cpp:
22548         (QQuickWebPage::geometryChanged):
22549         (QQuickWebPage::event):
22550         (QQuickWebPagePrivate::QQuickWebPagePrivate):
22551         (QQuickWebPagePrivate::initialize):
22552         (QQuickWebPagePrivate::setDrawingAreaSize):
22553         (QQuickWebPagePrivate::paintToCurrentGLContext):
22554         (QQuickWebPagePrivate::resetPaintNode):
22555         * UIProcess/API/qt/qquickwebpage_p.h:
22556         * UIProcess/API/qt/qquickwebpage_p_p.h:
22557         * UIProcess/API/qt/qquickwebview.cpp:
22558         (QQuickWebViewPrivate::initialize):
22559         (QQuickWebViewPrivate::initializeDesktop):
22560         (QQuickWebViewPrivate::initializeTouch):
22561         (QQuickWebViewPrivate::_q_resume):
22562         (QQuickWebViewPrivate::processDidCrash):
22563         (QQuickWebViewPrivate::didRelaunchProcess):
22564         (QQuickWebViewPrivate::createDrawingAreaProxy):
22565         (QQuickWebViewPrivate::updateVisibleContentRectAndScale):
22566         (QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged):
22567         (QQuickWebViewPrivate::updateViewportSize):
22568         * UIProcess/API/qt/qquickwebview_p_p.h:
22569         * UIProcess/qt/QtPageClient.cpp:
22570         (QtPageClient::createDrawingAreaProxy):
22571         * UIProcess/qt/QtPageClient.h:
22572         (QtPageClient::findStringInCustomRepresentation):
22573         (QtPageClient::countStringMatchesInCustomRepresentation):
22574         * UIProcess/qt/QtWebPageEventHandler.cpp:
22575         (QtWebPageEventHandler::QtWebPageEventHandler):
22576         (QtWebPageEventHandler::startDrag):
22577         * UIProcess/qt/QtWebPageEventHandler.h:
22578         * UIProcess/qt/QtWebPageProxy.cpp:
22579         (QtWebPageProxy::init):
22580         * UIProcess/qt/QtWebPageProxy.h:
22581
22582 2011-12-13  Gustavo Noronha Silva  <gns@gnome.org>
22583
22584         Unreviewed build fix.
22585
22586         * GNUmakefile.am: make sure we do not derreference the target link
22587         if it already exists, and replace it with the new one instead,
22588         otherwise we end up with a gtk link inside
22589         Source/WebKit2/UIProcess/API/gtk, which causes the documentation
22590         build to produce warnings, and make the build fail.
22591
22592 2011-12-13  Andreas Kling  <kling@webkit.org>
22593
22594         REGRESSION (r102652): New window opens with zero size at produbanco.com
22595         <http://webkit.org/b/74418> and <rdar://problem/10565998>
22596
22597         Reviewed by Anders Carlsson.
22598
22599         Don't use the cached window frame if it's empty (meaning we haven't received
22600         a WindowAndViewFramesChanged message yet.) Instead use the synchronous
22601         GetWindowFrame (WP->UIP) message.
22602
22603         This situation occurs when opening a new window via window.open(), in which
22604         WebCore::createWindow() will query the windowRect() on the new window.
22605
22606         I spent a long time trying to write a layout test for this but couldn't come
22607         up with something reliable. The windowRect() is non-empty before we get a
22608         chance to run JS in/on the new window, and we can't check against the
22609         requested geometry since it varies depending on whether the window manager
22610         has shown the new window yet.
22611
22612         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
22613         (WebKit::WebChromeClient::windowRect):
22614
22615 2011-12-13  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
22616
22617         [Qt][WK2] Make QtPageClient dispatch directly to WebView when possible
22618         https://bugs.webkit.org/show_bug.cgi?id=74407
22619
22620         Reviewed by Simon Hausmann.
22621
22622         * UIProcess/API/qt/qquickwebview.cpp:
22623         (QQuickWebViewPrivate::QQuickWebViewPrivate):
22624         (QQuickWebViewPrivate::~QQuickWebViewPrivate):
22625         (QQuickWebViewPrivate::initialize):
22626         (QQuickWebViewPrivate::pageDidRequestScroll):
22627         (QQuickWebViewPrivate::processDidCrash):
22628         (QQuickWebViewPrivate::didRelaunchProcess):
22629         (QQuickWebViewPrivate::viewSize):
22630         (QQuickWebViewPrivate::didReceiveMessageFromNavigatorQtObject):
22631         (QQuickWebViewExperimental::QQuickWebViewExperimental):
22632         (QQuickWebView::QQuickWebView):
22633         * UIProcess/API/qt/qquickwebview_p_p.h:
22634         * UIProcess/qt/QtPageClient.cpp:
22635         (QtPageClient::QtPageClient):
22636         (QtPageClient::setViewNeedsDisplay):
22637         (QtPageClient::pageDidRequestScroll):
22638         (QtPageClient::processDidCrash):
22639         (QtPageClient::didRelaunchProcess):
22640         (QtPageClient::didChangeContentsSize):
22641         (QtPageClient::didChangeViewportProperties):
22642         (QtPageClient::createPopupMenuProxy):
22643         (QtPageClient::didReceiveMessageFromNavigatorQtObject):
22644         (QtPageClient::viewSize):
22645         (QtPageClient::isViewFocused):
22646         (QtPageClient::isViewVisible):
22647         * UIProcess/qt/QtPageClient.h:
22648         (QtPageClient::initialize):
22649         * UIProcess/qt/QtWebPageProxy.cpp:
22650         (QtWebPageProxy::QtWebPageProxy):
22651         * UIProcess/qt/QtWebPageProxy.h:
22652
22653 2011-12-13  Carlos Garcia Campos  <cgarcia@igalia.com>
22654
22655         [GTK] Add support for javascript dialogs in WebKit2 GTK+ API
22656         https://bugs.webkit.org/show_bug.cgi?id=71362
22657
22658         Reviewed by Martin Robinson.
22659
22660         * UIProcess/API/gtk/WebKitUIClient.cpp:
22661         (runJavaScriptAlert): Call webkitWebViewRunJavaScriptAlert().
22662         (runJavaScriptConfirm): Call webkitWebViewRunJavaScriptConfirm().
22663         (runJavaScriptPrompt): Call webkitWebViewRunJavaScriptPrompt().
22664         (webkitUIClientAttachUIClientToPage): Add implementation for
22665         runJavaScriptAlert, runJavaScriptConfirm and runJavaScriptPrompt
22666         callbacks.
22667         * UIProcess/API/gtk/WebKitWebView.cpp:
22668         (webkitWebViewCreateJavaScriptDialog):  Helper function to create
22669         javascript dialogs.
22670         (webkitWebViewScriptAlert): Default implementation of signal
22671         WebKitWebView::script-alert that shows a message dialog.
22672         (webkitWebViewScriptConfirm): Default implementation of signal
22673         WebKitWebView::script-confirm that shows a question dialog.
22674         (webkitWebViewScriptPrompt): Default implementation of signal
22675         WebKitWebView::script-prompt that shows a question dialog with a
22676         text entry.
22677         (webkit_web_view_class_init):
22678         (webkitWebViewRunJavaScriptAlert): Emit WebKitWebView::script-alert.
22679         (webkitWebViewRunJavaScriptConfirm): Emit WebKitWebView::script-confirm.
22680         (webkitWebViewRunJavaScriptPrompt): Emit WebKitWebView::script-prompt.
22681         * UIProcess/API/gtk/WebKitWebView.h:
22682         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
22683         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
22684         (testWebViewJavaScriptDialogs):
22685         (beforeAll):
22686         * UIProcess/API/gtk/webkit2marshal.list:
22687
22688 2011-12-13  Kenneth Rohde Christiansen  <kenneth@webkit.org>
22689
22690         [Qt] Make sure that touch events result in the page view gaining focus
22691
22692         Reviewed by Simon Hausmann.
22693
22694         * UIProcess/API/qt/qquickwebpage.cpp:
22695         (QQuickWebPage::touchEvent): Force active focus.
22696         * UIProcess/API/qt/qquickwebview.cpp:
22697         * UIProcess/API/qt/qquickwebview_p.h: Remove ::touchEvent override.
22698
22699 2011-12-13  Carlos Garcia Campos  <cgarcia@igalia.com>
22700
22701         [GTK] Initial UI client implementation for WebKit2 GTK +API
22702         https://bugs.webkit.org/show_bug.cgi?id=69753
22703
22704         Reviewed by Martin Robinson.
22705
22706         * GNUmakefile.am: Add new files to compilation.
22707         * UIProcess/API/gtk/WebKitUIClient.cpp: Added.
22708         (createNewPage): Call webkitWebViewCreateNewPage.
22709         (showPage): Call webkitWebViewReadyToShowPage.
22710         (closePage): Call webkitWebViewClosePage.
22711         (webkitUIClientAttachUIClientToPage): Initialize UI client and
22712         attach it to the given page.
22713         (webkit_ui_client_init):
22714         (webkit_ui_client_class_init):
22715         * UIProcess/API/gtk/WebKitUIClient.h: Added.
22716         * UIProcess/API/gtk/WebKitWebView.cpp:
22717         (webkitWebViewCreate): Default implementation of signal
22718         WebKitWebView::create that simply returns NULL.
22719         (webkitWebViewConstructed): Create the default UI client.
22720         (webkitWebViewAccumulatorObjectHandled):
22721         (webkit_web_view_class_init):
22722         (webkitWebViewCreateNewPage): Emit create signal.
22723         (webkitWebViewReadyToShowPage): Emit ready-to-show signal.
22724         (webkitWebViewClosePage): Emit close signal.
22725         * UIProcess/API/gtk/WebKitWebView.h:
22726         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
22727         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
22728         (testWebViewCreateReadyClose):
22729         (beforeAll):
22730         * UIProcess/API/gtk/webkit2marshal.list:
22731
22732 2011-12-13  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
22733
22734         [Qt][WK2] Move load & navigation related functions out of QtWebPageProxy
22735         https://bugs.webkit.org/show_bug.cgi?id=74395
22736
22737         Reviewed by Simon Hausmann.
22738
22739         * Target.pri:
22740         * UIProcess/API/qt/qquickwebview.cpp:
22741         (QQuickWebViewPrivate::_q_onVisibleChanged):
22742         (QQuickWebViewPrivate::updateViewportSize):
22743         (QQuickWebViewPrivate::computeViewportConstraints):
22744         (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
22745         (QQuickWebViewPrivate::webPageProxy):
22746         (QQuickWebView::load):
22747         (QQuickWebView::goBack):
22748         (QQuickWebView::goForward):
22749         (QQuickWebView::stop):
22750         (QQuickWebView::reload):
22751         (QQuickWebView::url):
22752         (QQuickWebView::canGoBack):
22753         (QQuickWebView::canGoForward):
22754         (QQuickWebView::loading):
22755         (QQuickWebView::canReload):
22756         (QQuickWebView::title):
22757         (QQuickWebView::loadHtml):
22758         * UIProcess/API/qt/qquickwebview_p_p.h:
22759         * UIProcess/qt/QtWebPageProxy.cpp:
22760         (QtWebPageProxy::didReceiveMessageFromNavigatorQtObject):
22761         * UIProcess/qt/QtWebPageProxy.h:
22762
22763 2011-12-13  Carlos Garcia Campos  <cgarcia@igalia.com>
22764
22765         Unreviewed. Fix GTK+ build after r102640.
22766
22767         * GNUmakefile.am: Add DownloadProxy sources again.
22768
22769 2011-12-12  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
22770
22771         [Qt][WK2] Move undo & edit command PageClient callbacks into QtWebUndoController
22772         https://bugs.webkit.org/show_bug.cgi?id=74364
22773
22774         Reviewed by Simon Hausmann.
22775
22776         The four callbacks in PageClient related to Undo depend only on the QUndoStack. So we
22777         move their handling to a QtWebUndoController (owned by QQuickWebViewPrivate). This also
22778         make QtWebUndoCommand an implementation detail.
22779
22780         * Target.pri:
22781         * UIProcess/API/qt/qquickwebview.cpp:
22782         (QQuickWebViewPrivate::QQuickWebViewPrivate):
22783         * UIProcess/API/qt/qquickwebview_p_p.h:
22784         * UIProcess/qt/QtPageClient.cpp:
22785         (QtPageClient::registerEditCommand):
22786         (QtPageClient::clearAllEditCommands):
22787         (QtPageClient::canUndoRedo):
22788         (QtPageClient::executeUndoRedo):
22789         * UIProcess/qt/QtPageClient.h:
22790         (QtPageClient::initialize):
22791         * UIProcess/qt/QtWebPageProxy.cpp:
22792         * UIProcess/qt/QtWebPageProxy.h:
22793         * UIProcess/qt/QtWebUndoController.cpp: Renamed from Source/WebKit2/UIProcess/qt/QtWebUndoCommand.cpp.
22794         (QtWebUndoCommand::inUndoRedo):
22795         (QtWebUndoCommand::QtWebUndoCommand):
22796         (QtWebUndoCommand::~QtWebUndoCommand):
22797         (QtWebUndoCommand::redo):
22798         (QtWebUndoCommand::undo):
22799         (QtWebUndoController::QtWebUndoController):
22800         (QtWebUndoController::registerEditCommand):
22801         (QtWebUndoController::clearAllEditCommands):
22802         (QtWebUndoController::canUndoRedo):
22803         (QtWebUndoController::executeUndoRedo):
22804         * UIProcess/qt/QtWebUndoController.h: Renamed from Source/WebKit2/UIProcess/qt/QtWebUndoCommand.h.
22805
22806 2011-12-12  Andreas Kling  <kling@webkit.org>
22807
22808         Resizing Cappuccino is very laggy on WebKit since Safari 5.1
22809         <http://webkit.org/b/71354> and <rdar://problem/10565998>
22810
22811         Reviewed by Anders Carlsson.
22812
22813         On Mac, we already cache the window rect through the WindowAndViewFramesChanged
22814         message, so simply return that in WebChromeClient::windowRect() instead of
22815         sending a synchronous query to the UIProcess.
22816
22817         Changed WindowAndViewFramesChanged to pass FloatRect/FloatPoint rather than
22818         IntRect/IntPoint to match the ChromeClient::windowRect() return type.
22819
22820         * UIProcess/API/mac/WKView.mm:
22821         (-[WKView _updateWindowAndViewFrames]):
22822         * UIProcess/WebPageProxy.cpp:
22823         (WebKit::WebPageProxy::setWindowFrame):
22824         * UIProcess/WebPageProxy.h:
22825         * UIProcess/mac/WebPageProxyMac.mm:
22826         (WebKit::WebPageProxy::windowAndViewFramesChanged):
22827         * WebProcess/Plugins/PluginView.cpp:
22828         (WebKit::PluginView::windowAndViewFramesChanged):
22829         * WebProcess/Plugins/PluginView.h:
22830         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
22831         (WebKit::WebChromeClient::windowRect):
22832         * WebProcess/WebPage/WebPage.cpp:
22833         (WebKit::WebPage::windowAndViewFramesChanged):
22834         * WebProcess/WebPage/WebPage.h:
22835         (WebKit::WebPage::windowFrameInScreenCoordinates):
22836         (WebKit::WebPage::viewFrameInWindowCoordinates):
22837         (WebKit::WebPage::accessibilityPosition):
22838         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
22839         (-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):
22840
22841 2011-12-12  Anders Carlsson  <andersca@apple.com>
22842
22843         Add EventDispatcher class to WebKit2
22844         https://bugs.webkit.org/show_bug.cgi?id=74344
22845
22846         Reviewed by Sam Weinig.
22847
22848         The EventDispatcher is a singleton which will be in charge of dispatching events to WebPage objects.
22849
22850         * DerivedSources.make:
22851         * DerivedSources.pri:
22852         * GNUmakefile.am:
22853         * Target.pri:
22854         * WebKit2.xcodeproj/project.pbxproj:
22855         * win/WebKit2.vcproj:
22856         Add new files.
22857
22858         * Platform/CoreIPC/MessageID.h:
22859         Add EventDispatcher.
22860
22861         * WebProcess/WebConnectionToUIProcess.cpp:
22862         (WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess):
22863         (WebKit::WebConnectionToUIProcess::invalidate):
22864         * WebProcess/WebConnectionToUIProcess.h:
22865         WebConnectionToUIProcess doesn't need to be a QueueClient. Also, move the call to open into WebProcess since
22866         we don't want to add queue clients after the connection has been opened.
22867
22868         * WebProcess/WebPage/EventDispatcher.cpp: Added.
22869         (WebKit::EventDispatcher::EventDispatcher):
22870         (WebKit::EventDispatcher::~EventDispatcher):
22871         (WebKit::EventDispatcher::didReceiveMessageOnConnectionWorkQueue):
22872         (WebKit::EventDispatcher::wheelEvent):
22873         * WebProcess/WebPage/EventDispatcher.h:
22874         * WebProcess/WebPage/EventDispatcher.messages.in: Added.
22875         Add new stub files.
22876
22877         * WebProcess/WebProcess.cpp:
22878         (WebKit::WebProcess::initialize):
22879         Add the event dispatcher as a queue client.
22880
22881         * WebProcess/WebProcess.h:
22882         Add an EventDispatcher member variable to the web process.
22883
22884 2011-12-12  Sam Weinig  <sam@webkit.org>
22885
22886         Prefix internal methods in Objective-C API files with an underscore
22887         https://bugs.webkit.org/show_bug.cgi?id=74363
22888
22889         Reviewed by Dan Bernstein.
22890
22891         * UIProcess/API/mac/WKBrowsingContextController.mm:
22892         (-[WKBrowsingContextController _pageRef]):
22893         (-[WKBrowsingContextController loadRequest:]):
22894         (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]):
22895         (-[WKBrowsingContextController stopLoading]):
22896         (-[WKBrowsingContextController reload]):
22897         (-[WKBrowsingContextController reloadFromOrigin]):
22898         (-[WKBrowsingContextController goForward]):
22899         (-[WKBrowsingContextController canGoForward]):
22900         (-[WKBrowsingContextController goBack]):
22901         (-[WKBrowsingContextController canGoBack]):
22902         (-[WKBrowsingContextController activeURL]):
22903         (-[WKBrowsingContextController provisionalURL]):
22904         (-[WKBrowsingContextController committedURL]):
22905         (-[WKBrowsingContextController title]):
22906         (-[WKBrowsingContextController textZoom]):
22907         (-[WKBrowsingContextController setTextZoom:]):
22908         (-[WKBrowsingContextController pageZoom]):
22909         (-[WKBrowsingContextController setPageZoom:]):
22910         (-[WKBrowsingContextController setPaginationMode:]):
22911         (-[WKBrowsingContextController paginationMode]):
22912         (-[WKBrowsingContextController setPageLength:]):
22913         (-[WKBrowsingContextController pageLength]):
22914         (-[WKBrowsingContextController setGapBetweenPages:]):
22915         (-[WKBrowsingContextController gapBetweenPages]):
22916         (-[WKBrowsingContextController pageCount]):
22917         (-[WKBrowsingContextController _initWithPageRef:]):
22918         * UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
22919         * UIProcess/API/mac/WKBrowsingContextGroup.mm:
22920         (-[WKBrowsingContextGroup allowsJavaScript]):
22921         (-[WKBrowsingContextGroup setAllowsJavaScript:]):
22922         (-[WKBrowsingContextGroup allowsPlugIns]):
22923         (-[WKBrowsingContextGroup setAllowsPlugIns:]):
22924         (-[WKBrowsingContextGroup _pageGroupRef]):
22925         * UIProcess/API/mac/WKBrowsingContextGroupInternal.h:
22926         * UIProcess/API/mac/WKConnection.mm:
22927         (-[WKConnection _initWithConnectionRef:]):
22928         * UIProcess/API/mac/WKConnectionInternal.h:
22929         * UIProcess/API/mac/WKProcessGroup.mm:
22930         (didCreateConnection):
22931         (-[WKProcessGroup _contextRef]):
22932         * UIProcess/API/mac/WKProcessGroupInternal.h:
22933         * UIProcess/API/mac/WKView.mm:
22934         (-[WKView initWithFrame:processGroup:browsingContextGroup:]):
22935         (-[WKView browsingContextController]):
22936
22937 2011-12-12  Ryosuke Niwa  <rniwa@webkit.org>
22938
22939         WebKit code shouldn't be calling applyCommand directly
22940         https://bugs.webkit.org/show_bug.cgi?id=74337
22941
22942         Reviewed by Darin Adler.
22943
22944         * WebProcess/WebPage/WebPage.cpp:
22945         (WebKit::WebPage::replaceSelectionWithText):
22946
22947 2011-12-12  Sam Weinig  <sam@webkit.org>
22948
22949         Remove unused getter on WKConnection.
22950
22951         Reviewed by Dan Bernstein.
22952
22953         * UIProcess/API/mac/WKConnection.mm:
22954
22955 2011-12-12  Brady Eidson  <beidson@apple.com>
22956
22957         Page cache should support pages with plugins.
22958         <rdar://problem/5190122> and https://bugs.webkit.org/show_bug.cgi?id=13634
22959
22960         Expose a WebKit2 preference for the page cache supporting plugins (on by default).
22961
22962         Reviewed by Anders Carlsson.
22963
22964         * Shared/WebPreferencesStore.h:
22965
22966         * UIProcess/API/C/WKPreferences.cpp:
22967         (WKPreferencesSetPageCacheSupportsPlugins):
22968         (WKPreferencesGetPageCacheSupportsPlugins):
22969         * UIProcess/API/C/WKPreferencesPrivate.h:
22970
22971         * WebProcess/WebPage/WebPage.cpp:
22972         (WebKit::WebPage::updatePreferences):
22973
22974 2011-12-12  Sam Weinig  <sam@webkit.org>
22975
22976         Add WKConnection objective-c wrapper around WKConnectionRef
22977         <rdar://problem/10446092>
22978         https://bugs.webkit.org/show_bug.cgi?id=74324
22979
22980         Reviewed by Anders Carlsson.
22981
22982         * UIProcess/API/mac/WKConnection.h: Added.
22983         * UIProcess/API/mac/WKConnection.mm: Added.
22984         (-[WKConnection dealloc]):
22985         (-[WKConnection connectionRef]):
22986         (-[WKConnection delegate]):
22987         (-[WKConnection setDelegate:]):
22988         (didReceiveMessage):
22989         (didClose):
22990         (setUpClient):
22991         (-[WKConnection initWithConnectionRef:]):
22992         * UIProcess/API/mac/WKConnectionInternal.h: Added.
22993         Added new class.
22994
22995         * UIProcess/API/mac/WKProcessGroup.h:
22996         * UIProcess/API/mac/WKProcessGroup.mm:
22997         (didCreateConnection):
22998         (setUpConnectionClient):
22999         (-[WKProcessGroup initWithInjectedBundleURL:]):
23000         (-[WKProcessGroup delegate]):
23001         (-[WKProcessGroup setDelegate:]):
23002         Add WKProcessGroupDelegate to inform the user of when connections are established.
23003
23004         * WebKit2.xcodeproj/project.pbxproj:
23005         Add new files.
23006
23007 2011-12-12  Anders Carlsson  <andersca@apple.com>
23008
23009         Rename QueueClient::willProcessMessageOnClientRunLoop
23010         https://bugs.webkit.org/show_bug.cgi?id=74325
23011
23012         Reviewed by Sam Weinig.
23013
23014         Rename the QueueClient willProcessMessageOnClientRunLoop function to didReceiveMessageOnConnectionWorkQueue
23015         and give it an out parameter to indicate whether the message was handled or not. This makes it more clear that
23016         the function is expected to handle the message.
23017
23018         * Platform/CoreIPC/Connection.cpp:
23019         (CoreIPC::Connection::processIncomingMessage):
23020         * Platform/CoreIPC/Connection.h:
23021         * Scripts/webkit2/messages.py:
23022         (async_case_statement):
23023         * Scripts/webkit2/messages_unittest.py:
23024         * WebProcess/WebConnectionToUIProcess.cpp:
23025         (WebKit::WebConnectionToUIProcess::didReceiveMessageOnConnectionWorkQueue):
23026         * WebProcess/WebConnectionToUIProcess.h:
23027         * WebProcess/WebProcess.cpp:
23028         (WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
23029         * WebProcess/WebProcess.h:
23030
23031 2011-12-12  Alexis Menard  <alexis.menard@openbossa.org>
23032
23033         Unreviewed cleanup fix.
23034
23035         Add missing files from https://bugs.webkit.org/show_bug.cgi?id=73016
23036
23037         Also remove the files that should be removed.
23038
23039         * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml: Added.
23040         * UIProcess/qt/qwkhistory.cpp: Removed.
23041         * UIProcess/qt/qwkhistory.h: Removed.
23042         * UIProcess/qt/qwkhistory_p.h: Removed.
23043
23044 2011-12-12  Michael Bruning  <michael.bruning@nokia.com>
23045
23046         [qt][wk2] Postpone scroll effects when page transition is ongoing.
23047         https://bugs.webkit.org/show_bug.cgi?id=74177
23048
23049         Reviewed by Kenneth Rohde Christiansen.
23050
23051         * UIProcess/API/qt/qquickwebview.cpp:
23052         (QQuickWebViewPrivate::scrollPositionRequested):
23053         * UIProcess/API/qt/qquickwebview_p_p.h:
23054         (QQuickWebViewPrivate::PostTransitionState::apply):
23055
23056 2011-12-12  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
23057
23058         [Qt][WK2] Remove dead code from QtWebPageProxy
23059         https://bugs.webkit.org/show_bug.cgi?id=74296
23060
23061         Reviewed by Andreas Kling.
23062
23063         * UIProcess/qt/QtWebPageProxy.cpp:
23064         * UIProcess/qt/QtWebPageProxy.h:
23065
23066 2011-12-12  Simon Hausmann  <simon.hausmann@nokia.com>
23067
23068         Unreviewed build fix.
23069
23070         Add missing files from https://bugs.webkit.org/show_bug.cgi?id=73016
23071
23072         * UIProcess/API/qt/qwebnavigationhistory.cpp: Added.
23073         (QWebNavigationListModelPrivate::QWebNavigationListModelPrivate):
23074         (QWebNavigationListModelPrivate::createWebNavigationModel):
23075         (QWebNavigationHistoryPrivate::QWebNavigationHistoryPrivate):
23076         (QWebNavigationHistoryPrivate::createHistory):
23077         (QWebNavigationHistoryPrivate::reset):
23078         (QWebNavigationHistoryPrivate::goBackTo):
23079         (QWebNavigationHistoryPrivate::goForwardTo):
23080         (QWebNavigationListModel::QWebNavigationListModel):
23081         (QWebNavigationListModel::~QWebNavigationListModel):
23082         (QWebNavigationListModel::rowCount):
23083         (QWebNavigationListModel::data):
23084         (QWebNavigationHistory::QWebNavigationHistory):
23085         (QWebNavigationHistory::~QWebNavigationHistory):
23086         (QWebNavigationHistory::backItems):
23087         (QWebNavigationHistory::forwardItems):
23088         * UIProcess/API/qt/qwebnavigationhistory_p.h: Added.
23089         * UIProcess/API/qt/qwebnavigationhistory_p_p.h: Added.
23090
23091 2011-12-12  Simon Hausmann  <simon.hausmann@nokia.com>
23092
23093         [Qt] Move postMessage/messageReceived APIS to experimental
23094
23095         Reviewed by Tor Arne Vestbø.
23096
23097         * UIProcess/API/qt/qquickwebview.cpp:
23098         (QQuickWebViewPrivate::setPageProxy):
23099         (QQuickWebViewExperimental::QQuickWebViewExperimental):
23100         (QQuickWebViewExperimental::postMessage):
23101         * UIProcess/API/qt/qquickwebview_p.h:
23102         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
23103
23104 2011-12-12  Alexis Menard  <alexis.menard@openbossa.org>
23105
23106         [Qt][WK2] History is not accessible in QML.
23107         https://bugs.webkit.org/show_bug.cgi?id=73016
23108
23109         Reviewed by Simon Hausmann.
23110
23111         Remove the old qwkhistory and create QWebNavigationHistory which is QML
23112         friendly with data models you can plug to a view in QML
23113
23114         * Target.pri:
23115         * UIProcess/API/qt/qquickwebview.cpp:
23116         (QQuickWebViewPrivate::didChangeBackForwardList):
23117         (QQuickWebViewExperimental::navigationHistory):
23118         (QQuickWebViewExperimental::goForwardTo):
23119         (QQuickWebViewExperimental::goBackTo):
23120         * UIProcess/API/qt/qquickwebview_p.h:
23121         * UIProcess/API/qt/qquickwebview_p_p.h:
23122         * UIProcess/API/qt/qwebnavigationhistory.cpp: Added.
23123         (QWebNavigationListModelPrivate::QWebNavigationListModelPrivate):
23124         (QWebNavigationListModelPrivate::createWebNavigationModel):
23125         (QWebNavigationHistoryPrivate::QWebNavigationHistoryPrivate):
23126         (QWebNavigationHistoryPrivate::createHistory):
23127         (QWebNavigationHistoryPrivate::reset):
23128         (QWebNavigationHistoryPrivate::goBackTo):
23129         (QWebNavigationHistoryPrivate::goForwardTo):
23130         (QWebNavigationListModel::QWebNavigationListModel):
23131         (QWebNavigationListModel::~QWebNavigationListModel):
23132         (QWebNavigationListModel::rowCount):
23133         (QWebNavigationListModel::data):
23134         (QWebNavigationHistory::QWebNavigationHistory):
23135         (QWebNavigationHistory::~QWebNavigationHistory):
23136         (QWebNavigationHistory::backItems):
23137         (QWebNavigationHistory::forwardItems):
23138         * UIProcess/API/qt/qwebnavigationhistory_p.h: Added.
23139         * UIProcess/API/qt/qwebnavigationhistory_p_p.h: Renamed from Source/WebKit2/UIProcess/qt/qwkhistory_p.h.
23140         * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml: Added.
23141         * UIProcess/qt/QtWebPageLoadClient.cpp:
23142         (QtWebPageLoadClient::QtWebPageLoadClient):
23143         (QtWebPageLoadClient::didChangeBackForwardList):
23144         * UIProcess/qt/QtWebPageLoadClient.h:
23145         * UIProcess/qt/QtWebPageProxy.cpp:
23146         (QtWebPageProxy::QtWebPageProxy):
23147         (QtWebPageProxy::~QtWebPageProxy):
23148         (QtWebPageProxy::goBackTo):
23149         (QtWebPageProxy::goForwardTo):
23150         (QtWebPageProxy::navigationHistory):
23151         * UIProcess/qt/QtWebPageProxy.h:
23152         * UIProcess/qt/qwkhistory.cpp: Removed.
23153         * UIProcess/qt/qwkhistory.h: Removed.
23154
23155 2011-12-09  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
23156
23157         [Qt][WK2] Move startDrag implementation to QtWebPageEventHandler
23158         https://bugs.webkit.org/show_bug.cgi?id=73145
23159
23160         Reviewed by Simon Hausmann.
23161
23162         Move QtWebPageProxy::startDrag to QtWebPageEventHandler::startDrag
23163         and call it straight from QtPageClient.
23164
23165         * UIProcess/API/qt/qquickwebview.cpp:
23166         (QQuickWebViewPrivate::QQuickWebViewPrivate):
23167         * UIProcess/qt/QtWebPageEventHandler.cpp:
23168         (dragOperationToDropAction):
23169         (dragOperationToDropActions):
23170         (dropActionToDragOperation):
23171         Now these functions are static inline and not part of QtWebPageEventHandler
23172         anymore.
23173
23174         (QtWebPageEventHandler::QtWebPageEventHandler):
23175         (QtWebPageEventHandler::startDrag):
23176         * UIProcess/qt/QtWebPageEventHandler.h:
23177         * UIProcess/qt/QtWebPageProxy.cpp:
23178         (QtWebPageProxy::startDrag): removed.
23179
23180 2011-12-12  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
23181
23182         [Qt] [WK2] Support customizing popup menus with QML
23183         https://bugs.webkit.org/show_bug.cgi?id=73560
23184
23185         Reviewed by Tor Arne Vestbø.
23186
23187         Add a new property 'itemSelector' to WebView (experimental for now) that contains
23188         the QML component used when it needs to spawn a popup menu. For example, <select>
23189         HTML tag may trigger a popup menu.
23190
23191         When loaded the component will have the 'model' available in its context with two
23192         properties: 'elementRect', describing the position of the element which spawned
23193         the item selector, and 'items', which is a model ready to be used by ListView. The
23194         'model' also have methods to accept/reject the selection.
23195
23196         Option groups are available as a property for each row in the 'items' model. This
23197         can be used together with ListView to create sections, as demonstrated in the
23198         MiniBrowser. QML tests were added as well.
23199
23200         The existing Desktop version is removed since after the Qt5 refactoring isn't
23201         working correctly. Once Qt have its own QML components for popup, we hope to use
23202         it as a default if no other popupMenu is specified.
23203
23204         * Target.pri:
23205         * UIProcess/API/qt/qquickwebview.cpp:
23206         (QQuickWebViewPrivate::QQuickWebViewPrivate):
23207         (QQuickWebViewExperimental::itemSelector):
23208         (QQuickWebViewExperimental::setItemSelector):
23209         * UIProcess/API/qt/qquickwebview_p.h:
23210         * UIProcess/API/qt/qquickwebview_p_p.h:
23211         (QQuickWebViewPrivate::get):
23212         * UIProcess/API/qt/tests/qmltests/WebView/tst_itemSelector.qml: Added.
23213         * UIProcess/API/qt/tests/qmltests/common/select.html: Added.
23214         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
23215         * UIProcess/qt/QtPageClient.cpp:
23216         * UIProcess/qt/QtWebPageProxy.cpp:
23217         (QtWebPageProxy::createPopupMenuProxy):
23218         * UIProcess/qt/WebPopupMenuProxyQt.cpp:
23219         (WebKit::PopupMenuItemModel::rowCount):
23220         (WebKit::PopupMenuItemModel::Item::Item):
23221         (WebKit::ItemSelectorContextObject::elementRect):
23222         (WebKit::ItemSelectorContextObject::items):
23223         (WebKit::ItemSelectorContextObject::reject):
23224         (WebKit::ItemSelectorContextObject::ItemSelectorContextObject):
23225         (WebKit::ItemSelectorContextObject::accept):
23226         (WebKit::createRoleNamesHash):
23227         (WebKit::PopupMenuItemModel::PopupMenuItemModel):
23228         (WebKit::PopupMenuItemModel::data):
23229         (WebKit::PopupMenuItemModel::select):
23230         (WebKit::PopupMenuItemModel::selectedOriginalIndex):
23231         (WebKit::PopupMenuItemModel::buildItems):
23232         (WebKit::WebPopupMenuProxyQt::WebPopupMenuProxyQt):
23233         (WebKit::WebPopupMenuProxyQt::showPopupMenu):
23234         (WebKit::WebPopupMenuProxyQt::hidePopupMenu):
23235         (WebKit::WebPopupMenuProxyQt::selectIndex):
23236         (WebKit::WebPopupMenuProxyQt::createItem):
23237         (WebKit::WebPopupMenuProxyQt::createContext):
23238         (WebKit::WebPopupMenuProxyQt::notifyValueChanged):
23239         * UIProcess/qt/WebPopupMenuProxyQt.h:
23240         (WebKit::WebPopupMenuProxyQt::create):
23241         * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp: Removed.
23242         * UIProcess/qt/WebPopupMenuProxyQtDesktop.h: Removed.
23243
23244 2011-12-11  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
23245
23246         [Qt] QQuickWebView missing titleChanged signal tests
23247         https://bugs.webkit.org/show_bug.cgi?id=73923
23248
23249         Reviewed by Simon Hausmann.
23250
23251         Added tests for QQuickWebView tilteChanged signal.
23252
23253         * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml: Added.
23254         * UIProcess/API/qt/tests/qmltests/common/test3.html: Added.
23255         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
23256
23257 2011-12-11  Anders Carlsson  <andersca@apple.com>
23258
23259         Crash when trying to garbage collect JavaScript objects
23260         https://bugs.webkit.org/show_bug.cgi?id=74259
23261         <rdar://problem/10556188>
23262
23263         Reviewed by Sam Weinig.
23264
23265         * UIProcess/WebContext.cpp:
23266         (WebKit::WebContext::garbageCollectJavaScriptObjects):
23267         Use sendToAllProcesses which is more correct and also handles m_process being null.
23268
23269 2011-12-11  Andreas Kling  <kling@webkit.org>
23270
23271         WK2/NetscapePlugin: Incorrect mouse event coordinates when frameScaleFactor != 1.
23272         <http://webkit.org/b/74209> and <rdar://problem/10438197>
23273
23274         Reviewed by Anders Carlsson.
23275
23276         * Shared/WebEvent.h:
23277         * Shared/WebMouseEvent.cpp:
23278
23279             Remove the WebMouseEvent "copy" constructor that applied a scale factor
23280             to the coordinates of an existing event.
23281
23282         * WebProcess/Plugins/PluginView.cpp:
23283         (WebKit::PluginView::handleEvent):
23284
23285             Pass the WebMouseEvent through to the plugin unmodified.
23286
23287         (WebKit::PluginView::viewGeometryDidChange):
23288
23289             Plumb a complex translate+scale transform through to the plugin, so coordinate
23290             space transformations in will behave correctly with scale factors other than 1.
23291
23292 2011-12-10  Sam Weinig  <sam@webkit.org>
23293
23294         Try to fix the windows build.
23295
23296         * win/WebKit2.vcproj:
23297
23298 2011-12-10  Alexis Menard  <alexis.menard@openbossa.org>
23299
23300         Unreviewed build fix for Qt.
23301
23302         Build error introduced by r102484.
23303
23304         * Target.pri:
23305
23306 2011-12-09  Mark Rowe  <mrowe@apple.com>
23307
23308         Fix the Snow Leopard build some more.
23309
23310         Move the #if to a location where it will do some good.
23311
23312         * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm:
23313
23314 2011-12-09  Mark Rowe  <mrowe@apple.com>
23315
23316         Fix the Snow Leopard build.
23317
23318         Wrap some code that is only applicable to Lion and newer in the appropriate #if's.
23319         
23320         * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h:
23321         * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm:
23322         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
23323         (WebKit::ProcessLauncher::launchProcess):
23324
23325 2011-12-09  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
23326
23327         [Qt] request parameter of QQuickWebView::navigationRequested is not a registered type
23328         https://bugs.webkit.org/show_bug.cgi?id=73826
23329
23330         Reviewed by Tor Arne Vestbø.
23331
23332         Adding QWebNavigationRequest by moving NavigationRequest out of QtWebPagePolicyClient.
23333
23334         * Target.pri:
23335         * UIProcess/API/qt/qquickwebview_p.h:
23336         * UIProcess/API/qt/qwebnavigationrequest.cpp: Added.
23337         (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
23338         (QWebNavigationRequestPrivate::~QWebNavigationRequestPrivate):
23339         (QWebNavigationRequest::QWebNavigationRequest):
23340         (QWebNavigationRequest::~QWebNavigationRequest):
23341         (QWebNavigationRequest::setAction):
23342         (QWebNavigationRequest::url):
23343         (QWebNavigationRequest::button):
23344         (QWebNavigationRequest::modifiers):
23345         (QWebNavigationRequest::action):
23346         * UIProcess/API/qt/qwebnavigationrequest_p.h: Added.
23347         * UIProcess/qt/QtWebPagePolicyClient.cpp:
23348         (QtWebPagePolicyClient::decidePolicyForNavigationAction):
23349         (QtWebPagePolicyClient::decidePolicyForResponse):
23350
23351 2011-12-09  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
23352
23353         [Qt][WK2] Unskip API tests
23354         https://bugs.webkit.org/show_bug.cgi?id=74180
23355
23356         Reviewed by Tor Arne Vestbø.
23357
23358         Unskip API tests for geolocation and javascript dialogs.
23359
23360         * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml:
23361         * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
23362
23363 2011-12-07  Mark Rowe  <mrowe@apple.com>
23364
23365         <http://webkit.org/b/74061> WebProcess and PluginProcess should inherit environment
23366         variables provided in LC_DYLD_ENVIRONMENT of main executable binary.
23367
23368         Reviewed by Darin Adler.
23369
23370         * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.h: Added.
23371         * UIProcess/Launcher/mac/DynamicLinkerEnvironmentExtractor.mm: Added.
23372         (WebKit::DynamicLinkerEnvironmentExtractor::DynamicLinkerEnvironmentExtractor):
23373         (WebKit::DynamicLinkerEnvironmentExtractor::processEnvironmentVariable): Parse out the name
23374         and value from the environment string and add an entry to our variable map if the variable
23375         is one that dyld would respect in LC_DYLD_ENVIRONMENT.
23376         (WebKit::DynamicLinkerEnvironmentExtractor::processLoadCommand): Look for a LC_DYLD_ENVIRONMENT
23377         load command and extract any environment string that we find within.
23378         (WebKit::DynamicLinkerEnvironmentExtractor::processLoadCommands): Iterate over each
23379         load command in the Mach-O file.
23380         (WebKit::DynamicLinkerEnvironmentExtractor::processSingleArchitecture): Determine whether
23381         the Mach-O file is of the correct architecture, and if so then process the load commands
23382         found within.
23383         (WebKit::DynamicLinkerEnvironmentExtractor::processFatFile): Process each architecture of the
23384         Mach-O file in turn.
23385         (WebKit::DynamicLinkerEnvironmentExtractor::getExtractedEnvironmentVariables): Add our
23386         extracted variables to the passed-in EnvironmentVariables object. We skip adding any
23387         variables that already exist so as to allow variables passed in the environment to override
23388         those that we extract from the executable file.
23389         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
23390         (WebKit::ProcessLauncher::launchProcess): Extract the environment variables from the
23391         main binary and add them to the launch environment of our subprocess.
23392         * WebKit2.xcodeproj/project.pbxproj:
23393
23394 2011-12-09  Sam Weinig  <sam@webkit.org>
23395
23396         Add WKView implementation for quickLookPreviewItemsAtWindowLocation.
23397         <rdar://problem/10472505>
23398
23399         Reviewed by Dan Bernstein.
23400
23401         * UIProcess/API/mac/WKView.mm:
23402         (-[WKView quickLookPreviewItemsAtWindowLocation:]):
23403
23404 2011-12-09  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
23405
23406         [Qt] Open shared memory files with shm_open.
23407         https://bugs.webkit.org/show_bug.cgi?id=74078
23408
23409         Original patch by Kimmo Kinnunen
23410
23411         Reviewed by Kenneth Rohde Christiansen.
23412
23413         Open shared memory files with shm_open. This uses mount point that is
23414         intended to host shared memory files. Typically this is /dev/shm.
23415
23416         This fixes crashes when filesystem that hosts QDir::temp() is full.
23417
23418         This is also more well-defined with respect to question whether SHM
23419         writes to temp dir would cause unintended wear if hosted on flash drives.
23420
23421         This also fixes performance problems regarding QDir::temp() and
23422         mkostemp(), both of which appear to be long operations.
23423
23424         * Platform/unix/SharedMemoryUnix.cpp:
23425         (WebKit::SharedMemory::create):
23426
23427 2011-12-09  Hugo Parente Lima  <hugo.lima@openbossa.org>
23428
23429         [Qt] Click's count is limited to three continuous clicks.
23430         https://bugs.webkit.org/show_bug.cgi?id=45666
23431
23432         Reviewed by Kenneth Rohde Christiansen.
23433
23434         Make Qt recognize "infinite" continuous mouse clicks.
23435         handleMouseDoubleClickEvent merged into handleMousePressEvent.
23436
23437         * UIProcess/qt/QtWebPageEventHandler.cpp:
23438         (QtWebPageEventHandler::QtWebPageEventHandler):
23439         (QtWebPageEventHandler::handleEvent):
23440         (QtWebPageEventHandler::handleMousePressEvent):
23441         (QtWebPageEventHandler::timerEvent):
23442         * UIProcess/qt/QtWebPageEventHandler.h:
23443
23444 2011-12-09  Sam Weinig  <sam@webkit.org>
23445
23446         Expose a WKConnectionRef which represents the connection to/from the WebProcess/UIProcess
23447         https://bugs.webkit.org/show_bug.cgi?id=74218
23448
23449         Reviewed by Anders Carlsson.
23450
23451         Test: WebKit2.WKConnectionTest in TestWebKitAPI
23452
23453         * Shared/WebConnection.cpp:
23454         (WebKit::WebConnection::forwardDidReceiveMessageToClient):
23455         * Shared/WebConnection.h:
23456         Add helper for connection subclasses to dispatch to the client.
23457
23458         * UIProcess/WebConnectionToWebProcess.cpp:
23459         (WebKit::WebConnectionToWebProcess::didReceiveMessage):
23460         Handle postMessage messages from the WebProcess.
23461
23462         * UIProcess/WebContext.cpp:
23463         (WebKit::WebContext::processDidFinishLaunching):
23464         Dispatch the notification that a connection to the WebProcess has
23465         been established.
23466
23467         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
23468         (WKBundleGetApplicationConnection):
23469         * WebProcess/InjectedBundle/API/c/WKBundle.h:
23470         * WebProcess/InjectedBundle/InjectedBundle.cpp:
23471         (WebKit::InjectedBundle::webConnectionToUIProcess):
23472         * WebProcess/InjectedBundle/InjectedBundle.h:
23473         (WebKit::WebProcess::webConnectionToUIProcess):
23474         Add accessor to get the connection to the UIProcess from
23475         the bundle.
23476
23477         * WebProcess/WebConnectionToUIProcess.cpp:
23478         (WebKit::WebConnectionToUIProcess::didReceiveMessage):
23479         Handle postMessage messages from the UIProcess.
23480         * WebProcess/WebProcess.h:
23481
23482 2011-12-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
23483
23484         [Qt] Update WebGraphicLayer's child content scale in all child binding method.
23485         https://bugs.webkit.org/show_bug.cgi?id=74101
23486
23487         Reviewed by Noam Rosenthal.
23488
23489         setChildren is currently the only method propagating the parent layer's content
23490         scale to its children. This need to be done for addChild* as well.
23491
23492         This fixes the overlay layer not being rendered with the right scale when created
23493         until the contents scale is modified again.
23494
23495         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
23496         (WebCore::WebGraphicsLayer::setChildren):
23497         (WebCore::WebGraphicsLayer::addChild):
23498         (WebCore::WebGraphicsLayer::addChildAtIndex):
23499         (WebCore::WebGraphicsLayer::addChildAbove):
23500         (WebCore::WebGraphicsLayer::addChildBelow):
23501         (WebCore::WebGraphicsLayer::replaceChild):
23502
23503 2011-12-09  Michael Brüning  <michael.bruning@nokia.com>
23504
23505         [Qt][WK2] Fix tst_QQuickWebView::scrollRequest() API test
23506         https://bugs.webkit.org/show_bug.cgi?id=73994
23507
23508         Reviewed by Kenneth Rohde Christiansen.
23509
23510         * UIProcess/API/qt/tests/html/scroll.html: Corrected html and
23511         added some coloring.
23512         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
23513         (tst_QQuickWebView::scrollRequest): Corrected calculation
23514         of expected value.
23515
23516 2011-12-09  Simon Hausmann  <simon.hausmann@nokia.com>
23517
23518         [Qt] Fix compilation with newly separated Qt 5 QtQuick module
23519         https://bugs.webkit.org/show_bug.cgi?id=73990
23520
23521         Reviewed by Kenneth Rohde Christiansen, tweaked by Csaba Osztrogonác.
23522
23523         Fix QtQuick includes after move from QtDeclarative to QtQuick.
23524
23525         * UIProcess/API/qt/qquickwebpage.cpp:
23526         * UIProcess/API/qt/qquickwebpage_p.h:
23527         * UIProcess/API/qt/qquickwebview.cpp:
23528         * UIProcess/API/qt/qquickwebview_p.h:
23529         * UIProcess/API/qt/tests/tests.pri: Tests need symbols from QtQuick, so link library.
23530         * UIProcess/API/qt/tests/testwindow.h:
23531         * UIProcess/qt/QtDialogRunner.cpp:
23532         * UIProcess/qt/QtSGTileNode.cpp:
23533         * UIProcess/qt/QtSGTileNode.h:
23534         * UIProcess/qt/QtSGUpdateQueue.cpp:
23535         * UIProcess/qt/QtViewportInteractionEngine.cpp:
23536         * UIProcess/qt/QtWebPageProxy.cpp:
23537         * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
23538
23539 2011-12-09  Nayan Kumar K  <nayankk@motorola.com>
23540
23541         [WebKit2][gtk] Re-enable running TestWebKitSettings
23542         https://bugs.webkit.org/show_bug.cgi?id=70135
23543
23544         Reviewed by Martin Robinson.
23545
23546         Re-enable running TestWebKitSettings which was skipped as part
23547         of https://bugs.webkit.org/show_bug.cgi?id=70129 due to the
23548         bug https://bugs.webkit.org/show_bug.cgi?id=70127.
23549
23550         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
23551         (testWebKitSettings): Run testWebKitSettings.
23552         (testWebKitSettingsNewWithSettings): Run testWebKitSettingsNewWithSettings.
23553
23554 2011-12-08  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
23555
23556         [Qt] [WK2] Webkit should release TextureMapper GL objects if page paint node is deallocated.
23557         https://bugs.webkit.org/show_bug.cgi?id=73591
23558
23559         Reviewed by Noam Rosenthal.
23560
23561         Implement deallocation of TextureMapper GL objects when QQuickWebPage paint node deallocated.
23562         Also adds purging GraphicsLayer backing stores on WebProcess side in order to force repainting
23563         when page becomes visible and painting resumes and fixes incorrect initialization of view 
23564         visibility state.
23565
23566         * UIProcess/API/qt/qquickwebpage.cpp:
23567         (QQuickWebPagePrivate::resetPaintNode):
23568         * UIProcess/API/qt/qquickwebview.cpp:
23569         (QQuickWebViewPrivate::QQuickWebViewPrivate):
23570         * UIProcess/API/qt/tests/html/direct-image-compositing.html: Added.
23571         * UIProcess/API/qt/tests/html/resources/simple_image.png: Added.
23572         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
23573         (tst_QQuickWebView::showWebView):
23574         (tst_QQuickWebView::removeFromCanvas):
23575         * UIProcess/DrawingAreaProxy.h:
23576         (WebKit::DrawingAreaProxy::layerTreeHostProxy):
23577         * UIProcess/LayerTreeHostProxy.h:
23578         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
23579         (WebKit::LayerTreeHostProxy::purgeGLResources):
23580         * UIProcess/qt/QtWebPageProxy.cpp:
23581         (QtWebPageProxy::purgeGLResources):
23582         * UIProcess/qt/QtWebPageProxy.h:
23583         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
23584         (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
23585         (WebCore::WebGraphicsLayer::purgeBackingStores):
23586         (WebCore::WebGraphicsLayer::recreateBackingStoreIfNeeded):
23587         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
23588         * WebProcess/WebPage/LayerTreeHost.h:
23589         (WebKit::LayerTreeHost::purgeBackingStores):
23590         * WebProcess/WebPage/LayerTreeHost.messages.in:
23591         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
23592         (WebKit::LayerTreeHostQt::LayerTreeHostQt):
23593         (WebKit::LayerTreeHostQt::flushPendingLayerChanges):
23594         (WebKit::LayerTreeHostQt::purgeBackingStores):
23595         (WebKit::LayerTreeHostQt::recreateBackingStoreIfNeeded):
23596         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
23597
23598 2011-12-08  Simon Fraser  <simon.fraser@apple.com>
23599
23600         Forced compositing mode breaks display of full-page PDFs in WK2
23601         https://bugs.webkit.org/show_bug.cgi?id=74122
23602         <rdar://problem/9550059>
23603
23604         Reviewed by Dan Bernstein.
23605         
23606         Full page PDFs are displayed in WK2 in a subview of the WKView. However,
23607         when the WKView is forced to use accelerated compositing, the layer obscures
23608         the PDF subview.
23609         
23610         To fix this we have to drop out of compositing mode when the WKView is showing
23611         a custom representation.
23612
23613         * UIProcess/API/mac/WKView.mm:
23614         (-[WKView _setPageHasCustomRepresentation:]): Tell the drawing area that the view
23615         gained or lost a custom representation.
23616         * UIProcess/DrawingAreaProxy.h:
23617         (WebKit::DrawingAreaProxy::pageCustomRepresentationChanged):
23618         * UIProcess/DrawingAreaProxyImpl.h:
23619         * UIProcess/DrawingAreaProxyImpl.cpp:
23620         (WebKit::DrawingAreaProxyImpl::pageCustomRepresentationChanged): Send a messgae to the web process
23621         to indicate that the custom representation changed.
23622         * WebProcess/WebPage/DrawingArea.h:
23623         (WebKit::DrawingArea::pageCustomRepresentationChanged):
23624         * WebProcess/WebPage/DrawingArea.messages.in:
23625         * WebProcess/WebPage/DrawingAreaImpl.cpp:
23626         (WebKit::DrawingAreaImpl::pageCustomRepresentationChanged): Enter or exit compositing mode
23627         as appropriate when we gain or lost a custom represenetation.
23628         (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
23629         * WebProcess/WebPage/DrawingAreaImpl.h:
23630
23631 2011-12-08  Jer Noble  <jer.noble@apple.com>
23632
23633         HiDPI: Switching a video element to full screen in HiDPI mode doesn't fit the screen correctly
23634         https://bugs.webkit.org/show_bug.cgi?id=74119
23635         rdar://problem/10356869
23636
23637         Reviewed by Darin Adler.
23638
23639         Use the Lion-only -[NSWindow convertRectToScreen:] function to convert between window 
23640         coordinates and screen coordinates.
23641
23642         * UIProcess/mac/WKFullScreenWindowController.mm:
23643         (-[WKFullScreenWindowController enterFullScreen:]):
23644
23645 2011-12-08  Csaba Osztrogonác  <ossy@webkit.org>
23646
23647         [Qt][WK2] Unreviewed buildfix after r102352.
23648
23649         * DerivedSources.pri:
23650
23651 2011-12-06  Jon Lee  <jonlee@apple.com>
23652
23653         [WK2] Add permissions support (73960)
23654         https://bugs.webkit.org/show_bug.cgi?id=73960
23655         <rdar://problem/10357008>
23656
23657         Reviewed by Darin Adler.
23658
23659         * DerivedSources.make: Moved notification files to its own directory. Need to add that path.
23660         * WebKit2.xcodeproj/project.pbxproj: New header and impl files.
23661         * Target.pri: Ditto.
23662         * GNUmakefile.am: Ditto.
23663         * win/WebKit2.vcproj: Ditto.
23664         * win/WebKit2Common.vsprops: Add path to Notifications directory.
23665
23666         Implement permission functions, which go through permission request manager.
23667
23668         * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
23669         (WebKit::WebNotificationClient::requestPermission):
23670         (WebKit::WebNotificationClient::cancelRequestsForPermission):
23671         (WebKit::WebNotificationClient::checkPermission):
23672
23673         New NotificationPermissionRequestManager to make and cancel permission requests, and to retrieve current
23674         policy.
23675
23676         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp: Added.
23677         (WebKit::generateRequestID):
23678         (WebKit::NotificationPermissionRequestManager::create):
23679         (WebKit::NotificationPermissionRequestManager::NotificationPermissionRequestManager):
23680         (WebKit::NotificationPermissionRequestManager::startRequest): Keep track of the provided callback once
23681         policy decision is made.
23682         (WebKit::NotificationPermissionRequestManager::cancelRequest):
23683         (WebKit::NotificationPermissionRequestManager::permissionLevel): Retrieve level through a synchronous
23684         message to the proxy.
23685         (WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision): Invoke the callback.
23686         * WebProcess/Notifications/NotificationPermissionRequestManager.h: Added.
23687         (WebKit::isRequestIDValid): Make sure any provided request IDs are valid.
23688
23689         Added new NotificationPermissionRequest class.
23690
23691         * UIProcess/Notifications/NotificationPermissionRequest.cpp: Added.
23692         (WebKit::NotificationPermissionRequest::create):
23693         (WebKit::NotificationPermissionRequest::NotificationPermissionRequest):
23694         (WebKit::NotificationPermissionRequest::allow): Notify manager of decision.
23695         (WebKit::NotificationPermissionRequest::deny): Ditto.
23696         (WebKit::NotificationPermissionRequest::invalidate): Disassociate with manager.
23697         (WebKit::NotificationPermissionRequest::type):
23698         * UIProcess/Notifications/NotificationPermissionRequest.h: Added.
23699
23700         WKAPI support for NotificationPermissionRequest:
23701
23702         * Shared/API/c/WKBase.h:
23703         * Shared/APIObject.h:
23704         * UIProcess/API/C/WKAPICast.h:
23705         * UIProcess/API/C/WKNotificationPermissionRequest.cpp: Added.
23706         (WKNotificationPermissionRequestGetTypeID):
23707         (WKNotificationPermissionRequestAllow):
23708         (WKNotificationPermissionRequestDeny):
23709         * UIProcess/API/C/WKNotificationPermissionRequest.h: Added.
23710
23711         Other additions to WK API:
23712
23713         * UIProcess/API/C/WKNotificationProvider.h: Added new callback for WKNotificationProviders, to return policy
23714         for a given security origin.
23715         * UIProcess/API/C/WKPage.h: Added new callback to WKPageUIClient to ask user to decide on policy.
23716
23717         New NotificationPermissionRequestManagerProxy to create requests.
23718
23719         * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp: Added.
23720         (WebKit::NotificationPermissionRequestManagerProxy::NotificationPermissionRequestManagerProxy):
23721         (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests):
23722         (WebKit::NotificationPermissionRequestManagerProxy::createRequest):
23723         (WebKit::NotificationPermissionRequestManagerProxy::didReceiveNotificationPermissionDecision):
23724         * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.h: Added.
23725
23726         Added new message to notification manager: NotificationPermissionLevel, to retrieve policy. The current
23727         JS API retrieves the permission synchronously, so the message needs to be sent synchronously also.
23728
23729         * UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Moved from Source/WebKit2/UIProcess/WebNotificationManagerProxy.messages.in.
23730         * UIProcess/Notifications/WebNotificationProvider.cpp: Moved from Source/WebKit2/UIProcess/WebNotificationProvider.cpp.
23731         (WebKit::WebNotificationProvider::policyForNotificationPermissionAtOrigin): Added.
23732         * UIProcess/Notifications/WebNotificationProvider.h: Moved from Source/WebKit2/UIProcess/WebNotificationProvider.h.
23733         * UIProcess/WebProcessProxy.cpp:
23734         (WebKit::WebProcessProxy::didReceiveSyncMessage): Boilerplate to forward messages to notification manager.
23735
23736         * UIProcess/Notifications/WebNotificationManagerProxy.cpp: Moved from Source/WebKit2/UIProcess/WebNotificationManagerProxy.cpp.
23737         (WebKit::WebNotificationManagerProxy::create):
23738         (WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy):
23739         (WebKit::WebNotificationManagerProxy::invalidate):
23740         (WebKit::WebNotificationManagerProxy::initializeProvider):
23741         (WebKit::WebNotificationManagerProxy::didReceiveMessage):
23742         (WebKit::WebNotificationManagerProxy::didReceiveSyncMessage):
23743         (WebKit::WebNotificationManagerProxy::show):
23744         (WebKit::WebNotificationManagerProxy::cancel):
23745         (WebKit::WebNotificationManagerProxy::didDestroyNotification):
23746         (WebKit::WebNotificationManagerProxy::notificationPermissionLevel): Retrieve the policy from the provider.
23747         (WebKit::WebNotificationManagerProxy::providerDidShowNotification):
23748         (WebKit::WebNotificationManagerProxy::providerDidClickNotification):
23749         (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications):
23750         * UIProcess/Notifications/WebNotificationManagerProxy.h: Moved from Source/WebKit2/UIProcess/WebNotificationManagerProxy.h.
23751         (WebKit::WebNotificationManagerProxy::clearContext):
23752         (WebKit::WebNotificationManagerProxy::type):
23753
23754         Added NotificationPermissionRequestManagerProxy to WebPageProxy, to allow a request for permission to
23755         go through to the UI client. Added new message to WebPageProxy, RequestNotificationPermission.
23756
23757         * UIProcess/WebPageProxy.cpp:
23758         (WebKit::WebPageProxy::WebPageProxy):
23759         (WebKit::WebPageProxy::close): Invalidate pending requests.
23760         (WebKit::WebPageProxy::processDidCrash): Ditto.
23761         (WebKit::WebPageProxy::requestNotificationPermission): Forward request to UI client.
23762         * UIProcess/WebPageProxy.h:
23763         * UIProcess/WebPageProxy.messages.in:
23764
23765         * UIProcess/WebUIClient.cpp:
23766         (WebKit::WebUIClient::decidePolicyForNotificationPermissionRequest):
23767         * UIProcess/WebUIClient.h:
23768
23769         Added new message DidReceiveNotificationPermissionDecision. The WebPage forwards the message to the
23770         permission request manager.
23771
23772         * WebProcess/WebPage/WebPage.messages.in: Added new message DidReceiveNotificationPermissionDecision
23773         * WebProcess/WebPage/WebPage.cpp:
23774         (WebKit::WebPage::notificationPermissionRequestManager): Create manager on request.
23775         (WebKit::WebPage::didReceiveNotificationPermissionDecision):
23776         * WebProcess/WebPage/WebPage.h:
23777
23778         Moving files to Notifications/ subdirectory.
23779
23780         * UIProcess/Notifications/WebNotification.cpp: Moved from Source/WebKit2/UIProcess/WebNotification.cpp.
23781         * UIProcess/Notifications/WebNotification.h: Moved from Source/WebKit2/UIProcess/WebNotification.h.
23782
23783 2011-12-08  Nayan Kumar K  <nayankk@motorola.com>
23784
23785         [WebKit2] Initialize threading in UI process.
23786         https://bugs.webkit.org/show_bug.cgi?id=70127
23787
23788         Reviewed by Anders Carlsson.
23789
23790         * CMakeLists.txt:
23791         * GNUmakefile.am:
23792         * Shared/APIObject.cpp: Added.
23793         (WebKit::APIObject::APIObject):
23794         * Shared/APIObject.h:
23795         * Target.pri:
23796         * WebKit2.xcodeproj/project.pbxproj:
23797         * win/WebKit2.vcproj:
23798
23799 2011-12-08  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
23800
23801         [Qt] [WK2] Directly composited images doesn't render
23802         https://bugs.webkit.org/show_bug.cgi?id=74058
23803
23804         Reviewed by Noam Rosenthal.
23805
23806         Attach image to WebGraphicsLayer even if layerTreeTileClient is not set
23807         and create/assign remote image tiles later during sync.
23808
23809         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
23810         (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
23811         (WebCore::WebGraphicsLayer::setContentsToImage):
23812         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
23813
23814 2011-12-08  Simon Hausmann  <simon.hausmann@nokia.com>
23815
23816         REGRESSION(r102334): Various Qt WK2 layout tests crash
23817
23818         Reviewed by Tor Arne Vestbø.
23819
23820         * WebProcess/WebPage/WebPage.cpp:
23821         (WebKit::WebPage::editorState): Add missing null pointer check for the editable
23822         element (scope) before calling innerText.
23823
23824 2011-12-08  Simon Hausmann  <simon.hausmann@nokia.com>
23825
23826         [Qt] WebKitTestRunner crashes with debug builds
23827         https://bugs.webkit.org/show_bug.cgi?id=74090
23828
23829         Reviewed by Tor Arne Vestbø.
23830
23831         Export private C++ API style platformInitialize function needed
23832         by low-level WTR.
23833
23834         * UIProcess/API/qt/qquickwebview.cpp:
23835         (QQuickWebView::platformInitialize):
23836         * UIProcess/API/qt/qquickwebview_p.h:
23837
23838 2011-12-07  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
23839
23840         [Qt] Fix non-animated pinch-zoom scale commit.
23841         https://bugs.webkit.org/show_bug.cgi?id=74007
23842
23843         Reviewed by Kenneth Rohde Christiansen.
23844
23845         The update deferrer object was only destroyed at the end of the animation
23846         and wouldn't be if the pinch-zoom was ended within legal bounds.
23847         This patch also makes sure that the deferrer isn't destroyed and re-created
23848         once the animation is started if it was already there.
23849
23850         * UIProcess/qt/QtViewportInteractionEngine.cpp:
23851         (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
23852         (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
23853         (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
23854         (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
23855         * UIProcess/qt/QtViewportInteractionEngine.h:
23856
23857 2011-12-08  Simon Hausmann  <simon.hausmann@nokia.com>
23858
23859         REGRESSION(r101683): QQuickWebView doesn't work with OpenGL/ES 2.0
23860         https://bugs.webkit.org/show_bug.cgi?id=74077
23861
23862         Reviewed by Kenneth Rohde Christiansen.
23863
23864         Replace Desktop OpenGL idiom of using gl_Vertex with a simple vertex attribute
23865         that's tied to the same register 0 (by being the first in the array).
23866
23867         * UIProcess/API/qt/qquickwebpage.cpp:
23868         (PageProxyMaterialShader::attributeNames): Define "vertex" attribute, which is
23869         bound to register 0, which is the current vertex.
23870         (PageProxyMaterialShader::vertexShader): Use the vertex attribute instead of the
23871         built-in gl_Vertex, which is only present in Desktop GL.
23872
23873 2011-12-07  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
23874
23875         [Qt] Fix the memory leak of AC layer update message contents on the UI process.
23876         https://bugs.webkit.org/show_bug.cgi?id=74012
23877
23878         Reviewed by Noam Rosenthal.
23879
23880         Since the messages didn't have a virtual destructor, the destructor
23881         of child class members wouldn't be called and would cause the all tile
23882         update buffers, contained in a QImage, to be leaked as well.
23883
23884         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
23885         (WebKit::LayerTreeMessageToRenderer::~LayerTreeMessageToRenderer):
23886
23887 2011-12-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>
23888
23889         Upsteam the Qt changes to the EditorState
23890         https://bugs.webkit.org/show_bug.cgi?id=74080
23891
23892         Reviewed by Simon Hausmann.
23893
23894         We are not doing the serialization manually due to it not being a POD
23895         structure anymore in the case of Qt.
23896
23897         * GNUmakefile.am:
23898         * Shared/EditorState.h:
23899         (WebKit::EditorState::EditorState):
23900         * Target.pri:
23901         * WebKit2.xcodeproj/project.pbxproj:
23902         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
23903         (WebKit::WebEditorClient::respondToChangedSelection):
23904         * WebProcess/WebPage/WebPage.cpp:
23905         (WebKit::WebPage::editorState):
23906         * win/WebKit2.vcproj:
23907
23908 2011-12-08  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
23909
23910         [Qt] cleanup qmlplugin
23911         https://bugs.webkit.org/show_bug.cgi?id=73834
23912
23913         Reviewed by Tor Arne Vestbø.
23914
23915         Removed empty folder qmlplugin.
23916
23917         * UIProcess/API/qt/qmlplugin: Removed.
23918
23919 2011-12-08  Sheriff Bot  <webkit.review.bot@gmail.com>
23920
23921         Unreviewed, rolling out r102323.
23922         http://trac.webkit.org/changeset/102323
23923         https://bugs.webkit.org/show_bug.cgi?id=74069
23924
23925         Caused Chromium and GTK build failure (Requested by bashi on
23926         #webkit).
23927
23928         * win/WebKit2.def:
23929         * win/WebKit2CFLite.def:
23930
23931 2011-12-08  Fady Samuel  <fsamuel@chromium.org>
23932
23933         Move scalePageBy from eventSender to window.internals
23934         https://bugs.webkit.org/show_bug.cgi?id=64512
23935
23936         Reviewed by Simon Fraser.
23937
23938         * win/WebKit2.def:
23939         * win/WebKit2CFLite.def:
23940
23941 2011-12-07  Mark Rowe  <mrowe@apple.com>
23942
23943         Fix the 32-bit build.
23944
23945         Ignore some warnings that only occur in 32-bit.
23946
23947         * PluginProcess/mac/PluginProcessShim.mm:
23948         * Shared/Plugins/Netscape/NetscapePluginModule.cpp:
23949         (WebKit::NetscapePluginModule::tryLoad):
23950
23951 2011-12-07  Balazs Kelemen  <kbalazs@webkit.org>
23952
23953         ShareableBitmapGtk.cpp has no reason to exist
23954         https://bugs.webkit.org/show_bug.cgi?id=74011
23955
23956         Reviewed by Martin Robinson.
23957
23958         Remove this file since the real implementation is
23959         exists in ShareableBitmapCairo.cpp.
23960
23961         * Shared/gtk/ShareableBitmapGtk.cpp: Removed.
23962
23963 2011-12-07  Mary Wu  <mary.wu@torchmobile.com.cn>
23964
23965         Change function name InitializeLoggingChannelsIfNecessary to follow coding style guideline
23966         https://bugs.webkit.org/show_bug.cgi?id=73986
23967
23968         Reviewed by Kenneth Rohde Christiansen.
23969
23970         * UIProcess/WebContext.cpp:
23971         (WebKit::WebContext::WebContext):
23972         * WebProcess/WebProcess.cpp:
23973         (WebKit::WebProcess::WebProcess):
23974
23975 2011-12-07  Zalan Bujtas  <zbujtas@gmail.com>
23976
23977         [Qt][WK2] Enable page cache.
23978         https://bugs.webkit.org/show_bug.cgi?id=73938
23979
23980         Enable WebCore's page cache for Qt port by setting its capacity to 20. This is temporary 
23981         and will be replaced by a computed value based on CacheMode. See bug#73918.
23982
23983         Reviewed by Simon Hausmann.
23984
23985         * WebProcess/qt/WebProcessQt.cpp:
23986         (WebKit::WebProcess::platformSetCacheModel):
23987
23988 2011-12-06  Andy Estes  <aestes@apple.com>
23989
23990         REGRESSION (r101838): Crash in LayerTreeHostCA::initialize() when accelerated drawing is enabled
23991         https://bugs.webkit.org/show_bug.cgi?id=73955
23992
23993         Reviewed by Anders Carlsson.
23994
23995         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
23996         (WebKit::LayerTreeHostCA::initialize): m_webPage->drawingArea() will be
23997         null here if we are initializing the layer tree host in DrawingArea's
23998         ctor (as is the case when accelerated drawing is enabled), before
23999         WebPage has set its m_drawingArea pointer. Since the layer tree cannot
24000         have been frozen at this point, it's safe to enable layer flush
24001         scheduling if drawingArea() is null.
24002
24003 2011-12-06  Alexander Færøy  <alexander.faeroy@nokia.com>
24004
24005         [Qt] Fix assertion in QtViewportInteractionEngine.cpp:468
24006         https://bugs.webkit.org/show_bug.cgi?id=73914
24007
24008         Reviewed by Kenneth Rohde Christiansen.
24009
24010         m_suspendCount should always be zero when a pinch gesture is started.
24011
24012         * UIProcess/qt/QtViewportInteractionEngine.cpp:
24013         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
24014
24015 2011-12-06  Simon Fraser  <simon.fraser@apple.com>
24016
24017         UI process crashes if the Web Process crashes on launch
24018         https://bugs.webkit.org/show_bug.cgi?id=73943
24019
24020         Reviewed by Sam Weinig.
24021         
24022         When the Web Process crashes on launch, the WebConnectionToWebProcess
24023         object was getting deleted inside of didClose. Add a protector to
24024         prevent this.
24025
24026         * UIProcess/WebConnectionToWebProcess.cpp:
24027         (WebKit::WebConnectionToWebProcess::didClose):
24028
24029 2011-12-06  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
24030
24031         [Qt] Fix page overlay rendering with AC.
24032         https://bugs.webkit.org/show_bug.cgi?id=73935
24033
24034         Reviewed by Noam Rosenthal.
24035
24036         The inspector node highlight would display old highlights as well
24037         since the overlay is normally rendered right after the page on top
24038         of the same graphics context.
24039
24040         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
24041         (WebKit::LayerTreeHostQt::paintContents):
24042
24043 2011-12-06  Michael Brüning  <michael.bruning@nokia.com>
24044
24045         [qt][wk2] Tests of QQuickWebView assert in debug builds when destroying QQuickWebViewPrivate 
24046         https://bugs.webkit.org/show_bug.cgi?id=73907 
24047
24048         Reviewed by Kenneth Rohde Christiansen.
24049
24050         * UIProcess/API/qt/qquickwebview.cpp: Disconnect signals from
24051         QtViewportInteractionEngine in ~QQuickWebViewPrivate.
24052         (QQuickWebViewPrivate::~QQuickWebViewPrivate):
24053         * UIProcess/API/qt/qquickwebview_p_p.h: Remove empty inline implementation of ~QQuickWebViewPrivate.
24054
24055 2011-12-06  Kenneth Rohde Christiansen  <kenneth@webkit.org>
24056
24057         [Qt] Add initial support for focusing when entering edit mode.
24058
24059         Reviewed by Simon Hausmann.
24060
24061         Next step would be to properly upstream our EditorState code.
24062
24063         * UIProcess/PageClient.h:
24064         * UIProcess/WebPageProxy.cpp:
24065         (WebKit::WebPageProxy::focusEditableArea):
24066         * UIProcess/WebPageProxy.h:
24067         * UIProcess/WebPageProxy.messages.in:
24068         * UIProcess/qt/QtPageClient.cpp:
24069         (QtPageClient::focusEditableArea):
24070         * UIProcess/qt/QtPageClient.h:
24071         * UIProcess/qt/QtViewportInteractionEngine.cpp:
24072         (WebKit::QtViewportInteractionEngine::itemCoordFromCSS):
24073         (WebKit::QtViewportInteractionEngine::itemRectFromCSS):
24074         (WebKit::QtViewportInteractionEngine::focusEditableArea):
24075         (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
24076         * UIProcess/qt/QtViewportInteractionEngine.h:
24077         * UIProcess/qt/QtWebPageEventHandler.cpp:
24078         (QtWebPageEventHandler::focusEditableArea):
24079         * UIProcess/qt/QtWebPageEventHandler.h:
24080         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
24081         (WebKit::WebEditorClient::respondToChangedSelection):
24082         (WebKit::WebEditorClient::setInputMethodState):
24083
24084 2011-12-06  Alexander Færøy  <alexander.faeroy@nokia.com>
24085
24086         [Qt] Fix assertion in QtWebPageEventHandler.cpp
24087         https://bugs.webkit.org/show_bug.cgi?id=73908
24088
24089         Reviewed by Kenneth Rohde Christiansen.
24090
24091         * UIProcess/qt/QtViewportInteractionEngine.cpp:
24092         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
24093
24094 2011-12-05  Igor Oliveira  <igor.oliveira@openbossa.org>
24095
24096         [Qt][WK2] Frame is not being showed in the screen when frameLoadCompleted is called
24097         https://bugs.webkit.org/show_bug.cgi?id=73850
24098
24099         WebKit2 has a mechanism to prevent  the composited layer tree of the outgoing page 
24100         from being torn down or updated until the incoming page has layout. However, for simple 
24101         pages, when the frame is loaded the page is not rendered in the screen.
24102
24103         This patch fixes this bug calling LayerTreeHostQt::scheduleLayerFlush when m_layerFlushSchedulingEnabled
24104         is true.
24105
24106         Reviewed by Noam Rosenthal.
24107
24108         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
24109         (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled):
24110
24111 2011-12-05  Chris Fleizach  <cfleizach@apple.com>
24112
24113         AX: WK2: AX hierarchy is not restored after web process crash
24114         https://bugs.webkit.org/show_bug.cgi?id=73870
24115
24116         The accessibility tokens that need to be sent between UI and Web process
24117         were not being sent by the UI process -> the web process when the web
24118         process crashed.
24119
24120         Reviewed by Darin Adler.
24121
24122         * UIProcess/API/mac/WKView.mm:
24123         (-[WKView viewDidMoveToWindow]):
24124         (-[WKView _accessibilityRegisterUIProcessTokens]):
24125         (-[WKView _didRelaunchProcess]):
24126
24127 2011-12-05  Alexey Proskuryakov  <ap@apple.com>
24128
24129         REGRESSION: Full keyboard access doesn't work if enabled before Safari started
24130         https://bugs.webkit.org/show_bug.cgi?id=73864
24131
24132         Reviewed by Darin Adler.
24133
24134         * WebProcess/WebProcess.cpp: (WebKit::WebProcess::initializeWebProcess): Actually use the
24135         parameter passed at process creation.
24136
24137 2011-12-05  Anders Carlsson  <andersca@apple.com>
24138
24139         Make LayerFlushSchedulerClient::flushLayers indicate whether the flush was successful or not
24140         https://bugs.webkit.org/show_bug.cgi?id=73862
24141
24142         Reviewed by Andy Estes.
24143
24144         Change LayerTreeHostCAMac::flushLayers to always return true and remove the call to LayerFlushScheduler::invalidate.
24145
24146         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
24147         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
24148         (WebKit::LayerTreeHostCAMac::flushLayers):
24149         (WebKit::LayerTreeHostCAMac::didPerformScheduledLayerFlush):
24150
24151 2011-12-05  Michael Brüning  <michael.bruning@nokia.com>
24152
24153         [Qt] Rename QQuickWebView::canStop property to just loading 
24154         https://bugs.webkit.org/show_bug.cgi?id=73813
24155
24156         Reviewed by Kenneth Rohde Christiansen.
24157
24158         Renamed canStop property of QQuickWebView and QtWebPageProxy
24159         to loading and updated tests.
24160
24161         * UIProcess/API/qt/qquickwebview.cpp:
24162         (QQuickWebView::loading):
24163         * UIProcess/API/qt/qquickwebview_p.h:
24164         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
24165         (tst_QQuickWebView::navigationStatusAtStartup):
24166         (LoadStartedCatcher::onLoadStarted):
24167         (tst_QQuickWebView::stopEnabledAfterLoadStarted):
24168         * UIProcess/qt/QtWebPageProxy.cpp:
24169         (QtWebPageProxy::loading):
24170         * UIProcess/qt/QtWebPageProxy.h:
24171
24172 2011-12-03  Jer Noble  <jer.noble@apple.com>
24173
24174         <video> elements should disable the system and display sleep when playing on OS X.
24175         https://bugs.webkit.org/show_bug.cgi?id=73730
24176         <rdar://problem/9502155>
24177
24178         Reviewed by Alexey Proskuryakov.
24179
24180         Allow the WebProcess to make connections to the PowerManagement control mach server.
24181
24182         * WebProcess/com.apple.WebProcess.sb:
24183
24184 2011-12-04  Sam Weinig  <sam@webkit.org>
24185
24186         Move code for connections to/from the UIProcess/WebProcess into WebConnection subclasses
24187         https://bugs.webkit.org/show_bug.cgi?id=73779
24188
24189         Reviewed by Anders Carlsson.
24190
24191         To allow for API objects representing the connection going to/from the UIProcess/WebProcess,
24192         this patch separates out the connections into WebConnection subclasses.  It does not yet
24193         expose a way to access these connections, and is therefore not yet testable.
24194
24195         * GNUmakefile.am:
24196         * Target.pri:
24197         * WebKit2.xcodeproj/project.pbxproj:
24198         * win/WebKit2.vcproj:
24199         Add new files.
24200
24201         * Platform/CoreIPC/MessageID.h:
24202         * Shared/CoreIPCSupport/WebConnectionMessageKinds.h: Added.
24203         Add a new message type for communicating between WebConnections.
24204
24205         * Shared/ChildProcess.h:
24206         Make helper public so that WebConnectionToWebProcess can use it.
24207
24208         * UIProcess/WebConnectionToWebProcess.cpp: Added.
24209         (WebKit::WebConnectionToWebProcess::create):
24210         (WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess):
24211         (WebKit::WebConnectionToWebProcess::invalidate):
24212         (WebKit::WebConnectionToWebProcess::postMessage):
24213         (WebKit::WebConnectionToWebProcess::didReceiveMessage):
24214         (WebKit::WebConnectionToWebProcess::didReceiveSyncMessage):
24215         (WebKit::WebConnectionToWebProcess::didClose):
24216         (WebKit::WebConnectionToWebProcess::didReceiveInvalidMessage):
24217         (WebKit::WebConnectionToWebProcess::syncMessageSendTimedOut):
24218         (WebKit::WebConnectionToWebProcess::windowsToReceiveSentMessagesWhileWaitingForSyncReply):
24219         * UIProcess/WebConnectionToWebProcess.h: Added.
24220         (WebKit::WebConnectionToWebProcess::connection):
24221         * UIProcess/WebProcessProxy.cpp:
24222         (WebKit::WebProcessProxy::sendMessage):
24223         (WebKit::WebProcessProxy::didReceiveInvalidMessage):
24224         (WebKit::WebProcessProxy::didFinishLaunching):
24225         * UIProcess/WebProcessProxy.h:
24226         (WebKit::WebProcessProxy::connection):
24227         (WebKit::WebProcessProxy::webConnection):
24228         (WebKit::WebProcessProxy::sendSync):
24229         Thread connection code through WebConnectionToWebProcess.
24230
24231         * WebProcess/WebConnectionToUIProcess.cpp: Added.
24232         (WebKit::WebConnectionToUIProcess::create):
24233         (WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess):
24234         (WebKit::WebConnectionToUIProcess::invalidate):
24235         (WebKit::WebConnectionToUIProcess::postMessage):
24236         (WebKit::WebConnectionToUIProcess::didReceiveMessage):
24237         (WebKit::WebConnectionToUIProcess::didReceiveSyncMessage):
24238         (WebKit::WebConnectionToUIProcess::didClose):
24239         (WebKit::WebConnectionToUIProcess::didReceiveInvalidMessage):
24240         (WebKit::WebConnectionToUIProcess::syncMessageSendTimedOut):
24241         (WebKit::WebConnectionToUIProcess::windowsToReceiveSentMessagesWhileWaitingForSyncReply):
24242         (WebKit::WebConnectionToUIProcess::willProcessMessageOnClientRunLoop):
24243         * WebProcess/WebConnectionToUIProcess.h: Added.
24244         (WebKit::WebConnectionToUIProcess::connection):
24245         * WebProcess/WebProcess.cpp:
24246         (WebKit::WebProcess::initialize):
24247         (WebKit::WebProcess::addVisitedLink):
24248         (WebKit::WebProcess::shouldTerminate):
24249         (WebKit::WebProcess::terminate):
24250         (WebKit::WebProcess::removeWebFrame):
24251         (WebKit::WebProcess::getSitesWithPluginData):
24252         (WebKit::WebProcess::clearPluginSiteData):
24253         (WebKit::WebProcess::getWebCoreStatistics):
24254         * WebProcess/WebProcess.h:
24255         (WebKit::WebProcess::connection):
24256         Thread connection code through WebConnectionToUIProcess.
24257
24258 2011-12-05  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
24259
24260         [Qt] Remove viewModeChanged() from QQuickWebView
24261         https://bugs.webkit.org/show_bug.cgi?id=73828
24262
24263         Reviewed by Kenneth Rohde Christiansen.
24264
24265         * UIProcess/API/qt/qquickwebview_p.h: viewModeChanged is not used
24266         and we should not expose it.
24267
24268 2011-12-05  Eric Carlson  <eric.carlson@apple.com>
24269
24270         WebKit2 part of: Add WebKit preferences for text track settings
24271         https://bugs.webkit.org/show_bug.cgi?id=73721
24272
24273         Reviewed by John Sullivan.
24274
24275         * Shared/WebPreferencesStore.h: Declared shouldDisplaySubtitles, shouldDisplayCaptions, and
24276         shouldDisplayTextDescriptions properties with macros. All default to false.
24277
24278         * UIProcess/API/C/WKPreferences.cpp:
24279         (WKPreferencesSetShouldDisplaySubtitles): Added.
24280         (WKPreferencesGetShouldDisplaySubtitles): Ditto.
24281         (WKPreferencesSetShouldDisplayCaptions): Ditto.
24282         (WKPreferencesGetShouldDisplayCaptions): Ditto.
24283         (WKPreferencesSetShouldDisplayTextDescriptions): Ditto.
24284         (WKPreferencesGetShouldDisplayTextDescriptions): Ditto.
24285         * UIProcess/API/C/WKPreferences.h:
24286
24287         * WebProcess/WebPage/WebPage.cpp:
24288         (WebKit::WebPage::updatePreferences): Updates WebCore settings from WebKit2 prefs.
24289
24290 2011-12-04  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
24291
24292         [Qt] cleanup qmltests.pro
24293         https://bugs.webkit.org/show_bug.cgi?id=73718
24294
24295         Reviewed by Simon Hausmann.
24296
24297         Removed unused file WebView/tst_loadZeroSizeView.qml and reordered file list.
24298
24299         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
24300
24301 2011-12-04  Philippe Normand  <pnormand@igalia.com>
24302
24303         [WK2][GTK] enable-fullscreen WebSettings
24304         https://bugs.webkit.org/show_bug.cgi?id=73774
24305
24306         Reviewed by Martin Robinson.
24307
24308         * UIProcess/API/gtk/WebKitSettings.cpp:
24309         (webKitSettingsSetProperty):
24310         (webKitSettingsGetProperty):
24311         (webkit_settings_class_init):
24312         (webkit_settings_set_enable_fullscreen):
24313         (webkit_settings_get_enable_fullscreen):
24314         * UIProcess/API/gtk/WebKitSettings.h:
24315         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
24316         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
24317         (testWebKitSettings):
24318
24319 2011-12-02  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
24320
24321         [Qt] [WK2] MiniBrowser --touch asserts in debug build
24322         https://bugs.webkit.org/show_bug.cgi?id=73697
24323
24324         Reviewed by Eric Seidel.
24325
24326         Add missing guard to QtViewportInteractionEngine::itemSizeChanged().
24327
24328         * UIProcess/qt/QtViewportInteractionEngine.cpp:
24329         (WebKit::QtViewportInteractionEngine::itemSizeChanged):
24330
24331 2011-12-02  Fady Samuel  <fsamuel@chromium.org>
24332
24333         When page scaling is in use position:fixed has incorrect results
24334         https://bugs.webkit.org/show_bug.cgi?id=68617
24335
24336         Reviewed by Simon Fraser.
24337
24338         * win/WebKit2.def:
24339         * win/WebKit2CFLite.def:
24340
24341 2011-12-02  Alexey Proskuryakov  <ap@apple.com>
24342
24343         Update sandbox rules
24344         https://bugs.webkit.org/show_bug.cgi?id=73675
24345         <rdar://problem/9276430>
24346
24347         Reviewed by Sam Weinig.
24348
24349         * WebProcess/com.apple.WebProcess.sb:
24350
24351 2011-12-02  Andy Estes  <aestes@apple.com>
24352
24353         WebKit2: Freeze the state of the layer tree until frame load completion if incremental rendering is suppressed
24354         https://bugs.webkit.org/show_bug.cgi?id=73641
24355
24356         Reviewed by Darin Adler.
24357
24358         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
24359         (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout): Do not
24360         un-freeze the layer tree state if incremental rendering is suppressed.
24361         * WebProcess/WebPage/DrawingArea.h:
24362         (WebKit::DrawingArea::layerTreeStateIsFrozen): Add a getter for
24363         m_layerTreeStateIsFrozen.
24364         * WebProcess/WebPage/DrawingAreaImpl.h:
24365         (WebKit::DrawingAreaImpl::layerTreeStateIsFrozen): Ditto.
24366         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
24367         (WebKit::LayerTreeHostCA::initialize): WebFrameLoaderClient might have
24368         tried to freeze the state of the layer tree before the layer tree host
24369         was created. When creating the layer tree host, only schedule a layer
24370         flush if the layer tree state isn't frozen.
24371
24372 2011-12-02  Nayan Kumar K  <nayankk@motorola.com>
24373
24374         [WebKit2][gtk] Add 'enable-dns-prefetching' property to WebKitSettings
24375         https://bugs.webkit.org/show_bug.cgi?id=73414
24376
24377         Reviewed by Martin Robinson.
24378
24379         * UIProcess/API/gtk/WebKitSettings.cpp:
24380         (webKitSettingsSetProperty): Add new set function.
24381         (webKitSettingsGetProperty): Add new get function.
24382         (webkit_settings_class_init): Register new property.
24383         (webkit_settings_get_enable_dns_prefetching): API to get 'enable-dns-prefetching' property.
24384         (webkit_settings_set_enable_dns_prefetching): API to set 'enable-dns-prefetching' property.
24385         * UIProcess/API/gtk/WebKitSettings.h: Expose new public API's.
24386         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new APIs to gtk-doc sections file.
24387         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
24388         (testWebKitSettings): Add new tests.
24389
24390 2011-12-02  Andras Becsi  <andras.becsi@nokia.com>
24391
24392         [Qt][WK2] Set event timestamps on custom input events
24393
24394         Reviewed by Simon Hausmann.
24395
24396         Since r101791 WebEventFactoryQt uses input event timestamps for WebEvents,
24397         thus set the timestamp on the custom events as well.
24398
24399         * UIProcess/qt/QtWebPageEventHandler.cpp:
24400         (QtWebPageEventHandler::handleHoverLeaveEvent):
24401         (QtWebPageEventHandler::handleHoverMoveEvent):
24402         * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
24403         (WebKit::WebPopupMenuProxyQtDesktop::showPopupMenu):
24404
24405 2011-12-02  Andras Becsi  <andras.becsi@nokia.com>
24406
24407         [Qt] [WK2] Use input event timestamps in WebEvents if available
24408         https://bugs.webkit.org/show_bug.cgi?id=73647
24409
24410         Reviewed by Simon Hausmann.
24411
24412         Qt5 input events already have a native timestamp, use this timestamp
24413         in WebEventFactory instead of WTF::currentTime if it is available.
24414
24415         * Shared/qt/WebEventFactoryQt.cpp:
24416         (WebKit::currentTimeForEvent):
24417         (WebKit::WebEventFactory::createWebMouseEvent):
24418         (WebKit::WebEventFactory::createWebWheelEvent):
24419         (WebKit::WebEventFactory::createWebKeyboardEvent):
24420         (WebKit::WebEventFactory::createWebTouchEvent):
24421         * Shared/qt/WebEventFactoryQt.h:
24422
24423 2011-12-02  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
24424
24425         [Qt][WK2] Split the QtWebPageProxy into PageClient and QtPageProxy
24426         https://bugs.webkit.org/show_bug.cgi?id=66668
24427
24428         Reviewed by Simon Hausmann.
24429
24430         Split QtPageClient out of QtWebPageProxy.
24431         This client will live in QQuickWebViewPrivate and communicate directly
24432         with QtWebPageProxy and QtWebPageEventHandler. The functions that need
24433         anything else than these entities will need to call the proper implementation
24434         through QtWebPageProxy itself.
24435         With this we have a clear separation between PageClient and PageProxy, having
24436         two well defined and separated entities for hooking our clients with our API layer (QtWebPageProxy)
24437         and for hooking the WebPageProxy with our client implementations (QtPageClient).
24438         As a positive side-effect we have a cleaner QtWebPageProxy.
24439
24440         * Target.pri:
24441         * UIProcess/API/qt/qquickwebview.cpp:
24442         (QQuickWebViewPrivate::QQuickWebViewPrivate):
24443         * UIProcess/API/qt/qquickwebview_p_p.h:
24444         * UIProcess/qt/QtPageClient.cpp: Added.
24445         (QtPageClient::QtPageClient):
24446         (QtPageClient::~QtPageClient):
24447         (QtPageClient::createDrawingAreaProxy):
24448         (QtPageClient::setViewNeedsDisplay):
24449         (QtPageClient::pageDidRequestScroll):
24450         (QtPageClient::processDidCrash):
24451         (QtPageClient::didRelaunchProcess):
24452         (QtPageClient::didChangeContentsSize):
24453         (QtPageClient::didChangeViewportProperties):
24454         (QtPageClient::startDrag):
24455         (QtPageClient::handleDownloadRequest):
24456         (QtPageClient::setCursor):
24457         (QtPageClient::setCursorHiddenUntilMouseMoves):
24458         (QtPageClient::toolTipChanged):
24459         (QtPageClient::registerEditCommand):
24460         (QtPageClient::clearAllEditCommands):
24461         (QtPageClient::canUndoRedo):
24462         (QtPageClient::executeUndoRedo):
24463         (QtPageClient::convertToDeviceSpace):
24464         (QtPageClient::convertToUserSpace):
24465         (QtPageClient::screenToWindow):
24466         (QtPageClient::windowToScreen):
24467         (QtPageClient::createPopupMenuProxy):
24468         (QtPageClient::createContextMenuProxy):
24469         (QtPageClient::flashBackingStoreUpdates):
24470         (QtPageClient::didFindZoomableArea):
24471         (QtPageClient::didReceiveMessageFromNavigatorQtObject):
24472         (QtPageClient::doneWithTouchEvent):
24473         (QtPageClient::displayView):
24474         (QtPageClient::scrollView):
24475         (QtPageClient::viewSize):
24476         (QtPageClient::isViewWindowActive):
24477         (QtPageClient::isViewFocused):
24478         (QtPageClient::isViewVisible):
24479         (QtPageClient::isViewInWindow):
24480         (QtPageClient::enterAcceleratedCompositingMode):
24481         (QtPageClient::exitAcceleratedCompositingMode):
24482         * UIProcess/qt/QtPageClient.h: Added.
24483         (QtPageClient::pageClosed):
24484         (QtPageClient::doneWithKeyEvent):
24485         (QtPageClient::setFindIndicator):
24486         (QtPageClient::didCommitLoadForMainFrame):
24487         (QtPageClient::didFinishLoadingDataForCustomRepresentation):
24488         (QtPageClient::customRepresentationZoomFactor):
24489         (QtPageClient::setCustomRepresentationZoomFactor):
24490         (QtPageClient::didChangeScrollbarsForMainFrame):
24491         (QtPageClient::findStringInCustomRepresentation):
24492         (QtPageClient::countStringMatchesInCustomRepresentation):
24493         (QtPageClient::setEventHandler):
24494         (QtPageClient::setPageProxy):
24495         * UIProcess/qt/QtWebPageProxy.cpp:
24496         (QtWebPageProxy::QtWebPageProxy):
24497         * UIProcess/qt/QtWebPageProxy.h:
24498
24499 2011-12-02  Kenneth Rohde Christiansen  <kenneth@webkit.org>
24500
24501         [Qt] Do not apply the transition state before we are unsuspended
24502
24503         Reviewed by Simon Hausmann.
24504
24505         Also remove an accessor in the private, which is unneeded as
24506         everything in the private class is supposed to be public or
24507         only used by the private itself.
24508
24509         * UIProcess/API/qt/qquickwebview.cpp:
24510         (QQuickWebViewPrivate::QQuickWebViewPrivate):
24511         (QQuickWebViewPrivate::loadDidCommit):
24512         (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
24513         (QQuickWebViewPrivate::_q_suspend):
24514         (QQuickWebViewPrivate::_q_resume):
24515         (QQuickWebViewPrivate::didChangeContentsSize):
24516         (QQuickWebViewPrivate::didChangeViewportProperties):
24517         * UIProcess/API/qt/qquickwebview_p_p.h:
24518
24519 2011-12-02  Kenneth Rohde Christiansen  <kenneth@webkit.org>
24520
24521         Unreviewed buildfix, add missing include.
24522
24523         * WebProcess/Notifications/WebNotificationManager.cpp:
24524
24525 2011-12-02  Hajime Morrita  <morrita@chromium.org>
24526
24527         Unreviewed, rolling out r101751 and r101775.
24528         http://trac.webkit.org/changeset/101751
24529         http://trac.webkit.org/changeset/101775
24530         https://bugs.webkit.org/show_bug.cgi?id=73191
24531
24532         breaks Windows build
24533
24534         * config.h:
24535
24536 2011-12-02  Carlos Garcia Campos  <cgarcia@igalia.com>
24537
24538         Unreviewed. Fix GTK+ build after r101750.
24539
24540         * GNUmakefile.am: Add missing files.
24541
24542 2011-12-02  Gustavo Noronha Silva  <gns@gnome.org>
24543
24544         Unreviewed. GTK+ build fix.
24545
24546         * GNUmakefile.am:
24547
24548 2011-12-02  Zalan Bujtas  <zbujtas@gmail.com>
24549
24550         [Qt][WK2] ASSERT at QQuickWebViewPrivate::computeViewportConstraints() when API test is exercising zero sized views.
24551         https://bugs.webkit.org/show_bug.cgi?id=73441
24552
24553         Do not assert on empty available size, but return default constrain values instead.
24554
24555         Reviewed by Kenneth Rohde Christiansen.
24556
24557         * UIProcess/API/qt/qquickwebview.cpp:
24558         (QQuickWebViewPrivate::computeViewportConstraints):
24559         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
24560         (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
24561
24562 2011-12-01  Hajime Morrita  <morrita@chromium.org>
24563
24564         JS_INLINE and WTF_INLINE should be visible from WebCore
24565         https://bugs.webkit.org/show_bug.cgi?id=73191
24566
24567         Reviewed by Kevin Ollivier.
24568
24569         Removed macro definitions which is now provided by Platform.h
24570
24571         * config.h:
24572
24573 2011-12-01  Jon Lee  <jonlee@apple.com>
24574
24575         [WK2] Add further support for notifications
24576         https://bugs.webkit.org/show_bug.cgi?id=73572
24577         <rdar://problem/10472195>
24578
24579         Reviewed by Darin Adler.
24580
24581         * WebProcess/Notifications/WebNotificationManager.messages.in: Added. Contains messages for callbacks
24582         from the notification platform.
24583
24584         * DerivedSources.make: Add WebNotificationManager.
24585         * DerivedSources.pri: Ditto.
24586         * Platform/CoreIPC/MessageID.h: Add message class.
24587         * WebProcess/WebProcess.cpp:
24588         (WebKit::WebProcess::didReceiveMessage): Forward calls to WebNotificationManager when needed.
24589         * WebKit2.xcodeproj/project.pbxproj: Add new message files.
24590         * win/WebKit2.vcproj: Adding new files to project.
24591         * win/WebKit2Common.vsprops: Add Notifications to include paths
24592
24593         * UIProcess/WebNotification.h: Add and expose internal ID of each notification sent to the platform.
24594         (WebKit::WebNotification::create):
24595         (WebKit::WebNotification::notificationID):
24596         (WebKit::isNotificationIDValid): Checks that the ID is not a value that might trip up the HashMaps used
24597         for mapping IDs to notifications.
24598         * UIProcess/WebNotification.cpp:
24599         (WebKit::WebNotification::WebNotification):
24600         (WebKit::WebNotification::encode):
24601         (WebKit::WebNotification::decode):
24602         * UIProcess/API/C/WKNotification.h: Expose notification ID to WKAPI.
24603         * UIProcess/API/C/WKNotification.cpp:
24604         (WKNotificationGetNotificationID):
24605
24606         * UIProcess/WebNotificationManagerProxy.h: Add callbacks for dispatching events back to the notification.
24607         * UIProcess/WebNotificationManagerProxy.cpp:
24608         (WebKit::WebNotificationManagerProxy::invalidate): Remove manager.
24609         (WebKit::WebNotificationManagerProxy::show): Add manager prior to showing.
24610         (WebKit::WebNotificationManagerProxy::cancel): Add manager prior to canceling.
24611         (WebKit::WebNotificationManagerProxy::didDestroyNotification):
24612         (WebKit::WebNotificationManagerProxy::providerDidShowNotification):
24613         (WebKit::WebNotificationManagerProxy::providerDidClickNotification):
24614         (WebKit::WebNotificationManagerProxy::providerDidCloseNotifications):
24615         * UIProcess/API/C/WKNotificationManager.h:
24616         * UIProcess/API/C/WKNotificationManager.cpp:
24617         (WKNotificationManagerProviderDidShowNotification):
24618         (WKNotificationManagerProviderDidClickNotification):
24619         (WKNotificationManagerProviderDidCloseNotifications):
24620
24621         * UIProcess/WebNotificationProvider.h:
24622         * UIProcess/WebNotificationProvider.cpp:
24623         (WebKit::WebNotificationProvider::show):
24624         (WebKit::WebNotificationProvider::cancel):
24625         (WebKit::WebNotificationProvider::didDestroyNotification):
24626         (WebKit::WebNotificationProvider::addNotificationManager):
24627         (WebKit::WebNotificationProvider::removeNotificationManager):
24628         * UIProcess/API/C/WKNotificationProvider.h: Expose add/removeNotificationManager calls
24629
24630         * WebProcess/Notifications/WebNotificationManager.h: Add bookkeeping to keep track of notification IDs with
24631         Notification instances.
24632         * WebProcess/Notifications/WebNotificationManager.cpp:
24633         (WebKit::generateNotificationID):
24634         (WebKit::WebNotificationManager::didReceiveMessage):
24635         (WebKit::WebNotificationManager::show):
24636         (WebKit::WebNotificationManager::cancel):
24637         (WebKit::WebNotificationManager::didDestroyNotification):
24638         (WebKit::WebNotificationManager::didShowNotification):
24639         (WebKit::WebNotificationManager::didClickNotification):
24640         (WebKit::WebNotificationManager::didCloseNotifications):
24641
24642         * UIProcess/WebNotificationManagerProxy.messages.in: Add DidDestroyNotification message.
24643         * WebProcess/WebCoreSupport/WebNotificationClient.cpp:
24644         (WebKit::WebNotificationClient::notificationObjectDestroyed): Implemented.
24645
24646 2011-12-01  Goutham J  <gouthamj@motorola.com>
24647
24648         [WEBKIT2] Fix for compilation warnings in WebContext.cpp
24649         https://bugs.webkit.org/show_bug.cgi?id=69080
24650
24651         Fix compilation warning in WebKit2 builds.
24652
24653         Reviewed by Hajime Morita.
24654
24655         * UIProcess/WebContext.cpp:
24656         (WebKit::WebContext::processDidFinishLaunching):
24657         (WebKit::WebContext::startMemorySampler):
24658
24659 2011-12-01  Beth Dakin  <bdakin@apple.com>
24660
24661         https://bugs.webkit.org/show_bug.cgi?id=73592
24662         REGRESSION (r100483): Can't drag out of background window
24663         -and corresponding-
24664         <rdar://problem/10508870>
24665
24666         Reviewed by Darin Adler.
24667
24668         If the mouse is pressed we need to do a full, normal hit test even if the window 
24669         is not active. 
24670         * WebProcess/WebPage/WebPage.cpp:
24671         (WebKit::WebPage::mouseEvent):
24672         (WebKit::WebPage::mouseEventSyncForTesting):
24673
24674 2011-12-01  Martin Robinson  <mrobinson@igalia.com>
24675
24676         [GTK] Add a helper function to find the current executable's path
24677         https://bugs.webkit.org/show_bug.cgi?id=73473
24678
24679         Reviewed by Gustavo Noronha Silva.
24680
24681         Do a series of tests when looking for processes. First search the directory
24682         specified by the environment variable, then the directory of the binary and
24683         then the LIBEXECDIR.
24684
24685         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
24686         (WebKit::findWebKitProcess): Added.
24687         (WebKit::ProcessLauncher::launchProcess): Call the new helper to get the
24688         binary location.
24689
24690 2011-12-01  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
24691
24692         [Qt] [WK2] QQuickWebView covers QML elements that should be rendered on top.
24693         https://bugs.webkit.org/show_bug.cgi?id=73338
24694
24695         Reviewed by Noam Rosenthal.
24696
24697         Move painting of QQuickWebPage content from canvas afterrendering() to
24698         QSGGeometryNode/QSGMaterial based paint node. Implementation uses QSGMaterialShader
24699         updateState() method to draw TextureMapper graphics layers.
24700         This is considered to be temporary until QSGNode::UserNodeType will be available.
24701
24702         * UIProcess/API/qt/qquickwebpage.cpp:
24703         (QQuickWebPage::QQuickWebPage):
24704         (QQuickWebPagePrivate::QQuickWebPagePrivate):
24705         (PageProxyMaterialShader::attributeNames):
24706         (PageProxyMaterialShader::vertexShader):
24707         (PageProxyMaterialShader::fragmentShader):
24708         (PageProxyMaterial::PageProxyMaterial):
24709         (PageProxyMaterial::type):
24710         (PageProxyMaterial::createShader):
24711         (PageProxyNode::PageProxyNode):
24712         (PageProxyNode::~PageProxyNode):
24713         (PageProxyMaterialShader::updateState):
24714         (QQuickWebPage::updatePaintNode):
24715         (QQuickWebPagePrivate::resetPaintNode):
24716         (QQuickWebPagePrivate::~QQuickWebPagePrivate):
24717         * UIProcess/API/qt/qquickwebpage_p.h:
24718         * UIProcess/API/qt/qquickwebpage_p_p.h:
24719         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
24720         (tst_QQuickWebView::showWebView):
24721         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
24722         (WebKit::LayerTreeHostProxy::didRenderFrame):
24723
24724 2011-12-01  Nayan Kumar K  <nayankk@motorola.com>
24725
24726         [WK2][GTK] Change default-font-size and default-monospace-font-size
24727         https://bugs.webkit.org/show_bug.cgi?id=73468
24728
24729         Reviewed by Martin Robinson.
24730
24731         Set 'default-font-size' property value to 16px and 'default-monospace-font-size'
24732         value to 13px.
24733
24734         * UIProcess/API/gtk/WebKitSettings.cpp:
24735         (webkit_settings_class_init): Change the default font size settings.
24736         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
24737         (testWebKitSettings): Correct the test.
24738
24739 2011-12-01  Wajahat Siddiqui  <mdwajahatali.siddiqui@motorola.com>
24740
24741         Popup menu can get stuck in closed state when GtkMenu can't grab mouse.
24742         https://bugs.webkit.org/show_bug.cgi?id=56466
24743
24744         Add a check if popup menu is not visible due to no mouse grab,
24745         Ensure WebCore is in sync with proper state.
24746
24747         Reviewed by Martin Robinson.
24748
24749         * UIProcess/WebPageProxy.cpp:
24750         (WebKit::WebPageProxy::failedToShowPopupMenu): Added Method to send message
24751         to WebProcess.
24752         * UIProcess/WebPageProxy.h:
24753         * UIProcess/WebPopupMenuProxy.h:
24754         * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
24755         (WebKit::WebPopupMenuProxyGtk::showPopupMenu):
24756         * WebProcess/WebCoreSupport/WebPopupMenu.h:
24757         (WebKit::WebPopupMenu::client): Added Method to get WebCore::PopupMenuClient.
24758         * WebProcess/WebPage/WebPage.cpp:
24759         (WebKit::WebPage::failedToShowPopupMenu):
24760         * WebProcess/WebPage/WebPage.h:
24761         * WebProcess/WebPage/WebPage.messages.in: Added Message to inform WebProcess ShowPopupMenu failed.
24762
24763 2011-12-01  Pavel Feldman  <pfeldman@chromium.org>
24764
24765         Web Inspector: restore WebKit2 Safari menu items after capabilities refactoring regression.
24766         https://bugs.webkit.org/show_bug.cgi?id=73554
24767
24768         Reviewed by Yury Semikhatsky.
24769
24770         * UIProcess/WebInspectorProxy.cpp:
24771         (WebKit::WebInspectorProxy::didClose):
24772
24773 2011-11-30  Alexey Proskuryakov  <ap@apple.com>
24774
24775         Remove an unneeded argument from FrameLoaderClient::download
24776         https://bugs.webkit.org/show_bug.cgi?id=73486
24777
24778         Reviewed by Andreas Kling.
24779
24780         * WebProcess/Downloads/Download.h:
24781         * WebProcess/Downloads/DownloadManager.cpp:
24782         (WebKit::DownloadManager::convertHandleToDownload):
24783         * WebProcess/Downloads/DownloadManager.h:
24784         * WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
24785         (WebKit::Download::startWithHandle):
24786         * WebProcess/Downloads/curl/DownloadCurl.cpp:
24787         (WebKit::Download::startWithHandle):
24788         * WebProcess/Downloads/mac/DownloadMac.mm:
24789         (WebKit::Download::startWithHandle):
24790         * WebProcess/Downloads/qt/DownloadQt.cpp:
24791         (WebKit::Download::startWithHandle):
24792         * WebProcess/Downloads/soup/DownloadSoup.cpp:
24793         (WebKit::Download::startWithHandle):
24794         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
24795         (WebKit::WebFrameLoaderClient::download):
24796         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
24797         * WebProcess/WebPage/WebFrame.cpp:
24798         (WebKit::WebFrame::convertHandleToDownload):
24799         * WebProcess/WebPage/WebFrame.h:
24800         Updated for the change. CF version is the only one worth seeing, as it was using the argument.
24801
24802 2011-11-30  Alexey Proskuryakov  <ap@apple.com>
24803
24804         Original page URL is not set in quarantine information when downloading using context menu Save Linked File
24805         https://bugs.webkit.org/show_bug.cgi?id=73475
24806         <rdar://problem/10500337>
24807
24808         Reviewed by Dan Bernstein.
24809
24810         * WebProcess/WebProcess.cpp: (WebKit::WebProcess::downloadRequest): Set main document URL
24811         for the request, so that CFNetwork would know where te file was downloaded. Note that this
24812         is an easier case than downloading due to clicks, since we don't really need to build a host
24813         only URL, and could use full page URL. However, the same function is used for consistency.
24814
24815 2011-11-30  Igor Oliveira  <igor.oliveira@openbossa.org>
24816
24817         [WK2][Qt] AC animation startTime is wrong
24818
24819         [WK2][Qt] AC animation startTime is wrong
24820         https://bugs.webkit.org/show_bug.cgi?id=73467
24821
24822         When WebProcess sends animation information to UIProcess, It uses the 
24823         current time(WTF::currentTime) minus the timeOffset to set the start time 
24824         animation. 
24825
24826         But there is a latency between the WebProcess and UIProcess communication 
24827         and sometimes the animation transition starts late.
24828
24829         This patch fixes the bug moving the startTime calculation to UIProcess.
24830
24831         Reviewed by Noam Rosenthal.
24832
24833         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
24834         (WebKit::LayerTreeHostProxy::syncLayerParameters):
24835         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
24836         (WebCore::WebGraphicsLayer::addAnimation):
24837
24838 2011-11-30  Csaba Osztrogonác  <ossy@webkit.org>
24839
24840         [Qt] Buildfix for generating forwarding headers
24841         https://bugs.webkit.org/show_bug.cgi?id=73446
24842
24843         Reviewed by Noam Rosenthal.
24844
24845         * DerivedSources.pri: Always create the parent directory before generating a forwarding header.
24846
24847 2011-11-30  Dan Bernstein  <mitz@apple.com>
24848
24849         WebKit2 part of: Allow the length of a page along the pagination axis to differ from the length of the view
24850         https://bugs.webkit.org/show_bug.cgi?id=73476
24851
24852         Reviewed by Anders Carlsson.
24853
24854         * Shared/WebPageCreationParameters.cpp:
24855         (WebKit::WebPageCreationParameters::encode): Encode pageLength.
24856         (WebKit::WebPageCreationParameters::decode): Decode pageLength.
24857         * Shared/WebPageCreationParameters.h: Added pageLength.
24858         * UIProcess/API/C/WKPage.cpp:
24859         (WKPageSetPageLength): Added this accessor.
24860         (WKPageGetPageLength): Ditto.
24861         * UIProcess/API/C/WKPagePrivate.h:
24862         * UIProcess/API/mac/WKBrowsingContextController.mm:
24863         (-[WKBrowsingContextController setPageLength:]): Ditto.
24864         (-[WKBrowsingContextController pageLength]): Ditto.
24865         * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h:
24866         * UIProcess/WebPageProxy.cpp:
24867         (WebKit::WebPageProxy::WebPageProxy): Added initializer for m_pageLength.
24868         (WebKit::WebPageProxy::setPageLength): Added.
24869         (WebKit::WebPageProxy::creationParameters): Initialize pageLength.
24870         * UIProcess/WebPageProxy.h:
24871         (WebKit::WebPageProxy::pageLength): Added.
24872         * WebProcess/WebPage/WebPage.cpp:
24873         (WebKit::WebPage::WebPage): Set the page length based on the creation parameters.
24874         (WebKit::WebPage::setPageLength): Added.
24875         * WebProcess/WebPage/WebPage.h:
24876         * WebProcess/WebPage/WebPage.messages.in: Added SetPageLength.
24877
24878 2011-11-30  Alejandro G. Castro  <alex@igalia.com>
24879
24880         [GTK] Add accelerated compositing compilation option
24881         https://bugs.webkit.org/show_bug.cgi?id=73298
24882
24883         Compile whatever we have inside the USE(ACCELERATED_COMPOSITING)
24884         define. Fix accelerated compositing compilation in WK2, update the
24885         enter/exit functions.
24886
24887         Reviewed by Martin Robinson.
24888
24889         * UIProcess/API/gtk/PageClientImpl.cpp:
24890         (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
24891         (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
24892         * UIProcess/API/gtk/PageClientImpl.h:
24893
24894 2011-11-29  Beth Dakin  <bdakin@apple.com>
24895
24896         https://bugs.webkit.org/show_bug.cgi?id=72751
24897         WebKit2.MouseMoveAfterCrash API test is failing 
24898
24899         Reviewed by Sam Weinig.
24900
24901         windowIsFocused() is too restrictive. All we need to know is that the page is 
24902         active.
24903         * WebProcess/WebPage/WebPage.cpp:
24904         (WebKit::WebPage::mouseEvent):
24905         (WebKit::WebPage::mouseEventSyncForTesting):
24906
24907 2011-11-29  Sam Weinig  <sam@webkit.org>
24908
24909         Add move semantics to WKRetainPtr
24910         https://bugs.webkit.org/show_bug.cgi?id=73400
24911
24912         Reviewed by Anders Carlsson.
24913
24914         * UIProcess/API/cpp/WKRetainPtr.h:
24915         (WebKit::WKRetainPtr::WKRetainPtr):
24916         Add a move constructor and move enabled assignment operators
24917         to WKRetainPtr if the compiler being used supports rvalue
24918         references. If the compiler does not support it, we fallback
24919         to the copy semantics we have always had.
24920
24921 2011-11-30  Mario Sanchez Prada  <msanchez@igalia.com>
24922
24923         [Gtk] Links should be Tab-focusable by default
24924         https://bugs.webkit.org/show_bug.cgi?id=73427
24925
24926         Reviewed by Martin Robinson.
24927
24928         * UIProcess/API/gtk/WebKitSettings.cpp:
24929         (webkit_settings_class_init): Switch the default value for
24930         'enable-tabs-to-links' property from FALSE to TRUE.
24931         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
24932         (testWebKitSettings): Updated unit test.
24933
24934 2011-11-30  Alexey Proskuryakov  <ap@apple.com>
24935
24936         Download page URL should be set by WebCore
24937         https://bugs.webkit.org/show_bug.cgi?id=73358
24938
24939         Reviewed by Darin Adler.
24940
24941         * WebProcess/Downloads/mac/DownloadMac.mm:
24942         (WebKit::Download::start): There is no need to set original URL post factum any more.
24943         (WebKit::Download::startWithHandle): Ditto.
24944
24945 2011-11-30  Kenneth Rohde Christiansen  <kenneth@webkit.org>
24946
24947         Rename WebKit::ViewportUpdateGuard to *Deferrer and add some better
24948         comments to explain its purpose.
24949
24950         Reviewed by Simon Hausmann.
24951
24952         * UIProcess/qt/QtViewportInteractionEngine.cpp:
24953         (WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer):
24954         (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
24955         (WebKit::QtViewportInteractionEngine::setItemRectVisible):
24956         (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
24957         (WebKit::QtViewportInteractionEngine::scrollStateChanged):
24958         (WebKit::QtViewportInteractionEngine::applyConstraints):
24959         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
24960         * UIProcess/qt/QtViewportInteractionEngine.h:
24961
24962 2011-11-30  Simon Hausmann  <simon.hausmann@nokia.com>
24963
24964         Build fix. The removal of the Qt threading back-end also removed
24965         an implicit QString inclusion/forward-declaration.
24966
24967         * UIProcess/qt/QtWebContext.h:
24968
24969 2011-11-30  Kenneth Rohde Christiansen  <kenneth@webkit.org>
24970
24971         [Qt] Clean up the Qt viewport interaction engine
24972
24973         Reviewed by Simon Hausmann.
24974
24975         * UIProcess/qt/QtViewportInteractionEngine.cpp:
24976         (WebKit::QtViewportInteractionEngine::reset):
24977
24978             Make sure reset is not called while suspended.
24979
24980         (WebKit::QtViewportInteractionEngine::applyConstraints):
24981
24982             We always need to apply the constrains due to initial-scale.
24983
24984             Now that we only apply the constrains when we are ready to
24985             paint, it is impossible for the user to have interacted with
24986             the content in the case the viewport meta tag was declared
24987             in the <head> tag, and it is thus always applied.
24988
24989         (WebKit::QtViewportInteractionEngine::panGestureStarted):
24990         (WebKit::QtViewportInteractionEngine::pinchGestureActive):
24991
24992             Fix this method to actually do what it advertises, before
24993             it would be true even if just animation a bounce back effect.
24994
24995         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
24996         (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
24997         * UIProcess/qt/QtViewportInteractionEngine.h:
24998
24999             General, get rid of the interaction flags as we only need to
25000             know whether the user interacted (panned, pinched, double-tapped).
25001             Before we would still apply initial-scale if the user had panned
25002             the content which can be pretty confusing.
25003
25004 2011-11-30  Simon Hausmann  <simon.hausmann@nokia.com>
25005
25006         Unreviewed prospective mac build fix after r101450.
25007
25008         * Platform/mac/ModuleMac.mm:
25009         (WebKit::Module::unload): leakRef is declared with attribute warn_unused_result.
25010
25011 2011-11-30  Adenilson Cavalcanti  <adenilson.silva@openbossa.org>
25012
25013         [Qt][WK2] Implement permission API for Qt port
25014         https://bugs.webkit.org/show_bug.cgi?id=59200
25015
25016         Permission API hookup for Geolocation, it allows to receive in WebView
25017         a signal when a permission request is done (e.g. to grant permission
25018         for accessing geolocation information) and set it accordingly.
25019
25020         Reviewed by Simon Hausmann.
25021
25022         * Target.pri:
25023         * UIProcess/API/qt/qquickwebview_p.h:
25024         * UIProcess/API/qt/qwebpermissionrequest.cpp: Added.
25025         (QWebPermissionRequestPrivate::QWebPermissionRequestPrivate):
25026         (QWebPermissionRequestPrivate::~QWebPermissionRequestPrivate):
25027         (QWebPermissionRequest::create):
25028         (QWebPermissionRequest::QWebPermissionRequest):
25029         (QWebPermissionRequest::~QWebPermissionRequest):
25030         (QWebPermissionRequest::type):
25031         (QWebPermissionRequest::setAllow):
25032         (QWebPermissionRequest::allow):
25033         (QWebPermissionRequest::scheme):
25034         (QWebPermissionRequest::host):
25035         (QWebPermissionRequest::port):
25036         * UIProcess/API/qt/qwebpermissionrequest_p.h: Added.
25037         * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml: Added.
25038         * UIProcess/API/qt/tests/qmltests/common/geolocation.html: Added.
25039         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
25040         * UIProcess/qt/QtWebPageUIClient.cpp:
25041         (QtWebPageUIClient::QtWebPageUIClient):
25042         (QtWebPageUIClient::permissionRequest):
25043         (QtWebPageUIClient::policyForGeolocationPermissionRequest):
25044         * UIProcess/qt/QtWebPageUIClient.h:
25045
25046 2011-11-30  Alexey Proskuryakov  <ap@apple.com>
25047
25048         -[WKView attributedSubstringForProposedRange:actualRange:] doesn't update actualRange when it's out of bounds
25049         https://bugs.webkit.org/show_bug.cgi?id=67813
25050
25051         Reviewed by Simon Fraser.
25052
25053         * UIProcess/API/mac/WKView.mm:
25054         (-[WKView attributedSubstringForProposedRange:actualRange:]): Update actualRange to match
25055         result length.
25056         (-[WKView firstRectForCharacterRange:actualRange:]): Added a FIXME. This is harder to
25057         implement, and it's unclear if clients care at this time.
25058
25059 2011-11-29  Sam Weinig  <sam@webkit.org>
25060
25061         Remove RetainPtr::releaseRef
25062         https://bugs.webkit.org/show_bug.cgi?id=73396
25063
25064         Reviewed by Dan Bernstein.
25065
25066         * Platform/mac/ModuleMac.mm:
25067         (WebKit::Module::unload):
25068         Replace the final use of RetainPtr::releaseRef() with RetainPtr::leakRef(),
25069         its sexy replacement.
25070
25071 2011-11-29  Jessie Berlin  <jberlin@apple.com>
25072
25073         WKKeyValueStorageManagerGetKeyValueStorageOrigins may not report the correct list of origins
25074         the first time it is called.
25075         https://bugs.webkit.org/show_bug.cgi?id=73374 (<rdar://problem/10196057>)
25076
25077         Reviewed by Brady Eidson.
25078
25079         Queue any requests for the origins that have Local Storage until the StorageTracker is done
25080         loading the list of those origins from disk.
25081
25082         * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp:
25083         (WebKit::keyValueStorageOriginIdentifiers):
25084         Refactored here from getKeyValueStorageOrigins so it can be used by didFinishLoadingOrigins.
25085         (WebKit::dispatchDidGetKeyValueStorageOrigins):
25086         Ditto.
25087         (WebKit::WebKeyValueStorageManager::getKeyValueStorageOrigins):
25088         If the StorageTracker is not done loading the list of origins from disk, queue up the
25089         request to be handled later.
25090         (WebKit::WebKeyValueStorageManager::didFinishLoadingOrigins):
25091         Dispatch the results for any requests that were make before the StorageTracker was done
25092         loading the list of origins from disk.
25093         (WebKit::WebKeyValueStorageManager::dispatchDidModifyOrigin):
25094         * WebProcess/KeyValueStorage/WebKeyValueStorageManager.h:
25095
25096         * WebProcess/WebProcess.cpp:
25097         (WebKit::WebProcess::initializeWebProcess):
25098         Set the WebKeyValueStorageManager as the StorageTrackerClient.
25099
25100 2011-11-29  Anders Carlsson  <andersca@apple.com>
25101
25102         Decorate adoptWK with WARN_UNUSED_RETURN
25103         https://bugs.webkit.org/show_bug.cgi?id=73331
25104
25105         Reviewed by Sam Weinig.
25106
25107         * UIProcess/API/cpp/WKRetainPtr.h:
25108         (WebKit::adoptWK):
25109
25110 2011-11-29  Carlos Garcia Campos  <cgarcia@igalia.com>
25111
25112         Unreviewed. Fix GTK+ WebKit2 build after r101312.
25113
25114         * Scripts/generate-forwarding-headers.pl: Add blackberry to the
25115         list of platforms.
25116
25117 2011-11-29  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
25118
25119         [Qt] Don't hard-code the list of WebKit2 generated sources
25120
25121         The generated sources are... wait for it... generated. So
25122         use the generator itself to figure out which sources we need
25123         to compile.
25124
25125         Reviewed by Simon Hausmann.
25126
25127         * DerivedSources.pri:
25128         * Target.pri:
25129
25130 2011-11-29  Carlos Garcia Campos  <cgarcia@igalia.com>
25131
25132         Unreviewed. Fix the GTK+ port build after r101307.
25133
25134         * GNUmakefile.am: Add missing files to compilation.
25135
25136 2011-11-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
25137
25138         [Qt] Add the infrastructure for enabling suspend/resume.
25139
25140         Reviewed by Simon Hausmann.
25141
25142         Also, remove the painting optimization as it is broken in some
25143         situations, as there is an assumption in that comparison that
25144         the guards cannot be nested, which goes against the design and
25145         its use.
25146
25147         * UIProcess/API/qt/qquickwebview.cpp:
25148         (QQuickWebViewPrivate::initializeDesktop):
25149         (QQuickWebViewPrivate::initializeTouch):
25150         (QQuickWebViewPrivate::_q_suspend):
25151         (QQuickWebViewPrivate::_q_resume):
25152         * UIProcess/API/qt/qquickwebview_p.h:
25153         * UIProcess/API/qt/qquickwebview_p_p.h:
25154         * UIProcess/qt/QtViewportInteractionEngine.cpp:
25155         (WebKit::ViewportUpdateGuard::ViewportUpdateGuard):
25156         (WebKit::ViewportUpdateGuard::~ViewportUpdateGuard):
25157         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
25158         (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
25159         (WebKit::QtViewportInteractionEngine::scrollStateChanged):
25160         (WebKit::QtViewportInteractionEngine::event):
25161         (WebKit::QtViewportInteractionEngine::pagePositionRequest):
25162         (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
25163         (WebKit::QtViewportInteractionEngine::reset):
25164         (WebKit::QtViewportInteractionEngine::applyConstraints):
25165         (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
25166         (WebKit::QtViewportInteractionEngine::panGestureEnded):
25167         (WebKit::QtViewportInteractionEngine::pinchGestureActive):
25168         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
25169         (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
25170         (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
25171         (WebKit::QtViewportInteractionEngine::itemSizeChanged):
25172         * UIProcess/qt/QtViewportInteractionEngine.h:
25173
25174 2011-11-29  Carlos Garcia Campos  <cgarcia@igalia.com>
25175
25176         [GTK] Add WebKitURIResponse to WebKit2 GTK+ API
25177         https://bugs.webkit.org/show_bug.cgi?id=72946
25178
25179         Reviewed by Martin Robinson.
25180
25181         * GNUmakefile.am: Add new files to compilation.
25182         * UIProcess/API/gtk/WebKitURIResponse.cpp: Added.
25183         (webkitURIResponseFinalize):
25184         (webkitURIResponseGetProperty):
25185         (webkitURIResponseSetProperty):
25186         (webkit_uri_response_class_init):
25187         (webkit_uri_response_init):
25188         (webkit_uri_response_get_uri): Return the URI of the response.
25189         (webkit_uri_response_get_status_code): Return the status code of
25190         the response, or SOUP_STATUS_NONE.
25191         (webkit_uri_response_get_content_length): Return the expected
25192         content length of the response.
25193         (webkitURIResponseCreateForSoupMessage): Private function to
25194         create a response object from a SoupMessage.
25195         (webkitURIResponseGetSoupMessage): Return the soup message
25196         associated to the response.
25197         (webkitURIResponseSetContentLength): Set the expected content
25198         length of the response. This is useful for non http responses.
25199         * UIProcess/API/gtk/WebKitURIResponse.h: Added.
25200         * UIProcess/API/gtk/WebKitURIResponsePrivate.h: Added.
25201         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section.
25202         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
25203         * UIProcess/API/gtk/docs/webkit2gtk.types: Add
25204         webkit_uri_response_get_type().
25205         * UIProcess/API/gtk/webkit2.h: Add WebKitURIResponse.h.
25206
25207 2011-11-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
25208
25209         [Qt] QQuickWebView gets wrong position after reload
25210         https://bugs.webkit.org/show_bug.cgi?id=73292
25211
25212         Reviewed by Simon Hausmann.
25213
25214         The ensureContentWithinViewportBoundary animates the current viewport
25215         item into boundaries. That of course breaks when we try to animate it,
25216         given the initial-scale which hasn't been applied; so apply it.
25217
25218         Also put the QScroller settings code in the ctor as it never changes.
25219
25220         * UIProcess/qt/QtViewportInteractionEngine.cpp:
25221         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
25222         (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
25223         (WebKit::QtViewportInteractionEngine::reset):
25224         (WebKit::QtViewportInteractionEngine::applyConstraints):
25225         * UIProcess/qt/QtViewportInteractionEngine.h:
25226
25227 2011-11-29  Roland Steiner  <rolandsteiner@chromium.org>
25228
25229         <style scoped>: add ENABLE(STYLE_SCOPED) flag to WebKit
25230         https://bugs.webkit.org/show_bug.cgi?id=72848
25231
25232         Reviewed by Dimitri Glazkov.
25233
25234         * Configurations/FeatureDefines.xcconfig:
25235
25236 2011-11-28  Jon Lee  <jonlee@apple.com>
25237
25238         Create skeleton framework for notifications support in WK2
25239         https://bugs.webkit.org/show_bug.cgi?id=73253
25240         <rdar://problem/10356943>
25241
25242         Reviewed by Sam Weinig.
25243
25244         * WebKit2.xcodeproj/project.pbxproj: Added classes for notification support.
25245         * win/WebKit2.vcproj: Ditto.
25246         * Target.pri: Ditto.
25247         * Configurations/FeatureDefines.xcconfig: Split out ENABLE_NOTIFICATIONS based on platform.
25248         * DerivedSources.make: Add Notifications to VPATH.
25249         * Platform/CoreIPC/MessageID.h: List WebNotificationManagerProxy as a class with messages.
25250         * Scripts/webkit2/messages.py: Mark WebCore::NotificationContents as a struct.
25251
25252         * Shared/API/c/WKBase.h: Map opaque types to NotificationProvider, NotificationManager, and Notification.
25253         * UIProcess/API/C/WKAPICast.h: Map WK types toNotificationProvider, NotificationManager, and Notification.
25254         * Shared/APIObject.h: Add Notification and NotificationManager as APIObjects.
25255         * Shared/WebCoreArgumentCoders.cpp: Added coders for KURL.
25256         (CoreIPC::::encode):
25257         (CoreIPC::::decode):
25258         * Shared/WebCoreArgumentCoders.h:
25259
25260         * UIProcess/WebNotification.cpp: Added.
25261         (WebKit::WebNotification::WebNotification):
25262         (WebKit::WebNotification::~WebNotification):
25263         (WebKit::WebNotification::encode):
25264         (WebKit::WebNotification::decode):
25265         * UIProcess/WebNotification.h: Added.
25266         (WebKit::WebNotification::create):
25267         (WebKit::WebNotification::title):
25268         (WebKit::WebNotification::body):
25269         (WebKit::WebNotification::type):
25270         * UIProcess/API/C/WKNotification.cpp: Added as API.
25271         (WKNotificationGetTypeID):
25272         (WKNotificationCopyTitle):
25273         (WKNotificationCopyBody):
25274         * UIProcess/API/C/WKNotification.h: Added as API.
25275
25276         * WebProcess/Notifications/WebNotificationManager.h: Added. Contains for now show() and cancel().
25277         The rest of the notification client methods will be added later. These two functions send messages
25278         to the manager proxy.
25279         * WebProcess/Notifications/WebNotificationManager.cpp: Added.
25280         (WebKit::WebNotificationManager::WebNotificationManager):
25281         (WebKit::WebNotificationManager::~WebNotificationManager):
25282         (WebKit::WebNotificationManager::show):
25283         (WebKit::WebNotificationManager::cancel):
25284
25285         * UIProcess/WebNotificationManagerProxy.cpp: Added.
25286         (WebKit::WebNotificationManagerProxy::create):
25287         (WebKit::WebNotificationManagerProxy::WebNotificationManagerProxy):
25288         (WebKit::WebNotificationManagerProxy::~WebNotificationManagerProxy):
25289         (WebKit::WebNotificationManagerProxy::invalidate):
25290         (WebKit::WebNotificationManagerProxy::initializeProvider):
25291         (WebKit::WebNotificationManagerProxy::didReceiveMessage):
25292         (WebKit::WebNotificationManagerProxy::show):
25293         (WebKit::WebNotificationManagerProxy::cancel):
25294         * UIProcess/WebNotificationManagerProxy.h: Added.
25295         (WebKit::WebNotificationManagerProxy::clearContext):
25296         (WebKit::WebNotificationManagerProxy::type):
25297         * UIProcess/WebNotificationManagerProxy.messages.in: Added.
25298         * UIProcess/API/C/WKNotificationManager.cpp: Added.
25299         (WKNotificationManagerGetTypeID):
25300         (WKNotificationManagerSetProvider):
25301         * UIProcess/API/C/WKNotificationManager.h: Added.
25302
25303         * UIProcess/WebContext.h: Add the notification manager to the web context.
25304         (WebKit::WebContext::notificationManagerProxy): Access the manager.
25305         * UIProcess/WebContext.cpp:
25306         (WebKit::WebContext::WebContext): Boilerplate for managers.
25307         (WebKit::WebContext::~WebContext): Boilerplate for managers.
25308         (WebKit::WebContext::disconnectProcess): Boilerplate for managers.
25309         (WebKit::WebContext::didReceiveMessage): Forward messages to the notification manager.
25310         * UIProcess/API/C/WKContext.cpp: Expose as API.
25311         (WKContextGetNotificationManager):
25312         * UIProcess/API/C/WKContext.h: Expose as API.
25313
25314         * UIProcess/API/C/WKNotificationProvider.h: Added.
25315         * UIProcess/WebNotificationProvider.h: Added as APIClient.
25316         * UIProcess/WebNotificationProvider.cpp: Added.
25317         (WebKit::WebNotificationProvider::show): Forward call to the client.
25318         (WebKit::WebNotificationProvider::cancel): Forward call to the client.
25319         * UIProcess/WebProcessProxy.cpp:
25320         (WebKit::WebProcessProxy::didReceiveMessage): Forward messages for notification manager to the context.
25321
25322         * WebProcess/WebCoreSupport/WebChromeClient.cpp: Remove notificationPresenter().
25323         * WebProcess/WebCoreSupport/WebChromeClient.h: Remove notificationPresenter().
25324
25325         * WebProcess/WebCoreSupport/WebNotificationClient.h: Added. Forwards client methods to manager.
25326         * WebProcess/WebCoreSupport/WebNotificationClient.cpp: Added. Mostly stub implementation for now.
25327         (WebKit::WebNotificationClient::WebNotificationClient):
25328         (WebKit::WebNotificationClient::~WebNotificationClient):
25329         (WebKit::WebNotificationClient::show):
25330         (WebKit::WebNotificationClient::cancel):
25331         (WebKit::WebNotificationClient::notificationObjectDestroyed):
25332         (WebKit::WebNotificationClient::requestPermission):
25333         (WebKit::WebNotificationClient::cancelRequestsForPermission):
25334         (WebKit::WebNotificationClient::checkPermission):
25335
25336         * WebProcess/WebPage/WebPage.h: Added WebNotificationClient as one of its page clients.
25337         * WebProcess/WebPage/WebPage.cpp:
25338         (WebKit::WebPage::WebPage): Set the notification client to WebNotificationClient.
25339         * WebProcess/WebProcess.h: Added WebNotificationManager.
25340         (WebKit::WebProcess::notificationManager):
25341         * WebProcess/WebProcess.cpp:
25342         (WebKit::WebProcess::WebProcess): Initialize notificaton manager.
25343
25344 2011-11-28  Brent Fulgham  <bfulgham@webkit.org>
25345
25346         [WinCairo] Unreviewed build corrections.
25347
25348         * UIProcess/BackingStore.h: WinCairo doesn't need the Cairo backing
25349           for widgets.
25350         * win/WebKit2CFLite.def: Update to match WebKit2.def.
25351
25352 2011-11-28  Beth Dakin  <bdakin@apple.com>
25353
25354         https://bugs.webkit.org/show_bug.cgi?id=72551
25355         When the recommended scrollbar style changes, WKView's tracking options should 
25356         adjust accordingly
25357         -and corresponding-
25358         <rdar://problem/10409328>
25359
25360         Reviewed by Darin Adler.
25361
25362         These new functions take care of passing along the 
25363         recommendedScrollbarStyleDidChange() message that originates in the ChromeClient. 
25364         * UIProcess/API/mac/PageClientImpl.h:
25365         * UIProcess/PageClient.h:
25366         * UIProcess/WebPageProxy.cpp:
25367         (WebKit::WebPageProxy::recommendedScrollbarStyleDidChange):
25368         * UIProcess/WebPageProxy.h:
25369         * UIProcess/WebPageProxy.messages.in:
25370         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
25371         (WebKit::WebChromeClient::recommendedScrollbarStyleDidChange):
25372         * WebProcess/WebCoreSupport/WebChromeClient.h:
25373
25374         This is where we actually respond to the recommendedScrollbarStyleDidChange 
25375         message. We remove the existing tracking area and create a new tracking area with 
25376         the appropriate tracking options.
25377         * UIProcess/API/mac/PageClientImpl.mm:
25378         (WebKit::PageClientImpl::recommendedScrollbarStyleDidChange):
25379
25380         BuiltInPDFView inherits from WebCore::ScrollableArea, so scrollbarStyleChanged() 
25381         must now take two parameters like the one in ScrollableArea.
25382         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
25383         (WebKit::BuiltInPDFView::scrollbarStyleChanged):
25384         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
25385
25386 2011-11-28  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
25387
25388         [Qt][WK2] Fix panning after r101179
25389         https://bugs.webkit.org/show_bug.cgi?id=73224
25390
25391         Reviewed by Noam Rosenthal.
25392
25393         We were wrongly checking for interactionEngine() instead of
25394         !interactionEngine() after the QtWebPageEventHandler refactor.
25395
25396         * UIProcess/qt/QtPanGestureRecognizer.cpp:
25397         (WebKit::QtPanGestureRecognizer::recognize):
25398
25399 2011-11-28  Kenneth Rohde Christiansen  <kenneth@webkit.org>
25400
25401         Make sure the useFixedLayout feature is consistently handled
25402         https://bugs.webkit.org/show_bug.cgi?id=73212
25403
25404         Reviewed by Simon Hausmann.
25405
25406         Set the fixed layout on the UI side so that it is part of the page
25407         creation parameters and ensure that the page parameters are set
25408         before creating the page.
25409
25410         The parameters are set to our defaults and are now altered in the
25411         WebKitTestRunner.
25412
25413         * UIProcess/API/qt/qquickwebview.cpp:
25414         (QQuickWebViewPrivate::QQuickWebViewPrivate):
25415         (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
25416         (QQuickWebViewExperimental::setUseTraditionalDesktopBehaviour):
25417         (QQuickWebView::QQuickWebView):
25418         * UIProcess/WebPageProxy.cpp:
25419         (WebKit::WebPageProxy::setUseFixedLayout):
25420         * WebProcess/WebPage/WebPage.cpp:
25421         (WebKit::WebPage::WebPage):
25422
25423             On the web process side the default value for useFixedLayout
25424             wasn't actually read from the creation parameters. As it now may
25425             be different than that of the FrameView, we now call
25426             setFixedLayout in the constructor so make sure the value is
25427             propagated to the FrameView.
25428
25429         (WebKit::WebPage::setFixedVisibleContentRect):
25430         (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
25431         (WebKit::WebPage::resizeToContentsIfNeeded):
25432         (WebKit::WebPage::setViewportSize):
25433         (WebKit::WebPage::setUseFixedLayout):
25434         (WebKit::WebPage::setFixedLayoutSize):
25435
25436             The methods that depends on fixed layout now have asserts to make
25437             sure that they are used properly.
25438
25439 2011-11-28  Carlos Garcia Campos  <cgarcia@igalia.com>
25440
25441         [GTK] Rename WebKitNetworkRequest to WebKitURIRequest
25442         https://bugs.webkit.org/show_bug.cgi?id=73202
25443
25444         Reviewed by Martin Robinson.
25445
25446         Network is confusing because the request can be for a local file uri.
25447
25448         * GNUmakefile.am:
25449         * UIProcess/API/gtk/WebKitNetworkRequest.h: Removed.
25450         * UIProcess/API/gtk/WebKitURIRequest.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/WebKitNetworkRequest.cpp.
25451         (webkitURIRequestFinalize):
25452         (webkitURIRequestGetProperty):
25453         (webkitURIRequestSetProperty):
25454         (webkit_uri_request_class_init):
25455         (webkit_uri_request_init):
25456         (webkit_uri_request_new):
25457         (webkit_uri_request_get_uri):
25458         * UIProcess/API/gtk/WebKitURIRequest.h: Added.
25459         * UIProcess/API/gtk/WebKitWebView.cpp:
25460         (webkit_web_view_load_request):
25461         * UIProcess/API/gtk/WebKitWebView.h:
25462         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
25463         * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
25464         (testLoadRequest):
25465         * UIProcess/API/gtk/tests/WebViewTest.cpp:
25466         (WebViewTest::loadRequest):
25467         * UIProcess/API/gtk/tests/WebViewTest.h:
25468         * UIProcess/API/gtk/webkit2.h:
25469
25470 2011-11-28  Simon Hausmann  <simon.hausmann@nokia.com>
25471
25472         [Qt] WTF should be built as separate static library
25473         https://bugs.webkit.org/show_bug.cgi?id=73201
25474
25475         Reviewed by Tor Arne Vestbø.
25476
25477         * Target.pri: Require wtf.
25478         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp: Remove unnecessary config.h
25479         inclusion and thus wtf dependency.
25480
25481 2011-11-28  Pavel Feldman  <pfeldman@chromium.org>
25482
25483         REGRESSION (r101201): Crash inside WebKit::WebInspector::didClose() when closing any tab
25484         https://bugs.webkit.org/show_bug.cgi?id=73183
25485
25486         Reviewed by Yury Semikhatsky.
25487
25488         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
25489         (WebKit::WebInspectorClient::closeInspectorFrontend):
25490
25491 2011-11-28  Balazs Kelemen  <kbalazs@webkit.org>
25492
25493         Reviewed by Simon Hausmann.
25494
25495         [WK2] fast/frames/iframe-plugin-load-remove-document-crash.html crashes
25496         https://bugs.webkit.org/show_bug.cgi?id=63321
25497
25498         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
25499         (WebKit::NetscapePlugin::manualStreamDidFail): Don't assert that m_manualStream
25500         is not null since it is not guaranteed but instead handle the case when it is null
25501         with early return.
25502
25503 2011-11-27  Zeno Albisser  <zeno@webkit.org>
25504
25505         [Qt][WK2] MiniBrowser stops displaying content after surfing a few pages.
25506         https://bugs.webkit.org/show_bug.cgi?id=73172
25507
25508         Properly initialize WebLayerTreeInfo structures.
25509
25510         Reviewed by Andreas Kling.
25511
25512         * Shared/WebLayerTreeInfo.h:
25513         (WebKit::WebLayerUpdateInfo::WebLayerUpdateInfo):
25514         (WebKit::WebLayerAnimation::WebLayerAnimation):
25515         (WebKit::WebLayerInfo::WebLayerInfo):
25516         (WebKit::WebLayerTreeInfo::WebLayerTreeInfo):
25517
25518 2011-11-27  Mark Rowe  <mrowe@apple.com>
25519
25520         <http://webkit.org/b/72665> Switch to a more modern approach to retrieving the OS marketing version
25521
25522         Reviewed by Dan Bernstein.
25523
25524         * UIProcess/mac/WebPageProxyMac.mm:
25525         (WebKit::macOSXVersionString): Use WKGetMacOSXVersionString.
25526         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
25527         (InitWebCoreSystemInterface): Set up wkGetMacOSXVersionString.
25528
25529 2011-11-26  Pavel Feldman  <pfeldman@google.com>
25530
25531         Web Inspector: remove disconnectFromBackend from the protocol.
25532         https://bugs.webkit.org/show_bug.cgi?id=73127
25533
25534         Reviewed by Yury Semikhatsky.
25535
25536         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
25537         (WebKit::WebInspectorClient::inspectorDestroyed):
25538         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
25539         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
25540
25541 2011-11-26  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
25542
25543         [Qt] [WK2] QtDownloadManager doesn't need to be RefCounted
25544         https://bugs.webkit.org/show_bug.cgi?id=73151
25545
25546         Reviewed by Kenneth Rohde Christiansen.
25547
25548         QtDownloadManager is owned by QtWebContext, and doesn't need to be a RefCounted
25549         class. This commit also makes the callback handlers private -- following the similar
25550         approach we take in other clients of the C API.
25551
25552         * UIProcess/qt/QtDownloadManager.cpp:
25553         (WebKit::QtDownloadManager::QtDownloadManager):
25554         (WebKit::QtDownloadManager::addDownload):
25555         (WebKit::toQtDownloadManager):
25556         (WebKit::QtDownloadManager::didReceiveResponse):
25557         (WebKit::QtDownloadManager::didCreateDestination):
25558         (WebKit::QtDownloadManager::didFinishDownload): remove unused failingUrl local variable.
25559         (WebKit::QtDownloadManager::didFailDownload):
25560         (WebKit::QtDownloadManager::didReceiveDataForDownload):
25561         * UIProcess/qt/QtDownloadManager.h:
25562         * UIProcess/qt/QtWebContext.cpp:
25563         (WebKit::QtWebContext::initialize):
25564         * UIProcess/qt/QtWebContext.h:
25565
25566 2011-11-26  Sheriff Bot  <webkit.review.bot@gmail.com>
25567
25568         Unreviewed, rolling out r101193.
25569         http://trac.webkit.org/changeset/101193
25570         https://bugs.webkit.org/show_bug.cgi?id=73158
25571
25572         Breaks Windows and Qt minimal. (Requested by pfeldman on
25573         #webkit).
25574
25575         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
25576         (WebKit::WebInspectorClient::inspectorDestroyed):
25577         * WebProcess/WebCoreSupport/WebInspectorClient.h:
25578         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
25579         (WebKit::WebInspectorFrontendClient::disconnectFromBackend):
25580         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
25581
25582 2011-11-26  Pavel Feldman  <pfeldman@google.com>
25583
25584         Web Inspector: remove disconnectFromBackend from the protocol.
25585         https://bugs.webkit.org/show_bug.cgi?id=73127
25586
25587         Reviewed by Yury Semikhatsky.
25588
25589         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
25590         (WebKit::WebInspectorClient::inspectorDestroyed):
25591         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.cpp:
25592         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
25593
25594 2011-11-25  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
25595
25596         [Qt] [WK2] Remove WebContext related code from QtWebPageProxy
25597         https://bugs.webkit.org/show_bug.cgi?id=73150
25598
25599         Reviewed by Kenneth Rohde Christiansen.
25600
25601         Creates a QtWebContext class that abstracts away from QtWebPageProxy the
25602         handling of creating / maintaining the default WebContext, as well as the
25603         code for the WKContextRef clients.
25604
25605         Another motivation for having this entity is to have a proper place to add
25606         objects are bound to the context, like the QtDownloadManager.
25607
25608         * Target.pri:
25609         * UIProcess/qt/ClientImpl.cpp: Removed.
25610         * UIProcess/qt/ClientImpl.h: Removed.
25611         * UIProcess/qt/QtDownloadManager.cpp:
25612         * UIProcess/qt/QtWebContext.cpp: Added.
25613         (WebKit::QtWebContext::QtWebContext):
25614         (WebKit::QtWebContext::~QtWebContext):
25615         (WebKit::QtWebContext::create):
25616         (WebKit::QtWebContext::defaultContext):
25617         (WebKit::QtWebContext::createWebPage):
25618         (WebKit::QtWebContext::setNavigatorQtObjectEnabled):
25619         (WebKit::QtWebContext::postMessageToNavigatorQtObject):
25620         (WebKit::QtWebContext::initialize):
25621         (WebKit::QtWebContext::initializeContextInjectedBundleClient):
25622         (WebKit::toQtWebContext):
25623         (WebKit::QtWebContext::didReceiveMessageFromInjectedBundle):
25624         * UIProcess/qt/QtWebContext.h: Added.
25625         (WebKit::QtWebContext::downloadManager):
25626         * UIProcess/qt/QtWebPageProxy.cpp:
25627         (QtWebPageProxy::QtWebPageProxy):
25628         (QtWebPageProxy::~QtWebPageProxy):
25629         (QtWebPageProxy::setNavigatorQtObjectEnabled):
25630         (QtWebPageProxy::postMessageToNavigatorQtObject):
25631         (QtWebPageProxy::handleDownloadRequest):
25632         * UIProcess/qt/QtWebPageProxy.h:
25633
25634 2011-11-25  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
25635
25636         [Qt][WK2] Refactor GestureRecognizers to use QtWebPageEventHandler
25637         https://bugs.webkit.org/show_bug.cgi?id=73096
25638
25639         Reviewed by Kenneth Rohde Christiansen.
25640
25641         Move all the interaction engine usage to QtWebPageEventHandler,
25642         making all GestureRecognizers (Tap, Pinch and Pan) use it directly.
25643
25644         * UIProcess/qt/QtGestureRecognizer.cpp:
25645         (WebKit::QtGestureRecognizer::QtGestureRecognizer):
25646         * UIProcess/qt/QtGestureRecognizer.h:
25647         * UIProcess/qt/QtPanGestureRecognizer.cpp:
25648         (WebKit::QtPanGestureRecognizer::QtPanGestureRecognizer):
25649         (WebKit::QtPanGestureRecognizer::recognize):
25650         * UIProcess/qt/QtPanGestureRecognizer.h:
25651         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
25652         (WebKit::QtPinchGestureRecognizer::QtPinchGestureRecognizer):
25653         (WebKit::QtPinchGestureRecognizer::recognize):
25654         * UIProcess/qt/QtPinchGestureRecognizer.h:
25655         * UIProcess/qt/QtTapGestureRecognizer.cpp:
25656         (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
25657         (WebKit::QtTapGestureRecognizer::recognize):
25658         (WebKit::QtTapGestureRecognizer::tapTimeout):
25659         * UIProcess/qt/QtTapGestureRecognizer.h:
25660         * UIProcess/qt/QtWebPageEventHandler.cpp:
25661         (QtWebPageEventHandler::QtWebPageEventHandler):
25662         (QtWebPageEventHandler::setViewportInteractionEngine):
25663         * UIProcess/qt/QtWebPageEventHandler.h:
25664         (QtWebPageEventHandler::interactionEngine):
25665
25666 2011-11-25  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
25667
25668         [Qt] Remove unneeded declaration from QQuickWebPagePrivate
25669         https://bugs.webkit.org/show_bug.cgi?id=73141
25670
25671         Reviewed by Antonio Gomes.
25672
25673         Left-over from r101165.
25674
25675         * UIProcess/API/qt/qquickwebpage_p_p.h:
25676
25677 2011-11-17  Martin Robinson  <mrobinson@igalia.com>
25678
25679         [GTK] Integrate build-gtkdoc into build-webkit and make
25680         https://bugs.webkit.org/show_bug.cgi?id=72626
25681
25682         Reviewed by Philippe Normand.
25683
25684         * GNUmakefile.am: Removed references to build-gtkdoc and gtkdoc.py.
25685         * UIProcess/API/gtk/docs/build-gtkdoc: Removed.
25686
25687 2011-11-25  Kenneth Rohde Christiansen  <kenneth@webkit.org>
25688
25689         Clean up code in WK2/ChromeClientClient related to viewport handling
25690         https://bugs.webkit.org/show_bug.cgi?id=73128
25691
25692         Reviewed by Simon Hausmann.
25693
25694         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
25695         (WebKit::WebChromeClient::contentsSizeChanged):
25696
25697             Make sure that we only call resizeToContentsIfNeeded when we are
25698             using the tiled backing store and fixed layout as well.
25699
25700             Guard the scrollbar code so that it is only called when scroll
25701             delegation is not used. Do similarily for the frameset code,
25702             which makes no sense with frame flattening.
25703
25704         (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
25705
25706             This method is only called for the main frame, so the main frame
25707             check has been removed.
25708
25709 2011-11-25  Simon Hausmann  <simon.hausmann@nokia.com>
25710
25711         [Qt] Eliminate warnings about the deprecated QQuickCanvas::sceneGraphEngine() function.
25712
25713         Reviewed by Andreas Kling.
25714
25715         We use the function in question to find out if we can connect to the scene graph's
25716         afterRendering signal. The signal has been moved into QQuickCanvas right away, so
25717         we can connect to it as soon as we have a canvas.
25718
25719         * UIProcess/API/qt/qquickwebpage.cpp:
25720         (QQuickWebPagePrivate::initializeSceneGraphConnections):
25721         * UIProcess/API/qt/qquickwebpage_p.h:
25722
25723 2011-11-24  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
25724
25725         [Qt][WK2] Move event handling out of QtWebPageProxy
25726         https://bugs.webkit.org/show_bug.cgi?id=73089
25727
25728         Reviewed by Kenneth Rohde Christiansen.
25729
25730         Move all logic related to event handling, gestures and the
25731         interaction engine out of QtWebPageProxy, creating a separate
25732         class called QtWebPageEventHandler. This handler will be created
25733         by the QQuickWebViewPrivate and will be registered into QtWebPageProxy.
25734         QQuickWebPage will now call handleEvent through this entity.
25735
25736         * Target.pri:
25737         * UIProcess/API/qt/qquickwebpage.cpp:
25738         (QQuickWebPage::event):
25739         * UIProcess/API/qt/qquickwebview.cpp:
25740         (QQuickWebViewPrivate::QQuickWebViewPrivate):
25741         (QQuickWebViewPrivate::initializeDesktop):
25742         (QQuickWebViewPrivate::initializeTouch):
25743         * UIProcess/API/qt/qquickwebview_p_p.h:
25744         * UIProcess/qt/QtTapGestureRecognizer.cpp:
25745         (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
25746         (WebKit::QtTapGestureRecognizer::recognize):
25747         (WebKit::QtTapGestureRecognizer::tapTimeout):
25748         * UIProcess/qt/QtTapGestureRecognizer.h:
25749         * UIProcess/qt/QtWebPageEventHandler.cpp: Added.
25750         (QtWebPageEventHandler::dragOperationToDropAction):
25751         (QtWebPageEventHandler::dragOperationToDropActions):
25752         (QtWebPageEventHandler::dropActionToDragOperation):
25753         (QtWebPageEventHandler::QtWebPageEventHandler):
25754         (QtWebPageEventHandler::~QtWebPageEventHandler):
25755         (QtWebPageEventHandler::handleEvent):
25756         (QtWebPageEventHandler::handleMouseMoveEvent):
25757         (QtWebPageEventHandler::handleMousePressEvent):
25758         (QtWebPageEventHandler::handleMouseReleaseEvent):
25759         (QtWebPageEventHandler::handleMouseDoubleClickEvent):
25760         (QtWebPageEventHandler::handleWheelEvent):
25761         (QtWebPageEventHandler::handleHoverLeaveEvent):
25762         (QtWebPageEventHandler::handleHoverMoveEvent):
25763         (QtWebPageEventHandler::handleDragEnterEvent):
25764         (QtWebPageEventHandler::handleDragLeaveEvent):
25765         (QtWebPageEventHandler::handleDragMoveEvent):
25766         (QtWebPageEventHandler::handleDropEvent):
25767         (QtWebPageEventHandler::handleSingleTapEvent):
25768         (QtWebPageEventHandler::handleDoubleTapEvent):
25769         (QtWebPageEventHandler::timerEvent):
25770         (QtWebPageEventHandler::handleKeyPressEvent):
25771         (QtWebPageEventHandler::handleKeyReleaseEvent):
25772         (QtWebPageEventHandler::handleFocusInEvent):
25773         (QtWebPageEventHandler::handleFocusOutEvent):
25774         (QtWebPageEventHandler::setViewportInteractionEngine):
25775         (QtWebPageEventHandler::touchEvent):
25776         (QtWebPageEventHandler::resetGestureRecognizers):
25777         (QtWebPageEventHandler::doneWithTouchEvent):
25778         (QtWebPageEventHandler::didFindZoomableArea):
25779         * UIProcess/qt/QtWebPageEventHandler.h: Added.
25780         * UIProcess/qt/QtWebPageProxy.cpp:
25781         (QtWebPageProxy::QtWebPageProxy):
25782         (QtWebPageProxy::init):
25783         (QtWebPageProxy::didFindZoomableArea):
25784         (QtWebPageProxy::processDidCrash):
25785         (QtWebPageProxy::startDrag):
25786         (QtWebPageProxy::doneWithTouchEvent):
25787         * UIProcess/qt/QtWebPageProxy.h:
25788         (QtWebPageProxy::eventHandler):
25789
25790 2011-11-25  Simon Hausmann  <simon.hausmann@nokia.com>
25791
25792         [Qt] Cleanup in QML tests.
25793
25794         Reviewed by Tor Arne Vestbø.
25795
25796         Use a simple QML component for the "DesktopWebView" instead of a new QML type.
25797         This will allow the use of the experimental extension in the future.
25798
25799         * UIProcess/API/qt/qquickwebview.cpp:
25800         (QQuickWebViewExperimental::useTraditionalDesktopBehaviour):
25801         * UIProcess/API/qt/qquickwebview_p.h:
25802         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/DesktopWebView.qml: Added.
25803         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
25804         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
25805         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
25806         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
25807         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
25808         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
25809         (main):
25810
25811 2011-11-24  Zeno Albisser  <zeno@webkit.org>
25812
25813         [Qt]WK2][Mac] Use Mac port's IPC implementation instead of Unix sockets
25814         https://bugs.webkit.org/show_bug.cgi?id=72495
25815
25816         Make Qt using mach ports and Grand Central Dispatch for IPC
25817         when building on Mac.
25818
25819         Reviewed by Simon Hausmann.
25820
25821         * Platform/CoreIPC/Attachment.cpp:
25822         * Platform/CoreIPC/Attachment.h:
25823         * Platform/CoreIPC/Connection.h:
25824         * Platform/CoreIPC/CoreIPCMessageKinds.h:
25825         * Platform/SharedMemory.h:
25826         * Platform/WorkQueue.h:
25827         * Platform/mac/MachUtilities.cpp:
25828         * Platform/mac/WorkQueueMac.cpp:
25829         * Target.pri:
25830         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
25831         (WebKit::ProcessLauncher::launchProcess):
25832         * UIProcess/WebProcessProxy.cpp:
25833         (WebKit::WebProcessProxy::didFinishLaunching):
25834         * WebProcess/qt/WebProcessMainQt.cpp:
25835         (WebKit::WebProcessMainQt):
25836
25837 2011-11-17  Oleg Romashin  <romaxa@gmail.com>
25838
25839         [Qt][WK2] Stop leaking memory in string QWK2 API's
25840         https://bugs.webkit.org/show_bug.cgi?id=72558
25841
25842         Reviewed by Simon Hausmann.
25843
25844         WKRef API pointers don't adopt the implementation pointers by default and the implementation pointers
25845         stay alive after destroying the API pointers.
25846         This patch adopts the implementation pointers correctly by using adoptWK that returns a WKRetainPtr
25847         that will be around temporarily and correctly release the object.
25848
25849         * UIProcess/qt/QtWebPageUIClient.cpp:
25850         (QtWebPageUIClient::mouseDidMoveOverElement):
25851         * UIProcess/qt/QtDownloadManager.cpp:
25852         (WebKit::qt_wk_didFailDownload):
25853         * UIProcess/qt/QtWebPageProxy.cpp:
25854         (QtWebPageProxy::load):
25855         (QtWebPageProxy::url):
25856         (QtWebPageProxy::title):
25857
25858 2011-11-24  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
25859
25860         [Qt] Get rid of the buildDirForSource() function in the build system
25861
25862         At some point the plan was to allow for running qmake on sub-trees
25863         of the sources, into the top level build directory, but this is no
25864         longer possible, so no reason to keep the convenience function around.
25865
25866         Reviewed by Simon Hausmann.
25867
25868         * DerivedSources.pri:
25869
25870 2011-11-24  Patrick Gansterer  <paroga@webkit.org>
25871
25872         [CMake] Add missing source files
25873         https://bugs.webkit.org/show_bug.cgi?id=73052
25874
25875         Reviewed by Andreas Kling.
25876
25877         Add more generic files to the sources list and remove the EFL specific stuff.
25878
25879         * CMakeLists.txt:
25880
25881 2011-11-21  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
25882
25883         [Qt][WK2] Move QQuickWebView::downloadRequested signal into experimental
25884         https://bugs.webkit.org/show_bug.cgi?id=72914
25885
25886         Reviewed by Andreas Kling.
25887
25888         Make the signal downloadRequested an experimental API from QQuickWebView
25889         and modify the qml test to use a WebView instead of a DesktopWebView.
25890
25891         * UIProcess/API/qt/qquickwebview_p.h:
25892         * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_download.qml.
25893         * UIProcess/API/qt/tests/qmltests/common/download.html: Removed.
25894         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
25895         * UIProcess/qt/QtWebPageProxy.cpp:
25896         (QtWebPageProxy::didReceiveDownloadResponse):
25897
25898 2011-11-22  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
25899
25900         [Qt] [WK2] Expose onNavigationRequested signal instead of expecting a slot be defined from QML
25901         https://bugs.webkit.org/show_bug.cgi?id=72976
25902
25903         Reviewed by Tor Arne Vestbø.
25904
25905         Expecting slots/methods to be implemented in QML isn't very idiomatic in
25906         comparison with the alternative of having a signal. So we now use a signal
25907         for handling navigation requests, and expose a 'request' object with relevant
25908         metadata. There's also a settable property 'action' used to indicate whether
25909         the navigation should be ignored or trigger a download.
25910
25911         The pattern signal with an object parameter that can keep the reply is common in QML,
25912         and used for example for mouse signals.
25913
25914         * UIProcess/API/qt/qquickwebview.cpp:
25915         * UIProcess/API/qt/qquickwebview_p.h:
25916         * UIProcess/API/qt/qquickwebview_p_p.h:
25917         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationPolicyForUrl.qml.
25918         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
25919         * UIProcess/qt/QtWebPagePolicyClient.cpp:
25920         (NavigationRequest::NavigationRequest):
25921         (NavigationRequest::url):
25922         (NavigationRequest::button):
25923         (NavigationRequest::modifiers):
25924         (NavigationRequest::action):
25925         (NavigationRequest::setAction):
25926         (QtWebPagePolicyClient::decidePolicyForNavigationAction):
25927         * UIProcess/qt/QtWebPagePolicyClient.h:
25928
25929 2011-11-22  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
25930
25931         [Qt] [WK2] Move PagePolicyClient related code to QtWebPagePolicyClient
25932         https://bugs.webkit.org/show_bug.cgi?id=72959
25933
25934         Reviewed by Andreas Kling.
25935
25936         Split PagePolicyClient related code from QtWebPageProxy/ClientImpl. The new
25937         QtWebPagePolicyClient registers itself with WKPageRef and it's owned by the
25938         QQuickWebViewPrivate. This is a move to clean up QtWebPageProxy object.
25939
25940         QtPolicyInterface abstraction was not helping us as much as the separation of
25941         the client code will. It was more useful when we had multiple WebViews.
25942
25943         * Target.pri:
25944         * UIProcess/API/qt/qquickwebview.cpp:
25945         (QQuickWebViewPrivate::QQuickWebViewPrivate):
25946         (toPolicyAction):
25947         (QQuickWebViewPrivate::navigationPolicyForURL):
25948         * UIProcess/API/qt/qquickwebview_p.h:
25949         * UIProcess/API/qt/qquickwebview_p_p.h:
25950         * UIProcess/qt/ClientImpl.cpp:
25951         * UIProcess/qt/ClientImpl.h:
25952         * UIProcess/qt/QtWebPagePolicyClient.cpp: Added.
25953         (QtWebPagePolicyClient::QtWebPagePolicyClient):
25954         (QtWebPagePolicyClient::decidePolicyForNavigationAction):
25955         (toQtWebPagePolicyClient):
25956         (toQtMouseButton):
25957         (toQtKeyboardModifiers):
25958         (QtWebPagePolicyClient::decidePolicyForResponse):
25959         * UIProcess/qt/QtWebPagePolicyClient.h: Renamed from Source/WebKit2/UIProcess/qt/QtPolicyInterface.h.
25960         * UIProcess/qt/QtWebPageProxy.cpp:
25961         (QtWebPageProxy::QtWebPageProxy):
25962         (QtWebPageProxy::init):
25963         * UIProcess/qt/QtWebPageProxy.h:
25964
25965 2011-11-23  Raphael Kubo da Costa  <kubo@profusion.mobi>
25966
25967         [CMake] Move the top-level logic to the top-level directory.
25968         https://bugs.webkit.org/show_bug.cgi?id=72685
25969
25970         Reviewed by Brent Fulgham.
25971
25972         * CMakeLists.txt: Adjust Source/ directory.
25973
25974 2011-11-22  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
25975
25976         Unreviewed : remove empty folders related to TouchWebView and DesktopWebView
25977         https://bugs.webkit.org/show_bug.cgi?id=72985
25978
25979         * UIProcess/API/qt/tests/qmltests/DesktopWebView: Removed.
25980         * UIProcess/API/qt/tests/qmltests/TouchWebView: Removed.
25981
25982 2011-11-22  Carlos Garcia Campos  <cgarcia@igalia.com>
25983
25984         Ensure web process before starting a download
25985         https://bugs.webkit.org/show_bug.cgi?id=72499
25986
25987         Reviewed by Anders Carlsson.
25988
25989         * UIProcess/WebContext.cpp:
25990         (WebKit::WebContext::download): Call ensureWebProcess().
25991
25992 2011-11-22  Csaba Osztrogonác  <ossy@webkit.org>
25993
25994         Unreviewed buildfix after r101001.
25995
25996         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
25997         (WebKit::WebInspectorClient::openInspectorFrontend): Use ASSERT_UNUSED instead of ASSERT.
25998
25999 2011-11-22  Pavel Feldman  <pfeldman@google.com>
26000
26001         Not reviewed: moving inspector frontend creation out of assert in WebKit2.
26002
26003         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
26004         (WebKit::WebInspectorClient::openInspectorFrontend):
26005
26006 2011-11-22  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
26007
26008         [Qt][WK2] Fix and unskip loadHtml api test
26009         https://bugs.webkit.org/show_bug.cgi?id=72916
26010
26011         Reviewed by Andreas Kling.
26012
26013         Now that linkHovered events are working again we can fix and unskip this
26014         loadHtml test.
26015
26016         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
26017
26018 2011-11-22  Pavel Feldman  <pfeldman@google.com>
26019
26020         Web Inspector: remove Inspector::bringToFront from the protocol.
26021         https://bugs.webkit.org/show_bug.cgi?id=72937
26022
26023         Reviewed by Yury Semikhatsky.
26024
26025         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
26026         (WebKit::WebInspectorClient::openInspectorFrontend):
26027         (WebKit::WebInspectorClient::bringFrontendToFront):
26028         * WebProcess/WebCoreSupport/WebInspectorClient.h:
26029
26030 2011-11-22  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
26031
26032         [Qt] [WK2] Move PageLoadClient related code to QtWebPageLoadClient
26033         https://bugs.webkit.org/show_bug.cgi?id=72928
26034
26035         Reviewed by Andreas Kling.
26036
26037         Split PageLoadClient related code from QtWebPageProxy/ClientImpl. The new
26038         QtWebPageLoadClient registers itself with WKPageRef and it's owned by the
26039         QQuickWebViewPrivate. This is a move to clean up QtWebPageProxy object.
26040
26041         * Target.pri:
26042         * UIProcess/API/qt/qquickwebview.cpp:
26043         (QQuickWebViewPrivate::QQuickWebViewPrivate):
26044         (QQuickWebView::loadProgress):
26045         * UIProcess/API/qt/qquickwebview_p.h:
26046         * UIProcess/API/qt/qquickwebview_p_p.h:
26047         * UIProcess/qt/ClientImpl.cpp:
26048         * UIProcess/qt/ClientImpl.h:
26049         * UIProcess/qt/QtWebPageLoadClient.cpp: Added.
26050         (QtWebPageLoadClient::QtWebPageLoadClient):
26051         (QtWebPageLoadClient::didStartProvisionalLoadForFrame):
26052         (QtWebPageLoadClient::didCommitLoadForFrame):
26053         (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
26054         (QtWebPageLoadClient::didReceiveTitleForFrame):
26055         (QtWebPageLoadClient::didFirstVisuallyNonEmptyLayoutForFrame):
26056         (QtWebPageLoadClient::dispatchLoadSucceeded):
26057         (QtWebPageLoadClient::dispatchLoadFailed):
26058         (QtWebPageLoadClient::setLoadProgress):
26059         (toQtWebPageLoadClient):
26060         (QtWebPageLoadClient::didFailProvisionalLoadWithErrorForFrame):
26061         (QtWebPageLoadClient::didFinishLoadForFrame):
26062         (QtWebPageLoadClient::didFailLoadWithErrorForFrame):
26063         (QtWebPageLoadClient::didStartProgress):
26064         (QtWebPageLoadClient::didChangeProgress):
26065         (QtWebPageLoadClient::didFinishProgress):
26066         * UIProcess/qt/QtWebPageLoadClient.h: Added.
26067         (QtWebPageLoadClient::loadProgress):
26068         * UIProcess/qt/QtWebPageProxy.cpp:
26069         (QtWebPageProxy::QtWebPageProxy):
26070         (QtWebPageProxy::init):
26071         (QtWebPageProxy::updateNavigationState):
26072         * UIProcess/qt/QtWebPageProxy.h:
26073
26074 2011-11-22  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
26075
26076         [Qt] [WK2] Move PageUIClient related code to QtWebPageUIClient
26077         https://bugs.webkit.org/show_bug.cgi?id=72910
26078
26079         Reviewed by Andreas Kling.
26080
26081         Split PageUIClient related code from QtWebPageProxy/ClientImpl. The new
26082         QtWebPageUIClient registers itself with WKPageRef and it's owned by the
26083         QQuickWebViewPrivate. This is a move to clean up QtWebPageProxy object.
26084
26085         * Target.pri:
26086         * UIProcess/API/qt/qquickwebview.cpp:
26087         (QQuickWebViewPrivate::QQuickWebViewPrivate):
26088         (QQuickWebViewPrivate::chooseFiles):
26089         * UIProcess/API/qt/qquickwebview_p.h:
26090         * UIProcess/API/qt/qquickwebview_p_p.h:
26091         * UIProcess/qt/ClientImpl.cpp:
26092         * UIProcess/qt/ClientImpl.h:
26093         * UIProcess/qt/QtWebPageProxy.cpp:
26094         (QtWebPageProxy::init):
26095         * UIProcess/qt/QtWebPageProxy.h:
26096         * UIProcess/qt/QtWebPageUIClient.cpp: Added.
26097         (QtWebPageUIClient::QtWebPageUIClient):
26098         (QtWebPageUIClient::runJavaScriptAlert):
26099         (QtWebPageUIClient::runJavaScriptConfirm):
26100         (QtWebPageUIClient::runJavaScriptPrompt):
26101         (QtWebPageUIClient::runOpenPanel):
26102         (QtWebPageUIClient::setStatusText):
26103         (QtWebPageUIClient::mouseDidMoveOverElement):
26104         (toQtWebPageUIClient):
26105         (createNullWKString):
26106         * UIProcess/qt/QtWebPageUIClient.h: Added.
26107
26108 2011-11-22  Eunmi Lee  <eunmi15.lee@samsung.com>
26109
26110         [WK2] Modify EFL port's WebEventFactory to use EflKeyboardUtilities's
26111         keyIdentifierForEvasKeyName() and windowsKeyCodeForEvasKeyName().
26112         https://bugs.webkit.org/show_bug.cgi?id=72850
26113
26114         Reviewed by Anders Carlsson.
26115
26116         The EflKeyboardUtilities has been added, so we can use keyIdentifierForEvasKeyName() and
26117         windowsKeyCodeForEvasKeyName() for EFL port's WebEventFactory.
26118
26119         * Shared/efl/WebEventFactory.cpp:
26120         (WebKit::WebEventFactory::createWebKeyboardEvent):
26121
26122 2011-11-21  Alexis Menard  <alexis.menard@openbossa.org>
26123
26124         [Qt][WK2] REGRESSION(100483): It made 2 API tests fail
26125         https://bugs.webkit.org/show_bug.cgi?id=72612
26126
26127         Reviewed by Kenneth Rohde Christiansen.
26128
26129         Make sure that when the view is focused, the page knows about it.
26130         Also set a the view to be the focused item in the failing tests.
26131
26132         * UIProcess/API/qt/qquickwebpage_p.h:
26133         * UIProcess/API/qt/qquickwebview.cpp:
26134         (QQuickWebView::focusInEvent):
26135         (QQuickWebView::focusOutEvent):
26136         * UIProcess/API/qt/qquickwebview_p.h:
26137         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
26138         * UIProcess/qt/QtWebPageProxy.cpp:
26139         (QtWebPageProxy::isViewFocused):
26140
26141 2011-11-21  Simon Hausmann  <simon.hausmann@nokia.com>
26142
26143         [Qt] Speed up debug builds.
26144         https://bugs.webkit.org/show_bug.cgi?id=72882
26145
26146         Reviewed by Tor Arne Vestbø.
26147
26148         * Target.pri: Make BUILDING_WebKit2 available, so it can be
26149         used by the build system.
26150
26151 2011-11-21  Alexis Menard  <alexis.menard@openbossa.org>
26152
26153         [Qt] Remove unnecessary initialize method from QQuickWebView.
26154         https://bugs.webkit.org/show_bug.cgi?id=72905
26155
26156         Reviewed by Kenneth Rohde Christiansen.
26157
26158         We don't need this level of indirection.
26159
26160         * UIProcess/API/qt/qquickwebview.cpp:
26161         (QQuickWebViewPrivate::QQuickWebViewPrivate):
26162         (QQuickWebView::QQuickWebView):
26163         * UIProcess/API/qt/qquickwebview_p_p.h:
26164
26165 2011-11-21  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
26166
26167         [Qt][WK2] Implement loadHtml API for QQuickWebView
26168         https://bugs.webkit.org/show_bug.cgi?id=72161
26169
26170         Reviewed by Simon Hausmann.
26171
26172         Implement QQuickWebView::loadHtml that calls QtWebPageProxy::loadHTMLString.
26173         This function will use WKPageLoadHTMLString in order to load HTML from a given string.
26174
26175         * UIProcess/API/qt/qquickwebview.cpp:
26176         (QQuickWebView::loadHtml):
26177         * UIProcess/API/qt/qquickwebview.h:
26178         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadHtml.qml: Added.
26179         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml: Added.
26180         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
26181         * UIProcess/qt/QtWebPageProxy.cpp:
26182         (QtWebPageProxy::loadHTMLString):
26183         * UIProcess/qt/QtWebPageProxy.h:
26184
26185 2011-11-21  Igor Oliveira  <igor.oliveira@openbossa.org>
26186
26187         [WK2][Qt] Move Accelerated Composite animations to UIProcess
26188         https://bugs.webkit.org/show_bug.cgi?id=72753
26189
26190         Currently, all the accelerated compositing animations are applied in WebProcess and
26191         for each frame generated, WebProcess needs to sync with UIProcess.
26192
26193         This patch moves the accelerated compositing animations to UIProcess reducing the
26194         amount of synchronization messages between WebProcess and UIProcess, this is done
26195         sending animations information to UIProcess.
26196
26197         Reviewed by Noam Rosenthal.
26198
26199         * Shared/WebCoreArgumentCoders.cpp:
26200         (CoreIPC::::encode):
26201         (CoreIPC::::decode):
26202
26203         Encode/Decode RefPtr<Animation> instead of Animation class. This facilitates
26204         the data serialization.
26205
26206         * Shared/WebCoreArgumentCoders.h:
26207         * Shared/WebLayerTreeInfo.cpp:
26208         (WebKit::WebLayerInfo::encode):
26209         (WebKit::WebLayerInfo::decode):
26210         (WebKit::WebLayerAnimation::encode):
26211         (WebKit::WebLayerAnimation::decode):
26212
26213         Create WebLayerAnimation struct, it is used to send animation information
26214         to UIProcess.
26215
26216         * Shared/WebLayerTreeInfo.h:
26217         (WebKit::WebLayerAnimation::WebLayerAnimation):
26218         * UIProcess/LayerTreeHostProxy.h:
26219         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
26220         (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
26221         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
26222         (WebKit::LayerTreeHostProxy::didFireViewportUpdateTimer):
26223         (WebKit::LayerTreeHostProxy::syncLayerParameters):
26224         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
26225         (WebCore::WebGraphicsLayer::addAnimation):
26226         (WebCore::WebGraphicsLayer::pauseAnimation):
26227         (WebCore::WebGraphicsLayer::removeAnimation):
26228         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
26229
26230 2011-11-21  Pavel Feldman  <pfeldman@chromium.org>
26231
26232         Web Inspector: [WebKit2] Do not access InspectorController from the "Develop" menu code.
26233         https://bugs.webkit.org/show_bug.cgi?id=63009
26234
26235         Reviewed by Yury Semikhatsky.
26236
26237         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
26238         (WebKit::WebInspectorClient::openInspectorFrontend):
26239         * WebProcess/WebPage/WebInspector.cpp:
26240         (WebKit::WebInspector::WebInspector):
26241         (WebKit::WebInspector::createInspectorPage):
26242         (WebKit::WebInspector::showConsole):
26243         (WebKit::WebInspector::startJavaScriptDebugging):
26244         (WebKit::WebInspector::stopJavaScriptDebugging):
26245         (WebKit::WebInspector::setJavaScriptProfilingEnabled):
26246         (WebKit::WebInspector::startJavaScriptProfiling):
26247         (WebKit::WebInspector::stopJavaScriptProfiling):
26248         (WebKit::WebInspector::startPageProfiling):
26249         (WebKit::WebInspector::stopPageProfiling):
26250         * WebProcess/WebPage/WebInspector.h:
26251
26252 2011-11-21  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
26253
26254         [Qt] Add WebView.view attached property support for dialogs in QML
26255         https://bugs.webkit.org/show_bug.cgi?id=72825
26256
26257         Reviewed by Simon Hausmann.
26258
26259         When creating new dialogs, fill their WebView.view attached property
26260         with the WebView that's creating them. This follows the same pattern
26261         as QtQuick's ListView, enabling the usage of the same dialog component
26262         for different WebViews.
26263
26264         * UIProcess/API/qt/qquickwebview.cpp:
26265         (QQuickWebViewPrivate::runJavaScriptAlert):
26266         (QQuickWebViewPrivate::runJavaScriptConfirm):
26267         (QQuickWebViewPrivate::runJavaScriptPrompt):
26268         (QQuickWebViewPrivate::setViewInAttachedProperties):
26269         (QQuickWebViewAttached::QQuickWebViewAttached):
26270         (QQuickWebViewAttached::setView):
26271         (QQuickWebView::qmlAttachedProperties):
26272         * UIProcess/API/qt/qquickwebview_p.h:
26273         * UIProcess/API/qt/qquickwebview_p_p.h:
26274         * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
26275         * UIProcess/qt/QtDialogRunner.h:
26276         (QtDialogRunner::dialog):
26277
26278 2011-11-21  Jochen Eisinger  <jochen@chromium.org>
26279
26280         Implement Meta referrer
26281         https://bugs.webkit.org/show_bug.cgi?id=72674
26282
26283         Reviewed by Adam Barth.
26284
26285         * WebProcess/Plugins/PluginView.cpp:
26286         (WebKit::PluginView::loadURL):
26287
26288 2011-11-21  Carlos Garcia Campos  <cgarcia@igalia.com>
26289
26290         Unreviewed. Fix make distcheck build.
26291
26292         * GNUmakefile.am:
26293
26294 2011-10-17  Antonio Gomes  <agomes@rim.com>
26295
26296         Pass a Frame* parameter in EditorClient::respondToChangedSelection
26297         https://bugs.webkit.org/show_bug.cgi?id=70248
26298
26299         Reviewed by Ryosuke Niwa.
26300
26301         * WebProcess/WebCoreSupport/WebEditorClient.cpp: Make use of the newly added Frame* parameter.
26302         (WebKit::WebEditorClient::respondToChangedSelection):
26303         * WebProcess/WebCoreSupport/WebEditorClient.h:
26304
26305 2011-11-17  Mark Rowe  <mrowe@apple.com>
26306
26307         <http://webkit.org/b/72646> Disable deprecation warnings around code where we cannot easily
26308         switch away from the deprecated APIs.
26309
26310         Reviewed by Sam Weinig.
26311
26312         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
26313
26314 2011-11-19  Sheriff Bot  <webkit.review.bot@gmail.com>
26315
26316         Unreviewed, rolling out r100834.
26317         http://trac.webkit.org/changeset/100834
26318         https://bugs.webkit.org/show_bug.cgi?id=72806
26319
26320         this patch makes Qt run-webkit-test exit before finishing
26321         (Requested by igoroliveira on #webkit).
26322
26323         * Shared/WebCoreArgumentCoders.cpp:
26324         (CoreIPC::::encode):
26325         (CoreIPC::::decode):
26326         * Shared/WebCoreArgumentCoders.h:
26327         * Shared/WebLayerTreeInfo.cpp:
26328         (WebKit::WebLayerInfo::encode):
26329         (WebKit::WebLayerInfo::decode):
26330         * Shared/WebLayerTreeInfo.h:
26331         * UIProcess/LayerTreeHostProxy.h:
26332         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
26333         (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
26334         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
26335         (WebKit::LayerTreeHostProxy::syncLayerParameters):
26336         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
26337         (WebCore::WebGraphicsLayer::addAnimation):
26338         (WebCore::WebGraphicsLayer::pauseAnimation):
26339         (WebCore::WebGraphicsLayer::removeAnimation):
26340         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
26341
26342 2011-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>
26343
26344         Unreviewed, rolling out r100826.
26345         http://trac.webkit.org/changeset/100826
26346         https://bugs.webkit.org/show_bug.cgi?id=72786
26347
26348         Broke Chromium Mac build (Requested by aklein on #webkit).
26349
26350         * UIProcess/API/mac/PageClientImpl.h:
26351         * UIProcess/API/mac/PageClientImpl.mm:
26352         * UIProcess/PageClient.h:
26353         * UIProcess/WebPageProxy.cpp:
26354         * UIProcess/WebPageProxy.h:
26355         * UIProcess/WebPageProxy.messages.in:
26356         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
26357         (WebKit::BuiltInPDFView::scrollbarStyleChanged):
26358         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
26359         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
26360         * WebProcess/WebCoreSupport/WebChromeClient.h:
26361
26362 2011-11-18  Igor Oliveira  <igor.oliveira@openbossa.org>
26363
26364         [WK2][Qt] Move Accelerated Composite animations to UIProcess
26365         https://bugs.webkit.org/show_bug.cgi?id=72753
26366
26367         Currently, all the accelerated compositing animations are applied in WebProcess and
26368         for each frame generated, WebProcess needs to sync with UIProcess.
26369
26370         This patch moves the accelerated compositing animations to UIProcess reducing the
26371         amount of synchronization messages between WebProcess and UIProcess, this is done
26372         sending animations information to UIProcess.
26373
26374         Reviewed by Noam Rosenthal.
26375
26376         * Shared/WebCoreArgumentCoders.cpp:
26377         (CoreIPC::::encode):
26378         (CoreIPC::::decode):
26379
26380         Encode/Decode RefPtr<Animation> instead of Animation class. This facilitates
26381         the data serialization.
26382
26383         * Shared/WebCoreArgumentCoders.h:
26384         * Shared/WebLayerTreeInfo.cpp:
26385         (WebKit::WebLayerInfo::encode):
26386         (WebKit::WebLayerInfo::decode):
26387         (WebKit::WebLayerAnimation::encode):
26388         (WebKit::WebLayerAnimation::decode):
26389
26390         Create WebLayerAnimation struct, it is used to send animation information
26391         to UIProcess.
26392
26393         * Shared/WebLayerTreeInfo.h:
26394         (WebKit::WebLayerAnimation::WebLayerAnimation):
26395         * UIProcess/LayerTreeHostProxy.h:
26396         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
26397         (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
26398         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
26399         (WebKit::LayerTreeHostProxy::updateSceneGraphUpdateTimerFired):
26400         (WebKit::LayerTreeHostProxy::syncLayerParameters):
26401         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
26402         (WebCore::WebGraphicsLayer::addAnimation):
26403         (WebCore::WebGraphicsLayer::pauseAnimation):
26404         (WebCore::WebGraphicsLayer::removeAnimation):
26405         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
26406
26407 2011-11-18  Beth Dakin  <bdakin@apple.com>
26408
26409         https://bugs.webkit.org/show_bug.cgi?id=72551
26410         When the recommended scrollbar style changes, WKView's tracking options should 
26411         adjust accordingly
26412         -and corresponding-
26413         <rdar://problem/10409328>
26414
26415         Reviewed by Darin Adler.
26416
26417         These new functions take care of passing along the 
26418         recommendedScrollbarStyleDidChange() message that originates in the ChromeClient. 
26419         * UIProcess/API/mac/PageClientImpl.h:
26420         * UIProcess/PageClient.h:
26421         * UIProcess/WebPageProxy.cpp:
26422         (WebKit::WebPageProxy::recommendedScrollbarStyleDidChange):
26423         * UIProcess/WebPageProxy.h:
26424         * UIProcess/WebPageProxy.messages.in:
26425         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
26426         (WebKit::WebChromeClient::recommendedScrollbarStyleDidChange):
26427         * WebProcess/WebCoreSupport/WebChromeClient.h:
26428
26429         This is where we actually respond to the recommendedScrollbarStyleDidChange 
26430         message. We remove the existing tracking area and create a new tracking area with 
26431         the appropriate tracking options.
26432         * UIProcess/API/mac/PageClientImpl.mm:
26433         (WebKit::PageClientImpl::recommendedScrollbarStyleDidChange):
26434
26435         BuiltInPDFView inherits from WebCore::ScrollableArea, so scrollbarStyleChanged() 
26436         must now take two parameters like the one in ScrollableArea.
26437         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
26438         (WebKit::BuiltInPDFView::scrollbarStyleChanged):
26439         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
26440
26441 2011-11-18  Dinu Jacob  <dinu.jacob@nokia.com>
26442
26443         [Qt][Wk2] Add an API test for scroll request from javascript
26444         https://bugs.webkit.org/show_bug.cgi?id=72407
26445
26446         New API test added for QQuickWebView for javascript scroll request 
26447         Reviewed by Simon Hausmann.
26448
26449         * UIProcess/API/qt/tests/html/scroll.html: Added.
26450         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
26451         (tst_QQuickWebView::scrollRequest):
26452
26453 2011-11-18 No'am Rosenthal  <noam.rosenthal@nokia.com>
26454
26455         WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
26456         https://bugs.webkit.org/show_bug.cgi?id=61694
26457
26458         Add an ArgumentCoder for KeyframeValueList, and modify the TimingFunction ArgumentCoder to
26459         allow encoding const TimingFunctions and not just RefPtr<TimingFunction>.
26460
26461         Reviewed by Simon Hausmann.
26462
26463         * Scripts/webkit2/messages.py:
26464         * Shared/WebCoreArgumentCoders.cpp:
26465         (CoreIPC::::encode):
26466         (CoreIPC::::decode):
26467         * Shared/WebCoreArgumentCoders.h:
26468
26469 2011-11-18  Kenneth Rohde Christiansen  <kenneth@webkit.org>
26470
26471         [Qt] Guard for the viewportInteractionEngine as it doesn't always exist.
26472
26473         Reviewed by Antonio Gomes.
26474
26475         The engine is non-existent when the view is configured to use desktop
26476         behavior.
26477
26478         * UIProcess/qt/QtWebPageProxy.cpp:
26479         (QtWebPageProxy::handleWheelEvent):
26480         (QtWebPageProxy::didFindZoomableArea):
26481
26482 2011-11-18  Carlos Garcia Campos  <cgarcia@igalia.com>
26483
26484         [GTK] Send DidCreateDestination to DownloadProxy when destination has been created
26485         https://bugs.webkit.org/show_bug.cgi?id=72724
26486
26487         Reviewed by Martin Robinson.
26488
26489         * WebProcess/Downloads/soup/DownloadSoup.cpp:
26490         (WebKit::DownloadClient::didReceiveResponse): Call
26491         didCreateDestination() when destination URI has been successfully
26492         created.
26493
26494 2011-11-18  Carlos Garcia Campos  <cgarcia@igalia.com>
26495
26496         [GTK] Cancel current download operation before download object is deleted
26497         https://bugs.webkit.org/show_bug.cgi?id=72721
26498
26499         Reviewed by Martin Robinson.
26500
26501         It fixes a crash in the web process when a download finishes early
26502         due to a failure.
26503
26504         * WebProcess/Downloads/soup/DownloadSoup.cpp:
26505         (WebKit::Download::cancel): Delete current ResourceHandle.
26506         (WebKit::Download::platformInvalidate): If there's a
26507         ResourceHandle active, cancel the download operation and delete
26508         the handle.
26509         (WebKit::Download::platformDidFinish): Delete current ResourceHandle.
26510
26511 2011-11-18  Carlos Garcia Campos  <cgarcia@igalia.com>
26512
26513         [GTK] Downloads not started by WebView only fail for transport errors
26514         https://bugs.webkit.org/show_bug.cgi?id=72718
26515
26516         Reviewed by Martin Robinson.
26517
26518         * WebProcess/Downloads/soup/DownloadSoup.cpp:
26519         (WebKit::DownloadClient::didReceiveResponse): Check if the http
26520         status of the response is an error code and finish the download
26521         with an error in such case.
26522
26523 2011-11-17  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
26524
26525         [Qt] Support customizing JS alert/confirm/prompt dialogs using QML
26526         https://bugs.webkit.org/show_bug.cgi?id=72319
26527
26528         Reviewed by Simon Hausmann.
26529
26530         Adds alertDialog, confirmDialog and promptDialog properties to QQuickWebView's
26531         privateObject. These are QML components that are created by the webview when the
26532         corresponding function is called in JS.
26533
26534         The dialogs are created in a context that contains a model object, similar to
26535         ListView delegates. The "message" and "defaultValue" parameters are available
26536         in the model object, as well as slots expected to be called by the dialog.
26537
26538         This commit removes the old code for supporting QWidget builtin dialogs. The code
26539         wasn't working properly (closing any dialog was closing the app after QWindow
26540         refactoring in Qt5).
26541
26542         * Target.pri:
26543         * UIProcess/API/qt/qquickwebview.cpp:
26544         (QQuickWebViewPrivate::runJavaScriptAlert):
26545         (QQuickWebViewPrivate::runJavaScriptConfirm):
26546         (QQuickWebViewPrivate::runJavaScriptPrompt):
26547         (QQuickWebViewExperimental::alertDialog):
26548         (QQuickWebViewExperimental::setAlertDialog):
26549         (QQuickWebViewExperimental::confirmDialog):
26550         (QQuickWebViewExperimental::setConfirmDialog):
26551         (QQuickWebViewExperimental::promptDialog):
26552         (QQuickWebViewExperimental::setPromptDialog):
26553         * UIProcess/API/qt/qquickwebview_p.h:
26554         * UIProcess/API/qt/qquickwebview_p_p.h:
26555         * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml: Added.
26556         * UIProcess/API/qt/tests/qmltests/common/alert.html: Added.
26557         * UIProcess/API/qt/tests/qmltests/common/confirm.html: Added.
26558         * UIProcess/API/qt/tests/qmltests/common/prompt.html: Added.
26559         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
26560         * UIProcess/qt/QtDialogRunner.cpp: Added.
26561         (QtDialogRunner::QtDialogRunner):
26562         (QtDialogRunner::~QtDialogRunner):
26563         (DialogContextObject::DialogContextObject):
26564         (DialogContextObject::message):
26565         (DialogContextObject::defaultValue):
26566         (DialogContextObject::dismiss):
26567         (DialogContextObject::accept):
26568         (DialogContextObject::reject):
26569         (QtDialogRunner::initForAlert):
26570         (QtDialogRunner::initForConfirm):
26571         (QtDialogRunner::initForPrompt):
26572         (QtDialogRunner::createDialog):
26573         * UIProcess/qt/QtDialogRunner.h: Added.
26574         (QtDialogRunner::wasAccepted):
26575         (QtDialogRunner::result):
26576         (QtDialogRunner::onAccepted):
26577
26578 2011-11-18  Kenneth Rohde Christiansen  <kenneth@webkit.org>
26579
26580         [Qt] Support wheel event together with resizesToContents
26581
26582         Reviewed by Simon Hausmann.
26583
26584         * UIProcess/API/qt/qquickwebpage.cpp:
26585         * UIProcess/qt/QtViewportInteractionEngine.cpp:
26586         (WebKit::QtViewportInteractionEngine::wheelEvent):
26587         * UIProcess/qt/QtViewportInteractionEngine.h:
26588         * UIProcess/qt/QtWebPageProxy.cpp:
26589         (QtWebPageProxy::handleWheelEvent):
26590
26591 2011-11-18  Simon Hausmann  <simon.hausmann@nokia.com>
26592
26593         [Qt][WK2] Layer violation: WebPopupMenuProxyQtDesktop.cpp uses files from WebKit/qt
26594         https://bugs.webkit.org/show_bug.cgi?id=72696
26595
26596         Reviewed by Kenneth Rohde Christiansen.
26597
26598         Implement the WK2 desktop popup by simply subclassing QComboBox and doing the
26599         same thing as QtWebComboBox from WK1 (a few lines of code).
26600
26601         * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
26602         (WebKit::WebPopupMenuProxyQtDesktop::WebPopupMenuProxyQtDesktop):
26603         (WebKit::WebPopupMenuProxyQtDesktop::~WebPopupMenuProxyQtDesktop):
26604         (WebKit::WebPopupMenuProxyQtDesktop::showPopupMenu):
26605         (WebKit::WebPopupMenuProxyQtDesktop::hidePopupMenu):
26606         (WebKit::WebPopupMenuProxyQtDesktop::eventFilter):
26607         (WebKit::WebPopupMenuProxyQtDesktop::setSelectedIndex):
26608         (WebKit::WebPopupMenuProxyQtDesktop::populate):
26609         * UIProcess/qt/WebPopupMenuProxyQtDesktop.h:
26610
26611 2011-11-18  Zeno Albisser  <zeno@webkit.org>
26612
26613         [Qt][WK2] setViewportInteractionEngine must also set the InteractionEngine for the tap recognizer.
26614         https://bugs.webkit.org/show_bug.cgi?id=72717
26615
26616         Reviewed by Kenneth Rohde Christiansen.
26617
26618         * UIProcess/qt/QtTapGestureRecognizer.cpp:
26619         (WebKit::QtTapGestureRecognizer::setViewportInteractionEngine):
26620         * UIProcess/qt/QtTapGestureRecognizer.h:
26621         * UIProcess/qt/QtWebPageProxy.cpp:
26622         (QtWebPageProxy::setViewportInteractionEngine):
26623         * UIProcess/qt/QtWebPageProxy.h:
26624
26625 2011-11-18  Simon Hausmann  <simon.hausmann@nokia.com>
26626
26627         [Qt][WK2] Fix popups for select elements.
26628
26629         Reviewed by Tor Arne Vestbø.
26630
26631         * UIProcess/qt/QtWebPageProxy.cpp:
26632         (QtWebPageProxy::createPopupMenuProxy): Fall back to the "desktop" implementation
26633         for the moment. Better than nothing :)
26634
26635 2011-11-18  Simon Hausmann  <simon.hausmann@nokia.com>
26636
26637         [Qt] Unreviewed debug build fix
26638
26639         * UIProcess/qt/QtWebPageProxy.cpp:
26640         (QtWebPageProxy::QtWebPageProxy): Don't assert on a non-existant
26641         variable.
26642
26643 2011-11-18  Simon Hausmann  <simon.hausmann@nokia.com>
26644
26645         [Qt] Removal of QtViewInterface part 3
26646
26647         Reviewed by Kenneth Rohde Christiansen.
26648
26649         Move the remaining forwarded calls from ClientImpl that went through
26650         ViewInterface and then PageProxy or WebView to go straight to
26651         QtWebPageProxy. QtViewInterface is empty now and therefore removed.
26652
26653         * Target.pri:
26654         * UIProcess/API/qt/qquickwebpage_p.h:
26655         * UIProcess/API/qt/qquickwebpage_p_p.h:
26656         * UIProcess/API/qt/qquickwebview.cpp:
26657         (QQuickWebViewPrivate::initialize):
26658         (QQuickWebViewPrivate::chooseFiles):
26659         * UIProcess/API/qt/qquickwebview_p.h:
26660         * UIProcess/API/qt/qquickwebview_p_p.h:
26661         * UIProcess/qt/ClientImpl.cpp:
26662         (qt_wk_runJavaScriptAlert):
26663         (qt_wk_runJavaScriptConfirm):
26664         (qt_wk_runJavaScriptPrompt):
26665         (qt_wk_setStatusText):
26666         (qt_wk_runOpenPanel):
26667         (qt_wk_mouseDidMoveOverElement):
26668         (setupPageUiClient):
26669         * UIProcess/qt/QtViewInterface.cpp: Removed.
26670         * UIProcess/qt/QtViewInterface.h: Removed.
26671         * UIProcess/qt/QtWebPageProxy.cpp:
26672         (QtWebPageProxy::QtWebPageProxy):
26673         (QtWebPageProxy::didChangeStatusText):
26674         (QtWebPageProxy::didMouseMoveOverElement):
26675         (QtWebPageProxy::showContextMenu):
26676         (QtWebPageProxy::hideContextMenu):
26677         (QtWebPageProxy::runJavaScriptAlert):
26678         (QtWebPageProxy::runJavaScriptConfirm):
26679         (QtWebPageProxy::runJavaScriptPrompt):
26680         (QtWebPageProxy::chooseFiles):
26681         (QtWebPageProxy::createContextMenuProxy):
26682         (QtWebPageProxy::didChangeLoadProgress):
26683         * UIProcess/qt/QtWebPageProxy.h:
26684         (QtWebPageProxy::contextMenuItemSelected):
26685         * UIProcess/qt/WebContextMenuProxyQt.cpp:
26686         (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
26687         (WebKit::WebContextMenuProxyQt::create):
26688         (WebKit::WebContextMenuProxyQt::hideContextMenu):
26689         * UIProcess/qt/WebContextMenuProxyQt.h:
26690
26691 2011-11-18  Zalan Bujtas  <zbujtas@gmail.com>
26692
26693         [Qt][WK2] UI process segfaults, when visiblity properties are set while the WebProcess is dead.
26694         https://bugs.webkit.org/show_bug.cgi?id=72699
26695
26696         The drawing area may be null, if the web process has crashed, but not yet recovered.
26697         Always null check against drawing area.
26698
26699         Reviewed by Simon Hausmann.
26700
26701         * UIProcess/qt/QtWebPageProxy.cpp:
26702         (QtWebPageProxy::setDrawingAreaSize):
26703         (QtWebPageProxy::setVisibleContentRectAndScale):
26704         (QtWebPageProxy::setVisibleContentRectTrajectoryVector):
26705
26706 2011-11-18  Simon Hausmann  <simon.hausmann@nokia.com>
26707
26708         [Qt] Removal of QtViewInterface part 2
26709
26710         Reviewed by Kenneth Rohde Christiansen.
26711
26712         Move all functions that forwarded from QtWebPageProxy to QtViewInterface and then
26713         to QQuickWebView straight into QtWebPageProxy.
26714
26715         * UIProcess/API/qt/qquickwebpage_p.h:
26716         * UIProcess/API/qt/qquickwebview.cpp:
26717         (QQuickWebViewPrivate::initialize):
26718         * UIProcess/API/qt/qquickwebview_p_p.h:
26719         * UIProcess/qt/QtViewInterface.cpp:
26720         * UIProcess/qt/QtViewInterface.h:
26721         * UIProcess/qt/QtWebPageProxy.cpp:
26722         (QtWebPageProxy::QtWebPageProxy):
26723         (QtWebPageProxy::setCursor):
26724         (QtWebPageProxy::isViewWindowActive):
26725         (QtWebPageProxy::isViewVisible):
26726         (QtWebPageProxy::pageDidRequestScroll):
26727         (QtWebPageProxy::didFinishFirstNonEmptyLayout):
26728         (QtWebPageProxy::didChangeContentsSize):
26729         (QtWebPageProxy::didChangeViewportProperties):
26730         (QtWebPageProxy::toolTipChanged):
26731         (QtWebPageProxy::didChangeUrl):
26732         (QtWebPageProxy::didChangeTitle):
26733         (QtWebPageProxy::loadDidBegin):
26734         (QtWebPageProxy::loadDidCommit):
26735         (QtWebPageProxy::loadDidSucceed):
26736         (QtWebPageProxy::loadDidFail):
26737         (QtWebPageProxy::didRelaunchProcess):
26738         (QtWebPageProxy::processDidCrash):
26739         (QtWebPageProxy::startDrag):
26740         (QtWebPageProxy::didReceiveDownloadResponse):
26741         * UIProcess/qt/QtWebPageProxy.h:
26742
26743 2011-11-18  Simon Hausmann  <simon.hausmann@nokia.com>
26744
26745         [Qt] Removal of QtViewInterface part 1
26746
26747         Reviewed by Kenneth Rohde Christiansen.
26748
26749         Replace functions of QtViewInterface that forward to QQuickWebPage with direct
26750         usage of QQuickWebPage. Also removed some dead code.
26751
26752         * UIProcess/API/qt/qquickwebpage.cpp:
26753         (QQuickWebPage::sceneGraphUpdateQueue):
26754         * UIProcess/API/qt/qquickwebpage_p.h:
26755         * UIProcess/API/qt/qquickwebview.cpp:
26756         (QQuickWebViewPrivate::initialize):
26757         * UIProcess/TiledDrawingAreaProxy.h:
26758         * UIProcess/qt/QtViewInterface.cpp:
26759         (WebKit::QtViewInterface::QtViewInterface):
26760         (WebKit::QtViewInterface::isVisible):
26761         * UIProcess/qt/QtViewInterface.h:
26762         * UIProcess/qt/QtWebPageProxy.cpp:
26763         (QtWebPageProxy::QtWebPageProxy):
26764         (QtWebPageProxy::setViewNeedsDisplay):
26765         (QtWebPageProxy::viewSize):
26766         (QtWebPageProxy::isViewFocused):
26767         (QtWebPageProxy::isViewVisible):
26768         (QtWebPageProxy::didRelaunchProcess):
26769         * UIProcess/qt/QtWebPageProxy.h:
26770         (QtWebPageProxy::qmlWebPage):
26771         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
26772
26773 2011-11-17  Simon Hausmann  <simon.hausmann@nokia.com>
26774
26775         [Qt] Layer violation: ThirdPartyCookiesQt.cpp uses QWebSettings in two places
26776         https://bugs.webkit.org/show_bug.cgi?id=72597
26777
26778         Reviewed by Kenneth Rohde Christiansen.
26779
26780         Stub implementation of new NetworkingContext::thirdPartyCookiePolicyPermission
26781         API.
26782
26783         * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.cpp:
26784         (WebCore::WebFrameNetworkingContext::thirdPartyCookiePolicyPermission):
26785         * WebProcess/WebCoreSupport/qt/WebFrameNetworkingContext.h:
26786
26787 2011-11-17  Martin Robinson  <mrobinson@igalia.com>
26788
26789         [GTK] The process freezes when you right click on windowless Flash
26790         https://bugs.webkit.org/show_bug.cgi?id=69123
26791
26792         Reviewed by Xan Lopez.
26793
26794         Add a new plugin quirk for dealing with right-clicking on
26795         windowless Flash on x86_64 machines. This already exists for
26796         WebKit1.
26797
26798         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
26799         (WebKit::NetscapePluginModule::determineQuirks): If the plugin is
26800         Flash and we are on x86_64, then disable sending right-clicking
26801         events while in windowless mode.
26802         * Shared/Plugins/PluginQuirks.h: Add the new quirk.
26803         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
26804         (WebKit::NetscapePlugin::platformHandleMouseEvent): If the quirk
26805         is active  don't send right click events.
26806
26807 2011-11-17  Igor Oliveira  <igor.oliveira@openbossa.org>
26808
26809         [WK2] Fix TransformOperation serialization
26810         https://bugs.webkit.org/show_bug.cgi?id=72625
26811
26812         SimpleArgumentCoder can encode and decode just POD types. And according the 
26813         ISO/IEC 14882, POD types does not have virtual methods, however TransformOperation
26814         has pure virtual methods.
26815
26816         This patch fixes TransformOperation subclass serialization.
26817
26818         Reviewed by Noam Rosenthal.
26819
26820         * Shared/WebCoreArgumentCoders.cpp:
26821         (CoreIPC::::encode):
26822         (CoreIPC::::decode):
26823         (CoreIPC::encodeOperation):
26824         (CoreIPC::decodeOperation):
26825         * Shared/WebCoreArgumentCoders.h:
26826
26827 2011-11-17  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
26828
26829         [Qt][WK2] Fix zero sized views in all QML tests
26830         https://bugs.webkit.org/show_bug.cgi?id=72633
26831
26832         Reviewed by Noam Rosenthal.
26833
26834         After r100590, zero sized WebViews are no longer supported and,
26835         therefore, the QML API tests need to be fixed.
26836
26837         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
26838         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml:
26839         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml:
26840         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadZeroSizeView.qml: Removed.
26841         * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
26842         * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml:
26843         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
26844
26845 2011-11-17  Alexis Menard  <alexis.menard@openbossa.org>
26846
26847         [Qt][WK2] Don't export the private QQuickView.
26848
26849         Reviewed by Kenneth Rohde Christiansen.
26850
26851         We don't need to export that class anymore as the experimental QML plugin
26852         does not expose this object anymore.
26853
26854         * UIProcess/API/qt/qquickwebview_p_p.h:
26855
26856 2011-11-17  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
26857
26858         [Qt] Expose setUseTraditionalDesktopBehaviour() in QML experimental API
26859         https://bugs.webkit.org/show_bug.cgi?id=72610
26860
26861         Reviewed by Kenneth Rohde Christiansen.
26862
26863         * UIProcess/API/qt/qquickwebview_p.h:
26864
26865 2011-11-17  Kenneth Rohde Christiansen  <kenneth@webkit.org>
26866
26867         Print warning for the Qt port when a process crashes and is relaunched
26868         https://bugs.webkit.org/show_bug.cgi?id=72607
26869
26870         Reviewed by Antonio Gomes.
26871
26872         Make the QtViewInterface::processDidCrash take a URL string argument,
26873         for being able to say which url was the origin of the crash.
26874
26875         We now additionally store the load state and url at process exit. This
26876         is needed for printing the warning and for further crash handling.
26877
26878         * UIProcess/PageClient.h:
26879         * UIProcess/WebPageProxy.cpp:
26880         (WebKit::WebPageProxy::processDidCrash):
26881         * UIProcess/qt/QtViewInterface.cpp:
26882         (WebKit::QtViewInterface::processDidCrash):
26883         (WebKit::QtViewInterface::didRelaunchProcess):
26884         * UIProcess/qt/QtViewInterface.h:
26885         * UIProcess/qt/QtWebPageProxy.cpp:
26886         (QtWebPageProxy::processDidCrash):
26887         * UIProcess/qt/QtWebPageProxy.h:
26888
26889 2011-11-17  Alexis Menard  <alexis.menard@openbossa.org>
26890
26891         [Qt][WK2] Cleanup dead code in QtWebPageProxy.
26892         https://bugs.webkit.org/show_bug.cgi?id=72608
26893
26894         Reviewed by Simon Hausmann.
26895
26896         Remove some dead code after we merged our views.
26897         QQuickWebView is now using AC which means that this
26898         path is never called now.
26899
26900         * UIProcess/qt/QtWebPageProxy.cpp:
26901         (QtWebPageProxy::didReceiveDownloadResponse):
26902         * UIProcess/qt/QtWebPageProxy.h:
26903
26904 2011-11-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
26905
26906         [Qt] Remove forwarding header for WebKit2 C API
26907
26908         The Qt port of WebKit does not provide a C-API for the View classes.
26909
26910         Reviewed by Simon Hausmann.
26911
26912         * UIProcess/API/C/WebKit2.h:
26913         * UIProcess/API/qt/WKView.h: Removed.
26914
26915 2011-11-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
26916
26917         [Qt] Resolve import and web-process paths automatically for QML tests
26918
26919         Reviewed by Kenneth Rohde Christiansen.
26920
26921         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
26922         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
26923         (main):
26924
26925 2011-11-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
26926
26927         [Qt] Move WebKit2 C++ APIs to private API and build QML extension plugin on top of that
26928
26929         A new extension object has been added to QQuickWebView (the same approach should be used
26930         for other API classes that need experimental APIs). The QML extension mechanism is then
26931         built on top of the experimental object.
26932
26933         https://bugs.webkit.org/show_bug.cgi?id=72522
26934
26935         Reviewed by Simon Hausmann.
26936
26937         * Target.pri:
26938         * UIProcess/API/qt/qquickwebpage.cpp:
26939         * UIProcess/API/qt/qquickwebpage.h: Removed.
26940         * UIProcess/API/qt/qquickwebpage_p.h:
26941         * UIProcess/API/qt/qquickwebpage_p_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qquickwebviewprivateextension_p.h.
26942         * UIProcess/API/qt/qquickwebview.cpp:
26943         (QQuickWebViewExperimental::QQuickWebViewExperimental):
26944         (QQuickWebViewExperimental::~QQuickWebViewExperimental):
26945         (QQuickWebViewExperimental::setUseTraditionalDesktopBehaviour):
26946         (QQuickWebView::QQuickWebView):
26947         (QQuickWebView::experimental):
26948         * UIProcess/API/qt/qquickwebview.h: Removed.
26949         * UIProcess/API/qt/qquickwebview_p.h:
26950         * UIProcess/API/qt/qquickwebview_p_p.h: Copied from Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h.
26951         * UIProcess/API/qt/qquickwebviewprivateextension.cpp: Removed.
26952         * UIProcess/API/qt/qwebdownloaditem.cpp:
26953         * UIProcess/API/qt/qwebdownloaditem.h: Removed.
26954         * UIProcess/API/qt/qwebdownloaditem_p.h:
26955         * UIProcess/API/qt/qwebdownloaditem_p_p.h: Copied from Source/WebKit2/UIProcess/API/qt/qwebdownloaditem_p.h.
26956         (QWebDownloadItemPrivate::didReceiveResponse):
26957         * UIProcess/API/qt/qwebpreferences.cpp:
26958         * UIProcess/API/qt/qwebpreferences.h: Removed.
26959         * UIProcess/API/qt/qwebpreferences_p.h:
26960         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
26961         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
26962         (DesktopWebView::DesktopWebView):
26963         * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro:
26964         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
26965         * UIProcess/qt/QtDownloadManager.cpp:
26966         * UIProcess/qt/QtViewInterface.cpp:
26967         * UIProcess/qt/QtWebError.h:
26968         * UIProcess/qt/QtWebPageProxy.cpp:
26969
26970 2011-11-17  Kenneth Rohde Christiansen  <kenneth@webkit.org>
26971
26972         Unreviewed build fix.
26973
26974         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
26975         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
26976
26977 2011-11-16  Kenneth Rohde Christiansen  <kenneth@webkit.org>
26978
26979         Make use-fixed-layout work reliable
26980         https://bugs.webkit.org/show_bug.cgi?id=72511
26981
26982         Reviewed by Simon Hausmann.
26983
26984         The code handling use-fixed-layout wasn't 100% reliable. The code
26985         was changed to make sure the value is always correct.
26986
26987         It also doesn't set the value by looking at the previous FrameView,
26988         as that wouldn't work in cases, such as when the web process has
26989         crashed.
26990
26991         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
26992         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
26993         * WebProcess/WebPage/WebPage.cpp:
26994         (WebKit::WebPage::WebPage):
26995         (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
26996         (WebKit::WebPage::setUseFixedLayout):
26997         * WebProcess/WebPage/WebPage.h:
26998         (WebKit::WebPage::useFixedLayout):
26999
27000             Store the state as m_useFixedLayout so that it can be used
27001             from the WebFrameLoaderClient.
27002
27003 2011-11-17  Zalan Bujtas  <zbujtas@gmail.com>
27004
27005         [Qt][WK2] Do not apply new viewport properties until after the first visually non-empty layout.
27006         https://bugs.webkit.org/show_bug.cgi?id=72508
27007
27008         Delay applying viewport properties on the viewport item until after the first visually non-empty
27009         layout finished. It enables the viewport to be intact until the new page is ready to be rendered.
27010
27011         Reviewed by Kenneth Rohde Christiansen.
27012
27013         * UIProcess/API/qt/qquickwebview.cpp:
27014         (QQuickWebViewPrivate::QQuickWebViewPrivate):
27015         (QQuickWebViewPrivate::loadDidCommit):
27016         (QQuickWebViewPrivate::didFinishFirstNonEmptyLayout):
27017         (QQuickWebViewPrivate::didChangeContentsSize):
27018         (QQuickWebViewPrivate::didChangeViewportProperties):
27019         (QQuickWebViewPrivate::updateViewportSize):
27020         (QQuickWebViewPrivate::computeViewportConstraints):
27021         * UIProcess/API/qt/qquickwebview_p.h:
27022         (PostTransitionState::isTransitioningToNewPage):
27023         * UIProcess/qt/ClientImpl.cpp:
27024         (qt_wk_didFirstVisuallyNonEmptyLayoutForFrame):
27025         (setupPageLoaderClient):
27026         * UIProcess/qt/QtViewInterface.cpp:
27027         (WebKit::QtViewInterface::didFinishFirstNonEmptyLayout):
27028         (WebKit::QtViewInterface::didChangeContentsSize):
27029         (WebKit::QtViewInterface::didChangeViewportProperties):
27030         (WebKit::QtViewInterface::startDrag):
27031         * UIProcess/qt/QtViewInterface.h:
27032         * UIProcess/qt/QtViewportInteractionEngine.cpp:
27033         (WebKit::QtViewportInteractionEngine::reset):
27034         (WebKit::QtViewportInteractionEngine::applyConstraints):
27035         * UIProcess/qt/QtViewportInteractionEngine.h:
27036         * UIProcess/qt/QtWebPageProxy.cpp:
27037         (QtWebPageProxy::didFinishFirstNonEmptyLayout):
27038         (QtWebPageProxy::didChangeContentsSize):
27039         (QtWebPageProxy::didChangeViewportProperties):
27040         (QtWebPageProxy::startDrag):
27041         * UIProcess/qt/QtWebPageProxy.h:
27042
27043 2011-11-17  Eunmi Lee  <eunmi15.lee@samsung.com>
27044
27045         Reviewed by Martin Robinson.
27046
27047         [WK2] Move gtk/BackingStoreGtk.cpp to cairo/BackingStoreCairo.cpp to share with EFL port.
27048         https://bugs.webkit.org/show_bug.cgi?id=62444
27049
27050         Rename gtk/BackingStoreGtk.cpp to cairo/BackingStoreCairo.cpp to share with EFL port.
27051         The gtk/BackingStoreGtk.cpp only has cairo dependency, so it can be shared with other port
27052         that uses cairo.
27053
27054         * GNUmakefile.am:
27055         * UIProcess/BackingStore.h:
27056         * UIProcess/cairo/BackingStoreCairo.cpp: Renamed from Source/WebKit2/UIProcess/gtk/BackingStoreGtk.cpp.
27057         (WebKit::BackingStore::paint):
27058         (WebKit::BackingStore::incorporateUpdate):
27059         (WebKit::BackingStore::scroll):
27060
27061 2011-11-17  Nayan Kumar K  <nayankk@motorola.com>
27062
27063         [WebKit2][gtk] Add few more properties to WebKitSettings
27064         https://bugs.webkit.org/show_bug.cgi?id=72468
27065
27066         Reviewed by Martin Robinson.
27067
27068         Add 'enable-private-browsing', 'enable-developer-extras, 'enable-resizable-text-areas'
27069         and 'enable-tabs-to-links' properties to WebKitSettings.
27070
27071         * UIProcess/API/gtk/WebKitSettings.cpp:
27072         (webKitSettingsSetProperty): Add new set functions.
27073         (webKitSettingsGetProperty): Add new get functions.
27074         (webkit_settings_class_init): Add new properties.
27075         (webkit_settings_get_enable_private_browsing): Get 'enable-private-browsing' property.
27076         (webkit_settings_set_enable_private_browsing): Set 'enable-private-browsing' property.
27077         (webkit_settings_get_enable_developer_extras): Get 'enable-developer-extras' property.
27078         (webkit_settings_set_enable_developer_extras): Set 'enable-developer-extras' property.
27079         (webkit_settings_get_enable_resizable_text_areas): Get 'enable-resizable-text-areas' property.
27080         (webkit_settings_set_enable_resizable_text_areas): Set 'enable-resizable-text-areas' property.
27081         (webkit_settings_get_enable_tabs_to_links): Get 'enable-tabs-to-links' property.
27082         (webkit_settings_set_enable_tabs_to_links): Set 'enable-tabs-to-links' property.
27083         * UIProcess/API/gtk/WebKitSettings.h: New public APIs added.
27084         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: New APIs added.
27085         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
27086         (testWebKitSettings): Add new tests.
27087
27088 2011-11-17  Carlos Garcia Campos  <cgarcia@igalia.com>
27089
27090         Unreviewed. Fix WebKit2 GTK+ build after r100569.
27091
27092         * WebProcess/Downloads/soup/DownloadSoup.cpp:
27093         (WebKit::DownloadClient::didReceiveResponse):
27094
27095 2011-11-17  Nayan Kumar K  <nayankk@motorola.com>
27096
27097         [WebKit2][gtk] Fix assert while running TestWebKitSettings
27098         https://bugs.webkit.org/show_bug.cgi?id=72469
27099
27100         Reviewed by Martin Robinson.
27101
27102         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
27103         (testWebKitSettings): Correct the test.
27104
27105 2011-11-16  Carlos Garcia Campos  <cgarcia@igalia.com>
27106
27107         [GTK] Use a URI instead of local path to create download destination in WebKit2
27108         https://bugs.webkit.org/show_bug.cgi?id=72500
27109
27110         Reviewed by Philippe Normand.
27111
27112         * WebProcess/Downloads/soup/DownloadSoup.cpp:
27113         (WebKit::DownloadClient::didReceiveResponse): Use
27114         g_file_new_for_uri() instad of g_file_new_for_path(). Also use
27115         adoptGRef to fix a memory leak.
27116
27117 2011-11-16  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
27118
27119         [Qt] Fix build after WTR AX support
27120         https://bugs.webkit.org/show_bug.cgi?id=72560
27121
27122         Reviewed by Geoffrey Garen.
27123
27124         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
27125         (WKAccessibilityRootObject):
27126         (WKAccessibilityFocusedObject):
27127
27128 2011-11-11  Adrienne Walker  <enne@google.com>
27129
27130         [chromium] Expose mock scrollbars to window.internals
27131         https://bugs.webkit.org/show_bug.cgi?id=72195
27132
27133         Reviewed by James Robinson.
27134
27135         * win/WebKit2.def:
27136         * win/WebKit2CFLite.def:
27137
27138 2011-11-16  Dan Bernstein  <mitz@apple.com>
27139
27140         WebKit2 part of <rdar://problem/10262242> Add API for paginated display
27141         https://bugs.webkit.org/show_bug.cgi?id=72537
27142
27143         Reviewed by Anders Carlsson.
27144
27145         * Shared/WebPageCreationParameters.cpp:
27146         (WebKit::WebPageCreationParameters::encode): Encode the pagination mode and gap between pages.
27147         (WebKit::WebPageCreationParameters::decode): Decode the pagination mode and gap between pages.
27148         * Shared/WebPageCreationParameters.h: Added paginationMode and gapBetweenPages members.
27149         * UIProcess/API/C/WKPage.cpp:
27150         (WKPageSetPaginationMode): Added this API wrapper.
27151         (WKPageGetPaginationMode): Ditto.
27152         (WKPageSetGapBetweenPages): Ditto.
27153         (WKPageGetGapBetweenPages): Ditto.
27154         (WKPageGetPageCount): Ditto.
27155         * UIProcess/API/C/WKPagePrivate.h: Added an enum and a definition of WKPaginationMode and
27156         accessors.
27157         * UIProcess/API/mac/WKBrowsingContextController.mm:
27158         (-[WKBrowsingContextController setPaginationMode:]): Added this API wrapper.
27159         (-[WKBrowsingContextController paginationMode]): Ditto.
27160         (-[WKBrowsingContextController setGapBetweenPages:]): Ditto.
27161         (-[WKBrowsingContextController gapBetweenPages]): Ditto.
27162         (-[WKBrowsingContextController pageCount]): Ditto.
27163         * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Added. Includes an enum and a definition
27164         of WKBrowsingContextPaginationMode and property declarations.
27165         * UIProcess/WebPageProxy.cpp:
27166         (WebKit::WebPageProxy::WebPageProxy): Added intialization of m_paginationMode, m_gapBetweenPages,
27167         and m_pageCount.
27168         (WebKit::WebPageProxy::setPaginationMode): Added this accessor, which caches the value and sends
27169         a message to the WebPage.
27170         (WebKit::WebPageProxy::setGapBetweenPages): Ditto.
27171         (WebKit::WebPageProxy::creationParameters): Set the pagination mode and gap between pages in the
27172         creation parameters.
27173         (WebKit::WebPageProxy::didChangePageCount): Added. Updates the cached page count.
27174         * UIProcess/WebPageProxy.h:
27175         (WebKit::WebPageProxy::paginationMode): Added this getter that returns a cached value.
27176         (WebKit::WebPageProxy::gapBetweenPages): Ditto.
27177         (WebKit::WebPageProxy::pageCount): Ditto.
27178         * UIProcess/WebPageProxy.messages.in: Added DidChangedPageCount, sent when the page count changes
27179         after layout.
27180         * WebKit2.xcodeproj/project.pbxproj: Added WKBrowsingContextControllerPrivate.h.
27181         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp: 
27182         (WebKit::WebFrameLoaderClient::dispatchDidLayout): Added a call to WebPage::mainFrameDidLayout(),
27183         allowing the page to respond to changes in the column count.
27184         * WebProcess/WebPage/WebPage.cpp:
27185         (WebKit::WebPage::WebPage): Added initializer for m_cachedPageCount.
27186         (WebKit::WebPage::setPaginationMode): Added.
27187         (WebKit::WebPage::setGapBetweenPages): Added.
27188         (WebKit::WebPage::mainFrameDidLayout): Added. Sends a DidChangePageCount message to the UI process
27189         if the page count has changed.
27190         * WebProcess/WebPage/WebPage.h:
27191         * WebProcess/WebPage/WebPage.messages.in: Added SetPaginationMode and SetGapBetweenPages messages.
27192
27193 2011-11-16  Chris Fleizach  <cfleizach@apple.com>
27194
27195         WebKitTestRunner needs to support accessibility-related DRT APIs
27196         https://bugs.webkit.org/show_bug.cgi?id=42131
27197
27198         Allow the injected bundle to retrieve the focused and root accessibility
27199         objects.
27200
27201         Reviewed by Beth Dakin.
27202
27203         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
27204         (WKAccessibilityRootObject):
27205         (WKAccessibilityFocusedObject):
27206         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
27207
27208 2011-11-16  Beth Dakin  <bdakin@apple.com>
27209
27210         https://bugs.webkit.org/show_bug.cgi?id=72400
27211         Scrollbar uiStateTransitionProgress requires tracking the mouse all the time
27212         -and corresponding-
27213         <rdar://problem/10409328>
27214
27215         Reviewed by Darin Adler.
27216
27217         Set up our initial tracking area based on the currently recommended scrollbar 
27218         style. Track the mouse all the time if the style is legacy.
27219         * UIProcess/API/mac/WKView.mm:
27220         (-[WKView initWithFrame:contextRef:pageGroupRef:]):
27221
27222         Now that we might be getting mouseMoved events all the time even when the window 
27223         is not key, make sure we opt into the new 'onlyUpdateScrollbars' mode for 
27224         EventHandler::mouseMoved() when the window is not focused.
27225         * WebProcess/WebPage/WebPage.cpp:
27226         (WebKit::handleMouseEvent):
27227         (WebKit::WebPage::mouseEvent):
27228         (WebKit::WebPage::mouseEventSyncForTesting):
27229
27230 2011-11-16  Martin Robinson  <mrobinson@igalia.com>
27231
27232         [GTK][WEBKIT2] Link error running gtkdoc-scangobj
27233         https://bugs.webkit.org/show_bug.cgi?id=72365
27234
27235         Reviewed by Xan Lopez.
27236
27237         * webkit2gtk.pc.in: Add a libjavascriptcore requirement to the WebKit2 pkgconfig
27238         file so that the compiler links to it.
27239
27240 2011-11-16  Balazs Kelemen  <kbalazs@webkit.org>
27241
27242         [WK2][X11] Don't leak the colormap we created for the plugin
27243         https://bugs.webkit.org/show_bug.cgi?id=72144
27244
27245         Reviewed by Xan Lopez.
27246
27247         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
27248         (WebKit::NetscapePlugin::platformDestroy):
27249
27250 2011-11-16  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
27251
27252         [Qt] [WK2] Crash in Connection::readyReadHandler() on socket error
27253         https://bugs.webkit.org/show_bug.cgi?id=72392
27254
27255         Reviewed by Simon Hausmann.
27256
27257         Add QWeakPointer to SocketNotifierResourceGuard::m_socketNotifier to track
27258         deallocation of referenced object.
27259
27260         * Platform/CoreIPC/unix/ConnectionUnix.cpp:
27261         (CoreIPC::SocketNotifierResourceGuard::SocketNotifierResourceGuard):
27262         (CoreIPC::SocketNotifierResourceGuard::~SocketNotifierResourceGuard):
27263
27264 2011-11-16  Zeno Albisser  <zeno@webkit.org>
27265
27266         [Qt][WK2][Mac] MiniBrowser cannot create socketpair.
27267         https://bugs.webkit.org/show_bug.cgi?id=72389
27268
27269         Use SOCK_DGRAM on mac instead of SOCK_SEQPACKET.
27270
27271         Reviewed by Tor Arne Vestbø.
27272
27273         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
27274
27275 2011-11-15  Carlos Garcia Campos  <cgarcia@igalia.com>
27276
27277         [GTK] Add webkit_web_view_load_request() to WebKit2 GTK+ API
27278         https://bugs.webkit.org/show_bug.cgi?id=72380
27279
27280         Reviewed by Martin Robinson.
27281
27282         It adds an initial implementation of WebKitNetworkRequest
27283         class that only contains a URI for now.
27284
27285         * GNUmakefile.am:
27286         * UIProcess/API/gtk/WebKitNetworkRequest.cpp: Added.
27287         (webkitNetworkRequestFinalize):
27288         (webkitNetworkRequestGetProperty):
27289         (webkitNetworkRequestSetProperty):
27290         (webkit_network_request_class_init):
27291         (webkit_network_request_init):
27292         (webkit_network_request_new):
27293         (webkit_network_request_get_uri):
27294         * UIProcess/API/gtk/WebKitNetworkRequest.h: Added.
27295         * UIProcess/API/gtk/WebKitWebView.cpp:
27296         (webkit_web_view_load_request): Use WKPageLoadURLRequest() to load
27297         the given WebKitNetworkRequest.
27298         * UIProcess/API/gtk/WebKitWebView.h:
27299         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
27300         * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
27301         (testLoadRequest):
27302         (beforeAll):
27303         * UIProcess/API/gtk/tests/WebViewTest.cpp:
27304         (WebViewTest::loadRequest):
27305         * UIProcess/API/gtk/tests/WebViewTest.h:
27306         * UIProcess/API/gtk/webkit2.h:
27307
27308 2011-11-15  Andy Estes  <aestes@apple.com>
27309
27310         Consolidate the logic that creates run loop observers for flushing layer tree changes to CoreAnimation
27311         https://bugs.webkit.org/show_bug.cgi?id=72106
27312
27313         Reviewed by Anders Carlsson.
27314
27315         Remove code that schedules layer flushes and use LayerFlushScheduler instead.
27316
27317         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h: Replace
27318         m_flushPendingLayerChangesRunLoopObserver with m_layerFlushScheduler
27319         and implement the LayerFlushSchedulerClient interface.
27320         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
27321         (WebKit::LayerTreeHostCAMac::LayerTreeHostCAMac): Instantiate
27322         m_layerFlushScheduler with the LayerTreeHost as the client.
27323         (WebKit::LayerTreeHostCAMac::~LayerTreeHostCAMac):
27324         (WebKit::LayerTreeHostCAMac::scheduleLayerFlush): Call LayerFlushScheduler::schedule().
27325         (WebKit::LayerTreeHostCAMac::setLayerFlushSchedulingEnabled): Call
27326         LayerFlushScheduler::suspend() or LayerFlushScheduler::resume().
27327         (WebKit::LayerTreeHostCAMac::invalidate): Call LayerFlushScheduler::invalidate().
27328         (WebKit::LayerTreeHostCAMac::flushLayers): Do the work that
27329         flushPendingLayerChangesRunLoopObserverCallback() used to do.
27330         (WebKit::LayerTreeHostCAMac::didPerformScheduledLayerFlush): Call LayerFlushScheduler::invalidate().
27331
27332 2011-11-15  Sam Weinig  <sam@webkit.org>
27333
27334         Add a connection client to the WKContext, to notify when new connections to the WebProcess are established
27335         https://bugs.webkit.org/show_bug.cgi?id=72433
27336
27337         Reviewed by Anders Carlsson.
27338
27339         * UIProcess/API/C/WKContext.cpp:
27340         (WKContextSetConnectionClient):
27341         * UIProcess/API/C/WKContext.h:
27342         * UIProcess/WebContext.cpp:
27343         (WebKit::WebContext::initializeConnectionClient):
27344         * UIProcess/WebContext.h:
27345         Add connection client API.
27346
27347         * UIProcess/WebContextConnectionClient.cpp: Added.
27348         (WebKit::WebContextConnectionClient::didCreateConnection):
27349         * UIProcess/WebContextConnectionClient.h: Added.
27350         Add basic implementation of the client. It is currently never triggered.
27351
27352 2011-11-15  Jongseok Yang  <js45.yang@samsung.com>
27353
27354         [SOUP][WK2] Add initial WebCookieManagerSoup.cpp for webkit2
27355         https://bugs.webkit.org/show_bug.cgi?id=72235
27356
27357         Reviewed by Gustavo Noronha Silva.
27358
27359         Add WebCookieManagerSoup.cpp and implement functions for the cookie accept policy.
27360         It's required when using the soup network backend.
27361         Remove WebCookieManagerEfl.cpp and WebCookieManagerGtk.cpp because GTK port and
27362         EFL port use soup network backend without a network backend of their own.
27363
27364         * GNUmakefile.am:
27365         * WebProcess/Cookies/efl/WebCookieManagerEfl.cpp: Removed.
27366         * WebProcess/Cookies/gtk/WebCookieManagerGtk.cpp: Removed.
27367         * WebProcess/Cookies/soup/WebCookieManagerSoup.cpp: Added.
27368         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
27369         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
27370
27371 2011-11-15  Jochen Eisinger  <jochen@chromium.org>
27372
27373         Rename ReferrerPolicy to clarify its meaning
27374         https://bugs.webkit.org/show_bug.cgi?id=72420
27375
27376         Reviewed by Nate Chapin.
27377
27378         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
27379         (WebKit::WebContextMenuClient::searchWithGoogle):
27380         * WebProcess/WebPage/WebPage.cpp:
27381         (WebKit::WebPage::linkClicked):
27382
27383 2011-11-15  Sam Weinig  <sam@webkit.org>
27384
27385         Fix windows build.
27386
27387         * win/WebKit2Generated.make:
27388
27389 2011-11-15  Sam Weinig  <sam@webkit.org>
27390
27391         Add WebKit2 API object to represent a connection
27392         https://bugs.webkit.org/show_bug.cgi?id=72421
27393
27394         Reviewed by Anders Carlsson.
27395
27396         * GNUmakefile.am:
27397         * Target.pri:
27398         * WebKit2.xcodeproj/project.pbxproj:
27399         * win/WebKit2.vcproj:
27400         Add new files.
27401
27402         * Shared/API/c/WKBase.h:
27403         Add type.
27404
27405         * Shared/API/c/WKConnectionRef.cpp: Added.
27406         (WKConnectionGetTypeID):
27407         (WKConnectionSetConnectionClient):
27408         (WKConnectionPostMessage):
27409         * Shared/API/c/WKConnectionRef.h: Added.
27410         Expose interface. Currently no support for synchronous messages.
27411
27412         * Shared/API/c/WKSharedAPICast.h:
27413         Define relationship between WebConnection <-> WKConnectionRef.
27414
27415         * Shared/APIObject.h:
27416         Add API type.
27417
27418         * Shared/WebConnection.cpp: Added.
27419         (WebKit::WebConnection::~WebConnection):
27420         (WebKit::WebConnection::initializeConnectionClient):
27421         * Shared/WebConnection.h: Added.
27422         (WebKit::WebConnection::type):
27423         Sketch out the connection object. It is currently abstract
27424         to allow different implementations for the UI and WebProcess sides
27425         while retaining the same interface.
27426
27427         * Shared/WebConnectionClient.cpp: Added.
27428         (WebKit::WebConnectionClient::didReceiveMessage):
27429         (WebKit::WebConnectionClient::didClose):
27430         * Shared/WebConnectionClient.h: Added.
27431         Add simple client.
27432
27433         * UIProcess/API/C/WebKit2.h:
27434         Add new file.
27435
27436 2011-11-15  Chris Fleizach2  <cfleizach@apple.com>
27437
27438         AX: WKAccessibilityWebObjectPage should not call super in accessibilityAttributeValue:
27439         https://bugs.webkit.org/show_bug.cgi?id=72344
27440
27441         Reviewed by Beth Dakin.
27442
27443         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
27444         (-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):
27445
27446 2011-11-15  Anders Carlsson  <andersca@apple.com>
27447
27448         HostWindow screenToWindow/windowToScreen should be screenToRootView/rootViewToScreen
27449         https://bugs.webkit.org/show_bug.cgi?id=72397
27450
27451         Reviewed by Dan Bernstein.
27452
27453         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
27454         (WebKit::WebChromeClient::screenToRootView):
27455         (WebKit::WebChromeClient::rootViewToScreen):
27456         * WebProcess/WebCoreSupport/WebChromeClient.h:
27457
27458 2011-11-14  Anders Carlsson  <andersca@apple.com>
27459
27460         HostWindow invalidation functions should use root view coordinates
27461         https://bugs.webkit.org/show_bug.cgi?id=72338
27462
27463         Reviewed by Dan Bernstein.
27464
27465         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
27466         (WebKit::WebChromeClient::invalidateRootView):
27467         (WebKit::WebChromeClient::invalidateContentsAndRootView):
27468         * WebProcess/WebCoreSupport/WebChromeClient.h:
27469
27470 2011-11-15  Carlos Garcia Campos  <cgarcia@igalia.com>
27471
27472         [GTK] Implement download support in WebKit2
27473         https://bugs.webkit.org/show_bug.cgi?id=72258
27474
27475         Reviewed by Martin Robinson.
27476
27477         * WebProcess/Downloads/Download.h:
27478         * WebProcess/Downloads/soup/DownloadSoup.cpp:
27479         (WebKit::DownloadClient::DownloadClient):
27480         (WebKit::DownloadClient::downloadFailed):
27481         (WebKit::DownloadClient::didReceiveResponse):
27482         (WebKit::DownloadClient::didReceiveData):
27483         (WebKit::DownloadClient::didFinishLoading):
27484         (WebKit::DownloadClient::didFail):
27485         (WebKit::DownloadClient::wasBlocked):
27486         (WebKit::DownloadClient::cannotShowURL):
27487         (WebKit::Download::start):
27488         (WebKit::Download::startWithHandle):
27489         (WebKit::Download::cancel):
27490         (WebKit::Download::platformInvalidate):
27491
27492 2011-11-15  Mario Sanchez Prada  <msanchez@igalia.com>
27493
27494         [GTK][WEBKIT2] Add enable-caret-browsing property to WebKitSettings
27495         https://bugs.webkit.org/show_bug.cgi?id=72267
27496
27497         Reviewed by Martin Robinson.
27498
27499         Allow getting and setting the 'enable-caret-browsing' property
27500         through WebKitSettings.
27501
27502         * UIProcess/API/gtk/WebKitSettings.cpp:
27503         (webKitSettingsSetProperty): Added property setter.
27504         (webKitSettingsGetProperty): Added propery getter.
27505         (webkit_settings_class_init): Install property.
27506         (webkit_settings_get_enable_caret_browsing): Added.
27507         (webkit_settings_set_enable_caret_browsing): Added.
27508         * UIProcess/API/gtk/WebKitSettings.h: Expose new public APIs.
27509         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new sections for gtk-doc generation.
27510         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
27511         (testWebKitSettings): Added new API test.
27512
27513 2011-11-14  Julien Chaffraix  <jchaffraix@webkit.org>
27514
27515         Add --css-grid-layout to build-webkit and the build systems
27516         https://bugs.webkit.org/show_bug.cgi?id=72320
27517
27518         Reviewed by Ojan Vafai.
27519
27520         * Configurations/FeatureDefines.xcconfig:
27521
27522 2011-11-14  Tony Chang  <tony@chromium.org>
27523
27524         Remove the CSS3_FLEXBOX compile time flag and enable on all ports
27525         https://bugs.webkit.org/show_bug.cgi?id=72196
27526
27527         Reviewed by Ojan Vafai.
27528
27529         * Configurations/FeatureDefines.xcconfig:
27530
27531 2011-11-14  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
27532
27533         Intermittent asserts in TextureMapperGL::bindSurface on MiniBrowser startup
27534         https://bugs.webkit.org/show_bug.cgi?id=72299
27535
27536         Reviewed by Noam Rosenthal.
27537
27538         Added check that clipping rect is valid.
27539         Clear GL error that might remain from QT GL operations.
27540         Added GL error assert for scissor test operations.
27541
27542         * UIProcess/API/qt/qquickwebpage.cpp:
27543         (QQuickWebPagePrivate::paintToCurrentGLContext):
27544
27545 2011-11-14  Anders Carlsson  <andersca@apple.com>
27546
27547         Only send progress notifications for the main frame
27548         https://bugs.webkit.org/show_bug.cgi?id=72302
27549
27550         Reviewed by Sam Weinig.
27551
27552         Since it's impossible in the API to tell which frame the progress notifications are for, just send them to the main frame for now.
27553
27554         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
27555         (WebKit::WebFrameLoaderClient::postProgressStartedNotification):
27556         (WebKit::WebFrameLoaderClient::postProgressEstimateChangedNotification):
27557         (WebKit::WebFrameLoaderClient::postProgressFinishedNotification):
27558
27559 2011-11-14  Alexis Menard  <alexis.menard@openbossa.org>
27560
27561         [Qt][WK2] Cleanup QML tests.
27562         https://bugs.webkit.org/show_bug.cgi?id=72259
27563
27564         Reviewed by Simon Hausmann.
27565
27566         Cleanup QML tests. This patch removes the duplicates after the merge of both views.
27567         I also isolated the desktop specific bits into its own directory.
27568
27569         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_download.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_download.qml.
27570         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml.
27571         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_messaging.qml.
27572         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationPolicyForUrl.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml.
27573         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgressSignal.qml: Removed.
27574         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadZeroSizeView.qml: Removed.
27575         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml: Removed.
27576         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml: Removed.
27577         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml: Removed.
27578         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml: Removed.
27579         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml: Removed.
27580         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadFail.qml.
27581         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgress.qml.
27582         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml.
27583         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadZeroSizeView.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml.
27584         * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml.
27585         * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml.
27586         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
27587
27588 2011-11-14  Mario Sanchez Prada  <msanchez@igalia.com>
27589
27590         Add support for the caretBrowsingEnabled preference in WebKit2
27591         https://bugs.webkit.org/show_bug.cgi?id=72266
27592
27593         Reviewed by Chris Fleizach.
27594
27595         * Shared/WebPreferencesStore.h: Add caretBrowsingEnabled getter
27596         and setter macro.
27597         * UIProcess/API/C/WKPreferences.h:
27598         * UIProcess/API/C/WKPreferences.cpp:
27599         (WKPreferencesSetCaretBrowsingEnabled): Added.
27600         (WKPreferencesGetCaretBrowsingEnabled): Added.
27601         * WebProcess/WebPage/WebPage.cpp:
27602         (WebKit::WebPage::updatePreferences): Update the
27603         caretBrowsingEnabledKey preference.
27604
27605 2011-11-14  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
27606
27607         [Qt] Remove reference to QWebNavigationController
27608         https://bugs.webkit.org/show_bug.cgi?id=72257
27609
27610         Reviewed by Simon Hausmann.
27611
27612         QWebNavigationController was removed in r99946, this is just a leftover.
27613
27614         * UIProcess/API/qt/qquickwebview.cpp:
27615         (QQuickWebViewPrivate::QQuickWebViewPrivate):
27616         * UIProcess/API/qt/qquickwebview_p.h:
27617
27618 2011-11-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
27619
27620         [Qt] the QQuickWebView should support double-tap to zoom
27621         https://bugs.webkit.org/show_bug.cgi?id=72030
27622
27623         Reviewed by Andreas Kling.
27624
27625         * UIProcess/qt/QtViewInterface.cpp:
27626         * UIProcess/qt/QtViewInterface.h:
27627         * UIProcess/qt/QtViewportInteractionEngine.cpp:
27628         (WebKit::QtViewportInteractionEngine::animateItemRectVisible):
27629         (WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):
27630         (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
27631         * UIProcess/qt/QtViewportInteractionEngine.h:
27632         * UIProcess/qt/QtWebPageProxy.cpp:
27633         (QtWebPageProxy::didFindZoomableArea):
27634
27635 2011-11-14  Zalan Bujtas  <zbujtas@gmail.com>
27636
27637         Build breaks with --no-javascript-debugger --no-inspector
27638         https://bugs.webkit.org/show_bug.cgi?id=72228
27639
27640         Reviewed by Simon Hausmann.
27641
27642         * UIProcess/WebPageProxy.cpp:
27643         (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle):
27644
27645 2011-11-13  Mark Rowe  <mrowe@apple.com>
27646
27647         Fix the 32-bit build.
27648
27649         * WebProcess/mac/WebProcessMac.mm:
27650         (WebKit::initializeSandbox): Use a format specifier and cast that works on more architectures.
27651
27652 2011-11-12  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
27653
27654         [Qt][Symbian] Remove support for WINSCW compiler
27655         https://bugs.webkit.org/show_bug.cgi?id=70178
27656
27657         Reviewed by Chang Shu.
27658
27659         * Shared/API/c/WKString.h:
27660
27661 2011-11-12  Dan Bernstein  <mitz@apple.com>
27662
27663         <rdar://problem/10294191> REGRESSION (WebKit2): Lookup bubble sized and positioned incorrectly (vertically off)
27664         https://bugs.webkit.org/show_bug.cgi?id=72217
27665
27666         Reviewed by Dave Hyatt.
27667
27668         * UIProcess/API/mac/PageClientImpl.mm:
27669         (WebKit::PageClientImpl::didPerformDictionaryLookup): Rather than adding the NSFont’s ascender
27670         to the top of the text rect to establish the baseline here...
27671         * WebProcess/WebPage/mac/WebPageMac.mm:
27672         (WebKit::WebPage::performDictionaryLookupForRange): ...do it here, using the WebCore::Font’s
27673         ascender, which is what’s actually used when drawing the text.
27674
27675 2011-11-11  Nayan Kumar K  <nayankk@motorola.com>
27676
27677         [GTK][WEBKIT2] Add font and charset properties to WebKitWebSettings
27678         https://bugs.webkit.org/show_bug.cgi?id=68996
27679
27680         Reviewed by Martin Robinson.
27681
27682         Provision to query and set the font related properties (such as
27683         font-family, font-size) and charset properties (such as default-
27684         charset) is added.
27685
27686         * UIProcess/API/gtk/WebKitSettings.cpp: Added font and encoding properties.
27687         (webKitSettingsSetProperty): GObject set property function.
27688         (webKitSettingsGetProperty): GObject get property function.
27689         (webkit_settings_class_init): Few more signals installed.
27690         (webkit_settings_init): Initialization of instance variables.
27691         (webkit_web_settings_get_default_font_family): Get 'default-font-family'.
27692         (webkit_web_settings_set_default_font_family): Set 'default-font-family'.
27693         (webkit_web_settings_get_monospace_font_family): Get 'monospace-font-family'.
27694         (webkit_web_settings_set_monospace_font_family): Set 'monospace-font-family'.
27695         (webkit_web_settings_get_serif_font_family): Get 'serif-font-family'.
27696         (webkit_web_settings_set_serif_font_family): Set 'serif-font-family'.
27697         (webkit_web_settings_get_sans_serif_font_family): Get 'sans-serif-font-family'.
27698         (webkit_web_settings_set_sans_serif_font_family): Get 'sans-serif-font-family'.
27699         (webkit_web_settings_get_cursive_font_family): Get 'cursive-font-family'.
27700         (webkit_web_settings_set_cursive_font_family): Set 'cursive-font-family'.
27701         (webkit_web_settings_get_fantasy_font_family): Get 'fantasy-font-family'.
27702         (webkit_web_settings_set_fantasy_font_family): Set 'fantasy-font-family'.
27703         (webkit_web_settings_get_pictograph_font_family): Get 'pictograph-font-family'.
27704         (webkit_web_settings_set_pictograph_font_family): Set 'pictograph-font-family'.
27705         (webkit_web_settings_get_default_font_size): Get 'default-font-size'.
27706         (webkit_web_settings_set_default_font_size): Set 'default-font-size'.
27707         (webkit_web_settings_get_default_monospace_font_size): Get 'default-monospace-font-size'.
27708         (webkit_web_settings_set_default_monospace_font_size): Set 'default-monospace-font-size'.
27709         (webkit_web_settings_get_minimum_font_size): Get 'minimum-font-size'.
27710         (webkit_web_settings_set_minimum_font_size): Set 'minimum-font-size'.
27711         (webkit_web_settings_get_default_charset): Get 'default-charset'.
27712         (webkit_web_settings_set_default_charset): Set 'default-charset'.
27713         * UIProcess/API/gtk/WebKitSettings.h: Add new sections for gtk-doc generation.
27714         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Expose new public APIs.
27715         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
27716         (testWebKitSettings): Add new tests.
27717
27718 2011-11-11  Shinya Kawanaka  <shinyak@google.com>
27719
27720         Implement legacy text check emulation in unified text check interface.
27721         https://bugs.webkit.org/show_bug.cgi?id=70299
27722
27723         Reviewed by Hajime Morita.
27724
27725         * win/WebKit2.def:
27726         * win/WebKit2CFLite.def:
27727
27728 2011-11-11  Alexey Proskuryakov  <ap@apple.com>
27729
27730         WebProcess should use AppSandbox style quarantine
27731         https://bugs.webkit.org/show_bug.cgi?id=72168
27732         <rdar://problem/10434292>
27733
27734         Reviewed by Darin Adler.
27735
27736         * WebProcess/mac/WebProcessMac.mm: (WebKit::initializeSandbox): Just enable it.
27737
27738 2011-11-11  Darin Adler  <darin@apple.com>
27739
27740         * WebKit2.xcodeproj/project.pbxproj: Let a newer Xcode update this file.
27741         If an older Xcode downgrades this file and we have a risk of some kind of
27742         oscillating commit situation, please contact me so I know not to do this again.
27743
27744 2011-11-11  Mark Hahnenberg  <mhahnenberg@apple.com>
27745
27746         Add jsCast to replace static_cast
27747         https://bugs.webkit.org/show_bug.cgi?id=72071
27748
27749         Reviewed by Geoffrey Garen.
27750
27751         Added new jsCast and changed all of the static_cast sites in functions that 
27752         are in the MethodTable to use jsCast instead.
27753
27754         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
27755         (WebKit::JSNPObject::getCallData):
27756         (WebKit::JSNPObject::getConstructData):
27757         (WebKit::JSNPObject::getOwnPropertySlot):
27758         (WebKit::JSNPObject::getOwnPropertyDescriptor):
27759         (WebKit::JSNPObject::put):
27760         (WebKit::JSNPObject::deleteProperty):
27761         (WebKit::JSNPObject::deletePropertyByIndex):
27762         (WebKit::JSNPObject::getOwnPropertyNames):
27763
27764 2011-11-11  Timothy Hatcher  <timothy@apple.com>
27765
27766         Only use the textured window style mask when there is no override inspector page.
27767
27768         https://webkit.org/b/72142
27769
27770         Reviewed by Dan Bernstein.
27771
27772         * UIProcess/mac/WebInspectorProxyMac.mm:
27773         (WebKit::WebInspectorProxy::platformOpen): Don't set NSTexturedBackgroundWindowMask if
27774         there is an override inspector page. Make setAutorecalculatesContentBorderThickness:,
27775         setContentBorderThickness: and WKNSWindowMakeBottomCornersSquare conditional.
27776
27777 2011-11-11  Simon Hausmann  <simon.hausmann@nokia.com>
27778
27779         [Qt] Remove dead MeeGoTouch code.
27780
27781         Reviewed by Tor Arne Vestbø.
27782
27783         * WebProcess/qt/WebProcessMainQt.cpp:
27784         (WebKit::WebProcessMainQt):
27785
27786 2011-11-11  Alexis Menard  <alexis.menard@openbossa.org>
27787
27788         [Qt] Add a way to have experimental features in WebKit2
27789         https://bugs.webkit.org/show_bug.cgi?id=67707
27790
27791         Reviewed by Kenneth Rohde Christiansen.
27792
27793         Add new QML extensions for our public view. This extension
27794         returns the private object of the view so that the user could
27795         use unstable/unreleased APIs. This requires our private class
27796         to be exported and QObject subclass.
27797
27798         * Target.pri:
27799         * UIProcess/API/qt/qquickwebview.cpp:
27800         * UIProcess/API/qt/qquickwebview_p.h:
27801         * UIProcess/API/qt/qquickwebviewprivateextension.cpp: Added.
27802         (QQuickWebViewPrivateExtension::QQuickWebViewPrivateExtension):
27803         (QQuickWebViewPrivateExtension::viewPrivate):
27804         * UIProcess/API/qt/qquickwebviewprivateextension_p.h: Added.
27805
27806 2011-11-11  Simon Hausmann  <simon.hausmann@nokia.com>
27807
27808         [Qt][WK2] Remove QWebNavigationController
27809         https://bugs.webkit.org/show_bug.cgi?id=72113
27810
27811         Reviewed by Andreas Kling.
27812
27813         Fold the functions and properties of QWebNavigationController into
27814         QQuickWebView.
27815
27816         * Target.pri:
27817         * UIProcess/API/qt/WKView.h:
27818         * UIProcess/API/qt/qquickwebpage.cpp:
27819         (QQuickWebPagePrivate::QQuickWebPagePrivate):
27820         * UIProcess/API/qt/qquickwebpage.h:
27821         * UIProcess/API/qt/qquickwebpage_p.h:
27822         * UIProcess/API/qt/qquickwebview.cpp:
27823         (QQuickWebViewPrivate::initialize):
27824         (QQuickWebView::goBack):
27825         (QQuickWebView::goForward):
27826         (QQuickWebView::stop):
27827         (QQuickWebView::reload):
27828         (QQuickWebView::canGoBack):
27829         (QQuickWebView::canGoForward):
27830         (QQuickWebView::canStop):
27831         (QQuickWebView::canReload):
27832         (QQuickWebView::title):
27833         * UIProcess/API/qt/qquickwebview.h:
27834         * UIProcess/API/qt/qwebnavigationcontroller.cpp: Removed.
27835         * UIProcess/API/qt/qwebnavigationcontroller.h: Removed.
27836         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
27837         (tst_QQuickWebView::navigationStatusAtStartup):
27838         (LoadStartedCatcher::onLoadStarted):
27839         (tst_QQuickWebView::stopEnabledAfterLoadStarted):
27840         (tst_QQuickWebView::backAndForward):
27841         (tst_QQuickWebView::reload):
27842         (tst_QQuickWebView::stop):
27843
27844 2011-11-10  Beth Dakin  <bdakin@apple.com>
27845
27846         Once more for the QT build.
27847
27848         * UIProcess/qt/QtWebPageProxy.cpp:
27849         (QtWebPageProxy::setFindIndicator):
27850         * UIProcess/qt/QtWebPageProxy.h:
27851
27852 2011-11-10  Beth Dakin  <bdakin@apple.com>
27853
27854         More attempted build fix.
27855
27856         * UIProcess/API/efl/PageClientImpl.cpp:
27857         (WebKit::PageClientImpl::setFindIndicator):
27858         * UIProcess/API/efl/PageClientImpl.h:
27859         * UIProcess/API/gtk/PageClientImpl.cpp:
27860         (WebKit::PageClientImpl::setFindIndicator):
27861         * UIProcess/API/gtk/PageClientImpl.h:
27862
27863 2011-11-10  Anders Carlsson  <andersca@apple.com>
27864
27865         Fix 32-bit build.
27866
27867         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
27868         (-[WKContentLayer drawInContext:]):
27869
27870 2011-11-10  Beth Dakin  <bdakin@apple.com>
27871
27872         Speculative build fix.
27873
27874         * UIProcess/win/WebView.cpp:
27875         (WebKit::WebView::setFindIndicator):
27876         * UIProcess/win/WebView.h:
27877
27878 2011-11-10  Beth Dakin  <bdakin@apple.com>
27879
27880         https://bugs.webkit.org/show_bug.cgi?id=66584
27881         WebKit2's find bouncy looks blurry after dragging window onto >1.0 scale factor 
27882         display
27883         -and corresponding-
27884         <rdar://problem/9987559>
27885
27886         Reviewed by Anders Carlsson.
27887
27888         The setFindIndicator message and various functions of the same name must all take 
27889         an additional parameter indicating whether or not setting the find indicator 
27890         should result in a bounce animation. This is because when the device scale factor 
27891         changes, if there is currently a find indicator, it must be re-set to a higher or 
27892         lower resolution version, but we don't want the bounce animation to happen again.
27893         * UIProcess/API/mac/FindIndicatorWindow.h:
27894         * UIProcess/API/mac/FindIndicatorWindow.mm:
27895         (WebKit::FindIndicatorWindow::setFindIndicator):
27896         * UIProcess/API/mac/PageClientImpl.h:
27897         * UIProcess/API/mac/PageClientImpl.mm:
27898         (WebKit::PageClientImpl::setFindIndicator):
27899         * UIProcess/API/mac/WKView.mm:
27900         (-[WKView _setFindIndicator:fadeOut:animate:]):
27901         * UIProcess/API/mac/WKViewInternal.h:
27902         * UIProcess/PageClient.h:
27903         * UIProcess/WebPageProxy.cpp:
27904         (WebKit::WebPageProxy::setFindIndicator):
27905         * UIProcess/WebPageProxy.h:
27906         * UIProcess/WebPageProxy.messages.in:
27907
27908         New function FindController::isShowingOverlay() is used to determine if 
27909         FindController::deviceScaleFactorDidChange() needs to be called.
27910         * WebProcess/WebPage/FindController.h:
27911         (WebKit::FindController::isShowingOverlay): 
27912
27913         FindController::deviceScaleFactorDidChange() calls updateFindIndicator to re-
27914         generate the bitmap at the appropriate scale factor, but tells it not to animate 
27915         this time.
27916         (WebKit::FindController::deviceScaleFactorDidChange):
27917
27918         updateFindIndicator() takes a new parameter indicating whether or not the 
27919         FindIndicator should animate. It defaults to true since the deviceScaleFactor 
27920         changing is the only case currently where we do not want it to animate.
27921         * WebProcess/WebPage/FindController.cpp:
27922         (WebKit::FindController::updateFindIndicator):
27923         (WebKit::FindController::hideFindIndicator):
27924
27925         Calls into FindController::deviceScaleFactorDidChange() when the scale factor has 
27926         changed and the find overlay is showing.
27927         * WebProcess/WebPage/WebPage.cpp:
27928         (WebKit::WebPage::setDeviceScaleFactor):
27929
27930 2011-11-10  Timothy Hatcher  <timothy@apple.com>
27931
27932         Make WKViews in NSPopovers render as they would in active windows.
27933
27934         The NSWindowDid{Become,Resign}KeyNotifications are not fired when NSPopovers
27935         are shown or hidden since they share key with the parent window. So WKView
27936         needs to update the active state during order on/off screen notifications.
27937
27938         https://webkit.org/b/68435
27939
27940         Reviewed by John Sullivan.
27941
27942         * UIProcess/API/mac/WKView.mm:
27943         (-[WKView _windowDidOrderOffScreen:]): Call viewStateDidChange with WebPageProxy::ViewWindowIsActive.
27944         (-[WKView _windowDidOrderOnScreen:]): Ditto.
27945
27946 2011-11-10  Anders Carlsson  <andersca@apple.com>
27947
27948         Add a simple content layer to TiledCoreAnimationDrawingArea
27949         https://bugs.webkit.org/show_bug.cgi?id=72044
27950
27951         Reviewed by Darin Adler.
27952
27953         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
27954         Add a content layer member variable.
27955
27956         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
27957         (-[WKContentLayer _initWithWebPage:WebKit::]):
27958         Add initializer.
27959
27960         (-[WKContentLayer drawInContext:]):
27961         Lay out and draw the web page.
27962
27963         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
27964         Add the content layer as a sublayer of the root layer.
27965
27966         (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay):
27967         (WebKit::TiledCoreAnimationDrawingArea::scroll):
27968         Tell the content layer to paint.
27969
27970         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
27971         Resize the content layer as well.
27972
27973 2011-11-10  Anders Carlsson  <andersca@apple.com>
27974
27975         The WKView layer hosting subview needs to be flipped
27976         https://bugs.webkit.org/show_bug.cgi?id=72042
27977
27978         Reviewed by Darin Adler.
27979
27980         In order to match the Core Animation layer hierarchy, the layer hosting WKView
27981         subview needs to be flipped.
27982
27983         * UIProcess/API/mac/WKView.mm:
27984         (-[WKFlippedView isFlipped]):
27985         Add a NSView subview whose sole purpose is to be flipped.
27986
27987         (-[WKView _enterAcceleratedCompositingMode:]):
27988         Create a WKFlippedView instead of a regular NSView.
27989
27990 2011-11-10  Balazs Kelemen  <kbalazs@webkit.org>
27991
27992         [Qt] X11 plugins need to be reworked for Qt5
27993         https://bugs.webkit.org/show_bug.cgi?id=70023
27994
27995         Reviewed by Simon Hausmann.
27996
27997         * Target.pri:
27998         * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
27999         (WebKit::PluginInfoStore::pluginsDirectories):
28000         Kill the last dependency from the WebKit1 plugin system.
28001         This is necessary because currently we don't build the WebKit1
28002         plugin code. The function is equivalent with the XP_UNIX part of
28003         PluginDatabase::defaultPluginDirectories.
28004
28005         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
28006         (WebKit::NPN_GetValue):
28007         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
28008         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
28009         (WebKit::getPluginDisplay):
28010         (WebKit::x11Screen):
28011         (WebKit::displayDepth):
28012         (WebKit::rootWindowID):
28013         (WebKit::NetscapePlugin::x11HostDisplay):
28014         (WebKit::NetscapePlugin::platformPostInitialize):
28015         (WebKit::NetscapePlugin::platformDestroy):
28016         (WebKit::NetscapePlugin::platformGeometryDidChange):
28017         (WebKit::NetscapePlugin::platformPaint):
28018         (WebKit::initializeXEvent):
28019         Rework plugin initialization and drawing model.
28020
28021 2011-11-10  Martin Robinson  <mrobinson@igalia.com>
28022
28023         [GTK] [WebKit2] Fix remaining gtkdoc errors
28024         https://bugs.webkit.org/show_bug.cgi?id=71990
28025
28026         Reviewed by Philippe Normand.
28027
28028         * UIProcess/API/gtk/WebKitWebView.cpp: Update add the phrase "property" to
28029         references to properties, because the gtkdoc stylesheet does not differeniate
28030         between properties and signals. Standardize the way we talk about property
28031         notifications.
28032         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add an include to silence 
28033         warnings about GIR annotations.
28034         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add the decorators the private section.
28035
28036 2011-11-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
28037
28038         [Qt] Clean up how singe / double taps are handled
28039         https://bugs.webkit.org/show_bug.cgi?id=72024
28040
28041         Reviewed by Simon Hausmann.
28042
28043         Move all decision making to the QtWebPageProxy.
28044
28045         * UIProcess/qt/QtTapGestureRecognizer.cpp:
28046         (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
28047         (WebKit::QtTapGestureRecognizer::recognize):
28048         (WebKit::QtTapGestureRecognizer::tapTimeout):
28049         * UIProcess/qt/QtTapGestureRecognizer.h:
28050         * UIProcess/qt/QtWebPageProxy.cpp:
28051         (QtWebPageProxy::QtWebPageProxy):
28052         (QtWebPageProxy::handleSingleTapEvent):
28053         (QtWebPageProxy::handleDoubleTapEvent):
28054         * UIProcess/qt/QtWebPageProxy.h:
28055
28056 2011-11-10  Simon Hausmann  <simon.hausmann@nokia.com>
28057
28058         [Qt] Clean up build system
28059
28060         Reviewed by Tor Arne Vestbø.
28061
28062         Now that we use whole-archive linking we can fold the files that contain exported
28063         symbols back into the WebKit2 static library.
28064
28065         * Target.pri: Fold in sources from WebKit2.pri.
28066         * WebKit2.pri: Removed.
28067
28068 2011-11-10  Alexis Menard  <alexis.menard@openbossa.org>
28069
28070         [Qt] Merge QTouchWebView and QDesktopWebView into one class
28071         https://bugs.webkit.org/show_bug.cgi?id=71355
28072
28073         Reviewed by Kenneth Rohde Christiansen.
28074
28075         Merge QTouchWebView and QDesktopWebView into one class called
28076         QQuickWebView and its attached page QQuickWebPage. You can switch to the
28077         traditional desktop use case with the private header. Also now on desktop
28078         platforms AC is turn on by default. I also merged our two
28079         subclasses of QtViewInterface into one as the split doesn't make
28080         that much sense anymore. In the future we want to be able to enable the
28081         traditional desktop use case depending the platform the code is running.
28082         API tests and QML tests have been updated.
28083
28084         * Target.pri:
28085         * UIProcess/API/qt/WKView.h:
28086         * UIProcess/API/qt/qbasewebview.cpp: Removed.
28087         * UIProcess/API/qt/qbasewebview_p.h: Removed.
28088         * UIProcess/API/qt/qdesktopwebview.cpp: Removed.
28089         * UIProcess/API/qt/qdesktopwebview.h: Removed.
28090         * UIProcess/API/qt/qdesktopwebview_p.h: Removed.
28091         * UIProcess/API/qt/qquickwebpage.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qtouchwebpage.cpp.
28092         (QQuickWebPage::QQuickWebPage):
28093         (QQuickWebPage::~QQuickWebPage):
28094         (QQuickWebPage::keyPressEvent):
28095         (QQuickWebPage::keyReleaseEvent):
28096         (QQuickWebPage::inputMethodEvent):
28097         (QQuickWebPage::focusInEvent):
28098         (QQuickWebPage::focusOutEvent):
28099         (QQuickWebPage::mousePressEvent):
28100         (QQuickWebPage::mouseMoveEvent):
28101         (QQuickWebPage::mouseReleaseEvent):
28102         (QQuickWebPage::mouseDoubleClickEvent):
28103         (QQuickWebPage::wheelEvent):
28104         (QQuickWebPage::hoverEnterEvent):
28105         (QQuickWebPage::hoverMoveEvent):
28106         (QQuickWebPage::hoverLeaveEvent):
28107         (QQuickWebPage::dragMoveEvent):
28108         (QQuickWebPage::dragEnterEvent):
28109         (QQuickWebPage::dragLeaveEvent):
28110         (QQuickWebPage::dropEvent):
28111         (QQuickWebPage::geometryChanged):
28112         (QQuickWebPage::event):
28113         (QQuickWebPage::touchEvent):
28114         (QQuickWebPage::itemChange):
28115         (QQuickWebPagePrivate::QQuickWebPagePrivate):
28116         (QQuickWebPagePrivate::initializeSceneGraphConnections):
28117         (QQuickWebPagePrivate::setPageProxy):
28118         (computeEffectiveOpacity):
28119         (QQuickWebPagePrivate::paintToCurrentGLContext):
28120         (QQuickWebPagePrivate::_q_onAfterSceneRender):
28121         (QQuickWebPagePrivate::_q_onSceneGraphInitialized):
28122         * UIProcess/API/qt/qquickwebpage.h: Renamed from Source/WebKit2/UIProcess/API/qt/qtouchwebpage.h.
28123         * UIProcess/API/qt/qquickwebpage_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qtouchwebpage_p.h.
28124         * UIProcess/API/qt/qquickwebview.cpp: Added.
28125         (QQuickWebViewPrivate::QQuickWebViewPrivate):
28126         (QQuickWebViewPrivate::enableMouseEvents):
28127         (QQuickWebViewPrivate::disableMouseEvents):
28128         (QQuickWebViewPrivate::initialize):
28129         (QQuickWebViewPrivate::initializeDesktop):
28130         (QQuickWebViewPrivate::initializeTouch):
28131         (QQuickWebViewPrivate::loadDidCommit):
28132         (QQuickWebViewPrivate::contentSizeChanged):
28133         (QQuickWebViewPrivate::scrollPositionRequested):
28134         (QQuickWebViewPrivate::_q_viewportUpdated):
28135         (QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged):
28136         (QQuickWebViewPrivate::_q_onVisibleChanged):
28137         (QQuickWebViewPrivate::updateViewportSize):
28138         (QQuickWebViewPrivate::updateViewportConstraints):
28139         (QQuickWebViewPrivate::didChangeViewportProperties):
28140         (QQuickWebViewPrivate::runJavaScriptAlert):
28141         (QQuickWebViewPrivate::runJavaScriptConfirm):
28142         (QQuickWebViewPrivate::runJavaScriptPrompt):
28143         (QQuickWebViewPrivate::chooseFiles):
28144         (QQuickWebViewPrivate::_q_onOpenPanelFilesSelected):
28145         (QQuickWebViewPrivate::_q_onOpenPanelFinished):
28146         (QQuickWebViewPrivate::setUseTraditionalDesktopBehaviour):
28147         (toPolicyAction):
28148         (hasMetaMethod):
28149         (QQuickWebViewPrivate::navigationPolicyForURL):
28150         (QQuickWebViewPrivate::setPageProxy):
28151         (QQuickWebView::QQuickWebView):
28152         (QQuickWebView::~QQuickWebView):
28153         (QQuickWebView::page):
28154         (QQuickWebView::load):
28155         (QQuickWebView::postMessage):
28156         (QQuickWebView::url):
28157         (QQuickWebView::loadProgress):
28158         (QQuickWebView::title):
28159         (QQuickWebView::navigationController):
28160         (QQuickWebView::preferences):
28161         (QQuickWebView::geometryChanged):
28162         (QQuickWebView::touchEvent):
28163         (QQuickWebView::pageRef):
28164         * UIProcess/API/qt/qquickwebview.h: Renamed from Source/WebKit2/UIProcess/API/qt/qbasewebview.h.
28165         * UIProcess/API/qt/qquickwebview_p.h: Added.
28166         * UIProcess/API/qt/qtouchwebview.cpp: Removed.
28167         * UIProcess/API/qt/qtouchwebview.h: Removed.
28168         * UIProcess/API/qt/qtouchwebview_p.h: Removed.
28169         * UIProcess/API/qt/tests/commonviewtests/commonviewtests.pro: Removed.
28170         * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp: Removed.
28171         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp: Removed.
28172         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h: Removed.
28173         * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp: Removed.
28174         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_download.qml:
28175         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml:
28176         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadFail.qml:
28177         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgress.qml:
28178         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgressSignal.qml:
28179         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadZeroSizeView.qml:
28180         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_messaging.qml:
28181         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml:
28182         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml:
28183         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml:
28184         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml:
28185         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml:
28186         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml:
28187         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml:
28188         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml:
28189         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml:
28190         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml:
28191         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
28192         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
28193         (DesktopWebView::DesktopWebView):
28194         (main):
28195         * UIProcess/API/qt/tests/qquickwebview/qquickwebview.pro: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qdesktopwebview/qdesktopwebview.pro.
28196         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp: Added.
28197         (tst_QQuickWebView::tst_QQuickWebView):
28198         (tst_QQuickWebView::init):
28199         (tst_QQuickWebView::cleanup):
28200         (tst_QQuickWebView::webView):
28201         (tst_QQuickWebView::accessPage):
28202         (tst_QQuickWebView::navigationStatusAtStartup):
28203         (LoadStartedCatcher::LoadStartedCatcher):
28204         (LoadStartedCatcher::onLoadStarted):
28205         (tst_QQuickWebView::stopEnabledAfterLoadStarted):
28206         (tst_QQuickWebView::baseUrl):
28207         (tst_QQuickWebView::loadEmptyUrl):
28208         (tst_QQuickWebView::loadEmptyPageViewVisible):
28209         (tst_QQuickWebView::loadEmptyPageViewHidden):
28210         (tst_QQuickWebView::loadNonexistentFileUrl):
28211         (tst_QQuickWebView::backAndForward):
28212         (tst_QQuickWebView::reload):
28213         (tst_QQuickWebView::stop):
28214         (tst_QQuickWebView::loadProgress):
28215         (tst_QQuickWebView::show):
28216         * UIProcess/API/qt/tests/qtouchwebview/qtouchwebview.pro: Removed.
28217         * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp: Removed.
28218         * UIProcess/API/qt/tests/testwindow.h:
28219         * UIProcess/TiledDrawingAreaProxy.h:
28220         * UIProcess/qt/QtGestureRecognizer.cpp:
28221         (WebKit::QtGestureRecognizer::QtGestureRecognizer):
28222         (WebKit::QtGestureRecognizer::setViewportInteractionEngine):
28223         * UIProcess/qt/QtGestureRecognizer.h:
28224         * UIProcess/qt/QtPanGestureRecognizer.cpp:
28225         (WebKit::QtPanGestureRecognizer::setViewportInteractionEngine):
28226         (WebKit::QtPanGestureRecognizer::recognize):
28227         * UIProcess/qt/QtPanGestureRecognizer.h:
28228         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
28229         (WebKit::QtPinchGestureRecognizer::recognize):
28230         (WebKit::QtPinchGestureRecognizer::setViewportInteractionEngine):
28231         * UIProcess/qt/QtPinchGestureRecognizer.h:
28232         * UIProcess/qt/QtTouchViewInterface.cpp: Removed.
28233         * UIProcess/qt/QtTouchViewInterface.h: Removed.
28234         * UIProcess/qt/QtViewInterface.cpp: Added.
28235         (WebKit::QtViewInterface::QtViewInterface):
28236         (WebKit::QtViewInterface::didFindZoomableArea):
28237         (WebKit::QtViewInterface::sceneGraphUpdateQueue):
28238         (WebKit::QtViewInterface::setViewNeedsDisplay):
28239         (WebKit::QtViewInterface::drawingAreaSize):
28240         (WebKit::QtViewInterface::contentSizeChanged):
28241         (WebKit::QtViewInterface::scrollPositionRequested):
28242         (WebKit::QtViewInterface::isActive):
28243         (WebKit::QtViewInterface::hasFocus):
28244         (WebKit::QtViewInterface::isVisible):
28245         (WebKit::QtViewInterface::startDrag):
28246         (WebKit::QtViewInterface::didChangeViewportProperties):
28247         (WebKit::QtViewInterface::didChangeUrl):
28248         (WebKit::QtViewInterface::didChangeTitle):
28249         (WebKit::QtViewInterface::didChangeToolTip):
28250         (WebKit::QtViewInterface::didChangeStatusText):
28251         (WebKit::QtViewInterface::didChangeCursor):
28252         (WebKit::QtViewInterface::loadDidBegin):
28253         (WebKit::QtViewInterface::loadDidCommit):
28254         (WebKit::QtViewInterface::loadDidSucceed):
28255         (WebKit::QtViewInterface::loadDidFail):
28256         (WebKit::QtViewInterface::didChangeLoadProgress):
28257         (WebKit::QtViewInterface::didMouseMoveOverElement):
28258         (WebKit::QtViewInterface::showContextMenu):
28259         (WebKit::QtViewInterface::hideContextMenu):
28260         (WebKit::QtViewInterface::runJavaScriptAlert):
28261         (WebKit::QtViewInterface::runJavaScriptConfirm):
28262         (WebKit::QtViewInterface::runJavaScriptPrompt):
28263         (WebKit::QtViewInterface::processDidCrash):
28264         (WebKit::QtViewInterface::didRelaunchProcess):
28265         (WebKit::QtViewInterface::engine):
28266         (WebKit::QtViewInterface::downloadRequested):
28267         (WebKit::QtViewInterface::chooseFiles):
28268         * UIProcess/qt/QtViewInterface.h:
28269         * UIProcess/qt/QtWebPageProxy.h:
28270         (QtWebPageProxy::setViewportInteractionEngine):
28271         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
28272         * WebKit2.pri:
28273
28274 2011-11-10  Carlos Garcia Campos  <cgarcia@igalia.com>
28275
28276         Unreviewed. Fix make distcheck build.
28277
28278         * GNUmakefile.am: Fix typos in gtk-doc files and scripts.
28279
28280 2011-11-10  Simon Hausmann  <simon.hausmann@nokia.com>
28281
28282         Unreviewed Mac build fix: Remove TapAndHold gesture type.
28283
28284         It broke the build because it's unhandled. Remove it since it's not
28285         supported at the moment anyway. (looks like an accidental addition?)
28286
28287         * Shared/WebEvent.h:
28288         * UIProcess/qt/QtTapGestureRecognizer.cpp:
28289         (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
28290
28291 2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
28292
28293         [Qt] Enable exports and constructor functions in static libs
28294
28295         Reviewed by Tor Arne Vestbø.
28296
28297         * WebProcess/WebPage/qt/WebPageQt.cpp:
28298         (WebKit::WebPage::platformInitialize): Remove unnecessary manual Qt resource
28299         initialization.
28300
28301 2011-11-10  Zeno Albisser  <zeno.albisser@nokia.com>
28302
28303         [Qt][WK2] Add Tap Gesture recognition to UIProcess
28304         https://bugs.webkit.org/show_bug.cgi?id=71841
28305
28306         Add a Tap gesture recognizer that delivers GestureSingleTap
28307         and GestureTapAndHold events through the WebPageProxy.
28308         Add a GestureTapAndHold to WebEvent.
28309         Add a DoubleTap gesture for zooming in and out.
28310
28311         This patch is based on work of Benjamin Poulain.
28312
28313         Reviewed by Kenneth Rohde Christiansen.
28314
28315         * Shared/WebEvent.h:
28316         * Target.pri:
28317         * UIProcess/qt/QtTapGestureRecognizer.cpp: Added.
28318         (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
28319         (WebKit::QtTapGestureRecognizer::setWebPageProxy):
28320         (WebKit::QtTapGestureRecognizer::recognize):
28321         (WebKit::QtTapGestureRecognizer::tapTimeout):
28322         (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
28323         (WebKit::QtTapGestureRecognizer::reset):
28324         (WebKit::QtTapGestureRecognizer::timerEvent):
28325         * UIProcess/qt/QtTapGestureRecognizer.h: Added.
28326         * UIProcess/qt/QtWebPageProxy.cpp:
28327         (QtWebPageProxy::QtWebPageProxy):
28328         (QtWebPageProxy::processDidCrash):
28329         (QtWebPageProxy::doneWithTouchEvent):
28330         * UIProcess/qt/QtWebPageProxy.h:
28331
28332 2011-11-09  Shinya Kawanaka  <shinyak@google.com>
28333
28334         Internals.markerRangeForNode should be able to take markers by specifying a marker type.
28335         https://bugs.webkit.org/show_bug.cgi?id=71792
28336
28337         Reviewed by Hajime Morita.
28338
28339         * win/WebKit2.def: Exposed necessary references.
28340         * win/WebKit2CFLite.def: ditto.
28341
28342 2011-10-26  Martin Robinson  <mrobinson@igalia.com>
28343
28344         [GTK] [WebKit] Replace the gtkdoc autools magic with something more flexible
28345         https://bugs.webkit.org/show_bug.cgi?id=70877
28346
28347         Reviewed by Philippe Normand.
28348
28349         Add a script that runs gtkdoc manually instead of using the autotools
28350         magic. Remove now unused gtkdoc files.
28351
28352         * GNUmakefile.am: Remove references to removed gtkdoc files.
28353         * UIProcess/API/gtk/docs/GNUmakefile.am: Removed.
28354         * UIProcess/API/gtk/docs/build-gtkdoc: Added.
28355         * UIProcess/API/gtk/docs/gtkdoc.py: Added.
28356         * UIProcess/API/gtk/docs/version.xml.in: Removed.
28357
28358 2011-11-09  Alexey Proskuryakov  <ap@apple.com>
28359
28360         <rdar://problem/10423024> WebProcess doesn't use AuthBrokerAgent for proxy credentials
28361         https://bugs.webkit.org/show_bug.cgi?id=71964
28362
28363         Reviewed by Darin Adler.
28364
28365         * WebProcess/com.apple.WebProcess.sb: Allow mach-lookup of com.apple.cfnetwork.AuthBrokerAgent.
28366
28367 2011-11-09  Anders Carlsson  <andersca@apple.com>
28368
28369         Element::boundsInWindowSpace should be Element::boundsInRootViewSpace
28370         https://bugs.webkit.org/show_bug.cgi?id=71955
28371
28372         Reviewed by Sam Weinig.
28373
28374         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
28375         (WebKit::InjectedBundleNodeHandle::elementBounds):
28376         Call Element::boundsInRootViewSpace.
28377
28378 2011-11-09  Alexis Menard  <alexis.menard@openbossa.org>
28379
28380         WebGraphicsLayer behaves wrongly when no contentsScale is set.
28381         https://bugs.webkit.org/show_bug.cgi?id=71959
28382
28383         Reviewed by Noam Rosenthal.
28384
28385         The contentsScale needs to get a default value just like
28386         TiledBackingStore in case no value is explicitely set.
28387
28388         It is covered by existing tests.
28389
28390         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
28391         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
28392
28393 2011-11-09  Mark Hahnenberg  <mhahnenberg@apple.com>
28394
28395         De-virtualize JSObject::getOwnPropertyDescriptor
28396         https://bugs.webkit.org/show_bug.cgi?id=71523
28397
28398         Reviewed by Sam Weinig.
28399
28400         Added getOwnPropertyDescriptor to the MethodTable, changed all of the 
28401         virtual versions of getOwnPropertyDescriptor to static ones, and 
28402         changed all of the call sites to the corresponding lookup in the MethodTable.
28403
28404         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
28405         (WebKit::JSNPObject::getOwnPropertyDescriptor):
28406         * WebProcess/Plugins/Netscape/JSNPObject.h:
28407
28408 2011-11-09  Alexandru Chiculita  <achicu@adobe.com>
28409
28410         Fixing build on MacOSX SL after 71838
28411         https://bugs.webkit.org/show_bug.cgi?id=71912
28412
28413         Reviewed by Anders Carlsson.
28414
28415         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
28416         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
28417
28418 2011-11-09  Kenneth Rohde Christiansen  <kenneth@webkit.org>
28419
28420         [WebKit2] Prepare viewport meta handling for desktop usage
28421         https://bugs.webkit.org/show_bug.cgi?id=71907
28422
28423         Reviewed by Simon Hausmann.
28424
28425         This is only used by Qt so far. Now we don't always layout pages
28426         without the viewport meta tag, using 980 as the layout width, but
28427         instead we use that value (it is a setting) as a minimum value, or
28428         else we use the viewport width.
28429
28430         * UIProcess/API/qt/qtouchwebview.cpp:
28431         (QTouchWebViewPrivate::updateViewportSize):
28432         (QTouchWebViewPrivate::updateViewportConstraints):
28433         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
28434         (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
28435         * WebProcess/WebPage/WebPage.cpp:
28436         (WebKit::WebPage::setViewportSize):
28437
28438 2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
28439
28440         Unreviewed, rolling out r99701.
28441         http://trac.webkit.org/changeset/99701
28442
28443         Breaks Qt mac build
28444
28445         * WebProcess/WebPage/qt/WebPageQt.cpp:
28446         (initResources):
28447         (WebKit::WebPage::platformInitialize):
28448
28449 2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
28450
28451         [Qt] Enable exports and constructor functions in static libs
28452
28453         Reviewed by Tor Arne Vestbø.
28454
28455         * WebProcess/WebPage/qt/WebPageQt.cpp:
28456         (WebKit::WebPage::platformInitialize): Remove unnecessary manual Qt resource
28457         initialization.
28458
28459 2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
28460
28461         [Qt] Fix geolocation enabled build.
28462
28463         Reviewed by Tor Arne Vestbø.
28464
28465         * Target.pri: Add QT += location to get the right module includes.
28466         * UIProcess/qt/WebGeolocationProviderQt.cpp: Include the moc file with the right name (GeoLocation -> Geolocation)
28467         * UIProcess/qt/WebGeolocationProviderQt.h: Removed the ENABLE(GEOLOCATION) guards, otherwise moc doesn't generate
28468         code, because it can't interpret the ENABLE() macro.
28469
28470 2011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
28471
28472         [Qt] Build system cleanup
28473         https://bugs.webkit.org/show_bug.cgi?id=71815
28474
28475         Reviewed by Kenneth Rohde Christiansen.
28476
28477         * Target.pri: Removed duplicated sources that are compiled also into QtWebKit.so through api.pri.
28478         * UIProcess/qt/WebGeolocationProviderQt.cpp: Include the moc file here, as it should only be compiled
28479         if geolocation is enabled.
28480         * UIProcess/qt/WebGeolocationProviderQt.h: Provide ENABLE(GEOLOCATION) guards around class definition.
28481
28482 2011-11-08  Simon Hausmann  <simon.hausmann@nokia.com>
28483
28484         [Qt] Replace use of QApplication with QGuiApplication
28485         https://bugs.webkit.org/show_bug.cgi?id=71794
28486
28487         Reviewed by Andreas Kling.
28488
28489         * Platform/CoreIPC/unix/ConnectionUnix.cpp: Remove unnecessary QApplication inclusion.
28490         * Platform/qt/RunLoopQt.cpp: Replace QApplication include with QCoreApplication.
28491         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp: Ditto.
28492         * UIProcess/Launcher/qt/ThreadLauncherQt.cpp: Remove unnecessary QApplication inclusion.
28493         * UIProcess/qt/QtWebPageProxy.cpp:
28494         (QtWebPageProxy::handleMousePressEvent): Replace QApplication usage with QStyleHints.
28495         (QtWebPageProxy::handleMouseDoubleClickEvent): Ditto.
28496
28497 2011-11-07  Adam Barth  <abarth@webkit.org>
28498
28499         Move static "policy" state from SecurityOrigin.cpp to SecurityPolicy.cpp
28500         https://bugs.webkit.org/show_bug.cgi?id=71755
28501
28502         Reviewed by Eric Seidel.
28503
28504         * WebProcess/InjectedBundle/InjectedBundle.cpp:
28505         (WebKit::InjectedBundle::addOriginAccessWhitelistEntry):
28506         (WebKit::InjectedBundle::removeOriginAccessWhitelistEntry):
28507         (WebKit::InjectedBundle::resetOriginAccessWhitelists):
28508         * WebProcess/Plugins/PluginView.cpp:
28509         (WebKit::PluginView::loadURL):
28510
28511 2011-11-08  Brent Fulgham  <bfulgham@webkit.org>
28512
28513         [WinCairo] Unreviewed build fix after r99613.
28514
28515         * win/WebKit2CFLite.def: Add missing export.
28516
28517 2011-11-08  Brent Fulgham  <bfulgham@webkit.org>
28518
28519         [WinCairo] Unreviewed build fix after r98624 and r99613.
28520
28521         * win/WebKit2CFLite.def: Add missing exports.
28522
28523 2011-11-08  Beth Dakin  <bdakin@apple.com>
28524
28525         https://bugs.webkit.org/show_bug.cgi?id=71856
28526         WebKit should use new NSWindowDidChangeBackingPropertiesNotification instead of 
28527         old NSWindowDidChangeResolutionNotification
28528         -and corresponding-
28529         <rdar://problem/10317253>
28530
28531         Reviewed by Tim Hatcher.
28532
28533         * UIProcess/API/mac/WKView.mm:
28534         (-[WKView addWindowObserversForWindow:]):
28535         (-[WKView removeWindowObservers]):
28536
28537         We have to check that the backing scale factor actually changed since this 
28538         notification can also be used to signify other changes. 
28539         (-[WKView _windowDidChangeBackingProperties:]):
28540
28541 2011-11-08  Anders Carlsson  <andersca@apple.com>
28542
28543         Add a basic layer hierarchy to the Core Animation drawing area
28544         https://bugs.webkit.org/show_bug.cgi?id=71838
28545
28546         Reviewed by Sam Weinig.
28547
28548         * UIProcess/API/mac/WKView.mm:
28549         (-[WKView drawRect:]):
28550         Return early if we're using a tiled drawing area.
28551
28552         (-[WKView initWithFrame:contextRef:pageGroupRef:]):
28553         If we're using a tiled drawing area, make the WKView layer backed and set its layer
28554         to a simple CALayer with a white background and set the view's content redraw policy
28555         to never to avoid ever calling drawRect.
28556
28557         * UIProcess/DrawingAreaProxy.h:
28558         (WebKit::DrawingAreaProxy::didUpdateGeometry):
28559         * UIProcess/DrawingAreaProxy.messages.in:
28560         Add a new didUpdateGeometry message.
28561
28562         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
28563         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
28564         (WebKit::TiledCoreAnimationDrawingAreaProxy::TiledCoreAnimationDrawingAreaProxy):
28565         Initialize m_isWaitingForDidUpdateGeometry.
28566
28567         (WebKit::TiledCoreAnimationDrawingAreaProxy::sizeDidChange):
28568         Send an UpdateGeometry message to the web process and wait for a reply.
28569
28570         (WebKit::TiledCoreAnimationDrawingAreaProxy::enterAcceleratedCompositingMode):
28571         Tell the web page proxy to enter accelerated compositing mode.
28572
28573         (WebKit::TiledCoreAnimationDrawingAreaProxy::exitAcceleratedCompositingMode):
28574         Assert that this function is never called.
28575
28576         (WebKit::TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry):
28577         Send another UpdateGeometry message if needed.
28578
28579         (WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry):
28580         Add helper function to actually send the UpdateGeometry message.
28581
28582         * WebProcess/WebPage/DrawingArea.h:
28583         (WebKit::DrawingArea::updateGeometry):
28584         * WebProcess/WebPage/DrawingArea.messages.in:
28585         Add UpdateGeometry message.
28586
28587         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
28588         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
28589         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
28590         Create a red root layer and a remote layer client that hosts it.
28591
28592         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
28593         Resize the root layer and tell the UI process that we've updated the geometry.
28594
28595 2011-11-08  Dan Bernstein  <mitz@apple.com>
28596
28597         <rdar://problem/10262225> Allow RenderView to have columns
28598         https://bugs.webkit.org/show_bug.cgi?id=71840
28599
28600         * win/WebKit2.def: Export Page::setPagination() for WebCoreTestSupport.
28601
28602 2011-11-08  Jon Lee  <jonlee@apple.com>
28603
28604         [WK2] Expose acceptMIMETypes for file inputs
28605         https://bugs.webkit.org/show_bug.cgi?id=71836
28606         <rdar://problem/10407367>
28607
28608         Reviewed by Anders Carlsson.
28609
28610         * Shared/WebOpenPanelParameters.cpp:
28611         (WebKit::WebOpenPanelParameters::acceptMIMETypes):
28612         * Shared/WebOpenPanelParameters.h:
28613         * UIProcess/API/C/WKOpenPanelParameters.cpp:
28614         (WKOpenPanelParametersCopyAcceptedMIMETypes):
28615         * UIProcess/API/C/WKOpenPanelParameters.h:
28616
28617 2011-11-08  Zan Dobersek  <zandobersek@gmail.com>
28618
28619         [WK2][GTK] The default database & local storage directory names should note they exist for Gtk port's needs
28620         https://bugs.webkit.org/show_bug.cgi?id=71837
28621
28622         Reviewed by Martin Robinson.
28623
28624         Ensure that directories for databases and local storage are in a 'webkitgtk'
28625         directory in current user's data directory, noting they originate from the Gtk port.
28626
28627         * UIProcess/gtk/WebContextGtk.cpp:
28628         (WebKit::WebContext::platformDefaultDatabaseDirectory):
28629         (WebKit::WebContext::platformDefaultLocalStorageDirectory):
28630
28631 2011-11-08  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
28632
28633         [Qt] Workaround some problems in QML API tests
28634         https://bugs.webkit.org/show_bug.cgi?id=71818
28635
28636         Reviewed by Tor Arne Vestbø.
28637
28638         This commit workaround the issue of QML's QtTest crashing when we run tests after
28639         "windowShown". We delay to the next run of the mainloop. This workaround is not
28640         pretty but shouldn't affect the semantics of the tests. And we benefit more from
28641         having working tests right now.
28642
28643         This patch also improves Download to: wait for the load before emitting click, and
28644         properly identifying the "succeeded" signal of the downloadItem object.
28645
28646         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_download.qml:
28647         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml:
28648         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml:
28649
28650 2011-11-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>
28651
28652         Clean up QtViewportInteractionEngine
28653
28654         Reviewed by Simon Hausmann.
28655
28656         * UIProcess/qt/QtViewportInteractionEngine.cpp:
28657         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
28658         (WebKit::QtViewportInteractionEngine::setItemRectVisible):
28659
28660             Rename the method to make it more obvious what it does. Avoid implicit
28661             conversion to/from QVariant.
28662
28663         (WebKit::QtViewportInteractionEngine::pagePositionRequest):
28664         (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
28665         (WebKit::QtViewportInteractionEngine::itemSizeChanged):
28666
28667             Only call this method on item size changes, and not for every interaction
28668             with the viewport item. Before this change it was even being called during
28669             animations.
28670
28671         * UIProcess/qt/QtViewportInteractionEngine.h:
28672         (WebKit::QtViewportInteractionEngine::scaleAnimationValueChanged):
28673
28674             Rename to make it clean that this is called from the animator.
28675
28676 2011-11-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>
28677
28678         [Qt] Improve the animation time constant
28679         https://bugs.webkit.org/show_bug.cgi?id=71790
28680
28681         Reviewed by Simon Hausmann.
28682
28683         Use 250 milliseconds instead of 400, which feels a lot more natural
28684         and makes the mini browser feel more responsive.
28685
28686         * UIProcess/qt/QtViewportInteractionEngine.cpp:
28687
28688 2011-11-08  Alexis Menard  <alexis.menard@openbossa.org>
28689
28690         [Qt] Merge QtDesktopWebPageProxy and QtTouchWebPageProxy into QtWebPageProxy.
28691         https://bugs.webkit.org/show_bug.cgi?id=71355
28692
28693         Reviewed by Simon Hausmann.
28694
28695         As we try to unify our public API offer we need to merge our double
28696         WebPageProxy implementations first into a common class. That will help
28697         to merge our TouchWebView and DesktopWebView views into one class later.
28698         This commit just merge stuff around and doesn't contain any functional changes.
28699
28700         * Target.pri:
28701         * UIProcess/API/qt/qdesktopwebview.cpp:
28702         (QDesktopWebViewPrivate::init):
28703         * UIProcess/API/qt/qtouchwebpage.cpp:
28704         (QTouchWebPagePrivate::paintToCurrentGLContext):
28705         * UIProcess/API/qt/qtouchwebpage.h:
28706         * UIProcess/API/qt/qtouchwebpage_p.h:
28707         * UIProcess/API/qt/qtouchwebview.cpp:
28708         (QTouchWebViewPrivate::init):
28709         (QTouchWebViewPrivate::_q_viewportUpdated):
28710         (QTouchWebViewPrivate::_q_viewportTrajectoryVectorChanged):
28711         * UIProcess/API/qt/qtouchwebview_p.h:
28712         * UIProcess/qt/QtDesktopWebPageProxy.cpp: Removed.
28713         * UIProcess/qt/QtDesktopWebPageProxy.h: Removed.
28714         * UIProcess/qt/QtTouchWebPageProxy.cpp: Removed.
28715         * UIProcess/qt/QtTouchWebPageProxy.h: Removed.
28716         * UIProcess/qt/QtWebPageProxy.cpp:
28717         (dragOperationToDropAction):
28718         (QtWebPageProxy::QtWebPageProxy):
28719         (QtWebPageProxy::handleEvent):
28720         (QtWebPageProxy::handleMouseMoveEvent):
28721         (QtWebPageProxy::handleMousePressEvent):
28722         (QtWebPageProxy::handleMouseReleaseEvent):
28723         (QtWebPageProxy::handleMouseDoubleClickEvent):
28724         (QtWebPageProxy::handleWheelEvent):
28725         (QtWebPageProxy::handleHoverLeaveEvent):
28726         (QtWebPageProxy::handleHoverMoveEvent):
28727         (QtWebPageProxy::handleDragEnterEvent):
28728         (QtWebPageProxy::handleDragLeaveEvent):
28729         (QtWebPageProxy::handleDragMoveEvent):
28730         (QtWebPageProxy::handleDropEvent):
28731         (QtWebPageProxy::timerEvent):
28732         (QtWebPageProxy::processDidCrash):
28733         (QtWebPageProxy::didReceiveDownloadResponse):
28734         (QtWebPageProxy::paintContent):
28735         (QtWebPageProxy::createDrawingAreaProxy):
28736         (QtWebPageProxy::renderToCurrentGLContext):
28737         (QtWebPageProxy::doneWithTouchEvent):
28738         (QtWebPageProxy::setVisibleContentRectAndScale):
28739         (QtWebPageProxy::setVisibleContentRectTrajectoryVector):
28740         (QtWebPageProxy::touchEvent):
28741         (QtWebPageProxy::findZoomableAreaForPoint):
28742         * UIProcess/qt/QtWebPageProxy.h:
28743
28744 2011-11-08  Zan Dobersek  <zandobersek@gmail.com>
28745
28746         [WK2][GTK] Application cache directory is incorrectly set
28747         https://bugs.webkit.org/show_bug.cgi?id=70680
28748
28749         Reviewed by Philippe Normand.
28750
28751         Correctly set application cache directory to be in current
28752         user's default cache directory.
28753
28754         * UIProcess/gtk/WebContextGtk.cpp:
28755         (WebKit::WebContext::applicationCacheDirectory):
28756
28757 2011-11-07  Emil A Eklund  <eae@chromium.org>
28758
28759         Revert platform and scrolling to ints
28760         https://bugs.webkit.org/show_bug.cgi?id=71585
28761
28762         Reviewed by Eric Seidel.
28763
28764         Replace all uses of LayoutUnit and related types with ints in platform
28765         and scrolling code.
28766
28767         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
28768         (WebKit::BuiltInPDFView::invalidateScrollbarRect):
28769         (WebKit::BuiltInPDFView::visibleHeight):
28770         (WebKit::BuiltInPDFView::visibleWidth):
28771         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
28772
28773 2011-11-07  Adam Barth  <abarth@webkit.org>
28774
28775         Move DomainRelaxationForbidden scheme registry to SchemeRegistry
28776         https://bugs.webkit.org/show_bug.cgi?id=71750
28777
28778         Reviewed by Eric Seidel.
28779
28780         * WebProcess/WebProcess.cpp:
28781         (WebKit::WebProcess::setDomainRelaxationForbiddenForURLScheme):
28782
28783 2011-11-07  Beth Dakin  <bdakin@apple.com>
28784
28785         https://bugs.webkit.org/show_bug.cgi?id=71490
28786         Support uiStateTransitionProgress for scrollbars
28787         -and corresponding-
28788         <rdar://problem/9849612>
28789
28790         Reviewed by Sam Weinig.
28791
28792         Scrollbar::mouseUp() now takes a PlatformMouseEvent as a parameter.
28793         * UIProcess/win/WebPopupMenuProxyWin.cpp:
28794         (WebKit::WebPopupMenuProxyWin::onLButtonUp):
28795         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
28796         (WebKit::BuiltInPDFView::handleMouseEvent):
28797
28798 2011-11-07  Alexey Proskuryakov  <ap@apple.com>
28799
28800         The Full Keyboard Access preference should be read in the UI process
28801         https://bugs.webkit.org/show_bug.cgi?id=71734
28802         <rdar://problem/9237619>
28803
28804         Reviewed by Darin Adler.
28805
28806         This is consistent with how other global preferences (like language) are handled, and lets
28807         us tighten up the sandbox a little.
28808
28809         * Shared/WebProcessCreationParameters.cpp:
28810         (WebKit::WebProcessCreationParameters::encode):
28811         (WebKit::WebProcessCreationParameters::decode):
28812         * Shared/WebProcessCreationParameters.h:
28813         Added fullKeyboardAccessEnabled, so that newly started processes have the right preference value.
28814
28815         * UIProcess/WebContext.h:
28816         * UIProcess/WebContext.cpp:
28817         (WebKit::WebContext::fullKeyboardAccessModeChanged): If preference changes while a web process
28818         is already running, tell it.
28819         (WebKit::WebContext::ensureWebProcess): Set parameters.fullKeyboardAccessEnabled from current
28820         preference.
28821
28822         * UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::fullKeyboardAccessEnabled):
28823         * UIProcess/mac/WebProcessProxyMac.mm: (WebKit::WebProcessProxy::fullKeyboardAccessEnabled):
28824         * UIProcess/WebProcessProxy.h:
28825         Proxy it to Objective-C code. WebProcessProxy is as good place to have the static function
28826         as any. One day, we will make code more consistent with language and other global preferences.
28827
28828         * UIProcess/mac/WKFullKeyboardAccessWatcher.h: Copied from Source/WebKit2/WebProcess/mac/WKFullKeyboardAccessWatcher.h.
28829         * UIProcess/mac/WKFullKeyboardAccessWatcher.mm: Copied from Source/WebKit2/WebProcess/mac/WKFullKeyboardAccessWatcher.mm.
28830         * WebProcess/mac/WKFullKeyboardAccessWatcher.h: Removed.
28831         * WebProcess/mac/WKFullKeyboardAccessWatcher.mm: Removed.
28832         (-[WKFullKeyboardAccessWatcher retrieveKeyboardUIModeFromPreferences:]): Once retrieved,
28833         push the preference value.
28834
28835         * WebKit2.xcodeproj/project.pbxproj: WKFullKeyboardAccessWatcher is now in UI process.
28836
28837         * WebProcess/WebProcess.h:
28838         * WebProcess/WebProcess.cpp:
28839         (WebKit::WebProcess::WebProcess):
28840         (WebKit::WebProcess::fullKeyboardAccessModeChanged):
28841         (WebKit::WebProcess::fullKeyboardAccessEnabled):
28842         * WebProcess/mac/WebProcessMac.mm:
28843         WebCprocess now holds the preference value in a mamber value, which UI process pushes
28844         updates to.
28845
28846         * WebProcess/WebProcess.messages.in: Added a message for changes preference value.
28847
28848         * WebProcess/com.apple.WebProcess.sb: We no longer need read access to com.apple.universalaccess.plist.
28849
28850 2011-11-07  Anders Carlsson  <andersca@apple.com>
28851
28852         Add TiledCoreAnimationDrawingArea stub classes
28853         https://bugs.webkit.org/show_bug.cgi?id=71729
28854
28855         Reviewed by Sam Weinig.
28856
28857         * Shared/DrawingAreaInfo.h:
28858         * UIProcess/API/mac/WKView.mm:
28859         (-[WKView _shouldUseTiledDrawingArea]):
28860         (-[WKView WebKit::]):
28861         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h: Copied from Source/WebKit2/Shared/DrawingAreaInfo.h.
28862         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm: Copied from Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp.
28863         (WebKit::TiledCoreAnimationDrawingAreaProxy::create):
28864         (WebKit::TiledCoreAnimationDrawingAreaProxy::TiledCoreAnimationDrawingAreaProxy):
28865         (WebKit::TiledCoreAnimationDrawingAreaProxy::~TiledCoreAnimationDrawingAreaProxy):
28866         (WebKit::TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange):
28867         (WebKit::TiledCoreAnimationDrawingAreaProxy::sizeDidChange):
28868         * WebKit2.xcodeproj/project.pbxproj:
28869         * WebProcess/WebPage/DrawingArea.cpp:
28870         (WebKit::DrawingArea::create):
28871         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h: Copied from Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp.
28872         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: Copied from Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp.
28873         (WebKit::TiledCoreAnimationDrawingArea::create):
28874         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
28875         (WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
28876         (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay):
28877         (WebKit::TiledCoreAnimationDrawingArea::scroll):
28878         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
28879         (WebKit::TiledCoreAnimationDrawingArea::scheduleCompositingLayerSync):
28880
28881 2011-11-07  Anders Carlsson  <andersca@apple.com>
28882
28883         Follow-up build fix.
28884
28885         * WebProcess/WebPage/DrawingAreaImpl.h:
28886
28887 2011-11-07  Anders Carlsson  <andersca@apple.com>
28888
28889         Remove unused DrawingArea::syncCompositingLayers
28890         https://bugs.webkit.org/show_bug.cgi?id=71717
28891
28892         Reviewed by John Sullivan.
28893
28894         * WebProcess/WebPage/DrawingArea.h:
28895         * WebProcess/WebPage/DrawingAreaImpl.cpp:
28896         * WebProcess/WebPage/TiledDrawingArea.h:
28897
28898 2011-11-07  Anders Carlsson  <andersca@apple.com>
28899
28900         Rename NetscapePlugin::wantsWindowRelativeNPWindowCoordinates to NetscapePlugin::wantsPluginRelativeNPWindowCoordinates
28901         https://bugs.webkit.org/show_bug.cgi?id=71708
28902
28903         Reviewed by Sam Weinig.
28904
28905         The name wantsPluginRelativeNPWindowCoordinates is more clear than wantsWindowRelativeNPWindowCoordinates. Rename the functions
28906         everywhere and, since the meaning is now inverted, invert the checks and return values.
28907
28908         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
28909         (WebKit::NetscapePlugin::callSetWindow):
28910         (WebKit::NetscapePlugin::geometryDidChange):
28911         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
28912         * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp:
28913         (WebKit::NetscapePlugin::wantsPluginRelativeNPWindowCoordinates):
28914         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
28915         (WebKit::NetscapePlugin::wantsPluginRelativeNPWindowCoordinates):
28916         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
28917         (WebKit::NetscapePlugin::wantsPluginRelativeNPWindowCoordinates):
28918         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
28919         (WebKit::NetscapePlugin::wantsPluginRelativeNPWindowCoordinates):
28920
28921 2011-11-07  Anders Carlsson  <andersca@apple.com>
28922
28923         NetscapePlugin::wantsWindowRelativeNPWindowCoordinates should return false on Mac
28924         https://bugs.webkit.org/show_bug.cgi?id=71707
28925
28926         Reviewed by Sam Weinig.
28927
28928         This changes the way the fake Carbon plug-in window is positioned, so that it's always the same size
28929         and location as the plug-in (relative to the screen).
28930
28931         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
28932         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
28933         (WebKit::NetscapePlugin::platformGeometryDidChange):
28934         Call updateFakeWindowBounds.
28935
28936         (WebKit::NetscapePlugin::updateFakeWindowBounds):
28937         Convert the plug-in position to screen coordinates and set the window bounds to be the location and
28938         size of the plug-in, where the location is relative to the screen.
28939
28940         (WebKit::NetscapePlugin::wantsWindowRelativeNPWindowCoordinates):
28941         Return false.
28942
28943         (WebKit::NetscapePlugin::windowAndViewFramesChanged):
28944         Call updateFakeWindowBounds.
28945
28946 2011-11-07  Sam Weinig  <sam@webkit.org>
28947
28948         WKPage.h should be in PrivateHeaders.
28949
28950         Rubber-stamped by Anders Carlsson.
28951
28952         * WebKit2.xcodeproj/project.pbxproj:
28953         Mark WKPage.h private.
28954
28955 2011-11-07  Anders Carlsson  <andersca@apple.com>
28956
28957         Simplify NetscapePlugin::convertPoint and make it work (in theory) with transformed plug-ins
28958         https://bugs.webkit.org/show_bug.cgi?id=71699
28959
28960         Reviewed by Sam Weinig.
28961
28962         Add a getScreenTransform function which given a coordinate space returns a transform that converts a
28963         point from that coordinate space to the screen coordinate space. We then get the source -> screen transform
28964         and the destination -> screen transform. We invert the destination -> screen transform, multiply it with the
28965         source -> screen transform and use mapPoint to get a complete affine transform from the source to the destination space
28966         and use mapPoint to map the source point and return the destination point.
28967
28968         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
28969         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
28970         (WebKit::NetscapePlugin::getScreenTransform):
28971         (WebKit::NetscapePlugin::convertPoint):
28972
28973         * WebProcess/Plugins/PluginView.cpp:
28974         (WebKit::PluginView::initializePlugin):
28975         Call windowAndViewFramesChanged before viewGeometryDidChange so that the window and view frames will be up to date by
28976         the time NPP_SetWindow is called in the plug-in.
28977
28978 2011-11-07  Kenneth Rohde Christiansen  <kenneth@webkit.org>
28979
28980         [Qt] Put handling of gestures and their interaction in one place
28981         https://bugs.webkit.org/show_bug.cgi?id=71682
28982
28983         Reviewed by Simon Hausmann.
28984
28985         Before this patch, the interaction (ie. cancelling animations, events)
28986         was handled in the respective recognizers which then knew about each
28987         others.
28988
28989         * UIProcess/qt/QtGestureRecognizer.h:
28990         (WebKit::QtGestureRecognizer::isRecognized):
28991         * UIProcess/qt/QtPanGestureRecognizer.cpp:
28992         (WebKit::QtPanGestureRecognizer::recognize):
28993         * UIProcess/qt/QtPanGestureRecognizer.h:
28994         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
28995         (WebKit::QtPinchGestureRecognizer::recognize):
28996         * UIProcess/qt/QtPinchGestureRecognizer.h:
28997         * UIProcess/qt/QtTouchWebPageProxy.cpp:
28998         (QtTouchWebPageProxy::QtTouchWebPageProxy):
28999         (QtTouchWebPageProxy::doneWithTouchEvent):
29000         * UIProcess/qt/QtTouchWebPageProxy.h:
29001         * UIProcess/qt/QtViewportInteractionEngine.cpp:
29002         (WebKit::QtViewportInteractionEngine::pagePositionRequest):
29003         (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
29004         (WebKit::QtViewportInteractionEngine::scrollAnimationActive):
29005         (WebKit::QtViewportInteractionEngine::interruptScrollAnimation):
29006         (WebKit::QtViewportInteractionEngine::panGestureActive):
29007         (WebKit::QtViewportInteractionEngine::scaleAnimationActive):
29008         (WebKit::QtViewportInteractionEngine::interruptScaleAnimation):
29009         (WebKit::QtViewportInteractionEngine::pinchGestureActive):
29010         * UIProcess/qt/QtViewportInteractionEngine.h:
29011
29012 2011-11-07  Simon Hausmann  <simon.hausmann@nokia.com>
29013
29014         [Qt] Make it possible to include qdesktopwebview.h from apps
29015
29016         Reviewed by Tor Arne Vestbø.
29017
29018         * UIProcess/API/qt/qdesktopwebview.h: Don't include C API headers, forward
29019         declare the structs manually.
29020
29021 2011-11-07  Simon Hausmann  <simon.hausmann@nokia.com>
29022
29023         [Qt] Fix failing inspector tests after build system changes
29024         https://bugs.webkit.org/show_bug.cgi?id=71677
29025
29026         Reviewed by Tor Arne Vestbø.
29027
29028         Ensure symbols from the qt resource system are referenced
29029         from outside the static webcore library. One way of doing that is
29030         to initialize the resources right away, as explained in the documentation
29031         of th Qt resource system.
29032
29033         * WebProcess/WebPage/qt/WebPageQt.cpp:
29034         (initResources):
29035         (WebKit::WebPage::platformInitialize):
29036
29037 2011-11-03  Anders Carlsson  <andersca@apple.com>
29038
29039         Add NetscapePlugin::convertFromRootView
29040         https://bugs.webkit.org/show_bug.cgi?id=71526
29041
29042         Reviewed by Sam Weinig.
29043
29044         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
29045         (WebKit::NetscapePlugin::convertFromRootView):
29046         New function that converts a point from root view coordinates to plug-in coordinates.
29047         Returns false if the conversion can't be done.
29048
29049         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
29050         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
29051         (WebKit::fillInCocoaEventFromMouseEvent):
29052         (WebKit::initializeMouseEvent):
29053         (WebKit::NetscapePlugin::platformHandleMouseEvent):
29054         (WebKit::NetscapePlugin::platformHandleWheelEvent):
29055         (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
29056         (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
29057         Use convertFromRootView instead of subtracting m_frameRectInWindowCoordinates.location() from the
29058         event position (which is in root view coordinates).
29059
29060 2011-11-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
29061
29062         [Qt] Refactor and clean up the qmake build system
29063
29064         The qmake build system has accumulated a bit of cruft and redundancy
29065         over time. There's also a fairly tight coupling between how to build
29066         the various targets, and _what_ to build, making it harder to add new
29067         rules or sources. This patch aims to elevate these issues somewhat.
29068
29069         This is a short-list of the changes:
29070
29071           * The rules for how to build targets are now mostly contained as
29072             prf-files in Tools/qmake/mkspecs/features. Using mkspecs also
29073             allows us to do pre- and post-processing of each project file,
29074             which helps to clean up the actual project files.
29075
29076           * Derived sources are no longer generated as a separate make-step
29077             but is part of each target's project file as a subdir. Makefile
29078             rules are used to ensure that we run make on the derived sources
29079             before running qmake on the actual target makefile. This makes
29080             it easier to keep a proper dependency between derived sources
29081             and the target.
29082
29083           * We use GNU make and the compiler to generate dependencies on
29084             UNIX-based systems running Qt 5. This allows us to lessen the
29085             need to run qmake, which should reduce compile time.
29086
29087           * WebKit2 is now build by default if building with Qt 5. It can
29088             be disabled by passing --no-webkit2 to build-webkit.
29089
29090         The result of these changes are hopefully a cleaner and easier
29091         build system to modify, and faster build times due to no longer
29092         running qmake on every single build. It's also a first step
29093         towards possibly generating the list of sources using another
29094         build system.
29095
29096         https://bugs.webkit.org/show_bug.cgi?id=71222
29097
29098         Reviewed by Simon Hausmann.
29099
29100         * DerivedSources.pri: Renamed from Source/WebKit2/DerivedSources.pro.
29101         * Target.pri: Copied from Source/WebKit2/WebKit2.pro.
29102         * UIProcess/API/qt/tests/tests.pri:
29103         * UIProcess/API/qt/tests/tests.pro: Removed.
29104         * WebKit2.pri:
29105         * WebKit2.pro:
29106         * WebKit2API.pri: Removed.
29107         * WebProcess.pro:
29108
29109 2011-11-04  Kenneth Rohde Christiansen  <kenneth@webkit.org>
29110
29111         [Qt] Support programmatic scrolling with the QTouchWebView
29112
29113         Reviewed by Simon Hausmann.
29114
29115         As more code can be shared between the programmatic scrolling and the
29116         method for ensuring that the contents are within valid bounds, this
29117         patch includes a bit of refactoring as well.
29118
29119         * UIProcess/API/qt/qdesktopwebview_p.h:
29120         (QDesktopWebViewPrivate::scrollPositionRequested):
29121         * UIProcess/API/qt/qtouchwebview.cpp:
29122         (QTouchWebViewPrivate::scrollPositionRequested):
29123         * UIProcess/API/qt/qtouchwebview_p.h:
29124         * UIProcess/qt/QtTouchViewInterface.cpp:
29125         (WebKit::QtTouchViewInterface::scrollPositionRequested):
29126         * UIProcess/qt/QtTouchViewInterface.h:
29127         * UIProcess/qt/QtViewInterface.h:
29128         * UIProcess/qt/QtViewportInteractionEngine.cpp:
29129         (WebKit::QtViewportInteractionEngine::event):
29130         (WebKit::boundPosition):
29131         (WebKit::QtViewportInteractionEngine::pagePositionRequest):
29132         (WebKit::QtViewportInteractionEngine::computePosRangeForItemAtScale):
29133         (WebKit::QtViewportInteractionEngine::ensureContentWithinViewportBoundary):
29134         (WebKit::QtViewportInteractionEngine::setConstraints):
29135         (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
29136         (WebKit::QtViewportInteractionEngine::contentViewportChanged):
29137         * UIProcess/qt/QtViewportInteractionEngine.h:
29138         * UIProcess/qt/QtWebPageProxy.cpp:
29139         (QtWebPageProxy::pageDidRequestScroll):
29140         * UIProcess/qt/QtWebPageProxy.h:
29141
29142 2011-11-03  Mark Hahnenberg  <mhahnenberg@apple.com>
29143
29144         De-virtualize JSObject::getPropertyNames
29145         https://bugs.webkit.org/show_bug.cgi?id=71306
29146
29147         Reviewed by Darin Adler.
29148
29149         Added getPropertyNames to the MethodTable, changed all the virtual 
29150         implementations of getPropertyNames to static ones, and replaced 
29151         all call sites with corresponding lookups in the MethodTable.
29152
29153         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
29154         (WebKit::NPJSObject::enumerate):
29155
29156 2011-11-03  Anders Carlsson  <andersca@apple.com>
29157
29158         Get rid of NetscapePlugin::m_clipRectInWindowCoordinates
29159         https://bugs.webkit.org/show_bug.cgi?id=71521
29160
29161         Reviewed by Dan Bernstein.
29162
29163         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
29164         (WebKit::NetscapePlugin::geometryDidChange):
29165         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
29166
29167 2011-11-03  Anders Carlsson  <andersca@apple.com>
29168
29169         Use convertToRootView(IntPoint()) instead of m_frameRectInWindowCoordinates.location() where possible
29170         https://bugs.webkit.org/show_bug.cgi?id=71520
29171
29172         Reviewed by Dan Bernstein.
29173
29174         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
29175         (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate):
29176         (WebKit::NetscapePlugin::platformPaint):
29177         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
29178         (WebKit::NetscapePlugin::platformHandleMouseEvent):
29179         (WebKit::NetscapePlugin::platformHandleWheelEvent):
29180         (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
29181         (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
29182
29183 2011-11-03  Anders Carlsson  <andersca@apple.com>
29184
29185         Add NetscapePlugin::convertToRootView
29186         https://bugs.webkit.org/show_bug.cgi?id=71519
29187
29188         Reviewed by Darin Adler.
29189
29190         Yet another step towards eliminating uses of m_frameRectInWindowCoordinates.
29191
29192         Also, use the "root view" terminology, since that's really what we mean here.
29193
29194         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
29195         (WebKit::NetscapePlugin::callSetWindow):
29196         Use convertToRootView to get the plug-in location and clip rect in root view coordinates.
29197
29198         (WebKit::NetscapePlugin::convertToRootView):
29199         Apply the m_pluginToRootViewTransform.mapPoint transform.
29200
29201         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
29202         Add convertToRootView.
29203
29204 2011-11-03  Anders Carlsson  <andersca@apple.com>
29205
29206         Move plug-in size and backing store checks to PluginProxy::updateBackingStore
29207         https://bugs.webkit.org/show_bug.cgi?id=71508
29208
29209         Reviewed by Darin Adler.
29210
29211         * WebProcess/Plugins/PluginProxy.cpp:
29212         (WebKit::PluginProxy::geometryDidChange):
29213         Remove code to send back an empty backing store if the plug-in size is empty
29214         or doesn't need a backing store. This check is now done...
29215
29216         (WebKit::PluginProxy::updateBackingStore):
29217         ...here.
29218
29219 2011-11-03  Anders Carlsson  <andersca@apple.com>
29220
29221         Get rid of PluginControllerProxy::m_frameRectInWindowCoordinates
29222         https://bugs.webkit.org/show_bug.cgi?id=71506
29223
29224         Reviewed by Darin Adler.
29225
29226         * PluginProcess/PluginControllerProxy.cpp:
29227         (WebKit::PluginControllerProxy::geometryDidChange):
29228         This no longer needs to take the frame rect in window coordinates.
29229
29230         * PluginProcess/PluginControllerProxy.h:
29231         * PluginProcess/PluginControllerProxy.messages.in:
29232         Remove frameRectInWindowCoordinates from the GeometryDidChange message.
29233
29234         * WebProcess/Plugins/PluginProxy.cpp:
29235         (WebKit::PluginProxy::geometryDidChange):
29236         Don't pass frameRectInWindowCoordinates when sending GeometryDidChange.
29237
29238 2011-11-03  Anders Carlsson  <andersca@apple.com>
29239
29240         Get rid of Plugin::wantsWindowRelativeCoordinates()
29241         https://bugs.webkit.org/show_bug.cgi?id=71504
29242
29243         Reviewed by Darin Adler.
29244
29245         Since all Plugin subclasses now return false for wantsWindowRelativeCoordinates,
29246         we can go ahead and remove it.
29247
29248         * PluginProcess/PluginControllerProxy.cpp:
29249         (WebKit::PluginControllerProxy::paint):
29250         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
29251         (WebKit::NetscapePlugin::snapshot):
29252         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
29253         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
29254         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
29255         * WebProcess/Plugins/Plugin.h:
29256         * WebProcess/Plugins/PluginProxy.cpp:
29257         * WebProcess/Plugins/PluginProxy.h:
29258         * WebProcess/Plugins/PluginView.cpp:
29259         (WebKit::PluginView::paint):
29260
29261 2011-11-03  Anders Carlsson  <andersca@apple.com>
29262
29263         NetscapePlugin::wantsWindowRelativeCoordinates should return false for all ports
29264         https://bugs.webkit.org/show_bug.cgi?id=71501
29265
29266         Reviewed by Darin Adler.
29267
29268         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
29269         (WebKit::NetscapePlugin::wantsWindowRelativeCoordinates):
29270         Return false.
29271
29272         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
29273         (WebKit::NetscapePlugin::platformGeometryDidChange):
29274         Use m_pluginSize instead of m_frameRectInWindowCoordinates.size().
29275
29276         (WebKit::NetscapePlugin::platformPaint):
29277         No need to translate back and forth between window and plug-in relative coordinates anymore.
29278
29279 2011-11-03  Darin Adler  <darin@apple.com>
29280
29281         Change remaining callers of releaseRef to call leakRef
29282         https://bugs.webkit.org/show_bug.cgi?id=71422
29283
29284         Reviewed by Darin Fisher.
29285
29286         * Platform/mac/ModuleMac.mm:
29287         (WebKit::Module::load):
29288         * Shared/API/c/WKArray.cpp:
29289         (WKArrayCreate):
29290         * Shared/API/c/WKData.cpp:
29291         (WKDataCreate):
29292         * Shared/API/c/WKDictionary.cpp:
29293         (WKDictionaryCopyKeys):
29294         * Shared/API/c/WKGeometry.cpp:
29295         (WKPointCreate):
29296         (WKSizeCreate):
29297         (WKRectCreate):
29298         * Shared/API/c/WKMutableArray.cpp:
29299         (WKMutableArrayCreate):
29300         * Shared/API/c/WKMutableDictionary.cpp:
29301         (WKMutableDictionaryCreate):
29302         * Shared/API/c/WKNumber.cpp:
29303         (WKBooleanCreate):
29304         (WKDoubleCreate):
29305         (WKUInt64Create):
29306         * Shared/API/c/WKSharedAPICast.h:
29307         (WebKit::toCopiedAPI):
29308         (WebKit::toCopiedURLAPI):
29309         * Shared/API/c/cf/WKErrorCF.cpp:
29310         (WKErrorCreateWithCFError):
29311         * Shared/API/c/cf/WKURLRequestCF.cpp:
29312         (WKURLRequestCreateWithCFURLRequest):
29313         * Shared/API/c/cf/WKURLResponseCF.cpp:
29314         (WKURLResponseCreateWithCFURLResponse):
29315         * Shared/API/c/mac/WKURLRequestNS.mm:
29316         (WKURLRequestCreateWithNSURLRequest):
29317         * Shared/API/c/mac/WKURLResponseNS.mm:
29318         (WKURLResponseCreateWithNSURLResponse):
29319         * Shared/cf/ArgumentCodersCF.cpp:
29320         (CoreIPC::decode):
29321         * UIProcess/API/C/WKBackForwardList.cpp:
29322         (WKBackForwardListCopyBackListWithLimit):
29323         (WKBackForwardListCopyForwardListWithLimit):
29324         * UIProcess/API/C/WKContext.cpp:
29325         (WKContextCreate):
29326         (WKContextCreateWithInjectedBundlePath):
29327         * UIProcess/API/C/WKCredential.cpp:
29328         (WKCredentialCreate):
29329         (WKCredentialCreateWithCertificateInfo):
29330         * UIProcess/API/C/WKDatabaseManager.cpp:
29331         (WKDatabaseManagerGetOriginKey):
29332         (WKDatabaseManagerGetOriginQuotaKey):
29333         (WKDatabaseManagerGetOriginUsageKey):
29334         (WKDatabaseManagerGetDatabaseDetailsKey):
29335         (WKDatabaseManagerGetDatabaseDetailsNameKey):
29336         (WKDatabaseManagerGetDatabaseDetailsDisplayNameKey):
29337         (WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey):
29338         (WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey):
29339         * UIProcess/API/C/WKFrame.cpp:
29340         (WKFrameCopyChildFrames):
29341         * UIProcess/API/C/WKGeolocationPosition.cpp:
29342         (WKGeolocationPositionCreate):
29343         * UIProcess/API/C/WKGrammarDetail.cpp:
29344         (WKGrammarDetailCreate):
29345         * UIProcess/API/C/WKPage.cpp:
29346         (WKPageGetSessionHistoryURLValueType):
29347         (WKPageCopySessionState):
29348         * UIProcess/API/C/WKPreferences.cpp:
29349         (WKPreferencesCreateWithIdentifier):
29350         * UIProcess/API/C/win/WKView.cpp:
29351         (WKViewCreate):
29352         * UIProcess/win/WebUndoClient.cpp:
29353         (WebKit::WebUndoClient::registerEditCommand):
29354         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
29355         (WKBundleFrameCopyChildFrames):
29356         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
29357         (WKBundleNodeHandleCreate):
29358         (WKBundleNodeHandleCopyDocument):
29359         (WKBundleNodeHandleCopyHTMLTableCellElementCellAbove):
29360         (WKBundleNodeHandleCopyDocumentFrame):
29361         (WKBundleNodeHandleCopyHTMLFrameElementContentFrame):
29362         (WKBundleNodeHandleCopyHTMLIFrameElementContentFrame):
29363         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
29364         (WKBundlePageCopyTrackedRepaintRects):
29365         * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
29366         (WKBundleScriptWorldCreateWorld):
29367         Use leakRef.
29368
29369 2011-11-02  Darin Adler  <darin@apple.com>
29370
29371         Change remaining callers of releaseRef to call leakRef
29372         https://bugs.webkit.org/show_bug.cgi?id=71422
29373
29374         Reviewed by Darin Fisher.
29375
29376         * Platform/mac/ModuleMac.mm:
29377         (WebKit::Module::load): Use leakRef.
29378         (WebKit::Module::unload): Use leakRef, and cast to void
29379         to avoid unused return value warning.
29380
29381         * Shared/API/c/WKArray.cpp:
29382         (WKArrayCreate):
29383         * Shared/API/c/WKData.cpp:
29384         (WKDataCreate):
29385         * Shared/API/c/WKDictionary.cpp:
29386         (WKDictionaryCopyKeys):
29387         * Shared/API/c/WKGeometry.cpp:
29388         (WKPointCreate):
29389         (WKSizeCreate):
29390         (WKRectCreate):
29391         * Shared/API/c/WKMutableArray.cpp:
29392         (WKMutableArrayCreate):
29393         * Shared/API/c/WKMutableDictionary.cpp:
29394         (WKMutableDictionaryCreate):
29395         * Shared/API/c/WKNumber.cpp:
29396         (WKBooleanCreate):
29397         (WKDoubleCreate):
29398         (WKUInt64Create):
29399         * Shared/API/c/WKSharedAPICast.h:
29400         (WebKit::toCopiedAPI):
29401         (WebKit::toCopiedURLAPI):
29402         * Shared/API/c/cf/WKErrorCF.cpp:
29403         (WKErrorCreateWithCFError):
29404         * Shared/API/c/cf/WKURLRequestCF.cpp:
29405         (WKURLRequestCreateWithCFURLRequest):
29406         * Shared/API/c/cf/WKURLResponseCF.cpp:
29407         (WKURLResponseCreateWithCFURLResponse):
29408         * Shared/API/c/mac/WKURLRequestNS.mm:
29409         (WKURLRequestCreateWithNSURLRequest):
29410         * Shared/API/c/mac/WKURLResponseNS.mm:
29411         (WKURLResponseCreateWithNSURLResponse):
29412         * Shared/cf/ArgumentCodersCF.cpp:
29413         (CoreIPC::decode):
29414         * UIProcess/API/C/WKBackForwardList.cpp:
29415         (WKBackForwardListCopyBackListWithLimit):
29416         (WKBackForwardListCopyForwardListWithLimit):
29417         * UIProcess/API/C/WKContext.cpp:
29418         (WKContextCreate):
29419         (WKContextCreateWithInjectedBundlePath):
29420         * UIProcess/API/C/WKCredential.cpp:
29421         (WKCredentialCreate):
29422         (WKCredentialCreateWithCertificateInfo):
29423         * UIProcess/API/C/WKDatabaseManager.cpp:
29424         (WKDatabaseManagerGetOriginKey):
29425         (WKDatabaseManagerGetOriginQuotaKey):
29426         (WKDatabaseManagerGetOriginUsageKey):
29427         (WKDatabaseManagerGetDatabaseDetailsKey):
29428         (WKDatabaseManagerGetDatabaseDetailsNameKey):
29429         (WKDatabaseManagerGetDatabaseDetailsDisplayNameKey):
29430         (WKDatabaseManagerGetDatabaseDetailsExpectedUsageKey):
29431         (WKDatabaseManagerGetDatabaseDetailsCurrentUsageKey):
29432         * UIProcess/API/C/WKFrame.cpp:
29433         (WKFrameCopyChildFrames):
29434         * UIProcess/API/C/WKGeolocationPosition.cpp:
29435         (WKGeolocationPositionCreate):
29436         * UIProcess/API/C/WKGrammarDetail.cpp:
29437         (WKGrammarDetailCreate):
29438         * UIProcess/API/C/WKPage.cpp:
29439         (WKPageGetSessionHistoryURLValueType):
29440         (WKPageCopySessionState):
29441         * UIProcess/API/C/WKPreferences.cpp:
29442         (WKPreferencesCreateWithIdentifier):
29443         * UIProcess/API/C/win/WKView.cpp:
29444         (WKViewCreate):
29445         * UIProcess/win/WebUndoClient.cpp:
29446         (WebKit::WebUndoClient::registerEditCommand):
29447         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
29448         (WKBundleFrameCopyChildFrames):
29449         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
29450         (WKBundleNodeHandleCreate):
29451         (WKBundleNodeHandleCopyDocument):
29452         (WKBundleNodeHandleCopyHTMLTableCellElementCellAbove):
29453         (WKBundleNodeHandleCopyDocumentFrame):
29454         (WKBundleNodeHandleCopyHTMLFrameElementContentFrame):
29455         (WKBundleNodeHandleCopyHTMLIFrameElementContentFrame):
29456         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
29457         (WKBundlePageCopyTrackedRepaintRects):
29458         * WebProcess/InjectedBundle/API/c/WKBundleScriptWorld.cpp:
29459         (WKBundleScriptWorldCreateWorld):
29460         Use leakRef.
29461
29462 2011-11-03  Anders Carlsson  <andersca@apple.com>
29463
29464         NetscapePlugin should use plug-in relative coordinates on Mac
29465         https://bugs.webkit.org/show_bug.cgi?id=71486
29466
29467         Reviewed by Adam Roben.
29468
29469         * PluginProcess/PluginControllerProxy.cpp:
29470         (WebKit::PluginControllerProxy::paint):
29471         Don't translate the graphics context when the plug-in doesn't want window relative coordinates.
29472         This also fixed a bug I introduced in my previous commit where we'd always pass the dirty rect in
29473         plug-in coordinates even if the plug-in wants window relative coordinates.
29474
29475         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
29476         (WebKit::NetscapePlugin::snapshot):
29477         Don't do the whole translate dance if the plug-in doesn't want window relative coordinates.
29478
29479         (WebKit::NetscapePlugin::wantsWindowRelativeCoordinates):
29480         Return false for PLATFORM_ARCHITECTURE(MAC).
29481
29482         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
29483         (WebKit::NetscapePlugin::platformPaint):
29484         Simplify code now that we know that the we're always given plug-in relative coordinates.
29485
29486 2011-11-03  Anders Carlsson  <andersca@apple.com>
29487
29488         PluginControllerProxy's dirty rect should be in plug-in coordinates
29489         https://bugs.webkit.org/show_bug.cgi?id=71481
29490
29491         Reviewed by Sam Weinig.
29492
29493         * PluginProcess/PluginControllerProxy.cpp:
29494         (WebKit::PluginControllerProxy::paint):
29495         Convert the dirty rect to window coordinates before passing it to the plug-in.
29496
29497         (WebKit::PluginControllerProxy::invalidate):
29498         No need to convert the dirty rect to window coordinates.
29499
29500         (WebKit::PluginControllerProxy::paintEntirePlugin):
29501         Use m_pluginSize instead of m_frameRectInWindowCoordinates.isEmpty.
29502
29503 2011-11-03  Anders Carlsson  <andersca@apple.com>
29504
29505         Use the right function to determine whether NPWindow coordinates should be window relative
29506         https://bugs.webkit.org/show_bug.cgi?id=71480
29507
29508         Reviewed by Adam Roben.
29509
29510         We want to use wantsWindowRelativeNPWindowCoordinates here, and not wantsWindowRelativeCoordinates
29511         which is a temporary function that will be removed (and that returns the wrong value!)
29512
29513         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
29514         (WebKit::NetscapePlugin::geometryDidChange):
29515
29516 2011-11-03  Simon Hausmann  <simon.hausmann@nokia.com>
29517
29518         Unreviewed build fix after r99195.
29519
29520         The right name is restrictMinimumScaleFactorToViewportSize.
29521
29522         * UIProcess/API/qt/qtouchwebview.cpp:
29523         (QTouchWebViewPrivate::updateViewportConstraints):
29524
29525 2011-11-03  Carlos Garcia Campos  <cgarcia@igalia.com>
29526
29527         [GTK] Use WEBKIT_API instead of WK_EXPORT in WebKitEnumTypes.h
29528         https://bugs.webkit.org/show_bug.cgi?id=71457
29529
29530         Reviewed by Martin Robinson.
29531
29532         * GNUmakefile.am:
29533
29534 2011-11-03  Kenneth Rohde Christiansen  <kenneth@webkit.org>
29535
29536         [Qt] Bounce back limits are wrong in some situations
29537         https://bugs.webkit.org/show_bug.cgi?id=71471
29538
29539         Reviewed by Simon Hausmann.
29540
29541         The valid position points were in viewport coordinates, but we were
29542         requiring valid position points in content coordinates.
29543
29544         * UIProcess/qt/QtViewportInteractionEngine.cpp:
29545         (WebKit::QtViewportInteractionEngine::animateContentIntoBoundariesIfNeeded):
29546
29547 2011-11-03  Fady Samuel  <fsamuel@chromium.org>
29548
29549         Removing line in computeViewportAttributes that enforces a minimum scale factor to never allow zooming out more than viewport
29550         https://bugs.webkit.org/show_bug.cgi?id=70609
29551
29552         Reviewed by Kenneth Rohde Christiansen.
29553
29554         * UIProcess/API/qt/qtouchwebview.cpp:
29555         (QTouchWebViewPrivate::updateViewportConstraints):
29556         * WebProcess/WebPage/WebPage.cpp:
29557         (WebKit::WebPage::viewportConfigurationAsText):
29558
29559 2011-11-03  Andras Becsi  <andras.becsi@nokia.com>
29560
29561         [Qt][WK2] Fix the signal signature of the loadFailed API test.
29562
29563         Rubber-stamped by Simon Hausmann.
29564
29565         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
29566         (WebViewAbstraction::touchViewLoadFailed):
29567         (WebViewAbstraction::desktopViewLoadFailed):
29568
29569 2011-11-03  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
29570
29571         [Qt] Fix an assertion under WebPage::setViewportSize.
29572         https://bugs.webkit.org/show_bug.cgi?id=71473
29573
29574         Reviewed by Simon Hausmann.
29575
29576         The web view can have an empty size and it causes the assert in computeViewportAttributes.
29577         Don't notify the web page of such a size change in this case.
29578
29579         * UIProcess/API/qt/qtouchwebview.cpp:
29580         (QTouchWebViewPrivate::updateViewportSize):
29581
29582 2011-11-03  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
29583
29584         [WK2] State variable name refactor in WebPageProxy.cpp
29585         https://bugs.webkit.org/show_bug.cgi?id=71467
29586
29587         Reviewed by Andreas Kling.
29588
29589         Renaming m_inDecidePolicyForMIMEType to m_inDecidePolicyForResponse after
29590         https://bugs.webkit.org/show_bug.cgi?id=55827 .
29591
29592         * UIProcess/WebPageProxy.cpp:
29593         (WebKit::WebPageProxy::WebPageProxy):
29594         (WebKit::WebPageProxy::receivedPolicyDecision):
29595         (WebKit::WebPageProxy::decidePolicyForResponse):
29596         * UIProcess/WebPageProxy.h:
29597
29598 2011-11-03  Nayan Kumar K  <nayankk@motorola.com>
29599
29600         [GTK][WEBKIT2] Add support for title property in WebKitWebView.
29601         https://bugs.webkit.org/show_bug.cgi?id=68074
29602
29603         Reviewed by Philippe Normand.
29604
29605         Support for 'title' property is added in WebKitWebView.
29606         Functions to get the value of this property is provided.
29607
29608         * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
29609         (didReceiveTitleForFrame): LoaderClient titleRecieve callback.
29610         (webkitWebLoaderClientAttachLoaderClientToPage): Register didReceiveTitleForFrame callback.
29611         * UIProcess/API/gtk/WebKitWebView.cpp:
29612         (webkitWebViewGetProperty): 'title' property get function.
29613         (webkit_web_view_class_init): Register new property.
29614         (webkitWebViewSetTitle): Notify WebKitWebView about title receive.
29615         (webkit_web_view_get_title): API to get main frame title.
29616         * UIProcess/API/gtk/WebKitWebView.h: webkit_web_view_get_title API expose.
29617         * UIProcess/API/gtk/WebKitWebViewPrivate.h: Added private API.
29618         * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
29619         (testWebViewTitle): Test webkit_web_view_get_title API.
29620         (beforeAll): Add testWebViewTitle test.
29621
29622 2011-11-03  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
29623
29624         [Qt][WK2] Download support and API in UIProcess
29625         https://bugs.webkit.org/show_bug.cgi?id=68962
29626
29627         Reviewed by Simon Hausmann.
29628
29629         We implement our WkContextDownloadClient and the needed callbacks.
29630         We also add APIs by exposing QWebDownloadItem. Objects from this type
29631         have their ownership handled by QDesktopWebView and will be created or
29632         destroyed as needed. Classes implementing ViewInterface (QDesktopWebViewPrivate
29633         and TouchViewInterface) will receive a signal (downloadRequested) with a pointer
29634         to the recently created QWebDownloadItem. With that they can connect the proper
29635         signals and slots, set the download destination path and then call start().
29636         Objects of this type will provide the progress of a download, a slot to cancel it,
29637         and signals for getting finished or failure status.
29638         QWebDownloadItem was also exposed in QML.
29639         Qt needed an asynchronous way for UIProcess to return a destination path to WebProcess,
29640         therefore the startTransfer API was added to WebKit2's Download handlers.
29641
29642         * Shared/qt/WebCoreArgumentCodersQt.cpp:
29643         (CoreIPC::::encode):
29644         (CoreIPC::::decode):
29645         Add encoding and decoding of suggestedFilename for ResourceResponse.
29646
29647         * UIProcess/API/qt/WKView.h:
29648         * UIProcess/API/qt/qbasewebview.h: Add signal downloadRequested.
29649         * UIProcess/API/qt/qdesktopwebview.cpp:
29650         (QDesktopWebViewPrivate::downloadRequested):
29651         * UIProcess/API/qt/qdesktopwebview_p.h:
29652
29653         * UIProcess/API/qt/qwebdownloaditem.cpp: Added.
29654         (QWebDownloadItemPrivate::QWebDownloadItemPrivate):
29655         (QWebDownloadItem::QWebDownloadItem):
29656         (QWebDownloadItem::~QWebDownloadItem):
29657         (QWebDownloadItem::url):
29658         (QWebDownloadItem::destinationPath):
29659         (QWebDownloadItem::setDestinationPath):
29660         (QWebDownloadItem::suggestedFilename):
29661         (QWebDownloadItem::mimeType):
29662         (QWebDownloadItem::expectedContentLength):
29663         (QWebDownloadItem::totalBytesReceived):
29664         (QWebDownloadItem::cancel):
29665         (QWebDownloadItem::start):
29666         * UIProcess/API/qt/qwebdownloaditem.h: Added.
29667         * UIProcess/API/qt/qwebdownloaditem_p.h: Added.
29668         (QWebDownloadItemPrivate::didReceiveResponse):
29669
29670         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_download.qml: Added.
29671         * UIProcess/API/qt/tests/qmltests/common/download.html: Added.
29672         * UIProcess/API/qt/tests/qmltests/common/download.zip: Added.
29673         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
29674
29675         * UIProcess/Downloads/DownloadProxy.cpp:
29676         (WebKit::DownloadProxy::startTransfer): Qt only function added.
29677         * UIProcess/Downloads/DownloadProxy.h:
29678
29679         * UIProcess/PageClient.h: Added Qt specific function to call handleDownloadRequest from QtWebPageProxy.
29680
29681         * UIProcess/WebContext.cpp:
29682         (WebKit::WebContext::download):
29683         Using WebPageProxy::handleDownloadRequest to bootstrap a download through PageClient.
29684
29685         * UIProcess/WebPageProxy.cpp:
29686         (WebKit::WebPageProxy::receivedPolicyDecision):
29687         Using handleDownloadRequest() to bootstrap a download through PageClient.
29688         (WebKit::WebPageProxy::handleDownloadRequest): Calls PageClient::handleDownloadRequest().
29689         * UIProcess/WebPageProxy.h:
29690
29691         * UIProcess/qt/QtDownloadManager.cpp: Added.
29692         (WebKit::toQtDownloadManager):
29693         (WebKit::qt_wk_didReceiveResponse):
29694         (WebKit::qt_wk_didCreateDestination):
29695         (WebKit::qt_wk_didFinishDownload):
29696         (WebKit::qt_wk_didFailDownload):
29697         (WebKit::qt_wk_didReceiveDataForDownload):
29698         (QtDownloadManager::downloadReceivedResponse): Will reach QtWebPageProxy::didReceiveDownloadResponse.
29699         (QtDownloadManager::downloadCreatedDestination):
29700         (QtDownloadManager::downloadFinished):
29701         (QtDownloadManager::downloadFailed):
29702         (QtDownloadManager::downloadDataReceived):
29703         * UIProcess/qt/QtDownloadManager.h: Added.
29704         Bootstrap our WKContextDownloadClient and set its callbacks.
29705         This entity will also handle all downloads and keep a map of them.
29706         It will be kept alive together with the WebContext as a static member
29707         of QtWebPageProxy, so we can keep it across several WebPages and, therefore,
29708         WebViews.
29709
29710         * UIProcess/qt/QtWebPageProxy.cpp:
29711         (QtWebPageProxy::defaultWKContext):
29712         (QtWebPageProxy::~QtWebPageProxy):
29713         (QtWebPageProxy::handleDownloadRequest):
29714         (QtWebPageProxy::didReceiveDownloadResponse):
29715         * UIProcess/qt/QtWebPageProxy.h:
29716         From now on it will keep a static QtDownloadManager to live together
29717         with the default WebContext. It implements PageClient::handleDownloadRequest.
29718         QtWebPageProxy::didReceiveDownloadResponse will emit the view's signal downloadRequested.
29719
29720        * UIProcess/qt/QtTouchViewInterface.h:
29721         (WebKit::QtTouchViewInterface::downloadRequested):
29722         * UIProcess/qt/QtViewInterface.h:
29723
29724         * UIProcess/qt/qweberror.cpp:
29725         (QWebError::description):
29726         * UIProcess/qt/qweberror.h:
29727         (QWebError::errorCodeAsDownloadError):
29728         Add Download error handling to QWebError and a new API
29729         to retrieve the error description from the original ResourceError.
29730         Also, it now has QWebDownloadItem::DownloadError errorCodeAsDownloadError()
29731         that returns the error code as a DownloadError.
29732
29733         * WebKit2.pro:
29734         * WebKit2API.pri:
29735
29736         * WebProcess/Downloads/Download.h:
29737         * WebProcess/Downloads/DownloadManager.cpp:
29738         (WebKit::DownloadManager::startTransfer):
29739         * WebProcess/Downloads/DownloadManager.h:
29740         Adding Qt specific startTransfer function.
29741
29742         * WebProcess/Downloads/qt/DownloadQt.cpp:
29743         (WebKit::Download::start):
29744         (WebKit::Download::startWithHandle):
29745         (WebKit::Download::didDecideDestination):
29746         (WebKit::Download::startTransfer):
29747         * WebProcess/Downloads/qt/QtFileDownloader.cpp:
29748         (WebKit::QtFileDownloader::init): start() was renamed to init().
29749         (WebKit::QtFileDownloader::determineFilename):
29750         Calling onReadyRead() here was unnecessary and it was triggering the overall
29751         download process even before DownloadManager finished startDownload(). This
29752         was leading to a DownloadManager with an empty list of downloads.
29753         (WebKit::QtFileDownloader::startTransfer): decidedDestination() became startTransfer().
29754         (WebKit::QtFileDownloader::abortDownloadWritingAndEmitError):
29755         (WebKit::QtFileDownloader::handleDownloadResponse):
29756         (WebKit::QtFileDownloader::onReadyRead):
29757         (WebKit::QtFileDownloader::onFinished):
29758         (WebKit::QtFileDownloader::cancel):
29759         * WebProcess/Downloads/qt/QtFileDownloader.h:
29760
29761         * WebProcess/WebProcess.cpp:
29762         (WebKit::WebProcess::startTransfer):
29763         * WebProcess/WebProcess.h:
29764         * WebProcess/WebProcess.messages.in:
29765         Adding Qt specific message StartTransfer and handling function.
29766
29767 2011-11-03  Nayan Kumar K  <nayankk@motorola.com>
29768
29769         Add webkit_web_view_load_html and webkit_web_view_load_plain_text APIs.
29770         https://bugs.webkit.org/show_bug.cgi?id=69249
29771
29772         Reviewed by Philippe Normand.
29773
29774         This patch adds support for 2 more load APIs, namely
29775         webkit_web_view_load_html and webkit_web_view_load_plain_text.
29776
29777         * UIProcess/API/gtk/WebKitWebView.cpp:
29778         (webkit_web_view_load_html): New API to load html string.
29779         (webkit_web_view_load_plain_text): New API to load plain text.
29780         * UIProcess/API/gtk/WebKitWebView.h: Public API addition.
29781         * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
29782         (testLoadHtml): Test webkit_web_view_load_html API.
29783         (testLoadPlainText): Test webkit_web_view_load_plain_text API.
29784         (beforeAll): Add new tests.
29785         * UIProcess/API/gtk/tests/WebViewTest.cpp:
29786         (WebViewTest::loadHtml): Test webkit_web_view_load_html API.
29787         (WebViewTest::loadPlainText): Test webkit_web_view_load_plain_text API.
29788         * UIProcess/API/gtk/tests/WebViewTest.h:
29789
29790 2011-11-03  Simon Hausmann  <simon.hausmann@nokia.com>
29791
29792         [Qt][WK2] Failing assertion with desktop webview when touch mocking in MinBrowser
29793         https://bugs.webkit.org/show_bug.cgi?id=71452
29794
29795         Reviewed by Andreas Kling.
29796
29797         Don't re-implement touchEvent(), we don't intend to support touch events as we
29798         receive them from the QQuickCanvas at this point.
29799
29800         * UIProcess/API/qt/qdesktopwebview.cpp:
29801         * UIProcess/API/qt/qdesktopwebview.h:
29802
29803 2011-11-03  Simon Hausmann  <simon.hausmann@nokia.com>
29804
29805         [Qt] [WK2] MiniBrowser assert in QtWebProccess on startup in debug build.
29806         https://bugs.webkit.org/show_bug.cgi?id=71196
29807
29808         Reviewed by Kenneth Rohde Christiansen.
29809
29810         Ensure AC is turned off for the desktop view before we launch the process.
29811         This avoids "accidential" enterAc/exitAc calls that cause failing assertions
29812         because we don't really support AC in this setup.
29813
29814         The touch side works the same way, i.e. enable the preference before calling
29815         init().
29816
29817         * UIProcess/qt/QtDesktopWebPageProxy.cpp:
29818         (QtDesktopWebPageProxy::QtDesktopWebPageProxy):
29819
29820 2011-11-03  Balazs Kelemen  <kbalazs@webkit.org>
29821
29822         [Qt] X11 plugins need to be reworked for Qt5
29823         https://bugs.webkit.org/show_bug.cgi?id=70023
29824
29825         Reviewed by Simon Hausmann.
29826
29827         Disable X11 plugins.
29828         * config.h:
29829
29830 2011-11-03  Simon Hausmann  <simon.hausmann@nokia.com>
29831
29832         Unreviewed Qt build fix(es).
29833
29834         * UIProcess/qt/QtDesktopWebPageProxy.cpp:
29835         (QtDesktopWebPageProxy::handleDragMoveEvent): Adapt to dragSession API change.
29836         (QtDesktopWebPageProxy::handleDropEvent): Ditto.
29837         * WebProcess/Plugins/Netscape/NetscapePluginNone.cpp:
29838         (WebKit::NetscapePlugin::wantsWindowRelativeNPWindowCoordinates): Implement here
29839         also, for plugin-disabled builds.
29840
29841 2011-11-03  ChangSeok Oh  <shivamidow@gmail.com>
29842
29843         [GTK] Fix build-break on r99143
29844         https://bugs.webkit.org/show_bug.cgi?id=71440
29845
29846         Reviewed by Philippe Normand.
29847
29848         dragOperation() should be replaced with dragSession().operation since it was removed.
29849         And didDetectXSSForFrame of WKPageLoaderClient should be relocated.
29850
29851         * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
29852         (webkitWebLoaderClientAttachLoaderClientToPage):
29853         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
29854         (webkitWebViewBaseDragDataReceived):
29855         (webkitWebViewBaseDragMotion):
29856
29857 2011-11-03  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
29858
29859         [Qt] Flagging usage of X11 headers under PLAT_ARCH(X11)
29860         https://bugs.webkit.org/show_bug.cgi?id=71409
29861
29862         Reviewed by Simon Hausmann.
29863
29864         Build fix for building qtwebkit with latest qt5 which has removed Qt X11 headers.
29865
29866         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
29867
29868 2011-11-03  Philippe Normand  <pnormand@igalia.com>
29869
29870         Unreviewed, GTK build fix after r99093...
29871
29872         * PluginProcess/PluginControllerProxy.h:
29873
29874 2011-11-02  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
29875
29876         [Qt] [WK] Debug build broken
29877         https://bugs.webkit.org/show_bug.cgi?id=71417
29878
29879         Add WKNumber.h for WKBooleanGetTypeID
29880         Replace WKGetTypeId with WKGetTypeID
29881         Add initialization for didDetectXSSForFrame member in WKBundlePageLoaderClient
29882         instance.
29883
29884         Reviewed by Noam Rosenthal.
29885
29886         * WebProcess/qt/QtBuiltinBundle.cpp:
29887         (WebKit::QtBuiltinBundle::handleSetNavigatorQtObjectEnabled):
29888         * WebProcess/qt/QtBuiltinBundlePage.cpp:
29889         (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
29890
29891 2011-11-02  Mark Hahnenberg  <mhahnenberg@apple.com>
29892
29893         De-virtualize JSObject::getOwnPropertyNames
29894         https://bugs.webkit.org/show_bug.cgi?id=71307
29895
29896         Reviewed by Darin Adler.
29897
29898         Added getOwnPropertyNames to the MethodTable, changed all the virtual 
29899         implementations of getOwnPropertyNames to static ones, and replaced 
29900         all call sites with corresponding lookups in the MethodTable.
29901
29902         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
29903         (WebKit::JSNPObject::getOwnPropertyNames):
29904         * WebProcess/Plugins/Netscape/JSNPObject.h:
29905
29906 2011-11-02  Anders Carlsson  <andersca@apple.com>
29907
29908         Don't call NPP_SetWindow if the plug-in size or clip rect hasn't changed if the plug-in isn't using window relative coordinates
29909         https://bugs.webkit.org/show_bug.cgi?id=71418
29910
29911         Reviewed by Adam Roben.
29912
29913         This avoids calling into the plug-in when only the plug-in position relative to the window changes.
29914     
29915         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
29916         (WebKit::NetscapePlugin::geometryDidChange):
29917
29918 2011-11-02  Jon Lee  <jonlee@apple.com>
29919
29920         Fix syntax error.
29921
29922         * WebProcess/WebPage/WebPage.cpp:
29923         (WebKit::WebPage::performDragControllerAction):
29924
29925 2011-11-02  Jon Lee  <jonlee@apple.com>
29926
29927         Fix build error from r99108.
29928
29929         * WebProcess/WebPage/WebPage.cpp:
29930         (WebKit::WebPage::performDragControllerAction):
29931
29932 2011-11-02  Dean Jackson  <dino@apple.com>
29933
29934         Add ENABLE_CSS_SHADERS flag
29935         https://bugs.webkit.org/show_bug.cgi?id=71394
29936
29937         Reviewed by Sam Weinig.
29938
29939         * Configurations/FeatureDefines.xcconfig:
29940
29941 2011-11-02  Anders Carlsson  <andersca@apple.com>
29942
29943         Allow the various plug-in ports to decide whether NPWindow coordinates should be window-relative
29944         https://bugs.webkit.org/show_bug.cgi?id=71415
29945
29946         Reviewed by Darin Adler.
29947
29948         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
29949         (WebKit::NetscapePlugin::callSetWindow):
29950         Remove the PLUGIN_ARCHITECTURE(X11) ifdef and set the NPWindow members
29951         based on the return value of wantsWindowRelativeNPWindowCoordinates.
29952
29953         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
29954         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
29955         (WebKit::NetscapePlugin::wantsWindowRelativeNPWindowCoordinates):
29956         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
29957         (WebKit::NetscapePlugin::wantsWindowRelativeNPWindowCoordinates):
29958         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
29959         (WebKit::NetscapePlugin::wantsWindowRelativeNPWindowCoordinates):
29960         Add platform specific implementations.
29961
29962 2011-11-02  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
29963
29964         [Qt] [WK] Debug build broken after r99065
29965         https://bugs.webkit.org/show_bug.cgi?id=71397
29966
29967         Remove reference to panGestureActive becuase it is not defined anywhere.
29968
29969         Reviewed by Simon Hausmann.
29970
29971         * UIProcess/qt/QtViewportInteractionEngine.cpp:
29972         (WebKit::QtViewportInteractionEngine::panGestureStarted):
29973
29974 2011-11-02  Jon Lee  <jonlee@apple.com>
29975
29976         Update dragging info on mac when user is dragging files into view
29977         https://bugs.webkit.org/show_bug.cgi?id=71325
29978         <rdar://problem/10379193>
29979
29980         Reviewed by Darin Adler.
29981
29982         * UIProcess/API/mac/WKView.mm:
29983         (-[WKView draggingUpdated:]): Based on the DragSession, we update NSDraggingInfo
29984         to update the badge and dragging formation.
29985
29986 2011-11-02  Jon Lee  <jonlee@apple.com>
29987
29988         Expand DragController to provide more information about the dragging session
29989         https://bugs.webkit.org/show_bug.cgi?id=71324
29990         <rdar://problem/10379175>
29991
29992         Reviewed by Darin Adler.
29993
29994         We now pass the DragSession struct from the Web to the UI process, instead of the
29995         DragOperation enum.
29996
29997         * Scripts/webkit2/messages.py:
29998         * Shared/WebCoreArgumentCoders.cpp:
29999         (CoreIPC::::encode):
30000         (CoreIPC::::decode):
30001         * Shared/WebCoreArgumentCoders.h:
30002         * UIProcess/API/mac/WKView.mm:
30003         (-[WKView draggingUpdated:]):
30004         * UIProcess/WebPageProxy.cpp:
30005         (WebKit::WebPageProxy::WebPageProxy): We now cache the last known DragSession state
30006         (WebKit::WebPageProxy::didPerformDragControllerAction):
30007         * UIProcess/WebPageProxy.h:
30008         (WebKit::WebPageProxy::dragSession):
30009         (WebKit::WebPageProxy::resetDragOperation):
30010         * UIProcess/WebPageProxy.messages.in:
30011         * UIProcess/win/WebView.cpp:
30012         (WebKit::WebView::keyStateToDragOperation):
30013         (WebKit::WebView::DragEnter):
30014         (WebKit::WebView::DragOver):
30015         * WebProcess/WebPage/WebPage.cpp:
30016         (WebKit::WebPage::performDragControllerAction):
30017
30018 2011-11-02  Anders Carlsson  <andersca@apple.com>
30019
30020         Get rid of Plugin::deprecatedGeometryDidChange
30021         https://bugs.webkit.org/show_bug.cgi?id=71411
30022
30023         Reviewed by Sam Weinig.
30024
30025         Now that all Plugin subclasses implement geometryDidChange and do all the work there
30026         we can get rid of deprecatedGeometryDidChange.
30027
30028         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
30029         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
30030         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
30031         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
30032         * WebProcess/Plugins/Plugin.h:
30033         * WebProcess/Plugins/PluginProxy.cpp:
30034         * WebProcess/Plugins/PluginProxy.h:
30035         * WebProcess/Plugins/PluginView.cpp:
30036         (WebKit::PluginView::viewGeometryDidChange):
30037
30038 2011-11-02  Anders Carlsson  <andersca@apple.com>
30039
30040         Move back functions that were not added.
30041
30042         * UIProcess/API/C/WKPage.h:
30043
30044 2011-11-02  Anders Carlsson  <andersca@apple.com>
30045
30046         Fix build and WebKit2 ABI.
30047
30048         * Shared/APIClientTraits.cpp:
30049         * Shared/APIClientTraits.h:
30050         Add page loader client sizes.
30051
30052         * UIProcess/API/C/WKPage.h:
30053         Move the newly added callback functions in the loader client last and bump the
30054         WKPageLoaderClient version.
30055         
30056 2011-11-02  Anders Carlsson  <andersca@apple.com>
30057
30058         Fix build.
30059
30060         * WebProcess/Plugins/PluginView.h:
30061
30062 2011-11-02  Tom Sepez  <tsepez@chromium.org>
30063
30064         XSSAuditor is silent
30065         https://bugs.webkit.org/show_bug.cgi?id=70973
30066
30067         Reviewed by Adam Barth.
30068
30069         * UIProcess/API/C/WKPage.h:
30070         * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
30071         (webkitWebLoaderClientAttachLoaderClientToPage):
30072         * UIProcess/WebLoaderClient.cpp:
30073         (WebKit::WebLoaderClient::didDetectXSSForFrame):
30074         * UIProcess/WebLoaderClient.h:
30075         * UIProcess/WebPageProxy.cpp:
30076         (WebKit::WebPageProxy::didDetectXSSForFrame):
30077         * UIProcess/WebPageProxy.h:
30078         * UIProcess/WebPageProxy.messages.in:
30079         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
30080         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
30081         (WebKit::InjectedBundlePageLoaderClient::didDetectXSSForFrame):
30082         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
30083         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
30084         (WebKit::WebFrameLoaderClient::didDetectXSS):
30085         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
30086
30087 2011-11-02  Anders Carlsson  <andersca@apple.com>
30088
30089         More window relative coordinate usage removal
30090         https://bugs.webkit.org/show_bug.cgi?id=71393
30091
30092         Reviewed by Adam Roben.
30093
30094         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
30095         (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate):
30096         Just use m_clipRect instead of converting m_clipRectInWindowCoordinates to plug-in coordinates.
30097
30098         (WebKit::NetscapePlugin::platformPaint):
30099         Use m_pluginSize instead of m_frameRectInWindowCoordinates.size().
30100
30101         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
30102         (WebKit::NetscapePlugin::platformPaint):
30103         Ditto.
30104
30105 2011-11-02  Anders Carlsson  <andersca@apple.com>
30106
30107         Fix non-Mac builds and remove #if PLATFORM(MAC) around all contents scale factor functions.
30108
30109         * PluginProcess/PluginControllerProxy.cpp:
30110         (WebKit::PluginControllerProxy::PluginControllerProxy):
30111         (WebKit::PluginControllerProxy::contentsScaleFactor):
30112         (WebKit::PluginControllerProxy::geometryDidChange):
30113         * PluginProcess/PluginControllerProxy.h:
30114         * PluginProcess/PluginCreationParameters.cpp:
30115         (WebKit::PluginCreationParameters::PluginCreationParameters):
30116         (WebKit::PluginCreationParameters::encode):
30117         (WebKit::PluginCreationParameters::decode):
30118         * PluginProcess/PluginCreationParameters.h:
30119         * PluginProcess/mac/PluginControllerProxyMac.mm:
30120         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
30121         (WebKit::NetscapePlugin::contentsScaleFactor):
30122         (WebKit::NetscapePlugin::getAuthenticationInfo):
30123         (WebKit::NetscapePlugin::snapshot):
30124         (WebKit::NetscapePlugin::contentsScaleFactorChanged):
30125         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
30126         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
30127         * WebProcess/Plugins/Plugin.h:
30128         * WebProcess/Plugins/PluginController.h:
30129         * WebProcess/Plugins/PluginProxy.cpp:
30130         (WebKit::PluginProxy::initialize):
30131         (WebKit::PluginProxy::contentsScaleFactorChanged):
30132         (WebKit::PluginProxy::contentsScaleFactor):
30133         * WebProcess/Plugins/PluginProxy.h:
30134         * WebProcess/Plugins/PluginView.cpp:
30135         (WebKit::PluginView::contentsScaleFactor):
30136
30137 2011-11-02  Anders Carlsson  <andersca@apple.com>
30138
30139         Use m_pluginSize instead of m_frameRectInWindowCoordinates.size() in NetscapePlugin.
30140         https://bugs.webkit.org/show_bug.cgi?id=71390
30141
30142         Reviewed by Adam Roben.
30143
30144         m_pluginSize is always equal to m_frameRectInWindowCoordinates.size() and this moves us one
30145         sall step further towards eliminating m_frameRectInWindowCoordinates.
30146
30147         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
30148         (WebKit::NetscapePlugin::invalidate):
30149         (WebKit::NetscapePlugin::snapshot):
30150
30151 2011-11-02  Anders Carlsson  <andersca@apple.com>
30152
30153         Fix non-Mac builds.
30154
30155         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
30156         (WebKit::NetscapePlugin::snapshot):
30157
30158 2011-11-02  Anders Carlsson  <andersca@apple.com>
30159
30160         Plug-in snapshots are blurry in HiDPI
30161         https://bugs.webkit.org/show_bug.cgi?id=71387
30162         <rdar://problem/10385393>
30163
30164         Reviewed by Adam Roben.
30165
30166         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
30167         (WebKit::NetscapePlugin::snapshot):
30168         Create the backing store in the right size and apply the contents scale factor
30169         to the newly created graphics context.
30170
30171         * WebProcess/Plugins/PluginView.cpp:
30172         (WebKit::PluginView::paint):
30173         Pass the scale factor to ShareableBitmap::paint.
30174
30175 2011-11-02  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
30176
30177         [Qt] Implement message exchange between WebView and the web page
30178         https://bugs.webkit.org/show_bug.cgi?id=70545
30179
30180         Reviewed by Noam Rosenthal.
30181
30182         Adds a mechanism for the WebView to send messages to the JavaScript environment
30183         of the web page. In the WebView we have a method postMessage() and a signal
30184         messageReceived(), while in the web page we expose a navigator.qt object with a
30185         postMessage() method and a onmessage property. The messages are objects that
30186         follow the same structure as MessageEvents.
30187
30188         The feature is disabled by default, and can be enabled by setting
30189         QWebPreferences::navigatorQtObjectEnabled property to true. Changes take effect
30190         after the next load(). QML tests are included.
30191
30192         * UIProcess/qt/ClientImpl.h:
30193         * UIProcess/qt/ClientImpl.cpp:
30194         (setupContextInjectedBundleClient): Helper to register the injected bundle client.
30195         (qt_wk_didReceiveMessageFromInjectedBundle): Decode and dispatch a message received
30196         from the WebProcess to the WebPageProxy.
30197
30198         * UIProcess/PageClient.h:
30199         (WebKit::PageClient::didReceiveMessageFromNavigatorQtObject):
30200         * UIProcess/WebPageProxy.cpp:
30201         (WebKit::WebPageProxy::didReceiveMessageFromNavigatorQtObject):
30202         * UIProcess/WebPageProxy.h:
30203         Handle messages received from the navigator.qt object via the injected bundle. Called
30204         from the ClientImpl.
30205
30206         * UIProcess/API/qt/qbasewebview.cpp:
30207         (QBaseWebView::postMessage):
30208         (QBaseWebViewPrivate::setPageProxy):
30209         * UIProcess/API/qt/qbasewebview.h:
30210         * UIProcess/API/qt/qwebpreferences.cpp:
30211         (QWebPreferences::navigatorQtObjectEnabled):
30212         (QWebPreferences::setNavigatorQtObjectEnabled):
30213         * UIProcess/API/qt/qwebpreferences.h:
30214         The signal, slot and the setting to enable the feature.
30215
30216         * UIProcess/qt/QtWebPageProxy.cpp:
30217         (QtWebPageProxy::defaultWKContext): setup the injected bundle client for this the
30218         default context so we can listen to messages from it.
30219
30220         (QtWebPageProxy::QtWebPageProxy):
30221         (QtWebPageProxy::didReceiveMessageFromNavigatorQtObject):
30222         (QtWebPageProxy::setNavigatorQtObjectEnabled):
30223         (QtWebPageProxy::postMessageToNavigatorQtObject):
30224         * UIProcess/qt/QtWebPageProxy.h:
30225         (QtWebPageProxy::navigatorQtObjectEnabled):
30226         Enabling and sending messages to the navigator.qt object are done by sending messages to
30227         the injected bundle, identifying the page that we want to act on.
30228
30229         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_messaging.qml: Added.
30230         * UIProcess/API/qt/tests/qmltests/common/messaging.html: Added.
30231         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
30232         * WebProcess/qt/QtBuiltinBundle.cpp:
30233         (WebKit::QtBuiltinBundle::initialize):
30234         (WebKit::QtBuiltinBundle::didReceiveMessage):
30235         (WebKit::QtBuiltinBundle::handleMessageToNavigatorQtObject):
30236         (WebKit::QtBuiltinBundle::handleSetNavigatorQtObjectEnabled):
30237         * WebProcess/qt/QtBuiltinBundle.h:
30238         * WebProcess/qt/QtBuiltinBundlePage.cpp:
30239         (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
30240         (WebKit::QtBuiltinBundlePage::~QtBuiltinBundlePage):
30241         (WebKit::QtBuiltinBundlePage::didClearWindowForFrame):
30242         (WebKit::qt_postMessageCallback):
30243         (WebKit::QtBuiltinBundlePage::postMessageFromNavigatorQtObject):
30244         (WebKit::createWrappedMessage):
30245         (WebKit::QtBuiltinBundlePage::didReceiveMessageToNavigatorQtObject):
30246         (WebKit::QtBuiltinBundlePage::setNavigatorQtObjectEnabled):
30247         (WebKit::QtBuiltinBundlePage::registerNavigatorQtObject):
30248         (WebKit::QtBuiltinBundlePage::navigatorQtObjectClass):
30249         * WebProcess/qt/QtBuiltinBundlePage.h:
30250         (WebKit::QtBuiltinBundlePage::navigatorQtObjectEnabled):
30251
30252 2011-11-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
30253
30254         [Qt] Fix qmltest API test failures related to r98973.
30255         https://bugs.webkit.org/show_bug.cgi?id=71280
30256
30257         Reviewed by Noam Rosenthal.
30258
30259         Most of the API was moved from TouchWebView.page to TouchWebView directly.
30260         Fixed the qml tests to reflect this change.
30261
30262         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml:
30263         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml:
30264         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml:
30265         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml:
30266         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml:
30267         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml:
30268         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml:
30269
30270 2011-11-02  Kenneth Rohde Christiansen  <kenneth@webkit.org>
30271
30272         [Qt] Handle interruption of page interaction better
30273         https://bugs.webkit.org/show_bug.cgi?id=71366
30274
30275         Reviewed by Simon Hausmann.
30276
30277         Touching the screen when a kinetic scrolling animation is running or
30278         it is bouncing back because it was out of bounds, the animation is
30279         immediately stopped and the content is immediately put into valid
30280         bounds.
30281
30282         Touching the screen when the contents is bouncing back from a pinch
30283         zoom which was out of bounds, we do not stop the animation, but
30284         instead ignored the touch events while the animation lasts.
30285
30286         In the future we want to queue the events instead.
30287
30288         This also fixes some issues which was present before: As the bounce
30289         back animation from pinch zoom centers the content using the contents
30290         point which was in the center of the viewport, this animation could
30291         not be used when stopping a pan animation, as it wouldn't position the
30292         content at the place it was when the pan animation was interrupted.
30293
30294         * UIProcess/qt/QtPanGestureRecognizer.cpp:
30295         (WebKit::QtPanGestureRecognizer::recognize):
30296         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
30297         (WebKit::QtPinchGestureRecognizer::recognize):
30298         * UIProcess/qt/QtViewportInteractionEngine.cpp:
30299         (WebKit::QtViewportInteractionEngine::animateContentIntoBoundariesIfNeeded):
30300         (WebKit::QtViewportInteractionEngine::reset):
30301         (WebKit::QtViewportInteractionEngine::setConstraints):
30302         (WebKit::QtViewportInteractionEngine::panAnimationActive):
30303         (WebKit::QtViewportInteractionEngine::panGestureStarted):
30304         (WebKit::QtViewportInteractionEngine::panGestureCancelled):
30305         (WebKit::QtViewportInteractionEngine::pinchAnimationActive):
30306         * UIProcess/qt/QtViewportInteractionEngine.h:
30307
30308 2011-11-02  Zalan Bujtas  <zbujtas@gmail.com>
30309
30310         [Qt][WK2] Move content to resize (setResizesToContentsUsingLayoutSize) from UI process to Web process
30311         https://bugs.webkit.org/show_bug.cgi?id=71107
30312
30313         Reviewed by Kenneth Rohde Christiansen.
30314
30315         Reduce the number of IPC calls to WebProcess by moving the content to resize
30316         calls from UI process to Web process.
30317
30318         * UIProcess/API/qt/qtouchwebview.cpp:
30319         (QTouchWebViewPrivate::updateViewportSize):
30320         (QTouchWebViewPrivate::updateViewportConstraints):
30321         (QTouchWebView::geometryChanged):
30322         * UIProcess/API/qt/qtouchwebview_p.h:
30323         * UIProcess/WebPageProxy.cpp:
30324         (WebKit::WebPageProxy::setViewportSize):
30325         (WebKit::WebPageProxy::preferencesDidChange):
30326         * UIProcess/WebPageProxy.h:
30327         * UIProcess/qt/QtTouchWebPageProxy.cpp:
30328         * UIProcess/qt/QtTouchWebPageProxy.h:
30329         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
30330         (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
30331         * WebProcess/WebPage/WebPage.messages.in:
30332
30333 2011-10-18  Dinu Jacob  <dinu.jacob@nokia.com>
30334
30335         [Qt][WK2]: Shouldn't send unhandled TouchCancel event to gesture recognizers
30336         https://bugs.webkit.org/show_bug.cgi?id=70333
30337
30338         Reviewed by Simon Hausmann.
30339
30340         Gesture recognizers should be reset for unhandled TouchCancel event.
30341
30342         * UIProcess/qt/qtouchwebpageproxy.cpp:
30343         (QTouchWebPageProxy::doneWithTouchEvent):
30344
30345 2011-11-02  Simon Hausmann  <simon.hausmann@nokia.com>
30346
30347         [Qt][WK2] Add support for touch event testing to WebKitTestRunner
30348         https://bugs.webkit.org/show_bug.cgi?id=71310
30349
30350         Reviewed by Kenneth Rohde Christiansen.
30351
30352         * UIProcess/WebPageProxy.cpp:
30353         (WebKit::WebPageProxy::handleTouchEvent): Add support for m_shouldSendEventsSynchronously.
30354         * UIProcess/qt/QtDesktopWebPageProxy.cpp:
30355         (QtDesktopWebPageProxy::handleEvent): Handle plain touch events in the desktop page proxy by
30356         forwarding them appropriately. We will receive them from WTR through ::event, but we won't
30357         receive them from QQuickCanvas (i.e. the user) because that doesn't uses ::event but only
30358         dedicated fooEvent() handlers, of which we don't re-implement the touch version.
30359         (QtDesktopWebPageProxy::handleTouchEvent): Forward touch events to WebPageProxy.
30360         * UIProcess/qt/QtDesktopWebPageProxy.h:
30361         * WebProcess/WebPage/WebPage.cpp:
30362         (WebKit::WebPage::touchEventSyncForTesting): Add support for synchronous touch event testing,
30363         similar to the way it's done for mouse events.
30364         * WebProcess/WebPage/WebPage.h: Ditto.
30365         * WebProcess/WebPage/WebPage.messages.in: Ditto.
30366
30367 2011-11-02  Simon Hausmann  <simon.hausmann@nokia.com>
30368
30369         [WK2] Remove unused/duplicated modifiers member from WebTouchEvent
30370         https://bugs.webkit.org/show_bug.cgi?id=71353
30371
30372         Reviewed by Kenneth Rohde Christiansen.
30373
30374         WebTouchEvent::m_[ctrl,alt,meta,shift]Key are redundant compared to
30375         WebEvent::m_modifiers. The latter is fully populated and used, the former
30376         can be safely removed.
30377
30378         * Shared/WebEvent.h:
30379         * Shared/WebTouchEvent.cpp:
30380         (WebKit::WebTouchEvent::WebTouchEvent):
30381         * Shared/qt/WebEventFactoryQt.cpp:
30382         (WebKit::WebEventFactory::createWebTouchEvent):
30383
30384 2011-11-02  Philippe Normand  <pnormand@igalia.com>
30385
30386         Unreviewed, skip testWebKitSettingsNewWithSettings affected by bug
30387         70127.
30388
30389         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
30390         (testWebKitSettingsNewWithSettings):
30391
30392 2011-11-01  Andras Becsi  <andras.becsi@nokia.com>
30393
30394         [Qt][WK2] Make API tests less noisy
30395         https://bugs.webkit.org/show_bug.cgi?id=71295
30396
30397         Reviewed by Simon Hausmann.
30398
30399         Suppress superfluous debug messages of Qt5.
30400
30401         * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
30402         * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp:
30403         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
30404         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
30405         (main):
30406         * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp:
30407         * UIProcess/API/qt/tests/util.cpp:
30408         (messageHandler):
30409         * UIProcess/API/qt/tests/util.h:
30410
30411 2011-11-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
30412
30413         [Qt] Merge common desktop and touch view APIs under a base class.
30414         https://bugs.webkit.org/show_bug.cgi?id=71280
30415
30416         Reviewed by Andreas Kling.
30417
30418         - Make QDesktopWebView and QTouchWebView inherit from QBaseWebView.
30419         - Move methods from QTouchWebPage to QTouchWebView (through the base class).
30420
30421         We use the same convenience macros as Qt internally by hiding QObject::d_ptr
30422         with QBaseWebView::d_ptr instead of inheriting QBaseWebViewPrivate from
30423         QQuickItemPrivate.
30424         Also, QBaseWebView currently inherits from QQuickPaintedItem since QDesktopWebView
30425         needs it, but should be changed as soon as this is not required anymore.
30426
30427         * UIProcess/API/qt/qbasewebview.cpp: Added.
30428         (QBaseWebViewPrivate::QBaseWebViewPrivate):
30429         (QBaseWebViewPrivate::setPageProxy):
30430         (QBaseWebView::QBaseWebView):
30431         (QBaseWebView::~QBaseWebView):
30432         (QBaseWebView::load):
30433         (QBaseWebView::url):
30434         (QBaseWebView::loadProgress):
30435         (QBaseWebView::title):
30436         (QBaseWebView::navigationController):
30437         (QBaseWebView::preferences):
30438         * UIProcess/API/qt/qbasewebview.h: Copied from Source/WebKit2/UIProcess/API/qt/qtouchwebpage.h.
30439         * UIProcess/API/qt/qbasewebview_p.h: Copied from Source/WebKit2/UIProcess/API/qt/qtouchwebpage_p.h.
30440         (QBaseWebViewPrivate::~QBaseWebViewPrivate):
30441         * UIProcess/API/qt/qdesktopwebview.cpp:
30442         (QDesktopWebViewPrivate::QDesktopWebViewPrivate):
30443         (QDesktopWebViewPrivate::enableMouseEvents):
30444         (QDesktopWebViewPrivate::disableMouseEvents):
30445         (QDesktopWebViewPrivate::webView):
30446         (QDesktopWebViewPrivate::setViewNeedsDisplay):
30447         (QDesktopWebViewPrivate::drawingAreaSize):
30448         (QDesktopWebViewPrivate::hasFocus):
30449         (QDesktopWebViewPrivate::isVisible):
30450         (QDesktopWebViewPrivate::startDrag):
30451         (QDesktopWebViewPrivate::didChangeUrl):
30452         (QDesktopWebViewPrivate::didChangeTitle):
30453         (QDesktopWebViewPrivate::didChangeStatusText):
30454         (QDesktopWebViewPrivate::loadDidBegin):
30455         (QDesktopWebViewPrivate::loadDidSucceed):
30456         (QDesktopWebViewPrivate::loadDidFail):
30457         (QDesktopWebViewPrivate::didChangeLoadProgress):
30458         (QDesktopWebViewPrivate::showContextMenu):
30459         (QDesktopWebViewPrivate::runJavaScriptAlert):
30460         (QDesktopWebViewPrivate::runJavaScriptConfirm):
30461         (QDesktopWebViewPrivate::runJavaScriptPrompt):
30462         (QDesktopWebView::QDesktopWebView):
30463         (QDesktopWebViewPrivate::init):
30464         (QDesktopWebView::~QDesktopWebView):
30465         (QDesktopWebView::geometryChanged):
30466         (QDesktopWebView::paint):
30467         (QDesktopWebView::event):
30468         (QDesktopWebView::pageRef):
30469         (QDesktopWebViewPrivate::processDidCrash):
30470         (QDesktopWebViewPrivate::didRelaunchProcess):
30471         (QDesktopWebViewPrivate::engine):
30472         (QDesktopWebViewPrivate::chooseFiles):
30473         (QDesktopWebViewPrivate::_q_onOpenPanelFilesSelected):
30474         (QDesktopWebViewPrivate::_q_onOpenPanelFinished):
30475         (QDesktopWebViewPrivate::didMouseMoveOverElement):
30476         (QDesktopWebViewPrivate::navigationPolicyForURL):
30477         * UIProcess/API/qt/qdesktopwebview.h:
30478         * UIProcess/API/qt/qdesktopwebview_p.h:
30479         * UIProcess/API/qt/qtouchwebpage.cpp:
30480         (QTouchWebPage::event):
30481         (QTouchWebPage::geometryChanged):
30482         (QTouchWebPagePrivate::QTouchWebPagePrivate):
30483         (QTouchWebPagePrivate::setPageProxy):
30484         (QTouchWebPagePrivate::paintToCurrentGLContext):
30485         * UIProcess/API/qt/qtouchwebpage.h:
30486         * UIProcess/API/qt/qtouchwebpage_p.h:
30487         (QTouchWebPagePrivate::touchPageProxy):
30488         * UIProcess/API/qt/qtouchwebview.cpp:
30489         (QTouchWebViewPrivate::init):
30490         (QTouchWebViewPrivate::loadDidCommit):
30491         (QTouchWebViewPrivate::_q_viewportUpdated):
30492         (QTouchWebViewPrivate::_q_viewportTrajectoryVectorChanged):
30493         (QTouchWebViewPrivate::updateViewportConstraints):
30494         (QTouchWebView::QTouchWebView):
30495         (QTouchWebView::~QTouchWebView):
30496         (QTouchWebView::page):
30497         (QTouchWebView::geometryChanged):
30498         (QTouchWebView::onVisibleChanged):
30499         * UIProcess/API/qt/qtouchwebview.h:
30500         * UIProcess/API/qt/qtouchwebview_p.h:
30501         (QTouchWebViewPrivate::touchPageProxy):
30502         * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
30503         (tst_CommonViewTests::loadNonexistentFileUrl):
30504         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
30505         (WebViewAbstraction::WebViewAbstraction):
30506         (WebViewAbstraction::load):
30507         (WebViewAbstraction::url):
30508         (WebViewAbstraction::loadProgress):
30509         (WebViewAbstraction::goBack):
30510         (WebViewAbstraction::goForward):
30511         (WebViewAbstraction::stop):
30512         (WebViewAbstraction::reload):
30513         (WebViewAbstraction::touchViewLoadFailed):
30514         (WebViewAbstraction::desktopViewLoadFailed):
30515         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
30516         * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp:
30517         (tst_QTouchWebView::navigationStatusAtStartup):
30518         * UIProcess/qt/QtDesktopWebPageProxy.cpp:
30519         (QtDesktopWebPageProxy::createPopupMenuProxy):
30520         * UIProcess/qt/QtTouchViewInterface.cpp:
30521         (WebKit::QtTouchViewInterface::didChangeViewportProperties):
30522         (WebKit::QtTouchViewInterface::didChangeUrl):
30523         (WebKit::QtTouchViewInterface::didChangeTitle):
30524         (WebKit::QtTouchViewInterface::loadDidBegin):
30525         (WebKit::QtTouchViewInterface::loadDidCommit):
30526         (WebKit::QtTouchViewInterface::loadDidSucceed):
30527         (WebKit::QtTouchViewInterface::loadDidFail):
30528         (WebKit::QtTouchViewInterface::didChangeLoadProgress):
30529         * WebKit2API.pri:
30530
30531 2011-10-31  Anders Carlsson  <andersca@apple.com>
30532
30533         PluginProxy shouldn't use window-relative coordinates
30534         https://bugs.webkit.org/show_bug.cgi?id=71261
30535
30536         Reviewed by Adam Roben.
30537
30538         Change PluginProxy::wantsWindowRelativeCoordinates to return false and remove
30539         m_frameRectInWindowCoordinates and m_clipRectInWindowCoordinates. This is yet another step
30540         towards eliminating window-relative coordinates wherever possible.
30541
30542         * WebProcess/Plugins/PluginProxy.cpp:
30543         (WebKit::PluginProxy::paint):
30544         Since the dirty rect passed to paint is now in plug-in coordinates, there's no need to convert it
30545         from window coordinates to plug-in coordinates before passing it to BackingStore::paint.
30546
30547         (WebKit::PluginProxy::deprecatedGeometryDidChange):
30548         Assert that we're not calling this anymore.
30549
30550         (WebKit::PluginProxy::wantsWindowRelativeCoordinates):
30551         Return false.
30552
30553 2011-11-01  Kenneth Rohde Christiansen  <kenneth@webkit.org>
30554
30555         The QtViewportInteractionEngine should consider DPI adjustment
30556         https://bugs.webkit.org/show_bug.cgi?id=71283
30557
30558         Reviewed by Simon Hausmann.
30559
30560         * UIProcess/API/qt/qtouchwebview.cpp:
30561
30562             Add some default values for now to make sure we are testing the
30563             DPI adjustment / CSS-item space conversion.
30564
30565         (QTouchWebViewPrivate::updateViewportConstraints):
30566         * UIProcess/qt/QtViewportInteractionEngine.cpp:
30567         (WebKit::ViewportUpdateGuard::ViewportUpdateGuard):
30568         (WebKit::ViewportUpdateGuard::~ViewportUpdateGuard):
30569
30570             Clean up the guard to be more understandable.
30571
30572         (WebKit::QtViewportInteractionEngine::cssScaleFromItem):
30573         (WebKit::QtViewportInteractionEngine::itemScaleFromCSS):
30574
30575             Add methods for converting between CSS and item space.
30576
30577         (WebKit::QtViewportInteractionEngine::innerBoundedCSSScale):
30578         (WebKit::QtViewportInteractionEngine::outerBoundedCSSScale):
30579
30580             Make it clean which methods uses which coord space.
30581
30582         (WebKit::QtViewportInteractionEngine::updateVisibleRect):
30583         (WebKit::QtViewportInteractionEngine::event):
30584         (WebKit::QtViewportInteractionEngine::computePosRangeForItemScale):
30585
30586             Rename calculateBoundariesForScale and change its implementation to
30587             be correct. The new name reflects the space in which the computation
30588             takes place and reflects similar Qt API.
30589
30590         (WebKit::QtViewportInteractionEngine::animateContentIntoBoundariesIfNeeded):
30591         (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
30592         (WebKit::QtViewportInteractionEngine::scaleContent):
30593
30594             Make sure to consider the right coord space.
30595
30596         * UIProcess/qt/QtViewportInteractionEngine.h:
30597         (WebKit::QtViewportInteractionEngine::Constraints::Constraints):
30598
30599             Add the devicePixelRatio.
30600
30601 2011-11-01  Simon Hausmann  <simon.hausmann@nokia.com>
30602
30603         Prospective clang build fix.
30604
30605         Reviewed by Andreas Kling.
30606
30607         * UIProcess/WebPageProxy.cpp:
30608         (WebKit::WebPageProxy::didReceiveEvent): Handle GestureSingleTap in the event type switch.
30609
30610 2011-11-01  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
30611
30612         [Qt] Create infrastructure for Qt's builtin bundle in web process.
30613         https://bugs.webkit.org/show_bug.cgi?id=71279
30614
30615         Reviewed by Simon Hausmann.
30616
30617         Create a builtin bundle for Qt port: an InjectedBundle which the code is together
30618         with the Qt's web process instead of being in a different library. This gives us
30619         access to many hooks at web process (using WKBundle* functions of C API) without
30620         adding any maintenance burden to cross-port code.
30621
30622         Since we also use a InjectedBundle in the WebKitTestRunner, we only install our
30623         builtin bundle if there's no other installed. This is fine because WTR won't use
30624         the extra runtime features that we plan to provide with the builtin bundle.
30625
30626         * WebKit2.pro:
30627         * WebProcess/qt/QtBuiltinBundle.cpp: Added.
30628         (WebKit::QtBuiltinBundle::~QtBuiltinBundle):
30629         (WebKit::QtBuiltinBundle::shared):
30630         (WebKit::QtBuiltinBundle::initialize):
30631         (WebKit::QtBuiltinBundle::didCreatePage):
30632         (WebKit::QtBuiltinBundle::willDestroyPage):
30633         (WebKit::QtBuiltinBundle::bundlePageForPageRef):
30634         * WebProcess/qt/QtBuiltinBundle.h: Added.
30635         (WebKit::QtBuiltinBundle::toRef):
30636         Object that holds a WKBundleRef and keeps track of the pages in the current context.
30637
30638         * WebProcess/qt/QtBuiltinBundlePage.cpp: Added.
30639         (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
30640         (WebKit::QtBuiltinBundlePage::~QtBuiltinBundlePage):
30641         * WebProcess/qt/QtBuiltinBundlePage.h: Added.
30642         (WebKit::QtBuiltinBundlePage::page):
30643         Our representation for pages from the bundle perspective. This will be the right
30644         place to registering page related clients.
30645
30646         * WebProcess/qt/WebProcessQt.cpp:
30647         (WebKit::WebProcess::platformInitializeWebProcess):
30648         If there's no bundle to be loaded, initialize Qt builtin bundle, which will register the
30649         bundle client for this context.
30650
30651 2011-11-01  Simon Hausmann  <simon.hausmann@nokia.com>
30652
30653         [WK2] Add WebGestureEvents to the Qt build and enable PlatformGestureEvent::TapType
30654         https://bugs.webkit.org/show_bug.cgi?id=71274
30655
30656         Reviewed by Kenneth Christiansen.
30657
30658         * Shared/WebEvent.h: Add GestureSingleTap as gesture type.
30659         * Shared/WebEventConversion.cpp:
30660         (WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent): Support converting
30661         WebEven::GestureSingleTap to PlatformGestureEvent::TapType.
30662         * Shared/WebGestureEvent.cpp:
30663         (WebKit::WebGestureEvent::isGestureEventType): GestureSingleTap is a valid gesture event type.
30664         * WebKit2.pro: Add WebGestureEvent.cpp to the build.
30665
30666 2011-10-31  Anders Carlsson  <andersca@apple.com>
30667
30668         PluginProxy::Update should pass the painted rect in plug-in coordinates
30669         https://bugs.webkit.org/show_bug.cgi?id=71257
30670
30671         Reviewed by Adam Roben.
30672
30673         This is one step in the process of migrating away from window relative coordinates
30674         and use plug-in relative coordinates instead, since window relative coordinates won't work
30675         with transforms.
30676
30677         * PluginProcess/PluginControllerProxy.cpp:
30678         (WebKit::PluginControllerProxy::paint):
30679         Convert the dirty rect back to plug-in coordinates.
30680
30681         * WebProcess/Plugins/PluginProxy.cpp:
30682         (WebKit::PluginProxy::update):
30683         No need to convert the painted rect back to plug-in coordinates anymore.
30684
30685         * WebProcess/Plugins/PluginProxy.messages.in:
30686         Document that the painted rect is in plug-in coordinates.
30687
30688 2011-10-31  Anders Carlsson  <andersca@apple.com>
30689
30690         PluginControllerProxy should call Plugin::geometryDidChange
30691         https://bugs.webkit.org/show_bug.cgi?id=71255
30692
30693         Reviewed by Sam Weinig.
30694
30695         Pass enough information over in the GeometryDidChange message sent from
30696         PluginProxy to PluginControllerProxy so that PluginControllerProxy can call
30697         Plugin::geometryDidChange.
30698
30699         * PluginProcess/PluginControllerProxy.cpp:
30700         (WebKit::PluginControllerProxy::paint):
30701         (WebKit::PluginControllerProxy::invalidate):
30702         (WebKit::PluginControllerProxy::paintEntirePlugin):
30703         Update for rename from m_frameRect to m_frameRectInWindowCoordinates.
30704
30705         (WebKit::PluginControllerProxy::geometryDidChange):
30706         This now takes the plug-in size and the plug-in to root view transform as well.
30707
30708         * PluginProcess/PluginControllerProxy.h:
30709         Store the plug-in size and rename m_frameRect to m_frameRectInWindowCoordinates.
30710
30711         * PluginProcess/PluginControllerProxy.messages.in:
30712         Update message signature.
30713
30714         * PluginProcess/mac/PluginControllerProxyMac.mm:
30715         (WebKit::PluginControllerProxy::platformGeometryDidChange):
30716         Use the plug-in size instead of the frame rect size.
30717
30718         * Shared/WebCoreArgumentCoders.cpp:
30719         (CoreIPC::::encode):
30720         (CoreIPC::::decode):
30721         * Shared/WebCoreArgumentCoders.h:
30722         Add encoder/decoder for WebCore::AffineTransform.
30723
30724         * WebProcess/Plugins/PluginProxy.cpp:
30725         (WebKit::PluginProxy::geometryDidChange):
30726         Compute the frame rect in window coordinates and send it over.
30727
30728         (WebKit::PluginProxy::deprecatedGeometryDidChange):
30729         Move call to geometryDidChange() from here to the new PluginProxy::geometryDidChange.
30730
30731 2011-10-31  Anders Carlsson  <andersca@apple.com>
30732
30733         Remove some uses of m_frameRectInWindowCoordinates from PluginProxy
30734         https://bugs.webkit.org/show_bug.cgi?id=71252
30735
30736         Reviewed by Darin Adler.
30737
30738         * WebProcess/Plugins/PluginProxy.cpp:
30739         (WebKit::PluginProxy::paint):
30740         (WebKit::PluginProxy::geometryDidChange):
30741         (WebKit::PluginProxy::updateBackingStore):
30742         (WebKit::PluginProxy::pluginBounds):
30743         * WebProcess/Plugins/PluginProxy.h:
30744
30745 2011-10-31  Anders Carlsson  <andersca@apple.com>
30746
30747         Implement PluginProxy::geometryDidChange
30748         https://bugs.webkit.org/show_bug.cgi?id=71251
30749
30750         Reviewed by Sam Weinig.
30751
30752         Keep track of the plug-in size, the clip rect in plug-in coordinates and the
30753         transformation matrix from the root view to the plug-in.
30754
30755         * WebProcess/Plugins/PluginProxy.cpp:
30756         (WebKit::PluginProxy::geometryDidChange):
30757         * WebProcess/Plugins/PluginProxy.h:
30758
30759 2011-10-31  Anders Carlsson  <andersca@apple.com>
30760
30761         Fix the X11 build.
30762
30763         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
30764         (WebKit::NetscapePlugin::platformGeometryDidChange):
30765         (WebKit::NetscapePlugin::platformPaint):
30766         (WebKit::NetscapePlugin::platformHandleMouseEvent):
30767         (WebKit::NetscapePlugin::platformHandleWheelEvent):
30768         (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
30769         (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
30770
30771 2011-10-31  Anders Carlsson  <andersca@apple.com>
30772
30773         Factor code to resize the plug-in backing store out into a separate function
30774         https://bugs.webkit.org/show_bug.cgi?id=71250
30775
30776         Reviewed by Adam Roben.
30777
30778         Add a PluginProxy::contentsScaleFactor helper function to get rid of a bunch of PLATFORM(MAC) #ifdefs,
30779         and move the code to update the backing store out into a separate function.
30780
30781         * WebProcess/Plugins/PluginProxy.cpp:
30782         (WebKit::PluginProxy::initialize):
30783         (WebKit::PluginProxy::paint):
30784         (WebKit::PluginProxy::geometryDidChange):
30785         (WebKit::PluginProxy::contentsScaleFactor):
30786         (WebKit::PluginProxy::updateBackingStore):
30787         (WebKit::PluginProxy::update):
30788         * WebProcess/Plugins/PluginProxy.h:
30789
30790 2011-10-31  Jeff Miller  <jeffm@apple.com>
30791
30792         Add more APIs to WKUserContentURLPattern.h
30793         https://bugs.webkit.org/show_bug.cgi?id=71245
30794         
30795         Add additional WKUserContentURLPattern APIs to match what was provided by
30796         the equivalent WebKit1 API.
30797
30798         Reviewed by Darin Adler.
30799
30800         * Shared/API/c/WKUserContentURLPattern.cpp:
30801         (WKUserContentURLPatternCopyHost): Added.
30802         (WKUserContentURLPatternCopyScheme): Added.
30803         (WKUserContentURLPatternIsValid): Added.
30804         (WKUserContentURLPatternMatchesSubdomains): Added.
30805         
30806         * Shared/API/c/WKUserContentURLPattern.h: Added new APIs.
30807         
30808         * Shared/WebUserContentURLPattern.h:
30809         (WebKit::WebUserContentURLPattern::host): Added.
30810         (WebKit::WebUserContentURLPattern::scheme): Added.
30811         (WebKit::WebUserContentURLPattern::isValid): Added.
30812         (WebKit::WebUserContentURLPattern::matchesSubdomains): Added.
30813
30814 2011-10-31  Anders Carlsson  <andersca@apple.com>
30815
30816         More work on making plug-ins work better with transforms
30817         https://bugs.webkit.org/show_bug.cgi?id=71241
30818
30819         Reviewed by Darin Adler.
30820
30821         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
30822         (WebKit::NetscapePlugin::geometryDidChange):
30823         Implement NetscapePlugin::geometryDidChange and store the plug-in size,
30824         the clip rect and the root view transform. Use the transform to compute the window
30825         relative frame and clip rects.
30826
30827         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
30828         Add new member variables.
30829
30830         * WebProcess/Plugins/PluginView.cpp:
30831         (WebKit::PluginView::viewGeometryDidChange):
30832         Always call the new Plugin::geometryDidChange.
30833
30834 2011-10-27  Anders Carlsson  <andersca@apple.com>
30835
30836         Rename a couple of NetscapePlugin and PluginProxy member variables
30837         https://bugs.webkit.org/show_bug.cgi?id=71086
30838
30839         Reviewed by Sam Weinig.
30840
30841         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
30842         (WebKit::NetscapePlugin::invalidate):
30843         (WebKit::NetscapePlugin::callSetWindow):
30844         (WebKit::NetscapePlugin::snapshot):
30845         (WebKit::NetscapePlugin::deprecatedGeometryDidChange):
30846         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
30847         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
30848         (WebKit::NetscapePlugin::platformPaint):
30849         (WebKit::NetscapePlugin::platformHandleMouseEvent):
30850         (WebKit::NetscapePlugin::platformHandleWheelEvent):
30851         (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
30852         (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
30853         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
30854         (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate):
30855         (WebKit::NetscapePlugin::platformPaint):
30856         * WebProcess/Plugins/PluginProxy.cpp:
30857         (WebKit::PluginProxy::paint):
30858         (WebKit::PluginProxy::geometryDidChange):
30859         (WebKit::PluginProxy::deprecatedGeometryDidChange):
30860         (WebKit::PluginProxy::update):
30861         * WebProcess/Plugins/PluginProxy.h:
30862         * WebProcess/Plugins/PluginView.cpp:
30863         (WebKit::PluginView::viewGeometryDidChange):
30864
30865 2011-10-31  Andras Becsi  <andras.becsi@nokia.com>
30866
30867         [Qt][WK2] Fix qmltests after r98460 added widgets dependency.
30868
30869         Reviewed by Simon Hausmann.
30870
30871         Use QApplication and QtWidgets until we get rid of the widgets dependency of QScroller.
30872
30873         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
30874         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
30875         (main):
30876
30877 2011-10-31  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
30878
30879         [Qt] Make QWebPreferences hold a QtWebPageProxy
30880         https://bugs.webkit.org/show_bug.cgi?id=71219
30881
30882         Reviewed by Andreas Kling.
30883
30884         Change QWebPreferences to keep a pointer to QtWebPageProxy.  The reason is that
30885         some features we want to control (like the messaging exchange between WebView and
30886         the web process) are not available via WKPreferencesRef.
30887
30888         QtWebPageProxy now uses an OwnPtr to keep the QWebPreferences to clarify the
30889         ownership relationship. Before this change the QWebPreferences created was leaking.
30890
30891         * UIProcess/API/qt/qwebpreferences.cpp:
30892         (QWebPreferencesPrivate::createPreferences):
30893         (QWebPreferencesPrivate::testAttribute):
30894         (QWebPreferencesPrivate::setAttribute):
30895         (QWebPreferencesPrivate::setFontFamily):
30896         (QWebPreferencesPrivate::fontFamily):
30897         (QWebPreferencesPrivate::setFontSize):
30898         (QWebPreferencesPrivate::fontSize):
30899         (QWebPreferencesPrivate::preferencesRef):
30900         * UIProcess/API/qt/qwebpreferences.h:
30901         * UIProcess/API/qt/qwebpreferences_p.h:
30902         * UIProcess/qt/QtWebPageProxy.cpp:
30903         (QtWebPageProxy::QtWebPageProxy):
30904         (QtWebPageProxy::preferences):
30905         * UIProcess/qt/QtWebPageProxy.h:
30906
30907 2011-10-31  Carlos Garcia Campos  <cgarcia@igalia.com>
30908
30909         [GTK] Add webkit_settings_new_with_settings() to WebKit2 GTK+ API
30910         https://bugs.webkit.org/show_bug.cgi?id=71111
30911
30912         Reviewed by Martin Robinson.
30913
30914         Convenient method to create a WebKitSettings object with initial
30915         settings.
30916
30917         * UIProcess/API/gtk/WebKitSettings.cpp:
30918         (webkit_settings_new_with_settings):
30919         * UIProcess/API/gtk/WebKitSettings.h:
30920         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
30921         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
30922         (testWebKitSettingsNewWithSettings):
30923         (beforeAll):
30924
30925 2011-10-31  Carlos Garcia Campos  <cgarcia@igalia.com>
30926
30927         [GTK] Add methods to get/set the settings of a web view to WebKit2 GTK+ API
30928         https://bugs.webkit.org/show_bug.cgi?id=71109
30929
30930         Reviewed by Martin Robinson.
30931
30932         * GNUmakefile.am: Add WebKitSettingsPrivate.h.
30933         * UIProcess/API/gtk/WebKitSettings.cpp:
30934         (webkitSettingsAttachSettingsToPage): Set the preferences of the
30935         given WebKitSettings object to the page group of the given WKPage.
30936         * UIProcess/API/gtk/WebKitSettingsPrivate.h: Added.
30937         * UIProcess/API/gtk/WebKitWebView.cpp:
30938         (webkitWebViewConstructed): Create the default WebKitSettings for
30939         the view.
30940         (webkit_web_view_set_settings):
30941         (webkit_web_view_get_settings):
30942         * UIProcess/API/gtk/WebKitWebView.h:
30943         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
30944         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
30945         (testWebViewSettings):
30946         (beforeAll):
30947
30948 2011-10-31  Carlos Garcia Campos  <cgarcia@igalia.com>
30949
30950         Unreviewed. Fix make distcheck build.
30951
30952         * GNUmakefile.am: Remove docs/GNUmakefile.in from EXTRA_DIST,
30953         since its generation was removed from configure.ac in r98498.
30954
30955 2011-10-28  Jeff Miller  <jeffm@apple.com>
30956
30957         More work on WebKit2 should respect WebKitOmitPDFSupport preference on the Mac
30958         https://bugs.webkit.org/show_bug.cgi?id=71156
30959         
30960         Don't include PDF and PostScript types in the set of MIME types with custom representations
30961         when initializing the web process if WebKitOmitPDFSupport is set.
30962         
30963         I believe the previous patch r98513 was actually sufficient to prevent PDFs from being
30964         shown inline when this preference was set, but to be complete we should exclude the MIME
30965         types here as well.
30966
30967         Reviewed by Alexey Proskuryakov.
30968
30969         * UIProcess/mac/WebContextMac.mm:
30970         (WebKit::WebContext::platformInitializeWebProcess):
30971
30972 2011-10-28  John Sullivan  <sullivan@apple.com>
30973
30974         WebKit2 part of:
30975         https://bugs.webkit.org/show_bug.cgi?id=71142
30976         Whether backspace goes Back should be configurable
30977
30978         Reviewed by Sam Weinig.
30979
30980         * Shared/WebPreferencesStore.h:
30981         Declared backspaceKeyNavigationEnabled property using macro. This initializes
30982         it to true, to match current behavior.
30983         
30984         * UIProcess/API/C/WKPreferences.cpp:
30985         (WKPreferencesSetBackspaceKeyNavigationEnabled):
30986         New function, pass value to impl.
30987         (WKPreferencesGetBackspaceKeyNavigationEnabled):
30988         New function, returns result from impl.
30989         
30990         * UIProcess/API/C/WKPreferences.h:
30991         Declared API functions for new preference.
30992         
30993         * WebProcess/WebPage/WebPage.cpp:
30994         (WebKit::WebPage::updatePreferences):
30995         Updates WebCore settings from WebKit2 prefs.
30996
30997 2011-10-28  Timothy Hatcher  <timothy@apple.com>
30998
30999         Support using a different front-end for the Web Inspector in WebKit2.
31000
31001         rdar://problem/10318665
31002         https://webkit.org/b/71089
31003
31004         Reviewed by Sam Weinig.
31005
31006         * Shared/WebProcessCreationParameters.cpp:
31007         (WebKit::WebProcessCreationParameters::encode): Added webInspectorBasePath and webInspectorLocalizedStringsPath.
31008         (WebKit::WebProcessCreationParameters::decode): Ditto.
31009         * Shared/WebProcessCreationParameters.h:
31010         * UIProcess/API/C/WKContext.cpp:
31011         (WKContextSetOverrideWebInspectorBaseDirectory): Added. Calls through to WebContext.
31012         (WKContextSetOverrideWebInspectorPagePath): Ditto.
31013         (WKContextSetOverrideWebInspectorLocalizedStringsPath): Ditto.
31014         * UIProcess/API/C/WKContextPrivate.h:
31015         * UIProcess/WebContext.cpp:
31016         (WebKit::WebContext::ensureWebProcess): Set webInspectorBasePath and webInspectorLocalizedStringsPath.
31017         * UIProcess/WebContext.h:
31018         (WebKit::WebContext::overrideWebInspectorBaseDirectory): Added.
31019         (WebKit::WebContext::setOverrideWebInspectorBaseDirectory): Added.
31020         (WebKit::WebContext::overrideWebInspectorPagePath): Added.
31021         (WebKit::WebContext::setOverrideWebInspectorPagePath): Added.
31022         (WebKit::WebContext::setOverrideWebInspectorLocalizedStringsPath): Added.
31023         * UIProcess/mac/WebInspectorProxyMac.mm:
31024         (WebKit::WebInspectorProxy::inspectorPageURL): Use WebContext::overrideWebInspectorPagePath if set.
31025         (WebKit::WebInspectorProxy::inspectorBaseURL): Use WebContext::overrideWebInspectorBaseDirectory if set.
31026         * WebProcess/WebPage/WebInspector.h:
31027         * WebProcess/WebPage/mac/WebInspectorMac.mm:
31028         (WebKit::globalInspectorLocalizedStringsURL): Added. Static storage for the setting.
31029         (WebKit::WebInspector::setLocalizedStringsPath): Added. Set globalInspectorLocalizedStringsURL.
31030         (WebKit::WebInspector::localizedStringsURL): Return globalInspectorLocalizedStringsURL.
31031         * WebProcess/com.apple.WebProcess.sb: Added read-only subpath for WEBKIT_WEB_INSPECTOR_DIR.
31032         * WebProcess/mac/WebProcessMac.mm:
31033         (WebKit::appendReadonlySandboxDirectory): Check path for empty to prevent an exception when
31034         calling through to fileSystemRepresentation.
31035         (WebKit::initializeSandbox): Added WEBKIT_WEB_INSPECTOR_DIR parameter.
31036         (WebKit::WebProcess::platformInitializeWebProcess): Call WebInspector::setLocalizedStringsPath.
31037
31038 2011-10-28  Alexey Proskuryakov  <ap@apple.com>
31039
31040         Clean up BuiltInPDFView a little
31041         https://bugs.webkit.org/show_bug.cgi?id=71133
31042
31043         Reviewed by Daniel Bates.
31044
31045         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: (WebKit::BuiltInPDFView::createScrollbar):
31046         Removed an incorrect FIXME. Custom scrollbars specified in a document don't apply
31047         to subframes, and thus shouldn't apply to PDFs.
31048
31049         * WebProcess/Plugins/PDF/BuiltInPDFView.h: (WebKit::BuiltInPDFView::zoomAnimatorTransformChanged):
31050         Moved to a correct location. This is not a Plugin method, but a ScrollView one.
31051
31052 2011-10-28  Jochen Eisinger  <jochen@chromium.org>
31053
31054         Rename a number of methods mentioning JavaScript to just Script instead
31055         https://bugs.webkit.org/show_bug.cgi?id=71105
31056
31057         Reviewed by Adam Barth.
31058
31059         * WebProcess/WebPage/WebPage.cpp:
31060         (WebKit::WebPage::updatePreferences):
31061
31062 2011-10-28  Csaba Osztrogonác  <ossy@webkit.org>
31063
31064         [Qt] Adapt to QSG* to QQuick* API change in qtdeclarative
31065         https://bugs.webkit.org/show_bug.cgi?id=70494
31066
31067         One more buildfix. (unreviewed)
31068
31069         * UIProcess/API/qt/qtouchwebpage.cpp:
31070         (computeEffectiveOpacity):
31071         (QTouchWebPage::itemChange):
31072
31073 2011-10-28  Simon Hausmann  <simon.hausmann@nokia.com>
31074
31075         [Qt] Adapt to QSG* to QQuick* API change in qtdeclarative
31076         https://bugs.webkit.org/show_bug.cgi?id=70494
31077
31078         Reviewed by Kenneth Christiansen.
31079
31080         Use QQuick* instead of QSG* as well as QStandardPaths
31081         instead of QDesktopLocation.
31082
31083         * UIProcess/API/qt/qdesktopwebview.cpp:
31084         (QDesktopWebView::QDesktopWebView):
31085         (QDesktopWebView::geometryChanged):
31086         (QDesktopWebView::event):
31087         (QDesktopWebViewPrivate::engine):
31088         * UIProcess/API/qt/qdesktopwebview.h:
31089         * UIProcess/API/qt/qtouchwebpage.cpp:
31090         (QTouchWebPage::QTouchWebPage):
31091         (QTouchWebPage::event):
31092         (QTouchWebPage::geometryChanged):
31093         * UIProcess/API/qt/qtouchwebpage.h:
31094         * UIProcess/API/qt/qtouchwebview.cpp:
31095         (QTouchWebView::QTouchWebView):
31096         (QTouchWebView::geometryChanged):
31097         (QTouchWebView::touchEvent):
31098         * UIProcess/API/qt/qtouchwebview.h:
31099         * UIProcess/API/qt/tests/testwindow.h:
31100         (TestWindow::TestWindow):
31101         (TestWindow::resizeEvent):
31102         * UIProcess/qt/QtDesktopWebPageProxy.cpp:
31103         (QtDesktopWebPageProxy::createPopupMenuProxy):
31104         * UIProcess/qt/QtSGUpdateQueue.cpp:
31105         (WebKit::QtSGUpdateQueue::QtSGUpdateQueue):
31106         * UIProcess/qt/QtSGUpdateQueue.h:
31107         * UIProcess/qt/QtTouchViewInterface.cpp:
31108         (WebKit::QtTouchViewInterface::engine):
31109         * UIProcess/qt/QtViewportInteractionEngine.cpp:
31110         (WebKit::contentRectInViewportCoordinates):
31111         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
31112         * UIProcess/qt/QtViewportInteractionEngine.h:
31113         * UIProcess/qt/WebContextQt.cpp:
31114         (WebKit::defaultDataLocation):
31115         * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
31116         (WebKit::WebPopupMenuProxyQtDesktop::WebPopupMenuProxyQtDesktop):
31117         * UIProcess/qt/WebPopupMenuProxyQtDesktop.h:
31118         (WebKit::WebPopupMenuProxyQtDesktop::create):
31119
31120 2011-10-28  Kenneth Rohde Christiansen  <kenneth@webkit.org>
31121
31122         [Qt] Make the kinetic engine use the same curve and constants as on the N9
31123         https://bugs.webkit.org/show_bug.cgi?id=71102
31124
31125         Reviewed by Simon Hausmann.
31126
31127         Now that we are using the QScroller for kinetic scrolling and page
31128         interaction, we need to make sure it uses the same curve (exponential)
31129         and the same values as the MeeGo Touch physics engine used on the N9.
31130
31131         * UIProcess/qt/QtViewportInteractionEngine.cpp:
31132         (WebKit::QtViewportInteractionEngine::reset):
31133
31134 2011-10-28  Carlos Garcia Campos  <cgarcia@igalia.com>
31135
31136         [GTK] Add webkit_web_view_get_uri() to WebKit2 GTK+ API
31137         https://bugs.webkit.org/show_bug.cgi?id=70814
31138
31139         Reviewed by Gustavo Noronha Silva.
31140
31141         * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
31142         (didStartProvisionalLoadForFrame): Update WebView URI to make sure
31143         it's updated to provisional URL.
31144         (didReceiveServerRedirectForProvisionalLoadForFrame): Update
31145         WebView URI if there's a server redirection.
31146         (didCommitLoadForFrame): Update WebView URI to make sure it
31147         contains the final one.
31148         (didSameDocumentNavigationForFrame): Update WebView URI when a
31149         navigation action within the same document is performed.
31150         (webkitWebLoaderClientAttachLoaderClientToPage): Add
31151         implementation for didSameDocumentNavigationForFrame callback.
31152         * UIProcess/API/gtk/WebKitWebView.cpp:
31153         (webkit_web_view_class_init): Add URI property.
31154         (webkitWebViewUpdateURI): Check whether current active URI has
31155         changed to updated it and emit ::notify signal if it changes.
31156         (webkit_web_view_load_uri): Call webkitWebViewUpdateURI() to make
31157         sure the active URI is updated when load operation is started.
31158         (webkit_web_view_load_alternate_html): Ditto.
31159         (webkit_web_view_reload): Ditto.
31160         (webkit_web_view_reload_bypass_cache): Ditto.
31161         (webkit_web_view_go_back): Ditto.
31162         (webkit_web_view_go_forward): Ditto.
31163         (webkit_web_view_get_uri): Ditto.
31164         (webkit_web_view_go_to_back_forward_list_item): Ditto.
31165         * UIProcess/API/gtk/WebKitWebView.h:
31166         * UIProcess/API/gtk/WebKitWebViewPrivate.h: Add
31167         webkitWebViewUpdateURI().
31168         * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
31169         (provisionalLoadStartedCallback): Check provisional URL is the
31170         requested URI.
31171         (provisionalLoadReceivedServerRedirectCallback): Check provisional
31172         URL after server redirection is the expected redirected URI.
31173         (provisionalLoadFailedCallback): Check active URI.
31174         (loadCommittedCallback): Ditto.
31175         (loadFinishedCallback): Ditto.
31176         (loadFailedCallback): Ditto
31177         (LoadTrackingTest::LoadTrackingTest): Check active URI is NULL
31178         before any loading operation has started.
31179         * UIProcess/API/gtk/tests/LoadTrackingTest.h:
31180         (LoadTrackingTest::setRedirectURI): Set the redirect URI to check
31181         it after a server redirection.
31182         * UIProcess/API/gtk/tests/TestBackForwardList.cpp:
31183         (testBackForwardListNavigation): Use WebViewTest methods for
31184         navigation actions instead of using WebKitWebView API directly.
31185         (testBackForwardListLimitAndCache): Ditto.
31186         * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
31187         (testLoadingStatus): Ditto.
31188         (testLoadingError): Ditto.
31189         (testLoadAlternateContent): Ditto.
31190         (testLoadCancelled): Ditto.
31191         (testWebViewReload): Ditto.
31192         (testLoadProgress): Ditto.
31193         (testWebViewActiveURI): Add a test to check that notify signal is
31194         emitted when active URI changes and it's correctly updated when
31195         loader client signals are emitted.
31196         (beforeAll): Add active-uri test.
31197         * UIProcess/API/gtk/tests/WebViewTest.cpp: Add custom load methods
31198         wrapping the WebKitWebView ones, to initialize the active URI to
31199         the requested one, so that it can be checked by the loader client
31200         test.
31201         (WebViewTest::loadURI):
31202         (WebViewTest::loadAlternateHTML):
31203         (WebViewTest::goBack):
31204         (WebViewTest::goForward):
31205         (WebViewTest::goToBackForwardListItem):
31206         * UIProcess/API/gtk/tests/WebViewTest.h:
31207
31208 2011-10-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
31209
31210         [Qt][WK2] Synchronize tiling with accelerated compositing
31211         https://bugs.webkit.org/show_bug.cgi?id=69151
31212
31213         Reviewed by Simon Hausmann.
31214
31215         Make QTouchWebView always render with accelerated compositing.
31216         At first, the web content would only render after the rest of the scene has rendered. In a
31217         future patch we'll enable rendering the web content via an FBO, which would cover all other
31218         cases as well.
31219
31220         Right now this only works for QTouchWebView, and thus accelerated compositing is disabled
31221         for desktop web-views. This required adding some settings enablers in Q
31222         WebPreferencesPrivate. Those are not exposed to the public API, as they are an implementation
31223         detail.
31224
31225         * UIProcess/API/qt/qtouchwebpage.cpp:
31226         (QTouchWebPage::QTouchWebPage):
31227         (QTouchWebPage::initSceneGraphConnections):
31228         (QTouchWebPagePrivate::QTouchWebPagePrivate):
31229         (QTouchWebPagePrivate::setPage):
31230         (computeEffectiveOpacity):
31231         (QTouchWebPagePrivate::paintToCurrentGLContext):
31232         (QTouchWebPagePrivate::_q_onAfterSceneRender):
31233         (QTouchWebPagePrivate::_q_onSceneGraphInitialized):
31234         (QTouchWebPage::itemChange):
31235         * UIProcess/API/qt/qtouchwebpage.h:
31236         * UIProcess/API/qt/qtouchwebpage_p.h:
31237         * UIProcess/API/qt/qwebpreferences.cpp:
31238         (QWebPreferencesPrivate::testAttribute):
31239         (QWebPreferencesPrivate::setAttribute):
31240         (QWebPreferencesPrivate::get):
31241         * UIProcess/API/qt/qwebpreferences_p.h:
31242         * UIProcess/TiledDrawingAreaProxy.cpp:
31243         (WebKit::TiledDrawingAreaProxy::renderNextFrame):
31244         * UIProcess/qt/QtDesktopWebPageProxy.cpp:
31245         (QtDesktopWebPageProxy::QtDesktopWebPageProxy):
31246         * UIProcess/qt/QtTouchViewInterface.cpp:
31247         (WebKit::QtTouchViewInterface::setViewNeedsDisplay):
31248         * UIProcess/qt/QtTouchWebPageProxy.cpp:
31249         (QtTouchWebPageProxy::QtTouchWebPageProxy):
31250         (QtTouchWebPageProxy::createDrawingAreaProxy):
31251         (QtTouchWebPageProxy::renderToCurrentGLContext):
31252         (QtTouchWebPageProxy::setVisibleContentRectAndScale):
31253         (QtTouchWebPageProxy::setVisibleContentRectTrajectoryVector):
31254         (QtTouchWebPageProxy::renderNextFrame):
31255         * UIProcess/qt/QtTouchWebPageProxy.h:
31256         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
31257         (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
31258         * WebProcess/WebPage/qt/WebPageQt.cpp:
31259         (WebKit::WebPage::platformInitialize):
31260         * WebProcess/qt/WebProcessMainQt.cpp:
31261         (WebKit::WebProcessMainQt):
31262
31263 2011-10-27  Martin Robinson  <mrobinson@igalia.com>
31264
31265         Fix the GTK+ build after r98664.
31266
31267         * WebProcess/Plugins/Plugin.h: Add an IntSize forward declaration.
31268
31269 2011-10-27  Anders Carlsson  <andersca@apple.com>
31270
31271         Add a Plugin::geometryDidChange that will work with transforms
31272         https://bugs.webkit.org/show_bug.cgi?id=71072
31273
31274         Reviewed by Simon Fraser.
31275
31276         Add a new Plugin::geometryDidChange pure virtual member function, that takes
31277         the size of the plug-in, the clip rect (in plug-in coordinates), and a matrix that makes
31278         it possible to convert between root view coordinates and plug-in coordinates.
31279
31280         PluginView only calls this new geometryDidChange member function if 
31281         Plugin::wantsWindowRelativeCoordinates returns false, which is only true for BuiltInPDFView right now.
31282
31283         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
31284         (WebKit::NetscapePlugin::geometryDidChange):
31285         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
31286         Add stub.
31287
31288         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
31289         (WebKit::BuiltInPDFView::updateScrollbars):
31290         (WebKit::BuiltInPDFView::pdfDocumentDidLoad):
31291         (WebKit::BuiltInPDFView::paintContent):
31292         (WebKit::BuiltInPDFView::deprecatedGeometryDidChange):
31293         (WebKit::BuiltInPDFView::geometryDidChange):
31294         (WebKit::BuiltInPDFView::setScrollOffset):
31295         (WebKit::BuiltInPDFView::maximumScrollPosition):
31296         (WebKit::BuiltInPDFView::visibleHeight):
31297         (WebKit::BuiltInPDFView::visibleWidth):
31298         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
31299         There's no need to keep track of the plug-in rect anymore.
31300
31301         * WebProcess/Plugins/Plugin.h:
31302         Add and document geometryDidChange.
31303
31304         * WebProcess/Plugins/PluginProxy.cpp:
31305         (WebKit::PluginProxy::geometryDidChange):
31306         * WebProcess/Plugins/PluginProxy.h:
31307         Add stub.
31308
31309         * WebProcess/Plugins/PluginView.cpp:
31310         (WebKit::PluginView::viewGeometryDidChange):
31311         Call geometryDidChange.
31312
31313 2011-10-27  Joseph Pecoraro  <pecoraro@apple.com>
31314
31315         Reviewed by David Kilzer.
31316
31317         Make FeatureDefines Identical Across OS X Projects
31318         https://bugs.webkit.org/show_bug.cgi?id=71051
31319
31320         * Configurations/FeatureDefines.xcconfig:
31321
31322 2011-10-27  Anders Carlsson  <andersca@apple.com>
31323
31324         Rename Plugin::geometryDidChange to Plugin::deprecatedGeometryDidChange
31325         https://bugs.webkit.org/show_bug.cgi?id=71065
31326
31327         Reviewed by Simon Fraser.
31328
31329         In preparation for adding a version of geometryDidChange that doesn't take window coordinates.
31330
31331         * PluginProcess/PluginControllerProxy.cpp:
31332         (WebKit::PluginControllerProxy::geometryDidChange):
31333         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
31334         (WebKit::NetscapePlugin::deprecatedGeometryDidChange):
31335         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
31336         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
31337         (WebKit::BuiltInPDFView::deprecatedGeometryDidChange):
31338         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
31339         * WebProcess/Plugins/Plugin.h:
31340         * WebProcess/Plugins/PluginProxy.cpp:
31341         (WebKit::PluginProxy::deprecatedGeometryDidChange):
31342         * WebProcess/Plugins/PluginProxy.h:
31343         * WebProcess/Plugins/PluginView.cpp:
31344         (WebKit::PluginView::viewGeometryDidChange):
31345
31346 2011-10-27  Michael Saboff  <msaboff@apple.com>
31347
31348         Investigate storing strings in 8-bit buffers when possible
31349         https://bugs.webkit.org/show_bug.cgi?id=66161
31350
31351         Added export of StringImpl::getData16SlowCase for linking tests.
31352
31353         Reviewed by Geoffrey Garen.
31354
31355         * win/WebKit2.def:
31356
31357 2011-10-27  Sam Weinig  <sam@webkit.org>
31358
31359         Add allowsPlugIns property to WKBrowsingContextGroup
31360         https://bugs.webkit.org/show_bug.cgi?id=70987
31361
31362         Reviewed by Anders Carlsson.
31363
31364         Test: WKBrowsingContextGroupTest.GetSetPluginsEnabled
31365
31366         * UIProcess/API/mac/WKBrowsingContextGroup.h:
31367         * UIProcess/API/mac/WKBrowsingContextGroup.mm:
31368         (-[WKBrowsingContextGroup allowsJavaScript]):
31369         (-[WKBrowsingContextGroup setAllowsJavaScript:]):
31370         Rename to allowsJavaScript/setAllowsJavaScript.
31371
31372         (-[WKBrowsingContextGroup allowsPlugIns]):
31373         (-[WKBrowsingContextGroup setAllowsPlugIns:]):
31374         Add allowsPlugIns/setAllowsPlugIns.
31375
31376 2011-10-27  Carlos Garcia Campos  <cgarcia@igalia.com>
31377
31378         [Cairo] Implement ShareableBitmap::paint() when scaleFactor=1
31379         https://bugs.webkit.org/show_bug.cgi?id=71027
31380
31381         Reviewed by Martin Robinson.
31382
31383         Fixes windowless plugins in GTK+ port.
31384
31385         * Shared/cairo/ShareableBitmapCairo.cpp:
31386         (WebKit::ShareableBitmap::paint): When scaleFactor is 1, simply
31387         call the paint method that doesn't receive a scaleFactor.
31388
31389 2011-10-27  Sheriff Bot  <webkit.review.bot@gmail.com>
31390
31391         Unreviewed, rolling out r98556.
31392         http://trac.webkit.org/changeset/98556
31393         https://bugs.webkit.org/show_bug.cgi?id=71031
31394
31395         The test added by the patch doesn't pass on Snow Leopard
31396         (Requested by rniwa on #webkit).
31397
31398         * win/WebKit2.def:
31399         * win/WebKit2CFLite.def:
31400
31401 2011-10-27  Mark Hahnenberg  <mhahnenberg@apple.com>
31402
31403         De-virtualize JSCell::toThisObject
31404         https://bugs.webkit.org/show_bug.cgi?id=70958
31405
31406         Reviewed by Geoffrey Garen.
31407
31408         Converted all instances of toThisObject to static functions, 
31409         added toThisObject to the MethodTable, and replaced all call sites
31410         with a corresponding lookup in the MethodTable.
31411
31412         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
31413         (WebKit::NPJSObject::invoke):
31414
31415 2011-10-27  Adam Roben  <aroben@apple.com>
31416
31417         Add WKBundlePageGetBackingScaleFactor
31418
31419         Fixes <http://webkit.org/b/71025> <rdar://problem/10355037> REGRESSION (r97191): Clients
31420         can't reliably determine the scale factor of snapshots returned via
31421         WKBundlePageCreateSnapshot* API
31422
31423         Reviewed by Sam Weinig.
31424
31425         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
31426         (WKBundlePageGetBackingScaleFactor):
31427         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
31428         Added. Calls through to WebPage::deviceScaleFactor.
31429
31430         * WebProcess/WebPage/WebPage.cpp:
31431         (WebKit::WebPage::deviceScaleFactor):
31432         * WebProcess/WebPage/WebPage.h:
31433         Added. Calls through to Page::deviceScaleFactor.
31434
31435 2011-10-27  Zalan Bujtas  <zbujtas@gmail.com>
31436
31437         [Qt][WK2]Add setViewportSize API to WebKit2.
31438         https://bugs.webkit.org/show_bug.cgi?id=71006
31439
31440         Reviewed by Kenneth Rohde Christiansen.
31441
31442         Fixed layout rendering needs the viewport size information on the WebProcess
31443         side to be able to do viewport attribute calculations.
31444
31445         * WebProcess/WebPage/WebPage.cpp:
31446         (WebKit::WebPage::setViewportSize):
31447         * WebProcess/WebPage/WebPage.h:
31448         (WebKit::WebPage::viewportSize):
31449         * WebProcess/WebPage/WebPage.messages.in:
31450
31451 2011-10-27  Alexis Menard  <alexis.menard@openbossa.org>
31452
31453         [Qt][WK2] Move the C API callback setup out of QtWebPageProxy
31454         https://bugs.webkit.org/show_bug.cgi?id=70965
31455
31456         Reviewed by Andreas Kling.
31457
31458         Move out the setup of C API callback into ClientImpl file
31459         so that QtWebPageProxy will be less polluted.
31460
31461         * UIProcess/qt/ClientImpl.cpp:
31462         (qt_wk_didStartProvisionalLoadForFrame):
31463         (qt_wk_didFailProvisionalLoadWithErrorForFrame):
31464         (qt_wk_didCommitLoadForFrame):
31465         (qt_wk_didFinishLoadForFrame):
31466         (qt_wk_didFailLoadWithErrorForFrame):
31467         (qt_wk_didSameDocumentNavigationForFrame):
31468         (qt_wk_didReceiveTitleForFrame):
31469         (qt_wk_didStartProgress):
31470         (qt_wk_didChangeProgress):
31471         (qt_wk_didFinishProgress):
31472         (qt_wk_runJavaScriptAlert):
31473         (qt_wk_runJavaScriptConfirm):
31474         (qt_wk_runJavaScriptPrompt):
31475         (qt_wk_setStatusText):
31476         (qt_wk_runOpenPanel):
31477         (qt_wk_mouseDidMoveOverElement):
31478         (qt_wk_decidePolicyForNavigationAction):
31479         (qt_wk_decidePolicyForResponse):
31480         (setupPageLoaderClient):
31481         (setupPageUiClient):
31482         (setupPagePolicyClient):
31483         * UIProcess/qt/ClientImpl.h:
31484         * UIProcess/qt/QtWebPageProxy.cpp:
31485         (QtWebPageProxy::init):
31486         * UIProcess/qt/QtWebPageProxy.h:
31487         (QtWebPageProxy::viewInterface):
31488
31489 2011-10-27  Zeno Albisser  <zeno.albisser@nokia.com>
31490
31491         [Qt][WK2] Remove QAction from MiniBrowser
31492         https://bugs.webkit.org/show_bug.cgi?id=70525
31493
31494         This fixes the commonview tests that were failing
31495         after r98447.
31496         WebViewAbstraction must forward actions to both
31497         the TouchWebView and the DesktopWebView.
31498
31499         Reviewed by Kenneth Rohde Christiansen.
31500
31501         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
31502         (WebViewAbstraction::goBack):
31503         (WebViewAbstraction::goForward):
31504         (WebViewAbstraction::stop):
31505         (WebViewAbstraction::reload):
31506
31507 2011-10-27  Zalan Bujtas  <zbujtas@gmail.com>
31508
31509         [Qt][WK2]Content size changed event does not require viewport attribute calculation.
31510         https://bugs.webkit.org/show_bug.cgi?id=70920
31511
31512         Reviewed by Kenneth Rohde Christiansen.
31513         
31514         Remove unnecessary recalculation of viewport attributes.
31515
31516         * UIProcess/qt/QtTouchViewInterface.cpp:
31517         (WebKit::QtTouchViewInterface::contentSizeChanged):
31518
31519 2011-10-27  Shinya Kawanaka  <shinyak@google.com>
31520
31521         Implement legacy text check emulation in unified text check interface.
31522         https://bugs.webkit.org/show_bug.cgi?id=70299
31523
31524         Reviewed by Hajime Morita.
31525
31526         * win/WebKit2.def:
31527         * win/WebKit2CFLite.def:
31528
31529 2011-10-27  Philippe Normand  <pnormand@igalia.com>
31530
31531         [GStreamer] WebAudio AudioFileReader implementation
31532         https://bugs.webkit.org/show_bug.cgi?id=69834
31533
31534         Reviewed by Martin Robinson.
31535
31536         * GNUmakefile.am: Link against libfftw.
31537
31538 2011-10-26  Alexey Proskuryakov  <ap@apple.com>
31539
31540         REGRESSION (r98153): Safari crashes if WebProcess crashed during printing
31541         https://bugs.webkit.org/show_bug.cgi?id=70982
31542
31543         Reviewed by Dan Bernstein.
31544
31545         * UIProcess/API/mac/WKPrintingView.mm: (-[WKPrintingView _delayedResumeAutodisplayTimerFired]):
31546         Null check page, it may be invalid already.
31547
31548 2011-10-26  Jeff Miller  <jeffm@apple.com>
31549
31550         WebKit2 should respect secret WebKitOmitPDFSupport preference on the Mac
31551         https://bugs.webkit.org/show_bug.cgi?id=70943
31552         
31553         If WebKitOmitPDFSupport pref is set, disable both the new "plug-in" for subframes and the PDFKit-based support for the main frame only.
31554
31555         Reviewed by Alexey Proskuryakov.
31556
31557         * UIProcess/WebContext.cpp:
31558         (WebKit::WebContext::getPlugins): Don't register built-in PDF plugin if WebKitOmitPDFSupport pref is set.
31559         
31560         * UIProcess/WebContext.h: Added omitPDFSupport().
31561         
31562         * UIProcess/WebFrameProxy.cpp:
31563         (WebKit::WebFrameProxy::canShowMIMEType): Don't show PDFs if WebKitOmitPDFSupport is set.
31564         
31565         * UIProcess/mac/WebContextMac.mm:
31566         (WebKit::WebContext::omitPDFSupport): Added.
31567
31568 2011-10-26  Sam Weinig  <sam@webkit.org>
31569
31570         Add initial setting to WKBrowsingContextGroup
31571         https://bugs.webkit.org/show_bug.cgi?id=70942
31572
31573         Reviewed by Anders Carlsson.
31574
31575         Test: WKBrowsingContextGroupTest.
31576
31577         * UIProcess/API/mac/WKBrowsingContextGroup.h:
31578         * UIProcess/API/mac/WKBrowsingContextGroup.mm:
31579         (-[WKBrowsingContextGroup isJavaScriptEnabled]):
31580         (-[WKBrowsingContextGroup setJavaScriptEnabled:]):
31581         Add setting to enabled/disable javascript. By default it is enabled. 
31582
31583 2011-10-25  Alexey Proskuryakov  <ap@apple.com>
31584
31585         Embedded PDFs should be known to DocumentLoader
31586         https://bugs.webkit.org/show_bug.cgi?id=70864
31587
31588         Reviewed by Darin Adler.
31589
31590         * WebProcess/Plugins/Plugin.h: Plugin stream load notifications now contain a suggested
31591         file name, in case the plug-in wants to save the file properly.
31592
31593         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
31594         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
31595         (WebKit::BuiltInPDFView::addArchiveResource): Add the PDF as resource in DocumentLoader.
31596         (WebKit::BuiltInPDFView::pdfDocumentDidLoad): Call addArchiveResource.
31597         (WebKit::BuiltInPDFView::initialize): We need to remember source URL to create a resource
31598         for that. The URL needs to match one in HitTestResult, so we can't use response URL.
31599         (WebKit::BuiltInPDFView::streamDidReceiveResponse): Remember suggested file name, so
31600         that we could put it in archive resource later.
31601         (WebKit::BuiltInPDFView::manualStreamDidReceiveResponse): Ditto.
31602
31603         * PluginProcess/PluginControllerProxy.cpp:
31604         (WebKit::PluginControllerProxy::streamDidReceiveResponse):
31605         (WebKit::PluginControllerProxy::manualStreamDidReceiveResponse):
31606         Pass an empty string for suggested file name. No plug-in that runs in a separate process
31607         cares about it, so it's not sent to the plugin process.
31608
31609         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
31610         (WebKit::NetscapePlugin::streamDidReceiveResponse):
31611         (WebKit::NetscapePlugin::manualStreamDidReceiveResponse):
31612         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
31613         Updated for new signatures.
31614
31615         * WebProcess/Plugins/PluginProxy.cpp:
31616         (WebKit::PluginProxy::streamDidReceiveResponse):
31617         (WebKit::PluginProxy::manualStreamDidReceiveResponse):
31618         * WebProcess/Plugins/PluginProxy.h:
31619         Updated for new signatures.
31620
31621         * WebProcess/Plugins/PluginView.cpp:
31622         (WebKit::PluginView::Stream::didReceiveResponse):
31623         (WebKit::PluginView::manualLoadDidReceiveResponse):
31624         Pass suggested file name to plug-in, in case the plug-in wants to save the file properly.
31625
31626 2011-10-26  Mark Hahnenberg  <mhahnenberg@apple.com>
31627
31628         Remove getOwnPropertySlotVirtual
31629         https://bugs.webkit.org/show_bug.cgi?id=70741
31630
31631         Reviewed by Geoffrey Garen.
31632
31633         Removed all declarations and definitions of getOwnPropertySlotVirtual.
31634         Also replaced all call sites to getOwnPropertyVirtualVirtual with a 
31635         corresponding lookup in the MethodTable.
31636
31637         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
31638         * WebProcess/Plugins/Netscape/JSNPObject.h:
31639
31640 2011-10-26  Alejandro G. Castro  <alex@igalia.com>
31641
31642         [GTK] [WK2] Add WebKit2 distcheck support
31643         https://bugs.webkit.org/show_bug.cgi?id=70933
31644
31645         Reviewed by Martin Robinson.
31646
31647         * GNUmakefile.am: Add a bunch of missing files from API and
31648         sources, also include more files in the EXTRA_DIST.
31649         * UIProcess/API/gtk/docs/GNUmakefile.am: Add the version.xml to
31650         the cleaning section.
31651
31652 2011-10-26  Carlos Garcia Campos  <cgarcia@igalia.com>
31653
31654         [GTK] Fix gtk-doc warnings and style issues in WebKit2 GTK+ API
31655         https://bugs.webkit.org/show_bug.cgi?id=70930
31656
31657         Reviewed by Martin Robinson.
31658
31659         * UIProcess/API/gtk/WebKitBackForwardListItem.cpp:
31660         * UIProcess/API/gtk/WebKitSettings.cpp:
31661         (webkit_settings_class_init):
31662         * UIProcess/API/gtk/WebKitWebView.h:
31663         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
31664
31665 2011-10-26  Anders Carlsson  <andersca@apple.com>
31666
31667         Use the right contents scale factor for non-Mac plug-ins
31668         https://bugs.webkit.org/show_bug.cgi?id=70939
31669
31670         Reviewed by Adam Roben.
31671
31672         * WebProcess/Plugins/PluginProxy.cpp:
31673         (WebKit::PluginProxy::paint):
31674         (WebKit::PluginProxy::geometryDidChange):
31675         (WebKit::PluginProxy::update):
31676
31677 2011-10-26  Carlos Garcia Campos  <cgarcia@igalia.com>
31678
31679         [GTK] Add missing symbols to WebKit2 gtk-doc files
31680         https://bugs.webkit.org/show_bug.cgi?id=70927
31681
31682         Reviewed by Martin Robinson.
31683
31684         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add sections for
31685         WebKitBackForwardList, WebKitBackForwardListItem and WebKitSettings.
31686         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add missing symbols.
31687         * UIProcess/API/gtk/docs/webkit2gtk.types: Add missing types.
31688
31689 2011-10-26  Carlos Garcia Campos  <cgarcia@igalia.com>
31690
31691         [GTK] Inconsistent name of WebKitSettings macros
31692         https://bugs.webkit.org/show_bug.cgi?id=70924
31693
31694         Reviewed by Martin Robinson.
31695
31696         Rename WEBKIT_TYPE_WEB_SETTINGS as WEBKIT_TYPE_SETTINGS and
31697         WEBKIT_IS_WEB_SETTINGS as WEBKIT_IS_SETTINGS.
31698
31699         * UIProcess/API/gtk/WebKitSettings.cpp:
31700         (webkit_settings_init):
31701         (webkit_settings_new):
31702         (webkit_settings_get_enable_javascript):
31703         (webkit_settings_set_enable_javascript):
31704         (webkit_settings_get_auto_load_images):
31705         (webkit_settings_set_auto_load_images):
31706         (webkit_settings_get_load_icons_ignoring_image_load_setting):
31707         (webkit_settings_set_load_icons_ignoring_image_load_setting):
31708         (webkit_settings_get_enable_offline_web_application_cache):
31709         (webkit_settings_set_enable_offline_web_application_cache):
31710         (webkit_settings_get_enable_html5_local_storage):
31711         (webkit_settings_set_enable_html5_local_storage):
31712         (webkit_settings_get_enable_html5_database):
31713         (webkit_settings_set_enable_html5_database):
31714         (webkit_settings_get_enable_xss_auditor):
31715         (webkit_settings_set_enable_xss_auditor):
31716         (webkit_settings_get_enable_frame_flattening):
31717         (webkit_settings_set_enable_frame_flattening):
31718         (webkit_settings_get_enable_plugins):
31719         (webkit_settings_set_enable_plugins):
31720         (webkit_settings_get_enable_java):
31721         (webkit_settings_set_enable_java):
31722         (webkit_settings_get_javascript_can_open_windows_automatically):
31723         (webkit_settings_set_javascript_can_open_windows_automatically):
31724         (webkit_settings_get_enable_hyperlink_auditing):
31725         (webkit_settings_set_enable_hyperlink_auditing):
31726         * UIProcess/API/gtk/WebKitSettings.h:
31727
31728 2011-10-26  Andras Becsi  <andras.becsi@nokia.com>
31729
31730         [Qt][WK2] Rename clean-up of QtPinchGestureRecognizer and QtViewportInteractionEngine
31731         https://bugs.webkit.org/show_bug.cgi?id=70903
31732
31733         Reviewed by Kenneth Rohde Christiansen.
31734
31735         Rename computeTouchCenter to computePinchCenter,
31736         and use the plural form of coordinate where appropriate.
31737
31738         * UIProcess/API/qt/qtouchwebview.cpp:
31739         (QTouchWebViewPrivate::_q_viewportUpdated):
31740         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
31741         (WebKit::computePinchCenter):
31742         (WebKit::QtPinchGestureRecognizer::recognize):
31743         * UIProcess/qt/QtViewportInteractionEngine.cpp:
31744         (WebKit::contentRectInViewportCoordinates):
31745         (WebKit::QtViewportInteractionEngine::event):
31746         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
31747         (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
31748         (WebKit::QtViewportInteractionEngine::scaleContent):
31749         * UIProcess/qt/QtViewportInteractionEngine.h:
31750
31751 2011-10-26  Zalan Bujtas  <zbujtas@gmail.com>
31752
31753         Name viewport change event consistently.
31754         https://bugs.webkit.org/show_bug.cgi?id=70901
31755
31756         Reviewed by Kenneth Rohde Christiansen.
31757
31758         Use ViewportPropertiesDidChange term consistently throughout WebKit.
31759
31760         * UIProcess/API/efl/PageClientImpl.cpp:
31761         (WebKit::PageClientImpl::didChangeViewportProperties):
31762         * UIProcess/API/efl/PageClientImpl.h:
31763         * UIProcess/API/gtk/PageClientImpl.cpp:
31764         (WebKit::PageClientImpl::didChangeViewportProperties):
31765         * UIProcess/API/gtk/PageClientImpl.h:
31766         * UIProcess/API/mac/PageClientImpl.h:
31767         * UIProcess/API/mac/PageClientImpl.mm:
31768         (WebKit::PageClientImpl::didChangeViewportProperties):
31769         * UIProcess/API/qt/qdesktopwebview.cpp:
31770         (QDesktopWebViewPrivate::didChangeViewportProperties):
31771         * UIProcess/API/qt/qdesktopwebview_p.h:
31772         * UIProcess/API/qt/qtouchwebview.cpp:
31773         (QTouchWebViewPrivate::didChangeViewportProperties):
31774         * UIProcess/API/qt/qtouchwebview_p.h:
31775         * UIProcess/PageClient.h:
31776         * UIProcess/WebPageProxy.cpp:
31777         (WebKit::WebPageProxy::didChangeViewportProperties):
31778         * UIProcess/WebPageProxy.h:
31779         * UIProcess/WebPageProxy.messages.in:
31780         * UIProcess/qt/QtDesktopWebPageProxy.cpp:
31781         (QtDesktopWebPageProxy::didChangeViewportProperties):
31782         * UIProcess/qt/QtDesktopWebPageProxy.h:
31783         * UIProcess/qt/QtTouchViewInterface.cpp:
31784         (WebKit::QtTouchViewInterface::didChangeViewportProperties):
31785         * UIProcess/qt/QtTouchViewInterface.h:
31786         * UIProcess/qt/QtViewInterface.h:
31787         * UIProcess/qt/QtWebPageProxy.cpp:
31788         (QtWebPageProxy::didChangeViewportProperties):
31789         * UIProcess/qt/QtWebPageProxy.h:
31790         * UIProcess/win/WebView.cpp:
31791         (WebKit::WebView::didChangeViewportProperties):
31792         * UIProcess/win/WebView.h:
31793         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
31794         (WebKit::WebChromeClient::dispatchViewportPropertiesDidChange):
31795         * WebProcess/WebCoreSupport/WebChromeClient.h:
31796
31797 2011-10-26  Carlos Garcia Campos  <cgarcia@igalia.com>
31798
31799         [GTK] Remove g_thread_init() calls from gtk-doc scanner too
31800         https://bugs.webkit.org/show_bug.cgi?id=70908
31801
31802         Reviewed by Gustavo Noronha Silva.
31803
31804         * UIProcess/API/gtk/docs/GNUmakefile.am:
31805
31806 2011-10-25  Andras Becsi  <andras.becsi@nokia.com>
31807
31808         [Qt][WK2] Add the animations on the ViewportInteractionEngine
31809         https://bugs.webkit.org/show_bug.cgi?id=66664
31810
31811         Reviewed by Kenneth Rohde Christiansen.
31812
31813         Introduce a QScroller based panning and a QVariantAnimation based scale animation.
31814         QScroller also handles flick gestures and animates overshoot.
31815         If a pinch gesture ends, the scale animation will scale and reposition the content
31816         such that it is within valid boundaries. The content is by default animated such
31817         that the content position as seen in the center of the visible viewport stays
31818         in the center, unless the content would be out of valid bounds.
31819         The patch also simplifies the ViewportUpdateGuard by using reference counting
31820         instead of a boolean for defering update requests.
31821
31822         * UIProcess/qt/QtPanGestureRecognizer.cpp:
31823         (WebKit::QtPanGestureRecognizer::recognize):
31824         * UIProcess/qt/QtPanGestureRecognizer.h:
31825         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
31826         (WebKit::QtPinchGestureRecognizer::recognize):
31827         * UIProcess/qt/QtTouchWebPageProxy.cpp:
31828         (QtTouchWebPageProxy::doneWithTouchEvent):
31829         * UIProcess/qt/QtViewportInteractionEngine.cpp:
31830         (WebKit::bindToScaleLimits):
31831         (WebKit::ViewportUpdateGuard::ViewportUpdateGuard):
31832         (WebKit::ViewportUpdateGuard::~ViewportUpdateGuard):
31833         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
31834         (WebKit::QtViewportInteractionEngine::innerBoundedScale):
31835         (WebKit::QtViewportInteractionEngine::outerBoundedScale):
31836         (WebKit::QtViewportInteractionEngine::updateVisibleRect):
31837         (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
31838         (WebKit::QtViewportInteractionEngine::event):
31839         (WebKit::QtViewportInteractionEngine::stopAnimations):
31840         (WebKit::QtViewportInteractionEngine::calculateBoundariesForScale):
31841         (WebKit::QtViewportInteractionEngine::animateContentIntoBoundariesIfNeeded):
31842         (WebKit::QtViewportInteractionEngine::reset):
31843         (WebKit::QtViewportInteractionEngine::setConstraints):
31844         (WebKit::QtViewportInteractionEngine::panGestureStarted):
31845         (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
31846         (WebKit::QtViewportInteractionEngine::panGestureCancelled):
31847         (WebKit::QtViewportInteractionEngine::panGestureEnded):
31848         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
31849         (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
31850         (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
31851         (WebKit::QtViewportInteractionEngine::contentViewportChanged):
31852         * UIProcess/qt/QtViewportInteractionEngine.h:
31853         (WebKit::QtViewportInteractionEngine::scroller):
31854         (WebKit::QtViewportInteractionEngine::ScaleAnimation::ScaleAnimation):
31855         (WebKit::QtViewportInteractionEngine::ScaleAnimation::updateCurrentValue):
31856
31857 2011-10-26  Zeno Albisser  <zeno.albisser@nokia.com>
31858
31859         [Qt][WK2] Rewrite MiniBrowser in QML
31860         https://bugs.webkit.org/show_bug.cgi?id=70315
31861
31862         Add the first QML based implementation of MiniBrowser.
31863
31864         Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com>,
31865                  Zeno Albisser <zeno.albisser@nokia.com>
31866
31867         Reviewed by Tor Arne Vestbø.
31868
31869         * UIProcess/API/qt/qdesktopwebview.cpp:
31870         (QDesktopWebView::mousePressEvent):
31871
31872  2011-10-20  Zeno Albisser  <zeno.albisser@nokia.com>
31873
31874         [Qt][WK2] Disable Context Menus until we have a proper QML implementation
31875         https://bugs.webkit.org/show_bug.cgi?id=70537
31876
31877         This is just a temporary fix to avoid crashes in QtGui based
31878         MiniBrowser that does not link to QtWidgets.
31879
31880         Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com>,
31881                  Zeno Albisser <zeno.albisser@nokia.com>
31882
31883         Reviewed by Simon Hausmann.
31884
31885         * UIProcess/qt/WebContextMenuProxyQt.cpp:
31886         (WebKit::WebContextMenuProxyQt::showContextMenu):
31887         (WebKit::WebContextMenuProxyQt::createContextMenu):
31888
31889 2011-10-25  Zeno Albisser  <zeno.albisser@nokia.com>
31890
31891         [Qt][WK2] Remove QAction from MiniBrowser
31892         https://bugs.webkit.org/show_bug.cgi?id=70525
31893
31894         In order to rewrite MiniBrowser in QML we need a suitable
31895         mechanism for triggering navigation actions.
31896         Due to the QtWidgets dependency of QAction the current
31897         solution is not suitable anymore. Therefore we introduce
31898         invokable methods and export properties in QWebNavigationController.
31899
31900         Patch by Jocelyn Turcotte <jocelyn.turcotte@nokia.com>,
31901                  Zeno Albisser <zeno.albisser@nokia.com>
31902
31903         Reviewed by Simon Hausmann.
31904
31905         * UIProcess/API/qt/WKView.h:
31906         * UIProcess/API/qt/qdesktopwebview.h:
31907         * UIProcess/API/qt/qtouchwebpage.h:
31908         * UIProcess/API/qt/qwebkittypes.h: Removed.
31909         * UIProcess/API/qt/qwebnavigationcontroller.cpp:
31910         (QWebNavigationController::QWebNavigationController):
31911         (QWebNavigationController::canGoBack):
31912         (QWebNavigationController::canGoForward):
31913         (QWebNavigationController::canStop):
31914         (QWebNavigationController::canReload):
31915         (QWebNavigationController::goBack):
31916         (QWebNavigationController::goForward):
31917         (QWebNavigationController::stop):
31918         (QWebNavigationController::reload):
31919         * UIProcess/API/qt/qwebnavigationcontroller.h:
31920         * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
31921         (tst_CommonViewTests::backAndForward):
31922         (tst_CommonViewTests::reload):
31923         (tst_CommonViewTests::stop):
31924         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
31925         (WebViewAbstraction::goBack):
31926         (WebViewAbstraction::goForward):
31927         (WebViewAbstraction::stop):
31928         (WebViewAbstraction::reload):
31929         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
31930         * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp:
31931         (tst_QDesktopWebView::navigationStatusAtStartup):
31932         (LoadStartedCatcher::onLoadStarted):
31933         (tst_QDesktopWebView::stopEnabledAfterLoadStarted):
31934         * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp:
31935         (tst_QTouchWebView::navigationStatusAtStartup):
31936         * UIProcess/qt/ClientImpl.cpp:
31937         (dispatchLoadSucceeded):
31938         (dispatchLoadFailed):
31939         (qt_wk_didStartProvisionalLoadForFrame):
31940         (qt_wk_didCommitLoadForFrame):
31941         (qt_wk_didSameDocumentNavigationForFrame):
31942         * UIProcess/qt/QtWebPageProxy.cpp:
31943         (QtWebPageProxy::QtWebPageProxy):
31944         (QtWebPageProxy::canGoBack):
31945         (QtWebPageProxy::goBack):
31946         (QtWebPageProxy::canGoForward):
31947         (QtWebPageProxy::goForward):
31948         (QtWebPageProxy::canStop):
31949         (QtWebPageProxy::stop):
31950         (QtWebPageProxy::canReload):
31951         (QtWebPageProxy::reload):
31952         (QtWebPageProxy::navigationStateChanged):
31953         (QtWebPageProxy::didRelaunchProcess):
31954         (QtWebPageProxy::processDidCrash):
31955         * UIProcess/qt/QtWebPageProxy.h:
31956         * WebKit2API.pri:
31957
31958 2011-10-26  Ryosuke Niwa  <rniwa@webkit.org>
31959
31960         Another GTK build fix attempt after r98413 and r98416.
31961
31962         * WebProcess/Plugins/PluginProxy.cpp:
31963         (WebKit::PluginProxy::paint):
31964         (WebKit::PluginProxy::geometryDidChange):
31965         (WebKit::PluginProxy::update):
31966
31967 2011-10-25  Ryosuke Niwa  <rniwa@webkit.org>
31968
31969         C/C++ needs ; after each statement.
31970
31971         * PluginProcess/PluginControllerProxy.cpp:
31972         (WebKit::PluginControllerProxy::geometryDidChange):
31973
31974 2011-10-25  Ryosuke Niwa  <rniwa@webkit.org>
31975
31976         GTK build fix attempt after r98413 and r98416.
31977
31978         * PluginProcess/PluginControllerProxy.cpp:
31979         (WebKit::PluginControllerProxy::paint):
31980         (WebKit::PluginControllerProxy::geometryDidChange):
31981
31982 2011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>
31983
31984         Remove deletePropertyVirtual
31985         https://bugs.webkit.org/show_bug.cgi?id=70738
31986
31987         Reviewed by Geoffrey Garen.
31988
31989         Removed all declarations and definitions of deletePropertyVirtual.
31990         Also replaced all call sites to deletePropertyVirtual with a 
31991         corresponding lookup in the MethodTable.
31992
31993         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
31994         * WebProcess/Plugins/Netscape/JSNPObject.h:
31995         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
31996         (WebKit::NPJSObject::removeProperty):
31997
31998 2011-10-25  Brent Fulgham  <bfulgham@webkit.org>
31999
32000         [WinCairo] Unreviewed build fix after r97587.
32001
32002         * win/WebKit2CFLite.def:
32003
32004 2011-10-25  Anders Carlsson  <andersca@apple.com>
32005
32006         CG plug-ins are always given a context with a scale factor of 1, even when the device scale factor is something else
32007         https://bugs.webkit.org/show_bug.cgi?id=67227
32008         <rdar://problem/10048319>
32009
32010         Reviewed by Sam Weinig.
32011
32012         * PluginProcess/PluginControllerProxy.cpp:
32013         (WebKit::PluginControllerProxy::paint):
32014         Apply the scale factor when painting.
32015
32016         * WebProcess/Plugins/PluginProxy.cpp:
32017         (WebKit::PluginProxy::paint):
32018         Apply the scale factor when painting.
32019
32020         (WebKit::PluginProxy::geometryDidChange):
32021         Make sure to apply the contents scale factor to the backing store size.
32022
32023         (WebKit::PluginProxy::update):
32024         Apply the scale factor (when painting).
32025
32026 2011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>
32027
32028         Remove putVirtual
32029         https://bugs.webkit.org/show_bug.cgi?id=70740
32030
32031         Reviewed by Geoffrey Garen.
32032
32033         Removed all declarations and definitions of putVirtual.
32034         Also replaced all call sites to putVirtual with a 
32035         corresponding lookup in the MethodTable.
32036
32037         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
32038         * WebProcess/Plugins/Netscape/JSNPObject.h:
32039         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
32040         (WebKit::NPJSObject::setProperty):
32041
32042 2011-10-25  Anders Carlsson  <andersca@apple.com>
32043
32044         Plug-ins have no way to find out when the device scale factor changes
32045         https://bugs.webkit.org/show_bug.cgi?id=67226
32046         <rdar://problem/10048276>
32047
32048         Reviewed by Sam Weinig.
32049
32050         * PluginProcess/PluginControllerProxy.cpp:
32051         (WebKit::PluginControllerProxy::geometryDidChange):
32052         * PluginProcess/PluginControllerProxy.h:
32053         This now takes the contentsScaleFactor and calls contentsScaleFactorChanged on its plug-in
32054         if the scale factor changes.
32055
32056         * PluginProcess/PluginControllerProxy.messages.in:
32057         GeometryDidChange now takes a contents scale factor parameter.
32058
32059         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
32060         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
32061         (WebKit::NetscapePlugin::contentsScaleFactorChanged):
32062         Implement contentsScaleFactorChanged and call NPP_SetValue with the new scale factor.
32063
32064         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
32065         (WebKit::BuiltInPDFView::contentsScaleFactorChanged):
32066         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
32067         Add stub.
32068
32069         * WebProcess/Plugins/Plugin.h:
32070         Add pure virtual contentsScaleFactorChanged member function.
32071
32072         * WebProcess/Plugins/PluginProxy.cpp:
32073         (WebKit::PluginProxy::geometryDidChange):
32074         Add geometryDidChange overload that doesn't take any parameters. Make it send over the
32075         new scale factor to the plug-in process.
32076
32077         (WebKit::PluginProxy::contentsScaleFactorChanged):
32078         Call geometryDidChange.
32079
32080         * WebProcess/Plugins/PluginView.cpp:
32081         (WebKit::PluginView::setDeviceScaleFactor):
32082         Call Plugin::contentsScaleFactorChanged.
32083
32084         * WebProcess/WebPage/WebPage.cpp:
32085         (WebKit::WebPage::setDeviceScaleFactor):
32086         Call setDeviceScaleFactor on all registered plug-ins.
32087
32088 2011-10-25  Beth Dakin  <bdakin@apple.com>
32089
32090         https://bugs.webkit.org/show_bug.cgi?id=70852
32091         Setting up a HiDPI base-level GraphicsContext should be more straightforward for 
32092         WebKit2
32093
32094         Reviewed by Dan Bernstein.
32095
32096         When we need a base-level HiDPI GraphicsContext, call into new GraphicsContext api 
32097         GraphicsContext::applyDeviceScaleFactor() rather than manually scaling and 
32098         adjusting the base CTM.
32099         * WebProcess/WebPage/DrawingAreaImpl.cpp:
32100         (WebKit::DrawingAreaImpl::display):
32101         * WebProcess/WebPage/WebPage.cpp:
32102         (WebKit::WebPage::snapshotInViewCoordinates):
32103         (WebKit::WebPage::scaledSnapshotInDocumentCoordinates):
32104
32105 2011-10-25  Anders Carlsson  <andersca@apple.com>
32106
32107         Plug-ins have to use JavaScript to find out the current device scale factor
32108         https://bugs.webkit.org/show_bug.cgi?id=67225
32109         <rdar://problem/10048258>
32110
32111         Reviewed by Darin Adler.
32112
32113         * PluginProcess/PluginControllerProxy.cpp:
32114         (WebKit::PluginControllerProxy::PluginControllerProxy):
32115         Initialize m_contentsScaleFactor.
32116
32117         * PluginProcess/PluginControllerProxy.h:
32118         Add contentsScaleFactor member function and m_contentsScaleFactor member variable.
32119
32120         * PluginProcess/PluginCreationParameters.cpp:
32121         (WebKit::PluginCreationParameters::PluginCreationParameters):
32122         (WebKit::PluginCreationParameters::encode):
32123         (WebKit::PluginCreationParameters::decode):
32124         * PluginProcess/PluginCreationParameters.h:
32125         Add contentsScaleFactor to the creation parameters.
32126
32127         * PluginProcess/mac/PluginControllerProxyMac.mm:
32128         (WebKit::PluginControllerProxy::contentsScaleFactor):
32129         Return the cached m_contentsScaleFactor.
32130
32131         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
32132         (WebKit::NPN_GetValue):
32133         Handle getting the scale factor by calling NetscapePlugin::contentsScaleFactor.
32134
32135         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
32136         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
32137         (WebKit::NetscapePlugin::contentsScaleFactor):
32138         Ask the plug-in controller for the contents scale factor.
32139
32140         * WebProcess/Plugins/PluginController.h:
32141         Add contentsScaleFactor pure virtual member function.
32142
32143         * WebProcess/Plugins/PluginProxy.cpp:
32144         (WebKit::PluginProxy::initialize):
32145         Set contentsScaleFactor in the creation parameters.
32146
32147         * WebProcess/Plugins/PluginView.cpp:
32148         (WebKit::PluginView::contentsScaleFactor):
32149         Get the device scale factor from the page.
32150
32151         * WebProcess/Plugins/PluginView.h:
32152         Add contentsScaleFactor().
32153
32154         * WebProcess/WebPage/WebPage.cpp:
32155         (WebKit::WebPage::setDeviceScaleFactor):
32156         Bail if the scale factor didn't change.
32157
32158 2011-10-25  Sam Weinig  <sam@webkit.org>
32159
32160         Flesh out WKBrowsingContextLoadDelegate a bit
32161         https://bugs.webkit.org/show_bug.cgi?id=70846
32162
32163         Add didReceiveServerRedirectForProvisionalLoad, didFailProvisionalLoad
32164         and didFailLoad.
32165
32166         Reviewed by Anders Carlsson.
32167
32168         Test: WKBrowsingContextLoadDelegateTest
32169
32170         * UIProcess/API/mac/WKBrowsingContextController.mm:
32171         (didReceiveServerRedirectForProvisionalLoadForFrame):
32172         (didFailProvisionalLoadWithErrorForFrame):
32173         (didFailLoadWithErrorForFrame):
32174         (setUpPageLoaderClient):
32175         * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h:
32176
32177 2011-10-25  Anders Carlsson  <andersca@apple.com>
32178
32179         Assertion failure when zooming a PDF in an iframe
32180         https://bugs.webkit.org/show_bug.cgi?id=70849
32181
32182         Reviewed by Alexey Proskuryakov.
32183
32184         If the plug-in doesn't want window relative coordinates, we shouldn't give the plug-in window relative coordinates.
32185
32186         * WebProcess/Plugins/PluginView.cpp:
32187         (WebKit::PluginView::viewGeometryDidChange):
32188
32189 2011-10-25  Sam Weinig  <sam@webkit.org>
32190
32191         Make loadFileURL:restrictToFilesWithin: work, albeit, without the correct
32192         restrictions for now.
32193
32194         Reviewed by Anders Carlsson.
32195
32196         * UIProcess/API/mac/WKBrowsingContextController.mm:
32197         (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]):
32198
32199 2011-10-25  Anders Carlsson  <andersca@apple.com>
32200
32201         PDF SUBFRAMES: Incomplete repaint after pinch to zoom
32202         https://bugs.webkit.org/show_bug.cgi?id=70821
32203         <rdar://problem/10312733>
32204
32205         Reviewed by Simon Fraser.
32206
32207         Add a new pure virtual member function, Plugin::wantsWindowRelativeCoordinates.
32208         If a plug-in subclass returns true, we'll keep giving the plug-in coordinates that
32209         are relative to the containing window. If a plug-in subclass returns false, we'll give it
32210         coordinates in a much more sane coordinate system, with the origin at the top left corner of the plug-in.
32211
32212         Change BuiltinPDFView to return false so that it'll work correctly with pinch to zoom.
32213         
32214         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
32215         (WebKit::NetscapePlugin::wantsWindowRelativeCoordinates):
32216         Make wantsWindowRelativeCoordinates return true.
32217
32218         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
32219         (WebKit::BuiltInPDFView::paint):
32220         Remove translation since the graphics context is already set up in the right way.
32221
32222         (WebKit::BuiltInPDFView::paintContent):
32223         No need to offset by the plug-in view location anymore.
32224
32225         (WebKit::BuiltInPDFView::paintControls):
32226         Account for the scrollbars being children of the parent scroll view here.
32227
32228         (WebKit::BuiltInPDFView::wantsWindowRelativeCoordinates):
32229         Return false.
32230
32231         (WebKit::BuiltInPDFView::convertFromContainingViewToScrollbar):
32232         Implement this so that scrollbar hit testing works correctly.
32233
32234         * WebProcess/Plugins/Plugin.h:
32235         Add wantsWindowRelativeCoordinates.
32236
32237         * WebProcess/Plugins/PluginProxy.cpp:
32238         (WebKit::PluginProxy::wantsWindowRelativeCoordinates):
32239         Return true for now.
32240
32241         * WebProcess/Plugins/PluginView.cpp:
32242         (WebKit::PluginView::renderer):
32243         Add simple getter.
32244
32245         (WebKit::PluginView::paint):
32246         Handle the case when the plug-in doesn't want window relative coordinates.
32247
32248         (WebKit::PluginView::transformsAffectFrameRect):
32249         Return true here.
32250
32251         (WebKit::PluginView::viewGeometryDidChange):
32252         No need to adjust the bounds to account for the scale factor now, since the frame rect will always be the
32253         same regardless of the transform.
32254
32255         (WebKit::PluginView::clipRectInWindowCoordinates):
32256         Ditto.
32257
32258 2011-10-25  John Sullivan  <sullivan@apple.com>
32259
32260         "Open with" item missing from PDF context menu in some cases
32261         https://bugs.webkit.org/show_bug.cgi?id=70828
32262         <rdar://problem/10034302>
32263
32264         Reviewed by Anders Carlsson.
32265
32266         * UIProcess/API/mac/PDFViewController.mm:
32267         (insertOpenWithDefaultPDFMenuItem):
32268         New helper function, extracted from -menuForEvent:. Identical to original code except
32269         that it inserts the item at a specified index, rather than always at the end.
32270         (-[WKPDFView menuForEvent:]):
32271         Now keeps track of whether the Open With item has been inserted while iterating through
32272         the PDFKit-supplied menu items looking for a "Copy" item. If a "Copy" item is not found,
32273         inserts the Open With item at the top of the context menu.
32274
32275 2011-10-25  Zeno Albisser  <zeno.albisser@nokia.com>
32276
32277         [Qt][WK2] QDesktopWebView and QTouchWebView should be declared in the meta type system.
32278         https://bugs.webkit.org/show_bug.cgi?id=70693
32279
32280         This change allows us to use the template based features of the meta type system
32281         such as using the WebView classes as types for QVariant.
32282
32283         Reviewed by Simon Hausmann.
32284
32285         * UIProcess/API/qt/qdesktopwebview.h:
32286         * UIProcess/API/qt/qtouchwebview.h:
32287
32288 2011-10-25  Zalan Bujtas  <zbujtas@gmail.com>
32289
32290         [Qt][WK2] Remove redundant setPageIsVisible() API
32291         https://bugs.webkit.org/show_bug.cgi?id=70520
32292
32293         Use DrawingAreaProxy::visibilityDidChange() instead of DrawingAreaProxy::setPageIsVisible()
32294         Remove DrawingAreaProxy::setPageIsVisible(), not used anymore.
32295         This change disables the ability of suspending and resuming painting for TiledDrawingAreaProxy.
32296         However, TiledDrawingAreaProxy is about to be deprecated by using DrawingAreaProxyImpl
32297         as the UI process drawing area proxy for tiled based rendering.
32298
32299         Reviewed by Simon Hausmann.
32300
32301         * UIProcess/API/qt/qtouchwebpage.cpp:
32302         (QTouchWebPage::QTouchWebPage):
32303         (QTouchWebPagePrivate::setPage):
32304         * UIProcess/API/qt/qtouchwebpage.h:
32305         * UIProcess/API/qt/qtouchwebview.cpp:
32306         (QTouchWebView::QTouchWebView):
32307         (QTouchWebView::touchEvent):
32308         (QTouchWebView::onVisibleChanged):
32309         * UIProcess/API/qt/qtouchwebview.h:
32310         * UIProcess/DrawingAreaProxy.h:
32311         * UIProcess/DrawingAreaProxyImpl.cpp:
32312         * UIProcess/DrawingAreaProxyImpl.h:
32313         * UIProcess/TiledDrawingAreaProxy.cpp:
32314         (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
32315         (WebKit::TiledDrawingAreaProxy::deviceScaleFactorDidChange):
32316         * UIProcess/TiledDrawingAreaProxy.h:
32317         * UIProcess/WebPageProxy.cpp:
32318         (WebKit::WebPageProxy::viewStateDidChange):
32319         * UIProcess/qt/QtWebPageProxy.cpp:
32320         * UIProcess/qt/QtWebPageProxy.h:
32321
32322 2011-10-25  Carlos Garcia Campos  <cgarcia@igalia.com>
32323
32324         [GTK] Add go_to_back_forward_list_item() to WebKit2 GTK+ API
32325         https://bugs.webkit.org/show_bug.cgi?id=69825
32326
32327         Reviewed by Martin Robinson.
32328
32329         * UIProcess/API/gtk/WebKitBackForwardListItem.cpp:
32330         (webkitBackForwardListItemGetWKItem):
32331         * UIProcess/API/gtk/WebKitBackForwardListPrivate.h:
32332         * UIProcess/API/gtk/WebKitWebView.cpp:
32333         (webkit_web_view_go_to_back_forward_list_item):
32334         * UIProcess/API/gtk/WebKitWebView.h:
32335         * UIProcess/API/gtk/tests/TestBackForwardList.cpp:
32336         (testBackForwardListNavigation):
32337
32338 2011-10-25  Vamshikrishna Yellenki  <vamshi@motorola.com>
32339
32340         [WK2]Critical warning while building WebKit2 GTK+
32341         https://bugs.webkit.org/show_bug.cgi?id=70591
32342
32343         Reviewed by Martin Robinson.
32344
32345         * WebProcess/WebPage/WebPage.cpp: Included DataObjectGtk.h to avoid warnings for GTK
32346
32347 2011-10-24  Sam Weinig  <sam@webkit.org>
32348
32349         Simplify url accessors on WKBrowsingContextController
32350         https://bugs.webkit.org/show_bug.cgi?id=70797
32351
32352         Reviewed by Anders Carlsson.
32353
32354         * UIProcess/API/C/WKPage.cpp:
32355         (WKPageCopyActiveURL):
32356         (WKPageCopyProvisionalURL):
32357         (WKPageCopyCommittedURL):
32358         * UIProcess/API/C/WKPage.h:
32359         Add accessors to C SPI.
32360
32361         * UIProcess/API/mac/WKBrowsingContextController.h:
32362         Remove unreachableURL accessor for now. It may make a glorious return when we have
32363         error page support.
32364
32365         * UIProcess/API/mac/WKBrowsingContextController.mm:
32366         (-[WKBrowsingContextController activeURL]):
32367         (-[WKBrowsingContextController provisionalURL]):
32368         (-[WKBrowsingContextController committedURL]):
32369         Implement these in terms of the new C SPI.
32370
32371         * UIProcess/WebPageProxy.cpp:
32372         (WebKit::WebPageProxy::activeURL):
32373         Add computation of the "active" URL, which is the URL one would show
32374         in an address field. It is the pending URL when there is one, the provisional
32375         URL when there is one, and otherwise the committed/final URL.
32376
32377         (WebKit::WebPageProxy::provisionalURL):
32378         (WebKit::WebPageProxy::committedURL):
32379         Add access to the main frame URL.
32380         * UIProcess/WebPageProxy.h:
32381
32382 2011-10-24  Sam Weinig  <sam@webkit.org>
32383
32384         Hook up minimalist load delegate to WKBrowsingContextController
32385         https://bugs.webkit.org/show_bug.cgi?id=70764
32386
32387         Reviewed by Simon Fraser.
32388
32389         * UIProcess/API/mac/WKBrowsingContextController.h:
32390         * UIProcess/API/mac/WKBrowsingContextController.mm:
32391         (-[WKBrowsingContextController loadDelegate]):
32392         (-[WKBrowsingContextController setLoadDelegate:]):
32393         Add loadDelegate getter/setter. As per convention, the delegate is not
32394         retained.
32395
32396         (didStartProvisionalLoadForFrame):
32397         (didCommitLoadForFrame):
32398         (didFinishLoadForFrame):
32399         (setUpPageLoaderClient):
32400         (-[WKBrowsingContextController initWithPageRef:]):
32401         Hookup the delegate to a WKPageLoaderClient.
32402
32403         * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: Added.
32404         Add load delegate as a proper protocol.
32405
32406         * WebKit2.xcodeproj/project.pbxproj:
32407         Add new file.
32408
32409 2011-10-24  Michael Saboff  <msaboff@apple.com>
32410
32411         WebKit doesn't build with recent changes to libdispatch
32412         https://bugs.webkit.org/show_bug.cgi?id=70737
32413
32414         Added initialization for new WebKitSystemInterface function 
32415         CreateVMPressureDispatchOnMainQueue.
32416
32417         Reviewed by Geoffrey Garen.
32418
32419         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
32420         (InitWebCoreSystemInterface):
32421
32422 2011-10-24  Sam Weinig  <sam@webkit.org>
32423
32424         Add URL getters for the WKBrowsingContextController
32425         https://bugs.webkit.org/show_bug.cgi?id=70752
32426
32427         Reviewed by Anders Carlsson.
32428
32429         * UIProcess/API/mac/WKBrowsingContextController.h:
32430         * UIProcess/API/mac/WKBrowsingContextController.mm:
32431         (autoreleased):
32432         Added helpers for autoreleasing.
32433
32434         (-[WKBrowsingContextController activeURL]):
32435         Added buy not implemented yet.
32436
32437         (-[WKBrowsingContextController pendingURL]):
32438         (-[WKBrowsingContextController provisionalURL]):
32439         (-[WKBrowsingContextController commitedURL]):
32440         (-[WKBrowsingContextController unreachableURL]):
32441         Added getters.
32442
32443         (-[WKBrowsingContextController title]):
32444         Convert to new autoreleased helper.
32445
32446 2011-10-24  Sam Weinig  <sam@webkit.org>
32447
32448         Add zoom and title support to Objective-C WebKit2 API
32449         https://bugs.webkit.org/show_bug.cgi?id=70744
32450
32451         Reviewed by Darin Adler.
32452
32453         * UIProcess/API/mac/WKBrowsingContextController.h:
32454         * UIProcess/API/mac/WKBrowsingContextController.mm:
32455         (-[WKBrowsingContextController title]):
32456         (-[WKBrowsingContextController textZoom]):
32457         (-[WKBrowsingContextController setTextZoom:]):
32458         (-[WKBrowsingContextController pageZoom]):
32459         (-[WKBrowsingContextController setPageZoom:]):
32460
32461 2011-10-24  Carlos Garcia Campos  <cgarcia@igalia.com>
32462
32463         [GTK] Fix make distcheck build
32464         https://bugs.webkit.org/show_bug.cgi?id=69745
32465
32466         Reviewed by Martin Robinson.
32467
32468         * GNUmakefile.am:
32469
32470 2011-10-24  Carlos Garcia Campos  <cgarcia@igalia.com>
32471
32472         [GTK] Initial implementation of back forward list for WebKit2 GTK+ API
32473         https://bugs.webkit.org/show_bug.cgi?id=69343
32474
32475         Reviewed by Martin Robinson.
32476
32477         * GNUmakefile.am: Add new files to compilation.
32478         * UIProcess/API/gtk/WebKitBackForwardList.cpp: Added.
32479         (webkitBackForwardListFinalize):
32480         (webkit_back_forward_list_init):
32481         (webkit_back_forward_list_class_init):
32482         (webkitBackForwardListGetOrCreateItem): Helper function that
32483         creates a new WebKitBackForwardListItem for the given
32484         WebBackForwardListItem or returns it from the cache if it's
32485         already cached.
32486         (webkitBackForwardListCreateList): Helper function to convert a
32487         WKArray of WebBackForwardListItems into a GList of
32488         WebKitBackForwardListItems.
32489         (webkitBackForwardListCreate): Create a new WebKitBackForwardList.
32490         (webkitBackForwardListChanged): Emits changed signal when the back
32491         forward list changes.
32492         (webkit_back_forward_list_get_current_item):
32493         (webkit_back_forward_list_get_back_item):
32494         (webkit_back_forward_list_get_forward_item):
32495         (webkit_back_forward_list_get_nth_item):
32496         (webkit_back_forward_list_get_length):
32497         (webkit_back_forward_list_get_back_list):
32498         (webkit_back_forward_list_get_back_list_with_limit):
32499         (webkit_back_forward_list_get_forward_list):
32500         (webkit_back_forward_list_get_forward_list_with_limit):
32501         * UIProcess/API/gtk/WebKitBackForwardList.h: Added.
32502         * UIProcess/API/gtk/WebKitBackForwardListItem.cpp: Added.
32503         (webkitBackForwardListItemFinalize):
32504         (webkit_back_forward_list_item_init):
32505         (webkit_back_forward_list_item_class_init):
32506         (historyItemsMap): Global cache for WebKitBackForwardListItems.
32507         (webkitBackForwardListItemFinalized):
32508         (webkitBackForwardListItemGetOrCreate): Helper function that
32509         creates a new WebKitBackForwardListItem for the given
32510         WebBackForwardListItem or returns it from the global cache if it's
32511         already cached.
32512         (webkit_back_forward_list_item_get_uri):
32513         (webkit_back_forward_list_item_get_title):
32514         (webkit_back_forward_list_item_get_original_uri):
32515         * UIProcess/API/gtk/WebKitBackForwardListItem.h: Added.
32516         * UIProcess/API/gtk/WebKitBackForwardListPrivate.h: Added.
32517         * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
32518         (didChangeBackForwardList): Call webkitBackForwardListChanged() to
32519         notify that the list has changed.
32520         (webkitWebLoaderClientAttachLoaderClientToPage): Add
32521         implementation for didChangeBackForwardList.
32522         * UIProcess/API/gtk/WebKitWebView.cpp:
32523         (webkitWebViewConstructed):
32524         (webkit_web_view_get_back_forward_list): Return the back forward
32525         list of the view.
32526         * UIProcess/API/gtk/WebKitWebView.h:
32527         * UIProcess/API/gtk/tests/GNUmakefile.am: Add new test.
32528         * UIProcess/API/gtk/tests/TestBackForwardList.cpp: Added.
32529         (serverCallback):
32530         (testBackForwardListNavigation):
32531         (testBackForwardListLimitAndCache):
32532         (beforeAll):
32533         (afterAll):
32534         * UIProcess/API/gtk/tests/TestMain.h:
32535         (Test::~Test): Check there are no objects leaked.
32536         (Test::objectFinalized): Callback called when a GObject is
32537         deleted, used to remove the watched object the list.
32538         (Test::assertObjectIsDeletedWhenTestFinishes): Add an object to
32539         the list of watched objects and add a weak pointer to remove it
32540         from the list when the object is finalized. If there aren't
32541         objects leaked, the list should be empty when the test finishes.
32542         * UIProcess/API/gtk/tests/WebViewTest.cpp:
32543         (WebViewTest::WebViewTest): Watch the web view to make sure it's
32544         not leaked.
32545         * UIProcess/API/gtk/tests/WebViewTest.h: Make WebViewTest inherit
32546         from Test class.
32547         * UIProcess/API/gtk/webkit2.h: Include WebKitBackForwardList.h and
32548         WebKitBackForwardListItem.h.
32549         * UIProcess/API/gtk/webkit2marshal.list:
32550
32551 2011-10-24  Carlos Garcia Campos  <cgarcia@igalia.com>
32552
32553         [GTK] Add helper function to set the loader client in WebKitWebView
32554         https://bugs.webkit.org/show_bug.cgi?id=70594
32555
32556         Reviewed by Martin Robinson.
32557
32558         * UIProcess/API/gtk/WebKitWebView.cpp:
32559         (webkitWebViewSetLoaderClient): Helper function to set the loader
32560         client.
32561         (webkitWebViewConstructed): Use webkitWebViewSetLoaderClient() to
32562         avoid unnecessary checks.
32563         (webkit_web_view_set_loader_client): Use
32564         webkitWebViewSetLoaderClient().
32565
32566 2011-10-24  Carlos Garcia Campos  <cgarcia@igalia.com>
32567
32568         [GTK] Remove g_thread_init() calls
32569         https://bugs.webkit.org/show_bug.cgi?id=70717
32570
32571         Reviewed by Xan Lopez.
32572
32573         With newer glib it's not needed anymore and with previous versions
32574         it was already called by g_type_init().
32575
32576         * UIProcess/API/gtk/tests/TestMain.cpp:
32577         (main):
32578
32579 2011-10-24  Zeno Albisser  <zeno.albisser@nokia.com>
32580
32581         [Qt][WK2] WebView does not get focus when being clicked / touched in MiniBrowser.
32582         https://bugs.webkit.org/show_bug.cgi?id=70613
32583
32584         Make TouchWebView and DesktopWebView take the focus whenever it receives
32585         a MouseClick or a TouchEvent.
32586
32587         Reviewed by Simon Hausmann.
32588
32589         * UIProcess/API/qt/qdesktopwebview.cpp:
32590         (QDesktopWebView::mousePressEvent):
32591         * UIProcess/API/qt/qtouchwebview.cpp:
32592         (QTouchWebView::touchEvent):
32593         * UIProcess/API/qt/qtouchwebview.h:
32594
32595 2011-10-24  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
32596
32597         [GTK] [WK2] Memory leaks in WebContextGtk.cpp
32598         https://bugs.webkit.org/show_bug.cgi?id=70505
32599
32600         Free the output of g_build_filename()
32601
32602         Reviewed by Martin Robinson.
32603
32604         * UIProcess/gtk/WebContextGtk.cpp:
32605         (WebKit::WebContext::platformDefaultDatabaseDirectory):
32606         (WebKit::WebContext::platformDefaultLocalStorageDirectory):
32607
32608 2011-10-23  Mark Hahnenberg  <mhahnenberg@apple.com>
32609
32610         Remove getConstructDataVirtual
32611         https://bugs.webkit.org/show_bug.cgi?id=70638
32612
32613         Reviewed by Darin Adler.
32614
32615         Removed all declarations and definitions of getConstructDataVirtual.
32616         Also replaced all call sites to getConstructDataVirtual with a 
32617         corresponding lookup in the MethodTable.
32618
32619         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
32620         * WebProcess/Plugins/Netscape/JSNPObject.h:
32621
32622 2011-10-21  Alexey Proskuryakov  <ap@apple.com>
32623
32624         [WK2] Clicking a print button in a PDF doesn't do anything
32625         https://bugs.webkit.org/show_bug.cgi?id=70663
32626         <rdar://problem/9795014>
32627
32628         Reviewed by Dan Bernstein.
32629
32630         * UIProcess/WebPageProxy.h:
32631         * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::printMainFrame): Added a public method
32632         that PDFViewController could call.
32633
32634         * UIProcess/API/mac/PDFViewController.h:
32635         * UIProcess/API/mac/PDFViewController.mm:
32636         (-[WKPDFView PDFViewPerformPrint:]):
32637         (WebKit::PDFViewController::print):
32638         Connect PDFView delegate method for printing.
32639
32640 2011-10-21  Sam Weinig  <sam@webkit.org>
32641
32642         Lookup does not work on text using web fonts in WebKit2
32643         https://bugs.webkit.org/show_bug.cgi?id=70669
32644         <rdar://problem/10147441>
32645
32646         Reviewed by Anders Carlsson.
32647
32648         * WebProcess/WebPage/mac/WebPageMac.mm:
32649         (WebKit::WebPage::performDictionaryLookupForRange):
32650         If the font for the range is web font (and therefore no NSFont is 
32651         available), use the system font of the same size. While not great,
32652         it approximates what WebKit1 does.
32653
32654 2011-10-21  Sam Weinig  <sam@webkit.org>
32655
32656         Fix crash below CoreIPC::MessageSender<WebKit::WebPage>::send<Messages::WebPageProxy::DidPerformDictionaryLookup>
32657         https://bugs.webkit.org/show_bug.cgi?id=70667
32658         <rdar://problem/9622186>
32659
32660         Reviewed by Anders Carlsson.
32661
32662         * Shared/DictionaryPopupInfo.cpp:
32663         (WebKit::DictionaryPopupInfo::encode):
32664         (WebKit::DictionaryPopupInfo::decode):
32665         Account for the fact that the options dictionary can be null. This is due to Lookup passing
32666         back a null, rather than empty, dictionary when it could not find any interesting characteristics.
32667
32668 2011-10-21  Sam Weinig  <sam@webkit.org>
32669
32670         Add WKBrowsingContextGroup which wraps WKPageGroupRef
32671         https://bugs.webkit.org/show_bug.cgi?id=70665
32672
32673         Reviewed by Anders Carlsson.
32674
32675         * UIProcess/API/mac/WKBrowsingContextGroup.h: Added.
32676         * UIProcess/API/mac/WKBrowsingContextGroup.mm: Added.
32677         (-[WKBrowsingContextGroup initWithIdentifier:]):
32678         (-[WKBrowsingContextGroup dealloc]):
32679         (-[WKBrowsingContextGroup pageGroupRef]):
32680         * UIProcess/API/mac/WKBrowsingContextGroupInternal.h: Added.
32681         * UIProcess/API/mac/WKView.h:
32682         * UIProcess/API/mac/WKView.mm:
32683         (-[WKView initWithFrame:processGroup:browsingContextGroup:]):
32684         * WebKit2.xcodeproj/project.pbxproj:
32685
32686 2011-10-21  Sam Weinig  <sam@webkit.org>
32687
32688         Mark member variables of WebKit2 API @private
32689         https://bugs.webkit.org/show_bug.cgi?id=70655
32690
32691         Reviewed by Simon Fraser.
32692
32693         * UIProcess/API/mac/WKBrowsingContextController.h:
32694         * UIProcess/API/mac/WKView.h:
32695
32696 2011-10-21  Sam Weinig  <sam@webkit.org>
32697
32698         Rename WKProcessCluster to WKProcessGroup
32699         https://bugs.webkit.org/show_bug.cgi?id=70654
32700
32701         Reviewed by Simon Fraser.
32702
32703         * UIProcess/API/mac/WKProcessCluster.h: Removed.
32704         * UIProcess/API/mac/WKProcessCluster.mm: Removed.
32705         * UIProcess/API/mac/WKProcessClusterInternal.h: Removed.
32706         * UIProcess/API/mac/WKProcessGroup.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessCluster.h.
32707         * UIProcess/API/mac/WKProcessGroup.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessCluster.mm.
32708         (-[WKProcessGroup initWithInjectedBundleURL:]):
32709         * UIProcess/API/mac/WKProcessGroupInternal.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessClusterInternal.h.
32710         * UIProcess/API/mac/WKView.h:
32711         * UIProcess/API/mac/WKView.mm:
32712         (-[WKView initWithFrame:processCluster:]):
32713         * WebKit2.xcodeproj/project.pbxproj:
32714
32715 2011-10-21  Sam Weinig  <sam@webkit.org>
32716
32717         Remove ability to create a WKView without a WKContextRef and WKPageGroupRef
32718         https://bugs.webkit.org/show_bug.cgi?id=70653
32719
32720         Reviewed by Simon Fraser.
32721
32722         Requiring a context and pagegroup removes the concept of global contexts,
32723         which is something that is both confusing, and makes Objective-C wrapping
32724         harder.
32725
32726         * UIProcess/API/mac/WKView.mm:
32727         (-[WKView initWithFrame:processCluster:]):
32728         * UIProcess/API/mac/WKViewPrivate.h:
32729         Remove init methods that didn't take both a context and a pagegroup.
32730
32731 2011-10-21  Alexey Proskuryakov  <ap@apple.com>
32732
32733         [WK2] Crash after printing a view with accelerated compositing content
32734         https://bugs.webkit.org/show_bug.cgi?id=70643
32735         <rdar://problem/9479083>
32736
32737         Reviewed by Darin Adler.
32738
32739         * UIProcess/API/mac/WKPrintingView.mm: (-[WKPrintingView _delayedResumeAutodisplayTimerFired]):
32740         We cannot rely on -[WKView drawRect:] calling endPrinting() for us. That call to endPrinting()
32741         is still necessary to paint e.g. when resizing a window while a print dialog is present.
32742
32743 2011-10-21  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
32744
32745         [WK2] WebFrameLoaderClient::shouldFallback() should use a port-specific implementation
32746         https://bugs.webkit.org/show_bug.cgi?id=70055
32747
32748         Reviewed by Luiz Agostini.
32749
32750         In QtWebKit 1, our FrameLoaderClient::shouldFallback was checking for InterruptedForPolicyChange
32751         error. In WebKit2, we are relying on the common implementation for WebFrameLoaderClient::shouldFallback
32752         which doesn't check for the same error. Here we add this check only for Qt.
32753
32754         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
32755         (WebKit::WebFrameLoaderClient::shouldFallBack):
32756
32757 2011-10-21  Anders Carlsson  <andersca@apple.com>
32758
32759         Flash of white when loading a page after a web process crash
32760         https://bugs.webkit.org/show_bug.cgi?id=70615
32761         <rdar://problem/10306906>
32762
32763         Reviewed by Darin Adler.
32764
32765         * UIProcess/API/mac/WKView.mm:
32766         (-[WKView _processDidCrash]):
32767         (-[WKView _didRelaunchProcess]):
32768         Remove calls to setNeedsDisplay here.
32769
32770         * UIProcess/WebPageProxy.cpp:
32771         (WebKit::WebPageProxy::processDidCrash):
32772         Call setNeedsDisplay, but only if calling out to the loader client didn't relaunch the web process.
32773
32774         * WebProcess/WebPage/DrawingArea.h:
32775         (WebKit::DrawingArea::setPaintingEnabled):
32776         * WebProcess/WebPage/DrawingAreaImpl.cpp:
32777         (WebKit::DrawingAreaImpl::DrawingAreaImpl):
32778         (WebKit::DrawingAreaImpl::setNeedsDisplay):
32779         (WebKit::DrawingAreaImpl::scroll):
32780         (WebKit::DrawingAreaImpl::setPaintingEnabled):
32781         * WebProcess/WebPage/DrawingAreaImpl.h:
32782         Add a way to disable painting completely for a drawing area.
32783
32784         * WebProcess/WebPage/WebPage.cpp:
32785         (WebKit::WebPage::WebPage):
32786         Disable painting while setting up the web page, otherwise we'll get paint requests when we set the
32787         active state of the web page.
32788
32789 2011-10-21  Csaba Osztrogonác  <ossy@webkit.org>
32790
32791         [Qt][WK2] Buildfix for newer Qt5. Remove duplicated defines.
32792
32793         Reviewed by Simon Hausmann.
32794
32795         * UIProcess/API/qt/tests/util.h:
32796
32797 2011-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
32798
32799         Unreviewed. Fix WebKit2 GTK+ build after r98081.
32800
32801         * UIProcess/API/gtk/WebKitWebView.h:
32802
32803 2011-10-21  Sheriff Bot  <webkit.review.bot@gmail.com>
32804
32805         Unreviewed, rolling out r98085.
32806         http://trac.webkit.org/changeset/98085
32807         https://bugs.webkit.org/show_bug.cgi?id=70589
32808
32809         It broke the build (Requested by Ossy on #webkit).
32810
32811         * UIProcess/API/qt/tests/util.h:
32812
32813 2011-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
32814
32815         [GTK] Fix API documentation comment for webkit_web_view_get_estimated_load_progress()
32816         https://bugs.webkit.org/show_bug.cgi?id=70587
32817
32818         Reviewed by Philippe Normand.
32819
32820         It's should start with /** to be recognized as API documentation.
32821
32822         * UIProcess/API/gtk/WebKitWebView.cpp:
32823
32824 2011-10-21  Csaba Osztrogonác  <ossy@webkit.org>
32825
32826         [Qt][WK2] Unreviewed buildfix for newer Qt5. Remove duplicated defines.
32827
32828         * UIProcess/API/qt/tests/util.h:
32829
32830 2011-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
32831
32832         [GTK] Add can_go_back/forward methods to WebKit2 GTK+ API
32833         https://bugs.webkit.org/show_bug.cgi?id=69823
32834
32835         Reviewed by Martin Robinson.
32836
32837         * UIProcess/API/gtk/WebKitWebView.cpp:
32838         (webkit_web_view_go_back):
32839         (webkit_web_view_can_go_back):
32840         (webkit_web_view_go_forward):
32841         (webkit_web_view_can_go_forward):
32842         * UIProcess/API/gtk/WebKitWebView.h:
32843
32844 2011-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
32845
32846         [GTK] Add webkit_web_view_stop_loading() to WebKit2 GTK+ API
32847         https://bugs.webkit.org/show_bug.cgi?id=69610
32848
32849         Reviewed by Martin Robinson.
32850
32851         * UIProcess/API/gtk/WebKitWebView.cpp:
32852         (webkit_web_view_stop_loading):
32853         * UIProcess/API/gtk/WebKitWebView.h:
32854         * UIProcess/API/gtk/tests/LoadTrackingTest.cpp:
32855         (provisionalLoadFailedCallback):
32856         (loadFailedCallback):
32857         * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp:
32858         (LoadStopTrackingTest::loadCommitted):
32859         (LoadStopTrackingTest::loadFailed):
32860         (LoadStopTrackingTest::loadFinished):
32861         (testLoadCancelled):
32862         (serverCallback):
32863         (beforeAll):
32864
32865 2011-10-20  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
32866
32867         [Qt][WK2] qweberror* should follow the new file and class naming rules
32868         https://bugs.webkit.org/show_bug.cgi?id=70550
32869
32870         Reviewed by Noam Rosenthal.
32871
32872         Renaming qweberror* files and class to QtWebError*.
32873         QWebErrorPrivate is now merged into QtWebError.
32874
32875         * UIProcess/API/qt/qdesktopwebview.cpp:
32876         (QDesktopWebViewPrivate::loadDidFail):
32877         * UIProcess/API/qt/qdesktopwebview_p.h:
32878         * UIProcess/qt/ClientImpl.cpp:
32879         (dispatchLoadFailed):
32880         * UIProcess/qt/QtTouchViewInterface.cpp:
32881         (WebKit::QtTouchViewInterface::loadDidFail):
32882         * UIProcess/qt/QtTouchViewInterface.h:
32883         * UIProcess/qt/QtViewInterface.h:
32884         * UIProcess/qt/QtWebError.cpp: Renamed from Source/WebKit2/UIProcess/qt/qweberror.cpp.
32885         (QtWebError::QtWebError):
32886         (QtWebError::type):
32887         (QtWebError::errorCode):
32888         (QtWebError::url):
32889         * UIProcess/qt/QtWebError.h: Renamed from Source/WebKit2/UIProcess/qt/qweberror.h.
32890         (QtWebError::errorCodeAsHttpStatusCode):
32891         (QtWebError::errorCodeAsNetworkError):
32892         * UIProcess/qt/QtWebPageProxy.cpp:
32893         (QtWebPageProxy::loadDidFail):
32894         * UIProcess/qt/QtWebPageProxy.h:
32895         * UIProcess/qt/qweberror_p.h: Removed.
32896         * WebKit2.pro:
32897
32898 2011-10-20  Alexey Proskuryakov  <ap@apple.com>
32899
32900         REGRESSION (r96823): Contextual menu closes immediately when control-clicking in Flash plug-in
32901         https://bugs.webkit.org/show_bug.cgi?id=70534
32902         <rdar://problem/10308827>
32903
32904         Reviewed by Darin Adler.
32905
32906         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp: (WebKit::NetscapePlugin::handleContextMenuEvent):
32907         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
32908         * WebProcess/Plugins/Plugin.h:
32909         * WebProcess/Plugins/PluginProxy.cpp: (WebKit::PluginProxy::handleContextMenuEvent):
32910         * WebProcess/Plugins/PluginProxy.h:
32911         * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::handleEvent):
32912         Return true when handling contextmenu event, so that plug-ins won't get a default WebKit
32913         context menu. We can't know if the plug-in is handling mousedown (or even mouseup) by
32914         displaying a menu.
32915
32916         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
32917         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: (WebKit::BuiltInPDFView::handleContextMenuEvent):
32918         PDF is the only "plug-in" that wants default WebKit menu now.
32919
32920 2011-10-20  Sam Weinig  <sam@webkit.org>
32921
32922         Put the WebKit2 C SPI in PrivateHeaders
32923         https://bugs.webkit.org/show_bug.cgi?id=70549
32924
32925         Reviewed by Dan Bernstein.
32926
32927         No change in behavior.
32928
32929         * WebKit2.xcodeproj/project.pbxproj:
32930
32931 2011-10-20  Brady Eidson  <beidson@apple.com>
32932
32933         <rdar://problem/9412849> and https://bugs.webkit.org/show_bug.cgi?id=70535
32934         WK2 - Crash deref'ing a null context menu
32935
32936         Reviewed by Darin Adler.
32937
32938         * WebProcess/WebPage/WebPage.cpp:
32939         (WebKit::WebPage::didSelectItemFromActiveContextMenu): In some cases that we still can't reproduce,
32940           this message can be received in the WebProcess after the context menu has been cleared, leading
32941           to a crash. Turning the ASSERT in to an early return will prevent the crash while we try to learn more
32942           about how this could happen.
32943
32944 2011-10-20  Gustavo Noronha Silva  <gns@gnome.org>
32945
32946         GTK+ build fix. Wk2 documentation will be dealt with in future
32947         patches.
32948
32949         * UIProcess/API/gtk/docs/GNUmakefile.am:
32950
32951 2011-10-20  Mark Hahnenberg  <mhahnenberg@apple.com>
32952
32953         Rename static deleteProperty to deletePropertyByIndex
32954         https://bugs.webkit.org/show_bug.cgi?id=70257
32955
32956         Reviewed by Geoffrey Garen.
32957
32958         Renaming versions of deleteProperty that use an unsigned as the property
32959         name to "deletePropertyByIndex" in preparation for adding them to the 
32960         MethodTable, which requires unique names for each method.
32961
32962         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
32963         (WebKit::JSNPObject::deletePropertyVirtual):
32964         (WebKit::JSNPObject::deletePropertyByIndex):
32965         * WebProcess/Plugins/Netscape/JSNPObject.h:
32966
32967 2011-10-20  Carlos Garcia Campos  <cgarcia@igalia.com>
32968
32969         [GTK] Remove WebKitWebLoaderClientPrivate
32970         https://bugs.webkit.org/show_bug.cgi?id=70488
32971
32972         Reviewed by Philippe Normand.
32973
32974         It's unused since r97920.
32975
32976         * GNUmakefile.am: Add WebKitWebLoaderClientPrivate.h.
32977         * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
32978         (webkitWebLoaderClientAttachLoaderClientToPage): Renamed to make
32979         it clear it's a private method of WebKitWebLoaderClient.
32980         (webkit_web_loader_client_init): Remove
32981         WebKitWebLoaderClientPrivate initialization.
32982         (webkit_web_loader_client_class_init): Removed adding
32983         WebKitWebLoaderClientPrivate struct as private data.
32984         * UIProcess/API/gtk/WebKitWebLoaderClient.h: Remove
32985         WebKitWebLoaderClientPrivate definition.
32986         * UIProcess/API/gtk/WebKitWebLoaderClientPrivate.h: Move
32987         webkitWebLoaderClientAttachLoaderClientToPage method here since
32988         it's a private method implemented in WebKitWebLoaderClient, not in
32989         WebKitWebView.
32990         * UIProcess/API/gtk/WebKitWebView.cpp:
32991         (webkit_web_view_set_loader_client): Use
32992         webkitWebLoaderClientAttachLoaderClientToPage.
32993         * UIProcess/API/gtk/WebKitWebViewPrivate.h: Remove
32994         webkitWebLoaderClientAttachLoaderClientToPage prototype.
32995
32996 2011-10-10  Martin Robinson  <mrobinson@igalia.com>
32997
32998         [GTK] [WebKit2] Allow sharing page clients between WebViews
32999         https://bugs.webkit.org/show_bug.cgi?id=69814
33000
33001         No longer associate WebPage client wrappers with a WebKitWebView. This allows the
33002         same client to be used with more than one WebKitWebView.
33003
33004         Reviewed by Xan Lopez.
33005
33006         * GNUmakefile.am: Add the new WebKitWebViewPrivate header.
33007         * UIProcess/API/gtk/WebKitDefines.h: Added some forward declarations for API classes.
33008         * UIProcess/API/gtk/WebKitWebLoaderClient.cpp: C API callbacks now convert their WKPageRef argument
33009         into a WebKitWebView directly and pass it as a parameter to signals. Remove the web-view property.
33010         * UIProcess/API/gtk/WebKitWebLoaderClient.h: Move the estimated-progress property to WebKitWebView.
33011         * UIProcess/API/gtk/WebKitWebView.cpp: Add an estimated-load-progress property.
33012         (webkitWebViewConstructed):Only allocate one default WebKitWebLoaderClient.
33013         (webkitWebViewGetProperty): Add support for the new property.
33014         (webkit_web_view_class_init): Ditto.
33015         (webkitWebViewSetEstimatedLoadProgress): Added this private method so that the WebKitWebLoaderClient
33016         can update the appropriate WebKitWebView.
33017         (webkit_web_view_set_loader_client): Attach the C API callbacks here now.
33018         (webkit_web_view_get_estimated_load_progress): Moved from WebKitWebLoaderClient.
33019         * UIProcess/API/gtk/WebKitWebView.h: Added new method definition.
33020         * UIProcess/API/gtk/WebKitWebViewPrivate.h: Copied from Source/WebKit2/UIProcess/API/gtk/WebKitDefines.h.
33021         * UIProcess/API/gtk/tests/LoadTrackingTest.cpp: Updated the load tracking tests callbacks to take the new parameter.
33022         (LoadTrackingTest::LoadTrackingTest): Listen to the WebKitWebView property now.
33023         (LoadTrackingTest::estimatedProgressChanged):
33024         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: Added a test to verify that two WebViews share the same default client.
33025         * UIProcess/API/gtk/webkit2marshal.list: Updated the marshallers here.
33026
33027 2011-10-19  Anders Carlsson  <andersca@apple.com>
33028
33029         White flash when painting a previously crashed WKView
33030         https://bugs.webkit.org/show_bug.cgi?id=70453
33031         <rdar://problem/10306906>
33032
33033         Reviewed by John Sullivan.
33034
33035         * UIProcess/WebPageProxy.cpp:
33036         (WebKit::WebPageProxy::reattachToWebProcess):
33037         Call waitForBackingStoreUpdateOnNextPaint so we'll wait for the next paint instead of painting white.
33038
33039 2011-10-19  Beth Dakin  <bdakin@apple.com>
33040
33041         https://bugs.webkit.org/show_bug.cgi?id=70396
33042         Focus rings are too thin in HiDPI in WebKit2
33043         -and corresponding-
33044         <rdar://problem/10086876>
33045
33046         Reviewed by Dan Bernstein.
33047
33048         Rename wkSetPatternBaseCTM to wkSetBaseCTM
33049         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
33050         (InitWebCoreSystemInterface):
33051
33052         When setting up a HiDPI context, we must also set the base CTM.
33053         * WebProcess/WebPage/DrawingAreaImpl.cpp:
33054         (WebKit::DrawingAreaImpl::display):
33055         * WebProcess/WebPage/WebPage.cpp:
33056         (WebKit::WebPage::scaledSnapshotInDocumentCoordinates):
33057         (WebKit::WebPage::snapshotInViewCoordinates):
33058
33059 2011-10-19  Sam Weinig  <sam@webkit.org>
33060
33061         Add skeleton of an Objective-C WebKit2 API
33062         https://bugs.webkit.org/show_bug.cgi?id=70438
33063
33064         Reviewed by Anders Carlsson.
33065
33066         Adds WKBrowsingContextController (WKPageRef wrapper) and WKProcessCluster
33067         (WKContextRef wrapper) as initial files of an Objective-C WebKit2 API. Also,
33068         hook them up so that you can get a WKBrowsingContextController from the WKView
33069         and you can create a WKView associated with a WKProcessCluster. These names are
33070         not final, and this work is mainly about getting the wrapper lifetimes worked
33071         out.
33072
33073         * UIProcess/API/mac/WKBrowsingContextController.h: Added.
33074         * UIProcess/API/mac/WKBrowsingContextController.mm: Added.
33075         (-[WKBrowsingContextController dealloc]):
33076         (-[WKBrowsingContextController pageRef]):
33077         (-[WKBrowsingContextController loadRequest:]):
33078         (-[WKBrowsingContextController loadFileURL:restrictToFilesWithin:]):
33079         (-[WKBrowsingContextController stopLoading]):
33080         (-[WKBrowsingContextController reload]):
33081         (-[WKBrowsingContextController reloadFromOrigin]):
33082         (-[WKBrowsingContextController goForward]):
33083         (-[WKBrowsingContextController canGoForward]):
33084         (-[WKBrowsingContextController goBack]):
33085         (-[WKBrowsingContextController canGoBack]):
33086         (-[WKBrowsingContextController initWithPageRef:]):
33087         * UIProcess/API/mac/WKBrowsingContextControllerInternal.h: Added.
33088         Add wrapper for WKPageRef.
33089
33090         * UIProcess/API/mac/WKProcessCluster.h: Added.
33091         * UIProcess/API/mac/WKProcessCluster.mm: Added.
33092         (-[WKProcessCluster init]):
33093         (-[WKProcessCluster initWithInjectedBundleURL:]):
33094         (-[WKProcessCluster dealloc]):
33095         (-[WKProcessCluster contextRef]):
33096         * UIProcess/API/mac/WKProcessClusterInternal.h: Added.
33097         Add wrapper for WKContextRef.
33098
33099         * UIProcess/API/mac/WKView.h:
33100         * UIProcess/API/mac/WKView.mm:
33101         (-[WKView initWithFrame:processCluster:]):
33102         Add new init method which takes a WKProcessCluster.
33103
33104         (-[WKView browsingContextController]):
33105         Add accessor for the WKBrowsingContextController. This works by lazily creating
33106         the wrapper and caching it in the view itself.
33107
33108         * WebKit2.xcodeproj/project.pbxproj:
33109         Add new files.
33110
33111 2011-10-19  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
33112
33113         [Qt] [WK2] Rename files and classes to follow conventions
33114         https://bugs.webkit.org/show_bug.cgi?id=70391
33115
33116         Reviewed by Noam Rosenthal.
33117
33118         Rename the files and classes following the agreed conventions on
33119         QtWebKit mailing list -- which are based on existing usage we have.
33120
33121         - Public API follow Qt conventions: qsomething.cpp qsomething.h with class named QSomething
33122
33123         - Private classes for public API classes follow Qt conventions:
33124           qsomething_p.h qsomething_p.cpp (if needed), with class named QSomethingPrivate
33125
33126         - Subclasses and Qt-specific implementations of WebKit/WebCore classes use Qt suffix:
33127           FrameLoaderClientQt.cpp
33128
33129         - Other classes created for using in our port use Qt prefix: QtFileDownloader, QtViewInterface
33130
33131         This is documented in https://trac.webkit.org/wiki/QtWebKitHacking
33132
33133         * UIProcess/API/qt/qdesktopwebview.cpp:
33134         (QDesktopWebViewPrivate::chooseFiles):
33135         (toPolicyAction):
33136         (QDesktopWebViewPrivate::navigationPolicyForURL):
33137         * UIProcess/API/qt/qdesktopwebview_p.h:
33138         * UIProcess/API/qt/qtouchwebpage.cpp:
33139         (QTouchWebPage::updatePaintNode):
33140         (QTouchWebPagePrivate::setPage):
33141         * UIProcess/API/qt/qtouchwebpage.h:
33142         * UIProcess/API/qt/qtouchwebpage_p.h:
33143         * UIProcess/API/qt/qtouchwebview.cpp:
33144         (QTouchWebViewPrivate::updateViewportConstraints):
33145         * UIProcess/API/qt/qtouchwebview.h:
33146         * UIProcess/API/qt/qtouchwebview_p.h:
33147         * UIProcess/TiledDrawingAreaProxy.h:
33148         * UIProcess/qt/ClientImpl.cpp:
33149         (toQtViewInterface):
33150         (toQtPolicyInterface):
33151         (qt_wk_runJavaScriptAlert):
33152         (qt_wk_runJavaScriptConfirm):
33153         (qt_wk_runJavaScriptPrompt):
33154         (qt_wk_setStatusText):
33155         (qt_wk_runOpenPanel):
33156         (qt_wk_mouseDidMoveOverElement):
33157         (qt_wk_decidePolicyForNavigationAction):
33158         * UIProcess/qt/QtDesktopWebPageProxy.cpp: Renamed from Source/WebKit2/UIProcess/qt/qdesktopwebpageproxy.cpp.
33159         (dragOperationToDropAction):
33160         (QtDesktopWebPageProxy::QtDesktopWebPageProxy):
33161         (QtDesktopWebPageProxy::createDrawingAreaProxy):
33162         (QtDesktopWebPageProxy::paintContent):
33163         (QtDesktopWebPageProxy::setViewportArguments):
33164         (QtDesktopWebPageProxy::doneWithTouchEvent):
33165         (QtDesktopWebPageProxy::createPopupMenuProxy):
33166         (QtDesktopWebPageProxy::handleEvent):
33167         (QtDesktopWebPageProxy::handleMouseMoveEvent):
33168         (QtDesktopWebPageProxy::handleMousePressEvent):
33169         (QtDesktopWebPageProxy::handleMouseReleaseEvent):
33170         (QtDesktopWebPageProxy::handleMouseDoubleClickEvent):
33171         (QtDesktopWebPageProxy::handleWheelEvent):
33172         (QtDesktopWebPageProxy::handleHoverLeaveEvent):
33173         (QtDesktopWebPageProxy::handleHoverMoveEvent):
33174         (QtDesktopWebPageProxy::handleDragEnterEvent):
33175         (QtDesktopWebPageProxy::handleDragLeaveEvent):
33176         (QtDesktopWebPageProxy::handleDragMoveEvent):
33177         (QtDesktopWebPageProxy::handleDropEvent):
33178         (QtDesktopWebPageProxy::timerEvent):
33179         * UIProcess/qt/QtDesktopWebPageProxy.h: Renamed from Source/WebKit2/UIProcess/qt/qdesktopwebpageproxy.h.
33180         * UIProcess/qt/QtGestureRecognizer.cpp:
33181         (WebKit::QtGestureRecognizer::QtGestureRecognizer):
33182         * UIProcess/qt/QtGestureRecognizer.h:
33183         * UIProcess/qt/QtPanGestureRecognizer.cpp:
33184         (WebKit::QtPanGestureRecognizer::QtPanGestureRecognizer):
33185         * UIProcess/qt/QtPanGestureRecognizer.h:
33186         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
33187         (WebKit::QtPinchGestureRecognizer::QtPinchGestureRecognizer):
33188         * UIProcess/qt/QtPinchGestureRecognizer.h:
33189         * UIProcess/qt/QtPolicyInterface.h: Renamed from Source/WebKit2/UIProcess/qt/PolicyInterface.h.
33190         * UIProcess/qt/QtSGTileNode.cpp: Renamed from Source/WebKit2/UIProcess/qt/SGTileNode.cpp.
33191         (WebKit::QtSGTileNode::QtSGTileNode):
33192         (WebKit::QtSGTileNode::setBackBuffer):
33193         (WebKit::QtSGTileNode::swapBuffersIfNeeded):
33194         * UIProcess/qt/QtSGTileNode.h: Renamed from Source/WebKit2/UIProcess/qt/SGTileNode.h.
33195         * UIProcess/qt/QtSGUpdateQueue.cpp: Renamed from Source/WebKit2/UIProcess/qt/SGUpdateQueue.cpp.
33196         (WebKit::NodeUpdateCreateTile::NodeUpdateCreateTile):
33197         (WebKit::NodeUpdateRemoveTile::NodeUpdateRemoveTile):
33198         (WebKit::NodeUpdateSetBackBuffer::NodeUpdateSetBackBuffer):
33199         (WebKit::NodeUpdateSwapTileBuffers::NodeUpdateSwapTileBuffers):
33200         (WebKit::QtSGUpdateQueue::QtSGUpdateQueue):
33201         (WebKit::QtSGUpdateQueue::createTileNode):
33202         (WebKit::QtSGUpdateQueue::removeTileNode):
33203         (WebKit::QtSGUpdateQueue::setNodeBackBuffer):
33204         (WebKit::QtSGUpdateQueue::swapTileBuffers):
33205         (WebKit::QtSGUpdateQueue::applyUpdates):
33206         (WebKit::QtSGUpdateQueue::getScaleNode):
33207         * UIProcess/qt/QtSGUpdateQueue.h: Renamed from Source/WebKit2/UIProcess/qt/SGUpdateQueue.h.
33208         (WebKit::QtSGUpdateQueue::isSwapPending):
33209         (WebKit::NodeUpdate::NodeUpdate):
33210         (WebKit::NodeUpdate::~NodeUpdate):
33211         * UIProcess/qt/QtTouchViewInterface.cpp: Renamed from Source/WebKit2/UIProcess/qt/TouchViewInterface.cpp.
33212         (WebKit::QtTouchViewInterface::QtTouchViewInterface):
33213         (WebKit::QtTouchViewInterface::didFindZoomableArea):
33214         (WebKit::QtTouchViewInterface::sceneGraphUpdateQueue):
33215         (WebKit::QtTouchViewInterface::setViewNeedsDisplay):
33216         (WebKit::QtTouchViewInterface::drawingAreaSize):
33217         (WebKit::QtTouchViewInterface::contentSizeChanged):
33218         (WebKit::QtTouchViewInterface::isActive):
33219         (WebKit::QtTouchViewInterface::hasFocus):
33220         (WebKit::QtTouchViewInterface::isVisible):
33221         (WebKit::QtTouchViewInterface::startDrag):
33222         (WebKit::QtTouchViewInterface::didReceiveViewportArguments):
33223         (WebKit::QtTouchViewInterface::didChangeUrl):
33224         (WebKit::QtTouchViewInterface::didChangeTitle):
33225         (WebKit::QtTouchViewInterface::didChangeToolTip):
33226         (WebKit::QtTouchViewInterface::didChangeStatusText):
33227         (WebKit::QtTouchViewInterface::didChangeCursor):
33228         (WebKit::QtTouchViewInterface::loadDidBegin):
33229         (WebKit::QtTouchViewInterface::loadDidCommit):
33230         (WebKit::QtTouchViewInterface::loadDidSucceed):
33231         (WebKit::QtTouchViewInterface::loadDidFail):
33232         (WebKit::QtTouchViewInterface::didChangeLoadProgress):
33233         (WebKit::QtTouchViewInterface::showContextMenu):
33234         (WebKit::QtTouchViewInterface::hideContextMenu):
33235         (WebKit::QtTouchViewInterface::runJavaScriptAlert):
33236         (WebKit::QtTouchViewInterface::runJavaScriptConfirm):
33237         (WebKit::QtTouchViewInterface::runJavaScriptPrompt):
33238         (WebKit::QtTouchViewInterface::processDidCrash):
33239         (WebKit::QtTouchViewInterface::didRelaunchProcess):
33240         (WebKit::QtTouchViewInterface::engine):
33241         * UIProcess/qt/QtTouchViewInterface.h: Renamed from Source/WebKit2/UIProcess/qt/TouchViewInterface.h.
33242         (WebKit::QtTouchViewInterface::chooseFiles):
33243         (WebKit::QtTouchViewInterface::didMouseMoveOverElement):
33244         * UIProcess/qt/QtTouchWebPageProxy.cpp: Renamed from Source/WebKit2/UIProcess/qt/qtouchwebpageproxy.cpp.
33245         (QtTouchWebPageProxy::QtTouchWebPageProxy):
33246         (QtTouchWebPageProxy::createDrawingAreaProxy):
33247         (QtTouchWebPageProxy::processDidCrash):
33248         (QtTouchWebPageProxy::paintContent):
33249         (QtTouchWebPageProxy::doneWithTouchEvent):
33250         (QtTouchWebPageProxy::handleEvent):
33251         (QtTouchWebPageProxy::setVisibleContentRectAndScale):
33252         (QtTouchWebPageProxy::setVisibleContentRectTrajectoryVector):
33253         (QtTouchWebPageProxy::setResizesToContentsUsingLayoutSize):
33254         (QtTouchWebPageProxy::touchEvent):
33255         (QtTouchWebPageProxy::findZoomableAreaForPoint):
33256         (QtTouchWebPageProxy::renderNextFrame):
33257         * UIProcess/qt/QtTouchWebPageProxy.h: Renamed from Source/WebKit2/UIProcess/qt/qtouchwebpageproxy.h.
33258         (QtTouchWebPageProxy::touchViewInterface):
33259         (QtTouchWebPageProxy::drawingArea):
33260         * UIProcess/qt/QtViewInterface.h: Renamed from Source/WebKit2/UIProcess/qt/ViewInterface.h.
33261         * UIProcess/qt/QtViewportInteractionEngine.cpp: Renamed from Source/WebKit2/UIProcess/qt/ViewportInteractionEngine.cpp.
33262         (WebKit::visibleRectInContentCoordinate):
33263         (WebKit::contentRectInViewportCoordinate):
33264         (WebKit::ViewportUpdateGuard::ViewportUpdateGuard):
33265         (WebKit::ViewportUpdateGuard::~ViewportUpdateGuard):
33266         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
33267         (WebKit::QtViewportInteractionEngine::~QtViewportInteractionEngine):
33268         (WebKit::QtViewportInteractionEngine::reset):
33269         (WebKit::QtViewportInteractionEngine::setConstraints):
33270         (WebKit::QtViewportInteractionEngine::panGestureStarted):
33271         (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
33272         (WebKit::QtViewportInteractionEngine::panGestureCancelled):
33273         (WebKit::QtViewportInteractionEngine::panGestureEnded):
33274         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
33275         (WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
33276         (WebKit::QtViewportInteractionEngine::pinchGestureEnded):
33277         (WebKit::QtViewportInteractionEngine::contentViewportChanged):
33278         (WebKit::QtViewportInteractionEngine::updateContentIfNeeded):
33279         (WebKit::QtViewportInteractionEngine::updateContentScaleIfNeeded):
33280         (WebKit::QtViewportInteractionEngine::updateContentPositionIfNeeded):
33281         (WebKit::QtViewportInteractionEngine::animateContentIntoBoundariesIfNeeded):
33282         (WebKit::QtViewportInteractionEngine::animateContentPositionIntoBoundariesIfNeeded):
33283         (WebKit::QtViewportInteractionEngine::animateContentScaleIntoBoundariesIfNeeded):
33284         (WebKit::QtViewportInteractionEngine::scaleContent):
33285         * UIProcess/qt/QtViewportInteractionEngine.h: Renamed from Source/WebKit2/UIProcess/qt/ViewportInteractionEngine.h.
33286         (WebKit::QtViewportInteractionEngine::Constraints::Constraints):
33287         (WebKit::operator==):
33288         * UIProcess/qt/QtWebPageProxy.cpp:
33289         (QtWebPageProxy::QtWebPageProxy):
33290         (QtWebPageProxy::registerEditCommand):
33291         * UIProcess/qt/QtWebPageProxy.h:
33292         * UIProcess/qt/QtWebUndoCommand.cpp: Renamed from Source/WebKit2/UIProcess/qt/WebUndoCommandQt.cpp.
33293         (QtWebUndoCommand::QtWebUndoCommand):
33294         (QtWebUndoCommand::~QtWebUndoCommand):
33295         (QtWebUndoCommand::redo):
33296         (QtWebUndoCommand::undo):
33297         * UIProcess/qt/QtWebUndoCommand.h: Renamed from Source/WebKit2/UIProcess/qt/WebUndoCommandQt.h.
33298         (QtWebUndoCommand::inUndoRedo):
33299         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
33300         (WebKit::TiledDrawingAreaProxy::updateWebView):
33301         * UIProcess/qt/WebContextMenuProxyQt.cpp:
33302         (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
33303         (WebKit::WebContextMenuProxyQt::create):
33304         * UIProcess/qt/WebContextMenuProxyQt.h:
33305         * WebKit2.pro:
33306
33307 2011-10-19  Tomasz Morawski  <t.morawski@samsung.com>
33308
33309         [EFL][WK2] Added missing dummy interpretKeyEvent function
33310         https://bugs.webkit.org/show_bug.cgi?id=70311
33311
33312         Reviewed by Ryosuke Niwa.
33313
33314         Added missing dummy interpretKeyEvent function needed to compile WK2.
33315
33316         * WebProcess/WebPage/efl/WebPageEfl.cpp:
33317         (WebKit::WebPage::interpretKeyEvent):
33318
33319 2011-10-18  Sam Weinig  <sam@webkit.org>
33320
33321         Move uses of C SPI out of WKView.h and into WKViewPrivate.h
33322         https://bugs.webkit.org/show_bug.cgi?id=70387
33323
33324         Reviewed by Dan Bernstein.
33325
33326         * UIProcess/API/mac/WKViewPrivate.h:
33327         Move declarations here.
33328
33329         * UIProcess/API/mac/WKView.h:
33330         * UIProcess/API/mac/WKView.mm:
33331         (-[WKView _updateRemoteAccessibilityRegistration:]):
33332         (-[WKView initWithFrame:]):
33333         (-[WKView initWithFrame:contextRef:]):
33334         (-[WKView _registerDraggedTypes]):
33335         (-[WKView initWithFrame:contextRef:pageGroupRef:]):
33336         (-[WKView pageRef]):
33337         (-[WKView canChangeFrameLayout:]):
33338         (-[WKView printOperationWithPrintInfo:forFrame:]):
33339         (-[WKView setFrame:andScrollBy:]):
33340         Move definitions to private category.
33341
33342         * UIProcess/API/mac/PDFViewController.mm:
33343         * UIProcess/mac/WKFullScreenWindowController.mm:
33344         * UIProcess/mac/WebInspectorProxyMac.mm:
33345         Update to include WKViewPrivate.h where necessary.
33346
33347 2011-10-18  Sam Weinig  <sam@webkit.org>
33348
33349         Stop leaking internal names in WKView API header
33350         https://bugs.webkit.org/show_bug.cgi?id=70380
33351
33352         Reviewed by Anders Carlsson.
33353
33354         Move _frameSizeUpdatesDisabledCount to WKViewData. Since we cannot change the size of
33355         WKView due to the fragile Objective-C ABI, we must rename the existing variable unused. If
33356         drop 32-bit support, we will be able to remove it.
33357
33358         * UIProcess/API/mac/WKView.h:
33359         * UIProcess/API/mac/WKView.mm:
33360         (-[WKView disableFrameSizeUpdates]):
33361         (-[WKView enableFrameSizeUpdates]):
33362         (-[WKView frameSizeUpdatesDisabled]):
33363         * WebKit2.xcodeproj/project.pbxproj:
33364
33365 2011-10-18  Alexey Proskuryakov  <ap@apple.com>
33366
33367         Expose PDF information in hit test result
33368         https://bugs.webkit.org/show_bug.cgi?id=70353
33369
33370         Reviewed by Sam Weinig.
33371
33372         * Shared/WebHitTestResult.cpp:
33373         (WebKit::WebHitTestResult::Data::encode):
33374         (WebKit::WebHitTestResult::Data::decode):
33375         * Shared/WebHitTestResult.h:
33376         (WebKit::WebHitTestResult::absolutePDFURL):
33377         * UIProcess/API/C/WKHitTestResult.cpp:
33378         (WKHitTestResultCopyAbsolutePDFURL):
33379         * UIProcess/API/C/WKHitTestResult.h:
33380         * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
33381         (WKBundleHitTestResultCopyAbsolutePDFURL):
33382         * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
33383         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
33384         (WebKit::InjectedBundleHitTestResult::absolutePDFURL):
33385         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
33386         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
33387         (WebKit::WebChromeClient::mouseDidMoveOverElement):
33388         Pass through PDF URL from hit testing to injected bundle client.
33389
33390 2011-10-18  Enrica Casucci  <enrica@apple.com>
33391
33392         Crash in WebProcess at com.apple.AppKit: -[NSFilePromiseDragSource draggedImage:endedAt:operation:] + 101
33393         https://bugs.webkit.org/show_bug.cgi?id=70340
33394         <rdar://problem/9548174>
33395                 
33396         We have seen a number of crash reports for this issue that seem to occurr when
33397         the user drags an image from a web page onto the desktop.
33398         We have not been able to reproduce this crash, therefore this is a speculative fix,
33399         but the theory is that the dragging source has been already released when draggedImage
33400         is called.
33401         This patch attempts a fix for the problem by retaining the dragging source when
33402         NSFilePromiseDragSource is created.
33403
33404         Reviewed by Darin Adler.
33405
33406         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
33407         (-[WKPasteboardFilePromiseOwner initWithSource:]):
33408         (-[WKPasteboardFilePromiseOwner dealloc]):
33409
33410 2011-10-18  Alexey Proskuryakov  <ap@apple.com>
33411
33412         [WK2] Crash after storing credentials in Keychain
33413         https://bugs.webkit.org/show_bug.cgi?id=70376
33414         <rdar://problem/9647503>
33415
33416         Reviewed by Dan Bernstein.
33417
33418         * Shared/mac/SecKeychainItemResponseData.cpp:
33419         (WebKit::SecKeychainItemResponseData::encode):
33420         (WebKit::SecKeychainItemResponseData::decode):
33421         Actually send keychain item over, too. In shimSecKeychainItemCreateFromContent(), we are
33422         going to use it to override SecKeychainItemCreateFromContent(), and we cannot return noErr
33423         from this function without returning a non-null keychain item.
33424
33425 2011-10-18  Damian Kaleta  <dkaleta@apple.com>
33426
33427         This revised fix doesn't break SL build.
33428         https://bugs.webkit.org/show_bug.cgi?id=70345
33429
33430         Reviewed and landed by Sam Weinig.
33431
33432         * UIProcess/API/mac/WKView.mm:
33433         (+[WKView hideWordDefinitionWindow]): Hides the definition window.
33434         * UIProcess/API/mac/WKViewPrivate.h:
33435
33436 2011-10-18  Sam Weinig  <sam@webkit.org>
33437
33438         Move spellCheckerDocumentTag and handleCorrectionPanelResult from WKViewPrivate to WKViewInternal
33439         https://bugs.webkit.org/show_bug.cgi?id=70377
33440
33441         Reviewed by Anders Carlsson.
33442
33443         * UIProcess/API/mac/WKView.mm:
33444         (-[WKView spellCheckerDocumentTag]):
33445         (-[WKView handleCorrectionPanelResult:]):
33446         Move definition of methods to (Internal) area.
33447
33448         * UIProcess/API/mac/WKViewInternal.h:
33449         Add methods.
33450
33451         * UIProcess/API/mac/WKViewPrivate.h:
33452         Remove methods.
33453
33454         * UIProcess/cf/WebBackForwardListCF.cpp:
33455         Add missing newline.
33456
33457         * UIProcess/mac/CorrectionPanel.mm:
33458         Change #include to WKViewInternal.h
33459
33460         * WebKit2.xcodeproj/project.pbxproj:
33461         Sort some files.
33462
33463 2011-10-18  Sam Weinig  <sam@webkit.org>
33464
33465         Move WKView helper files into a sub-group
33466         https://bugs.webkit.org/show_bug.cgi?id=70375
33467
33468         Reviewed by Darin Adler.
33469
33470         * WebKit2.xcodeproj/project.pbxproj:
33471         Move some files around.
33472
33473 2011-10-18  Sheriff Bot  <webkit.review.bot@gmail.com>
33474
33475         Unreviewed, rolling out r97788.
33476         http://trac.webkit.org/changeset/97788
33477         https://bugs.webkit.org/show_bug.cgi?id=70366
33478
33479         broke compile (Requested by inferno-sec on #webkit).
33480
33481         * UIProcess/API/mac/WKView.mm:
33482         * UIProcess/API/mac/WKViewPrivate.h:
33483
33484 2011-10-18  Damian Kaleta  <dkaleta@apple.com>
33485
33486         Add WebKit API to hide the definition window
33487         https://bugs.webkit.org/show_bug.cgi?id=70345
33488
33489         Reviewed by Anders Carlsson.
33490
33491         * UIProcess/API/mac/WKView.mm:
33492         (-[WKView hideWordDefinitionWindow]): Hides the definition window.
33493         * UIProcess/API/mac/WKViewPrivate.h:
33494
33495 2011-10-18  Adam Barth  <abarth@webkit.org>
33496
33497         Always enable ENABLE(XPATH)
33498         https://bugs.webkit.org/show_bug.cgi?id=70217
33499
33500         Reviewed by Eric Seidel.
33501
33502         * Configurations/FeatureDefines.xcconfig:
33503
33504 2011-10-18  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
33505
33506         [Qt] Merge QML plugin for WebKit2 with the original WebKit1 plugin
33507
33508         We don't need a separate plugin, as we no longer expose the WK2
33509         APIs under QtWebKit.experimental, but now use QtWebKit. The version
33510         was also changed to 3.0 instead of 5.0, as the original plugin was
33511         versioned 1.0, and bumping to 3.0 fits the scheme used by QtWebKit releases.
33512
33513         Reviewed by Andreas Kling.
33514
33515         * UIProcess/API/qt/qmlplugin/plugin.cpp: Removed.
33516         * UIProcess/API/qt/qmlplugin/qmldir: Removed.
33517         * UIProcess/API/qt/qmlplugin/qmlplugin.pro: Removed.
33518         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml:
33519         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadFail.qml:
33520         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgress.qml:
33521         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgressSignal.qml:
33522         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml:
33523         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml:
33524         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml:
33525         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml:
33526         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml:
33527         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml:
33528         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml:
33529         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml:
33530         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml:
33531         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml:
33532
33533 2011-10-18  Dinu Jacob  <dinu.jacob@nokia.com>
33534
33535         [Qt][WK2] ASSERT when displaying context menu in input field
33536         https://bugs.webkit.org/show_bug.cgi?id=69859
33537
33538         Reviewed by Simon Hausmann.
33539
33540         When creating a submenu in the context menu, the submenu of type
33541         QWidget is statically cast to QObject before calling setParent on
33542         it. QObject::setParent asserts if the object is a QWidget. So, call
33543         setParent of QWidget itself.
33544
33545         * UIProcess/qt/WebContextMenuProxyQt.cpp:
33546         (WebKit::WebContextMenuProxyQt::createContextMenu):
33547
33548 2011-10-18  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
33549
33550         [Qt] Fix linkHoveredDoesntEmitRepeated test in the bot
33551         https://bugs.webkit.org/show_bug.cgi?id=70329
33552
33553         Reviewed by Andreas Kling.
33554
33555         Use LoadSpy::wait() instead of the TestCase::tryCompare(). They should be equivalent,
33556         but I'm getting strange results with tryCompare(). This commit also adds an extra check
33557         to make sure the hovered link is the correct one.
33558
33559         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml:
33560
33561 2011-10-18  Alexis Menard  <alexis.menard@openbossa.org>
33562
33563         [Qt][WK2] Some QML tests were accidentally committed.
33564         https://bugs.webkit.org/show_bug.cgi?id=70321
33565
33566         Reviewed by Andreas Kling.
33567
33568         These tests were committed by accident. They should not be there.
33569
33570         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml:
33571
33572 2011-10-18  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
33573
33574         [Qt] Send mouse move events when we handle HoverEnter/Leave in QDesktopWebView
33575         https://bugs.webkit.org/show_bug.cgi?id=70297
33576
33577         Reviewed by Simon Hausmann.
33578
33579         Qt treat the first and last hover movements as special HoverMove and HoverLeave events, but
33580         WebKit doesn't make the difference, so we need to create move events for them.
33581
33582         While HoverEnter is in practice equivalent to HoverMove, the HoverLeave event is a bit
33583         different because we want to emulate that the mouse is not only leaving the current node, but
33584         completely leaving the whole document. The way to do this is to manufacture a move event with
33585         a very far position, and was inspired by WebView::handleMouseEvent() in
33586         Source/WebKit/win/WebView.cpp.
33587
33588         This patch fixes DesktopWebViewLinkHovered QML tests.
33589
33590         * UIProcess/qt/qdesktopwebpageproxy.cpp:
33591         (QDesktopWebPageProxy::handleEvent):
33592         (QDesktopWebPageProxy::handleHoverLeaveEvent):
33593         * UIProcess/qt/qdesktopwebpageproxy.h:
33594
33595 2011-10-18  Alexis Menard  <alexis.menard@openbossa.org>
33596
33597         [Qt][WK2] WebPreferences are impossible to use in QML.
33598         https://bugs.webkit.org/show_bug.cgi?id=70141
33599
33600         Reviewed by Kenneth Rohde Christiansen.
33601
33602         Make it possible to use qwkpreferences in QML. Renamed it
33603         to follow our new style regarding class names. This class is 
33604         now a QObject that is exposed as a property of the view.
33605         The tests give an idea of the usage.
33606
33607         * UIProcess/API/qt/WKView.h:
33608         * UIProcess/API/qt/qdesktopwebview.cpp:
33609         (QDesktopWebView::preferences):
33610         * UIProcess/API/qt/qdesktopwebview.h:
33611         * UIProcess/API/qt/qmlplugin/plugin.cpp:
33612         (WebKit2QmlPlugin::registerTypes):
33613         * UIProcess/API/qt/qtouchwebpage.cpp:
33614         (QTouchWebPage::preferences):
33615         * UIProcess/API/qt/qtouchwebpage.h:
33616         * UIProcess/API/qt/qwebpreferences.cpp: Added.
33617         (QWebPreferencesPrivate::createPreferences):
33618         (QWebPreferencesPrivate::testAttribute):
33619         (QWebPreferencesPrivate::setAttribute):
33620         (QWebPreferencesPrivate::setFontFamily):
33621         (QWebPreferencesPrivate::fontFamily):
33622         (QWebPreferencesPrivate::setFontSize):
33623         (QWebPreferencesPrivate::fontSize):
33624         (QWebPreferences::QWebPreferences):
33625         (QWebPreferences::~QWebPreferences):
33626         (QWebPreferences::autoLoadImages):
33627         (QWebPreferences::setAutoLoadImages):
33628         (QWebPreferences::javascriptEnabled):
33629         (QWebPreferences::setJavascriptEnabled):
33630         (QWebPreferences::pluginsEnabled):
33631         (QWebPreferences::setPluginsEnabled):
33632         (QWebPreferences::offlineWebApplicationCacheEnabled):
33633         (QWebPreferences::setOfflineWebApplicationCacheEnabled):
33634         (QWebPreferences::localStorageEnabled):
33635         (QWebPreferences::setLocalStorageEnabled):
33636         (QWebPreferences::XSSAuditingEnabled):
33637         (QWebPreferences::setXSSAuditingEnabled):
33638         (QWebPreferences::privateBrowsingEnabled):
33639         (QWebPreferences::setPrivateBrowsingEnabled):
33640         (QWebPreferences::dnsPrefetchEnabled):
33641         (QWebPreferences::setDnsPrefetchEnabled):
33642         (QWebPreferences::standardFontFamily):
33643         (QWebPreferences::setStandardFontFamily):
33644         (QWebPreferences::fixedFontFamily):
33645         (QWebPreferences::setFixedFontFamily):
33646         (QWebPreferences::serifFontFamily):
33647         (QWebPreferences::setSerifFontFamily):
33648         (QWebPreferences::sansSerifFontFamily):
33649         (QWebPreferences::setSansSerifFontFamily):
33650         (QWebPreferences::cursiveFontFamily):
33651         (QWebPreferences::setCursiveFontFamily):
33652         (QWebPreferences::fantasyFontFamily):
33653         (QWebPreferences::setFantasyFontFamily):
33654         (QWebPreferences::minimumFontSize):
33655         (QWebPreferences::setMinimumFontSize):
33656         (QWebPreferences::defaultFontSize):
33657         (QWebPreferences::setDefaultFontSize):
33658         (QWebPreferences::defaultFixedFontSize):
33659         (QWebPreferences::setDefaultFixedFontSize):
33660         * UIProcess/API/qt/qwebpreferences.h: Added.
33661         * UIProcess/API/qt/qwebpreferences_p.h: Added.
33662         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml: Added.
33663         * UIProcess/API/qt/tests/qmltests/common/javascript.html: Added.
33664         * UIProcess/API/qt/tests/qmltests/common/localStorage.html: Added.
33665         * UIProcess/qt/QtWebPageProxy.cpp:
33666         (QtWebPageProxy::preferences):
33667         * UIProcess/qt/QtWebPageProxy.h:
33668         * UIProcess/qt/qwkpreferences.cpp: Removed.
33669         * UIProcess/qt/qwkpreferences.h: Removed.
33670         * UIProcess/qt/qwkpreferences_p.h: Removed.
33671         * WebKit2.pro:
33672         * WebKit2API.pri:
33673
33674 2011-10-18  Tomasz Morawski  <t.morawski@samsung.com>
33675
33676         [EFL][WK2] Fix compilation error by include WebErrors.h file.
33677         https://bugs.webkit.org/show_bug.cgi?id=70309
33678
33679         Unreviewed build fix
33680
33681         Added a header file to fix compilation error.
33682
33683         * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
33684
33685 2011-10-18  Adenilson Cavalcanti  <adenilson.silva@openbossa.org>
33686
33687         [Qt][WK2] Implement geolocation provider for qt port
33688         https://bugs.webkit.org/show_bug.cgi?id=59199
33689
33690         Reviewed by Simon Hausmann.
33691
33692         Based on patch by Kenneth Christiansen <kenneth.r.christiansen@nokia.com>
33693
33694         Implements default location provider for WK2 QtWebKit (WebGeolocationProviderQt),
33695         allowing QtWebKit clients to implement or override their own provider using WK2 APIs.
33696
33697         * UIProcess/API/C/WKGeolocationManager.h:
33698         * UIProcess/qt/WebContextQt.cpp:
33699         (WebKit::WebContext::platformInitializeWebProcess):
33700         * UIProcess/qt/WebGeolocationProviderQt.cpp: Added.
33701         (toLocationProvider):
33702         (locationStartUpdating):
33703         (locationStopUpdating):
33704         (WebGeolocationProviderQt::create):
33705         (WebGeolocationProviderQt::provider):
33706         (WebGeolocationProviderQt::WebGeolocationProviderQt):
33707         (WebGeolocationProviderQt::~WebGeolocationProviderQt):
33708         (WebGeolocationProviderQt::updateTimeout):
33709         (WebGeolocationProviderQt::positionUpdated):
33710         (WebGeolocationProviderQt::startUpdating):
33711         (WebGeolocationProviderQt::stopUpdating):
33712         * UIProcess/qt/WebGeolocationProviderQt.h: Added.
33713         * WebKit2.pro:
33714
33715 2011-10-18  Carlos Garcia Campos  <cgarcia@igalia.com>
33716
33717         [UNIX] Use SOCK_SEQPACKET when available
33718         https://bugs.webkit.org/show_bug.cgi?id=61287
33719
33720         Reviewed by Darin Adler.
33721
33722         Sockets of type SEQPACKET are actually DGRAM sockets but that
33723         notifies the other end when the connection is closed. When
33724         SEQPACKET sockets are not available GTK+ port uses STREAM sockets
33725         while Qt port uses DGRAM sockets.
33726
33727         * PluginProcess/PluginProcess.cpp: Use SOCK_SEQPACKET if possible.
33728         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
33729         (WebKit::ProcessLauncher::launchProcess): Ditto.
33730         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
33731         (WebKit::ProcessLauncher::launchProcess): Ditto.
33732
33733 2011-10-17  Jon Lee  <jonlee@apple.com>
33734
33735         Filtering of URLs when serializing back forward list saves bad current index value
33736         https://bugs.webkit.org/show_bug.cgi?id=70282
33737         <rdar://problem/10057763>
33738
33739         Reviewed by Sam Weinig.
33740
33741         When reading the serialized b-f list, perform a sanity check on the current index.
33742         If it is invalid, we set it to NoCurrentItemIndex to prevent further corruption of
33743         the list.
33744
33745         When serializing the b-f list, currentIndex can be negative in the case where the list
33746         has one item only, and that item gets filtered out. In this instance currentIndex should
33747         just be -1. A crashing case showed an index that was more negative, a situation that I
33748         could not replicate. Since this value will get cleaned up when the b-f list is restored,
33749         I just strengthened the assertion to check for a more negative index in case we run into it again.
33750
33751         * UIProcess/cf/WebBackForwardListCF.cpp:
33752         (WebKit::WebBackForwardList::createCFDictionaryRepresentation): Update the assertion
33753         in case we go beyond NoCurrentItemIndex (which, as an int, is -1).
33754         (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation):
33755
33756 2011-10-14  Chris Marrin  <cmarrin@apple.com>
33757
33758         Throttle rate of requestAnimationFrame when page is not visible
33759         https://bugs.webkit.org/show_bug.cgi?id=67873
33760
33761         Reviewed by Anders Carlsson.
33762
33763         Plumb through notification when the window is hidden/shown or
33764         minimized/unminimized
33765
33766         * WebProcess/WebPage/DrawingAreaImpl.cpp:
33767         (WebKit::DrawingAreaImpl::suspendPainting):
33768         (WebKit::DrawingAreaImpl::resumePainting):
33769
33770 2011-10-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
33771
33772         [Qt][WK2] Synchronize tiling with accelerated compositing
33773         https://bugs.webkit.org/show_bug.cgi?id=69151
33774
33775         Reviewed by Simon Hausmann.
33776
33777         Make the tiled "non-composited" content and the composited layers go through the same
33778         code path on WebKit2. Instead of having a "drawing area" that handles the non-composited
33779         content and a seperate layer tree, we put everything in a layer tree, with the non-
33780         composited content being a layer in the tree.
33781
33782         This allows fixing several issues with websites that have large content areas that are
33783         composited or overlap with composited layers.
33784
33785         Layer-tree synchronization is done by passing WebKit2 messages between a LayerTreeHost
33786         on the WebProcess and a LayerTreeHostProxy on the UI process. Every layer in the tree has
33787         its own tiled backing store, and uses the LayerTreeHost communication channel to pass
33788         content up to the UI process. The UI process will later creates its own GraphicsLayer tree,
33789         based on TextureMapper, which can be painted directly with OpenGL.
33790
33791         Several optimizations are available for the non-composited layer as well, e.g. specifying
33792         a trajectory and updating the visible rect together with the content scale.
33793
33794         This code is currently disabled, a separate patch will enable it and glue it to
33795         QTouchWebPage.
33796
33797         * DerivedSources.pro:
33798         * Platform/CoreIPC/MessageID.h:
33799         * Scripts/webkit2/messages.py:
33800         * Shared/LayerTreeContext.h:
33801         * Shared/WebLayerTreeInfo.cpp:
33802         (WebKit::WebLayerInfo::encode):
33803         (WebKit::WebLayerInfo::decode):
33804         * Shared/WebLayerTreeInfo.h:
33805         * Shared/qt/LayerTreeContextQt.cpp:
33806         (WebKit::LayerTreeContext::LayerTreeContext):
33807         (WebKit::LayerTreeContext::~LayerTreeContext):
33808         (WebKit::LayerTreeContext::encode):
33809         (WebKit::LayerTreeContext::decode):
33810         (WebKit::LayerTreeContext::isEmpty):
33811         (WebKit::operator==):
33812         * UIProcess/DrawingAreaProxy.cpp:
33813         (WebKit::DrawingAreaProxy::updateWebView):
33814         (WebKit::DrawingAreaProxy::contentsRect):
33815         * UIProcess/DrawingAreaProxy.h:
33816         (WebKit::DrawingAreaProxy::viewportVisibleRect):
33817         (WebKit::DrawingAreaProxy::isBackingStoreReady):
33818         (WebKit::DrawingAreaProxy::paintToCurrentGLContext):
33819         (WebKit::DrawingAreaProxy::setVisibleContentsRectAndScale):
33820         (WebKit::DrawingAreaProxy::setVisibleContentRectTrajectoryVector):
33821         (WebKit::DrawingAreaProxy::createTileForLayer):
33822         (WebKit::DrawingAreaProxy::updateTileForLayer):
33823         (WebKit::DrawingAreaProxy::removeTileForLayer):
33824         (WebKit::DrawingAreaProxy::didReceiveLayerTreeHostProxyMessage):
33825         (WebKit::DrawingAreaProxy::page):
33826         * UIProcess/DrawingAreaProxyImpl.cpp:
33827         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
33828         (WebKit::DrawingAreaProxyImpl::didReceiveLayerTreeHostProxyMessage):
33829         (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectAndScale):
33830         (WebKit::DrawingAreaProxyImpl::setVisibleContentRectTrajectoryVector):
33831         (WebKit::DrawingAreaProxyImpl::paintToCurrentGLContext):
33832         * UIProcess/DrawingAreaProxyImpl.h:
33833         * UIProcess/LayerTreeHostProxy.h: Added.
33834         (WebKit::LayerTreeHostProxy::layerByID):
33835         (WebKit::LayerTreeHostProxy::rootLayer):
33836         (WebKit::LayerTreeHostProxy::notifyAnimationStarted):
33837         (WebKit::LayerTreeHostProxy::notifySyncRequired):
33838         (WebKit::LayerTreeHostProxy::showDebugBorders):
33839         (WebKit::LayerTreeHostProxy::showRepaintCounter):
33840         (WebKit::LayerTreeHostProxy::paintContents):
33841         * UIProcess/LayerTreeHostProxy.messages.in: Added.
33842         * UIProcess/WebPageProxy.cpp:
33843         (WebKit::WebPageProxy::didReceiveMessage):
33844         * UIProcess/qt/LayerTreeHostProxyQt.cpp: Added.
33845         * WebKit2.pro:
33846         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
33847         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
33848         (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
33849         (WebCore::WebGraphicsLayer::setChildren):
33850         (WebCore::WebGraphicsLayer::addChild):
33851         (WebCore::WebGraphicsLayer::addChildAtIndex):
33852         (WebCore::WebGraphicsLayer::addChildAbove):
33853         (WebCore::WebGraphicsLayer::addChildBelow):
33854         (WebCore::WebGraphicsLayer::replaceChild):
33855         (WebCore::WebGraphicsLayer::removeFromParent):
33856         (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
33857         (WebCore::WebGraphicsLayer::setContentsToImage):
33858         (WebCore::WebGraphicsLayer::setNeedsDisplay):
33859         (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
33860         (WebCore::WebGraphicsLayer::syncCompositingState):
33861         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
33862         (WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin):
33863         (WebCore::WebGraphicsLayer::setContentsScale):
33864         (WebCore::WebGraphicsLayer::setRootLayer):
33865         (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
33866         (WebCore::WebGraphicsLayer::setVisibleContentRect):
33867         (WebCore::WebGraphicsLayer::tiledBackingStorePaint):
33868         (WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd):
33869         (WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed):
33870         (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
33871         (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
33872         (WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor):
33873         (WebCore::WebGraphicsLayer::createTile):
33874         (WebCore::WebGraphicsLayer::updateTile):
33875         (WebCore::WebGraphicsLayer::removeTile):
33876         (WebCore::WebGraphicsLayer::updateTileBuffersRecursively):
33877         (WebCore::WebGraphicsLayer::layerTreeTileClient):
33878         (WebCore::WebGraphicsLayer::updateContentBuffers):
33879         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
33880         (WebCore::WebGraphicsLayer::setLayerTreeTileClient):
33881         * WebProcess/WebPage/DrawingArea.h:
33882         * WebProcess/WebPage/DrawingAreaImpl.cpp:
33883         (WebKit::DrawingAreaImpl::didReceiveLayerTreeHostMessage):
33884         * WebProcess/WebPage/DrawingAreaImpl.h:
33885         * WebProcess/WebPage/LayerTreeHost.cpp:
33886         (WebKit::LayerTreeHost::create):
33887         * WebProcess/WebPage/LayerTreeHost.h:
33888         (WebKit::LayerTreeHost::setVisibleContentRectAndScale):
33889         (WebKit::LayerTreeHost::setVisibleContentRectTrajectoryVector):
33890         (WebKit::LayerTreeHost::setVisibleContentRectForLayer):
33891         (WebKit::LayerTreeHost::renderNextFrame):
33892         * WebProcess/WebPage/LayerTreeHost.messages.in: Added.
33893         * WebProcess/WebPage/TiledDrawingArea.cpp:
33894         (WebKit::TiledDrawingArea::didReceiveLayerTreeHostMessage):
33895         * WebProcess/WebPage/TiledDrawingArea.h:
33896         * WebProcess/WebPage/WebPage.cpp:
33897         (WebKit::WebPage::didReceiveMessage):
33898         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
33899         (WebKit::LayerTreeHostQt::create):
33900         (WebKit::LayerTreeHostQt::~LayerTreeHostQt):
33901         (WebKit::LayerTreeHostQt::LayerTreeHostQt):
33902         (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled):
33903         (WebKit::LayerTreeHostQt::scheduleLayerFlush):
33904         (WebKit::LayerTreeHostQt::cancelPendingLayerFlush):
33905         (WebKit::LayerTreeHostQt::setShouldNotifyAfterNextScheduledLayerFlush):
33906         (WebKit::LayerTreeHostQt::setRootCompositingLayer):
33907         (WebKit::LayerTreeHostQt::invalidate):
33908         (WebKit::LayerTreeHostQt::setNonCompositedContentsNeedDisplay):
33909         (WebKit::LayerTreeHostQt::scrollNonCompositedContents):
33910         (WebKit::LayerTreeHostQt::forceRepaint):
33911         (WebKit::LayerTreeHostQt::sizeDidChange):
33912         (WebKit::LayerTreeHostQt::didInstallPageOverlay):
33913         (WebKit::LayerTreeHostQt::didUninstallPageOverlay):
33914         (WebKit::LayerTreeHostQt::setPageOverlayNeedsDisplay):
33915         (WebKit::LayerTreeHostQt::flushPendingLayerChanges):
33916         (WebKit::LayerTreeHostQt::didSyncCompositingStateForLayer):
33917         (WebKit::LayerTreeHostQt::didDeleteLayer):
33918         (WebKit::LayerTreeHostQt::performScheduledLayerFlush):
33919         (WebKit::LayerTreeHostQt::layerFlushTimerFired):
33920         (WebKit::LayerTreeHostQt::createPageOverlayLayer):
33921         (WebKit::LayerTreeHostQt::destroyPageOverlayLayer):
33922         (WebKit::LayerTreeHostQt::adoptImageBackingStore):
33923         (WebKit::LayerTreeHostQt::releaseImageBackingStore):
33924         (WebKit::LayerTreeHostQt::notifyAnimationStarted):
33925         (WebKit::LayerTreeHostQt::notifySyncRequired):
33926         (WebKit::LayerTreeHostQt::paintContents):
33927         (WebKit::LayerTreeHostQt::showDebugBorders):
33928         (WebKit::LayerTreeHostQt::showRepaintCounter):
33929         (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
33930         (WebKit::LayerTreeHostQt::createTile):
33931         (WebKit::LayerTreeHostQt::updateTile):
33932         (WebKit::LayerTreeHostQt::removeTile):
33933         (WebKit::LayerTreeHostQt::setVisibleContentRectForLayer):
33934         (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
33935         (WebKit::LayerTreeHostQt::setVisibleContentRectTrajectoryVector):
33936         (WebKit::LayerTreeHostQt::renderNextFrame):
33937         (WebKit::LayerTreeHostQt::layerTreeTileUpdatesAllowed):
33938 +
33939
33940 2011-10-17  Ada Chan  <adachan@apple.com>
33941
33942         Calling WKPageLoadAlternateHTMLString() where baseURL does not point to a directory causes an invalid message to be returned from WebProcess
33943         https://bugs.webkit.org/show_bug.cgi?id=70168
33944
33945         Reviewed by Alexey Proskuryakov.
33946
33947         * UIProcess/WebProcessProxy.cpp:
33948         (WebKit::WebProcessProxy::assumeReadAccessToBaseURL): Add the file path of url's base URL to m_localPathsWithAssumedReadAccess,
33949         since url may not point to a directory.
33950
33951 2011-10-17  Carlos Garcia Campos  <cgarcia@igalia.com>
33952
33953         [GTK] Add methods to get/set a custom text enconding to WebKit2 GTK+ API
33954         https://bugs.webkit.org/show_bug.cgi?id=69524
33955
33956         Reviewed by Martin Robinson.
33957
33958         * UIProcess/API/gtk/WebKitWebView.cpp:
33959         (webkit_web_view_get_custom_charset):
33960         (webkit_web_view_set_custom_charset):
33961         * UIProcess/API/gtk/WebKitWebView.h:
33962         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
33963         (testWebViewCustomCharset):
33964         (beforeAll):
33965
33966 2011-10-14  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
33967
33968         [Qt][WK2] Implement decidePolicyForResponse in our PolicyClient
33969         https://bugs.webkit.org/show_bug.cgi?id=69832
33970
33971         Reviewed by Kenneth Rohde Christiansen.
33972
33973         We implement decidePolicyForResponse in our PolicyClient in order to
33974         decide whether a given ResourceResponse should be downloaded or loaded.
33975
33976         * Shared/qt/WebCoreArgumentCodersQt.cpp:
33977         (CoreIPC::::encode):
33978         (CoreIPC::::decode):
33979         Implement serialization of ResourceResponse.
33980
33981         * UIProcess/qt/ClientImpl.cpp:
33982         (qt_wk_decidePolicyForResponse):
33983         * UIProcess/qt/ClientImpl.h:
33984         * UIProcess/qt/QtWebPageProxy.cpp:
33985         (QtWebPageProxy::init):
33986
33987 2011-10-17  Nayan Kumar K  <nayankk@motorola.com>
33988
33989         [WebKit2][gtk] Rename WEBKIT_POLICY_ERROR_CANNOT_SHOW_URL to WEBKIT_POLICY_ERROR_CANNOT_SHOW_URI
33990         https://bugs.webkit.org/show_bug.cgi?id=70040
33991
33992         Reviewed by Martin Robinson.
33993
33994         * UIProcess/API/gtk/WebKitError.cpp:
33995         * UIProcess/API/gtk/WebKitError.h:
33996
33997 2011-10-16  Adam Barth  <abarth@webkit.org>
33998
33999         Always enable ENABLE(DOM_STORAGE)
34000         https://bugs.webkit.org/show_bug.cgi?id=70189
34001
34002         Reviewed by Eric Seidel.
34003
34004         * Configurations/FeatureDefines.xcconfig:
34005         * WebProcess/WebPage/WebPage.cpp:
34006         (WebKit::WebPage::updatePreferences):
34007         * WebProcess/WebProcess.cpp:
34008         (WebKit::WebProcess::initializeWebProcess):
34009
34010 2011-10-15  Adam Barth  <abarth@webkit.org>
34011
34012         Rename ENABLE(TILED_BACKING_STORE) to USE(TILED_BACKING_STORE)
34013         https://bugs.webkit.org/show_bug.cgi?id=70194
34014
34015         Reviewed by Daniel Bates.
34016
34017         * Shared/DrawingAreaInfo.h:
34018         * UIProcess/DrawingAreaProxy.h:
34019         * UIProcess/DrawingAreaProxy.messages.in:
34020         * UIProcess/PageClient.h:
34021         * UIProcess/TiledDrawingAreaProxy.cpp:
34022         * UIProcess/TiledDrawingAreaProxy.h:
34023         * UIProcess/WebPageProxy.cpp:
34024         * UIProcess/WebPageProxy.h:
34025         * UIProcess/WebPageProxy.messages.in:
34026         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
34027         (WebKit::WebChromeClient::contentsSizeChanged):
34028         * WebProcess/WebCoreSupport/WebChromeClient.h:
34029         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
34030         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
34031         * WebProcess/WebPage/DrawingArea.cpp:
34032         (WebKit::DrawingArea::create):
34033         * WebProcess/WebPage/DrawingArea.h:
34034         * WebProcess/WebPage/DrawingArea.messages.in:
34035         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
34036         * WebProcess/WebPage/TiledBackingStoreRemoteTile.h:
34037         * WebProcess/WebPage/TiledDrawingArea.cpp:
34038         * WebProcess/WebPage/TiledDrawingArea.h:
34039         * WebProcess/WebPage/WebPage.cpp:
34040         (WebKit::WebPage::setSize):
34041         * WebProcess/WebPage/WebPage.h:
34042         * WebProcess/WebPage/WebPage.messages.in:
34043
34044 2011-10-15  Sheriff Bot  <webkit.review.bot@gmail.com>
34045
34046         Unreviewed, rolling out r97559.
34047         http://trac.webkit.org/changeset/97559
34048         https://bugs.webkit.org/show_bug.cgi?id=70176
34049
34050         Broke build on Mac (Requested by noamr_ on #webkit).
34051
34052         * DerivedSources.pro:
34053         * Platform/CoreIPC/MessageID.h:
34054         * Scripts/webkit2/messages.py:
34055         * Shared/LayerTreeContext.h:
34056         * Shared/WebLayerTreeInfo.cpp:
34057         (WebKit::WebLayerInfo::encode):
34058         (WebKit::WebLayerInfo::decode):
34059         * Shared/WebLayerTreeInfo.h:
34060         * Shared/qt/LayerTreeContextQt.cpp:
34061         (WebKit::LayerTreeContext::LayerTreeContext):
34062         (WebKit::LayerTreeContext::~LayerTreeContext):
34063         (WebKit::LayerTreeContext::encode):
34064         (WebKit::LayerTreeContext::decode):
34065         (WebKit::LayerTreeContext::isEmpty):
34066         (WebKit::operator==):
34067         * UIProcess/DrawingAreaProxy.cpp:
34068         * UIProcess/DrawingAreaProxy.h:
34069         * UIProcess/DrawingAreaProxyImpl.cpp:
34070         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
34071         * UIProcess/DrawingAreaProxyImpl.h:
34072         * UIProcess/LayerTreeHostProxy.h: Removed.
34073         * UIProcess/LayerTreeHostProxy.messages.in: Removed.
34074         * UIProcess/WebPageProxy.cpp:
34075         (WebKit::WebPageProxy::didReceiveMessage):
34076         * UIProcess/qt/LayerTreeHostProxyQt.cpp: Removed.
34077         * WebKit2.pro:
34078         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
34079         (WebCore::deletedLayerIDs):
34080         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
34081         (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
34082         (WebCore::WebGraphicsLayer::setChildren):
34083         (WebCore::WebGraphicsLayer::addChild):
34084         (WebCore::WebGraphicsLayer::addChildAtIndex):
34085         (WebCore::WebGraphicsLayer::addChildAbove):
34086         (WebCore::WebGraphicsLayer::addChildBelow):
34087         (WebCore::WebGraphicsLayer::replaceChild):
34088         (WebCore::WebGraphicsLayer::removeFromParent):
34089         (WebCore::WebGraphicsLayer::setContentsRect):
34090         (WebCore::WebGraphicsLayer::setContentsToImage):
34091         (WebCore::WebGraphicsLayer::setNeedsDisplay):
34092         (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
34093         (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
34094         (WebCore::WebGraphicsLayer::didSynchronize):
34095         (WebCore::WebGraphicsLayer::layerInfo):
34096         (WebCore::WebGraphicsLayer::syncCompositingState):
34097         (WebCore::WebGraphicsLayer::needsDisplayRect):
34098         (WebCore::WebGraphicsLayer::takeLayersToDelete):
34099         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
34100         (WebCore::divideIntoTiles):
34101         (WebCore::collectCompositingInfoForThisLayer):
34102         (WebCore::collectCompositingInfoRecursively):
34103         (WebCore::WebGraphicsLayer::sendLayersToUIProcess):
34104         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
34105         * WebProcess/WebPage/DrawingArea.h:
34106         * WebProcess/WebPage/DrawingAreaImpl.cpp:
34107         * WebProcess/WebPage/DrawingAreaImpl.h:
34108         * WebProcess/WebPage/LayerTreeHost.cpp:
34109         (WebKit::LayerTreeHost::create):
34110         * WebProcess/WebPage/LayerTreeHost.h:
34111         * WebProcess/WebPage/LayerTreeHost.messages.in: Removed.
34112         * WebProcess/WebPage/TiledDrawingArea.cpp:
34113         * WebProcess/WebPage/TiledDrawingArea.h:
34114         * WebProcess/WebPage/WebPage.cpp:
34115         (WebKit::WebPage::didReceiveMessage):
34116         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
34117         * WebProcess/WebPage/qt/LayerTreeHostQt.h: Removed.
34118
34119 2011-10-15  No'am Rosenthal  <noam.rosenthal@nokia.com>
34120
34121         [Qt][WK2] Synchronize tiling with accelerated compositing
34122         https://bugs.webkit.org/show_bug.cgi?id=69151
34123
34124         Reviewed by Simon Hausmann.
34125
34126         Make the tiled "non-composited" content and the composited layers go through the same
34127         code path on WebKit2. Instead of having a "drawing area" that handles the non-composited
34128         content and a seperate layer tree, we put everything in a layer tree, with the non-
34129         composited content being a layer in the tree.
34130
34131         This allows fixing several issues with websites that have large content areas that are
34132         composited or overlap with composited layers.
34133
34134         Layer-tree synchronization is done by passing WebKit2 messages between a LayerTreeHost
34135         on the WebProcess and a LayerTreeHostProxy on the UI process. Every layer in the tree has
34136         its own tiled backing store, and uses the LayerTreeHost communication channel to pass
34137         content up to the UI process. The UI process will later creates its own GraphicsLayer tree,
34138         based on TextureMapper, which can be painted directly with OpenGL.
34139
34140         Several optimizations are available for the non-composited layer as well, e.g. specifying
34141         a trajectory and updating the visible rect together with the content scale.
34142
34143         This code is currently disabled, a separate patch will enable it and glue it to
34144         QTouchWebPage.
34145
34146         * DerivedSources.pro:
34147         * Platform/CoreIPC/MessageID.h:
34148         * Scripts/webkit2/messages.py:
34149         * Shared/LayerTreeContext.h:
34150         * Shared/WebLayerTreeInfo.cpp:
34151         (WebKit::WebLayerInfo::encode):
34152         (WebKit::WebLayerInfo::decode):
34153         * Shared/WebLayerTreeInfo.h:
34154         * Shared/qt/LayerTreeContextQt.cpp:
34155         (WebKit::LayerTreeContext::LayerTreeContext):
34156         (WebKit::LayerTreeContext::~LayerTreeContext):
34157         (WebKit::LayerTreeContext::encode):
34158         (WebKit::LayerTreeContext::decode):
34159         (WebKit::LayerTreeContext::isEmpty):
34160         (WebKit::operator==):
34161         * UIProcess/DrawingAreaProxy.cpp:
34162         (WebKit::DrawingAreaProxy::updateWebView):
34163         (WebKit::DrawingAreaProxy::contentsRect):
34164         * UIProcess/DrawingAreaProxy.h:
34165         (WebKit::DrawingAreaProxy::viewportVisibleRect):
34166         (WebKit::DrawingAreaProxy::isBackingStoreReady):
34167         (WebKit::DrawingAreaProxy::paintToCurrentGLContext):
34168         (WebKit::DrawingAreaProxy::setVisibleContentsRectAndScale):
34169         (WebKit::DrawingAreaProxy::setVisibleContentRectTrajectoryVector):
34170         (WebKit::DrawingAreaProxy::createTileForLayer):
34171         (WebKit::DrawingAreaProxy::updateTileForLayer):
34172         (WebKit::DrawingAreaProxy::removeTileForLayer):
34173         (WebKit::DrawingAreaProxy::didReceiveLayerTreeHostProxyMessage):
34174         (WebKit::DrawingAreaProxy::page):
34175         * UIProcess/DrawingAreaProxyImpl.cpp:
34176         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
34177         (WebKit::DrawingAreaProxyImpl::didReceiveLayerTreeHostProxyMessage):
34178         (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectAndScale):
34179         (WebKit::DrawingAreaProxyImpl::setVisibleContentRectTrajectoryVector):
34180         (WebKit::DrawingAreaProxyImpl::paintToCurrentGLContext):
34181         * UIProcess/DrawingAreaProxyImpl.h:
34182         * UIProcess/LayerTreeHostProxy.h: Added.
34183         (WebKit::LayerTreeHostProxy::layerByID):
34184         (WebKit::LayerTreeHostProxy::rootLayer):
34185         (WebKit::LayerTreeHostProxy::notifyAnimationStarted):
34186         (WebKit::LayerTreeHostProxy::notifySyncRequired):
34187         (WebKit::LayerTreeHostProxy::showDebugBorders):
34188         (WebKit::LayerTreeHostProxy::showRepaintCounter):
34189         (WebKit::LayerTreeHostProxy::paintContents):
34190         * UIProcess/LayerTreeHostProxy.messages.in: Added.
34191         * UIProcess/WebPageProxy.cpp:
34192         (WebKit::WebPageProxy::didReceiveMessage):
34193         * UIProcess/qt/LayerTreeHostProxyQt.cpp: Added.
34194         * WebKit2.pro:
34195         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
34196         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
34197         (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
34198         (WebCore::WebGraphicsLayer::setChildren):
34199         (WebCore::WebGraphicsLayer::addChild):
34200         (WebCore::WebGraphicsLayer::addChildAtIndex):
34201         (WebCore::WebGraphicsLayer::addChildAbove):
34202         (WebCore::WebGraphicsLayer::addChildBelow):
34203         (WebCore::WebGraphicsLayer::replaceChild):
34204         (WebCore::WebGraphicsLayer::removeFromParent):
34205         (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
34206         (WebCore::WebGraphicsLayer::setContentsToImage):
34207         (WebCore::WebGraphicsLayer::setNeedsDisplay):
34208         (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
34209         (WebCore::WebGraphicsLayer::syncCompositingState):
34210         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
34211         (WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin):
34212         (WebCore::WebGraphicsLayer::setContentsScale):
34213         (WebCore::WebGraphicsLayer::setRootLayer):
34214         (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
34215         (WebCore::WebGraphicsLayer::setVisibleContentRect):
34216         (WebCore::WebGraphicsLayer::tiledBackingStorePaint):
34217         (WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd):
34218         (WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed):
34219         (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
34220         (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
34221         (WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor):
34222         (WebCore::WebGraphicsLayer::createTile):
34223         (WebCore::WebGraphicsLayer::updateTile):
34224         (WebCore::WebGraphicsLayer::removeTile):
34225         (WebCore::WebGraphicsLayer::updateTileBuffersRecursively):
34226         (WebCore::WebGraphicsLayer::layerTreeTileClient):
34227         (WebCore::WebGraphicsLayer::updateContentBuffers):
34228         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
34229         (WebCore::WebGraphicsLayer::setLayerTreeTileClient):
34230         * WebProcess/WebPage/DrawingArea.h:
34231         * WebProcess/WebPage/DrawingAreaImpl.cpp:
34232         (WebKit::DrawingAreaImpl::didReceiveLayerTreeHostMessage):
34233         * WebProcess/WebPage/DrawingAreaImpl.h:
34234         * WebProcess/WebPage/LayerTreeHost.cpp:
34235         (WebKit::LayerTreeHost::create):
34236         * WebProcess/WebPage/LayerTreeHost.h:
34237         (WebKit::LayerTreeHost::setVisibleContentRectAndScale):
34238         (WebKit::LayerTreeHost::setVisibleContentRectTrajectoryVector):
34239         (WebKit::LayerTreeHost::setVisibleContentRectForLayer):
34240         (WebKit::LayerTreeHost::renderNextFrame):
34241         * WebProcess/WebPage/LayerTreeHost.messages.in: Added.
34242         * WebProcess/WebPage/TiledDrawingArea.cpp:
34243         (WebKit::TiledDrawingArea::didReceiveLayerTreeHostMessage):
34244         * WebProcess/WebPage/TiledDrawingArea.h:
34245         * WebProcess/WebPage/WebPage.cpp:
34246         (WebKit::WebPage::didReceiveMessage):
34247         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
34248         (WebKit::LayerTreeHostQt::create):
34249         (WebKit::LayerTreeHostQt::~LayerTreeHostQt):
34250         (WebKit::LayerTreeHostQt::LayerTreeHostQt):
34251         (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled):
34252         (WebKit::LayerTreeHostQt::scheduleLayerFlush):
34253         (WebKit::LayerTreeHostQt::cancelPendingLayerFlush):
34254         (WebKit::LayerTreeHostQt::setShouldNotifyAfterNextScheduledLayerFlush):
34255         (WebKit::LayerTreeHostQt::setRootCompositingLayer):
34256         (WebKit::LayerTreeHostQt::invalidate):
34257         (WebKit::LayerTreeHostQt::setNonCompositedContentsNeedDisplay):
34258         (WebKit::LayerTreeHostQt::scrollNonCompositedContents):
34259         (WebKit::LayerTreeHostQt::forceRepaint):
34260         (WebKit::LayerTreeHostQt::sizeDidChange):
34261         (WebKit::LayerTreeHostQt::didInstallPageOverlay):
34262         (WebKit::LayerTreeHostQt::didUninstallPageOverlay):
34263         (WebKit::LayerTreeHostQt::setPageOverlayNeedsDisplay):
34264         (WebKit::LayerTreeHostQt::flushPendingLayerChanges):
34265         (WebKit::LayerTreeHostQt::didSyncCompositingStateForLayer):
34266         (WebKit::LayerTreeHostQt::didDeleteLayer):
34267         (WebKit::LayerTreeHostQt::performScheduledLayerFlush):
34268         (WebKit::LayerTreeHostQt::layerFlushTimerFired):
34269         (WebKit::LayerTreeHostQt::createPageOverlayLayer):
34270         (WebKit::LayerTreeHostQt::destroyPageOverlayLayer):
34271         (WebKit::LayerTreeHostQt::adoptImageBackingStore):
34272         (WebKit::LayerTreeHostQt::releaseImageBackingStore):
34273         (WebKit::LayerTreeHostQt::notifyAnimationStarted):
34274         (WebKit::LayerTreeHostQt::notifySyncRequired):
34275         (WebKit::LayerTreeHostQt::paintContents):
34276         (WebKit::LayerTreeHostQt::showDebugBorders):
34277         (WebKit::LayerTreeHostQt::showRepaintCounter):
34278         (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
34279         (WebKit::LayerTreeHostQt::createTile):
34280         (WebKit::LayerTreeHostQt::updateTile):
34281         (WebKit::LayerTreeHostQt::removeTile):
34282         (WebKit::LayerTreeHostQt::setVisibleContentRectForLayer):
34283         (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
34284         (WebKit::LayerTreeHostQt::setVisibleContentRectTrajectoryVector):
34285         (WebKit::LayerTreeHostQt::renderNextFrame):
34286         (WebKit::LayerTreeHostQt::layerTreeTileUpdatesAllowed):
34287
34288 2011-10-15  Sheriff Bot  <webkit.review.bot@gmail.com>
34289
34290         Unreviewed, rolling out r97549.
34291         http://trac.webkit.org/changeset/97549
34292         https://bugs.webkit.org/show_bug.cgi?id=70174
34293
34294         It broke the SL build (Requested by Ossy_weekend on #webkit).
34295
34296         * DerivedSources.pro:
34297         * Platform/CoreIPC/MessageID.h:
34298         * Scripts/webkit2/messages.py:
34299         * Shared/LayerTreeContext.h:
34300         * Shared/WebLayerTreeInfo.cpp:
34301         (WebKit::WebLayerInfo::encode):
34302         (WebKit::WebLayerInfo::decode):
34303         * Shared/WebLayerTreeInfo.h:
34304         * Shared/qt/LayerTreeContextQt.cpp:
34305         (WebKit::LayerTreeContext::LayerTreeContext):
34306         (WebKit::LayerTreeContext::~LayerTreeContext):
34307         (WebKit::LayerTreeContext::encode):
34308         (WebKit::LayerTreeContext::decode):
34309         (WebKit::LayerTreeContext::isEmpty):
34310         (WebKit::operator==):
34311         * UIProcess/DrawingAreaProxy.cpp:
34312         * UIProcess/DrawingAreaProxy.h:
34313         * UIProcess/DrawingAreaProxyImpl.cpp:
34314         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
34315         * UIProcess/DrawingAreaProxyImpl.h:
34316         * UIProcess/LayerTreeHostProxy.h: Removed.
34317         * UIProcess/LayerTreeHostProxy.messages.in: Removed.
34318         * UIProcess/WebPageProxy.cpp:
34319         (WebKit::WebPageProxy::didReceiveMessage):
34320         * UIProcess/qt/LayerTreeHostProxyQt.cpp: Removed.
34321         * WebKit2.pro:
34322         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
34323         (WebCore::deletedLayerIDs):
34324         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
34325         (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
34326         (WebCore::WebGraphicsLayer::setChildren):
34327         (WebCore::WebGraphicsLayer::addChild):
34328         (WebCore::WebGraphicsLayer::addChildAtIndex):
34329         (WebCore::WebGraphicsLayer::addChildAbove):
34330         (WebCore::WebGraphicsLayer::addChildBelow):
34331         (WebCore::WebGraphicsLayer::replaceChild):
34332         (WebCore::WebGraphicsLayer::removeFromParent):
34333         (WebCore::WebGraphicsLayer::setContentsRect):
34334         (WebCore::WebGraphicsLayer::setContentsToImage):
34335         (WebCore::WebGraphicsLayer::setNeedsDisplay):
34336         (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
34337         (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
34338         (WebCore::WebGraphicsLayer::didSynchronize):
34339         (WebCore::WebGraphicsLayer::layerInfo):
34340         (WebCore::WebGraphicsLayer::syncCompositingState):
34341         (WebCore::WebGraphicsLayer::needsDisplayRect):
34342         (WebCore::WebGraphicsLayer::takeLayersToDelete):
34343         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
34344         (WebCore::divideIntoTiles):
34345         (WebCore::collectCompositingInfoForThisLayer):
34346         (WebCore::collectCompositingInfoRecursively):
34347         (WebCore::WebGraphicsLayer::sendLayersToUIProcess):
34348         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
34349         * WebProcess/WebPage/DrawingArea.h:
34350         * WebProcess/WebPage/DrawingAreaImpl.cpp:
34351         * WebProcess/WebPage/DrawingAreaImpl.h:
34352         * WebProcess/WebPage/LayerTreeHost.cpp:
34353         (WebKit::LayerTreeHost::create):
34354         * WebProcess/WebPage/LayerTreeHost.h:
34355         * WebProcess/WebPage/LayerTreeHost.messages.in: Removed.
34356         * WebProcess/WebPage/TiledDrawingArea.cpp:
34357         * WebProcess/WebPage/TiledDrawingArea.h:
34358         * WebProcess/WebPage/WebPage.cpp:
34359         (WebKit::WebPage::didReceiveMessage):
34360         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
34361         * WebProcess/WebPage/qt/LayerTreeHostQt.h: Removed.
34362
34363 2011-10-15  No'am Rosenthal  <noam.rosenthal@nokia.com>
34364
34365         [Qt][WK2] Synchronize tiling with accelerated compositing
34366         https://bugs.webkit.org/show_bug.cgi?id=69151
34367
34368         Reviewed by Simon Hausmann.
34369
34370         Make the tiled "non-composited" content and the composited layers go through the same
34371         code path on WebKit2. Instead of having a "drawing area" that handles the non-composited
34372         content and a seperate layer tree, we put everything in a layer tree, with the non-
34373         composited content being a layer in the tree.
34374
34375         This allows fixing several issues with websites that have large content areas that are
34376         composited or overlap with composited layers.
34377
34378         Layer-tree synchronization is done by passing WebKit2 messages between a LayerTreeHost
34379         on the WebProcess and a LayerTreeHostProxy on the UI process. Every layer in the tree has
34380         its own tiled backing store, and uses the LayerTreeHost communication channel to pass
34381         content up to the UI process. The UI process will later creates its own GraphicsLayer tree,
34382         based on TextureMapper, which can be painted directly with OpenGL.
34383
34384         Several optimizations are available for the non-composited layer as well, e.g. specifying
34385         a trajectory and updating the visible rect together with the content scale.
34386
34387         This code is currently disabled, a separate patch will enable it and glue it to
34388         QTouchWebPage.
34389
34390         * DerivedSources.pro:
34391         * Platform/CoreIPC/MessageID.h:
34392         * Scripts/webkit2/messages.py:
34393         * Shared/LayerTreeContext.h:
34394         * Shared/WebLayerTreeInfo.cpp:
34395         (WebKit::WebLayerInfo::encode):
34396         (WebKit::WebLayerInfo::decode):
34397         * Shared/WebLayerTreeInfo.h:
34398         * Shared/qt/LayerTreeContextQt.cpp:
34399         (WebKit::LayerTreeContext::LayerTreeContext):
34400         (WebKit::LayerTreeContext::~LayerTreeContext):
34401         (WebKit::LayerTreeContext::encode):
34402         (WebKit::LayerTreeContext::decode):
34403         (WebKit::LayerTreeContext::isEmpty):
34404         (WebKit::operator==):
34405         * UIProcess/DrawingAreaProxy.cpp:
34406         (WebKit::DrawingAreaProxy::updateWebView):
34407         (WebKit::DrawingAreaProxy::contentsRect):
34408         * UIProcess/DrawingAreaProxy.h:
34409         (WebKit::DrawingAreaProxy::viewportVisibleRect):
34410         (WebKit::DrawingAreaProxy::isBackingStoreReady):
34411         (WebKit::DrawingAreaProxy::paintToCurrentGLContext):
34412         (WebKit::DrawingAreaProxy::setVisibleContentsRectAndScale):
34413         (WebKit::DrawingAreaProxy::setVisibleContentRectTrajectoryVector):
34414         (WebKit::DrawingAreaProxy::createTileForLayer):
34415         (WebKit::DrawingAreaProxy::updateTileForLayer):
34416         (WebKit::DrawingAreaProxy::removeTileForLayer):
34417         (WebKit::DrawingAreaProxy::didReceiveLayerTreeHostProxyMessage):
34418         (WebKit::DrawingAreaProxy::page):
34419         * UIProcess/DrawingAreaProxyImpl.cpp:
34420         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
34421         (WebKit::DrawingAreaProxyImpl::didReceiveLayerTreeHostProxyMessage):
34422         (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectAndScale):
34423         (WebKit::DrawingAreaProxyImpl::setVisibleContentRectTrajectoryVector):
34424         (WebKit::DrawingAreaProxyImpl::paintToCurrentGLContext):
34425         * UIProcess/DrawingAreaProxyImpl.h:
34426         * UIProcess/LayerTreeHostProxy.h: Added.
34427         (WebKit::LayerTreeHostProxy::layerByID):
34428         (WebKit::LayerTreeHostProxy::rootLayer):
34429         (WebKit::LayerTreeHostProxy::notifyAnimationStarted):
34430         (WebKit::LayerTreeHostProxy::notifySyncRequired):
34431         (WebKit::LayerTreeHostProxy::showDebugBorders):
34432         (WebKit::LayerTreeHostProxy::showRepaintCounter):
34433         (WebKit::LayerTreeHostProxy::paintContents):
34434         * UIProcess/LayerTreeHostProxy.messages.in: Added.
34435         * UIProcess/WebPageProxy.cpp:
34436         (WebKit::WebPageProxy::didReceiveMessage):
34437         * UIProcess/qt/LayerTreeHostProxyQt.cpp: Added.
34438         * WebKit2.pro:
34439         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
34440         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
34441         (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
34442         (WebCore::WebGraphicsLayer::setChildren):
34443         (WebCore::WebGraphicsLayer::addChild):
34444         (WebCore::WebGraphicsLayer::addChildAtIndex):
34445         (WebCore::WebGraphicsLayer::addChildAbove):
34446         (WebCore::WebGraphicsLayer::addChildBelow):
34447         (WebCore::WebGraphicsLayer::replaceChild):
34448         (WebCore::WebGraphicsLayer::removeFromParent):
34449         (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
34450         (WebCore::WebGraphicsLayer::setContentsToImage):
34451         (WebCore::WebGraphicsLayer::setNeedsDisplay):
34452         (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
34453         (WebCore::WebGraphicsLayer::syncCompositingState):
34454         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
34455         (WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin):
34456         (WebCore::WebGraphicsLayer::setContentsScale):
34457         (WebCore::WebGraphicsLayer::setRootLayer):
34458         (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
34459         (WebCore::WebGraphicsLayer::setVisibleContentRect):
34460         (WebCore::WebGraphicsLayer::tiledBackingStorePaint):
34461         (WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd):
34462         (WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed):
34463         (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
34464         (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
34465         (WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor):
34466         (WebCore::WebGraphicsLayer::createTile):
34467         (WebCore::WebGraphicsLayer::updateTile):
34468         (WebCore::WebGraphicsLayer::removeTile):
34469         (WebCore::WebGraphicsLayer::updateTileBuffersRecursively):
34470         (WebCore::WebGraphicsLayer::layerTreeTileClient):
34471         (WebCore::WebGraphicsLayer::updateContentBuffers):
34472         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
34473         (WebCore::WebGraphicsLayer::setLayerTreeTileClient):
34474         * WebProcess/WebPage/DrawingArea.h:
34475         * WebProcess/WebPage/DrawingAreaImpl.cpp:
34476         (WebKit::DrawingAreaImpl::didReceiveLayerTreeHostMessage):
34477         * WebProcess/WebPage/DrawingAreaImpl.h:
34478         * WebProcess/WebPage/LayerTreeHost.cpp:
34479         (WebKit::LayerTreeHost::create):
34480         * WebProcess/WebPage/LayerTreeHost.h:
34481         (WebKit::LayerTreeHost::setVisibleContentRectAndScale):
34482         (WebKit::LayerTreeHost::setVisibleContentRectTrajectoryVector):
34483         (WebKit::LayerTreeHost::setVisibleContentRectForLayer):
34484         (WebKit::LayerTreeHost::renderNextFrame):
34485         * WebProcess/WebPage/LayerTreeHost.messages.in: Added.
34486         * WebProcess/WebPage/TiledDrawingArea.cpp:
34487         (WebKit::TiledDrawingArea::didReceiveLayerTreeHostMessage):
34488         * WebProcess/WebPage/TiledDrawingArea.h:
34489         * WebProcess/WebPage/WebPage.cpp:
34490         (WebKit::WebPage::didReceiveMessage):
34491         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
34492         (WebKit::LayerTreeHostQt::create):
34493         (WebKit::LayerTreeHostQt::~LayerTreeHostQt):
34494         (WebKit::LayerTreeHostQt::LayerTreeHostQt):
34495         (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled):
34496         (WebKit::LayerTreeHostQt::scheduleLayerFlush):
34497         (WebKit::LayerTreeHostQt::cancelPendingLayerFlush):
34498         (WebKit::LayerTreeHostQt::setShouldNotifyAfterNextScheduledLayerFlush):
34499         (WebKit::LayerTreeHostQt::setRootCompositingLayer):
34500         (WebKit::LayerTreeHostQt::invalidate):
34501         (WebKit::LayerTreeHostQt::setNonCompositedContentsNeedDisplay):
34502         (WebKit::LayerTreeHostQt::scrollNonCompositedContents):
34503         (WebKit::LayerTreeHostQt::forceRepaint):
34504         (WebKit::LayerTreeHostQt::sizeDidChange):
34505         (WebKit::LayerTreeHostQt::didInstallPageOverlay):
34506         (WebKit::LayerTreeHostQt::didUninstallPageOverlay):
34507         (WebKit::LayerTreeHostQt::setPageOverlayNeedsDisplay):
34508         (WebKit::LayerTreeHostQt::flushPendingLayerChanges):
34509         (WebKit::LayerTreeHostQt::didSyncCompositingStateForLayer):
34510         (WebKit::LayerTreeHostQt::didDeleteLayer):
34511         (WebKit::LayerTreeHostQt::performScheduledLayerFlush):
34512         (WebKit::LayerTreeHostQt::layerFlushTimerFired):
34513         (WebKit::LayerTreeHostQt::createPageOverlayLayer):
34514         (WebKit::LayerTreeHostQt::destroyPageOverlayLayer):
34515         (WebKit::LayerTreeHostQt::adoptImageBackingStore):
34516         (WebKit::LayerTreeHostQt::releaseImageBackingStore):
34517         (WebKit::LayerTreeHostQt::notifyAnimationStarted):
34518         (WebKit::LayerTreeHostQt::notifySyncRequired):
34519         (WebKit::LayerTreeHostQt::paintContents):
34520         (WebKit::LayerTreeHostQt::showDebugBorders):
34521         (WebKit::LayerTreeHostQt::showRepaintCounter):
34522         (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
34523         (WebKit::LayerTreeHostQt::createTile):
34524         (WebKit::LayerTreeHostQt::updateTile):
34525         (WebKit::LayerTreeHostQt::removeTile):
34526         (WebKit::LayerTreeHostQt::setVisibleContentRectForLayer):
34527         (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
34528         (WebKit::LayerTreeHostQt::setVisibleContentRectTrajectoryVector):
34529         (WebKit::LayerTreeHostQt::renderNextFrame):
34530         (WebKit::LayerTreeHostQt::layerTreeTileUpdatesAllowed):
34531
34532 2011-10-14  Mark Hahnenberg  <mhahnenberg@apple.com>
34533
34534         Rename getOwnPropertySlot to getOwnPropertySlotVirtual
34535         https://bugs.webkit.org/show_bug.cgi?id=69810
34536
34537         Reviewed by Geoffrey Garen.
34538
34539         Renamed the virtual version of getOwnPropertySlot to getOwnPropertySlotVirtual
34540         in preparation for when we add the static getOwnPropertySlot to the MethodTable 
34541         in ClassInfo.
34542
34543         Also added a few static getOwnPropertySlot functions where they had been overlooked 
34544         before (especially in CodeGeneratorJS.pm).
34545
34546         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
34547         (WebKit::JSNPObject::getOwnPropertySlotVirtual):
34548         * WebProcess/Plugins/Netscape/JSNPObject.h:
34549
34550 2011-10-14  Mark Hahnenberg  <mhahnenberg@apple.com>
34551
34552         Rename virtual put to putVirtual
34553         https://bugs.webkit.org/show_bug.cgi?id=69851
34554
34555         Reviewed by Darin Adler.
34556
34557         Renamed virtual versions of put to putVirtual in prepration for 
34558         adding the static put to the MethodTable in ClassInfo since the 
34559         compiler gets mad if the virtual and static versions have the same 
34560         name.
34561
34562         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
34563         (WebKit::JSNPObject::putVirtual):
34564         (WebKit::JSNPObject::put):
34565         * WebProcess/Plugins/Netscape/JSNPObject.h:
34566         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
34567         (WebKit::NPJSObject::setProperty):
34568
34569 2011-10-14  Jeff Miller  <jeffm@apple.com>
34570
34571         InjectedBundleHitTestResult::imageRect() should return rect in WKView coordinates
34572         https://bugs.webkit.org/show_bug.cgi?id=69963
34573         
34574         WebKit2 clients only have knowledge of the WKView's coordinate system, they have no way to
34575         convert from subframe view coordinates , so any rect that we expose through WK2 APIs should
34576         be in WKView coordinates.
34577         
34578         Reviewed by Simon Fraser.
34579
34580         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
34581         (WebKit::InjectedBundleHitTestResult::imageRect): Use WebCore::FrameView::contentsToRootView() to convert the image rect to WKView coordinates.
34582
34583 2011-10-14  Mark Hahnenberg  <mhahnenberg@apple.com>
34584
34585         Rename virtual deleteProperty to deletePropertyVirtual
34586         https://bugs.webkit.org/show_bug.cgi?id=69884
34587
34588         Reviewed by Darin Adler.
34589
34590         Renamed virtual versions of deleteProperty to deletePropertyVirtual in prepration for 
34591         adding the static deleteProperty to the MethodTable in ClassInfo since the 
34592         compiler gets mad if the virtual and static versions have the same name.
34593
34594         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
34595         (WebKit::JSNPObject::deletePropertyVirtual):
34596         (WebKit::JSNPObject::deleteProperty):
34597         * WebProcess/Plugins/Netscape/JSNPObject.h:
34598         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
34599         (WebKit::NPJSObject::removeProperty):
34600
34601 2011-10-14  Nayan Kumar K  <nayankk@motorola.com>
34602
34603         [WebKit2][gtk] Add documentation for WebKitPluginError and WebKitPolicyError.
34604         https://bugs.webkit.org/show_bug.cgi?id=70016
34605
34606         Reviewed by Martin Robinson.
34607
34608         * UIProcess/API/gtk/WebKitError.h:
34609
34610 2011-10-14  Nayan Kumar K  <nayankk@motorola.com>
34611
34612         [WebKit2][gtk] Skip TestWebKitSettings test.
34613         https://bugs.webkit.org/show_bug.cgi?id=70129
34614
34615         Reviewed by Martin Robinson.
34616
34617         Skip running TestWebKitSettings test till a bug
34618         https://bugs.webkit.org/show_bug.cgi?id=70127 gets fixed.
34619
34620         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
34621         (testWebKitSettings): Skip TestWebKitSettings test.
34622
34623 2011-10-14  Sheriff Bot  <webkit.review.bot@gmail.com>
34624
34625         Unreviewed, rolling out r97375.
34626         http://trac.webkit.org/changeset/97375
34627         https://bugs.webkit.org/show_bug.cgi?id=70115
34628
34629         It breaks loading of webpages in QtWebKit2 (Requested by jeez_
34630         on #webkit).
34631
34632         * UIProcess/qt/ClientImpl.cpp:
34633         (qt_wk_decidePolicyForNavigationAction):
34634         * UIProcess/qt/ClientImpl.h:
34635         * UIProcess/qt/QtWebPageProxy.cpp:
34636         (QtWebPageProxy::init):
34637
34638 2011-10-12  Ryosuke Niwa  <rniwa@webkit.org>
34639
34640         Make the interface of locationAndLengthFromRange and rangeFromLocationAndLength consistent
34641         https://bugs.webkit.org/show_bug.cgi?id=69964
34642
34643         Reviewed by Enrica Casucci.
34644
34645         * WebProcess/WebPage/mac/WebPageMac.mm:
34646         (WebKit::WebPage::getMarkedRange):
34647         (WebKit::WebPage::getSelectedRange):
34648         (WebKit::WebPage::characterIndexForPoint):
34649         (WebKit::convertToRange):
34650
34651 2011-10-14  Nayan Kumar K  <nayankk@motorola.com>
34652
34653         [GTK] r97438: Inconsistent use of flattening vs flattering in function names/comments
34654         https://bugs.webkit.org/show_bug.cgi?id=70092
34655
34656         Reviewed by Martin Robinson.
34657
34658         Fixes the miss-spelling of 'PROP_ENABLE_FRAME_FLATTENING' as 'PROP_ENABLE_FRAME_FLATTERING'
34659         introduced with change set r97438.
34660
34661         * UIProcess/API/gtk/WebKitSettings.cpp:
34662         (webKitSettingsSetProperty): Property name correction.
34663         (webKitSettingsGetProperty): Property name correction.
34664         (webkit_settings_class_init): Property name correction.
34665         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
34666         (testWebKitSettings): Spelling correction.
34667
34668 2011-10-14  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
34669
34670         [Qt] enable qmltests for qt5
34671         https://bugs.webkit.org/show_bug.cgi?id=70037
34672
34673         Reviewed by Chang Shu.
34674
34675         Qml tests seem to be disabled for some reason. This patch enables the tests by including qmltests to SUBDIRS.
34676
34677         * UIProcess/API/qt/tests/tests.pro:
34678
34679 2011-10-14  Kenneth Rohde Christiansen  <kenneth@webkit.org>
34680
34681         Do not cache m_resizesToContentsLayoutSize on WebKit2's WebPage
34682         https://bugs.webkit.org/show_bug.cgi?id=66134
34683
34684         Unreviewed build fix after r97462.
34685
34686         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
34687         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
34688
34689 2011-10-14  Kenneth Rohde Christiansen  <kenneth@webkit.org>
34690
34691         Do not cache m_resizesToContentsLayoutSize on WebKit2's WebPage
34692         https://bugs.webkit.org/show_bug.cgi?id=66134
34693
34694         Reviewed by Simon Hausmann.
34695
34696         Do the resize to contents on the web process side.
34697
34698         Based on patch by Zalan Bujtas.
34699
34700         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
34701         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
34702         * WebProcess/WebPage/WebPage.cpp:
34703         (WebKit::WebPage::setSize):
34704         (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
34705         (WebKit::WebPage::resizeToContentsIfNeeded):
34706         * WebProcess/WebPage/WebPage.h:
34707
34708 2011-10-14  Carlos Garcia Campos  <cgarcia@igalia.com>
34709
34710         [GTK] Build is broken with new ld
34711         https://bugs.webkit.org/show_bug.cgi?id=70097
34712
34713         Reviewed by Philippe Normand.
34714
34715         * UIProcess/API/gtk/tests/GNUmakefile.am:
34716
34717 2011-10-12  Simon Hausmann  <simon.hausmann@nokia.com>
34718
34719         [Qt][WK2] Fix build after QSGItem API changes
34720         https://bugs.webkit.org/show_bug.cgi?id=69926
34721
34722         Reviewed by Kenneth Rohde Christiansen.
34723
34724         Commit c825865cdd88445aa1db94cdf0da89426919acdb in qtdeclarative changed the
34725         signatures of the Drag & Drop event handlers in QSGItem. The SG specific events
34726         were replaced with the plain QDrag* events, which are now used for widgets as well
34727         as the Qt scene graph.
34728
34729         This patch adapts the desktop webview as well as the page proxy to handle these
34730         kind of events.
34731
34732         * UIProcess/API/qt/qdesktopwebview.cpp:
34733         (QDesktopWebView::dragMoveEvent):
34734         (QDesktopWebView::dragEnterEvent):
34735         (QDesktopWebView::dragLeaveEvent):
34736         (QDesktopWebView::dropEvent):
34737         * UIProcess/API/qt/qdesktopwebview.h:
34738         * UIProcess/qt/qdesktopwebpageproxy.cpp:
34739         (QDesktopWebPageProxy::handleEvent):
34740         (QDesktopWebPageProxy::handleDragEnterEvent):
34741         (QDesktopWebPageProxy::handleDragLeaveEvent):
34742         (QDesktopWebPageProxy::handleDragMoveEvent):
34743         (QDesktopWebPageProxy::handleDropEvent):
34744         * UIProcess/qt/qdesktopwebpageproxy.h:
34745
34746 2011-10-13  Nayan Kumar K  <nayankk@motorola.com>
34747
34748         [GTK][WEBKIT2] Add WebKitSettings GTK+ API.
34749         https://bugs.webkit.org/show_bug.cgi?id=68371
34750
34751         Reviewed by Martin Robinson.
34752
34753         WebKitSettings GTK+ object is created and first set of
34754         API's are written to get or set the properties of WebKitSettings.
34755
34756         * GNUmakefile.am: Added new files for compilation.
34757         * UIProcess/API/gtk/WebKitSettings.cpp: Added.
34758         (_WebKitSettingsPrivate::_WebKitSettingsPrivate): Constructor.
34759         (webKitSettingsSetProperty): Set property function.
34760         (webKitSettingsGetProperty): Get property function.
34761         (webKitSettingsFinalize): Class finalize function.
34762         (webkit_settings_class_init): Class init function.
34763         (webkit_settings_init): Instance init function.
34764         (webkit_settings_new): Creates WebKitSettings GObject.
34765         (webkit_settings_get_enable_javascript): Function to get 'enable-javascript' property.
34766         (webkit_settings_set_enable_javascript): Function to set 'enable-javascript' property.
34767         (webkit_settings_get_auto_load_images): Get the 'auto-load-images' property.
34768         (webkit_settings_set_auto_load_images): Set the 'auto-load-images' property.
34769         (webkit_settings_get_load_icons_ignoring_image_load_setting): Function to get
34770         'load-icons-ignoring-image-load-setting' property.
34771         (webkit_settings_set_load_icons_ignoring_image_load_setting): Function to set
34772         'load-icons-ignoring-image-load-setting' property.
34773         (webkit_settings_get_enable_offline_web_application_cache): Function to get
34774         'enable-offline-web-application-cache' property.
34775         (webkit_settings_set_enable_offline_web_application_cache): Function to set
34776         'enable-offline-web-application-cache' property.
34777         (webkit_settings_get_enable_html5_local_storage): Get the property 'enable-html5-local-storage'.
34778         (webkit_settings_set_enable_html5_local_storage): Set the property 'enable-html5-local-storage'.
34779         (webkit_settings_get_enable_html5_database): Get the property 'enable-html5-database'.
34780         (webkit_settings_set_enable_html5_database): Set the property 'enable-html5-database'.
34781         (webkit_settings_get_enable_xss_auditor): Get property 'enable-xss-editor'.
34782         (webkit_settings_set_enable_xss_auditor): Set property 'enable-xss-editor'.
34783         (webkit_settings_get_enable_frame_flattening): Get the property 'enable-frame-flattening'.
34784         (webkit_settings_set_enable_frame_flattening): Set the property 'enable-frame-flattening'.
34785         (webkit_settings_get_enable_plugins): Get the property 'enable-plugins'.
34786         (webkit_settings_set_enable_plugins): Set the property 'enable-plugins'.
34787         (webkit_settings_get_enable_java): Function to get 'enable-java' property.
34788         (webkit_settings_set_enable_java): Function to set 'enable-java' property.
34789         (webkit_settings_get_javascript_can_open_windows_automatically): Get the property
34790         'javascript-can-open-windows-automatically'.
34791         (webkit_settings_set_javascript_can_open_windows_automatically): Set the property
34792         'javascript-can-open-windows-automatically'.
34793         (webkit_settings_get_enable_hyperlink_auditing): Get 'enable-hyperlink-auditing' property.
34794         (webkit_settings_set_enable_hyperlink_auditing): Set 'enable-hyperlink-auditing' property.
34795         * UIProcess/API/gtk/WebKitSettings.h: Added. Public API's.
34796         * UIProcess/API/gtk/tests/GNUmakefile.am: Added new test.
34797         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: Added.
34798         (testWebKitSettings): Add WebKitSetting unit test.
34799         (beforeAll): Pre-test function.
34800         (afterAll): Post-test function.
34801         * UIProcess/API/gtk/webkit2.h: Add WebKitSettings.h to exposed API list.
34802
34803 2011-10-13  Mark Hahnenberg  <mhahnenberg@apple.com>
34804
34805         Rename virtual getConstructData to getConstructDataVirtual
34806         https://bugs.webkit.org/show_bug.cgi?id=69872
34807
34808         Reviewed by Geoffrey Garen.
34809
34810         Renamed virtual getConstructData functions to getConstructDataVirtual to 
34811         avoid conflicts when we add static getConstructData to the MethodTable.
34812
34813         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
34814         (WebKit::JSNPObject::getConstructDataVirtual):
34815         * WebProcess/Plugins/Netscape/JSNPObject.h:
34816
34817 2011-10-13  Sam Weinig  <sam@webkit.org>
34818
34819         Another SnowLeopard build fix.
34820
34821         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
34822         (WebKit::cachedImage):
34823         (WebKit::WebDragClient::declareAndWriteDragImage):
34824         (-[WKPasteboardOwner initWithImage:WebCore::]):
34825
34826 2011-10-13  Sam Weinig  <sam@webkit.org>
34827
34828         Fix SnowLeopard build.
34829
34830         * UIProcess/WebPageProxy.cpp:
34831         (WebKit::WebPageProxy::setCursor):
34832         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
34833
34834 2011-10-13  Alexey Proskuryakov  <ap@apple.com>
34835
34836         [Mac] PDF Documents at epo.org look very blurry
34837         https://bugs.webkit.org/show_bug.cgi?id=70072
34838
34839         Reviewed by Dan Bernstein.
34840
34841         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: (WebKit::BuiltInPDFView::paintContent):
34842         Ensure integral coordinates. <rdar://problem/10283382> tracks lifting this limitation.
34843
34844 2011-10-13  Alexey Proskuryakov  <ap@apple.com>
34845
34846         [Mac] Wheel event handler counter is incorrect with PDF views
34847         https://bugs.webkit.org/show_bug.cgi?id=70062
34848
34849         Reviewed by Dan Bernstein.
34850
34851         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
34852         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
34853         (WebKit::BuiltInPDFView::didAddVerticalScrollbar): Added forgotten override for vertical case.
34854         (WebKit::BuiltInPDFView::willRemoveVerticalScrollbar): Ditto.
34855         (WebKit::BuiltInPDFView::createScrollbar): Notify self, do not make a shortcut to ScrollAnimator.
34856         (WebKit::BuiltInPDFView::destroyScrollbar): Ditto.
34857         (WebKit::BuiltInPDFView::destroy): Actually destroy the scrollbars.
34858
34859 2011-10-12  Chris Marrin  <cmarrin@apple.com>
34860
34861         Sync requestAnimationFrame callback to CVDisplayLink on Mac
34862         https://bugs.webkit.org/show_bug.cgi?id=68911
34863
34864         Reviewed by Simon Fraser.
34865
34866         Add windowDidChangeScreen function which listens for the window changing
34867         screens and passes the new displayID along to WebCore::Page. It also sends
34868         one on windowDidBecomeKey, so the Page has a fresh displayID after it's
34869         created. Event is generated in the UIProcess and then sent over to the
34870         WebProcess, which actually sends it to WebCore::Page.
34871
34872         * UIProcess/API/mac/WKView.mm:
34873         (-[WKView addWindowObserversForWindow:]):
34874         (-[WKView removeWindowObservers]):
34875         (-[WKView _windowDidChangeScreen:]):
34876         (-[WKView _windowDidBecomeKey:]):
34877         * UIProcess/WebPageProxy.cpp:
34878         (WebKit::WebPageProxy::windowScreenDidChange):
34879         * UIProcess/WebPageProxy.h:
34880         * WebProcess/WebPage/WebPage.cpp:
34881         (WebKit::WebPage::windowScreenDidChange):
34882         * WebProcess/WebPage/WebPage.h:
34883         * WebProcess/WebPage/WebPage.messages.in:
34884
34885 2011-10-13  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
34886
34887         [Qt][WK2] WebErrorsQt.cpp duplicates code from WKError.h and WebError.h
34888         https://bugs.webkit.org/show_bug.cgi?id=70053
34889
34890         Reviewed by Kenneth Rohde Christiansen.
34891
34892         Now we will be aligned with WKError.h and WebError.h by using the shared
34893         and pre-defined enum for error codes and WebError::webkitErrorDomain().
34894
34895         * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp:
34896         (WebKit::blockedError):
34897         (WebKit::cannotShowURLError):
34898         (WebKit::interruptedForPolicyChangeError):
34899         (WebKit::cannotShowMIMETypeError):
34900         (WebKit::pluginWillHandleLoadError):
34901
34902 2011-10-13  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
34903
34904         [Qt][WK2] WebViews are emitting loadFailed for "private" error codes
34905         https://bugs.webkit.org/show_bug.cgi?id=70047
34906
34907         Reviewed by Kenneth Rohde Christiansen.
34908
34909         Both QDesktopWebView and QTouchWebView are emitting loadFailed for private errors
34910         like the ones defined in Source/WebKit2/WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp.
34911
34912         We now filter these by not emitting this signal for FrameLoadInterruptedByPolicyChange,
34913         PlugInWillHandleLoad and Cancellation, following previous decisions from WebKit 1.
34914
34915         * UIProcess/qt/ClientImpl.cpp:
34916         (dispatchLoadFailed):
34917
34918 2011-10-13  Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
34919
34920         Implement TextChecker for WebKit2 GTK+
34921         https://bugs.webkit.org/show_bug.cgi?id=68548
34922
34923         Reviewed by Anders Carlsson.
34924
34925         Added implementation for all functions in TextCheckerGtk.cpp removing earlier stubbed implementations.
34926         Moved couple of API earlier specific to win port to common section and added stubbed implementation
34927         of the same for remaining ports of Qt, Efl and Mac.
34928
34929         * GNUmakefile.am: Added TextChecker implementation files.
34930         * UIProcess/TextChecker.h: Moved spellCheckingEnabled and grammarCheckingEnabled API outside of win port.
34931         * UIProcess/efl/TextCheckerEfl.cpp: Stubbed implementation of API which was moved outside win port.
34932         * UIProcess/gtk/TextCheckerGtk.cpp: Implementation of all TextChecker API.
34933         (WebKit::TextChecker::state):
34934         (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
34935         (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
34936         (WebKit::TextChecker::setGrammarCheckingEnabled):
34937         (WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
34938         (WebKit::TextChecker::grammarCheckingEnabledStateChanged):
34939         (WebKit::TextChecker::uniqueSpellDocumentTag):
34940         (WebKit::TextChecker::closeSpellDocumentWithTag):
34941         (WebKit::TextChecker::checkSpellingOfString):
34942         (WebKit::TextChecker::checkGrammarOfString):
34943         (WebKit::TextChecker::spellingUIIsShowing):
34944         (WebKit::TextChecker::toggleSpellingUIIsShowing):
34945         (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
34946         (WebKit::TextChecker::updateSpellingUIWithGrammarString):
34947         (WebKit::TextChecker::getGuessesForWord):
34948         (WebKit::TextChecker::learnWord):
34949         (WebKit::TextChecker::ignoreWord):
34950         * UIProcess/mac/TextCheckerMac.mm: Implementation of API which was moved outside win port.
34951         * UIProcess/qt/TextCheckerQt.cpp: Stubbed implementation of API which was moved outside win port.
34952
34953 2011-10-13  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
34954
34955         [Qt][WK2] Implement decidePolicyForResponse in our PolicyClient
34956         https://bugs.webkit.org/show_bug.cgi?id=69832
34957
34958         Reviewed by Kenneth Rohde Christiansen.
34959
34960         We implement decidePolicyForResponse in our PolicyClient in order to
34961         decide whether a given ResourceResponse should be downloaded or loaded.
34962
34963         * UIProcess/qt/ClientImpl.cpp:
34964         (qt_wk_decidePolicyForResponse):
34965         * UIProcess/qt/ClientImpl.h:
34966         * UIProcess/qt/QtWebPageProxy.cpp:
34967         (QtWebPageProxy::init):
34968
34969 2011-10-13  Carlos Garcia Campos  <cgarcia@igalia.com>
34970
34971         [GTK] Add WebKitTestServer class to WebKit2 GTK+ unit tests library
34972         https://bugs.webkit.org/show_bug.cgi?id=70010
34973
34974         Reviewed by Martin Robinson.
34975
34976         With this class tests using a soup server only need to implement
34977         the soup server callback.
34978
34979         * UIProcess/API/gtk/tests/GNUmakefile.am: Add new files to compilation.
34980         * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp: Use WebKitTestServer.
34981         (testLoadingStatus):
34982         (testLoadingError):
34983         (testLoadAlternateContent):
34984         (testWebViewReload):
34985         (testLoadProgress):
34986         (beforeAll):
34987         (afterAll):
34988         * UIProcess/API/gtk/tests/WebKitTestServer.cpp: Added.
34989         (WebKitTestServer::WebKitTestServer):
34990         (WebKitTestServer::~WebKitTestServer):
34991         (WebKitTestServer::run): Run the soup server and adds the given
34992         soup server callback to handle requests.
34993         (WebKitTestServer::getURIForPath): Returns the server absolute URI
34994         for the given relative path.
34995         * UIProcess/API/gtk/tests/WebKitTestServer.h: Added.
34996         (WebKitTestServer::baseURI):
34997
34998 2011-10-13  Nayan Kumar K  <nayankk@motorola.com>
34999
35000         [WebKit2][gtk] Fix warnings while generating WebKit2-GTK+ documentation.
35001         https://bugs.webkit.org/show_bug.cgi?id=69928
35002
35003         Reviewed by Philippe Normand.
35004
35005         Patch fixes the warnings reported by gtk-doc while generating
35006         WebKit2-GTK+ documentation.
35007
35008         * UIProcess/API/gtk/WebKitWebContext.h: Correct the documentation comment.
35009         * UIProcess/API/gtk/WebKitWebView.cpp: Parameter name correction.
35010
35011 2011-10-12  Joseph Pecoraro  <joepeck@webkit.org>
35012
35013         Pass Parsed Accept Attribute MIME Types to WebKit Clients
35014         https://bugs.webkit.org/show_bug.cgi?id=69598
35015
35016         Reviewed by David Kilzer.
35017
35018         * Shared/WebCoreArgumentCoders.cpp:
35019         (CoreIPC::::encode):
35020         (CoreIPC::::decode):
35021
35022 2011-10-12  Joseph Pecoraro  <joepeck@webkit.org>
35023
35024         Pass Parsed Accept Attribute MIME Types to WebKit Clients
35025         https://bugs.webkit.org/show_bug.cgi?id=69598
35026
35027         Reviewed by Anders Carlsson.
35028
35029         The WebOpenPanelParameters::Data struct was a mirror of
35030         the already existing WebCore::FileChooserSettings struct.
35031         So eliminate the excess struct and generate default
35032         WebCore coders for the WebCore::FileChooserSettings struct.
35033
35034         * Scripts/webkit2/messages.py:
35035         Switch to the new type. FileChooserSetting's header needs
35036         to be special cased to FileChooser.h.
35037
35038         * Shared/WebCoreArgumentCoders.h:
35039         * Shared/WebCoreArgumentCoders.cpp:
35040         (CoreIPC::::encode):
35041         (CoreIPC::::decode):
35042         Encode and decode all, non-deprecated, values. So we
35043         ignore deprecatedAcceptTypes. A follow-up patch will add it.
35044
35045         * Shared/WebOpenPanelParameters.cpp:
35046         (WebKit::WebOpenPanelParameters::create):
35047         (WebKit::WebOpenPanelParameters::WebOpenPanelParameters):
35048         Switch to the new type.
35049
35050         * Shared/WebOpenPanelParameters.h:
35051         (WebKit::WebOpenPanelParameters::allowMultipleFiles):
35052         (WebKit::WebOpenPanelParameters::selectedFileNames):
35053         FileChooserSettings had different property names.
35054
35055         * UIProcess/WebPageProxy.cpp:
35056         (WebKit::WebPageProxy::runOpenPanel):
35057         Generate the WebOpenPanelParameters object here, before
35058         passing into the WebUIClient. This seems to be the convention
35059         to not have WebCore types in WebUIClient.
35060
35061         * UIProcess/WebPageProxy.h:
35062         * UIProcess/WebPageProxy.messages.in:
35063         * UIProcess/WebUIClient.cpp:
35064         (WebKit::WebUIClient::runOpenPanel):
35065         * UIProcess/WebUIClient.h:
35066         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
35067         (WebKit::WebChromeClient::runOpenPanel):
35068         Switch to the new type.
35069
35070 2011-10-12  Joseph Pecoraro  <joepeck@webkit.org>
35071
35072         Pass Parsed Accept Attribute MIME Types to WebKit Clients
35073         https://bugs.webkit.org/show_bug.cgi?id=69598
35074
35075         Reviewed by Kent Tamura.
35076
35077         Switch to deprecated for now, but the next patches will
35078         remove the deprecated version from the WebKit2 path.
35079
35080         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
35081         (WebKit::WebChromeClient::runOpenPanel):
35082
35083 2011-10-12  Adam Barth  <abarth@webkit.org>
35084
35085         Remove ENABLE(XHTMLMP) and associated code
35086         https://bugs.webkit.org/show_bug.cgi?id=69729
35087
35088         Reviewed by David Levin.
35089
35090         * Configurations/FeatureDefines.xcconfig:
35091
35092 2011-10-12  Dan Bernstein  <mitz@apple.com>
35093
35094         Hang beneath PluginProcessProxy::createPropertyListFile() when using a thin build
35095         https://bugs.webkit.org/show_bug.cgi?id=69960
35096
35097         Reviewed by Adam Roben.
35098
35099         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
35100         (WebKit::PluginProcessProxy::createPropertyListFile): Check for any non-zero return value
35101         from posix_spawn() rather than for a negative return value. The old, incorrect check, caused
35102         this function to hang in waitpid() after failing to spawn a plug-in process for a 32-bit plug-in
35103         when WebKit2 was built for 64-bit only.
35104
35105 2011-10-12  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
35106
35107         [Qt][WK2] Move qweberror* out of API/qt
35108         https://bugs.webkit.org/show_bug.cgi?id=69875
35109
35110         Reviewed by Andreas Kling.
35111
35112         Moving QWebError outside API/qt in order to keep our API folder (layer) aligned.
35113
35114         * UIProcess/qt/qweberror.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qweberror.cpp.
35115         (QWebError::QWebError):
35116         (QWebErrorPrivate::createQWebError):
35117         (QWebErrorPrivate::QWebErrorPrivate):
35118         (QWebErrorPrivate::~QWebErrorPrivate):
35119         (QWebError::type):
35120         (QWebError::errorCode):
35121         (QWebError::url):
35122         * UIProcess/qt/qweberror.h: Renamed from Source/WebKit2/UIProcess/API/qt/qweberror.h.
35123         (QWebError::errorCodeAsHttpStatusCode):
35124         (QWebError::errorCodeAsNetworkError):
35125         * UIProcess/qt/qweberror_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qweberror_p.h.
35126         * WebKit2.pro:
35127         * WebKit2API.pri:
35128
35129 2011-10-12  Nayan Kumar K  <nayankk@motorola.com>
35130
35131         [WebKit2][gtk] Add few more API's to gtk-doc section file.
35132         https://bugs.webkit.org/show_bug.cgi?id=69921
35133
35134         Reviewed by Gustavo Noronha Silva.
35135
35136         Generate documentation for existing WebKit2-GTK+ API's,
35137         which are not yet the part of gtk-doc documentation.
35138
35139         * UIProcess/API/gtk/docs/GNUmakefile.am: List ignore files.
35140         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: API's addition.
35141
35142 2011-10-11  Simon Fraser  <simon.fraser@apple.com>
35143
35144         Make custom scrollbar theme for use in DRT, to reduce pixel diffs between platforms
35145         https://bugs.webkit.org/show_bug.cgi?id=68134
35146
35147         Reviewed by Darin Adler.
35148
35149         Use ScrollbarThemeMock when the setting to use mock scrollbars is enabled.
35150         
35151         Make ScrollbarTheme::nativeTheme() private, and add a new static theme() method
35152         that reads the setting, and returns the mock theme if set. All callers now use
35153         theme() rther than nativeTheme(). Add the new ScrollbarTheme.cpp file to the build.
35154
35155         * UIProcess/win/WebPopupMenuProxyWin.cpp:
35156         (WebKit::WebPopupMenuProxyWin::calculatePositionAndSize):
35157         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
35158         (WebKit::BuiltInPDFView::paintControls):
35159         * WebProcess/WebPage/PageOverlay.cpp:
35160         (WebKit::PageOverlay::bounds):
35161
35162 2011-10-11  Simon Fraser  <simon.fraser@apple.com>
35163
35164         Make custom scrollbar theme for use in DRT, to reduce pixel diffs between platforms
35165         https://bugs.webkit.org/show_bug.cgi?id=68134
35166
35167         Reviewed by Darin Adler.
35168
35169         ScrollbarTheme::nativeTheme() renamed to theme().
35170
35171         * WebProcess/WebPage/PageOverlay.cpp:
35172         (WebKit::PageOverlay::bounds):
35173
35174 2011-10-10  Martin Robinson  <mrobinson@igalia.com>
35175
35176         [GTK] [WebKit2] Make adding another unit test easier
35177         https://bugs.webkit.org/show_bug.cgi?id=69409
35178
35179         Reviewed by Gustavo Noronha Silva.
35180
35181         * GNUmakefile.am: Add the new WebKit2 API tests.
35182         * UIProcess/API/gtk/tests/GNUmakefile.am: Added.
35183         * UIProcess/API/gtk/tests/LoadTrackingTest.cpp: Added. A fixture for creating load tracking tests.
35184         * UIProcess/API/gtk/tests/LoadTrackingTest.h: Added.
35185         * UIProcess/API/gtk/tests/TestMain.cpp: Copied from Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c.
35186         (main):
35187         * UIProcess/API/gtk/tests/TestMain.h: Added.
35188         * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp: Copied from Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c.
35189         * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp: Added.
35190         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c.
35191         * UIProcess/API/gtk/tests/WebViewTest.cpp: Added. A fixture for generic WebView tests.
35192         * UIProcess/API/gtk/tests/WebViewTest.h: Added.
35193         * UIProcess/API/gtk/tests/testloading.c: Removed.
35194         * UIProcess/API/gtk/tests/testwebcontext.c: Removed.
35195
35196 2011-10-11  Alexey Proskuryakov  <ap@apple.com>
35197
35198         [Mac] Crash when opening an embedded PDF in a background tab
35199         https://bugs.webkit.org/show_bug.cgi?id=69880
35200
35201         Reviewed by Darin Adler.
35202
35203         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
35204         (WebKit::BuiltInPDFView::BuiltInPDFView):
35205         (WebKit::BuiltInPDFView::~BuiltInPDFView):
35206         (WebKit::BuiltInPDFView::initialize):
35207         (WebKit::BuiltInPDFView::destroy):
35208         Moved initialization and destruction code from C++ constructor and destructor to designated
35209         functions. Not part of the fix, but seems related enough to fix.
35210
35211 2011-10-11  Alexey Proskuryakov  <ap@apple.com>
35212
35213         [Mac] Crash when opening an embedded PDF in a background tab
35214         https://bugs.webkit.org/show_bug.cgi?id=69880
35215
35216         Reviewed by Darin Adler.
35217
35218         * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::paint): Don't call plug-in that
35219         doesn't even have a controller yet.
35220
35221 2011-10-11  Beth Dakin  <bdakin@apple.com>
35222
35223         https://bugs.webkit.org/show_bug.cgi?id=69874
35224         WebKit2 snapshot APIs should take the device scale factor into account 
35225         -and corresponding-
35226         <rdar://problem/10269112>
35227
35228         Reviewed by Darin Adler.
35229
35230         Add the deviceScaleFactor as a scale on the snapshot's context to create a 
35231         snapshot of the appropriate resolution. This matches the manner in which we scale 
35232         the context in DrawingAreaImpl::display().
35233         * WebProcess/WebPage/WebPage.cpp:
35234         (WebKit::WebPage::snapshotInViewCoordinates):
35235         (WebKit::WebPage::scaledSnapshotInDocumentCoordinates):
35236
35237 2011-10-11  W. James MacLean  <wjmaclean@chromium.org>
35238
35239         Loss of precision when converting from double to int and double to float in FrameView::zoomAnimatorTransformChanged()
35240         https://bugs.webkit.org/show_bug.cgi?id=69739
35241
35242         Change 'double' parameters to 'float' to match changes in FrameView.
35243
35244         Reviewed by Simon Fraser.
35245
35246         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
35247         (WebKit::BuiltInPDFView::zoomAnimatorTransformChanged):
35248
35249 2011-10-11  Alexey Proskuryakov  <ap@apple.com>
35250
35251         [Mac] Small embedded PDFs are not fully repainted when scrolling
35252         https://bugs.webkit.org/show_bug.cgi?id=69861
35253
35254         Reviewed by Anders Carlsson.
35255
35256         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: (WebKit::BuiltInPDFView::paintContent):
35257         Account for vertical centering when deciding which pages to paint.
35258
35259 2011-10-11  Alexey Proskuryakov  <ap@apple.com>
35260
35261         Embedding of PDF's with <object> or <embed> fails when there is no MIME type specified
35262         https://bugs.webkit.org/show_bug.cgi?id=64934
35263
35264         Reviewed by Dan Bernstein.
35265
35266         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::createPlugin): Check URL extension, too,
35267         like GetPluginPath does in UI process. One difference is that UI process additionally tries
35268         platform specific extension to MIME type mapping, but that doesn't matter for PDF, which
35269         does not have other standard extensions.
35270
35271 2011-10-11  Alexey Proskuryakov  <ap@apple.com>
35272
35273         [Mac] Should be able to display multi-page PDFs in subframes
35274         https://bugs.webkit.org/show_bug.cgi?id=69804
35275
35276         Reviewed by Anders Carlsson.
35277
35278         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
35279         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
35280         (WebKit::BuiltInPDFView::updateScrollbars): Page step should be exactly one page, so that
35281         one could step over the document page by page. It certainly shouldn't be a portion of the
35282         whole document.
35283         (WebKit::BuiltInPDFView::pdfDocumentDidLoad): Moved duplicated code from load callbacks here.
35284         (WebKit::BuiltInPDFView::calculateSizes): Calculate document size including gutters, and
35285         remember page boxes.
35286         (WebKit::BuiltInPDFView::paint): Split into separate functions.
35287         (WebKit::BuiltInPDFView::paintBackground): Just paint gray background for the whole dirty rect.
35288         (WebKit::BuiltInPDFView::paintContent): Paint pages and shadow under them. This code is still
35289         fairly naive, as it doesn't understand annotations or page rotation.
35290         Constants for shadows roughly match PDFView, but not quite, since it draws entirely custom
35291         shadows.
35292         (WebKit::BuiltInPDFView::paintControls): Moved scrollbar and scroll corner painting here.
35293         (WebKit::BuiltInPDFView::streamDidFinishLoading): Moved common code into pdfDocumentDidLoad().
35294         (WebKit::BuiltInPDFView::manualStreamDidFinishLoading): Ditto.
35295
35296 2011-10-11  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
35297
35298         [Qt] WebProcess using proxy settings for localhost as well
35299         https://bugs.webkit.org/show_bug.cgi?id=69611
35300
35301         Reviewed by Chang Shu.
35302
35303         Implemented checks in queryProxy to return QNetworkProxy::NoProxy for localhost and 127.0.0.1
35304
35305         * WebProcess/qt/WebProcessMainQt.cpp:
35306         (WebKit::EnvHttpProxyFactory::queryProxy):
35307
35308 2011-10-11  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
35309
35310         [Qt] Remove all references to QTDIR_build and standalone_package
35311
35312         Qt is now modularized, which means we no longer import WebKit into
35313         the Qt source tree. Instead we use git submodules, and building
35314         QtWebKit as "part of Qt" is really building QtWebKit as from trunk.
35315
35316         To decrease the number of buildsystem configurations we also remove
35317         the standalone_package code-path used when we were providing tarballs
35318         with the derived sources pre-generated.
35319
35320         Reviewed by Simon Hausmann.
35321
35322         * DerivedSources.pro:
35323         * UIProcess/API/qt/qmlplugin/qmlplugin.pro:
35324         * UIProcess/API/qt/tests/tests.pri:
35325         * WebKit2.pri:
35326         * WebProcess.pro:
35327
35328 2011-10-10  Nate Chapin  <japhet@chromium.org>
35329
35330         Use a CachedImageClient instead of CachedResourceClient
35331         in WebDragClientMac.
35332         https://bugs.webkit.org/show_bug.cgi?id=69790
35333
35334         Reviewed by Adam Barth.
35335
35336         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
35337         (promisedDataClient):
35338
35339 2011-10-10  Mark Hahnenberg  <mhahnenberg@apple.com>
35340
35341         Remove getCallDataVirtual methods
35342         https://bugs.webkit.org/show_bug.cgi?id=69186
35343
35344         Reviewed by Geoffrey Garen.
35345
35346         Removed all getCallDataVirtual methods and replaced their call sites 
35347         with an explicit lookup in the MethodTable.
35348
35349         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
35350         * WebProcess/Plugins/Netscape/JSNPMethod.h:
35351         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
35352         * WebProcess/Plugins/Netscape/JSNPObject.h:
35353
35354 2011-10-10  Simon Hausmann  <simon.hausmann@nokia.com>
35355
35356         [Qt] Fix build with qreal == float on MeeGo 1.2 Harmattan
35357
35358         Reviewed by Andreas Kling.
35359
35360         Explicitly choose the qreal variant of qMin, since QPointF is using qreal.
35361
35362         * UIProcess/qt/ViewportInteractionEngine.cpp:
35363         (WebKit::ViewportInteractionEngine::animateContentPositionIntoBoundariesIfNeeded):
35364
35365 2011-10-10  Carlos Garcia Campos  <cgarcia@igalia.com>
35366
35367         [GTK] Add methods to reload the view to WebKit2 GTK+ API
35368         https://bugs.webkit.org/show_bug.cgi?id=69613
35369
35370         Reviewed by Martin Robinson.
35371
35372         * UIProcess/API/gtk/WebKitWebView.cpp:
35373         (webkit_web_view_reload):
35374         (webkit_web_view_reload_bypass_cache):
35375         * UIProcess/API/gtk/WebKitWebView.h:
35376         * UIProcess/API/gtk/tests/testloading.c:
35377         (loadReloadProvisionalLoadStarted):
35378         (loadReloadLoadFinished):
35379         (testLoadTimeoutFinishLoop):
35380         (testLoadReload):
35381         (main):
35382
35383 2011-10-09  Luke Macpherson   <macpherson@chromium.org>
35384
35385         Fix Lion, Leopard and Snow Leopard builds after changeset 97034 <http://trac.webkit.org/changeset/97034>
35386         (https://bugs.webkit.org/show_bug.cgi?id=68035)
35387         https://bugs.webkit.org/show_bug.cgi?id=69735
35388
35389         Reviewed by Daniel Bates.
35390
35391         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
35392         Add symbols that are now required by ScrollableArea.
35393         (WebKit::BuiltInPDFView::zoomAnimatorTransformChanged):
35394
35395 2011-10-08  Mark Hahnenberg  <mhahnenberg@apple.com>
35396
35397         Add static version of JSCell::getConstructData
35398         https://bugs.webkit.org/show_bug.cgi?id=69673
35399
35400         Reviewed by Geoffrey Garen.
35401
35402         Added static version of getConstructData to all classes that 
35403         override it and changed the virtual versions to call the static 
35404         versions.  This is the first step in de-virtualizing JSCell::getConstructData.
35405
35406         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
35407         (WebKit::JSNPObject::getConstructData):
35408         * WebProcess/Plugins/Netscape/JSNPObject.h:
35409
35410 2011-10-08  Mark Hahnenberg  <mhahnenberg@apple.com>
35411
35412         Add static version of JSCell::getOwnPropertySlot
35413         https://bugs.webkit.org/show_bug.cgi?id=69593
35414
35415         Reviewed by Geoffrey Garen.
35416
35417         Added static version of getOwnPropertySlot to every class that overrides
35418         JSCell::getOwnPropertySlot.  The virtual versions now call the static versions.
35419         This is the first step in de-virtualizing JSCell::getOwnPropertySlot.
35420
35421         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
35422         (WebKit::JSNPObject::getOwnPropertySlot):
35423         * WebProcess/Plugins/Netscape/JSNPObject.h:
35424
35425 2011-10-03  Carlos Garcia Campos  <cgarcia@igalia.com> and Martin Robinson  <mrobinson@igalia.com>
35426
35427         [GTK] Implement drag and drop support in WebKit2
35428         https://bugs.webkit.org/show_bug.cgi?id=63706
35429
35430         Reviewed by Philippe Normand.
35431
35432         * GNUmakefile.am: Add new files to compilation.
35433         * Shared/gtk/ArgumentCodersGtk.cpp: Added.
35434         (CoreIPC::encodeImage): Encode a GdkPixbuf.
35435         (CoreIPC::decodeImage): Decode a GdkPixbuf.
35436         (CoreIPC::encodeDataObject): Encode a DataObjectGtk.
35437         (CoreIPC::decodeDataObject): Decode a DataObjectGtk.
35438         (CoreIPC::::encode): Encode DragData.
35439         (CoreIPC::::decode): Decode DragData.
35440         * Shared/gtk/ArgumentCodersGtk.h:
35441         * UIProcess/API/gtk/PageClientImpl.cpp:
35442         (WebKit::PageClientImpl::startDrag):
35443         * UIProcess/API/gtk/PageClientImpl.h:
35444         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
35445         (webkit_web_view_base_init): Set the view as a potential drop destination.
35446         (webkitWebViewBaseDragDataGet): Added, delegate to GtkDragAndDropHelper.
35447         (webkitWebViewBaseDragEnd): Ditto.
35448         (webkitWebViewBaseDragDataReceived): Ditto.
35449         (webkitWebViewBaseDragEnter): Ditto.
35450         (webkitWebViewBaseDragMotion): Ditto.
35451         (doDragLeaveLater): Ditto.
35452         (webkitWebViewBaseDragLeave): Ditto.
35453         (webkitWebViewBaseDragDrop): Ditto.
35454         (webkit_web_view_base_class_init): Override GtkWidget drag and drop methods.
35455         (webkitWebViewBaseStartDrag): Calls gtk_drag_begin() to start a drag operation.
35456         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Add webkitWebViewBaseStartDrag().
35457         * UIProcess/PageClient.h: Add startDrag().
35458         * UIProcess/WebPageProxy.cpp:
35459         (WebKit::WebPageProxy::performDragControllerAction): Share the Qt version.
35460         * UIProcess/WebPageProxy.h:
35461         * UIProcess/WebPageProxy.messages.in:
35462         * WebProcess/WebCoreSupport/WebDragClient.cpp:
35463         * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp: Added.
35464         * WebProcess/WebPage/WebPage.cpp: Add drag support for GTK+.
35465         * WebProcess/WebPage/WebPage.h: Ditto.
35466         * WebProcess/WebPage/WebPage.messages.in: Ditto.
35467
35468 2011-10-08  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
35469
35470         [Qt] [WK2] Wrong handling of visibility in QTouchWebPage
35471         https://bugs.webkit.org/show_bug.cgi?id=69670
35472
35473         Reviewed by Andreas Kling.
35474
35475         Replace QTouchWebPage visibility handling by Show/Hide events with use of 
35476         QSGItem::visibleChanged signal.
35477
35478         * UIProcess/API/qt/qtouchwebpage.cpp:
35479         (QTouchWebPage::QTouchWebPage):
35480         (QTouchWebPage::event):
35481         (QTouchWebPage::onVisibleChanged):
35482         * UIProcess/API/qt/qtouchwebpage.h:
35483
35484 2011-10-08  Sheriff Bot  <webkit.review.bot@gmail.com>
35485
35486         Unreviewed, rolling out r96996.
35487         http://trac.webkit.org/changeset/96996
35488         https://bugs.webkit.org/show_bug.cgi?id=69697
35489
35490         It broke all tests on the Qt bot (Requested by Ossy_night on
35491         #webkit).
35492
35493         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
35494         (WebKit::JSNPMethod::getCallDataVirtual):
35495         * WebProcess/Plugins/Netscape/JSNPMethod.h:
35496         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
35497         (WebKit::JSNPObject::getCallDataVirtual):
35498         * WebProcess/Plugins/Netscape/JSNPObject.h:
35499
35500 2011-10-07  Jeff Miller  <jeffm@apple.com>
35501
35502         Add WKPageContextMenuClient callback when context menu is dismissed
35503         https://bugs.webkit.org/show_bug.cgi?id=69553
35504
35505         Add contextMenuDismissed callback to WKPageContextMenuClient, and bump the API
35506         version of this client to 1 so we continue to work with old clients.
35507
35508         * Shared/APIClientTraits.cpp: Added array of interface sizes for WKPageContextMenuClient.
35509         * Shared/APIClientTraits.h: Added APIClientTraits for WKPageContextMenuClient.
35510
35511         * UIProcess/API/C/WKPage.h: Added contextMenuDismissed callback to WKPageContextMenuClient and bumped kWKPageContextMenuClientCurrentVersion.
35512
35513         * UIProcess/WebPageContextMenuClient.cpp:
35514         (WebKit::WebPageContextMenuClient::contextMenuDismissed): Added.
35515
35516         * UIProcess/WebPageContextMenuClient.h: Added WebPageContextMenuClient::contextMenuDismissed().
35517
35518         * UIProcess/WebPageProxy.cpp:
35519         (WebKit::WebPageProxy::internalShowContextMenu): Notify client when context menu is dismissed.
35520
35521 2011-10-07  Mark Hahnenberg  <mhahnenberg@apple.com>
35522
35523         Remove getCallDataVirtual methods
35524         https://bugs.webkit.org/show_bug.cgi?id=69186
35525
35526         Reviewed by Geoffrey Garen.
35527
35528         Removed all getCallDataVirtual methods and replaced their call sites 
35529         with an explicit lookup in the MethodTable.
35530
35531         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
35532         * WebProcess/Plugins/Netscape/JSNPMethod.h:
35533         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
35534         * WebProcess/Plugins/Netscape/JSNPObject.h:
35535
35536 2011-10-07  Alexey Proskuryakov  <ap@apple.com>
35537
35538         [Mac] Scrollbars in embedded PDFs should update when system preferences change
35539         https://bugs.webkit.org/show_bug.cgi?id=69654
35540
35541         Reviewed by Simon Fraser.
35542
35543         * WebProcess/Plugins/PDF/BuiltInPDFView.h: Added an scrollbarStyleChanged() override.
35544         ScrollAnimatorMac sets scrollbar frame to a bogus (0, 0, thickness, thickness) one when style
35545         changes, and expects clients to move them back in place.
35546
35547         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
35548         (WebKit::BuiltInPDFView::isOnActivePage): Fixed a typo that prevented ScrollAnimatorMac from
35549         updating style of PDF view scrollbars.
35550         (WebKit::BuiltInPDFView::scrollbarStyleChanged): Reposition scrollbars and content after
35551         style change. The behavior is not perfect in edge cases, but roughly matches ScrollView.
35552
35553 2011-10-07  Sheriff Bot  <webkit.review.bot@gmail.com>
35554
35555         Unreviewed, rolling out r96938.
35556         http://trac.webkit.org/changeset/96938
35557         https://bugs.webkit.org/show_bug.cgi?id=69653
35558
35559         It broke zillion tests and make testing so slow (Requested by
35560         ossy_ on #webkit).
35561
35562         * UIProcess/WebContext.cpp:
35563         * UIProcess/WebContext.h:
35564         * UIProcess/efl/WebContextEfl.cpp:
35565         (WebKit::WebContext::applicationCacheDirectory):
35566         * UIProcess/gtk/WebContextGtk.cpp:
35567         (WebKit::WebContext::applicationCacheDirectory):
35568         * UIProcess/mac/WebContextMac.mm:
35569         (WebKit::WebContext::applicationCacheDirectory):
35570         * UIProcess/qt/WebContextQt.cpp:
35571         (WebKit::WebContext::applicationCacheDirectory):
35572         * UIProcess/win/WebContextWin.cpp:
35573         (WebKit::WebContext::applicationCacheDirectory):
35574
35575 2011-10-07  Qi Zhang  <qi.2.zhang@nokia.com>
35576
35577         [Qt][WK2] ApplicationCache LayoutTests failed
35578         https://bugs.webkit.org/show_bug.cgi?id=69541
35579
35580         Reviewed by Chang Shu.
35581
35582         1. Moved applicationCacheDirectory to common code.
35583         2. Added interface setApplicationCacheDirectory to allow UI client overriding.
35584         3. Renamed all platform-dependent implementations of applicationCacheDirectory to platformDefaultApplicationCacheDirectory.
35585         4. On Qt, set the platformDefaultApplicationCacheDirectory to the default data location.
35586
35587
35588         * UIProcess/WebContext.cpp:
35589         (WebKit::WebContext::applicationCacheDirectory):
35590         * UIProcess/WebContext.h:
35591         (WebKit::WebContext::setApplicationCacheDirectory):
35592         * UIProcess/efl/WebContextEfl.cpp:
35593         (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
35594         * UIProcess/gtk/WebContextGtk.cpp:
35595         (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
35596         * UIProcess/mac/WebContextMac.mm:
35597         (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
35598         * UIProcess/qt/WebContextQt.cpp:
35599         (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
35600         * UIProcess/win/WebContextWin.cpp:
35601         (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
35602
35603 2011-10-06  Brent Fulgham  <bfulgham@webkit.org>
35604
35605         [WinCairo] Correct improper identification of WKQC extensions.
35606         https://bugs.webkit.org/show_bug.cgi?id=69600
35607
35608         * DerivedSources.make: Make sure we are not building the
35609         WinCairo variant.
35610
35611 2011-10-06  Anders Carlsson  <andersca@apple.com>
35612
35613         When building with clang, enable -Wglobal-constructors and -Wexit-time-destructors
35614         https://bugs.webkit.org/show_bug.cgi?id=69586
35615
35616         Reviewed by Darin Adler.
35617
35618         * Configurations/Base.xcconfig:
35619         Add -Wglobal-constructors and -Wexit-time-destructors when building with clang.
35620
35621         * WebKit2.xcodeproj/project.pbxproj:
35622         When building with clang, we don't need to run the check-for-global-initializers and
35623         check-for-exit-time-destructors anymore.
35624
35625 2011-10-06  Anders Carlsson  <andersca@apple.com>
35626
35627         Add DEFINE_DEBUG_ONLY_GLOBAL for globals that should be defined in debug builds
35628         https://bugs.webkit.org/show_bug.cgi?id=69584
35629
35630         Reviewed by Darin Adler.
35631
35632         Adopt the DEFINE_DEBUG_ONLY_GLOBAL macro.
35633
35634         * UIProcess/WebContext.cpp:
35635         * UIProcess/WebPageProxy.cpp:
35636         * WebProcess/WebPage/WebFrame.cpp:
35637         * WebProcess/WebPage/WebPage.cpp:
35638
35639 2011-10-06  Alexey Proskuryakov  <ap@apple.com>
35640
35641         [Mac] Should be able to scroll embedded PDFs using mouse
35642         https://bugs.webkit.org/show_bug.cgi?id=69579
35643
35644         Reviewed by Darin Adler.
35645
35646         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
35647         (WebKit::BuiltInPDFView::handleMouseEvent): No longer need to hardcode mouseDown handling,
35648         ScrollableArea does everything now.
35649         (WebKit::BuiltInPDFView::horizontalScrollbar): Added plumbing to access scrollbars from
35650         WebCore hit testing code.
35651         (WebKit::BuiltInPDFView::verticalScrollbar): Ditto.
35652         (WebKit::BuiltInPDFView::visibleHeight): ScrollableArea now wants this.
35653         (WebKit::BuiltInPDFView::visibleWidth): Ditto.
35654
35655         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
35656         (WebKit::NetscapePlugin::horizontalScrollbar):
35657         (WebKit::NetscapePlugin::verticalScrollbar):
35658         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
35659         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
35660         * WebProcess/Plugins/Plugin.h:
35661         * WebProcess/Plugins/PluginProxy.cpp:
35662         (WebKit::PluginProxy::horizontalScrollbar):
35663         (WebKit::PluginProxy::verticalScrollbar):
35664         * WebProcess/Plugins/PluginProxy.h:
35665         * WebProcess/Plugins/PluginView.cpp:
35666         (WebKit::PluginView::horizontalScrollbar):
35667         (WebKit::PluginView::verticalScrollbar):
35668         * WebProcess/Plugins/PluginView.h:
35669         Added plumbing to access scrollbars from WebCore hit testing code.
35670
35671 2011-10-06  Alexis Menard  <alexis.menard@openbossa.org>
35672
35673         [Qt][WK2] WebIconDatabase expects a file path not a directory.
35674         https://bugs.webkit.org/show_bug.cgi?id=69557
35675
35676         Reviewed by Andreas Kling.
35677
35678         WebIconDatabase::setDatabasePath expects a file path not a directory.
35679         I used the same name as the Mac port.
35680
35681         * UIProcess/qt/WebContextQt.cpp:
35682         (WebKit::WebContext::platformDefaultIconDatabasePath):
35683
35684 2011-10-06  Anders Carlsson  <andersca@apple.com>
35685
35686         In background window, page flashes white if it enters and then immediately leaves compositing mode
35687         https://bugs.webkit.org/show_bug.cgi?id=69566
35688         <rdar://problem/9521192>
35689
35690         Reviewed by Dan Bernstein.
35691
35692         Don't update the backing store state if we're just about to exit accelerated compositing mode. Otherwise
35693         the UI process will try to render an empty layer tree for a short period of time, leading to a white flash.
35694
35695         * WebProcess/WebPage/DrawingAreaImpl.cpp:
35696         (WebKit::DrawingAreaImpl::layerHostDidFlushLayers):
35697
35698 2011-10-06  Fady Samuel  <fsamuel@chromium.org>
35699
35700         Code clean-up: Make RenderObject::absoluteBoundingBoxRect and associated methods const and make its parameter useTransforms no longer default to false
35701         https://bugs.webkit.org/show_bug.cgi?id=69009
35702
35703         Reviewed by Simon Fraser.
35704
35705         * win/WebKit2.def:
35706         * win/WebKit2CFLite.def:
35707
35708 2011-10-06  Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
35709
35710         Move windows specific TextChecker implementation common to all ports.
35711         https://bugs.webkit.org/show_bug.cgi?id=68532
35712
35713         Reviewed by Anders Carlsson.
35714
35715         All the TextChecker feature implementation files are moved outside of win port since they are
35716         platform independent and can be moved across all ports. Only the implementation of TextChecker
35717         class is platform dependent now and has been retained across all ports. Rest all files has been
35718         moved for all ports usage.
35719
35720         * Shared/API/c/WKBase.h: Add WKGrammarDetailRef & WKTextCheckerRef types.
35721         * Shared/API/c/win/WKBaseWin.h: Remove WKGrammarDetailRef & WKTextCheckerRef types.
35722         * Shared/APIObject.h: Moved TypeGrammarDetail & TypeTextChecker from platform specific section to UIProcess types.
35723         * UIProcess/API/C/WKAPICast.h: Added mapping for WKTextCheckerRef & WKGrammarDetailRef.
35724         * UIProcess/API/C/WKGrammarDetail.cpp: Renamed from Source/WebKit2/UIProcess/API/C/win/WKGrammarDetail.cpp.
35725         * UIProcess/API/C/WKGrammarDetail.h: Renamed from Source/WebKit2/UIProcess/API/C/win/WKGrammarDetail.h.
35726         * UIProcess/API/C/WKTextChecker.cpp: Renamed from Source/WebKit2/UIProcess/API/C/win/WKTextChecker.cpp.
35727         * UIProcess/API/C/WKTextChecker.h: Renamed from Source/WebKit2/UIProcess/API/C/win/WKTextChecker.h.
35728         * UIProcess/API/C/win/WKAPICastWin.h: Removed mapping for WKTextCheckerRef & WKGrammarDetailRef.
35729         * UIProcess/WebGrammarDetail.cpp: Renamed from Source/WebKit2/UIProcess/win/WebGrammarDetail.cpp.
35730         * UIProcess/WebGrammarDetail.h: Renamed from Source/WebKit2/UIProcess/win/WebGrammarDetail.h.
35731         * UIProcess/WebTextChecker.cpp: Renamed from Source/WebKit2/UIProcess/win/WebTextChecker.cpp.
35732         * UIProcess/WebTextChecker.h: Renamed from Source/WebKit2/UIProcess/win/WebTextChecker.h.
35733         * UIProcess/WebTextCheckerClient.cpp: Renamed from Source/WebKit2/UIProcess/win/WebTextCheckerClient.cpp.
35734         * UIProcess/WebTextCheckerClient.h: Renamed from Source/WebKit2/UIProcess/win/WebTextCheckerClient.h.
35735         * win/WebKit2.vcproj: Corrected paths for renamed files.
35736         * win/WebKit2Generated.make: Corrected paths for renamed files.
35737
35738 2011-10-06  Anders Carlsson  <andersca@apple.com>
35739
35740         Crash when PluginProxy object is destroyed inside PluginProxy::pluginScriptableNPObject
35741         https://bugs.webkit.org/show_bug.cgi?id=69559
35742         <rdar://problem/9704066>
35743
35744         Reviewed by Maciej Stachowiak.
35745
35746         Protect the plug-in itself in the call to pluginScriptableNPObject. In some cases, sending
35747         the synchronous message to the plug-in process can end up causing the web process to handle
35748         an incoming message that will destroy t he plug-in.
35749
35750         Unfortunately, this is highly timing-dependent and can't be tested reliably.
35751
35752         * WebProcess/Plugins/PluginProxy.cpp:
35753         (WebKit::PluginProxy::pluginScriptableNPObject):
35754
35755 2011-10-06  Carlos Garcia Campos  <cgarcia@igalia.com>
35756
35757         [GTK] Add estimated-progress property to WebKitWebLoaderClient
35758         https://bugs.webkit.org/show_bug.cgi?id=69509
35759
35760         Reviewed by Martin Robinson.
35761
35762         It allows to monitor the estimated progress of a lof operation by
35763         connecting to the notify signal.
35764
35765         * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
35766         (didChangeProgress): Update estimated-progress property and notify when
35767         it changes.
35768         (webkitWebLoaderClientConstructed): Add implementations for
35769         didStartProgress, didChangeProgress and didFinishProgress.
35770         (webkitWebLoaderClientGetProperty):
35771         (webkit_web_loader_client_class_init): Add estimated-progress property.
35772         (webkit_web_loader_client_get_estimated_progress): Returns the
35773         value of estimated-progress property.
35774         * UIProcess/API/gtk/WebKitWebLoaderClient.h:
35775         * UIProcess/API/gtk/tests/testloading.c:
35776         (webLoadingFixtureSetup):
35777         (loadProgressEstimatedProgressChanged):
35778         (loadProgressLoadFinished):
35779         (testLoadProgress):
35780         (main):
35781
35782 2011-10-06  Carlos Garcia Campos  <cgarcia@igalia.com>
35783
35784         [GTK] Implement cache model for WebKit2
35785         https://bugs.webkit.org/show_bug.cgi?id=68434
35786
35787         Reviewed by Martin Robinson.
35788
35789         * UIProcess/API/gtk/WebKitWebContext.cpp:
35790         (webkit_web_context_set_cache_model):
35791         (webkit_web_context_get_cache_model):
35792         * UIProcess/API/gtk/WebKitWebContext.h:
35793         * UIProcess/API/gtk/tests/testwebcontext.c:
35794         (testWebContextCacheModel):
35795         (main):
35796         * WebProcess/gtk/WebProcessGtk.cpp:
35797         (WebKit::getCacheDiskFreeSize): Helper function to get free space
35798         of the file system where the cache directory is on.
35799         (WebKit::getMemorySize): Helper function to get the total memory
35800         of the system in MB.
35801         (WebKit::WebProcess::platformSetCacheModel): Implement
35802         platformSetCacheModel for Gtk port using calculateCacheSizes().
35803
35804 2011-10-05  Alexey Proskuryakov  <ap@apple.com>
35805
35806         https://bugs.webkit.org/show_bug.cgi?id=69492
35807         [Mac] Should be able to scroll embedded PDFs from keyboard
35808
35809         Reviewed by Darin Adler.
35810
35811         * WebProcess/Plugins/Plugin.h:
35812         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
35813         (WebKit::NetscapePlugin::handleScroll):
35814         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
35815         * WebProcess/Plugins/PluginProxy.cpp:
35816         (WebKit::PluginProxy::handleScroll):
35817         * WebProcess/Plugins/PluginProxy.h:
35818         Added a handleScroll method. A plug-in gets it if it doesn't handle a keyboard event, and
35819         WebCore decides that this is an event for scrolling. A plug-in can decide whether it scrolls
35820         main content, or some scrollable subview of its own.
35821
35822         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
35823         (WebKit::BuiltInPDFView::handleMouseEvent): Added a comment explaining returned value.
35824         (WebKit::BuiltInPDFView::handleScroll): Just call ScrollableArea, it will do everything.
35825
35826         * WebProcess/Plugins/PDF/BuiltInPDFView.h: Added a handleScroll override.
35827
35828         * WebProcess/Plugins/PluginView.cpp:
35829         (WebKit::PluginView::scroll): Pass a PluginViewBase scroll to plug-in to handle.
35830         (WebKit::PluginView::handleEvent): Added a FIXME.
35831         * WebProcess/Plugins/PluginView.h:
35832
35833 2011-10-06  Carlos Garcia Campos  <cgarcia@igalia.com>
35834
35835         [GTK] Do not use C API in GTK+ API public headers
35836         https://bugs.webkit.org/show_bug.cgi?id=69506
35837
35838         Reviewed by Martin Robinson.
35839
35840         * GNUmakefile.am: Add new files to compilation.
35841         * UIProcess/API/gtk/WebKitDefines.h: Added.
35842         * UIProcess/API/gtk/WebKitError.h: Use WEBKIT_API instead of WK_EXPORT.
35843         * UIProcess/API/gtk/WebKitWebContext.h: Ditto.
35844         * UIProcess/API/gtk/WebKitWebLoaderClient.h: Ditto.
35845         * UIProcess/API/gtk/WebKitWebView.h: Ditto.
35846         * UIProcess/API/gtk/WebKitWebViewBase.h: Ditto.
35847         * UIProcess/API/gtk/docs/GNUmakefile.am: Ignore WEBKIT_API
35848         decorator in docs.
35849         * UIProcess/API/gtk/webkit2.h: Include <webkit2/WebKitDefines.h>
35850
35851 2011-10-06  Alexis Menard  <alexis.menard@openbossa.org>
35852
35853         [Qt][WK2] Cursor should change when hovering links or input fields.
35854         https://bugs.webkit.org/show_bug.cgi?id=69519
35855
35856         Reviewed by Simon Hausmann.
35857
35858         This is a temporary fix until Qt5 brings support for changing cursor
35859         per item. This patch enforce the change of the cursor at application
35860         level.
35861
35862         * UIProcess/API/qt/qdesktopwebview.cpp:
35863         (QDesktopWebViewPrivate::didChangeCursor):
35864
35865 2011-10-06  Zeno Albisser  <zeno.albisser@nokia.com>
35866
35867         [Qt][WK2][Mac] QtWebProcess should not show up in the Dock.
35868         https://bugs.webkit.org/show_bug.cgi?id=69432
35869
35870         We can set the environment variable QT_MAC_DISABLE_FOREGROUND_APPLICATION_TRANSFORM
35871         in the WebProcess stub to disable the automatic foreground transformation.
35872
35873         Reviewed by Andreas Kling.
35874
35875         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
35876         (WebKit::QtWebProcess::setupChildProcess):
35877
35878 2011-10-03  Andy Estes  <aestes@apple.com>
35879
35880         Add an option to suppress rendering until the document's load event fires.
35881         https://bugs.webkit.org/show_bug.cgi?id=69298
35882
35883         Reviewed by Simon Fraser.
35884         
35885         Add a new WKPreference.
35886
35887         * Shared/WebPreferencesStore.h:
35888         * UIProcess/API/C/WKPreferences.cpp:
35889         (WKPreferencesSetSuppressRenderingWhileInitiallyLoading):
35890         (WKPreferencesGetSuppressRenderingWhileInitiallyLoading):
35891         * UIProcess/API/C/WKPreferences.h:
35892         * WebProcess/WebPage/WebPage.cpp:
35893         (WebKit::WebPage::updatePreferences):
35894
35895 2011-10-05  Simon Fraser  <simon.fraser@apple.com>
35896
35897         r96770 broke binary compatibility with Safari
35898         https://bugs.webkit.org/show_bug.cgi?id=69496
35899
35900         Reviewed by Dan Bernstein.
35901         
35902         Fix binary compatibility issue by declaring the deprecated methods inside a extern "C" block.
35903
35904         * UIProcess/API/C/WKContext.cpp:
35905
35906 2011-10-05  Jer Noble  <jer.noble@apple.com>
35907
35908         Enable WEB_AUDIO by default in the WebKit/mac port.
35909         https://bugs.webkit.org/show_bug.cgi?id=68587
35910
35911         Reviewed by Simon Fraser.
35912
35913         * Configurations/FeatureDefines.xcconfig:
35914
35915 2011-10-05  Simon Fraser  <simon.fraser@apple.com>
35916
35917         In WebKitTestRunner, text has font smoothing in pixel snapshots
35918         https://bugs.webkit.org/show_bug.cgi?id=69396
35919
35920         Reviewed by Darin Adler.
35921         
35922         Plumb through a method on WKContext that controls whether font smoothing
35923         is enabled. Since this is a global setting, such a method is more appropriate
35924         than a preference.
35925         
35926         Remove leading underscores on some WKContext functions, but keep
35927         exported versions of same for binary compatibility.
35928
35929         * Shared/WebProcessCreationParameters.cpp:
35930         (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
35931         (WebKit::WebProcessCreationParameters::encode):
35932         (WebKit::WebProcessCreationParameters::decode):
35933         * Shared/WebProcessCreationParameters.h:
35934         * UIProcess/API/C/WKContext.cpp:
35935         (WKContextSetAlwaysUsesComplexTextCodePath):
35936         (WKContextSetShouldUseFontSmoothing):
35937         (WKContextSetAdditionalPluginsDirectory):
35938         (WKContextRegisterURLSchemeAsEmptyDocument):
35939         (WKContextSetHTTPPipeliningEnabled):
35940         (_WKContextSetAdditionalPluginsDirectory):
35941         (_WKContextRegisterURLSchemeAsEmptyDocument):
35942         (_WKContextSetAlwaysUsesComplexTextCodePath):
35943         (_WKContextSetHTTPPipeliningEnabled):
35944         * UIProcess/API/C/WKContextPrivate.h:
35945         * UIProcess/WebContext.cpp:
35946         (WebKit::WebContext::WebContext):
35947         (WebKit::WebContext::ensureWebProcess):
35948         (WebKit::WebContext::setShouldUseFontSmoothing):
35949         (WebKit::WebContext::httpPipeliningEnabled):
35950         * UIProcess/WebContext.h:
35951         * WebProcess/WebProcess.cpp:
35952         (WebKit::WebProcess::initializeWebProcess):
35953         (WebKit::WebProcess::setShouldUseFontSmoothing):
35954         * WebProcess/WebProcess.h:
35955         * WebProcess/WebProcess.messages.in:
35956
35957 2011-10-05  Anders Carlsson  <andersca@apple.com>
35958
35959         Flash of white when unminimizing windows
35960         https://bugs.webkit.org/show_bug.cgi?id=69476
35961         <rdar://problem/10202680>
35962
35963         Reviewed by Simon Fraser.
35964
35965         Whenever the UI process requests an immediate backing store update, make sure to resume
35966         painting if it's suspended.
35967
35968         * WebProcess/WebPage/DrawingAreaImpl.cpp:
35969         (WebKit::DrawingAreaImpl::updateBackingStoreState):
35970
35971 2011-10-05  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
35972
35973         [Qt] [WK2] Support JS alert/confirm/prompt in QDesktopWebView
35974         https://bugs.webkit.org/show_bug.cgi?id=69274
35975
35976         Reviewed by Andreas Kling.
35977
35978         Use currently existing QtWidgets to provide an implementation of
35979         window.alert(), window.confirm() and window.prompt().
35980
35981         * Shared/WebString.h:
35982         (WebKit::WebString::createNull):
35983         (WebKit::WebString::WebString):
35984         Add a way to create a Null WebString. RunJavaScriptPrompt will differentiate
35985         between empty and null strings.
35986
35987         * UIProcess/API/qt/qdesktopwebview.cpp:
35988         (QDesktopWebViewPrivate::enableMouseEvents):
35989         (QDesktopWebViewPrivate::disableMouseEvents):
35990         Create helper functions to enable and disable mouse events. This is useful for
35991         disabling mouse events in the WebView when we show QtWidget dialogs to avoid
35992         unwanted interaction with the page.
35993
35994         (QDesktopWebViewPrivate::runJavaScriptAlert):
35995         (QDesktopWebViewPrivate::runJavaScriptConfirm):
35996         (QDesktopWebViewPrivate::runJavaScriptPrompt):
35997         (QDesktopWebView::init):
35998         * UIProcess/API/qt/qdesktopwebview_p.h:
35999         * UIProcess/qt/ClientImpl.cpp:
36000         (qt_wk_runJavaScriptAlert):
36001         (qt_wk_runJavaScriptConfirm):
36002         (createNullWKString):
36003         (qt_wk_runJavaScriptPrompt):
36004         * UIProcess/qt/ClientImpl.h:
36005         * UIProcess/qt/QtWebPageProxy.cpp:
36006         (QtWebPageProxy::init):
36007         * UIProcess/qt/TouchViewInterface.cpp:
36008         (WebKit::TouchViewInterface::runJavaScriptAlert):
36009         (WebKit::TouchViewInterface::runJavaScriptConfirm):
36010         (WebKit::TouchViewInterface::runJavaScriptPrompt):
36011         * UIProcess/qt/TouchViewInterface.h:
36012         * UIProcess/qt/ViewInterface.h:
36013
36014 2011-10-05  Chang Shu  <cshu@webkit.org>
36015
36016         [WK2] Support setMarkedText/hasMarkedText/unmarkText/insertText for WTR TextInputController
36017         https://bugs.webkit.org/show_bug.cgi?id=68924
36018
36019         Implemented WKBundlePage private APIs to support the above functions.
36020
36021         Reviewed by Darin Adler.
36022
36023         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
36024         (WKBundlePageSetComposition):
36025         (WKBundlePageHasComposition):
36026         (WKBundlePageConfirmComposition):
36027         (WKBundlePageConfirmCompositionWithText):
36028         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
36029         * WebProcess/WebPage/WebPage.cpp:
36030         (WebKit::WebPage::setCompositionForTesting):
36031         (WebKit::WebPage::hasCompositionForTesting):
36032         (WebKit::WebPage::confirmCompositionForTesting):
36033         * WebProcess/WebPage/WebPage.h:
36034
36035 2011-10-05  Alexey Proskuryakov  <ap@apple.com>
36036
36037         [Mac] Make built-in PDF description localizable
36038         https://bugs.webkit.org/show_bug.cgi?id=69442
36039
36040         Reviewed by Dan Bernstein.
36041
36042         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: Use a localized string instead of a literal one.
36043
36044 2011-10-05  Chang Shu  <cshu@webkit.org>
36045
36046         [WK2] WebKitTestRunner needs LayoutTestController.dumpConfigurationForViewport
36047         https://bugs.webkit.org/show_bug.cgi?id=69365
36048
36049         Reviewed by Darin Adler.
36050
36051         Implement retrieving viewport configuration as text in WebProcess.
36052
36053         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
36054         (WKBundlePageViewportConfigurationAsText):
36055         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
36056         * WebProcess/WebPage/WebPage.cpp:
36057         (WebKit::WebPage::viewportConfigurationAsText):
36058         * WebProcess/WebPage/WebPage.h:
36059
36060 2011-10-05  Alexis Menard  <alexis.menard@openbossa.org>
36061
36062         [Qt][WK2] Default directories and paths are missing for LocalStorage, Database and IconDatabase.
36063         https://bugs.webkit.org/show_bug.cgi?id=69111
36064
36065         Reviewed by Kenneth Rohde Christiansen.
36066
36067         Provide default path for LocalStorage, Database and IconDatabase using QDesktopServices.
36068
36069         * UIProcess/qt/WebContextQt.cpp:
36070         (WebKit::defaultDataLocation):
36071         (WebKit::WebContext::platformInitializeWebProcess):
36072         (WebKit::WebContext::platformDefaultDatabaseDirectory):
36073         (WebKit::WebContext::platformDefaultIconDatabasePath):
36074         (WebKit::WebContext::platformDefaultLocalStorageDirectory):
36075
36076 2011-10-05  Carlos Garcia Campos  <cgarcia@igalia.com>
36077
36078         [GTK] Use WKRetainPtr for WK types in WebKit2 GTK+
36079         https://bugs.webkit.org/show_bug.cgi?id=69404
36080
36081         Reviewed by Martin Robinson.
36082
36083         * UIProcess/API/gtk/WebKitWebContext.cpp:
36084         (webkitWebContextFinalize):
36085         (createDefaultWebContext):
36086         (webkitWebContextGetWKContext):
36087         * UIProcess/API/gtk/WebKitWebView.cpp:
36088         (webkit_web_view_load_uri):
36089         (webkit_web_view_load_alternate_html):
36090
36091 2011-10-04  Kent Tamura  <tkent@chromium.org>
36092
36093         Introduce feature flags for incomplete input types
36094         https://bugs.webkit.org/show_bug.cgi?id=68971
36095
36096         Reviewed by Hajime Morita.
36097
36098         * Configurations/FeatureDefines.xcconfig:
36099         Add ENABLE_INPUT_TYPE_* flags. They are enabled only for iOS.
36100
36101 2011-10-04  Scott Graham  <scottmg@chromium.org>
36102
36103         Add GAMEPAD feature flag
36104         https://bugs.webkit.org/show_bug.cgi?id=66859
36105
36106         Reviewed by Darin Fisher.
36107
36108         * Configurations/FeatureDefines.xcconfig:
36109
36110 2011-10-04  Ada Chan  <adachan@apple.com>
36111
36112         toURLRef() in WKSharedAPICast.h should return null for a null string
36113         https://bugs.webkit.org/show_bug.cgi?id=69380
36114
36115         Reviewed by Jon Honeycutt.
36116
36117         * Shared/API/c/WKSharedAPICast.h:
36118         (WebKit::toURLRef): Add the missing "return" for the null string case.
36119
36120 2011-10-04  Alexey Proskuryakov  <ap@apple.com>
36121
36122         https://bugs.webkit.org/show_bug.cgi?id=67774
36123         PDF in a frameset is not displayed, always downloads
36124
36125         Reviewed by Darin Adler.
36126
36127         * WebKit2.xcodeproj/project.pbxproj:
36128         * WebProcess/Plugins/PDF: Added.
36129         Added BuiltInPDFView class. It implements ScrollableArea and Plugin, working with iframes,
36130         objects and embeds. The implementation targets Mac port only, fixing a WebKit2 regression.
36131
36132         * UIProcess/WebContext.cpp: (WebKit::WebContext::getPlugins): Tell WebCore that there is a
36133         plug-in for PDF, so that it instantiates it in a regular fashion.
36134
36135         * UIProcess/WebFrameProxy.cpp: (WebKit::WebFrameProxy::canShowMIMEType): We can now show
36136         PDF not only in main frame.
36137
36138         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: Added. This is largely an implementation of
36139         ScrollableArea now, which can render the first page of a PDF. Further improvements to come.
36140
36141         * WebProcess/Plugins/PDF/BuiltInPDFView.h: Added.
36142
36143         * WebProcess/Plugins/Plugin.cpp: (WebKit::Plugin::updateControlTints): Give Plugin a chance
36144         to invalidate its tintable controls - it's necessary for PDF because scrollbars are tintable. 
36145
36146         * WebProcess/Plugins/Plugin.h: (WebKit::Plugin::controller): Added a const version, since
36147         some ScrollableArea methods are const.
36148
36149         * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::paint): Call updateControlTints
36150         at updatingControlTints phase.
36151
36152         * WebProcess/Plugins/PluginView.h: PDF plug-in needs to tinker with embedding FrameView to
36153         use Scrollbar class, so it needs to cast its PluginController up to PluginView. It's unfortunate
36154         that PluginView has so much NPAPI specific code, but that's how it is now.
36155
36156         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::createPlugin): If there is no real plug-in
36157         installed for PDF, instantiate built-in one.
36158
36159 2011-10-04  Jon Lee  <jonlee@apple.com>
36160
36161         REGRESSION (WK2): (Shift-)option-tabbing skips over elements when transitioning from chrome to webview
36162         https://bugs.webkit.org/show_bug.cgi?id=68412
36163         <rdar://problem/9988252>
36164
36165         Reviewed by Darin Adler.
36166
36167         In WK1 setInitialFocus() is called on FocusController with the key event that
36168         caused the web view to become first responder. In WK2 no event is sent. So if
36169         the key stroke that caused the change in first responder status contains the
36170         option modifier key, FocusController did not know that it had to switch behavior.
36171
36172         Because there are multiple ways that the WKView can becomeFirstResponder, I changed
36173         the signature to setInitialFocus to express whether the key event parameter is an
36174         actual key event.
36175
36176         * UIProcess/API/C/win/WKView.cpp:
36177         (WKViewSetInitialFocus):
36178         * UIProcess/API/mac/WKView.mm:
36179         (-[WKView becomeFirstResponder]): Take the NSApp currentEvent and pass it along if
36180         the event is a keyboard event, otherwise pass an empty event.
36181         * UIProcess/WebPageProxy.cpp:
36182         (WebKit::WebPageProxy::setInitialFocus): Change in function signature to confirm that
36183         the event that caused the initial focus was a keyboard event, and provide the keyboard
36184         event itself.
36185         * UIProcess/WebPageProxy.h:
36186         * UIProcess/win/WebView.cpp:
36187         (WebKit::WebView::setInitialFocus):
36188         * UIProcess/win/WebView.h:
36189         * WebProcess/WebPage/WebPage.cpp:
36190         (WebKit::WebPage::setInitialFocus): If we know that the cause of this was a keyboard
36191         event, we pass that event to the FocusController. Otherwise we fall back to the original
36192         behavior, which is to pass no event at all.
36193         * WebProcess/WebPage/WebPage.h:
36194         * WebProcess/WebPage/WebPage.messages.in:
36195
36196 2011-10-04  Jeff Miller  <jeffm@apple.com>
36197
36198         WKPreferences should allow control of application chrome mode
36199         https://bugs.webkit.org/show_bug.cgi?id=69344
36200
36201         Reviewed by Dan Bernstein.
36202
36203         * Shared/WebPreferencesStore.h: Add application chrome mode setting to FOR_EACH_WEBKIT_BOOL_PREFERENCE().
36204
36205         * UIProcess/API/C/WKPreferences.cpp:
36206         (WKPreferencesSetApplicationChromeModeEnabled): Added.
36207         (WKPreferencesGetApplicationChromeModeEnabled): Added.
36208
36209         * UIProcess/API/C/WKPreferencesPrivate.h: Added WKPreferencesSetApplicationChromeModeEnabled() and WKPreferencesGetApplicationChromeModeEnabled().
36210
36211         * WebProcess/WebPage/WebPage.cpp:
36212         (WebKit::WebPage::updatePreferences): Set application chrome mode setting.
36213
36214 2011-10-04  Carlos Garcia Campos  <cgarcia@igalia.com>
36215
36216         [GTK] Implement default error pages in WebKit2 GTK+ API
36217         https://bugs.webkit.org/show_bug.cgi?id=69255
36218
36219         Reviewed by Martin Robinson.
36220
36221         * UIProcess/API/gtk/WebKitError.cpp:
36222         (webkit_policy_error_quark): Add quark for policy errors.
36223         (webkit_plugin_error_quark): Add quark for plugin errors.
36224         * UIProcess/API/gtk/WebKitError.h: Add policy and plugin errors.
36225         * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
36226         (webkitWebLoaderClientLoadFailed): Load a custom error page when
36227         load failed and signal has not been handled.
36228         (webkit_web_loader_client_class_init): Add default implementation
36229         for provisional_load_failed and load_failed virtual methods.
36230
36231 2011-10-04  Carlos Garcia Campos  <cgarcia@igalia.com>
36232
36233         [GTK] Add webkit_web_view_load_alternate_html() to WebKit2 GTK+ API
36234         https://bugs.webkit.org/show_bug.cgi?id=69254
36235
36236         Reviewed by Martin Robinson.
36237
36238         * UIProcess/API/gtk/WebKitWebView.cpp:
36239         (webkit_web_view_load_alternate_html):
36240         * UIProcess/API/gtk/WebKitWebView.h:
36241         * UIProcess/API/gtk/tests/testloading.c:
36242         (loadAlternateContentLoadFinished):
36243         (loadAlternateContentLoadFailed):
36244         (testLoadAlternateContent):
36245         (main):
36246
36247 2011-10-03  Jon Lee  <jonlee@apple.com>
36248
36249         Extend DOM WheelEvent to differentiate between physical and logical scroll directions
36250         https://bugs.webkit.org/show_bug.cgi?id=68959
36251         <rdar://problem/10036688>
36252
36253         Reviewed by Sam Weinig.
36254
36255         * Shared/WebEvent.h:
36256         (WebKit::WebWheelEvent::directionInvertedFromDevice):
36257         * Shared/WebEventConversion.cpp:
36258         (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
36259         * Shared/WebWheelEvent.cpp:
36260         (WebKit::WebWheelEvent::WebWheelEvent):
36261         (WebKit::WebWheelEvent::encode):
36262         (WebKit::WebWheelEvent::decode):
36263         * Shared/mac/WebEventFactory.mm:
36264         (WebKit::WebEventFactory::createWebWheelEvent): get the flag from the NSEvent.
36265         * UIProcess/WebPageProxy.cpp:
36266         (WebKit::coalesce):
36267
36268 2011-10-04  Nayan Kumar K  <nayankk@motorola.com>
36269
36270         [WebKit2][gtk] Generate gtk-doc for WebKit2-GTK.
36271         https://bugs.webkit.org/show_bug.cgi?id=69325
36272
36273         Reviewed by Gustavo Noronha Silva.
36274
36275         Documentation generation for WebKit2-GTK+ APIs
36276         using gtk-doc.
36277
36278         * GNUmakefile.am: Added doc generation files to EXTRA_DIST.
36279         * UIProcess/API/gtk/docs/GNUmakefile.am: Makefile for doc generation.
36280         * UIProcess/API/gtk/docs/version.xml.in: Version information.
36281         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Document template.
36282         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Document sections added.
36283         * UIProcess/API/gtk/docs/webkit2gtk.types: Added GObjects types.
36284
36285 2011-10-04  Nayan Kumar K  <nayankk@motorola.com>
36286
36287         [WebKit2][gtk] Fix warnings while generating documentation using gtk-doc.
36288         https://bugs.webkit.org/show_bug.cgi?id=69329
36289
36290         Reviewed by Martin Robinson.
36291
36292         Added documentation for WebKitNetworkError enum and corrected few other
36293         minor issues in WebKit2-GTK+ API documentation.
36294
36295         * UIProcess/API/gtk/WebKitError.h: Added documentation for WebKitNetworkError.
36296         * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
36297         (webkit_web_loader_client_class_init): Corrected parameter name.
36298         * UIProcess/API/gtk/WebKitWebView.cpp: Corrected annotation.
36299
36300 2011-10-04  Vsevolod Vlasov  <vsevik@chromium.org>
36301
36302         Web Inspector: Remove http/tests/inspector/network/disabled-cache-crash.html.
36303         https://bugs.webkit.org/show_bug.cgi?id=69332
36304
36305         Reviewed by Pavel Feldman.
36306
36307         * win/WebKit2.def:
36308         * win/WebKit2CFLite.def:
36309
36310 2011-10-03  Anders Carlsson  <andersca@apple.com>
36311
36312         Content area does not return to the correct position after rubberbanding
36313         https://bugs.webkit.org/show_bug.cgi?id=69302
36314         <rdar://problem/10102886>
36315
36316         Reviewed by Sam Weinig.
36317
36318         Make sure to schedule a display after adding to the dirty region.
36319
36320         * WebProcess/WebPage/DrawingAreaImpl.cpp:
36321         (WebKit::DrawingAreaImpl::scroll):
36322
36323 2011-10-03  Anders Carlsson  <andersca@apple.com>
36324
36325         Remove custom scrollbar painting hooks
36326         https://bugs.webkit.org/show_bug.cgi?id=69163
36327
36328         Remove overridden ChromeClient member functions.
36329
36330         Reviewed by Alexey Proskuryakov.
36331
36332         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
36333         * WebProcess/WebCoreSupport/WebChromeClient.h:
36334
36335 2011-10-03  Jer Noble  <jer.noble@apple.com>
36336
36337         Unreviewed, rolling out r96526.
36338         http://trac.webkit.org/changeset/96526
36339         https://bugs.webkit.org/show_bug.cgi?id=68587
36340
36341         WEB_AUDIO has numerous 64->32 bit casting warnings, causing
36342         build breakages where -Wall is enabled.
36343
36344         * Configurations/FeatureDefines.xcconfig:
36345
36346 2011-10-03  Jer Noble  <jer.noble@apple.com>
36347
36348         Enable WEB_AUDIO by default in the WebKit/mac port.
36349         https://bugs.webkit.org/show_bug.cgi?id=68587
36350
36351         Reviewed by Simon Fraser.
36352
36353         * Configurations/FeatureDefines.xcconfig:
36354
36355 2011-10-03  Carlos Garcia Campos  <cgarcia@igalia.com>
36356
36357         [GTK] Add failing uri parameter to provisional-load-failed and load-failed signals
36358         https://bugs.webkit.org/show_bug.cgi?id=69252
36359
36360         Reviewed by Martin Robinson.
36361
36362         * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
36363         (didFailProvisionalLoadWithErrorForFrame): Pass failing URL to
36364         signal handler.
36365         (didFailLoadWithErrorForFrame): Ditto.
36366         (webkit_web_loader_client_class_init): Add failing URL parameter
36367         to provisional-load-failed and load-failed signals.
36368         * UIProcess/API/gtk/WebKitWebLoaderClient.h:
36369         * UIProcess/API/gtk/tests/testloading.c:
36370         (loadStatusProvisionalLoadFailed): Update to API changes.
36371         (loadStatusLoadFailed): Ditto.
36372         (loadErrorProvisionalLoadFailed): Ditto.
36373         * UIProcess/API/gtk/webkit2marshal.list:
36374
36375 2011-10-03  Carlos Garcia Campos  <cgarcia@igalia.com>
36376
36377         [GTK] Fix memory leak when loading url
36378         https://bugs.webkit.org/show_bug.cgi?id=69247
36379
36380         Reviewed by Martin Robinson.
36381
36382         Release URL created with WKURLCreateWithUTF8CString().
36383
36384         * UIProcess/API/gtk/WebKitWebView.cpp:
36385         (webkit_web_view_load_uri):
36386
36387 2011-10-03  Carlos Garcia Campos  <cgarcia@igalia.com>
36388
36389         [UNIX] Rename NetscapePluginModule::pluginInfo to NetscapePluginModule::getPluginInfoForLoadedPlugin()
36390         https://bugs.webkit.org/show_bug.cgi?id=69147
36391
36392         Reviewed by Martin Robinson.
36393
36394         * Shared/Plugins/Netscape/NetscapePluginModule.h:
36395         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
36396         (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin):
36397         (WebKit::NetscapePluginModule::getPluginInfo):
36398
36399 2011-10-03  Zeno Albisser  <zeno.albisser@nokia.com>
36400
36401         [Qt][WebKit2][Mac] WebProcess should exit automatically when UIProcess dies.
36402         https://bugs.webkit.org/show_bug.cgi?id=68439
36403
36404         We use a dispatch queue and a dispatch source in the WebProcess
36405         to receive a notification when the UI Process dies.
36406         The WebProcess then commits suicide.
36407
36408         Reviewed by Andreas Kling.
36409
36410         * WebProcess/qt/WebProcessQt.cpp:
36411         (WebKit::parentProcessDiedCallback):
36412         (WebKit::WebProcess::platformInitializeWebProcess):
36413
36414 2011-10-02  Zeno Albisser  <zeno.albisser@nokia.com>
36415
36416         [Qt][WK2][Mac] WebKit2 does not build on mac after merge of Qt5 refactor branch.
36417         https://bugs.webkit.org/show_bug.cgi?id=69223
36418
36419         After the merge of the Qt5 refactor branch, networking stuff has been
36420         extracted into a separate library. The qmlplugin needs to link to that
36421         library to get QNetworkReply defined.
36422
36423         Reviewed by Noam Rosenthal.
36424
36425         * UIProcess/API/qt/qmlplugin/qmlplugin.pro:
36426
36427 2011-10-01  Geoffrey Garen  <ggaren@apple.com>
36428
36429         Removed redundant helper functions for allocating Strong handles
36430         https://bugs.webkit.org/show_bug.cgi?id=69218
36431
36432         Reviewed by Sam Weinig.
36433
36434         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
36435         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
36436
36437 2011-09-30  Sam Weinig  <sam@webkit.org>
36438
36439         Add support for eventSender.mouseScrollBy in WTR
36440         https://bugs.webkit.org/show_bug.cgi?id=69189
36441
36442         Reviewed by Simon Fraser.
36443
36444         * UIProcess/WebPageProxy.cpp:
36445         (WebKit::WebPageProxy::handleWheelEvent):
36446         * WebProcess/WebPage/WebPage.cpp:
36447         (WebKit::WebPage::wheelEventSyncForTesting):
36448         * WebProcess/WebPage/WebPage.h:
36449         * WebProcess/WebPage/WebPage.messages.in:
36450         Add sync version of wheel event handling for use in testing.
36451
36452 2011-09-30  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
36453
36454         [Qt] Add missing include for QMimeData
36455         https://bugs.webkit.org/show_bug.cgi?id=69178
36456
36457         Reviewed by Tor Arne Vestbø.
36458
36459         This was implicitly included by other headers, but due to changes in
36460         Qt5 we need to include explicitly.
36461
36462         * UIProcess/qt/QtWebPageProxy.cpp:
36463         * WebProcess/WebPage/WebPage.cpp:
36464
36465 2011-09-30  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
36466
36467         [Qt] Prevent qDebug() output from DRT and WTR unless --verbose
36468
36469         For DRT we didn't install the message handler early enough to
36470         catch output while constructing the QApplication. For WTR we
36471         didn't even install a message handler.
36472
36473         Since the UI process will forward any output from the web process
36474         we set an environment variable QT_WEBKIT_SUPPRESS_WEB_PROCESS_OUTPUT
36475         in WTR before the web process is started. This is picked up by the
36476         web process which installs its own message handler.
36477
36478         The environment variable can be overriden on the command line if you
36479         want to see output from the web process, or you can pass --verbose to
36480         WTR to see output from both processes.
36481
36482         https://bugs.webkit.org/show_bug.cgi?id=69132
36483
36484         Reviewed by Andreas Kling.
36485
36486         * WebProcess/qt/WebProcessMainQt.cpp:
36487
36488 2011-09-30  Anders Carlsson  <andersca@apple.com>
36489
36490         Remove didCompleteRubberBandForMainFrame UIClient callback
36491         https://bugs.webkit.org/show_bug.cgi?id=69161
36492
36493         Reviewed by Adam Roben.
36494
36495         * UIProcess/API/C/WKPage.h:
36496         * UIProcess/WebPageProxy.cpp:
36497         * UIProcess/WebPageProxy.h:
36498         * UIProcess/WebPageProxy.messages.in:
36499         * UIProcess/WebUIClient.cpp:
36500         * UIProcess/WebUIClient.h:
36501         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
36502         (WebKit::WebChromeClient::didCompleteRubberBandForFrame):
36503
36504 2011-09-30  Qi Zhang  <qi.2.zhang@nokia.com>
36505
36506         WebKitTestRunner needs layoutTestController.setAppCacheMaximumSize
36507         https://bugs.webkit.org/show_bug.cgi?id=42698
36508
36509         Reviewed by Andreas Kling.
36510
36511         Implemented layoutTestController.setAppCacheMaximumSize and layoutTestController.clearApplicationCache,
36512         and call clearApplicationCache when layoutTest start up.
36513
36514         * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
36515         (WebKit::WebApplicationCacheManager::setAppCacheMaximumSize):
36516         * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
36517         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
36518         (WKBundleClearApplicationCache):
36519         (WKBundleSetAppCacheMaximumSize):
36520         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
36521         * WebProcess/InjectedBundle/InjectedBundle.cpp:
36522         (WebKit::InjectedBundle::clearApplicationCache):
36523         (WebKit::InjectedBundle::setAppCacheMaximumSize):
36524         * WebProcess/InjectedBundle/InjectedBundle.h:
36525
36526 2011-09-30  Carlos Garcia Campos  <cgarcia@igalia.com>
36527
36528         [UNIX] Add a method to get information for an already loaded plugin module
36529         https://bugs.webkit.org/show_bug.cgi?id=69139
36530
36531         Reviewed by Martin Robinson.
36532
36533         * Shared/Plugins/Netscape/NetscapePluginModule.h: Add pluginInfo().
36534         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
36535         (WebKit::NetscapePluginModule::pluginInfo): Private method to get
36536         the plugin information from the module, it must be called when the
36537         module has been already initialized.
36538         (WebKit::NetscapePluginModule::getPluginInfo): Use pluginInfo() to
36539         get information of the plugin module for the given path.
36540
36541 2011-09-30  Zeno Albisser  <zeno.albisser@nokia.com>
36542
36543         [Qt][WK2] Event delivery in QDesktopWebView is broken after merge of Qt5 refactor
36544         https://bugs.webkit.org/show_bug.cgi?id=69105
36545
36546         This changes QDesktopWebView and QDesktopWebPageProxy to use QMouseEvent instead
36547         of QGraphicsSceneMouseEvent.
36548         Further it removes an endless loop introduced by the QSGItem::event() function
36549         delivering inputMethodEvents but no other events.
36550
36551         Reviewed by Andreas Kling.
36552
36553         * Shared/NativeWebMouseEvent.h:
36554         (WebKit::NativeWebMouseEvent::nativeEvent):
36555         * Shared/NativeWebWheelEvent.h:
36556         (WebKit::NativeWebWheelEvent::nativeEvent):
36557         * Shared/qt/NativeWebMouseEventQt.cpp:
36558         (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
36559         * Shared/qt/NativeWebWheelEventQt.cpp:
36560         (WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
36561         * Shared/qt/WebEventFactoryQt.cpp:
36562         (WebKit::mouseButtonForEvent):
36563         (WebKit::webEventTypeForEvent):
36564         (WebKit::WebEventFactory::createWebMouseEvent):
36565         (WebKit::WebEventFactory::createWebWheelEvent):
36566         * Shared/qt/WebEventFactoryQt.h:
36567         * UIProcess/API/qt/qdesktopwebview.cpp:
36568         (QDesktopWebView::mousePressEvent):
36569         (QDesktopWebView::mouseMoveEvent):
36570         (QDesktopWebView::mouseReleaseEvent):
36571         (QDesktopWebView::mouseDoubleClickEvent):
36572         (QDesktopWebView::wheelEvent):
36573         (QDesktopWebView::event):
36574         * UIProcess/API/qt/qdesktopwebview.h:
36575         * UIProcess/qt/qdesktopwebpageproxy.cpp:
36576         (QDesktopWebPageProxy::handleEvent):
36577         (QDesktopWebPageProxy::handleMouseMoveEvent):
36578         (QDesktopWebPageProxy::handleMousePressEvent):
36579         (QDesktopWebPageProxy::handleMouseReleaseEvent):
36580         (QDesktopWebPageProxy::handleMouseDoubleClickEvent):
36581         (QDesktopWebPageProxy::handleWheelEvent):
36582         (QDesktopWebPageProxy::handleHoverMoveEvent):
36583         * UIProcess/qt/qdesktopwebpageproxy.h:
36584
36585 2011-09-29  Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
36586
36587         Initial implementation of WebInspector for WebKit2 GTK port.
36588         https://bugs.webkit.org/show_bug.cgi?id=68235
36589
36590         Reviewed by Martin Robinson.
36591
36592         * UIProcess/WebInspectorProxy.cpp:
36593         (WebKit::WebInspectorProxy::WebInspectorProxy): Initialize the native window handles of GTK.
36594         * UIProcess/WebInspectorProxy.h: Add native window handle for inspector window.
36595         * UIProcess/gtk/WebInspectorGtk.cpp:
36596         (WebKit::inspectorFilesBasePath): Base folder for inspector resources.
36597         (WebKit::inspectorWindowDestroyed): Invoked when inspector window is closed by user.
36598         (WebKit::WebInspectorProxy::windowDestroyed): Resets the native handles to 0 when user closes the window.
36599         (WebKit::WebInspectorProxy::platformCreateInspectorPage): Create the WebView for inspector.
36600         (WebKit::WebInspectorProxy::platformOpen): Create the window for inspector.
36601         (WebKit::WebInspectorProxy::platformDidClose): Close both WebView & window of inspector.
36602         (WebKit::WebInspectorProxy::platformInspectedURLChanged): Update the title of inspector window.
36603         (WebKit::WebInspectorProxy::inspectorPageURL): Return the absolute URL of inspector.html.
36604         (WebKit::WebInspectorProxy::inspectorBaseURL): Return the location where inspector resources are present.
36605         WebProcess is given read access to this folder only for loading file URLs by sandboxed extension.
36606
36607 2011-09-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
36608
36609         [Qt] Fix build against Qt5 after refactor of widgets out of QtGUi
36610
36611         QWidget and friends now live in the QtWidgets library. We update
36612         includes in implementation files and private headers to us the
36613         non-module-prefixed path, and leave the lookup for the include
36614         path. For public headers we have to ifdef the includes as the
36615         user might now have the modules we need in his QT config.
36616
36617         Finally, QSGCanvas is no longer a QWidget but a QWindow, so we
36618         have to update our code and use windowHandle() for setting the
36619         parent relationships.
36620
36621         https://bugs.webkit.org/show_bug.cgi?id=68687
36622
36623         Reviewed by Andreas Kling.
36624
36625         * UIProcess/API/qt/qdesktopwebview.cpp:
36626         * UIProcess/API/qt/qdesktopwebview.h:
36627         * UIProcess/API/qt/tests/tests.pro:
36628         * UIProcess/qt/ViewInterface.h:
36629         * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
36630
36631 2011-09-29  Carlos Garcia Campos  <cgarcia@igalia.com>
36632
36633         [GTK] Force single header include in WebKit2 GTK+ API
36634         https://bugs.webkit.org/show_bug.cgi?id=69084
36635
36636         Reviewed by Martin Robinson.
36637
36638         Only <webkit2/webkit2.h> will be allowed for API users.
36639
36640         * GNUmakefile.am:
36641         * UIProcess/API/gtk/WebKitError.h:
36642         * UIProcess/API/gtk/WebKitWebContext.h:
36643         * UIProcess/API/gtk/WebKitWebLoaderClient.h:
36644         * UIProcess/API/gtk/WebKitWebView.h:
36645         * UIProcess/API/gtk/WebKitWebViewBase.h:
36646         * UIProcess/API/gtk/webkit2.h:
36647
36648 2011-09-29  Carlos Garcia Campos  <cgarcia@igalia.com>
36649
36650         [GTK] Explicitly call destructors for objects initialized with placement new syntax
36651         https://bugs.webkit.org/show_bug.cgi?id=69079
36652
36653         Reviewed by Xan Lopez.
36654
36655         * UIProcess/API/gtk/WebKitWebContext.cpp:
36656         (webkitWebContextFinalize): Call ~WebKitWebContextPrivate().
36657         * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
36658         (webkitWebLoaderClientFinalize): Call ~WebKitWebLoaderClient().
36659         (webkit_web_loader_client_class_init):
36660         * UIProcess/API/gtk/WebKitWebView.cpp:
36661         (webkitWebViewFinalize): Call ~WebKitWebViewPrivate().
36662         (webkit_web_view_class_init):
36663
36664 2011-09-28  Martin Robinson  <mrobinson@igalia.com>
36665
36666         Fix the WebGL build on WebKit2 GTK+.
36667
36668         * GNUmakefile.am: Add OPENGL_LIBS to WebKit2 targets.
36669
36670 2011-09-28  Brent Fulgham  <bfulgham@webkit.org>
36671
36672         WinCairo build fix.
36673
36674         * WebProcess/WebPage/WebFrame.h: Add include of <wtc/RetainPtr.h>
36675
36676 2011-09-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
36677
36678         One more shot at fixing GTK+, this seems to make the dependencies
36679         work.
36680
36681         * GNUmakefile.am:
36682
36683 2011-09-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
36684
36685         GTK+ build fix 3 - the return of the marshal.
36686
36687         * GNUmakefile.am:
36688
36689 2011-09-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
36690
36691         Second try at fixing the GTK+ build.
36692
36693         * GNUmakefile.am:
36694
36695 2011-09-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
36696
36697         Try to fix GTK+ build.
36698
36699         * GNUmakefile.am:
36700
36701 2011-09-28  Carlos Garcia Campos  <cgarcia@igalia.com>
36702
36703         [GTK] Fix webkit2 unit tests in debug builds
36704         https://bugs.webkit.org/show_bug.cgi?id=69006
36705
36706         Reviewed by Martin Robinson.
36707
36708         We are currently using the WorQueue name as thread name which in
36709         this moment can be com.apple.WebKit.ProcessLauncher or
36710         com.apple.CoreIPC.ReceiveQueue. Both names are longer than 31
36711         characters which is the limit of Visual Studio for thread
36712         names. When log is enabled createThread() will assert instead of
36713         truncate the name, so we need to make sure we don't use a name
36714         longer than 31 characters.
36715
36716         * Platform/gtk/WorkQueueGtk.cpp:
36717         (WorkQueue::platformInitialize):
36718
36719 2011-09-28  Carlos Garcia Campos  <cgarcia@igalia.com>
36720
36721         [GTK] Loader client implementation for WebKit2 GTK+ API
36722         https://bugs.webkit.org/show_bug.cgi?id=68085
36723
36724         Reviewed by Martin Robinson.
36725
36726         Adds a new object, WebKitWebLoaderClient, that emits signals for
36727         every page loader callback.
36728
36729         * GNUmakefile.am: Add new files to compilation.
36730         * UIProcess/API/gtk/WebKitWebLoaderClient.cpp: Added.
36731         (didStartProvisionalLoadForFrame):
36732         (didReceiveServerRedirectForProvisionalLoadForFrame):
36733         (didFailProvisionalLoadWithErrorForFrame):
36734         (didCommitLoadForFrame):
36735         (didFinishLoadForFrame):
36736         (didFailLoadWithErrorForFrame):
36737         (webkitWebLoaderClientConstructed):
36738         (webkitWebLoaderClientSetProperty):
36739         (webkitWebLoaderClientGetProperty):
36740         (webkit_web_loader_client_init):
36741         (webkit_web_loader_client_class_init):
36742         * UIProcess/API/gtk/WebKitWebLoaderClient.h: Added.
36743         * UIProcess/API/gtk/WebKitWebView.cpp:
36744         (webkitWebViewConstructed): Create the loader client for the view.
36745         (webkit_web_view_init):
36746         (webkit_web_view_get_loader_client): Get the current loader client.
36747         (webkit_web_view_set_loader_client): Set a new loader client.
36748         * UIProcess/API/gtk/WebKitWebView.h:
36749         * UIProcess/API/gtk/tests/testloading.c: Added.
36750         (serverCallback):
36751         (webLoadingFixtureSetup):
36752         (webLoadingFixtureTeardown):
36753         (getURIForPath):
36754         (loadStatusProvisionalLoadStarted):
36755         (loadStatusProvisionalLoadReceivedServerRedirect):
36756         (loadStatusProvisionalLoadFailed):
36757         (loadStatusLoadCommitted):
36758         (loadStatusLoadFinished):
36759         (loadStatusLoadFailed):
36760         (testLoadingStatus):
36761         (loadErrorProvisionalLoadStarted):
36762         (loadErrorProvisionalLoadFailed):
36763         (loadErrorLoadFinished):
36764         (testLoadingError):
36765         (main):
36766         * UIProcess/API/gtk/webkit2marshal.list: Added.
36767
36768 2011-09-28  Carlos Garcia Campos  <cgarcia@igalia.com>
36769
36770         [GTK] Add WebKitError to GTK+ WebKit2 API
36771         https://bugs.webkit.org/show_bug.cgi?id=68508
36772
36773         Reviewed by Martin Robinson.
36774
36775         Add WebKitNetworkError enum to define network errors.
36776
36777         * GNUmakefile.am: Add new files to compilation.
36778         * UIProcess/API/gtk/WebKitError.cpp: Added.
36779         (webkit_network_error_quark):
36780         * UIProcess/API/gtk/WebKitError.h:
36781         * UIProcess/API/gtk/WebKitPrivate.h: Add
36782         COMPILE_ASSERT_MATCHING_ENUM macro.
36783         * UIProcess/API/gtk/webkit2.h: Add WebKitError.h and
36784         WebKitEnumTypes.h
36785
36786 2011-09-28  Carlos Garcia Campos  <cgarcia@igalia.com>
36787
36788         [GTK] Fix Programs/unittests/webkit2/testwebview
36789         https://bugs.webkit.org/show_bug.cgi?id=68993
36790
36791         Reviewed by Philippe Normand.
36792
36793         * GNUmakefile.am: Add -DWEBKIT_EXEC_PATH.
36794         * UIProcess/API/gtk/tests/testwebview.c:
36795         (main): Get WebProcess path from WEBKIT_EXEC_PATH environment
36796         variable.
36797
36798 2011-09-27  Mark Hahnenberg  <mhahnenberg@apple.com>
36799
36800         Add static version of JSCell::getCallData
36801         https://bugs.webkit.org/show_bug.cgi?id=68741
36802
36803         Reviewed by Darin Adler.
36804
36805         In this patch we just extract the bodies of the virtual getCallData methods
36806         throughout the JSCell inheritance hierarchy out into static methods, which are 
36807         now called from the virtual methods.  This is an intermediate step in trying to 
36808         move the virtual-ness of getCallData into our own method table stored in 
36809         ClassInfo.  We need to convert the methods to static methods because static methods 
36810         can be represented as function pointers rather than pointers to member functions, and
36811         function pointers are smaller and faster to call than pointers to member functions.
36812
36813         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
36814         (WebKit::JSNPMethod::getCallDataVirtual):
36815         (WebKit::JSNPMethod::getCallData):
36816         * WebProcess/Plugins/Netscape/JSNPMethod.h:
36817         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
36818         (WebKit::JSNPObject::getCallDataVirtual):
36819         (WebKit::JSNPObject::getCallData):
36820         * WebProcess/Plugins/Netscape/JSNPObject.h:
36821
36822 2011-09-27  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
36823
36824         [Qt] QDesktopWebView load zero size view test missing
36825         https://bugs.webkit.org/show_bug.cgi?id=68655
36826
36827         Reviewed by Chang Shu.
36828
36829         Added test case to check load behavior with zero size view.
36830
36831         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadZeroSizeView.qml: Added.
36832         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
36833
36834 2011-09-27  Carlos Garcia Campos  <cgarcia@igalia.com>
36835
36836         [GTK] Use WebKitWebContext in WebKitWebView
36837         https://bugs.webkit.org/show_bug.cgi?id=67990
36838
36839         Reviewed by Martin Robinson.
36840
36841         Use webkit_web_context_get_default() instead of
36842         WKContextGetSharedProcessContext() and add API to create a view
36843         with a given web context and to return the current context
36844         associated to the view.
36845
36846         * GNUmakefile.am: Add new files to compilation.
36847         * UIProcess/API/gtk/WebKitPrivate.h: Added.
36848         * UIProcess/API/gtk/WebKitWebContext.cpp:
36849         (webkitWebContextGetWKContext): Private API to get the WKContext
36850         wrapped by the WebKitWebContext.
36851         * UIProcess/API/gtk/WebKitWebContextPrivate.h: Added.
36852         * UIProcess/API/gtk/WebKitWebView.cpp:
36853         (webkitWebViewConstructed): Create the webpage using the web
36854         context of the view.
36855         (webkitWebViewSetProperty):
36856         (webkitWebViewGetProperty):
36857         (webkit_web_view_init):
36858         (webkit_web_view_class_init):
36859         (webkit_web_view_new): Create a new view with the default context.
36860         (webkit_web_view_new_with_context): Create a new view with the
36861         given context.
36862         (webkit_web_view_get_context): Return the context.
36863         * UIProcess/API/gtk/WebKitWebView.h:
36864         * UIProcess/API/gtk/tests/testwebview.c: Added.
36865         (testWebViewDefaultContext):
36866         (main):
36867
36868 2011-09-27  Carlos Garcia Campos  <cgarcia@igalia.com>
36869
36870
36871         [GTK] Add WebKitWebContext to GTK API
36872         https://bugs.webkit.org/show_bug.cgi?id=67931
36873
36874         Reviewed by Philippe Normand.
36875
36876         Initial implementation of WebKitWebContext for WebKit2 GTK API.
36877
36878         * GNUmakefile.am: Add new files to compilation.
36879         * UIProcess/API/gtk/WebKitWebContext.cpp: Added.
36880         (webkitWebContextFinalize):
36881         (webkit_web_context_init):
36882         (webkit_web_context_class_init):
36883         (createDefaultWebContext):
36884         (webkit_web_context_get_default):
36885         * UIProcess/API/gtk/WebKitWebContext.h: Added.
36886         * UIProcess/API/gtk/tests/testwebcontext.c:
36887         (testWebContextDefault):
36888         (main):
36889         * UIProcess/API/gtk/webkit2.h: Add <webkit2/WebKitWebContext.h>.
36890
36891 2011-09-27  Sheriff Bot  <webkit.review.bot@gmail.com>
36892
36893         Unreviewed, rolling out r96108, r96111, r96113, and r96116.
36894         http://trac.webkit.org/changeset/96108
36895         http://trac.webkit.org/changeset/96111
36896         http://trac.webkit.org/changeset/96113
36897         http://trac.webkit.org/changeset/96116
36898         https://bugs.webkit.org/show_bug.cgi?id=68913
36899
36900         Wait for working Qt5 (Requested by ossy on #webkit).
36901
36902         * UIProcess/API/qt/qdesktopwebview.cpp:
36903         (QDesktopWebViewPrivate::startDrag):
36904         (QDesktopWebViewPrivate::didChangeToolTip):
36905         (QDesktopWebViewPrivate::didChangeCursor):
36906         (QDesktopWebViewPrivate::showContextMenu):
36907         (QDesktopWebViewPrivate::chooseFiles):
36908         * UIProcess/API/qt/qdesktopwebview.h:
36909         * UIProcess/API/qt/tests/tests.pri:
36910         * UIProcess/API/qt/tests/tests.pro:
36911         * UIProcess/qt/ViewInterface.h:
36912         * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
36913         (WebKit::WebPopupMenuProxyQtDesktop::WebPopupMenuProxyQtDesktop):
36914
36915 2011-09-27  Carlos Garcia Campos  <cgarcia@igalia.com>
36916
36917         [GTK] Rename WebKit2 GTK+ API main header as webkit2.h
36918         https://bugs.webkit.org/show_bug.cgi?id=65178
36919
36920         Reviewed by Martin Robinson.
36921
36922         * GNUmakefile.am: Add webkit2.h.
36923         * UIProcess/API/gtk/WebKitWebView.h:
36924         * UIProcess/API/gtk/webkit2.h: Renamed from Source/WebKit2/UIProcess/API/gtk/webkit/webkit.h.
36925         * webkit2gtk.pc.in: Use webkitgtk-<api-version> as include dir.
36926
36927 2011-09-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
36928
36929         [Qt] Fix build of WebKit2 unit-tests after r96108
36930
36931         Reviewed by Andreas Kling.
36932
36933         * UIProcess/API/qt/tests/tests.pri:
36934
36935 2011-09-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
36936
36937         [Qt] Fix build against Qt5 after refactor of widgets out of QtGUi
36938
36939         QWidget and friends now live in the QtWidgets library. We update
36940         includes in implementation files and private headers to us the
36941         non-module-prefixed path, and leave the lookup for the include
36942         path. For public headers we have to ifdef the includes as the
36943         user might now have the modules we need in his QT config.
36944
36945         Finally, QSGCanvas is no longer a QWidget but a QWindow, so we
36946         have to update our code and use windowHandle() for setting the
36947         parent relationships.
36948
36949         https://bugs.webkit.org/show_bug.cgi?id=68687
36950
36951         Reviewed by Andreas Kling.
36952
36953         * UIProcess/API/qt/qdesktopwebview.cpp:
36954         * UIProcess/API/qt/qdesktopwebview.h:
36955         * UIProcess/API/qt/tests/tests.pro:
36956         * UIProcess/qt/ViewInterface.h:
36957         * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
36958
36959 2011-09-26  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
36960
36961         [Qt][WK2] Add support for hover API in Qt WebKit2
36962         https://bugs.webkit.org/show_bug.cgi?id=68369
36963
36964         Reviewed by Andreas Kling.
36965
36966         Based on the patch from Igor Oliveira in the same bug.
36967
36968         Expose a linkHovered() signal in QDesktopWebView, that passes the QUrl and the
36969         QString corresponding to the link title. I left textContent out because was
36970         unsure of its use case.
36971
36972         In QDesktopWebView we store the last URL and title emitted to make sure we send
36973         the signal only if either value changes. Tests were added to the QML element to
36974         check: if values are correctly emitted and if we don't emit more signals than
36975         necessary.
36976
36977         * UIProcess/API/qt/qdesktopwebview.cpp:
36978         (QDesktopWebViewPrivate::didMouseMoveOverElement):
36979         * UIProcess/API/qt/qdesktopwebview.h:
36980         * UIProcess/API/qt/qdesktopwebview_p.h:
36981         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml: Added.
36982         * UIProcess/API/qt/tests/qmltests/common/test2.html:
36983         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
36984         * UIProcess/qt/ClientImpl.cpp:
36985         (qt_wk_mouseDidMoveOverElement):
36986         * UIProcess/qt/ClientImpl.h:
36987         * UIProcess/qt/QtWebPageProxy.cpp:
36988         (QtWebPageProxy::init):
36989         * UIProcess/qt/TouchViewInterface.h:
36990         (WebKit::TouchViewInterface::didMouseMoveOverElement):
36991         * UIProcess/qt/ViewInterface.h:
36992
36993 2011-09-27  Alexis Menard  <alexis.menard@openbossa.org>
36994
36995         [Qt][WK2] API fixes for QML, the signal parameters needs to be named.
36996         https://bugs.webkit.org/show_bug.cgi?id=68889
36997
36998         Reviewed by Andreas Kling.
36999
37000         Signal parameters needs to be explicitly named in QML to be accessible.
37001         This patch fix this problem.
37002
37003         * UIProcess/API/qt/qdesktopwebview.h:
37004         * UIProcess/API/qt/qtouchwebpage.h:
37005
37006 2011-09-27  Alexis Menard  <alexis.menard@openbossa.org>
37007
37008         [Qt][WK2] Mark FINAL properties which can't be overridden by a subclass.
37009         https://bugs.webkit.org/show_bug.cgi?id=68848
37010
37011         Reviewed by Andreas Kling.
37012
37013         The presence of the FINAL attribute indicates that the property will not be 
37014         overridden by a derived class. This can be used for performance optimizations
37015         by QML.
37016
37017         * UIProcess/API/qt/qdesktopwebview.h:
37018         * UIProcess/API/qt/qtouchwebpage.h:
37019         * UIProcess/API/qt/qtouchwebview.h:
37020         * UIProcess/API/qt/qwebnavigationcontroller.h:
37021
37022 2011-09-26  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
37023
37024         [Qt] Fix WK2 build after r96014
37025         https://bugs.webkit.org/show_bug.cgi?id=68856
37026
37027         Reviewed by Gustavo Noronha Silva.
37028
37029         Commit r96014 added inspectorBaseURL for Qt but removed
37030         inspectorPageURL, adding it back.
37031
37032         * UIProcess/qt/WebInspectorProxyQt.cpp:
37033         (WebKit::WebInspectorProxy::inspectorPageURL):
37034
37035 2011-09-26  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
37036
37037         [Qt] [WK2] Fix build after r95982
37038         https://bugs.webkit.org/show_bug.cgi?id=68842
37039
37040         Reviewed by Anders Carlsson.
37041
37042         The patch in r95982 removed the paint() function, because it was doing
37043         nothing (in both implementations). This patch remove the call we had
37044         for it to fix the build.
37045
37046         * UIProcess/qt/qtouchwebpageproxy.cpp:
37047         (QTouchWebPageProxy::paintContent):
37048
37049 2011-09-26  Alexey Proskuryakov  <ap@apple.com>
37050
37051         REGRESSION (r95747): Activating the web inspector causes the web process to be killed
37052         https://bugs.webkit.org/show_bug.cgi?id=68762
37053
37054         Reviewed by Anders Carlsson.
37055
37056         * UIProcess/WebInspectorProxy.cpp: (WebKit::WebInspectorProxy::createInspectorPage):
37057         Tell Web process that loading resources from WebCore resources directory is OK.
37058
37059         * UIProcess/WebPageProxy.cpp:
37060         (WebKit::WebPageProxy::loadHTMLString):
37061         (WebKit::WebPageProxy::loadAlternateHTMLString):
37062         * UIProcess/WebProcessProxy.cpp:
37063         (WebKit::WebProcessProxy::assumeReadAccessToBaseURL):
37064         * UIProcess/WebProcessProxy.h:
37065         Renamed willLoadHTMLStringWithBaseURL to more generic assumeReadAccessToBaseURL.
37066
37067         * UIProcess/WebInspectorProxy.h:
37068         * UIProcess/efl/WebInspectorEfl.cpp:
37069         (WebKit::WebInspectorProxy::inspectorBaseURL):
37070         * UIProcess/gtk/WebInspectorGtk.cpp:
37071         (WebKit::WebInspectorProxy::inspectorBaseURL):
37072         * UIProcess/mac/WebInspectorProxyMac.mm:
37073         (WebKit::WebInspectorProxy::inspectorBaseURL):
37074         * UIProcess/qt/WebInspectorProxyQt.cpp:
37075         (WebKit::WebInspectorProxy::inspectorBaseURL):
37076         * UIProcess/win/WebInspectorProxyWin.cpp:
37077         (WebKit::WebInspectorProxy::inspectorBaseURL):
37078         Report what base directory Inspector has access to.
37079
37080 2011-09-26  Nayan Kumar K  <nayankk@motorola.com>
37081
37082         Added WKHitTestResult API's.
37083
37084         WKHitTestResult API's are added. These API's can be used to
37085         get the hover'ed link/image/media URL as well as link lable and
37086         title.
37087         https://bugs.webkit.org/show_bug.cgi?id=68426
37088
37089         Reviewed by Anders Carlsson.
37090
37091         * CMakeLists.txt:
37092         * GNUmakefile.am:
37093         * UIProcess/API/C/WKHitTestResult.cpp: Added.
37094         (WKHitTestResultGetTypeID):
37095         (WKHitTestResultCopyAbsoluteImageURL):
37096         (WKHitTestResultCopyAbsoluteLinkURL):
37097         (WKHitTestResultCopyAbsoluteMediaURL):
37098         (WKHitTestResultCopyLinkLabel):
37099         (WKHitTestResultCopyLinkTitle):
37100         * UIProcess/API/C/WKHitTestResult.h: Added.
37101         * UIProcess/API/C/WebKit2.h:
37102         * WebKit2.xcodeproj/project.pbxproj:
37103         * WebKit2API.pri:
37104         * win/WebKit2.vcproj:
37105         * win/WebKit2Generated.make:
37106
37107 2011-09-26  Csaba Osztrogonác  <ossy@webkit.org>
37108
37109         [Qt][WK2]Unreviewed speculative buildfix after r95968.
37110
37111         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
37112         (WebKit::WebChromeClient::contentsSizeChanged):
37113
37114 2011-09-26  Anders Carlsson  <andersca@apple.com>
37115
37116         Remove an old DrawingAreaProxy::paint member function
37117         https://bugs.webkit.org/show_bug.cgi?id=68825
37118
37119         Reviewed by Dan Bernstein.
37120
37121         * UIProcess/DrawingAreaProxy.h:
37122         * UIProcess/DrawingAreaProxyImpl.cpp:
37123         * UIProcess/DrawingAreaProxyImpl.h:
37124         * UIProcess/TiledDrawingAreaProxy.cpp:
37125         * UIProcess/TiledDrawingAreaProxy.h:
37126
37127 2011-09-26  Jer Noble  <jer.noble@apple.com>
37128
37129         White flash when entering full-screen using element.webkitRequestFullScreen()
37130         https://bugs.webkit.org/show_bug.cgi?id=68481
37131
37132         Reviewed by Simon Fraser.
37133
37134         Do not re-enable screen updates after exiting compositing mode until a repaint has completed.
37135
37136         * UIProcess/mac/WKFullScreenWindowController.mm:
37137         (-[WKFullScreenWindowController exitAcceleratedCompositingMode]):
37138         (continueExitCompositingModeAfterRepaintCallback):
37139         (-[WKFullScreenWindowController _continueExitCompositingModeAfterRepaint]):
37140
37141 2011-09-23  Simon Fraser  <simon.fraser@apple.com>
37142
37143         Repaint tests don't work in WebKit2
37144         https://bugs.webkit.org/show_bug.cgi?id=68453
37145
37146         Reviewed by Sam Weinig.
37147         
37148         Expose WKBundlePage methods to turn on repaint rect tracking
37149         in WebKit2, for WebKitTestRunner.
37150         
37151         As part of the change, expose utility methods on WebPage
37152         to get the main Frame and FrameView, which required renaming
37153         the exisiting method that returns a WebFrame. Fix callers
37154         of that method to handle null when necessary.
37155
37156         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
37157         (WKBundlePageGetMainFrame):
37158         (WKBundlePageSetTracksRepaints):
37159         (WKBundlePageIsTrackingRepaints):
37160         (WKBundlePageResetTrackedRepaints):
37161         (WKBundlePageCopyTrackedRepaintRects):
37162         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
37163         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
37164         (WebKit::findLargestFrameInFrameSet):
37165         (WebKit::WebChromeClient::closeWindowSoon):
37166         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
37167         (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
37168         (WebKit::WebFrameLoaderClient::dispatchDidLayout):
37169         (WebKit::WebFrameLoaderClient::frameLoadCompleted):
37170         (WebKit::WebFrameLoaderClient::restoreViewState):
37171         (WebKit::WebFrameLoaderClient::provisionalLoadStarted):
37172         (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
37173         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
37174         (WebKit::WebFrameLoaderClient::createPlugin):
37175         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
37176         (WebKit::WebEditorClient::documentFragmentFromAttributedString):
37177         * WebProcess/WebPage/WebFrame.cpp:
37178         (WebKit::WebFrame::isMainFrame):
37179         * WebProcess/WebPage/WebPage.cpp:
37180         (WebKit::WebPage::setTracksRepaints):
37181         (WebKit::WebPage::isTrackingRepaints):
37182         (WebKit::WebPage::resetTrackedRepaints):
37183         (WebKit::WebPage::trackedRepaintRects):
37184         (WebKit::WebPage::clearMainFrameName):
37185         (WebKit::WebPage::layoutIfNeeded):
37186         (WebKit::WebPage::mainFrameHasCustomRepresentation):
37187         (WebKit::WebPage::mainFrame):
37188         (WebKit::WebPage::mainFrameView):
37189         * WebProcess/WebPage/WebPage.h:
37190         (WebKit::WebPage::mainWebFrame):
37191         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
37192         (-[WKAccessibilityWebPageObject accessibilityHitTest:]):
37193
37194 2011-09-25  Mark Hahnenberg  <mhahnenberg@apple.com>
37195
37196         Add custom vtable struct to ClassInfo struct
37197         https://bugs.webkit.org/show_bug.cgi?id=68567
37198
37199         Reviewed by Oliver Hunt.
37200
37201         Added CREATE_METHOD_TABLE macro to generate the custom vtable for the 
37202         specified class in its ClassInfo.  Also added to it the first function to use 
37203         this macro, visitChildren.  This is part of the process of getting rid of all 
37204         C++ virtual methods in JSCell.  Eventually all virtual functions in JSCell 
37205         that can't easily be converted to non-virtual functions will be put into 
37206         this custom vtable structure.
37207
37208         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
37209         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
37210
37211 2011-09-25  Adam Barth  <abarth@webkit.org>
37212
37213         Finish removing PLATFORM(BREWMP) by removing associated code
37214         https://bugs.webkit.org/show_bug.cgi?id=68779
37215
37216         Reviewed by Sam Weinig.
37217
37218         * Scripts/generate-forwarding-headers.pl:
37219
37220 2011-09-25  Adam Barth  <abarth@webkit.org>
37221
37222         Remove PLATFORM(HAIKU) and associated code
37223         https://bugs.webkit.org/show_bug.cgi?id=68774
37224
37225         Reviewed by Sam Weinig.
37226
37227         * Scripts/generate-forwarding-headers.pl:
37228
37229 2011-09-24  Adam Barth  <abarth@webkit.org>
37230
37231         Always enable ENABLE(OFFLINE_WEB_APPLICATIONS)
37232         https://bugs.webkit.org/show_bug.cgi?id=68767
37233
37234         Reviewed by Eric Seidel.
37235
37236         * Configurations/FeatureDefines.xcconfig:
37237         * UIProcess/qt/WebContextQt.cpp:
37238         (WebKit::WebContext::applicationCacheDirectory):
37239         * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
37240         (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
37241         (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
37242         (WebKit::WebApplicationCacheManager::deleteAllEntries):
37243         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
37244         (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
37245         * WebProcess/WebCoreSupport/WebChromeClient.h:
37246         * WebProcess/WebProcess.cpp:
37247         (WebKit::WebProcess::initializeWebProcess):
37248         (WebKit::WebProcess::clearApplicationCache):
37249         * WebProcess/WebProcess.h:
37250
37251 2011-09-23  Adam Klein  <adamk@chromium.org>
37252
37253         Add ENABLE_MUTATION_OBSERVERS feature flag
37254         https://bugs.webkit.org/show_bug.cgi?id=68732
37255
37256         Reviewed by Ojan Vafai.
37257
37258         This flag will guard an implementation of the "Mutation Observers" proposed in
37259         http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1622.html
37260
37261         * Configurations/FeatureDefines.xcconfig:
37262
37263 2011-09-23  Varun Jain  <varunjain@google.com>
37264
37265         Refactor WebViewImpl::scrollFocusedNodeIntoRect to a better place and add tests 
37266         https://bugs.webkit.org/show_bug.cgi?id=68198
37267
37268         Reviewed by Dimitri Glazkov.
37269
37270         * win/WebKit2.def:
37271         * win/WebKit2CFLite.def:
37272
37273 2011-09-23  Chang Shu  <cshu@webkit.org>
37274
37275         [WK2] [Qt] Implement MouseDown/MouseUp/MouseMoveTo functions for WebKit2 EventSender
37276         https://bugs.webkit.org/show_bug.cgi?id=68556
37277
37278         Implement the MouseDown/MouseUp/MouseMoveTo functions on Qt platform.
37279
37280         Reviewed by Darin Adler.
37281
37282         * Shared/API/c/WKGeometry.h:
37283         (operator==):
37284         * WebProcess/WebPage/WebPage.cpp:
37285         (WebKit::WebPage::mouseEventSyncForTesting): initialize "handled"
37286
37287 2011-09-23  Anders Carlsson  <andersca@apple.com>
37288
37289         Move WebHitTestResult files to Shared/ in the Xcode project
37290         https://bugs.webkit.org/show_bug.cgi?id=68718
37291
37292         Reviewed by Sam Weinig.
37293
37294         * WebKit2.xcodeproj/project.pbxproj:
37295
37296 2011-09-23  Anders Carlsson  <andersca@apple.com>
37297
37298         Add OVERRIDE to overrides of virtual member functions in client classes
37299         https://bugs.webkit.org/show_bug.cgi?id=68702
37300
37301         Reviewed by Darin Adler.
37302
37303         Disable the warning in Xcode and VS2005 for using override and final when compiling as C++98,
37304         and remove WebEditorClient::isEditable, WebChromeClient::formDidFocus,
37305         WebChromeClient::formDidBlur and WebFrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest since
37306         they have been removed from their respective base classes.
37307         
37308         * Configurations/Base.xcconfig:
37309         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
37310         * WebProcess/WebCoreSupport/WebChromeClient.h:
37311         * WebProcess/WebCoreSupport/WebContextMenuClient.h:
37312         * WebProcess/WebCoreSupport/WebDatabaseManager.h:
37313         * WebProcess/WebCoreSupport/WebDragClient.h:
37314         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
37315         * WebProcess/WebCoreSupport/WebEditorClient.h:
37316         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
37317         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
37318         * WebProcess/WebCoreSupport/WebGeolocationClient.h:
37319         * WebProcess/WebCoreSupport/WebInspectorClient.h:
37320         * WebProcess/WebCoreSupport/WebInspectorFrontendClient.h:
37321         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
37322         * WebProcess/WebCoreSupport/WebPopupMenu.h:
37323         * WebProcess/WebCoreSupport/WebSearchPopupMenu.h:
37324         * win/WebKit2Common.vsprops:
37325
37326 2011-09-23  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
37327
37328         [Qt][WK2] QtFileDownloader ctor shouldn't call QtFileDownloader::onReadyRead()
37329         https://bugs.webkit.org/show_bug.cgi?id=68696
37330
37331         Reviewed by Andreas Kling.
37332
37333         Instead of connecting signals and calling QtFileDownloader::onReadyRead()
37334         on its constructor, QtFileDownloader will now handle this in start().
37335
37336         * WebProcess/Downloads/qt/DownloadQt.cpp:
37337         (WebKit::Download::start):
37338         * WebProcess/Downloads/qt/QtFileDownloader.cpp:
37339         (WebKit::QtFileDownloader::QtFileDownloader):
37340         (WebKit::QtFileDownloader::start):
37341         * WebProcess/Downloads/qt/QtFileDownloader.h:
37342
37343 2011-09-22  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
37344
37345         [Qt] TouchWebView load test not running
37346         https://bugs.webkit.org/show_bug.cgi?id=68620
37347
37348         Reviewed by Chang Shu.
37349
37350         Load test was not executed since it was missing in pro file. Added tst_load.qml to qmltests.pro
37351
37352         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
37353
37354 2011-09-22  Dean Jackson  <dino@apple.com>
37355
37356         Add ENABLE_CSS_FILTERS
37357         https://bugs.webkit.org/show_bug.cgi?id=68652
37358
37359         Reviewed by Simon Fraser.
37360
37361         * Configurations/FeatureDefines.xcconfig:
37362
37363 2011-09-22  Simon Fraser  <simon.fraser@apple.com>
37364
37365         Add APIObjects for Size, Point, Rect
37366         https://bugs.webkit.org/show_bug.cgi?id=68644
37367
37368         Reviewed by Sam Weinig.
37369         
37370         Make APIObjects for size, point and rect so that they can be
37371         used in WKArrayRefs.
37372         
37373         Make some inline helper methods to create WKSize, WKPoint and WKRect
37374         types.
37375
37376         * GNUmakefile.am:
37377         * Shared/API/c/WKBase.h:
37378         * Shared/API/c/WKGeometry.cpp: Copied from Source/WebKit2/Shared/API/c/WKGeometry.h.
37379         (WKSizeGetTypeID):
37380         (WKPointGetTypeID):
37381         (WKRectGetTypeID):
37382         (WKPointCreate):
37383         (WKSizeCreate):
37384         (WKRectCreate):
37385         (WKSizeGetValue):
37386         (WKPointGetValue):
37387         (WKRectGetValue):
37388         * Shared/API/c/WKGeometry.h:
37389         (WKPoint::WKPointMake):
37390         (WKPoint::WKSizeMake):
37391         (WKPoint::WKRectMake):
37392         * Shared/API/c/WKSharedAPICast.h:
37393         * Shared/APIObject.h:
37394         * Shared/UserMessageCoders.h:
37395         (WebKit::UserMessageEncoder::baseEncode):
37396         (WebKit::UserMessageDecoder::baseDecode):
37397         * Shared/WebGeometry.h: Added.
37398         (WebKit::WebSize::create):
37399         (WebKit::WebSize::size):
37400         (WebKit::WebSize::WebSize):
37401         (WebKit::WebSize::type):
37402         (WebKit::WebPoint::create):
37403         (WebKit::WebPoint::point):
37404         (WebKit::WebPoint::WebPoint):
37405         (WebKit::WebPoint::type):
37406         (WebKit::WebRect::create):
37407         (WebKit::WebRect::rect):
37408         (WebKit::WebRect::WebRect):
37409         (WebKit::WebRect::type):
37410         * WebKit2.pro:
37411         * WebKit2.xcodeproj/project.pbxproj:
37412         * WebKit2API.pri:
37413         * win/WebKit2.vcproj:
37414
37415 2011-09-22  Alexey Proskuryakov  <ap@apple.com>
37416
37417         [WK2] UIProcess should check that WebProcess isn't sending unexpected file: URLs to it
37418         https://bugs.webkit.org/show_bug.cgi?id=68573
37419
37420         Reviewed by Anders Carlsson.
37421
37422         Re-landing with a slightly less aggressive check.
37423
37424         * UIProcess/API/mac/WKView.mm:
37425         (maybeCreateSandboxExtensionFromPasteboard): Return a boolean, telling the caller whether
37426         an extension actually needed to be created
37427         (-[WKView performDragOperation:]): Tell process proxy when the process is going to get
37428         universal file read sandbox extension.
37429
37430         * UIProcess/WebContext.cpp:
37431         (WebKit::WebContext::didPerformClientRedirect): Check the URLs.
37432         (WebKit::WebContext::didPerformServerRedirect): Ditto.
37433         (WebKit::WebContext::didUpdateHistoryTitle): Ditto.
37434         (WebKit::WebContext::getPluginPath): Ditto. Also, properly parse the URL - we can never
37435         assume that a string coming from WebProcess is a ParsedURLString.
37436
37437         * UIProcess/WebPageProxy.cpp:
37438         (WebKit::WebPageProxy::reattachToWebProcessWithItem): Tell process proxy when the process
37439         is going to get universal file read sandbox extension.
37440         (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle): Changed to return a boolean,
37441         telling the caller whether an extension actually needed to be created.
37442         (WebKit::WebPageProxy::loadURL): Tell process proxy about extension.
37443         (WebKit::WebPageProxy::loadURLRequest): Ditto.
37444         (WebKit::WebPageProxy::loadHTMLString): Tell process proxy if a file URL was used as a base
37445         one for a string. In this case, WebKit2 assumes that WebProcess has access to a subdirectory,
37446         (typically, one where error page resources live), and can load from it.
37447         (WebKit::WebPageProxy::loadAlternateHTMLString): Ditto.
37448         (WebKit::WebPageProxy::goForward): Tell process proxy about extension.
37449         (WebKit::WebPageProxy::goBack): Tell process proxy about extension.
37450         (WebKit::WebPageProxy::goToBackForwardItem): Tell process proxy about extension.
37451         (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): Check the URL.
37452         (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): Ditto.
37453         (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): Ditto.
37454         (WebKit::WebPageProxy::decidePolicyForNavigationAction): Ditto.
37455         (WebKit::WebPageProxy::decidePolicyForNewWindowAction): Ditto.
37456         (WebKit::WebPageProxy::decidePolicyForResponse): Ditto.
37457         (WebKit::WebPageProxy::didInitiateLoadForResource): Ditto.
37458         (WebKit::WebPageProxy::didSendRequestForResource): Ditto.
37459         (WebKit::WebPageProxy::didReceiveResponseForResource): Ditto.
37460         (WebKit::WebPageProxy::missingPluginButtonClicked): Ditto.
37461
37462         * UIProcess/WebPageProxy.h: Changed initializeSandboxExtensionHandle() to return a bool,
37463         and renamed to maybeInitializeSandboxExtensionHandle (matching WKView counterpart).
37464
37465         * UIProcess/WebProcessProxy.cpp:
37466         (WebKit::WebProcessProxy::WebProcessProxy): Initialize m_mayHaveUniversalFileReadSandboxExtension.
37467         It's going to be true if we ever granted an extension for "/".
37468         (WebKit::WebProcessProxy::willLoadHTMLStringWithBaseURL): Remember the path, we should expect
37469         that WebProcess will load subresources from it.
37470         (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess): Check that it's reasonable to expect
37471         WebProcess send us a URL like this.
37472         (WebKit::WebProcessProxy::addBackForwardItem): Check the URLs.
37473
37474         * UIProcess/WebProcessProxy.h: Added data members remembering what to expect from this process.
37475
37476         * UIProcess/cf/WebPageProxyCF.cpp: (WebKit::WebPageProxy::restoreFromSessionStateData):
37477         Tell process proxy when the process is going to get universal file read sandbox extension.
37478
37479 2011-09-22  Alpha Lam  <hclam@chromium.org>
37480
37481         https://bugs.webkit.org/show_bug.cgi?id=68081
37482         Fix scroll in page scaling mode.
37483
37484         Reviewed by Simon Fraser.
37485
37486         * WebProcess/Plugins/PluginView.cpp: Rename pageScaleFactor to frameScaleFactor.
37487         (WebKit::PluginView::handleEvent):
37488         (WebKit::PluginView::viewGeometryDidChange):
37489         (WebKit::PluginView::clipRectInWindowCoordinates):
37490
37491 2011-09-22  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
37492
37493         [Qt] Redirection overflow errors have wrong error domain
37494         https://bugs.webkit.org/show_bug.cgi?id=68612
37495
37496         Reviewed by Andreas Kling.
37497
37498         Redirection overflow currently puts the URL hostname in the errorDomain field
37499         and therefore are treated as a QWebError::EngineError. From now on they
37500         will be treated as QWebError::HttpError, since their error domain was modified
37501         to "HTTP" in QNetworkReplyHandler::redirect().
37502
37503         * UIProcess/API/qt/qweberror.cpp:
37504         (QWebError::type):
37505
37506 2011-09-22  Csaba Osztrogonác  <ossy@webkit.org>
37507
37508         REGRESSION(r95679): It broke everything.
37509         https://bugs.webkit.org/show_bug.cgi?id=68611
37510
37511         Unreviewed rolling out r95679 and r95690, because it broke everything.
37512
37513         * UIProcess/API/mac/WKView.mm:
37514         (maybeCreateSandboxExtensionFromPasteboard):
37515         (-[WKView performDragOperation:]):
37516         * UIProcess/WebContext.cpp:
37517         (WebKit::WebContext::didPerformClientRedirect):
37518         (WebKit::WebContext::didPerformServerRedirect):
37519         (WebKit::WebContext::didUpdateHistoryTitle):
37520         (WebKit::WebContext::getPluginPath):
37521         * UIProcess/WebPageProxy.cpp:
37522         (WebKit::WebPageProxy::reattachToWebProcessWithItem):
37523         (WebKit::WebPageProxy::initializeSandboxExtensionHandle):
37524         (WebKit::WebPageProxy::loadURL):
37525         (WebKit::WebPageProxy::loadURLRequest):
37526         (WebKit::WebPageProxy::loadHTMLString):
37527         (WebKit::WebPageProxy::loadAlternateHTMLString):
37528         (WebKit::WebPageProxy::goForward):
37529         (WebKit::WebPageProxy::goBack):
37530         (WebKit::WebPageProxy::goToBackForwardItem):
37531         (WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
37532         (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
37533         (WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
37534         (WebKit::WebPageProxy::decidePolicyForNavigationAction):
37535         (WebKit::WebPageProxy::decidePolicyForNewWindowAction):
37536         (WebKit::WebPageProxy::decidePolicyForResponse):
37537         (WebKit::WebPageProxy::didInitiateLoadForResource):
37538         (WebKit::WebPageProxy::didSendRequestForResource):
37539         (WebKit::WebPageProxy::didReceiveResponseForResource):
37540         (WebKit::WebPageProxy::missingPluginButtonClicked):
37541         * UIProcess/WebPageProxy.h:
37542         * UIProcess/WebProcessProxy.cpp:
37543         (WebKit::WebProcessProxy::WebProcessProxy):
37544         (WebKit::WebProcessProxy::addBackForwardItem):
37545         * UIProcess/WebProcessProxy.h:
37546         * UIProcess/cf/WebPageProxyCF.cpp:
37547         (WebKit::WebPageProxy::restoreFromSessionStateData):
37548
37549 2011-09-21  Alexey Proskuryakov  <ap@apple.com>
37550
37551         [WK2] UIProcess should check that WebProcess isn't sending unexpected file: URLs to it
37552         https://bugs.webkit.org/show_bug.cgi?id=68573
37553
37554         Unreviewed follow-up fix.
37555
37556         * UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
37557         Just like we allow null URLs, also allow empty strings.
37558
37559 2011-09-21  Julien Chaffraix  <jchaffraix@webkit.org>
37560
37561         Crash in RenderBox::paintMaskImages when GraphicsContext's painting is disabled
37562         https://bugs.webkit.org/show_bug.cgi?id=68133
37563
37564         Reviewed by Darin Adler.
37565
37566         * win/WebKit2.def:
37567         * win/WebKit2CFLite.def:
37568         Exported the new FrameView::paintControlTints function.
37569
37570 2011-09-21  Alexey Proskuryakov  <ap@apple.com>
37571
37572         [WK2] UIProcess should check that WebProcess isn't sending unexpected file: URLs to it
37573         https://bugs.webkit.org/show_bug.cgi?id=68573
37574
37575         Reviewed by Anders Carlsson.
37576
37577         * UIProcess/API/mac/WKView.mm:
37578         (maybeCreateSandboxExtensionFromPasteboard): Return a boolean, telling the caller whether
37579         an extension actually needed to be created
37580         (-[WKView performDragOperation:]): Tell process proxy when the process is going to get
37581         universal file read sandbox extension.
37582
37583         * UIProcess/WebContext.cpp:
37584         (WebKit::WebContext::didPerformClientRedirect): Check the URLs.
37585         (WebKit::WebContext::didPerformServerRedirect): Ditto.
37586         (WebKit::WebContext::didUpdateHistoryTitle): Ditto.
37587         (WebKit::WebContext::getPluginPath): Ditto. Also, properly parse the URL - we can never
37588         assume that a string coming from WebProcess is a ParsedURLString.
37589
37590         * UIProcess/WebPageProxy.cpp:
37591         (WebKit::WebPageProxy::reattachToWebProcessWithItem): Tell process proxy when the process
37592         is going to get universal file read sandbox extension.
37593         (WebKit::WebPageProxy::maybeInitializeSandboxExtensionHandle): Changed to return a boolean,
37594         telling the caller whether an extension actually needed to be created.
37595         (WebKit::WebPageProxy::loadURL): Tell process proxy about extension.
37596         (WebKit::WebPageProxy::loadURLRequest): Ditto.
37597         (WebKit::WebPageProxy::loadHTMLString): Tell process proxy if a file URL was used as a base
37598         one for a string. In this case, WebKit2 assumes that WebProcess has access to a subdirectory,
37599         (typically, one where error page resources live), and can load from it.
37600         (WebKit::WebPageProxy::loadAlternateHTMLString): Ditto.
37601         (WebKit::WebPageProxy::goForward): Tell process proxy about extension.
37602         (WebKit::WebPageProxy::goBack): Tell process proxy about extension.
37603         (WebKit::WebPageProxy::goToBackForwardItem): Tell process proxy about extension.
37604         (WebKit::WebPageProxy::didStartProvisionalLoadForFrame): Check the URL.
37605         (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame): Ditto.
37606         (WebKit::WebPageProxy::didSameDocumentNavigationForFrame): Ditto.
37607         (WebKit::WebPageProxy::decidePolicyForNavigationAction): Ditto.
37608         (WebKit::WebPageProxy::decidePolicyForNewWindowAction): Ditto.
37609         (WebKit::WebPageProxy::decidePolicyForResponse): Ditto.
37610         (WebKit::WebPageProxy::didInitiateLoadForResource): Ditto.
37611         (WebKit::WebPageProxy::didSendRequestForResource): Ditto.
37612         (WebKit::WebPageProxy::didReceiveResponseForResource): Ditto.
37613         (WebKit::WebPageProxy::missingPluginButtonClicked): Ditto.
37614
37615         * UIProcess/WebPageProxy.h: Changed initializeSandboxExtensionHandle() to return a bool,
37616         and renamed to maybeInitializeSandboxExtensionHandle (matching WKView counterpart).
37617
37618         * UIProcess/WebProcessProxy.cpp:
37619         (WebKit::WebProcessProxy::WebProcessProxy): Initialize m_mayHaveUniversalFileReadSandboxExtension.
37620         It's going to be true if we ever granted an extension for "/".
37621         (WebKit::WebProcessProxy::willLoadHTMLStringWithBaseURL): Remember the path, we should expect
37622         that WebProcess will load subresources from it.
37623         (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess): Check that it's reasonable to expect
37624         WebProcess send us a URL like this.
37625         (WebKit::WebProcessProxy::addBackForwardItem): Check the URLs.
37626
37627         * UIProcess/WebProcessProxy.h: Added data members remembering what to expect from this process.
37628
37629         * UIProcess/cf/WebPageProxyCF.cpp: (WebKit::WebPageProxy::restoreFromSessionStateData):
37630         Tell process proxy when the process is going to get universal file read sandbox extension.
37631
37632 2011-09-19  Jer Noble  <jer.noble@apple.com>
37633
37634         Add settings to control the availability of the Web Audio API to WebKit and WebKit2.
37635         https://bugs.webkit.org/show_bug.cgi?id=68382
37636
37637         Add support for the webAudioEnabled preference in WebKit2.
37638
37639         Reviewed by Darin Adler.
37640
37641         * Shared/WebPreferencesStore.h: Add WebAudioEnabled getter and setter macro.
37642         * UIProcess/API/C/WKPreferences.cpp:
37643         (WKPreferencesSetWebAudioEnabled): Added.
37644         (WKPreferencesGetWebAudioEnabled): Added.
37645         * UIProcess/API/C/WKPreferences.h:
37646         * WebProcess/WebPage/WebPage.cpp:
37647         (WebKit::WebPage::updatePreferences): Update the webAudioEnabled preference.
37648
37649 2011-09-21  Dan Bernstein  <mitz@apple.com>
37650
37651         Use the prefix "WK" instead of "Web" for Objective-C classes defined in WebKit2.
37652
37653         Reviewed by Anders Carlsson.
37654
37655         Renamed WebInspectorProxyObjCAdapter to WKWebInspectorProxyObjCAdapter.
37656         Renamed WebInspectorWKView to WKWebInspectorWKView.
37657         Renamed WebFindIndicatorWindowAnimation to WKFindIndicatorWindowAnimation.
37658         Renamed WebFindIndicatorView to WKFindIndicatorView.
37659         Renamed WebUserDataWrapper to WKUserDataWrapper.
37660
37661         Updated the build phase checking for inappropriate Objective-C class names to disallow the prefix
37662         "Web" and only allow "WK".
37663
37664         * UIProcess/API/mac/FindIndicatorWindow.h:
37665         * UIProcess/API/mac/FindIndicatorWindow.mm:
37666         (WebKit::FindIndicatorWindow::setFindIndicator):
37667         (WebKit::FindIndicatorWindow::startFadeOutTimerFired):
37668         * UIProcess/WebInspectorProxy.h:
37669         * UIProcess/mac/WebContextMenuProxyMac.mm:
37670         (-[WKMenuTarget forwardContextMenuAction:]):
37671         (WebKit::nsMenuItemVector):
37672         * UIProcess/mac/WebInspectorProxyMac.mm:
37673         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
37674         (WebKit::WebInspectorProxy::platformOpen):
37675         * WebKit2.xcodeproj/project.pbxproj:
37676         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
37677         (WebKit::WebFullScreenManagerMac::WebFullScreenManagerMac):
37678
37679 2011-09-21  Chang Shu  <cshu@webkit.org>
37680
37681         [WK2] [Mac] Implement a more-complete MouseDown/MouseUp/MouseMoveTo functions for WebKit2 EventSender
37682         https://bugs.webkit.org/show_bug.cgi?id=68108
37683
37684         This patch implements the event sender mouse events through WebKit2 UIProcess which is
37685         closer to the real simulation than a WebProcess-only approach. The patch only supports Mac
37686         platform as the first step so the existing code is still kept for other platforms.
37687
37688         Reviewed by Darin Adler.
37689
37690         * UIProcess/API/C/WKPage.cpp:
37691         (WKPageSetShouldSendEventsSynchronously):
37692         * UIProcess/API/C/WKPagePrivate.h:
37693         * UIProcess/WebPageProxy.cpp:
37694         (WebKit::WebPageProxy::WebPageProxy):
37695         (WebKit::WebPageProxy::handleMouseEvent):
37696         (WebKit::WebPageProxy::handleKeyboardEvent):
37697         * UIProcess/WebPageProxy.h:
37698         (WebKit::WebPageProxy::setShouldSendEventsSynchronously):
37699         * WebProcess/WebPage/WebPage.cpp:
37700         (WebKit::WebPage::mouseEventSyncForTesting):
37701         * WebProcess/WebPage/WebPage.h:
37702         * WebProcess/WebPage/WebPage.messages.in:
37703
37704 2011-09-21  Dan Bernstein  <mitz@apple.com>
37705
37706         WebKit2 part of: Prevent the WebKit frameworks from defining inappropriately-named Objective-C classes
37707         https://bugs.webkit.org/show_bug.cgi?id=68451
37708
37709         Reviewed by Darin Adler.
37710
37711         * WebKit2.xcodeproj/project.pbxproj: Added a script build phase that invokes
37712         check-for-inappropriate-objc-class-names, allowing only class names prefixed with "WK" or "Web".
37713
37714 2011-09-21  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
37715
37716         [Qt][WK2] Implement Download support in WebProcess
37717         https://bugs.webkit.org/show_bug.cgi?id=68153
37718
37719         Reviewed by Andreas Kling.
37720
37721         We implement the necessary functions of Download.h, and our QtFileDownloader
37722         to handle all network communication and call the necessary functions of Download.
37723
37724         We use the download policy for any MIME type not supported by WebKit. This
37725         behaves like Qt non-WebKit2 except that we don't force download when
37726         we encounter Content-Disposition: attachment. We still use the "filename="
37727         field for file name suggestion though.
37728
37729         Based on original patches by: Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>,
37730         Jocelyn Turcotte <jocelyn.turcotte@nokia.com>, Simon Hausmann <simon.hausmann@nokia.com>
37731         and Zalan Bujtas <zalan.bujtas@nokia.com>.
37732
37733         * UIProcess/API/qt/qweberror.cpp: Adding DownloadError
37734         (QWebError::type):
37735         * UIProcess/API/qt/qweberror.h: Adding DownloadError
37736         * WebKit2.pro:
37737         * WebProcess/Downloads/Download.cpp: Adding QtFileDownloader, Qt platform specific
37738         (WebKit::Download::Download):
37739         * WebProcess/Downloads/Download.h: Adding QtFileDownloader, Qt platform specific
37740         * WebProcess/Downloads/qt/DownloadQt.cpp:
37741         (WebKit::Download::start):
37742         (WebKit::Download::startWithHandle):
37743         (WebKit::Download::cancel):
37744         (WebKit::Download::platformInvalidate):
37745         (WebKit::Download::didDecideDestination):
37746         * WebProcess/Downloads/qt/QtFileDownloader.cpp: Added.
37747         (WebKit::QtFileDownloader::QtFileDownloader):
37748         (WebKit::QtFileDownloader::~QtFileDownloader):
37749         (WebKit::QtFileDownloader::determineFilename):
37750         (WebKit::QtFileDownloader::decidedDestination):
37751         (WebKit::QtFileDownloader::abortDownloadWritingAndEmitError):
37752         (WebKit::QtFileDownloader::onReadyRead):
37753         (WebKit::QtFileDownloader::onFinished):
37754         (WebKit::QtFileDownloader::onError):
37755         (WebKit::QtFileDownloader::cancel):
37756         * WebProcess/Downloads/qt/QtFileDownloader.h: Added.
37757
37758 2011-09-21  Mark Rowe  <mrowe@apple.com>
37759
37760         <rdar://problem/9890932> "Open PDF in Preview" on two PDFs of the same name does nothing the second time
37761
37762         The logic in PDFViewController::pathToPDFOnDisk that deals with constructing a unique
37763         file name if a file of the suggested name already exists was incorrect. It was appending
37764         the template used by mkstemps to the directory name component of the path rather than
37765         using it as a prefix on the filename portion of the path. This resulted in a template path
37766         like WebKitPDFs-ABCDEFXXXXXX-/foo.pdf where WebKitPDFs-ABCDEF/XXXXXX-foo.pdf was expected.
37767
37768         Reviewed by Jon Honeycutt.
37769
37770         * UIProcess/API/mac/PDFViewController.mm:
37771         (WebKit::PDFViewController::pathToPDFOnDisk): Append the template as a new path component,
37772         then append the suggested file name to that component.
37773
37774 2011-09-21  Andras Becsi  <andras.becsi@nokia.com>
37775
37776         [Qt] Remove Qt specific code from css/SelectorChecker.cpp
37777         https://bugs.webkit.org/show_bug.cgi?id=67702
37778
37779         Reviewed by Csaba Osztrogonác.
37780
37781         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Modify to match new prototype.
37782         (WebKit::WebPlatformStrategies::isLinkVisited):
37783         (WebKit::WebPlatformStrategies::addVisitedLink):
37784         * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Ditto.
37785
37786 2011-09-20  Anders Carlsson  <andersca@apple.com>
37787
37788         Get rid of PluginView::setBoundsSize from WebKit2
37789         https://bugs.webkit.org/show_bug.cgi?id=68489
37790
37791         Reviewed by Dan Bernstein.
37792
37793         Remove m_boundsSize and the setter since they aren't used anywhere.
37794
37795         * WebProcess/Plugins/PluginView.cpp:
37796         * WebProcess/Plugins/PluginView.h:
37797
37798 2011-09-20  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
37799
37800         [Qt] QTouchWebView missing signal tests for loadProgress
37801         https://bugs.webkit.org/show_bug.cgi?id=68442
37802
37803         Reviewed by Chang Shu.
37804
37805         Added test case to check load progress signal for QTouchWebView
37806
37807         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml: Added.
37808         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
37809
37810 2011-09-20  Sheriff Bot  <webkit.review.bot@gmail.com>
37811
37812         Unreviewed, rolling out r95565.
37813         http://trac.webkit.org/changeset/95565
37814         https://bugs.webkit.org/show_bug.cgi?id=68470
37815
37816         Broke builds (Requested by andersca on #webkit).
37817
37818         * GNUmakefile.am:
37819         * Shared/API/c/WKHitTestResult.cpp: Removed.
37820         * Shared/API/c/WKHitTestResult.h: Removed.
37821         * UIProcess/API/C/WebKit2.h:
37822
37823 2011-09-20  Alexis Menard  <alexis.menard@openbossa.org>
37824
37825         [Qt] [WK2] Implement a persistent cookie storage.
37826         https://bugs.webkit.org/show_bug.cgi?id=65309
37827
37828         Reviewed by Chang Shu.
37829
37830         Add parameter to the WebProcess creation to specify where cookies should be saved.
37831         It also use the new cookie storage implementation and set it to our network stack
37832         so cookies are used when using it.
37833
37834         * Shared/WebProcessCreationParameters.cpp:
37835         (WebKit::WebProcessCreationParameters::encode):
37836         (WebKit::WebProcessCreationParameters::decode):
37837         * Shared/WebProcessCreationParameters.h:
37838         * UIProcess/qt/WebContextQt.cpp:
37839         (WebKit::WebContext::platformInitializeWebProcess):
37840         * WebProcess/qt/WebProcessQt.cpp:
37841         (WebKit::WebProcess::platformInitializeWebProcess):
37842         (WebKit::WebProcess::platformTerminate):
37843
37844 2011-09-20  Nayan Kumar K  <nayankk@motorola.com>
37845
37846         Added WKHitTestResult API's.
37847
37848         WKHitTestResult API's are added. These API's can be used to
37849         get the hover'ed link/image/media URL as well as link lable and
37850         title.
37851         https://bugs.webkit.org/show_bug.cgi?id=68426
37852
37853         Reviewed by Anders Carlsson.
37854
37855         * GNUmakefile.am:
37856         * Shared/API/c/WKHitTestResult.cpp: Copied from Source/WebKit2/UIProcess/API/C/WebKit2.h.
37857         (WKHitTestResultGetTypeID):
37858         (WKHitTestResultCopyAbsoluteImageURL):
37859         (WKHitTestResultCopyAbsoluteLinkURL):
37860         (WKHitTestResultCopyAbsoluteMediaURL):
37861         (WKHitTestResultCopyLinkLabel):
37862         (WKHitTestResultCopyLinkTitle):
37863         * Shared/API/c/WKHitTestResult.h: Copied from Source/WebKit2/UIProcess/API/C/WebKit2.h.
37864         * UIProcess/API/C/WebKit2.h:
37865
37866 2011-09-20  Alexis Menard  <alexis.menard@openbossa.org>
37867
37868         [Qt][WK2] Add stubs for FULLSCREEN_API on Qt.
37869         https://bugs.webkit.org/show_bug.cgi?id=68444
37870
37871         Reviewed by Andreas Kling.
37872
37873         Create all the stubs necessary for enabling FULLSCREEN_API on the Qt port.
37874
37875         * UIProcess/qt/WebFullScreenManagerProxyQt.cpp: Added.
37876         (WebKit::WebFullScreenManagerProxy::invalidate):
37877         (WebKit::WebFullScreenManagerProxy::enterFullScreen):
37878         (WebKit::WebFullScreenManagerProxy::exitFullScreen):
37879         (WebKit::WebFullScreenManagerProxy::beganEnterFullScreenAnimation):
37880         (WebKit::WebFullScreenManagerProxy::finishedEnterFullScreenAnimation):
37881         (WebKit::WebFullScreenManagerProxy::beganExitFullScreenAnimation):
37882         (WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation):
37883         (WebKit::WebFullScreenManagerProxy::enterAcceleratedCompositingMode):
37884         (WebKit::WebFullScreenManagerProxy::exitAcceleratedCompositingMode):
37885         (WebKit::WebFullScreenManagerProxy::getFullScreenRect):
37886         * WebKit2.pro:
37887         * WebProcess/FullScreen/qt: Added.
37888         * WebProcess/FullScreen/qt/WebFullScreenManagerQt.cpp: Added.
37889         (WebKit::WebFullScreenManagerQt::WebFullScreenManagerQt):
37890         (WebKit::WebFullScreenManager::create):
37891         (WebKit::WebFullScreenManagerQt::setRootFullScreenLayer):
37892         (WebKit::WebFullScreenManagerQt::beginEnterFullScreenAnimation):
37893         (WebKit::WebFullScreenManagerQt::beginExitFullScreenAnimation):
37894         * WebProcess/FullScreen/qt/WebFullScreenManagerQt.h: Added.
37895
37896 2011-09-20  Alexis Menard  <alexis.menard@openbossa.org>
37897
37898         [Qt][WK2] Export QNetworkReply in the QtWebKit QML module.
37899         https://bugs.webkit.org/show_bug.cgi?id=68401
37900
37901         Reviewed by Simon Hausmann.
37902
37903         Add QNetworkReply in the QtWebKit module. We use the enum QNetworkReply::NetworkError
37904         as the error code when the load fails. It is not used in the QtQuick module therefore
37905         the QML team thinks it should belong here. Also added some auto-tests to cover the
37906         loading errors.
37907
37908         * UIProcess/API/qt/qmlplugin/plugin.cpp:
37909         (WebKit2QmlPlugin::registerTypes):
37910         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadFail.qml: Added.
37911         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml: Added.
37912
37913 2011-09-20  Csaba Osztrogonác  <ossy@webkit.org>
37914
37915         [Qt][Mac] Buildfix after r95513.
37916
37917         Rubber-stamped by Andras Becsi.
37918
37919         * Scripts/generate-forwarding-headers.pl: Add mm file supporting.
37920
37921 2011-09-20  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
37922
37923         [Qt] QDesktopWebView missing loadProgress tests
37924         https://bugs.webkit.org/show_bug.cgi?id=68280
37925
37926         Reviewed by Andreas Kling.
37927
37928         Added test case to check load progress property and signal for QDesktopWebView
37929
37930         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgress.qml: Added.
37931         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgressSignal.qml: Added.
37932         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
37933
37934 2011-09-20  Carlos Garcia Campos  <cgarcia@igalia.com>
37935
37936         [GTK] WebProcess shouldn't use the GTK+ API
37937         https://bugs.webkit.org/show_bug.cgi?id=68062
37938
37939         Reviewed by Martin Robinson.
37940
37941         Use WebCore API to create errors in WebProcess.
37942
37943         * GNUmakefile.am: Don't use webkit/webkierror.h.
37944         * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
37945         (WebKit::cancelledError):
37946         (WebKit::blockedError):
37947         (WebKit::cannotShowURLError):
37948         (WebKit::interruptedForPolicyChangeError):
37949         (WebKit::cannotShowMIMETypeError):
37950         (WebKit::fileDoesNotExistError):
37951         (WebKit::pluginWillHandleLoadError):
37952
37953 2011-09-19  Mark Rowe  <mrowe@apple.com>
37954
37955         <http://webkit.org/b/68421> Stop calling UpdateSystemActivity in places where we hold power assertions that achieve the same effect
37956
37957         On SnowLeopard and newer it's not necessary to call UpdateSystemActivity to prevent the screensaver from kicking
37958         in as the NoDisplaySleep assertion now has that effect. It's also not necessary to hold both a NoDisplaySleep and
37959         a NoIdleSleep assertion as the latter is implied by the former.
37960
37961         Adopt the DisplaySleepDisabler class that was added to WebCore and remove all of duplicated logic from WKFullScreenWindowController.
37962
37963         Reviewed by Dan Bernstein.
37964
37965         * UIProcess/mac/WKFullScreenWindowController.h:
37966         * UIProcess/mac/WKFullScreenWindowController.mm:
37967         (-[WKFullScreenWindowController _updatePowerAssertions]): Create a DisplaySleepDisabler instance when transitioning from permitting
37968         display sleep to disabling display sleep. Clear out our reference when sleep should be permitted, destroying any
37969         disabler that we own. Also adds a FIXME about an error that was noticed while working in this code.
37970
37971 2011-09-19  Adam Barth  <abarth@webkit.org>
37972
37973         Always enable ENABLE(EVENTSOURCE)
37974         https://bugs.webkit.org/show_bug.cgi?id=68414
37975
37976         Reviewed by Eric Seidel.
37977
37978         * Configurations/FeatureDefines.xcconfig:
37979
37980 2011-09-19  Alexis Menard  <alexis.menard@openbossa.org>
37981
37982         [Qt] Unreviewed coding style fix.
37983
37984         * UIProcess/API/qt/qdesktopwebview.h:
37985         * UIProcess/API/qt/qtouchwebpage.h:
37986         * UIProcess/API/qt/qweberror.h:
37987
37988 2011-09-19  Alexis Menard  <alexis.menard@openbossa.org>
37989
37990         [Qt][WK2] Make loading errors API easier to use.
37991         https://bugs.webkit.org/show_bug.cgi?id=68357
37992
37993         Reviewed by Tor Arne Vestbø.
37994
37995         Make the API to get loading errors easier to use. 95197 introduced
37996         a QJSValue API that is a bit opaque for the client code. Rather than
37997         using a dedicated object, we can just pass the needed information as
37998         parameters of the slot.
37999
38000         * UIProcess/API/qt/qdesktopwebview.cpp:
38001         (QDesktopWebViewPrivate::loadDidFail):
38002         * UIProcess/API/qt/qdesktopwebview.h:
38003         * UIProcess/API/qt/qdesktopwebview_p.h:
38004         * UIProcess/API/qt/qtouchwebpage.h:
38005         * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
38006         (tst_CommonViewTests::loadNonexistentFileUrl):
38007         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
38008         (WebViewAbstraction::WebViewAbstraction):
38009         (WebViewAbstraction::touchViewLoadFailed):
38010         (WebViewAbstraction::desktopViewLoadFailed):
38011         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
38012         * UIProcess/qt/QtWebPageProxy.cpp:
38013         (QtWebPageProxy::loadDidFail):
38014         * UIProcess/qt/TouchViewInterface.cpp:
38015         (WebKit::TouchViewInterface::loadDidFail):
38016         * UIProcess/qt/TouchViewInterface.h:
38017         * UIProcess/qt/ViewInterface.h:
38018
38019 2011-09-19  Dan Bernstein  <mitz@apple.com>
38020
38021         WebKit2 part of [mac] WebKit contains Objective-C classes that are not prefixed with its standard prefixes
38022         https://bugs.webkit.org/show_bug.cgi?id=68323
38023
38024         Reviewed by Sam Weinig.
38025
38026         Renamed FullKeyboardAccessWatcher to WKFullKeyboardAccessWatcher.
38027         Renamed AccessibilityWebPageObject to WKAccessibilityWebPageObject.
38028
38029         * WebKit2.xcodeproj/project.pbxproj:
38030         * WebProcess/WebPage/WebPage.h:
38031         * WebProcess/WebPage/mac/AccessibilityWebPageObject.h: Removed.
38032         * WebProcess/WebPage/mac/AccessibilityWebPageObject.mm: Removed.
38033         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.h: Copied from Source/WebKit2/WebProcess/WebPage/mac/AccessibilityWebPageObject.h.
38034         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm: Copied from Source/WebKit2/WebProcess/WebPage/mac/AccessibilityWebPageObject.mm.
38035         * WebProcess/WebPage/mac/WebPageMac.mm:
38036         (WebKit::WebPage::platformInitialize):
38037         (WebKit::WebPage::accessibilityRemoteObject):
38038         * WebProcess/mac/FullKeyboardAccessWatcher.h: Removed.
38039         * WebProcess/mac/FullKeyboardAccessWatcher.mm: Removed.
38040         * WebProcess/mac/WKFullKeyboardAccessWatcher.h: Copied from Source/WebKit2/WebProcess/mac/FullKeyboardAccessWatcher.h.
38041         * WebProcess/mac/WKFullKeyboardAccessWatcher.mm: Copied from Source/WebKit2/WebProcess/mac/FullKeyboardAccessWatcher.mm.
38042         (+[WKFullKeyboardAccessWatcher fullKeyboardAccessEnabled]):
38043         * WebProcess/mac/WebProcessMac.mm:
38044         (WebKit::WebProcess::fullKeyboardAccessEnabled):
38045
38046 2011-09-14  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
38047
38048         [Qt] [WK2] Implement popup menus in QDesktopWebView using QComboBox
38049         https://bugs.webkit.org/show_bug.cgi?id=67938
38050
38051         Reviewed by Andreas Kling.
38052
38053         Implement a WebPopupMenuProxy that uses QtWebComboBox (a QComboBox subclass we
38054         have for WK1). Then use this WebPopupMenuProxy in QDesktopWebView. The implementation
38055         explicitly avoids running a nested mainloop.
38056
38057         * UIProcess/WebPageProxy.cpp:
38058         (WebKit::WebPageProxy::showPopupMenu):
38059         Since we don't run a nested mainloop, we need to keep the client pointer to call
38060         valueChangedForPopupMenu().
38061
38062         * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp: Added.
38063         (WebKit::WebPopupMenuProxyQtDesktop::WebPopupMenuProxyQtDesktop):
38064         (WebKit::WebPopupMenuProxyQtDesktop::~WebPopupMenuProxyQtDesktop):
38065         (WebKit::WebPopupMenuProxyQtDesktop::showPopupMenu):
38066         (WebKit::WebPopupMenuProxyQtDesktop::hidePopupMenu):
38067         (WebKit::WebPopupMenuProxyQtDesktop::setSelectedIndex):
38068         (WebKit::WebPopupMenuProxyQtDesktop::onPopupMenuHidden):
38069         (WebKit::WebPopupMenuProxyQtDesktop::populate):
38070         * UIProcess/qt/WebPopupMenuProxyQtDesktop.h: Added.
38071         (WebKit::WebPopupMenuProxyQtDesktop::create):
38072         * UIProcess/qt/qdesktopwebpageproxy.cpp:
38073         (QDesktopWebPageProxy::createPopupMenuProxy):
38074         * UIProcess/qt/qdesktopwebpageproxy.h:
38075         * WebKit2.pro:
38076
38077 2011-09-19  Carlos Garcia Campos  <cgarcia@igalia.com>
38078
38079         [GTK] Fix distcheck build
38080         https://bugs.webkit.org/show_bug.cgi?id=68241
38081
38082         Reviewed by Martin Robinson.
38083
38084         * GNUmakefile.am:
38085
38086 2011-09-17  Mihai Parparita  <mihaip@chromium.org>
38087
38088         FrameLoaderClient BackForwardList-related methods are unsued
38089         https://bugs.webkit.org/show_bug.cgi?id=68293
38090
38091         Reviewed by Darin Adler.
38092
38093         Remove FrameLoaderClient methods that were added by r51629, since only        
38094         the old (since-deleted) Android port needed them.
38095
38096         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
38097         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
38098
38099 2011-09-16  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
38100         [Qt] QTouchWebView missing loadProgress tests
38101         https://bugs.webkit.org/show_bug.cgi?id=68183
38102
38103         Reviewed by Chang Shu.
38104
38105         Added test case to check load progress for QTouchWebView
38106
38107         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml: Added.
38108         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
38109
38110 2011-09-16  Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
38111
38112         Removed unwanted NotImplemented.h inclusion in WebKit2 GTK port & platform independent files
38113         https://bugs.webkit.org/show_bug.cgi?id=68249
38114
38115         Reviewed by Martin Robinson.
38116
38117         * Shared/Plugins/NPIdentifierData.cpp: Removed NotImplemented.h inclusion.
38118         * Shared/Plugins/NPRemoteObjectMap.cpp: Removed NotImplemented.h inclusion.
38119         * Shared/Plugins/NPVariantData.cpp: Removed NotImplemented.h inclusion.
38120         * UIProcess/gtk/WebContextGtk.cpp: Removed NotImplemented.h inclusion.
38121         * WebProcess/Cookies/WebCookieManager.cpp: Removed NotImplemented.h inclusion.
38122         * WebProcess/KeyValueStorage/WebKeyValueStorageManager.cpp: Removed NotImplemented.h inclusion.
38123         * WebProcess/Plugins/Netscape/JSNPMethod.cpp: Removed NotImplemented.h inclusion.
38124         * WebProcess/Plugins/Netscape/NPJSObject.cpp: Removed NotImplemented.h inclusion.
38125         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp: Removed NotImplemented.h inclusion.
38126         * WebProcess/WebCoreSupport/WebInspectorClient.cpp: Removed NotImplemented.h inclusion.
38127
38128 2011-09-16  Simon Fraser  <simon.fraser@apple.com>
38129
38130         Make custom scrollbar theme for use in DRT, to reduce pixel diffs between platforms
38131         https://bugs.webkit.org/show_bug.cgi?id=68134
38132
38133         Reviewed by Sam Weinig.
38134
38135         Hook up a private preference that enables the mock scrollbar theme.
38136
38137         * Shared/WebPreferencesStore.h:
38138         * UIProcess/API/C/WKPreferences.cpp:
38139         (WKPreferencesSetMockScrollbarsEnabled):
38140         (WKPreferencesGetMockScrollbarsEnabled):
38141         * UIProcess/API/C/WKPreferencesPrivate.h:
38142         * WebProcess/WebPage/WebPage.cpp:
38143         (WebKit::WebPage::updatePreferences):
38144
38145 2011-09-16  Mark Rowe  <mrowe@apple.com>
38146
38147         Stop installing source and header files in to WebKit2.framework after r95303.
38148
38149         * WebKit2.xcodeproj/project.pbxproj:
38150
38151 2011-09-16  Anders Carlsson  <andersca@apple.com>
38152
38153         Add back the WKHitTestResultRef parameter to mouseDidMoveOverElement in an ABI preserving way
38154         https://bugs.webkit.org/show_bug.cgi?id=68269
38155
38156         Reviewed by Geoffrey Garen.
38157
38158         Add back WKPageMouseDidMoveOverElementCallback last and deprecate the current callback.
38159
38160         * UIProcess/API/C/WKPage.h:
38161         * UIProcess/WebUIClient.cpp:
38162         (WebKit::WebUIClient::mouseDidMoveOverElement):
38163
38164 2011-09-16  Alexey Proskuryakov  <ap@apple.com>
38165
38166         Give local builds of WebProcess different icon to distinguish them from built-in Safari’s WebProcess
38167         https://bugs.webkit.org/show_bug.cgi?id=68268
38168
38169         Reviewed by Darin Adler.
38170
38171         * Configurations/WebProcess.xcconfig: Add an icon in Debug and Release builds.  The empty
38172         value for production resulted in WebKit not adding the key to plist at all, which is what
38173         we want (but I don't know if it's a supported feature).
38174         Also, don't copy the icon file to built framework in production builds.
38175
38176         * WebKit2.xcodeproj/project.pbxproj: Added WebKit.icns.
38177
38178         * WebProcess/Info.plist: Added a key for the icon.
38179
38180         * WebProcess/mac/WebKit.icns: Copied from Websites/webkit.org/images/surfin-safari.icns.
38181
38182 2011-09-16  Anders Carlsson  <andersca@apple.com>
38183
38184         Temporarily remove the WKHitTestResultRef parameter to avoid breaking the WK2 ABI/API
38185         https://bugs.webkit.org/show_bug.cgi?id=68266
38186
38187         Reviewed by John Sullivan.
38188
38189         * UIProcess/API/C/WKPage.h:
38190         * UIProcess/WebUIClient.cpp:
38191         (WebKit::WebUIClient::mouseDidMoveOverElement):
38192
38193 2011-09-16  Filip Pizlo  <fpizlo@apple.com>
38194
38195         DFG JIT should inline Math.abs
38196         https://bugs.webkit.org/show_bug.cgi?id=68227
38197
38198         Reviewed by Oliver Hunt.
38199
38200         Added JavaScriptCore/dfg to include path path.
38201
38202         * CMakeLists.txt:
38203
38204 2011-09-16  Igor Oliveira  <igor.oliveira@openbossa.org>
38205
38206         [WK2] mouseDidMoveOverElement needs to send more information about hovered element to UiProcess.
38207         https://bugs.webkit.org/show_bug.cgi?id=68125
38208
38209         This patch implements support for the UiProcess to know what is the link url of a hovered element.
38210
38211         Reviewed by Anders Carlsson.
38212
38213         * CMakeLists.txt:
38214         * GNUmakefile.am:
38215         * Shared/API/c/WKBase.h:
38216         * Shared/APIObject.h:
38217         * Shared/WebHitTestResult.cpp: Added.
38218
38219         WebHitTestResult has hovered element information.
38220
38221         (WebKit::WebHitTestResult::create):
38222         (WebKit::WebHitTestResult::Data::encode):
38223         (WebKit::WebHitTestResult::Data::decode):
38224         * Shared/WebHitTestResult.h: Added.
38225         (WebKit::WebHitTestResult::absoluteImageURL):
38226         (WebKit::WebHitTestResult::absoluteLinkURL):
38227         (WebKit::WebHitTestResult::absoluteMediaURL):
38228         (WebKit::WebHitTestResult::linkLabel):
38229         (WebKit::WebHitTestResult::linkTitle):
38230         (WebKit::WebHitTestResult::WebHitTestResult):
38231         (WebKit::WebHitTestResult::type):
38232         * UIProcess/API/C/WKAPICast.h:
38233         * UIProcess/API/C/WKPage.h:
38234         * UIProcess/WebPageProxy.cpp:
38235         (WebKit::WebPageProxy::mouseDidMoveOverElement):
38236         * UIProcess/WebPageProxy.h:
38237         * UIProcess/WebPageProxy.messages.in:
38238         * UIProcess/WebUIClient.cpp:
38239         (WebKit::WebUIClient::mouseDidMoveOverElement):
38240         * UIProcess/WebUIClient.h:
38241         * WebKit2.pro:
38242         * WebKit2.xcodeproj/project.pbxproj:
38243         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
38244         (WebKit::WebChromeClient::mouseDidMoveOverElement):
38245         * win/WebKit2.vcproj:
38246
38247 2011-09-15  Adam Roben  <aroben@apple.com>
38248
38249         Add support for attributes on message parameters
38250
38251         Parameter attributes are specified as a space-separated list inside square brackets before
38252         the parameter's type. WebKit2 doesn't use this, but other projects that use these scripts
38253         would like to.
38254
38255         Fixes <http://webkit.org/b/68219> Would like a way to specify attributes on message
38256         parameters
38257
38258         Reviewed by Sam Weinig.
38259
38260         * Scripts/webkit2/messages_unittest.py: Added tests for parameter attributes.
38261
38262         * Scripts/webkit2/model.py:
38263         (Parameter.__init__): Added a new attributes parameter, which is stored in the self.attributes
38264         property.
38265         (Parameter.has_attribute): Added. Returns true if this parameter has the given attribute.
38266
38267         * Scripts/webkit2/parser.py:
38268         (parse): Moved attributes-parsing code from here...
38269         (parse_attributes_string): ...to here.
38270         (parse_parameters_string): Renamed from parse_parameter_string. Now also parses parameter
38271         attributes.
38272
38273 2011-09-15  Adam Roben  <aroben@apple.com>
38274
38275         Make WebKit2's message-generation model and parser scripts accessible to other projects
38276
38277         We copy them into the build products directory so other projects can find them.
38278
38279         Fixes <http://webkit.org/b/68169> Would like to be able to use WebKit2's message-generation
38280         scripts in other projects
38281
38282         Reviewed by Darin Adler.
38283
38284         * WebKit2.xcodeproj/project.pbxproj: Copy the scripts to PrivateHeaders.
38285
38286         * win/WebKit2.make: Copy the scripts from obj/WebKit2/scripts to
38287         tools/scripts, like WebCore does.
38288
38289         * win/WebKit2Generated.make: Copy the scripts to obj/WebKit2/scripts, which is similar to what
38290         WebCore does for its bindings scripts.
38291
38292 2011-09-15  Adam Roben  <aroben@apple.com>
38293
38294         Split some of the message-generation code into separate modules
38295
38296         This is in preparation for making these modules scripts usable by other projects.
38297
38298         Fixes <http://webkit.org/b/68217> Model and parsing functionality for WebKit2's
38299         message-generation scripts is trapped inside a much larger module
38300
38301         Reviewed by Darin Adler.
38302
38303         * DerivedSources.make:
38304         * DerivedSources.pro:
38305         * GNUmakefile.am:
38306         * WebKit2.xcodeproj/project.pbxproj:
38307         * win/WebKit2.vcproj:
38308         * win/WebKit2Generated.vcproj:
38309         Added new files.
38310
38311         * Scripts/webkit2/messages.py: Moved some code from here...
38312
38313         * Scripts/webkit2/model.py: Added.
38314         * Scripts/webkit2/parser.py: Added.
38315         ...to here. MessageReceiver.parse was split out into a function in the new parser module.
38316
38317         * Scripts/webkit2/messages_unittest.py: Updated for renames.
38318
38319 2011-09-16  Martin Robinson  <mrobinson@igalia.com>
38320
38321         [GTK] Disable WebKit2 by default in configure.ac, but enable it with build-webkit
38322         https://bugs.webkit.org/show_bug.cgi?id=68178
38323
38324         Reviewed by Xan Lopez.
38325
38326         * GNUmakefile.am: Do not build WebKit2 by default. Re-add pkgconfig support
38327         for WebKit2.
38328
38329 2011-09-15  Adam Barth  <abarth@webkit.org>
38330
38331         Rename ENABLE(DATABASE) to ENABLE(SQL_DATABASE)
38332         https://bugs.webkit.org/show_bug.cgi?id=68205
38333
38334         Reviewed by Eric Seidel.
38335
38336         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
38337         * WebProcess/WebCoreSupport/WebChromeClient.h:
38338         * WebProcess/WebPage/WebPage.cpp:
38339         (WebKit::WebPage::updatePreferences):
38340         * WebProcess/WebProcess.cpp:
38341         (WebKit::WebProcess::initializeWebProcess):
38342
38343 2011-09-15  Eric Seidel  <eric@webkit.org>
38344
38345         Remove ENABLE(SVG_AS_IMAGE) since all major ports have it on by default
38346         https://bugs.webkit.org/show_bug.cgi?id=68182
38347
38348         Reviewed by Adam Barth.
38349
38350         * Configurations/FeatureDefines.xcconfig:
38351
38352 2011-09-15  Eric Seidel  <eric@webkit.org>
38353
38354         Remove ENABLE_SVG_ANIMATION as all major ports have it on by default
38355         https://bugs.webkit.org/show_bug.cgi?id=68022
38356
38357         Reviewed by Ryosuke Niwa.
38358
38359         * Configurations/FeatureDefines.xcconfig:
38360
38361 2011-09-15  Alexis Menard  <alexis.menard@openbossa.org>
38362
38363         [Qt][WK2] Make QWebError more friendly to QML.
38364         https://bugs.webkit.org/show_bug.cgi?id=67785
38365
38366         Reviewed by Simon Hausmann.
38367
38368         Make sure that we can use the loading errors in QML. We send it via a QJSValue which
38369         has the properties needed to get the error code, the url and the type of error.
38370
38371         * UIProcess/API/qt/qdesktopwebview.cpp:
38372         (QDesktopWebViewPrivate::loadDidFail):
38373         (QDesktopWebViewPrivate::engine):
38374         * UIProcess/API/qt/qdesktopwebview.h:
38375         * UIProcess/API/qt/qdesktopwebview_p.h:
38376         * UIProcess/API/qt/qtouchwebpage.h:
38377         * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
38378         (tst_CommonViewTests::loadNonexistentFileUrl):
38379         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
38380         (WebViewAbstraction::WebViewAbstraction):
38381         (WebViewAbstraction::touchViewLoadFailed):
38382         (WebViewAbstraction::desktopViewLoadFailed):
38383         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
38384         * UIProcess/API/qt/tests/testwindow.h:
38385         * UIProcess/qt/QtWebPageProxy.cpp:
38386         (QtWebPageProxy::loadDidFail):
38387         * UIProcess/qt/QtWebPageProxy.h:
38388         * UIProcess/qt/TouchViewInterface.cpp:
38389         (WebKit::TouchViewInterface::loadDidFail):
38390         (WebKit::TouchViewInterface::engine):
38391         * UIProcess/qt/TouchViewInterface.h:
38392         * UIProcess/qt/ViewInterface.h:
38393
38394 2011-09-15  Adam Roben  <aroben@apple.com>
38395
38396         Remove WebKit2-specific knowledge from the Message class
38397
38398         This is in preparation for making some of our message-generations scripts usable by other
38399         projects.
38400
38401         Fixes <http://webkit.org/b/68170> Model classes in WebKit2's message-generation scripts know
38402         too much about WebKit2 details
38403
38404         Reviewed by Anders Carlsson.
38405
38406         * Scripts/webkit2/messages.py: Added constants for the message attributes we support.
38407         (MessageReceiver.parse): Instead of recognizing individual attributes, just stick the
38408         attributes into a set and pass it to the Message constructor.
38409         (Message.__init__): Changed to take a generic set of attributes instead of individual
38410         attributes.
38411         (Message.has_attribute): Added. Returns true if the message has an attribute.
38412         (message_is_variadic): Renamed from parameter_type_is_variadic. Code came from
38413         Message.__init__, which set the old message.is_variadic property.
38414
38415         (decode_type):
38416         (message_to_struct_declaration):
38417         (forward_declarations_and_headers):
38418         (async_case_statement):
38419         (sync_case_statement):
38420         (generate_message_handler):
38421         Updated to use Message.has_attribute and message_is_variadic.
38422
38423 2011-09-14  Wajahat Siddiqui  <mdwajahatali.siddiqui@motorola.com>
38424
38425         Eliminate WebKit2 compilation warnings.
38426         https://bugs.webkit.org/show_bug.cgi?id=65025
38427
38428         Warnings found with gcc on linux.
38429
38430         Reviewed by Sam Weinig.
38431
38432         * Platform/CoreIPC/ArgumentEncoder.cpp:
38433         (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
38434         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
38435         (WebKit::WebFrameLoaderClient::createPlugin):
38436
38437 2011-09-14  Ada Chan  <adachan@apple.com>
38438
38439         Implement WKBundleFrameCopyWebArchive().
38440         http://bugs.webkit.org/show_bug.cgi?id=67857
38441
38442         Reviewed by Anders Carlsson.
38443
38444         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
38445         (WKBundleFrameCopyWebArchive): Call WebFrame::webArchiveData() and create a WKDataRef from the returned CFDataRef.
38446         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
38447         * WebProcess/WebPage/WebFrame.cpp:
38448         (WebKit::WebFrame::webArchiveData): Add WebFrame::webArchiveData().
38449         * WebProcess/WebPage/WebFrame.h:
38450         * WebProcess/WebPage/WebPage.cpp:
38451         (WebKit::WebPage::getWebArchiveOfFrame): Move the logic to WebFrame::webArchiveData() and call that method here.
38452
38453 2011-09-14  Alexey Proskuryakov  <ap@apple.com>
38454
38455         Web Process doesn't need a permission to look up WebProcess service any more
38456         https://bugs.webkit.org/show_bug.cgi?id=68101
38457
38458         Reviewed by Anders Carlsson.
38459
38460         * WebProcess/com.apple.WebProcess.sb:
38461
38462 2011-09-14  Mark Hahnenberg  <mhahnenberg@apple.com>
38463
38464         Unzip initialization lists and constructors in JSCell hierarchy (6/7)
38465         https://bugs.webkit.org/show_bug.cgi?id=67692
38466
38467         Reviewed by Geoffrey Garen.
38468
38469         Completed the sixth level of the refactoring to add finishCreation() 
38470         methods to all classes within the JSCell hierarchy with non-trivial 
38471         constructor bodies.
38472
38473         This primarily consists of pushing the calls to finishCreation() down 
38474         into the constructors of the subclasses of the fifth level of the hierarchy 
38475         as well as pulling the finishCreation() calls out into the class's corresponding
38476         create() method if it has one.  Doing both simultaneously allows us to 
38477         maintain the invariant that the finishCreation() method chain is called exactly 
38478         once during the creation of an object, since calling it any other number of 
38479         times (0, 2, or more) will cause an assertion failure.
38480
38481         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
38482         (WebKit::JSNPMethod::JSNPMethod):
38483         * WebProcess/Plugins/Netscape/JSNPMethod.h:
38484         (WebKit::JSNPMethod::create):
38485
38486 2011-09-13  Eric Seidel  <eric@webkit.org>
38487
38488         Remove ENABLE_SVG_USE as <use> is required by HTML5
38489         https://bugs.webkit.org/show_bug.cgi?id=68019
38490
38491         Reviewed by Ryosuke Niwa.
38492
38493         * Configurations/FeatureDefines.xcconfig:
38494
38495 2011-09-13  Anders Carlsson  <andersca@apple.com>
38496
38497         Disable C++ exceptions when building with clang
38498         https://bugs.webkit.org/show_bug.cgi?id=68031
38499         <rdar://problem/9556880>
38500
38501         Reviewed by Mark Rowe.
38502
38503         * Configurations/Base.xcconfig:
38504
38505 2011-09-13  Eric Seidel  <eric@webkit.org>
38506
38507         Remove ENABLE_SVG_FOREIGN_OBJECT as it is a required part of HTML5
38508         https://bugs.webkit.org/show_bug.cgi?id=68018
38509
38510         Reviewed by Ryosuke Niwa.
38511
38512         * Configurations/FeatureDefines.xcconfig:
38513
38514 2011-09-13  Chang Shu  <cshu@webkit.org>
38515
38516         [WK2] [Mac] Implement KeyDown function for WebKit2 EventSender.
38517         https://bugs.webkit.org/show_bug.cgi?id=57515
38518
38519         The code change in WebKit2 allows key events being sent to WebProcess from UIProcess synchronously.
38520
38521         Reviewed by Darin Adler.
38522
38523         * UIProcess/API/C/WKPage.cpp:
38524         (WKPageSetShouldSendKeyboardEventSynchronously):
38525         * UIProcess/API/C/WKPagePrivate.h:
38526         * UIProcess/WebPageProxy.cpp:
38527         (WebKit::WebPageProxy::WebPageProxy):
38528         (WebKit::WebPageProxy::handleKeyboardEvent):
38529         * UIProcess/WebPageProxy.h:
38530         (WebKit::WebPageProxy::setShouldSendKeyboardEventSynchronously):
38531         * WebProcess/WebPage/WebPage.cpp:
38532         (WebKit::WebPage::keyEventSyncForTesting):
38533         * WebProcess/WebPage/WebPage.h:
38534         * WebProcess/WebPage/WebPage.messages.in:
38535
38536 2011-09-12  Ryuan Choi  <ryuan.choi@samsung.com>
38537
38538         Reviewed by Eric Seidel.
38539
38540         [CMAKE][WK2] include cmakeconfig.h in WebKit2/config.h
38541         https://bugs.webkit.org/show_bug.cgi?id=62692
38542
38543         * CMakeLists.txt: define WTF_USE_JSC=1.
38544         * config.h: add cmakeconfig.h and define necessary macros for CMake build.
38545
38546 2011-09-12  Igor Oliveira  <igor.oliveira@openbossa.org>
38547
38548         [Qt] [WK2] implement support to upload files in Qt WebKit2
38549         https://bugs.webkit.org/show_bug.cgi?id=67228
38550
38551         This patch implements support to upload files in the Desktop Qt WebKit2 implementation.
38552
38553         Reviewed by Andreas Kling.
38554
38555         * Shared/WebOpenPanelParameters.h:
38556         (WebKit::WebOpenPanelParameters::selectedFileNames):
38557         * UIProcess/API/qt/qdesktopwebview.cpp:
38558         (QDesktopWebViewPrivate::chooseFiles):
38559         (QDesktopWebViewPrivate::onOpenPanelFilesSelected):
38560         (QDesktopWebViewPrivate::onOpenPanelFinished):
38561         * UIProcess/API/qt/qdesktopwebview_p.h:
38562         * UIProcess/qt/ClientImpl.cpp:
38563
38564         qt_wk_runOpenPanel supports single and multiple files selection.
38565
38566         (qt_wk_runOpenPanel):
38567         * UIProcess/qt/ClientImpl.h:
38568         * UIProcess/qt/QtWebPageProxy.cpp:
38569         (QtWebPageProxy::init):
38570         * UIProcess/qt/TouchViewInterface.h:
38571         (WebKit::TouchViewInterface::chooseFiles):
38572         * UIProcess/qt/ViewInterface.h:
38573
38574 2011-09-12  Alexis Menard  <alexis.menard@openbossa.org>
38575
38576         [Qt]Style error fix.
38577
38578         Reviewed by Andreas Kling.
38579
38580         * UIProcess/qt/QtWebPageProxy.cpp:
38581
38582 2011-09-11  Mark Rowe  <mrowe@apple.com>
38583
38584         <rdar://problem/9878268> Pressing caps lock after closing a showModalDialog window results in WebProcess exiting
38585
38586         It's incorrect to try and use -[NSApplication run] to run nested runloops as it is not possible to
38587         interrupt a nested invocation of -run without also causing outer invocations to exit after processing
38588         their next event. We can avoid this issue by using -[NSApplication run] for the outermost invocation
38589         of the main runloop, while using CFRunLoopRun for any nested invocations.
38590
38591         Reviewed by Anders Carlsson.
38592
38593         * Platform/RunLoop.h:
38594         * Platform/mac/RunLoopMac.mm:
38595         (RunLoop::RunLoop): Initialize the nesting level to 0.
38596         (RunLoop::run): Bump the nesting level, and only use -[NSApplication run] for the outermost invocation of the
38597         runloop. We also switch from -[NSRunloop run] to CFRunLoopRun as the former will only exit when it has no sources
38598         left to process, while CFRunLoopRun will return immediately after CFRunLoopStop is called on it.
38599         (RunLoop::stop): Only go down the NSApp path for the outermost invocation of the runloop.
38600
38601 2011-09-11  Balazs Kelemen  <kbalazs@webkit.org>
38602
38603         [Qt][WK2] Qt layer should be hardened against C API versioning in the sense of build failures
38604         https://bugs.webkit.org/show_bug.cgi?id=67094
38605
38606         Reviewed by Andreas Kling.
38607
38608         * UIProcess/qt/QtWebPageProxy.cpp:
38609         (QtWebPageProxy::init):
38610
38611 2011-09-09  Oliver Hunt  <oliver@apple.com>
38612
38613         Remove support for anonymous storage from jsobjects
38614         https://bugs.webkit.org/show_bug.cgi?id=67881
38615
38616         Reviewed by Sam Weinig.
38617
38618         Remove the use of AnonymousSlotCount.
38619
38620         * WebProcess/Plugins/Netscape/JSNPMethod.h:
38621         (WebKit::JSNPMethod::createStructure):
38622         * WebProcess/Plugins/Netscape/JSNPObject.h:
38623         (WebKit::JSNPObject::createStructure):
38624
38625 2011-09-09  Chris Marrin  <cmarrin@apple.com>
38626
38627         requestAnimationFrame doesn't throttle on Mac
38628         https://bugs.webkit.org/show_bug.cgi?id=67171
38629
38630         Reviewed by Simon Fraser.
38631
38632         Removed runLoopObserver for requestAnimationFrame. It's now
38633         done by a Timer in ScriptedAnimationController in WebCore.
38634
38635         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
38636         * WebProcess/WebCoreSupport/WebChromeClient.h:
38637         * WebProcess/WebPage/WebPage.cpp:
38638         (WebKit::WebPage::~WebPage):
38639         * WebProcess/WebPage/WebPage.h:
38640         * WebProcess/WebPage/mac/WebPageMac.mm:
38641
38642 2011-09-09  Fady Samuel  <fsamuel@chromium.org>
38643
38644         Move pageScaleFactor code from Frame.{h|cpp} to Page.{h|cpp}
38645         https://bugs.webkit.org/show_bug.cgi?id=67250
38646
38647         Reviewed by Simon Fraser.
38648
38649         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
38650         (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
38651         * WebProcess/WebPage/WebPage.cpp:
38652         (WebKit::WebPage::scalePage):
38653         (WebKit::WebPage::pageScaleFactor):
38654
38655 2011-09-09  Mark Hahnenberg  <mhahnenberg@apple.com>
38656
38657         Unzip initialization lists and constructors in JSCell hierarchy (5/7)
38658         https://bugs.webkit.org/show_bug.cgi?id=67420
38659
38660         Reviewed by Geoffrey Garen.
38661
38662         Completed the fifth level of the refactoring to add finishCreation() 
38663         methods to all classes within the JSCell hierarchy with non-trivial 
38664         constructor bodies.
38665
38666         This primarily consists of pushing the calls to finishCreation() down 
38667         into the constructors of the subclasses of the second level of the hierarchy 
38668         as well as pulling the finishCreation() calls out into the class's corresponding
38669         create() method if it has one.  Doing both simultaneously allows us to 
38670         maintain the invariant that the finishCreation() method chain is called exactly 
38671         once during the creation of an object, since calling it any other number of 
38672         times (0, 2, or more) will cause an assertion failure.
38673
38674         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
38675         (WebKit::JSNPMethod::JSNPMethod):
38676         (WebKit::JSNPMethod::finishCreation):
38677         * WebProcess/Plugins/Netscape/JSNPMethod.h:
38678         (WebKit::JSNPMethod::create):
38679         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
38680         (WebKit::JSNPObject::JSNPObject):
38681         * WebProcess/Plugins/Netscape/JSNPObject.h:
38682         (WebKit::JSNPObject::create):
38683
38684 2011-09-08  Mark Rowe  <mrowe@apple.com>
38685
38686         <rdar://problem/9742393> Spell checking a text area causes the page to reload
38687
38688         Ensure that m_pendingLearnOrIgnoreWordMessageCount is incremented when we use
38689         executeEditCommand to ignore a word. This will ensure that WebPageProxy::ignoreWord
38690         is expecting to be called, and will not turn around and terminate the web process.
38691
38692         Reviewed by Anders Carlsson.
38693
38694         * UIProcess/WebPageProxy.cpp:
38695         (WebKit::WebPageProxy::executeEditCommand):
38696
38697 2011-09-08  Sam Weinig  <sam@webkit.org>
38698
38699         Remove accidentally committed typo.
38700
38701         * Platform/CoreIPC/Connection.cpp:
38702         (CoreIPC::Connection::waitForSyncReply):
38703
38704 2011-09-08  Brian Weinstein  <bweinstein@apple.com>
38705
38706         WebKit2: Assertion when calling didPerform*Redirect on null source/destination URL string
38707         https://bugs.webkit.org/show_bug.cgi?id=67794
38708         <rdar://problem/9892024>
38709         
38710         Don't call didPerformClientRedirect or didPerformServerRedirect when source or destination URL string
38711         is empty or null.
38712         
38713         If we call didPerformClientRedirect or didPerformServerRedirect when the source or destination is null,
38714         it causes an assert in WKURLCF::WKURLCopyCFURL when we try to convert the WKURLRef into a CFURLRef.
38715
38716         Reviewed by Brady Eidson.
38717
38718         * UIProcess/WebContext.cpp:
38719         (WebKit::WebContext::didPerformClientRedirect): Return early if the source or destination URL string is empty or null.
38720         (WebKit::WebContext::didPerformServerRedirect): Ditto.
38721
38722 2011-09-08  Sam Weinig  <sam@webkit.org>
38723
38724         Remove the Completion object from JSC, I have never liked it
38725         https://bugs.webkit.org/show_bug.cgi?id=67755
38726
38727         Reviewed by Gavin Barraclough.
38728
38729         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
38730         (WebKit::NPRuntimeObjectMap::evaluate):
38731
38732 2011-09-08  Anders Carlsson  <andersca@apple.com>
38733
38734         Don't release the modal placeholder window if it's closed
38735         https://bugs.webkit.org/show_bug.cgi?id=67801
38736         <rdar://problem/10088059>
38737
38738         Reviewed by Adam Roben.
38739
38740         This is a speculative fix - nothing should really be able to close the modal placeholder window.
38741
38742         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
38743         (WebKit::PluginProcessProxy::beginModal):
38744
38745 2011-09-07  Alexei Svitkine  <asvitkine@chromium.org>
38746
38747         Add test infrastructure to test rubber-banding overhang drawing along with layout tests for existing Chromium Mac overhang drawing in the non-gpu path.
38748         https://bugs.webkit.org/show_bug.cgi?id=67511
38749
38750         Reviewed by Dimitri Glazkov.
38751
38752         * win/WebKit2.def:
38753         * win/WebKit2CFLite.def:
38754
38755 2011-09-06  Oliver Hunt  <oliver@apple.com>
38756
38757         Remove JSObjectWithGlobalObject
38758         https://bugs.webkit.org/show_bug.cgi?id=67689
38759
38760         Reviewed by Geoff Garen.
38761
38762         Remove JSObjectWithGlobalObject usage.
38763
38764         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
38765         (WebKit::JSNPObject::JSNPObject):
38766         (WebKit::JSNPObject::finishCreation):
38767         * WebProcess/Plugins/Netscape/JSNPObject.h:
38768
38769 2011-09-05  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
38770
38771         [Qt][WK2] Make TiledDrawingArea request tiles only in the direction the viewport is panned to.
38772         https://bugs.webkit.org/show_bug.cgi?id=67606
38773
38774         TiledBackingStore previously used different values for horizontal and vertial multiplication
38775         to calculate the cover area. 
38776         This patch replaces this mechanism, used to give a bigger panning range to vertical panning,
38777         with the possibility to use the motion vector of the viewport to request tiles ahead instead.
38778         This allows economies on rendering resources as tiles won't be rendered beside the trajectory
38779         of the viewport.
38780
38781         * UIProcess/API/qt/qtouchwebview.cpp:
38782         (QTouchWebViewPrivate::QTouchWebViewPrivate):
38783         (QTouchWebViewPrivate::_q_viewportMotionVectorChanged):
38784         * UIProcess/API/qt/qtouchwebview.h:
38785         * UIProcess/API/qt/qtouchwebview_p.h:
38786         * UIProcess/TiledDrawingAreaProxy.cpp:
38787         (WebKit::TiledDrawingAreaProxy::setVisibleContentRectMotionVector):
38788         * UIProcess/TiledDrawingAreaProxy.h:
38789         * UIProcess/qt/ViewportInteractionEngine.cpp:
38790         (WebKit::ViewportInteractionEngine::panGestureRequestUpdate):
38791         (WebKit::ViewportInteractionEngine::panGestureEnded):
38792         (WebKit::ViewportInteractionEngine::pinchGestureStarted):
38793         * UIProcess/qt/ViewportInteractionEngine.h:
38794         * UIProcess/qt/qtouchwebpageproxy.cpp:
38795         (QTouchWebPageProxy::setVisibleContentRectMotionVector):
38796         * UIProcess/qt/qtouchwebpageproxy.h:
38797         * WebProcess/WebPage/DrawingArea.h:
38798         (WebKit::DrawingArea::setVisibleContentRectMotionVector):
38799         * WebProcess/WebPage/DrawingArea.messages.in:
38800         * WebProcess/WebPage/TiledDrawingArea.cpp:
38801         (WebKit::TiledDrawingArea::setVisibleContentRectMotionVector):
38802         * WebProcess/WebPage/TiledDrawingArea.h:
38803
38804 2011-09-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
38805
38806         [Qt] TiledBackingStore: Import the resizeEdgeTiles logic from TiledDrawindAreaProxy.
38807         https://bugs.webkit.org/show_bug.cgi?id=67416
38808
38809         Reviewed by Kenneth Rohde Christiansen.
38810
38811         Original code by Antti Koivisto.
38812         With the current code, when the page is layouted during load, edge tiles will
38813         get removed instead of continuing to show their front buffer while the tile
38814         is being rendered for the new size.
38815
38816         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
38817         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
38818         (WebKit::TiledBackingStoreRemoteTile::resize):
38819         * WebProcess/WebPage/TiledBackingStoreRemoteTile.h:
38820
38821 2011-09-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
38822
38823         TiledDrawingArea: Fix issues where the tiles of the previous scale would be removed too early.
38824         https://bugs.webkit.org/show_bug.cgi?id=67390
38825
38826         Reviewed by Tor Arne Vestbø.
38827
38828         The two issues addresssed are:
38829         - The previous instance of the tile backing store would be destroyed in createTile which
38830           would send removeTile messages for all its tiles before the DidRenderFrame message is sent for the new tiles.
38831         - When quickly changing the scale a second time after a scale change, the previous tile set would
38832           be replaced by the current incomplete tile set which may contain no tiles at all.
38833         * WebProcess/WebPage/TiledDrawingArea.cpp:
38834         (WebKit::TiledDrawingArea::setVisibleContentRectAndScale):
38835         (WebKit::TiledDrawingArea::tiledBackingStorePaintEnd):
38836         (WebKit::TiledDrawingArea::createTile):
38837
38838 2011-08-30  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
38839
38840         [Qt][WK2] The scene graph is rendered continuously even when the page is idle.
38841         https://bugs.webkit.org/show_bug.cgi?id=67195
38842
38843         Reviewed by Tor Arne Vestbø.
38844
38845         Since tiledBackingStorePaintEnd is called even when no tile is dirty, the TiledDrawingArea
38846         and its proxy are looping over DidRenderFrame and RenderNextFrame messages.
38847         This causes QSGItem::update() to be called and consumes a lot of useless CPU cycles on the UI process.
38848
38849         Introduce a bool to send DidRenderFrame only when dirty content was rendered.
38850
38851         * WebProcess/WebPage/TiledDrawingArea.cpp:
38852         (WebKit::TiledDrawingArea::TiledDrawingArea):
38853         (WebKit::TiledDrawingArea::tiledBackingStorePaint):
38854         (WebKit::TiledDrawingArea::tiledBackingStorePaintEnd):
38855         * WebProcess/WebPage/TiledDrawingArea.h:
38856
38857 2011-08-30  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
38858
38859         [Qt][WK2] Make sure that the visible content rect and the content scale get to the web process in one single message.
38860         https://bugs.webkit.org/show_bug.cgi?id=67189
38861
38862         Reviewed by Kenneth Rohde Christiansen.
38863
38864         The TiledBackingStore needs to know the screen size of the viewport to know how many tiles to
38865         create, and since the visible content rect is given in page coordinates, the contents scale is
38866         necessary to calculate the viewport size.
38867         Both the rect and the scale then need to arrive to the web process at the same time to prevent
38868         picking the new visible rect with the old scale or vice-versa which can produce a huge viewport size
38869         and create/render an insane amount of tiles.
38870
38871         Things this patch does:
38872         - Merge the visible contents rect and content scale handling together.
38873         - Make QTouchWebView responsible for telling those viewport values to the web process instead of QTouchWebPage.
38874         - Prevent updating the viewport in ViewportInteractionEngine while a pinch is in progress and update the viewport at the end.
38875
38876         * UIProcess/API/qt/qtouchwebpage.cpp:
38877         * UIProcess/API/qt/qtouchwebpage.h:
38878         * UIProcess/API/qt/qtouchwebpage_p.h:
38879         * UIProcess/API/qt/qtouchwebview.cpp:
38880         (QTouchWebViewPrivate::QTouchWebViewPrivate):
38881         (QTouchWebViewPrivate::_q_viewportUpdated):
38882         (QTouchWebView::geometryChanged):
38883         * UIProcess/API/qt/qtouchwebview.h:
38884         * UIProcess/API/qt/qtouchwebview_p.h:
38885         * UIProcess/TiledDrawingAreaProxy.cpp:
38886         (WebKit::TiledDrawingAreaProxy::setVisibleContentRectAndScale):
38887         * UIProcess/TiledDrawingAreaProxy.h:
38888         * UIProcess/qt/ViewportInteractionEngine.cpp:
38889         (WebKit::ViewportInteractionEngine::ViewportInteractionEngine):
38890         (WebKit::ViewportInteractionEngine::~ViewportInteractionEngine): Allows OwnPtr with the forward declaration of ViewportUpdateGuard.
38891         (WebKit::ViewportInteractionEngine::setConstraints):
38892         (WebKit::ViewportInteractionEngine::pinchGestureStarted):
38893         (WebKit::ViewportInteractionEngine::pinchGestureEnded):
38894         (WebKit::ViewportInteractionEngine::contentViewportChanged):
38895         * UIProcess/qt/ViewportInteractionEngine.h:
38896         * UIProcess/qt/qtouchwebpageproxy.cpp:
38897         (QTouchWebPageProxy::setVisibleContentRectAndScale):
38898         * UIProcess/qt/qtouchwebpageproxy.h:
38899         * WebProcess/WebPage/DrawingArea.h:
38900         (WebKit::DrawingArea::setVisibleContentRectAndScale):
38901         * WebProcess/WebPage/DrawingArea.messages.in:
38902         * WebProcess/WebPage/TiledDrawingArea.cpp:
38903         (WebKit::TiledDrawingArea::setVisibleContentRectAndScale):
38904         * WebProcess/WebPage/TiledDrawingArea.h:
38905
38906 2011-08-29  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
38907
38908         [Qt][WK2] Rename SGAgent to SGUpdateQueue to sharpen it's responsability.
38909         https://bugs.webkit.org/show_bug.cgi?id=67122
38910
38911         Reviewed by Tor Arne Vestbø.
38912
38913         * UIProcess/API/qt/qtouchwebpage.cpp:
38914         (QTouchWebPage::updatePaintNode):
38915         (QTouchWebPagePrivate::QTouchWebPagePrivate):
38916         * UIProcess/API/qt/qtouchwebpage_p.h:
38917         * UIProcess/qt/SGUpdateQueue.cpp: Renamed from Source/WebKit2/UIProcess/qt/SGAgent.cpp.
38918         (WebKit::NodeUpdateCreateTile::NodeUpdateCreateTile):
38919         (WebKit::NodeUpdateRemoveTile::NodeUpdateRemoveTile):
38920         (WebKit::NodeUpdateSetBackBuffer::NodeUpdateSetBackBuffer):
38921         (WebKit::NodeUpdateSwapTileBuffers::NodeUpdateSwapTileBuffers):
38922         (WebKit::SGUpdateQueue::SGUpdateQueue):
38923         (WebKit::SGUpdateQueue::createTileNode):
38924         (WebKit::SGUpdateQueue::removeTileNode):
38925         (WebKit::SGUpdateQueue::setNodeBackBuffer):
38926         (WebKit::SGUpdateQueue::swapTileBuffers):
38927         (WebKit::SGUpdateQueue::applyUpdates):
38928         (WebKit::SGUpdateQueue::getScaleNode):
38929         * UIProcess/qt/SGUpdateQueue.h: Renamed from Source/WebKit2/UIProcess/qt/SGAgent.h.
38930         (WebKit::SGUpdateQueue::isSwapPending):
38931         (WebKit::NodeUpdate::NodeUpdate):
38932         (WebKit::NodeUpdate::~NodeUpdate):
38933         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
38934         (WebKit::TiledDrawingAreaProxy::updateWebView):
38935         (WebKit::TiledDrawingAreaProxy::createTile):
38936         (WebKit::TiledDrawingAreaProxy::updateTile):
38937         (WebKit::TiledDrawingAreaProxy::didRenderFrame):
38938         (WebKit::TiledDrawingAreaProxy::removeTile):
38939         * UIProcess/qt/TouchViewInterface.cpp:
38940         (WebKit::TouchViewInterface::sceneGraphUpdateQueue):
38941         * UIProcess/qt/TouchViewInterface.h:
38942         * WebKit2.pro:
38943
38944 2011-09-07  Alexis Menard  <alexis.menard@openbossa.org>
38945
38946         [Qt] Unreviewed suppression of an unnecessary debug output. 
38947
38948         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
38949
38950 2011-09-07  Sheriff Bot  <webkit.review.bot@gmail.com>
38951
38952         Unreviewed, rolling out r94627 and r94632.
38953         http://trac.webkit.org/changeset/94627
38954         http://trac.webkit.org/changeset/94632
38955         https://bugs.webkit.org/show_bug.cgi?id=67698
38956
38957         It broke tests on GTK and Qt (Requested by Ossy on #webkit).
38958
38959         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
38960         (WebKit::JSNPMethod::JSNPMethod):
38961         (WebKit::JSNPMethod::create):
38962         * WebProcess/Plugins/Netscape/JSNPMethod.h:
38963         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
38964         (WebKit::JSNPObject::JSNPObject):
38965         (WebKit::JSNPObject::create):
38966         * WebProcess/Plugins/Netscape/JSNPObject.h:
38967
38968 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
38969
38970         fast/forms/suggested-value-crash.html crashes on Windows
38971         https://bugs.webkit.org/show_bug.cgi?id=67688
38972
38973         Reviewed by Adam Barth.
38974
38975         Removed sybmols for inputTag and textareaTag. Added the symbol for StringImpl::equal.
38976
38977         * win/WebKit2.def:
38978         * win/WebKit2CFLite.def:
38979
38980 2011-09-06  Mark Hahnenberg  <mhahnenberg@apple.com>
38981
38982         Unzip initialization lists and constructors in JSCell hierarchy (5/7)
38983         https://bugs.webkit.org/show_bug.cgi?id=67420
38984
38985         Reviewed by Geoffrey Garen.
38986
38987         Completed the fifth level of the refactoring to add finishCreation() 
38988         methods to all classes within the JSCell hierarchy with non-trivial 
38989         constructor bodies.
38990
38991         This primarily consists of pushing the calls to finishCreation() down 
38992         into the constructors of the subclasses of the second level of the hierarchy 
38993         as well as pulling the finishCreation() calls out into the class's corresponding
38994         create() method if it has one.  Doing both simultaneously allows us to 
38995         maintain the invariant that the finishCreation() method chain is called exactly 
38996         once during the creation of an object, since calling it any other number of 
38997         times (0, 2, or more) will cause an assertion failure.
38998
38999         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
39000         (WebKit::JSNPMethod::JSNPMethod):
39001         (WebKit::JSNPMethod::finishCreation):
39002         * WebProcess/Plugins/Netscape/JSNPMethod.h:
39003         (WebKit::JSNPMethod::create):
39004         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
39005         (WebKit::JSNPObject::JSNPObject):
39006         * WebProcess/Plugins/Netscape/JSNPObject.h:
39007         (WebKit::JSNPObject::create):
39008
39009 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
39010
39011         Rename confirmCompositionWithoutDisturbingSelection to cancelComposition
39012         https://bugs.webkit.org/show_bug.cgi?id=67569
39013
39014         Reviewed by Antonio Gomes.
39015
39016         * UIProcess/API/mac/WKView.mm:
39017         (-[WKView resignFirstResponder]):
39018         (-[WKView _updateTextInputStateIncludingSecureInputState:]):
39019         * UIProcess/WebPageProxy.h:
39020         * UIProcess/mac/WebPageProxyMac.mm:
39021         (WebKit::WebPageProxy::cancelComposition):
39022         * WebProcess/WebPage/WebPage.h:
39023         * WebProcess/WebPage/WebPage.messages.in:
39024         * WebProcess/WebPage/mac/WebPageMac.mm:
39025         (WebKit::WebPage::cancelComposition):
39026
39027 2011-09-05  Oliver Hunt  <oliver@apple.com>
39028
39029         An object's structure should reference the global object responsible for its creation
39030         https://bugs.webkit.org/show_bug.cgi?id=67624
39031
39032         Reviewed by Gavin Barraclough.
39033
39034         Update for new Structure::create globalObject parameter.
39035
39036         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
39037         (WebKit::JSNPMethod::create):
39038         * WebProcess/Plugins/Netscape/JSNPMethod.h:
39039         (WebKit::JSNPMethod::createStructure):
39040         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
39041         (WebKit::JSNPObject::create):
39042         * WebProcess/Plugins/Netscape/JSNPObject.h:
39043         (WebKit::JSNPObject::createStructure):
39044
39045 2011-09-06  Ryosuke Niwa  <rniwa@webkit.org>
39046
39047         REGRESSION(r94274): FormManagerTest.PreviewForm and FillFormNonEmptyField fail on chromium
39048         https://bugs.webkit.org/show_bug.cgi?id=67453
39049
39050         Reviewed by Kent Tamura.
39051
39052         Add symbols for internals.
39053
39054         * win/WebKit2.def:
39055         * win/WebKit2CFLite.def:
39056
39057 2011-09-06  Wajahat Siddiqui  <mdwajahatali.siddiqui@motorola.com>
39058
39059         [GTK] Use soup_session_add_feature_by_type uniformly in WebKit2.
39060         https://bugs.webkit.org/show_bug.cgi?id=67593
39061
39062         Reviewed by Martin Robinson.
39063
39064         Using soup_session_add_feature_by_type for adding all soup features 
39065         instead of adding using GRefPtr.
39066
39067         * WebProcess/gtk/WebProcessMainGtk.cpp:
39068         (WebKit::WebProcessMainGtk):
39069
39070 2011-09-05  Balazs Kelemen  <kbalazs@webkit.org>
39071
39072         [Qt][WK2] Add pixel test support
39073         https://bugs.webkit.org/show_bug.cgi?id=66283
39074
39075         Reviewed by Andreas Kling.
39076
39077         * Shared/API/c/qt/WKImageQt.cpp: Added.
39078         (WKImageCreateQImage):  C style (private) API to get the contents of the backing
39079         store as an image.
39080         * Shared/API/c/qt/WKImageQt.h: Added.
39081         * Shared/qt/ShareableBitmapQt.cpp:
39082         (WebKit::ShareableBitmap::createImage): Typo. Remove useless ifdef.
39083         * WebKit2API.pri:
39084
39085 2011-09-05  Andras Becsi  <andras.becsi@nokia.com>
39086
39087         [Qt][WK2] Fix the build
39088
39089         Rubber-stamped by Csaba Osztrogonác.
39090
39091         * DerivedSources.pro: Add missing PluginProcessConnection.messages.in after r94456.
39092
39093 2011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
39094
39095         Unreviewed, rolling out r94473.
39096         http://trac.webkit.org/changeset/94473
39097         https://bugs.webkit.org/show_bug.cgi?id=67547
39098
39099         Putting http://trac.webkit.org/changeset/94454 back in as
39100         http://trac.webkit.org/changeset/94472 fixed the problem
39101         (Requested by msaboff on #webkit).
39102
39103         * UIProcess/API/C/WKContext.cpp:
39104         (WKContextGarbageCollectJavaScriptObjects):
39105         * UIProcess/API/C/WKContext.h:
39106         * UIProcess/WebContext.cpp:
39107         (WebKit::WebContext::garbageCollectJavaScriptObjects):
39108         * UIProcess/WebContext.h:
39109         * WebProcess/WebProcess.cpp:
39110         (WebKit::WebProcess::garbageCollectJavaScriptObjects):
39111         * WebProcess/WebProcess.h:
39112         * WebProcess/WebProcess.messages.in:
39113
39114 2011-09-02  Sheriff Bot  <webkit.review.bot@gmail.com>
39115
39116         Unreviewed, rolling out r94454.
39117         http://trac.webkit.org/changeset/94454
39118         https://bugs.webkit.org/show_bug.cgi?id=67546
39119
39120         "Broke Windows and SnowLeopard, also no reply on the bug."
39121         (Requested by jchaffraix on #webkit).
39122
39123         * UIProcess/API/C/WKContext.cpp:
39124         * UIProcess/API/C/WKContext.h:
39125         * UIProcess/WebContext.cpp:
39126         * UIProcess/WebContext.h:
39127         * WebProcess/WebProcess.cpp:
39128         * WebProcess/WebProcess.h:
39129         * WebProcess/WebProcess.messages.in:
39130
39131 2011-09-02  Michael Saboff  <msaboff@apple.com>
39132
39133         Fixed release build by removing #ifndef NDEBUG to
39134         allow definition of gcController().
39135
39136         Rubber-stamp by Sam Weinig.
39137
39138         * WebProcess/WebProcess.cpp:
39139
39140 2011-09-02  Anders Carlsson  <andersca@apple.com>
39141
39142         NPN_SetException doesn't work with OOP plug-ins
39143         https://bugs.webkit.org/show_bug.cgi?id=67524
39144
39145         Reviewed by Sam Weinig.
39146
39147         * DerivedSources.make:
39148         Add PluginProcessConnection.messages.in.
39149
39150         * GNUmakefile.am:
39151         Add generated files.
39152
39153         * Platform/CoreIPC/MessageID.h:
39154         Add MessageClassPluginProcessConnection.
39155
39156         * PluginProcess/PluginProcess.cpp:
39157         (WebKit::PluginProcess::initialize):
39158         Set the set exception function.
39159
39160         * PluginProcess/WebProcessConnection.cpp:
39161         (WebKit::ConnectionStack::current):
39162         (WebKit::ConnectionStack::CurrentConnectionPusher::CurrentConnectionPusher):
39163         (WebKit::ConnectionStack::CurrentConnectionPusher::~CurrentConnectionPusher):
39164         Add a helper class for managing a stack of CoreIPC connections, along with a RAII
39165         object to push/pop connections onto it.
39166
39167         (WebKit::connectionStack):
39168         Add getter.
39169
39170         (WebKit::WebProcessConnection::setGlobalException):
39171         Get the current connection and send a PluginProcessConnection::SetException message to it.
39172
39173         (WebKit::WebProcessConnection::didReceiveMessage):
39174         (WebKit::WebProcessConnection::didReceiveSyncMessage):
39175         Create connection pushers.
39176
39177         * PluginProcess/WebProcessConnection.h:
39178         Add setGlobalException.
39179
39180         * WebKit2.pro:
39181         * WebKit2.xcodeproj/project.pbxproj:
39182         Add new files.
39183
39184         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
39185         (WebKit::NetscapePlugin::setSetExceptionFunction):
39186         New function for setting the 'setException' function.
39187
39188         (WebKit::NetscapePlugin::setException):
39189         Call the 'setException' function.
39190
39191         * WebProcess/Plugins/PluginProcessConnection.cpp:
39192         (WebKit::PluginProcessConnection::didReceiveSyncMessage):
39193         Call the message receiver function.
39194
39195         (WebKit::PluginProcessConnection::setException):
39196         Call the NPRuntimeObjectMap.
39197         
39198         * WebProcess/Plugins/PluginProcessConnection.messages.in:
39199         Add new messages file.
39200
39201         * WebProcess/WebPage/WebPage.cpp:
39202         (WebKit::WebPage::createPlugin):
39203         When not using the plug-in process, make sure to call NetscapePlugin::setSetExceptionFunction.
39204
39205 2011-09-02  Ada Chan  <adachan@apple.com>
39206
39207         Add WKContextGarbageCollectJavaScriptObjects() which does a garbage collection in the WebProcess
39208         https://bugs.webkit.org/show_bug.cgi?id=67526
39209
39210         Reviewed by Darin Adler.
39211
39212         * UIProcess/API/C/WKContext.cpp:
39213         (WKContextGarbageCollectJavaScriptObjects):
39214         * UIProcess/API/C/WKContext.h:
39215         * UIProcess/WebContext.cpp:
39216         (WebKit::WebContext::garbageCollectJavaScriptObjects): Send a message to WebProcess to garbage collect JS objects.
39217         * UIProcess/WebContext.h:
39218         * WebProcess/WebProcess.cpp:
39219         (WebKit::WebProcess::garbageCollectJavaScriptObjects): Call GCController::garbageCollectNow().
39220         * WebProcess/WebProcess.h:
39221         * WebProcess/WebProcess.messages.in: Add GarbageCollectJavaScriptObjects message.
39222
39223 2011-09-02  Anders Carlsson  <andersca@apple.com>
39224
39225         Remove plug-in paths from web process sandbox
39226         https://bugs.webkit.org/show_bug.cgi?id=67518
39227
39228         Reviewed by Adam Roben.
39229
39230         Plug-ins are never accessed from the web process, so remove plug-in paths from the sandbox profile.
39231
39232         * WebProcess/com.apple.WebProcess.sb:
39233
39234 2011-09-02  Anders Carlsson  <andersca@apple.com>
39235
39236         Assertion/crash when running netscape-plugin-property-access-exception.html test
39237         https://bugs.webkit.org/show_bug.cgi?id=67517
39238
39239         Reviewed by Adam Roben.
39240
39241         Make sure to initialize the NPVariant in case the plug-in returns true from NP_GetProperty,
39242         but doesn't set the result NPVariant to anything.
39243
39244         * Shared/Plugins/NPObjectMessageReceiver.cpp:
39245         (WebKit::NPObjectMessageReceiver::getProperty):
39246
39247 2011-09-02  Anders Carlsson  <andersca@apple.com>
39248
39249         The private browsing state isn't saved when it changes
39250         https://bugs.webkit.org/show_bug.cgi?id=67508
39251
39252         Reviewed by Sam Weinig.
39253
39254         Store the new private browsing state so subsequent queries for it
39255         will return the right value.
39256
39257         * PluginProcess/PluginControllerProxy.cpp:
39258         (WebKit::PluginControllerProxy::privateBrowsingStateChanged):
39259
39260 2011-09-02  Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
39261
39262         [WK2] Anchor elements doesn't get focus on TAB key press.
39263         https://bugs.webkit.org/show_bug.cgi?id=66949
39264
39265         Reviewed by Adam Roben.
39266
39267         Setting the default property value of TabsToLinks to true
39268         only for GTK platform since Win & Mac platforms doesn't want 
39269         it to be set to true by default.
39270
39271         * Shared/WebPreferencesStore.h:
39272         Set the default value of key TabsToLinks to true for GTK platform only.
39273
39274 2011-09-02  Balazs Kelemen  <kbalazs@webkit.org>
39275
39276         [Qt][WK2] Cannot gathering glyph page statistics
39277         https://bugs.webkit.org/show_bug.cgi?id=67475
39278
39279         Rubber stamped by Csaba Osztrogonác.
39280
39281         Fix Qt WK2 build without having QRAWFONT.
39282
39283         * WebProcess/WebProcess.cpp:
39284         (WebKit::WebProcess::getWebCoreStatistics):
39285
39286 2011-09-02  Mark Rowe  <mrowe@apple.com>
39287
39288         <http://webkit.org/b/67467> WebProcessProxy::secItemCopyMatching / WebProcessProxy::secItemAdd
39289         leak the results of the APIs they wrap.
39290
39291         Reviewed by Dan Bernstein.
39292
39293         * UIProcess/mac/WebProcessProxyMac.mm:
39294         (WebKit::WebProcessProxy::secItemCopyMatching): Adopt the result of SecItemCopyMatching in to a
39295         RetainPtr to ensure it gets released at the appropriate time.
39296         (WebKit::WebProcessProxy::secItemAdd): Ditto for SecItemAdd.
39297
39298 2011-09-01  Ada Chan  <adachan@apple.com>
39299
39300         Cut down the ifdefs in WebKit::getWebCoreMemoryCacheStatistics() now that 
39301         MemoryCache::Statistics always has the xslStyleSheets field.
39302
39303         Reviewed by Darin Adler.
39304
39305         * WebProcess/WebProcess.cpp:
39306         (WebKit::getWebCoreMemoryCacheStatistics):
39307
39308 2011-09-01  Mark Hahnenberg  <mhahnenberg@apple.com>
39309
39310         Unzip initialization lists and constructors in JSCell hierarchy (4/7)
39311         https://bugs.webkit.org/show_bug.cgi?id=67174
39312
39313         Reviewed by Oliver Hunt.
39314
39315         Completed the fourth level of the refactoring to add finishCreation() 
39316         methods to all classes within the JSCell hierarchy with non-trivial 
39317         constructor bodies.
39318
39319         This primarily consists of pushing the calls to finishCreation() down 
39320         into the constructors of the subclasses of the second level of the hierarchy 
39321         as well as pulling the finishCreation() calls out into the class's corresponding
39322         create() method if it has one.  Doing both simultaneously allows us to 
39323         maintain the invariant that the finishCreation() method chain is called exactly 
39324         once during the creation of an object, since calling it any other number of 
39325         times (0, 2, or more) will cause an assertion failure.
39326
39327         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
39328         (WebKit::JSNPObject::JSNPObject):
39329         (WebKit::JSNPObject::finishCreation):
39330         * WebProcess/Plugins/Netscape/JSNPObject.h:
39331
39332 2011-09-01  Ada Chan  <adachan@apple.com>
39333
39334         Gather memory cache statistics in WebProcess::getWebCoreStatistics().
39335         https://bugs.webkit.org/show_bug.cgi?id=67160
39336
39337         Reviewed by Darin Adler.
39338
39339         Encode and decode webCoreCacheStatistics data member in StatisticsData.
39340         * Shared/StatisticsData.cpp:
39341         (WebKit::StatisticsData::encode):
39342         (WebKit::StatisticsData::decode):
39343         * Shared/StatisticsData.h:
39344
39345         Convert the cache statistics data into an ImmutableArray and return it in WebContext::didGetWebCoreStatistics().
39346         * UIProcess/WebContext.cpp:
39347         (WebKit::WebContext::didGetWebCoreStatistics):
39348
39349         Store memory cache statistics into the StatisticsData object.
39350         * WebProcess/WebProcess.cpp:
39351         (WebKit::getWebCoreMemoryCacheStatistics):
39352         (WebKit::WebProcess::getWebCoreStatistics):
39353
39354 2011-09-01  Tim Horton  <timothy_horton@apple.com>
39355
39356         REGRESSION: Rendering artifacts on a rotated, pattern filled shape
39357         https://bugs.webkit.org/show_bug.cgi?id=53055
39358         <rdar://problem/8910917>
39359
39360         Reviewed by Simon Fraser.
39361
39362         Introduce wkCGPatternCreateWithImageAndTransform.
39363
39364         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
39365         (InitWebCoreSystemInterface):
39366
39367 2011-09-01  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
39368
39369         [Qt] TouchWebView crashes with segmentation fault
39370         https://bugs.webkit.org/show_bug.cgi?id=67308
39371
39372         Reviewed by Benjamin Poulain.
39373
39374         If you instantiate TouchWebView element with height and width in a qml file and
39375         load a url it crashes.
39376         The functions setWidth() and setHeight() are called sequentially therefore it can happen
39377         that computeViewportAttributes was called with a size like (width, 0) breaking the
39378         assumption of the function that the size is valid. The patch makes sure we compute the
39379         viewport when both height and width are valid.
39380
39381         * UIProcess/API/qt/qtouchwebview.cpp:
39382         (QTouchWebViewPrivate::updateViewportConstraints):
39383         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml: Added.
39384         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml: Added.
39385         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml: Added.
39386         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
39387
39388 2011-09-01  Ada Chan  <adachan@apple.com>
39389
39390         Gather JavaScript, FastMalloc, icon, font, and glyph page statistics in WebProcess::getWebCoreStatistics().
39391         https://bugs.webkit.org/show_bug.cgi?id=67160
39392
39393         Reviewed by Darin Adler.
39394
39395         Encode and decode the data members in StatisticsData.
39396         * Shared/StatisticsData.cpp:
39397         (WebKit::StatisticsData::encode):
39398         (WebKit::StatisticsData::decode):
39399         (WebKit::StatisticsData::StatisticsData):
39400
39401         Add three data members to StatisticsData:
39402         - statisticsNumbers: Map containing statistics values that are numbers, mapped by their names, such as 
39403         JavaScriptObjectsCount, CachedFontDataCount, etc.
39404         - javaScriptProtectedObjectTypeCounts
39405         - javaScriptObjectTypeCounts
39406         * Shared/StatisticsData.h:
39407
39408         Create a WK::Dictionary containing statistics values mapped by their names and return that dictionary
39409         in WebContext::didGetWebCoreStatistics().
39410         * UIProcess/WebContext.cpp:
39411         (WebKit::createDictionaryFromHashMap):
39412         (WebKit::WebContext::didGetWebCoreStatistics):
39413
39414         Package JavaScript, FastMalloc, icon, font, and glyph page statistics into a StatisticsData object
39415         and send it to the UIProcess.
39416         * WebProcess/WebProcess.cpp:
39417         (WebKit::fromCountedSetToHashMap):
39418         (WebKit::WebProcess::getWebCoreStatistics):
39419
39420 2011-09-01  Xan Lopez  <xlopez@igalia.com>
39421
39422         [GTK] Add XRender lib dependencies explicitly
39423
39424         Reviewed by Philippe Normand.
39425
39426         This is needed when using the GNU/Gold linker, since we use
39427         XRender directly.
39428
39429         * GNUmakefile.am:
39430
39431 2011-08-31  Anders Carlsson  <andersca@apple.com>
39432
39433         Jagged text shown in find-in-page highlight
39434         https://bugs.webkit.org/show_bug.cgi?id=67347
39435         <rdar://problem/9870444>
39436
39437         Reviewed by Dan Bernstein.
39438
39439         When painting each text line in the find indicator, make sure to clip it against
39440         the text rect and not paint the entire rect over and over.
39441
39442         * UIProcess/FindIndicator.cpp:
39443         (WebKit::FindIndicator::draw):
39444
39445 2011-08-31  Beth Dakin  <bdakin@apple.com>
39446
39447         https://bugs.webkit.org/show_bug.cgi?id=67322
39448         Re-name overrideBackingScaleFactor
39449
39450         Reviewed by John Sullivan.
39451
39452         API is now WKPageSetCustomBackingScaleFactor() and WKPageGetBackingScaleFactor() 
39453         which returns the custom scale factor if one was set, and the intrinsic scale 
39454         factor otherwise. 
39455         * UIProcess/API/C/WKPage.cpp:
39456         (WKPageGetBackingScaleFactor):
39457         (WKPageSetCustomBackingScaleFactor):
39458         * UIProcess/API/C/WKPage.h:
39459
39460         Re-named _deviceScaleFactor to _intrinsicDeviceScaleFactor since it only ever 
39461         refers to the intrinsic value.
39462         * UIProcess/API/mac/WKView.mm:
39463         (-[WKView viewDidMoveToWindow]):
39464         (-[WKView _windowDidChangeResolution:]):
39465         (-[WKView _intrinsicDeviceScaleFactor]):
39466
39467         WebPageProxy stores both the customDeviceScaleFactor and the 
39468         intrinsicDeviceScaleFactor. deviceScaleFactor() returns the appropriate value that 
39469         should be the one used. 
39470         * UIProcess/WebPageProxy.cpp:
39471         (WebKit::WebPageProxy::WebPageProxy):
39472         (WebKit::WebPageProxy::setIntrinsicDeviceScaleFactor):
39473         (WebKit::WebPageProxy::deviceScaleFactor):
39474         (WebKit::WebPageProxy::setCustomDeviceScaleFactor):
39475         (WebKit::WebPageProxy::creationParameters):
39476         * UIProcess/WebPageProxy.h:
39477
39478 2011-08-31  Anders Carlsson  <andersca@apple.com>
39479
39480         REGRESSION(r93902): Can't open external links on gmail
39481         https://bugs.webkit.org/show_bug.cgi?id=67234
39482         <rdar://problem/10053636>
39483
39484         Reviewed by Alexey Proskuryakov.
39485
39486         * Shared/cf/ArgumentCodersCF.cpp:
39487         (CoreIPC::decode):
39488         If we encounter an empty URL string, create an empty url by using NSURL, just
39489         like we do in WebCore when converting an empty KURL to an NSURL.
39490
39491         * WebKit2.xcodeproj/project.pbxproj:
39492         Compile ArgumentCodersCF.cpp as Objective-C++ for now.
39493
39494 2011-08-30  Beth Dakin  <bdakin@apple.com>
39495
39496         https://bugs.webkit.org/show_bug.cgi?id=67150
39497         Would like API to use a custom device scale factor for a particular WebView/WKView
39498         -and corresponding-
39499         <rdar://problem/10041016>
39500
39501         Reviewed by Darin Adler.
39502
39503         New API is setOverrideBackingScaleFactor() on WKPage
39504         * UIProcess/API/C/WKPage.cpp:
39505         (WKPageGetOverrideBackingScaleFactor):
39506         (WKPageSetOverrideBackingScaleFactor):
39507         * UIProcess/API/C/WKPage.h:
39508         * UIProcess/WebPageProxy.cpp:
39509         (WebKit::WebPageProxy::WebPageProxy):
39510         (WebKit::WebPageProxy::deviceScaleFactor):
39511         (WebKit::WebPageProxy::setOverrideBackingScaleFactor):
39512         * UIProcess/WebPageProxy.h:
39513         (WebKit::WebPageProxy::overrideBackingScaleFactor):
39514
39515 2011-08-30  Aaron Colwell  <acolwell@chromium.org>
39516
39517         Add MediaSource API to HTMLMediaElement
39518         https://bugs.webkit.org/show_bug.cgi?id=64731
39519
39520         Reviewed by Eric Carlson.
39521
39522         * Configurations/FeatureDefines.xcconfig:
39523
39524 2011-08-30  Ada Chan  <adachan@apple.com>
39525
39526         Laying some groundwork to fetch performance statistics from WebProcess.
39527         https://bugs.webkit.org/show_bug.cgi?id=67160
39528
39529         Reviewed by Darin Adler.
39530
39531         Add WKContextGetStatistics() which sends a message to WebProcess to fetch the performance statistics.
39532         * UIProcess/API/C/WKContext.cpp:
39533         (WKContextGetStatistics):
39534         * UIProcess/API/C/WKContext.h:
39535         * UIProcess/WebContext.cpp:
39536         (WebKit::WebContext::~WebContext):
39537         (WebKit::WebContext::getWebCoreStatistics):
39538         (WebKit::WebContext::didGetWebCoreStatistics):
39539         * UIProcess/WebContext.h:
39540         * UIProcess/WebContext.messages.in: Add the DidGetWebCoreStatistics message that WebProcess can send when it has
39541         the performance statistics ready.
39542
39543         Add WebProcess::getWebCoreStatistics().  Currently it just sends back an empty StatisticsData object.
39544         It will gather the performance statistics to store in the StatisticsData object in a future patch.
39545         * WebProcess/WebProcess.cpp:
39546         (WebKit::WebProcess::getWebCoreStatistics):
39547         * WebProcess/WebProcess.h:
39548         * WebProcess/WebProcess.messages.in:
39549
39550         Add the skeleton for StatisticsData.
39551         * Scripts/webkit2/messages.py:
39552         * Shared/StatisticsData.cpp: Added.
39553         (WebKit::StatisticsData::encode):
39554         (WebKit::StatisticsData::decode):
39555         (WebKit::StatisticsData::StatisticsData):
39556         * Shared/StatisticsData.h: Added.
39557
39558         Add StatisticsData.h/cpp to project.
39559         * CMakeLists.txt:
39560         * GNUmakefile.am:
39561         * WebKit2.pro:
39562         * WebKit2.xcodeproj/project.pbxproj:
39563         * win/WebKit2.vcproj:
39564
39565 2011-08-29  Alexey Proskuryakov  <ap@apple.com>
39566
39567         DumpRenderTree should begin each test with an empty cookie store
39568         https://bugs.webkit.org/show_bug.cgi?id=63545
39569         <rdar://problem/5666907>
39570
39571         Reviewed by Darin Adler.
39572
39573         * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
39574         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
39575         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
39576         Updated to use currentCFHTTPCookieStorage() instead of privateBrowsingCookieStorage().
39577
39578         * WebProcess/Cookies/mac/WebCookieManagerMac.mm:
39579         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
39580         There is no no need to access cookie storage through session manually - we already have code
39581         for that in WebCore.
39582
39583         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
39584         (WKBundleSwitchNetworkLoaderToNewTestingSession):
39585         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
39586         * WebProcess/InjectedBundle/InjectedBundle.cpp:
39587         (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession):
39588         * WebProcess/InjectedBundle/InjectedBundle.h:
39589         Exposed bundle SPI to use a private default session. It's separate from private browsing,
39590         because some tests enable the latter, and we don't want to mix them up.
39591
39592         * WebProcess/WebPage/mac/WebPageMac.mm:
39593         (WebKit::WebPage::platformHasLocalDataForURL):
39594         (WebKit::cachedResponseForURL):
39595         Updated to use currentStorageSession() instead of privateBrowsingStorageSession().
39596
39597         * WebProcess/win/WebProcessWin.cpp: (WebKit::WebProcess::platformInitializeWebProcess):
39598         ResourceHandle::setDefaultStorageSession() no longer steals a reference, so retain it properly.
39599
39600 2011-08-30  Alexis Menard  <alexis.menard@openbossa.org>
39601
39602         [Qt][WK2] Make mouse over work again for QDesktopWebView.
39603         https://bugs.webkit.org/show_bug.cgi?id=67200
39604
39605         Reviewed by Noam Rosenthal.
39606
39607         The API has changed after QGraphicsView, SceneGraph sends
39608         QHoverEvents now.
39609
39610         * UIProcess/qt/qdesktopwebpageproxy.cpp:
39611         (QDesktopWebPageProxy::handleEvent):
39612         (QDesktopWebPageProxy::handleHoverMoveEvent):
39613         * UIProcess/qt/qdesktopwebpageproxy.h:
39614
39615 2011-08-30  Kaustubh Atrawalkar  <kaustubh@motorola.com>
39616
39617         The unused ScrollView* argument can and should be removed from
39618         scrollRectIntoView.
39619         https://bugs.webkit.org/show_bug.cgi?id=67117
39620
39621         Reviewed by Darin Adler.
39622
39623         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
39624         (WebKit::WebChromeClient::scrollRectIntoView):
39625         * WebProcess/WebCoreSupport/WebChromeClient.h:
39626
39627 2011-08-29  Ryosuke Niwa  <rniwa@webkit.org>
39628
39629         Another Windows build fix after r94047.
39630
39631         * win/WebKit2.def:
39632         * win/WebKit2CFLite.def:
39633
39634 2011-08-29  Ryosuke Niwa  <rniwa@webkit.org>
39635
39636         Export more symbols for r94038.
39637
39638         * win/WebKit2.def:
39639         * win/WebKit2CFLite.def:
39640
39641 2011-08-29  Ryosuke Niwa  <rniwa@webkit.org>
39642
39643         Windows build fix for r94038.
39644
39645         * win/WebKit2.def:
39646         * win/WebKit2CFLite.def:
39647
39648 2011-08-29  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
39649
39650
39651         [Qt] QTouchWebView url property test missing
39652         https://bugs.webkit.org/show_bug.cgi?id=67159
39653
39654         Reviewed by Noam Rosenthal.
39655
39656         Added qml test case to check url property of QTouchWebView. Since url is a readonly property, we make sure that it's set after load() is called.
39657
39658         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml:
39659
39660 2011-08-29  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
39661
39662         [Qt] QDesktopWebView url property test missing
39663         https://bugs.webkit.org/show_bug.cgi?id=67155
39664
39665         Reviewed by Noam Rosenthal.
39666
39667         Added qml test case to check url property. Since url is a readonly property, we make sure that it's set after load() is called.
39668
39669         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml:
39670
39671 2011-08-29  Sheriff Bot  <webkit.review.bot@gmail.com>
39672
39673         Unreviewed, rolling out r93987, r93992, r93995, r93998, and
39674         r93999.
39675         http://trac.webkit.org/changeset/93987
39676         http://trac.webkit.org/changeset/93992
39677         http://trac.webkit.org/changeset/93995
39678         http://trac.webkit.org/changeset/93998
39679         http://trac.webkit.org/changeset/93999
39680         https://bugs.webkit.org/show_bug.cgi?id=67147
39681
39682         Many failing tests (Requested by ap on #webkit).
39683
39684         * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
39685         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
39686         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
39687         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
39688         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
39689         * WebProcess/InjectedBundle/InjectedBundle.cpp:
39690         * WebProcess/InjectedBundle/InjectedBundle.h:
39691         * WebProcess/win/WebProcessWin.cpp:
39692         (WebKit::WebProcess::platformInitializeWebProcess):
39693
39694 2011-08-26  Martin Robinson  <mrobinson@igalia.com>
39695
39696         Reviewed by Xan Lopez.
39697
39698         [GTK] Build WebKit2 unconditionally
39699         https://bugs.webkit.org/show_bug.cgi?id=62749
39700
39701         Build WebKit2 by default. This will make the bots build it and catch
39702         build errors when they occur.
39703
39704         * GNUmakefile.am: Enable WebKit2 by default, but remove references to the WebKit2
39705         PC file, which should not be shipped until WebKit2 is actually shipped officially.
39706
39707 2011-08-29  Alexey Proskuryakov  <ap@apple.com>
39708
39709         Windows build fix.
39710
39711         * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
39712         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
39713         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
39714         Updated for new function name and signature: currentCFHTTPCookieStorage().
39715
39716 2011-08-26  Alexey Proskuryakov  <ap@apple.com>
39717
39718         DumpRenderTree should begin each test with an empty cookie store
39719         https://bugs.webkit.org/show_bug.cgi?id=63545
39720         <rdar://problem/5666907>
39721
39722         Reviewed by Darin Adler.
39723
39724         * WebProcess/win/WebProcessWin.cpp: (WebKit::WebProcess::platformInitializeWebProcess):
39725         ResourceHandle::setDefaultStorageSession() no longer steals a reference, so retain it properly.
39726
39727         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
39728         (WKBundleUsePrivateSessionForNetworkLoading):
39729         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
39730         * WebProcess/InjectedBundle/InjectedBundle.cpp:
39731         (WebKit::InjectedBundle::usePrivateSessionForNetworkLoading):
39732         * WebProcess/InjectedBundle/InjectedBundle.h:
39733         Exposed bundle SPI to use a private default session. It's separate from private browsing,
39734         because some tests enable the latter, and we don't want to mix them up.
39735
39736 2011-08-29  Chris Marrin  <cmarrin@apple.com>
39737
39738         Fixed a build problem caused by http://trac.webkit.org/changeset/93980
39739
39740         Unreviewed.
39741
39742         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
39743
39744 2011-08-23  Chris Marrin  <cmarrin@apple.com>
39745
39746         [mac] requestAnimationFrame support for mac port
39747         https://bugs.webkit.org/show_bug.cgi?id=59146
39748
39749         Reviewed by Simon Fraser.
39750
39751         Implement requestAnimationFrame for WebKit2. Add a
39752         CFRunLoopObserver to WebPage, which runs just before
39753         the syncCompositingState RLO and calls into the 
39754         ScriptedAnimationController if scheduleAnimation() has
39755         been called.
39756
39757         * Configurations/FeatureDefines.xcconfig:
39758         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
39759         (WebKit::WebChromeClient::scheduleAnimation):
39760         * WebProcess/WebCoreSupport/WebChromeClient.h:
39761         * WebProcess/WebPage/WebPage.cpp:
39762         (WebKit::WebPage::WebPage):
39763         (WebKit::WebPage::~WebPage):
39764         * WebProcess/WebPage/WebPage.h:
39765         * WebProcess/WebPage/mac/WebPageMac.mm:
39766         (WebKit::WebPage::requestAnimationFrameRunLoopObserverCallback):
39767         (WebKit::WebPage::scheduleAnimation):
39768         (WebKit::WebPage::unscheduleAnimation):
39769         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.cpp:
39770         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
39771
39772 2011-08-29  Pierre Rossi  <pierre.rossi@gmail.com>
39773
39774         [Qt] NPAPI support doesn't honor the ENABLE_NETSCAPE_PLUGIN_API define in WebKit2
39775         https://bugs.webkit.org/show_bug.cgi?id=67123
39776
39777         We could simply use the defines already in place for this.
39778
39779         Reviewed by Andreas Kling.
39780
39781         * WebKit2.pro:
39782
39783 2011-08-29  Vamshikrishna Yellenki  <vamshi@motorola.com>
39784
39785         [GTK][WK2] Compilation error in WebKit2 GTK - Revision 93953
39786         https://bugs.webkit.org/show_bug.cgi?id=67111
39787
39788         Reviewed by Martin Robinson.
39789
39790         WebKit2 GTK build error.
39791
39792         * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
39793         Include <WebCore/ResourceError.h> explicitly to remove WebCore::ResourceError
39794         inclusion error.
39795
39796 2011-08-28  Balazs Kelemen  <kbalazs@webkit.org>
39797
39798         [Qt][WK2] Unreviewed build fix.
39799
39800         * UIProcess/qt/QtWebPageProxy.cpp:
39801         (QtWebPageProxy::init): Initialize the WKPageUIClient with memset
39802         to avoid missing initializer warning. The missing initializer is the
39803         result of using a version 0 WKPageUIClient while it has newer version (1).
39804         We have nothing to do with the callbacks in the new version so I voted
39805         for memset.
39806         * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp: Include ResourceError.h.
39807
39808 2011-08-26  Sam Weinig  <sam@webkit.org>
39809
39810         Stop using custom NSErrors for WebKit2 WebErrors
39811         https://bugs.webkit.org/show_bug.cgi?id=67075
39812
39813         Reviewed by Anders Carlsson.
39814
39815         * WebProcess/WebCoreSupport/WebErrors.h:
39816         * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
39817         (WebKit::createNSError):
39818         (WebKit::cancelledError):
39819         (WebKit::fileDoesNotExistError):
39820         (WebKit::blockedError):
39821         (WebKit::cannotShowURLError):
39822         (WebKit::interruptedForPolicyChangeError):
39823         (WebKit::cannotShowMIMETypeError):
39824         (WebKit::pluginWillHandleLoadError):
39825         There is no reason to use custom registered NSErrors anymore, so don't.
39826
39827 2011-08-26  Anders Carlsson  <andersca@apple.com>
39828
39829         Fix build.
39830
39831         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
39832
39833 2011-08-26  Sam Weinig  <sam@webkit.org>
39834
39835         Fold _webkit_initWithDomain into _webkit_errorWithDomain in WebKit2
39836         https://bugs.webkit.org/show_bug.cgi?id=67063
39837
39838         Reviewed by Anders Carlsson.
39839
39840         * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
39841         (+[NSError _webkit_errorWithDomain:code:URL:]):
39842
39843 2011-08-26  Anders Carlsson  <andersca@apple.com>
39844
39845         Implement NPN_ScheduleTimer/NPN_UnscheduleTimer
39846         https://bugs.webkit.org/show_bug.cgi?id=67062
39847
39848         Reviewed by Sam Weinig.
39849
39850         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
39851         (WebKit::NPN_ScheduleTimer):
39852         Call NetscapePlugin::scheduleTimer.
39853
39854         (WebKit::NPN_UnscheduleTimer):
39855         Call NetscapePlugin::unscheduleTimer.
39856
39857         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
39858         (WebKit::NetscapePlugin::NetscapePlugin):
39859         Initialize m_nextTimerID.
39860
39861         (WebKit::NetscapePlugin::Timer::start):
39862         Start the timer.
39863
39864         (WebKit::NetscapePlugin::Timer::stop):
39865         Stop the timer.
39866
39867         (WebKit::NetscapePlugin::Timer::timerFired):
39868         Call the right callback and unschedule the timer object if it's not a repeating timer.
39869
39870         (WebKit::NetscapePlugin::scheduleTimer):
39871         Create a new timer and start it.
39872
39873         (WebKit::NetscapePlugin::unscheduleTimer):
39874         Get the timer from the map and destroy it.
39875         
39876         (WebKit::NetscapePlugin::destroy):
39877         Destroy all timers.
39878
39879         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
39880         Add Timer class.
39881
39882 2011-08-26  Sam Weinig  <sam@webkit.org>
39883
39884         Fix typo in Connection.cpp
39885         https://bugs.webkit.org/show_bug.cgi?id=67060
39886
39887         Reviewed by Anders Carlsson.
39888
39889         * Platform/CoreIPC/Connection.cpp:
39890         (CoreIPC::Connection::waitForSyncReply):
39891         We want timedOut, not timeout.  There is not a current way to cause this
39892         to be an issue. This issue was caught by the Clang Static Analyzer.
39893
39894 2011-08-26  Alice Liu  <alice.liu@apple.com>
39895
39896         https://bugs.webkit.org/show_bug.cgi?id=66823
39897         Add the request info to the WebPageProxy::CreateNewPage message
39898
39899         Reviewed by Anders Carlsson.
39900
39901         Update function declarations with additional ResourceRequest parameter:
39902         * UIProcess/API/C/WKPage.h:
39903         * UIProcess/WebPageProxy.cpp:
39904         (WebKit::WebPageProxy::createNewPage):
39905         * UIProcess/WebPageProxy.h:
39906         * UIProcess/WebPageProxy.messages.in:
39907         * UIProcess/WebUIClient.cpp:
39908         (WebKit::WebUIClient::createNewPage):
39909         * UIProcess/WebUIClient.h:
39910
39911         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
39912         (WebKit::WebChromeClient::createWindow): 
39913         Pass the ResourceRequest within the FrameLoadRequest.
39914
39915 2011-08-26  Alexis Menard  <alexis.menard@openbossa.org>
39916
39917         [Qt][WK2]REGRESSION(r93784): It made many tests crash
39918         https://bugs.webkit.org/show_bug.cgi?id=66958
39919
39920         Reviewed by Anders Carlsson.
39921
39922         Don't try to make sure the WebContext is deleted, for now the leak
39923         is intended and when multiple processes per context will be supported
39924         this leak should be fixed. This was the cause of DRT crashing on the bot,
39925         the context was deleted after the first test, letting other tests with nothing
39926         but a bad context.
39927
39928         * UIProcess/qt/QtWebPageProxy.cpp:
39929         (QtWebPageProxy::~QtWebPageProxy):
39930
39931 2011-08-26  Anders Carlsson  <andersca@apple.com>
39932
39933         Fix handling of keyup events in the new Cocoa text input model
39934         https://bugs.webkit.org/show_bug.cgi?id=67045
39935
39936         Reviewed by Sam Weinig.
39937
39938         Use a counter instead of a boolean for deciding when to ignore keyup events, because
39939         if multiple keys are pressed simultaneously then we need to ignore more than one keyup event in a row.
39940
39941         Also if a keyboard event is an autorepeating event we won't get a keyup event so don't increment the counter
39942         in that case.
39943
39944         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
39945         (WebKit::NetscapePlugin::NetscapePlugin):
39946         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
39947         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
39948         (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
39949
39950 2011-08-26  Jessie Berlin  <jberlin@apple.com>
39951
39952         Gut WKPageCreateSnapshotOfVisibleContent so that it can be removed later.
39953         https://bugs.webkit.org/show_bug.cgi?id=66979.
39954
39955         Removing the function altogether would break the nightlies.
39956         This patch removes the code behind it so that it is clear that
39957         WKPageCreateSnapshotOfVisibleContent should not be used, and so that the code isn't just
39958         left rotting in the tree.
39959
39960         Reviewed by Brian Weinstein.
39961
39962         * UIProcess/API/C/WKPage.cpp:
39963         (WKPageCreateSnapshotOfVisibleContent):
39964         Return 0.
39965         * UIProcess/API/C/WKPagePrivate.h:
39966         Update the comment and add a link to the bug.
39967
39968         * UIProcess/WebPageProxy.cpp:
39969         * UIProcess/WebPageProxy.h:
39970
39971         * WebProcess/WebPage/WebPage.cpp:
39972         * WebProcess/WebPage/WebPage.h:
39973         * WebProcess/WebPage/WebPage.messages.in:
39974
39975 2011-08-25  Anders Carlsson  <andersca@apple.com>
39976
39977         kNPEventStartIME doesn't work correctly for NPAPI
39978         https://bugs.webkit.org/show_bug.cgi?id=65264
39979         <rdar://problem/9996476>
39980
39981         Reviewed by Sam Weinig.
39982
39983         In order to remain compatible with older plug-ins, the updated input model won't
39984         be turned on unless a plug-in explicitly asks whether we support it. The plug-in must do
39985         this before any keyboard events have been processed.
39986
39987         * PluginProcess/mac/PluginControllerProxyMac.mm:
39988         (WebKit::PluginControllerProxy::setComplexTextInputState):
39989         Add the CoreIPC::DispatchMessageEvenWhenWaitingForSyncReply flag to this message since we want
39990         the web process to handle it while it's waiting for a reply to the PluginControllerProxy::HandleMouseEvent
39991         synchronous message.
39992
39993         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
39994         (WebKit::NPN_GetValue):
39995         Implement the logic for when to turn off the legacy Cocoa text input model support.
39996
39997         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
39998         (WebKit::NetscapePlugin::NetscapePlugin):
39999         Initialize m_ignoreNextKeyUpEvent to false.
40000
40001         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
40002         Add m_ignoreNextKeyUpEvent member variable.
40003
40004         (WebKit::NetscapePlugin::hasHandledAKeyDownEvent):
40005         Add a getter.
40006
40007         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
40008         (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
40009         Don't send keydown and keyup events when complex text input is enabled in the updated model.
40010
40011 2011-08-25  Anders Carlsson  <andersca@apple.com>
40012
40013         Correctly handle events in the updated Cocoa text input model
40014         https://bugs.webkit.org/show_bug.cgi?id=67005
40015
40016         Reviewed by Sam Weinig.
40017
40018         * UIProcess/API/mac/WKTextInputWindowController.mm:
40019         (-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]):
40020         When using the updated model, always return a string even for 'simple' characters.
40021
40022         * UIProcess/API/mac/WKView.mm:
40023         (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
40024         Only let the input method have a crack at the event in the legacy model.
40025
40026 2011-08-25  Jeff Miller  <jeffm@apple.com>
40027
40028         Move Windows-specific WebPageProxy code to WebPageProxyWin.cpp
40029         https://bugs.webkit.org/show_bug.cgi?id=67002
40030
40031         Reviewed by Brian Weinstein.
40032
40033         * UIProcess/WebPageProxy.cpp: Moved Windows-only functions to WebPageProxyWin.cpp.
40034         
40035         * UIProcess/win/WebPageProxyWin.cpp:
40036         (WebKit::WebPageProxy::firstRectForCharacterInSelectedRange): Moved from WebPageProxy.cpp.
40037         (WebKit::WebPageProxy::getSelectedText): Moved from WebPageProxy.cpp.
40038         (WebKit::WebPageProxy::gestureWillBegin): Moved from WebPageProxy.cpp.
40039         (WebKit::WebPageProxy::gestureDidScroll): Moved from WebPageProxy.cpp.
40040         (WebKit::WebPageProxy::gestureDidEnd): Moved from WebPageProxy.cpp.
40041         (WebKit::WebPageProxy::setGestureReachedScrollingLimit): Moved from WebPageProxy.cpp.
40042         (WebKit::WebPageProxy::startDragDrop): Moved from WebPageProxy.cpp.
40043         (WebKit::WebPageProxy::didChangeCompositionSelection): Moved from WebPageProxy.cpp.
40044         (WebKit::WebPageProxy::confirmComposition): Moved from WebPageProxy.cpp.
40045         (WebKit::WebPageProxy::setComposition): Moved from WebPageProxy.cpp.
40046
40047 2011-08-25  Anders Carlsson  <andersca@apple.com>
40048
40049         Handle key-down events in the updated Cocoa text input model
40050         https://bugs.webkit.org/show_bug.cgi?id=67001
40051
40052         Reviewed by Sam Weinig.
40053
40054         * UIProcess/API/mac/WKView.mm:
40055         (-[WKView performKeyEquivalent:]):
40056         Call _disableComplexTextInputIfNecessary so that we'll inform the plug-in that complex text
40057         input has been disabled.
40058
40059         (-[WKView _disableComplexTextInputIfNecessary]):
40060         If the plug-in is using the updated Cocoa text input model specification, disable text input
40061         if the text input window has been dismissed for whatever reason.
40062
40063         (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
40064         Call _disableComplexTextInputIfNecessary so that we'll inform the plug-in that complex text
40065         input has been disabled.
40066         
40067         (-[WKView _tryPostProcessPluginComplexTextInputKeyDown:]):
40068         If the plug-in is using the updated Cocoa text input model specification, let the input methods
40069         have a go at the keyboard event.
40070
40071         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
40072         (WebKit::NetscapePlugin::setComplexTextInputEnabled):
40073         Actually set m_isComplexTextInputEnabled to the right value.
40074
40075 2011-08-25  Anders Carlsson  <andersca@apple.com>
40076
40077         Factor code to send a key-down event to the plug-in out into a new function
40078         https://bugs.webkit.org/show_bug.cgi?id=66999
40079
40080         Reviewed by Darin Adler.
40081
40082         * UIProcess/API/mac/WKView.mm:
40083         (-[WKView _handlePluginComplexTextInputKeyDown:]):
40084         (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
40085
40086 2011-08-25  Anders Carlsson  <andersca@apple.com>
40087
40088         WKView should keep track of the plug-in complex text input state
40089         https://bugs.webkit.org/show_bug.cgi?id=66990
40090
40091         Reviewed by Sam Weinig.
40092
40093         * UIProcess/API/mac/WKView.mm:
40094         Add a _pluginComplexTextInputState ivar to WKViewData.
40095
40096         (-[WKView _setPluginComplexTextInputState:]):
40097         Set the _pluginComplexTextInputState variable. If text input is being disabled, send back an empty string to the plug-in.
40098
40099         (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
40100         Call -[WKView _setPluginComplexTextInputState:].
40101
40102 2011-08-25  Anders Carlsson  <andersca@apple.com>
40103
40104         Move file internal methods to a class continuation in WKView
40105         https://bugs.webkit.org/show_bug.cgi?id=66983
40106
40107         Reviewed by Dan Bernstein.
40108
40109         * UIProcess/API/mac/WKView.mm:
40110         (-[WKView _deviceScaleFactor]):
40111         (-[WKView _setDrawingAreaSize:]):
40112
40113 2011-08-25  Anders Carlsson  <andersca@apple.com>
40114
40115         More work on the updated Cocoa text input specification
40116         https://bugs.webkit.org/show_bug.cgi?id=66977
40117
40118         Reviewed by Sam Weinig.
40119
40120         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
40121         (WebKit::NetscapePlugin::NetscapePlugin):
40122         Initialize m_pluginWantsLegacyCocoaTextInput and m_hasHandledAKeyDownEvent.
40123
40124         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
40125         Add m_pluginWantsLegacyCocoaTextInput and m_hasHandledAKeyDownEvent.
40126         
40127         (WebKit::NetscapePlugin::setPluginWantsLegacyCocoaTextInput):
40128         Add setter. Not called yet.
40129
40130         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
40131         (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
40132         Set m_hasHandledAKeyDownEvent to true if we get a KeyDown event.
40133
40134         (WebKit::NetscapePlugin::sendComplexTextInput):
40135         If the plug-in is using the updated Cocoa text input spec, we can disable text input here.
40136
40137         (WebKit::NetscapePlugin::pluginFocusOrWindowFocusChanged):
40138         If the plug-in is using the updated Cocoa text input spec, text input is not enabled when
40139         the plug-in is focused.
40140
40141         (WebKit::NetscapePlugin::setComplexTextInputEnabled):
40142         Set the right text input state based on whether the plug-in is using the updated spec or not.
40143
40144 2011-08-25  Anders Carlsson  <andersca@apple.com>
40145
40146         Return the correct value for NPNVsupportsCarbonBool
40147         https://bugs.webkit.org/show_bug.cgi?id=66964
40148
40149         Reviewed by Adam Roben.
40150
40151         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
40152         (WebKit::NPN_GetValue):
40153         Remove a FIXME and set the value to true.
40154
40155 2011-08-25  Alexis Menard  <alexis.menard@openbossa.org>
40156
40157         [Qt][WK2] Remove QWKContext class and make sure the WebProcessProxy life is correctly managed.
40158         https://bugs.webkit.org/show_bug.cgi?id=66886
40159
40160         Reviewed by Benjamin Poulain.
40161
40162         Remove QWKContext class from Qt APIs as it is too low level for the vision
40163         of the Qt5 API. QtWebPageProxy now holds directly a WebContext which can be a custom one
40164         or default created one. This patch also ensure that the WebProcessProxy is correctly
40165         destroyed at application exit by removing the circular references between the WebContext,
40166         WebProcessProxy, and WebPageProxy.
40167
40168         * UIProcess/API/qt/qdesktopwebview.cpp:
40169         (QDesktopWebViewPrivate::QDesktopWebViewPrivate):
40170         * UIProcess/API/qt/qtouchwebview.cpp:
40171         (QTouchWebViewPrivate::QTouchWebViewPrivate):
40172         * UIProcess/qt/ClientImpl.cpp:
40173         (qt_wk_setStatusText):
40174         * UIProcess/qt/ClientImpl.h:
40175         * UIProcess/qt/QtWebPageProxy.cpp:
40176         (QtWebPageProxy::defaultWKContext):
40177         (QtWebPageProxy::QtWebPageProxy):
40178         (QtWebPageProxy::~QtWebPageProxy):
40179         * UIProcess/qt/QtWebPageProxy.h:
40180         * UIProcess/qt/qdesktopwebpageproxy.cpp:
40181         (QDesktopWebPageProxy::QDesktopWebPageProxy):
40182         * UIProcess/qt/qdesktopwebpageproxy.h:
40183         * UIProcess/qt/qtouchwebpageproxy.cpp:
40184         (QTouchWebPageProxy::QTouchWebPageProxy):
40185         * UIProcess/qt/qtouchwebpageproxy.h:
40186         * UIProcess/qt/qwkcontext.cpp: Removed.
40187         * UIProcess/qt/qwkcontext.h: Removed.
40188         * UIProcess/qt/qwkcontext_p.h: Removed.
40189         * WebKit2.pro:
40190
40191 2011-08-23  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
40192
40193         [Qt][WK2] Drive tiling from the WebProcess and reuse TiledBackingStore.
40194         https://bugs.webkit.org/show_bug.cgi?id=66771
40195
40196         Reviewed by Tor Arne Vestbø.
40197
40198         We need the tiling logic to be moved to the web process to allow invalidated tile rects to be
40199         rendered with the same layout. This also allows the web process to render tiles into
40200         buffers readable directly by the GPU (on supported platforms). We also take the opportunity
40201         to use the TiledBackingStore in WebCore to have only one tiling implementation.
40202
40203         Before this patch:
40204         - TiledDrawingAreaProxy manages tiles from the UI process.
40205         - TiledDrawingArea received rendering requests for a rect and returns the result
40206           to the proxy through shared memory.
40207
40208         After this patch:
40209         - TiledDrawingArea uses a TiledBackingStore to manage tiles from the web process.
40210         - TiledBackingStoreRemoteTile forwards tile creations, update and removals to the proxy.
40211         - TiledDrawingAreaProxy updates the scene graph directly from requests.
40212
40213         It also implements tile buffer swapping correctly in SGTileNode, triggered by the DidRenderFrame message.
40214         Render throttling is implemented by waiting in TiledDrawingArea for the UI process to
40215         notify us when the last rendered frame is ready to make it to the screen.
40216         TiledDrawingAreaTileSets have been replaced by using two instances of TiledBackingStore instead.
40217
40218         * UIProcess/API/qt/qtouchwebpage.cpp:
40219         (QTouchWebPage::updatePaintNode):
40220         * UIProcess/API/qt/qtouchwebview.cpp:
40221         (QTouchWebViewPrivate::updateViewportState):
40222         * UIProcess/DrawingAreaProxy.h:
40223         (WebKit::DrawingAreaProxy::createTile):
40224         (WebKit::DrawingAreaProxy::updateTile):
40225         (WebKit::DrawingAreaProxy::didRenderFrame):
40226         (WebKit::DrawingAreaProxy::removeTile):
40227         * UIProcess/DrawingAreaProxy.messages.in:
40228         * UIProcess/TiledDrawingAreaProxy.cpp:
40229         (WebKit::TiledDrawingAreaProxy::create):
40230         (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
40231         (WebKit::TiledDrawingAreaProxy::~TiledDrawingAreaProxy):
40232         (WebKit::TiledDrawingAreaProxy::setVisibleContentRect):
40233         (WebKit::TiledDrawingAreaProxy::setContentsScale):
40234         (WebKit::TiledDrawingAreaProxy::renderNextFrame):
40235         (WebKit::TiledDrawingAreaProxy::sizeDidChange):
40236         (WebKit::TiledDrawingAreaProxy::paint):
40237         * UIProcess/TiledDrawingAreaProxy.h:
40238         * UIProcess/TiledDrawingAreaTile.h: Removed.
40239         * UIProcess/qt/SGAgent.cpp:
40240         (WebKit::NodeUpdateCreateTile::NodeUpdateCreateTile):
40241         (WebKit::NodeUpdateRemoveTile::NodeUpdateRemoveTile):
40242         (WebKit::NodeUpdateSetBackBuffer::NodeUpdateSetBackBuffer):
40243         (WebKit::NodeUpdateSwapTileBuffers::NodeUpdateSwapTileBuffers):
40244         (WebKit::SGAgent::SGAgent):
40245         (WebKit::SGAgent::createTileNode):
40246         (WebKit::SGAgent::removeTileNode):
40247         (WebKit::SGAgent::setNodeBackBuffer):
40248         (WebKit::SGAgent::swapTileBuffers):
40249         (WebKit::SGAgent::updatePaintNode):
40250         (WebKit::SGAgent::getScaleNode):
40251         Make the parenting logic more strict to allow SGAgent to handle the scale nodes itself (remove NodeUpdateCreateScale and use the scale in CreateTile).
40252         Delete the scale node when the last of its child tiles has been removed.
40253
40254         * UIProcess/qt/SGAgent.h:
40255         (WebKit::SGAgent::isSwapPending):
40256
40257         * UIProcess/qt/SGTileNode.cpp:
40258         (WebKit::SGTileNode::SGTileNode):
40259         (WebKit::SGTileNode::setBackBuffer):
40260         (WebKit::SGTileNode::swapIfNeeded):
40261         Replace setTargetRect, setSourceRect and setTexture by a single setBackBuffer method.
40262         This allows all those values to be used only when swapIfNeeded is called later.
40263
40264         * UIProcess/qt/SGTileNode.h:
40265         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
40266         (WebKit::TiledDrawingAreaProxy::createTile):
40267         (WebKit::TiledDrawingAreaProxy::updateTile):
40268         (WebKit::TiledDrawingAreaProxy::didRenderFrame):
40269         (WebKit::TiledDrawingAreaProxy::removeTile):
40270         * UIProcess/qt/TiledDrawingAreaTileQt.cpp: Removed.
40271         * UIProcess/qt/qtouchwebpageproxy.cpp:
40272         (QTouchWebPageProxy::renderNextFrame):
40273         * UIProcess/qt/qtouchwebpageproxy.h:
40274         * WebKit2.pro:
40275         * WebProcess/WebPage/DrawingArea.h:
40276         (WebKit::DrawingArea::setVisibleContentRect):
40277         (WebKit::DrawingArea::setContentsScale):
40278         (WebKit::DrawingArea::renderNextFrame):
40279         * WebProcess/WebPage/DrawingArea.messages.in:
40280         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp: Added.
40281         (WebKit::TiledBackingStoreRemoteTile::TiledBackingStoreRemoteTile):
40282         (WebKit::TiledBackingStoreRemoteTile::~TiledBackingStoreRemoteTile):
40283         (WebKit::TiledBackingStoreRemoteTile::isDirty):
40284         (WebKit::TiledBackingStoreRemoteTile::invalidate):
40285         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
40286         (WebKit::TiledBackingStoreRemoteTile::swapBackBufferToFront):
40287         (WebKit::TiledBackingStoreRemoteTile::isReadyToPaint):
40288         (WebKit::TiledBackingStoreRemoteTile::paint):
40289         (WebKit::TiledBackingStoreRemoteTileBackend::TiledBackingStoreRemoteTileBackend):
40290         (WebKit::TiledBackingStoreRemoteTileBackend::createTile):
40291         (WebKit::TiledBackingStoreRemoteTileBackend::paintCheckerPattern):
40292         * WebProcess/WebPage/TiledBackingStoreRemoteTile.h: Added.
40293         (WebKit::TiledBackingStoreRemoteTile::create):
40294         (WebKit::TiledBackingStoreRemoteTile::coordinate):
40295         (WebKit::TiledBackingStoreRemoteTile::rect):
40296         (WebKit::TiledBackingStoreRemoteTileClient::~TiledBackingStoreRemoteTileClient):
40297         (WebKit::TiledBackingStoreRemoteTileBackend::create):
40298         * WebProcess/WebPage/TiledDrawingArea.cpp:
40299         (WebKit::TiledDrawingArea::TiledDrawingArea):
40300         (WebKit::TiledDrawingArea::setNeedsDisplay):
40301         (WebKit::TiledDrawingArea::setSize):
40302         (WebKit::TiledDrawingArea::setVisibleContentRect):
40303         (WebKit::TiledDrawingArea::setContentsScale):
40304         (WebKit::TiledDrawingArea::renderNextFrame):
40305         (WebKit::TiledDrawingArea::suspendPainting):
40306         (WebKit::TiledDrawingArea::resumePainting):
40307         (WebKit::TiledDrawingArea::tiledBackingStorePaintBegin):
40308         (WebKit::TiledDrawingArea::tiledBackingStorePaint):
40309         (WebKit::TiledDrawingArea::tiledBackingStorePaintEnd):
40310         (WebKit::TiledDrawingArea::tiledBackingStoreIsUpdatingAllowed):
40311         (WebKit::TiledDrawingArea::tiledBackingStoreContentsRect):
40312         (WebKit::TiledDrawingArea::tiledBackingStoreVisibleRect):
40313         (WebKit::TiledDrawingArea::tiledBackingStoreBackgroundColor):
40314         (WebKit::TiledDrawingArea::createTile):
40315         (WebKit::TiledDrawingArea::updateTile):
40316         (WebKit::TiledDrawingArea::removeTile):
40317         * WebProcess/WebPage/TiledDrawingArea.h:
40318         * WebProcess/WebPage/qt/TiledDrawingAreaQt.cpp: Removed.
40319
40320 2011-08-24  Michael Saboff  <msaboff@apple.com>
40321
40322         Improper comment in CoreIPC/ArgumentEncoder.cpp from 66464
40323         https://bugs.webkit.org/show_bug.cgi?id=66912
40324
40325         Updated the comment in ArgumentEncoder::grow to reflect that system malloc
40326         currently checks to see if a MADV_FREE_REUSABLE will fail before calling it.
40327
40328         Reviewed by Mark Rowe.
40329
40330         * Platform/CoreIPC/ArgumentEncoder.cpp:
40331         (CoreIPC::ArgumentEncoder::grow):
40332
40333 2011-08-24  Anders Carlsson  <andersca@apple.com>
40334
40335         Rename -[WKTextInputWindowController keyboardInputSourceChanged] to unmarkText to indicate what the method does
40336         https://bugs.webkit.org/show_bug.cgi?id=66883
40337
40338         Reviewed by Beth Dakin.
40339
40340         * UIProcess/API/mac/WKTextInputWindowController.h:
40341         * UIProcess/API/mac/WKTextInputWindowController.mm:
40342         (-[WKTextInputPanel _unmarkText]):
40343         (-[WKTextInputWindowController unmarkText]):
40344         * UIProcess/API/mac/WKView.mm:
40345         (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]):
40346
40347 2011-08-24  Oliver Hunt  <oliver@apple.com>
40348
40349         JSNPObject and JSNPMethod create their structure in their constructors
40350         https://bugs.webkit.org/show_bug.cgi?id=66879
40351
40352         Reviewed by Anders Carlsson.
40353
40354         It's not safe to create the Structure for an object inside its constructor
40355         so we hoist construction out into their ::create methods and move the methods
40356         into the cpp file.
40357
40358         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
40359         (WebKit::JSNPMethod::JSNPMethod):
40360         (WebKit::JSNPMethod::create):
40361         * WebProcess/Plugins/Netscape/JSNPMethod.h:
40362         (WebKit::JSNPMethod::create):
40363         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
40364         (WebKit::JSNPObject::JSNPObject):
40365         (WebKit::JSNPObject::create):
40366         * WebProcess/Plugins/Netscape/JSNPObject.h:
40367         (WebKit::JSNPObject::create):
40368
40369 2011-08-24  Anders Carlsson  <andersca@apple.com>
40370
40371         More plug-in complex text input scaffolding
40372         https://bugs.webkit.org/show_bug.cgi?id=66865
40373
40374         Reviewed by Sam Weinig.
40375
40376         Make -[WKView _doneWithKeyEvent:eventWasHandled:] take an NSEvent * directly. Also
40377         add methods for handling plug-in text input key-down events.
40378
40379         * UIProcess/API/mac/PageClientImpl.mm:
40380         (WebKit::PageClientImpl::doneWithKeyEvent):
40381         * UIProcess/API/mac/WKView.mm:
40382         (-[WKView _tryHandlePluginComplexTextInputKeyDown:]):
40383         (-[WKView keyDown:]):
40384         (-[WKView _tryPostProcessPluginComplexTextInputKeyDown:]):
40385         (-[WKView _doneWithKeyEvent:eventWasHandled:]):
40386         * UIProcess/API/mac/WKViewInternal.h:
40387
40388 2011-08-24  Amruth Raj  <amruthraj@motorola.com>
40389
40390         [GTK] WebProcess crash on hitting assertion m_isWaitingForDidUpdate in DrawingAreaImpl
40391         https://bugs.webkit.org/show_bug.cgi?id=66640
40392
40393         Reviewed by Martin Robinson.
40394
40395         The crash happens when a new timer is created in an existing timer callback. Since 
40396         TimerBase has a single GSource* it gets overridden and the old timer can never get
40397         stopped. To handle this, keep a copy of the old timer and use it for destruction.
40398
40399         * Platform/RunLoop.h:
40400         * Platform/gtk/RunLoopGtk.cpp:
40401         (RunLoop::TimerBase::timerFiredCallback):
40402         Store the timerSource so that even if it is modified by the timer callback,
40403         it can be restored for freeing it.
40404         (RunLoop::TimerBase::start):
40405         Remove destroyNotifyCallback. Destruction is now handled in timerFiredCallback itself.
40406
40407 2011-08-23  Anders Carlsson  <andersca@apple.com>
40408
40409         Prepare WKTextInputWindowController for the new text input model
40410         https://bugs.webkit.org/show_bug.cgi?id=66826
40411
40412         Reviewed by Sam Weinig.
40413
40414         Add -[WKTextInputWindowController hasMarkedText] and make interpretKeyEvent take an
40415         additional usingLegacyCocoaTextInput flag. No functionality change.
40416
40417         * UIProcess/API/mac/WKTextInputWindowController.h:
40418         * UIProcess/API/mac/WKTextInputWindowController.mm:
40419         (-[WKTextInputPanel _interpretKeyEvent:usingLegacyCocoaTextInput:string:]):
40420         (-[WKTextInputPanel _hasMarkedText]):
40421         (-[WKTextInputWindowController hasMarkedText]):
40422         (-[WKTextInputWindowController interpretKeyEvent:usingLegacyCocoaTextInput:string:]):
40423         * UIProcess/API/mac/WKView.mm:
40424         (-[WKView keyDown:]):
40425
40426 2011-08-23  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
40427
40428         [Qt] Unnecessary folders in WebKit2.
40429         https://bugs.webkit.org/show_bug.cgi?id=66583
40430
40431         Reviewed by Benjamin Poulain.
40432
40433         Remove empty autotest folders that were left over from QGraphicsWKView times.
40434
40435         * UIProcess/API/qt/tests/qgraphicswkview: Removed.
40436         * UIProcess/API/qt/tests/qwkhistory: Removed.
40437         * UIProcess/API/qt/tests/qwkpage: Removed.
40438
40439 2011-08-23  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
40440
40441         [Qt][WK2] Fix an awful memory leak introduced in r92376.
40442         https://bugs.webkit.org/show_bug.cgi?id=65528
40443
40444         Reviewed by Benjamin Poulain.
40445
40446         The non-virtual destructor would create a leak of the tile update buffer because
40447         the NodeUpdateSetTexture's QImage member destructor wouldn't be called.
40448
40449         * UIProcess/qt/SGAgent.h:
40450         (WebKit::NodeUpdate::~NodeUpdate):
40451
40452 2011-08-23  Steve Block  <steveblock@google.com>
40453
40454         Remove all mention of removed Android files from build scripts
40455         https://bugs.webkit.org/show_bug.cgi?id=66755
40456
40457         Reviewed by Tony Gentilcore.
40458
40459         * Scripts/generate-forwarding-headers.pl:
40460
40461 2011-08-23  Benjamin Poulain  <benjamin@webkit.org>
40462
40463         [Qt][WK2] ViewportInteractionEngine: the position of the content is not corrected when scaling the page manually
40464         https://bugs.webkit.org/show_bug.cgi?id=66672
40465
40466         Reviewed by Kenneth Rohde Christiansen.
40467
40468         Add the method animateContentIntoBoundariesIfNeeded() to move the content back into both scale and position boundaries.
40469         This method is now used as the entry point for animations in order to avoid bugs regarding scale or position.
40470
40471         The existing animation methods were renamed accordingly for clarity and consistency with the updateContent methods.
40472
40473         * UIProcess/qt/ViewportInteractionEngine.cpp:
40474         (WebKit::ViewportInteractionEngine::panGestureEnded):
40475         (WebKit::ViewportInteractionEngine::pinchGestureEnded):
40476         (WebKit::ViewportInteractionEngine::animateContentIntoBoundariesIfNeeded):
40477         (WebKit::ViewportInteractionEngine::animateContentPositionIntoBoundariesIfNeeded):
40478         (WebKit::ViewportInteractionEngine::animateContentScaleIntoBoundariesIfNeeded):
40479         * UIProcess/qt/ViewportInteractionEngine.h:
40480
40481 2011-08-22  Oliver Hunt  <oliver@apple.com>
40482
40483         Delay GC triggered NP object destruction to the next runloop cycle
40484         https://bugs.webkit.org/show_bug.cgi?id=66717
40485
40486         Reviewed by Anders Carlsson.
40487
40488         Delay destruction of plugin objects caused by GC until the next
40489         runloop cycle so that they can execute JS in their finalizers.
40490         We do this using a zero delay timer coupled with a queue of
40491         objects to be finalised.
40492
40493         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
40494         (WebKit::JSNPObject::releaseObject):
40495         * WebProcess/Plugins/Netscape/JSNPObject.h:
40496         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
40497         (WebKit::NPRuntimeObjectMap::NPRuntimeObjectMap):
40498         (WebKit::NPRuntimeObjectMap::invalidate):
40499         (WebKit::NPRuntimeObjectMap::invalidateQueuedObjects):
40500         (WebKit::NPRuntimeObjectMap::addToInvalidationQueue):
40501         (WebKit::NPRuntimeObjectMap::finalize):
40502         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
40503         * WebProcess/Plugins/Netscape/NPRuntimeUtilities.cpp:
40504         (WebKit::trySafeReleaseNPObject):
40505         * WebProcess/Plugins/Netscape/NPRuntimeUtilities.h:
40506
40507 2011-08-22  Anders Carlsson  <andersca@apple.com>
40508
40509         Move code from PageClientImpl::doneWithKeyEvent to WKView
40510         https://bugs.webkit.org/show_bug.cgi?id=66722
40511
40512         Reviewed by Darin Adler.
40513
40514         * UIProcess/API/mac/PageClientImpl.mm:
40515         (WebKit::PageClientImpl::doneWithKeyEvent):
40516         * UIProcess/API/mac/WKView.mm:
40517         (-[WKView _doneWithKeyEvent:WebKit::eventWasHandled:]):
40518         * UIProcess/API/mac/WKViewInternal.h:
40519
40520 2011-08-22  Anders Carlsson  <andersca@apple.com>
40521
40522         Update the text input context when the plug-in focus changes and not when the complex text input state changes
40523         https://bugs.webkit.org/show_bug.cgi?id=66716
40524
40525         Reviewed by Darin Adler.
40526
40527         * UIProcess/API/mac/WKView.mm:
40528         (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]):
40529         (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
40530
40531 2011-08-22  Michael Saboff  <msaboff@apple.com>
40532
40533         REGRESSION (r92231): Apple campus proposal PDF doesn't display in Safari
40534         https://bugs.webkit.org/show_bug.cgi?id=66464
40535
40536         Changed ArgumentEncoder to use system malloc instead of fastMalloc.
40537         FastMalloc uses madvise(MADV_FREE_REUSABLE) which is incompatible with
40538         mach message Out Of Line (OOL) messages that use MACH_MSG_VIRTUAL_COPY.
40539         The system malloc has no such limitation.
40540         Changed sendOutgoingMessage to use MACH_MSG_VIRTUAL_COPY again as it 
40541         doesn't have size limitations that MACH_MSG_PHYSICAL_COPY.
40542         
40543         Reviewed by Anders Carlsson.
40544
40545         * Platform/CoreIPC/ArgumentEncoder.cpp:
40546         (CoreIPC::ArgumentEncoder::~ArgumentEncoder):
40547         (CoreIPC::ArgumentEncoder::grow):
40548         * Platform/CoreIPC/mac/ConnectionMac.cpp:
40549         (CoreIPC::Connection::sendOutgoingMessage):
40550
40551 2011-08-22  Anders Carlsson  <andersca@apple.com>
40552
40553         Use -[NSApplication updateWindows] to update the current input context
40554         https://bugs.webkit.org/show_bug.cgi?id=66715
40555
40556         Reviewed by Alexey Proskuryakov.
40557
40558         * UIProcess/API/mac/WKView.mm:
40559         (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
40560
40561 2011-08-22  Anders Carlsson  <andersca@apple.com>
40562
40563         The UI process should keep track of whether a plug-in has focus or not
40564         https://bugs.webkit.org/show_bug.cgi?id=66712
40565
40566         Reviewed by Darin Adler.
40567
40568         This is in preparation for implementing the updated Cocoa text input model.
40569
40570         Pipe through whether a plug-in and its containing window has focus or not, from the
40571         plug-in process and all the way to the UI process.
40572
40573         * PluginProcess/PluginControllerProxy.h:
40574         * PluginProcess/mac/PluginControllerProxyMac.mm:
40575         (WebKit::PluginControllerProxy::pluginFocusOrWindowFocusChanged):
40576         * UIProcess/API/mac/PageClientImpl.h:
40577         * UIProcess/API/mac/PageClientImpl.mm:
40578         (WebKit::PageClientImpl::pluginFocusOrWindowFocusChanged):
40579         * UIProcess/API/mac/WKView.mm:
40580         (-[WKView _pluginFocusOrWindowFocusChanged:pluginComplexTextInputIdentifier:]):
40581         * UIProcess/API/mac/WKViewInternal.h:
40582         * UIProcess/PageClient.h:
40583         * UIProcess/WebPageProxy.h:
40584         * UIProcess/WebPageProxy.messages.in:
40585         * UIProcess/mac/WebPageProxyMac.mm:
40586         (WebKit::WebPageProxy::pluginFocusOrWindowFocusChanged):
40587         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
40588         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
40589         (WebKit::NetscapePlugin::platformSetFocus):
40590         (WebKit::NetscapePlugin::windowFocusChanged):
40591         (WebKit::NetscapePlugin::pluginFocusOrWindowFocusChanged):
40592         * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
40593         (WebKit::PluginProxy::pluginFocusOrWindowFocusChanged):
40594         * WebProcess/Plugins/PluginController.h:
40595         * WebProcess/Plugins/PluginProxy.h:
40596         * WebProcess/Plugins/PluginProxy.messages.in:
40597         * WebProcess/Plugins/PluginView.cpp:
40598         (WebKit::PluginView::pluginFocusOrWindowFocusChanged):
40599         * WebProcess/Plugins/PluginView.h:
40600
40601 2011-08-22  Anders Carlsson  <andersca@apple.com>
40602
40603         Update the current NSTextInputContext whenever the plug-in complex text input state changes
40604         https://bugs.webkit.org/show_bug.cgi?id=66709
40605
40606         Reviewed by Sam Weinig.
40607
40608         Call [NSTextInputContext currentInputContext] which will force AppKit to update the current input
40609         context. Fixes a rare case when the out-of-line editing window wouldn't appear.
40610
40611         * UIProcess/API/mac/WKView.mm:
40612         (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
40613
40614 2011-08-19  Anders Carlsson  <andersca@apple.com>
40615
40616         Another attempt at fixing the Windows build.
40617
40618         * UIProcess/PageClient.h:
40619
40620 2011-08-19  Anders Carlsson  <andersca@apple.com>
40621
40622         Fix Windows build.
40623
40624         * WebProcess/Plugins/PluginController.h:
40625
40626 2011-08-19  Anders Carlsson  <andersca@apple.com>
40627
40628         Make the complex text input state a tri-state enum instead of a boolean
40629         https://bugs.webkit.org/show_bug.cgi?id=62245
40630
40631         Reviewed by Sam Weinig.
40632
40633         This is to prepare the infrastructure for supporting the updated Cocoa text input model for plug-ins.
40634
40635         * PluginProcess/PluginControllerProxy.cpp:
40636         * PluginProcess/PluginControllerProxy.h:
40637         * PluginProcess/mac/PluginControllerProxyMac.mm:
40638         (WebKit::PluginControllerProxy::setComplexTextInputState):
40639         (WebKit::PluginControllerProxy::compositingRenderServerPort):
40640         * Shared/Plugins/mac: Added.
40641         * Shared/Plugins/mac/PluginComplexTextInputState.h: Added.
40642         (WebKit::isValidPluginComplexTextInputState):
40643         * UIProcess/API/mac/PageClientImpl.h:
40644         * UIProcess/API/mac/PageClientImpl.mm:
40645         (WebKit::PageClientImpl::setPluginComplexTextInputState):
40646         * UIProcess/API/mac/WKView.mm:
40647         (-[WKView _setPluginComplexTextInputState:WebKit::pluginComplexTextInputIdentifier:]):
40648         * UIProcess/API/mac/WKViewInternal.h:
40649         * UIProcess/PageClient.h:
40650         * UIProcess/WebPageProxy.h:
40651         * UIProcess/WebPageProxy.messages.in:
40652         * UIProcess/mac/WebPageProxyMac.mm:
40653         (WebKit::WebPageProxy::setPluginComplexTextInputState):
40654         * WebKit2.xcodeproj/project.pbxproj:
40655         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
40656         (WebKit::NetscapePlugin::NetscapePlugin):
40657         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
40658         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
40659         (WebKit::NetscapePlugin::platformSetFocus):
40660         (WebKit::NetscapePlugin::windowFocusChanged):
40661         (WebKit::NetscapePlugin::setComplexTextInputEnabled):
40662         * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
40663         (WebKit::PluginProxy::setComplexTextInputState):
40664         * WebProcess/Plugins/PluginController.h:
40665         * WebProcess/Plugins/PluginProxy.cpp:
40666         * WebProcess/Plugins/PluginProxy.h:
40667         * WebProcess/Plugins/PluginProxy.messages.in:
40668         * WebProcess/Plugins/PluginView.cpp:
40669         (WebKit::PluginView::~PluginView):
40670         (WebKit::PluginView::setComplexTextInputState):
40671         (WebKit::PluginView::compositingRenderServerPort):
40672         * WebProcess/Plugins/PluginView.h:
40673
40674 2011-08-19  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
40675
40676         [Qt] [WK2] Provide API for intercept (and possible ignore) links clicked in QDesktopWebView
40677         https://bugs.webkit.org/show_bug.cgi?id=65920
40678
40679         Reviewed by Benjamin Poulain.
40680
40681         This patch makes QDesktopWebView delegate the decision of whether a navigation
40682         should proceed to a slot in QML. The user of the DesktopWebView must implement a
40683         'navigationPolicyForUrl()' if it wants to use the feature.
40684
40685         Such feature is useful for implementing opening links in "new tab" by using a
40686         specific mouse button or mouse button plus keyboard modifiers.
40687
40688         The patch introduces a internal Qt-level interface called PolicyInterface, that
40689         is used by QtWebPageProxy to delegate policy calls. A concrete implementation is
40690         provided for QDesktopWebView.
40691
40692         * Shared/qt/WebCoreArgumentCodersQt.cpp:
40693         (CoreIPC::::encode):
40694         (CoreIPC::::decode):
40695         Implement the serialization of the Request URL, which is the only data
40696         we exposing from the Request.
40697
40698         * WebKit2.pro:
40699         * UIProcess/qt/PolicyInterface.h: Added.
40700         * UIProcess/qt/QtWebPageProxy.cpp:
40701         (QtWebPageProxy::QtWebPageProxy):
40702         (QtWebPageProxy::init):
40703         * UIProcess/qt/QtWebPageProxy.h:
40704         Register a Policy Client in the WK2 C API only if there's a PolicyInterface available.
40705
40706         * UIProcess/qt/ClientImpl.h:
40707         * UIProcess/qt/ClientImpl.cpp:
40708         (toPolicyInterface):
40709         (toQtMouseButton):
40710         (toQtKeyboardModifiers):
40711         (qt_wk_decidePolicyForNavigationAction):
40712         Implement the callback for the Page Policy Client. It will translate the
40713         arguments to Qt jargon and call PolicyInterface.
40714
40715         * UIProcess/qt/qdesktopwebpageproxy.cpp:
40716         (QDesktopWebPageProxy::QDesktopWebPageProxy):
40717         * UIProcess/API/qt/qdesktopwebview.h:
40718         * UIProcess/API/qt/qdesktopwebview_p.h:
40719         * UIProcess/API/qt/qdesktopwebview.cpp:
40720         (toPolicyAction):
40721         (hasMetaMethod):
40722         (QDesktopWebViewPrivate::navigationPolicyForURL):
40723         The concrete implementation for QDesktopWebView. Its private object implements
40724         the PolicyInterface and try to call a possible function defined in QML (so return
40725         value and arguments all QVariants). If there's no such a function, returns the
40726         default UsePolicy, like if we haven't registered a PolicyClient in WK2 C API.
40727
40728         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml: Added.
40729         * UIProcess/API/qt/tests/qmltests/common/test2.html: Added.
40730         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
40731         Add a test for DesktopWebView QML element making use of a button and a modifier to
40732         ignore a navigation.
40733
40734         * UIProcess/qt/qtouchwebpageproxy.cpp:
40735         (QTouchWebPageProxy::QTouchWebPageProxy):
40736         For now, we don't have a PolicyInterface for QTouchWebView.
40737
40738 2011-08-18  Anders Carlsson  <andersca@apple.com>
40739
40740         WebProcess crashes during startup if libdispatch is initialized by WebProcessShim.dylib
40741         https://bugs.webkit.org/show_bug.cgi?id=66508
40742         <rdar://problem/9828476>
40743
40744         Reviewed by Mark Rowe.
40745
40746         * mac/MainMac.cpp:
40747         (closeUnusedFileDescriptors):
40748         Check if a file descriptor is a kqueue and don't close it if that is the case. While this
40749         isn't a complete fix, (it won't work if other initializers end up creating non-kqueue file descriptors)
40750         it's good enough for Snow Leopard. For Lion, we should use the new posix_spawn API that lets you whitelist
40751         file descriptors from the parent process.
40752
40753 2011-08-19  Benjamin Poulain  <benjamin@webkit.org>
40754
40755         [Qt][WK2] Add a basic engine to control the content of the viewport
40756         https://bugs.webkit.org/show_bug.cgi?id=66383
40757
40758         Reviewed by Andreas Kling.
40759
40760         Add ViewportInteractionEngine to handle the content of the viewport. The class make
40761         sure the QTouchWebPage stays in the viewport and in the boundaries.
40762
40763         * UIProcess/API/qt/qdesktopwebview.cpp:
40764         (QDesktopWebViewPrivate::loadDidCommit):
40765         * UIProcess/API/qt/qdesktopwebview_p.h:
40766         * UIProcess/API/qt/qtouchwebpage.cpp:
40767         (QTouchWebPage::QTouchWebPage): Set the transform origin to the top left so
40768         we can asume the position 0, 0 is always the top left of the page.
40769         (QTouchWebPagePrivate::_q_commitScaleChange): Make commitScaleChange a slot
40770         in order to completely decouple the ViewportInteractionEngine and the WebKit classes.
40771         * UIProcess/API/qt/qtouchwebpage.h:
40772         * UIProcess/API/qt/qtouchwebpage_p.h:
40773         * UIProcess/API/qt/qtouchwebview.cpp:
40774         (QTouchWebViewPrivate::QTouchWebViewPrivate):
40775         (QTouchWebViewPrivate::loadDidCommit):
40776         (QTouchWebViewPrivate::_q_viewportRectUpdated): Make _q_viewportRectUpdated() a slot
40777         for reducing coupling.
40778         (QTouchWebViewPrivate::updateViewportConstraints):
40779         (QTouchWebViewPrivate::setViewportArguments):
40780         (QTouchWebView::geometryChanged):
40781         * UIProcess/API/qt/qtouchwebview.h:
40782         * UIProcess/API/qt/qtouchwebview_p.h:
40783         * UIProcess/qt/ClientImpl.cpp:
40784         (qt_wk_didCommitLoadForFrame):
40785         * UIProcess/qt/QtGestureRecognizer.cpp:
40786         (WebKit::QtGestureRecognizer::QtGestureRecognizer):
40787         * UIProcess/qt/QtGestureRecognizer.h: Change the gesture recognizer to talk directly
40788         to the ViewportInteractionEngine instead of interacting through TouchViewInterface.
40789         * UIProcess/qt/QtPanGestureRecognizer.cpp:
40790         (WebKit::QtPanGestureRecognizer::QtPanGestureRecognizer):
40791         (WebKit::QtPanGestureRecognizer::recognize):
40792         * UIProcess/qt/QtPanGestureRecognizer.h:
40793         * UIProcess/qt/QtPinchGestureRecognizer.cpp:
40794         (WebKit::QtPinchGestureRecognizer::QtPinchGestureRecognizer):
40795         (WebKit::QtPinchGestureRecognizer::recognize):
40796         * UIProcess/qt/QtPinchGestureRecognizer.h:
40797         * UIProcess/qt/QtWebPageProxy.cpp:
40798         (QtWebPageProxy::loadDidCommit): Add the loadCommited callback in order
40799         to reset the viewport state when the page change.
40800         * UIProcess/qt/QtWebPageProxy.h:
40801         * UIProcess/qt/TouchViewInterface.cpp:
40802         (WebKit::TouchViewInterface::TouchViewInterface):
40803         (WebKit::TouchViewInterface::contentSizeChanged):
40804         (WebKit::TouchViewInterface::loadDidCommit):
40805         * UIProcess/qt/TouchViewInterface.h:
40806         * UIProcess/qt/ViewInterface.h:
40807         * UIProcess/qt/ViewportInteractionEngine.cpp: Added.
40808         (WebKit::visibleRectInContentCoordinate):
40809         (WebKit::contentRectInViewportCoordinate):
40810         (WebKit::ViewportUpdateGuard::ViewportUpdateGuard):
40811         (WebKit::ViewportUpdateGuard::~ViewportUpdateGuard):
40812         (WebKit::ViewportInteractionEngine::ViewportInteractionEngine):
40813         (WebKit::ViewportInteractionEngine::reset):
40814         (WebKit::ViewportInteractionEngine::setConstraints):
40815         (WebKit::ViewportInteractionEngine::panGestureStarted):
40816         (WebKit::ViewportInteractionEngine::panGestureRequestScroll):
40817         (WebKit::ViewportInteractionEngine::panGestureCancelled):
40818         (WebKit::ViewportInteractionEngine::panGestureEnded):
40819         (WebKit::ViewportInteractionEngine::pinchGestureStarted):
40820         (WebKit::ViewportInteractionEngine::pinchGestureRequestUpdate):
40821         (WebKit::ViewportInteractionEngine::pinchGestureEnded):
40822         (WebKit::ViewportInteractionEngine::contentGeometryChanged):
40823         (WebKit::ViewportInteractionEngine::contentScaleChanged):
40824         (WebKit::ViewportInteractionEngine::updateContentIfNeeded):
40825         (WebKit::ViewportInteractionEngine::updateContentScaleIfNeeded):
40826         (WebKit::ViewportInteractionEngine::updateContentPositionIfNeeded):
40827         (WebKit::ViewportInteractionEngine::animateContentPositionToBoundaries):
40828         (WebKit::ViewportInteractionEngine::animateContentScaleToBoundaries):
40829         (WebKit::ViewportInteractionEngine::scaleContent):
40830         * UIProcess/qt/ViewportInteractionEngine.h: Added.
40831         (WebKit::ViewportInteractionEngine::Constraints::Constraints):
40832         (WebKit::operator==):
40833         * UIProcess/qt/qtouchwebpageproxy.cpp:
40834         (QTouchWebPageProxy::QTouchWebPageProxy):
40835         * UIProcess/qt/qtouchwebpageproxy.h:
40836         * WebKit2.pro:
40837
40838 2011-08-19  Lars Knudsen  <lars.knudsen@nokia.com>
40839
40840         [Qt][WK2] Change the rect argument of QtWebPageProxy::paint() to const ref
40841         https://bugs.webkit.org/show_bug.cgi?id=66549
40842
40843         Reviewed by Benjamin Poulain.
40844
40845         * UIProcess/qt/QtWebPageProxy.cpp:
40846         (QtWebPageProxy::paint):
40847         * UIProcess/qt/QtWebPageProxy.h:
40848
40849 2011-08-19  MORITA Hajime  <morrita@google.com>
40850
40851         Spell-checking against execCommand() inserted HTML doesn't care word boundary.
40852         https://bugs.webkit.org/show_bug.cgi?id=65902
40853
40854         Reviewed by Ryosuke Niwa.
40855         
40856         Add exports for window.internals object.
40857
40858         * win/WebKit2.def:
40859         * win/WebKit2CFLite.def:
40860
40861 2011-08-18  Beth Dakin  <bdakin@apple.com>
40862
40863         Reviewed by Sam Weinig.
40864
40865         https://bugs.webkit.org/show_bug.cgi?id=66495
40866         Lion-specific scroller SPIs can use forward declaration instead of 
40867         WebKitSystemInterface
40868
40869         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
40870         (InitWebCoreSystemInterface):
40871
40872 2011-08-18  Darin Adler  <darin@apple.com>
40873
40874         Made some code even more private to a particular file and class
40875         https://bugs.webkit.org/show_bug.cgi?id=66428
40876
40877         Reviewed by Anders Carlsson.
40878
40879         * UIProcess/API/mac/WKView.mm:
40880         (-[WKView _setDrawingAreaSize:]): Made this file internal.
40881         * UIProcess/API/mac/WKViewInternal.h: Removed _setDrawingAreaSize.
40882         * UIProcess/DrawingAreaProxy.h: Made sizeDidChange private.
40883
40884 2011-08-18  Amruth Raj  <amruthraj@motorola.com>
40885
40886         [GTK] [WK2] Activating sub menus cause the WebProcess to crash
40887         https://bugs.webkit.org/show_bug.cgi?id=66471
40888
40889         Reviewed by Anders Carlsson.
40890
40891         * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
40892         (WebKit::WebContextMenuProxyGtk::createGtkMenu):
40893
40894 2011-08-18  Adam Roben  <aroben@apple.com>
40895
40896         Update the device scale factor when the WKView's window changes
40897
40898         Fixes <http://webkit.org/b/66412> <rdar://problem/9971958> WebKit doesn't react when a
40899         WebView is moved between windows with different backing scale factors
40900
40901         Reviewed by Anders Carlsson.
40902
40903         * UIProcess/API/mac/WKView.mm:
40904         (-[WKView viewDidMoveToWindow]): Call setDeviceScaleFactor because our new window (or no
40905         window at all) might have a different backing scale factor than the previous one.
40906         (-[WKView _deviceScaleFactor]): Moved to the new FileInternal category.
40907
40908 2011-08-18  Adam Roben  <aroben@apple.com>
40909
40910         Make WebPageProxy keep track of the current device scale factor
40911
40912         The device scale factor is no longer considered part of WebPageProxy's "view state". It now
40913         has its own setter/getter. This made the code a little simpler and more similar to the page
40914         scale factor. Each port-specific WebKit2 view is now responsible for calling
40915         WebPageProxy::setDeviceScaleFactor whenever it thinks the device scale factor might have
40916         changed.
40917
40918         Fixes <http://webkit.org/b/66466> WebKit2 requires every port-specific view to keep track of
40919         the current device scale factor
40920
40921         Reviewed by Anders Carlsson.
40922
40923         * UIProcess/API/efl/PageClientImpl.cpp:
40924         * UIProcess/API/efl/PageClientImpl.h:
40925         * UIProcess/API/gtk/PageClientImpl.h:
40926         * UIProcess/API/mac/PageClientImpl.h:
40927         * UIProcess/API/mac/PageClientImpl.mm:
40928         * UIProcess/PageClient.h:
40929         * UIProcess/qt/QtWebPageProxy.h:
40930         * UIProcess/win/WebView.h:
40931         Removed deviceScaleFactor.
40932
40933         * UIProcess/API/mac/WKView.mm:
40934         (-[WKView _deviceScaleFactor]): Added. Code came from PageClientImpl::deviceScaleFactor.
40935         (-[WKView _windowDidChangeResolution:]): Changed to call WebPageProxy::setDeviceScaleFactor.
40936
40937         * UIProcess/WebPageProxy.cpp:
40938         (WebKit::WebPageProxy::WebPageProxy): Initialize m_deviceScaleFactor.
40939         (WebKit::WebPageProxy::viewStateDidChange): Removed device-scale-factor-related code.
40940         (WebKit::WebPageProxy::setDeviceScaleFactor): Added. Records the new device scale factor and
40941         tells the DrawingAreaProxy about it if it's actually changed.
40942         (WebKit::WebPageProxy::creationParameters): Use m_deviceScaleFactor instead of calling out
40943         to the PageClient.
40944
40945         * UIProcess/WebPageProxy.h: Added m_deviceScaleFactor and setDeviceScaleFactor, which
40946         replaces the DeviceScaleFactor ViewStateFlag.
40947         (WebKit::WebPageProxy::deviceScaleFactor): Inlined this now-simple getter.
40948
40949 2011-08-17  Adam Roben  <aroben@apple.com>
40950
40951         Make WebCore keep track of the current device scale factor
40952
40953         Fixes <http://webkit.org/b/66413> WebCore requires every WebKit port to keep track of the
40954         device scale factor
40955
40956         Reviewed by Darin Adler.
40957
40958         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
40959         * WebProcess/WebCoreSupport/WebChromeClient.h:
40960         Removed deviceScaleFactor.
40961
40962         * WebProcess/WebPage/DrawingAreaImpl.cpp:
40963         (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState):
40964         (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
40965         (WebKit::DrawingAreaImpl::display):
40966         * WebProcess/WebPage/FindController.cpp:
40967         (WebKit::FindController::updateFindIndicator):
40968         (WebKit::FindController::hideFindIndicator):
40969         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
40970         (WebKit::LayerTreeHostCA::deviceScaleFactor):
40971         Changed to get the device scale factor from WebCore.
40972
40973         * WebProcess/WebPage/WebPage.cpp:
40974         (WebKit::WebPage::WebPage):
40975         (WebKit::WebPage::setDeviceScaleFactor):
40976         * WebProcess/WebPage/WebPage.h:
40977         Removed m_deviceScaleFactor. We always get the scale factor from WebCore now.
40978
40979 2011-08-17  Anders Carlsson  <andersca@apple.com>
40980
40981         Remove unused Core Animation related classes
40982         https://bugs.webkit.org/show_bug.cgi?id=66393
40983
40984         Reviewed by Darin Adler.
40985
40986         * Shared/mac/CoreAnimationRenderer.h: Removed.
40987         * Shared/mac/CoreAnimationRenderer.mm: Removed.
40988         * Shared/mac/ShareableSurface.cpp: Removed.
40989         * Shared/mac/ShareableSurface.h: Removed.
40990         * WebKit2.xcodeproj/project.pbxproj:
40991
40992 2011-08-15  Dmitry Titov  <dimich@chromium.org>
40993
40994         FrameLoaderClient::transferLoadingResourceFromPage does not have enough parameters
40995         https://bugs.webkit.org/show_bug.cgi?id=66165
40996
40997         Reviewed by Darin Fisher.
40998
40999         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
41000         (WebKit::WebFrameLoaderClient::transferLoadingResourceFromPage):
41001         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
41002
41003 2011-08-15  Balazs Kelemen  <kbalazs@webkit.org>
41004
41005         [Qt][WK2] Unreviewed build fix after r93058.
41006
41007         * UIProcess/TiledDrawingAreaProxy.cpp:
41008         (WebKit::TiledDrawingAreaProxy::deviceScaleFactorDidChange):
41009         * UIProcess/TiledDrawingAreaProxy.h:
41010
41011 2011-08-15  Adam Roben  <aroben@apple.com>
41012
41013         Update pages' style and content scale when the window's backing scale factor changes
41014
41015         Unfortunately, I couldn't think of a way to test this in an automated fashion.
41016
41017         Fixes <http://webkit.org/b/66229> <rdar://problem/9906269> WebKit doesn't react to device
41018         scale factor changes
41019
41020         Reviewed by Simon Fraser.
41021
41022         * UIProcess/API/mac/WKView.mm:
41023         (-[WKView addWindowObserversForWindow:]):
41024         (-[WKView removeWindowObservers]):
41025         Listen for the notification that tells us the window's backing scale has changed.
41026
41027         (-[WKView _windowDidChangeResolution:]): Tell the WebPageProxy about the change.
41028
41029         * UIProcess/DrawingAreaProxy.h:
41030         * UIProcess/DrawingAreaProxyImpl.h:
41031         Added deviceScaleFactorDidChange.
41032
41033         * UIProcess/DrawingAreaProxyImpl.cpp:
41034         (WebKit::DrawingAreaProxyImpl::deviceScaleFactorDidChange): Request a new backing store
41035         since the current one is using an old device scale factor.
41036         (WebKit::DrawingAreaProxyImpl::sendUpdateBackingStoreState): Send the device scale factor
41037         along to the web process so it can render accordingly. This is how we tell the web process
41038         about device scale factor changes.
41039
41040         * UIProcess/WebPageProxy.cpp:
41041         (WebKit::WebPageProxy::viewStateDidChange): Tell the DrawingAreaProxy when the device scale
41042         factor changes.
41043         (WebKit::WebPageProxy::deviceScaleFactor): Added this simple getter that calls through to
41044         the PageClient. DrawingAreaProxy uses this function.
41045
41046         * UIProcess/WebPageProxy.h: Added new members.
41047
41048         * WebProcess/WebPage/DrawingArea.h:
41049         (WebKit::DrawingArea::updateBackingStoreState):
41050         * WebProcess/WebPage/DrawingArea.messages.in:
41051         * WebProcess/WebPage/DrawingAreaImpl.h:
41052         Send the device scale factor in the UpdateBackingStoreState message.
41053
41054         * WebProcess/WebPage/DrawingAreaImpl.cpp:
41055         (WebKit::DrawingAreaImpl::updateBackingStoreState): Tell the WebPage and LayerTreeHost about
41056         the new device scale factor.
41057
41058         * WebProcess/WebPage/LayerTreeHost.h:
41059         * WebProcess/WebPage/ca/LayerTreeHostCA.h:
41060         Added deviceScaleFactorDidChange.
41061
41062         * WebProcess/WebPage/WebPage.cpp:
41063         (WebKit::WebPage::setDeviceScaleFactor): Store the new scale factor and tell the page about
41064         it so that, e.g., scale-factor-dependent media queries will be reevaluated.
41065
41066         * WebProcess/WebPage/WebPage.h: Added setDeviceScaleFactor.
41067
41068         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
41069         (WebKit::LayerTreeHostCA::deviceScaleFactorDidChange): Tell the layer for non-composited
41070         content about the new scale factor.
41071
41072 2011-08-15  Benjamin Poulain  <benjamin@webkit.org>
41073
41074         [Qt][WK2] Get rid of QTouchWebPagePrivate::getPageViewPrivate()
41075         https://bugs.webkit.org/show_bug.cgi?id=66222
41076
41077         Reviewed by Kenneth Rohde Christiansen.
41078
41079         The function QTouchWebPagePrivate::getPageViewPrivate() exposed
41080         the private QTouchWebPage to any object in WebKit.
41081
41082         Instead, use the friend keyword to list which objects can access
41083         the internal of QTouchWebPage.
41084
41085         * UIProcess/API/qt/qtouchwebpage.h:
41086         * UIProcess/API/qt/qtouchwebpage_p.h:
41087         * UIProcess/API/qt/qtouchwebview.cpp:
41088         (QTouchWebViewPrivate::QTouchWebViewPrivate):
41089         (QTouchWebViewPrivate::viewportRectUpdated):
41090
41091 2011-08-15  Balazs Kelemen  <kbalazs@webkit.org>
41092
41093         Unreviewed.
41094         Fix Qt-WK2 build after r93040.
41095
41096         * UIProcess/qt/QtWebPageProxy.h:
41097         (QtWebPageProxy::deviceScaleFactor):
41098
41099 2011-08-10  Adam Roben  <aroben@apple.com>
41100
41101         Clear up scale factor terminology
41102
41103         WebKit by and large deals with two scale factors: one intrinsic to the device on which the
41104         software is running, and one that is per-Page and can be controlled via API calls. This
41105         patch names the former "deviceScaleFactor" and the latter "pageScaleFactor", and makes the
41106         code use those names. It should introduce no behavior changes.
41107
41108         Fixes <http://webkit.org/b/55787> WebKit uses multiple conflicting names to refer to the
41109         device scale factor
41110
41111         Reviewed by Simon Fraser.
41112
41113         * Shared/UpdateInfo.cpp:
41114         * Shared/UpdateInfo.h:
41115         * Shared/WebPageCreationParameters.cpp:
41116         * Shared/WebPageCreationParameters.h:
41117         * UIProcess/API/C/WKPage.cpp:
41118         * UIProcess/API/efl/PageClientImpl.cpp:
41119         * UIProcess/API/efl/PageClientImpl.h:
41120         * UIProcess/API/gtk/PageClientImpl.h:
41121         * UIProcess/API/mac/PageClientImpl.h:
41122         * UIProcess/API/mac/PageClientImpl.mm:
41123         * UIProcess/BackingStore.cpp:
41124         * UIProcess/BackingStore.h:
41125         * UIProcess/DrawingAreaProxyImpl.cpp:
41126         * UIProcess/PageClient.h:
41127         * UIProcess/WebPageProxy.cpp:
41128         * UIProcess/WebPageProxy.h:
41129         * UIProcess/WebPageProxy.messages.in:
41130         * UIProcess/WebPopupMenuProxy.h:
41131         * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
41132         * UIProcess/gtk/WebPopupMenuProxyGtk.h:
41133         * UIProcess/mac/BackingStoreMac.mm:
41134         * UIProcess/mac/WebPageProxyMac.mm:
41135         * UIProcess/mac/WebPopupMenuProxyMac.h:
41136         * UIProcess/mac/WebPopupMenuProxyMac.mm:
41137         * UIProcess/qt/WebPopupMenuProxyQt.h:
41138         * UIProcess/win/WebPopupMenuProxyWin.h:
41139         * UIProcess/win/WebView.h:
41140         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
41141         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
41142         * WebProcess/WebCoreSupport/WebChromeClient.h:
41143         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
41144         * WebProcess/WebPage/DrawingAreaImpl.cpp:
41145         * WebProcess/WebPage/FindController.cpp:
41146         * WebProcess/WebPage/WebPage.cpp:
41147         * WebProcess/WebPage/WebPage.h:
41148         * WebProcess/WebPage/WebPage.messages.in:
41149         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
41150         * WebProcess/WebPage/ca/LayerTreeHostCA.h:
41151
41152 2011-08-13  Sam Weinig  <sam@webkit.org>
41153
41154         Remove unused variables from WKFullScreenWindowController.h
41155         https://bugs.webkit.org/show_bug.cgi?id=66193
41156
41157         Reviewed by Dan Bernstein.
41158
41159         * UIProcess/mac/WKFullScreenWindowController.h:
41160         Remove _layerViewPlaceholder, _isWindowLoaded and _initialFrame which were not used.
41161
41162 2011-08-12  Dan Bernstein  <mitz@apple.com>
41163
41164         <rdar://problem/7337717> Add an option to automatically show tooltips (with the full text) over truncated text
41165         https://bugs.webkit.org/show_bug.cgi?id=66178
41166
41167         Reviewed by Simon Fraser.
41168
41169         * Shared/WebPreferencesStore.h:
41170         * UIProcess/API/C/WKPreferences.cpp:
41171         (WKPreferencesSetShowsToolTipOverTruncatedText): Added this setter.
41172         (WKPreferencesGetShowsToolTipOverTruncatedText): Added this getter.
41173         * UIProcess/API/C/WKPreferencesPrivate.h:
41174         * WebProcess/WebPage/WebPage.cpp:
41175         (WebKit::WebPage::updatePreferences): Handle the showsToolTipOverTruncatedText preference.
41176
41177 2011-08-12  Mark Rowe  <mrowe@apple.com>
41178
41179         Be more forward-looking in the choice of compiler.
41180
41181         Rubber-stamped by Jon Honeycutt.
41182
41183         * Configurations/CompilerVersion.xcconfig:
41184
41185 2011-08-11  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
41186
41187         VectorArgumentCoder doesn't encode/decode enough data for more than one byte vector elements
41188         https://bugs.webkit.org/show_bug.cgi?id=66109
41189
41190         Reviewed by Anders Carlsson.
41191
41192         Multiply vector size by element size in encode/decode to get correct byte size of vector data.
41193
41194         * Platform/CoreIPC/ArgumentCoders.h:
41195
41196 2011-08-11  Nico Weber  <thakis@chromium.org>
41197
41198         Remove incorrect comment about m_wheelEventHandlerCount
41199         https://bugs.webkit.org/show_bug.cgi?id=66117
41200
41201         Reviewed by Simon Fraser.
41202
41203         From what I can tell, this number is changed only in
41204         Frame::notifyChromeClientWheelEventHandlerCountChanged(),
41205         and there it just reads the number modified in
41206         Document::didAdd/RemoveWheelEventHandler(). So this is just the number
41207         of event handlers (and not related to horizontal scrollbars), and the
41208         variable name expresses that already.
41209
41210         * UIProcess/WebPageProxy.h:
41211
41212 2011-08-11  Kenneth Rohde Christiansen  <kenneth@webkit.org>
41213
41214         [Qt/WK2] Add initial support for viewport meta tag
41215         https://bugs.webkit.org/show_bug.cgi?id=65975
41216
41217         Reviewed by Benjamin Poulain.
41218
41219         Redirect the viewport arguments through to the view.
41220
41221         * UIProcess/API/qt/qdesktopwebview.cpp:
41222         (QDesktopWebViewPrivate::didReceiveViewportArguments):
41223         * UIProcess/API/qt/qdesktopwebview_p.h:
41224         * UIProcess/API/qt/qtouchwebview.cpp:
41225         (QTouchWebView::geometryChanged):
41226         * UIProcess/qt/QtWebPageProxy.cpp:
41227         (QtWebPageProxy::setViewportArguments):
41228         * UIProcess/qt/QtWebPageProxy.h:
41229         * UIProcess/qt/TouchViewInterface.cpp:
41230         (WebKit::TouchViewInterface::updateViewportState):
41231         (WebKit::TouchViewInterface::didReceiveViewportArguments):
41232         * UIProcess/qt/TouchViewInterface.h:
41233         (WebKit::TouchViewInterface::ViewportState::ViewportState):
41234         * UIProcess/qt/ViewInterface.h:
41235         * UIProcess/qt/qtouchwebpageproxy.cpp:
41236         (QTouchWebPageProxy::QTouchWebPageProxy):
41237         * UIProcess/qt/qtouchwebpageproxy.h:
41238
41239 2011-08-10  David Hyatt  <hyatt@apple.com>
41240
41241         https://bugs.webkit.org/show_bug.cgi?id=66004
41242
41243         Removing the CSS Regions and CSS Exclusions ifdefs.
41244
41245         Reviewed by Adam Roben.
41246
41247         * Configurations/FeatureDefines.xcconfig:
41248
41249 2011-08-10  Alexey Proskuryakov  <ap@apple.com>
41250
41251         Accidentally commented out an assertion in BackingStore::incorporateUpdate
41252         https://bugs.webkit.org/show_bug.cgi?id=65989
41253
41254         Reviewed by Anders Carlsson.
41255
41256         I couldn't get this assertion to fire in quick testing, let's bring it back.
41257
41258         * UIProcess/BackingStore.cpp: (WebKit::BackingStore::incorporateUpdate):
41259
41260 2011-08-10  Lars Knudsen  <lars.knudsen@nokia.com>
41261
41262         Add device specific settings to support viewport computing
41263         https://bugs.webkit.org/show_bug.cgi?id=65984
41264
41265         Reviewed by Kenneth Rohde Christiansen.
41266
41267         Expose new viewport related WebCore settings to WebKit2.
41268
41269         * Shared/WebPreferencesStore.h:
41270         * WebProcess/WebPage/WebPage.cpp:
41271         (WebKit::WebPage::updatePreferences):
41272
41273 2011-08-09  John Sullivan  <sullivan@apple.com>
41274
41275         WKPageCopyPendingAPIRequestURL returns stale result if policy decision set to Ignore
41276         https://bugs.webkit.org/show_bug.cgi?id=65950
41277         <rdar://problem/9925931>
41278
41279         Reviewed by Anders Carlsson.
41280
41281         * UIProcess/WebPageProxy.cpp:
41282         (WebKit::WebPageProxy::receivedPolicyDecision):
41283         Call clearPendingAPIRequestURL() if the policy decision is PolicyIgnore.
41284
41285 2011-08-09  Anders Carlsson  <andersca@apple.com>
41286
41287         Add a WebKit prefix to the user default.
41288
41289         Reviewed by Dan Bernstein.
41290
41291         * UIProcess/mac/WebContextMac.mm:
41292         (WebKit::WebContext::platformInitializeWebProcess):
41293
41294 2011-08-09  Anders Carlsson  <andersca@apple.com>
41295
41296         Add a user default to disable the plug-in process message timeout
41297         https://bugs.webkit.org/show_bug.cgi?id=65945
41298
41299         Reviewed by Adam Roben.
41300
41301         * Shared/WebProcessCreationParameters.cpp:
41302         (WebKit::WebProcessCreationParameters::encode):
41303         (WebKit::WebProcessCreationParameters::decode):
41304         * Shared/WebProcessCreationParameters.h:
41305         Add a disablePluginProcessMessageTimeout member variable.
41306
41307         * UIProcess/mac/WebContextMac.mm:
41308         (WebKit::WebContext::platformInitializeWebProcess):
41309         Initialize the disablePluginProcessMessageTimeout member variable from the 
41310         "DisablePluginProcessMessageTimeout" user default.
41311
41312         * WebProcess/Plugins/PluginProcessConnection.cpp:
41313         (WebKit::defaultSyncMessageTimeout):
41314         Return NoTimeout if WebProcess::disablePluginProcessMessageTimeout returns true.
41315
41316         * WebProcess/WebProcess.cpp:
41317         (WebKit::WebProcess::WebProcess):
41318         (WebKit::WebProcess::initializeWebProcess):
41319         Initialize m_disablePluginProcessMessageTimeout.
41320         
41321         * WebProcess/WebProcess.h:
41322         (WebKit::WebProcess::disablePluginProcessMessageTimeout):
41323         Add getter.
41324
41325 2011-08-09  Mark Hahnenberg  <mhahnenberg@apple.com>
41326
41327         Add ParentClass typedef in all JSC classes
41328         https://bugs.webkit.org/show_bug.cgi?id=65731
41329
41330         Reviewed by Oliver Hunt.
41331
41332         Just added the Base typedefs in all the classes that are a subclass of JSCell 
41333         to point at their parent classes.  This is a change to support future changes to the way
41334         constructors and destructors are implemented in JS objects, among other things.
41335
41336         * WebProcess/Plugins/Netscape/JSNPMethod.h:
41337         * WebProcess/Plugins/Netscape/JSNPObject.h:
41338
41339 2011-08-08  Adrienne Walker  <enne@google.com>
41340
41341         Add testing for --force-compositing-mode to windows.internal
41342         https://bugs.webkit.org/show_bug.cgi?id=65777
41343
41344         Reviewed by Adam Barth.
41345
41346         Add exports for Document::settings().
41347
41348         * win/WebKit2.def:
41349         * win/WebKit2CFLite.def:
41350
41351 2011-08-09  Kenneth Rohde Christiansen  <kenneth@webkit.org>
41352
41353         [Qt] Redirect didFindZoomableArea thru to the view
41354         https://bugs.webkit.org/show_bug.cgi?id=65913
41355
41356         Reviewed by Andreas Kling.
41357
41358         * UIProcess/API/qt/qdesktopwebview.cpp:
41359         (QDesktopWebViewPrivate::didFindZoomableArea):
41360         * UIProcess/API/qt/qdesktopwebview_p.h:
41361         * UIProcess/qt/QtWebPageProxy.cpp:
41362         (QtWebPageProxy::didFindZoomableArea):
41363         * UIProcess/qt/QtWebPageProxy.h:
41364         * UIProcess/qt/TouchViewInterface.cpp:
41365         (WebKit::TouchViewInterface::didFindZoomableArea):
41366         * UIProcess/qt/TouchViewInterface.h:
41367         * UIProcess/qt/ViewInterface.h:
41368         * UIProcess/qt/qdesktopwebpageproxy.cpp:
41369         (QDesktopWebPageProxy::timerEvent):
41370         * UIProcess/qt/qdesktopwebpageproxy.h:
41371         * UIProcess/qt/qtouchwebpageproxy.cpp:
41372         (QTouchWebPageProxy::setContentsScale):
41373         * UIProcess/qt/qtouchwebpageproxy.h:
41374
41375 2011-08-09  Kenneth Rohde Christiansen  <kenneth@webkit.org>
41376
41377         [Qt] Vastly improve the algorithm for finding a zoomable area when doing double-tap
41378         https://bugs.webkit.org/show_bug.cgi?id=65907
41379
41380         Reviewed by Andreas Kling.
41381
41382         This is upstreaming of the algorithm we are currently using on the N9 browser
41383         and this also fixes a bug with not considering the frame positions when finding
41384         a zoomable area.
41385
41386         * UIProcess/PageClient.h:
41387         * UIProcess/WebPageProxy.cpp:
41388         (WebKit::WebPageProxy::didFindZoomableArea):
41389         * UIProcess/WebPageProxy.h:
41390         * UIProcess/WebPageProxy.messages.in:
41391         * UIProcess/qt/qdesktopwebpageproxy.cpp:
41392         (QDesktopWebPageProxy::didFindZoomableArea):
41393         * UIProcess/qt/qdesktopwebpageproxy.h:
41394         * UIProcess/qt/qtouchwebpageproxy.cpp:
41395         (QTouchWebPageProxy::didFindZoomableArea):
41396         * UIProcess/qt/qtouchwebpageproxy.h:
41397         * WebProcess/WebPage/WebPage.cpp:
41398         (WebKit::WebPage::findZoomableAreaForPoint):
41399
41400 2011-08-08  Chris Marrin  <cmarrin@apple.com>
41401
41402         Logic to compute visible display rect in GraphicsLayerCA::syncCompositingState
41403         https://bugs.webkit.org/show_bug.cgi?id=65708
41404
41405         Supply initial display rects for the full-screen case
41406
41407         Reviewed by Simon Fraser.
41408
41409         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
41410         (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer):
41411         (WebKit::WebFullScreenManagerMac::beginEnterFullScreenAnimation):
41412         (WebKit::WebFullScreenManagerMac::beginExitFullScreenAnimation):
41413
41414 2011-08-08  Dan Bernstein  <mitz@apple.com>
41415
41416         <rdar://problem/9652350> REGRESSION (r87755): WKView doesn't update when I drag files into a background Safari window
41417         https://bugs.webkit.org/show_bug.cgi?id=65860
41418
41419         Reviewed by Simon Fraser.
41420
41421         When layer flush scheduling is re-enabled, schedule a layer flush, just in case one was requested while
41422         scheduling was disabled. It doesn’t seem worthwhile to track whether that in fact happened, so do so
41423         unconditionally.
41424
41425         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
41426         (WebKit::LayerTreeHostCAMac::setLayerFlushSchedulingEnabled):
41427         * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp:
41428         (WebKit::LayerTreeHostCAWin::setLayerFlushSchedulingEnabled):
41429
41430 2011-08-05  Pavel Feldman  <pfeldman@chromium.org>
41431
41432         Web Inspector: implement dock/undock in WebKit2 without getting into WebCore.
41433         https://bugs.webkit.org/show_bug.cgi?id=65763
41434
41435         InspectorFrontendClient.h can't have synchronous canAttachWindow() returning value
41436         since in the multiprocess environment, you can't immediately get back to it from the host.
41437
41438         r92384 introduced an unhealthy WebKit -> WebCore -> WebKit canAttach query where embedder
41439         was asking itself a question. This loop was fixed.
41440
41441         Reviewed by Yury Semikhatsky.
41442
41443         * UIProcess/WebInspectorProxy.cpp:
41444         (WebKit::WebInspectorProxy::attach):
41445         (WebKit::WebInspectorProxy::createInspectorPage):
41446         (WebKit::WebInspectorProxy::didLoadInspectorPage):
41447         (WebKit::WebInspectorProxy::shouldOpenAttached):
41448         * UIProcess/WebInspectorProxy.h:
41449         * UIProcess/WebInspectorProxy.messages.in:
41450         * UIProcess/efl/WebInspectorEfl.cpp:
41451         (WebKit::WebInspectorProxy::platformInspectedWindowHeight):
41452         * UIProcess/gtk/WebInspectorGtk.cpp:
41453         (WebKit::WebInspectorProxy::platformInspectedWindowHeight):
41454         * UIProcess/mac/WebInspectorProxyMac.mm:
41455         (WebKit::WebInspectorProxy::platformOpen):
41456         (WebKit::WebInspectorProxy::platformInspectedWindowHeight):
41457         * UIProcess/qt/WebInspectorProxyQt.cpp:
41458         (WebKit::WebInspectorProxy::platformOpen):
41459         (WebKit::WebInspectorProxy::platformInspectedWindowHeight):
41460         * UIProcess/win/WebInspectorProxyWin.cpp:
41461         (WebKit::WebInspectorProxy::platformOpen):
41462         (WebKit::WebInspectorProxy::platformInspectedWindowHeight):
41463         * WebProcess/WebPage/WebInspector.cpp:
41464         (WebKit::WebInspector::didLoadInspectorPage):
41465         * WebProcess/WebPage/WebInspector.h:
41466         * WebProcess/WebPage/WebInspector.messages.in:
41467
41468 2011-08-07  Joseph Pecoraro  <joepeck@webkit.org>
41469
41470         [QT] Possible Leaks WKRetainPtr<> should Adopt allocated Copy
41471         https://bugs.webkit.org/show_bug.cgi?id=65790
41472
41473         Reviewed by Sam Weinig.
41474
41475         Fix a leak by adopting an allocation instead of retaining it.
41476
41477         * UIProcess/qt/qwkhistory.cpp:
41478         (QWKHistoryItem::title):
41479         (QWKHistoryItem::url):
41480
41481 2011-08-06  Mark Rowe  <mrowe@apple.com>
41482
41483         Fix a memory leak found via code inspection.
41484
41485         Rubber-stamped by Dan Bernstein.
41486
41487         * WebProcess/Downloads/mac/DownloadMac.mm:
41488         (WebKit::setOriginalURLForDownload): Adopt the newly-allocated NSURL instance
41489         so that it does not leak.
41490
41491 2011-08-06  Aron Rosenberg  <arosenberg@logitech.com>
41492
41493         Reviewed by Benjamin Poulain.
41494
41495         [Qt] Fix build with Intel compiler on Windows
41496         https://bugs.webkit.org/show_bug.cgi?id=65088
41497
41498         Intel compiler needs .lib suffixes instead of .a
41499
41500         * WebKit2.pri:
41501
41502 2011-08-05  Darin Adler  <darin@apple.com>
41503
41504         Reviewed by Anders Carlsson.
41505
41506         [WebKit2] Fix code paths that can leave frame view paint behavior in the wrong state
41507         https://bugs.webkit.org/show_bug.cgi?id=63779
41508
41509         * WebProcess/Plugins/PluginView.cpp:
41510         (WebKit::PluginView::handleEvent): Unrelated cleanup. Removed unneeded local variable.
41511
41512         * WebProcess/WebPage/WebPage.cpp:
41513         (WebKit::WebPage::snapshotInViewCoordinates): Rearranged code so that the call to
41514         setPaintBehavior is after the early exit. Also got rid of unneeded save/restore since
41515         the function uses a graphics context that it then throws away.
41516         (WebKit::WebPage::scaledSnapshotInDocumentCoordinates): Ditto.
41517
41518 2011-08-04  Mark Rowe  <mrowe@apple.com>
41519
41520         Future-proof Xcode configuration settings.
41521
41522         * Configurations/Base.xcconfig:
41523         * Configurations/CompilerVersion.xcconfig:
41524         * Configurations/DebugRelease.xcconfig:
41525         * Configurations/Version.xcconfig:
41526         * Configurations/WebKit2.xcconfig:
41527
41528 2011-08-01  Brian Weinstein  <bweinstein@apple.com>
41529
41530         WebKit2: Web Inspector always starts in undocked mode
41531         https://bugs.webkit.org/show_bug.cgi?id=65493
41532         <rdar://problem/9353114>
41533         
41534         Reviewed by Adam Roben.
41535         
41536         When opening the inspector, the web process tells the UI process that the inspector page has loaded,
41537         but now will pass another bit of data, whether the inspector can start attached, so the UI process
41538         doesn't need to ask the web process to do another calculation on whether or not it can be attached.
41539         
41540         If the user prefers the inspector to start docked (this defaults to true), and there is room for the
41541         window, we send a message to the web process to try and attach the inspector. This makes sure that the
41542         inspector knows it is docked (in the web process).
41543         
41544         * UIProcess/WebInspectorProxy.cpp:
41545         (WebKit::WebInspectorProxy::attach): Update the user's docked/undocked preference if the inspector is visible
41546             when it was attached.
41547         (WebKit::WebInspectorProxy::detach): Ditto (but when it was detached).
41548         (WebKit::WebInspectorProxy::didLoadInspectorPage): If we can start docked, and the user prefers to start docked,
41549             then request the inspector be attached to the window.
41550         * UIProcess/WebInspectorProxy.h:
41551
41552         * UIProcess/mac/WebInspectorProxyMac.mm:
41553         (WebKit::WebInspectorProxy::platformOpen): Only show the window if we are going to start undocked.
41554         * UIProcess/win/WebInspectorProxyWin.cpp:
41555         (WebKit::WebInspectorProxy::platformOpen): Ditto.
41556
41557         * WebProcess/WebPage/WebInspector.cpp:
41558         (WebKit::WebInspector::didLoadInspectorPage): Pass whether or not we can attach the window.
41559         (WebKit::WebInspector::requestAttachWindow): Call through to the InspectorController to attach the inspector.
41560         (WebKit::WebInspector::canAttachWindow): Ask the InspectorController if we can attach the inspector.
41561         * WebProcess/WebPage/WebInspector.h:
41562
41563         * Shared/WebPreferencesStore.h: Add a new preference for whether or not the inspector should
41564             start attached.
41565
41566         * UIProcess/WebInspectorProxy.messages.in: When the inspector page is loaded, tell the UI Process whether
41567             we can attach the inspector without needing another message.
41568         * WebProcess/WebPage/WebInspector.messages.in: Add a new message for RequestAttachWindow
41569
41570 2011-08-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
41571
41572         [Qt][WK2] Create scene graph nodes for tiles in QTouchWebView instead of using imperative painting.
41573         https://bugs.webkit.org/show_bug.cgi?id=65528
41574
41575         Reviewed by Benjamin Poulain.
41576
41577         Converts QTouchWebPage from QSGPaintedItem to a straight QSGItem.
41578         - A SGTileNode is created and added to the scene graph for each tile,
41579           positioning them relatively to the page.
41580           It's basically a QSGSimpleTextureNode with support for specifying a
41581           source rect plus for owning the QSGTexture for proper destruction on
41582           shutdown by the rendering thread.
41583         - Scale nodes are used as parent of tile nodes to revert the scaling set on the
41584           QTouchWebPage and allow us to keep using integer coordinates.
41585         - The SGAgent class is introduced to carry scene graph update request up to the
41586           updatePaintNode call of the item, which may be on the scene graph rendering thread.
41587
41588         * UIProcess/API/qt/qtouchwebpage.cpp:
41589         (QTouchWebPage::QTouchWebPage):
41590         (QTouchWebPage::updatePaintNode):
41591         Delegate scene graph updates to the SGAgent which received update requests from the tiled drawing area.
41592         (QTouchWebPage::event):
41593         (QTouchWebPage::geometryChanged):
41594         (QTouchWebPagePrivate::QTouchWebPagePrivate):
41595         * UIProcess/API/qt/qtouchwebpage.h:
41596         * UIProcess/API/qt/qtouchwebpage_p.h:
41597         * UIProcess/TiledDrawingAreaProxy.cpp:
41598         Manage the scale node in the TileSet, it will be the parent node of Tile nodes.
41599         (WebKit::TiledDrawingAreaTileSet::sgNodeID):
41600         (WebKit::TiledDrawingAreaTileSet::TiledDrawingAreaTileSet):
41601         (WebKit::TiledDrawingAreaTileSet::~TiledDrawingAreaTileSet):
41602         (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
41603         (WebKit::TiledDrawingAreaProxy::setContentsScale):
41604         (WebKit::TiledDrawingAreaProxy::createTiles):
41605         (WebKit::TiledDrawingAreaProxy::removeAllTiles):
41606         * UIProcess/TiledDrawingAreaTile.h:
41607         (WebKit::TiledDrawingAreaTile::create):
41608         * UIProcess/qt/SGAgent.cpp: Added.
41609         * UIProcess/qt/SGAgent.h: Added.
41610         * UIProcess/qt/SGTileNode.cpp: Added.
41611         * UIProcess/qt/SGTileNode.h: Added.
41612         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
41613         Disable the paint call and update the scene graph on incorporateUpdate through the SGAgent.
41614         (WebKit::TiledDrawingAreaProxy::updateWebView):
41615         * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
41616         (WebKit::TiledDrawingAreaTile::TiledDrawingAreaTile):
41617         (WebKit::TiledDrawingAreaTile::~TiledDrawingAreaTile):
41618         (WebKit::TiledDrawingAreaTile::isReadyToPaint):
41619         (WebKit::TiledDrawingAreaTile::swapBackBufferToFront):
41620         (WebKit::TiledDrawingAreaTile::paint):
41621         (WebKit::TiledDrawingAreaTile::incorporateUpdate):
41622         (WebKit::TiledDrawingAreaTile::disableUpdates):
41623         (WebKit::TiledDrawingAreaTile::setParentNodeID):
41624         * UIProcess/qt/TouchViewInterface.cpp:
41625         (WebKit::TouchViewInterface::sceneGraphAgent):
41626         (WebKit::TouchViewInterface::setViewNeedsDisplay):
41627         * UIProcess/qt/TouchViewInterface.h:
41628         * WebKit2.pro:
41629
41630 2011-08-04  Alexis Menard  <alexis.menard@openbossa.org>
41631
41632         [Qt] Make navigation actions properly usable in QML.
41633         https://bugs.webkit.org/show_bug.cgi?id=65624
41634
41635         Add a new class that is exposed in QML to control the navigation
41636         like reload/stop/back/forward. Enums are not very QML friendly,
41637         it not possible to use enums that are not declared in the same class
41638         than the object exposed in QML, therefore it makes hard the sharing
41639         between the desktop and the touch views. In addition namespaced enums are
41640         even harder to support in QML. QWebNavigationController is
41641         not really meant to be used in C++ but it is exported for convenience
41642         reason (tests and MiniBrowser) so its API is not meant to be public but
41643         exposed in QML through properties and convenience slots. The QML code to use
41644         the navigation action in QML will look like "desktopView.navigation.reload();"
41645         or "if (desktopView.navigation.reloadAction.enabled) ...".
41646
41647         Reviewed by Benjamin Poulain.
41648
41649         * UIProcess/API/qt/WKView.h: To get the forward header generated
41650         * UIProcess/API/qt/qdesktopwebview.cpp:
41651         (QDesktopWebViewPrivate::QDesktopWebViewPrivate):
41652         (QDesktopWebView::navigationController):
41653         * UIProcess/API/qt/qdesktopwebview.h:
41654         * UIProcess/API/qt/qdesktopwebview_p.h:
41655         * UIProcess/API/qt/qmlplugin/plugin.cpp:
41656         (WebKit2QmlPlugin::registerTypes):
41657         * UIProcess/API/qt/qtouchwebpage.cpp:
41658         (QTouchWebPage::navigationController):
41659         (QTouchWebPagePrivate::QTouchWebPagePrivate):
41660         * UIProcess/API/qt/qtouchwebpage.h:
41661         * UIProcess/API/qt/qtouchwebpage_p.h:
41662         * UIProcess/API/qt/qwebnavigationcontroller.cpp: Added.
41663         (QWebNavigationControllerPrivate::QWebNavigationControllerPrivate):
41664         (QWebNavigationController::QWebNavigationController):
41665         (QWebNavigationController::~QWebNavigationController):
41666         (QWebNavigationController::backAction):
41667         (QWebNavigationController::forwardAction):
41668         (QWebNavigationController::stopAction):
41669         (QWebNavigationController::reloadAction):
41670         (QWebNavigationController::navigationAction):
41671         (QWebNavigationController::back):
41672         (QWebNavigationController::forward):
41673         (QWebNavigationController::stop):
41674         (QWebNavigationController::reload):
41675         * UIProcess/API/qt/qwebnavigationcontroller.h: Added.
41676         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
41677         (WebViewAbstraction::triggerNavigationAction):
41678         * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp:
41679         (tst_QDesktopWebView::navigationActionsStatusAtStartup):
41680         (LoadStartedCatcher::onLoadStarted):
41681         (tst_QDesktopWebView::stopActionEnabledAfterLoadStarted):
41682         * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp:
41683         (tst_QTouchWebView::navigationActionsStatusAtStartup):
41684         * WebKit2API.pri:
41685
41686 2011-08-03  Jeff Miller  <jeffm@apple.com>
41687
41688         Use of AVFoundation should default to off on Windows
41689         https://bugs.webkit.org/show_bug.cgi?id=65660
41690
41691         Reviewed by Darin Adler.
41692
41693         * Shared/WebPreferencesStore.h: Change default value for AVFoundationEnabled to false on Windows, it's still true on other platforms.
41694
41695 2011-08-03  Mark Rowe  <mrowe@apple.com>
41696
41697         Bring some order to FeatureDefines.xcconfig to make it easier to follow.
41698
41699         Reviewed by Sam Weinig.
41700
41701         * Configurations/FeatureDefines.xcconfig:
41702
41703 2011-08-03  Mark Rowe  <mrowe@apple.com>
41704
41705         Clean up FeatureDefines.xcconfig to remove some unnecessary conditional settings
41706
41707         Reviewed by Dave Kilzer.
41708
41709         * Configurations/FeatureDefines.xcconfig:
41710
41711 2011-08-03  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
41712
41713         [Qt] [WK2] Improve position of context menu for QDesktopWebView
41714         https://bugs.webkit.org/show_bug.cgi?id=65635
41715
41716         Reviewed by Andreas Kling.
41717
41718         Do not assume that the QDesktopWebView takes the entire canvas when
41719         positioning the context menu.
41720
41721         * UIProcess/API/qt/qdesktopwebview.cpp:
41722         (QDesktopWebViewPrivate::showContextMenu):
41723
41724 2011-08-03  Anders Carlsson  <andersca@apple.com>
41725
41726         Fix API tests.
41727
41728         Initialize threading before trying to allocate the WebContext.
41729
41730         * UIProcess/WebContext.cpp:
41731         (WebKit::WebContext::sharedProcessContext):
41732         (WebKit::WebContext::create):
41733
41734 2011-08-03  Pavel Feldman  <pfeldman@google.com>
41735
41736         Web Inspector: [Timeline] Hover on paint events and see rect outline around that area.
41737         https://bugs.webkit.org/show_bug.cgi?id=65510
41738
41739         Reviewed by Yury Semikhatsky.
41740
41741         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
41742         (WebKit::WebInspectorClient::drawRect):
41743
41744 2011-08-02  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
41745
41746         [Qt] [WK2] Expose web view classes to QML
41747         https://bugs.webkit.org/show_bug.cgi?id=65339
41748
41749         Reviewed by Benjamin Poulain.
41750
41751         This patch also uses QuickTest from QtDeclarative to provide the basic autotest
41752         infrastructure for the exposed elements.
41753
41754         * UIProcess/API/qt/qmlplugin/plugin.cpp: Added.
41755         (WebKit2QmlPlugin::registerTypes):
41756         * UIProcess/API/qt/qmlplugin/qmldir: Added.
41757         * UIProcess/API/qt/qmlplugin/qmlplugin.pro: Added.
41758         * UIProcess/API/qt/qtouchwebpage.h: Expose load() to QML environment.
41759         * UIProcess/API/qt/qtouchwebview.h: Since QTouchWebPage* doesn't change once set
41760         in the constructor, we mark the page property as CONSTANT. This avoid QML
41761         warnings for not having a NOTIFY signal for the property change.
41762
41763         * UIProcess/API/qt/tests/tests.pro:
41764         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml: Added.
41765         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml: Added.
41766         * UIProcess/API/qt/tests/qmltests/common/test1.html: Added.
41767         * UIProcess/API/qt/tests/qmltests/qmltests.pro: Added.
41768         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp: Added.
41769
41770 2011-08-03  Carlos Garcia Campos  <cgarcia@igalia.com>
41771
41772         [GTK] Install web and plugin processes in libexecdir instead of bindir
41773         https://bugs.webkit.org/show_bug.cgi?id=65600
41774
41775         Reviewed by Martin Robinson.
41776
41777         Launch processes from libexecdir or WEBKIT_EXEC_PATH
41778         environment variable when it's set. This variable will be used by
41779         MiniBrowser and unit tests to find processes without having to
41780         install them.
41781
41782         * GNUmakefile.am:
41783         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
41784         (WebKit::ProcessLauncher::launchProcess):
41785
41786 2011-08-03  Pavel Feldman  <pfeldman@chromium.org>
41787
41788         Web Inspector: remove Node parameter from the InspectorClient::highlight
41789         https://bugs.webkit.org/show_bug.cgi?id=65549
41790
41791         Reviewed by Yury Semikhatsky.
41792
41793         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
41794         (WebKit::WebInspectorClient::highlight):
41795         * WebProcess/WebCoreSupport/WebInspectorClient.h:
41796
41797 2011-08-03  Carlos Garcia Campos  <cgarcia@igalia.com>
41798
41799         [GTK] Reorganize pkg-config files
41800         https://bugs.webkit.org/show_bug.cgi?id=65548
41801
41802         Reviewed by Martin Robinson.
41803
41804         * GNUmakefile.am: Rename pc file as webkit2gtk.pc.in. WebKit2
41805         depends on gtk3 unconditionally so we don't need to use
41806         WEBKITGTK_PC_NAME.
41807         * webkit2gtk.pc.in: Renamed from Source/WebKit2/gtk/webkit2.pc.in.
41808
41809 2011-08-01  Michael Saboff  <msaboff@apple.com>
41810
41811         Virtual copying of FastMalloc allocated memory causes madvise MADV_FREE_REUSABLE errors
41812         https://bugs.webkit.org/show_bug.cgi?id=65502
41813
41814         Reviewed by Anders Carlsson.
41815
41816         Changed OOL message to use MACH_MSG_PHYSICAL_COPY flag instead of virtual flag
41817         so that the original memory region isn't referenced by the message and ultimately
41818         the receiving process.  The additional reference caused madvise(MADV_FREE_REUSABLE)
41819         to fail when it encountered such pages.
41820
41821         * Platform/CoreIPC/mac/ConnectionMac.cpp:
41822         (CoreIPC::Connection::sendOutgoingMessage):
41823
41824 2011-07-29  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
41825
41826         [Qt] Add QtWebProcess in PATH at runtime for WebKit2 API auto tests.
41827         https://bugs.webkit.org/show_bug.cgi?id=65378
41828
41829         Reviewed by Benjamin Poulain.
41830
41831         This prevent the runner of the tests from having to add it to PATH himself.
41832
41833         * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
41834         (tst_CommonViewTests::tst_CommonViewTests):
41835         * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp:
41836         (tst_QDesktopWebView::tst_QDesktopWebView):
41837         * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp:
41838         (tst_QTouchWebView::tst_QTouchWebView):
41839         * UIProcess/API/qt/tests/tests.pri:
41840         * UIProcess/API/qt/tests/util.cpp: Copied from Source/WebKit2/UIProcess/API/qt/tests/util.h.
41841         Move definitions to a cpp file to prevent unused static symbol warnings.
41842         (addQtWebProcessToPath):
41843         (waitForSignal):
41844         * UIProcess/API/qt/tests/util.h:
41845
41846 2011-07-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
41847
41848         TiledDrawingArea: Handle update requests in the order they were received.
41849         https://bugs.webkit.org/show_bug.cgi?id=64365
41850
41851         Reviewed by Andreas Kling.
41852
41853         TiledDrawingAreaProxy::createTiles() uses the distance of tiles to the
41854         center of the viewport to decide which tile should be rendered first.
41855         This logic is useless if the requests are not handled in the same order
41856         as they were received.
41857         Now use a list instead of a map to hold pending tile update requests.
41858
41859         * WebProcess/WebPage/TiledDrawingArea.cpp:
41860         (WebKit::TiledDrawingArea::tileUpdateTimerFired):
41861         (WebKit::TiledDrawingArea::cancelTileUpdate):
41862         (WebKit::TiledDrawingArea::requestTileUpdate):
41863         * WebProcess/WebPage/TiledDrawingArea.h:
41864
41865 2011-08-02  Amruth Raj  <amruthraj@motorola.com>
41866
41867         Custom cursors cause the WebProcess to crash
41868         https://bugs.webkit.org/show_bug.cgi?id=64802
41869
41870         Reviewed by Martin Robinson.
41871
41872         * Shared/WebCoreArgumentCoders.cpp:
41873         (CoreIPC::::encode): In case of a NULL cursor image, encode a bool indicating that.
41874         (CoreIPC::::decode): Decode the image only if required.
41875
41876 2011-08-01  Scott Graham  <scottmg@chromium.org>
41877
41878         REGRESSION (r39725?): Resources removed from document can not be freed until the document is deleted
41879         https://bugs.webkit.org/show_bug.cgi?id=61006
41880
41881         Reviewed by Antti Koivisto.
41882
41883         Update exports for test harness.
41884
41885         * win/WebKit2.def:
41886         * win/WebKit2CFLite.def:
41887
41888 2011-08-01  Hayato Ito  <hayato@chromium.org>
41889
41890         Add support for getting an element in shadow root by its id into a window.internals object.
41891         https://bugs.webkit.org/show_bug.cgi?id=64587
41892
41893         Reviewed by Hajime Morita.
41894
41895         * win/WebKit2.def:
41896         * win/WebKit2CFLite.def:
41897
41898 2011-08-01  Sheriff Bot  <webkit.review.bot@gmail.com>
41899
41900         Unreviewed, rolling out r92108.
41901         http://trac.webkit.org/changeset/92108
41902         https://bugs.webkit.org/show_bug.cgi?id=65459
41903
41904         breaks SL compile (Requested by tonyg-cr on #webkit).
41905
41906         * Shared/WebCoreArgumentCoders.cpp:
41907         (CoreIPC::::encode):
41908         (CoreIPC::::decode):
41909
41910 2011-08-01  Amruth Raj  <amruthraj@motorola.com>
41911
41912         Custom cursors cause the WebProcess to crash
41913         https://bugs.webkit.org/show_bug.cgi?id=64802
41914
41915         Reviewed by Darin Adler.
41916
41917         * Shared/WebCoreArgumentCoders.cpp:
41918         (CoreIPC::::encode): In case of a NULL cursor image, encode a bool indicating that.
41919         (CoreIPC::::decode): Decode the image only if required.
41920
41921 2011-07-31  Daniel Bates  <dbates@webkit.org>
41922
41923         Try again to fix the WinCairo Debug build after r92059 ( https://bugs.webkit.org/show_bug.cgi?id=65419).
41924
41925         * win/WebKit2CFLite.def: Export symbols needed by Internals.
41926
41927 2011-07-30  Dan Bernstein  <mitz@apple.com>
41928
41929         Try to fix the Windows build after r92059.
41930
41931         * win/WebKit2.def: Export symbols needed by Internals.
41932
41933 2011-07-30  Patrick Gansterer  <paroga@webkit.org>
41934
41935         Remove inclusion of MainThread.h from Threading.h
41936         https://bugs.webkit.org/show_bug.cgi?id=65081
41937
41938         Reviewed by Darin Adler.
41939
41940         Add missing include statements for MainThread.
41941
41942         * PluginProcess/gtk/PluginProcessMainGtk.cpp:
41943         * PluginProcess/mac/PluginProcessMainMac.mm:
41944         * PluginProcess/qt/PluginProcessMainQt.cpp:
41945         * UIProcess/API/mac/WKPrintingView.mm:
41946         * UIProcess/Launcher/mac/ThreadLauncherMac.mm:
41947         * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
41948         * UIProcess/Launcher/win/ThreadLauncherWin.cpp:
41949         * UIProcess/WebContext.cpp:
41950         * WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp:
41951         * WebProcess/efl/WebProcessMainEfl.cpp:
41952         * WebProcess/gtk/WebProcessMainGtk.cpp:
41953         * WebProcess/mac/KeychainItemShimMethods.mm:
41954         * WebProcess/mac/WebProcessMainMac.mm:
41955         * WebProcess/qt/WebProcessMainQt.cpp:
41956         * WebProcess/win/WebProcessMainWin.cpp:
41957
41958 2011-07-30  Balazs Kelemen  <kbalazs@webkit.org>
41959
41960         [Qt][WK2] Fix the build afer r92014
41961         https://bugs.webkit.org/show_bug.cgi?id=65410
41962
41963         Reviewed by Noam Rosenthal.
41964
41965         * Shared/ShareableBitmap.h:
41966         * UIProcess/qt/qdesktopwebpageproxy.cpp:
41967         (QDesktopWebPageProxy::paintContent):
41968
41969 2011-07-29  Sam Weinig  <sam@webkit.org>
41970
41971         Move Region code from WebKit2 to WebCore
41972         https://bugs.webkit.org/show_bug.cgi?id=65392
41973
41974         Reviewed by David Hyatt.
41975
41976         * CMakeLists.txt:
41977         * GNUmakefile.am:
41978         * WebKit2.pro:
41979         * WebKit2.xcodeproj/project.pbxproj:
41980         * win/WebKit2.vcproj:
41981         Update project files.
41982
41983         * Platform/Region.cpp: Removed.
41984         * Platform/Region.h: Removed.
41985         Remove Region files.
41986
41987         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
41988         (webkitWebViewBaseDraw):
41989         * UIProcess/API/mac/WKView.mm:
41990         * UIProcess/DrawingAreaProxyImpl.cpp:
41991         * UIProcess/DrawingAreaProxyImpl.h:
41992         * UIProcess/qt/qdesktopwebpageproxy.cpp:
41993         * UIProcess/win/WebView.cpp:
41994         * WebProcess/WebPage/DrawingAreaImpl.h:
41995         Update for new namespace and include type.
41996
41997 2011-07-29  Anders Carlsson  <andersca@apple.com>
41998
41999         Pass the HTTP referrer header for URLs loaded by plug-ins
42000         https://bugs.webkit.org/show_bug.cgi?id=65379
42001         <rdar://problem/9822116>
42002
42003         Reviewed by Sam Weinig.
42004
42005         Set the HTTP referrer if necessary.
42006
42007         * WebProcess/Plugins/PluginView.cpp:
42008         (WebKit::PluginView::loadURL):
42009
42010 2011-07-29  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
42011
42012         Fix the QTouchWebView in debug segfault on shutdown introduced in 91979.
42013         https://bugs.webkit.org/show_bug.cgi?id=64728
42014
42015         Reviewed by Benjamin Poulain.
42016
42017         unregisterTile is called in the tile's destructor, triggered in the TileSet's
42018         destruction, which happens in the middle of the proxy's destruction
42019         (after the m_tilesByID HashMap destruction).
42020         Detach the tiles in the proxy's destructor to make sure they can cleanup
42021         using a valid proxy.
42022
42023         * UIProcess/TiledDrawingAreaProxy.cpp:
42024         (WebKit::TiledDrawingAreaProxy::~TiledDrawingAreaProxy):
42025
42026 2011-07-29  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
42027
42028         Fix the QTouchWebView in debug broke in 91979.
42029         https://bugs.webkit.org/show_bug.cgi?id=64728
42030
42031         Reviewed by Benjamin Poulain.
42032
42033         registerTile is called in the Tile's constructor, before adoptRef.
42034         Change the pointer parameter to use the raw type instead.
42035
42036         * UIProcess/TiledDrawingAreaProxy.cpp:
42037         (WebKit::TiledDrawingAreaProxy::registerTile):
42038         * UIProcess/TiledDrawingAreaProxy.h:
42039
42040 2011-07-29  Alexis Menard  <alexis.menard@openbossa.org>
42041
42042         [Qt] Make QDesktopWebView/QTouchWebView loadProgress property more usable in QML.
42043         https://bugs.webkit.org/show_bug.cgi?id=65315
42044
42045         Reviewed by Benjamin Poulain.
42046
42047         In order to use the loadProgress value in QML we need to make it
42048         a Q_PROPERTY, therefore we need a getter to get it.
42049
42050         * UIProcess/API/qt/qdesktopwebview.cpp:
42051         (QDesktopWebViewPrivate::didChangeLoadProgress):
42052         (QDesktopWebView::url):
42053         (QDesktopWebView::loadProgress):
42054         * UIProcess/API/qt/qdesktopwebview.h:
42055         * UIProcess/API/qt/qtouchwebpage.cpp:
42056         (QTouchWebPage::loadProgress):
42057         * UIProcess/API/qt/qtouchwebpage.h:
42058         * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
42059         (tst_CommonViewTests::stop):
42060         (tst_CommonViewTests::loadProgress):
42061         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
42062         (WebViewAbstraction::WebViewAbstraction):
42063         (WebViewAbstraction::loadProgress):
42064         (WebViewAbstraction::desktopViewLoadFailed):
42065         (WebViewAbstraction::touchViewLoadProgressChanged):
42066         (WebViewAbstraction::desktopViewLoadProgressChanged):
42067         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
42068         * UIProcess/qt/QtWebPageProxy.cpp:
42069         (QtWebPageProxy::QtWebPageProxy):
42070         (QtWebPageProxy::didChangeLoadProgress):
42071         * UIProcess/qt/QtWebPageProxy.h:
42072         (QtWebPageProxy::loadProgress):
42073         * UIProcess/qt/TouchViewInterface.cpp:
42074         (WebKit::TouchViewInterface::didChangeLoadProgress):
42075
42076 2011-07-27  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
42077
42078         TiledDrawingArea: Use tile sets to paint old content while rendering for a new scale.
42079         https://bugs.webkit.org/show_bug.cgi?id=64728
42080
42081         Reviewed by Benjamin Poulain.
42082
42083         We currently delete all the tiles when setContentsScale is called. This shows a blank
42084         background to the user while the web process render tiles for the new scale.
42085
42086         This patch extracts the ownership of individual tiles from TiledDrawingAreaProxy to
42087         TiledDrawingAreaTileSet to allow the proxy to paint tiles with different scales.
42088         We can then paint the tiles we already have on top of the tiles we are rendering for
42089         the new scale until enough content is available.
42090
42091         * UIProcess/TiledDrawingAreaProxy.cpp:
42092         (WebKit::TiledDrawingAreaTileSet::tiles):
42093         (WebKit::TiledDrawingAreaTileSet::contentsScale):
42094         (WebKit::TiledDrawingAreaTileSet::TiledDrawingAreaTileSet):
42095         (WebKit::TiledDrawingAreaTileSet::mapToContents):
42096         (WebKit::TiledDrawingAreaTileSet::mapFromContents):
42097         (WebKit::TiledDrawingAreaProxy::TiledDrawingAreaProxy):
42098         (WebKit::TiledDrawingAreaProxy::registerTile):
42099         (WebKit::TiledDrawingAreaProxy::unregisterTile):
42100         Added those two methods to allow the tiles to clean
42101         themselves on destruction.
42102         (WebKit::TiledDrawingAreaProxy::requestTileUpdate):
42103         (WebKit::TiledDrawingAreaProxy::cancelTileUpdate):
42104         (WebKit::TiledDrawingAreaProxy::invalidate):
42105         (WebKit::TiledDrawingAreaProxy::updateTileBuffers):
42106         (WebKit::TiledDrawingAreaProxy::tileBufferUpdateComplete):
42107         (WebKit::TiledDrawingAreaProxy::paint):
42108         (WebKit::TiledDrawingAreaProxy::coverageRatio):
42109         (WebKit::TiledDrawingAreaProxy::setContentsScale):
42110         (WebKit::TiledDrawingAreaProxy::createTiles):
42111         (WebKit::TiledDrawingAreaProxy::resizeEdgeTiles):
42112         (WebKit::TiledDrawingAreaProxy::dropTilesOutsideRect):
42113         (WebKit::TiledDrawingAreaProxy::disableTileSetUpdates):
42114         (WebKit::TiledDrawingAreaProxy::removeAllTiles):
42115         (WebKit::TiledDrawingAreaProxy::contentsRect):
42116         (WebKit::TiledDrawingAreaProxy::visibleRect):
42117         (WebKit::TiledDrawingAreaProxy::hasPendingUpdates):
42118         * UIProcess/TiledDrawingAreaProxy.h:
42119         * UIProcess/TiledDrawingAreaTile.h:
42120         * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
42121         (WebKit::TiledDrawingAreaTile::TiledDrawingAreaTile):
42122         (WebKit::TiledDrawingAreaTile::~TiledDrawingAreaTile):
42123         (WebKit::TiledDrawingAreaTile::incorporateUpdate):
42124         (WebKit::TiledDrawingAreaTile::disableUpdates):
42125         (WebKit::TiledDrawingAreaTile::updateBackBuffer):
42126
42127 2011-07-28  Tim Horton  <timothy_horton@apple.com>
42128
42129         REGRESSION (5.1): CJK input broken after clicking on Flash content
42130         <rdar://problem/9854447>
42131         https://bugs.webkit.org/show_bug.cgi?id=65349
42132
42133         Reviewed by Darin Adler.
42134
42135         After giving Flash focus on a page and then navigating away from that page
42136         using the back button, we were not getting notified to switch back to
42137         inline (non-complex) input. Now, notify the page that it can leave complex
42138         text mode when the plugin is destroyed.
42139
42140         * WebProcess/Plugins/PluginView.cpp:
42141         (WebKit::PluginView::~PluginView):
42142
42143 2011-07-28  Anders Carlsson  <andersca@apple.com>
42144
42145         Crash when trying to encode FontInfo with a null font attribute descriptor
42146         https://bugs.webkit.org/show_bug.cgi?id=65350
42147         <rdar://problem/9520670>
42148
42149         Reviewed by Darin Adler.
42150
42151         * Shared/FontInfo.cpp:
42152         (WebKit::FontInfo::encode):
42153         Encode a boolean specifying whether there's a fontAttributeDictionary member variable.
42154
42155         (WebKit::FontInfo::decode):
42156         Don't try to decode the fontAttributeDictionary member variable if none has been encoded.
42157
42158 2011-07-26  Chris Fleizach  <cfleizach@apple.com>
42159
42160         REGRESSION (Safari 5.1): JavaScript dialogs not usable with VoiceOver
42161         https://bugs.webkit.org/show_bug.cgi?id=65214
42162
42163         Reviewed by Anders Carlsson.
42164
42165         Allow the ability to spin the run loop while WebProcess is waiting for a synchronous reply.
42166         This allows it to continue to serve accessibility requests while waiting and basically
42167         restores the behavior WK1 was presenting. This patch only enables this mode when accessibility is on.
42168
42169         * Platform/CoreIPC/Connection.cpp:
42170         (CoreIPC::Connection::sendSyncMessage):
42171         (CoreIPC::Connection::waitForSyncReply):
42172         * Platform/CoreIPC/Connection.h:
42173         (CoreIPC::Connection::sendSync):
42174         * Platform/RunLoop.h:
42175         * Platform/mac/RunLoopMac.mm:
42176         (RunLoop::runForDuration):
42177         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
42178         (WebKit::WebChromeClient::runJavaScriptAlert):
42179         (WebKit::WebChromeClient::runJavaScriptConfirm):
42180         (WebKit::WebChromeClient::runJavaScriptPrompt):
42181
42182 2011-07-28  Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
42183
42184         Pass the key_press_event or key_release_event to parent widget when it is not handled by Web Process.
42185         (https://bugs.webkit.org/show_bug.cgi?id=64790)
42186
42187         Reviewed by Martin Robinson.
42188
42189         * Shared/NativeWebKeyboardEvent.h:
42190         (WebKit::NativeWebKeyboardEvent::nativeEvent): Return a GdkEvent* instead of const GdkEvent* (non-const).
42191         * UIProcess/API/gtk/PageClientImpl.cpp:
42192         (WebKit::PageClientImpl::doneWithKeyEvent): Implemented for GTK port. Sets flag if the keyboard event 
42193         needs to be passed to the parent widget. Invoke gtk_main_do_event() if event needs to be passed to parent.
42194         * UIProcess/API/gtk/PageClientImpl.h: Deleted obsolete functions didNotHandleKeyEvent & didNotHandleWheelEvent.
42195         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
42196         (webkit_web_view_base_init): Initialize shouldForwardNextKeyEvent flag.
42197         (webkitWebViewBaseKeyPressEvent): Pass event to parent widget depending on status from doneWithKeyEvent. 
42198         (webkitWebViewBaseKeyReleaseEvent): Pass event to parent widget depending on status from doneWithKeyEvent.
42199         (webkitWebViewBaseForwardNextKeyEvent): API to set flag shouldForwardNextKeyEvent.
42200         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Added API to set shouldForwardNextKeyEvent flag.
42201
42202 2011-07-28  Dan Bernstein  <mitz@apple.com>
42203
42204         <rdar://problem/9589433> Displaying Japanese dictionary contents in vertical orientation takes a couple of seconds
42205
42206         Reviewed by Darin Adler.
42207
42208         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
42209         (InitWebCoreSystemInterface): Initialize wkGetVerticalGlyphsForCharacters.
42210
42211 2011-07-28  Brady Eidson  <beidson@apple.com>
42212
42213         <rdar://problem/9714337> and https://bugs.webkit.org/show_bug.cgi?id=65306
42214         WebKitInitializeStorageIfNecessary() can take awhile performing i/o, isn't necessary for every WebView
42215
42216         Reviewed by Maciej Stachowiak.
42217
42218         * WebProcess/WebProcess.cpp:
42219         (WebKit::WebProcess::initializeWebProcess): Pass a null client pointer in the new form of initializeTracker()
42220
42221 2011-07-27  Mark Hahnenberg  <mhahnenberg@apple.com>
42222
42223         Remove operator new from JSCell
42224         https://bugs.webkit.org/show_bug.cgi?id=64999
42225
42226         Reviewed by Oliver Hunt.
42227
42228         Removed the implementation of operator new in JSCell, so any further uses
42229         will not successfully link.  Also removed any remaining uses of operator new.
42230
42231         * WebProcess/Plugins/Netscape/JSNPMethod.h:
42232         (WebKit::JSNPMethod::create):
42233         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
42234         (WebKit::JSNPObject::methodGetter):
42235         * WebProcess/Plugins/Netscape/JSNPObject.h:
42236         (WebKit::JSNPObject::create):
42237         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
42238         (WebKit::NPRuntimeObjectMap::getOrCreateJSObject):
42239
42240 2011-07-27  Benjamin Poulain  <benjamin@webkit.org>
42241
42242         [WK2][Qt] Move from QGraphicsView to Qt Scene Graph
42243         https://bugs.webkit.org/show_bug.cgi?id=62969
42244
42245         Reviewed by Andreas Kling.
42246
42247         Co-authored with Simon Hausmann  <simon.hausmann@nokia.com>
42248
42249         This patch change the base of WebKit2 from QGraphicsWidget
42250         to scenegraph based items.
42251
42252         QTouchWebView becomes a QSGItem with the only role of clipping
42253         child items.
42254         QTouchWebPage becomes a QSGPaintedItem in order to render the content
42255         of the flattened page. This is a temporary work around to get
42256         something running without deep changes on the drawing area proxy.
42257
42258         QDesktopWebView become a QSGPaintedItem and behave as before
42259         regarding rendering. The drawing area proxy is used to render
42260         the full item.
42261
42262         The event delivery had to be adapted because the scenegraph does not
42263         follow regular delivery of QEvents. Instead, each event type is
42264         delivered directly to a specific virtual function.
42265         In this patch, the events are forwarded to the classic QObject::event().
42266
42267         For the features that cannot be implemented on scenegraph (tooltip, menus, etc),
42268         a temporary workaround was added: the parent canvas is used as the widget for
42269         providing the feature. This assumes the web views alone in the canvas and
42270         take its full size. This will have to be fixed in the scenegraph for us to
42271         implement those features.
42272
42273         * UIProcess/API/qt/qdesktopwebview.cpp:
42274         (QDesktopWebViewPrivate::drawingAreaSize):
42275         (QDesktopWebViewPrivate::isActive):
42276         (QDesktopWebViewPrivate::startDrag):
42277         (QDesktopWebViewPrivate::didChangeToolTip):
42278         (QDesktopWebViewPrivate::didChangeCursor):
42279         (QDesktopWebViewPrivate::showContextMenu):
42280         (QDesktopWebView::QDesktopWebView):
42281         (QDesktopWebView::init):
42282         (paintCrashedPage):
42283         (QDesktopWebView::keyPressEvent):
42284         (QDesktopWebView::keyReleaseEvent):
42285         (QDesktopWebView::inputMethodEvent):
42286         (QDesktopWebView::focusInEvent):
42287         (QDesktopWebView::focusOutEvent):
42288         (QDesktopWebView::mousePressEvent):
42289         (QDesktopWebView::mouseMoveEvent):
42290         (QDesktopWebView::mouseReleaseEvent):
42291         (QDesktopWebView::mouseDoubleClickEvent):
42292         (QDesktopWebView::wheelEvent):
42293         (QDesktopWebView::touchEvent):
42294         (QDesktopWebView::hoverEnterEvent):
42295         (QDesktopWebView::hoverMoveEvent):
42296         (QDesktopWebView::hoverLeaveEvent):
42297         (QDesktopWebView::dragMoveEvent):
42298         (QDesktopWebView::dragEnterEvent):
42299         (QDesktopWebView::dragExitEvent):
42300         (QDesktopWebView::dragDropEvent):
42301         (QDesktopWebView::geometryChanged):
42302         (QDesktopWebView::paint):
42303         (QDesktopWebView::event):
42304         * UIProcess/API/qt/qdesktopwebview.h:
42305         * UIProcess/API/qt/qtouchwebpage.cpp:
42306         (QTouchWebPage::QTouchWebPage):
42307         (QTouchWebPage::paint):
42308         (QTouchWebPage::event):
42309         (QTouchWebPage::keyPressEvent):
42310         (QTouchWebPage::keyReleaseEvent):
42311         (QTouchWebPage::inputMethodEvent):
42312         (QTouchWebPage::focusInEvent):
42313         (QTouchWebPage::focusOutEvent):
42314         (QTouchWebPage::touchEvent):
42315         (QTouchWebPage::geometryChanged):
42316         * UIProcess/API/qt/qtouchwebpage.h:
42317         * UIProcess/API/qt/qtouchwebview.cpp:
42318         (QTouchWebViewPrivate::scroll):
42319         (QTouchWebView::QTouchWebView):
42320         (QTouchWebView::geometryChanged):
42321         * UIProcess/API/qt/qtouchwebview.h:
42322         * UIProcess/API/qt/tests/tests.pri:
42323         * UIProcess/API/qt/tests/testwindow.h:
42324         (TestWindow::TestWindow):
42325         (TestWindow::resizeEvent):
42326         * UIProcess/qt/TouchViewInterface.cpp:
42327         (WebKit::TouchViewInterface::panGestureRequestScroll):
42328         (WebKit::TouchViewInterface::pinchGestureRequestUpdate):
42329         (WebKit::TouchViewInterface::drawingAreaSize):
42330         (WebKit::TouchViewInterface::contentSizeChanged):
42331         (WebKit::TouchViewInterface::isActive):
42332         * UIProcess/qt/ViewInterface.cpp: Removed.
42333         * UIProcess/qt/ViewInterface.h:
42334         * WebKit2.pro:
42335
42336 2011-07-27  Benjamin Poulain  <benjamin@webkit.org>
42337
42338         [Qt][WK2] Clean WKPageLoaderClient
42339         https://bugs.webkit.org/show_bug.cgi?id=65246
42340
42341         Reviewed by Andreas Kling.
42342
42343         Remove the empty functions from Qt's WKPageLoaderClient.
42344
42345         * UIProcess/qt/ClientImpl.cpp:
42346         (qt_wk_didSameDocumentNavigationForFrame): Move the function to
42347         have all the implementations in the same order as the definitions.
42348         * UIProcess/qt/ClientImpl.h:
42349         * UIProcess/qt/QtWebPageProxy.cpp:
42350         (QtWebPageProxy::init):
42351
42352 2011-07-27  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
42353
42354         Fix Qt (and possibly Gtk) WebKit2 build after addition of -webkit-pictograph
42355         https://bugs.webkit.org/show_bug.cgi?id=65253
42356
42357         Reviewed by Andreas Kling.
42358
42359         The -webkit-pictograph generic family was added by bug 65197.
42360
42361         * Shared/WebPreferencesStore.h:
42362
42363 2011-07-27  Benjamin Poulain  <benjamin@webkit.org>
42364
42365         [Qt][WK2] Simplify the PageUIClient
42366         https://bugs.webkit.org/show_bug.cgi?id=65198
42367
42368         Reviewed by Andreas Kling.
42369
42370         The only function of WKPageLoaderClient with a complete implementation
42371         is qt_wk_setStatusText(). The other functions were what is left from
42372         before the refactoring of QWKPage.
42373
42374         This patch removes the unused functions to simplify the client. Since the dependency
42375         on QtWebPageProxy is removed from that client, it now calls the ViewInterface directly.
42376
42377         * UIProcess/qt/ClientImpl.cpp:
42378         (toViewInterface):
42379         (qt_wk_setStatusText):
42380         * UIProcess/qt/ClientImpl.h:
42381         * UIProcess/qt/QtWebPageProxy.cpp:
42382         (QtWebPageProxy::QtWebPageProxy):
42383         (QtWebPageProxy::init):
42384         * UIProcess/qt/QtWebPageProxy.h:
42385
42386 2011-07-26  Sadrul Habib Chowdhury  <sadrul@chromium.org>
42387
42388         Add support for download='filename' attribute in anchors.
42389         https://bugs.webkit.org/show_bug.cgi?id=64580
42390
42391         Reviewed by Adam Barth.
42392
42393         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
42394         (WebKit::WebFrameLoaderClient::startDownload):
42395         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
42396
42397 2011-07-26  Tim Horton  <timothy_horton@apple.com>
42398
42399         Apply r40940 to WebKit2 to work around a Silverlight crash.
42400         https://bugs.webkit.org/show_bug.cgi?id=65205
42401         <rdar://problem/9058370>
42402
42403         Reviewed by Anders Carlsson.
42404
42405         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
42406         (WebKit::NetscapePluginModule::determineQuirks):
42407         * Shared/Plugins/PluginQuirks.h:
42408         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
42409         (WebKit::NetscapePlugin::userAgent):
42410
42411 2011-07-26  Dan Bernstein  <mitz@apple.com>
42412
42413         <rdar://problem/9842889> Add a generic pictograph font family
42414         https://bugs.webkit.org/show_bug.cgi?id=65197
42415
42416         Reviewed by Anders Carlsson.
42417
42418         * Shared/WebPreferencesStore.h:
42419         * UIProcess/API/C/WKPreferences.cpp:
42420         (WKPreferencesSetPictographFontFamily): Added.
42421         (WKPreferencesCopyPictographFontFamily): Added.
42422         * UIProcess/API/C/WKPreferences.h:
42423
42424 2011-07-26  Andras Becsi  <abecsi@webkit.org>
42425
42426         [Qt] [WK2] Disable the build with Qt versions older than 5.0 
42427         https://bugs.webkit.org/show_bug.cgi?id=65189
42428
42429         Reviewed by Csaba Osztrogonác.
42430
42431         * Platform/qt/ModuleQt.cpp:
42432         (WebKit::Module::platformFunctionPointer): Fix the build for Qt5.
42433
42434 2011-07-26  Benjamin Poulain  <benjamin@webkit.org>
42435
42436         [Qt][WK2] Make the WebContextMenuProxyQt handle the full interactions between the views and the WebPageProxy
42437         https://bugs.webkit.org/show_bug.cgi?id=64739
42438
42439         Reviewed by Andreas Kling.
42440
42441         Change the WebContextMenuProxyQt to be the intermediary between the WebPageProxy and our views regarding
42442         the context menu.
42443
42444         The actions of the context menu are no longer the responsibility of QtWebPageProxy but are instead
42445         created and handled directly by the WebContextMenuProxyQt.
42446
42447         * UIProcess/qt/QtWebPageProxy.cpp:
42448         (QtWebPageProxy::createContextMenuProxy):
42449         (QtWebPageProxy::triggerAction):
42450         (QtWebPageProxy::action):
42451         * UIProcess/qt/QtWebPageProxy.h:
42452         * UIProcess/qt/WebContextMenuProxyQt.cpp:
42453         (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
42454         (WebKit::WebContextMenuProxyQt::create):
42455         (WebKit::WebContextMenuProxyQt::actionTriggered):
42456         (WebKit::WebContextMenuProxyQt::showContextMenu):
42457         (WebKit::WebContextMenuProxyQt::hideContextMenu):
42458         (WebKit::WebContextMenuProxyQt::createContextMenu):
42459         * UIProcess/qt/WebContextMenuProxyQt.h:
42460
42461 2011-07-26  Carlos Garcia Campos  <cgarcia@igalia.com>
42462
42463         [GTK] Remove header webkitwebviewcommon.h
42464         https://bugs.webkit.org/show_bug.cgi?id=65177
42465
42466         Reviewed by Martin Robinson.
42467
42468         * UIProcess/API/gtk/WebKitWebView.h: Add function prototypes
42469         instead of including webkitwebviewcommon.h.
42470
42471 2011-07-22  Jessie Berlin  <jberlin@apple.com>
42472
42473         [WebKit2] Changing the cookie accept policy in Private Browsing doesn’t work.
42474         https://bugs.webkit.org/show_bug.cgi?id=64997
42475
42476         Reviewed by Ada Chan.
42477
42478         * WebProcess/Cookies/mac/WebCookieManagerMac.mm:
42479         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
42480         Set the policy on the Cookie Storage used by the Private Browsing Storage Session as well.
42481         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
42482         (InitWebCoreSystemInterface):
42483
42484 2011-07-21  Yael Aharon  <yael.aharon@nokia.com>
42485
42486         [Qt][WK2] Code cleanup for drag-and-drop
42487         https://bugs.webkit.org/show_bug.cgi?id=64916
42488
42489         Reviewed by Andreas Kling.
42490
42491         * UIProcess/WebPageProxy.cpp:
42492         (WebKit::WebPageProxy::startDrag):
42493         Allow receiving a NULL bitmap from the web process.
42494         
42495         * UIProcess/qt/qdesktopwebpageproxy.cpp:
42496         (QDesktopWebPageProxy::handleEvent):
42497         Fix typo introduced in http://trac.webkit.org/changeset/90458.
42498         All DnD related events should be GraphicsScene events.
42499         
42500         * WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp:
42501         (WebKit::convertQPixmapToShareableBitmap):
42502         Remove hack that creates a 1x1 bitmap.
42503         It is no longer needed after http://trac.webkit.org/changeset/91016.
42504         
42505         (WebKit::WebDragClient::startDrag):
42506         Allow sending a NULL bitmap to the UI process.
42507
42508 2011-07-20  Tim Horton  <timothy_horton@apple.com>
42509
42510         Scrollbar color heuristic needs to be hooked up in WebKit1
42511         https://bugs.webkit.org/show_bug.cgi?id=64220
42512         <rdar://problem/9589140>
42513
42514         Reviewed by Darin Adler.
42515
42516         Store the scroller style on ScrollableArea, and recompute it whenever
42517         the document or body element background color changes or the base background
42518         color of the scrollview changes. Also, make sure to repaint the scrollbars
42519         whenever the style changes.
42520
42521         * WebProcess/WebPage/WebFrame.cpp:
42522         (WebKit::WebFrame::getDocumentBackgroundColor):
42523
42524 2011-07-20  James Robinson  <jamesr@chromium.org>
42525
42526         Revert worker and WebKit2 runloops to use currentTime() for scheduling instead of the monotonic clock
42527         https://bugs.webkit.org/show_bug.cgi?id=64841
42528
42529         Reviewed by Mark Rowe.
42530
42531         http://trac.webkit.org/changeset/91206 converted most of WebKit's deferred work scheduling to using the
42532         monotonic clock instead of WTF::currentTime().  This broke many plugin tests on WebKit2 for reasons that are
42533         unclear.  This reverts everything except for WebCore::ThreadTimers back to the previous behavior.
42534
42535         * Platform/CoreIPC/Connection.cpp:
42536         (CoreIPC::Connection::waitForMessage):
42537         (CoreIPC::Connection::waitForSyncReply):
42538         * Platform/RunLoop.h:
42539
42540 2011-07-19  Ryosuke Niwa  <rniwa@webkit.org>
42541
42542         Build fix after r91307.
42543
42544         * Platform/Logging.h:
42545
42546 2011-07-19  Lukasz Slachciak  <lukasz.slachciak@gmail.com>
42547
42548         [GTK] [WK2] Implement missing initializeLogChannel function.
42549         https://bugs.webkit.org/show_bug.cgi?id=63381
42550
42551         Reviewed by Martin Robinson.
42552
42553         Implemented logging for GTK platform in WebKit2 - function initializeLogChannel is called for all ports,
42554         so added missing implementation. Aslo helper function added for getting channels from names.
42555
42556         * GNUmakefile.am: Added reference to new file LoggingGtk.cpp.
42557         * Platform/Logging.cpp: Logging implementation for GTK port enabled.
42558         (WebKit::getChannelFromName): Helper to connect name with WTFLogChannel.
42559         * Platform/Logging.h: New helper method added.
42560         * Platform/gtk/LoggingGtk.cpp: Added. GTK logging implementation.
42561         (WebKit::initializeLogChannel): Channel is initialized if its name is found in WEBKIT_DEBUG.
42562
42563 2011-07-19  Brian Weinstein  <bweinstein@apple.com>
42564
42565         Add back a change that was accidentally removed in r91266.
42566         
42567         Make sure to retain the WKPasteboardFilePromiseOwner before calling draggedImage because draggedImage releases
42568         its responder. Also make the comment more explicit, to keep this mistake from being made in the future.
42569         
42570         Rubber-stamped by Darin Adler.
42571
42572         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
42573         (WebKit::WebDragClient::dragEnded):
42574
42575 2011-07-18  Brian Weinstein  <bweinstein@apple.com>
42576
42577         Speculative fix for: Crash under WebPage::platformDragEnded when dragging on Mac
42578         https://bugs.webkit.org/show_bug.cgi?id=64766
42579         <rdar://problem/9548174>
42580
42581         Reviewed by Enrica Casucci.
42582
42583         I was unable to reproduce this bug, but Darin Adler and I discussed the probable issue. When starting the drag, we create 
42584         a WKPasteboardFilePromiseOwner, and a WKPasteboardOwner. When the drag is concluded, we call a method on the WKPasteboardFilePromiseOwner
42585         which uses the WKPasteboardOwner. However, we are not guaranteeing that the WKPasteboardOwner will be around when the 
42586         WKPasteboardFilePromiseOwner method is called.
42587         
42588         The fix is to retain both the WKPasteboardFilePromiseOwner and the WKPasteboardOwner that we need, making sure that we are keeping
42589         both objects alive.
42590         
42591         This patch also uses r91222 to replace WebPage::platformDragEnded, so WebPage doesn't need to know about the drag source.
42592
42593         * WebProcess/WebCoreSupport/WebDragClient.cpp:
42594         (WebKit::WebDragClient::dragEnded): Add a non-Mac stub method, since the Mac is the only platform that does something here.
42595         * WebProcess/WebCoreSupport/WebDragClient.h:
42596         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
42597         (WebKit::WebDragClient::declareAndWriteDragImage): Use member variables instead of local variables.
42598         (WebKit::WebDragClient::dragEnded): Move code from WebPageMac::platformDragEnded to here, and clear both member variables.
42599         * WebProcess/WebPage/WebPage.cpp:
42600         (WebKit::WebPage::dragEnded): Don't call platformDragEnded anymore. WebCore::DragController::dragEnded calls WebDragClient::dragEnded,
42601             which does the same thing.
42602         * WebProcess/WebPage/WebPage.h:
42603         * WebProcess/WebPage/mac/WebPageMac.mm: Remove platformDragEnded.
42604
42605 2011-07-18  Alexis Menard  <alexis.menard@openbossa.org>
42606
42607         [Qt][WK2] Make QDesktopWebView::navigationAction method usable in QML.
42608         https://bugs.webkit.org/show_bug.cgi?id=64690
42609
42610         Make the API usable with QML by declaring what's needed
42611         with the macros.
42612
42613         Reviewed by Benjamin Poulain.
42614
42615         * UIProcess/API/qt/qdesktopwebview.h:
42616
42617 2011-07-18  MORITA Hajime  <morrita@google.com>
42618
42619         [ShadowContentElement] forwarded node should be able to access its hosting content element.
42620         https://bugs.webkit.org/show_bug.cgi?id=64251
42621
42622         Reviewed by Dimitri Glazkov.
42623
42624         Exported additional symbols for window.internals object.
42625
42626         * win/WebKit2.def:
42627         * win/WebKit2CFLite.def:
42628
42629 2011-07-18  Dean Jackson  <dino@apple.com>
42630
42631         https://bugs.webkit.org/show_bug.cgi?id=64742
42632         Expose WebPreferences for media playback requiring user gestures and inline playback
42633
42634         Reviewed by Simon Fraser.
42635
42636         Two new WebPreferences: MediaPlaybackRequiresUserGesture and
42637         MediaPlaybackAllowsInline.
42638
42639         * Shared/WebPreferencesStore.h:
42640         * UIProcess/API/C/WKPreferences.cpp:
42641         (WKPreferencesSetMediaPlaybackRequiresUserGesture):
42642         (WKPreferencesGetMediaPlaybackRequiresUserGesture):
42643         (WKPreferencesSetMediaPlaybackAllowsInline):
42644         (WKPreferencesGetMediaPlaybackAllowsInline):
42645         * UIProcess/API/C/WKPreferencesPrivate.h:
42646         * WebProcess/WebPage/WebPage.cpp:
42647         (WebKit::WebPage::updatePreferences):
42648
42649 2011-07-18  James Robinson  <jamesr@chromium.org>
42650
42651         Timer scheduling should be based off the monotonic clock
42652         https://bugs.webkit.org/show_bug.cgi?id=64544
42653
42654         Reviewed by Darin Adler.
42655
42656         Converts the WebKit2 RunLoop and CoreIPC timeouts to use monotonicallyIncreasingTime().
42657
42658         * Platform/CoreIPC/Connection.cpp:
42659         (CoreIPC::Connection::waitForMessage):
42660         (CoreIPC::Connection::waitForSyncReply):
42661         * Platform/RunLoop.h:
42662
42663 2011-07-18  Anders Carlsson  <andersca@apple.com>
42664
42665         Make using lowercase parameter names for AppleConnect be a plug-in quirk
42666         https://bugs.webkit.org/show_bug.cgi?id=64638
42667
42668         Reviewed by Sam Weinig.
42669
42670         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
42671         (WebKit::NetscapePluginModule::determineQuirks):
42672         Set the WantsLowercaseParameterNames quirk for the AppleConnect plug-in.
42673
42674         * Shared/Plugins/PluginQuirks.h:
42675         Add WantsLowercaseParameterNames quirk.
42676
42677         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
42678         (WebKit::NetscapePlugin::initialize):
42679         If the plug-in has the WantsLowercaseParameterNames quirk, convert the parameter
42680         names to lowercase.
42681
42682         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
42683         (WebKit::WebFrameLoaderClient::createPlugin):
42684         Remove the code that would convert the parameters here. Also remove the FIXME; plug-in quirks
42685         aren't really the same thing as site-specific quirks.
42686
42687 2011-07-15  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
42688
42689         [Qt] Consider QTouchWebPage's transform when scrolling the viewport.
42690         https://bugs.webkit.org/show_bug.cgi?id=64541
42691
42692         Reviewed by Benjamin Poulain.
42693
42694         Currently the scroll deltas are given to moveBy in page coordinates
42695         which doesn't match when the page view is scalled.
42696         This patch gives the scroll delta to the viewport in it's own coordinates.
42697
42698         * UIProcess/qt/TouchViewInterface.cpp:
42699         (WebKit::TouchViewInterface::panGestureRequestScroll):
42700
42701 2011-07-15  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
42702
42703         [Qt] Push the new viewport rect to the drawing area after committing the scale.
42704         https://bugs.webkit.org/show_bug.cgi?id=64597
42705
42706         Reviewed by Benjamin Poulain.
42707
42708         * UIProcess/qt/TouchViewInterface.cpp:
42709         (WebKit::TouchViewInterface::pinchGestureEnded):
42710
42711 2011-07-15  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
42712
42713         [Qt] Remove the scale commit timer from QTouchWebPage.
42714         https://bugs.webkit.org/show_bug.cgi?id=64600
42715
42716         Reviewed by Benjamin Poulain.
42717
42718         Since we don't currently need unprepared page view scale changes,
42719         this timer isn't useful.
42720
42721         * UIProcess/API/qt/qtouchwebpage.cpp:
42722         (QTouchWebPage::QTouchWebPage):
42723         (QTouchWebPagePrivate::QTouchWebPagePrivate):
42724         (QTouchWebPagePrivate::commitScaleChange):
42725         * UIProcess/API/qt/qtouchwebpage.h:
42726         * UIProcess/API/qt/qtouchwebpage_p.h:
42727         * UIProcess/qt/TouchViewInterface.cpp:
42728         (WebKit::TouchViewInterface::pinchGestureStarted):
42729
42730 2011-07-15  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
42731
42732         TiledDrawingArea: map the visibleArea rect from page to tiles coordinates.
42733         https://bugs.webkit.org/show_bug.cgi?id=64538
42734
42735         Reviewed by Benjamin Poulain.
42736
42737         TiledDrawingAreaProxy expects its coordinates to be scaled according to
42738         contentsScale. This patch keep the pushed visibleArea as page coordinates
42739         and convert it each time to scaled coordinates in case the contents scale was
42740         changed afterward.
42741         This is a regression introduced in r90750.
42742         Also:
42743         - Rename visibleArea to visibleContentRect
42744         - Remove an unnecessary mapToContents in QTouchWebPageProxy::setVisibleContentRect
42745
42746         * UIProcess/API/qt/qtouchwebpage.cpp:
42747         (QTouchWebPagePrivate::setViewportRect):
42748         * UIProcess/TiledDrawingAreaProxy.cpp:
42749         (WebKit::TiledDrawingAreaProxy::invalidate):
42750         (WebKit::TiledDrawingAreaProxy::setVisibleContentRect):
42751         (WebKit::TiledDrawingAreaProxy::createTiles):
42752         (WebKit::TiledDrawingAreaProxy::visibleRect):
42753         * UIProcess/TiledDrawingAreaProxy.h:
42754         * UIProcess/qt/qtouchwebpageproxy.cpp:
42755         (QTouchWebPageProxy::setVisibleContentRect):
42756         * UIProcess/qt/qtouchwebpageproxy.h:
42757
42758 2011-07-17  Amruth Raj  <amruthraj@motorola.com>
42759
42760         [GTK] Fix selection of elements in a multi select list and remove an unnecessary include in WorkQueue
42761         https://bugs.webkit.org/show_bug.cgi?id=64666
42762
42763         Reviewed by Martin Robinson.
42764
42765         * Platform/gtk/WorkQueueGtk.cpp: Remove an include which is no longer required
42766         * Shared/gtk/WebEventFactory.cpp:
42767         (WebKit::modifiersForEvent): Fix an incorrect ASSERT statement
42768         (WebKit::WebEventFactory::createWebMouseEvent): Call the function to determine the modifier keys
42769
42770 2011-07-17  Lukasz Slachciak  <l.slachciak@samsung.com>
42771
42772         Reviewed by Martin Robinson.
42773
42774          [GTK] [WK2] Fix for getting editor client commands.
42775          https://bugs.webkit.org/show_bug.cgi?id=63081
42776
42777          Editor client commands intepretation was incorrect. It was based on the NativeWebKeyboardEvent only.
42778          In fact EventHandler is generating interpreted events - keypress and keydown. These event types
42779          are now passed from UIProcess to WebProcess so KeyBindingTranslator can correctly find editor commands.
42780          Also build break for Debug build was fixed.
42781
42782         * UIProcess/API/gtk/PageClientImpl.cpp: KeyboardEvent type is used for KeyBindingTranslator.
42783         (WebKit::PageClientImpl::getEditorCommandsForKeyEvent): getEditorCommandsForKeyEvent now has additional
42784         parameter describing KeyboardEvent type.
42785         * UIProcess/API/gtk/PageClientImpl.h:
42786         * UIProcess/PageClient.h:
42787         * UIProcess/WebPageProxy.h:
42788         * UIProcess/WebPageProxy.messages.in:
42789         * UIProcess/gtk/WebPageProxyGtk.cpp:
42790         (WebKit::WebPageProxy::getEditorCommandsForKeyEvent): KeyboardEvent type passed to PageClient.
42791         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
42792         (WebKit::WebEditorClient::getEditorCommandsForKeyEvent): Sync message send with KeyboardEvent type.
42793
42794 2011-07-16  Daniel Bates  <dbates@webkit.org>
42795
42796         Fix Win Cairo Debug build after <http://trac.webkit.org/changeset/91085>.
42797
42798         Add stub implementation of scale factor overloaded ShareableBitmap::paint() for
42799         Cairo WebKit2 port after its usage in changeset <http://trac.webkit.org/changeset/91085>.
42800
42801         Also add stub implementation for GTK.
42802
42803         We'll need to actually implement this. See <https://bugs.webkit.org/show_bug.cgi?id=64664>
42804         and <https://bugs.webkit.org/show_bug.cgi?id=64665> for Cairo and GTK, respectively.
42805
42806         * Shared/cairo/ShareableBitmapCairo.cpp:
42807         (WebKit::ShareableBitmap::paint): Added scale-factor variant.
42808         * Shared/gtk/ShareableBitmapGtk.cpp:
42809         (WebKit::ShareableBitmap::paint): Added scale-factor variant.
42810
42811 2011-07-16  Daniel Bates  <dbates@webkit.org>
42812
42813         Fix Qt Linux Release build after changeset <http://trac.webkit.org/changeset/91085>
42814         (https://bugs.webkit.org/show_bug.cgi?id=64611).
42815
42816         Stub out scale factor-variant implementation of ShareableBitmap::paint().
42817         We'll need to implement this. See <https://bugs.webkit.org/show_bug.cgi?id=64663>
42818         for more details.
42819
42820         * Shared/qt/ShareableBitmapQt.cpp:
42821         (WebKit::ShareableBitmap::paint): Added scale-factor variant.
42822
42823 2011-07-16  Simon Fraser  <simon.fraser@apple.com>
42824
42825         Add code to attempt to align compositing layers to pixel boundaries when page scale changes
42826         https://bugs.webkit.org/show_bug.cgi?id=64658
42827
42828         Reviewed by Dan Bernstein.
42829         
42830         Removed implementation of pageScaleFactor() now that GraphicsLayerClient has
42831         a default implementation.
42832
42833         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
42834         * WebProcess/WebPage/ca/LayerTreeHostCA.h:
42835
42836 2011-07-16  Daniel Bates  <dbates@webkit.org>
42837
42838         Attempt to fix the Qt Linux Release build after changeset <http://trac.webkit.org/changeset/91097>
42839         (https://bugs.webkit.org/show_bug.cgi?id=64615).
42840
42841         * UIProcess/qt/QtWebPageProxy.cpp:
42842         (QtWebPageProxy::setCursorHiddenUntilMouseMoves): Added stub method.
42843         * UIProcess/qt/QtWebPageProxy.h:
42844
42845 2011-07-15  Pratik Solanki  <psolanki@apple.com>
42846
42847         Part of https://bugs.webkit.org/show_bug.cgi?id=63674
42848         Get webkit to compile with USE(CFNETWORK) enabled on Mac
42849
42850         Reviewed by David Kilzer.
42851
42852         New WebKitSystemInterface functions for CFNetwork-based loader.
42853
42854         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
42855         (InitWebCoreSystemInterface):
42856
42857 2011-07-15  Tim Horton  <timothy_horton@apple.com>
42858
42859         Overlay scrollbars in overflow areas no longer pulse when revealed
42860         https://bugs.webkit.org/show_bug.cgi?id=64606
42861         <rdar://problem/9390674>
42862
42863         Reviewed by Simon Fraser.
42864
42865         Ensure that the state of the scrollbar implementation is kept in sync
42866         with WebCore's internal representation. Previously, we synchronized them
42867         at paint time, causing pulsing to be skipped due to the scrollbars being
42868         disabled.
42869
42870         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
42871         (InitWebCoreSystemInterface):
42872
42873 2011-07-15  Simon Fraser  <simon.fraser@apple.com>
42874
42875         Have GraphicsLayer pull their contentsScale, rather than pushing it onto them
42876         https://bugs.webkit.org/show_bug.cgi?id=64643
42877
42878         Reviewed by Darin Adler.
42879         
42880         Impement new GraphicsLayerClient methods related to contents scale,
42881         and don't push the scale.
42882
42883         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
42884         (WebKit::LayerTreeHostCA::initialize):
42885         (WebKit::LayerTreeHostCA::backingScaleFactor):
42886         (WebKit::LayerTreeHostCA::pageScaleFactor):
42887         (WebKit::LayerTreeHostCA::createPageOverlayLayer):
42888         * WebProcess/WebPage/ca/LayerTreeHostCA.h:
42889         (WebKit::LayerTreeHostCA::didCommitChangesForLayer):
42890
42891 2011-07-15  Ada Chan  <adachan@apple.com>
42892
42893         Implement "Jump to Selection" in WebKit2
42894         https://bugs.webkit.org/show_bug.cgi?id=64569
42895
42896         Reviewed by Anders Carlsson.
42897
42898         * UIProcess/API/mac/WKView.mm:
42899         (-[WKView centerSelectionInVisibleArea:]): Call WebPageProxy::centerSelectionInVisibleArea().
42900         (-[WKView validateUserInterfaceItem:]): Enable the centerSelectionInVisibleArea: selector if there's a selection
42901         range or if there's an insertion point in an editable area.
42902         * WebProcess/WebPage/FindController.cpp:
42903         (WebKit::FindController::showFindIndicatorInSelection): Call updateFindIndicator() to show the find indicator.
42904         * WebProcess/WebPage/FindController.h:
42905         * WebProcess/WebPage/WebPage.cpp:
42906         (WebKit::WebPage::centerSelectionInVisibleArea): Use the selection in the focused or main frame.
42907         After scrolling the selection into view, flash the find indicator.
42908
42909 2011-07-15  Dan Bernstein  <mitz@apple.com>
42910
42911         Windows build fix.
42912
42913         * UIProcess/win/WebView.cpp:
42914
42915 2011-07-15  Dan Bernstein  <mitz@apple.com>
42916
42917         Windows build fix.
42918
42919         * UIProcess/win/WebView.h:
42920
42921 2011-07-15  Dan Bernstein  <mitz@apple.com>
42922
42923         REGRESSION: Mouse cursor doesn’t hide when full screen video HUD hides
42924         https://bugs.webkit.org/show_bug.cgi?id=64615
42925
42926         Reviewed by Anders Carlsson.
42927
42928         * UIProcess/API/efl/PageClientImpl.cpp:
42929         (WebKit::PageClientImpl::setCursorHiddenUntilMouseMoves): Added this stub.
42930         * UIProcess/API/efl/PageClientImpl.h:
42931         * UIProcess/API/gtk/PageClientImpl.cpp:
42932         (WebKit::PageClientImpl::setCursorHiddenUntilMouseMoves): Ditto.
42933         * UIProcess/API/gtk/PageClientImpl.h:
42934         * UIProcess/API/mac/PageClientImpl.h:
42935         * UIProcess/API/mac/PageClientImpl.mm:
42936         (WebKit::PageClientImpl::setCursorHiddenUntilMouseMoves): Added. Calls +[NSCursor setHiddenUntilMouseMoves:].
42937         * UIProcess/PageClient.h:
42938         * UIProcess/WebPageProxy.cpp:
42939         (WebKit::WebPageProxy::setCursorHiddenUntilMouseMoves): Added. Calls through to the PageClient.
42940         * UIProcess/WebPageProxy.h:
42941         * UIProcess/WebPageProxy.messages.in: Added SetCursorHiddenUntilMouseMoves message.
42942         * UIProcess/win/WebView.cpp:
42943         (WebKit::WebView::setCursorHiddenUntilMouseMoves): Added this stub.
42944         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
42945         (WebKit::WebChromeClient::setCursorHiddenUntilMouseMoves): Added. Sends SetCursorHiddenUntilMouseMoves message
42946         to the page proxy.
42947         * WebProcess/WebCoreSupport/WebChromeClient.h:
42948
42949 2011-07-14  Gavin Barraclough  <barraclough@apple.com>
42950
42951         https://bugs.webkit.org/show_bug.cgi?id=64250
42952         Global strict mode function leaking global object as "this".
42953
42954         Reviewed by Oliver Hunt.
42955
42956         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
42957         (WebKit::NPJSObject::invoke):
42958             - Change call to pass DOM Window shell, instead of the global varaible object.
42959
42960 2011-07-15  Anders Carlsson  <andersca@apple.com>
42961
42962         Find indicator should take scale factor into account
42963         https://bugs.webkit.org/show_bug.cgi?id=64611
42964         <rdar://problem/9761020>
42965
42966         Reviewed by Sam Weinig.
42967
42968         * UIProcess/FindIndicator.cpp:
42969         (WebKit::FindIndicator::create):
42970         (WebKit::FindIndicator::FindIndicator):
42971         Keep track of the scale factor of the find indicator bitmap.
42972
42973         (WebKit::FindIndicator::draw):
42974         Pass the scale factor to ShareableBitmap::draw.
42975
42976         * UIProcess/FindIndicator.h:
42977         Add scale factor member variable.
42978
42979         * UIProcess/WebPageProxy.cpp:
42980         (WebKit::WebPageProxy::setFindIndicator):
42981         This now takes the content image scale factor.
42982
42983         * UIProcess/WebPageProxy.messages.in:
42984         Add the scale factor.
42985
42986         * WebProcess/WebPage/FindController.cpp:
42987         (WebKit::FindController::updateFindIndicator):
42988         Size the backing store correctly, and apply the scale factor to
42989         the graphics context.
42990
42991         (WebKit::FindController::hideFindIndicator):
42992         Pass the scale factor along.
42993
42994 2011-07-15  Martin Robinson  <mrobinson@igalia.com>
42995
42996         Build fixes for WebKit2. Ensure that all generated sources are
42997         on nodist primaries, that they are on forward declared variables
42998         so that BUILT_SOURCES is calculated properly and that zlib is 
42999         included during linking (for WOFF support).
43000
43001         * GNUmakefile.am:
43002
43003 2011-07-15  Kenneth Rohde Christiansen  <kenneth@webkit.org>
43004
43005         Upstream QtWebKit/N9 changes related to visibleContentRect
43006         https://bugs.webkit.org/show_bug.cgi?id=64589
43007
43008         Reviewed by Simon Hausmann.
43009
43010         Rename setActualVisibleContentRect to setFixedVisibleContentRect
43011         as that makes it more obvious that it is an override. It is also
43012         consistent with the setFixedLayout which is often used in
43013         conjunction with it.
43014
43015         * UIProcess/WebPageProxy.cpp:
43016         (WebKit::WebPageProxy::setFixedVisibleContentRect):
43017         * UIProcess/WebPageProxy.h:
43018         * UIProcess/qt/qtouchwebpageproxy.cpp:
43019         (QTouchWebPageProxy::setVisibleArea):
43020         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
43021         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
43022         Only set fixedVisibleContentRect for the mainframe.
43023         * WebProcess/WebPage/WebPage.cpp:
43024         (WebKit::WebPage::setFixedVisibleContentRect):
43025         * WebProcess/WebPage/WebPage.h:
43026         * WebProcess/WebPage/WebPage.messages.in:
43027
43028 2011-07-15  Carlos Garcia Campos  <cgarcia@igalia.com>
43029
43030         Reviewed by Martin Robinson.
43031
43032         [GTK] Install a custom X error handler in plugin process
43033         https://bugs.webkit.org/show_bug.cgi?id=63248
43034
43035         Some plugins, specially flash, can cause X errors that when
43036         handled by the default X error handler (or the GDK one) abort the
43037         process. Since we don't want to crash due to buggy plugins, we
43038         install a custom error handler to show a warning when a X error
43039         happens without aborting.
43040
43041         * PluginProcess/gtk/PluginProcessMainGtk.cpp:
43042         (WebKit::webkitgtkXError):
43043         (WebKit::PluginProcessMainGtk):
43044
43045 2011-07-14  Carlos Garcia Campos  <cgarcia@igalia.com>
43046
43047         Reviewed by Anders Carlsson.
43048
43049         [UNIX] Allow sending null handles in messages
43050         https://bugs.webkit.org/show_bug.cgi?id=60621
43051
43052         Only valid file descriptors are now sent using sendmsg() control
43053         messages, and instead of sending a list of attachment sizes we now
43054         send a list of AttachmentInfo structs. AttachmentInfo contains
43055         information about the attachments including the size for
43056         MappedMemory attachmens and whether the attachment is null or not.
43057
43058         * Platform/CoreIPC/unix/ConnectionUnix.cpp:
43059         (CoreIPC::AttachmentInfo::AttachmentInfo): New class containing
43060         information about the attachments sent.
43061         (CoreIPC::AttachmentInfo::setType): Set the attachment type.
43062         (CoreIPC::AttachmentInfo::getType): Return the attachment type.
43063         (CoreIPC::AttachmentInfo::setSize): Set the size for MappedMemory attachments.
43064         (CoreIPC::AttachmentInfo::getSize): Get the size for MappedMemory attachments.
43065         (CoreIPC::AttachmentInfo::setNull): Set attachment as null, it
43066         contains an invalid file descriptor, so the receiver shouldn't
43067         expect a file desriptor for this attachment.
43068         (CoreIPC::AttachmentInfo::isNull): Return whether attachment is
43069         null, it contains an invalid file descriptor.
43070         (CoreIPC::Connection::processMessage):
43071         (CoreIPC::Connection::sendOutgoingMessage):
43072
43073 2011-07-14  Carlos Garcia Campos  <cgarcia@igalia.com>
43074
43075         Reviewed by Martin Robinson.
43076
43077         [GTK] Implement Plugin Process
43078         https://bugs.webkit.org/show_bug.cgi?id=60546
43079
43080         * GNUmakefile.am: Add new files to compilation.
43081         * PluginProcess/gtk/PluginProcessMainGtk.cpp: Added.
43082         (WebKit::PluginProcessMainGtk):
43083         * PluginProcess/gtk/PluginProcessMainGtk.h: Added.
43084         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
43085         (WebKit::ProcessLauncher::launchProcess):
43086         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
43087         (WebKit::moduleMixesGtkSymbols):
43088         * gtk/PluginMainGtk.cpp: Added.
43089         (main):
43090
43091 2011-07-14  Balazs Kelemen  <kbalazs@webkit.org> and Carlos Garcia Campos  <cgarcia@igalia.com>
43092
43093         Reviewed by Anders Carlsson.
43094
43095         Implement plugin process for UNIX platform
43096         https://bugs.webkit.org/show_bug.cgi?id=60629
43097
43098         * Platform/CoreIPC/Attachment.h:
43099         * Platform/CoreIPC/unix/AttachmentUnix.cpp:
43100         (CoreIPC::Attachment::Attachment): Add the ability to pass a
43101         socket via Attachment.
43102         * Platform/unix/SharedMemoryUnix.cpp:
43103         (WebKit::SharedMemory::Handle::encode): Remove assertions that
43104         check that the Handle is not null. In
43105         PluginProxy::geometryDidChange we pass a null Handle if we do not
43106         need to allocate a new backing store.
43107         (WebKit::SharedMemory::Handle::releaseToAttachment): Ditto.
43108         * PluginProcess/PluginProcess.cpp:
43109         (WebKit::PluginProcess::createWebProcessConnection): Use
43110         Attachment. Set up the connection with socketpair.
43111         * UIProcess/Plugins/PluginProcessProxy.cpp:
43112         (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
43113         (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
43114         * UIProcess/Plugins/PluginProcessProxy.h:
43115         * UIProcess/Plugins/PluginProcessProxy.messages.in:
43116         * UIProcess/WebProcessProxy.messages.in:
43117         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
43118         (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
43119         Use Attachment to pass the connection.
43120
43121 2011-07-14  Ada Chan  <adachan@apple.com>
43122
43123         Implement support to center selection on a page for WebKit2.
43124         https://bugs.webkit.org/show_bug.cgi?id=64481
43125
43126         Reviewed by Anders Carlsson.
43127
43128         * UIProcess/API/C/WKPage.cpp:
43129         (WKPageCenterSelectionInVisibleArea): Added.  Call WebPageProxy::centerSelectionInVisibleArea().
43130         * UIProcess/API/C/WKPage.h:
43131         * UIProcess/WebPageProxy.cpp:
43132         (WebKit::WebPageProxy::centerSelectionInVisibleArea): Send message to the WebProcess to center selection.
43133         * UIProcess/WebPageProxy.h:
43134         * WebProcess/WebPage/WebPage.cpp:
43135         (WebKit::WebPage::centerSelectionInVisibleArea): Get the FrameSelection from the main frame and call
43136         revealSelection() to center it.
43137         * WebProcess/WebPage/WebPage.h:
43138         * WebProcess/WebPage/WebPage.messages.in: Add the CenterSelectionInVisibleArea message.
43139
43140 2011-07-14  MORITA Hajime  <morrita@google.com>
43141
43142         Unreviewed, rolling out r90976, r90981, and r90985.
43143         http://trac.webkit.org/changeset/90976
43144         http://trac.webkit.org/changeset/90981
43145         http://trac.webkit.org/changeset/90985
43146         https://bugs.webkit.org/show_bug.cgi?id=64251
43147
43148         build break
43149
43150         * win/WebKit2.def:
43151         * win/WebKit2CFLite.def:
43152
43153 2011-07-13  MORITA Hajime <morrita@google.com>
43154
43155         Unreviewed attempt at a build fix.
43156
43157         * win/WebKit2CFLite.def:
43158
43159 2011-07-13  MORITA Hajime  <morrita@google.com>
43160
43161         [ShadowContentElement] forwarded node should be able to access its hosting content element.
43162         https://bugs.webkit.org/show_bug.cgi?id=64251
43163
43164         Reviewed by Dimitri Glazkov.
43165
43166         Exported additional symbols for window.internals object.
43167         
43168         * win/WebKit2.def:
43169
43170 2011-07-13  David Levin  <levin@chromium.org>
43171
43172         Possible race condition in ThreadIdentifierData::initializeKeyOnce and shouldCallRealDebugger.
43173         https://bugs.webkit.org/show_bug.cgi?id=64465
43174
43175         Reviewed by Dmitry Titov.
43176
43177         There isn't a good way to test this as it is very highly unlikely to occur.
43178
43179         * PluginProcess/mac/PluginProcessMac.mm:
43180         (WebKit::shouldCallRealDebugger): :Since scoped static initialization
43181         isn't thread-safe, change the initialization to be global.
43182
43183 2011-07-13  Andreas Kling  <kling@webkit.org>
43184
43185         [Qt][WK2] Remove invalid signal/slot connection in QTouchWebView.
43186         https://bugs.webkit.org/show_bug.cgi?id=64450
43187
43188         Reviewed by Benjamin Poulain.
43189
43190         The focusNextPrevChild() signal was removed, so we shouldn't try to
43191         connect to it.
43192
43193         * UIProcess/API/qt/qtouchwebpage.cpp:
43194         (QTouchWebPagePrivate::setPage):
43195
43196 2011-07-13  Andreas Kling  <kling@webkit.org>
43197
43198         [Qt][WK2] Undelayed WorkItems are leaked after execution.
43199         https://bugs.webkit.org/show_bug.cgi?id=64447
43200
43201         Reviewed by Benjamin Poulain.
43202
43203         * Platform/qt/WorkQueueQt.cpp:
43204         (WorkQueue::WorkItemQt::executeAndDelete):
43205         (WorkQueue::WorkItemQt::timerEvent):
43206         (WorkQueue::scheduleWork):
43207
43208 2011-07-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
43209
43210         [Qt] Also stop the scale commit timer when commitScaleChange is called explicitly.
43211         https://bugs.webkit.org/show_bug.cgi?id=64357
43212
43213         Reviewed by Benjamin Poulain.
43214
43215         * UIProcess/API/qt/qtouchwebpage.cpp:
43216         (QTouchWebPage::timerEvent):
43217         (QTouchWebPagePrivate::commitScaleChange):
43218
43219 2011-07-12  Joseph Pecoraro  <joepeck@webkit.org>
43220
43221         ApplicationCache update should not immediately fail when reaching per-origin quota
43222         https://bugs.webkit.org/show_bug.cgi?id=64177
43223
43224         Reviewed by Alexey Proskuryakov.
43225
43226         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
43227         (WebKit::WebChromeClient::reachedApplicationCacheOriginQuota):
43228         * WebProcess/WebCoreSupport/WebChromeClient.h:
43229
43230 2011-06-22  Jer Noble  <jer.noble@apple.com>
43231
43232         Full-screen: Don't change the collectionBehavior of the WebView's NSWindow if not necessary
43233         https://bugs.webkit.org/show_bug.cgi?id=63217
43234         <rdar://problem/9660291>
43235
43236         Reviewed by Darin Adler.
43237
43238         Check to see if the NSWindow hosting the WebView is not on the active space before changing the window's
43239         collectionBehavior.
43240
43241         * UIProcess/mac/WKFullScreenWindowController.mm:
43242         (-[WKFullScreenWindowController beganExitFullScreenAnimation]):
43243
43244 2011-07-12  Andreas Kling  <kling@webkit.org>
43245
43246         [Qt][WK2] Navigation actions in incorrect state when loadStarted() is emitted.
43247         https://bugs.webkit.org/show_bug.cgi?id=64383
43248
43249         Reviewed by Kenneth Rohde Christiansen.
43250
43251         Update the navigation actions before emitting loadStarted().
43252
43253         * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp:
43254         (LoadStartedCatcher::LoadStartedCatcher):
43255         (LoadStartedCatcher::onLoadStarted):
43256         (tst_QDesktopWebView::stopActionEnabledAfterLoadStarted):
43257         * UIProcess/qt/ClientImpl.cpp:
43258         (qt_wk_didStartProvisionalLoadForFrame):
43259
43260 2011-07-12  Benjamin Poulain  <benjamin@webkit.org>
43261
43262         [Qt][WK2] Add a basic Pinch gesture recognizer for WebKit2
43263         https://bugs.webkit.org/show_bug.cgi?id=64373
43264
43265         Reviewed by Andreas Kling.
43266
43267         This patch adds QtPinchGestureRecognizer to recognize pinch gesture out of
43268         the events not handled by the WebProcess.
43269
43270         TouchViewInterface::pinchGestureRequestScale() has a basic default implementation
43271         so the feature can be tested manually.
43272
43273         * UIProcess/qt/QtGestureRecognizer.cpp:
43274         QtGestureRecognizer is the private base class for both gesture recognizer
43275         in order to be able to share some code.
43276         (WebKit::QtGestureRecognizer::QtGestureRecognizer):
43277         (WebKit::QtGestureRecognizer::reset):
43278         * UIProcess/qt/QtGestureRecognizer.h:
43279         * UIProcess/qt/QtPanGestureRecognizer.cpp:
43280         (WebKit::QtPanGestureRecognizer::QtPanGestureRecognizer):
43281         (WebKit::QtPanGestureRecognizer::reset):
43282         * UIProcess/qt/QtPanGestureRecognizer.h:
43283         * UIProcess/qt/QtPinchGestureRecognizer.cpp: Added.
43284         (WebKit::findTouchPointIndex):
43285         (WebKit::computeTouchCenter):
43286         (WebKit::QtPinchGestureRecognizer::QtPinchGestureRecognizer):
43287         (WebKit::QtPinchGestureRecognizer::recognize):
43288         (WebKit::QtPinchGestureRecognizer::reset):
43289         (WebKit::QtPinchGestureRecognizer::initializeGesture):
43290         * UIProcess/qt/QtPinchGestureRecognizer.h: Copied from Source/WebKit2/UIProcess/qt/QtPanGestureRecognizer.h.
43291         (WebKit::QtPinchGestureRecognizer::TouchPointInformation::TouchPointInformation):
43292         (WebKit::QtPinchGestureRecognizer::TouchPointInformation::isValid):
43293         * UIProcess/qt/TouchViewInterface.cpp:
43294         (WebKit::TouchViewInterface::TouchViewInterface):
43295         (WebKit::TouchViewInterface::pinchGestureStarted):
43296         (WebKit::TouchViewInterface::pinchGestureRequestScale):
43297         The scale factor reported by the recognizer to the TouchViewInterface is the total scale since the start
43298         of the gesture in order to avoid numerical instabilities.
43299         (WebKit::TouchViewInterface::pinchGestureEnded):
43300         * UIProcess/qt/TouchViewInterface.h:
43301         * UIProcess/qt/qtouchwebpageproxy.cpp:
43302         (QTouchWebPageProxy::QTouchWebPageProxy):
43303         (QTouchWebPageProxy::processDidCrash):
43304         (QTouchWebPageProxy::doneWithTouchEvent):
43305         * UIProcess/qt/qtouchwebpageproxy.h:
43306         * WebKit2.pro:
43307
43308 2011-07-12  Andreas Kling  <kling@webkit.org>
43309
43310         [Qt][WK2] Navigation actions should react to web process availability.
43311         https://bugs.webkit.org/show_bug.cgi?id=64375
43312
43313         Reviewed by Benjamin Poulain.
43314
43315         When the web process is unavailable, the reload and stop actions should
43316         behave slightly differently. Stop should always be disabled, and reload
43317         should be enabled if there's a reloadable item in the back/forward list.
43318
43319         * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp:
43320         (tst_QDesktopWebView::navigationActionEnabledStatusAtStartup):
43321         * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp:
43322         (tst_QTouchWebView::navigationActionEnabledStatusAtStartup):
43323         * UIProcess/qt/QtWebPageProxy.cpp:
43324         (QtWebPageProxy::updateAction):
43325         (QtWebPageProxy::didRelaunchProcess):
43326         (QtWebPageProxy::processDidCrash):
43327
43328 2011-07-12  Andreas Kling  <kling@webkit.org>
43329
43330         [Qt][WK2] QDesktopWebView crashes if resized without web process.
43331         https://bugs.webkit.org/show_bug.cgi?id=64371
43332
43333         Reviewed by Benjamin Poulain.
43334
43335         * UIProcess/qt/QtWebPageProxy.cpp:
43336         (QtWebPageProxy::paint): Remove an invalid assertion. The drawing
43337         area may be null if the web process has crashed.
43338         (QtWebPageProxy::setDrawingAreaSize): Fail silently if there is no
43339         drawing area.
43340
43341 2011-07-12  Andreas Kling  <kling@webkit.org>
43342
43343         [Qt][WK2] Add informative loadFailed() signal to web views.
43344         https://bugs.webkit.org/show_bug.cgi?id=64362
43345
43346         Reviewed by Benjamin Poulain.
43347
43348         The web views will now emit loadFailed(QWebError) when a load failure occurs.
43349
43350         The QWebError object currently contains:
43351         - Type of failure (whether it's an engine, network or protocol error.)
43352         - The failing URL.
43353         - Any error code associated with the failure.
43354
43355         * UIProcess/API/qt/qdesktopwebview.cpp:
43356         (QDesktopWebViewPrivate::loadDidFail):
43357         * UIProcess/API/qt/qdesktopwebview.h:
43358         * UIProcess/API/qt/qdesktopwebview_p.h:
43359         * UIProcess/API/qt/qtouchwebpage.h:
43360         * UIProcess/API/qt/qweberror.cpp: Added.
43361         (QWebError::QWebError):
43362         (QWebErrorPrivate::createQWebError):
43363         (QWebErrorPrivate::QWebErrorPrivate):
43364         (QWebErrorPrivate::~QWebErrorPrivate):
43365         (QWebError::type):
43366         (QWebError::errorCode):
43367         (QWebError::url):
43368         * UIProcess/API/qt/qweberror.h: Added.
43369         * UIProcess/API/qt/qweberror_p.h: Added.
43370         * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
43371         (tst_CommonViewTests::loadNonexistentFileUrl):
43372         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
43373         (WebViewAbstraction::WebViewAbstraction):
43374         (WebViewAbstraction::touchViewLoadFailed):
43375         (WebViewAbstraction::desktopViewLoadFailed):
43376         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
43377         * UIProcess/qt/ClientImpl.cpp:
43378         (dispatchLoadSucceeded):
43379         (dispatchLoadFailed):
43380         (qt_wk_didFailProvisionalLoadWithErrorForFrame):
43381         (qt_wk_didFinishLoadForFrame):
43382         (qt_wk_didFailLoadWithErrorForFrame):
43383         * UIProcess/qt/QtWebPageProxy.cpp:
43384         (QtWebPageProxy::loadDidFail):
43385         * UIProcess/qt/QtWebPageProxy.h:
43386         * UIProcess/qt/TouchViewInterface.cpp:
43387         (WebKit::TouchViewInterface::loadDidFail):
43388         * UIProcess/qt/TouchViewInterface.h:
43389         * UIProcess/qt/ViewInterface.h:
43390         * WebKit2API.pri:
43391
43392 2011-07-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
43393
43394         [Qt] Forward the touch view scale changes to the tiled drawing area.
43395         https://bugs.webkit.org/show_bug.cgi?id=64357
43396
43397         Reviewed by Kenneth Rohde Christiansen.
43398
43399         The drawing area needs to know the new scale to render tiles accordingly.
43400
43401         * UIProcess/API/qt/qtouchwebpage.cpp:
43402         (QTouchWebPagePrivate::commitScaleChange):
43403         * UIProcess/qt/qtouchwebpageproxy.cpp:
43404         (QTouchWebPageProxy::setContentsScale):
43405         * UIProcess/qt/qtouchwebpageproxy.h:
43406         (QTouchWebPageProxy::drawingArea):
43407
43408 2011-07-12  Adam Roben  <aroben@apple.com>
43409
43410         Export some symbols needed by TestWebKitAPI
43411
43412         Part of <http://webkit.org/b/63330> Concatenating string literals and WTF::Strings using
43413         operator+ is suboptimal
43414
43415         Reviewed by Darin Adler.
43416
43417         * win/WebKit2.def:
43418
43419 2011-07-11  Hironori Bono  <hbono@chromium.org>
43420
43421         Reviewed by Adam Roben.
43422
43423         Implement layoutTestController.setTextDirection for WebKit2 and Windows.
43424         https://bugs.webkit.org/show_bug.cgi?id=61931
43425
43426         This change implements layoutTextController.setTextDirection for WebKit2
43427         and Windows so we can run a layout test added by r87770 on them. Each
43428         implementation adds a wrapper function for Editor::setBaseWritingDirection()
43429         so LayoutTestController can call it.
43430
43431         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp: Added
43432         WKBundleFrameSetTextDirection to allow LayoutTestController to change the
43433         text direction.
43434         (WKBundleFrameSetTextDirection):
43435         * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: ditto.
43436         * WebProcess/WebPage/WebFrame.cpp: Added setTextDirection to allow
43437         WKBundleFrame to change the text direction.
43438         (WebKit::WebFrame::setTextDirection):
43439         * WebProcess/WebPage/WebFrame.h: ditto.
43440
43441 2011-07-11  Benjamin Poulain  <benjamin@webkit.org>
43442
43443         [Qt][WK2] Get rid of focusNextPrevChild()
43444         https://bugs.webkit.org/show_bug.cgi?id=64289
43445
43446         Reviewed by Andreas Kling.
43447
43448         Qt 5 does not use focusNextPrevChild() but uses setFocusNavigation(), and
43449         the focus is not based on QWidget.
43450
43451         We can get rid of the method since the new implementation will be totally
43452         different.
43453
43454         * UIProcess/API/qt/qtouchwebpage.cpp:
43455         * UIProcess/API/qt/qtouchwebpage.h:
43456         * UIProcess/qt/ClientImpl.cpp:
43457         (qt_wk_takeFocus):
43458         * UIProcess/qt/QtWebPageProxy.h:
43459
43460 2011-07-11  Anders Carlsson  <andersca@apple.com>
43461
43462         Implement getFormValue for WebKit2
43463         https://bugs.webkit.org/show_bug.cgi?id=64294
43464         <rdar://problem/3964087>
43465
43466         Reviewed by Kevin Decker.
43467
43468         * PluginProcess/PluginControllerProxy.cpp:
43469         (WebKit::PluginControllerProxy::getFormValue):
43470         Call Plugin::getFormValue.
43471
43472         * PluginProcess/PluginControllerProxy.messages.in:
43473         Add new GetFormValue message.
43474
43475         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
43476         (WebKit::NetscapePlugin::getFormValue):
43477         Get the form value and convert it to a String.
43478
43479         * WebProcess/Plugins/Plugin.h:
43480         Add getFormValue pure virtual member function.
43481
43482         * WebProcess/Plugins/PluginProxy.cpp:
43483         (WebKit::PluginProxy::getFormValue):
43484         Send a GetFormValue message to the plug-in process.
43485
43486         * WebProcess/Plugins/PluginView.cpp:
43487         (WebKit::PluginView::getFormValue):
43488         Call Plugin::getFormValue.
43489
43490 2011-07-11  Ada Chan  <adachan@apple.com>
43491
43492         The original request should be accessible from WebNavigationData.
43493         https://bugs.webkit.org/show_bug.cgi?id=64227
43494
43495         Reviewed by Anders Carlsson.
43496
43497         * Shared/WebNavigationDataStore.h:
43498         (WebKit::WebNavigationDataStore::encode): Handle the encoding of the original request.
43499         (WebKit::WebNavigationDataStore::decode): Handle the decoding of the original request.
43500         * UIProcess/API/C/WKNavigationData.cpp:
43501         (WKNavigationDataCopyOriginalRequest): 
43502         * UIProcess/API/C/WKNavigationData.h:
43503         * UIProcess/WebNavigationData.h:
43504         (WebKit::WebNavigationData::originalRequest):
43505         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
43506         (WebKit::WebFrameLoaderClient::updateGlobalHistory): Store the original request in the WebNavigationDataStore.
43507
43508 2011-07-11  Benjamin Poulain  <benjamin@webkit.org>
43509
43510         [Qt][WK2] Forward the viewport visible area from the view instead of inferring it from the TiledDrawingAreaProxy
43511         https://bugs.webkit.org/show_bug.cgi?id=64275
43512
43513         Reviewed by Simon Hausmann.
43514
43515         This patch refactors the way the viewport visible area is handled.
43516         Previously, the TiledDrawingAreaProxy would ask for the visible rect
43517         when painting or updating. This is reversed with this patch, and the viewport
43518         informs the page of any change in the view area.
43519
43520         With this change, the TiledDrawingAreaProxy does not need to know about QTouchWebPage,
43521         and can use the TouchViewInterface directly.
43522
43523         * UIProcess/API/qt/qtouchwebpage.cpp:
43524         (QTouchWebPagePrivate::setViewportRect):
43525         * UIProcess/API/qt/qtouchwebpage.h:
43526         * UIProcess/API/qt/qtouchwebpage_p.h:
43527         * UIProcess/API/qt/qtouchwebview.cpp:
43528         (QTouchWebViewPrivate::scroll):
43529         (QTouchWebViewPrivate::viewportRectUpdated):
43530         (QTouchWebView::resizeEvent):
43531         * UIProcess/API/qt/qtouchwebview.h:
43532         * UIProcess/API/qt/qtouchwebview_p.h:
43533         * UIProcess/PageClient.h:
43534         * UIProcess/TiledDrawingAreaProxy.cpp:
43535         (WebKit::TiledDrawingAreaProxy::invalidate):
43536         (WebKit::TiledDrawingAreaProxy::paint):
43537         (WebKit::TiledDrawingAreaProxy::setVisibleArea):
43538         (WebKit::TiledDrawingAreaProxy::createTiles):
43539         * UIProcess/TiledDrawingAreaProxy.h:
43540         * UIProcess/WebPageProxy.h:
43541         * UIProcess/qt/QtWebPageProxy.cpp:
43542         * UIProcess/qt/QtWebPageProxy.h:
43543         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
43544         (WebKit::TiledDrawingAreaProxy::updateWebView):
43545         * UIProcess/qt/TouchViewInterface.cpp:
43546         (WebKit::TouchViewInterface::contentSizeChanged):
43547         * UIProcess/qt/TouchViewInterface.h:
43548         * UIProcess/qt/WebPageProxyQt.cpp:
43549         * UIProcess/qt/qtouchwebpageproxy.cpp:
43550         (QTouchWebPageProxy::createDrawingAreaProxy):
43551         (QTouchWebPageProxy::setVisibleArea):
43552         * UIProcess/qt/qtouchwebpageproxy.h:
43553
43554 2011-07-11  Andreas Kling  <kling@webkit.org>
43555
43556         [Qt][WK2] Move zoomable-area-for-point functionality to QTouchWebPageProxy
43557         https://bugs.webkit.org/show_bug.cgi?id=64273
43558
43559         Reviewed by Kenneth Rohde Christiansen.
43560
43561         * UIProcess/qt/QtWebPageProxy.cpp:
43562         * UIProcess/qt/QtWebPageProxy.h:
43563         * UIProcess/qt/qdesktopwebpageproxy.cpp:
43564         (QDesktopWebPageProxy::didFindZoomableArea):
43565         * UIProcess/qt/qdesktopwebpageproxy.h:
43566         * UIProcess/qt/qtouchwebpageproxy.cpp:
43567         (QTouchWebPageProxy::findZoomableAreaForPoint):
43568         (QTouchWebPageProxy::didFindZoomableArea):
43569         * UIProcess/qt/qtouchwebpageproxy.h:
43570
43571 2011-07-10  Anders Carlsson  <andersca@apple.com>
43572
43573         WebKit2 is leaking NSCursors created by leakNamedCursor
43574         https://bugs.webkit.org/show_bug.cgi?id=64241
43575         <rdar://problem/9507151>
43576
43577         Reviewed by Oliver Hunt.
43578
43579         * Shared/WebCoreArgumentCoders.cpp:
43580         (CoreIPC::::decode):
43581         When decoding a cursor of a known type, make sure to eagerly create the platform cursor
43582         for the cursor singleton. This way we avoid re-creating new NSCursor objects over and over for
43583         standard cursors.
43584
43585 2011-07-10  Benjamin Poulain  <benjamin@webkit.org>
43586
43587         [Qt][WK2] Move setResizesToContentsUsingLayoutSize() to the touch specific page proxy
43588         https://bugs.webkit.org/show_bug.cgi?id=64238
43589
43590         Reviewed by Andreas Kling.
43591
43592         The method is specific to the touch view, so it should be in QTouchWebPageProxy instead
43593         of QtWebPageProxy.
43594
43595         * UIProcess/qt/QtWebPageProxy.cpp:
43596         * UIProcess/qt/QtWebPageProxy.h:
43597         * UIProcess/qt/qtouchwebpageproxy.cpp:
43598         (QTouchWebPageProxy::setResizesToContentsUsingLayoutSize):
43599         * UIProcess/qt/qtouchwebpageproxy.h:
43600
43601 2011-07-09  Noel Gordon  <noel.gordon@gmail.com>
43602
43603         Reviewed by Adam Roben.
43604
43605         [WebKit2] Forward focus events to windowless plugins on the windows port.
43606         https://bugs.webkit.org/show_bug.cgi?id=63251
43607
43608         No new tests. Covered by existing tests: plugins/mouse-events.html and
43609         plugins/keyboard-events.html.
43610
43611         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
43612         (WebKit::NetscapePlugin::platformSetFocus):
43613
43614 2011-07-08  Andreas Kling  <kling@webkit.org>
43615
43616         [Qt][WK2] Views should expose QActions for basic navigation.
43617         https://bugs.webkit.org/show_bug.cgi?id=64174
43618
43619         Add navigationAction() methods to the views to provide default
43620         QActions for Back, Forward, Stop and Reload.
43621
43622         Reviewed by Benjamin Poulain.
43623
43624         * UIProcess/API/qt/WKView.h:
43625         * UIProcess/API/qt/qdesktopwebview.cpp:
43626         (QDesktopWebView::navigationAction):
43627         * UIProcess/API/qt/qdesktopwebview.h:
43628         * UIProcess/API/qt/qtouchwebpage.cpp:
43629         (QTouchWebPage::navigationAction):
43630         * UIProcess/API/qt/qtouchwebpage.h:
43631         * UIProcess/API/qt/qwebkittypes.h: Added.
43632         * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp:
43633         (tst_CommonViewTests::backAndForward):
43634         (tst_CommonViewTests::reload):
43635         (tst_CommonViewTests::stop):
43636         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp:
43637         (WebViewAbstraction::triggerNavigationAction):
43638         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h:
43639         * UIProcess/API/qt/tests/html/basic_page2.html: Added.
43640         * UIProcess/qt/QtWebPageProxy.cpp:
43641         (QtWebPageProxy::navigationAction):
43642         * UIProcess/qt/QtWebPageProxy.h:
43643         * WebKit2API.pri:
43644
43645 2011-07-08  Benjamin Poulain  <benjamin@webkit.org>
43646
43647         [Qt][WK2] Get rid of the check for TILED_BACKING_STORE in Qt
43648         https://bugs.webkit.org/show_bug.cgi?id=64175
43649
43650         Reviewed by Kenneth Rohde Christiansen.
43651
43652         Qt no longer supports building WebKit2 without TILED_BACKING_STORE.
43653
43654         * UIProcess/API/qt/qtouchwebpage.cpp:
43655         (QTouchWebPagePrivate::onScaleChanged):
43656         * UIProcess/qt/QtWebPageProxy.cpp:
43657         (QtWebPageProxy::setResizesToContentsUsingLayoutSize):
43658         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
43659         * UIProcess/qt/TiledDrawingAreaTileQt.cpp:
43660         * WebProcess/WebPage/qt/TiledDrawingAreaQt.cpp:
43661
43662 2011-07-08  Benjamin Poulain  <benjamin@webkit.org>
43663
43664         [WK2] Do not forward touch events to the web process when it does not need them
43665         https://bugs.webkit.org/show_bug.cgi?id=64164
43666
43667         Reviewed by Kenneth Rohde Christiansen.
43668
43669         The call to ChromeClient::needTouchEvent() is now forwarded to the WebPageProxy
43670         to change the way events are delivered.
43671
43672         When the WebPage does not need touch events, and there is no queued touch events,
43673         the incoming events just bounce back through PageClient::doneWithTouchEvent().
43674
43675         In the case when new events come to WebPageProxy and there are still touch events
43676         incoming from the WebProcess, the new events are deferred with the corresponding
43677         pending touch events.
43678         Deferring the new events iafter the corresponding forwarded event ensure
43679         the delivery is always done in order when PageClient::doneWithTouchEvent()
43680         is called.
43681
43682         * UIProcess/WebPageProxy.cpp:
43683         (WebKit::WebPageProxy::WebPageProxy):
43684         (WebKit::WebPageProxy::handleTouchEvent):
43685         (WebKit::WebPageProxy::needTouchEvents):
43686         (WebKit::WebPageProxy::didReceiveEvent):
43687         (WebKit::WebPageProxy::processDidCrash):
43688         * UIProcess/WebPageProxy.h:
43689         (WebKit::QueuedTouchEvents:::forwardedEvent):
43690         * UIProcess/WebPageProxy.messages.in:
43691         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
43692         (WebKit::WebChromeClient::needTouchEvents):
43693
43694 2011-07-08  Benjamin Poulain  <benjamin@webkit.org>
43695
43696         [Qt][WK2] Add basic support for panning gestures to the QTouchWebView
43697         https://bugs.webkit.org/show_bug.cgi?id=64105
43698
43699         Reviewed by Kenneth Rohde Christiansen.
43700
43701         This patch adds basic support for the panning gesture on the UI process side.
43702
43703         The events coming back from the WebProcess are processed through
43704         the QtPanGestureRecognizer to recognize the pan gesture. When the
43705         gesture is recognized, the actions are performed on the view through
43706         the TouchViewInterface.
43707
43708         Currently, the viewport just move the page around without limit.
43709         This will be improved when a physics engine is integrated.
43710
43711         * UIProcess/API/qt/qtouchwebview.cpp:
43712         (QTouchWebViewPrivate::scroll):
43713         * UIProcess/API/qt/qtouchwebview.h:
43714         * UIProcess/API/qt/qtouchwebview_p.h:
43715         * UIProcess/qt/QtPanGestureRecognizer.cpp: Added.
43716         (WebKit::QtPanGestureRecognizer::QtPanGestureRecognizer):
43717         (WebKit::QtPanGestureRecognizer::recognize):
43718         (WebKit::QtPanGestureRecognizer::reset):
43719         * UIProcess/qt/QtPanGestureRecognizer.h: Added.
43720         * UIProcess/qt/TouchViewInterface.cpp:
43721         (WebKit::TouchViewInterface::panGestureStarted):
43722         (WebKit::TouchViewInterface::panGestureRequestScroll):
43723         (WebKit::TouchViewInterface::panGestureEnded):
43724         (WebKit::TouchViewInterface::panGestureCancelled):
43725         * UIProcess/qt/TouchViewInterface.h:
43726         * UIProcess/qt/qtouchwebpageproxy.cpp:
43727         (QTouchWebPageProxy::QTouchWebPageProxy):
43728         (QTouchWebPageProxy::processDidCrash):
43729         (QTouchWebPageProxy::doneWithTouchEvent):
43730         * UIProcess/qt/qtouchwebpageproxy.h:
43731         * WebKit2.pro:
43732
43733 2011-07-07  Andreas Kling  <kling@webkit.org>
43734
43735         [Qt][WK2] Remove Symbian code.
43736         https://bugs.webkit.org/show_bug.cgi?id=64101
43737
43738         Reviewed by Benjamin Poulain.
43739
43740         * DerivedSources.pro:
43741         * Platform/CoreIPC/Attachment.h:
43742         * Platform/CoreIPC/Connection.h:
43743         * Platform/SharedMemory.h:
43744         * Platform/qt/SharedMemorySymbian.cpp: Removed.
43745         * UIProcess/API/qt/tests/tests.pri:
43746         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
43747         * WebKit2.pri:
43748         * WebKit2.pro:
43749         * WebProcess.pro:
43750         * config.h:
43751
43752 2011-07-07  Andreas Kling  <kling@webkit.org>
43753
43754         [Qt][WK2] Don't support ridiculous matrix of QT_NO_FEATURE combinations.
43755         https://bugs.webkit.org/show_bug.cgi?id=64099
43756
43757         Reviewed by Benjamin Poulain.
43758
43759         * Shared/qt/WebEventFactoryQt.cpp:
43760         (WebKit::WebEventFactory::createWebWheelEvent):
43761         * UIProcess/API/qt/qdesktopwebview_p.h:
43762         * UIProcess/qt/QtWebPageProxy.cpp:
43763         (QtWebPageProxy::QtWebPageProxy):
43764         (QtWebPageProxy::setCursor):
43765         (QtWebPageProxy::registerEditCommand):
43766         (QtWebPageProxy::clearAllEditCommands):
43767         (QtWebPageProxy::canUndoRedo):
43768         (QtWebPageProxy::executeUndoRedo):
43769         (QtWebPageProxy::updateAction):
43770         (QtWebPageProxy::webActionTriggered):
43771         (QtWebPageProxy::triggerAction):
43772         (QtWebPageProxy::action):
43773         * UIProcess/qt/QtWebPageProxy.h:
43774         * UIProcess/qt/TouchViewInterface.cpp:
43775         (WebKit::TouchViewInterface::didChangeCursor):
43776         * UIProcess/qt/TouchViewInterface.h:
43777         * UIProcess/qt/ViewInterface.h:
43778         * UIProcess/qt/WebUndoCommandQt.cpp:
43779         (WebUndoCommandQt::WebUndoCommandQt):
43780         * UIProcess/qt/WebUndoCommandQt.h:
43781         * WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp:
43782         (WebKit::WebDragClient::startDrag):
43783
43784 2011-07-07  Andreas Kling  <kling@webkit.org>
43785
43786         [Qt][WK2] Views should know about WebProcess crash/relaunch.
43787         https://bugs.webkit.org/show_bug.cgi?id=64093
43788
43789         Reviewed by Benjamin Poulain.
43790
43791         Add processDidCrash() and didRelaunchProcess() to ViewInterface.
43792
43793         QDesktopWebView now displays a simple sad smiley ":(" when the
43794         web process crashes.
43795
43796         * UIProcess/API/qt/qdesktopwebview.cpp:
43797         (QDesktopWebViewPrivate::QDesktopWebViewPrivate):
43798         (paintCrashedPage):
43799         (QDesktopWebView::paint):
43800         (QDesktopWebViewPrivate::processDidCrash):
43801         (QDesktopWebViewPrivate::didRelaunchProcess):
43802         * UIProcess/API/qt/qdesktopwebview_p.h:
43803         * UIProcess/qt/QtWebPageProxy.cpp:
43804         (QtWebPageProxy::QtWebPageProxy):
43805         (QtWebPageProxy::didRelaunchProcess):
43806         (QtWebPageProxy::processDidCrash):
43807         * UIProcess/qt/QtWebPageProxy.h:
43808         * UIProcess/qt/TouchViewInterface.cpp:
43809         (WebKit::TouchViewInterface::showContextMenu):
43810         (WebKit::TouchViewInterface::hideContextMenu):
43811         (WebKit::TouchViewInterface::processDidCrash):
43812         (WebKit::TouchViewInterface::didRelaunchProcess):
43813         * UIProcess/qt/TouchViewInterface.h:
43814         * UIProcess/qt/ViewInterface.h:
43815
43816 2011-07-07  Benjamin Poulain  <benjamin@webkit.org>
43817
43818         [Qt] [WK2] Improve the handling of touch events to use them as main input
43819         https://bugs.webkit.org/show_bug.cgi?id=63991
43820
43821         Reviewed by Kenneth Rohde Christiansen.
43822
43823         Promote touch event for use as primary input.
43824
43825         The touch events now use the responsiveness timer like the other input events.
43826
43827         The touch events also have a callback to the UI signaling if the event was used
43828         or not: PageClient::doneWithTouchEvent().
43829         This is similar to what is done with key events (PageClient::doneWithKeyEvent()).
43830
43831         * Shared/NativeWebTouchEvent.h: Copied from Source/WebKit2/Shared/qt/WebEventFactoryQt.h.
43832         (WebKit::NativeWebTouchEvent::nativeEvent):
43833         * Shared/qt/NativeWebTouchEventQt.cpp: Copied from Source/WebKit2/Shared/qt/WebEventFactoryQt.h.
43834         (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
43835         * Shared/qt/WebEventFactoryQt.cpp:
43836         (WebKit::webEventTypeForEvent):
43837         (WebKit::WebEventFactory::createWebTouchEvent):
43838         * Shared/qt/WebEventFactoryQt.h:
43839         * UIProcess/PageClient.h:
43840         * UIProcess/WebPageProxy.cpp:
43841         (WebKit::WebPageProxy::handleTouchEvent):
43842         (WebKit::WebPageProxy::didReceiveEvent):
43843         * UIProcess/WebPageProxy.h:
43844         * UIProcess/qt/qdesktopwebpageproxy.cpp:
43845         (QDesktopWebPageProxy::doneWithTouchEvent):
43846         * UIProcess/qt/qdesktopwebpageproxy.h:
43847         * UIProcess/qt/qtouchwebpageproxy.cpp:
43848         (QTouchWebPageProxy::doneWithTouchEvent):
43849         (QTouchWebPageProxy::touchEvent):
43850         * UIProcess/qt/qtouchwebpageproxy.h:
43851         * WebKit2.pro:
43852
43853 2011-07-06  Andreas Kling  <kling@webkit.org>
43854
43855         [Qt][WK2] Split Qt API into two different web views (touch and desktop)
43856         https://bugs.webkit.org/show_bug.cgi?id=63950
43857
43858         Co-authored with Benjamin Poulain <benjamin@webkit.org>.
43859
43860         Reviewed by Kenneth Rohde Christiansen.
43861
43862         Replace the QGraphicsWKView/QWKPage mess with QDesktopWebView and QTouchWebView.
43863
43864         QDesktopWebView is a traditional web view, similar to QGraphicsWebView. It will
43865         will have the expected "desktop" behavior for things like subframes and
43866         fixed-position elements.
43867
43868         QTouchWebView is intended for use on touch devices, and will manage the viewport,
43869         gestures, tiled rendering, and other things that the user should never have to
43870         worry about. It will use "resize to contents" and frame flattening by default.
43871
43872         API-wise, the biggest difference between the two is that QTouchWebView is really
43873         a viewport that contains a QTouchWebPage. These are decoupled for flexibility in
43874         UI design. This decoupling is not necessary for the desktop use-case, and so
43875         QDesktopWebView is the only class we need.
43876
43877         Much of the Qt/WebKit2 API has been removed (snapshots, history, preferences..)
43878         but will be re-added incrementally in a way that fits the new API vision.
43879
43880         * UIProcess/API/qt/WKView.h:
43881         * UIProcess/API/qt/qdesktopwebview.cpp: Added.
43882         (QDesktopWebViewPrivate::QDesktopWebViewPrivate):
43883         (QDesktopWebViewPrivate::setViewNeedsDisplay):
43884         (QDesktopWebViewPrivate::drawingAreaSize):
43885         (QDesktopWebViewPrivate::contentSizeChanged):
43886         (QDesktopWebViewPrivate::isActive):
43887         (QDesktopWebViewPrivate::hasFocus):
43888         (QDesktopWebViewPrivate::isVisible):
43889         (QDesktopWebViewPrivate::startDrag):
43890         (QDesktopWebViewPrivate::didChangeUrl):
43891         (QDesktopWebViewPrivate::didChangeTitle):
43892         (QDesktopWebViewPrivate::didChangeToolTip):
43893         (QDesktopWebViewPrivate::didChangeStatusText):
43894         (QDesktopWebViewPrivate::didChangeCursor):
43895         (QDesktopWebViewPrivate::loadDidBegin):
43896         (QDesktopWebViewPrivate::loadDidSucceed):
43897         (QDesktopWebViewPrivate::didChangeLoadProgress):
43898         (QDesktopWebViewPrivate::showContextMenu):
43899         (QDesktopWebViewPrivate::hideContextMenu):
43900         (QDesktopWebView::QDesktopWebView):
43901         (QDesktopWebView::init):
43902         (QDesktopWebView::~QDesktopWebView):
43903         (QDesktopWebView::load):
43904         (QDesktopWebView::url):
43905         (QDesktopWebView::title):
43906         (QDesktopWebView::resizeEvent):
43907         (QDesktopWebView::paint):
43908         (QDesktopWebView::event):
43909         (QDesktopWebView::pageRef):
43910         * UIProcess/API/qt/qdesktopwebview.h: Added.
43911         * UIProcess/API/qt/qdesktopwebview_p.h: Added.
43912         * UIProcess/API/qt/qgraphicswkview.cpp: Removed.
43913         * UIProcess/API/qt/qgraphicswkview.h: Removed.
43914         * UIProcess/API/qt/qtouchwebpage.cpp: Added.
43915         (QTouchWebPage::QTouchWebPage):
43916         (QTouchWebPage::~QTouchWebPage):
43917         (QTouchWebPage::paint):
43918         (QTouchWebPage::load):
43919         (QTouchWebPage::url):
43920         (QTouchWebPage::title):
43921         (QTouchWebPage::focusNextPrevChildCallback):
43922         (QTouchWebPage::focusNextPrevChild):
43923         (QTouchWebPage::event):
43924         (QTouchWebPage::timerEvent):
43925         (QTouchWebPage::resizeEvent):
43926         (QTouchWebPagePrivate::QTouchWebPagePrivate):
43927         (QTouchWebPage::visibleRect):
43928         (QTouchWebPagePrivate::prepareScaleChange):
43929         (QTouchWebPagePrivate::commitScaleChange):
43930         (QTouchWebPagePrivate::onScaleChanged):
43931         (QTouchWebPagePrivate::setPage):
43932         * UIProcess/API/qt/qtouchwebpage.h: Added.
43933         * UIProcess/API/qt/qtouchwebpage_p.h: Added.
43934         (QTouchWebPagePrivate::getPageViewPrivate):
43935         * UIProcess/API/qt/qtouchwebview.cpp: Added.
43936         (QTouchWebViewPrivate::QTouchWebViewPrivate):
43937         (QTouchWebView::QTouchWebView):
43938         (QTouchWebView::~QTouchWebView):
43939         (QTouchWebView::page):
43940         * UIProcess/API/qt/qtouchwebview.h: Added.
43941         * UIProcess/API/qt/qtouchwebview_p.h: Added.
43942         * UIProcess/API/qt/qwkpage.cpp: Removed.
43943         * UIProcess/API/qt/qwkpage.h: Removed.
43944         * UIProcess/API/qt/tests/commonviewtests/commonviewtests.pro: Added.
43945         * UIProcess/API/qt/tests/commonviewtests/tst_commonviewtests.cpp: Added.
43946         (tst_CommonViewTests::init):
43947         (tst_CommonViewTests::cleanup):
43948         (tst_CommonViewTests::baseUrl):
43949         (tst_CommonViewTests::loadEmptyUrl):
43950         (tst_CommonViewTests::loadEmptyPageViewVisible):
43951         (tst_CommonViewTests::loadEmptyPageViewHidden):
43952         (tst_CommonViewTests::show):
43953         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.cpp: Added.
43954         (WebViewAbstraction::WebViewAbstraction):
43955         (WebViewAbstraction::show):
43956         (WebViewAbstraction::hide):
43957         (WebViewAbstraction::load):
43958         (WebViewAbstraction::url):
43959         (WebViewAbstraction::touchViewLoadStarted):
43960         (WebViewAbstraction::desktopViewLoadStarted):
43961         (WebViewAbstraction::touchViewLoadSucceeded):
43962         (WebViewAbstraction::desktopViewLoadSucceeded):
43963         (WebViewAbstraction::touchWebView):
43964         (WebViewAbstraction::desktopWebView):
43965         * UIProcess/API/qt/tests/commonviewtests/webviewabstraction.h: Copied from Source/WebKit2/UIProcess/API/qt/tests/qwkpage/tst_qwkpage.cpp.
43966         * UIProcess/API/qt/tests/html/a.htm: Removed.
43967         * UIProcess/API/qt/tests/html/b.htm: Removed.
43968         * UIProcess/API/qt/tests/html/c.htm: Removed.
43969         * UIProcess/API/qt/tests/html/d.htm: Removed.
43970         * UIProcess/API/qt/tests/qdesktopwebview/qdesktopwebview.pro: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qgraphicswkview/qgraphicswkview.pro.
43971         * UIProcess/API/qt/tests/qdesktopwebview/tst_qdesktopwebview.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qwkpage/tst_qwkpage.cpp.
43972         (tst_QDesktopWebView::init):
43973         (tst_QDesktopWebView::cleanup):
43974         (tst_QDesktopWebView::webView):
43975         * UIProcess/API/qt/tests/qgraphicswkview/tst_qgraphicswkview.cpp: Removed.
43976         * UIProcess/API/qt/tests/qtouchwebview/qtouchwebview.pro: Renamed from Source/WebKit2/UIProcess/API/qt/tests/qwkhistory/qwkhistory.pro.
43977         * UIProcess/API/qt/tests/qtouchwebview/tst_qtouchwebview.cpp: Added.
43978         (tst_QTouchWebView::tst_QTouchWebView):
43979         (tst_QTouchWebView::init):
43980         (tst_QTouchWebView::cleanup):
43981         (tst_QTouchWebView::webView):
43982         (tst_QTouchWebView::accessPage):
43983         * UIProcess/API/qt/tests/qwkhistory/tst_qwkhistory.cpp: Removed.
43984         * UIProcess/API/qt/tests/qwkpage/qwkpage.pro: Removed.
43985         * UIProcess/API/qt/tests/tests.pro:
43986         * UIProcess/API/qt/tests/testwindow.h: Added.
43987         (TestWindow::TestWindow):
43988         (TestWindow::resizeEvent):
43989         * UIProcess/TiledDrawingAreaProxy.cpp:
43990         * UIProcess/TiledDrawingAreaProxy.h:
43991         * UIProcess/WebFullScreenManagerProxy.h:
43992         * UIProcess/qt/ClientImpl.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/ClientImpl.cpp.
43993         (toQWKContext):
43994         (toQtWebPageProxy):
43995         (loadFinished):
43996         (qt_wk_didStartProvisionalLoadForFrame):
43997         (qt_wk_didReceiveServerRedirectForProvisionalLoadForFrame):
43998         (qt_wk_didFailProvisionalLoadWithErrorForFrame):
43999         (qt_wk_didCommitLoadForFrame):
44000         (qt_wk_didFinishDocumentLoadForFrame):
44001         (qt_wk_didFinishLoadForFrame):
44002         (qt_wk_didFailLoadWithErrorForFrame):
44003         (qt_wk_didReceiveTitleForFrame):
44004         (qt_wk_didFirstLayoutForFrame):
44005         (qt_wk_didRemoveFrameFromHierarchy):
44006         (qt_wk_didFirstVisuallyNonEmptyLayoutForFrame):
44007         (qt_wk_didStartProgress):
44008         (qt_wk_didChangeProgress):
44009         (qt_wk_didFinishProgress):
44010         (qt_wk_didBecomeUnresponsive):
44011         (qt_wk_didBecomeResponsive):
44012         (qt_wk_createNewPage):
44013         (qt_wk_showPage):
44014         (qt_wk_close):
44015         (qt_wk_takeFocus):
44016         (qt_wk_runJavaScriptAlert):
44017         (qt_wk_setStatusText):
44018         (qt_wk_didSameDocumentNavigationForFrame):
44019         (qt_wk_didChangeIconForPageURL):
44020         (qt_wk_didRemoveAllIcons):
44021         * UIProcess/qt/ClientImpl.h: Renamed from Source/WebKit2/UIProcess/API/qt/ClientImpl.h.
44022         * UIProcess/qt/QtWebPageProxy.cpp: Added.
44023         (defaultWKContext):
44024         (contextMenuActionForWebAction):
44025         (dragOperationToDropActions):
44026         (dropActionToDragOperation):
44027         (QtWebPageProxy::QtWebPageProxy):
44028         (QtWebPageProxy::init):
44029         (QtWebPageProxy::~QtWebPageProxy):
44030         (QtWebPageProxy::handleEvent):
44031         (QtWebPageProxy::handleKeyPressEvent):
44032         (QtWebPageProxy::handleKeyReleaseEvent):
44033         (QtWebPageProxy::handleFocusInEvent):
44034         (QtWebPageProxy::handleFocusOutEvent):
44035         (QtWebPageProxy::setCursor):
44036         (QtWebPageProxy::setViewNeedsDisplay):
44037         (QtWebPageProxy::displayView):
44038         (QtWebPageProxy::scrollView):
44039         (QtWebPageProxy::viewSize):
44040         (QtWebPageProxy::isViewWindowActive):
44041         (QtWebPageProxy::isViewFocused):
44042         (QtWebPageProxy::isViewVisible):
44043         (QtWebPageProxy::isViewInWindow):
44044         (QtWebPageProxy::enterAcceleratedCompositingMode):
44045         (QtWebPageProxy::exitAcceleratedCompositingMode):
44046         (QtWebPageProxy::pageDidRequestScroll):
44047         (QtWebPageProxy::didChangeContentsSize):
44048         (QtWebPageProxy::toolTipChanged):
44049         (QtWebPageProxy::registerEditCommand):
44050         (QtWebPageProxy::clearAllEditCommands):
44051         (QtWebPageProxy::canUndoRedo):
44052         (QtWebPageProxy::executeUndoRedo):
44053         (QtWebPageProxy::convertToDeviceSpace):
44054         (QtWebPageProxy::screenToWindow):
44055         (QtWebPageProxy::windowToScreen):
44056         (QtWebPageProxy::convertToUserSpace):
44057         (QtWebPageProxy::selectionChanged):
44058         (QtWebPageProxy::doneWithKeyEvent):
44059         (QtWebPageProxy::createPopupMenuProxy):
44060         (QtWebPageProxy::createContextMenuProxy):
44061         (QtWebPageProxy::setFindIndicator):
44062         (QtWebPageProxy::didCommitLoadForMainFrame):
44063         (QtWebPageProxy::didFinishLoadingDataForCustomRepresentation):
44064         (QtWebPageProxy::flashBackingStoreUpdates):
44065         (QtWebPageProxy::pageRef):
44066         (QtWebPageProxy::didChangeUrl):
44067         (QtWebPageProxy::didChangeTitle):
44068         (QtWebPageProxy::didChangeStatusText):
44069         (QtWebPageProxy::showContextMenu):
44070         (QtWebPageProxy::hideContextMenu):
44071         (QtWebPageProxy::loadDidBegin):
44072         (QtWebPageProxy::loadDidSucceed):
44073         (QtWebPageProxy::didChangeLoadProgress):
44074         (QtWebPageProxy::paint):
44075         (QtWebPageProxy::updateAction):
44076         (QtWebPageProxy::updateNavigationActions):
44077         (QtWebPageProxy::webActionTriggered):
44078         (QtWebPageProxy::didRelaunchProcess):
44079         (QtWebPageProxy::processDidCrash):
44080         (QtWebPageProxy::setActualVisibleContentsRect):
44081         (QtWebPageProxy::preferences):
44082         (QtWebPageProxy::setCreateNewPageFunction):
44083         (QtWebPageProxy::setCustomUserAgent):
44084         (QtWebPageProxy::customUserAgent):
44085         (QtWebPageProxy::load):
44086         (QtWebPageProxy::url):
44087         (QtWebPageProxy::title):
44088         (QtWebPageProxy::setDrawingAreaSize):
44089         (QtWebPageProxy::textZoomFactor):
44090         (QtWebPageProxy::setTextZoomFactor):
44091         (QtWebPageProxy::pageZoomFactor):
44092         (QtWebPageProxy::setPageZoomFactor):
44093         (QtWebPageProxy::setPageAndTextZoomFactors):
44094         (QtWebPageProxy::history):
44095         (QtWebPageProxy::setResizesToContentsUsingLayoutSize):
44096         (QtWebPageProxy::triggerAction):
44097         (QtWebPageProxy::action):
44098         (QtWebPageProxy::findZoomableAreaForPoint):
44099         (QtWebPageProxy::didFindZoomableArea):
44100         (QtWebPageProxy::startDrag):
44101         (QtWebPageProxy::viewportVisibleRect):
44102         (QtWebPageProxy::isConnectedToEngine):
44103         (QtWebPageProxy::setPageIsVisible):
44104         * UIProcess/qt/QtWebPageProxy.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkpage_p.h.
44105         (QtWebPageProxy::pageClosed):
44106         (QtWebPageProxy::customRepresentationZoomFactor):
44107         (QtWebPageProxy::setCustomRepresentationZoomFactor):
44108         (QtWebPageProxy::didChangeScrollbarsForMainFrame):
44109         (QtWebPageProxy::findStringInCustomRepresentation):
44110         (QtWebPageProxy::countStringMatchesInCustomRepresentation):
44111         (QtWebPageProxy::userSpaceScaleFactor):
44112         (QtWebPageProxy::createNewPageFunction):
44113         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp:
44114         (WebKit::TiledDrawingAreaProxy::page):
44115         * UIProcess/qt/TouchViewInterface.cpp: Added.
44116         (WebKit::TouchViewInterface::TouchViewInterface):
44117         (WebKit::TouchViewInterface::setViewNeedsDisplay):
44118         (WebKit::TouchViewInterface::drawingAreaSize):
44119         (WebKit::TouchViewInterface::contentSizeChanged):
44120         (WebKit::TouchViewInterface::isActive):
44121         (WebKit::TouchViewInterface::hasFocus):
44122         (WebKit::TouchViewInterface::isVisible):
44123         (WebKit::TouchViewInterface::startDrag):
44124         (WebKit::TouchViewInterface::didChangeUrl):
44125         (WebKit::TouchViewInterface::didChangeTitle):
44126         (WebKit::TouchViewInterface::didChangeToolTip):
44127         (WebKit::TouchViewInterface::didChangeStatusText):
44128         (WebKit::TouchViewInterface::didChangeCursor):
44129         (WebKit::TouchViewInterface::loadDidBegin):
44130         (WebKit::TouchViewInterface::loadDidSucceed):
44131         (WebKit::TouchViewInterface::didChangeLoadProgress):
44132         (WebKit::TouchViewInterface::showContextMenu):
44133         (WebKit::TouchViewInterface::hideContextMenu):
44134         * UIProcess/qt/TouchViewInterface.h: Added.
44135         (WebKit::TouchViewInterface::pageView):
44136         * UIProcess/qt/ViewInterface.cpp: Added.
44137         (WebKit::ViewInterface::ownerWidget):
44138         * UIProcess/qt/ViewInterface.h: Added.
44139         * UIProcess/qt/WebContextMenuProxyQt.cpp:
44140         (WebKit::webActionForContextMenuAction):
44141         (WebKit::WebContextMenuProxyQt::WebContextMenuProxyQt):
44142         (WebKit::WebContextMenuProxyQt::create):
44143         (WebKit::WebContextMenuProxyQt::showContextMenu):
44144         (WebKit::WebContextMenuProxyQt::hideContextMenu):
44145         (WebKit::WebContextMenuProxyQt::createContextMenu):
44146         * UIProcess/qt/WebContextMenuProxyQt.h:
44147         * UIProcess/qt/qdesktopwebpageproxy.cpp: Added.
44148         (dragOperationToDropAction):
44149         (QDesktopWebPageProxy::QDesktopWebPageProxy):
44150         (QDesktopWebPageProxy::createDrawingAreaProxy):
44151         (QDesktopWebPageProxy::paintContent):
44152         (QDesktopWebPageProxy::setViewportArguments):
44153         (QDesktopWebPageProxy::handleEvent):
44154         (QDesktopWebPageProxy::handleMouseMoveEvent):
44155         (QDesktopWebPageProxy::handleMousePressEvent):
44156         (QDesktopWebPageProxy::handleMouseReleaseEvent):
44157         (QDesktopWebPageProxy::handleMouseDoubleClickEvent):
44158         (QDesktopWebPageProxy::handleWheelEvent):
44159         (QDesktopWebPageProxy::handleHoverMoveEvent):
44160         (QDesktopWebPageProxy::handleDragEnterEvent):
44161         (QDesktopWebPageProxy::handleDragLeaveEvent):
44162         (QDesktopWebPageProxy::handleDragMoveEvent):
44163         (QDesktopWebPageProxy::handleDropEvent):
44164         (QDesktopWebPageProxy::timerEvent):
44165         * UIProcess/qt/qdesktopwebpageproxy.h: Added.
44166         * UIProcess/qt/qtouchwebpageproxy.cpp: Added.
44167         (QTouchWebPageProxy::QTouchWebPageProxy):
44168         (QTouchWebPageProxy::createDrawingAreaProxy):
44169         (QTouchWebPageProxy::paintContent):
44170         (QTouchWebPageProxy::setViewportArguments):
44171         (QTouchWebPageProxy::handleEvent):
44172         (QTouchWebPageProxy::touchEvent):
44173         * UIProcess/qt/qtouchwebpageproxy.h: Added.
44174         (QTouchWebPageProxy::touchViewInterface):
44175         (QTouchWebPageProxy::pageView):
44176         * UIProcess/qt/qwkcontext.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qwkcontext.cpp.
44177         (initializePlatformStrategiesIfNeeded):
44178         (QWKContextPrivate::QWKContextPrivate):
44179         (QWKContextPrivate::~QWKContextPrivate):
44180         (QWKContext::QWKContext):
44181         (QWKContext::~QWKContext):
44182         (QWKContext::setIconDatabasePath):
44183         (QWKContext::iconForPageURL):
44184         * UIProcess/qt/qwkcontext.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkcontext.h.
44185         * UIProcess/qt/qwkcontext_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkcontext_p.h.
44186         * UIProcess/qt/qwkhistory.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qwkhistory.cpp.
44187         (QWKHistoryItemPrivate::QWKHistoryItemPrivate):
44188         (QWKHistoryItemPrivate::~QWKHistoryItemPrivate):
44189         (QWKHistoryItem::QWKHistoryItem):
44190         (QWKHistoryItem::QWKHistoryItem::operator=):
44191         (QWKHistoryItem::~QWKHistoryItem):
44192         (QWKHistoryItem::title):
44193         (QWKHistoryItem::url):
44194         (QWKHistoryPrivate::QWKHistoryPrivate):
44195         (QWKHistoryPrivate::createHistory):
44196         (QWKHistoryPrivate::~QWKHistoryPrivate):
44197         (QWKHistory::QWKHistory):
44198         (QWKHistory::~QWKHistory):
44199         (QWKHistory::backListCount):
44200         (QWKHistory::forwardListCount):
44201         (QWKHistory::count):
44202         (QWKHistory::currentItem):
44203         (QWKHistory::backItem):
44204         (QWKHistory::forwardItem):
44205         (QWKHistory::itemAt):
44206         (QWKHistory::goToItemAt):
44207         (QWKHistory::backItems):
44208         (QWKHistory::forwardItems):
44209         * UIProcess/qt/qwkhistory.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkhistory.h.
44210         * UIProcess/qt/qwkhistory_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkhistory_p.h.
44211         * UIProcess/qt/qwkpreferences.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qwkpreferences.cpp.
44212         (QWKPreferencesPrivate::createPreferences):
44213         (QWKPreferencesPrivate::createSharedPreferences):
44214         (QWKPreferences::sharedPreferences):
44215         (QWKPreferences::QWKPreferences):
44216         (QWKPreferences::~QWKPreferences):
44217         (QWKPreferences::setFontFamily):
44218         (QWKPreferences::fontFamily):
44219         (QWKPreferences::testAttribute):
44220         (QWKPreferences::setAttribute):
44221         (QWKPreferences::setFontSize):
44222         (QWKPreferences::fontSize):
44223         * UIProcess/qt/qwkpreferences.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkpreferences.h.
44224         * UIProcess/qt/qwkpreferences_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qwkpreferences_p.h.
44225         * WebKit2.pro:
44226         * WebKit2API.pri:
44227         * WebProcess/WebPage/TiledDrawingArea.cpp:
44228         * WebProcess/WebPage/TiledDrawingArea.h:
44229
44230 2011-07-05  Jeff Miller  <jeffm@apple.com>
44231
44232         Add WKPageCopyStandardUserAgentWithApplicationName
44233         https://bugs.webkit.org/show_bug.cgi?id=63953
44234
44235         Reviewed by Adam Roben.
44236
44237          * UIProcess/API/C/WKPage.cpp:
44238         (WKPageCopyStandardUserAgentWithApplicationName): Added.
44239         * UIProcess/API/C/WKPagePrivate.h: Added WKPageCopyStandardUserAgentWithApplicationName().
44240
44241         * UIProcess/WebPageProxy.h: Make standardUserAgent() public.
44242
44243 2011-07-05  Vsevolod Vlasov  <vsevik@chromium.org>
44244
44245         Web Inspector: Show content for plugin requests in network panel.
44246         https://bugs.webkit.org/show_bug.cgi?id=30080
44247
44248         Added win symbols for new window.internals methods.
44249
44250         Reviewed by Pavel Feldman.
44251
44252         * win/WebKit2.def:
44253         * win/WebKit2CFLite.def:
44254
44255 2011-07-04  Sheriff Bot  <webkit.review.bot@gmail.com>
44256
44257         Unreviewed, rolling out r90373.
44258         http://trac.webkit.org/changeset/90373
44259         https://bugs.webkit.org/show_bug.cgi?id=63917
44260
44261         Breaks Qt Linux Release minimal (Requested by vsevik on
44262         #webkit).
44263
44264         * win/WebKit2.def:
44265         * win/WebKit2CFLite.def:
44266
44267 2011-07-04  Vsevolod Vlasov  <vsevik@chromium.org>
44268
44269         Web Inspector: Show content for plugin requests in network panel.
44270         https://bugs.webkit.org/show_bug.cgi?id=30080
44271
44272         Reviewed by Pavel Feldman.
44273
44274         * win/WebKit2.def:
44275         * win/WebKit2CFLite.def:
44276
44277 2011-07-04  Anders Carlsson  <andersca@apple.com>
44278
44279         NP_RemoveProperty is not called back by Safari when delete npObject.prop is encountered in JavaScript
44280         https://bugs.webkit.org/show_bug.cgi?id=63915
44281         <rdar://problem/7124300>
44282
44283         Reviewed by Sam Weinig.
44284
44285         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
44286         (WebKit::JSNPObject::deleteProperty):
44287         Call NP_RemoveProperty on the NPObject.
44288
44289         * WebProcess/Plugins/Netscape/JSNPObject.h:
44290         Add deleteProperty.
44291
44292 2011-06-23  Robert Hogan  <robert@webkit.org>
44293
44294         Reviewed by Simon Hausmann.
44295
44296         [Qt] Windowless Plugins : <input> cursor blinks even after transferring focus to plugin
44297         https://bugs.webkit.org/show_bug.cgi?id=30355
44298
44299         PluginView needs to use page->focusController()->setFocusedNode() when focusing a plugin
44300         in order to clear the FrameSelection in the currently focused node. In its platform-specific
44301         code Chromium already does this (WebPluginContainerImpl.cpp).
44302
44303         * WebProcess/Plugins/PluginView.cpp:
44304         (WebCore::PluginView::focusPluginElement): Using FocusController::setFocusedNode() makes
44305                                                    the call to FocusController:setFocusedFrame() redundant, since the
44306                                                    former calls it.
44307
44308 2011-07-02  Anders Carlsson  <andersca@apple.com>
44309
44310         Have another go at fixing the Windows build.
44311
44312         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
44313         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
44314         (WebKit::NetscapePlugin::containingWindow):
44315         (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
44316         (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
44317
44318 2011-07-02  Anders Carlsson  <andersca@apple.com>
44319
44320         Null out the plug-in controller after destroying the plug-in.
44321         https://bugs.webkit.org/show_bug.cgi?id=63869
44322
44323         Reviewed by Maciej Stachowiak.
44324
44325         * PluginProcess/PluginControllerProxy.cpp:
44326         (WebKit::PluginControllerProxy::destroy):
44327         Call destroyPlugin.
44328
44329         * WebProcess/Plugins/Plugin.cpp:
44330         (WebKit::Plugin::destroyPlugin):
44331         Call destroy and null out the plug-in controller.
44332
44333         * WebProcess/Plugins/Plugin.h:
44334         Add destroyPlugin, make destroy private.
44335
44336         * WebProcess/Plugins/PluginView.cpp:
44337         (WebKit::PluginView::~PluginView):
44338         Call destroyPlugin.
44339
44340 2011-07-02  Anders Carlsson  <andersca@apple.com>
44341
44342         Fix Windows build for real.
44343
44344         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
44345         (WebKit::NetscapePlugin::containingWindow):
44346         (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate):
44347         (WebKit::NetscapePlugin::platformPaint):
44348         (WebKit::NetscapePlugin::platformHandleMouseEvent):
44349
44350 2011-07-02  Anders Carlsson  <andersca@apple.com>
44351
44352         Implement NPN_PluginThreadAsyncCall
44353         https://bugs.webkit.org/show_bug.cgi?id=63868
44354
44355         Reviewed by Dan Bernstein.
44356
44357         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
44358         (WebKit::NPN_PluginThreadAsyncCall):
44359         Call NetscapePlugin::pluginThreadAsyncCall.
44360
44361         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
44362         (WebKit::NetscapePlugin::pluginThreadAsyncCall):
44363         Schedule a work item to call the function on the main run loop.
44364
44365         (WebKit::NetscapePlugin::handlePluginThreadAsyncCall):
44366         If the plug-in is still running, run the function.
44367
44368         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
44369         Add new member function.
44370
44371         * WebProcess/Plugins/Plugin.h:
44372         Make plug-in inherit from ThreadSafeRefCounted since plug-ins can potentially
44373         ref the plug-in from other threads.
44374
44375 2011-07-02  Anders Carlsson  <andersca@apple.com>
44376
44377         Fix Windows build.
44378
44379         * WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:
44380         (WebKit::NetscapePlugin::containingWindow):
44381         (WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate):
44382         (WebKit::NetscapePlugin::platformPaint):
44383         (WebKit::NetscapePlugin::platformHandleMouseEvent):
44384         (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
44385         (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
44386
44387 2011-07-02  Anders Carlsson  <andersca@apple.com>
44388
44389         Move the plug-in controller member variable up to the shared Plugin base class
44390         https://bugs.webkit.org/show_bug.cgi?id=63867
44391
44392         Reviewed by Sam Weinig.
44393
44394         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
44395         (WebKit::NetscapePlugin::NetscapePlugin):
44396         Remove m_pluginController.
44397
44398         (WebKit::NetscapePlugin::invalidate):
44399         (WebKit::NetscapePlugin::userAgent):
44400         (WebKit::NetscapePlugin::loadURL):
44401         (WebKit::NetscapePlugin::setStatusbarText):
44402         (WebKit::NetscapePlugin::evaluate):
44403         (WebKit::NetscapePlugin::isPrivateBrowsingEnabled):
44404         (WebKit::NetscapePlugin::windowScriptNPObject):
44405         (WebKit::NetscapePlugin::pluginElementNPObject):
44406         (WebKit::NetscapePlugin::tryToShortCircuitInvoke):
44407         (WebKit::NetscapePlugin::cancelStreamLoad):
44408         (WebKit::NetscapePlugin::isAcceleratedCompositingEnabled):
44409         (WebKit::NetscapePlugin::proxiesForURL):
44410         (WebKit::NetscapePlugin::cookiesForURL):
44411         (WebKit::NetscapePlugin::setCookiesForURL):
44412         (WebKit::NetscapePlugin::getAuthenticationInfo):
44413         Use controller() instead of m_pluginController.
44414
44415         (WebKit::NetscapePlugin::initialize):
44416         This doesn't take a PluginController parameter anymore.
44417
44418         (WebKit::NetscapePlugin::destroy):
44419         No need to null out the plug-in controller.
44420
44421         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
44422         Remove m_pluginController member variable.
44423
44424         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
44425         (WebKit::NetscapePlugin::compositingRenderServerPort):
44426         (WebKit::NetscapePlugin::platformSetFocus):
44427         (WebKit::NetscapePlugin::windowFocusChanged):
44428         Use controller() instead of m_pluginController.
44429         
44430         * WebProcess/Plugins/Plugin.cpp:
44431         (WebKit::Plugin::Plugin):
44432         Initialize m_pluginController.
44433
44434         (WebKit::Plugin::initialize):
44435         New function that initializes the plug-in controller and then calls the real
44436         virtual initialize member function.
44437
44438         * WebProcess/Plugins/Plugin.h:
44439         Add m_pluginController member variable and a new initialize virtual member function that doesn't take a
44440         PluginController parameter. Make the "old" initialize member function set up the plug-in controller.
44441
44442         (WebKit::Plugin::controller):
44443         This is now a simple getter.
44444
44445         * WebProcess/Plugins/PluginProxy.cpp:
44446         (WebKit::PluginProxy::PluginProxy):
44447         Remove m_pluginController.
44448
44449         (WebKit::PluginProxy::pluginProcessCrashed):
44450         Use controller(), remove a bogus null check.
44451
44452         (WebKit::PluginProxy::initialize):
44453         This doesn't take a PluginController parameter now.
44454
44455         (WebKit::PluginProxy::destroy):
44456         No need to null out the plug-in controller member variable.
44457
44458         (WebKit::PluginProxy::loadURL):
44459         (WebKit::PluginProxy::proxiesForURL):
44460         (WebKit::PluginProxy::cookiesForURL):
44461         (WebKit::PluginProxy::setCookiesForURL):
44462         (WebKit::PluginProxy::getAuthenticationInfo):
44463         (WebKit::PluginProxy::windowNPObjectID):
44464         (WebKit::PluginProxy::getPluginElementNPObject):
44465         (WebKit::PluginProxy::evaluate):
44466         (WebKit::PluginProxy::cancelStreamLoad):
44467         (WebKit::PluginProxy::cancelManualStreamLoad):
44468         (WebKit::PluginProxy::setStatusbarText):
44469         (WebKit::PluginProxy::setComplexTextInputEnabled):
44470         (WebKit::PluginProxy::update):
44471         Use controller() instead of m_pluginController.
44472         
44473         * WebProcess/Plugins/PluginProxy.h:
44474         Remove m_pluginController.
44475
44476 2011-07-01  Darin Adler  <darin@apple.com>
44477
44478         Consider backing scale factor when setting up graphics layers
44479         https://bugs.webkit.org/show_bug.cgi?id=63848
44480
44481         Reviewed by Simon Fraser.
44482
44483         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
44484         (WebKit::LayerTreeHostCA::initialize): Set contents scale on the
44485         non-composited content layer based on the backing scale factor.
44486         (WebKit::LayerTreeHostCA::createPageOverlayLayer): Set contents
44487         scale on the page overlay layer based on the backing scale factor.
44488
44489 2011-06-30  Brian Weinstein  <bweinstein@apple.com>
44490
44491         Reviewed by Darin Adler.
44492
44493         WebKit2: DidFinishLoadForFrame is never called on iframes when loads are 
44494         cancelled by willSendRequest
44495         https://bugs.webkit.org/show_bug.cgi?id=63753
44496         
44497         When deciding a policy for a null request, call the callback that was passed
44498         to WebKit2 and say that we used the loader.
44499
44500         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
44501         (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
44502
44503 2011-07-01  Balazs Kelemen  <kbalazs@webkit.org>
44504
44505         Reviewed by Andreas Kling.
44506
44507         [X11][WK2] plugins/mouse-evets-fixedpos.html is failing because of broken event propagation
44508         https://bugs.webkit.org/show_bug.cgi?id=63239
44509
44510         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
44511         Revert the return value of NPP_HandleEvent because the plugin function
44512         returns with 0 if it handled the event.
44513         (WebKit::NetscapePlugin::platformHandleMouseEvent):
44514         (WebKit::NetscapePlugin::platformHandleWheelEvent):
44515         (WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
44516         (WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):
44517         (WebKit::NetscapePlugin::platformHandleKeyboardEvent):
44518
44519 2011-07-01  Mark Rowe  <mrowe@apple.com>
44520
44521         Unreviewed due to fixing of a broken world.
44522
44523         REGRESSION (r90163): WebKit2 bot is failing 100% of the tests.
44524
44525         r90163 bumped the version of the WKBundlePageLoaderClient passed in by WebKitTestRunner from 0 to 1.
44526         This made it run in to the ad-hoc client version checking implemented directly in WKBundlePageSetPageLoaderClient,
44527         resulting in no client being set. After r90162 the ad-hoc checking is not necessary as the APIClient
44528         template takes care of the relevant version checks.
44529
44530         * Shared/APIClient.h:
44531         (WebKit::APIClient::initialize): Fix a bug I noticed along the way: don't attempt to copy anything if
44532         the client version is newer than what we support. This matches the behavior of the ad-hoc version checking.
44533         * UIProcess/API/C/WKContext.cpp:
44534         (WKContextSetInjectedBundleClient): Drop the ad-hoc version checking.
44535         (WKContextSetHistoryClient): Ditto.
44536         (WKContextSetDownloadClient): Ditto.
44537         * UIProcess/API/C/WKCookieManager.cpp:
44538         (WKCookieManagerSetClient): Ditto.
44539         * UIProcess/API/C/WKGeolocationManager.cpp:
44540         (WKGeolocationManagerSetProvider): Ditto.
44541         * UIProcess/API/C/WKIconDatabase.cpp:
44542         (WKIconDatabaseSetIconDatabaseClient): Ditto.
44543         * UIProcess/API/C/WKPage.cpp:
44544         (WKPageSetPageContextMenuClient): Ditto.
44545         (WKPageSetPageFindClient): Ditto.
44546         (WKPageSetPageFormClient): Ditto.
44547         (WKPageSetPageLoaderClient): Ditto.
44548         (WKPageSetPagePolicyClient): Ditto.
44549         (WKPageSetPageResourceLoadClient): Ditto.
44550         (WKPageSetPageUIClient): Ditto.
44551         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
44552         (WKBundleSetClient): Ditto.
44553         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
44554         (WKBundlePageSetContextMenuClient): Ditto.
44555         (WKBundlePageSetEditorClient): Ditto.
44556         (WKBundlePageSetFormClient): Ditto.
44557         (WKBundlePageSetPageLoaderClient): Ditto.
44558         (WKBundlePageSetResourceLoadClient): Ditto.
44559         (WKBundlePageSetPolicyClient): Ditto.
44560         (WKBundlePageSetUIClient): Ditto.
44561         (WKBundlePageSetFullScreenClient): Ditto.
44562
44563 2011-06-30  Darin Adler  <darin@apple.com>
44564
44565         Reviewed by Anders Carlsson.
44566
44567         [WebKit2] Consider scale factor when allocating backing store
44568         https://bugs.webkit.org/show_bug.cgi?id=63766
44569
44570         This is the first step in considering scale factor. It considers
44571         scale factor for the primary backing store, not graphics layers,
44572         and for CG only.
44573
44574         * Platform/cg/CGUtilities.cpp:
44575         (WebKit::paintImage): Added a scale factor argument.
44576         (WebKit::paintBitmapContext): Pass 1 for scale factor.
44577         * Platform/cg/CGUtilities.h: Updated for above.
44578
44579         * Shared/ShareableBitmap.h: Added an overload of paint that can handle
44580         a scale factor.
44581
44582         * Shared/UpdateInfo.cpp:
44583         (WebKit::UpdateInfo::encode): Encode scale factor.
44584         (WebKit::UpdateInfo::decode): Decode scale factor.
44585         * Shared/UpdateInfo.h: Added scale factor.
44586
44587         * Shared/cg/ShareableBitmapCG.cpp:
44588         (WebKit::ShareableBitmap::paint): Added the overload that can handle
44589         a scale factor.
44590
44591         * UIProcess/BackingStore.cpp:
44592         (WebKit::BackingStore::create): Take a scale factor.
44593         (WebKit::BackingStore::BackingStore): Store the scale factor.
44594         (WebKit::BackingStore::incorporateUpdate): Consider the scale factor
44595         when asserting the size is correct.
44596
44597         * UIProcess/BackingStore.h: Add a scale factor.
44598
44599         * UIProcess/DrawingAreaProxyImpl.cpp:
44600         (WebKit::DrawingAreaProxyImpl::didUpdateBackingStoreState): Check the
44601         scale factor too when deciding whether to reuse a backing store.
44602         (WebKit::DrawingAreaProxyImpl::incorporateUpdate): Pass in the scale
44603         factor when creating a backing store.
44604
44605         * UIProcess/mac/BackingStoreMac.mm:
44606         (WebKit::BackingStore::incorporateUpdate): Take the scale factor into
44607         account when painting.
44608
44609         * WebProcess/WebPage/DrawingAreaImpl.cpp:
44610         (WebKit::DrawingAreaImpl::sendDidUpdateBackingStoreState): Put the
44611         scale factor into the UpdateInfo.
44612         (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode): Ditto.
44613         (WebKit::DrawingAreaImpl::display): Take the scale factor into account
44614         when allocating the bitmap and creating a graphics context for it.
44615
44616 2011-06-30  Mark Rowe  <mrowe@apple.com>
44617
44618         Fix the Windows build.
44619
44620         * UIProcess/API/C/win/WKTextChecker.h:
44621         * UIProcess/API/C/win/WKView.h:
44622         * UIProcess/win/WebTextCheckerClient.h:
44623         * UIProcess/win/WebUndoClient.h:
44624
44625 2011-06-30  Mark Rowe  <mrowe@apple.com>
44626
44627         Reviewed by Anders Carlsson.
44628
44629         Teach APIClient to correctly handle multiple versions of a client interface.
44630
44631         If a client struct is not the current version then we can't copy it via assignment
44632         since that will read past the end of the smaller, older struct. To deal with this
44633         APIClient needs to be aware of the sizes of the older client version structs so that
44634         it can copy only the appropriate amount of the struct.
44635         
44636         * Shared/APIClient.h:
44637         (WebKit::APIClient::initialize): Assign through to our client if the new in client is the
44638         latest version. If an older client version was passed then we zero out our client and memcpy
44639         the appropriate number of bytes in to it. This ensures that any new members in the client
44640         are initialized to 0.
44641         * Shared/APIClientTraits.cpp:
44642         * Shared/APIClientTraits.h: Client interfaces are the size of their struct unless otherwise stated.
44643         * WebKit2.xcodeproj/project.pbxproj:
44644         * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Bump the version and add comments indicating
44645         which components belong to which versions.
44646
44647 2011-06-30  Mark Rowe  <mrowe@apple.com>
44648
44649         Reviewed by Anders Carlsson.
44650
44651         Make the APIClient template aware of the latest client interface version number.
44652
44653         This will be used in an upcoming patch.
44654
44655         * Shared/APIClient.h:
44656         * UIProcess/WebContextInjectedBundleClient.h:
44657         * UIProcess/WebCookieManagerProxyClient.h:
44658         * UIProcess/WebDatabaseManagerProxyClient.h:
44659         * UIProcess/WebDownloadClient.h:
44660         * UIProcess/WebFindClient.h:
44661         * UIProcess/WebFormClient.h:
44662         * UIProcess/WebGeolocationProvider.h:
44663         * UIProcess/WebHistoryClient.h:
44664         * UIProcess/WebIconDatabaseClient.h:
44665         * UIProcess/WebLoaderClient.h:
44666         * UIProcess/WebPageContextMenuClient.h:
44667         * UIProcess/WebPolicyClient.h:
44668         * UIProcess/WebResourceLoadClient.h:
44669         * UIProcess/WebUIClient.h:
44670         * WebProcess/InjectedBundle/InjectedBundleClient.h:
44671         * WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h:
44672         * WebProcess/InjectedBundle/InjectedBundlePageEditorClient.h:
44673         * WebProcess/InjectedBundle/InjectedBundlePageFormClient.h:
44674         * WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h:
44675         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
44676         * WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h:
44677         * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.h:
44678         * WebProcess/InjectedBundle/InjectedBundlePageUIClient.h:
44679
44680 2011-06-30  Mark Rowe  <mrowe@apple.com>
44681
44682         Reviewed by Anders Carlsson.
44683
44684         WebKit2 client interfaces should have constant declaring latest version.
44685
44686         * UIProcess/API/C/WKContext.h:
44687         * UIProcess/API/C/WKCookieManager.h:
44688         * UIProcess/API/C/WKDatabaseManager.h:
44689         * UIProcess/API/C/WKGeolocationManager.h:
44690         * UIProcess/API/C/WKIconDatabase.h:
44691         * UIProcess/API/C/WKPage.h:
44692         * WebProcess/InjectedBundle/API/c/WKBundle.h:
44693         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
44694         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
44695
44696 2011-06-30  Anders Carlsson  <andersca@apple.com>
44697
44698         Build fix.
44699
44700         * UIProcess/win/WebPopupMenuProxyWin.h:
44701         (WebKit::WebPopupMenuProxyWin::enclosingScrollableArea):
44702
44703 2011-06-30  Martin Robinson  <mrobinson@igalia.com>
44704
44705         Reviewed by Anders Carlsson.
44706
44707         [GTK] Crash observed with nspluginwrapper and flash
44708         https://bugs.webkit.org/show_bug.cgi?id=62249
44709
44710         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
44711         (WebKit::NPN_InvalidateRect): Guard against null instances here.
44712
44713 2011-06-30  Mark Rowe  <mrowe@apple.com>
44714
44715         Reviewed by Anders Carlsson.
44716
44717         Reinstate WKSecurityOriginGetHost and WKSecurityOriginGetProtocol as wrappers around the correctly-named functions.
44718
44719         They're needed for ABI compatibility.
44720
44721         * Shared/API/c/WKSecurityOrigin.cpp:
44722         (WKSecurityOriginGetHost):
44723         (WKSecurityOriginGetProtocol):
44724
44725 2011-06-29  Darin Adler  <darin@apple.com>
44726
44727         Reviewed by Dan Bernstein.
44728
44729         [Mac] Use system cursors instead of custom bitmaps where possible
44730         https://bugs.webkit.org/show_bug.cgi?id=63679
44731
44732         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
44733         (InitWebCoreSystemInterface): Added WKCursor.
44734
44735 2011-06-29  Darin Adler  <darin@apple.com>
44736
44737         Reviewed by Anders Carlsson.
44738
44739         [WebKit2] Crash loading page that adds/removes frame in DOMContentLoaded/loaded
44740         https://bugs.webkit.org/show_bug.cgi?id=63483
44741
44742         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
44743         (WebKit::WebFrameLoaderClient::createFrame): Added a check for null when creating
44744         a frame. Also added a check that was in the WebKit1 code, but not here. Strangely,
44745         the comment from the second check was still here, but not the code.
44746
44747 2011-06-28  Chang Shu  <cshu@webkit.org>
44748
44749         Reviewed by Andreas Kling.
44750
44751         [Qt][WK2] Random crashes in fast/frames/ tests
44752         https://bugs.webkit.org/show_bug.cgi?id=63459
44753
44754         Investigation on the crashes has revealed that sometimes, a frame could
44755         have been destroyed before it is removed from the hierachy in Qt WebKit2 UI process.
44756         The root cause lies in the fact that the order of the two contiguous asynchronous
44757         messages may not be respected on the receiving side. And it is Qt's implementation,
44758         which uses QTimer::startTimer(0), that causes the reverse order. This patch replaces
44759         the timer approach with QMetaObject::invokeMethod approach and no crash happens afterwards.
44760
44761         * Platform/qt/WorkQueueQt.cpp:
44762         (WorkQueue::scheduleWork):
44763
44764 2011-06-28  Balazs Kelemen  <kbalazs@webkit.org>
44765
44766         Reviewed by Kenneth Rohde Christiansen.
44767
44768         [X11][WK2] X error with plugin tests
44769         https://bugs.webkit.org/show_bug.cgi?id=63520
44770
44771         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
44772         Never create a pixmap with (0,0) dimensions.
44773         (WebKit::NetscapePlugin::platformGeometryDidChange):
44774         (WebKit::NetscapePlugin::platformPaint):
44775
44776 2011-06-28  Balazs Kelemen  <kbalazs@webkit.org>
44777
44778         Reviewed by Kenneth Rohde Christiansen.
44779
44780         [X11][WK2] plugins/plugin-javascript-access fails
44781         https://bugs.webkit.org/show_bug.cgi?id=63464
44782
44783         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
44784         (WebKit::NetscapePluginModule::getPluginInfo):
44785         Determine the name of the plugin.
44786
44787 2011-06-27  Yuta Kitamura  <yutak@chromium.org>
44788
44789         Reviewed by Alexey Proskuryakov.
44790
44791         [WebKit2] Add hixie76WebSocketProtocolEnabled flag to WebPreferences
44792         https://bugs.webkit.org/show_bug.cgi?id=63447
44793
44794         Make a new flag added in WebCore::Settings (useHixie76WebSocketProtocol)
44795         switchable from WebPage and WebPreferences.
44796
44797         * Shared/WebPreferencesStore.h:
44798         * UIProcess/API/C/WKPreferences.cpp:
44799         (WKPreferencesSetHixie76WebSocketProtocolEnabled):
44800         (WKPreferencesGetHixie76WebSocketProtocolEnabled):
44801         * UIProcess/API/C/WKPreferencesPrivate.h:
44802         * WebProcess/WebPage/WebPage.cpp:
44803         (WebKit::WebPage::updatePreferences):
44804
44805 2011-06-27  Jeff Miller  <jeffm@apple.com>
44806
44807         Reviewed by Oliver Hunt.
44808
44809         Web process always pauses on launch
44810         https://bugs.webkit.org/show_bug.cgi?id=63487
44811         
44812         In the absence of the WEBKIT2_PAUSE_WEB_PROCESS_ON_LAUNCH environment variable, only pause the web process on
44813         launch if the shift, control, and alt keys are all held down. This regressed in r89685, which always caused the
44814         web process to pause if the shift and alt keys were not held down.
44815
44816         * WebProcess/WebKitMain.cpp:
44817         (pauseProcessIfNeeded): Add some parentheses.
44818
44819 2011-06-27  Huang Dongsung  <luxtella@company100.net>
44820
44821         Reviewed by Kenneth Rohde Christiansen.
44822
44823         TiledBackingStore endlessly creates and destroys tiles due to an off-by-one
44824         error.
44825         https://bugs.webkit.org/show_bug.cgi?id=62422
44826
44827         REGRESSION(r77286): Remove bottomRight().
44828         REGRESSION(r77312): Change the logic to get the bottom right point.
44829         REGRESSION(r77928): Cause off-by-one error in TiledBackingStore.
44830         REGRESSION(r78783): Cause off-by-one error in TiledDrawingAreaProxy.
44831         REGRESSION(r78785): Cause off-by-one error in TiledDrawingAreaProxy.
44832
44833         If the viewport width equals the contents width, especially in the mobile
44834         device, TiledBackingStore endlessly creates and deletes the rightmost
44835         column and bottom row of tiles.
44836         In the detail, dropTilesOutsideRect() in TiledBackingStore::createTiles()
44837         deletes tiles and setTile(coordinate, Tile::create(this, coordinate)) creates
44838         tiles infinitely.
44839         Modified TiledDrawingAreaProxy also.
44840
44841         * UIProcess/TiledDrawingAreaProxy.cpp:
44842         (WebKit::innerBottomRight):
44843         (WebKit::TiledDrawingAreaProxy::invalidate):
44844         (WebKit::TiledDrawingAreaProxy::paint):
44845         (WebKit::TiledDrawingAreaProxy::createTiles):
44846
44847 2011-06-26  Mark Rowe  <mrowe@apple.com>
44848
44849         Reviewed by Dan Bernstein.
44850
44851         Use a separate file name for Lion's WebKitSystemInterface.
44852
44853         * Configurations/DebugRelease.xcconfig:
44854
44855 2011-06-26  Mark Rowe  <mrowe@apple.com>
44856
44857         Rubber-stamped by Maciej Stachowiak.
44858
44859         <rdar://problem/9679221&9679235> Work around an issue with sandbox.h.
44860
44861         * WebProcess/mac/WebProcessMac.mm:
44862
44863 2011-06-26  Anders Carlsson  <andersca@apple.com>
44864
44865         Reviewed by Dan Bernstein.
44866
44867         Don't use a Mutex for protecting access to the connection queue clients
44868         https://bugs.webkit.org/show_bug.cgi?id=63403
44869
44870         Make sure to only access the queue client vector from the connection work queue.
44871         This gets rid of a lock and ensures that adding/removing clients from callbacks works correctly.
44872
44873         * Platform/CoreIPC/Connection.cpp:
44874         (CoreIPC::Connection::addQueueClient):
44875         (CoreIPC::Connection::removeQueueClient):
44876         (CoreIPC::Connection::addQueueClientOnWorkQueue):
44877         (CoreIPC::Connection::removeQueueClientOnWorkQueue):
44878         (CoreIPC::Connection::processIncomingMessage):
44879         * Platform/CoreIPC/Connection.h:
44880
44881 2011-06-25  Brent Fulgham  <bfulgham@webkit.org>
44882
44883         Unreviewed build correction after r89426.
44884
44885         * Shared/API/c/cairo/WKImageCairo.h: Declare cairo type
44886           as struct (in keeping with other declarations).
44887         * win/WebKit2.vcproj: Add new WKImageCairo.cpp file to
44888           WinCairo build.
44889
44890 2011-06-25  Brent Fulgham  <bfulgham@webkit.org>
44891
44892         Unreviewed build correction after r89503.
44893         See http://trac.webkit.org/changeset/89503. The modifications
44894         to the WebKit2.def need to be mirrored in WebKit2CFLite.def.
44895
44896         * win/WebKit2CFLite.def: Add new exported symbol for isPreloaded.
44897
44898 2011-06-24  Brent Fulgham  <bfulgham@webkit.org>
44899
44900         Unreviewed build correction after r89426.
44901         See http://trac.webkit.org/changeset/89426. The new WebKit2
44902         header file (WKImageCairo.h) is needed.
44903
44904         * win/WebKit2Generated.make: Make sure to copy the WKImageCairo.h
44905         header file to the WebKit2 API directory after building.
44906
44907 2011-06-24  Anders Carlsson  <andersca@apple.com>
44908
44909         Reviewed by John Sullivan.
44910
44911         Drag-and-drop tab in same window makes web process falsely report unresponsiveness
44912         https://bugs.webkit.org/show_bug.cgi?id=63369
44913         <rdar://problem/9673120>
44914
44915         If the view becomes invisible, stop the responsiveness timer, because we might not get any
44916         messages that will cause it to stop (such as painting notifications since we don't paint
44917         when we're not visible).
44918
44919         * UIProcess/WebPageProxy.cpp:
44920         (WebKit::WebPageProxy::viewStateDidChange):
44921
44922 2011-06-24  Anders Carlsson  <andersca@apple.com>
44923
44924         Reviewed by Kevin Decker.
44925
44926         Not possible for plug-ins to override the internal PDF viewer
44927         https://bugs.webkit.org/show_bug.cgi?id=63356
44928         <rdar://problem/9673382>
44929
44930         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
44931         (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
44932         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
44933         Pass the entire resource response to shouldUseCustomRepresentationForResponse.
44934
44935         * WebProcess/WebProcess.cpp:
44936         (WebKit::canPluginHandleResponse):
44937         Ask for the plug-in path for a plug-in that can handle the given resource response.
44938         If we fail to send the message, or if the path comes back empty, we assume that there's no plug-in
44939         that can handle it.
44940
44941         (WebKit::WebProcess::shouldUseCustomRepresentationForResponse):
44942         If the response MIME type is in the m_mimeTypesWithCustomRepresentations map, check if there's
44943         a plug-in that can handle the given response. If that is the case, it should have precedence over
44944         the custom representation.
44945
44946         * WebProcess/WebProcess.h:
44947         Rename shouldUseCustomRepresentationForMIMEType to shouldUseCustomRepresentationForResponse.
44948
44949 2011-06-24  Adam Roben  <aroben@apple.com>
44950
44951         Mac build fix after r89685
44952
44953         * WebProcess/WebKitMain.cpp: Make a Windows-only #include really be Windows-only.
44954
44955 2011-06-24  Adam Roben  <aroben@apple.com>
44956
44957         Make the web process pause dialog look better on Vista/7 and robust against executable
44958         renames
44959
44960         Fixes <http://webkit.org/b/63335> Web process pause dialog looks bad on Vista/7
44961
44962         Reviewed by Brian Weinstein.
44963
44964         * WebProcess/WebKitMain.cpp:
44965         (pauseProcessIfNeeded): Moved code to show the pause dialog here from WebKitMain. We now
44966         fetch the executable name using ::GetModuleFileNameW instead of hard-coding it. The string
44967         we pass to ::MessageBoxW no longer has embedded newlines, which improves its appearance on
44968         Vista/7 (which were doing their own wrapping in addition to our newlines). Appearance is
44969         different but fine on XP. Note that the message text now contains the "[_debug].exe" suffix when
44970         referring to the process; that is different from before but seems fine.
44971         (WebKitMain): Call the new function.
44972
44973 2011-06-24  Dominic Cooney  <dominicc@chromium.org>
44974
44975         Reviewed by Dimitri Glazkov.
44976
44977         Convert shadow DOM-related tests to use window.internals
44978         https://bugs.webkit.org/show_bug.cgi?id=61671
44979
44980         Remove shadow DOM-related methods from WebKit2 API. These are not
44981         required any more.
44982
44983         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandle.cpp:
44984         * WebProcess/InjectedBundle/API/c/WKBundleNodeHandlePrivate.h:
44985         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
44986         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
44987         * win/WebKit2.def: Re-exports for symbols used by WebCoreTestSupport.
44988         * win/WebKit2CFLite.def: Same for Cairo.
44989
44990 2011-06-24  Carlos Garcia Campos  <cgarcia@igalia.com>
44991
44992         Reviewed by Martin Robinson.
44993
44994         [X11] Do not call NPP_SetWindow with a null window handle on destroy
44995         https://bugs.webkit.org/show_bug.cgi?id=62981
44996
44997         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
44998         (WebKit::NetscapePlugin::destroy):
44999
45000 2011-06-23 Jamie Cooley  <james.cooley@nokia.com>
45001
45002         Reviewed by Andreas Kling.
45003
45004         [Qt][WK2] Qt port needs load-from-history implementation
45005         https://bugs.webkit.org/show_bug.cgi?id=57784
45006  
45007         Created "random access" BackForwardHistory public API method,
45008         QWKHistory::goToItemAt(int)
45009
45010         * UIProcess/API/qt/qwkhistory.cpp:
45011         (QWKHistoryItem::QWKHistoryItem::itemRef):
45012         Added access method to fetch WKBackForwardListRef
45013
45014         (QWKHistoryPrivate::QWKHistoryPrivate):
45015         (QWKHistoryPrivate::createHistory):
45016         Updated createHistory method and QWKHistoryPrivate constructor to take a pointer
45017         to the owning QWKPage in addition to the WebBackForwardList. This will be saved so that the
45018         new API can ask the page to load a HistoryItem.
45019
45020         (QWKHistory::goToItemAt):
45021         New Public API. Like QWKHistory::itemAt, callee gives an integer.
45022         <0 means jump back to that item, 0 means the current item, >0 means jump forwards.
45023         If an out-of-range index is given, the function silently fails.
45024         This will invoke WKPageGoToBackForwardListItem.
45025
45026         * UIProcess/API/qt/qwkhistory.h:
45027         * UIProcess/API/qt/qwkhistory_p.h:
45028         * UIProcess/API/qt/qwkpage.cpp:
45029         (QWKPagePrivate::QWKPagePrivate):
45030         Update instantiation of QWKHistory to include QWKPage.
45031
45032         * UIProcess/API/qt/tests/qwkhistory/tst_qwkhistory.cpp:
45033         (tst_QWKHistory::historyForwardBackTest_data):
45034         (tst_QWKHistory::historyForwardBackTest):
45035         Add test content for the new API
45036
45037 2011-06-23  Yael Aharon  <yael.aharon@nokia.com>
45038
45039         Reviewed by Andreas Kling.
45040
45041         [Qt] [WK2] Add drag and drop support
45042         https://bugs.webkit.org/show_bug.cgi?id=62838
45043
45044         Added missing pieces to add support for DnD in QtWebKit.
45045
45046         * Shared/qt/ArgumentCodersQt.cpp: Added.
45047         (CoreIPC::::encode):
45048         (CoreIPC::::decode):
45049         * Shared/qt/ArgumentCodersQt.h: Added.
45050         Encode DragData so that we can transfer the QMimeData between the
45051         WebProcess and the UI Process.
45052         I encode the DragData and not QMimeData directly because we don't
45053         have an associated QMimeData for each message.
45054
45055         * UIProcess/API/qt/qgraphicswkview.cpp:
45056         (QGraphicsWKView::init):
45057         (QGraphicsWKView::dragEnterEvent):
45058         (QGraphicsWKView::dragLeaveEvent):
45059         (QGraphicsWKView::dragMoveEvent):
45060         (QGraphicsWKView::dropEvent):
45061         * UIProcess/API/qt/qgraphicswkview.h:
45062         * UIProcess/API/qt/qwkpage.cpp:
45063         (dropActionToDragOperation):
45064         (dragOperationToDropAction):
45065         (dragOperationToDropActions):
45066         (QWKPagePrivate::dragEnterEvent):
45067         (QWKPagePrivate::dragLeaveEvent):
45068         (QWKPagePrivate::dragMoveEvent):
45069         (QWKPagePrivate::dropEvent):
45070         (QWKPagePrivate::startDrag):
45071
45072         Send drag-and-drop related events to WebKit.
45073
45074         * UIProcess/API/qt/qwkpage_p.h:
45075         * UIProcess/PageClient.h:
45076         * UIProcess/WebPageProxy.cpp:
45077         (WebKit::WebPageProxy::performDragControllerAction):
45078         (WebKit::WebPageProxy::startDrag):
45079         * UIProcess/WebPageProxy.h:
45080
45081          Start the HTML5 drag operation from the UI process, because QDrag
45082          needs a handle to the QWidget under the mouse.
45083
45084         * UIProcess/WebPageProxy.messages.in:
45085
45086         Add message type that takes DragData as a parameter.
45087
45088         * WebKit2.pro:
45089         * WebProcess/WebCoreSupport/WebDragClient.cpp:
45090         * WebProcess/WebCoreSupport/qt/WebDragClientQt.cpp: Added.
45091         (WebKit::convertImageToBitmap):
45092         (WebKit::WebDragClient::startDrag):
45093
45094         Send a message to the UI process to start the HTML5 drag operation.
45095
45096         * WebProcess/WebPage/WebPage.cpp:
45097         (WebKit::WebPage::performDragControllerAction):
45098         * WebProcess/WebPage/WebPage.h:
45099         * WebProcess/WebPage/WebPage.messages.in:
45100
45101         Add message type that takes DragData as a parameter.
45102
45103 2011-06-23  Carlos Garcia Campos  <cgarcia@igalia.com>
45104
45105         Reviewed by Martin Robinson.
45106
45107         [UNIX] Fix compile warnings in NetscapePluginX11.cpp
45108         https://bugs.webkit.org/show_bug.cgi?id=63249
45109
45110         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
45111         (WebKit::setXButtonEventFields):
45112         (WebKit::NetscapePlugin::platformHandleMouseEvent):
45113
45114 2011-06-22  Carlos Garcia Campos  <cgarcia@igalia.com>
45115
45116         Reviewed by Martin Robinson.
45117
45118         [UNIX] Increment/decrement module load conter in NetscapePluginModule::getPluginInfo()
45119         https://bugs.webkit.org/show_bug.cgi?id=63150
45120
45121         Since the method is static, we are using
45122         NetscapePluginModule::getOrCreate() to get the module. If it's
45123         created, the load counter is 0, so that when module is deleted,
45124         shutdown() hasn't been called and the destructor crashes in the
45125         assert that checks the module has been removed from the
45126         initialized module list. We should increment the load counter, and
45127         decrement it before getPluginInfo() returns, so that
45128         decrementLoadCount() will call shutdown() if counter is 0 and the
45129         module will be deleted from the list.
45130
45131         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
45132         (WebKit::NetscapePluginModule::getPluginInfo):
45133
45134 2011-06-22  Carlos Garcia Campos  <cgarcia@igalia.com>
45135
45136         Reviewed by Martin Robinson.
45137
45138         [UNIX] Check for npp directly when getting X display in NetscapeBrowserFuncs
45139         https://bugs.webkit.org/show_bug.cgi?id=63149
45140
45141         NetscapePlugin::fromNPP() shouldn't be called with a null npp, it
45142         contains an assert that make it crash when building with debug enabled.
45143
45144         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
45145         (WebKit::NPN_GetValue):
45146
45147 2011-06-22  Nate Chapin  <japhet@chromium.org>
45148
45149         Reviewed by Adam Barth.
45150
45151         Add win symbols for new window.internals functionality.
45152         https://bugs.webkit.org/show_bug.cgi?id=62066
45153
45154         * win/WebKit2.def:
45155
45156 2011-06-22  Balazs Kelemen  <kbalazs@webkit.org>
45157
45158         Reviewed by Andreas Kling.
45159
45160         [Qt][WK2] Set up plugin tests
45161         https://bugs.webkit.org/show_bug.cgi?id=63066
45162
45163         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
45164         (WebKit::WebFrameLoaderClient::createPlugin):
45165         Force windowless mode for the test plugin because we
45166         don't support windowed plugins yet.
45167
45168 2011-06-22  Geoffrey Garen  <ggaren@apple.com>
45169
45170         Reviewed by Oliver Hunt.
45171
45172         Removed unnecessary #include <stdio.h>.
45173
45174         * PluginProcess/mac/PluginProcessMainMac.mm:
45175         * Shared/WebMemorySampler.cpp:
45176         * UIProcess/WebFrameProxy.cpp:
45177         * UIProcess/WebProcessProxy.cpp:
45178         * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
45179         * WebProcess/mac/WebProcessMac.mm: Added #include back to places where it
45180         was needed.
45181
45182 2011-06-22  Balazs Kelemen  <kbalazs@webkit.org>
45183
45184         Unreviewed build fix after r89461.
45185
45186         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
45187         (WebKit::NetscapePlugin::platformSetFocus):
45188         Forgot to name the parameter, fix it.
45189
45190 2011-06-22  Balazs Kelemen  <kbalazs@webkit.org>
45191
45192         Reviewed by Darin Adler.
45193
45194         [X11][WK2] Implement NetscapePlugin::platformSetFocus
45195         https://bugs.webkit.org/show_bug.cgi?id=63154
45196
45197         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
45198         (WebKit::NetscapePlugin::platformSetFocus):
45199         Implement focus setting based on the WebKit1 path.
45200
45201 2011-06-22  Eunmi Lee  <eunmi15.lee@samsung.com>
45202
45203         Reviewed by Martin Robinson.
45204
45205         Change GtkWidgetBackingStore.h to WidgetBackingStore.h in order to use in the EFL port.
45206         https://bugs.webkit.org/show_bug.cgi?id=62848
45207
45208         Change GtkWidgetBackingStore to WidgetBackingStore in the BackingStore.h and
45209         gtk/BackingStoreGtk.cpp.
45210
45211         * UIProcess/BackingStore.h:
45212         * UIProcess/gtk/BackingStoreGtk.cpp:
45213         (WebKit::BackingStore::incorporateUpdate):
45214
45215 2011-06-22  Adam Roben  <aroben@apple.com>
45216
45217         Don't use an alpha channel when drawing the web page on Windows
45218
45219         We never use the alpha channel in the end anyway (because we never render into a layered
45220         window, which is the only kind of window that supports alpha). And using an alpha channel is
45221         tricky to get right since GDI doesn't support alpha (and often writes 0x0 into the alpha
45222         channel).
45223
45224         Fixes <http://webkit.org/b/63075> <rdar://problem/9648113> REGRESSION (r88978): Text inside
45225         form controls looks really awful on Windows XP
45226
45227         Reviewed by Anders Carlsson.
45228
45229         * WebProcess/WebPage/win/DrawingAreaImplWin.cpp:
45230         (WebKit::DrawingAreaImpl::createGraphicsContext): Specify false for the hasAlpha parameter
45231         to the GraphicsContext constructor.
45232
45233 2011-06-22  Carlos Garcia Campos  <cgarcia@igalia.com>
45234
45235         Reviewed by Martin Robinson.
45236
45237         [GTK] Remove Connection::setShouldCloseConnectionOnProcessTermination()
45238         https://bugs.webkit.org/show_bug.cgi?id=61627
45239
45240         Don't use Connection::setShouldCloseConnectionOnProcessTermination() for the
45241         GTK port, when the process finishes the connection is closed and
45242         the other process is already notified. We still need to monitor
45243         the child process so that it doesn't become a zombie when it dntabi
45244
45245         * Platform/CoreIPC/Connection.h:
45246         * Platform/CoreIPC/unix/ConnectionUnix.cpp:
45247         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
45248         (WebKit::childFinishedFunction):
45249         (WebKit::ProcessLauncher::launchProcess):
45250         * UIProcess/WebProcessProxy.cpp:
45251         (WebKit::WebProcessProxy::didFinishLaunching):
45252
45253 2011-06-20  Dimitri Glazkov  <dglazkov@chromium.org>
45254
45255         Reviewed by Kent Tamura.
45256
45257         FileChooser should be only created when we need to choose files.
45258         https://bugs.webkit.org/show_bug.cgi?id=63039
45259
45260         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
45261         (WebKit::WebChromeClient::runOpenPanel): Changed to use settings.
45262
45263 2011-06-22  Martin Robinson  <mrobinson@igalia.com>
45264
45265         Reviewed by Adam Roben.
45266
45267         [GTK] Implement pixel dump support for WebKitTestRunner
45268         https://bugs.webkit.org/show_bug.cgi?id=58242
45269
45270         * GNUmakefile.am: Added new Cairo specific image handling files to the build.
45271         * Shared/API/c/cairo/WKImageCairo.cpp: Copied from Source/WebKit2/Shared/cairo/ShareableBitmapCairo.cpp.
45272         (WKImageCreateCairoSurface): Added
45273         (WKImageCreateFromCairoSurface): Added
45274         * Shared/API/c/cairo/WKImageCairo.h: Copied from Source/WebKit2/Shared/cairo/ShareableBitmapCairo.cpp.
45275
45276 2011-06-21  MORITA Hajime  <morrita@google.com>
45277
45278         Unreviewed, rolling out r89401 and r89403.
45279         http://trac.webkit.org/changeset/89401
45280         http://trac.webkit.org/changeset/89403
45281         https://bugs.webkit.org/show_bug.cgi?id=62970
45282
45283         Breaks mac build and mistakenly enables the spellcheck API
45284
45285         * Configurations/FeatureDefines.xcconfig:
45286
45287 2011-06-20  MORITA Hajime  <morrita@google.com>
45288
45289         Reviewed by Kent Tamura.
45290
45291         Spellcheck API should be build-able.
45292         https://bugs.webkit.org/show_bug.cgi?id=62970
45293
45294         No new tests, changing only build related files
45295
45296         * Configurations/FeatureDefines.xcconfig:
45297
45298 2011-06-21  Jer Noble  <jer.noble@apple.com>
45299
45300         Reviewed by Simon Fraser.
45301
45302         REGRESSION: Fullscreen videos are broken (affects embedded vimeo, vimeo.com, and apple.com)
45303         https://bugs.webkit.org/show_bug.cgi?id=63098
45304         <rdar://problem/9645393>
45305
45306         Force a repaint after completing entering full-screen mode only after the notification 
45307         is sent for the QTMovie to tear down its layer.  Then, the QTMovie will build up its
45308         layer again during the repaint.
45309
45310         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
45311         (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer):
45312
45313 2011-06-21  Yael Aharon  <yael.aharon@nokia.com>
45314
45315         Reviewed by Kenneth Rohde Christiansen.
45316
45317         [Qt] Add an internal API for accessing the QGraphicsView.
45318         https://bugs.webkit.org/show_bug.cgi?id=63095
45319
45320         * UIProcess/API/qt/qwkpage.cpp:
45321         (QWKPagePrivate::ownerWidget):
45322         * UIProcess/API/qt/qwkpage_p.h:
45323
45324 2011-06-21  Lukasz Slachciak  <l.slachciak@samsung.com>
45325
45326         Reviewed by Sam Weinig.
45327
45328         [GTK] [WK2] WebKit2 build break fixes.
45329         https://bugs.webkit.org/show_bug.cgi?id=62950
45330
45331         When building WebKit2 for GTK there are few build breaks connected with missing include files.
45332
45333         * Platform/unix/SharedMemoryUnix.cpp:
45334         * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
45335         * UIProcess/API/gtk/PageClientImpl.cpp:
45336
45337 2011-06-20  Martin Robinson  <mrobinson@igalia.com>
45338
45339         Reviewed by Eric Seidel.
45340
45341         [GTK] [WebKit2] Disable GDK double buffering
45342         https://bugs.webkit.org/show_bug.cgi?id=62770
45343
45344         Explicitly disable GDK double-buffering when instantiating
45345         a WebKit2 view widget. This prevents one extra pixmap copy.
45346
45347         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
45348         (webkit_web_view_base_init):
45349
45350 2011-06-20  Carlos Garcia Campos  <cgarcia@igalia.com>
45351
45352         Reviewed by Martin Robinson.
45353
45354         [UNIX] Don't use WebCore::PluginPackage to get plugin information
45355         https://bugs.webkit.org/show_bug.cgi?id=62899
45356
45357         The problem is that both PluginPackage in WebCore and
45358         NetscapePluginModule in webkit2 install their own netscape browser
45359         functions and that can cause conflicts in some situations.
45360
45361         * Shared/Plugins/Netscape/NetscapePluginModule.h: Add helper
45362         function to set plugin mime type descriptions.
45363         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
45364         (WebKit::NetscapePluginModule::setMIMEDescription): Helper
45365         function to set plugin mime type descriptions.
45366         (WebKit::NetscapePluginModule::getPluginInfo): Use
45367         NetscapePluginModule instead of PluginPackage.
45368         * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp: Remove unneeded
45369         header include.
45370         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
45371         (WebKit::NPN_GetValue): Do not try to get the XDisplay if the
45372         plugin doesn't have a view. It fixes a crash with flash plugin and
45373         matches WebCore.
45374
45375 2011-06-20  Carlos Garcia Campos  <cgarcia@igalia.com>
45376
45377         Reviewed by Xan Lopez.
45378
45379         [GTK] Split libWebCore into two libWebCore and libWebCoreGtk
45380         https://bugs.webkit.org/show_bug.cgi?id=60539
45381
45382         * GNUmakefile.am: Link to libWebCoreGtk.la too.
45383
45384 2011-06-19  MORITA Hajime <morrita@google.com>
45385
45386         Unreviewed wincairo build fix.
45387
45388         * win/WebKit2CFLite.def:
45389
45390 2011-06-19  MORITA Hajime  <morrita@google.com>
45391
45392         Reviewed by Dimitri Glazkov.
45393
45394         The internals object should have createShadowContentElement()
45395         https://bugs.webkit.org/show_bug.cgi?id=62432
45396
45397         * win/WebKit2.def: Added some more symbols necessary for
45398         window.internals to function to the global symbol list.
45399
45400 2011-06-18  Dimitri Glazkov  <dglazkov@chromium.org>
45401
45402         Reviewed by Darin Adler.
45403
45404         Separate concerns of loading file icons and choosing files.
45405         https://bugs.webkit.org/show_bug.cgi?id=62931
45406
45407         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
45408         (WebKit::WebChromeClient::loadIconForFiles): Renamed.
45409         * WebProcess/WebCoreSupport/WebChromeClient.h:
45410
45411 2011-06-18  Eunmi Lee  <eunmi15.lee@samsung.com>
45412
45413         Reviewed by Sam Weinig.
45414
45415         [EFL][WK2] add WebKit2 EFL port's NativeWebMouseEvent, NativeWebWheelEvent and NativeWebKeyboardEvent
45416         https://bugs.webkit.org/show_bug.cgi?id=61993
45417
45418         Add native mouse and keyboard event classes to convert EFL's events to NativeWebEvent.
45419
45420         * Shared/NativeWebKeyboardEvent.h:
45421         (WebKit::NativeWebKeyboardEvent::nativeEvent):
45422         * Shared/NativeWebMouseEvent.h:
45423         (WebKit::NativeWebMouseEvent::nativeEvent):
45424         * Shared/NativeWebWheelEvent.h:
45425         (WebKit::NativeWebWheelEvent::nativeEvent):
45426         * Shared/efl/NativeWebKeyboardEventEfl.cpp: Added.
45427         (WebKit::NativeWebKeyboardEvent::NativeWebKeyboardEvent):
45428         * Shared/efl/NativeWebMouseEventEfl.cpp: Added.
45429         (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
45430         * Shared/efl/NativeWebWheelEventEfl.cpp: Added.
45431         (WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
45432         * Shared/efl/WebEventFactory.cpp: Added.
45433         (WebKit::modifiersForEvent):
45434         (WebKit::buttonForEvent):
45435         (WebKit::clickCountForEvent):
45436         (WebKit::WebEventFactory::createWebMouseEvent):
45437         (WebKit::WebEventFactory::createWebWheelEvent):
45438         (WebKit::WebEventFactory::createWebKeyboardEvent):
45439         * Shared/efl/WebEventFactory.h: Added.
45440
45441 2011-06-18  Eunmi Lee  <eunmi15.lee@samsung.com>
45442
45443         Reviewed by Sam Weinig.
45444
45445         [EFL][WK2] Add missing functions of EFL port's PageClientImpl
45446         https://bugs.webkit.org/show_bug.cgi?id=62711
45447
45448         Three functions are added in the PageClient.h, so add them to the EFL's PageClientImpl.
45449
45450         * UIProcess/API/efl/PageClientImpl.cpp:
45451         (WebKit::PageClientImpl::screenToWindow):
45452         (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
45453         (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
45454         * UIProcess/API/efl/PageClientImpl.h:
45455
45456 2011-06-17  Brent Fulgham  <bfulgham@webkit.org>
45457
45458         [WinCairo] Unreviewed build fix after r89060 and r89161.
45459
45460         * Shared/win/WebCoreArgumentCodersWin.cpp: WinCairo build fixes
45461           (1) Include proper header files for WinCairo build
45462           (2) Exclude unused namespace declaration
45463
45464 2011-06-17  Anders Carlsson  <andersca@apple.com>
45465
45466         Reviewed by Sam Weinig.
45467
45468         Remove unused ArgumentEncoder and ArgumentDecoder functions
45469         https://bugs.webkit.org/show_bug.cgi?id=62909
45470
45471         * Platform/CoreIPC/ArgumentDecoder.cpp:
45472         * Platform/CoreIPC/ArgumentDecoder.h:
45473         * Platform/CoreIPC/ArgumentEncoder.cpp:
45474         * Platform/CoreIPC/ArgumentEncoder.h:
45475         
45476         * Shared/win/PlatformCertificateInfo.cpp:
45477         (WebKit::PlatformCertificateInfo::encode):
45478         (WebKit::PlatformCertificateInfo::decode):
45479         Replace calls to encodeBytes/decodeBytes with
45480         encodeVariableLengthByteArray/decodeVariableLengthByteArray.
45481
45482 2011-06-17  Anders Carlsson  <andersca@apple.com>
45483
45484         Yet another Qt build fix attempt.
45485
45486         * UIProcess/API/qt/ClientImpl.cpp:
45487         * UIProcess/API/qt/qgraphicswkview.cpp:
45488         * UIProcess/API/qt/qwkpage.cpp:
45489         * UIProcess/API/qt/qwkpage_p.h:
45490
45491 2011-06-17  Anders Carlsson  <andersca@apple.com>
45492
45493         Another attempt at fixing the Qt build.
45494
45495         * UIProcess/API/qt/ClientImpl.cpp:
45496         * UIProcess/API/qt/qgraphicswkview.cpp:
45497         * UIProcess/API/qt/qwkcontext.cpp:
45498
45499 2011-06-17  Anders Carlsson  <andersca@apple.com>
45500
45501         Fix Qt build.
45502
45503         * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
45504
45505 2011-06-17  Anders Carlsson  <andersca@apple.com>
45506
45507         Windows build fix.
45508
45509         * UIProcess/win/WebView.cpp:
45510
45511 2011-06-17  Anders Carlsson  <andersca@apple.com>
45512
45513         Reviewed by Sam Weinig.
45514
45515         Move the remaining WebCore argument coders to the .cpp file
45516         https://bugs.webkit.org/show_bug.cgi?id=62874
45517
45518         Also add includes that other files need that used to be provided by WebCoreArgumentCoders.h,
45519         and get rid of the LAZY_NATIVE_CURSOR #if check because all WebKit2 platforms now support it.
45520         
45521         * Shared/ContextMenuState.h:
45522         * Shared/WebCoreArgumentCoders.cpp:
45523         (CoreIPC::::encode):
45524         (CoreIPC::::decode):
45525         * Shared/WebCoreArgumentCoders.h:
45526         * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
45527         * Shared/mac/WebCoreArgumentCodersMac.mm:
45528         * Shared/qt/WebCoreArgumentCodersQt.cpp:
45529         * UIProcess/API/mac/PDFViewController.mm:
45530         * UIProcess/PageClient.h:
45531         * UIProcess/WebIconDatabase.cpp:
45532         * UIProcess/WebPageProxy.cpp:
45533         * UIProcess/WebPageProxy.h:
45534         * UIProcess/mac/WKFullScreenWindowController.mm:
45535
45536 2011-06-17  Chang Shu  <cshu@webkit.org>
45537
45538         Reviewed by Anders Carlsson.
45539
45540         [Qt] [WK2] Debug info leaks to stdout from plugins in Qt WebKit2 layout tests
45541         https://bugs.webkit.org/show_bug.cgi?id=61940
45542
45543         Tempararily supress stdout during getPluginInfo during which debug info was leaked out.
45544
45545         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
45546         (WebKit::StdoutRedirect::StdoutRedirect):
45547         (WebKit::StdoutRedirect::~StdoutRedirect):
45548         (WebKit::NetscapePluginModule::getPluginInfo):
45549
45550 2011-06-17  Anders Carlsson  <andersca@apple.com>
45551
45552         Reviewed by Andreas Kling.
45553
45554         Remove WebCore:: qualifier from names in WebPageProxy.
45555
45556         * UIProcess/WebPageProxy.cpp:
45557         (WebKit::WebPageProxy::dragEntered):
45558         (WebKit::WebPageProxy::dragUpdated):
45559         (WebKit::WebPageProxy::dragExited):
45560         (WebKit::WebPageProxy::performDrag):
45561         (WebKit::WebPageProxy::performDragControllerAction):
45562         (WebKit::WebPageProxy::dragEnded):
45563         (WebKit::WebPageProxy::setResizesToContentsUsingLayoutSize):
45564         (WebKit::WebPageProxy::unableToImplementPolicy):
45565         (WebKit::WebPageProxy::didChangeContentsSize):
45566         (WebKit::WebPageProxy::didFindZoomableArea):
45567         (WebKit::WebPageProxy::findZoomableAreaForPoint):
45568         (WebKit::WebPageProxy::setComposition):
45569         (WebKit::WebPageProxy::checkTextOfParagraph):
45570         (WebKit::WebPageProxy::checkGrammarOfString):
45571         (WebKit::WebPageProxy::setCursor):
45572         (WebKit::WebPageProxy::computedPagesCallback):
45573         (WebKit::WebPageProxy::canAuthenticateAgainstProtectionSpaceInFrame):
45574         (WebKit::WebPageProxy::didReceiveAuthenticationChallenge):
45575         (WebKit::WebPageProxy::showCorrectionPanel):
45576         (WebKit::WebPageProxy::dismissCorrectionPanel):
45577         (WebKit::WebPageProxy::dismissCorrectionPanelSoon):
45578         (WebKit::WebPageProxy::recordAutocorrectionResponse):
45579
45580 2011-06-17  Anders Carlsson  <andersca@apple.com>
45581
45582         Reviewed by Darin Adler.
45583
45584         Fix message generator to include headers for all types
45585         https://bugs.webkit.org/show_bug.cgi?id=62870
45586
45587         Previously, if we found an argument coder header for a type, we'd assume
45588         that that header includes the necessary headers for the type.
45589
45590         * Scripts/webkit2/messages.py:
45591         * Scripts/webkit2/messages_unittest.py:
45592
45593 2011-06-17  Chang Shu  <cshu@webkit.org>
45594
45595         Reviewed by Andreas Kling.
45596
45597         [Qt] [WK2] Support undo/redo in MiniBrowser
45598         https://bugs.webkit.org/show_bug.cgi?id=62809
45599
45600         * UIProcess/API/qt/qwkpage.cpp:
45601         (QWKPage::action):
45602         * UIProcess/API/qt/qwkpage.h:
45603
45604 2011-06-17  Carlos Garcia Campos  <cgarcia@igalia.com>
45605
45606         Unreviewed. Fix WebKit2 GTK build after r89060.
45607
45608         * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
45609         (CoreIPC::::encode):
45610
45611 2011-06-16  Anders Carlsson  <andersca@apple.com>
45612
45613         Reviewed by Sam Weinig.
45614
45615         Get rid of CoreIPC::In and CoreIPC::Out from some argument coders
45616         https://bugs.webkit.org/show_bug.cgi?id=62832
45617
45618         * Shared/OriginAndDatabases.cpp:
45619         (WebKit::OriginAndDatabases::encode):
45620         (WebKit::OriginAndDatabases::decode):
45621         * Shared/SecurityOriginData.cpp:
45622         (WebKit::SecurityOriginData::encode):
45623         (WebKit::SecurityOriginData::decode):
45624         * Shared/WebKeyboardEvent.cpp:
45625         (WebKit::WebKeyboardEvent::encode):
45626         (WebKit::WebKeyboardEvent::decode):
45627         * Shared/WebOpenPanelParameters.cpp:
45628         (WebKit::WebOpenPanelParameters::Data::encode):
45629         (WebKit::WebOpenPanelParameters::Data::decode):
45630         * Shared/WebPreferencesStore.cpp:
45631         (WebKit::WebPreferencesStore::encode):
45632         (WebKit::WebPreferencesStore::decode):
45633
45634 2011-06-16  Anders Carlsson  <andersca@apple.com>
45635
45636         Reviewed by Sam Weinig.
45637
45638         Cleanup ResourceRequest, ResourceResponse and ResourceError argument coders
45639         https://bugs.webkit.org/show_bug.cgi?id=62803
45640
45641         Get rid of the free encode/decode functions and move the template specializations to their
45642         respective implementation files instead.
45643
45644         * Shared/WebCoreArgumentCoders.h:
45645         * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
45646         (CoreIPC::::encode):
45647         (CoreIPC::::decode):
45648         * Shared/mac/WebCoreArgumentCodersMac.mm:
45649         (CoreIPC::::encode):
45650         (CoreIPC::::decode):
45651         * Shared/qt/WebCoreArgumentCodersQt.cpp:
45652         (CoreIPC::::encode):
45653         (CoreIPC::::decode):
45654         * Shared/win/WebCoreArgumentCodersWin.cpp:
45655         (CoreIPC::::encode):
45656         (CoreIPC::::decode):
45657
45658 2011-06-16  Chang Shu  <cshu@webkit.org>
45659
45660         Reviewed by Sam Weinig.
45661
45662         [Qt] [WK2] Qt WebKit2 needs undo/redo support
45663         https://bugs.webkit.org/show_bug.cgi?id=62637
45664
45665         Implement undo/redo support for document.execCommand().
45666
45667         * UIProcess/API/qt/qwkpage.cpp:
45668         (QWKPagePrivate::QWKPagePrivate):
45669         (QWKPagePrivate::~QWKPagePrivate):
45670         (QWKPagePrivate::registerEditCommand):
45671         (QWKPagePrivate::clearAllEditCommands):
45672         (QWKPagePrivate::canUndoRedo):
45673         (QWKPagePrivate::executeUndoRedo):
45674         * UIProcess/API/qt/qwkpage_p.h:
45675         * UIProcess/qt/WebUndoCommandQt.cpp: Added.
45676         (WebUndoCommandQt::WebUndoCommandQt):
45677         (WebUndoCommandQt::~WebUndoCommandQt):
45678         (WebUndoCommandQt::redo):
45679         (WebUndoCommandQt::undo):
45680         * UIProcess/qt/WebUndoCommandQt.h: Added.
45681         (WebUndoCommandQt::inUndoRedo):
45682         * WebKit2.pro:
45683
45684 2011-06-16  Anders Carlsson  <andersca@apple.com>
45685
45686         Fix build.
45687
45688         * Shared/WebCoreArgumentCoders.cpp:
45689         * Shared/WebCoreArgumentCoders.h:
45690
45691 2011-06-15  Anders Carlsson  <andersca@apple.com>
45692
45693         Reviewed by Sam Weinig.
45694
45695         Move more argument coders to WebCoreArgumentCoders and clean up the animation coders
45696         https://bugs.webkit.org/show_bug.cgi?id=62760
45697
45698         * Shared/WebCoreArgumentCoders.cpp:
45699         (CoreIPC::::encode):
45700         (CoreIPC::::decode):
45701         (CoreIPC::encodeOperation):
45702         (CoreIPC::decodeOperation):
45703         (CoreIPC::encodeBoolAndValue):
45704         (CoreIPC::encodeBoolAndEnumValue):
45705         (CoreIPC::decodeBoolAndValue):
45706         (CoreIPC::decodeBoolAndEnumValue):
45707         * Shared/WebCoreArgumentCoders.h:
45708         * Shared/mac/ArgumentCodersMac.h:
45709         * Shared/mac/ArgumentCodersMac.mm:
45710         * Shared/mac/WebCoreArgumentCodersMac.mm:
45711         (CoreIPC::::encode):
45712         (CoreIPC::::decode):
45713
45714 2011-06-16  Sangyong Park  <sy302.park@gmail.com>
45715
45716         Reviewed by Martin Robinson.
45717
45718         [GTK] Implement ResourceRequest and ResourceResponse encoder/decoder
45719         https://bugs.webkit.org/show_bug.cgi?id=55934
45720
45721         * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
45722         (CoreIPC::encodeResourceRequest):
45723         (CoreIPC::decodeResourceRequest):
45724         (CoreIPC::encodeResourceResponse):
45725         (CoreIPC::decodeResourceResponse):
45726
45727 2011-06-16  Carlos Garcia Campos  <cgarcia@igalia.com>
45728
45729         Reviewed by Xan Lopez.
45730
45731         [GTK] Remove support for GTK+2 in WebKit2
45732         https://bugs.webkit.org/show_bug.cgi?id=62794
45733
45734         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
45735         (webkitWebViewBaseRealize):
45736         (webkitWebViewBaseDraw):
45737         (webkitWebViewBaseQueryTooltip):
45738         (webkit_web_view_base_class_init):
45739         (webkitWebViewBaseSetTooltipText):
45740         * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
45741         (WebKit::WebContextMenuProxyGtk::menuPositionFunction):
45742         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
45743         (WebKit::moduleMixesGtkSymbols):
45744
45745 2011-06-15  Adam Barth  <abarth@webkit.org>
45746
45747         Reviewed by Eric Seidel.
45748
45749         Remove ScriptController::setAllowPopupsFromPlugin
45750         https://bugs.webkit.org/show_bug.cgi?id=62706
45751
45752         * WebProcess/Plugins/PluginView.cpp:
45753         (WebKit::PluginView::performJavaScriptURLRequest):
45754         (WebKit::PluginView::evaluate):
45755
45756 2011-06-15  Ryuan Choi  <ryuan.choi@samsung.com>
45757
45758         Rubber stamped by Eric Seidel.
45759
45760         [CMAKE][WK2] Add an option to build webkit2.
45761         https://bugs.webkit.org/show_bug.cgi?id=62260
45762
45763         Add script to build WebKit2 using CMake.
45764
45765         * CMakeLists.txt: Added.
45766
45767 2011-06-15  John Sullivan  <sullivan@apple.com>
45768
45769         Reviewed by Sam Weinig.
45770
45771         WKSecurityOriginGetProtocol and WKSecurityOriginGetHost are named wrong because they return copied strings
45772         <https://bugs.webkit.org/show_bug.cgi?id=62763>
45773         <rdar://problem/9618071>
45774
45775         * Shared/API/c/WKSecurityOrigin.cpp:
45776         (WKSecurityOriginCopyProtocol):
45777         Renamed to use "Copy" instead of "Get" because it returns a copy.
45778         (WKSecurityOriginCopyHost):
45779         Ditto.
45780
45781         * Shared/API/c/WKSecurityOrigin.h:
45782         Updated declarations.
45783
45784 2011-06-14  Jon Honeycutt  <jhoneycutt@apple.com>
45785
45786         REGRESSION(78201): Windowless Flash plug-ins are transparent on some sites
45787         https://bugs.webkit.org/show_bug.cgi?id=62690
45788         <rdar://problem/9512026>
45789
45790         Reviewed by Ada Chan.
45791
45792         The bug arises when mixing CoreGraphics and GDI. When we create a Windows
45793         bitmap for a windowless plug-in to draw into, we first fill it with "clear",
45794         or all 0s. If the plug-in uses GDI to draw, the GDI calls will ignore the
45795         alpha channel, and if we then use CG to blend this bitmap onto the
45796         GraphicsContext for the rest of the page, CG will treat the 0-filled
45797         alpha channel as being transparent.
45798
45799         To fix this, on Windows, use a GDI-backed GraphicsContext to paint the
45800         page in the WebProcess, and use GDI to blit from the UpdateInfo to the
45801         backing store in the UI process.
45802
45803         * Platform/SharedMemory.h:
45804         (WebKit::SharedMemory::handle):
45805         Return the handle for the memory.
45806
45807         * Shared/ShareableBitmap.h:
45808         Declared windowsContext() to return a HDC with the bitmap selected into it.
45809         Added members to store the HDC and the HBITMAP.
45810
45811         * Shared/win/ShareableBitmapWin.cpp: Added.
45812         (WebKit::ShareableBitmap::windowsContext):
45813         Get the screen DC, and create a compatible DC from it. Create a DIB
45814         section backed by the shared memory, select it into the context, and
45815         return it.
45816
45817         * UIProcess/win/BackingStoreWin.cpp:
45818         (WebKit::BackingStore::incorporateUpdate):
45819         Use GDI to blit from the update info's bitmap into the backing store bitmap.
45820
45821         * WebProcess/WebPage/DrawingAreaImpl.cpp:
45822         (WebKit::DrawingAreaImpl::createGraphicsContext):
45823         Return a GraphicsContext from the ShareableBitmap.
45824         (WebKit::DrawingAreaImpl::display):
45825         Call createGraphicsContext(), and pass the ShareableBitmap.
45826
45827         * WebProcess/WebPage/DrawingAreaImpl.h:
45828         Declare createGraphicsContext(), which on Windows will create a GDI-backed
45829         GraphicsContext.
45830
45831         * WebProcess/WebPage/win/DrawingAreaImplWin.cpp: Added.
45832         (WebKit::DrawingAreaImpl::createGraphicsContext):
45833         Get a Windows context for the bitmap, and create and return a new
45834         GraphicsContext using the DC.
45835
45836         * win/WebKit2.vcproj:
45837         Added new files.
45838
45839 2011-06-15  Anders Carlsson  <andersca@apple.com>
45840
45841         Reviewed by Sam Weinig.
45842
45843         Move more argument coders to WebCoreArgumentCoders.cpp
45844         https://bugs.webkit.org/show_bug.cgi?id=62755
45845
45846         * Shared/WebCoreArgumentCoders.cpp:
45847         (CoreIPC::::decode):
45848         (CoreIPC::::encode):
45849         (CoreIPC::encodeImage):
45850         (CoreIPC::decodeImage):
45851         * Shared/WebCoreArgumentCoders.h:
45852
45853 2011-06-15  Anders Carlsson  <andersca@apple.com>
45854
45855         Reviewed by Darin Adler.
45856
45857         Add ShareableBitmap::createImage and get rid of WebCoreArgumentCodersCG.cpp
45858         https://bugs.webkit.org/show_bug.cgi?id=62742
45859
45860         * Shared/ShareableBitmap.h:
45861         Move createImage out of the #if PLATFORM(QT) section.
45862
45863         * Shared/WebCoreArgumentCoders.cpp:
45864         (CoreIPC::decodeImage):
45865         Call ShareableBitmap::createImage.
45866
45867         * Shared/WebCoreArgumentCoders.h:
45868         remove createImage function declaration.
45869
45870         * Shared/cairo/ShareableBitmapCairo.cpp:
45871         (WebKit::ShareableBitmap::createImage):
45872         Add implementation.
45873
45874         * Shared/cg/ShareableBitmapCG.cpp:
45875         (WebKit::ShareableBitmap::createGraphicsContext):
45876         (WebKit::ShareableBitmap::createImage):
45877         Move createImage implementation from WebCoreArgumentCodersCG.cpp here.
45878
45879         * WebKit2.xcodeproj/project.pbxproj:
45880         * win/WebKit2.vcproj:
45881         Update projects.
45882
45883 2011-06-15  Anders Carlsson  <andersca@apple.com>
45884
45885         Reviewed by Alexey Proskuryakov.
45886
45887         Move some argument coders to WebCoreArgumentCoders.cpp
45888         https://bugs.webkit.org/show_bug.cgi?id=62739
45889
45890         * GNUmakefile.am:
45891         * Shared/WebCoreArgumentCoders.cpp:
45892         (CoreIPC::::encode):
45893         (CoreIPC::::decode):
45894         * Shared/WebCoreArgumentCoders.h:
45895         * WebKit2.pro:
45896
45897 2011-06-15  Anders Carlsson  <andersca@apple.com>
45898
45899         Reviewed by Sam Weinig.
45900
45901         Fix possible null dereference in webSecKeychainItemCreateFromContentOnMainThread
45902         https://bugs.webkit.org/show_bug.cgi?id=62736
45903         <rdar://problem/9601595>
45904
45905         * WebProcess/mac/KeychainItemShimMethods.mm:
45906         (WebKit::webSecKeychainItemCreateFromContentOnMainThread):
45907         SecKeychainItemCreateFromContent can potentially return a null keychain item, so add a null check before trying to retain it.
45908
45909 2011-06-15  Anders Carlsson  <andersca@apple.com>
45910
45911         Reviewed by Dan Bernstein.
45912
45913         Ignore responsiveness timer callbacks on closed pages
45914         https://bugs.webkit.org/show_bug.cgi?id=62735
45915         <rdar://problem/9511295>
45916
45917         * UIProcess/WebPageProxy.cpp:
45918         (WebKit::WebPageProxy::close):
45919         Use nullptr instead of clear.
45920
45921         (WebKit::WebPageProxy::processDidBecomeUnresponsive):
45922         Return early if the page isn't valid.
45923
45924         (WebKit::WebPageProxy::processDidBecomeResponsive):
45925         Ditto.
45926
45927         (WebKit::WebPageProxy::updateBackingStoreDiscardableState):
45928         Assert that the page is valid.
45929
45930 2011-06-15  Sheriff Bot  <webkit.review.bot@gmail.com>
45931
45932         Unreviewed, rolling out r88907.
45933         http://trac.webkit.org/changeset/88907
45934         https://bugs.webkit.org/show_bug.cgi?id=62732
45935
45936         See comment #15 by Nikolas Zimmermann on bug 62527 regarding
45937         the deprecation of makeString() (Requested by acidx on
45938         #webkit).
45939
45940         * UIProcess/efl/WebPageProxyEfl.cpp:
45941         (WebKit::WebPageProxy::standardUserAgent):
45942
45943 2011-06-15  Csaba Osztrogonác  <ossy@webkit.org>
45944
45945         [Qt][WK2] Unreviewed rolling out r88799, because it made web process crash.
45946
45947         * Scripts/webkit2/messages.py:
45948         * Shared/LayerTreeContext.h:
45949         * Shared/qt/LayerTreeContextQt.cpp:
45950         (WebKit::LayerTreeContext::LayerTreeContext):
45951         (WebKit::LayerTreeContext::~LayerTreeContext):
45952         (WebKit::LayerTreeContext::encode):
45953         (WebKit::LayerTreeContext::decode):
45954         (WebKit::LayerTreeContext::isEmpty):
45955         (WebKit::operator==):
45956         * UIProcess/DrawingAreaProxy.h:
45957         * UIProcess/DrawingAreaProxy.messages.in:
45958         * WebKit2.pro:
45959         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
45960         (WebCore::collectCompositingInfoForThisLayer):
45961         * WebProcess/WebPage/LayerTreeHost.cpp:
45962         (WebKit::LayerTreeHost::create):
45963         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
45964         * WebProcess/WebPage/qt/LayerTreeHostQt.h: Removed.
45965
45966 2011-06-14  Eunmi Lee  <eunmi15.lee@samsung.com>
45967
45968         Reviewed by Sam Weinig.
45969
45970         [EFL][WK2] Change string operation to makeString()
45971         https://bugs.webkit.org/show_bug.cgi?id=62527
45972
45973         Use makeString() because it is better than creating individual strings and concatenating them.
45974
45975         * UIProcess/efl/WebPageProxyEfl.cpp:
45976         (WebKit::WebPageProxy::standardUserAgent):
45977
45978 2011-06-14  Sam Weinig  <sam@webkit.org>
45979
45980         Reviewed by Simon Fraser.
45981
45982         Follow up for Callers should be robust against WebImage::create() returning an image with a null snapshot
45983         https://bugs.webkit.org/show_bug.cgi?id=62666
45984
45985         * Shared/API/c/cg/WKImageCG.cpp:
45986         (WKImageCreateCGImage):
45987         (WKImageCreateFromCGImage):
45988         Don't null check the arguments (as per our API design) or the direct result of WebImage::create.
45989
45990         * Shared/UserMessageCoders.h:
45991         (WebKit::UserMessageEncoder::baseEncode):
45992         Remove redundant check and make not being able to create a handle the same
45993         as not being backed by shareable memory.
45994
45995 2011-06-14  John Sullivan  <sullivan@apple.com>
45996
45997         Reviewed by Ada Chan.
45998
45999         <https://bugs.webkit.org/show_bug.cgi?id=62693>
46000         <rdar://problem/9601436>
46001         windowsKeyCodeForKeyEvent should be robust against NSFlagsChanged events
46002
46003         * Shared/mac/WebEventFactory.mm:
46004         (WebKit::windowsKeyCodeForKeyEvent):
46005         Explicitly check for NSFlagsChanged before calling -charactersIgnoringModifiers, since
46006         charactersIgnoringModifiers throws an exception for NSFlagsChanged events.
46007
46008 2011-06-14  Anders Carlsson  <andersca@apple.com>
46009
46010         Reviewed by Sam Weinig.
46011
46012         Use new byte array encoding/decoding functions for WTF argument coders
46013         https://bugs.webkit.org/show_bug.cgi?id=62682
46014
46015         * Platform/CoreIPC/ArgumentCoders.cpp:
46016         (CoreIPC::::encode):
46017         (CoreIPC::::decode):
46018         Use the new functions for the string argument coders.
46019         
46020         * Platform/CoreIPC/ArgumentCoders.h:
46021         (CoreIPC::SimpleArgumentCoder::encode):
46022         (CoreIPC::SimpleArgumentCoder::decode):
46023         Use the new functions to avoid encoding/decoding the size when it's known at decode time.
46024
46025         * Platform/CoreIPC/ArgumentDecoder.cpp:
46026         (CoreIPC::roundUpToAlignment):
46027         Assert that the alignment is a power of 2.
46028
46029         (CoreIPC::decodeFixedLengthData):
46030         Alignment comes before the size.
46031
46032         * UIProcess/cf/WebBackForwardListCF.cpp:
46033         (WebKit::WebBackForwardList::createCFDictionaryRepresentation):
46034         Add a FIXME about now using the internal CoreIPC encoding format here.
46035
46036         * UIProcess/cf/WebPageProxyCF.cpp:
46037         Bump the current session state data version number.
46038
46039 2011-06-14  No'am Rosenthal  <noam.rosenthal@nokia.com>
46040
46041         Reviewed by Kenneth Rohde Christiansen.
46042
46043         [Qt] Implement accelerated compositing on WK2 Qt port
46044         https://bugs.webkit.org/show_bug.cgi?id=56935
46045
46046         Expose viewportVisibleRect(), so that we can detect which parts of a texture actually
46047         need to be uploaded.
46048
46049         Together with Viatcheslav Ostapenko.
46050
46051         * UIProcess/API/qt/qwkpage.cpp:
46052         (QWKPagePrivate::viewportVisibleRect):
46053         * UIProcess/API/qt/qwkpage_p.h:
46054         * UIProcess/PageClient.h:
46055         * UIProcess/WebPageProxy.h:
46056         * UIProcess/qt/WebPageProxyQt.cpp:
46057         (WebKit::WebPageProxy::viewportVisibleRect):
46058
46059 2011-06-14  Anders Carlsson  <andersca@apple.com>
46060
46061         Reviewed by Sam Weinig.
46062
46063         Start using the new encode/decode functions
46064         https://bugs.webkit.org/show_bug.cgi?id=62676
46065
46066         * Platform/CoreIPC/DataReference.cpp:
46067         (CoreIPC::DataReference::encode):
46068         Use encodeVariableLengthByteArray.
46069
46070         * Shared/UserMessageCoders.h:
46071         (WebKit::UserMessageEncoder::baseEncode):
46072         Use encodeVariableLengthByteArray and the new dataReference accessors.
46073
46074         (WebKit::UserMessageDecoder::baseDecode):
46075         Use decodeVariableLengthByteArray.
46076  
46077         * Shared/WebData.h:
46078         (WebKit::WebData::dataReference):
46079         Return a reference to the data.
46080
46081         * Shared/WebSerializedScriptValue.h:
46082         (WebKit::WebSerializedScriptValue::dataReference):
46083         Ditto.
46084
46085         * Shared/cf/ArgumentCodersCF.cpp:
46086         (CoreIPC::encode):
46087         Use encodeVariableLengthByteArray.
46088
46089         * Shared/mac/SandboxExtensionMac.mm:
46090         (WebKit::SandboxExtension::Handle::encode):
46091         Use encodeVariableLengthByteArray.
46092
46093         * WebProcess/WebPage/DecoderAdapter.cpp:
46094         (WebKit::DecoderAdapter::decodeBytes):
46095         Use decodeVariableLengthByteArray.
46096
46097         * WebProcess/WebPage/EncoderAdapter.cpp:
46098         (WebKit::EncoderAdapter::dataReference):
46099         Rename data() to dataReference() to indicate that it returns a reference to the data.
46100
46101         (WebKit::EncoderAdapter::encodeBytes):
46102         Use encodeVariableLengthByteArray.
46103
46104 2011-06-14  Anders Carlsson  <andersca@apple.com>
46105
46106         Reviewed by Sam Weinig.
46107
46108         Add encodeVariableLengthByteArray and decodeVariableLengthByteArray
46109         https://bugs.webkit.org/show_bug.cgi?id=62674
46110
46111         Rename the ArgumentDecoder::decodeBytes overload that takes a DataReference to
46112         decodeVariableLengthByteArray, to match the added encodeVariableLengthByteArray.
46113
46114         * Platform/CoreIPC/ArgumentDecoder.cpp:
46115         (CoreIPC::ArgumentDecoder::decodeVariableLengthByteArray):
46116         * Platform/CoreIPC/ArgumentDecoder.h:
46117         * Platform/CoreIPC/ArgumentEncoder.cpp:
46118         (CoreIPC::ArgumentEncoder::encodeFixedLengthData):
46119         (CoreIPC::ArgumentEncoder::encodeVariableLengthByteArray):
46120         * Platform/CoreIPC/ArgumentEncoder.h:
46121         * Platform/CoreIPC/DataReference.cpp:
46122         (CoreIPC::DataReference::decode):
46123         * Shared/mac/SandboxExtensionMac.mm:
46124         (WebKit::SandboxExtension::Handle::decode):
46125
46126 2011-06-14  Anders Carlsson  <andersca@apple.com>
46127
46128         Reviewed by Sam Weinig.
46129
46130         Add functions for converting between DataReferences and vectors
46131         https://bugs.webkit.org/show_bug.cgi?id=62671
46132
46133         * Platform/CoreIPC/DataReference.h:
46134         (CoreIPC::DataReference::DataReference):
46135         New implicit constructor that takes a vector.
46136
46137         (CoreIPC::DataReference::vector):
46138         New function that returns a new vector.
46139
46140         * Shared/WebBackForwardListItem.cpp:
46141         (WebKit::WebBackForwardListItem::encode):
46142         Use implicit constructor.
46143
46144         * WebProcess/WebPage/WebPage.cpp:
46145         (WebKit::WebPage::runJavaScriptInMainFrame):
46146         Ditto.
46147
46148 2011-06-14  John Sullivan  <sullivan@apple.com>
46149
46150         Reviewed by Dan Bernstein.
46151
46152         <https://bugs.webkit.org/show_bug.cgi?id=62666>
46153         <rdar://problem/9606676>
46154         Callers should be robust against WebImage::create() returning an image with a null snapshot
46155
46156         * Shared/API/c/cg/WKImageCG.cpp:
46157         (WKImageCreateCGImage):
46158         Return 0 if no bitmap was created.
46159         (WKImageCreateFromCGImage):
46160         Ditto.
46161         
46162         * Shared/UserMessageCoders.h:
46163         (WebKit::UserMessageEncoder::baseEncode):
46164         Check for null before dereferencing image->bitmap() in two places.
46165         
46166         * WebProcess/WebPage/WebPage.cpp:
46167         (WebKit::WebPage::snapshotInViewCoordinates):
46168         Return 0 if no bitmap was created.
46169         (WebKit::WebPage::scaledSnapshotInDocumentCoordinates):
46170         Ditto.
46171         (WebKit::WebPage::createSnapshotOfVisibleContent):
46172         Bail out if no bitmap was created.
46173
46174 2011-06-14  Anders Carlsson  <andersca@apple.com>
46175
46176         Reviewed by Darin Adler.
46177
46178         Add functions for encoding/decoding data with a known size and alignment
46179         https://bugs.webkit.org/show_bug.cgi?id=62663
46180
46181         * Platform/CoreIPC/ArgumentDecoder.cpp:
46182         (CoreIPC::ArgumentDecoder::decodeFixedLengthData):
46183         * Platform/CoreIPC/ArgumentDecoder.h:
46184         * Platform/CoreIPC/ArgumentEncoder.cpp:
46185         (CoreIPC::ArgumentEncoder::encodeFixedLengthData):
46186         (CoreIPC::ArgumentEncoder::encodeVariableLengthData):
46187         * Platform/CoreIPC/ArgumentEncoder.h:
46188
46189 2011-06-14  Anders Carlsson  <andersca@apple.com>
46190
46191         Reviewed by Sam Weinig.
46192
46193         Move string ArgumentCoder template specializations out into a .cpp file
46194         https://bugs.webkit.org/show_bug.cgi?id=62660
46195
46196         * GNUmakefile.am:
46197         * Platform/CoreIPC/ArgumentCoders.cpp: Added.
46198         (CoreIPC::::encode):
46199         (CoreIPC::::decode):
46200         * Platform/CoreIPC/ArgumentCoders.h:
46201         * WebKit2.pro:
46202         * WebKit2.xcodeproj/project.pbxproj:
46203         * win/WebKit2.vcproj:
46204
46205 2011-06-14  Anders Carlsson  <andersca@apple.com>
46206
46207         Reviewed by Sam Weinig.
46208
46209         Remove PluginInfoStore::Plugin typedef
46210         https://bugs.webkit.org/show_bug.cgi?id=62657
46211
46212         * UIProcess/Plugins/PluginInfoStore.h:
46213         * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
46214         (WebKit::PluginInfoStore::getPluginInfo):
46215         (WebKit::PluginInfoStore::shouldUsePlugin):
46216
46217 2011-06-14  Anders Carlsson  <andersca@apple.com>
46218
46219         Reviewed by Sam Weinig.
46220
46221         Create the PluginModuleInfo class and reverse the typedef so that PluginInfoStore::Plugin is now a typedef
46222         https://bugs.webkit.org/show_bug.cgi?id=62654
46223
46224         * UIProcess/Plugins/PluginInfoStore.cpp:
46225         (WebKit::PluginInfoStore::loadPluginsIfNecessary):
46226         (WebKit::PluginInfoStore::loadPlugin):
46227         (WebKit::PluginInfoStore::findPluginForMIMEType):
46228         (WebKit::PluginInfoStore::findPluginForExtension):
46229         (WebKit::PluginInfoStore::findPlugin):
46230         (WebKit::PluginInfoStore::infoForPluginWithPath):
46231         * UIProcess/Plugins/PluginInfoStore.h:
46232         * UIProcess/Plugins/PluginProcessManager.cpp:
46233         (WebKit::PluginProcessManager::getPluginProcessConnection):
46234         * UIProcess/Plugins/PluginProcessProxy.cpp:
46235         (WebKit::PluginProcessProxy::PluginProcessProxy):
46236         * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
46237         (WebKit::WebPluginSiteDataManager::getSitesWithData):
46238         (WebKit::WebPluginSiteDataManager::clearSiteData):
46239         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
46240         (WebKit::PluginInfoStore::getPluginInfo):
46241         (WebKit::PluginInfoStore::shouldUsePlugin):
46242         * UIProcess/Plugins/unix/PluginInfoStoreUnix.cpp:
46243         (WebKit::PluginInfoStore::getPluginInfo):
46244         (WebKit::PluginInfoStore::shouldUsePlugin):
46245         * UIProcess/Plugins/win/PluginInfoStoreWin.cpp:
46246         (WebKit::isOldWindowsMediaPlayerPlugin):
46247         (WebKit::isNewWindowsMediaPlayerPlugin):
46248         (WebKit::PluginInfoStore::shouldUsePlugin):
46249
46250 2011-06-14  Stephanie Lewis  <slewis@apple.com>
46251
46252         Rubber stamped by Oliver Hunt.
46253
46254         <rdar://problem/9511169>
46255         Update order files.
46256
46257         * mac/WebKit2.order:
46258
46259 2011-06-14  Anders Carlsson  <andersca@apple.com>
46260
46261         Reviewed by Dan Bernstein.
46262
46263         Start replacing PluginInfoStore::Plugin with PluginModuleInfo
46264         https://bugs.webkit.org/show_bug.cgi?id=62651
46265
46266         * UIProcess/Plugins/PluginInfoStore.cpp:
46267         (WebKit::PluginInfoStore::plugins):
46268         (WebKit::PluginInfoStore::findPluginForMIMEType):
46269         (WebKit::PluginInfoStore::findPluginForExtension):
46270         (WebKit::PluginInfoStore::infoForPluginWithPath):
46271         * UIProcess/Plugins/PluginInfoStore.h:
46272         * UIProcess/Plugins/PluginProcessManager.cpp:
46273         (WebKit::PluginProcessManager::getPluginProcessConnection):
46274         (WebKit::PluginProcessManager::getSitesWithData):
46275         (WebKit::PluginProcessManager::clearSiteData):
46276         (WebKit::PluginProcessManager::getOrCreatePluginProcess):
46277         * UIProcess/Plugins/PluginProcessManager.h:
46278         * UIProcess/Plugins/PluginProcessProxy.cpp:
46279         (WebKit::PluginProcessProxy::create):
46280         * UIProcess/Plugins/PluginProcessProxy.h:
46281         (WebKit::PluginProcessProxy::pluginInfo):
46282         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
46283         (WebKit::PluginProcessProxy::pluginNeedsExecutableHeap):
46284         (WebKit::PluginProcessProxy::createPropertyListFile):
46285
46286 2011-06-14  Anders Carlsson  <andersca@apple.com>
46287
46288         Reviewed by Darin Adler.
46289
46290         Add PluginModuleInfo header and prepare for renaming of PluginInfoStore::Plugin to PluginModuleInfo
46291         https://bugs.webkit.org/show_bug.cgi?id=62647
46292
46293         Make PluginModuleInfo a typedef of PluginInfoStore::Plugin for now; eventually it should be its own class,
46294         and PluginInfoStore::Plugin should go away.
46295
46296         * GNUmakefile.am:
46297         * Shared/Plugins/Netscape/NetscapePluginModule.h:
46298         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
46299         (WebKit::getPluginArchitecture):
46300         (WebKit::getMIMETypesFromPluginBundle):
46301         (WebKit::getPluginInfoFromPropertyLists):
46302         (WebKit::getPluginInfoFromCarbonResources):
46303         (WebKit::NetscapePluginModule::getPluginInfo):
46304         (WebKit::NetscapePluginModule::determineQuirks):
46305         * Shared/Plugins/PluginModuleInfo.cpp: Added.
46306         * Shared/Plugins/PluginModuleInfo.h: Added.
46307         * WebKit2.pro:
46308         * WebKit2.xcodeproj/project.pbxproj:
46309         * win/WebKit2.vcproj:
46310
46311 2011-06-14  Carlos Garcia Campos  <cgarcia@igalia.com>
46312
46313         Reviewed by Martin Robinson.
46314
46315         [GTK] Move the code to show the context menu from WebKitWebViewBase to WebContextMenuProxyGtk
46316         https://bugs.webkit.org/show_bug.cgi?id=62627
46317
46318         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
46319         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
46320         * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
46321         (WebKit::WebContextMenuProxyGtk::showContextMenu):
46322         (WebKit::WebContextMenuProxyGtk::hideContextMenu):
46323         (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk):
46324         (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk):
46325         (WebKit::WebContextMenuProxyGtk::menuPositionFunction):
46326         * UIProcess/gtk/WebContextMenuProxyGtk.h:
46327
46328 2011-06-14  Carlos Garcia Campos  <cgarcia@igalia.com>
46329
46330         Reviewed by Martin Robinson.
46331
46332         [GTK] Rename convertWidgetRectToScreenRect() to convertWidgetPointToScreenPoint()
46333         https://bugs.webkit.org/show_bug.cgi?id=62626
46334
46335         * UIProcess/API/gtk/PageClientImpl.cpp:
46336         (WebKit::PageClientImpl::screenToWindow): Implement this method
46337         using convertWidgetPointToScreenPoint().
46338         (WebKit::PageClientImpl::windowToScreen): Update to use
46339         convertWidgetPointToScreenPoint().
46340         * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
46341         (WebKit::WebPopupMenuProxyGtk::showPopupMenu): Use
46342         convertWidgetPointToScreenPoint().
46343
46344 2011-06-14  Carlos Garcia Campos  <cgarcia@igalia.com>
46345
46346         Reviewed by Martin Robinson.
46347
46348         [GTK] Support authentication dialogs in WebKit2
46349         https://bugs.webkit.org/show_bug.cgi?id=62366
46350
46351         Add a new soup feature to show an authentication dialog when it
46352         gets a 401 HTTP response.
46353
46354         * GNUmakefile.am: Add new files to compilation.
46355         * WebProcess/gtk/WebAuthDialog.cpp: Added.
46356         (web_auth_dialog_class_init):
46357         (web_auth_dialog_init):
46358         (sessionAuthenticate):
46359         (attach):
46360         (detach):
46361         (webAuthDialogSessionFeatureInit):
46362         * WebProcess/gtk/WebAuthDialog.h: Added.
46363         * WebProcess/gtk/WebProcessMainGtk.cpp:
46364         (WebKit::WebProcessMainGtk):
46365
46366 2011-06-14  No'am Rosenthal  <noam.rosenthal@nokia.com> and Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
46367
46368         Reviewed by Kenneth Rohde Christiansen.
46369
46370         [Qt] Implement accelerated compositing on WK2 Qt port
46371         https://bugs.webkit.org/show_bug.cgi?id=56935
46372
46373         Implementing LayerTreeHost and LayerTreeContext and LayerTreeHost for Qt.
46374         Add the necessary plumbing to make the LayerTreeHost work with Qt, based on the original Mac
46375         implementation (the code is nearly identical). This includes creating the right layers for the
46376         overlay and for the non-composited content, and passing the root layer to the UI process.
46377
46378         Also, since LayerTreeHostQt is compiled, we have to add some of the rest of the existing patches,
46379         namely the new messages: syncCompositingLayers and updateCompositingLayerContent, and create a
46380         stub implementation for them in DrawingAreaProxy.
46381
46382         Note that this is not activated yet, until we enable accelerated compositing in the settings and
46383         create the right GraphicsLayer.
46384
46385         * Scripts/webkit2/messages.py:
46386         * Shared/LayerTreeContext.h:
46387         * Shared/qt/LayerTreeContextQt.cpp:
46388         (WebKit::LayerTreeContext::LayerTreeContext):
46389         (WebKit::LayerTreeContext::~LayerTreeContext):
46390         (WebKit::LayerTreeContext::encode):
46391         (WebKit::LayerTreeContext::decode):
46392         (WebKit::LayerTreeContext::isEmpty):
46393         (WebKit::operator==):
46394         * UIProcess/DrawingAreaProxy.h:
46395         (WebKit::DrawingAreaProxy::syncCompositingLayers):
46396         (WebKit::DrawingAreaProxy::updateCompositingLayerContent):
46397         * UIProcess/DrawingAreaProxy.messages.in:
46398         * WebKit2.pro:
46399         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
46400         (WebCore::collectCompositingInfoForThisLayer):
46401         * WebProcess/WebPage/LayerTreeHost.cpp:
46402         (WebKit::LayerTreeHost::create):
46403         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
46404         (WebKit::LayerTreeHostQt::create):
46405         (WebKit::LayerTreeHostQt::~LayerTreeHostQt):
46406         (WebKit::LayerTreeHostQt::LayerTreeHostQt):
46407         (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled):
46408         (WebKit::LayerTreeHostQt::scheduleLayerFlush):
46409         (WebKit::LayerTreeHostQt::cancelPendingLayerFlush):
46410         (WebKit::LayerTreeHostQt::setShouldNotifyAfterNextScheduledLayerFlush):
46411         (WebKit::LayerTreeHostQt::setRootCompositingLayer):
46412         (WebKit::LayerTreeHostQt::invalidate):
46413         (WebKit::LayerTreeHostQt::setNonCompositedContentsNeedDisplay):
46414         (WebKit::LayerTreeHostQt::scrollNonCompositedContents):
46415         (WebKit::LayerTreeHostQt::forceRepaint):
46416         (WebKit::LayerTreeHostQt::sizeDidChange):
46417         (WebKit::LayerTreeHostQt::didInstallPageOverlay):
46418         (WebKit::LayerTreeHostQt::didUninstallPageOverlay):
46419         (WebKit::LayerTreeHostQt::setPageOverlayNeedsDisplay):
46420         (WebKit::LayerTreeHostQt::flushPendingLayerChanges):
46421         (WebKit::LayerTreeHostQt::performScheduledLayerFlush):
46422         (WebKit::LayerTreeHostQt::layerFlushTimerFired):
46423         (WebKit::LayerTreeHostQt::createPageOverlayLayer):
46424         (WebKit::LayerTreeHostQt::destroyPageOverlayLayer):
46425         (WebKit::LayerTreeHostQt::notifyAnimationStarted):
46426         (WebKit::LayerTreeHostQt::notifySyncRequired):
46427         (WebKit::LayerTreeHostQt::paintContents):
46428         (WebKit::LayerTreeHostQt::showDebugBorders):
46429         (WebKit::LayerTreeHostQt::showRepaintCounter):
46430         (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
46431         * WebProcess/WebPage/qt/LayerTreeHostQt.h: Added.
46432         (WebKit::LayerTreeHostQt::layerTreeContext):
46433         (WebKit::LayerTreeHostQt::pauseRendering):
46434         (WebKit::LayerTreeHostQt::resumeRendering):
46435
46436 2011-06-14  Noam Rosenthal  <noam.rosenthal@nokia.com>
46437
46438         Reviewed by Kenneth Rohde Christiansen.
46439
46440         [Qt] Implement accelerated compositing on WK2 Qt port
46441         https://bugs.webkit.org/show_bug.cgi?id=56935
46442
46443         Add a createImage() function to ShareableBitmap, for now ifdef'ed to Qt only.
46444         This allows us to support directly composited images across the WebKit2 processes.
46445
46446         Together with Viatcheslav Ostapenko.
46447
46448         * Shared/ShareableBitmap.h:
46449         * Shared/qt/ShareableBitmapQt.cpp:
46450         (WebKit::ShareableBitmap::createQImage):
46451         (WebKit::ShareableBitmap::createImage):
46452
46453 2011-06-13  Anders Carlsson  <andersca@apple.com>
46454
46455         Reviewed by Sam Weinig.
46456
46457         Crash when trying to use Netflix Watch Instantly with Silverlight 3
46458         https://bugs.webkit.org/show_bug.cgi?id=62611
46459         <rdar://problem/9058370>
46460
46461         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
46462         (WebKit::NetscapePluginModule::getPluginInfo):
46463         Get the plug-in version string instead of the version number.
46464
46465         (WebKit::PluginVersion::isValid):
46466         (WebKit::PluginVersion::PluginVersion):
46467         (WebKit::PluginVersion::parse):
46468         (WebKit::PluginVersion::isLessThan):
46469         Add a new PluginVersion class that represents a plug-in version. The idea is
46470         that this class be made cross platform.
46471
46472         (WebKit::NetscapePluginModule::determineQuirks):
46473         Add the ReturnsNonRetainedScriptableNPObject quirk for versions of Silverlight less than 4.
46474
46475         * Shared/Plugins/PluginQuirks.h:
46476         Add the ReturnsNonRetainedScriptableNPObject quirk.
46477
46478         * UIProcess/Plugins/PluginInfoStore.h:
46479         Use a version string. Eventually this should hold the PluginVersion class we added.
46480
46481         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
46482         (WebKit::NetscapePlugin::pluginScriptableNPObject):
46483         If the plug-in has the ReturnsNonRetainedScriptableNPObject quirk, do an extra retain.
46484
46485 2011-06-13  Ryuan Choi  <ryuan.choi@samsung.com>
46486
46487         Reviewed by Kenneth Rohde Christiansen.
46488
46489         [EFL][WK2] Add dummy files at below of WebProcess.
46490         https://bugs.webkit.org/show_bug.cgi?id=62445
46491
46492         Add Efl related directory and files in WebKit2/WebProcess/.
46493
46494         * WebProcess/Cookies/efl/WebCookieManagerEfl.cpp: Added.
46495         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
46496         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
46497         * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp: Added.
46498         (WebKit::InjectedBundle::load):
46499         (WebKit::InjectedBundle::activateMacFontAscentHack):
46500         * WebProcess/WebPage/efl/WebInspectorEfl.cpp: Added.
46501         (WebKit::WebInspector::localizedStringsURL):
46502         * WebProcess/WebPage/efl/WebPageEfl.cpp: Added.
46503         (WebKit::WebPage::platformInitialize):
46504         (WebKit::WebPage::platformPreferencesDidChange):
46505         (WebKit::scroll):
46506         (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
46507         (WebKit::WebPage::platformHasLocalDataForURL):
46508         (WebKit::WebPage::cachedResponseMIMETypeForURL):
46509         (WebKit::WebPage::platformCanHandleRequest):
46510         (WebKit::WebPage::cachedSuggestedFilenameForURL):
46511         (WebKit::WebPage::cachedResponseDataForURL):
46512         * WebProcess/efl/WebProcessEfl.cpp: Added.
46513         (WebKit::WebProcess::platformSetCacheModel):
46514         (WebKit::WebProcess::platformClearResourceCaches):
46515         (WebKit::WebProcess::platformInitializeWebProcess):
46516         (WebKit::WebProcess::platformTerminate):
46517         * WebProcess/efl/WebProcessMainEfl.cpp: Added.
46518         (WebKit::WebProcessMainEfl):
46519         * WebProcess/efl/WebProcessMainEfl.h: Added.
46520         * efl/MainEfl.cpp: Added.
46521         (main):
46522
46523 2011-06-13  Eunmi Lee  <eunmi15.lee@samsung.com>
46524
46525         Reviewed by Eric Seidel.
46526
46527         [EFL][WK2] Add initial WebInspectorEfl.cpp for webkit2 efl port
46528         https://bugs.webkit.org/show_bug.cgi?id=62524
46529
46530         * UIProcess/efl/WebInspectorEfl.cpp: Added.
46531         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
46532         (WebKit::WebInspectorProxy::platformOpen):
46533         (WebKit::WebInspectorProxy::platformDidClose):
46534         (WebKit::WebInspectorProxy::platformBringToFront):
46535         (WebKit::WebInspectorProxy::platformInspectedURLChanged):
46536         (WebKit::WebInspectorProxy::inspectorPageURL):
46537         (WebKit::WebInspectorProxy::platformAttach):
46538         (WebKit::WebInspectorProxy::platformDetach):
46539         (WebKit::WebInspectorProxy::platformSetAttachedWindowHeight):
46540
46541 2011-06-13  Eunmi Lee  <eunmi15.lee@samsung.com>
46542
46543         Reviewed by Eric Seidel.
46544
46545         [EFL][WK2] Add initial TextCheckerEfl.cpp for webkit2 efl port
46546         https://bugs.webkit.org/show_bug.cgi?id=62438
46547
46548         * UIProcess/efl/TextCheckerEfl.cpp: Added.
46549         (WebKit::TextChecker::state):
46550         (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
46551         (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
46552         (WebKit::TextChecker::setGrammarCheckingEnabled):
46553         (WebKit::TextChecker::uniqueSpellDocumentTag):
46554         (WebKit::TextChecker::closeSpellDocumentWithTag):
46555         (WebKit::TextChecker::checkSpellingOfString):
46556         (WebKit::TextChecker::checkGrammarOfString):
46557         (WebKit::TextChecker::spellingUIIsShowing):
46558         (WebKit::TextChecker::toggleSpellingUIIsShowing):
46559         (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
46560         (WebKit::TextChecker::updateSpellingUIWithGrammarString):
46561         (WebKit::TextChecker::getGuessesForWord):
46562         (WebKit::TextChecker::learnWord):
46563         (WebKit::TextChecker::ignoreWord):
46564
46565 2011-06-13  Sangyong Park  <sy302.park@gmail.com>
46566
46567         Reviewed by Eric Seidel.
46568
46569         implement to handle wheel event of plugin on x11
46570         https://bugs.webkit.org/show_bug.cgi?id=62522
46571
46572         Implement platformHandleWheelEvent() in NetscapePluginX11.cpp
46573         for to handle wheel event on plugins
46574
46575         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
46576         (WebKit::setCommonMouseEventFields): add template argument to support WebWheelEvent
46577         (WebKit::setXButtonEventFieldsByWebWheelEvent): initialize XButtonEvent by WebWheelEvent
46578         (WebKit::NetscapePlugin::platformHandleWheelEvent): handle wheel event on plugin
46579
46580 2011-06-13  Eunmi Lee  <eunmi15.lee@samsung.com>
46581
46582         Reviewed by Eric Seidel.
46583
46584         [EFL][WK2] Add initial WebContextEfl.cpp for webkit2 efl port
46585         https://bugs.webkit.org/show_bug.cgi?id=62523
46586
46587         * UIProcess/efl/WebContextEfl.cpp: Added.
46588         (WebKit::WebContext::applicationCacheDirectory):
46589         (WebKit::WebContext::platformInitializeWebProcess):
46590         (WebKit::WebContext::platformInvalidateContext):
46591         (WebKit::WebContext::platformDefaultDatabaseDirectory):
46592         (WebKit::WebContext::platformDefaultIconDatabasePath):
46593         (WebKit::WebContext::platformDefaultLocalStorageDirectory):
46594
46595 2011-06-13  Noam Rosenthal  <noam.rosenthal@nokia.com>
46596
46597         Unreviewed fix - removed parts of r88659 that were committed by mistake.
46598
46599         The patch accidentally included parts that weren't supposed to be there, namely the whole
46600         code was duplicated. This patch rectifies that and brings it to the original reviewed code.
46601
46602         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
46603         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
46604
46605 2011-06-13  Anders Carlsson  <andersca@apple.com>
46606
46607         Reviewed by Dan Bernstein.
46608
46609         BankID plug-in isn't instantiated correctly
46610         https://bugs.webkit.org/show_bug.cgi?id=62588
46611         <rdar://problem/9586600>
46612
46613         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
46614         (WebKit::NetscapePluginModule::determineQuirks):
46615         The BankID plug-in uses the QuickDraw drawing model but doesn't draw anything so we can
46616         use the half-baked QuickDraw support.
46617
46618         * WebProcess/Plugins/PluginProcessConnection.cpp:
46619         (WebKit::defaultSyncMessageTimeout):
46620         Don't use a sync message timeout for the BankID plug-in since it sends synchronous Apple Events
46621         and we don't want the plug-in to die while it's waiting for a reply.
46622
46623 2011-06-13  Chris Fleizach  <cfleizach@apple.com>
46624
46625         Reviewed by Darin Adler.
46626
46627         kAXTextMarkerForPositionParametrizedAttribute does not work correctly in WK2
46628         https://bugs.webkit.org/show_bug.cgi?id=62547
46629
46630         Implement the missing screenToWindow method for WK2.
46631
46632         * UIProcess/API/gtk/PageClientImpl.cpp:
46633         (WebKit::PageClientImpl::screenToWindow):
46634         * UIProcess/API/gtk/PageClientImpl.h:
46635         * UIProcess/API/mac/PageClientImpl.h:
46636         * UIProcess/API/mac/PageClientImpl.mm:
46637         (WebKit::PageClientImpl::screenToWindow):
46638         * UIProcess/API/qt/qwkpage.cpp:
46639         (QWKPagePrivate::screenToWindow):
46640         * UIProcess/API/qt/qwkpage_p.h:
46641         * UIProcess/PageClient.h:
46642         * UIProcess/WebPageProxy.cpp:
46643         (WebKit::WebPageProxy::screenToWindow):
46644         * UIProcess/WebPageProxy.h:
46645         * UIProcess/WebPageProxy.messages.in:
46646         * UIProcess/win/WebView.cpp:
46647         (WebKit::WebView::screenToWindow):
46648         * UIProcess/win/WebView.h:
46649         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
46650         (WebKit::WebChromeClient::screenToWindow):
46651         * WebProcess/WebPage/WebPage.cpp:
46652         (WebKit::WebPage::screenToWindow):
46653         * WebProcess/WebPage/WebPage.h:
46654
46655 2011-06-13  Sam Weinig  <sam@webkit.org>
46656
46657         Reviewed by Darin Adler.
46658
46659         REGRESSION (81679-81939): In Safari, Dictionary look up (tap or Ctrl-Cmd-D) doesn't work if you have clicked on a word and not moved the mouse
46660         <rdar://problem/9580237> 
46661
46662         * WebProcess/WebPage/mac/WebPageMac.mm:
46663         (WebKit::shouldUseSelection):
46664         Return early if the selection we are using is not a range.
46665
46666 2011-06-13  Tony Chang  <tony@chromium.org>
46667
46668         Reviewed by Dimitri Glazkov.
46669
46670         rename ENABLE_NEW_FLEXBOX to ENABLE_CSS3_FLEXBOX
46671         https://bugs.webkit.org/show_bug.cgi?id=62578
46672
46673         * Configurations/FeatureDefines.xcconfig:
46674
46675 2011-06-13  No'am Rosenthal  <noam.rosenthal@nokia.com>
46676
46677         Reviewed by Kenneth Rohde Christiansen.
46678
46679         [Qt] Implement accelerated compositing on WK2 Qt port
46680         https://bugs.webkit.org/show_bug.cgi?id=56935
46681
46682         Added WebGraphicsLayer, a subclass of WebCore::GraphicsLayer that serializes the state of the layer
46683         tree to the UI process WebLayerTreeInfo.
46684         For now this patch doesn't serialize the animation information, a feature that will be upstreamed later on.
46685
46686         Together with Viatcheslav Ostapenko.
46687
46688         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp: Added.
46689         * WebProcess/WebCoreSupport/WebGraphicsLayer.h: Added.
46690
46691 2011-06-13  No'am Rosenthal  <noam.rosenthal@nokia.com>
46692
46693         Reviewed by Kenneth Rohde Christiansen.
46694
46695         [Qt] Implement accelerated compositing on WK2 Qt port
46696         https://bugs.webkit.org/show_bug.cgi?id=56935
46697
46698         Added WebLayerTreeInfo: a set of structures that can serialize a tree of GraphicsLayers
46699         across to the UI process.
46700
46701         Together with Viatcheslav Ostapenko.
46702
46703         * Scripts/webkit2/messages.py:
46704         * Shared/WebLayerTreeInfo.cpp: Added.
46705         * Shared/WebLayerTreeInfo.h: Added.
46706
46707 2011-06-11  Jer Noble  <jer.noble@apple.com>
46708
46709         Reviewed by Anders Carlsson.
46710
46711         Avoid flashing when exiting full-screen mode.
46712         https://bugs.webkit.org/show_bug.cgi?id=62338
46713
46714         Instead of making a round-trip between processes by calling forceRepaint
46715         and waiting for a callback, instead make a WebProcess-side call to
46716         forceRepaintWithoutCallback before sending the ExitAcceleratedCompositingMode
46717         message to the WebFullScreenControllerProxy. This also means we can get rid of
46718         the dragImage creation and display.
46719
46720         Because this redraw will happen during the current run-loop instead of a future
46721         one, make sure the background color has been set before the redraw in 
46722         didEnterFullScreen().
46723
46724         Wait to hide the full-screen window until after we have received the 
46725         ExitAcceleratedCompositingMode message.  By this time, repaint will have already
46726         completed.
46727
46728         * UIProcess/mac/WKFullScreenWindowController.h:
46729         * UIProcess/mac/WKFullScreenWindowController.mm:
46730         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Disable
46731             screen updates, to be re-enabled during exitAcceleratedCompositingMode.
46732         (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Don't hide
46733             the full-screen window here; wait for exitAcceleratedCompositing instead.
46734         (-[WKFullScreenWindowController exitAcceleratedCompositingMode]): Collapse 
46735             the redrawCompleted method into this one.
46736         (-[WKFullScreenWindowController close]): Remove the reference to 
46737             exitCompositedModeRepaintCompleted.
46738         * WebProcess/FullScreen/WebFullScreenManager.cpp:
46739         (WebKit::WebFullScreenManager::didEnterFullScreen): Set the full screen
46740             background color first.
46741         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
46742         (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer): Repaint before
46743             sending the ExitAcceleratedCompositingMode message. 
46744
46745 2011-06-13  Tony Chang  <tony@chromium.org>
46746
46747         Reviewed by Adam Barth.
46748
46749         rename ENABLE_FLEXBOX to ENABLE_NEW_FLEXBOX
46750         https://bugs.webkit.org/show_bug.cgi?id=62545
46751
46752         * Configurations/FeatureDefines.xcconfig:
46753
46754 2011-06-13  Anders Carlsson  <andersca@apple.com>
46755
46756         Reviewed by Dan Bernstein.
46757
46758         Don't access freed memory in the UI process when a plug-in process crashes
46759         https://bugs.webkit.org/show_bug.cgi?id=62548
46760         <rdar://problem/9599243>
46761
46762         Call pluginProcessCrashedOrFailedToLaunch after sending messages to all processes about the plug-in crash,
46763         otherwise we'll try to dereference m_pluginInfo.path after the PluginProcessProxy object has been deleted.
46764
46765         * UIProcess/Plugins/PluginProcessProxy.cpp:
46766         (WebKit::PluginProcessProxy::didClose):
46767
46768 2011-06-13  Carlos Garcia Campos  <cgarcia@igalia.com>
46769
46770         Reviewed by Martin Robinson.
46771
46772         [GTK] Fix a crash when drawing area has been deleted
46773         https://bugs.webkit.org/show_bug.cgi?id=62541
46774
46775         Check whether WebPageProxy::drawingArea() returns a valid pointer
46776         before using it, it might be null, for example, when the web
46777         process crashes.
46778
46779         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
46780         (callDrawingAreaPaintMethod):
46781         (webkitWebViewBaseSizeAllocate):
46782
46783 2011-06-13  Eunmi Lee  <eunmi15.lee@samsung.com>
46784
46785         Reviewed by Kenneth Rohde Christiansen.
46786
46787         [EFL][WK2] Minor fix: fix coding style and remove unnecessary codes for WebKit2 efl port's PageClientImpl
46788         https://bugs.webkit.org/show_bug.cgi?id=62429
46789
46790         * UIProcess/API/efl/PageClientImpl.cpp:
46791         (WebKit::PageClientImpl::scrollView):
46792         (WebKit::PageClientImpl::setCursor):
46793         (WebKit::PageClientImpl::windowToScreen):
46794         (WebKit::PageClientImpl::doneWithKeyEvent):
46795         (WebKit::PageClientImpl::setFindIndicator):
46796         (WebKit::PageClientImpl::didCommitLoadForMainFrame):
46797         (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation):
46798         (WebKit::PageClientImpl::findStringInCustomRepresentation):
46799         (WebKit::PageClientImpl::countStringMatchesInCustomRepresentation):
46800         * UIProcess/API/efl/PageClientImpl.h:
46801
46802 2011-06-13  Eunmi Lee  <eunmi15.lee@samsung.com>
46803
46804         Reviewed by Kenneth Rohde Christiansen.
46805
46806         [EFL][WK2] Add initial WebPreferencesEfl.cpp for webkit2 efl port
46807         https://bugs.webkit.org/show_bug.cgi?id=62525
46808
46809         * UIProcess/efl/WebPreferencesEfl.cpp: Added.
46810         (WebKit::WebPreferences::platformInitializeStore):
46811         (WebKit::WebPreferences::platformUpdateStringValueForKey):
46812         (WebKit::WebPreferences::platformUpdateBoolValueForKey):
46813         (WebKit::WebPreferences::platformUpdateUInt32ValueForKey):
46814         (WebKit::WebPreferences::platformUpdateDoubleValueForKey):
46815
46816 2011-06-13  Carlos Garcia Campos  <cgarcia@igalia.com>
46817
46818         Reviewed by Martin Robinson.
46819
46820         [GTK] Add context menu support for Webkit2
46821         https://bugs.webkit.org/show_bug.cgi?id=54827
46822
46823         * GNUmakefile.am: Add new files to compilation.
46824         * UIProcess/API/gtk/PageClientImpl.cpp:
46825         (WebKit::PageClientImpl::createContextMenuProxy): Create a context
46826         menu proxy.
46827         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
46828         (globalPointForClientPoint): Function copied from webkit1 to
46829         convert a point in widget coordinates to global coordinates.
46830         (popupMenuPositionFunction):
46831         (webkitWebViewBaseShowContextMenu): Show the given context menu at
46832         the given position.
46833         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
46834         * UIProcess/gtk/WebContextMenuProxyGtk.cpp: Added.
46835         (WebKit::contextMenuItemActivatedCallback):
46836         (WebKit::WebContextMenuProxyGtk::createGtkMenu):
46837         (WebKit::WebContextMenuProxyGtk::showContextMenu):
46838         (WebKit::WebContextMenuProxyGtk::hideContextMenu):
46839         (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk):
46840         (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk):
46841         * UIProcess/gtk/WebContextMenuProxyGtk.h: Copied from Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBasePrivate.h.
46842         (WebKit::WebContextMenuProxyGtk::create):
46843
46844 2011-06-13  Carlos Garcia Campos  <cgarcia@igalia.com>
46845
46846         Reviewed by Martin Robinson.
46847
46848         [GTK] Export an API similar to WebKit1
46849         https://bugs.webkit.org/show_bug.cgi?id=57820
46850
46851         Add first implementation of WebKitWebView, a class with the same
46852         API than webkit1, that wraps the C API to provide a high level
46853         WebKit2 API for GTK port.
46854
46855         * GNUmakefile.am: Add new files to compilation.
46856         * UIProcess/API/gtk/WebKitWebView.cpp: Added.
46857         (webkit_web_view_init):
46858         (webkit_web_view_class_init):
46859         (webkit_web_view_new):
46860         (webkit_web_view_load_uri):
46861         (webkit_web_view_go_back):
46862         (webkit_web_view_go_forward):
46863         * UIProcess/API/gtk/WebKitWebView.h: Added.
46864         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
46865         (webkitWebViewBaseCreate):
46866         (webkitWebViewBaseCreateWebPage):
46867         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
46868         * UIProcess/API/gtk/webkit/webkit.h: Added.
46869
46870 2011-06-12  Adam Barth  <abarth@webkit.org>
46871
46872         Reviewed by Alexey Proskuryakov.
46873
46874         Rename FrameLoaderClient::interruptForPolicyChangeError to use the past tense
46875         https://bugs.webkit.org/show_bug.cgi?id=62516
46876
46877         * WebProcess/WebCoreSupport/WebErrors.h:
46878         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
46879         (WebKit::WebFrameLoaderClient::interruptedForPolicyChangeError):
46880         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
46881         * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
46882         (WebKit::interruptedForPolicyChangeError):
46883         * WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:
46884         (WebKit::interruptedForPolicyChangeError):
46885         * WebProcess/WebCoreSupport/mac/WebErrorsMac.mm:
46886         (WebKit::interruptedForPolicyChangeError):
46887         * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp:
46888         (WebKit::interruptedForPolicyChangeError):
46889         * WebProcess/WebCoreSupport/win/WebErrorsWin.cpp:
46890         (WebKit::interruptedForPolicyChangeError):
46891
46892 2011-06-12  Adam Barth  <abarth@webkit.org>
46893
46894         Reviewed by Eric Seidel.
46895
46896         Remove FrameLoader::isProcessingUserGesture
46897         https://bugs.webkit.org/show_bug.cgi?id=62519
46898
46899         Instead of asking the gesture indicator directly, ask the
46900         ScriptController, like everyone else.  The gesture indicator is just
46901         one of the piece of information we use to determine whether we're
46902         processing a user gesture.
46903
46904         * WebProcess/InjectedBundle/InjectedBundle.cpp:
46905         (WebKit::InjectedBundle::isProcessingUserGesture):
46906
46907 2011-06-12  Adam Barth  <abarth@webkit.org>
46908
46909         Reviewed by Alexey Proskuryakov.
46910
46911         Remove trival "forward-to-client" member functions from FrameLoader
46912         https://bugs.webkit.org/show_bug.cgi?id=62510
46913
46914         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
46915         (WebKit::WebFrameNetworkingContext::blockedError):
46916
46917 2011-06-11  Stephanie Lewis  <slewis@apple.com>
46918
46919         Reviewed by Sam Weinig.
46920
46921         https://bugs.webkit.org/show_bug.cgi?id=62480
46922         part of <rdar://problem/8675177>
46923         Add API to launch the WebProcess.  Launching it earlier can save time 
46924         when loading the first page.
46925
46926         * UIProcess/API/C/WKContext.cpp:
46927         (WKContextWarmInitialProcess):
46928         * UIProcess/API/C/WKContextPrivate.h:
46929         * UIProcess/WebContext.cpp:
46930         (WebKit::WebContext::warmInitialProcess):
46931         * UIProcess/WebContext.h:
46932
46933 2011-06-09  Jer Noble  <jer.noble@apple.com>
46934
46935         Reviewed by Darin Adler.
46936
46937         AVPlayerLayer is adding a "fade" animation during Safari full-screen
46938         https://bugs.webkit.org/show_bug.cgi?id=62433
46939
46940         CoreAnimation will add default animations when certain properties are changed, unless
46941         those changes are wrapped in a CATransaction which has had its disableActions property set
46942         to true.  Wrap each of these three property changes in a CATransaction and disable its actions,
46943         so that the default "fade" animation is not created in response.
46944
46945         * UIProcess/mac/WKFullScreenWindowController.mm:
46946         (-[WKFullScreenWindowController enterFullScreen:]): Wrap with CATransaction.
46947         (-[WKFullScreenWindowController _swapView:with:]): Ditto:
46948         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
46949         (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer): Ditto.
46950
46951 2011-06-10  Anders Carlsson  <andersca@apple.com>
46952
46953         Reviewed by Sam Weinig.
46954
46955         REGRESSION (WebKit2): window.showModalDialog() broken
46956         https://bugs.webkit.org/show_bug.cgi?id=62496
46957         <rdar://problem/9581492>
46958
46959         If dispatching a message ends up creating a nested run loop, some incoming messages can end up not being
46960         delivered until we exit from the run loop.
46961
46962         Fix this by using a Deque instead of a Vector for incoming messages, and get one message at a time and then
46963         dispatch it. That prevents us from having any lingering messages lying around in stack allocated space.
46964
46965         * Platform/CoreIPC/Connection.cpp:
46966         (CoreIPC::Connection::waitForMessage):
46967         (CoreIPC::Connection::dispatchMessages):
46968         * Platform/CoreIPC/Connection.h:
46969
46970 2011-06-10  Sam Weinig  <sam@webkit.org>
46971
46972         Reviewed by Anders Carlsson.
46973
46974         Unresponsive cursor is shown when displaying a modal dialog
46975         Part of <rdar://problem/9581492>
46976         https://bugs.webkit.org/show_bug.cgi?id=62494
46977
46978         * UIProcess/WebPageProxy.cpp:
46979         (WebKit::WebPageProxy::runModal):
46980         * UIProcess/WebPageProxy.h:
46981         Stop the responsiveness timer when calling out to show a modal dialog.
46982
46983 2011-06-10  Tony Chang  <tony@chromium.org>
46984
46985         Reviewed by Ojan Vafai.
46986
46987         add a compile guard ENABLE(FLEXBOX)
46988         https://bugs.webkit.org/show_bug.cgi?id=62049
46989
46990         * Configurations/FeatureDefines.xcconfig:
46991
46992 2011-06-10  Ryuan Choi  <ryuan.choi@samsung.com>
46993
46994         Reviewed by Kenneth Rohde Christiansen.
46995
46996         [EFL][WK2] Add dummy files in WebProcess/WebCoreSupport/efl
46997         https://bugs.webkit.org/show_bug.cgi?id=62346
46998
46999         Add WebProcess/WebCoreSupport/efl directory and files.
47000
47001         * WebProcess/WebCoreSupport/efl/WebContextMenuClientEfl.cpp: Added.
47002         (WebKit::WebContextMenuClient::lookUpInDictionary):
47003         (WebKit::WebContextMenuClient::isSpeaking):
47004         (WebKit::WebContextMenuClient::speak):
47005         (WebKit::WebContextMenuClient::stopSpeaking):
47006         * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp: Added.
47007         (WebKit::WebEditorClient::handleKeyboardEvent):
47008         (WebKit::WebEditorClient::handleInputMethodKeydown):
47009         * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp: Added.
47010         (WebKit::cancelledError):
47011         (WebKit::blockedError):
47012         (WebKit::cannotShowURLError):
47013         (WebKit::interruptForPolicyChangeError):
47014         (WebKit::cannotShowMIMETypeError):
47015         (WebKit::fileDoesNotExistError):
47016         (WebKit::pluginWillHandleLoadError):
47017         * WebProcess/WebCoreSupport/efl/WebFrameNetworkingContext.h: Added.
47018         (WebFrameNetworkingContext::create):
47019         (WebFrameNetworkingContext::WebFrameNetworkingContext):
47020         * WebProcess/WebCoreSupport/efl/WebPopupMenuEfl.cpp: Added.
47021         (WebKit::WebPopupMenu::setUpPlatformData):
47022
47023 2011-06-09  Andreas Kling  <kling@webkit.org>
47024
47025         Reviewed by Darin Adler.
47026
47027         WebKit2: Remove unused function CoreIPC::Connection::deprecatedWaitFor().
47028         https://bugs.webkit.org/show_bug.cgi?id=62386
47029
47030         * Platform/CoreIPC/Connection.h:
47031
47032 2011-06-09  Andreas Kling  <kling@webkit.org>
47033
47034         Reviewed by Anders Carlsson.
47035
47036         [Qt][WK2] Remove usage of deprecated CoreIPC functions.
47037         https://bugs.webkit.org/show_bug.cgi?id=62290
47038
47039         Use the new DrawingArea{,Proxy}.messages.in approach to CoreIPC in TiledDrawingArea.
47040         The TiledDrawingArea{,Proxy}-specific messages were moved up into DrawingArea{,Proxy}
47041         and guarded by ENABLE(TILED_BACKING_STORE).
47042
47043         * Shared/CoreIPCSupport/DrawingAreaMessageKinds.h: Removed.
47044         * Shared/CoreIPCSupport/DrawingAreaProxyMessageKinds.h: Removed.
47045
47046         * GNUmakefile.am:
47047         * WebKit2.pro:
47048         * WebKit2.xcodeproj/project.pbxproj:
47049         * win/WebKit2.vcproj: Prune deleted files from build system.
47050
47051         * Platform/CoreIPC/MessageID.h: Remove legacy DrawingArea message ID's.
47052
47053         * UIProcess/API/qt/qgraphicswkview.cpp:
47054         (QGraphicsWKViewPrivate::commitScale): No longer waits for all tile updates to complete,
47055         this will be addressed by the soon-to-be-upstreamed TileSet mechanism.
47056
47057         * UIProcess/DrawingAreaProxy.messages.in:
47058         * UIProcess/DrawingAreaProxy.h:
47059         (WebKit::DrawingAreaProxy::didSetSize):
47060         (WebKit::DrawingAreaProxy::invalidate):
47061         (WebKit::DrawingAreaProxy::snapshotTaken):
47062         (WebKit::DrawingAreaProxy::tileUpdated):
47063         (WebKit::DrawingAreaProxy::allTileUpdatesProcessed): Added IPC calls used by
47064         TiledDrawingAreaProxy to DrawingAreaProxy.
47065
47066         * WebProcess/WebPage/DrawingArea.messages.in:
47067         * WebProcess/WebPage/DrawingArea.h:
47068         (WebKit::DrawingArea::setSize):
47069         (WebKit::DrawingArea::cancelTileUpdate):
47070         (WebKit::DrawingArea::requestTileUpdate):
47071         (WebKit::DrawingArea::takeSnapshot): Added IPC calls used by TiledDrawingArea
47072         to DrawingArea.
47073
47074         * UIProcess/DrawingAreaProxyImpl.h:
47075         * UIProcess/DrawingAreaProxyImpl.cpp: Remove the now-unneeded didReceiveMessage()
47076         and didReceiveSyncMessage().
47077
47078         * WebProcess/WebPage/DrawingAreaImpl.cpp:
47079         * WebProcess/WebPage/DrawingAreaImpl.h: Remove the now-unneeded didReceiveMessage().
47080
47081         * UIProcess/TiledDrawingAreaProxy.h:
47082         * UIProcess/TiledDrawingAreaProxy.cpp:
47083         (WebKit::TiledDrawingAreaProxy::sizeDidChange):
47084         (WebKit::TiledDrawingAreaProxy::tileUpdated):
47085         (WebKit::TiledDrawingAreaProxy::allTileUpdatesProcessed): Split didReceiveMessage()
47086         into functions.
47087
47088         (WebKit::TiledDrawingAreaProxy::removeTile):
47089         (WebKit::TiledDrawingAreaProxy::requestTileUpdate):
47090         (WebKit::TiledDrawingAreaProxy::setPageIsVisible):
47091         (WebKit::TiledDrawingAreaProxy::takeSnapshot): Use new-style IPC.
47092
47093         * WebProcess/WebPage/TiledDrawingArea.cpp:
47094         (WebKit::TiledDrawingArea::setSize):
47095         (WebKit::TiledDrawingArea::cancelTileUpdate):
47096         (WebKit::TiledDrawingArea::requestTileUpdate):
47097         (WebKit::TiledDrawingArea::takeSnapshot): Split didReceiveMessage() into functions.
47098
47099         (WebKit::TiledDrawingArea::display):
47100         (WebKit::TiledDrawingArea::updateTile):
47101         (WebKit::TiledDrawingArea::tileUpdateTimerFired): Use new-style IPC.
47102
47103         * UIProcess/WebPageProxy.cpp:
47104         (WebKit::WebPageProxy::didReceiveMessage): Remove handling of
47105         CoreIPC::MessageClassDrawingAreaProxyLegacy.
47106
47107         * WebProcess/WebPage/WebPage.cpp:
47108         (WebKit::WebPage::didReceiveMessage): Remove handling of
47109         CoreIPC::MessageClassDrawingAreaLegacy.
47110
47111         * UIProcess/qt/TiledDrawingAreaProxyQt.cpp: Remove unneeded includes.
47112
47113         * WebProcess/WebPage/TiledDrawingArea.h: Remove didReceiveMessage() and make
47114         CoreIPC message handlers explicitly virtual.
47115
47116 2011-06-09  Andreas Kling  <kling@webkit.org>
47117
47118         Reviewed by Anders Carlsson.
47119
47120         WebKit2: Generate correct header conditionals in message receivers.
47121         https://bugs.webkit.org/show_bug.cgi?id=62379
47122
47123         Given a *.messages.in file like this:
47124
47125         Foo(AwesomeObject o)
47126         #if ENABLE(ESOTERIC_FEATURE)
47127         Bar(AwesomeObject o)
47128         #endif
47129
47130         messages.py would include AwesomeObject.h only #if ENABLE(ESOTERIC_FEATURE).
47131         This breaks the build on platforms without that defined.
47132
47133         Furthermore, if two messages guarded by different conditionals both pull in the same
47134         header, only the last conditional will be applied, for example:
47135
47136         #if ENABLE(ESOTERIC_FEATURE)
47137         Foo(AwesomeObject o)
47138         #endif
47139         #if ENABLE(MYSTERIOUS_FEATURE)
47140         Bar(AwesomeObject o)
47141         #endif
47142
47143         Would include AwesomeObject.h #if ENABLE(MYSTERIOUS_FEATURE) when it really should
47144         check #if ENABLE(ESOTERIC_FEATURE) || ENABLE(MYSTERIOUS_FEATURE).
47145
47146         Change the generator to consider all conditionals for a given header file.
47147         Also consider conditionals for reply parameters.
47148
47149         * Scripts/webkit2/messages.py:
47150         * Scripts/webkit2/messages_unittest.py:
47151
47152 2011-06-09  Eunmi Lee  <eunmi15.lee@samsung.com>
47153
47154         Reviewed by Kenneth Rohde Christiansen.
47155
47156         [EFL][WK2] Add PageClientImpl and WebPageProxyEfl for efl port
47157         https://bugs.webkit.org/show_bug.cgi?id=62363
47158
47159         * UIProcess/API/efl/PageClientImpl.cpp: Added.
47160         (WebKit::PageClientImpl::PageClientImpl):
47161         (WebKit::PageClientImpl::~PageClientImpl):
47162         (WebKit::PageClientImpl::createDrawingAreaProxy):
47163         (WebKit::PageClientImpl::setViewNeedsDisplay):
47164         (WebKit::PageClientImpl::displayView):
47165         (WebKit::PageClientImpl::scrollView):
47166         (WebKit::PageClientImpl::viewSize):
47167         (WebKit::PageClientImpl::isViewWindowActive):
47168         (WebKit::PageClientImpl::isViewFocused):
47169         (WebKit::PageClientImpl::isViewVisible):
47170         (WebKit::PageClientImpl::isViewInWindow):
47171         (WebKit::PageClientImpl::processDidCrash):
47172         (WebKit::PageClientImpl::didRelaunchProcess):
47173         (WebKit::PageClientImpl::pageClosed):
47174         (WebKit::PageClientImpl::toolTipChanged):
47175         (WebKit::PageClientImpl::setCursor):
47176         (WebKit::PageClientImpl::setViewportArguments):
47177         (WebKit::PageClientImpl::registerEditCommand):
47178         (WebKit::PageClientImpl::clearAllEditCommands):
47179         (WebKit::PageClientImpl::canUndoRedo):
47180         (WebKit::PageClientImpl::executeUndoRedo):
47181         (WebKit::PageClientImpl::convertToDeviceSpace):
47182         (WebKit::PageClientImpl::convertToUserSpace):
47183         (WebKit::PageClientImpl::windowToScreen):
47184         (WebKit::PageClientImpl::doneWithKeyEvent):
47185         (WebKit::PageClientImpl::createPopupMenuProxy):
47186         (WebKit::PageClientImpl::createContextMenuProxy):
47187         (WebKit::PageClientImpl::setFindIndicator):
47188         (WebKit::PageClientImpl::didChangeScrollbarsForMainFrame):
47189         (WebKit::PageClientImpl::didCommitLoadForMainFrame):
47190         (WebKit::PageClientImpl::didFinishLoadingDataForCustomRepresentation):
47191         (WebKit::PageClientImpl::customRepresentationZoomFactor):
47192         (WebKit::PageClientImpl::setCustomRepresentationZoomFactor):
47193         (WebKit::PageClientImpl::flashBackingStoreUpdates):
47194         (WebKit::PageClientImpl::findStringInCustomRepresentation):
47195         (WebKit::PageClientImpl::countStringMatchesInCustomRepresentation):
47196         (WebKit::PageClientImpl::userSpaceScaleFactor):
47197         * UIProcess/API/efl/PageClientImpl.h: Added.
47198         (WebKit::PageClientImpl::create):
47199         (WebKit::PageClientImpl::viewObject):
47200         (WebKit::PageClientImpl::page):
47201         * UIProcess/WebPageProxy.h:
47202         * UIProcess/efl/WebPageProxyEfl.cpp: Added.
47203         (WebKit::WebPageProxy::viewObject):
47204         (WebKit::WebPageProxy::standardUserAgent):
47205         (WebKit::WebPageProxy::getEditorCommandsForKeyEvent):
47206         (WebKit::WebPageProxy::saveRecentSearches):
47207         (WebKit::WebPageProxy::loadRecentSearches):
47208
47209 2011-06-08  John Sullivan  <sullivan@apple.com>
47210
47211         Reviewed by Darin Adler.
47212
47213         <https://bugs.webkit.org/show_bug.cgi?id=62332>
47214         <rdar://problem/9355199>
47215         [WKView _setDragImage:at:linkDrag:] can crash if WKView is dealloc'ed during drag
47216
47217         * UIProcess/API/mac/WKView.mm:
47218         (-[WKView _resendKeyDownEvent:]):
47219         Renamed self-protecting RetainPtr from "protect" to "protector" so it's a noun.
47220         (-[WKView _setDragImage:at:linkDrag:]):
47221         Added a self-protecting RetainPtr.
47222
47223 2011-06-08  No'am Rosenthal  <noam.rosenthal@nokia.com>
47224
47225         Reviewed by Kenneth Rohde Christiansen.
47226
47227         WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
47228         https://bugs.webkit.org/show_bug.cgi?id=61694
47229
47230         Add an ArgumentCoder for FloatPoint3D.
47231
47232         Together with Viatcheslav Ostapenko.
47233
47234         * Scripts/webkit2/messages.py:
47235         * Shared/WebCoreArgumentCoders.h:
47236
47237 2011-06-08  No'am Rosenthal  <noam.rosenthal@nokia.com>
47238
47239          Reviewed by Kenneth Rohde Christiansen.
47240
47241          WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
47242          https://bugs.webkit.org/show_bug.cgi?id=61694
47243
47244          Add ArgumentCoders for TransformOperation, including all the subclasses,
47245          and TransformOperations.
47246
47247          * Scripts/webkit2/messages.py:
47248          * Shared/WebCoreArgumentCoders.h:
47249
47250 2011-06-08  Yael Aharon  <yael.aharon@nokia.com>
47251
47252         Reviewed by Andreas Kling.
47253
47254         [Qt] Build fix for building QtWebKit inside of Qt.
47255         https://bugs.webkit.org/show_bug.cgi?id=62280
47256
47257         Remove CONFIG=staticlib, because it causes the configure script to add -lwebkit2
47258         into QtWebKit.prl.
47259
47260         * WebKit2.pri:
47261
47262 2011-06-07  Tim Horton  <timothy_horton@apple.com>
47263
47264         Reviewed by Alexey Proskuryakov.
47265
47266         Use correct CFURLStorageSessionRef definition on Snow Leopard
47267         https://bugs.webkit.org/show_bug.cgi?id=62223
47268
47269         * PluginProcess/mac/PluginProcessShim.mm:
47270
47271 2011-06-07  John Sullivan  <sullivan@apple.com>
47272
47273         Reviewed by Darin Adler.
47274
47275         <https://bugs.webkit.org/show_bug.cgi?id=62248>
47276         <rdar://problem/9568516>
47277         WKResponderChainSink mechanism isn't robust against some types of responder chain manipulation
47278
47279         * UIProcess/API/mac/WKView.mm:
47280         (-[WKResponderChainSink detach]):
47281         This method formerly blindly assumed that since -initWithResponderChain: put self at the
47282         end of the responder chain, after _lastResponderInChain, then self is still at the end
47283         of the responder chain and still immediately after _lastResponderInChain. Made this function
47284         robust against some kinds of responder chain manipulations, though it can't be robust against
47285         some other kinds (e.g., manipulations that removed self from this chain and put it into some
47286         other chain).
47287
47288 2011-06-07  Sam Weinig  <sam@webkit.org>
47289
47290         Reviewed by Anders Carlsson.
47291
47292         Remove repeated IPC traffic from SetRenderTreeSize message
47293         https://bugs.webkit.org/show_bug.cgi?id=62244
47294
47295         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
47296         Add didLayoutForFrame callback.
47297
47298         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
47299         (WKBundlePageGetRenderTreeSize):
47300         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
47301         Add render tree size getter in WebProcess.
47302
47303         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
47304         (WebKit::InjectedBundlePageLoaderClient::didLayoutForFrame):
47305         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
47306         Added.
47307
47308         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
47309         * WebProcess/WebCoreSupport/WebChromeClient.h:
47310         Removed setRenderTreeSize.
47311
47312         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
47313         (WebKit::WebFrameLoaderClient::dispatchDidLayout):
47314         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
47315         Call the new didLayoutForFrame client function.
47316
47317         * WebProcess/WebPage/WebPage.cpp:
47318         (WebKit::WebPage::renderTreeSize):
47319         * WebProcess/WebPage/WebPage.h:
47320         Add iterative implementation to compute the total size of the render tree
47321         for a page.
47322
47323 2011-06-07  Zalan Bujtas  <zbujtas@gmail.com>
47324
47325         Reviewed by Andreas Kling.
47326
47327         TiledDrawingArea: Delay serving tile requests when the drawing area is suspended.
47328
47329         Do not paint tiles when painting is disabled (suspended) on the web process side.
47330         Buffer up the tile requests and paint them, when the drawing area gets resumed.
47331         On the UI process side, do not block on tile updates, when the tiled area is
47332         not visible (painting is disabled on the web process side).
47333
47334         * UIProcess/TiledDrawingAreaProxy.cpp:
47335         (WebKit::TiledDrawingAreaProxy::waitUntilUpdatesComplete):
47336         * WebProcess/WebPage/TiledDrawingArea.cpp:
47337         (WebKit::TiledDrawingArea::suspendPainting):
47338         (WebKit::TiledDrawingArea::resumePainting):
47339         (WebKit::TiledDrawingArea::scheduleTileUpdate):
47340         (WebKit::TiledDrawingArea::tileUpdateTimerFired):
47341         (WebKit::TiledDrawingArea::didReceiveMessage):
47342         * WebProcess/WebPage/TiledDrawingArea.h:
47343
47344 2011-06-07  Sheriff Bot  <webkit.review.bot@gmail.com>
47345
47346         Unreviewed, rolling out r88259 and r88263.
47347         http://trac.webkit.org/changeset/88259
47348         http://trac.webkit.org/changeset/88263
47349         https://bugs.webkit.org/show_bug.cgi?id=62228
47350
47351         broke builds (Requested by rniwa on #webkit).
47352
47353         * PluginProcess/mac/PluginProcessShim.mm:
47354
47355 2011-06-07  Tim Horton  <timothy_horton@apple.com>
47356
47357         Reviewed by Alexey Proskuryakov.
47358
47359         Use correct CFURLStorageSessionRef definition on Snow Leopard
47360         https://bugs.webkit.org/show_bug.cgi?id=62223
47361
47362         * PluginProcess/mac/PluginProcessShim.mm:
47363
47364 2011-06-07  Carlos Garcia Campos  <cgarcia@igalia.com>
47365
47366         Reviewed by Martin Robinson.
47367
47368         [GTK] Move moduleMixesGtkSymbols() from PluginPackage to PluginView
47369         https://bugs.webkit.org/show_bug.cgi?id=62200
47370
47371         In WebKit2 PluginPackage is used by the UI process to load plugins
47372         in order to get information about them, but it doesn't use any GTK
47373         symbol. So the UI process should be able to load plugins even when
47374         building with GTK3, but we should not allow the plugin view to use
47375         the plugin if it mixes GTK2 and GTK3 symbols.
47376
47377         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
47378         (WebKit::moduleMixesGtkSymbols):
47379         (WebKit::NetscapePlugin::platformPostInitialize): Check whether
47380         the module is mixing GTK+ 2 and GTK+ 3 symbols.
47381
47382 2011-06-06  Sheriff Bot  <webkit.review.bot@gmail.com>
47383
47384         Unreviewed, rolling out r88222.
47385         http://trac.webkit.org/changeset/88222
47386         https://bugs.webkit.org/show_bug.cgi?id=62192
47387
47388         Broke compile on Mac (Requested by abarth on #webkit).
47389
47390         * Scripts/webkit2/messages.py:
47391         * Shared/WebCoreArgumentCoders.h:
47392
47393 2011-06-06  Noam Rosenthal  <noam.rosenthal@nokia.com>
47394
47395         Reviewed by Kenneth Rohde Christiansen.
47396
47397         WebKit2: Enable serializing of data types needed for cross-process accelerated compositing
47398         https://bugs.webkit.org/show_bug.cgi?id=61694
47399
47400         Add ArgumentCoders for TransformOperation, including all the subclasses,
47401         and TransformOperations.
47402
47403         * Scripts/webkit2/messages.py:
47404         * Shared/WebCoreArgumentCoders.h:
47405
47406 2011-06-06  John Sullivan  <sullivan@apple.com>
47407
47408         Reviewed by Dan Bernstein.
47409
47410         <https://bugs.webkit.org/show_bug.cgi?id=62165>
47411         <rdar://problem/9555835>
47412         WebKit2 find-on-page callback doesn’t handle kWKMoreThanMaximumMatchCount on PDF pages
47413
47414         * UIProcess/API/mac/PDFViewController.mm:
47415         (WebKit::PDFViewController::findString):
47416         Return kWKMoreThanMaximumMatchCount when appropriate, a la FindController::countStringMatches().
47417         Also, skip counting all the matches if maxMatchCount is 0, to avoid (perhaps slowly) computing a
47418         number that would be ignored.
47419
47420 2011-06-06  Carlos Garcia Campos  <cgarcia@igalia.com>
47421
47422         Reviewed by Anders Carlsson.
47423
47424         Do not use NPRuntimeObjectMap in NetscapePlugin::setException when plug-in is running out of process
47425         https://bugs.webkit.org/show_bug.cgi?id=62124
47426
47427         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
47428         (WebKit::NetscapePlugin::setException):
47429
47430 2011-06-06  Dominic Cooney  <dominicc@chromium.org>
47431
47432         Unreviewed WinCairo build fix after r88159.
47433
47434         * win/WebKit2CFLite.def: Export symbols for WebCoreTestSupport.
47435
47436 2011-06-04  Dominic Cooney  <dominicc@chromium.org>
47437
47438         Reviewed by Dimitri Glazkov.
47439
47440         Re-export JSC and WebCore symbols required by WebCoreTestSupport.
47441         https://bugs.webkit.org/show_bug.cgi?id=61076
47442
47443         * win/WebKit2.def:
47444
47445 2011-06-06  Alexandru Chiculita  <achicu@adobe.com>
47446
47447         Reviewed by Kent Tamura.
47448
47449         Add ENABLE_CSS_EXCLUSIONS support for build-webkit script
47450         https://bugs.webkit.org/show_bug.cgi?id=61628
47451
47452         * Configurations/FeatureDefines.xcconfig:
47453
47454 2011-06-06  Mihnea Ovidenie  <mihnea@adobe.com>
47455
47456         Reviewed by Kent Tamura.
47457
47458         Add ENABLE(CSS_REGIONS) guard for CSS Regions support
47459         https://bugs.webkit.org/show_bug.cgi?id=61631
47460
47461         * Configurations/FeatureDefines.xcconfig:
47462
47463 2011-06-06  Carlos Garcia Campos  <cgarcia@igalia.com>
47464
47465         Reviewed by Anders Carlsson.
47466
47467         [UNIX] SOCK_DGRAM sockets are not notified when the other end closes the connection
47468         https://bugs.webkit.org/show_bug.cgi?id=61538
47469
47470         Use SOCK_STREAM instead of SOCK_DGRAM sockets. Rework the message
47471         receiver code to support stream sockets, since it requires to
47472         handle message boundaries. The same code works for DGRAM sockets,
47473         so this change shouldn't break other ports using DGRAM.
47474
47475         * Platform/CoreIPC/Connection.h:
47476         * Platform/CoreIPC/unix/ConnectionUnix.cpp:
47477         (CoreIPC::Connection::platformInitialize):
47478         (CoreIPC::Connection::processMessage): Process messages from data
47479         already received.
47480         (CoreIPC::readBytesFromSocket): Read from socket using recvmsg().
47481         (CoreIPC::Connection::readyReadHandler):
47482         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
47483         (WebKit::ProcessLauncher::launchProcess): Use SOCK_DGRAM in
47484         socketpair().
47485
47486 == Rolled over to ChangeLog-2011-06-04 ==