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