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