103facba8fc1224c8f10bff42137a2814205fc8c
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2012-03-06  Hugo Parente Lima  <hugo.lima@openbossa.org>
2
3         MiniBrowser --window-size 480x800 www.nytimes.com doesn't paint bottom tiles.
4         https://bugs.webkit.org/show_bug.cgi?id=80313
5
6         Reviewed by Kenneth Rohde Christiansen.
7
8         Fix the math to get the visible rectangle and add a method to get it.
9
10         * UIProcess/API/qt/qquickwebview.cpp:
11         (QQuickWebViewPrivate::visibleContentsRect):
12         (QQuickWebViewFlickablePrivate::_q_commitScaleChange):
13         (QQuickWebViewPrivate::_q_commitPositionChange):
14         * UIProcess/API/qt/qquickwebview_p_p.h:
15         (QQuickWebViewPrivate):
16
17 2012-03-05  Joseph Pecoraro  <pecoraro@apple.com>
18
19         Web Inspector: Hide dock button when not allowed to dock
20         https://bugs.webkit.org/show_bug.cgi?id=78575
21
22         Reviewed by Pavel Feldman.
23
24         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
25         (WebKit::WebInspectorClient::didResizeMainFrame):
26         * WebProcess/WebCoreSupport/WebInspectorClient.h:
27         * WebProcess/WebPage/WebInspector.cpp:
28         (WebKit::WebInspector::updateDockingAvailability):
29         * WebProcess/WebPage/WebInspector.h:
30
31 2012-03-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
32
33         [Qt] Interaction Engine suspends content during pageload.
34         https://bugs.webkit.org/show_bug.cgi?id=80294
35
36         Only suspend content when viewport updates are deferred
37         for a non-instantanious interaction.
38
39         Reviewed by Kenneth Rohde Christiansen.
40
41         * UIProcess/qt/QtViewportInteractionEngine.cpp:
42         (WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer):
43         (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
44         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
45         (WebKit::QtViewportInteractionEngine::flickableMoveStarted):
46         (WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
47         * UIProcess/qt/QtViewportInteractionEngine.h:
48         (QtViewportInteractionEngine):
49
50 2012-03-06  Simon Hausmann  <simon.hausmann@nokia.com>
51
52         [Qt] Make QQuickWebView's url property work with a flickable webview
53
54         Reviewed by Tor Arne Vestbø.
55
56         QQuickWebViewPrivate::onComponentComplete implements the deferred url loading
57         when the url property is set in the component instantiation. QQuickWebViewFlickablePrivate
58         is the private sub-class used for a flickable webview, which re-implemented onComponentComplete
59         but forgot to call the base implementation.
60
61         * UIProcess/API/qt/qquickwebview.cpp:
62         (QQuickWebViewFlickablePrivate::onComponentComplete):
63
64 2012-03-06  Carlos Garcia Campos  <cgarcia@igalia.com>
65
66         [GTK] Fix several documentation issues in WebKit2 GTK+ API
67         https://bugs.webkit.org/show_bug.cgi?id=80281
68
69         Reviewed by Martin Robinson.
70
71         * UIProcess/API/gtk/WebKitFindController.cpp:
72         * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
73         (webkit_navigation_policy_decision_class_init):
74         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
75         * UIProcess/API/gtk/WebKitWebView.h:
76
77 2012-03-06  Carlos Garcia Campos  <cgarcia@igalia.com>
78
79         [GTK] Use a single signal for script dialogs in WebKit2 GTK+ API
80         https://bugs.webkit.org/show_bug.cgi?id=80271
81
82         Reviewed by Martin Robinson.
83
84         Add a new signal WebKitWebView::script-dialog that passes a
85         WebKitScriptDialog boxed type that can be used to build the dialog
86         and set the responses. It simplifies the API and makes it bindings
87         friendly.
88
89         * GNUmakefile.am:
90         * UIProcess/API/gtk/WebKitScriptDialog.cpp: Added.
91         (webkitScriptDialogCopy): Copy method for boxed type.
92         (webkitScriptDialogFree): Free method for boxed type.
93         (webkit_script_dialog_get_dialog_type): Return the type of dialog:
94         alert, confirm or prompt.
95         (webkit_script_dialog_get_message): Return the message of the dialog.
96         (webkit_script_dialog_confirm_set_confirmed): Set whether user
97         confirmed the dialog, for confirm dialogs.
98         (webkit_script_dialog_prompt_get_default_text): Get the default
99         text of prompt dialogs.
100         (webkit_script_dialog_prompt_set_text): Set the text entered by
101         the user, for prompt dialogs.
102         * UIProcess/API/gtk/WebKitScriptDialog.h: Added.
103         * UIProcess/API/gtk/WebKitScriptDialogPrivate.h: Added.
104         * UIProcess/API/gtk/WebKitWebView.cpp:
105         (webkitWebViewScriptDialog): Default implementation of
106         WebKitWebView::script-dialog signal.
107         (webkit_web_view_class_init): Add WebKitWebView::script-dialog and
108         remove alert, confirm and propmpt.
109         (webkitWebViewRunJavaScriptAlert): Create a WebKitScriptDialog and
110         emit WebKitWebView::script-dialog signal.
111         (webkitWebViewRunJavaScriptConfirm): Ditto.
112         (webkitWebViewRunJavaScriptPrompt): Ditto.
113         * UIProcess/API/gtk/WebKitWebView.h:
114         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new
115         symbols.
116         * UIProcess/API/gtk/docs/webkit2gtk.types: Add webkit_script_dialog_get_type().
117         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
118         (testWebViewJavaScriptDialogs): Update javascript dialog test to
119         use the new API.
120         * UIProcess/API/gtk/webkit2marshal.list:
121         * UIProcess/API/gtk/webkit2.h:
122
123 2012-03-05  Gavin Barraclough  <barraclough@apple.com>
124
125         putByIndex should throw in strict mode
126         https://bugs.webkit.org/show_bug.cgi?id=80335
127
128         Reviewed by Filip Pizlo.
129
130         Make the MethodTable PutByIndex trap take a boolean 'shouldThrow' parameter.
131
132         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
133         (WebKit::NPJSObject::setProperty):
134
135 2012-03-05  Joseph Pecoraro  <pecoraro@apple.com>
136
137         Unreviewed rollout of r109858 for restructuring.
138
139 2012-03-05  Joseph Pecoraro  <pecoraro@apple.com>
140
141         <http://webkit.org/b/78575> Web Inspector: Hide dock button when not allowed to dock
142
143         Reviewed by Timothy Hatcher.
144
145         * WebProcess/WebCoreSupport/WebInspectorClient.cpp:
146         (WebKit::WebInspectorClient::updateDockingAvailability):
147         * WebProcess/WebCoreSupport/WebInspectorClient.h:
148         * WebProcess/WebPage/WebInspector.cpp:
149         (WebKit::WebInspector::updateDockingAvailability):
150         * WebProcess/WebPage/WebInspector.h:
151
152 2012-03-05  Anders Carlsson  <andersca@apple.com>
153
154         pinch-to-zoom and double-tap flicker when using the new scrolling model
155         https://bugs.webkit.org/show_bug.cgi?id=80368
156         <rdar://problem/10866221>
157
158         Reviewed by Sam Weinig.
159
160         Add a way for drawing areas to respond to callback based force repaint requests asynchronously.
161         This is currently needed for the tiled drawing area when there might be outstanding scroll updates
162         that are sent from the scrolling thread to the main thread and we need to ensure that they're processed
163         before sending a message back.
164
165         * WebProcess/WebPage/DrawingArea.h:
166         (WebKit::DrawingArea::forceRepaintAsync):
167         Add new member function.
168
169         * WebProcess/WebPage/WebPage.cpp:
170         (WebKit::WebPage::forceRepaint):
171         Try forceRepaintAsync first.
172
173         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
174         (WebKit::forceRepaintAndSendMessage):
175         Force the repaint and send the message.
176
177         (WebKit::dispatchBackToMainThread):
178         Dispatch a call to forceRepaintAndSendMessage to the main thread.
179
180         (WebKit::TiledCoreAnimationDrawingArea::forceRepaintAsync):
181         Dispatch a function on the scrolling thread. Its sole purpose is to dispatch a function back to the
182         main thread, ensuring that all previously dispatched functions have been executed.
183
184 2012-03-05  Enrica Casucci  <enrica@apple.com>
185
186         Can't type on some websites (plug-ins steal key events).
187         <rdar://problem/10892291>
188
189         When the plugin is disabled, it is necessary to reset _pluginComplexTextInputIdentifier
190         in order to return the correct input context. Failure to do so results in the inputContext
191         method to return the plugin input context instead of the context of the browser view.
192         
193         Reviewed by Sam Weinig.
194
195         * UIProcess/API/mac/WKView.mm:
196         (-[WKView _setPluginComplexTextInputState:]):
197         (-[WKView _handlePluginComplexTextInputKeyDown:]):
198
199 2012-03-05  Anders Carlsson  <andersca@apple.com>
200
201         Be more aggressive about repainting page overlays
202         https://bugs.webkit.org/show_bug.cgi?id=80336
203         <rdar://problem/10965943>
204
205         Reviewed by Simon Fraser.
206
207         Whenever we're flushing layers and we have a page overlay, check if the main frame
208         has scrolled or if the main frame root content layer needs to be repainted and force the
209         overlay layer to be repainted if either of those conditions are true.
210
211         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
212         (TiledCoreAnimationDrawingArea):
213         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
214         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
215         (WebKit::TiledCoreAnimationDrawingArea::shouldRepaintPageOverlayLayer):
216         (WebKit):
217
218 2012-03-05  Sam Weinig  <sam@webkit.org>
219
220         Add support for hosting layers in the window server in WebKit2
221         <rdar://problem/10400246>
222         https://bugs.webkit.org/show_bug.cgi?id=80310
223
224         Reviewed by Anders Carlsson.
225
226         This currently only works if you are using TiledCoreAnimation drawing model.
227
228         * Platform/mac/LayerHostingContext.h: Renamed from Source/WebKit2/Platform/mac/RemoteLayerClient.h.
229         * Platform/mac/LayerHostingContext.mm: Renamed from Source/WebKit2/Platform/mac/RemoteLayerClient.mm.
230         (WebKit::LayerHostingContext::createForPort):
231         (WebKit::LayerHostingContext::LayerHostingContext):
232         (WebKit::LayerHostingContext::createForWindowServer):
233         (WebKit::LayerHostingContext::~LayerHostingContext):
234         (WebKit::LayerHostingContext::setRootLayer):
235         (WebKit::LayerHostingContext::rootLayer):
236         (WebKit::LayerHostingContext::contextID):
237         (WebKit::LayerHostingContext::invalidate):
238         Renamed RemoteLayerClient to LayerHostingContext and add ability to use the window server
239         as the remote context.
240
241         * PluginProcess/PluginControllerProxy.cpp:
242         * PluginProcess/PluginControllerProxy.h:
243         * PluginProcess/mac/PluginControllerProxyMac.mm:
244         Update for new names.
245
246         * Shared/LayerTreeContext.h:
247         Add LayerHostingMode enum.
248
249         * UIProcess/PageClient.h:
250         * UIProcess/API/mac/PageClientImpl.h:
251         * UIProcess/API/mac/PageClientImpl.mm:
252         (WebKit::PageClientImpl::layerHostingMode):
253         (WebKit::PageClientImpl::updateAcceleratedCompositingMode):
254         Add PageClient access points to get the current layer hosting mode,
255         and a hook to tell the underlying view that the layer hosting context
256         has changed.
257
258         * UIProcess/API/mac/WKViewInternal.h:
259         * UIProcess/API/mac/WKView.mm:
260         (-[WKView _updateAcceleratedCompositingMode:WebKit::]):
261         Implement responding to a new layer hosting context as a simple
262         exit and re-entrance of compositing.
263
264         * UIProcess/DrawingAreaProxy.h:
265         (WebKit::DrawingAreaProxy::layerHostingModeDidChange):
266         (WebKit::DrawingAreaProxy::updateAcceleratedCompositingMode):
267         * UIProcess/DrawingAreaProxy.messages.in:
268         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
269         (TiledCoreAnimationDrawingAreaProxy):
270         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
271         (WebKit::TiledCoreAnimationDrawingAreaProxy::layerHostingModeDidChange):
272         (WebKit::TiledCoreAnimationDrawingAreaProxy::updateAcceleratedCompositingMode):
273         Pipe layer hosting changes around.
274
275         * UIProcess/WebPageProxy.h:
276         (WebKit::WebPageProxy::layerHostingMode):
277         * UIProcess/WebPageProxy.cpp:
278         (WebKit::WebPageProxy::WebPageProxy):
279         (WebKit::WebPageProxy::viewStateDidChange):
280         Cache the current layer hosting mode so we don't overzealously
281         tell the WebProcess to reset its context. Re-check layer hosting
282         mode each time we are added/removed from a window.
283
284         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h:
285         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
286         Update for new names.
287
288         * WebProcess/WebPage/DrawingArea.h:
289         (WebKit::DrawingArea::setDeviceScaleFactor):
290         (WebKit::DrawingArea::setLayerHostingMode):
291         * WebProcess/WebPage/DrawingArea.messages.in:
292         Pipe layer hosting changes around.
293
294         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
295         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
296         (WebKit::LayerTreeHostCAMac::~LayerTreeHostCAMac):
297         (WebKit::LayerTreeHostCAMac::platformInitialize):
298         (WebKit::LayerTreeHostCAMac::invalidate):
299         Update for new names.
300
301         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
302         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
303         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
304         (WebKit::TiledCoreAnimationDrawingArea::setLayerHostingMode):
305         Respond to a change in the layer hosting mode by invalidating our old context,
306         making a new one of the right type, and informing the UIProcess of our new context.
307
308         * WebKit2.xcodeproj/project.pbxproj:
309         Add new files.
310
311 2012-03-05  Anders Carlsson  <andersca@apple.com>
312
313         Always update the scroll layer position on the main thread when we have an overlay
314         https://bugs.webkit.org/show_bug.cgi?id=80324
315
316         Reviewed by Sam Weinig.
317
318         Call setForceMainThreadScrollLayerPositionUpdates when installing and uninstalling page overlays,
319         so we'll be able to synchronize painting between the tile cache and the page overlays.
320
321         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
322         (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
323         (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
324
325 2012-03-05  Timothy Hatcher  <timothy@apple.com>
326
327         Change how the Web Inspector Develop menu actions work.
328
329         This removes the methods used by Safari's Develop menu. They can now be implemented in Safari.
330
331         https://webkit.org/b/80308
332
333         Reviewed by John Sullivan.
334
335         * UIProcess/API/C/mac/WKInspectorPrivateMac.h: Renamed from Source/WebKit2/UIProcess/API/C/mac/WKInspectorMac.h.
336         * UIProcess/mac/WebInspectorProxyMac.mm:
337         (-[WKWebInspectorProxyObjCAdapter inspectorRef]): Added.
338         * WebKit2.xcodeproj/project.pbxproj: Renamed WKInspectorPrivateMac.h to better reflect its private nature.
339
340 2012-03-02  Jon Lee  <jonlee@apple.com>
341
342         Add support for notification replaceId in Mac WebKit and WK2
343         https://bugs.webkit.org/show_bug.cgi?id=80206
344         <rdar://problem/10965574>
345
346         Reviewed by Sam Weinig.
347
348         * UIProcess/API/C/WKNotification.cpp: Add WK API.
349         (WKNotificationCopyReplaceID):
350         * UIProcess/API/C/WKNotification.h:
351         * UIProcess/Notifications/WebNotification.cpp:
352         (WebKit::WebNotification::WebNotification):
353         * UIProcess/Notifications/WebNotification.h: Add replaceID member.
354         (WebKit::WebNotification::create):
355         (WebKit::WebNotification::replaceID):
356         (WebNotification):
357         * UIProcess/Notifications/WebNotificationManagerProxy.cpp:
358         (WebKit::WebNotificationManagerProxy::show):
359         * UIProcess/Notifications/WebNotificationManagerProxy.h:
360         (WebNotificationManagerProxy):
361         * UIProcess/WebPageProxy.cpp:
362         (WebKit::WebPageProxy::showNotification):
363         * UIProcess/WebPageProxy.h:
364         (WebPageProxy):
365         * UIProcess/WebPageProxy.messages.in: Add replaceID to the showNotification message.
366         * WebProcess/Notifications/WebNotificationManager.cpp:
367         (WebKit::WebNotificationManager::show):
368
369 2012-03-05  Sheriff Bot  <webkit.review.bot@gmail.com>
370
371         Unreviewed, rolling out r109748.
372         http://trac.webkit.org/changeset/109748
373         https://bugs.webkit.org/show_bug.cgi?id=80296
374
375         Made some tests crash, will fix and recommit (Requested by
376         noamr on #webkit).
377
378         * Target.pri:
379         * UIProcess/API/qt/qquickwebpage.cpp:
380         (QQuickWebPagePrivate::paintToCurrentGLContext):
381         (PageProxyNode::PageProxyNode):
382         (PageProxyNode):
383         (PageProxyNode::changedStates):
384         (PageProxyNode::render):
385         (PageProxyNode::~PageProxyNode):
386         (QQuickWebPage::updatePaintNode):
387         (QQuickWebPagePrivate::updateSize):
388         (QQuickWebPagePrivate::resetPaintNode):
389         (QQuickWebPagePrivate::~QQuickWebPagePrivate):
390         * UIProcess/API/qt/qquickwebpage_p_p.h:
391         (QQuickWebPagePrivate):
392         * UIProcess/DrawingAreaProxy.h:
393         (WebKit):
394         (WebKit::DrawingAreaProxy::layerTreeHostProxy):
395         (DrawingAreaProxy):
396         * UIProcess/DrawingAreaProxyImpl.cpp:
397         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
398         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
399         * UIProcess/LayerTreeHostProxy.h:
400         (LayerTreeHostProxy):
401         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
402         (WebKit::LayerTreeHostProxy::syncAnimations):
403         (WebKit::LayerTreeHostProxy::updateViewport):
404         (WebKit::LayerTreeHostProxy::syncLayerParameters):
405         (WebKit::LayerTreeHostProxy::flushLayerChanges):
406         (WebKit::LayerTreeHostProxy::ensureRootLayer):
407         (WebKit::LayerTreeHostProxy::syncRemoteContent):
408         (WebKit::LayerTreeHostProxy::dispatchUpdate):
409         (WebKit):
410         (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
411         (WebKit::LayerTreeHostProxy::purgeGLResources):
412         * UIProcess/qt/QtWebPageSGNode.cpp: Removed.
413         * UIProcess/qt/QtWebPageSGNode.h: Removed.
414
415 2012-03-05  Joone Hur  <joone.hur@collabora.co.uk>
416
417         [GTK] zlib link error with --enable-webkit2
418         https://bugs.webkit.org/show_bug.cgi?id=79877
419
420         Reviewed by Martin Robinson.
421
422         zlib should be linked properly.
423
424         * GNUmakefile.am: Link $(ZLIB_LIBS) with libwebkit2gtk instead of
425         linking it with WebKitWebProcess.
426
427 2012-03-05  Carlos Garcia Campos  <cgarcia@igalia.com>
428
429         [WK2] WKPageGetContextMenuFromProposedContextMenuCallback should pass a HitTestResult
430         https://bugs.webkit.org/show_bug.cgi?id=77208
431
432         Reviewed by Anders Carlsson.
433
434         A HitTestResultData is now passed to ShowContextMenu WebPageProxy
435         message instead of the ContextMenuState. ContextMenu client has
436         been updated to pass the HitTestResult to the
437         getContextMenuFromProposedMenu callback.
438
439         * GNUmakefile.am: Remove ContextMenuState.h.
440         * Shared/APIClientTraits.h:
441         * Shared/ContextMenuState.h: Removed.
442         * Shared/WebHitTestResult.h:
443         (WebKit::WebHitTestResult::Data::Data): Add constructor that takes
444         a WebCore::HitTestResult.
445         * UIProcess/API/C/WKPage.h: Add HitTestResult parameter to
446         getContextMenuFromProposedMenu callback and deprecate the old
447         version.
448         * UIProcess/WebPageContextMenuClient.cpp:
449         (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
450         Pass a HitTestResult to getContextMenuFromProposedMenu or use the
451         deprecated one if client version is an old one.
452         * UIProcess/WebPageContextMenuClient.h:
453         * UIProcess/WebPageProxy.cpp:
454         (WebKit::WebPageProxy::showContextMenu):
455         (WebKit::WebPageProxy::internalShowContextMenu): Save the
456         WebHitTestResult::Data to use it for handling context menu actions.
457         (WebKit::WebPageProxy::contextMenuItemSelected): Use the saved
458         WebHitTestResult::Data.
459         * UIProcess/WebPageProxy.h:
460         * UIProcess/WebPageProxy.messages.in:
461         * WebKit2.xcodeproj/project.pbxproj: Remove ContextMenuState.h.
462         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
463         (WebKit::WebChromeClient::mouseDidMoveOverElement): Use the new
464         WebHitTestResult::Data constructor that takes a WebCore::HitTestResult.
465         * WebProcess/WebPage/WebContextMenu.cpp:
466         (WebKit::WebContextMenu::show): Create a WebHitTestResult::Data
467         instead of a ContextMenuState and pass it to ShowContextMenu message.
468         * win/WebKit2.vcproj: ContextMenuState.h.
469
470 2012-03-05  No'am Rosenthal  <noam.rosenthal@nokia.com>
471
472         [Qt] [WK2] Support threaded renderer in WK2
473         https://bugs.webkit.org/show_bug.cgi?id=76661
474
475         Made the appropriate fixes in the UI process code to make rendering thread-safe.
476         - Separated the scenegraph node code to QtWebPageSGNode. QtWebPageSGNode has direct access
477           to LayerTreeHostProxy.
478
479         - Each function in LayerTreeHostProxy can be either called from the main thread (handling
480           messages from the web process), or from the renderer thread (handling the GL context).
481           The render-queue is locked with a mutex, and messages back to the web process are sent
482           via callOnMainThread.
483
484         - LayerTreeHostProxy is now ThreadSafeRefCounted. That is done to make sure that the GL
485           resources it creates are only freed when the QtWebPageSGNode is deleted, which can be
486           before or after the owning DrawingAreaProxy is deleted. This ensures that the class is
487           deleted only after its GL resources are freed, otherwise those resources may leak.
488
489         Based on a patch by Viatcheslav Ostapenko.
490
491         Reviewed by Kenneth Rohde Christiansen.
492
493         * Target.pri: Added new files.
494         * UIProcess/API/qt/qquickwebpage.cpp: Moved QtWebPageSGNode out.
495         (QQuickWebPage::updatePaintNode): Call QtWebPageSGNode
496         (QQuickWebPagePrivate::updateSize): Call QtWebPageSGNode
497         (QQuickWebPagePrivate::didDeleteSGWebPageNode): Override QtWebPageSGNode::Client
498         (QQuickWebPagePrivate::~QQuickWebPagePrivate):
499         * UIProcess/API/qt/qquickwebpage_p_p.h:
500         (QQuickWebPagePrivate):
501         * UIProcess/DrawingAreaProxy.h:
502         (WebKit):
503         (WebKit::DrawingAreaProxy::layerTreeHostProxy): Made LayerTreeHostProxy ref-counted.
504         (DrawingAreaProxy):
505         * UIProcess/DrawingAreaProxyImpl.cpp:
506         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
507         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
508         * UIProcess/LayerTreeHostProxy.h:
509         (WebKit):
510         (WebKit::LayerTreeHostProxy::create):
511         (LayerTreeHostProxy):
512         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
513         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
514         (WebKit):
515         (MainThreadGuardedInvoker):
516             A class that allows invoking functions in the main thread, while guarding a ref-
517             counted object.
518
519         (WebKit::MainThreadGuardedInvoker::call):
520         (WebKit::MainThreadGuardedInvoker::MainThreadGuardedInvoker):
521         (WebKit::MainThreadGuardedInvoker::invoke):
522         (WebKit::LayerTreeHostProxy::syncAnimations):
523         (WebKit::LayerTreeHostProxy::updateViewport):
524         (WebKit::LayerTreeHostProxy::detachDrawingArea):
525         (WebKit::LayerTreeHostProxy::syncLayerParameters):
526         (WebKit::LayerTreeHostProxy::setShouldRenderNextFrame):
527         (WebKit::LayerTreeHostProxy::flushLayerChanges):
528         (WebKit::LayerTreeHostProxy::ensureRootLayer):
529         (WebKit::LayerTreeHostProxy::syncRemoteContent):
530         (WebKit::LayerTreeHostProxy::dispatchUpdate):
531         (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
532         (WebKit::LayerTreeHostProxy::purgeGLResources):
533         * UIProcess/qt/QtWebPageSGNode.cpp: Added.
534         * UIProcess/qt/QtWebPageSGNode.h: Added.
535
536 2012-03-04  Raphael Kubo da Costa  <kubo@profusion.mobi>
537
538         [CMake] Libraries are installed to /usr/lib and not /usr/lib64 on x86_64
539         https://bugs.webkit.org/show_bug.cgi?id=71507
540
541         Reviewed by Antonio Gomes.
542
543         * CMakeLists.txt: Use ${LIB_INSTALL_DIR} instead of hardcoding "lib".
544
545 2012-03-03  Simon Hausmann  <simon.hausmann@nokia.com>
546
547         [Qt] Fix static_libs_as_shared build
548         https://bugs.webkit.org/show_bug.cgi?id=80214
549
550         Reviewed by Tor Arne Vestbø.
551
552         Replace (static) link time dependency to WK1 with entrypoint
553         in the separate WebProcess for activating the QStyle theme if
554         necessary.
555
556         * Target.pri:
557         * UIProcess/Launcher/ProcessLauncher.h:
558         * WebProcess/qt/WebProcessMainQt.cpp:
559         (WebKit::WebProcessMainQt):
560         * qt/MainQt.cpp:
561         (WebKit):
562         (main):
563
564 2012-03-03  Hans Wennborg  <hans@chromium.org>
565
566         Implement Speech JavaScript API
567         https://bugs.webkit.org/show_bug.cgi?id=80019
568
569         Reviewed by Adam Barth.
570
571         Add ENABLE_SCRIPTED_SPEECH.
572
573         * Configurations/FeatureDefines.xcconfig:
574
575 2012-03-03  No'am Rosenthal  <noam.rosenthal@nokia.com>
576
577         [Qt] Use the existing inheritedOpacity/matrix properties of QSGNode
578         https://bugs.webkit.org/show_bug.cgi?id=79543
579
580         Use QSGNode::inheritedOpacity() and QSGNode::matrix().
581         Also, remove flags from changedStates() that we don't actually touch.
582         This is covered by existing API tests.
583
584         Reviewed by Kenneth Rohde Christiansen.
585
586         * UIProcess/API/qt/qquickwebpage.cpp:
587         (QQuickWebPagePrivate::paintToCurrentGLContext):
588         (PageProxyNode::changedStates):
589         (PageProxyNode::render):
590         * UIProcess/API/qt/qquickwebpage_p_p.h:
591         (QQuickWebPagePrivate):
592
593 2012-03-03  Anders Carlsson  <andersca@apple.com>
594
595         Fix build with newer versions of clang.
596
597         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
598         (WebKit::NPN_GetValue):
599         Cast the switch parameter to unsigned to prevent warnings about case values not being part of the enum type.
600
601 2012-03-02  Andy Estes  <aestes@apple.com>
602
603         Move nsStringFromWebCoreString out of PageClientImpl
604         https://bugs.webkit.org/show_bug.cgi?id=80202
605
606         Reviewed by Sam Weinig.
607
608         nsStringFromWebCoreString() doesn't really belong in PageClientImpl.mm,
609         and it makes us include PageClientImpl.h in places where we shouldn't.
610         Move this function into StringUtilities.{h, mm}.
611
612         * Platform/mac/StringUtilities.h: Added.
613         * Platform/mac/StringUtilities.mm: Added.
614         (WebKit::nsStringFromWebCoreString):
615         * UIProcess/API/mac/PageClientImpl.h:
616         * UIProcess/API/mac/PageClientImpl.mm:
617         * UIProcess/API/mac/WKView.mm:
618         * UIProcess/mac/WebContextMenuProxyMac.mm:
619         * UIProcess/mac/WebPageProxyMac.mm:
620         * UIProcess/mac/WebPopupMenuProxyMac.mm:
621         * UIProcess/mac/WebPreferencesMac.mm:
622         * WebKit2.xcodeproj/project.pbxproj:
623
624 2012-03-02  Andy Estes  <aestes@apple.com>
625
626         Remove com.apple.WebKit.PluginProcess.sb from WebKit2.xcodeproj's Headers build phase
627         https://bugs.webkit.org/show_bug.cgi?id=80197
628
629         Reviewed by Alexey Proskuryakov.
630
631         It doesn't belong there, and it makes Xcode consider the project to be
632         invalid, triggering assertions in some builds of Xcode.
633
634         * WebKit2.xcodeproj/project.pbxproj:
635
636 2012-03-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
637
638         [Qt] Fix spelling mistake in header guard
639
640         Reviewed by Noam Rosenthal.
641
642         * UIProcess/API/qt/qwebviewportinfo_p.h:
643
644 2012-03-02  Carlos Garcia Campos  <cgarcia@igalia.com>
645
646         [GTK] Invalid check in webkit_web_view_set_zoom_level() when zoom-text-only is enabled
647         https://bugs.webkit.org/show_bug.cgi?id=80150
648
649         Reviewed by Philippe Normand.
650
651         * UIProcess/API/gtk/WebKitWebView.cpp:
652         (webkit_web_view_set_zoom_level): Use
653         webkit_web_view_get_zoom_level() instead of
654         WKPageGetPageZoomFactor() to get the current effective zoom level
655         depending on zoom-text-only setting.
656
657 2012-03-02  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
658
659         Fix build on AppleWebKit after 109548.
660
661         * mac/WebKit2.order:
662
663 2012-03-02  Simon Hausmann  <simon.hausmann@nokia.com>
664
665         [Qt] Fix tests run with WTR not using QStyle theme
666         https://bugs.webkit.org/show_bug.cgi?id=80147
667
668         Reviewed by Csaba Osztrogonác.
669
670         Use an environment variable (set by WTR) to select the QStyle theme.
671         This is a temporary kludge until we rebase the layout tests to use the
672         QStyle independent "mobile" theme. This also temporarily breaks the
673         force_static_libs_as_shared build.
674
675         * Target.pri:
676         * WebProcess/qt/WebProcessMainQt.cpp:
677         (WebKit::WebProcessMainQt):
678
679 2012-03-02  Simon Hausmann  <simon.hausmann@nokia.com>
680
681         [Qt] Compile WebCore without QtWidgets
682         https://bugs.webkit.org/show_bug.cgi?id=80141
683
684         Reviewed by Tor Arne Vestbø.
685
686         * Shared/qt/WebEventFactoryQt.cpp: Removed unnecessary include.
687         * Target.pri: Require widgets for WK2 for the moment, until bug #79458
688         is fixed.
689
690 2012-03-02  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
691
692         Suspend/Resume API for pausing timers and animations.
693         https://bugs.webkit.org/show_bug.cgi?id=76063
694
695         Based on the initial work of Zalan Bujtas <zalan.bujtas@nokia.com>,
696
697         Adds suspend and resume API for WebKit2 and uses it in Qt to
698         suspend animations and DOM timers during panning and zoom.
699
700         Reviewed by Kenneth Rohde Christiansen.
701
702         * UIProcess/API/qt/qquickwebview.cpp:
703         (QQuickWebViewFlickablePrivate::_q_suspend):
704         (QQuickWebViewFlickablePrivate::_q_resume):
705         * UIProcess/WebPageProxy.cpp:
706         (WebKit::WebPageProxy::WebPageProxy):
707         (WebKit::WebPageProxy::resumeActiveDOMObjectsAndAnimations):
708         (WebKit::WebPageProxy::suspendActiveDOMObjectsAndAnimations):
709         (WebKit::WebPageProxy::processDidCrash):
710         * UIProcess/WebPageProxy.h:
711         * WebProcess/WebPage/WebPage.cpp:
712         (WebKit::WebPage::suspendActiveDOMObjectsAndAnimations):
713         (WebKit::WebPage::resumeActiveDOMObjectsAndAnimations):
714         * WebProcess/WebPage/WebPage.h:
715         * WebProcess/WebPage/WebPage.messages.in:
716
717 2012-03-02  Joone Hur  <joone.hur@collabora.co.uk>
718
719         Unreviewed. Fix WebKit2 GTK+ build.
720
721         * GNUmakefile.am: allow WebKitWebProcess to link with zlib properly.
722
723 2012-03-01  Andras Becsi  <andras.becsi@nokia.com>
724
725         [Qt][WK2] Make the interaction with the Flickable work on the N9
726         https://bugs.webkit.org/show_bug.cgi?id=80029
727
728         Reviewed by Simon Hausmann.
729
730         Because the WebView item accepts all touch events it receives and sends
731         them to the web process before propagating them to the gesture recognizers,
732         which is correct behaviour, we can not rely on the touch->mouse conversion
733         of Qt5 when controlling Flickable. Hence we need to convert the received
734         touch events to mouse events in the QtFlickProvider.
735
736         * UIProcess/qt/QtFlickProvider.cpp:
737         (QtFlickProvider::handleTouchFlickEvent):
738         Do the touch to mouse event conversion for the Flickable.
739         * UIProcess/qt/QtPanGestureRecognizer.cpp:
740         (WebKit::QtPanGestureRecognizer::recognize):
741         A touch begin event should cancel the previous pan gesture
742         and stop the ongoing flick animation.
743
744 2012-03-01  Anders Carlsson  <andersca@apple.com>
745
746         Assertion failure in pageContainsAnyHorizontalScrollbars() (scrollableArea->isOnActivePage()) when leaving pages with embedded PDFs
747         https://bugs.webkit.org/show_bug.cgi?id=80044
748         <rdar://problem/10919940>
749
750         Reviewed by Brady Eidson.
751
752         Remove the code that would add and remove wheel event handlers since that's not what we want to track.
753         Instead, dynamically add and remove the view as its scrollbars come and go.
754
755         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
756         (WebKit::BuiltInPDFView::updateScrollbars):
757         (WebKit::BuiltInPDFView::initialize):
758         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
759         (BuiltInPDFView):
760
761 2012-03-01  Kangil Han  <kangil.han@samsung.com>
762
763         [DRT] Remove all PlainTextController usages in existing tests by adding internal API
764         https://bugs.webkit.org/show_bug.cgi?id=78570
765
766         Reviewed by Hajime Morita.
767
768         This patch will remove all PlainTextController usages
769         in existing DRT tests by adding internal API to WebCore/testing/Internals
770
771         * win/WebKit2.def:
772         * win/WebKit2CFLite.def:
773
774 2012-03-01  Nikolas Zimmermann  <nzimmermann@rim.com>
775
776         Unreviewed, rolling out r109255.
777         http://trac.webkit.org/changeset/109255
778         https://bugs.webkit.org/show_bug.cgi?id=79932
779
780         Breaks rounded rects with dashed strokes in SVG
781
782         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
783         (InitWebCoreSystemInterface):
784
785 2012-03-01  Sergio Villar Senin  <svillar@igalia.com>
786
787         [WK2] [GTK] [libsoup] SoupSession should use system CA
788         https://bugs.webkit.org/show_bug.cgi?id=79657
789
790         Reviewed by Martin Robinson.
791
792         SoupSession sould use system CA list to validate SSL
793         certificates. Do not use strict certificate validation though as
794         we want clients to decide whether or not accept/decline invalid
795         certificates (API to be added later).
796
797         No new tests required as current behaviour does not change at all
798         as we continue to accept invalid certificates by default.
799
800         * WebProcess/gtk/WebProcessMainGtk.cpp:
801         (WebKit::WebProcessMainGtk):
802
803 2012-03-01  Carlos Garcia Campos  <cgarcia@igalia.com>
804
805         Unreviewed. Fix WebKit2 GTK+ build.
806
807         * UIProcess/API/gtk/WebKitDefines.h:
808         * UIProcess/API/gtk/WebKitWebView.h:
809
810 2012-02-29  Simon Hausmann  <simon.hausmann@nokia.com>
811
812         [Qt][WK2] QQuickWebView::event should lookup faster which events QQuickWebPage can handle
813         https://bugs.webkit.org/show_bug.cgi?id=78047
814
815         Reviewed by Kenneth Rohde Christiansen.
816
817         Replaced double-dispatch of events with direct forwarding of events from QQuickWebView::*Event to
818         QtWebPageEventHandler::handle*Event.
819
820         * UIProcess/API/qt/qquickwebview.cpp:
821         (QQuickWebView::keyPressEvent):
822         (QQuickWebView::keyReleaseEvent):
823         (QQuickWebView::inputMethodEvent):
824         (QQuickWebView::focusInEvent):
825         (QQuickWebView::focusOutEvent):
826         (QQuickWebView::touchEvent):
827         (QQuickWebView::mousePressEvent):
828         (QQuickWebView::mouseMoveEvent):
829         (QQuickWebView::mouseReleaseEvent):
830         (QQuickWebView::mouseDoubleClickEvent):
831         (QQuickWebView::wheelEvent):
832         (QQuickWebView::hoverEnterEvent):
833         (QQuickWebView::hoverMoveEvent):
834         (QQuickWebView::hoverLeaveEvent):
835         (QQuickWebView::dragMoveEvent):
836         (QQuickWebView::dragEnterEvent):
837         (QQuickWebView::dragLeaveEvent):
838         (QQuickWebView::dropEvent):
839         (QQuickWebView::event):
840         * UIProcess/qt/QtWebPageEventHandler.cpp:
841         (QtWebPageEventHandler::handleMouseMoveEvent):
842         (QtWebPageEventHandler::handleMousePressEvent):
843         (QtWebPageEventHandler::handleMouseReleaseEvent):
844         (QtWebPageEventHandler::handleWheelEvent):
845         (QtWebPageEventHandler::handleHoverLeaveEvent):
846         (QtWebPageEventHandler::handleHoverMoveEvent):
847         (QtWebPageEventHandler::handleDragEnterEvent):
848         (QtWebPageEventHandler::handleDragLeaveEvent):
849         (QtWebPageEventHandler::handleDragMoveEvent):
850         (QtWebPageEventHandler::handleDropEvent):
851         (QtWebPageEventHandler::handleKeyPressEvent):
852         (QtWebPageEventHandler::handleKeyReleaseEvent):
853         (QtWebPageEventHandler::handleFocusInEvent):
854         (QtWebPageEventHandler::handleFocusOutEvent):
855         (QtWebPageEventHandler::handleInputMethodEvent):
856         (QtWebPageEventHandler::handleTouchEvent):
857         * UIProcess/qt/QtWebPageEventHandler.h:
858         (QtWebPageEventHandler):
859
860 2012-03-01  Csaba Osztrogonác  <ossy@webkit.org>
861
862         [Qt][WK2] Unreviewed buildfix after r109277.
863
864         * WebProcess/qt/QtBuiltinBundlePage.cpp:
865         (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
866
867 2012-02-29  No'am Rosenthal  <noam.rosenthal@nokia.com>
868
869         [Qt][WK2] Get rid of the #ifdef mess in LayerTreeHost[Proxy]
870         https://bugs.webkit.org/show_bug.cgi?id=79501
871
872         Use a new UI_SIDE_COMPOSITING flag instead of the several #ifdef flags we currently use.
873
874         Reviewed by Kenneth Rohde Christiansen.
875
876         * Shared/WebLayerTreeInfo.cpp:
877         * Shared/WebLayerTreeInfo.h:
878         * UIProcess/DrawingAreaProxy.cpp:
879         (WebKit):
880         * UIProcess/DrawingAreaProxy.h:
881         (DrawingAreaProxy):
882         * UIProcess/DrawingAreaProxyImpl.cpp:
883         (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
884         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
885         (WebKit):
886         * UIProcess/DrawingAreaProxyImpl.h:
887         (DrawingAreaProxyImpl):
888         * UIProcess/LayerTreeHostProxy.h:
889         (LayerTreeHostProxy):
890         * UIProcess/WebPageProxy.cpp:
891         (WebKit::WebPageProxy::didReceiveMessage):
892         * UIProcess/qt/LayerBackingStore.cpp:
893         * UIProcess/qt/LayerBackingStore.h:
894         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
895         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
896         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
897         * WebProcess/WebPage/DrawingArea.h:
898         (DrawingArea):
899         * WebProcess/WebPage/DrawingAreaImpl.cpp:
900         (WebKit):
901         * WebProcess/WebPage/DrawingAreaImpl.h:
902         (DrawingAreaImpl):
903         * WebProcess/WebPage/LayerTreeHost.cpp:
904         (WebKit::LayerTreeHost::create):
905         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
906         (WebKit::LayerTreeHostQt::purgeBackingStores):
907         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
908         (LayerTreeHostQt):
909
910 2012-02-28  Brian Weinstein  <bweinstein@apple.com>
911
912         WebKit2: didNewFirstVisuallyNonEmptyLayout should be sent to injected bundle
913         https://bugs.webkit.org/show_bug.cgi?id=79849
914         
915         Tell the injected bundle about didNewFirstVisuallyNonEmptyLayout (we currently
916         just tell the UI process).
917
918         Reviewed by Beth Dakin.
919
920         * WebProcess/InjectedBundle/API/c/WKBundlePage.h: Add didNewFirstVisuallyNonEmptyLayout to version 1.
921         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp:
922         (WebKit::InjectedBundlePageLoaderClient::didNewFirstVisuallyNonEmptyLayout): Call through to the
923             client.
924         * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
925         (InjectedBundlePageLoaderClient):
926         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
927         (WebKit::WebFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout): Tell the injected
928             bundle.
929
930 2012-02-29  Tim Horton  <timothy_horton@apple.com>
931
932         Make use of CG rounded-rect primitives
933         https://bugs.webkit.org/show_bug.cgi?id=79932
934         <rdar://problem/9274953>
935
936         Reviewed by Simon Fraser.
937
938         Add wkCGPathAddRoundedRect.
939
940         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
941         (InitWebCoreSystemInterface):
942
943 2012-02-29  Andy Estes  <aestes@apple.com>
944
945         CFURLDownloadScheduleWithCurrentMessageQueue only exists on Windows
946         https://bugs.webkit.org/show_bug.cgi?id=79936
947
948         Reviewed by Brady Eidson.
949
950         CFURLDownloadScheduleWithCurrentMessageQueue only exists on Windows
951         platforms. Non-Windows platforms that use CFNetwork-based downloads
952         should omit this call.
953
954         * WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
955         (WebKit::Download::start):
956
957 2012-02-29  Rafael Brandao  <rafael.lobo@openbossa.org>
958
959         [Qt][WK2] We should not add NetscapeBrowserFuncs.cpp as header
960         https://bugs.webkit.org/show_bug.cgi?id=79847
961
962         Reviewed by Alexey Proskuryakov.
963
964         * Target.pri: Fix typo, so we can add ".h" file instead.
965
966 2012-02-29  Sam Weinig  <sam@webkit.org>
967
968         When invoking Lookup while zoomed in, the highlighted word renders out of line
969         <rdar://problem/10812527>
970
971         Reviewed by Simon Fraser.
972
973         * WebProcess/WebPage/mac/WebPageMac.mm:
974         (WebKit::WebPage::performDictionaryLookupForRange):
975         Make sure to scale the ascent when determining the origin for the overlay.
976
977 2012-02-29  Carlos Garcia Campos  <cgarcia@igalia.com>
978
979         [GTK] Use text or page zoom factor in WebKitWebView depending on zoom-text-only
980         https://bugs.webkit.org/show_bug.cgi?id=75252
981
982         Reviewed by Gustavo Noronha Silva.
983
984         * UIProcess/API/gtk/WebKitWebView.cpp:
985         (zoomTextOnlyChanged): Update text/page zoom factor when
986         zoom-text-only setting changes.
987         (webkitWebViewSetSettings): Helper function to set the settings
988         object for the web view, initializing the settings for the page
989         and connecting to notify::zoom-text-only signal.
990         (webkitWebViewConstructed): Use webkitWebViewSetSettings().
991         (webkit_web_view_set_settings): Use webkitWebViewSetSettings() and
992         disconnect from the notify::zoom-text-only signal of the previous
993         settings object.
994         (webkit_web_view_set_zoom_level): Set text/page zoom factor
995         depending on WebKitSettings:zoom-text-only property.
996         (webkit_web_view_get_zoom_level): Get text/page zoom factor
997         depending on WebKitSettings:zoom-text-only property.
998         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
999         (testWebViewZoomLevel):
1000
1001 2012-02-29  Carlos Garcia Campos  <cgarcia@igalia.com>
1002
1003         [GTK] Add zoom-text-only setting to WebKit2 GTK+ API
1004         https://bugs.webkit.org/show_bug.cgi?id=75249
1005
1006         Reviewed by Gustavo Noronha Silva.
1007
1008         To set whether zoom level of web view should affect only the text
1009         or all page contents. It's disabled by default.
1010
1011         * UIProcess/API/gtk/WebKitSettings.cpp:
1012         (webKitSettingsSetProperty):
1013         (webKitSettingsGetProperty):
1014         (webkit_settings_class_init): Add WebKitSettings:zoom-text-only
1015         property.
1016         (webkit_settings_set_zoom_text_only): Set
1017         WebKitSettings:zoom-text-only.
1018         (webkit_settings_get_zoom_text_only): Get
1019         WebKitSettings:zoom-text-only.
1020         * UIProcess/API/gtk/WebKitSettings.h:
1021         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new
1022         symbols.
1023         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
1024         (testWebKitSettings):
1025
1026 2012-02-29  Sergio Villar Senin  <svillar@igalia.com>
1027
1028         DidFindString should be emitted even if FindOptionsShowOverlay is not enabled
1029         https://bugs.webkit.org/show_bug.cgi?id=76522
1030
1031         Reviewed by Darin Adler.
1032
1033         DidFindString message should be issued always even if neither
1034         FindOptionsShowOverlay or FindOptionsShowHighlight are
1035         provided. The difference is that if any of those flags are present
1036         the find operation will look for all the appearances of the text
1037         in the web view, otherwise it will just look and report the next
1038         occurrence.
1039
1040         This patch removes the temporary workaround added in r109222 to
1041         the WebKitFindController unit tests.
1042
1043         * UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
1044         * WebProcess/WebPage/FindController.cpp:
1045         (WebKit::FindController::findString):
1046
1047 2012-01-19  Sergio Villar Senin  <svillar@igalia.com>
1048
1049         [GTK] [WK2] Add Find API
1050         https://bugs.webkit.org/show_bug.cgi?id=76070
1051
1052         Reviewed by Martin Robinson.
1053
1054         This patch adds a new public find API for the Gtk+ WK2 port. It
1055         defines a new object called WebKitFindController owned by each
1056         WebKitWebView. Clients will use this new object to search strings
1057         in the WebKitWebView.
1058
1059         Changes include also documentation and unit tests for the new
1060         public API.
1061
1062         * GNUmakefile.am:
1063         * UIProcess/API/gtk/WebKitDefines.h:
1064         * UIProcess/API/gtk/WebKitFindController.cpp: Added.
1065         (didFindString): implementation of the WKPage Find interface.
1066         (didFailToFindString): Ditto.
1067         (didCountStringMatches): Ditto.
1068         (webkit_find_controller_init):
1069         (getWKPageFromWebKitWebView):
1070         (webkitFindControllerConstructed):
1071         (webkitFindControllerGetProperty):
1072         (webkitFindControllerSetProperty):
1073         (webkitFindControllerFinalize):
1074         (webkit_find_controller_class_init):
1075         (webkit_find_controller_get_search_text):
1076         (webkit_find_controller_get_options):
1077         (webkit_find_controller_get_max_match_count):
1078         (webkit_find_controller_get_web_view):
1079         (webKitFindControllerPerform):
1080         (webKitFindControllerSetSearchData):
1081         (webkit_find_controller_search): asynchronously looks for the
1082         search string in the WebKitWebView.
1083         (webkit_find_controller_search_finish): unhighlights text matches.
1084         (webkit_find_controller_search_next):
1085         (webkit_find_controller_search_previous):
1086         (webkit_find_controller_count_matches): asynchronously counts the
1087         number of matches of the search string in the WebKitWebView.
1088         * UIProcess/API/gtk/WebKitFindController.h: Added.
1089         * UIProcess/API/gtk/WebKitPrivate.h:
1090         * UIProcess/API/gtk/WebKitWebView.cpp:
1091         (webkit_web_view_get_find_controller): returns the
1092         WebKitFindController instance owned by the WebKitWebView.
1093         * UIProcess/API/gtk/WebKitWebView.h:
1094         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
1095         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
1096         * UIProcess/API/gtk/docs/webkit2gtk.types:
1097         * UIProcess/API/gtk/tests/GNUmakefile.am:
1098         * UIProcess/API/gtk/tests/TestWebKitFindController.cpp: Added.
1099         (testFindControllerTextFound):
1100         (testFindControllerTextNotFound):
1101         (testFindControllerMatchCount):
1102         (testFindControllerMaxMatchCount):
1103         (testFindControllerNext):
1104         (testFindControllerPrevious):
1105         (testFindControllerCountedMatches):
1106         (testFindControllerOptions):
1107         (testFindControllerInstance):
1108         (testFindControllerGetters):
1109         (testFindControllerHide):
1110         (beforeAll):
1111         (afterAll):
1112         * UIProcess/API/gtk/webkit2.h:
1113
1114 2012-02-28  Simon Fraser  <simon.fraser@apple.com>
1115
1116         Update WebKitSystemInterface.
1117
1118         Reviewed by Sam Weinig.
1119
1120         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1121         (InitWebCoreSystemInterface):
1122
1123 2012-02-28  Hugo Parente Lima  <hugo.lima@openbossa.org>
1124
1125         All mouse events after a right click are ignored when they came from WebkitTestRunner
1126         https://bugs.webkit.org/show_bug.cgi?id=77350
1127
1128         Reviewed by Chang Shu.
1129
1130         Never ignore mouse events when using sync events, even if the context menu is being
1131         show but the Ui did replied the ShowContextMenu event with a ContextMenuHidden.
1132
1133         * WebProcess/WebPage/WebPage.cpp:
1134         (WebKit::WebPage::mouseEventSyncForTesting):
1135
1136 2012-02-28  Alexey Proskuryakov  <ap@apple.com>
1137
1138         More build fix.
1139
1140         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Check for build platform
1141         properly.
1142
1143 2012-02-28  Alexey Proskuryakov  <ap@apple.com>
1144
1145         Build fix.
1146
1147         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue):
1148         Check for build platform properly.
1149
1150 2012-02-28  Enrica Casucci  <enrica@apple.com>
1151
1152         More Pasteboard code cleanup.
1153         https://bugs.webkit.org/show_bug.cgi?id=79816
1154
1155         Removing the last references to NSPasteboard.
1156         
1157         Reviewed by Alexey Proskuryakov.
1158
1159         * WebProcess/WebCoreSupport/WebEditorClient.h:
1160         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
1161         (WebKit::WebEditorClient::setInsertionPasteboard):
1162
1163 2012-02-28  Alexey Proskuryakov  <ap@apple.com>
1164
1165         [Mac] Add an experimental SPI for plug-ins to enter sandbox
1166         https://bugs.webkit.org/show_bug.cgi?id=79709
1167
1168         Reviewed by Anders Carlsson.
1169
1170         * PluginProcess/PluginProcess.h: (WebKit::PluginProcess::pluginPath): Exposed plugin path.
1171
1172         * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb: Added.
1173
1174         * WebKit2.xcodeproj/project.pbxproj: Added new files.
1175
1176         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue): Exposed
1177         a function to access sandboxing functions when available.
1178
1179         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h: Added.
1180         * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Added.
1181
1182 2012-02-28  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
1183
1184         [Qt] Allow read/write to the WebView.url property
1185         https://bugs.webkit.org/show_bug.cgi?id=77554
1186
1187         Reviewed by Tor Arne Vestbø.
1188
1189         Change QML API WebView.url to read/write to reflect either the url requested by the user.
1190         Also removed WebView.load(url). Defers setting url (loading page) until onComponentComplete is triggered. 
1191         Fixed c++ and qml tests to reflect the new API.
1192
1193         * Target.pri:
1194         * UIProcess/API/qt/qquickwebview.cpp:
1195         (QQuickWebViewPrivate::QQuickWebViewPrivate):
1196         (QQuickWebViewPrivate::onComponentComplete):
1197         (QQuickWebView::setUrl):
1198         * UIProcess/API/qt/qquickwebview_p_p.h:
1199         (QQuickWebViewPrivate):
1200         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
1201         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml:
1202         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
1203         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
1204         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
1205         * UIProcess/API/qt/tests/qmltests/WebView/tst_applicationScheme.qml:
1206         * UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml:
1207         * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
1208         * UIProcess/API/qt/tests/qmltests/WebView/tst_geopermission.qml:
1209         * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
1210         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
1211         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml:
1212         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml:
1213         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
1214         * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml:
1215         * UIProcess/API/qt/tests/qmltests/WebView/tst_origin.qml:
1216         * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
1217         * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml:
1218         * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml:
1219         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
1220         (tst_QQuickWebView::loadEmptyPageViewHidden):
1221         (tst_QQuickWebView::loadNonexistentFileUrl):
1222
1223 2012-02-28  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1224
1225         [Qt] Signal and property cleanup in QQuickWebView
1226         https://bugs.webkit.org/show_bug.cgi?id=78820
1227
1228         Reviewed by Noam Rosenthal.
1229
1230         - Remove parameters from property change notify signals:
1231           titleChanged, urlChanged, iconChanged, loadProgressChanged
1232         - Rename the parameters of linkHovered to prevent shadoing properties of WebView
1233         - Rename navigationStateChanged to navigationHistoryChanged
1234
1235         * UIProcess/API/qt/qquickwebview.cpp:
1236         (QQuickWebViewPrivate::QQuickWebViewPrivate):
1237         (QQuickWebViewPrivate::initialize):
1238         (QQuickWebViewPrivate::_q_onUrlChanged):
1239         (QQuickWebViewPrivate::setIcon):
1240         * UIProcess/API/qt/qquickwebview_p.h:
1241         * UIProcess/API/qt/qquickwebview_p_p.h:
1242         (QQuickWebViewPrivate):
1243         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
1244         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
1245         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
1246         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
1247         (tst_QQuickWebView::loadProgress):
1248         * UIProcess/qt/QtWebPageLoadClient.cpp:
1249         (QtWebPageLoadClient::didCommitLoadForFrame):
1250         (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
1251         (QtWebPageLoadClient::didReceiveTitleForFrame):
1252         (QtWebPageLoadClient::setLoadProgress):
1253         * UIProcess/qt/QtWebPageLoadClient.h:
1254         (QtWebPageLoadClient):
1255
1256 2012-02-28  Mario Sanchez Prada  <msanchez@igalia.com>
1257
1258         [GTK] Add GMainLoop and GMainContext to be handled by GRefPtr
1259         https://bugs.webkit.org/show_bug.cgi?id=79496
1260
1261         Reviewed by Martin Robinson.
1262
1263         Updated places where raw pointers to GMainLoop and GMainContext
1264         were being used, replacing them with GRefPtr-based code.
1265
1266         * Platform/WorkQueue.h:
1267         (WorkQueue):
1268         * Platform/gtk/WorkQueueGtk.cpp:
1269         (WorkQueue::platformInitialize):
1270         (WorkQueue::platformInvalidate):
1271         (WorkQueue::workQueueThreadBody):
1272         (WorkQueue::registerEventSourceHandler):
1273         (WorkQueue::dispatchOnSource):
1274         * UIProcess/gtk/WebPopupMenuProxyGtk.cpp:
1275         (WebKit::WebPopupMenuProxyGtk::WebPopupMenuProxyGtk):
1276         (WebKit::WebPopupMenuProxyGtk::showPopupMenu):
1277         (WebKit::WebPopupMenuProxyGtk::shutdownRunLoop):
1278         * UIProcess/gtk/WebPopupMenuProxyGtk.h:
1279         (WebPopupMenuProxyGtk):
1280
1281 2012-02-28  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1282
1283         [Qt] Initialize QtWebContext as much as we can in its constructor.
1284         https://bugs.webkit.org/show_bug.cgi?id=79809
1285
1286         Reviewed by Tor Arne Vestbø.
1287
1288         The icon database wouldn't be initialized on the QtWebContext while in WebKitTestRunner
1289         since it doesn't call the initialize method on it after creating it.
1290         Remove the initialize method, move the download manager and icon database initialization
1291         in the constructor and call initializeContextInjectedBundleClient directly in
1292         defaultContext to prevent overriding WKTR's injected bundle client.
1293
1294         * UIProcess/qt/QtWebContext.cpp:
1295         (WebKit::QtWebContext::QtWebContext):
1296         (WebKit::QtWebContext::defaultContext):
1297         * UIProcess/qt/QtWebContext.h:
1298         (QtWebContext):
1299
1300 2012-02-28  Carlos Garcia Campos  <cgarcia@igalia.com>
1301
1302         [GTK] Inconsistent state of WebKitWebView when replacing content in WebKit2
1303         https://bugs.webkit.org/show_bug.cgi?id=79775
1304
1305         Reviewed by Martin Robinson.
1306
1307         Use an enum instead of a boolean to track the status of a
1308         replace_content() load operation. We need to know when the load of
1309         the replace content actually starts to not ignore valid load
1310         events of a previous ongoing load operation.
1311
1312         * UIProcess/API/gtk/WebKitWebView.cpp:
1313         (webkitWebViewLoadChanged): Transit to new replace content state
1314         when replacing content depending on the load event.
1315         (webkitWebViewLoadFailed): Ignore load failed events when
1316         replacing content.
1317         (webkitWebViewSetEstimatedLoadProgress): Ignore load progress when
1318         replacing content.
1319         (webkit_web_view_replace_content): Set replace content status to
1320         WillReplaceContent.
1321         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
1322         (replaceContentLoadCallback):
1323         (testWebViewReplaceContent):
1324         * UIProcess/API/gtk/tests/WebViewTest.cpp:
1325         (titleChanged):
1326         (WebViewTest::waitUntilTitleChanged): Convenient method to wait
1327         until title changes. Use with replaceConent() since load events
1328         are not emitted when replacing content.
1329         * UIProcess/API/gtk/tests/WebViewTest.h:
1330
1331 2012-02-27  Anders Carlsson  <andersca@apple.com>
1332
1333         Add basic page overlay support to TiledCoreAnimationDrawingArea
1334         https://bugs.webkit.org/show_bug.cgi?id=79716
1335         <rdar://problem/10923079>
1336
1337         Reviewed by Sam Weinig.
1338
1339         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1340         Make TiledCoreAnimationDrawingArea a GraphicsLayerClient.
1341
1342         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1343         (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
1344         Create the page overlay layer.
1345
1346         (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
1347         Destroy the page overlay layer.
1348
1349         (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
1350         Mark the page overlay layer as needing display.
1351
1352         (WebKit::TiledCoreAnimationDrawingArea::notifyAnimationStarted):
1353         (WebKit::TiledCoreAnimationDrawingArea::notifySyncRequired):
1354         Add empty GraphisLayerClient member function implementations.
1355
1356         (WebKit::TiledCoreAnimationDrawingArea::paintContents):
1357         Ask the page overlay to paint itself.
1358
1359         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
1360         Flush the page overlay layer.
1361         
1362         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
1363         Resize the page overlay layer.
1364
1365         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
1366         If we have a page overlay layer, add it as a sublayer of the root layer.
1367
1368         (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
1369         Create the page overlay layer and add it as a sublayer of the root layer.
1370
1371         (WebKit::TiledCoreAnimationDrawingArea::destroyPageOverlayLayer):
1372         Remove the page overlay layer and destroy it.
1373
1374 2012-02-28  Carlos Garcia Campos  <cgarcia@igalia.com>
1375
1376         [GTK] Remove virtual methods of WebKitDownload signals in WebKit2 GTK+ API
1377         https://bugs.webkit.org/show_bug.cgi?id=79804
1378
1379         Reviewed by Martin Robinson.
1380
1381         That comes from the first patch that followed the approach of the
1382         first LoaderClient implementation. With current implementation
1383         download signals, except decide-destination, don't need to be
1384         true_handled, and they won't have a default handler
1385         implementation. Also the download object is not supposed to be
1386         inheritable, since instances are created privately by the
1387         WebContext, so it's not possible to override the virtual methods
1388         in derived classes.
1389
1390         * UIProcess/API/gtk/WebKitDownload.cpp:
1391         (webkit_download_class_init):
1392         (webkitDownloadNotifyProgress):
1393         (webkitDownloadFailed):
1394         (webkitDownloadFinished):
1395         * UIProcess/API/gtk/WebKitDownload.h:
1396         (_WebKitDownloadClass):
1397         * UIProcess/API/gtk/webkit2marshal.list:
1398
1399 2012-02-28  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1400
1401         [Qt] Fix build for WK2, do not use enum type if values can be outside the enum
1402         https://bugs.webkit.org/show_bug.cgi?id=79800
1403
1404         Reviewed by Csaba Osztrogonác.
1405
1406         We have two different enums called NavigationRequestAction. If we use one of them
1407         to store the variables, compilers can rightfully warn about comparison with
1408         values from other enums.
1409
1410         We might revisit the strategy of exposing different enumerations in experimental,
1411         but for now, fallback to using int for the 'action' property in
1412         QWebNavigationRequest.
1413
1414         * UIProcess/API/qt/qwebnavigationrequest.cpp:
1415         (QWebNavigationRequestPrivate):
1416         (QWebNavigationRequest::setAction):
1417         (QWebNavigationRequest::action):
1418         * UIProcess/API/qt/qwebnavigationrequest_p.h:
1419         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
1420
1421 2012-02-27  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
1422
1423         [Qt] API changes to QWebNavigationRequest
1424         https://bugs.webkit.org/show_bug.cgi?id=78821
1425
1426         Reviewed by Kenneth Rohde Christiansen.
1427
1428         Changes discussed in API review at Szeged: rename 'button' to 'mouseButton',
1429         rename 'modifiers' to 'keyboardModifiers', remove 'originatingUrl' and
1430         use the enum type for 'action'.
1431
1432         * UIProcess/API/qt/qwebnavigationrequest.cpp:
1433         (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
1434         (QWebNavigationRequestPrivate):
1435         (QWebNavigationRequest::QWebNavigationRequest):
1436         (QWebNavigationRequest::setAction):
1437         (QWebNavigationRequest::mouseButton):
1438         (QWebNavigationRequest::keyboardModifiers):
1439         (QWebNavigationRequest::action):
1440         * UIProcess/API/qt/qwebnavigationrequest_p.h:
1441         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
1442         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
1443         * UIProcess/qt/QtWebPagePolicyClient.cpp:
1444         (QtWebPagePolicyClient::decidePolicyForNavigationAction):
1445         * UIProcess/qt/QtWebPagePolicyClient.h:
1446         (QtWebPagePolicyClient):
1447
1448 2012-02-28  Shinya Kawanaka  <shinyak@chromium.org>
1449
1450         Element should be able to have multiple shadow roots.
1451         https://bugs.webkit.org/show_bug.cgi?id=77931
1452
1453         Reviewed by Hajime Morita.
1454
1455         * win/WebKit2.def:
1456         * win/WebKit2CFLite.def:
1457
1458 2012-02-28  Hugo Parente Lima  <hugo.lima@openbossa.org>
1459
1460         [Qt][WK2] Use movementStarted/Ended signals instead of movingChanged on QtViewportInterationEngine
1461         https://bugs.webkit.org/show_bug.cgi?id=79521
1462
1463         Reviewed by Kenneth Rohde Christiansen.
1464
1465         movingChanged() signal is emitted many times, so the use of movementStarted() and
1466         movementEnded() is a better choice.
1467
1468         * UIProcess/qt/QtFlickProvider.cpp:
1469         (QtFlickProvider::QtFlickProvider):
1470         * UIProcess/qt/QtFlickProvider.h:
1471         (QtFlickProvider):
1472         * UIProcess/qt/QtViewportInteractionEngine.cpp:
1473         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
1474         * UIProcess/qt/QtViewportInteractionEngine.h:
1475         (QtViewportInteractionEngine):
1476
1477 2012-02-27  Shinya Kawanaka  <shinyak@chromium.org>
1478
1479         Element::removeShadowRoot() and setShadowRoot() should be moved into ShadowTree.
1480         https://bugs.webkit.org/show_bug.cgi?id=78313
1481
1482         Reviewed by Hajime Morita.
1483
1484         * win/WebKit2.def:
1485         * win/WebKit2CFLite.def:
1486
1487 2012-02-27  Brady Eidson  <beidson@apple.com>
1488
1489         <rdar://problem/10924993> and https://bugs.webkit.org/show_bug.cgi?id=79725
1490         <a ping> doesn't work in WebKit2
1491
1492         Reviewed by Alexey Proskuryakov.
1493
1494         * WebProcess/WebPage/WebPage.cpp:
1495         (WebKit::WebPage::updatePreferences): Push the WK2 <a ping> setting to WebCore::Settings.
1496
1497 2012-02-27  Enrica Casucci  <enrica@apple.com>
1498
1499         WebKit2: implement platform strategy to access Pasteboard in the UI process.
1500         https://bugs.webkit.org/show_bug.cgi?id=79253
1501         <rdar://problem/9971876>
1502
1503         Reviewed by Alexey Proskuryakov.
1504
1505         * UIProcess/WebContext.h:
1506         * UIProcess/WebContext.messages.in: Added messages to access NSPasteboard
1507         in the UI process.
1508         * UIProcess/mac/WebContextMac.mm: Added methods corresponding to the
1509         new messages.
1510         (WebKit::WebContext::getPasteboardTypes):
1511         (WebKit::WebContext::getPasteboardPathnamesForType):
1512         (WebKit::WebContext::getPasteboardStringForType):
1513         (WebKit::WebContext::getPasteboardBufferForType):
1514         (WebKit::WebContext::pasteboardCopy):
1515         (WebKit::WebContext::getPasteboardChangeCount):
1516         (WebKit::WebContext::getPasteboardUniqueName):
1517         (WebKit::WebContext::getPasteboardColor):
1518         (WebKit::WebContext::setPasteboardTypes):
1519         (WebKit::WebContext::setPasteboardPathnamesForType):
1520         (WebKit::WebContext::setPasteboardStringForType):
1521         (WebKit::WebContext::setPasteboardBufferForType):
1522         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: New implementation of the PasteboardStrategy using message exchange
1523         with the UI process.
1524         (WebKit::WebPlatformStrategies::getTypes):
1525         (WebKit::WebPlatformStrategies::bufferForType):
1526         (WebKit::WebPlatformStrategies::getPathnamesForType):
1527         (WebKit::WebPlatformStrategies::stringForType):
1528         (WebKit::WebPlatformStrategies::copy):
1529         (WebKit::WebPlatformStrategies::changeCount):
1530         (WebKit::WebPlatformStrategies::uniqueName):
1531         (WebKit::WebPlatformStrategies::color):
1532         (WebKit::WebPlatformStrategies::setTypes):
1533         (WebKit::WebPlatformStrategies::setBufferForType):
1534         (WebKit::WebPlatformStrategies::setPathnamesForType):
1535         (WebKit::WebPlatformStrategies::setStringForType):
1536
1537 2012-02-27  Dan Bernstein  <mitz@apple.com>
1538
1539         <rdar://problem/9557598> REGRESSION (WebKit2): Non-activating links sometimes don’t work
1540         https://bugs.webkit.org/show_bug.cgi?id=79607
1541
1542         Reviewed by Adele Peterson.
1543
1544         Test: TestWebKitAPI/Tests/mac/AcceptsFirstMouse.mm
1545
1546         This was caused by not mapping the mouse event coordinates from window coordinates to
1547         document coordinates.
1548
1549         * WebProcess/WebPage/mac/WebPageMac.mm:
1550         (WebKit::WebPage::performDictionaryLookupAtLocation): Convert the point to main frame
1551         coordinates when performing the hit test.
1552         (WebKit::WebPage::shouldDelayWindowOrderingEvent): Convert the point to the main or focused
1553         frame coordinates when perfomring the hit test.
1554         (WebKit::WebPage::acceptsFirstMouse): Ditto.
1555
1556 2012-02-27  Timothy Hatcher  <timothy@apple.com>
1557
1558         Add WKInspector API to know when the Web Inspector is the frontmost window.
1559
1560         Also makes the Safari Develop menu items work when the Web Inspector is frontmost.
1561
1562         https://webkit.org/b/79649
1563
1564         Reviewed by John Sullivan.
1565
1566         * UIProcess/API/C/WKInspector.cpp:
1567         (WKInspectorIsFront): Added. Call WebInspectorProxy::isFront.
1568         * UIProcess/API/C/WKInspector.h:
1569         * UIProcess/WebInspectorProxy.cpp:
1570         (WebKit::WebInspectorProxy::isFront): Added. Call platformIsFront.
1571         * UIProcess/WebInspectorProxy.h:
1572         * UIProcess/efl/WebInspectorEfl.cpp:
1573         (WebKit::WebInspectorProxy::platformIsFront): Added stub.
1574         * UIProcess/gtk/WebInspectorGtk.cpp:
1575         (WebKit::WebInspectorProxy::platformIsFront): Added stub.
1576         * UIProcess/mac/WebInspectorProxyMac.mm:
1577         (-[WKWebInspectorProxyObjCAdapter showWebInspector:]): Added. Makes the Develop menu items in Safari work when
1578         the Web Inspector window is front.
1579         (-[WKWebInspectorProxyObjCAdapter showErrorConsole:]): Added. Ditto.
1580         (-[WKWebInspectorProxyObjCAdapter showResources:]): Added. Ditto.
1581         (-[WKWebInspectorProxyObjCAdapter viewSource:]): Added. Ditto.
1582         (-[WKWebInspectorProxyObjCAdapter toggleDebuggingJavaScript:]): Added. Ditto.
1583         (-[WKWebInspectorProxyObjCAdapter toggleProfilingJavaScript:]): Added. Ditto.
1584         (-[WKWebInspectorProxyObjCAdapter validateUserInterfaceItem:]): Added. Update the menu item titles.
1585         (WebKit::WebInspectorProxy::platformIsFront): Added. Return if visible and the window is main.
1586         * UIProcess/qt/WebInspectorProxyQt.cpp:
1587         (WebKit::WebInspectorProxy::platformIsFront): Added stub.
1588         * UIProcess/win/WebInspectorProxyWin.cpp:
1589         (WebKit::WebInspectorProxy::platformIsFront): Added stub.
1590
1591 2012-02-26  YoungTaeck Song  <youngtaeck.song@samsung.com>
1592
1593         [EFL][WK2] Add InjectedBundleEfl.cpp
1594         https://bugs.webkit.org/show_bug.cgi?id=75463
1595
1596         Reviewed by Andreas Kling.
1597
1598         Add first version of InjectedBundleEfl.cpp including load() and placeholder for activateMacFontAscentHack().
1599
1600         * WebProcess/InjectedBundle/InjectedBundle.h:
1601         * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp:
1602         (WebKit::InjectedBundle::load):
1603         (WebKit::InjectedBundle::activateMacFontAscentHack):
1604
1605 2012-02-26  Shinya Kawanaka  <shinyak@chromium.org>
1606
1607         Rename ShadowRootList to ShadowTree.
1608         https://bugs.webkit.org/show_bug.cgi?id=79342
1609
1610         Reviewed by Hajime Morita.
1611
1612         * win/WebKit2.def:
1613         * win/WebKit2CFLite.def:
1614
1615 2012-02-26  Hajime Morrita  <morrita@chromium.org>
1616
1617         Move ChromeClient::showContextMenu() to ContextMenuClient
1618         https://bugs.webkit.org/show_bug.cgi?id=79427
1619
1620         Reviewed by Adam Barth.
1621
1622         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1623         * WebProcess/WebCoreSupport/WebChromeClient.h:
1624         (WebChromeClient):
1625         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
1626         (WebKit):
1627         (WebKit::WebContextMenuClient::showContextMenu): Moved from WebChromeClient
1628         * WebProcess/WebCoreSupport/WebContextMenuClient.h:
1629         (WebContextMenuClient):
1630         * WebProcess/WebPage/WebPage.cpp:
1631         (WebKit::handleContextMenuEvent):
1632         (WebKit::handleMouseEvent):
1633         (WebKit::WebPage::mouseEvent):
1634         (WebKit::WebPage::mouseEventSyncForTesting):
1635
1636 2012-02-26  Huang Dongsung  <luxtella@company100.net>
1637
1638         Use Functional instead of a MessageQueue for messages to the LayerTreeHostProxy
1639         renderer.
1640         https://bugs.webkit.org/show_bug.cgi?id=79478
1641
1642         This makes a lot of the broilerplate code for message-passing unnecessary, and
1643         results in a much more succinct implementation.
1644
1645         Reviewed by Noam Rosenthal.
1646
1647         * UIProcess/LayerTreeHostProxy.h:
1648         (WebKit):
1649         (LayerTreeHostProxy):
1650         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
1651         (WebKit):
1652         (WebKit::LayerTreeHostProxy::updateTile):
1653         (WebKit::LayerTreeHostProxy::createImage):
1654         (WebKit::LayerTreeHostProxy::syncRemoteContent):
1655         (WebKit::LayerTreeHostProxy::dispatchUpdate):
1656         (WebKit::LayerTreeHostProxy::createTileForLayer):
1657         (WebKit::LayerTreeHostProxy::updateTileForLayer):
1658         (WebKit::LayerTreeHostProxy::removeTileForLayer):
1659         (WebKit::LayerTreeHostProxy::deleteCompositingLayer):
1660         (WebKit::LayerTreeHostProxy::setRootCompositingLayer):
1661         (WebKit::LayerTreeHostProxy::syncCompositingLayerState):
1662         (WebKit::LayerTreeHostProxy::didRenderFrame):
1663         (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
1664         (WebKit::LayerTreeHostProxy::destroyDirectlyCompositedImage):
1665
1666 2012-02-26  Filip Pizlo  <fpizlo@apple.com>
1667
1668         Build fix for SL.
1669
1670         * Platform/mac/RemoteLayerClient.mm:
1671         (WebKit::RemoteLayerClient::RemoteLayerClient):
1672
1673 2012-02-26  Sam Weinig  <sam@webkit.org>
1674
1675         Encapsulate uses of WKSI to setup a remote layer into a new RemoteLayerClient class
1676         https://bugs.webkit.org/show_bug.cgi?id=79612
1677
1678         Reviewed by Anders Carlsson.
1679
1680         * Platform/mac/RemoteLayerClient.h: 
1681         * Platform/mac/RemoteLayerClient.mm: 
1682         (WebKit::RemoteLayerClient::create):
1683         (WebKit::RemoteLayerClient::RemoteLayerClient):
1684         (WebKit::RemoteLayerClient::~RemoteLayerClient):
1685         (WebKit::RemoteLayerClient::clientID):
1686         (WebKit::RemoteLayerClient::invalidate):
1687         New class that encapsulates calls to WKSI WKCARemoteLayerClient*. For platforms
1688         where the use of WKSI is not necessary, due to CARemoteLayerClient being available,
1689         stop using WKSI.
1690
1691         * PluginProcess/PluginControllerProxy.cpp:
1692         * PluginProcess/PluginControllerProxy.h:
1693         * PluginProcess/mac/PluginControllerProxyMac.mm:
1694         (WebKit::PluginControllerProxy::platformInitialize):
1695         (WebKit::PluginControllerProxy::platformDestroy):
1696         (WebKit::PluginControllerProxy::remoteLayerClientID):
1697         (WebKit::PluginControllerProxy::platformGeometryDidChange):
1698         * WebKit2.xcodeproj/project.pbxproj:
1699         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h:
1700         * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
1701         (WebKit::WebFullScreenManagerMac::setRootFullScreenLayer):
1702         (WebKit::WebFullScreenManagerMac::disposeOfLayerClient):
1703         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
1704         (LayerTreeHostCAMac):
1705         * WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
1706         (WebKit::LayerTreeHostCAMac::platformInitialize):
1707         (WebKit::LayerTreeHostCAMac::invalidate):
1708         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1709         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1710         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
1711         Switch to using RemoteLayerClient.
1712
1713         * UIProcess/mac/WebContextMac.mm:
1714         (WebKit::WebContext::platformInitializeWebProcess):
1715         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
1716         (WebKit::PluginProcessProxy::platformInitializePluginProcess):
1717         Use CARemoteLayerServer directly if available.
1718
1719 2012-02-25  Anders Carlsson  <andersca@apple.com>
1720
1721         Address review feedback from Andreas Kling.
1722
1723         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
1724         (WebKit::NetscapePlugin::platformHandleMouseEvent):
1725
1726 2012-02-25  Anders Carlsson  <andersca@apple.com>
1727
1728         Mouse tracking incorrect in Silverlight when using multi monitor with offset arrangement
1729         https://bugs.webkit.org/show_bug.cgi?id=79589
1730         <rdar://problem/9719592>
1731
1732         Reviewed by Sam Weinig.
1733
1734         In the Carbon event model, mouse event coordinates are flipped relative to the first screen,
1735         whereas the coordinates we get from the WebMouseEvent are flipped relative to the screen where
1736         the containing WKView is on.
1737
1738         Instead of passing the global coordinates to NPP_HandleEvent, convert them to the flipped screen coordinate
1739         system that the plug-in expects.
1740
1741         * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
1742         (WebKit::NetscapePlugin::platformHandleMouseEvent):
1743
1744 2012-02-25  Sheriff Bot  <webkit.review.bot@gmail.com>
1745
1746         Unreviewed, rolling out r108900.
1747         http://trac.webkit.org/changeset/108900
1748         https://bugs.webkit.org/show_bug.cgi?id=79587
1749
1750         broke some API tests, will investigate and re-commit
1751         (Requested by noamr on #webkit).
1752
1753         * UIProcess/API/qt/qquickwebpage.cpp:
1754         (computeEffectiveOpacity):
1755         (QQuickWebPagePrivate::paintToCurrentGLContext):
1756         (PageProxyNode::changedStates):
1757         (PageProxyNode::render):
1758         * UIProcess/API/qt/qquickwebpage_p_p.h:
1759         (QQuickWebPagePrivate):
1760
1761 2012-02-25  No'am Rosenthal  <noam.rosenthal@nokia.com>
1762
1763         [Qt] Use the existing inheritedOpacity/matrix properties of QSGNode
1764         https://bugs.webkit.org/show_bug.cgi?id=79543
1765
1766         Use QSGNode::inheritedOpacity() and QSGNode::matrix().
1767         Also, remove flags from changedStates() that we don't actually touch.
1768
1769         Reviewed by Kenneth Rohde Christiansen.
1770
1771         * UIProcess/API/qt/qquickwebpage.cpp:
1772         (QQuickWebPagePrivate::paintToCurrentGLContext):
1773         (PageProxyNode::changedStates):
1774         (PageProxyNode::render):
1775         * UIProcess/API/qt/qquickwebpage_p_p.h:
1776         (QQuickWebPagePrivate):
1777
1778 2012-02-25  Sheriff Bot  <webkit.review.bot@gmail.com>
1779
1780         Unreviewed, rolling out r108816.
1781         http://trac.webkit.org/changeset/108816
1782         https://bugs.webkit.org/show_bug.cgi?id=79562
1783
1784         It made many tests crash and timeout on Qt-WK2 (Requested by
1785         ossy__ on #webkit).
1786
1787         * UIProcess/API/qt/qquickwebview.cpp:
1788         (QQuickWebViewPrivate::QQuickWebViewPrivate):
1789         (QQuickWebViewPrivate::initialize):
1790         (QQuickWebViewPrivate::setIcon):
1791         * UIProcess/API/qt/qquickwebview_p.h:
1792         * UIProcess/API/qt/qquickwebview_p_p.h:
1793         (QQuickWebViewPrivate):
1794         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
1795         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
1796         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
1797         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
1798         (tst_QQuickWebView::loadProgress):
1799         * UIProcess/qt/QtWebPageLoadClient.cpp:
1800         (QtWebPageLoadClient::didCommitLoadForFrame):
1801         (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
1802         (QtWebPageLoadClient::didReceiveTitleForFrame):
1803         (QtWebPageLoadClient::setLoadProgress):
1804         * UIProcess/qt/QtWebPageLoadClient.h:
1805         (QtWebPageLoadClient):
1806
1807 2012-02-24  Andy Estes  <aestes@apple.com>
1808
1809         REGRESSION (r108730): Webkit nightlies fails to start due to WKPreferencesGetSuppressIncrementalRendering renaming
1810         https://bugs.webkit.org/show_bug.cgi?id=79515
1811
1812         Reviewed by Alexey Proskuryakov.
1813
1814         Some versions of Safari contain call sites to two functions in WebKit2
1815         that were removed in r108730. Restore these two functions so that these
1816         versions of Safari can be used with WebKit nightly builds.
1817
1818         * UIProcess/API/C/WKPreferences.cpp:
1819         (WKPreferencesSetSuppressIncrementalRendering):
1820         (WKPreferencesGetSuppressIncrementalRendering):
1821         * UIProcess/API/C/WKPreferences.h:
1822
1823 2012-02-24  Jessie Berlin  <jberlin@apple.com>
1824
1825         requestPermission callback not invoked if the WebProcess doesn't have to ask the UI Process
1826         about the permission level.
1827         https://bugs.webkit.org/show_bug.cgi?id=79494
1828
1829         Reviewed by Jon Honeycutt.
1830
1831         Invoke the callback in the case where the permission level is known and no message is sent
1832         to the UI Process.
1833
1834         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
1835         (WebKit::NotificationPermissionRequestManager::startRequest):
1836
1837 2012-02-24  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1838
1839         [Qt] Signal and property cleanup in QQuickWebView
1840         https://bugs.webkit.org/show_bug.cgi?id=78820
1841
1842         Reviewed by Simon Hausmann.
1843
1844         - Remove parameters from property change notify signals:
1845           titleChanged, urlChanged, iconChanged, loadProgressChanged
1846         - Rename the parameters of linkHovered to prevent shadoing properties of WebView
1847         - Rename navigationStateChanged to navigationHistoryChanged
1848
1849         * UIProcess/API/qt/qquickwebview.cpp:
1850         (QQuickWebViewPrivate::QQuickWebViewPrivate):
1851         (QQuickWebViewPrivate::initialize):
1852         (QQuickWebViewPrivate::_q_onUrlChanged):
1853         (QQuickWebViewPrivate::setIcon):
1854         * UIProcess/API/qt/qquickwebview_p.h:
1855         * UIProcess/API/qt/qquickwebview_p_p.h:
1856         (QQuickWebViewPrivate):
1857         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
1858         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
1859         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
1860         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
1861         (tst_QQuickWebView::loadProgress):
1862         * UIProcess/qt/QtWebPageLoadClient.cpp:
1863         (QtWebPageLoadClient::didCommitLoadForFrame):
1864         (QtWebPageLoadClient::didSameDocumentNavigationForFrame):
1865         (QtWebPageLoadClient::didReceiveTitleForFrame):
1866         (QtWebPageLoadClient::setLoadProgress):
1867         * UIProcess/qt/QtWebPageLoadClient.h:
1868         (QtWebPageLoadClient):
1869
1870 2012-02-24  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1871
1872         [Qt] API: Unify the loading properties and signals.
1873         https://bugs.webkit.org/show_bug.cgi?id=79486
1874
1875         Reviewed by Simon Hausmann.
1876
1877         - Remove the canReload signal, instead assume that calling reload in those cases
1878           won't have any effect.
1879         - Replace loadStarted, loadSucceeded and loadFailed by a single signal: loadingChanged.
1880           The signal carries an argument with a status and error codes giving the intended context.
1881         - Use loadingChanged as the notification signal for the property "loading" instead of
1882           navigationStateChanged.
1883
1884         Also update all API tests to use the new loading signals and add some utility functions
1885         to track the loading since the new API aims to be more adapted to declarative logic
1886         and the auto tests are using an imperative logic.
1887
1888         * Target.pri:
1889         * UIProcess/API/qt/qquickwebview.cpp:
1890         (QQuickWebViewPrivate::QQuickWebViewPrivate):
1891         (QQuickWebViewPrivate::loadDidSucceed):
1892         (QQuickWebViewPrivate::didChangeLoadingState):
1893         (QQuickWebViewPrivate::processDidCrash):
1894         (QQuickWebViewPrivate::didRelaunchProcess):
1895         * UIProcess/API/qt/qquickwebview_p.h:
1896         * UIProcess/API/qt/qquickwebview_p_p.h:
1897         (QQuickWebViewPrivate):
1898         * UIProcess/API/qt/qwebloadrequest.cpp: Added.
1899         (QWebLoadRequestPrivate):
1900         (QWebLoadRequestPrivate::QWebLoadRequestPrivate):
1901         (QWebLoadRequest::QWebLoadRequest):
1902         (QWebLoadRequest::~QWebLoadRequest):
1903         (QWebLoadRequest::url):
1904         (QWebLoadRequest::status):
1905         (QWebLoadRequest::errorString):
1906         (QWebLoadRequest::errorDomain):
1907         (QWebLoadRequest::errorCode):
1908         * UIProcess/API/qt/qwebloadrequest_p.h: Added.
1909         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
1910         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_itemSelector.qml:
1911         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_linkHovered.qml:
1912         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_loadHtml.qml:
1913         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
1914         * UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
1915         * UIProcess/API/qt/tests/qmltests/WebView/tst_favIconLoad.qml:
1916         * UIProcess/API/qt/tests/qmltests/WebView/tst_javaScriptDialogs.qml:
1917         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadFail.qml:
1918         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadHtml.qml:
1919         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgress.qml:
1920         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadProgressSignal.qml:
1921         * UIProcess/API/qt/tests/qmltests/WebView/tst_loadUrl.qml:
1922         * UIProcess/API/qt/tests/qmltests/WebView/tst_navigationHistory.qml:
1923         * UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:
1924         * UIProcess/API/qt/tests/qmltests/WebView/tst_properties.qml:
1925         * UIProcess/API/qt/tests/qmltests/WebView/tst_titleChanged.qml:
1926         * UIProcess/API/qt/tests/qmltests/common/TestWebView.qml: Added.
1927         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
1928         (tst_QQuickWebView::navigationStatusAtStartup):
1929         (LoadStartedCatcher::LoadStartedCatcher):
1930         (LoadStartedCatcher::onLoadingChanged):
1931         (tst_QQuickWebView::stopEnabledAfterLoadStarted):
1932         (tst_QQuickWebView::loadEmptyPageViewHidden):
1933         (tst_QQuickWebView::loadNonexistentFileUrl):
1934         (tst_QQuickWebView::backAndForward):
1935         (tst_QQuickWebView::reload):
1936         (tst_QQuickWebView::stop):
1937         (tst_QQuickWebView::loadProgress):
1938         (tst_QQuickWebView::showWebView):
1939         (tst_QQuickWebView::multipleWebViewWindows):
1940         (tst_QQuickWebView::multipleWebViews):
1941         (tst_QQuickWebView::scrollRequest):
1942         * UIProcess/API/qt/tests/util.cpp:
1943         (LoadSpy):
1944         (LoadSpy::LoadSpy):
1945         (LoadSpy::onLoadingChanged):
1946         (waitForLoadSucceeded):
1947         (waitForLoadFailed):
1948         * UIProcess/API/qt/tests/util.h:
1949         * UIProcess/qt/QtWebError.h:
1950         * UIProcess/qt/QtWebPageLoadClient.cpp:
1951         (QtWebPageLoadClient::didStartProvisionalLoadForFrame):
1952         (QtWebPageLoadClient::dispatchLoadFailed):
1953         * UIProcess/qt/QtWebPageLoadClient.h:
1954         (QtWebPageLoadClient):
1955
1956 2012-02-24  Simon Hausmann  <simon.hausmann@nokia.com>
1957
1958         Unreviewed, rolling out r108798.
1959         http://trac.webkit.org/changeset/108798
1960         https://bugs.webkit.org/show_bug.cgi?id=78047
1961
1962         Broke too many Qt WK2 tests.
1963
1964         * UIProcess/API/qt/qquickwebview.cpp:
1965         (QQuickWebView::keyPressEvent):
1966         (QQuickWebView::keyReleaseEvent):
1967         (QQuickWebView::inputMethodEvent):
1968         (QQuickWebView::focusInEvent):
1969         (QQuickWebView::focusOutEvent):
1970         (QQuickWebView::touchEvent):
1971         (QQuickWebView::mousePressEvent):
1972         (QQuickWebView::mouseMoveEvent):
1973         (QQuickWebView::mouseReleaseEvent):
1974         (QQuickWebView::mouseDoubleClickEvent):
1975         (QQuickWebView::wheelEvent):
1976         (QQuickWebView::hoverEnterEvent):
1977         (QQuickWebView::hoverMoveEvent):
1978         (QQuickWebView::hoverLeaveEvent):
1979         (QQuickWebView::dragMoveEvent):
1980         (QQuickWebView::dragEnterEvent):
1981         (QQuickWebView::dragLeaveEvent):
1982         (QQuickWebView::dropEvent):
1983         (QQuickWebView::event):
1984         * UIProcess/qt/QtWebPageEventHandler.cpp:
1985         (QtWebPageEventHandler::handleEvent):
1986         (QtWebPageEventHandler::handleMouseMoveEvent):
1987         (QtWebPageEventHandler::handleMousePressEvent):
1988         (QtWebPageEventHandler::handleMouseReleaseEvent):
1989         (QtWebPageEventHandler::handleWheelEvent):
1990         (QtWebPageEventHandler::handleHoverLeaveEvent):
1991         (QtWebPageEventHandler::handleHoverMoveEvent):
1992         (QtWebPageEventHandler::handleDragEnterEvent):
1993         (QtWebPageEventHandler::handleDragLeaveEvent):
1994         (QtWebPageEventHandler::handleDragMoveEvent):
1995         (QtWebPageEventHandler::handleDropEvent):
1996         (QtWebPageEventHandler::handleKeyPressEvent):
1997         (QtWebPageEventHandler::handleKeyReleaseEvent):
1998         (QtWebPageEventHandler::handleFocusInEvent):
1999         (QtWebPageEventHandler::handleFocusOutEvent):
2000         (QtWebPageEventHandler::inputMethodEvent):
2001         (QtWebPageEventHandler::touchEvent):
2002         * UIProcess/qt/QtWebPageEventHandler.h:
2003         (QtWebPageEventHandler):
2004
2005 2012-02-24  Simon Hausmann  <simon.hausmann@nokia.com>
2006
2007         [Qt][WK2] QQuickWebView::event should lookup faster which events QQuickWebPage can handle
2008         https://bugs.webkit.org/show_bug.cgi?id=78047
2009
2010         Reviewed by Kenneth Rohde Christiansen.
2011
2012         Replaced double-dispatch of events with direct forwarding of events from QQuickWebView::*Event to
2013         QtWebPageEventHandler::handle*Event.
2014
2015         * UIProcess/API/qt/qquickwebview.cpp:
2016         (QQuickWebView::keyPressEvent):
2017         (QQuickWebView::keyReleaseEvent):
2018         (QQuickWebView::inputMethodEvent):
2019         (QQuickWebView::focusInEvent):
2020         (QQuickWebView::focusOutEvent):
2021         (QQuickWebView::touchEvent):
2022         (QQuickWebView::mousePressEvent):
2023         (QQuickWebView::mouseMoveEvent):
2024         (QQuickWebView::mouseReleaseEvent):
2025         (QQuickWebView::mouseDoubleClickEvent):
2026         (QQuickWebView::wheelEvent):
2027         (QQuickWebView::hoverEnterEvent):
2028         (QQuickWebView::hoverMoveEvent):
2029         (QQuickWebView::hoverLeaveEvent):
2030         (QQuickWebView::dragMoveEvent):
2031         (QQuickWebView::dragEnterEvent):
2032         (QQuickWebView::dragLeaveEvent):
2033         (QQuickWebView::dropEvent):
2034         (QQuickWebView::event):
2035         * UIProcess/qt/QtWebPageEventHandler.cpp:
2036         (QtWebPageEventHandler::handleMouseMoveEvent):
2037         (QtWebPageEventHandler::handleMousePressEvent):
2038         (QtWebPageEventHandler::handleMouseReleaseEvent):
2039         (QtWebPageEventHandler::handleWheelEvent):
2040         (QtWebPageEventHandler::handleHoverLeaveEvent):
2041         (QtWebPageEventHandler::handleHoverMoveEvent):
2042         (QtWebPageEventHandler::handleDragEnterEvent):
2043         (QtWebPageEventHandler::handleDragLeaveEvent):
2044         (QtWebPageEventHandler::handleDragMoveEvent):
2045         (QtWebPageEventHandler::handleDropEvent):
2046         (QtWebPageEventHandler::handleKeyPressEvent):
2047         (QtWebPageEventHandler::handleKeyReleaseEvent):
2048         (QtWebPageEventHandler::handleFocusInEvent):
2049         (QtWebPageEventHandler::handleFocusOutEvent):
2050         (QtWebPageEventHandler::handleInputMethodEvent):
2051         (QtWebPageEventHandler::handleTouchEvent):
2052         * UIProcess/qt/QtWebPageEventHandler.h:
2053         (QtWebPageEventHandler):
2054
2055 2012-02-24  Simon Hausmann  <simon.hausmann@nokia.com>
2056
2057         [Qt] Use private QSGRenderNode in QQuickWebView for improved Qt Scene Graph integration
2058         https://bugs.webkit.org/show_bug.cgi?id=79022
2059
2060         Reviewed by Csaba Osztrogonác.
2061
2062         * Target.pri:
2063         * UIProcess/API/qt/qquickwebpage.cpp:
2064         (PageProxyNode::PageProxyNode):
2065         (PageProxyNode::changedStates):
2066         (PageProxyNode::render):
2067         (PageProxyNode):
2068
2069 2012-02-24  Carlos Garcia Campos  <cgarcia@igalia.com>
2070
2071         [GTK] Encode/decode Null ResourceResponse objects in WebKit2
2072         https://bugs.webkit.org/show_bug.cgi?id=79471
2073
2074         Reviewed by Philippe Normand.
2075
2076         * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
2077         (CoreIPC::::encode): Check whether ResourceResponse is Null before
2078         encoding it.
2079         (CoreIPC::::decode): Check whether response is Null and create a
2080         Null ResourceResponse object in such case.
2081
2082 2012-02-24  Shinya Kawanaka  <shinyak@chromium.org>
2083
2084         SpellCheckRequest needs to know the context where the spellcheck happened.
2085         https://bugs.webkit.org/show_bug.cgi?id=79320
2086
2087         Reviewed by Hajime Morita.
2088
2089         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2090         (WebKit::WebEditorClient::requestCheckingOfString):
2091         * WebProcess/WebCoreSupport/WebEditorClient.h:
2092
2093 2012-02-23  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2094
2095         [Qt] Tiling: Improve the method names dealing with moving and scaling.
2096
2097         Rubberstamped by Simon Hausmann.
2098
2099         * UIProcess/API/qt/qquickwebview.cpp:
2100         (QQuickWebViewLegacyPrivate::updateViewportSize):
2101         (QQuickWebViewFlickablePrivate::onComponentComplete):
2102         (QQuickWebViewFlickablePrivate::updateViewportSize):
2103         (QQuickWebViewFlickablePrivate::_q_commitScaleChange):
2104         (QQuickWebViewPrivate::_q_commitPositionChange):
2105         (QQuickWebViewFlickablePrivate::_q_resume):
2106         * UIProcess/API/qt/qquickwebview_p.h:
2107         * UIProcess/API/qt/qquickwebview_p_p.h:
2108         (QQuickWebViewPrivate):
2109         (QQuickWebViewPrivate::_q_commitScaleChange):
2110         (QQuickWebViewFlickablePrivate):
2111         * UIProcess/DrawingAreaProxy.h:
2112         (WebKit::DrawingAreaProxy::setVisibleContentsRectForScaling):
2113         (WebKit::DrawingAreaProxy::setVisibleContentsRectForPanning):
2114         * UIProcess/DrawingAreaProxyImpl.cpp:
2115         (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectForScaling):
2116         (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectForPanning):
2117         * UIProcess/DrawingAreaProxyImpl.h:
2118         (DrawingAreaProxyImpl):
2119         * UIProcess/LayerTreeHostProxy.h:
2120         (LayerTreeHostProxy):
2121         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2122         (WebKit::LayerTreeHostProxy::setVisibleContentsRectForPanning):
2123         (WebKit::LayerTreeHostProxy::setVisibleContentsRectForScaling):
2124         * UIProcess/qt/QtViewportInteractionEngine.cpp:
2125         (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
2126         (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
2127         (WebKit::QtViewportInteractionEngine::wheelEvent):
2128         (WebKit::QtViewportInteractionEngine::pinchGestureStarted):
2129         * UIProcess/qt/QtViewportInteractionEngine.h:
2130         (QtViewportInteractionEngine):
2131         * WebProcess/WebPage/LayerTreeHost.h:
2132         (WebKit::LayerTreeHost::setVisibleContentsRectForScaling):
2133         (WebKit::LayerTreeHost::setVisibleContentsRectForPanning):
2134         (WebKit::LayerTreeHost::setVisibleContentsRectForLayer):
2135         * WebProcess/WebPage/LayerTreeHost.messages.in:
2136         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2137         (WebKit::LayerTreeHostQt::setVisibleContentsRectForScaling):
2138         (WebKit::LayerTreeHostQt::setVisibleContentsRectForPanning):
2139         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
2140         (LayerTreeHostQt):
2141
2142 2012-02-24  Sergio Villar Senin  <svillar@igalia.com>
2143
2144         [WK2] [GTK] Destructor not invoked in EditorClientFrameDestructionObserver
2145         https://bugs.webkit.org/show_bug.cgi?id=79466
2146
2147         Reviewed by Philippe Normand.
2148
2149         Explicitly cast the observer before deleting it instead of just
2150         deleting a generic pointer. We must to that in order to get the
2151         destructor of the object properly called.
2152
2153         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
2154         (WebKit::EditorClientFrameDestructionObserver::destroyOnClosureFinalization):
2155
2156 2012-02-23  Andy Estes  <aestes@apple.com>
2157
2158         Rename [setS|s]uppressIncrementalRendering to [setS|s]uppressesIncrementalRendering and make it WebPreferences API.
2159         https://bugs.webkit.org/show_bug.cgi?id=79433
2160
2161         Reviewed by Dan Bernstein.
2162
2163         * Shared/WebPreferencesStore.h:
2164         (WebKit):
2165         * UIProcess/API/C/WKPreferences.cpp:
2166         (WKPreferencesSetSuppressesIncrementalRendering):
2167         (WKPreferencesGetSuppressesIncrementalRendering):
2168         * UIProcess/API/C/WKPreferences.h:
2169         * UIProcess/WebInspectorProxy.cpp:
2170         (WebKit::createInspectorPageGroup):
2171         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2172         (WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
2173         * WebProcess/WebPage/WebPage.cpp:
2174         (WebKit::WebPage::updatePreferences):
2175
2176 2012-02-23  Mario Sanchez Prada  <msanchez@igalia.com>
2177
2178         [GTK] Wrong signal name on emission in WebKitWindowProperties.cpp
2179         https://bugs.webkit.org/show_bug.cgi?id=79352
2180
2181         Reviewed by Philippe Normand.
2182
2183         Emit the signal 'resizable' instead of 'resizable-visible'.
2184
2185         * UIProcess/API/gtk/WebKitWindowProperties.cpp:
2186         (webkitWindowPropertiesSetResizable): Use right signal name.
2187
2188 2012-02-23  Anders Carlsson  <andersca@apple.com>
2189
2190         Flush layer changes after layout when resizing web page
2191         https://bugs.webkit.org/show_bug.cgi?id=79399
2192         <rdar://problem/10920157>
2193
2194         Reviewed by Andreas Kling.
2195
2196         Flush layer changes after layout, otherwise the scrollbars won't be updated
2197         until sometime later which looks bad.
2198
2199         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2200         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
2201
2202 2012-02-23  Daniel Bates  <dbates@webkit.org>
2203
2204         Add missing "Reviewed by" line to change log entry for changeset r108631
2205         (https://bugs.webkit.org/show_bug.cgi?id=79252)
2206
2207         The patch landed in changeset r108631 was reviewed by Martin Robinson.
2208
2209         * ChangeLog:
2210
2211 2012-02-23  Patrick Gansterer  <paroga@webkit.org>
2212
2213         [CMake] Add WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS macro
2214         https://bugs.webkit.org/show_bug.cgi?id=79371
2215
2216         Reviewed by Daniel Bates.
2217
2218         * CMakeLists.txt:
2219
2220 2012-02-23  Simon Hausmann  <simon.hausmann@nokia.com>
2221
2222         [Qt] Add support for touch cancellation
2223         https://bugs.webkit.org/show_bug.cgi?id=79348
2224
2225         Reviewed by Kenneth Rohde Christiansen.
2226
2227         Convert and forward incoming touch cancellation events
2228         to the web process.
2229
2230         * Shared/qt/WebEventFactoryQt.cpp:
2231         (WebKit::webEventTypeForEvent):
2232         (WebKit::WebEventFactory::createWebTouchEvent):
2233         * UIProcess/API/qt/qquickwebview.cpp:
2234         (QQuickWebView::event):
2235         * UIProcess/qt/QtWebPageEventHandler.cpp:
2236         (QtWebPageEventHandler::handleEvent):
2237
2238 2012-02-23  Brent Fulgham  <bfulgham@webkit.org>
2239
2240         [WinCairo] Build fix after r108428.
2241
2242         * win/WebKit2CFLite.def: Add missing export declaration.
2243
2244 2012-02-23  Simon Hausmann  <simon.hausmann@nokia.com>
2245
2246         Unreviewed test fix after r108614: Adjust public API after changes.
2247
2248         * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2249
2250 2012-02-23  Simon Hausmann  <simon.hausmann@nokia.com>
2251
2252         [Qt] Build fix. Qt WebKit2 can not be compiled due to QtWebPageEventHandler.
2253         https://bugs.webkit.org/show_bug.cgi?id=79335
2254
2255         Reviewed by Kenneth Rohde Christiansen.
2256
2257         In the upcoming Qt 5 builds the convenient setInputMethodHints method on QQuickItem
2258         will be removed. There's no need for us to use it, we can implement passing the hints
2259         to the input method right away in our re-implementation of inputMethodQuery, which works
2260         with old and newer Qt 5 builds.
2261
2262         * UIProcess/API/qt/qquickwebview.cpp:
2263         (QQuickWebView::inputMethodQuery):
2264         * UIProcess/qt/QtWebPageEventHandler.cpp:
2265         (QtWebPageEventHandler::updateTextInputState):
2266
2267 2012-02-23  Sergio Villar Senin  <svillar@igalia.com>
2268
2269         [WK2][GTK] WebProcess SIGSEVs due to incorrect clipboard handling
2270         https://bugs.webkit.org/show_bug.cgi?id=79252
2271
2272         Reviewed by Martin Robinson.
2273
2274         Do not execute clipboard callbacks after the Frame associated with
2275         it is destroyed.
2276
2277         This change is already covered by the TestWebViewEditor unit tests
2278         (among others), they hang (because WebProcess dies) without this
2279         patch in Debug builds.
2280
2281         * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
2282         (EditorClientFrameDestructionObserver):
2283         (WebKit::EditorClientFrameDestructionObserver::EditorClientFrameDestructionObserver):
2284         (WebKit::EditorClientFrameDestructionObserver::frameDestroyed):
2285         (WebKit::EditorClientFrameDestructionObserver::destroyOnClosureFinalization):
2286         (WebKit):
2287         (WebKit::WebEditorClient::setSelectionPrimaryClipboardIfNeeded):
2288
2289 2012-02-23  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2290
2291         [Qt] Page doesn't get repainted while panning is in progress
2292         https://bugs.webkit.org/show_bug.cgi?id=78602
2293
2294         Reviewed by Simon Hausmann.
2295
2296         The tiling code needed the current visibleContentsRect in order to be
2297         able to create tiles, so we now make sure it gets it. We also needed
2298         to make sure to set the trajectory vector while panning and while the
2299         flicking engine was animating kinetic scrolling.
2300
2301         * UIProcess/API/qt/qquickwebview.cpp:
2302         (QQuickWebViewFlickablePrivate::_q_updateVisibleContentRectAndScale):
2303         (QQuickWebViewPrivate::_q_viewportTrajectoryVectorChanged):
2304         * UIProcess/DrawingAreaProxy.h:
2305         (WebKit::DrawingAreaProxy::setVisibleContentRectTrajectoryVector):
2306         * UIProcess/DrawingAreaProxyImpl.cpp:
2307         (WebKit::DrawingAreaProxyImpl::setVisibleContentRectTrajectoryVector):
2308         * UIProcess/DrawingAreaProxyImpl.h:
2309         (DrawingAreaProxyImpl):
2310         * UIProcess/LayerTreeHostProxy.h:
2311         (LayerTreeHostProxy):
2312         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2313         (WebKit::LayerTreeHostProxy::setVisibleContentRectTrajectoryVector):
2314         * UIProcess/qt/QtViewportInteractionEngine.cpp:
2315         (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
2316         (WebKit::QtViewportInteractionEngine::flickableMovingStateChanged):
2317         (WebKit):
2318         (WebKit::QtViewportInteractionEngine::panMoveStarted):
2319         (WebKit::QtViewportInteractionEngine::panMoveEnded):
2320         (WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
2321         (WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
2322         * UIProcess/qt/QtViewportInteractionEngine.h:
2323         (QtViewportInteractionEngine):
2324         * WebProcess/WebPage/LayerTreeHost.h:
2325         (WebKit::LayerTreeHost::setVisibleContentRectTrajectoryVector):
2326         * WebProcess/WebPage/LayerTreeHost.messages.in:
2327         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
2328         (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
2329         (WebKit::LayerTreeHostQt::setVisibleContentRectTrajectoryVector):
2330         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
2331         (LayerTreeHostQt):
2332
2333 2012-02-23  Patrick Gansterer  <paroga@webkit.org>
2334
2335         [CMAKE][WK2] Cleanup WebKit2/CMakeLists.txt.
2336         https://bugs.webkit.org/show_bug.cgi?id=76122
2337
2338         Reviewed by Eric Seidel.
2339
2340         * CMakeLists.txt: Removed hardcoded WTF_USE_JSC preprocessor definition.
2341
2342 2012-02-23  Simon Hausmann  <simon.hausmann@nokia.com>
2343
2344         [WK2] Trivial build fix after r108615.
2345
2346         * WebProcess/WebPage/WebPage.cpp:
2347         (WebKit::WebPage::WebPage):
2348
2349 2012-02-22  Michael Tyutyunik  <michael.tyutyunik@nokia.com>
2350
2351         [Qt][WK2] navigationType is missing in new API
2352         https://bugs.webkit.org/show_bug.cgi?id=78867
2353
2354         Reviewed by Simon Hausmann.
2355
2356         In QtWebPagePolicyClient::decidePolicyForNavigationAction()
2357         navigationType argument is dropped by mistake. Adding it back
2358         and make it available through NavigationRequest.
2359
2360         * UIProcess/API/qt/qquickwebview_p.h:
2361         * UIProcess/API/qt/qwebnavigationrequest.cpp:
2362         (QWebNavigationRequestPrivate::QWebNavigationRequestPrivate):
2363         (QWebNavigationRequestPrivate):
2364         (QWebNavigationRequest::QWebNavigationRequest):
2365         (QWebNavigationRequest::navigationType):
2366         * UIProcess/API/qt/qwebnavigationrequest_p.h:
2367         * UIProcess/qt/QtWebPagePolicyClient.cpp:
2368         (QtWebPagePolicyClient::decidePolicyForNavigationAction):
2369         (toQuickWebViewNavigationType):
2370         * UIProcess/qt/QtWebPagePolicyClient.h:
2371         (QtWebPagePolicyClient):
2372
2373 2012-02-22  Anders Carlsson  <andersca@apple.com>
2374
2375         Implement TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange
2376         https://bugs.webkit.org/show_bug.cgi?id=79297
2377         <rdar://problem/10748510>
2378
2379         Reviewed by Beth Dakin.
2380
2381         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
2382         (WebKit::TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange):
2383         Send a message to the web process.
2384
2385         * WebProcess/WebPage/DrawingArea.h:
2386         (WebKit::DrawingArea::setDeviceScaleFactor):
2387         Add empty stub.
2388
2389         * WebProcess/WebPage/DrawingArea.messages.in:
2390         Add SetDeviceScaleFactor message.
2391
2392         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2393         (WebKit::TiledCoreAnimationDrawingArea::setDeviceScaleFactor):
2394         Call WebPage::setDeviceScaleFactor.
2395
2396 2012-02-22  Brady Eidson  <beidson@apple.com>
2397
2398         <rdar://problem/10406044> and https://bugs.webkit.org/show_bug.cgi?id=79279
2399         Synchronous ShouldGoToBackForwardListItem causes lots of WebProcess hangs
2400
2401         Reviewed by Anders Carlsson.
2402
2403         Anytime the WebProcess sends a sync message up to the UI Process a hang can ensue.
2404         
2405         In the case of shouldGoToBackForwardListItem it seems many clients want a back/forward
2406         notification but don't actually want to make a policy decision.
2407
2408         Making it an asynchronous notification instead of a synchronous policy call will remove the
2409         possibility of a hang here.
2410
2411         If clients later decide it is important to have a policy here we should implement a form of
2412         shouldGoToBackForwardListItem in the bundle loader client.
2413
2414         Add a notification "willGoToBackForwardListItem" to the WKPageLoaderClient:
2415         * UIProcess/API/C/WKPage.h:
2416
2417         * UIProcess/WebPageProxy.cpp:
2418         (WebKit::WebPageProxy::initializeLoaderClient): Tell the WebProcess whether it should be
2419           sending the shouldGoToBackForwardListItem or willGoToBackForwardListItem form of this message.
2420         (WebKit::WebPageProxy::shouldGoToBackForwardListItem): 
2421         (WebKit::WebPageProxy::willGoToBackForwardListItem):
2422         * UIProcess/WebPageProxy.h:
2423         * UIProcess/WebPageProxy.messages.in: Add an asynchronous WillGoToBackForwardListItem message
2424
2425         Store a flag in the WebProcess - Sent from the UIProcess - to tell the FrameLoaderClient which form 
2426         of the callback should be used:
2427         * WebProcess/WebPage/WebPage.cpp:
2428         (WebKit::WebPage::WebPage):
2429         * WebProcess/WebPage/WebPage.h:
2430         (WebKit::WebPage::willGoToBackForwardItemCallbackEnabled):
2431         (WebKit::WebPage::setWillGoToBackForwardItemCallbackEnabled):
2432         * WebProcess/WebPage/WebPage.messages.in:
2433
2434         * UIProcess/WebLoaderClient.cpp:
2435         (WebKit::WebLoaderClient::shouldGoToBackForwardListItem): Only consider calling this for
2436           version 0 clients.
2437         (WebKit::WebLoaderClient::willGoToBackForwardListItem): Later clients get this callback.
2438         * UIProcess/WebLoaderClient.h:
2439         (WebLoaderClient):
2440         
2441         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2442         (WebKit::WebFrameLoaderClient::shouldGoToHistoryItem): Send either the synchronous "should" message
2443           or the asynchronous "will" message depending on which the WebProcess was last told that the
2444           UIProcess expects. There is an edge case where the wrong one might be sent because the WebProcess
2445           hasn't received the message about a change in the WKPageLoaderClient yet but that's probably okay;
2446           It seems unlikely that a UIProcess client would ever rapidly change between v0 and other versions
2447           of the loader client and the UIProcess of WebKit2 is equipped to handle that case if it comes up.
2448
2449 2012-02-16  Jon Lee  <jonlee@apple.com>
2450
2451         [WK2] Clearing notifications does not clean up internal state
2452         https://bugs.webkit.org/show_bug.cgi?id=78861
2453         <rdar://problem/10881167>
2454
2455         Reviewed by Anders Carlsson.
2456
2457         * WebProcess/Notifications/WebNotificationManager.cpp:
2458         (WebKit::WebNotificationManager::clearNotifications): This function was missing removing the notification
2459         entries from the other maps.
2460         (WebKit::WebNotificationManager::didDestroyNotification): When the notification is destroyed, it should
2461         also be removed from the context map.
2462         (WebKit::WebNotificationManager::didCloseNotifications): Refactor to pull out the code that removes
2463         a provided notification from the context map.
2464         (WebKit::WebNotificationManager::removeNotificationFromContextMap): Find the notification in the map, and
2465         remove it. If the map is empty, get rid of the entry.
2466         * WebProcess/Notifications/WebNotificationManager.h:
2467         (WebNotificationManager):
2468
2469 2012-02-22  Jon Lee  <jonlee@apple.com>
2470
2471         Code cleanup in WebNotificationManager (79285)
2472         https://bugs.webkit.org/show_bug.cgi?id=79285
2473         <rdar://problem/10914522>
2474
2475         Reviewed by Anders Carlsson.
2476
2477         * WebProcess/Notifications/WebNotificationManager.cpp:
2478         (WebKit::WebNotificationManager::show): Simplify adding a blank vector to the map using .add(),
2479         similar to what is found in WebNotificationClient.mm in WebKit 1.
2480
2481 2012-02-21  Ryosuke Niwa  <rniwa@webkit.org>
2482
2483         Remove the remaining uses of CSSStyleDeclaration in Editor
2484         https://bugs.webkit.org/show_bug.cgi?id=78939
2485
2486         Reviewed by Enrica Casucci.
2487
2488         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2489         (WebKit::WebEditorClient::shouldApplyStyle):
2490         * WebProcess/WebCoreSupport/WebEditorClient.h:
2491         (WebEditorClient):
2492
2493 2012-02-22  Martin Robinson  <mrobinson@igalia.com>
2494
2495         [GTK] Clean build is broken when using make -j
2496         https://bugs.webkit.org/show_bug.cgi?id=76388
2497
2498         * GNUmakefile.am: Add some WebKit2 sources to global sources lists
2499         so that we can refer to them in separate GNUmakefiles.
2500
2501 2012-02-22  Antaryami Pandia  <antaryami.pandia@motorola.com>
2502
2503         [GTK][WK2] Add WebGL WebSetting.
2504         https://bugs.webkit.org/show_bug.cgi?id=79217
2505
2506         Reviewed by Martin Robinson.
2507
2508         Add a WebSetting to enable/disable Webgl.
2509
2510         * UIProcess/API/gtk/WebKitSettings.cpp:
2511         (webKitSettingsSetProperty):
2512         (webKitSettingsGetProperty):
2513         (webkit_settings_class_init):
2514         (webkit_settings_set_enable_webaudio):
2515         (webkit_settings_get_enable_webgl):
2516         (webkit_settings_set_enable_webgl):
2517         * UIProcess/API/gtk/WebKitSettings.h:
2518         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
2519         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
2520         (testWebKitSettings):
2521
2522 2012-02-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2523
2524         [Qt] Disregard previous backing store as soon as possible
2525         https://bugs.webkit.org/show_bug.cgi?id=79232
2526
2527         Reviewed by Simon Hausmann and No'am Rosenthal.
2528
2529         Between creating the new backing store and painting the content,
2530         we do not want to drop the previous one as that might result in
2531         briefly seeing flickering as the old tiles may be dropped before
2532         something replaces them.
2533
2534         But we do need to drop it at some point and we need to make sure
2535         to not spike the memory usage before of this.
2536
2537         What we now do, is to store the previous backing store as before,
2538         but drop all tiles which are not visible and then drop it as soon
2539         as the visible rect (which might change due if followed by a quick
2540         panning) has been fully covered by tiles.
2541
2542         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2543         (WebCore::WebGraphicsLayer::setContentsScale):
2544         (WebCore::WebGraphicsLayer::updateContentBuffers):
2545
2546 2012-02-22  Michael Brüning  <michael.bruning@nokia.com>
2547
2548         [Qt][WK2] Implement proxy authentication handling.
2549         https://bugs.webkit.org/show_bug.cgi?id=78792
2550
2551         Reviewed by Simon Hausmann.
2552
2553         This patch corrects two bugs with the previous implementation:
2554         1. The signal proxyAuthenticationRequired was not connected to a
2555            slot.
2556         2. The slot onProxyAuthenticationRequired had the wrong parameters. 
2557
2558         * WebProcess/qt/QtNetworkAccessManager.cpp:
2559         (WebKit::QtNetworkAccessManager::QtNetworkAccessManager):
2560         (WebKit::QtNetworkAccessManager::onProxyAuthenticationRequired):
2561         * WebProcess/qt/QtNetworkAccessManager.h: Added include.
2562         (QtNetworkAccessManager):
2563
2564 2012-02-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2565
2566         Merge setVisibleRectTrajectoryVector and adjustVisibleRect to
2567         the more descriptive coverWithTilesIfNeeded
2568         https://bugs.webkit.org/show_bug.cgi?id=79230
2569
2570         Reviewed by Simon Hausmann.
2571
2572         Replace use by coverWithTilesIfNeeded().
2573
2574         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2575         (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
2576         (WebCore::WebGraphicsLayer::adjustVisibleRect):
2577         (WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
2578
2579 2012-02-22  Zalan Bujtas  <zbujtas@gmail.com>
2580
2581         [Qt][WK2] Add frame flattening setting to QWebPreferences.
2582         https://bugs.webkit.org/show_bug.cgi?id=79099
2583
2584         Reviewed by Simon Hausmann.
2585
2586         Frame flattening is enabled by default for Qt WebKit2.
2587
2588         * UIProcess/API/qt/qquickwebview.cpp:
2589         (QQuickWebViewPrivate::initialize):
2590         * UIProcess/API/qt/qwebpreferences.cpp:
2591         (QWebPreferencesPrivate::testAttribute):
2592         (QWebPreferencesPrivate::setAttribute):
2593         (QWebPreferences::setNavigatorQtObjectEnabled):
2594         (QWebPreferences::frameFlatteningEnabled):
2595         (QWebPreferences::setFrameFlatteningEnabled):
2596         * UIProcess/API/qt/qwebpreferences_p.h:
2597
2598 2012-02-22  Ryosuke Niwa  <rniwa@webkit.org>
2599
2600         Remove the remaining uses of CSSStyleDeclaration in Editor
2601         https://bugs.webkit.org/show_bug.cgi?id=78939
2602
2603         Reviewed by Enrica Casucci.
2604
2605         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2606         (WebKit::WebEditorClient::shouldApplyStyle):
2607         * WebProcess/WebCoreSupport/WebEditorClient.h:
2608         (WebEditorClient):
2609
2610 2012-02-21  Carlos Garcia Campos  <cgarcia@igalia.com>
2611
2612         [GTK] Null ResourceErrors are encoded/decoded as empty ResourceErrors
2613         https://bugs.webkit.org/show_bug.cgi?id=79120
2614
2615         Reviewed by Martin Robinson.
2616
2617         * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
2618         (CoreIPC::::encode): Encode a boolean to indicate whether it's a
2619         Null error.
2620         (CoreIPC::::decode): Check whether the error is Null and do not
2621         continue decoding in such case.
2622
2623 2012-02-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
2624
2625         [Qt][WK2] Draw tiles of previous contents-scale for opaque layers if they don't intersect with previous tiles
2626         https://bugs.webkit.org/show_bug.cgi?id=78962
2627
2628         Only avoid painting old-scale tiles in semi-transparent situtations if the old
2629         tiles intersect with existing tiles.
2630
2631         Reviewed by Kenneth Rohde Christiansen.
2632
2633         * UIProcess/qt/LayerBackingStore.cpp:
2634         (WebKit::LayerBackingStore::paintToTextureMapper):
2635
2636 2012-02-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
2637
2638         [Qt] Previous web page appears outside content rect
2639         https://bugs.webkit.org/show_bug.cgi?id=78816
2640
2641         Apply a clip on painted tiles if some of the tiles fall outside of the target rect.
2642
2643         Reviewed by Kenneth Rohde Christiansen.
2644
2645         * UIProcess/qt/LayerBackingStore.cpp:
2646         (WebKit::LayerBackingStore::paintToTextureMapper):
2647
2648 2012-02-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
2649
2650         [Qt][WK2] Accelerated animations don't work on Mac
2651         https://bugs.webkit.org/show_bug.cgi?id=78963
2652
2653         Problem came from using a non-RunLoop timer.
2654         Remove the unused viewportUpdateTimer, and use the existing animationTimer instead.
2655         Use a continuous timer that we only stop when animations stop.
2656
2657         Reviewed by Kenneth Rohde Christiansen.
2658
2659         * UIProcess/LayerTreeHostProxy.h:
2660         (LayerTreeHostProxy):
2661         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2662         (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
2663         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
2664         (WebKit):
2665         (WebKit::LayerTreeHostProxy::syncAnimations):
2666
2667 2012-02-21  Sam Weinig  <sam@webkit.org>
2668
2669         Attempt to fix the Snow Leopard build.
2670
2671         * Configurations/Base.xcconfig:
2672
2673 2012-02-21  Sam Weinig  <sam@webkit.org>
2674
2675         Use libc++ when building with Clang on Mac
2676         https://bugs.webkit.org/show_bug.cgi?id=78981
2677
2678         Reviewed by Dan Bernstein.
2679
2680         * Configurations/Base.xcconfig:
2681
2682 2012-02-21  Andras Becsi  <andras.becsi@nokia.com>
2683
2684         [Qt][WK2] Get rid of the dependency to QtWidgets
2685         https://bugs.webkit.org/show_bug.cgi?id=76276
2686
2687         Reviewed by Simon Hausmann.
2688
2689         * Target.pri:
2690         * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
2691         (main):
2692         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2693         * UIProcess/API/qt/tests/tests.pri:
2694         * UIProcess/API/qt/tests/util.h:
2695
2696 2012-02-20  Martin Robinson  <mrobinson@igalia.com>
2697
2698         [UNIX] Plugin information fields are not interpreted as UTF-8
2699         https://bugs.webkit.org/show_bug.cgi?id=78635
2700
2701         Reviewed by Gustavo Noronha Silva.
2702
2703         Interpret plugin metadata as UTF8 aways. This matches the behavior
2704         of Chromium and the Totem plugin.
2705
2706         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
2707         (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin): Use String::fromUTF8.
2708
2709 2012-02-20  Carlos Garcia Campos  <cgarcia@igalia.com>
2710
2711         [GTK] Adding SOUP_TYPE_PROXY_RESOLVER_DEFAULT feature to soup session makes WebProcess to hang
2712         https://bugs.webkit.org/show_bug.cgi?id=79036
2713
2714         Reviewed by Martin Robinson.
2715
2716         This looks like a bug in gobject. Initializing the WebProcess
2717         before creating the soup session seems to fix the problem. It's
2718         actually a workaround, but initializing the WebProcess as sson as
2719         possible it's a good idea in any case.
2720
2721         * WebProcess/gtk/WebProcessMainGtk.cpp:
2722         (WebKit::WebProcessMainGtk):
2723
2724 2012-02-20  Michael Brüning  <michael.bruning@nokia.com>
2725
2726         [Qt][WK2] Implement proxy authentication handling.
2727         https://bugs.webkit.org/show_bug.cgi?id=78792
2728
2729         Reviewed by Simon Hausmann.
2730
2731         This patch implements the proxy authentication handling
2732         for the Qt port in a similar matter to the http authentication
2733         implementation.
2734
2735         Since there is a need to pass the proxy port, which is of type uint16_t,
2736         from the WebProcess to the UIProcess, an encoder and a decoder for
2737         this type was added because it did not exist.
2738         
2739         The message that was added to the WebPageProxy is called synchronously
2740         as this is needed by the implementation of the network access manager
2741         and has also been implemented this way already for the http 
2742         authentication.
2743
2744         * Platform/CoreIPC/ArgumentDecoder.cpp:
2745         (CoreIPC::ArgumentDecoder::decodeUInt16):
2746         (CoreIPC):
2747         * Platform/CoreIPC/ArgumentDecoder.h:
2748         (ArgumentDecoder):
2749         (CoreIPC::ArgumentDecoder::decode):
2750         (CoreIPC):
2751         * Platform/CoreIPC/ArgumentEncoder.cpp:
2752         (CoreIPC::ArgumentEncoder::encodeUInt16):
2753         (CoreIPC):
2754         * Platform/CoreIPC/ArgumentEncoder.h:
2755         (ArgumentEncoder):
2756         (CoreIPC::ArgumentEncoder::encode):
2757         (CoreIPC):
2758         * UIProcess/API/qt/qquickwebview.cpp:
2759         (QQuickWebViewPrivate::QQuickWebViewPrivate):
2760         (QQuickWebViewPrivate::handleProxyAuthenticationRequiredRequest):
2761         (QQuickWebViewExperimental::proxyAuthenticationDialog):
2762         (QQuickWebViewExperimental::setProxyAuthenticationDialog):
2763         * UIProcess/API/qt/qquickwebview_p.h:
2764         * UIProcess/API/qt/qquickwebview_p_p.h:
2765         (QQuickWebViewPrivate):
2766         * UIProcess/PageClient.h:
2767         (PageClient):
2768         * UIProcess/WebPageProxy.cpp:
2769         (WebKit::WebPageProxy::proxyAuthenticationRequiredRequest):
2770         (WebKit):
2771         * UIProcess/WebPageProxy.h:
2772         (WebPageProxy):
2773         * UIProcess/WebPageProxy.messages.in:
2774         * UIProcess/qt/QtDialogRunner.cpp:
2775         (ProxyAuthenticationDialogContextObject):
2776         (ProxyAuthenticationDialogContextObject::ProxyAuthenticationDialogContextObject):
2777         (ProxyAuthenticationDialogContextObject::hostname):
2778         (ProxyAuthenticationDialogContextObject::port):
2779         (ProxyAuthenticationDialogContextObject::prefilledUsername):
2780         (ProxyAuthenticationDialogContextObject::accept):
2781         (ProxyAuthenticationDialogContextObject::reject):
2782         (QtDialogRunner::initForProxyAuthentication):
2783         * UIProcess/qt/QtDialogRunner.h:
2784         (QtDialogRunner):
2785         * UIProcess/qt/QtPageClient.cpp:
2786         (QtPageClient::handleProxyAuthenticationRequiredRequest):
2787         * UIProcess/qt/QtPageClient.h:
2788         (QtPageClient):
2789         * WebProcess/WebPage/DecoderAdapter.cpp:
2790         (WebKit::DecoderAdapter::decodeUInt16):
2791         (WebKit):
2792         * WebProcess/WebPage/DecoderAdapter.h:
2793         (DecoderAdapter):
2794         * WebProcess/WebPage/EncoderAdapter.cpp:
2795         (WebKit::EncoderAdapter::encodeUInt16):
2796         (WebKit):
2797         * WebProcess/WebPage/EncoderAdapter.h:
2798         (EncoderAdapter):
2799         * WebProcess/qt/QtNetworkAccessManager.cpp:
2800         (WebKit::QtNetworkAccessManager::onProxyAuthenticationRequired):
2801         (WebKit):
2802         * WebProcess/qt/QtNetworkAccessManager.h:
2803         (QtNetworkAccessManager):
2804
2805 2012-02-20  Patrick Gansterer  <paroga@webkit.org>
2806
2807         [CMake] Update and sort list of source files.
2808
2809         * CMakeLists.txt:
2810
2811 2012-02-20  Martin Robinson  <mrobinson@igalia.com>
2812
2813         Fix WebKit2GTK+ for 'make distcheck'.
2814
2815         Instead of conditionally including WebKit2 GNUmakefiles, always
2816         include them and conditionally activate the final targets.
2817
2818         * GNUmakefile.am:
2819         * UIProcess/API/gtk/tests/GNUmakefile.am:
2820
2821 2012-02-20  Martin Robinson  <mrobinson@igalia.com>
2822
2823         [GTK][WK2] WebKit2 does not build if gtk-unix-printing-3.0 is not available
2824         https://bugs.webkit.org/show_bug.cgi?id=79011
2825
2826         Fix the build when gtk-unix-printing-3.0 is not present.
2827
2828         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
2829         (webkitPrintOperationRunDialog):
2830         (webkitPrintOperationRunDialogForFrame):
2831         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
2832         (WebKit::WebPrintOperationGtk::create):
2833
2834 2012-02-18  Dan Bernstein  <mitz@apple.com>
2835
2836         <rdar://problem/10891801> BackingStore::scroll() unnecessarily copies pixels around
2837         https://bugs.webkit.org/show_bug.cgi?id=78976
2838
2839         Reviewed by Anders Carlsson.
2840
2841         Rather than move pixels in the backing store in response to scrolling, we can maintain a
2842         mapping, for the most recently scrolled rect, from backing store coordinates to view
2843         client coordinates.
2844
2845         * UIProcess/BackingStore.h:
2846         * UIProcess/mac/BackingStoreMac.mm:
2847         (WebKit::BackingStore::performWithScrolledRectTransform): Added. Given a block to be
2848         performed on a rect, divides the rect into parts such that for each part the mapping from
2849         backing store coordinates to client coordinates is a (uniform) translation, and performs
2850         the block on that part, passing it the translation that applies to the part.
2851         (WebKit::BackingStore::resetScrolledRect): Added. Copies everything in the scrolled rect
2852         back to where it should be under the identity map, and resets the scrolled rect and offset.
2853         (WebKit::BackingStore::paint): Changed to call through performWithScrolledRectTransform().
2854         (WebKit::BackingStore::incorporateUpdate): Ditto.
2855         (WebKit::BackingStore::scroll): Now instead of copying pixels, just updates the scrolled
2856         rect and offset.
2857
2858 2012-02-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
2859
2860         [Qt][WK2] Allow opaque tiles
2861         https://bugs.webkit.org/show_bug.cgi?id=78809
2862
2863         Apply the SupportsAlpha flag only when the buffers actually have alpha.
2864
2865         Reviewed by Kenneth Rohde Christiansen.
2866
2867         * Shared/ShareableBitmap.h:
2868         (ShareableBitmap):
2869         * Shared/qt/ShareableBitmapQt.cpp:
2870         * UIProcess/qt/LayerBackingStore.cpp:
2871         (WebKit::LayerBackingStoreTile::swapBuffers):
2872
2873 2012-02-17  Adam Roben  <aroben@apple.com>
2874
2875         Clang build fix after r108119
2876
2877         * WebProcess/WebProcess.cpp:
2878         (WebKit::randomCrashThread): Annotate this function with NO_RETURN_DUE_TO_CRASH.
2879
2880 2012-02-17  Kalev Lember  <kalevlember@gmail.com>
2881
2882         Remove unused parameters from WTF threading API
2883         https://bugs.webkit.org/show_bug.cgi?id=78389
2884
2885         Reviewed by Adam Roben.
2886
2887         waitForThreadCompletion() had an out param 'void **result' to get the
2888         'void *' returned by ThreadFunction. However, the implementation in
2889         ThreadingWin.cpp ignored the out param, not filling it in. This had
2890         led to a situation where none of the client code made use of the param
2891         and just ignored it.
2892
2893         To clean this up, the patch changes the signature of ThreadFunction to
2894         return void instead of void* and drops the the unused 'void **result'
2895         parameter from waitForThreadCompletion. Also, all client code is
2896         updated for the API change.
2897
2898         As mentioned in https://bugs.webkit.org/show_bug.cgi?id=78389 , even
2899         though the change only affects internal API, Safari is using it
2900         directly and we'll need to keep the old versions around for ABI
2901         compatibility. For this, the patch adds compatibility wrappers with
2902         the old ABI.
2903
2904         * Platform/WorkQueue.h:
2905         (WorkQueue):
2906         * Platform/gtk/WorkQueueGtk.cpp:
2907         (WorkQueue::startWorkQueueThread):
2908         * UIProcess/Launcher/mac/ThreadLauncherMac.mm:
2909         (WebKit::webThreadBody):
2910         * UIProcess/Launcher/qt/ThreadLauncherQt.cpp:
2911         (WebKit::webThreadBody):
2912         * UIProcess/Launcher/win/ThreadLauncherWin.cpp:
2913         (WebKit::webThreadBody):
2914         * WebProcess/WebProcess.cpp:
2915         (WebKit::randomCrashThread):
2916         * win/WebKit2.def:
2917         * win/WebKit2CFLite.def:
2918
2919 2012-02-17  Mihnea Ovidenie  <mihnea@adobe.com>
2920
2921         CSS regions enabled by default
2922         https://bugs.webkit.org/show_bug.cgi?id=78525
2923
2924         Reviewed by David Hyatt.
2925
2926         Add a runtime preference to enable/disable regions functionality at runtime(WebKitCSSRegionsEnabled).
2927         CSSRegions are still enabled by default.
2928         In DRT, use layoutTestController.overridePreference("WebKitCSSRegionsEnabled", "0") to disable the css regions functionality.
2929
2930         * Shared/WebPreferencesStore.h:
2931         (WebKit):
2932         * UIProcess/API/C/WKPreferences.cpp:
2933         (WKPreferencesSetCSSRegionsEnabled):
2934         (WKPreferencesGetCSSRegionsEnabled):
2935         * UIProcess/API/C/WKPreferencesPrivate.h:
2936         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2937         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
2938         * WebProcess/WebPage/WebPage.cpp:
2939         (WebKit::WebPage::updatePreferences):
2940
2941 2012-02-17  Enrica Casucci  <enrica@apple.com>
2942
2943         Refactor DragData class to use PlatformStrategies in the Mac implementation.
2944         https://bugs.webkit.org/show_bug.cgi?id=78768
2945
2946         Reviewed by Darin Adler.
2947
2948         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added color() method.
2949         (WebKit::WebPlatformStrategies::color):
2950         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
2951
2952 2012-02-17  Martin Robinson  <mrobinson@igalia.com>
2953
2954         Fix some warnings encountered during the GTK+ build
2955         https://bugs.webkit.org/show_bug.cgi?id=78911
2956
2957         Reviewed by Xan Lopez.
2958
2959         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
2960         (attachLoaderClientToView): Initialize a new member of the loader client struct.
2961
2962 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
2963
2964         [GTK] Allow printing scaled pages in WebKit2 for printers that don't support it
2965         https://bugs.webkit.org/show_bug.cgi?id=78823
2966
2967         Reviewed by Gustavo Noronha Silva.
2968
2969         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
2970         (webkitPrintOperationRunDialogUnix): Enable scale option in print
2971         dialog.
2972         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
2973         (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
2974         manual scale to 1.
2975         (WebKit::WebPrintOperationGtk::rotatePageIfNeeded): Renamed and
2976         moved the needs rotate check here as an early return.
2977         (WebKit::WebPrintOperationGtk::prepareContextToDraw): Scale the
2978         page according to the manual scale factor.
2979         (WebKit::WebPrintOperationGtk::renderPage): Move rotatePage to
2980         prepareContextToDraw.
2981         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
2982
2983 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
2984
2985         [GTK] Allow printing multiple copies in WebKit2 for printers that don't support it
2986         https://bugs.webkit.org/show_bug.cgi?id=78805
2987
2988         Reviewed by Gustavo Noronha Silva.
2989
2990         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
2991         (webkitPrintOperationRunDialogUnix): Enable multiple copies and
2992         collate options in print dialog.
2993         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
2994         (WebKit::PrintPagesData::PrintPagesData): Initialize number of
2995         collated and uncolated copies done and total.
2996         (WebKit::PrintPagesData::collatedCopiesLeft): Helper function that
2997         returns the number of collated copies left to do.
2998         (WebKit::PrintPagesData::uncollatedCopiesLeft): Helper function
2999         that returns the number of uncollated copies left to do.
3000         (WebKit::PrintPagesData::copiesLeft): Helper function
3001         that returns the number of collated or uncollated copies left to
3002         do.
3003         (WebKit::PrintPagesData::incrementPageSequence): Do not finish the
3004         print if there are uncollated copies left, and do not increment
3005         sheet number if there are collated copies left.
3006         (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
3007         m_manualCopies to 1 and m_manualCollateCopies to false.
3008         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
3009
3010 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
3011
3012         [GTK] Allow printing pages in reverse order in WebKit2 for printers that don't support it
3013         https://bugs.webkit.org/show_bug.cgi?id=78799
3014
3015         Reviewed by Gustavo Noronha Silva.
3016
3017         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3018         (webkitPrintOperationRunDialogUnix): Enable printing in reverse
3019         order option in print dialog.
3020         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
3021         (WebKit::PrintPagesData::PrintPagesData): Initialize sheetNumber
3022         and lastPagePosition depending on whether printing is in reverse
3023         order or not.
3024         (WebKit::PrintPagesData::incrementPageSequence): Use a negative
3025         increment step when printing in reverse order. Fix page
3026         incrementing when printing only odd/even pages broken in previous
3027         commit due to merge conflicts.
3028         (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
3029         reverse printing to false.
3030         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
3031
3032 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
3033
3034         [GTK] Allow printing only odd/even pages in WebKit2 for printers that don't support it
3035         https://bugs.webkit.org/show_bug.cgi?id=78793
3036
3037         Reviewed by Gustavo Noronha Silva.
3038
3039         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3040         (webkitPrintOperationRunDialogUnix): Enable print odd/even pages
3041         option in print dialog.
3042         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
3043         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
3044         (WebKit::PrintPagesData::PrintPagesData): Add lastPagePosition and
3045         initialize it depending on the page set.
3046         (WebKit::PrintPagesData::incrementPageSequence): Use 2 step
3047         increment when printing only odd/even pages.
3048         (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
3049         m_manualPageSet to GTK_PAGE_SET_ALL.
3050
3051 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
3052
3053         [GTK] Allow printing multiple pages per sheet in WebKit2 for printers that don't support it
3054         https://bugs.webkit.org/show_bug.cgi?id=78715
3055
3056         Reviewed by Gustavo Noronha Silva.
3057
3058         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3059         (webkitPrintOperationRunDialogUnix): Enable multiple pages per
3060         sheet options in print dialog.
3061         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
3062         (WebKit::PrintPagesData::PrintPagesData): Initialize sheetNumber
3063         and numberOfSheets. Move pagePosition to WebPrintOperationGtk.
3064         (WebKit::PrintPagesData::incrementPageSequence): Increment current
3065         sheet and page position.
3066         (WebKit::WebPrintOperationGtk::WebPrintOperationGtk):
3067         (WebKit::WebPrintOperationGtk::currentPageIsFirstPageOfSheet):
3068         Helper function to check whether current pages is the first one of
3069         the current sheet.
3070         (WebKit::WebPrintOperationGtk::currentPageIsLastPageOfSheet):
3071         Helper function to check whether current pages is the last one of
3072         the current sheet.
3073         (WebKit::WebPrintOperationGtk::getRowsAndColumnsOfPagesPerSheet):
3074         Returns the number of rows and columns of pages per sheet.
3075         (WebKit::WebPrintOperationGtk::getPositionOfPageInSheet): Returns
3076         the row and column number of the current page in the current sheet.
3077         (WebKit::WebPrintOperationGtk::prepareContextToDraw): Translate,
3078         scale and rotate accordingly to render every page in the right
3079         place of the sheet.
3080         (WebKit::WebPrintOperationGtk::renderPage): Call
3081         prepareContextToDraw() before drawing the page.
3082         * WebProcess/WebPage/gtk/WebPrintOperationGtk.h:
3083         (WebKit::WebPrintOperationGtk::setNumberOfPagesToPrint):
3084         (WebKit::WebPrintOperationGtk::pagePosition):
3085         (WebKit::WebPrintOperationGtk::setPagePosition):
3086         (WebKit::WebPrintOperationGtk::numberUp):
3087         (WebKit::WebPrintOperationGtk::numberUpLayout):
3088
3089 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
3090
3091         [GTK] Rename WebKitPrintOperation::done signal to ::finished in WebKit2
3092         https://bugs.webkit.org/show_bug.cgi?id=78893
3093
3094         Reviewed by Gustavo Noronha Silva.
3095
3096         And it's not emitted anynmore when the print dialog has been
3097         cancelled. Since it's not possible to know whether the print
3098         dialog was cancelled or not, the enum WebKitPrintOperationResponse
3099         has been added, with Print and Cancel values, and it's used as
3100         return value of webkit_print_operation_run_dialog().
3101
3102         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3103         (webkit_print_operation_class_init): Rename done as finished.
3104         (webkitPrintOperationRunDialogUnix): Return a
3105         WebKitPrintOperationResponse instead of bool.
3106         (webkitPrintOperationRunDialogWin32): Ditto.
3107         (drawPagesForPrintingCompleted): Emit finished instead of done.
3108         (webkitPrintOperationRunDialogForFrame): Do not emit finished if
3109         the dialog was cancelled and return a WebKitPrintOperationResponse.
3110         (webkit_print_operation_run_dialog): Return
3111         WebKitPrintOperationResponse.
3112         * UIProcess/API/gtk/WebKitPrintOperation.h: Add
3113         WebKitPrintOperationResponse enum.
3114         * UIProcess/API/gtk/WebKitPrintOperationPrivate.h:
3115         * UIProcess/API/gtk/WebKitWebView.cpp:
3116         (webkitWebViewPrintFrame): Check whether the dialog has been
3117         cancelled or not and connect to finish when the print operation is
3118         in progress to release the print operation object when printing
3119         finishes.
3120         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add
3121         WebKitPrintOperationResponse symbol.
3122         * UIProcess/API/gtk/tests/TestPrinting.cpp:
3123         (testPrintOperationPrintFinished): Use finished instead of done.
3124         (testPrintOperationPrint): Ditto.
3125
3126 2012-02-17  Carlos Garcia Campos  <cgarcia@igalia.com>
3127
3128         [GTK] Add webkit_print_operation_print() to WebKit2 GTK+ API
3129         https://bugs.webkit.org/show_bug.cgi?id=76536
3130
3131         Reviewed by Gustavo Noronha Silva.
3132
3133         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3134         (webkitPrintOperationPrintPagesForFrame): Helper function to call
3135         WebPageProxy::drawPagesForPrinting using the given
3136         GtkPrintSettings and GtkPageSetup.
3137         (webkitPrintOperationRunDialogForFrame): Use
3138         webkitPrintOperationPrintPagesForFrame().
3139         (webkit_print_operation_print): Print directly using current
3140         GtkPrintSettings and GtkPageSetup without showing the print
3141         dialog.
3142         * UIProcess/API/gtk/WebKitPrintOperation.h:
3143         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
3144         * UIProcess/API/gtk/tests/GNUmakefile.am:
3145         * UIProcess/API/gtk/tests/TestPrinting.cpp:
3146         (testPrintOperationPrintLoadChanged):
3147         (testPrintOperationPrintDone):
3148         (testPrintOperationPrintPrinter):
3149         (testPrintOperationPrint):
3150         (beforeAll):
3151         (afterAll):
3152
3153 2012-02-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
3154
3155         [Qt][WK2] Allow partial updates
3156         https://bugs.webkit.org/show_bug.cgi?id=78824
3157
3158         Instead of using UpdateInfo to fill the entire tile's texture, we use it as a patch that
3159         contains only the dirty rectangle of the current paint. This requires a lot less memory
3160         for small updates, for example when typing a text in an input field.
3161         This shows a significant reduction in overhead when testing on Mac with Instruments.
3162
3163         Reviewed by Simon Hausmann.
3164
3165         * UIProcess/qt/LayerBackingStore.cpp:
3166         (WebKit::LayerBackingStoreTile::swapBuffers):
3167         (WebKit::LayerBackingStoreTile::setBackBuffer):
3168         (WebKit):
3169         (WebKit::LayerBackingStore::updateTile):
3170         * UIProcess/qt/LayerBackingStore.h:
3171         (LayerBackingStoreTile):
3172         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
3173         (WebKit::LayerTreeHostProxy::updateTileForLayer):
3174         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
3175         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
3176
3177 2012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
3178
3179         [GTK] Make sure print operation object is alive until printing finishes in WebKit2
3180         https://bugs.webkit.org/show_bug.cgi?id=78829
3181
3182         Reviewed by Martin Robinson.
3183
3184         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3185         (drawPagesForPrintingCompleted): Adopt the WebKitPrintOperation
3186         reference so that it's released when the callback finishes.
3187         (webkitPrintOperationRunDialogForFrame): Pass a reference of
3188         WebKitPrintOperation to the printing callback.
3189
3190 2012-02-15  Geoffrey Garen  <ggaren@apple.com>
3191
3192         Made Weak<T> single-owner, adding PassWeak<T>
3193         https://bugs.webkit.org/show_bug.cgi?id=78740
3194
3195         Reviewed by Sam Weinig.
3196
3197         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
3198         (WebKit::NPRuntimeObjectMap::getOrCreateJSObject): Use raw pointer and
3199         PassWeak<T>, as required by our new hash map API.
3200
3201 2012-02-16  Sergio Villar Senin  <svillar@igalia.com>
3202
3203         [soup] Move important SoupSession feature initialization to WebCore
3204         https://bugs.webkit.org/show_bug.cgi?id=68602
3205
3206         Reviewed by Martin Robinson.
3207
3208         Moved content sniffer and decoder initialization from the
3209         WebProcess to WebCore because network stuff will not work as
3210         expected without them.
3211
3212         No new tests required as we're just moving stuff from the
3213         WebProcess to WebCore.
3214
3215         * WebProcess/gtk/WebProcessMainGtk.cpp:
3216         (WebKit::WebProcessMainGtk):
3217
3218 2012-02-16  Philippe Normand  <pnormand@igalia.com>
3219
3220         Unreviewed, rolling out r107941.
3221         http://trac.webkit.org/changeset/107941
3222         https://bugs.webkit.org/show_bug.cgi?id=68602
3223
3224         Broke 23 http tests on GTK
3225
3226         * WebProcess/gtk/WebProcessMainGtk.cpp:
3227         (WebKit::WebProcessMainGtk):
3228
3229 2012-02-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
3230
3231         [Texmap] Improve the way we deal with BGRA extension
3232         https://bugs.webkit.org/show_bug.cgi?id=78822
3233
3234         Get rid of swizzling in the web process. Instead, we moved swizzling back to
3235         TextureMapperGL, as we're moving towards a setup where textures are uploaded
3236         in the web process.
3237
3238         Reviewed by Kenneth Rohde Christiansen.
3239
3240         * UIProcess/qt/LayerBackingStore.cpp:
3241         (WebKit::LayerBackingStoreTile::swapBuffers):
3242         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
3243         (WebKit::LayerTreeHostProxy::createImage):
3244         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
3245         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
3246         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
3247         (WebKit::LayerTreeHostQt::adoptImageBackingStore):
3248
3249 2012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
3250
3251         Unreviewed. Fix WebKit2 GTK+ build after r107947.
3252
3253         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3254         (webkitPrintOperationRunDialogForFrame):
3255
3256 2012-02-16  Alexander Færøy  <ahf@0x90.dk>
3257
3258         [Qt] Fix linking in debug builds on Mac OS X
3259         https://bugs.webkit.org/show_bug.cgi?id=78811
3260
3261         Reviewed by Kenneth Rohde Christiansen.
3262
3263         * UIProcess/API/qt/tests/bytearraytestdata.h:
3264
3265 2012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
3266
3267         [GTK] Page content is incorrectly translated whenh rendering pages for printing in WebKit2
3268         https://bugs.webkit.org/show_bug.cgi?id=78712
3269
3270         Reviewed by Martin Robinson.
3271
3272         * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
3273         (WebKit::WebPrintOperationGtk::enumeratePrintersFunction):
3274         Simplify the code to select the printer.
3275         (WebKit::WebPrintOperationGtk::renderPage): Call cairo_save()
3276         before rendering the page and cairo_restore() when page has been
3277         rendered.
3278
3279 2012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
3280
3281         [GTK] Add WebKitPrintOperation to WebKit2 GTK+ API
3282         https://bugs.webkit.org/show_bug.cgi?id=76448
3283
3284         Reviewed by Martin Robinson.
3285
3286         * GNUmakefile.am: Add new files to compilation.
3287         * UIProcess/API/gtk/WebKitDefines.h:
3288         * UIProcess/API/gtk/WebKitPrintOperation.cpp: Added.
3289         (webViewDestroyed): Delete the print operation when the view
3290         widget associated is destroyed.
3291         (webkitPrintOperationConstructed): Connect to destroy signal of
3292         associated web view.
3293         (webkitPrintOperationGetProperty):
3294         (webkitPrintOperationSetProperty):
3295         (webkit_print_operation_init):
3296         (webkit_print_operation_class_init):
3297         (webkitPrintOperationRunDialogUnix): Use GtkPrintUnixDialog to
3298         show the printing dialog in UNIX platforms.
3299         (webkitPrintOperationRunDialogWin32): Empty, not implemented yet.
3300         (drawPagesForPrintingCompleted): Callback called when printing
3301         operation has finished in the web process.
3302         (webkitPrintOperationRunDialogForFrame): Run the printing dialog
3303         and start printing the given frame.
3304         (webkit_print_operation_new): Create a new print operation for the
3305         given web view.
3306         (webkit_print_operation_get_print_settings):
3307         (webkit_print_operation_set_print_settings):
3308         (webkit_print_operation_get_page_setup):
3309         (webkit_print_operation_set_page_setup):
3310         (webkit_print_operation_run_dialog): Run the print dialog to print
3311         the web view main frame.
3312         * UIProcess/API/gtk/WebKitPrintOperation.h: Added.
3313         * UIProcess/API/gtk/WebKitPrintOperationPrivate.h: Added.
3314         * UIProcess/API/gtk/WebKitUIClient.cpp:
3315         (printFrame): Call webkitWebViewPrintFrame.
3316         (attachUIClientToView): Add implementation for
3317         printFrame callback.
3318         * UIProcess/API/gtk/WebKitWebView.cpp:
3319         (webkit_web_view_class_init): Add WebKitWebView::print-requested
3320         signal.
3321         (webkitWebViewPrintFrame): Emit print-requested and show the print
3322         dialog to print the frame when not signal is not handled by user.
3323         * UIProcess/API/gtk/WebKitWebView.h:
3324         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
3325         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
3326         WebKitPrintOperation.
3327         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
3328         * UIProcess/API/gtk/tests/GNUmakefile.am:
3329         * UIProcess/API/gtk/tests/TestPrinting.cpp: Added.
3330         (testPrintOperationPrintSettings):
3331         (webViewPrintRequestedCallback):
3332         (testWebViewPrintRequested):
3333         (beforeAll):
3334         (afterAll):
3335         * UIProcess/API/gtk/webkit2.h: Include WebKitPrintOperation.h.
3336
3337 2012-02-16  Simon Hausmann  <simon.hausmann@nokia.com>
3338
3339         [Gtk][Efl][Qt] Move OpenGLShims out of cairo/ subdirectory
3340         https://bugs.webkit.org/show_bug.cgi?id=78800
3341
3342         Reviewed by Kenneth Rohde Christiansen.
3343
3344         * UIProcess/qt/LayerTreeHostProxyQt.cpp: Adjust to changed OpenGLShims.h
3345         location - no more cairo prefix needed.
3346
3347 2012-02-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
3348
3349         [Qt][WK2] Allow opaque tiles
3350         https://bugs.webkit.org/show_bug.cgi?id=78809
3351
3352         Set the supportsAlpha flag for TiledBackingStore when the layer has contentsOpaque enabled.
3353         Use the flag for ShareableBitmaps created by TiledBackingStore.
3354
3355         For now this will not have impact on performance/memory, because we allocate the same type
3356         of buffers for opaque and transparent tiles.
3357
3358         Reviewed by Kenneth Rohde Christiansen.
3359
3360         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
3361         (WebCore::WebGraphicsLayer::setContentsOpaque):
3362         (WebCore::WebGraphicsLayer::setContentsScale):
3363         (WebCore::WebGraphicsLayer::createBackingStore):
3364         (WebCore):
3365         (WebCore::WebGraphicsLayer::updateContentBuffers):
3366         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
3367         (WebGraphicsLayer):
3368         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
3369         (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
3370
3371 2012-02-16  Sergio Villar Senin  <svillar@igalia.com>
3372
3373         [soup] Move important SoupSession feature initialization to WebCore
3374         https://bugs.webkit.org/show_bug.cgi?id=68602
3375
3376         Reviewed by Martin Robinson.
3377
3378         Moved content sniffer and decoder initialization from the
3379         WebProcess to WebCore because network stuff will not work as
3380         expected without them.
3381
3382         No new tests required as we're just moving stuff from the
3383         WebProcess to WebCore.
3384
3385         * WebProcess/gtk/WebProcessMainGtk.cpp:
3386         (WebKit::WebProcessMainGtk):
3387
3388 2012-02-16  Adenilson Cavalcanti  <cavalcantii@gmail.com>
3389
3390         [Qt][WK2] Split QWebPermissionRequest into QWebSecurityOrigin
3391         https://bugs.webkit.org/show_bug.cgi?id=73215
3392
3393         Reviewed by Kenneth Rohde Christiansen.
3394
3395         Introducing a new class to expose security origin information
3396         (port/scheme/etc), useful for inspecting the origin of permission
3397         requests.
3398
3399         * Target.pri:
3400         * UIProcess/API/qt/qtwebsecurityorigin.cpp: Added.
3401         (QtWebSecurityOrigin::QtWebSecurityOrigin):
3402         (QtWebSecurityOrigin::~QtWebSecurityOrigin):
3403         (QtWebSecurityOrigin::host):
3404         (QtWebSecurityOrigin::scheme):
3405         (QtWebSecurityOrigin::path):
3406         (QtWebSecurityOrigin::port):
3407         (QtWebSecurityOrigin::setHost):
3408         (QtWebSecurityOrigin::setScheme):
3409         (QtWebSecurityOrigin::setPath):
3410         (QtWebSecurityOrigin::setPort):
3411         * UIProcess/API/qt/qtwebsecurityorigin_p.h: Added.
3412         * UIProcess/API/qt/tests/qmltests/WebView/tst_origin.qml: Added.
3413         * UIProcess/API/qt/qwebpermissionrequest.cpp:
3414         (QWebPermissionRequestPrivate::QWebPermissionRequestPrivate):
3415         (QWebPermissionRequest::securityOrigin):
3416         * UIProcess/API/qt/qwebpermissionrequest_p.h:
3417         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
3418
3419 2012-02-16  Patrick Gansterer  <paroga@webkit.org>
3420
3421         [CMake] Add missing include directories.
3422
3423         * CMakeLists.txt:
3424
3425 2012-02-16  Carlos Garcia Campos  <cgarcia@igalia.com>
3426
3427         [GTK] Document that local paths in html loaded with loadHTML might cause the web process to terminate
3428         https://bugs.webkit.org/show_bug.cgi?id=78719
3429
3430         Reviewed by Martin Robinson.
3431
3432         * UIProcess/API/gtk/WebKitWebView.cpp:
3433
3434 2012-02-15  Anders Carlsson  <andersca@apple.com>
3435
3436         Add TiledCoreAnimationDrawingArea::forceRepaint
3437         https://bugs.webkit.org/show_bug.cgi?id=78749
3438         <rdar://problem/10866221>
3439
3440         Reviewed by Sam Weinig.
3441
3442         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
3443         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
3444         (WebKit::TiledCoreAnimationDrawingArea::forceRepaint):
3445         Force a repaint and synchronize the layer tree to the UI process.
3446
3447 2012-02-15  Enrica Casucci  <enrica@apple.com>
3448
3449         Refactor ClipboardMac class to use PlatformStrategies.
3450         https://bugs.webkit.org/show_bug.cgi?id=78554
3451
3452         Reviewed by Anders Carlsson.
3453
3454         * WebProcess/WebCoreSupport/WebDragClient.h: Changed method signature to reference
3455         the pasteboard by name.
3456         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added new methods.
3457         (WebKit::WebPlatformStrategies::changeCount):
3458         (WebKit::WebPlatformStrategies::uniqueName):
3459         * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Ditto.
3460         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
3461         (WebKit::WebDragClient::declareAndWriteDragImage): Changed method signature to reference
3462         the pasteboard by name.
3463
3464 2012-02-15  Sadrul Habib Chowdhury  <sadrul@chromium.org>
3465
3466         Notify ChromeClient when touch-event handlers are installed/removed.
3467         https://bugs.webkit.org/show_bug.cgi?id=77440
3468
3469         Reviewed by Darin Fisher and Ryosuke Niwa.
3470
3471         * UIProcess/WebPageProxy.h:
3472         (WebKit::WebPageProxy::numTouchEventHandlersChanged):
3473         * WebProcess/WebCoreSupport/WebChromeClient.h:
3474
3475 2012-02-15  Patrick Gansterer  <paroga@webkit.org>
3476
3477         [CMake] Move RunLoop to WebCore/platform
3478         https://bugs.webkit.org/show_bug.cgi?id=78504
3479
3480         Reviewed by Adam Roben.
3481
3482         * CMakeLists.txt: Remove RunLoop.cpp from list of souces.
3483
3484 2012-02-14  Simon Hausmann  <simon.hausmann@nokia.com>
3485
3486         [Qt] Eliminate first set of QtWidgets dependencies from WebCore
3487         https://bugs.webkit.org/show_bug.cgi?id=78611
3488
3489         Reviewed by Kenneth Rohde Christiansen.
3490
3491         * UIProcess/qt/QtWebPageEventHandler.cpp: Add missing QCursor include
3492         to fix compilation.
3493
3494 2012-02-15  Roland Steiner  <rolandsteiner@chromium.org>
3495
3496         <style scoped>: Allow <style scoped> as a direct child of a ShadowRoot
3497         https://bugs.webkit.org/show_bug.cgi?id=77853
3498
3499         numberOfScopedHTMLStyleChildren got moved from Element into Node.
3500
3501         Reviewed by Dimitri Glazkov.
3502
3503         * win/WebKit2.def:
3504         * win/WebKit2CFLite.def:
3505
3506 2012-02-15  No'am Rosenthal  <noam.rosenthal@nokia.com>
3507
3508         [Texmap] Divide TextureMapperNode.cpp to 3 files.
3509         https://bugs.webkit.org/show_bug.cgi?id=76660
3510
3511         Rename TextureMapperNode to TextureMapperLayer.
3512
3513         Reviewed by Kenneth Rohde Christiansen.
3514
3515         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
3516         (WebKit::LayerTreeHostProxy::createLayer):
3517         (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
3518         (WebKit::LayerTreeHostProxy::paintToGraphicsContext):
3519         (WebKit::LayerTreeHostProxy::getBackingStore):
3520         (WebKit::LayerTreeHostProxy::ensureRootLayer):
3521         (WebKit::LayerTreeHostProxy::purgeGLResources):
3522
3523 2012-02-14  Anders Carlsson  <andersca@apple.com>
3524
3525         Swipe gestures don't work if main frame has a horizontal scrollbar
3526         https://bugs.webkit.org/show_bug.cgi?id=78650
3527         <rdar://problem/10864993>
3528
3529         Reviewed by Sam Weinig.
3530
3531         * WebProcess/WebPage/EventDispatcher.cpp:
3532         (WebKit::EventDispatcher::wheelEvent):
3533         ScrollingTree::tryToHandleWheelEvent now returns a tri-state enum so handle the extra case.
3534
3535         (WebKit::EventDispatcher::sendDidReceiveEvent):
3536         Rename this now that it takes a parameter indicating whether the event was handled or not.
3537
3538 2012-02-14  Brian Weinstein  <bweinstein@apple.com>
3539
3540         Web Inspector: Add the ability to show the resources panel on launch
3541         https://bugs.webkit.org/show_bug.cgi?id=78641
3542         
3543         Add WebKit2 API for the ability to show the resources panel. This calls down
3544         from the WK API all the way to InspectorFrontendClientLocal::showResources.
3545
3546         Reviewed by Timothy Hatcher.
3547
3548         * UIProcess/API/C/WKInspector.cpp:
3549         (WKInspectorShowResources): Call WebInspectorProxy::showResources.
3550         * UIProcess/API/C/WKInspector.h:
3551         * UIProcess/WebInspectorProxy.cpp:
3552         (WebKit::WebInspectorProxy::showResources): Send a message to the web process.
3553         * UIProcess/WebInspectorProxy.h:
3554         * WebProcess/WebPage/WebInspector.cpp:
3555         (WebKit::WebInspector::showResources): Call InspectorFrontendClientLocal::showResources.
3556         * WebProcess/WebPage/WebInspector.h:
3557         * WebProcess/WebPage/WebInspector.messages.in: Add a ShowResources message.
3558
3559 2012-02-14  Matt Lilek  <mrl@apple.com>
3560
3561         Don't ENABLE_DASHBOARD_SUPPORT unconditionally on all Mac platforms
3562         https://bugs.webkit.org/show_bug.cgi?id=78629
3563
3564         Reviewed by David Kilzer.
3565
3566         * Configurations/FeatureDefines.xcconfig:
3567
3568 2012-02-13  Raphael Kubo da Costa  <kubo@profusion.mobi>
3569
3570         [CMake] Merge WebKitEfl.cmake into FindEFL.cmake.
3571         https://bugs.webkit.org/show_bug.cgi?id=78566
3572
3573         Reviewed by Daniel Bates.
3574
3575         * PlatformEfl.cmake: Do not include WebKitEfl.cmake.
3576
3577 2012-02-14  No'am Rosenthal  <noam.rosenthal@nokia.com>
3578
3579         [Qt][Texmap] Refactor backing-store code in TextureMapper
3580         https://bugs.webkit.org/show_bug.cgi?id=78305
3581
3582         Move the backing-store code to LayerTreeBackingStore, implementing the virtual functions
3583         in TextureMapperBackingStore.
3584         We save the double-buffered tile in the backing-store, and then convert them to regular
3585         tiles in updateContents, based on the order of painting.
3586         Use TextureMapperCompositedImage for images instead of saving our own composited image
3587         registry.
3588
3589         Reviewed by Kenneth Rohde Christiansen.
3590
3591         * Target.pri:
3592         * UIProcess/LayerTreeHostProxy.h:
3593         (WebKit):
3594         (LayerTreeHostProxy):
3595         * UIProcess/qt/LayerBackingStore.cpp: Added.
3596         * UIProcess/qt/LayerBackingStore.h: Added.
3597         * UIProcess/qt/LayerTreeHostProxyQt.cpp:
3598         (WebKit::LayerTreeHostProxy::createLayer):
3599         (WebKit::LayerTreeHostProxy::syncLayerParameters):
3600         (WebKit::LayerTreeHostProxy::getBackingStore):
3601         (WebKit::LayerTreeHostProxy::createTile):
3602         (WebKit::LayerTreeHostProxy::removeTile):
3603         (WebKit::LayerTreeHostProxy::updateTile):
3604         (WebKit::LayerTreeHostProxy::createImage):
3605         (WebKit::LayerTreeHostProxy::assignImageToLayer):
3606         (WebKit::LayerTreeHostProxy::purgeGLResources):
3607         * WebProcess.pro:
3608
3609
3610 2012-02-14  Shinya Kawanaka  <shinyak@google.com>
3611
3612         Use youngestShadowRoot and oldestShadowRoot instead of Element::shadowRoot().
3613         https://bugs.webkit.org/show_bug.cgi?id=78455
3614
3615         Reviewed by Hajime Morita.
3616
3617         Exports necesarry symbols.
3618
3619         * win/WebKit2.def:
3620         * win/WebKit2CFLite.def:
3621
3622 2012-02-14  Alexey Proskuryakov  <ap@apple.com>
3623
3624         [Mac][Win][WK2] Switch to RFC 6455 protocol for WebSockets
3625         https://bugs.webkit.org/show_bug.cgi?id=78541
3626         <rdar://problem/10036695>
3627
3628         Reviewed by Kent Tamura.
3629
3630         * Shared/WebPreferencesStore.h: (WebKit): Changed default value of the preference.
3631
3632 2012-02-13  W. James MacLean  <wjmaclean@chromium.org>
3633
3634         [chromium] Remove obsolete zoom animation pathway.
3635         https://bugs.webkit.org/show_bug.cgi?id=78359
3636
3637         Reviewed by James Robinson.
3638
3639         This patch removes dead code from the previous incarnation of zoom animation for chromium.
3640
3641         WebProcess/Plugins/PDF/BuiltInPDFView.h:
3642         (BuiltInPDFView):
3643
3644 2012-02-13  Enrica Casucci  <enrica@apple.com>
3645
3646         Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies.
3647         https://bugs.webkit.org/show_bug.cgi?id=78282
3648
3649         This patch removes any accesss to the NSPasteboard object from the Pasteboard class which
3650         now makes use of a new pasteboardStrategy object that is implemented both in WebKit and
3651         WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard
3652         class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy
3653         interface but this one more step in the direction of removing access to NSPasteboard from
3654         the WebProcess.
3655         As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes.
3656
3657         Reviewed by Anders Carlsson.
3658
3659         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added implementation of PasteboardStrategy
3660         interface.
3661         (WebKit::WebPlatformStrategies::createPasteboardStrategy):
3662         (WebKit::WebPlatformStrategies::getTypes):
3663         (WebKit::WebPlatformStrategies::bufferForType):
3664         (WebKit::WebPlatformStrategies::getPathnamesForType):
3665         (WebKit::WebPlatformStrategies::stringForType):
3666         (WebKit::WebPlatformStrategies::copy):
3667         (WebKit::WebPlatformStrategies::setTypes):
3668         (WebKit::WebPlatformStrategies::setBufferForType):
3669         (WebKit::WebPlatformStrategies::setPathnamesForType):
3670         (WebKit::WebPlatformStrategies::setStringForType):
3671         * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Added PasteboardStrategy.
3672
3673 2012-02-13  Anders Carlsson  <andersca@apple.com>
3674
3675         The scrolling tree needs to know about the back forward state of the page
3676         https://bugs.webkit.org/show_bug.cgi?id=78523
3677         <rdar://problem/10756548>
3678
3679         Reviewed by Sam Weinig.
3680
3681         Pass the back/forward state in the WheelEvent message. This is pretty hacky but works well.
3682
3683         * Platform/CoreIPC/HandleMessage.h:
3684         (CoreIPC):
3685         (CoreIPC::callMemberFunction):
3686         * UIProcess/WebPageProxy.cpp:
3687         (WebKit::WebPageProxy::handleWheelEvent):
3688         (WebKit::WebPageProxy::didReceiveEvent):
3689         * WebProcess/WebPage/EventDispatcher.cpp:
3690         (WebKit::EventDispatcher::wheelEvent):
3691         * WebProcess/WebPage/EventDispatcher.h:
3692         (EventDispatcher):
3693         * WebProcess/WebPage/EventDispatcher.messages.in:
3694
3695 2012-02-13  Dan Bernstein  <mitz@apple.com>
3696
3697         WebKit2 build emits a warning about not stripping code-signed PluginProcess.app when copying it into the framework
3698         https://bugs.webkit.org/show_bug.cgi?id=78451
3699
3700         Reviewed by Sam Weinig.
3701
3702         * Configurations/Base.xcconfig: Set COPY_PHASE_STRIP to NO.
3703
3704 2012-02-13  Sam Weinig  <sam@webkit.org>
3705
3706         Windows build fix.
3707
3708         * UIProcess/win/WebPopupMenuProxyWin.cpp:
3709         (WebKit::WebPopupMenuProxyWin::scrollToRevealSelection):
3710
3711 2012-02-13  Zalan Bujtas  <zbujtas@gmail.com>
3712
3713         Manage ShareableBitmap object lifecycle properly, when QImage is created
3714         using the shared data.
3715         https://bugs.webkit.org/show_bug.cgi?id=77546
3716
3717         Reviewed by Simon Hausmann.
3718
3719         * Shared/ShareableBitmap.h:
3720         (ShareableBitmap):
3721         * Shared/qt/ShareableBitmapQt.cpp:
3722         (WebKit::ShareableBitmap::createQImage):
3723         (WebKit):
3724         (WebKit::ShareableBitmap::releaseSharedMemoryData):
3725
3726 2012-02-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
3727
3728         [EFL] Drop support for the Curl network backend.
3729         https://bugs.webkit.org/show_bug.cgi?id=77874
3730
3731         Reviewed by Eric Seidel.
3732
3733         Nobody seems to be maintaining the Curl backend in WebCore, the
3734         EFL port developers all seem to be using the Soup backend and the
3735         port itself has many features which are only implemented for the
3736         latter.
3737
3738         * PlatformEfl.cmake: Unconditionally build the glib/soup source
3739         files and unconditionally add the required include directories and
3740         libraries.
3741         * WebProcess/efl/WebProcessMainEfl.cpp:
3742         (WebKit::WebProcessMainEfl): Remove USE(SOUP) check.
3743
3744 2012-02-11  Sheriff Bot  <webkit.review.bot@gmail.com>
3745
3746         Unreviewed, rolling out r107435.
3747         http://trac.webkit.org/changeset/107435
3748         https://bugs.webkit.org/show_bug.cgi?id=78410
3749
3750         It broke the Qt build (Requested by Ossy on #webkit).
3751
3752         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
3753         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
3754         (WebPlatformStrategies):
3755
3756 2012-02-10  Brian Weinstein  <bweinstein@apple.com>
3757
3758         Web Inspector: Add the ability to jump to the source for a given frame
3759         https://bugs.webkit.org/show_bug.cgi?id=78396
3760         
3761         Add WebKit2 API for the ability to show the source of a frame in the web inspector. This calls down
3762         from the WK API all the way to InspectorFrontendClientLocal::showMainResourceForFrame.
3763
3764         Reviewed by Tim Hatcher.
3765
3766         * UIProcess/API/C/WKInspector.cpp:
3767         (WKInspectorShowMainResourceForFrame): Call WebInspectorProxy::showMainResourceForFrame.
3768         * UIProcess/API/C/WKInspector.h:
3769
3770         * UIProcess/WebInspectorProxy.cpp:
3771         (WebKit::WebInspectorProxy::showMainResourceForFrame): Send a message to the web process, passing
3772             the frame ID of the frame we want to show the main resource of.
3773         * UIProcess/WebInspectorProxy.h:
3774
3775         * WebProcess/WebPage/WebInspector.cpp:
3776         (WebKit::WebInspector::showMainResourceForFrame): Get the WebFrame for the frame we want to show the
3777             main resource of from its ID. If we found a frame, call InspectorFrontendClientLocal::showMainResourceForFrame.
3778         * WebProcess/WebPage/WebInspector.h:
3779         
3780         * WebProcess/WebPage/WebInspector.messages.in: Add a new message.
3781
3782 2012-02-10  Adam Klein  <adamk@chromium.org>
3783
3784         Enable MUTATION_OBSERVERS by default on all platforms
3785         https://bugs.webkit.org/show_bug.cgi?id=78196
3786
3787         Reviewed by Ojan Vafai.
3788
3789         * Configurations/FeatureDefines.xcconfig:
3790
3791 2012-02-10  Enrica Casucci  <enrica@apple.com>
3792
3793         Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies.
3794         https://bugs.webkit.org/show_bug.cgi?id=78282
3795
3796         This patch removes any accesss to the NSPasteboard object from the Pasteboard class which
3797         now makes use of a new pasteboardStrategy object that is implemented both in WebKit and
3798         WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard
3799         class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy
3800         interface but this one more step in the direction of removing access to NSPasteboard from
3801         the WebProcess.
3802         As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes.
3803         
3804         Reviewed by Anders Carlsson.
3805
3806         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added implementation of PasteboardStrategy
3807         interface.
3808         (WebKit::WebPlatformStrategies::createPasteboardStrategy):
3809         (WebKit::WebPlatformStrategies::getTypes):
3810         (WebKit::WebPlatformStrategies::bufferForType):
3811         (WebKit::WebPlatformStrategies::getPathnamesForType):
3812         (WebKit::WebPlatformStrategies::stringForType):
3813         (WebKit::WebPlatformStrategies::copy):
3814         (WebKit::WebPlatformStrategies::setTypes):
3815         (WebKit::WebPlatformStrategies::setBufferForType):
3816         (WebKit::WebPlatformStrategies::setPathnamesForType):
3817         (WebKit::WebPlatformStrategies::setStringForType):
3818         * WebProcess/WebCoreSupport/WebPlatformStrategies.h: Added PasteboardStrategy.
3819
3820 2012-02-09  Timothy Hatcher  <timothy@apple.com>
3821
3822         Prevent attaching when inspecting the Web Inspector.
3823
3824         Also adds some comments about keeping in sync with InspectorFrontendClientLocal::canAttachWindow
3825         and why there are two implementations of the same function.
3826
3827         https://webkit.org/b/78304
3828
3829         Reviewed by Brian Weinstein.
3830
3831         * UIProcess/WebInspectorProxy.cpp:
3832         (WebKit::WebInspectorProxy::canAttach): Prevent attaching when the page is an inspector page.
3833         Added comments about InspectorFrontendClientLocal::canAttachWindow.
3834         * UIProcess/WebInspectorProxy.h:
3835         (WebInspectorProxy): Added comment about keeping in sync with InspectorFrontendClientLocal.
3836
3837 2012-02-09  Alexey Proskuryakov  <ap@apple.com>
3838
3839         Managed network proxy settings are not used in WebProcess
3840         https://bugs.webkit.org/show_bug.cgi?id=78288
3841         <rdar://problem/9962116>
3842
3843         Reviewed by Anders Carlsson.
3844
3845         * WebProcess/com.apple.WebProcess.sb: Allow reading managed preferences.
3846
3847 2012-02-09  Alexey Proskuryakov  <ap@apple.com>
3848
3849         ASSERTION FAILED: checkURLReceivedFromWebProcess(originalURL) loading a local file, if the WebProcess crashed
3850         https://bugs.webkit.org/show_bug.cgi?id=70845
3851         <rdar://problem/10269985>
3852
3853         Reviewed by Anders Carlsson.
3854
3855         This also fixes some case where WebProcess did not get a sandbox extension after a crash.
3856
3857         * UIProcess/WebPageProxy.cpp:
3858         (WebKit::WebPageProxy::reattachToWebProcessWithItem): We no longer need to pass a sandbox
3859         extension here, we're now passing it at b/f navigation bottleneck.
3860         (WebKit::WebPageProxy::reload): Pass a sandbox extension - reload may mean reloading an error
3861         page after a crash, so WebProcess may no longer have the extension.
3862         (WebKit::WebPageProxy::goForward): We no longer need to pass a sandbox extension here,
3863         we're now passing it at b/f navigation bottleneck. Also, fixed a bug where we first null checked
3864         a WebBackForwardListItem pointer, and then used it anyway.
3865         (WebKit::WebPageProxy::goBack): Ditto.
3866         (WebKit::WebPageProxy::goToBackForwardItem): Ditto.
3867         (WebKit::WebPageProxy::backForwardGoToItem): This is the bottleneck. We get here both for UI
3868         actions like pressing the Back button, and for window.history.go() navigations. JS navigations
3869         previously didn't open up the sandbox. URLs in UI process b/f list are trusted, so it's
3870         always OK to grant a sandbox extension if one of them is a file: one.
3871
3872         * UIProcess/WebPageProxy.h: backForwardGoToItem() now returns a sandbox extension handle.
3873
3874         * UIProcess/WebPageProxy.messages.in: Ditto.
3875
3876         * UIProcess/WebProcessProxy.cpp:
3877         (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess): If a URL is in UI process b/f
3878         list, then it has been already vetted as something the Web process knows about. No need to
3879         crash if it actually attempts going there.
3880         (WebKit::WebProcessProxy::didReceiveInvalidMessage): Removed a useless comment (we have tons
3881         of fprintfs besides this one). Fixed log message syntax.
3882
3883         * UIProcess/cf/WebPageProxyCF.cpp: (WebKit::WebPageProxy::restoreFromSessionStateData):
3884         We no longer need to pass a sandbox extension here, we're now passing it at b/f navigation
3885         bottleneck. 
3886
3887         * WebProcess/WebPage/WebBackForwardListProxy.cpp: (WebKit::WebBackForwardListProxy::goToItem):
3888         We now get an extension here, when telling UI process that we're navigating to a b/f list item.
3889
3890         * WebProcess/WebPage/WebPage.cpp:
3891         (WebKit::WebPage::reload): Use the extension we're getting.
3892         (WebKit::WebPage::goForward): Don't use one we're not getting.
3893         (WebKit::WebPage::goBack): Ditto.
3894         (WebKit::WebPage::goToBackForwardItem): Ditto.
3895         (WebKit::WebPage::restoreSessionAndNavigateToCurrentItem): Ditto.
3896
3897         * WebProcess/WebPage/WebPage.h: Adjusted signatures accordingly.
3898
3899         * WebProcess/WebPage/WebPage.messages.in: Ditto.
3900
3901 2012-02-09  Matthew Delaney  <mdelaney@apple.com>
3902
3903         HiDPI: WebKit2's drag images are blurry
3904         https://bugs.webkit.org/show_bug.cgi?id=67779
3905
3906         Use the proper deviceScaleFactor() instead of accessing _intrinsicDeviceScaleFactor
3907
3908         Reviewed by Beth Dakin.
3909
3910         * UIProcess/API/mac/WKView.mm:
3911         (-[WKView _setDragImage:at:linkDrag:]):
3912
3913 2012-02-09  Alexey Proskuryakov  <ap@apple.com>
3914
3915         [WK2] Allow reading some debug-only preference files
3916         https://bugs.webkit.org/show_bug.cgi?id=78255
3917         <rdar://problem/9382382>
3918         <rdar://problem/10830558>
3919
3920         Reviewed by Dan Bernstein.
3921
3922         * WebProcess/com.apple.WebProcess.sb:
3923
3924 2012-02-09  Matthew Delaney  <mdelaney@apple.com>
3925
3926         HiDPI: WebKit2's link-dragging images are blurry
3927         https://bugs.webkit.org/show_bug.cgi?id=67779
3928
3929         Reviewed by Beth Dakin.
3930
3931         Teach startDrag about the deviceScaleFactor so that it creates
3932         an appropriately scaled bitmap image to ship over.
3933         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
3934         (WebKit::WebDragClient::startDrag):
3935         (WebKit::convertImageToBitmap):
3936
3937         Have setDragImage assume that it's receiving a bitmap image scaled
3938         up by the deviceScaleFactor that it sees.
3939         * UIProcess/API/mac/WKView.mm:
3940         (-[WKView _setDragImage:at:linkDrag:]):
3941
3942 2012-02-09  Carlos Garcia Campos  <cgarcia@igalia.com>
3943
3944         [GTK] Add WebKitWebView::mouse-target-changed signal to WebKit2 GTK+ API
3945         https://bugs.webkit.org/show_bug.cgi?id=78097
3946
3947         Reviewed by Martin Robinson.
3948
3949         * GNUmakefile.am: Add new files to compilation.
3950         * UIProcess/API/gtk/WebKitHitTestResult.cpp: Added.
3951         (webkitHitTestResultFinalize):
3952         (webkitHitTestResultGetProperty):
3953         (webkitHitTestResultSetProperty):
3954         (webkit_hit_test_result_init):
3955         (webkit_hit_test_result_class_init):
3956         (webkitHitTestResultCreate): Create a new WebKitHitTestResult for
3957         the given WKHitTestResult.
3958         (stringIsEqualToCString): Helper function to compare String and
3959         CString considering String::isEmpty() == CString.isNull().
3960         (webkitHitTestResultCompare): Helper function to check whether a
3961         WebKitHitTestResult contains the same information than the given
3962         WKHitTestResult.
3963         (webkit_hit_test_result_get_context):
3964         (webkit_hit_test_result_context_is_link):
3965         (webkit_hit_test_result_context_is_image):
3966         (webkit_hit_test_result_context_is_media):
3967         (webkit_hit_test_result_get_link_uri):
3968         (webkit_hit_test_result_get_link_title):
3969         (webkit_hit_test_result_get_link_label):
3970         (webkit_hit_test_result_get_image_uri):
3971         (webkit_hit_test_result_get_media_uri):
3972         * UIProcess/API/gtk/WebKitHitTestResult.h: Added.
3973         * UIProcess/API/gtk/WebKitHitTestResultPrivate.h:
3974         * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
3975         (webkitNavigationPolicyDecisionCreate): Use
3976         wkEventModifiersToGdkModifiers.
3977         * UIProcess/API/gtk/WebKitPrivate.cpp:
3978         (wkEventModifiersToGdkModifiers): Moved from
3979         WebKitNavigationPolicyDecision and renamed to wkEventModifiersToGdkModifiers.
3980         * UIProcess/API/gtk/WebKitPrivate.h:
3981         * UIProcess/API/gtk/WebKitUIClient.cpp:
3982         (mouseDidMoveOverElement): UI client callback that calls
3983         webkitWebViewMouseTargetChanged().
3984         (attachUIClientToView): Add implementation for callback
3985         mouseDidMoveOverElement.
3986         * UIProcess/API/gtk/WebKitWebView.cpp:
3987         (webkit_web_view_class_init): Add
3988         WebKitWebView::mouse-target-changed signal.
3989         (webkitWebViewMouseTargetChanged): Emit
3990         WebKitWebView::mouse-target-changed signal.
3991         * UIProcess/API/gtk/WebKitWebView.h:
3992         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
3993         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new section for
3994         WebKitHitTestResult.
3995         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
3996         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
3997         (testWebViewMouseTarget):
3998         (beforeAll):
3999         * UIProcess/API/gtk/tests/WebViewTest.cpp:
4000         (WebViewTest::WebViewTest):
4001         (WebViewTest::~WebViewTest):
4002         (parentWindowMapped):
4003         (WebViewTest::showInWindowAndWaitUntilMapped): Method to add the
4004         view into a popup window and show it running the main loop until
4005         the window is mapped.
4006         (WebViewTest::mouseMoveTo): Method to synthesize a
4007         GDK_MOTION_EVENT on the given coordinates and using the given
4008         modifiers.
4009         * UIProcess/API/gtk/tests/WebViewTest.h:
4010         * UIProcess/API/gtk/webkit2.h: Include WebKitHitTestResult.h.
4011         * UIProcess/API/gtk/webkit2marshal.list:
4012
4013 2012-02-07  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
4014
4015         [Qt] Fetch the visible rect from LayerTreeHost instead of keeping a copy in each layer.
4016         https://bugs.webkit.org/show_bug.cgi?id=78009
4017
4018         Reviewed by Noam Rosenthal.
4019
4020         Since WebGraphicsLayers are now accessed directly from LayerTreeHost, they don't
4021         need to keep the visible rect to pass it down their child layers anymore.
4022
4023         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
4024         (WebCore::WebGraphicsLayer::setContentsScale):
4025         (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
4026         (WebCore::WebGraphicsLayer::adjustVisibleRect):
4027         (WebCore):
4028         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
4029         (WebGraphicsLayerClient):
4030         (WebGraphicsLayer):
4031         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
4032         (WebKit::LayerTreeHostQt::registerLayer):
4033         (WebKit::LayerTreeHostQt::visibleContentsRect):
4034         (WebKit):
4035         (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
4036         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
4037         (LayerTreeHostQt):
4038
4039 2012-02-09  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
4040
4041         [Qt] Control the lifetime of TiledBackingStores in WebGraphicsLayer.
4042         https://bugs.webkit.org/show_bug.cgi?id=78005
4043
4044         Reviewed by Noam Rosenthal.
4045
4046         This makes sure that no empty tiles are generated for layers without contents and that
4047         no interaction is made with the TiledBackingStore until we got a WebGraphicsLayerClient.
4048
4049         - Create the main TiledBackingStore only when the layer has drawsContent and has no
4050           directly composited image
4051         - Removed recreateBackingStoreIfNeeded and do the (re)creation of the backing stores
4052           in updateContentBuffers
4053         - Call purgeBackingStores on registered layers instead of passing it down the layer tree
4054
4055         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
4056         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
4057         (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
4058         (WebCore::WebGraphicsLayer::setDrawsContent):
4059         (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
4060         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
4061         (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
4062         (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
4063         (WebCore::WebGraphicsLayer::updateContentBuffers):
4064         (WebCore::WebGraphicsLayer::purgeBackingStores):
4065         (WebCore::WebGraphicsLayer::setWebGraphicsLayerClient):
4066         (WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
4067         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
4068         (WebGraphicsLayer):
4069         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
4070         (WebKit::LayerTreeHostQt::LayerTreeHostQt):
4071         (WebKit::LayerTreeHostQt::flushPendingLayerChanges):
4072         (WebKit):
4073         (WebKit::LayerTreeHostQt::purgeBackingStores):
4074         * WebProcess/WebPage/qt/LayerTreeHostQt.h:
4075         (LayerTreeHostQt):
4076
4077 2012-02-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
4078
4079         [Qt] Remove WebGraphicsLayer::updateTileBuffersRecursively
4080         https://bugs.webkit.org/show_bug.cgi?id=78105
4081
4082         Reviewed by Kenneth Rohde Christiansen.
4083
4084         The method is unused.
4085
4086         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
4087         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
4088         (WebGraphicsLayer):
4089
4090 2012-02-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
4091
4092         [Qt] Register individual WebGraphicsLayers to LayerTreeHost instead of handling the tree as a whole.
4093         https://bugs.webkit.org/show_bug.cgi?id=77976
4094
4095         Reviewed by Kenneth Rohde Christiansen.
4096
4097         The LayerTreeHost association had to be maintained between re-parented layers and it would be
4098         impossible to know if the layer would be disconnected from the LayerTreeHost only for reparenting
4099         or disconnected for good (in other words, that the LayerTreeHost could be deleted meanwhile).
4100
4101         Instead, this patch assumes that graphics layers will only be in contact with one instance of
4102         LayerTreeHost, and that this association can be kept until either the graphics layer or the layer
4103         tree host gets deleted.
4104
4105         The registered layers are kept in a set and the visible rect and scales are passed directly
4106         to layers instead of down the tree, through the root layer.