1 2012-03-06 Raphael Kubo da Costa <kubo@profusion.mobi>
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
6 Reviewed by Antonio Gomes.
8 * CMakeLists.txt: Manually set the LINK_INTERFACE_LIBRARIES target
9 property on the library being created.
11 2012-03-06 Hugo Parente Lima <hugo.lima@openbossa.org>
13 MiniBrowser --window-size 480x800 www.nytimes.com doesn't paint bottom tiles.
14 https://bugs.webkit.org/show_bug.cgi?id=80313
16 Reviewed by Kenneth Rohde Christiansen.
18 Fix the math to get the visible rectangle and add a method to get it.
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):
27 2012-03-05 Joseph Pecoraro <pecoraro@apple.com>
29 Web Inspector: Hide dock button when not allowed to dock
30 https://bugs.webkit.org/show_bug.cgi?id=78575
32 Reviewed by Pavel Feldman.
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:
41 2012-03-06 Allan Sandfeld Jensen <allan.jensen@nokia.com>
43 [Qt] Interaction Engine suspends content during pageload.
44 https://bugs.webkit.org/show_bug.cgi?id=80294
46 Only suspend content when viewport updates are deferred
47 for a non-instantanious interaction.
49 Reviewed by Kenneth Rohde Christiansen.
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):
60 2012-03-06 Simon Hausmann <simon.hausmann@nokia.com>
62 [Qt] Make QQuickWebView's url property work with a flickable webview
64 Reviewed by Tor Arne Vestbø.
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.
71 * UIProcess/API/qt/qquickwebview.cpp:
72 (QQuickWebViewFlickablePrivate::onComponentComplete):
74 2012-03-06 Carlos Garcia Campos <cgarcia@igalia.com>
76 [GTK] Fix several documentation issues in WebKit2 GTK+ API
77 https://bugs.webkit.org/show_bug.cgi?id=80281
79 Reviewed by Martin Robinson.
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:
87 2012-03-06 Carlos Garcia Campos <cgarcia@igalia.com>
89 [GTK] Use a single signal for script dialogs in WebKit2 GTK+ API
90 https://bugs.webkit.org/show_bug.cgi?id=80271
92 Reviewed by Martin Robinson.
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
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
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
130 * UIProcess/API/gtk/webkit2marshal.list:
131 * UIProcess/API/gtk/webkit2.h:
133 2012-03-05 Gavin Barraclough <barraclough@apple.com>
135 putByIndex should throw in strict mode
136 https://bugs.webkit.org/show_bug.cgi?id=80335
138 Reviewed by Filip Pizlo.
140 Make the MethodTable PutByIndex trap take a boolean 'shouldThrow' parameter.
142 * WebProcess/Plugins/Netscape/NPJSObject.cpp:
143 (WebKit::NPJSObject::setProperty):
145 2012-03-05 Joseph Pecoraro <pecoraro@apple.com>
147 Unreviewed rollout of r109858 for restructuring.
149 2012-03-05 Joseph Pecoraro <pecoraro@apple.com>
151 <http://webkit.org/b/78575> Web Inspector: Hide dock button when not allowed to dock
153 Reviewed by Timothy Hatcher.
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:
162 2012-03-05 Anders Carlsson <andersca@apple.com>
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>
168 Reviewed by Sam Weinig.
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.
175 * WebProcess/WebPage/DrawingArea.h:
176 (WebKit::DrawingArea::forceRepaintAsync):
177 Add new member function.
179 * WebProcess/WebPage/WebPage.cpp:
180 (WebKit::WebPage::forceRepaint):
181 Try forceRepaintAsync first.
183 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
184 (WebKit::forceRepaintAndSendMessage):
185 Force the repaint and send the message.
187 (WebKit::dispatchBackToMainThread):
188 Dispatch a call to forceRepaintAndSendMessage to the main thread.
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.
194 2012-03-05 Enrica Casucci <enrica@apple.com>
196 Can't type on some websites (plug-ins steal key events).
197 <rdar://problem/10892291>
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.
203 Reviewed by Sam Weinig.
205 * UIProcess/API/mac/WKView.mm:
206 (-[WKView _setPluginComplexTextInputState:]):
207 (-[WKView _handlePluginComplexTextInputKeyDown:]):
209 2012-03-05 Anders Carlsson <andersca@apple.com>
211 Be more aggressive about repainting page overlays
212 https://bugs.webkit.org/show_bug.cgi?id=80336
213 <rdar://problem/10965943>
215 Reviewed by Simon Fraser.
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.
221 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
222 (TiledCoreAnimationDrawingArea):
223 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
224 (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
225 (WebKit::TiledCoreAnimationDrawingArea::shouldRepaintPageOverlayLayer):
228 2012-03-05 Sam Weinig <sam@webkit.org>
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
234 Reviewed by Anders Carlsson.
236 This currently only works if you are using TiledCoreAnimation drawing model.
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.
251 * PluginProcess/PluginControllerProxy.cpp:
252 * PluginProcess/PluginControllerProxy.h:
253 * PluginProcess/mac/PluginControllerProxyMac.mm:
254 Update for new names.
256 * Shared/LayerTreeContext.h:
257 Add LayerHostingMode enum.
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
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.
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.
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.
294 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.h:
295 * WebProcess/FullScreen/mac/WebFullScreenManagerMac.mm:
296 Update for new names.
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.
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.
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.
318 * WebKit2.xcodeproj/project.pbxproj:
321 2012-03-05 Anders Carlsson <andersca@apple.com>
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
326 Reviewed by Sam Weinig.
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.
331 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
332 (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
333 (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
335 2012-03-05 Timothy Hatcher <timothy@apple.com>
337 Change how the Web Inspector Develop menu actions work.
339 This removes the methods used by Safari's Develop menu. They can now be implemented in Safari.
341 https://webkit.org/b/80308
343 Reviewed by John Sullivan.
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.
350 2012-03-02 Jon Lee <jonlee@apple.com>
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>
356 Reviewed by Sam Weinig.
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):
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:
375 * UIProcess/WebPageProxy.messages.in: Add replaceID to the showNotification message.
376 * WebProcess/Notifications/WebNotificationManager.cpp:
377 (WebKit::WebNotificationManager::show):
379 2012-03-05 Sheriff Bot <webkit.review.bot@gmail.com>
381 Unreviewed, rolling out r109748.
382 http://trac.webkit.org/changeset/109748
383 https://bugs.webkit.org/show_bug.cgi?id=80296
385 Made some tests crash, will fix and recommit (Requested by
389 * UIProcess/API/qt/qquickwebpage.cpp:
390 (QQuickWebPagePrivate::paintToCurrentGLContext):
391 (PageProxyNode::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:
404 (WebKit::DrawingAreaProxy::layerTreeHostProxy):
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):
420 (WebKit::LayerTreeHostProxy::createDirectlyCompositedImage):
421 (WebKit::LayerTreeHostProxy::purgeGLResources):
422 * UIProcess/qt/QtWebPageSGNode.cpp: Removed.
423 * UIProcess/qt/QtWebPageSGNode.h: Removed.
425 2012-03-05 Joone Hur <joone.hur@collabora.co.uk>
427 [GTK] zlib link error with --enable-webkit2
428 https://bugs.webkit.org/show_bug.cgi?id=79877
430 Reviewed by Martin Robinson.
432 zlib should be linked properly.
434 * GNUmakefile.am: Link $(ZLIB_LIBS) with libwebkit2gtk instead of
435 linking it with WebKitWebProcess.
437 2012-03-05 Carlos Garcia Campos <cgarcia@igalia.com>
439 [WK2] WKPageGetContextMenuFromProposedContextMenuCallback should pass a HitTestResult
440 https://bugs.webkit.org/show_bug.cgi?id=77208
442 Reviewed by Anders Carlsson.
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.
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
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.
480 2012-03-05 No'am Rosenthal <noam.rosenthal@nokia.com>
482 [Qt] [WK2] Support threaded renderer in WK2
483 https://bugs.webkit.org/show_bug.cgi?id=76661
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.
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.
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.
499 Based on a patch by Viatcheslav Ostapenko.
501 Reviewed by Kenneth Rohde Christiansen.
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:
513 (WebKit::DrawingAreaProxy::layerTreeHostProxy): Made LayerTreeHostProxy ref-counted.
515 * UIProcess/DrawingAreaProxyImpl.cpp:
516 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
517 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
518 * UIProcess/LayerTreeHostProxy.h:
520 (WebKit::LayerTreeHostProxy::create):
521 (LayerTreeHostProxy):
522 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
523 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
525 (MainThreadGuardedInvoker):
526 A class that allows invoking functions in the main thread, while guarding a ref-
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.
546 2012-03-04 Raphael Kubo da Costa <kubo@profusion.mobi>
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
551 Reviewed by Antonio Gomes.
553 * CMakeLists.txt: Use ${LIB_INSTALL_DIR} instead of hardcoding "lib".
555 2012-03-03 Simon Hausmann <simon.hausmann@nokia.com>
557 [Qt] Fix static_libs_as_shared build
558 https://bugs.webkit.org/show_bug.cgi?id=80214
560 Reviewed by Tor Arne Vestbø.
562 Replace (static) link time dependency to WK1 with entrypoint
563 in the separate WebProcess for activating the QStyle theme if
567 * UIProcess/Launcher/ProcessLauncher.h:
568 * WebProcess/qt/WebProcessMainQt.cpp:
569 (WebKit::WebProcessMainQt):
574 2012-03-03 Hans Wennborg <hans@chromium.org>
576 Implement Speech JavaScript API
577 https://bugs.webkit.org/show_bug.cgi?id=80019
579 Reviewed by Adam Barth.
581 Add ENABLE_SCRIPTED_SPEECH.
583 * Configurations/FeatureDefines.xcconfig:
585 2012-03-03 No'am Rosenthal <noam.rosenthal@nokia.com>
587 [Qt] Use the existing inheritedOpacity/matrix properties of QSGNode
588 https://bugs.webkit.org/show_bug.cgi?id=79543
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.
594 Reviewed by Kenneth Rohde Christiansen.
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):
603 2012-03-03 Anders Carlsson <andersca@apple.com>
605 Fix build with newer versions of clang.
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.
611 2012-03-02 Andy Estes <aestes@apple.com>
613 Move nsStringFromWebCoreString out of PageClientImpl
614 https://bugs.webkit.org/show_bug.cgi?id=80202
616 Reviewed by Sam Weinig.
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}.
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:
634 2012-03-02 Andy Estes <aestes@apple.com>
636 Remove com.apple.WebKit.PluginProcess.sb from WebKit2.xcodeproj's Headers build phase
637 https://bugs.webkit.org/show_bug.cgi?id=80197
639 Reviewed by Alexey Proskuryakov.
641 It doesn't belong there, and it makes Xcode consider the project to be
642 invalid, triggering assertions in some builds of Xcode.
644 * WebKit2.xcodeproj/project.pbxproj:
646 2012-03-02 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
648 [Qt] Fix spelling mistake in header guard
650 Reviewed by Noam Rosenthal.
652 * UIProcess/API/qt/qwebviewportinfo_p.h:
654 2012-03-02 Carlos Garcia Campos <cgarcia@igalia.com>
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
659 Reviewed by Philippe Normand.
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.
667 2012-03-02 Allan Sandfeld Jensen <allan.jensen@nokia.com>
669 Fix build on AppleWebKit after 109548.
673 2012-03-02 Simon Hausmann <simon.hausmann@nokia.com>
675 [Qt] Fix tests run with WTR not using QStyle theme
676 https://bugs.webkit.org/show_bug.cgi?id=80147
678 Reviewed by Csaba Osztrogonác.
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.
686 * WebProcess/qt/WebProcessMainQt.cpp:
687 (WebKit::WebProcessMainQt):
689 2012-03-02 Simon Hausmann <simon.hausmann@nokia.com>
691 [Qt] Compile WebCore without QtWidgets
692 https://bugs.webkit.org/show_bug.cgi?id=80141
694 Reviewed by Tor Arne Vestbø.
696 * Shared/qt/WebEventFactoryQt.cpp: Removed unnecessary include.
697 * Target.pri: Require widgets for WK2 for the moment, until bug #79458
700 2012-03-02 Allan Sandfeld Jensen <allan.jensen@nokia.com>
702 Suspend/Resume API for pausing timers and animations.
703 https://bugs.webkit.org/show_bug.cgi?id=76063
705 Based on the initial work of Zalan Bujtas <zalan.bujtas@nokia.com>,
707 Adds suspend and resume API for WebKit2 and uses it in Qt to
708 suspend animations and DOM timers during panning and zoom.
710 Reviewed by Kenneth Rohde Christiansen.
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:
727 2012-03-02 Joone Hur <joone.hur@collabora.co.uk>
729 Unreviewed. Fix WebKit2 GTK+ build.
731 * GNUmakefile.am: allow WebKitWebProcess to link with zlib properly.
733 2012-03-01 Andras Becsi <andras.becsi@nokia.com>
735 [Qt][WK2] Make the interaction with the Flickable work on the N9
736 https://bugs.webkit.org/show_bug.cgi?id=80029
738 Reviewed by Simon Hausmann.
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.
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.
754 2012-03-01 Anders Carlsson <andersca@apple.com>
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>
760 Reviewed by Brady Eidson.
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.
765 * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
766 (WebKit::BuiltInPDFView::updateScrollbars):
767 (WebKit::BuiltInPDFView::initialize):
768 * WebProcess/Plugins/PDF/BuiltInPDFView.h:
771 2012-03-01 Kangil Han <kangil.han@samsung.com>
773 [DRT] Remove all PlainTextController usages in existing tests by adding internal API
774 https://bugs.webkit.org/show_bug.cgi?id=78570
776 Reviewed by Hajime Morita.
778 This patch will remove all PlainTextController usages
779 in existing DRT tests by adding internal API to WebCore/testing/Internals
782 * win/WebKit2CFLite.def:
784 2012-03-01 Nikolas Zimmermann <nzimmermann@rim.com>
786 Unreviewed, rolling out r109255.
787 http://trac.webkit.org/changeset/109255
788 https://bugs.webkit.org/show_bug.cgi?id=79932
790 Breaks rounded rects with dashed strokes in SVG
792 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
793 (InitWebCoreSystemInterface):
795 2012-03-01 Sergio Villar Senin <svillar@igalia.com>
797 [WK2] [GTK] [libsoup] SoupSession should use system CA
798 https://bugs.webkit.org/show_bug.cgi?id=79657
800 Reviewed by Martin Robinson.
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).
807 No new tests required as current behaviour does not change at all
808 as we continue to accept invalid certificates by default.
810 * WebProcess/gtk/WebProcessMainGtk.cpp:
811 (WebKit::WebProcessMainGtk):
813 2012-03-01 Carlos Garcia Campos <cgarcia@igalia.com>
815 Unreviewed. Fix WebKit2 GTK+ build.
817 * UIProcess/API/gtk/WebKitDefines.h:
818 * UIProcess/API/gtk/WebKitWebView.h:
820 2012-02-29 Simon Hausmann <simon.hausmann@nokia.com>
822 [Qt][WK2] QQuickWebView::event should lookup faster which events QQuickWebPage can handle
823 https://bugs.webkit.org/show_bug.cgi?id=78047
825 Reviewed by Kenneth Rohde Christiansen.
827 Replaced double-dispatch of events with direct forwarding of events from QQuickWebView::*Event to
828 QtWebPageEventHandler::handle*Event.
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):
870 2012-03-01 Csaba Osztrogonác <ossy@webkit.org>
872 [Qt][WK2] Unreviewed buildfix after r109277.
874 * WebProcess/qt/QtBuiltinBundlePage.cpp:
875 (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
877 2012-02-29 No'am Rosenthal <noam.rosenthal@nokia.com>
879 [Qt][WK2] Get rid of the #ifdef mess in LayerTreeHost[Proxy]
880 https://bugs.webkit.org/show_bug.cgi?id=79501
882 Use a new UI_SIDE_COMPOSITING flag instead of the several #ifdef flags we currently use.
884 Reviewed by Kenneth Rohde Christiansen.
886 * Shared/WebLayerTreeInfo.cpp:
887 * Shared/WebLayerTreeInfo.h:
888 * UIProcess/DrawingAreaProxy.cpp:
890 * UIProcess/DrawingAreaProxy.h:
892 * UIProcess/DrawingAreaProxyImpl.cpp:
893 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
894 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
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:
909 * WebProcess/WebPage/DrawingAreaImpl.cpp:
911 * WebProcess/WebPage/DrawingAreaImpl.h:
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:
920 2012-02-28 Brian Weinstein <bweinstein@apple.com>
922 WebKit2: didNewFirstVisuallyNonEmptyLayout should be sent to injected bundle
923 https://bugs.webkit.org/show_bug.cgi?id=79849
925 Tell the injected bundle about didNewFirstVisuallyNonEmptyLayout (we currently
926 just tell the UI process).
928 Reviewed by Beth Dakin.
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
934 * WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.h:
935 (InjectedBundlePageLoaderClient):
936 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
937 (WebKit::WebFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout): Tell the injected
940 2012-02-29 Tim Horton <timothy_horton@apple.com>
942 Make use of CG rounded-rect primitives
943 https://bugs.webkit.org/show_bug.cgi?id=79932
944 <rdar://problem/9274953>
946 Reviewed by Simon Fraser.
948 Add wkCGPathAddRoundedRect.
950 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
951 (InitWebCoreSystemInterface):
953 2012-02-29 Andy Estes <aestes@apple.com>
955 CFURLDownloadScheduleWithCurrentMessageQueue only exists on Windows
956 https://bugs.webkit.org/show_bug.cgi?id=79936
958 Reviewed by Brady Eidson.
960 CFURLDownloadScheduleWithCurrentMessageQueue only exists on Windows
961 platforms. Non-Windows platforms that use CFNetwork-based downloads
962 should omit this call.
964 * WebProcess/Downloads/cfnet/DownloadCFNet.cpp:
965 (WebKit::Download::start):
967 2012-02-29 Rafael Brandao <rafael.lobo@openbossa.org>
969 [Qt][WK2] We should not add NetscapeBrowserFuncs.cpp as header
970 https://bugs.webkit.org/show_bug.cgi?id=79847
972 Reviewed by Alexey Proskuryakov.
974 * Target.pri: Fix typo, so we can add ".h" file instead.
976 2012-02-29 Sam Weinig <sam@webkit.org>
978 When invoking Lookup while zoomed in, the highlighted word renders out of line
979 <rdar://problem/10812527>
981 Reviewed by Simon Fraser.
983 * WebProcess/WebPage/mac/WebPageMac.mm:
984 (WebKit::WebPage::performDictionaryLookupForRange):
985 Make sure to scale the ascent when determining the origin for the overlay.
987 2012-02-29 Carlos Garcia Campos <cgarcia@igalia.com>
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
992 Reviewed by Gustavo Noronha Silva.
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
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):
1011 2012-02-29 Carlos Garcia Campos <cgarcia@igalia.com>
1013 [GTK] Add zoom-text-only setting to WebKit2 GTK+ API
1014 https://bugs.webkit.org/show_bug.cgi?id=75249
1016 Reviewed by Gustavo Noronha Silva.
1018 To set whether zoom level of web view should affect only the text
1019 or all page contents. It's disabled by default.
1021 * UIProcess/API/gtk/WebKitSettings.cpp:
1022 (webKitSettingsSetProperty):
1023 (webKitSettingsGetProperty):
1024 (webkit_settings_class_init): Add WebKitSettings:zoom-text-only
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
1033 * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
1034 (testWebKitSettings):
1036 2012-02-29 Sergio Villar Senin <svillar@igalia.com>
1038 DidFindString should be emitted even if FindOptionsShowOverlay is not enabled
1039 https://bugs.webkit.org/show_bug.cgi?id=76522
1041 Reviewed by Darin Adler.
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
1050 This patch removes the temporary workaround added in r109222 to
1051 the WebKitFindController unit tests.
1053 * UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
1054 * WebProcess/WebPage/FindController.cpp:
1055 (WebKit::FindController::findString):
1057 2012-01-19 Sergio Villar Senin <svillar@igalia.com>
1059 [GTK] [WK2] Add Find API
1060 https://bugs.webkit.org/show_bug.cgi?id=76070
1062 Reviewed by Martin Robinson.
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.
1069 Changes include also documentation and unit tests for the new
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):
1122 * UIProcess/API/gtk/webkit2.h:
1124 2012-02-28 Simon Fraser <simon.fraser@apple.com>
1126 Update WebKitSystemInterface.
1128 Reviewed by Sam Weinig.
1130 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
1131 (InitWebCoreSystemInterface):
1133 2012-02-28 Hugo Parente Lima <hugo.lima@openbossa.org>
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
1138 Reviewed by Chang Shu.
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.
1143 * WebProcess/WebPage/WebPage.cpp:
1144 (WebKit::WebPage::mouseEventSyncForTesting):
1146 2012-02-28 Alexey Proskuryakov <ap@apple.com>
1150 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Check for build platform
1153 2012-02-28 Alexey Proskuryakov <ap@apple.com>
1157 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue):
1158 Check for build platform properly.
1160 2012-02-28 Enrica Casucci <enrica@apple.com>
1162 More Pasteboard code cleanup.
1163 https://bugs.webkit.org/show_bug.cgi?id=79816
1165 Removing the last references to NSPasteboard.
1167 Reviewed by Alexey Proskuryakov.
1169 * WebProcess/WebCoreSupport/WebEditorClient.h:
1170 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
1171 (WebKit::WebEditorClient::setInsertionPasteboard):
1173 2012-02-28 Alexey Proskuryakov <ap@apple.com>
1175 [Mac] Add an experimental SPI for plug-ins to enter sandbox
1176 https://bugs.webkit.org/show_bug.cgi?id=79709
1178 Reviewed by Anders Carlsson.
1180 * PluginProcess/PluginProcess.h: (WebKit::PluginProcess::pluginPath): Exposed plugin path.
1182 * PluginProcess/mac/com.apple.WebKit.PluginProcess.sb: Added.
1184 * WebKit2.xcodeproj/project.pbxproj: Added new files.
1186 * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_GetValue): Exposed
1187 a function to access sandboxing functions when available.
1189 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.h: Added.
1190 * WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm: Added.
1192 2012-02-28 Mahesh Kulkarni <mahesh.kulkarni@nokia.com>
1194 [Qt] Allow read/write to the WebView.url property
1195 https://bugs.webkit.org/show_bug.cgi?id=77554
1197 Reviewed by Tor Arne Vestbø.
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.
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):
1233 2012-02-28 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
1235 [Qt] Signal and property cleanup in QQuickWebView
1236 https://bugs.webkit.org/show_bug.cgi?id=78820
1238 Reviewed by Noam Rosenthal.
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
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):
1266 2012-02-28 Mario Sanchez Prada <msanchez@igalia.com>
1268 [GTK] Add GMainLoop and GMainContext to be handled by GRefPtr
1269 https://bugs.webkit.org/show_bug.cgi?id=79496
1271 Reviewed by Martin Robinson.
1273 Updated places where raw pointers to GMainLoop and GMainContext
1274 were being used, replacing them with GRefPtr-based code.
1276 * Platform/WorkQueue.h:
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):
1291 2012-02-28 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
1293 [Qt] Initialize QtWebContext as much as we can in its constructor.
1294 https://bugs.webkit.org/show_bug.cgi?id=79809
1296 Reviewed by Tor Arne Vestbø.
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.
1304 * UIProcess/qt/QtWebContext.cpp:
1305 (WebKit::QtWebContext::QtWebContext):
1306 (WebKit::QtWebContext::defaultContext):
1307 * UIProcess/qt/QtWebContext.h:
1310 2012-02-28 Carlos Garcia Campos <cgarcia@igalia.com>
1312 [GTK] Inconsistent state of WebKitWebView when replacing content in WebKit2
1313 https://bugs.webkit.org/show_bug.cgi?id=79775
1315 Reviewed by Martin Robinson.
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.
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
1327 (webkitWebViewSetEstimatedLoadProgress): Ignore load progress when
1329 (webkit_web_view_replace_content): Set replace content status to
1331 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
1332 (replaceContentLoadCallback):
1333 (testWebViewReplaceContent):
1334 * UIProcess/API/gtk/tests/WebViewTest.cpp:
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:
1341 2012-02-27 Anders Carlsson <andersca@apple.com>
1343 Add basic page overlay support to TiledCoreAnimationDrawingArea
1344 https://bugs.webkit.org/show_bug.cgi?id=79716
1345 <rdar://problem/10923079>
1347 Reviewed by Sam Weinig.
1349 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1350 Make TiledCoreAnimationDrawingArea a GraphicsLayerClient.
1352 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1353 (WebKit::TiledCoreAnimationDrawingArea::didInstallPageOverlay):
1354 Create the page overlay layer.
1356 (WebKit::TiledCoreAnimationDrawingArea::didUninstallPageOverlay):
1357 Destroy the page overlay layer.
1359 (WebKit::TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay):
1360 Mark the page overlay layer as needing display.
1362 (WebKit::TiledCoreAnimationDrawingArea::notifyAnimationStarted):
1363 (WebKit::TiledCoreAnimationDrawingArea::notifySyncRequired):
1364 Add empty GraphisLayerClient member function implementations.
1366 (WebKit::TiledCoreAnimationDrawingArea::paintContents):
1367 Ask the page overlay to paint itself.
1369 (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
1370 Flush the page overlay layer.
1372 (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
1373 Resize the page overlay layer.
1375 (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
1376 If we have a page overlay layer, add it as a sublayer of the root layer.
1378 (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
1379 Create the page overlay layer and add it as a sublayer of the root layer.
1381 (WebKit::TiledCoreAnimationDrawingArea::destroyPageOverlayLayer):
1382 Remove the page overlay layer and destroy it.
1384 2012-02-28 Carlos Garcia Campos <cgarcia@igalia.com>
1386 [GTK] Remove virtual methods of WebKitDownload signals in WebKit2 GTK+ API
1387 https://bugs.webkit.org/show_bug.cgi?id=79804
1389 Reviewed by Martin Robinson.
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
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:
1409 2012-02-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
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
1414 Reviewed by Csaba Osztrogonác.
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.
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.
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:
1431 2012-02-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
1433 [Qt] API changes to QWebNavigationRequest
1434 https://bugs.webkit.org/show_bug.cgi?id=78821
1436 Reviewed by Kenneth Rohde Christiansen.
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'.
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):
1458 2012-02-28 Shinya Kawanaka <shinyak@chromium.org>
1460 Element should be able to have multiple shadow roots.
1461 https://bugs.webkit.org/show_bug.cgi?id=77931
1463 Reviewed by Hajime Morita.
1466 * win/WebKit2CFLite.def:
1468 2012-02-28 Hugo Parente Lima <hugo.lima@openbossa.org>
1470 [Qt][WK2] Use movementStarted/Ended signals instead of movingChanged on QtViewportInterationEngine
1471 https://bugs.webkit.org/show_bug.cgi?id=79521
1473 Reviewed by Kenneth Rohde Christiansen.
1475 movingChanged() signal is emitted many times, so the use of movementStarted() and
1476 movementEnded() is a better choice.
1478 * UIProcess/qt/QtFlickProvider.cpp:
1479 (QtFlickProvider::QtFlickProvider):
1480 * UIProcess/qt/QtFlickProvider.h:
1482 * UIProcess/qt/QtViewportInteractionEngine.cpp:
1483 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
1484 * UIProcess/qt/QtViewportInteractionEngine.h:
1485 (QtViewportInteractionEngine):
1487 2012-02-27 Shinya Kawanaka <shinyak@chromium.org>
1489 Element::removeShadowRoot() and setShadowRoot() should be moved into ShadowTree.
1490 https://bugs.webkit.org/show_bug.cgi?id=78313
1492 Reviewed by Hajime Morita.
1495 * win/WebKit2CFLite.def:
1497 2012-02-27 Brady Eidson <beidson@apple.com>
1499 <rdar://problem/10924993> and https://bugs.webkit.org/show_bug.cgi?id=79725
1500 <a ping> doesn't work in WebKit2
1502 Reviewed by Alexey Proskuryakov.
1504 * WebProcess/WebPage/WebPage.cpp:
1505 (WebKit::WebPage::updatePreferences): Push the WK2 <a ping> setting to WebCore::Settings.
1507 2012-02-27 Enrica Casucci <enrica@apple.com>
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>
1513 Reviewed by Alexey Proskuryakov.
1515 * UIProcess/WebContext.h:
1516 * UIProcess/WebContext.messages.in: Added messages to access NSPasteboard
1518 * UIProcess/mac/WebContextMac.mm: Added methods corresponding to the
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):
1547 2012-02-27 Dan Bernstein <mitz@apple.com>
1549 <rdar://problem/9557598> REGRESSION (WebKit2): Non-activating links sometimes don’t work
1550 https://bugs.webkit.org/show_bug.cgi?id=79607
1552 Reviewed by Adele Peterson.
1554 Test: TestWebKitAPI/Tests/mac/AcceptsFirstMouse.mm
1556 This was caused by not mapping the mouse event coordinates from window coordinates to
1557 document coordinates.
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.
1566 2012-02-27 Timothy Hatcher <timothy@apple.com>
1568 Add WKInspector API to know when the Web Inspector is the frontmost window.
1570 Also makes the Safari Develop menu items work when the Web Inspector is frontmost.
1572 https://webkit.org/b/79649
1574 Reviewed by John Sullivan.
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.
1601 2012-02-26 YoungTaeck Song <youngtaeck.song@samsung.com>
1603 [EFL][WK2] Add InjectedBundleEfl.cpp
1604 https://bugs.webkit.org/show_bug.cgi?id=75463
1606 Reviewed by Andreas Kling.
1608 Add first version of InjectedBundleEfl.cpp including load() and placeholder for activateMacFontAscentHack().
1610 * WebProcess/InjectedBundle/InjectedBundle.h:
1611 * WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp:
1612 (WebKit::InjectedBundle::load):
1613 (WebKit::InjectedBundle::activateMacFontAscentHack):
1615 2012-02-26 Shinya Kawanaka <shinyak@chromium.org>
1617 Rename ShadowRootList to ShadowTree.
1618 https://bugs.webkit.org/show_bug.cgi?id=79342
1620 Reviewed by Hajime Morita.
1623 * win/WebKit2CFLite.def:
1625 2012-02-26 Hajime Morrita <morrita@chromium.org>
1627 Move ChromeClient::showContextMenu() to ContextMenuClient
1628 https://bugs.webkit.org/show_bug.cgi?id=79427
1630 Reviewed by Adam Barth.
1632 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1633 * WebProcess/WebCoreSupport/WebChromeClient.h:
1635 * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
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):
1646 2012-02-26 Huang Dongsung <luxtella@company100.net>
1648 Use Functional instead of a MessageQueue for messages to the LayerTreeHostProxy
1650 https://bugs.webkit.org/show_bug.cgi?id=79478
1652 This makes a lot of the broilerplate code for message-passing unnecessary, and
1653 results in a much more succinct implementation.
1655 Reviewed by Noam Rosenthal.
1657 * UIProcess/LayerTreeHostProxy.h:
1659 (LayerTreeHostProxy):
1660 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
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):
1676 2012-02-26 Filip Pizlo <fpizlo@apple.com>
1680 * Platform/mac/RemoteLayerClient.mm:
1681 (WebKit::RemoteLayerClient::RemoteLayerClient):
1683 2012-02-26 Sam Weinig <sam@webkit.org>
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
1688 Reviewed by Anders Carlsson.
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,
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.
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.
1729 2012-02-25 Anders Carlsson <andersca@apple.com>
1731 Address review feedback from Andreas Kling.
1733 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
1734 (WebKit::NetscapePlugin::platformHandleMouseEvent):
1736 2012-02-25 Anders Carlsson <andersca@apple.com>
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>
1742 Reviewed by Sam Weinig.
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.
1748 Instead of passing the global coordinates to NPP_HandleEvent, convert them to the flipped screen coordinate
1749 system that the plug-in expects.
1751 * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
1752 (WebKit::NetscapePlugin::platformHandleMouseEvent):
1754 2012-02-25 Sheriff Bot <webkit.review.bot@gmail.com>
1756 Unreviewed, rolling out r108900.
1757 http://trac.webkit.org/changeset/108900
1758 https://bugs.webkit.org/show_bug.cgi?id=79587
1760 broke some API tests, will investigate and re-commit
1761 (Requested by noamr on #webkit).
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):
1771 2012-02-25 No'am Rosenthal <noam.rosenthal@nokia.com>
1773 [Qt] Use the existing inheritedOpacity/matrix properties of QSGNode
1774 https://bugs.webkit.org/show_bug.cgi?id=79543
1776 Use QSGNode::inheritedOpacity() and QSGNode::matrix().
1777 Also, remove flags from changedStates() that we don't actually touch.
1779 Reviewed by Kenneth Rohde Christiansen.
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):
1788 2012-02-25 Sheriff Bot <webkit.review.bot@gmail.com>
1790 Unreviewed, rolling out r108816.
1791 http://trac.webkit.org/changeset/108816
1792 https://bugs.webkit.org/show_bug.cgi?id=79562
1794 It made many tests crash and timeout on Qt-WK2 (Requested by
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):
1817 2012-02-24 Andy Estes <aestes@apple.com>
1819 REGRESSION (r108730): Webkit nightlies fails to start due to WKPreferencesGetSuppressIncrementalRendering renaming
1820 https://bugs.webkit.org/show_bug.cgi?id=79515
1822 Reviewed by Alexey Proskuryakov.
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.
1828 * UIProcess/API/C/WKPreferences.cpp:
1829 (WKPreferencesSetSuppressIncrementalRendering):
1830 (WKPreferencesGetSuppressIncrementalRendering):
1831 * UIProcess/API/C/WKPreferences.h:
1833 2012-02-24 Jessie Berlin <jberlin@apple.com>
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
1839 Reviewed by Jon Honeycutt.
1841 Invoke the callback in the case where the permission level is known and no message is sent
1844 * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
1845 (WebKit::NotificationPermissionRequestManager::startRequest):
1847 2012-02-24 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
1849 [Qt] Signal and property cleanup in QQuickWebView
1850 https://bugs.webkit.org/show_bug.cgi?id=78820
1852 Reviewed by Simon Hausmann.
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
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):
1880 2012-02-24 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
1882 [Qt] API: Unify the loading properties and signals.
1883 https://bugs.webkit.org/show_bug.cgi?id=79486
1885 Reviewed by Simon Hausmann.
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.
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.
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:
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):
1966 2012-02-24 Simon Hausmann <simon.hausmann@nokia.com>
1968 Unreviewed, rolling out r108798.
1969 http://trac.webkit.org/changeset/108798
1970 https://bugs.webkit.org/show_bug.cgi?id=78047
1972 Broke too many Qt WK2 tests.
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):
2015 2012-02-24 Simon Hausmann <simon.hausmann@nokia.com>
2017 [Qt][WK2] QQuickWebView::event should lookup faster which events QQuickWebPage can handle
2018 https://bugs.webkit.org/show_bug.cgi?id=78047
2020 Reviewed by Kenneth Rohde Christiansen.
2022 Replaced double-dispatch of events with direct forwarding of events from QQuickWebView::*Event to
2023 QtWebPageEventHandler::handle*Event.
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):
2065 2012-02-24 Simon Hausmann <simon.hausmann@nokia.com>
2067 [Qt] Use private QSGRenderNode in QQuickWebView for improved Qt Scene Graph integration
2068 https://bugs.webkit.org/show_bug.cgi?id=79022
2070 Reviewed by Csaba Osztrogonác.
2073 * UIProcess/API/qt/qquickwebpage.cpp:
2074 (PageProxyNode::PageProxyNode):
2075 (PageProxyNode::changedStates):
2076 (PageProxyNode::render):
2079 2012-02-24 Carlos Garcia Campos <cgarcia@igalia.com>
2081 [GTK] Encode/decode Null ResourceResponse objects in WebKit2
2082 https://bugs.webkit.org/show_bug.cgi?id=79471
2084 Reviewed by Philippe Normand.
2086 * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
2087 (CoreIPC::::encode): Check whether ResourceResponse is Null before
2089 (CoreIPC::::decode): Check whether response is Null and create a
2090 Null ResourceResponse object in such case.
2092 2012-02-24 Shinya Kawanaka <shinyak@chromium.org>
2094 SpellCheckRequest needs to know the context where the spellcheck happened.
2095 https://bugs.webkit.org/show_bug.cgi?id=79320
2097 Reviewed by Hajime Morita.
2099 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2100 (WebKit::WebEditorClient::requestCheckingOfString):
2101 * WebProcess/WebCoreSupport/WebEditorClient.h:
2103 2012-02-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
2105 [Qt] Tiling: Improve the method names dealing with moving and scaling.
2107 Rubberstamped by Simon Hausmann.
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:
2152 2012-02-24 Sergio Villar Senin <svillar@igalia.com>
2154 [WK2] [GTK] Destructor not invoked in EditorClientFrameDestructionObserver
2155 https://bugs.webkit.org/show_bug.cgi?id=79466
2157 Reviewed by Philippe Normand.
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.
2163 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
2164 (WebKit::EditorClientFrameDestructionObserver::destroyOnClosureFinalization):
2166 2012-02-23 Andy Estes <aestes@apple.com>
2168 Rename [setS|s]uppressIncrementalRendering to [setS|s]uppressesIncrementalRendering and make it WebPreferences API.
2169 https://bugs.webkit.org/show_bug.cgi?id=79433
2171 Reviewed by Dan Bernstein.
2173 * Shared/WebPreferencesStore.h:
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):
2186 2012-02-23 Mario Sanchez Prada <msanchez@igalia.com>
2188 [GTK] Wrong signal name on emission in WebKitWindowProperties.cpp
2189 https://bugs.webkit.org/show_bug.cgi?id=79352
2191 Reviewed by Philippe Normand.
2193 Emit the signal 'resizable' instead of 'resizable-visible'.
2195 * UIProcess/API/gtk/WebKitWindowProperties.cpp:
2196 (webkitWindowPropertiesSetResizable): Use right signal name.
2198 2012-02-23 Anders Carlsson <andersca@apple.com>
2200 Flush layer changes after layout when resizing web page
2201 https://bugs.webkit.org/show_bug.cgi?id=79399
2202 <rdar://problem/10920157>
2204 Reviewed by Andreas Kling.
2206 Flush layer changes after layout, otherwise the scrollbars won't be updated
2207 until sometime later which looks bad.
2209 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2210 (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
2212 2012-02-23 Daniel Bates <dbates@webkit.org>
2214 Add missing "Reviewed by" line to change log entry for changeset r108631
2215 (https://bugs.webkit.org/show_bug.cgi?id=79252)
2217 The patch landed in changeset r108631 was reviewed by Martin Robinson.
2221 2012-02-23 Patrick Gansterer <paroga@webkit.org>
2223 [CMake] Add WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS macro
2224 https://bugs.webkit.org/show_bug.cgi?id=79371
2226 Reviewed by Daniel Bates.
2230 2012-02-23 Simon Hausmann <simon.hausmann@nokia.com>
2232 [Qt] Add support for touch cancellation
2233 https://bugs.webkit.org/show_bug.cgi?id=79348
2235 Reviewed by Kenneth Rohde Christiansen.
2237 Convert and forward incoming touch cancellation events
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):
2248 2012-02-23 Brent Fulgham <bfulgham@webkit.org>
2250 [WinCairo] Build fix after r108428.
2252 * win/WebKit2CFLite.def: Add missing export declaration.
2254 2012-02-23 Simon Hausmann <simon.hausmann@nokia.com>
2256 Unreviewed test fix after r108614: Adjust public API after changes.
2258 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
2260 2012-02-23 Simon Hausmann <simon.hausmann@nokia.com>
2262 [Qt] Build fix. Qt WebKit2 can not be compiled due to QtWebPageEventHandler.
2263 https://bugs.webkit.org/show_bug.cgi?id=79335
2265 Reviewed by Kenneth Rohde Christiansen.
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.
2272 * UIProcess/API/qt/qquickwebview.cpp:
2273 (QQuickWebView::inputMethodQuery):
2274 * UIProcess/qt/QtWebPageEventHandler.cpp:
2275 (QtWebPageEventHandler::updateTextInputState):
2277 2012-02-23 Sergio Villar Senin <svillar@igalia.com>
2279 [WK2][GTK] WebProcess SIGSEVs due to incorrect clipboard handling
2280 https://bugs.webkit.org/show_bug.cgi?id=79252
2282 Reviewed by Martin Robinson.
2284 Do not execute clipboard callbacks after the Frame associated with
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.
2291 * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
2292 (EditorClientFrameDestructionObserver):
2293 (WebKit::EditorClientFrameDestructionObserver::EditorClientFrameDestructionObserver):
2294 (WebKit::EditorClientFrameDestructionObserver::frameDestroyed):
2295 (WebKit::EditorClientFrameDestructionObserver::destroyOnClosureFinalization):
2297 (WebKit::WebEditorClient::setSelectionPrimaryClipboardIfNeeded):
2299 2012-02-23 Kenneth Rohde Christiansen <kenneth@webkit.org>
2301 [Qt] Page doesn't get repainted while panning is in progress
2302 https://bugs.webkit.org/show_bug.cgi?id=78602
2304 Reviewed by Simon Hausmann.
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.
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):
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:
2343 2012-02-23 Patrick Gansterer <paroga@webkit.org>
2345 [CMAKE][WK2] Cleanup WebKit2/CMakeLists.txt.
2346 https://bugs.webkit.org/show_bug.cgi?id=76122
2348 Reviewed by Eric Seidel.
2350 * CMakeLists.txt: Removed hardcoded WTF_USE_JSC preprocessor definition.
2352 2012-02-23 Simon Hausmann <simon.hausmann@nokia.com>
2354 [WK2] Trivial build fix after r108615.
2356 * WebProcess/WebPage/WebPage.cpp:
2357 (WebKit::WebPage::WebPage):
2359 2012-02-22 Michael Tyutyunik <michael.tyutyunik@nokia.com>
2361 [Qt][WK2] navigationType is missing in new API
2362 https://bugs.webkit.org/show_bug.cgi?id=78867
2364 Reviewed by Simon Hausmann.
2366 In QtWebPagePolicyClient::decidePolicyForNavigationAction()
2367 navigationType argument is dropped by mistake. Adding it back
2368 and make it available through NavigationRequest.
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):
2383 2012-02-22 Anders Carlsson <andersca@apple.com>
2385 Implement TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange
2386 https://bugs.webkit.org/show_bug.cgi?id=79297
2387 <rdar://problem/10748510>
2389 Reviewed by Beth Dakin.
2391 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
2392 (WebKit::TiledCoreAnimationDrawingAreaProxy::deviceScaleFactorDidChange):
2393 Send a message to the web process.
2395 * WebProcess/WebPage/DrawingArea.h:
2396 (WebKit::DrawingArea::setDeviceScaleFactor):
2399 * WebProcess/WebPage/DrawingArea.messages.in:
2400 Add SetDeviceScaleFactor message.
2402 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2403 (WebKit::TiledCoreAnimationDrawingArea::setDeviceScaleFactor):
2404 Call WebPage::setDeviceScaleFactor.
2406 2012-02-22 Brady Eidson <beidson@apple.com>
2408 <rdar://problem/10406044> and https://bugs.webkit.org/show_bug.cgi?id=79279
2409 Synchronous ShouldGoToBackForwardListItem causes lots of WebProcess hangs
2411 Reviewed by Anders Carlsson.
2413 Anytime the WebProcess sends a sync message up to the UI Process a hang can ensue.
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.
2418 Making it an asynchronous notification instead of a synchronous policy call will remove the
2419 possibility of a hang here.
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.
2424 Add a notification "willGoToBackForwardListItem" to the WKPageLoaderClient:
2425 * UIProcess/API/C/WKPage.h:
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
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:
2444 * UIProcess/WebLoaderClient.cpp:
2445 (WebKit::WebLoaderClient::shouldGoToBackForwardListItem): Only consider calling this for
2447 (WebKit::WebLoaderClient::willGoToBackForwardListItem): Later clients get this callback.
2448 * UIProcess/WebLoaderClient.h:
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.
2459 2012-02-16 Jon Lee <jonlee@apple.com>
2461 [WK2] Clearing notifications does not clean up internal state
2462 https://bugs.webkit.org/show_bug.cgi?id=78861
2463 <rdar://problem/10881167>
2465 Reviewed by Anders Carlsson.
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):
2479 2012-02-22 Jon Lee <jonlee@apple.com>
2481 Code cleanup in WebNotificationManager (79285)
2482 https://bugs.webkit.org/show_bug.cgi?id=79285
2483 <rdar://problem/10914522>
2485 Reviewed by Anders Carlsson.
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.
2491 2012-02-21 Ryosuke Niwa <rniwa@webkit.org>
2493 Remove the remaining uses of CSSStyleDeclaration in Editor
2494 https://bugs.webkit.org/show_bug.cgi?id=78939
2496 Reviewed by Enrica Casucci.
2498 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2499 (WebKit::WebEditorClient::shouldApplyStyle):
2500 * WebProcess/WebCoreSupport/WebEditorClient.h:
2503 2012-02-22 Martin Robinson <mrobinson@igalia.com>
2505 [GTK] Clean build is broken when using make -j
2506 https://bugs.webkit.org/show_bug.cgi?id=76388
2508 * GNUmakefile.am: Add some WebKit2 sources to global sources lists
2509 so that we can refer to them in separate GNUmakefiles.
2511 2012-02-22 Antaryami Pandia <antaryami.pandia@motorola.com>
2513 [GTK][WK2] Add WebGL WebSetting.
2514 https://bugs.webkit.org/show_bug.cgi?id=79217
2516 Reviewed by Martin Robinson.
2518 Add a WebSetting to enable/disable Webgl.
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):
2532 2012-02-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
2534 [Qt] Disregard previous backing store as soon as possible
2535 https://bugs.webkit.org/show_bug.cgi?id=79232
2537 Reviewed by Simon Hausmann and No'am Rosenthal.
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.
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.
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.
2552 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2553 (WebCore::WebGraphicsLayer::setContentsScale):
2554 (WebCore::WebGraphicsLayer::updateContentBuffers):
2556 2012-02-22 Michael BrĂĽning <michael.bruning@nokia.com>
2558 [Qt][WK2] Implement proxy authentication handling.
2559 https://bugs.webkit.org/show_bug.cgi?id=78792
2561 Reviewed by Simon Hausmann.
2563 This patch corrects two bugs with the previous implementation:
2564 1. The signal proxyAuthenticationRequired was not connected to a
2566 2. The slot onProxyAuthenticationRequired had the wrong parameters.
2568 * WebProcess/qt/QtNetworkAccessManager.cpp:
2569 (WebKit::QtNetworkAccessManager::QtNetworkAccessManager):
2570 (WebKit::QtNetworkAccessManager::onProxyAuthenticationRequired):
2571 * WebProcess/qt/QtNetworkAccessManager.h: Added include.
2572 (QtNetworkAccessManager):
2574 2012-02-22 Kenneth Rohde Christiansen <kenneth@webkit.org>
2576 Merge setVisibleRectTrajectoryVector and adjustVisibleRect to
2577 the more descriptive coverWithTilesIfNeeded
2578 https://bugs.webkit.org/show_bug.cgi?id=79230
2580 Reviewed by Simon Hausmann.
2582 Replace use by coverWithTilesIfNeeded().
2584 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
2585 (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
2586 (WebCore::WebGraphicsLayer::adjustVisibleRect):
2587 (WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
2589 2012-02-22 Zalan Bujtas <zbujtas@gmail.com>
2591 [Qt][WK2] Add frame flattening setting to QWebPreferences.
2592 https://bugs.webkit.org/show_bug.cgi?id=79099
2594 Reviewed by Simon Hausmann.
2596 Frame flattening is enabled by default for Qt WebKit2.
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:
2608 2012-02-22 Ryosuke Niwa <rniwa@webkit.org>
2610 Remove the remaining uses of CSSStyleDeclaration in Editor
2611 https://bugs.webkit.org/show_bug.cgi?id=78939
2613 Reviewed by Enrica Casucci.
2615 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
2616 (WebKit::WebEditorClient::shouldApplyStyle):
2617 * WebProcess/WebCoreSupport/WebEditorClient.h:
2620 2012-02-21 Carlos Garcia Campos <cgarcia@igalia.com>
2622 [GTK] Null ResourceErrors are encoded/decoded as empty ResourceErrors
2623 https://bugs.webkit.org/show_bug.cgi?id=79120
2625 Reviewed by Martin Robinson.
2627 * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
2628 (CoreIPC::::encode): Encode a boolean to indicate whether it's a
2630 (CoreIPC::::decode): Check whether the error is Null and do not
2631 continue decoding in such case.
2633 2012-02-21 No'am Rosenthal <noam.rosenthal@nokia.com>
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
2638 Only avoid painting old-scale tiles in semi-transparent situtations if the old
2639 tiles intersect with existing tiles.
2641 Reviewed by Kenneth Rohde Christiansen.
2643 * UIProcess/qt/LayerBackingStore.cpp:
2644 (WebKit::LayerBackingStore::paintToTextureMapper):
2646 2012-02-21 No'am Rosenthal <noam.rosenthal@nokia.com>
2648 [Qt] Previous web page appears outside content rect
2649 https://bugs.webkit.org/show_bug.cgi?id=78816
2651 Apply a clip on painted tiles if some of the tiles fall outside of the target rect.
2653 Reviewed by Kenneth Rohde Christiansen.
2655 * UIProcess/qt/LayerBackingStore.cpp:
2656 (WebKit::LayerBackingStore::paintToTextureMapper):
2658 2012-02-21 No'am Rosenthal <noam.rosenthal@nokia.com>
2660 [Qt][WK2] Accelerated animations don't work on Mac
2661 https://bugs.webkit.org/show_bug.cgi?id=78963
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.
2667 Reviewed by Kenneth Rohde Christiansen.
2669 * UIProcess/LayerTreeHostProxy.h:
2670 (LayerTreeHostProxy):
2671 * UIProcess/qt/LayerTreeHostProxyQt.cpp:
2672 (WebKit::LayerTreeHostProxy::LayerTreeHostProxy):
2673 (WebKit::LayerTreeHostProxy::paintToCurrentGLContext):
2675 (WebKit::LayerTreeHostProxy::syncAnimations):
2677 2012-02-21 Sam Weinig <sam@webkit.org>
2679 Attempt to fix the Snow Leopard build.
2681 * Configurations/Base.xcconfig:
2683 2012-02-21 Sam Weinig <sam@webkit.org>
2685 Use libc++ when building with Clang on Mac
2686 https://bugs.webkit.org/show_bug.cgi?id=78981
2688 Reviewed by Dan Bernstein.
2690 * Configurations/Base.xcconfig:
2692 2012-02-21 Andras Becsi <andras.becsi@nokia.com>
2694 [Qt][WK2] Get rid of the dependency to QtWidgets
2695 https://bugs.webkit.org/show_bug.cgi?id=76276
2697 Reviewed by Simon Hausmann.
2700 * UIProcess/API/qt/tests/qmltests/tst_qmltests.cpp:
2702 * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
2703 * UIProcess/API/qt/tests/tests.pri:
2704 * UIProcess/API/qt/tests/util.h:
2706 2012-02-20 Martin Robinson <mrobinson@igalia.com>
2708 [UNIX] Plugin information fields are not interpreted as UTF-8
2709 https://bugs.webkit.org/show_bug.cgi?id=78635
2711 Reviewed by Gustavo Noronha Silva.
2713 Interpret plugin metadata as UTF8 aways. This matches the behavior
2714 of Chromium and the Totem plugin.
2716 * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
2717 (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin): Use String::fromUTF8.
2719 2012-02-20 Carlos Garcia Campos <cgarcia@igalia.com>
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
2724 Reviewed by Martin Robinson.
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.
2731 * WebProcess/gtk/WebProcessMainGtk.cpp:
2732 (WebKit::WebProcessMainGtk):
2734 2012-02-20 Michael BrĂĽning <michael.bruning@nokia.com>
2736 [Qt][WK2] Implement proxy authentication handling.
2737 https://bugs.webkit.org/show_bug.cgi?id=78792
2739 Reviewed by Simon Hausmann.
2741 This patch implements the proxy authentication handling
2742 for the Qt port in a similar matter to the http authentication
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.
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
2754 * Platform/CoreIPC/ArgumentDecoder.cpp:
2755 (CoreIPC::ArgumentDecoder::decodeUInt16):
2757 * Platform/CoreIPC/ArgumentDecoder.h:
2759 (CoreIPC::ArgumentDecoder::decode):
2761 * Platform/CoreIPC/ArgumentEncoder.cpp:
2762 (CoreIPC::ArgumentEncoder::encodeUInt16):
2764 * Platform/CoreIPC/ArgumentEncoder.h:
2766 (CoreIPC::ArgumentEncoder::encode):
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:
2778 * UIProcess/WebPageProxy.cpp:
2779 (WebKit::WebPageProxy::proxyAuthenticationRequiredRequest):
2781 * UIProcess/WebPageProxy.h:
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:
2795 * UIProcess/qt/QtPageClient.cpp:
2796 (QtPageClient::handleProxyAuthenticationRequiredRequest):
2797 * UIProcess/qt/QtPageClient.h:
2799 * WebProcess/WebPage/DecoderAdapter.cpp:
2800 (WebKit::DecoderAdapter::decodeUInt16):
2802 * WebProcess/WebPage/DecoderAdapter.h:
2804 * WebProcess/WebPage/EncoderAdapter.cpp:
2805 (WebKit::EncoderAdapter::encodeUInt16):
2807 * WebProcess/WebPage/EncoderAdapter.h:
2809 * WebProcess/qt/QtNetworkAccessManager.cpp:
2810 (WebKit::QtNetworkAccessManager::onProxyAuthenticationRequired):
2812 * WebProcess/qt/QtNetworkAccessManager.h:
2813 (QtNetworkAccessManager):
2815 2012-02-20 Patrick Gansterer <paroga@webkit.org>
2817 [CMake] Update and sort list of source files.
2821 2012-02-20 Martin Robinson <mrobinson@igalia.com>
2823 Fix WebKit2GTK+ for 'make distcheck'.
2825 Instead of conditionally including WebKit2 GNUmakefiles, always
2826 include them and conditionally activate the final targets.
2829 * UIProcess/API/gtk/tests/GNUmakefile.am:
2831 2012-02-20 Martin Robinson <mrobinson@igalia.com>
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
2836 Fix the build when gtk-unix-printing-3.0 is not present.
2838 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
2839 (webkitPrintOperationRunDialog):
2840 (webkitPrintOperationRunDialogForFrame):
2841 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
2842 (WebKit::WebPrintOperationGtk::create):
2844 2012-02-18 Dan Bernstein <mitz@apple.com>
2846 <rdar://problem/10891801> BackingStore::scroll() unnecessarily copies pixels around
2847 https://bugs.webkit.org/show_bug.cgi?id=78976
2849 Reviewed by Anders Carlsson.
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
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
2868 2012-02-17 No'am Rosenthal <noam.rosenthal@nokia.com>
2870 [Qt][WK2] Allow opaque tiles
2871 https://bugs.webkit.org/show_bug.cgi?id=78809
2873 Apply the SupportsAlpha flag only when the buffers actually have alpha.
2875 Reviewed by Kenneth Rohde Christiansen.
2877 * Shared/ShareableBitmap.h:
2879 * Shared/qt/ShareableBitmapQt.cpp:
2880 * UIProcess/qt/LayerBackingStore.cpp:
2881 (WebKit::LayerBackingStoreTile::swapBuffers):
2883 2012-02-17 Adam Roben <aroben@apple.com>
2885 Clang build fix after r108119
2887 * WebProcess/WebProcess.cpp:
2888 (WebKit::randomCrashThread): Annotate this function with NO_RETURN_DUE_TO_CRASH.
2890 2012-02-17 Kalev Lember <kalevlember@gmail.com>
2892 Remove unused parameters from WTF threading API
2893 https://bugs.webkit.org/show_bug.cgi?id=78389
2895 Reviewed by Adam Roben.
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.
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.
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
2914 * Platform/WorkQueue.h:
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):
2927 * win/WebKit2CFLite.def:
2929 2012-02-17 Mihnea Ovidenie <mihnea@adobe.com>
2931 CSS regions enabled by default
2932 https://bugs.webkit.org/show_bug.cgi?id=78525
2934 Reviewed by David Hyatt.
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.
2940 * Shared/WebPreferencesStore.h:
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):
2951 2012-02-17 Enrica Casucci <enrica@apple.com>
2953 Refactor DragData class to use PlatformStrategies in the Mac implementation.
2954 https://bugs.webkit.org/show_bug.cgi?id=78768
2956 Reviewed by Darin Adler.
2958 * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Added color() method.
2959 (WebKit::WebPlatformStrategies::color):
2960 * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
2962 2012-02-17 Martin Robinson <mrobinson@igalia.com>
2964 Fix some warnings encountered during the GTK+ build
2965 https://bugs.webkit.org/show_bug.cgi?id=78911
2967 Reviewed by Xan Lopez.
2969 * UIProcess/API/gtk/WebKitLoaderClient.cpp:
2970 (attachLoaderClientToView): Initialize a new member of the loader client struct.
2972 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
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
2977 Reviewed by Gustavo Noronha Silva.
2979 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
2980 (webkitPrintOperationRunDialogUnix): Enable scale option in print
2982 * WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp:
2983 (WebKit::WebPrintOperationGtk::WebPrintOperationGtk): Initialize
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:
2993 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
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
2998 Reviewed by Gustavo Noronha Silva.
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
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:
3020 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
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
3025 Reviewed by Gustavo Noronha Silva.
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
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:
3042 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
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
3047 Reviewed by Gustavo Noronha Silva.
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.
3061 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
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
3066 Reviewed by Gustavo Noronha Silva.
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
3080 (WebKit::WebPrintOperationGtk::currentPageIsLastPageOfSheet):
3081 Helper function to check whether current pages is the last one of
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
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):
3099 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
3101 [GTK] Rename WebKitPrintOperation::done signal to ::finished in WebKit2
3102 https://bugs.webkit.org/show_bug.cgi?id=78893
3104 Reviewed by Gustavo Noronha Silva.
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().
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
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.
3136 2012-02-17 Carlos Garcia Campos <cgarcia@igalia.com>
3138 [GTK] Add webkit_print_operation_print() to WebKit2 GTK+ API
3139 https://bugs.webkit.org/show_bug.cgi?id=76536
3141 Reviewed by Gustavo Noronha Silva.
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
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):
3163 2012-02-17 No'am Rosenthal <noam.rosenthal@nokia.com>
3165 [Qt][WK2] Allow partial updates
3166 https://bugs.webkit.org/show_bug.cgi?id=78824
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.
3173 Reviewed by Simon Hausmann.
3175 * UIProcess/qt/LayerBackingStore.cpp:
3176 (WebKit::LayerBackingStoreTile::swapBuffers):
3177 (WebKit::LayerBackingStoreTile::setBackBuffer):
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):
3187 2012-02-16 Carlos Garcia Campos <cgarcia@igalia.com>
3189 [GTK] Make sure print operation object is alive until printing finishes in WebKit2
3190 https://bugs.webkit.org/show_bug.cgi?id=78829
3192 Reviewed by Martin Robinson.
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.
3200 2012-02-15 Geoffrey Garen <ggaren@apple.com>
3202 Made Weak<T> single-owner, adding PassWeak<T>
3203 https://bugs.webkit.org/show_bug.cgi?id=78740
3205 Reviewed by Sam Weinig.
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.
3211 2012-02-16 Sergio Villar Senin <svillar@igalia.com>
3213 [soup] Move important SoupSession feature initialization to WebCore
3214 https://bugs.webkit.org/show_bug.cgi?id=68602
3216 Reviewed by Martin Robinson.
3218 Moved content sniffer and decoder initialization from the
3219 WebProcess to WebCore because network stuff will not work as
3220 expected without them.
3222 No new tests required as we're just moving stuff from the
3223 WebProcess to WebCore.
3225 * WebProcess/gtk/WebProcessMainGtk.cpp:
3226 (WebKit::WebProcessMainGtk):
3228 2012-02-16 Philippe Normand <pnormand@igalia.com>
3230 Unreviewed, rolling out r107941.
3231 http://trac.webkit.org/changeset/107941
3232 https://bugs.webkit.org/show_bug.cgi?id=68602
3234 Broke 23 http tests on GTK
3236 * WebProcess/gtk/WebProcessMainGtk.cpp:
3237 (WebKit::WebProcessMainGtk):
3239 2012-02-16 No'am Rosenthal <noam.rosenthal@nokia.com>
3241 [Texmap] Improve the way we deal with BGRA extension
3242 https://bugs.webkit.org/show_bug.cgi?id=78822
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
3248 Reviewed by Kenneth Rohde Christiansen.
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):
3259 2012-02-16 Carlos Garcia Campos <cgarcia@igalia.com>
3261 Unreviewed. Fix WebKit2 GTK+ build after r107947.
3263 * UIProcess/API/gtk/WebKitPrintOperation.cpp:
3264 (webkitPrintOperationRunDialogForFrame):
3266 2012-02-16 Alexander Færøy <ahf@0x90.dk>
3268 [Qt] Fix linking in debug builds on Mac OS X
3269 https://bugs.webkit.org/show_bug.cgi?id=78811
3271 Reviewed by Kenneth Rohde Christiansen.
3273 * UIProcess/API/qt/tests/bytearraytestdata.h:
3275 2012-02-16 Carlos Garcia Campos <cgarcia@igalia.com>
3277 [GTK] Page content is incorrectly translated whenh rendering pages for printing in WebKit2
3278 https://bugs.webkit.org/show_bug.cgi?id=78712
3280 Reviewed by Martin Robinson.
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
3289 2012-02-16 Carlos Garcia Campos <cgarcia@igalia.com>
3291 [GTK] Add WebKitPrintOperation to WebKit2 GTK+ API
3292 https://bugs.webkit.org/show_bug.cgi?id=76448
3294 Reviewed by Martin Robinson.
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
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
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):
3345 * UIProcess/API/gtk/webkit2.h: Include WebKitPrintOperation.h.
3347 2012-02-16 Simon Hausmann <simon.hausmann@nokia.com>
3349 [Gtk][Efl][Qt] Move OpenGLShims out of cairo/ subdirectory
3350 https://bugs.webkit.org/show_bug.cgi?id=78800
3352 Reviewed by Kenneth Rohde Christiansen.
3354 * UIProcess/qt/LayerTreeHostProxyQt.cpp: Adjust to changed OpenGLShims.h
3355 location - no more cairo prefix needed.
3357 2012-02-16 No'am Rosenthal <noam.rosenthal@nokia.com>
3359 [Qt][WK2] Allow opaque tiles
3360 https://bugs.webkit.org/show_bug.cgi?id=78809
3362 Set the supportsAlpha flag for TiledBackingStore when the layer has contentsOpaque enabled.
3363 Use the flag for ShareableBitmaps created by TiledBackingStore.
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.
3368 Reviewed by Kenneth Rohde Christiansen.
3370 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
3371 (WebCore::WebGraphicsLayer::setContentsOpaque):
3372 (WebCore::WebGraphicsLayer::setContentsScale):
3373 (WebCore::WebGraphicsLayer::createBackingStore):
3375 (WebCore::WebGraphicsLayer::updateContentBuffers):
3376 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
3378 * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
3379 (WebKit::TiledBackingStoreRemoteTile::updateBackBuffer):
3381 2012-02-16 Sergio Villar Senin <svillar@igalia.com>
3383 [soup] Move important SoupSession feature initialization to WebCore
3384 https://bugs.webkit.org/show_bug.cgi?id=68602
3386 Reviewed by Martin Robinson.
3388 Moved content sniffer and decoder initialization from the
3389 WebProcess to WebCore because network stuff will not work as
3390 expected without them.
3392 No new tests required as we're just moving stuff from the
3393 WebProcess to WebCore.
3395 * WebProcess/gtk/WebProcessMainGtk.cpp:
3396 (WebKit::WebProcessMainGtk):
3398 2012-02-16 Adenilson Cavalcanti <cavalcantii@gmail.com>
3400 [Qt][WK2] Split QWebPermissionRequest into QWebSecurityOrigin
3401 https://bugs.webkit.org/show_bug.cgi?id=73215
3403 Reviewed by Kenneth Rohde Christiansen.
3405 Introducing a new class to expose security origin information
3406 (port/scheme/etc), useful for inspecting the origin of permission
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:
3429 2012-02-16 Patrick Gansterer <paroga@webkit.org>
3431 [CMake] Add missing include directories.
3435 2012-02-16 Carlos Garcia Campos <cgarcia@igalia.com>
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
3440 Reviewed by Martin Robinson.
3442 * UIProcess/API/gtk/WebKitWebView.cpp:
3444 2012-02-15 Anders Carlsson <andersca@apple.com>
3446 Add TiledCoreAnimationDrawingArea::forceRepaint
3447 https://bugs.webkit.org/show_bug.cgi?id=78749
3448 <rdar://problem/10866221>
3450 Reviewed by Sam Weinig.
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.
3457 2012-02-15 Enrica Casucci <enrica@apple.com>
3459 Refactor ClipboardMac class to use PlatformStrategies.
3460 https://bugs.webkit.org/show_bug.cgi?id=78554
3462 Reviewed by Anders Carlsson.
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.
3474 2012-02-15 Sadrul Habib Chowdhury <sadrul@chromium.org>
3476 Notify ChromeClient when touch-event handlers are installed/removed.
3477 https://bugs.webkit.org/show_bug.cgi?id=77440
3479 Reviewed by Darin Fisher and Ryosuke Niwa.
3481 * UIProcess/WebPageProxy.h:
3482 (WebKit::WebPageProxy::numTouchEventHandlersChanged):
3483 * WebProcess/WebCoreSupport/WebChromeClient.h:
3485 2012-02-15 Patrick Gansterer <paroga@webkit.org>
3487 [CMake] Move RunLoop to WebCore/platform
3488 https://bugs.webkit.org/show_bug.cgi?id=78504
3490 Reviewed by Adam Roben.
3492 * CMakeLists.txt: Remove RunLoop.cpp from list of souces.
3494 2012-02-14 Simon Hausmann <simon.hausmann@nokia.com>
3496 [Qt] Eliminate first set of QtWidgets dependencies from WebCore
3497 https://bugs.webkit.org/show_bug.cgi?id=78611
3499 Reviewed by Kenneth Rohde Christiansen.
3501 * UIProcess/qt/QtWebPageEventHandler.cpp: Add missing QCursor include