1 2012-06-25 Simon Hausmann <simon.hausmann@nokia.com>
3 [Qt] Make it possible to build WebKit without QtWidgets
4 https://bugs.webkit.org/show_bug.cgi?id=78109
6 Reviewed by Tor Arne Vestbø.
8 * WebKit2.pri: Add missing WK2 specific dependencies.
9 * qt/MainQt.cpp: Do the QStyle initialization hook only if we are
10 compiling with QtWidgets support.
14 2012-06-25 Raphael Kubo da Costa <rakuco@webkit.org>
16 [EFL][WK2] Include unistd.h in PlatformProcessIdentifier.h.
17 https://bugs.webkit.org/show_bug.cgi?id=89804
19 Reviewed by Hajime Morita.
21 The pid_t typedef ends up coming from stdlib.h (indirectly via WTF
22 includes) on Mac and Linux, even though that is not mandated by
23 POSIX and breaks other platforms (such as FreeBSD). Fix that by
24 explicitly including unistd.h, which is where the typedef is
25 supposed to come from.
27 * Platform/PlatformProcessIdentifier.h:
29 2012-06-25 YoungTaeck Song <youngtaeck.song@samsung.com>
31 [WK2][Qt][EFL] Extract common code from LayerTreeHostQt
32 https://bugs.webkit.org/show_bug.cgi?id=89837
34 Reviewed by Noam Rosenthal.
36 Extract common code from LayerTreeHostQt to be used by both Qt and Efl.
37 I renamed LayerTreeHost to LayerTreeCoordinator, and these are moved under WebProcess/WebPage/LayerTreeCoordinator.
38 I Modified LayerTreeHostProxy to LayerTreeCoordinatorProxy too, Because LayerTreeHostProxy and LayerTreeHost were pair.
39 Also WebGraphicsLayer moved under that directory.
43 * GNUmakefile.list.am:
44 * Platform/CoreIPC/MessageID.h:
46 * UIProcess/API/qt/qquickwebpage.cpp:
47 (QQuickWebPagePrivate::paint):
48 (QQuickWebPage::updatePaintNode):
49 (QQuickWebPagePrivate::updateSize):
50 * UIProcess/DrawingAreaProxy.cpp:
51 (WebKit::DrawingAreaProxy::didReceiveLayerTreeCoordinatorProxyMessage):
52 * UIProcess/DrawingAreaProxy.h:
54 (WebKit::DrawingAreaProxy::layerTreeCoordinatorProxy):
56 * UIProcess/DrawingAreaProxyImpl.cpp:
57 (WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
58 (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
59 (WebKit::DrawingAreaProxyImpl::didReceiveLayerTreeCoordinatorProxyMessage):
60 (WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):
61 * UIProcess/DrawingAreaProxyImpl.h:
63 (DrawingAreaProxyImpl):
64 * UIProcess/LayerTreeCoordinatorProxy.cpp: Renamed from Source/WebKit2/UIProcess/LayerTreeHostProxy.cpp.
66 (WebKit::LayerTreeCoordinatorProxy::LayerTreeCoordinatorProxy):
67 (WebKit::LayerTreeCoordinatorProxy::~LayerTreeCoordinatorProxy):
68 (WebKit::LayerTreeCoordinatorProxy::updateViewport):
69 (WebKit::LayerTreeCoordinatorProxy::dispatchUpdate):
70 (WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
71 (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
72 (WebKit::LayerTreeCoordinatorProxy::removeTileForLayer):
73 (WebKit::LayerTreeCoordinatorProxy::deleteCompositingLayer):
74 (WebKit::LayerTreeCoordinatorProxy::setRootCompositingLayer):
75 (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerState):
76 (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerChildren):
77 (WebKit::LayerTreeCoordinatorProxy::setCompositingLayerFilters):
78 (WebKit::LayerTreeCoordinatorProxy::didRenderFrame):
79 (WebKit::LayerTreeCoordinatorProxy::createDirectlyCompositedImage):
80 (WebKit::LayerTreeCoordinatorProxy::destroyDirectlyCompositedImage):
81 (WebKit::LayerTreeCoordinatorProxy::setContentsSize):
82 (WebKit::LayerTreeCoordinatorProxy::setVisibleContentsRect):
83 (WebKit::LayerTreeCoordinatorProxy::renderNextFrame):
84 (WebKit::LayerTreeCoordinatorProxy::didChangeScrollPosition):
85 (WebKit::LayerTreeCoordinatorProxy::syncCanvas):
86 (WebKit::LayerTreeCoordinatorProxy::purgeBackingStores):
87 * UIProcess/LayerTreeCoordinatorProxy.h: Renamed from Source/WebKit2/UIProcess/LayerTreeHostProxy.h.
89 (LayerTreeCoordinatorProxy):
90 (WebKit::LayerTreeCoordinatorProxy::layerTreeRenderer):
91 * UIProcess/LayerTreeCoordinatorProxy.messages.in: Renamed from Source/WebKit2/UIProcess/LayerTreeHostProxy.messages.in.
92 * UIProcess/WebLayerTreeRenderer.cpp:
93 (WebKit::WebLayerTreeRenderer::WebLayerTreeRenderer):
94 (WebKit::WebLayerTreeRenderer::updateViewport):
95 (WebKit::WebLayerTreeRenderer::renderNextFrame):
96 (WebKit::WebLayerTreeRenderer::purgeBackingStores):
97 (WebKit::WebLayerTreeRenderer::detach):
98 * UIProcess/WebLayerTreeRenderer.h:
100 (WebLayerTreeRenderer):
101 * UIProcess/WebPageProxy.cpp:
102 (WebKit::WebPageProxy::didReceiveMessage):
104 * WebProcess/WebPage/DrawingArea.h:
106 * WebProcess/WebPage/DrawingAreaImpl.cpp:
107 (WebKit::DrawingAreaImpl::didReceiveLayerTreeCoordinatorMessage):
108 * WebProcess/WebPage/DrawingAreaImpl.h:
110 * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.cpp.
112 (WebKit::LayerTreeCoordinator::create):
113 (WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
114 (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
115 (WebKit::LayerTreeCoordinator::setLayerFlushSchedulingEnabled):
116 (WebKit::LayerTreeCoordinator::scheduleLayerFlush):
117 (WebKit::LayerTreeCoordinator::cancelPendingLayerFlush):
118 (WebKit::LayerTreeCoordinator::setShouldNotifyAfterNextScheduledLayerFlush):
119 (WebKit::LayerTreeCoordinator::setRootCompositingLayer):
120 (WebKit::LayerTreeCoordinator::invalidate):
121 (WebKit::LayerTreeCoordinator::setNonCompositedContentsNeedDisplay):
122 (WebKit::LayerTreeCoordinator::scrollNonCompositedContents):
123 (WebKit::LayerTreeCoordinator::forceRepaint):
124 (WebKit::LayerTreeCoordinator::sizeDidChange):
125 (WebKit::LayerTreeCoordinator::didInstallPageOverlay):
126 (WebKit::LayerTreeCoordinator::didUninstallPageOverlay):
127 (WebKit::LayerTreeCoordinator::setPageOverlayNeedsDisplay):
128 (WebKit::LayerTreeCoordinator::setPageOverlayOpacity):
129 (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
130 (WebKit::LayerTreeCoordinator::syncLayerState):
131 (WebKit::LayerTreeCoordinator::syncLayerChildren):
132 (WebKit::LayerTreeCoordinator::syncCanvas):
133 (WebKit::LayerTreeCoordinator::syncLayerFilters):
134 (WebKit::LayerTreeCoordinator::attachLayer):
135 (WebKit::LayerTreeCoordinator::detachLayer):
136 (WebKit::updateOffsetFromViewportForSelf):
137 (WebKit::updateOffsetFromViewportForLayer):
138 (WebKit::LayerTreeCoordinator::syncFixedLayers):
139 (WebKit::LayerTreeCoordinator::performScheduledLayerFlush):
140 (WebKit::LayerTreeCoordinator::layerFlushTimerFired):
141 (WebKit::LayerTreeCoordinator::createPageOverlayLayer):
142 (WebKit::LayerTreeCoordinator::destroyPageOverlayLayer):
143 (WebKit::LayerTreeCoordinator::adoptImageBackingStore):
144 (WebKit::LayerTreeCoordinator::releaseImageBackingStore):
145 (WebKit::LayerTreeCoordinator::notifyAnimationStarted):
146 (WebKit::LayerTreeCoordinator::notifySyncRequired):
147 (WebKit::LayerTreeCoordinator::paintContents):
148 (WebKit::LayerTreeCoordinator::showDebugBorders):
149 (WebKit::LayerTreeCoordinator::showRepaintCounter):
150 (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
151 (WebKit::LayerTreeCoordinator::createTile):
152 (WebKit::LayerTreeCoordinator::updateTile):
153 (WebKit::LayerTreeCoordinator::removeTile):
154 (WebKit::LayerTreeCoordinator::visibleContentsRect):
155 (WebKit::LayerTreeCoordinator::setVisibleContentsRect):
156 (WebKit::LayerTreeCoordinator::renderNextFrame):
157 (WebKit::LayerTreeCoordinator::layerTreeTileUpdatesAllowed):
158 (WebKit::LayerTreeCoordinator::purgeBackingStores):
159 (WebKit::LayerTreeCoordinator::beginContentUpdate):
160 * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h: Renamed from Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.h.
162 (LayerTreeCoordinator):
163 (WebKit::LayerTreeCoordinator::layerTreeContext):
164 (WebKit::LayerTreeCoordinator::pageOverlayShouldApplyFadeWhenPainting):
165 (WebKit::LayerTreeCoordinator::pauseRendering):
166 (WebKit::LayerTreeCoordinator::resumeRendering):
167 (WebKit::LayerTreeCoordinator::deviceScaleFactorDidChange):
168 * WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.messages.in: Renamed from Source/WebKit2/WebProcess/WebPage/LayerTreeHost.messages.in.
169 * WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.cpp: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.cpp.
171 (WebCore::layerByIDMap):
172 (WebCore::WebGraphicsLayer::layerByID):
173 (WebCore::toWebLayerID):
174 (WebCore::WebGraphicsLayer::didChangeLayerState):
175 (WebCore::WebGraphicsLayer::didChangeChildren):
176 (WebCore::WebGraphicsLayer::didChangeFilters):
177 (WebCore::WebGraphicsLayer::setShouldUpdateVisibleRect):
178 (WebCore::WebGraphicsLayer::didChangeGeometry):
179 (WebCore::WebGraphicsLayer::WebGraphicsLayer):
180 (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
181 (WebCore::WebGraphicsLayer::willBeDestroyed):
182 (WebCore::WebGraphicsLayer::setChildren):
183 (WebCore::WebGraphicsLayer::addChild):
184 (WebCore::WebGraphicsLayer::addChildAtIndex):
185 (WebCore::WebGraphicsLayer::addChildAbove):
186 (WebCore::WebGraphicsLayer::addChildBelow):
187 (WebCore::WebGraphicsLayer::replaceChild):
188 (WebCore::WebGraphicsLayer::removeFromParent):
189 (WebCore::WebGraphicsLayer::setPosition):
190 (WebCore::WebGraphicsLayer::setAnchorPoint):
191 (WebCore::WebGraphicsLayer::setSize):
192 (WebCore::WebGraphicsLayer::setTransform):
193 (WebCore::WebGraphicsLayer::setChildrenTransform):
194 (WebCore::WebGraphicsLayer::setPreserves3D):
195 (WebCore::WebGraphicsLayer::setMasksToBounds):
196 (WebCore::WebGraphicsLayer::setDrawsContent):
197 (WebCore::WebGraphicsLayer::setContentsOpaque):
198 (WebCore::WebGraphicsLayer::setBackfaceVisibility):
199 (WebCore::WebGraphicsLayer::setOpacity):
200 (WebCore::WebGraphicsLayer::setContentsRect):
201 (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
202 (WebCore::WebGraphicsLayer::setContentsToCanvas):
203 (WebCore::WebGraphicsLayer::setFilters):
204 (WebCore::WebGraphicsLayer::setContentsToImage):
205 (WebCore::WebGraphicsLayer::setMaskLayer):
206 (WebCore::WebGraphicsLayer::setReplicatedByLayer):
207 (WebCore::WebGraphicsLayer::setNeedsDisplay):
208 (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
209 (WebCore::WebGraphicsLayer::id):
210 (WebCore::WebGraphicsLayer::syncCompositingState):
211 (WebCore::toWebGraphicsLayer):
212 (WebCore::WebGraphicsLayer::syncChildren):
213 (WebCore::WebGraphicsLayer::syncFilters):
214 (WebCore::WebGraphicsLayer::syncLayerState):
215 (WebCore::WebGraphicsLayer::syncCanvas):
216 (WebCore::WebGraphicsLayer::ensureImageBackingStore):
217 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
218 (WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin):
219 (WebCore::WebGraphicsLayer::setRootLayer):
220 (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
221 (WebCore::WebGraphicsLayer::setContentsScale):
222 (WebCore::WebGraphicsLayer::effectiveContentsScale):
223 (WebCore::WebGraphicsLayer::adjustContentsScale):
224 (WebCore::WebGraphicsLayer::createBackingStore):
225 (WebCore::WebGraphicsLayer::tiledBackingStorePaint):
226 (WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd):
227 (WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed):
228 (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
229 (WebCore::WebGraphicsLayer::shouldUseTiledBackingStore):
230 (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
231 (WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor):
232 (WebCore::WebGraphicsLayer::beginContentUpdate):
233 (WebCore::WebGraphicsLayer::createTile):
234 (WebCore::WebGraphicsLayer::updateTile):
235 (WebCore::WebGraphicsLayer::removeTile):
236 (WebCore::WebGraphicsLayer::updateContentBuffers):
237 (WebCore::WebGraphicsLayer::purgeBackingStores):
238 (WebCore::WebGraphicsLayer::setWebGraphicsLayerClient):
239 (WebCore::WebGraphicsLayer::adjustVisibleRect):
240 (WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
241 (WebCore::createWebGraphicsLayer):
242 (WebCore::WebGraphicsLayer::initFactory):
243 (WebCore::WebGraphicsLayer::selfOrAncestorHaveNonAffineTransforms):
244 * WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.h: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.h.
247 (WebGraphicsLayerClient):
249 (WebCore::WebGraphicsLayer::image):
250 (WebCore::WebGraphicsLayer::fixedToViewport):
251 (WebCore::WebGraphicsLayer::setFixedToViewport):
252 (WebCore::WebGraphicsLayer::maskTarget):
253 (WebCore::WebGraphicsLayer::setMaskTarget):
254 * WebProcess/WebPage/LayerTreeHost.cpp:
255 (WebKit::LayerTreeHost::create):
256 * WebProcess/WebPage/LayerTreeHost.h:
258 * WebProcess/WebPage/WebPage.cpp:
259 (WebKit::WebPage::didReceiveMessage):
261 2012-06-25 Anders Carlsson <andersca@apple.com>
263 [Lion WK2] fast/loader/reload-zero-byte-plugin.html hits assert
264 https://bugs.webkit.org/show_bug.cgi?id=89611
265 <rdar://problem/11714023>
267 Reviewed by Sam Weinig.
269 Make sure to send the response along to the plug-in in the case where the stream was empty.
271 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
272 (WebKit::WebFrameLoaderClient::finishedLoading):
274 2012-06-25 YoungTaeck Song <youngtaeck.song@samsung.com>
276 [WK2][Qt][EFL] Move LayerBackingStore into common directory
277 https://bugs.webkit.org/show_bug.cgi?id=89838
279 Reviewed by Noam Rosenthal.
281 Move LayerBackingStore into 'Source/WebKit2/UIProcess/texmap' to be used by both Qt and Efl.
284 * UIProcess/texmap/LayerBackingStore.cpp: Renamed from Source/WebKit2/UIProcess/qt/LayerBackingStore.cpp.
286 (WebKit::LayerBackingStoreTile::swapBuffers):
287 (WebKit::LayerBackingStoreTile::setBackBuffer):
288 (WebKit::LayerBackingStore::createTile):
289 (WebKit::LayerBackingStore::removeTile):
290 (WebKit::LayerBackingStore::updateTile):
291 (WebKit::LayerBackingStore::texture):
292 (WebKit::LayerBackingStore::paintToTextureMapper):
293 (WebKit::LayerBackingStore::commitTileOperations):
294 * UIProcess/texmap/LayerBackingStore.h: Renamed from Source/WebKit2/UIProcess/qt/LayerBackingStore.h.
296 (LayerBackingStoreTile):
297 (WebKit::LayerBackingStoreTile::LayerBackingStoreTile):
298 (WebKit::LayerBackingStoreTile::scale):
300 (WebKit::LayerBackingStore::create):
301 (WebKit::LayerBackingStore::LayerBackingStore):
303 2012-06-25 Carlos Garcia Campos <cgarcia@igalia.com>
305 [GTK] Test /webkit2/WebKitWebView/permission-requests fails due to a runtime warning
306 https://bugs.webkit.org/show_bug.cgi?id=89858
308 Reviewed by Xan Lopez.
310 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
311 (testWebViewPermissionRequests): Make runtime warnings non-fatal
312 for test /webkit2/WebKitWebView/permission-requests.
314 2012-06-25 Huang Dongsung <luxtella@company100.net>
316 [GTK] Remove unused code in LayerTreeHostGtk.
317 https://bugs.webkit.org/show_bug.cgi?id=89854
319 LayerTreeHostGtk::deviceScaleFactor() is unused and LayerTreeHost does not have
320 virtual float deviceScaleFactor() const;
322 Reviewed by Martin Robinson.
324 * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
325 * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
328 2012-06-24 Andreas Kling <kling@webkit.org>
330 REGRESSION(r120329): Intermittent WebProcess shutdowns due to out-of-line DidReceiveEvent messages.
331 <rdar://problem/11686974>
332 <http://webkit.org/b/89659>
334 Unreviewed tests assertion fix, handleKeyboardEvent() should call didReceiveKeyEvent()
335 rather than didReceiveEvent().
337 * UIProcess/WebPageProxy.cpp:
338 (WebKit::WebPageProxy::handleKeyboardEvent):
339 (WebKit::WebPageProxy::didReceiveKeyEvent):
341 2012-06-24 YoungTaeck Song <youngtaeck.song@samsung.com>
343 [WK2][Qt][EFL] Modify Qt specific code to common code
344 https://bugs.webkit.org/show_bug.cgi?id=89839
346 Reviewed by Noam Rosenthal.
348 Modify paintToGraphicsContext’s first argument QPainter to PlatformGraphicsContext to be used by both Qt and Efl.
350 * UIProcess/WebLayerTreeRenderer.cpp:
351 (WebKit::WebLayerTreeRenderer::paintToGraphicsContext):
353 2012-06-24 Simon Fraser <simon.fraser@apple.com>
355 Rename isPositioned to isOutOfFlowPositioned for clarity
356 https://bugs.webkit.org/show_bug.cgi?id=89836
358 Reviewed by Antti Koivisto.
360 RenderObject and RenderStyle had an isPositioned() method that was
361 confusing, because it excluded relative positioning. Rename to
362 isOutOfFlowPositioned(), which makes it clearer that it only applies
363 to absolute and fixed positioning.
365 Simple rename; no behavior change.
367 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
368 (WebKit::updateOffsetFromViewportForSelf):
370 2012-06-24 Andreas Kling <kling@webkit.org>
372 REGRESSION(r120329): Intermittent WebProcess shutdowns due to out-of-line DidReceiveEvent messages.
373 <rdar://problem/11686974>
374 <http://webkit.org/b/89659>
376 Reviewed by Sam Weinig.
378 Instead of sending DidReceiveEvent for key events as DispatchMessageEvenWhenWaitingForSyncReply,
379 use proper synchronous messages. This makes the WebProcess block while the UIProcess handles
380 the event but prevents a weird race condition where DidReceiveEvent gets dispatched just before
381 a synchronous DecidePolicyForNavigationAction and something happens below DidReceiveEvent that
382 invalidates the frame ID passed to DecidePolicyForNavigationAction.
384 This is a speculative fire-fighting fix.
386 * UIProcess/WebPageProxy.cpp:
387 (WebKit::WebPageProxy::didReceiveKeyEvent):
388 (WebKit::WebPageProxy::didReceiveEvent):
389 * UIProcess/WebPageProxy.h:
390 * UIProcess/WebPageProxy.messages.in:
391 * WebProcess/WebPage/WebPage.cpp:
392 (WebKit::WebPage::keyEvent):
394 2012-06-23 Sheriff Bot <webkit.review.bot@gmail.com>
396 Unreviewed, rolling out r121058.
397 http://trac.webkit.org/changeset/121058
398 https://bugs.webkit.org/show_bug.cgi?id=89809
400 Patch causes plugins tests to crash in GTK debug builds
401 (Requested by zdobersek on #webkit).
403 * Shared/mac/WebMemorySampler.mac.mm:
404 (WebKit::WebMemorySampler::sampleWebKit):
405 * WebProcess/InjectedBundle/InjectedBundle.cpp:
406 (WebKit::InjectedBundle::javaScriptObjectsCount):
407 (WebKit::InjectedBundle::reportException):
408 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
409 (WebKit::JSNPObject::callMethod):
410 (WebKit::JSNPObject::callObject):
411 (WebKit::JSNPObject::callConstructor):
412 (WebKit::JSNPObject::put):
413 (WebKit::JSNPObject::deleteProperty):
414 (WebKit::JSNPObject::getOwnPropertyNames):
415 (WebKit::JSNPObject::propertyGetter):
416 * WebProcess/Plugins/Netscape/NPJSObject.cpp:
417 (WebKit::NPJSObject::hasMethod):
418 (WebKit::NPJSObject::invoke):
419 (WebKit::NPJSObject::invokeDefault):
420 (WebKit::NPJSObject::hasProperty):
421 (WebKit::NPJSObject::getProperty):
422 (WebKit::NPJSObject::setProperty):
423 (WebKit::NPJSObject::removeProperty):
424 (WebKit::NPJSObject::enumerate):
425 (WebKit::NPJSObject::construct):
426 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
427 (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
428 (WebKit::NPRuntimeObjectMap::evaluate):
429 (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
430 * WebProcess/WebPage/WebFrame.cpp:
431 (WebKit::WebFrame::jsWrapperForWorld):
432 (WebKit::WebFrame::computedStyleIncludingVisitedInfo):
433 * WebProcess/WebPage/WebPage.cpp:
434 (WebKit::WebPage::runJavaScriptInMainFrame):
435 * WebProcess/WebProcess.cpp:
436 (WebKit::WebProcess::getWebCoreStatistics):
438 2012-06-23 Zan Dobersek <zandobersek@gmail.com>
440 Unreviewed build fix for GTK's WebKit2 build after r121093.
442 * UIProcess/API/gtk/WebKitWebView.cpp:
443 (webkitWebViewPopulateContextMenu):
445 2012-06-23 Carlos Garcia Campos <cgarcia@igalia.com>
447 Unreviewed. Fix several GTK+ unit tests.
449 GTK+ unit tests using WebViewTest::wait() started to fail due to a
450 bug introduced in r121093.
452 * UIProcess/API/gtk/tests/WebViewTest.cpp:
453 (WebViewTest::wait): Use this instead of m_mainLoop as user data
454 for the idle callback.
456 2012-06-23 Carlos Garcia Campos <cgarcia@igalia.com>
458 [GTK] Add ContextMenu API to WebKit2 GTK+ API
459 https://bugs.webkit.org/show_bug.cgi?id=81011
461 Reviewed by Martin Robinson.
463 Add WebKitWebView::context-menu signal and WebKitContextMenu and
464 WebKitContextMenuItem objects to customize the default menu or
467 * GNUmakefile.list.am: Add new files to destination.
468 * UIProcess/API/gtk/WebKitContextMenu.cpp: Added.
469 (webkitContextMenuFinalize):
470 (webkit_context_menu_init):
471 (webkit_context_menu_class_init):
472 (webkitContextMenuPopulate): Populate the given vector of
473 ContextMenuItems with the WebKitContextMenu items releasing the
474 items added to the vector.
475 (webkitContextMenuCreate): Create a new WebKitContextMenu for the
476 given WKArrayRef of WKContextMenuItemRef.
477 (webkitContextMenuSetParentItem): Set the parent menu item of the
478 menu. Used when a menu is added as a submenu of a menu item.
479 (webkitContextMenuGetParentItem): Return the parent menu item of
481 (webkit_context_menu_new): Create a new WebKitContextMenu.
482 (webkit_context_menu_new_with_items): Create a new
483 WebKitContextMenu using the given list of WebKitContextMenuItem.
484 (webkit_context_menu_prepend): Add item at the beginning.
485 (webkit_context_menu_append): Add item at the end.
486 (webkit_context_menu_insert): Insert item at a random position.
487 (webkit_context_menu_move_item): Move an existing item to a new
489 (webkit_context_menu_get_items): Get the list of items.
490 (webkit_context_menu_get_n_items): Get the number of items.
491 (webkit_context_menu_first): Get the first item.
492 (webkit_context_menu_last): Get the last item.
493 (webkit_context_menu_get_item_at_position): Get the item at the
495 (webkit_context_menu_remove): Remove the given item.
496 (webkit_context_menu_remove_all): Remove all items.
497 * UIProcess/API/gtk/WebKitContextMenu.h: Added.
498 * UIProcess/API/gtk/WebKitContextMenuActions.cpp: Added.
499 (webkitContextMenuActionIsCheckable): Check if the given stock
500 action is a toggle action.
501 (webkitContextMenuActionGetActionTag): Get the WebCore
502 ContextMenuAction corresponding to the given stock action.
503 (webkitContextMenuActionGetForContextMenuItem): Get the stock
504 action corresponding to the given WebCore ContextMenuAction.
505 (webkitContextMenuActionGetLabel): Get the label string of the
507 * UIProcess/API/gtk/WebKitContextMenuActions.h: Added.
508 * UIProcess/API/gtk/WebKitContextMenuActionsPrivate.h: Added.
509 * UIProcess/API/gtk/WebKitContextMenuItem.cpp: Added.
510 (webkitContextMenuItemFinalize):
511 (webkit_context_menu_item_init):
512 (webkit_context_menu_item_class_init):
513 (checkAndWarnIfMenuHasParentItem): Check whether the given menu
514 is already inside another menu showing a warning in such case.
515 (webkitContextMenuItemSetSubMenu): Set the submenu of a menu item,
516 checking that the menu is not part of another menu and setting the
517 item as the parent of the submenu.
518 (webkitContextMenuItemCreate): Create a new WebKitContextMenuItem
519 for the given WKContextMenuItemRef.
520 (webkitContextMenuItemCreateForGtkItem): Create a new
521 WebKitContextMenuItem using the given GtkMenuItem.
522 (webkitContextMenuItemSetSubMenuFromGtkMenu): Set the given
523 GtkMenu as submenu of the item. This is used only to add Input
524 Methods submenu that is created by GTK.
525 (webkitContextMenuItemRelease): Release the WebCore
526 ContextMenuItem associated to the item.
527 (webkit_context_menu_item_new): Create a new WebKitContextMenuItem
528 for the given GtkAction.
529 (webkit_context_menu_item_new_from_stock_action): Create a new
530 WebKitContextMenuItem for a stock action.
531 (webkit_context_menu_item_new_from_stock_action_with_label):
532 Create a new WebKitContextMenuItem for a stock action using a
534 (webkit_context_menu_item_new_with_submenu): Create a new
535 WebKitContextMenuItem with a submenu.
536 (webkit_context_menu_item_new_separator): Create a new separator
538 (webkit_context_menu_item_get_action): Get the GtkAction of the item.
539 (webkit_context_menu_item_get_stock_action): Get the stock action
541 (webkit_context_menu_item_is_separator): Whether item is a separator.
542 (webkit_context_menu_item_set_submenu): Set or replace the
544 (webkit_context_menu_item_get_submenu): Get the submenu of the item.
545 * UIProcess/API/gtk/WebKitContextMenuItem.h: Added.
546 * UIProcess/API/gtk/WebKitContextMenuItemPrivate.h: Added.
547 * UIProcess/API/gtk/WebKitContextMenuPrivate.h: Added.
548 * UIProcess/API/gtk/WebKitDefines.h:
549 * UIProcess/API/gtk/WebKitWebView.cpp:
550 (webkit_web_view_class_init): Add WebKitWebView::context-menu signal.
551 (getUnicodeMenuItemPosition): Helper function that returns the
552 position of the unicode menu item in the proposed context menu.
553 (webkitWebViewCreateAndAppendInputMethodsMenuItem): Use
554 WebKitContextMenu API to add the input methods submenu to the
555 default context menu.
556 (webkitWebViewPopulateContextMenu): Create a WebKitContextMenu for
557 the default context menu and emit WebKitWebView::context-menu
558 signal. Then populate the context menu proxy with the resulting
560 * UIProcess/API/gtk/WebKitWebView.h:
561 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
562 (webkitWebViewBaseButtonPressEvent): In case of right click save
563 the event to be used by context menu signal.
564 (webkitWebViewBaseTakeContextMenuEvent): Return and release the
566 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
567 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add sections for
568 WebKitContextMenu and WebKitContextMenuItem.
569 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
570 * UIProcess/API/gtk/docs/webkit2gtk.types: Add
571 webkit_context_menu_get_type and webkit_context_menu_item_get_type.
572 * UIProcess/API/gtk/tests/GNUmakefile.am: Add new test for context menu.
573 * UIProcess/API/gtk/tests/TestContextMenu.cpp: Added.
574 (testContextMenuDefaultMenu):
575 (testContextMenuPopulateMenu):
576 (testContextMenuCustomMenu):
577 (testContextMenuDisableMenu):
578 (testContextMenuSubMenu):
581 * UIProcess/API/gtk/tests/TestMain.h:
582 (Test::addLogFatalFlag): Add a log level flag to the mask of flags
583 causing the program to abort.
584 (Test::removeLogFatalFlag): Remove a log level flag to the mask of
585 flags causing the program to abort.
586 * UIProcess/API/gtk/tests/WebViewTest.cpp:
587 (WebViewTest::quitMainLoop): Finish the main loop.
588 (WebViewTest::quitMainLoopAfterProcessingPendingEvents): Finish
589 the main loop when all pending events have been processed.
590 (quitMainLoopIdleCallback):
592 * UIProcess/API/gtk/tests/WebViewTest.h:
593 * UIProcess/API/gtk/webkit2.h: Include WebKitContextMenu.h,
594 WebKitContextMenuItem.h and WebKitContextMenuActions.h.
595 * UIProcess/API/gtk/webkit2marshal.list:
596 * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
597 (WebKit::WebContextMenuProxyGtk::showContextMenu): Attach the
598 popup menu to the view widget before showing it.
600 2012-06-22 Alexandru Chiculita <achicu@adobe.com>
602 [CSS Shaders] Re-enable the CSS Shaders compile time flag on Safari Mac
603 https://bugs.webkit.org/show_bug.cgi?id=89781
605 Reviewed by Dean Jackson.
607 Added ENABLE_CSS_SHADERS flag as enabled by default on Safari for Mac.
609 * Configurations/FeatureDefines.xcconfig:
611 2012-06-22 Ryuan Choi <ryuan.choi@samsung.com>
613 [EFL][WK2] Support keyboard event
614 https://bugs.webkit.org/show_bug.cgi?id=89268
616 Reviewed by Chang Shu.
618 * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
619 (WebKit::WebEditorClient::handleKeyboardEvent): Implemented default behavior.
620 * WebProcess/WebPage/efl/WebPageEfl.cpp:
621 (WebKit::WebPage::interpretKeyEvent): Implemented like WebKit1/Efl did.
623 2012-06-20 Mark Hahnenberg <mhahnenberg@apple.com>
625 JSLock should be per-JSGlobalData
626 https://bugs.webkit.org/show_bug.cgi?id=89123
628 Reviewed by Gavin Barraclough.
630 Changed all sites that used JSLock to instead use the new JSLockHolder
631 and pass in the correct JS context that the code is about to interact with that
634 * Shared/mac/WebMemorySampler.mac.mm:
635 (WebKit::WebMemorySampler::sampleWebKit):
636 * WebProcess/InjectedBundle/InjectedBundle.cpp:
637 (WebKit::InjectedBundle::javaScriptObjectsCount):
638 (WebKit::InjectedBundle::reportException):
639 * WebProcess/Plugins/Netscape/JSNPObject.cpp:
640 (WebKit::JSNPObject::callMethod):
641 (WebKit::JSNPObject::callObject):
642 (WebKit::JSNPObject::callConstructor):
643 (WebKit::JSNPObject::put):
644 (WebKit::JSNPObject::deleteProperty):
645 (WebKit::JSNPObject::getOwnPropertyNames):
646 (WebKit::JSNPObject::propertyGetter):
647 * WebProcess/Plugins/Netscape/NPJSObject.cpp:
648 (WebKit::NPJSObject::hasMethod):
649 (WebKit::NPJSObject::invoke):
650 (WebKit::NPJSObject::invokeDefault):
651 (WebKit::NPJSObject::hasProperty):
652 (WebKit::NPJSObject::getProperty):
653 (WebKit::NPJSObject::setProperty):
654 (WebKit::NPJSObject::removeProperty):
655 (WebKit::NPJSObject::enumerate):
656 (WebKit::NPJSObject::construct):
657 * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
658 (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
659 (WebKit::NPRuntimeObjectMap::evaluate):
660 (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
661 * WebProcess/WebPage/WebFrame.cpp:
662 (WebKit::WebFrame::jsWrapperForWorld):
663 (WebKit::WebFrame::computedStyleIncludingVisitedInfo):
664 * WebProcess/WebPage/WebPage.cpp:
665 (WebKit::WebPage::runJavaScriptInMainFrame):
666 * WebProcess/WebProcess.cpp:
667 (WebKit::WebProcess::getWebCoreStatistics):
669 2012-06-22 Jocelyn Turcotte <turcotte.j@gmail.com>
671 [Qt] Fix the remote inspector loading problems on Mac
672 https://bugs.webkit.org/show_bug.cgi?id=89747
674 Reviewed by Simon Hausmann.
676 Reverse the creation order of the inter-dependent WebSocketServerConnection
677 and SocketStreamHandle to make sure that the later has a client properly
680 This is to work around the assert on m_state in SocketStreamHandle::setClient.
682 * UIProcess/InspectorServer/WebSocketServer.cpp:
683 (WebKit::WebSocketServer::didAcceptConnection):
684 * UIProcess/InspectorServer/WebSocketServer.h:
685 (WebKit::WebSocketServer::client):
687 * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
688 (WebKit::WebSocketServerConnection::WebSocketServerConnection):
689 (WebKit::WebSocketServerConnection::setSocketHandle):
691 * UIProcess/InspectorServer/WebSocketServerConnection.h:
692 (WebSocketServerConnection):
693 * UIProcess/InspectorServer/qt/WebSocketServerQt.cpp:
694 (WebKit::QtTcpServerHandler::handleNewConnection):
696 2012-06-22 Sergio Villar Senin <svillar@igalia.com>
698 [WK2] FindController::hideFindUI should unmark highlighted text matches
699 https://bugs.webkit.org/show_bug.cgi?id=77747
701 Reviewed by Carlos Garcia Campos.
703 Unmark all text matches whenever FindController::hideFindUI is
704 called to allow callers using the ShowHighlight find option to
707 This patch enables a unit test for the WebKitFindController
708 previously guarded by a #if(0) after r109222.
710 * UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
711 (testFindControllerHide):
712 * WebProcess/WebPage/FindController.cpp:
713 (WebKit::FindController::hideFindUI):
715 2012-06-21 Christophe Dumez <christophe.dumez@intel.com>
717 [WK2] Add C API to inspect a Web Intent
718 https://bugs.webkit.org/show_bug.cgi?id=89275
720 Reviewed by Anders Carlsson.
722 Add C API for Web Intent so that it can be queried
726 * GNUmakefile.list.am:
728 * UIProcess/API/C/WKIntentData.cpp: Copied from Source/WebKit2/UIProcess/WebIntentData.cpp.
729 (WKIntentDataGetTypeID):
730 (WKIntentDataCopyAction):
731 (WKIntentDataCopyType):
732 (WKIntentDataCopyService):
733 (WKIntentDataCopySuggestions):
734 (WKIntentDataCopyExtra):
735 (WKIntentDataCopyExtras):
736 * UIProcess/API/C/WKIntentData.h: Copied from Source/WebKit2/UIProcess/WebIntentData.cpp.
737 * UIProcess/WebIntentData.cpp:
738 (WebKit::WebIntentData::suggestions):
740 (WebKit::WebIntentData::extra):
741 (WebKit::WebIntentData::extras):
742 * UIProcess/WebIntentData.h:
745 2012-06-21 Christophe Dumez <christophe.dumez@intel.com>
747 [WK2] Properly encode/decode service in IntentData
748 https://bugs.webkit.org/show_bug.cgi?id=89460
750 Reviewed by Gustavo Noronha Silva.
752 Update IntentData::encode() and IntentData::decode()
753 so that the "service" member is properly encoded
756 * Shared/IntentData.cpp:
757 (WebKit::IntentData::encode):
758 (WebKit::IntentData::decode):
760 2012-06-21 Ryuan Choi <ryuan.choi@gmail.com>
762 [EFL][WK2] Make WebKit2/Efl headers and resources installable.
763 https://bugs.webkit.org/show_bug.cgi?id=88207
765 Reviewed by Chang Shu.
767 * CMakeLists.txt: Install WebProcess.
768 * PlatformEfl.cmake: Generate ewebkit2.pc and install it.
769 * efl/ewebkit2.pc.in: Added.
771 2012-06-21 Ryuan Choi <ryuan.choi@samsung.com>
773 [EFL[WK2] Add WKViewEfl and WebKit2 API Object to represent Evas_Object.
774 https://bugs.webkit.org/show_bug.cgi?id=88935
776 Reviewed by Chang Shu.
778 Add WKViewEfl to support WTR/Efl.
781 * Shared/API/c/WKBase.h:
782 * Shared/API/c/efl/WKBaseEfl.h: Added.
783 * UIProcess/API/C/WKAPICast.h:
784 * UIProcess/API/C/efl/WKAPICastEfl.h: Added.
786 * UIProcess/API/C/efl/WKView.cpp: Added.
789 * UIProcess/API/C/efl/WKView.h: Added.
790 * UIProcess/API/efl/ewk_view.cpp:
792 * UIProcess/API/efl/ewk_view_private.h:
794 2012-06-21 Thiago Marcos P. Santos <thiago.santos@intel.com>
796 [Qt] API tests for ColorChooser
797 https://bugs.webkit.org/show_bug.cgi?id=88101
799 Reviewed by Kenneth Rohde Christiansen.
801 The test uses the value sanitization to detect if the feature is
802 enabled or disabled and will just pass when disabled.
804 * UIProcess/API/qt/tests/qmltests/WebView/tst_colorChooser.qml: Added.
805 * UIProcess/API/qt/tests/qmltests/common/colorChooser.html: Added.
807 2012-06-21 Thiago Marcos P. Santos <thiago.santos@intel.com>
809 [WK2][Qt] Color chooser API missing
810 https://bugs.webkit.org/show_bug.cgi?id=87749
812 Reviewed by Kenneth Rohde Christiansen.
814 Added public experimental API for ColorChooser. This will
815 allow the browser to define a custom dialog for selecting
816 color when a input field of type "color" get focus.
818 The current implementation gives a model to the QML Component
819 that has methods for canceling a request, selecting a color
820 and fetching what is the current value of the HTML input.
823 * UIProcess/API/qt/qquickwebview.cpp:
824 (QQuickWebViewPrivate::QQuickWebViewPrivate):
825 (QQuickWebViewExperimental::colorChooser):
826 (QQuickWebViewExperimental::setColorChooser):
827 * UIProcess/API/qt/qquickwebview_p.h:
828 * UIProcess/API/qt/qquickwebview_p_p.h:
829 (QQuickWebViewPrivate):
830 * UIProcess/qt/QtPageClient.cpp:
831 (WebKit::QtPageClient::createColorChooserProxy):
832 * UIProcess/qt/WebColorChooserProxyQt.cpp: Added.
834 (ColorChooserContextObject):
835 (WebKit::ColorChooserContextObject::ColorChooserContextObject):
836 (WebKit::ColorChooserContextObject::currentColor):
837 (WebKit::ColorChooserContextObject::accept):
838 (WebKit::ColorChooserContextObject::reject):
839 (WebKit::WebColorChooserProxyQt::WebColorChooserProxyQt):
840 (WebKit::WebColorChooserProxyQt::~WebColorChooserProxyQt):
841 (WebKit::WebColorChooserProxyQt::createItem):
842 (WebKit::WebColorChooserProxyQt::createContext):
843 (WebKit::WebColorChooserProxyQt::setSelectedColor):
844 (WebKit::WebColorChooserProxyQt::notifyColorSelected):
845 (WebKit::WebColorChooserProxyQt::endChooser):
846 * UIProcess/qt/WebColorChooserProxyQt.h: Added.
849 (WebColorChooserProxyQt):
850 (WebKit::WebColorChooserProxyQt::create):
852 2012-06-21 Mario Sanchez Prada <msanchez@igalia.com>
854 [GTK] Add support for window.showModalDialog in WebKit2GTK+
855 https://bugs.webkit.org/show_bug.cgi?id=79500
857 Reviewed by Carlos Garcia Campos.
859 Implement runModal in WebKitUIClient to make the WebKitWebView
860 emit a 'run-as-modal' signal when requested, creating a new
861 mainloop there to block user interaction with the original window
862 while the modal dialog is showing.
864 * UIProcess/API/gtk/WebKitUIClient.cpp:
865 (runModal): Call to the new webkitWebViewRunAsModalPage function.
866 (attachUIClientToView): Add runModal.
867 * UIProcess/API/gtk/WebKitWebView.cpp:
868 (_WebKitWebViewPrivate): Add an atribute for a new main loop.
869 (webkitWebViewFinalize): Make sure the main loop for main dialogs,
870 if any, is stopped if it was still running.
871 (webkit_web_view_class_init): Declare new signal 'run-as-modal'.
872 (webkitWebViewRunAsModal): Emit the 'run-as-modal' signal and, if
873 handled, create and run a new main loop.
874 * UIProcess/API/gtk/WebKitWebView.h:
875 (_WebKitWebViewClass): New handler for the 'run-as-modal' signal.
876 * UIProcess/API/gtk/WebKitWebViewPrivate.h: Add webkitWebViewRunAsModalPage.
878 Allow setting and getting the value of WebPage's canRunModal
879 attribute in the WebProcess from the UIProcess after the creation
880 of a WebPage, to allow using it from WebKitWebView to allow the
881 client application to decide whether to allow create modal
882 dialogs, which would result in launching an additional nested
883 event loop in the web process, after creating the dialog.
885 * UIProcess/WebPageProxy.cpp:
886 (WebKit::WebPageProxy::WebPageProxy): Initialize the new
887 m_canRunModal attribute, to cache the current status of the
888 WebPage in the WebProcess.
889 (WebKit::WebPageProxy::initializeUIClient): Call the new function
890 setCanRunModal, instead of manually sending the SetCanRunModal message.
891 (WebKit::WebPageProxy::creationParameters): Use m_canRunModal
892 instead of m_uiClient.canRunModal when preparing the parameters.
893 (WebKit::WebPageProxy::setCanRunModal): New public function, it
894 sets the value of m_canRunModal and sends a message to the Web
895 process for updating the WebPage, whenever possible.
896 (WebKit::WebPageProxy::canRunModal): New public function, returns
897 the value of the m_canRunModal attribute.
898 * UIProcess/WebPageProxy.h:
899 (WebPageProxy): Added new public functions and private attribute.
901 New property in WebKitSettings to be able to decide whether it is
902 allowed to create and run new child webviews as modal dialogs.
904 * UIProcess/API/gtk/WebKitSettings.cpp:
905 (_WebKitSettingsPrivate): New attribute allowModalDialogs.
906 (webKitSettingsSetProperty): Handle the new property.
907 (webKitSettingsGetProperty): Ditto.
908 (webkit_settings_class_init): Install the new property.
909 (webkitSettingsAttachSettingsToPage): Make sure the WebPage is
910 initialized with the value of the new property.
911 (webkit_settings_set_allow_modal_dialogs): New setter.
912 (webkit_settings_get_allow_modal_dialogs): New getter.
913 * UIProcess/API/gtk/WebKitSettings.h:
914 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Added new accessors.
916 Connect to the 'notify::allow-modal-dialogs' signal from
917 WebKitSettings to ensure that canRunModal property of the WebPage
918 is kept up to date. Ensure that signal handlers for monitoring
919 settings are disconnected when the webview is finalized.
921 * UIProcess/API/gtk/WebKitWebView.cpp:
922 (webkitWebViewSetSettings): Connect to the new signal
923 'notify::allow-modal-dialogs', from WebKitSettings.
924 (allowModalDialogsChanged): Callback to update WebPage's
925 canRunModal property when updated through WebKitSettings.
926 (webkitWebViewDisconnectSettingsSignalHandlers): Disconnect signal
927 handlers for monitoring WebKitSettings properties.
928 (webkitWebViewFinalize): Ensure signal handlers are disconnected.
929 (webkit_web_view_set_settings): Ditto.
930 * UIProcess/API/gtk/WebKitWebView.h:
932 Add new unit tests to check the 'run-as-modal' signal is emitted
933 only when the new property in WebKitSettings is set to TRUE.
935 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
936 (testWebViewAllowModalDialogs): New unit test to check that modal
937 dialogs are properly created from JavaScript when allowed.
938 (testWebViewDisallowModalDialogs): New unit test to check that
939 it's not possible to create modal dialogs when not allowed.
940 (beforeAll): Add the new unit test.
942 2012-06-20 Thiago Marcos P. Santos <thiago.santos@intel.com>
944 [WK2] Color chooser API missing
945 https://bugs.webkit.org/show_bug.cgi?id=87495
947 Reviewed by Andreas Kling.
949 Added ColorChooser API to WebKit2. This API allows the
950 embedder to define a custom color picker for <input type="color">.
952 Only one ColorChooser can be active for a page at a time. Although
953 the implementation doesn't not assume a modal dialog, no other
954 color chooser will be created until the active one is closed.
956 Also added stubs for all platforms, so it wont break the build when
957 enabling color chooser, even though they don't have the backend
961 * GNUmakefile.list.am:
963 * UIProcess/API/efl/PageClientImpl.cpp:
965 (WebKit::PageClientImpl::createColorChooserProxy):
966 * UIProcess/API/efl/PageClientImpl.h:
968 * UIProcess/API/gtk/PageClientImpl.cpp:
970 (WebKit::PageClientImpl::createColorChooserProxy):
971 * UIProcess/API/gtk/PageClientImpl.h:
973 * UIProcess/API/mac/PageClientImpl.h:
975 * UIProcess/API/mac/PageClientImpl.mm:
977 (WebKit::PageClientImpl::createColorChooserProxy):
978 * UIProcess/PageClient.h:
981 * UIProcess/WebColorChooserProxy.h: Added.
984 (WebColorChooserProxy):
986 (WebKit::WebColorChooserProxy::Client::~Client):
987 (WebKit::WebColorChooserProxy::~WebColorChooserProxy):
988 (WebKit::WebColorChooserProxy::invalidate):
989 (WebKit::WebColorChooserProxy::WebColorChooserProxy):
990 * UIProcess/WebPageProxy.cpp:
991 (WebKit::WebPageProxy::close):
993 (WebKit::WebPageProxy::showColorChooser):
994 (WebKit::WebPageProxy::setColorChooserColor):
995 (WebKit::WebPageProxy::endColorChooser):
996 (WebKit::WebPageProxy::didChooseColor):
997 (WebKit::WebPageProxy::didEndColorChooser):
998 (WebKit::WebPageProxy::processDidCrash):
999 * UIProcess/WebPageProxy.h:
1001 * UIProcess/WebPageProxy.messages.in:
1002 * UIProcess/qt/QtPageClient.cpp:
1004 (WebKit::QtPageClient::createColorChooserProxy):
1005 * UIProcess/qt/QtPageClient.h:
1007 * UIProcess/win/WebView.cpp:
1009 (WebKit::WebView::createColorChooserProxy):
1010 * UIProcess/win/WebView.h:
1012 * WebKit2.xcodeproj/project.pbxproj:
1013 * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1014 (WebKit::WebChromeClient::createColorChooser):
1015 * WebProcess/WebCoreSupport/WebColorChooser.cpp: Added.
1017 (WebKit::WebColorChooser::WebColorChooser):
1018 (WebKit::WebColorChooser::~WebColorChooser):
1019 (WebKit::WebColorChooser::didChooseColor):
1020 (WebKit::WebColorChooser::didEndChooser):
1021 (WebKit::WebColorChooser::disconnectFromPage):
1022 (WebKit::WebColorChooser::setSelectedColor):
1023 (WebKit::WebColorChooser::endChooser):
1024 * WebProcess/WebCoreSupport/WebColorChooser.h: Added.
1028 * WebProcess/WebPage/WebPage.cpp:
1029 (WebKit::WebPage::WebPage):
1030 (WebKit::WebPage::close):
1032 (WebKit::WebPage::setActiveColorChooser):
1033 (WebKit::WebPage::didEndColorChooser):
1034 (WebKit::WebPage::didChooseColor):
1035 * WebProcess/WebPage/WebPage.h:
1038 (WebKit::WebPage::activeColorChooser):
1039 * WebProcess/WebPage/WebPage.messages.in:
1040 * win/WebKit2.vcproj:
1042 2012-06-20 Brady Eidson <beidson@apple.com>
1044 <rdar://problem/11653784> and https://bugs.webkit.org/show_bug.cgi?id=89590
1045 showModalDialog message handling is flaky in WebKit2
1047 Because RunLoop::performWork() swaps the function queue to a temporary Vector before calling
1048 the functions an inner run-loop - such as we see with running a modal dialog - does not have
1049 a change to handle any of the functions that were queued after the WebPageProxy::RunModal message.
1051 By servicing the functions in the queue one at a time we can give the RunLoop a chance to pick up
1052 where it left off if RunLoop::performWork is re-entered.
1054 To guarantee RunLoop::performWork is re-entered to handle those functions we also need to signal
1055 its source before entering the modal run loop so our RunLoop is woken up.
1057 Reviewed by Darin Adler.
1059 * Platform/CoreIPC/Connection.cpp:
1060 (CoreIPC::Connection::wakeUpRunLoop): Added so the WebPageProxy can signal the runloop to be woken up
1061 before it enters the modal dialog run loop.
1062 * Platform/CoreIPC/Connection.h:
1064 * UIProcess/WebPageProxy.cpp:
1065 (WebKit::WebPageProxy::runModal): Call wakeUpRunLoop() before entering the modal dialog run loop.
1067 2012-06-20 Julien Chaffraix <jchaffraix@webkit.org>
1069 Use IntSize in RenderLayer to represent scroll offsets
1070 https://bugs.webkit.org/show_bug.cgi?id=89154
1072 Reviewed by Eric Seidel.
1074 * WebProcess/WebPage/win/WebPageWin.cpp:
1075 (WebKit::WebPage::gestureDidScroll):
1076 Updated to pass an IntSize to scrollByRecursively.
1078 2012-06-20 Christophe Dumez <christophe.dumez@intel.com>
1080 [WK2] Implement Web Intent delivery
1081 https://bugs.webkit.org/show_bug.cgi?id=88989
1083 Reviewed by Anders Carlsson.
1085 Add a deliverIntent() method to the WebFrame so that
1086 Web intents can be delivered once matched to a
1089 * UIProcess/WebFrameProxy.cpp:
1091 (WebKit::WebFrameProxy::deliverIntent):
1092 * UIProcess/WebFrameProxy.h:
1095 * UIProcess/WebIntentData.h:
1096 (WebKit::WebIntentData::store):
1097 * WebProcess/WebPage/WebFrame.cpp:
1099 (WebKit::WebFrame::deliverIntent):
1100 * WebProcess/WebPage/WebFrame.h:
1103 * WebProcess/WebPage/WebPage.cpp:
1105 (WebKit::WebPage::deliverIntentToFrame):
1106 * WebProcess/WebPage/WebPage.h:
1109 * WebProcess/WebPage/WebPage.messages.in:
1111 2012-06-20 Alexis Menard <alexis.menard@openbossa.org>
1113 REGRESSION (120705) : LayerTreeHostQt asserts in debug.
1114 https://bugs.webkit.org/show_bug.cgi?id=89487
1116 Reviewed by Noam Rosenthal.
1118 We try to call createHandle twice on the same handle when the
1119 first matching atlas is full. This patch solved the problem by
1120 moving the createHandle call inside UpdateAtlas and call createHandle
1121 only when the atlas is not full. We can also remove the surface()
1122 getter as it is not used anymore.
1124 * WebProcess/WebPage/UpdateAtlas.cpp:
1125 (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
1126 * WebProcess/WebPage/UpdateAtlas.h:
1128 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
1129 (WebKit::LayerTreeHostQt::beginContentUpdate):
1131 2012-06-19 Ryuan Choi <ryuan.choi@samsung.com>
1133 [EFL][Regression] Build break after r120786
1134 https://bugs.webkit.org/show_bug.cgi?id=89549
1136 Unreviewed build fix for Efl port.
1138 * CMakeLists.txt: Added disassembler in includes.
1140 2012-06-19 Dan Bernstein <mitz@apple.com>
1142 WebKit2 part of: Paginated display API doesn’t allow setting the page progression direction
1143 https://bugs.webkit.org/show_bug.cgi?id=89394
1145 Reviewed by Darin Adler.
1147 * UIProcess/API/C/WKPage.cpp:
1148 (WKPageSetPaginationMode): Changed to map new WKPaginationMode values to new
1149 Pagination::Mode values.
1150 (WKPageGetPaginationMode): Similarly, in the opposite direction.
1151 * UIProcess/API/C/WKPagePrivate.h: Replaced WKPaginationMode values with ones that specify
1152 an axis and a direction along that axis.
1153 * UIProcess/API/mac/WKBrowsingContextController.mm:
1154 (-[WKBrowsingContextController setPaginationMode:]): Changed to handle new values.
1155 (-[WKBrowsingContextController paginationMode]): Ditto.
1156 * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Replaced
1157 WKBrowsingContextPaginationMode values with ones that specify an axis and a direction along
1160 2012-06-19 Alexis Menard <alexis.menard@openbossa.org>
1162 [Qt] Create an extra atlas when there is no available buffer space.
1163 https://bugs.webkit.org/show_bug.cgi?id=89012
1165 Reviewed by Noam Rosenthal.
1167 In case of the desktop mode when we scroll the view all the tiles
1168 are updated. It can happen that there no available buffer space for
1169 the currently used atlas(especially when scrolling fast). In that case
1170 we can create a new one. One future improvement could be to make a timer and
1171 delete this extra atlas when it is not used.
1173 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
1174 (WebKit::beginContentUpdateInAtlas):
1175 (WebKit::LayerTreeHostQt::beginContentUpdate):
1176 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
1179 2012-06-19 Csaba Osztrogonác <ossy@webkit.org>
1181 [Qt] Buildfix for newer Qt5, use QPointer instead of the deprecated QWeakPointer.
1182 https://bugs.webkit.org/show_bug.cgi?id=89449
1184 Reviewed by Simon Hausmann.
1186 * UIProcess/API/qt/qquicknetworkreply_p.h:
1188 2012-06-19 Mike West <mkwst@chromium.org>
1190 Introduce ENABLE_CSP_NEXT configuration flag.
1191 https://bugs.webkit.org/show_bug.cgi?id=89300
1193 Reviewed by Adam Barth.
1195 The 1.0 draft of the Content Security Policy spec is just about to
1196 move to Last Call. We'll hide work on the upcoming 1.1 spec behind
1197 this ENABLE flag, disabled by default.
1199 Spec: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html
1201 * Configurations/FeatureDefines.xcconfig:
1203 2012-06-19 Mike West <mkwst@chromium.org>
1205 Add a scheme registry for bypassing Content Security Policy.
1206 https://bugs.webkit.org/show_bug.cgi?id=89373
1208 Reviewed by Adam Barth.
1211 * win/WebKit2CFLite.def:
1213 2012-06-16 Adam Barth <abarth@webkit.org>
1215 Settings::devicePixelRatio doesn't do anything and is confusing
1216 https://bugs.webkit.org/show_bug.cgi?id=89272
1218 Reviewed by James Robinson.
1220 * Shared/WebPreferencesStore.h:
1222 - Remove boilerplate code for the setting.
1223 * UIProcess/API/qt/qquickwebview.cpp:
1224 (QQuickWebViewExperimental::devicePixelRatio):
1225 (QQuickWebViewExperimental::setDevicePixelRatio):
1226 - Change these functions to get and set the real device scale factor.
1227 * WebProcess/WebPage/WebPage.cpp:
1228 (WebKit::WebPage::sendViewportAttributesChanged):
1229 - Use the real device scale factor for the viewport calculation.
1230 (WebKit::WebPage::updatePreferences):
1231 - Remove boilerplate code for the setting.
1233 2012-06-15 Christophe Dumez <christophe.dumez@intel.com>
1235 [WK2] Add support for explicit intents
1236 https://bugs.webkit.org/show_bug.cgi?id=89206
1238 Reviewed by Kenneth Rohde Christiansen.
1240 Expose the service URL of a Web Intent. This URL
1241 is set for explicit intents.
1243 * Shared/IntentData.h:
1245 * UIProcess/WebIntentData.h:
1246 (WebKit::WebIntentData::service):
1247 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1248 (WebKit::WebFrameLoaderClient::dispatchIntent):
1250 2012-06-15 Christophe Dumez <christophe.dumez@intel.com>
1252 [EFL][WK2] Add title support to Ewk_View
1253 https://bugs.webkit.org/show_bug.cgi?id=89095
1255 Reviewed by Kenneth Rohde Christiansen.
1257 Add a method to get the title of the main frame in
1258 an Ewk_View. A "title,changed" signal is now emitted
1259 on the view to notify clients that the main frame
1262 * PlatformEfl.cmake:
1263 * UIProcess/API/efl/ewk_view.cpp:
1264 (_Ewk_View_Private_Data):
1265 (_ewk_view_priv_del):
1266 (ewk_view_base_add):
1267 (ewk_view_title_get):
1268 (ewk_view_title_changed):
1269 * UIProcess/API/efl/ewk_view.h:
1270 * UIProcess/API/efl/ewk_view_loader_client.cpp: Added.
1271 (didReceiveTitleForFrame):
1272 (ewk_view_loader_client_attach):
1273 * UIProcess/API/efl/ewk_view_loader_client_private.h: Added.
1274 * UIProcess/API/efl/ewk_view_private.h:
1276 2012-06-15 Christophe Dumez <christophe.dumez@intel.com>
1278 [WK2][EFL] Implement navigation back/forward in Ewk_View
1279 https://bugs.webkit.org/show_bug.cgi?id=89173
1281 Reviewed by Kenneth Rohde Christiansen.
1283 Add API for Ewk_View to ask the main frame to navigate backwards
1284 or forwards in history. Also add API to query if such navigation
1287 * UIProcess/API/efl/ewk_view.cpp:
1290 (ewk_view_back_possible):
1291 (ewk_view_forward_possible):
1292 * UIProcess/API/efl/ewk_view.h:
1294 2012-06-15 Christophe Dumez <christophe.dumez@intel.com>
1296 [EFL][WK2] Implement reload / stop in Ewk_View
1297 https://bugs.webkit.org/show_bug.cgi?id=89168
1299 Reviewed by Kenneth Rohde Christiansen.
1301 Add API on the Ewk_View to reload the main frame
1302 and to stop the current load.
1304 * UIProcess/API/efl/ewk_view.cpp:
1307 * UIProcess/API/efl/ewk_view.h:
1309 2012-06-14 Kent Tamura <tkent@chromium.org>
1311 Validate form state strings in FormController::setStateForNewFormElements()
1312 https://bugs.webkit.org/show_bug.cgi?id=88768
1314 Reviewed by Hajime Morita.
1316 * win/WebKit2.def: Expose some symbols used by Internals.cpp.
1317 * win/WebKit2CFLite.def: ditto.
1319 2012-06-14 Tim Horton <timothy_horton@apple.com>
1321 DrawingArea: Painting is being resumed while the view is not visible
1322 https://bugs.webkit.org/show_bug.cgi?id=88940
1323 <rdar://problem/11652545>
1325 Reviewed by Dean Jackson.
1327 Using requestAnimationFrame and the fullscreen API on a DrawingArea-backed window would cause
1328 rAF to permanently suspend animations after entering full-screen mode, because of the following:
1330 0. JavaScript causes fullscreen transition to start.
1331 1. Painting (and rAF) are suspended.
1332 2. The page changes size.
1333 a. DrawingAreaProxyImpl::sizeDidChange() calls DrawingAreaImpl::updateBackingStoreState, which calls DrawingAreaImpl::resumePainting.
1334 b. DrawingAreaImpl::resumePainting resumes painting, but does *not* resume rAF, because windowIsVisible is (legitimately) false.
1335 3. The view becomes visible, windowIsVisible is updated to true.
1336 4. visibilityDidChange() calls resumePainting again, but this time it early exits because painting is not suspended.
1338 Notice that because of the early exit in 4, rAF is never resumed.
1340 To solve this and prevent any further bugs caused by these unnecessary calls to resume/suspendPainting,
1341 temporarily stop sending SuspendPainting/ResumePainting messages from DrawingAreaProxyImpl::visibilityDidChange
1342 during the window animations that occur while entering and exiting full-screen.
1344 * UIProcess/API/mac/WKViewInternal.h:
1345 * UIProcess/API/mac/WKView.mm:
1346 (-[WKView setAutomaticallySuspendAndResumePainting:]):
1347 (-[WKView automaticallySuspendAndResumePainting]):
1348 * UIProcess/DrawingAreaProxyImpl.cpp:
1349 (WebKit::DrawingAreaProxyImpl::visibilityDidChange):
1350 * UIProcess/WebPageProxy.h:
1351 (WebKit::WebPageProxy::setShouldSuspendAndResumePainting):
1352 (WebKit::WebPageProxy::shouldSuspendAndResumePainting):
1353 * UIProcess/mac/WKFullScreenWindowController.mm:
1354 (-[WKFullScreenWindowController enterFullScreen:]):
1355 (-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):
1357 2012-06-14 Jia Pu <jpu@apple.com>
1359 Mark text with text alternative with blue underline.
1360 https://bugs.webkit.org/show_bug.cgi?id=83047
1362 Reviewed by Enrica Casucci.
1364 Changes in WebKit2 include implementation of new functions declared in AlternativeTextClient,
1365 and logic for calling Editor::insertDictatedText() instead of Editor::insertText() when there's
1366 alternatives attached to the input string.
1368 * Shared/API/c/WKContextMenuItemTypes.h:
1369 * Shared/API/c/WKSharedAPICast.h:
1370 * Shared/WebCoreArgumentCoders.cpp:
1371 * Shared/WebCoreArgumentCoders.h:
1372 * UIProcess/API/mac/PageClientImpl.h:
1373 * UIProcess/API/mac/PageClientImpl.mm:
1374 (WebKit::PageClientImpl::PageClientImpl):
1375 (WebKit::PageClientImpl::pageClosed):
1376 (WebKit::PageClientImpl::addDictationAlternatives):
1377 (WebKit::PageClientImpl::removeDictationAlternatives):
1378 (WebKit::PageClientImpl::showDictationAlternativeUI):
1379 (WebKit::PageClientImpl::dictationAlternatives):
1380 (WebKit::PageClientImpl::dismissDictationAlternativeUI):
1381 * UIProcess/API/mac/WKView.mm:
1382 (-[WKView insertText:replacementRange:]):
1383 (-[WKView validAttributesForMarkedText]):
1384 (-[WKView handleAcceptedAlternativeText:]):
1385 * UIProcess/API/mac/WKViewInternal.h:
1386 * UIProcess/PageClient.h:
1387 * UIProcess/WebPageProxy.cpp:
1388 (WebKit::WebPageProxy::showDictationAlternativeUI):
1389 (WebKit::WebPageProxy::dismissDictationAlternativeUI):
1390 (WebKit::WebPageProxy::removeDictationAlternatives):
1391 (WebKit::WebPageProxy::dictationAlternatives):
1392 * UIProcess/WebPageProxy.h:
1393 * UIProcess/WebPageProxy.messages.in:
1394 * UIProcess/mac/CorrectionPanel.mm:
1395 (correctionIndicatorType):
1396 (WebKit::CorrectionPanel::handleAcceptedReplacement):
1397 * UIProcess/mac/WebPageProxyMac.mm:
1398 (WebKit::WebPageProxy::insertDictatedText):
1399 * WebProcess/WebCoreSupport/WebAlternativeTextClient.h:
1400 (WebAlternativeTextClient):
1401 * WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp:
1402 (WebKit::WebAlternativeTextClient::showCorrectionAlternative):
1403 (WebKit::WebAlternativeTextClient::dismissAlternative):
1404 (WebKit::WebAlternativeTextClient::dismissAlternativeSoon):
1405 (WebKit::WebAlternativeTextClient::recordAutocorrectionResponse):
1406 (WebKit::WebAlternativeTextClient::removeDictationAlternatives):
1407 (WebKit::WebAlternativeTextClient::showDictationAlternativeUI):
1408 (WebKit::WebAlternativeTextClient::dismissDictationAlternativeUI):
1409 (WebKit::WebAlternativeTextClient::dictationAlternatives):
1410 * WebProcess/WebPage/WebPage.h:
1411 * WebProcess/WebPage/WebPage.messages.in:
1412 * WebProcess/WebPage/mac/WebPageMac.mm:
1413 (WebKit::WebPage::insertDictatedText):
1415 2012-06-13 Andreas Kling <kling@webkit.org>
1417 Chinese IM receives incorrect/duplicated key events in text fields in webpages in Safari.
1418 <http://webkit.org/b/89048>
1419 <rdar://problem/11449702>
1421 Reviewed by Darin Adler.
1423 Send the DidReceiveEvent message with the DispatchMessageEvenWhenWaitingForSyncReply flag
1424 for keyboard events. This ensures that it always arrives before the corresponding synchronous
1425 InterpretQueuedKeyEvent message.
1427 The problem was that we relied on DidReceiveEvent / InterpretQueuedKeyEvent always arriving in
1428 the same order they were sent. This was not always true, since DidReceiveEvent (async) would
1429 get deferred during an unrelated waitForSyncReply() whereas InterpretQueuedKeyEvent (sync)
1430 gets dispatched right away.
1432 * WebProcess/WebPage/WebPage.cpp:
1433 (WebKit::WebPage::keyEvent):
1435 2012-06-14 Carlos Garcia Campos <cgarcia@igalia.com>
1437 [GTK] Add input methods submenu item to the default context menu for editable content
1438 https://bugs.webkit.org/show_bug.cgi?id=80600
1440 Reviewed by Martin Robinson.
1442 * GNUmakefile.am: Add new files to compilation.
1443 * UIProcess/API/gtk/WebKitContextMenuClient.cpp: Added.
1444 (getContextMenuFromProposedMenu): Call webkitWebViewContextMenu().
1445 (attachContextMenuClientToView): Add implementation for
1446 getContextMenuFromProposedMenu callback.
1447 * UIProcess/API/gtk/WebKitContextMenuClient.h: Added.
1448 * UIProcess/API/gtk/WebKitWebView.cpp:
1449 (webkitWebViewConstructed): Attach context menu client to view.
1450 (webkitWebViewCreateAndAppendDefaultMenuItems): Helper function to
1451 add default context menu items to the new context menu items vector.
1452 (webkitWebViewShouldShowInputMethodsMenu): Helper function to
1453 check whether to show the input methods submenu according to the
1454 gtk-show-input-method-menu GTK+ setting.
1455 (webkitWebViewCreateAndAppendInputMethodsMenuItem): Helper
1456 function to add input methods submenu to the new context menu
1458 (webkitWebViewContextMenu): Create a new context menu items vector
1459 containing default items and input methods submenu in case of
1460 editable content. The active content menu is populated using that
1462 * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1463 (webkitWebViewBaseSetActiveContextMenu): Set the active context menu.
1464 (webkitWebViewBaseGetActiveContextMenu): Get the active context menu.
1465 * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
1466 * UIProcess/API/gtk/WebKitWebViewPrivate.h:
1467 * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
1468 (WebKit::WebContextMenuProxyGtk::append): Helper method to add a
1469 new item to the context menu.
1470 (WebKit::WebContextMenuProxyGtk::populate): Add items to the
1472 (WebKit::WebContextMenuProxyGtk::showContextMenu): Populate the
1473 menu with the given items and popup the menu if it's not empty.
1474 (WebKit::WebContextMenuProxyGtk::hideContextMenu): Get the GtkMenu
1475 from the WebCore ContextMenu to popdown it.
1476 (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk): Call
1477 webkitWebViewBaseSetActiveContextMenu() to set the menu as the current
1478 active one for the view.
1479 (WebKit::WebContextMenuProxyGtk::~WebContextMenuProxyGtk): Call
1480 webkitWebViewBaseSetActiveContextMenu() with NULL to reset the
1481 current active context of the view. GtkMenu is destroyed by
1482 WebCore ContextMenu in its destructor.
1483 * UIProcess/gtk/WebContextMenuProxyGtk.h:
1485 2012-06-14 Christophe Dumez <christophe.dumez@intel.com>
1487 [WK2] Add implementation for registerIntentService in WebFrameLoaderClient
1488 https://bugs.webkit.org/show_bug.cgi?id=88399
1490 Reviewed by Kenneth Rohde Christiansen.
1492 Add implementation for registerIntentService() in
1493 WebFrameLoaderClient.
1496 * GNUmakefile.list.am:
1497 * Shared/API/c/WKBase.h:
1498 * Shared/APIClientTraits.h:
1499 * Shared/APIObject.h:
1500 * Shared/IntentServiceInfo.cpp: Added.
1502 (WebKit::IntentServiceInfo::encode):
1503 (WebKit::IntentServiceInfo::decode):
1504 * Shared/IntentServiceInfo.h: Added.
1507 (IntentServiceInfo):
1509 * UIProcess/API/C/WKAPICast.h:
1511 * UIProcess/API/C/WKPage.h:
1512 * UIProcess/API/gtk/WebKitLoaderClient.cpp:
1513 (attachLoaderClientToView):
1514 * UIProcess/WebIntentServiceInfo.cpp: Added.
1516 (WebKit::WebIntentServiceInfo::WebIntentServiceInfo):
1517 * UIProcess/WebIntentServiceInfo.h: Added.
1519 (WebIntentServiceInfo):
1520 (WebKit::WebIntentServiceInfo::create):
1521 (WebKit::WebIntentServiceInfo::~WebIntentServiceInfo):
1522 (WebKit::WebIntentServiceInfo::action):
1523 (WebKit::WebIntentServiceInfo::payloadType):
1524 (WebKit::WebIntentServiceInfo::href):
1525 (WebKit::WebIntentServiceInfo::title):
1526 (WebKit::WebIntentServiceInfo::disposition):
1527 (WebKit::WebIntentServiceInfo::type):
1528 * UIProcess/WebLoaderClient.cpp:
1530 (WebKit::WebLoaderClient::registerIntentServiceForFrame):
1531 * UIProcess/WebLoaderClient.h:
1534 * UIProcess/WebPageProxy.cpp:
1536 (WebKit::WebPageProxy::registerIntentServiceForFrame):
1537 * UIProcess/WebPageProxy.h:
1540 * UIProcess/WebPageProxy.messages.in:
1541 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1543 (WebKit::WebFrameLoaderClient::registerIntentService):
1544 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
1545 (WebFrameLoaderClient):
1547 2012-06-14 Carlos Garcia Campos <cgarcia@igalia.com>
1549 [WK2] Add WKHitTestResultIsContentEditable()
1550 https://bugs.webkit.org/show_bug.cgi?id=80597
1552 Reviewed by Martin Robinson.
1554 * Shared/WebHitTestResult.cpp:
1555 (WebKit::WebHitTestResult::Data::encode): Encode isContentEditable.
1556 (WebKit::WebHitTestResult::Data::decode): Decode isContentEditable.
1557 * Shared/WebHitTestResult.h:
1558 (Data): Add isContentEditable.
1559 (WebKit::WebHitTestResult::Data::Data): Initialize
1561 (WebKit::WebHitTestResult::isContentEditable): Returns whether
1562 hit test result target is editable content.
1563 * UIProcess/API/C/WKHitTestResult.cpp:
1564 (WKHitTestResultIsContentEditable): C API to get whether hit test
1565 result target is editable content.
1566 * UIProcess/API/C/WKHitTestResult.h:
1567 * UIProcess/API/gtk/WebKitHitTestResult.cpp:
1568 (webkitHitTestResultCreate): Add
1569 WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE flags to the context if
1570 hit test result target is editable content.
1571 (webkit_hit_test_result_context_is_editable): Returns TRUE if
1572 WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE flags is present in
1574 * UIProcess/API/gtk/WebKitHitTestResult.h:
1575 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
1576 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
1577 (testWebViewMouseTarget): Add tests for
1578 WEBKIT_HIT_TEST_RESULT_CONTEXT_EDITABLE.
1580 2012-06-14 Grzegorz Czajkowski <g.czajkowski@samsung.com>
1582 [WK2] Fix client interface size for WKPageLoaderClient.
1583 https://bugs.webkit.org/show_bug.cgi?id=88764
1585 Reviewed by Anders Carlsson.
1587 Fixes offset of WKPageLoaderClient for version 0 by adding didDetectXSSForFrame.
1588 The offset should be off the first new callback that was added in the new version.
1590 * Shared/APIClientTraits.cpp:
1593 2012-06-13 Christophe Dumez <christophe.dumez@intel.com>
1595 [WK2] Add implementation for dispatchIntent in WebFrameLoaderClient
1596 https://bugs.webkit.org/show_bug.cgi?id=88340
1598 Reviewed by Kenneth Rohde Christiansen.
1600 Add implementation for dispatchIntent() in WebFrameLoaderClient.
1603 * GNUmakefile.list.am:
1604 * Shared/API/c/WKBase.h:
1605 * Shared/APIClientTraits.h:
1606 * Shared/APIObject.h:
1607 * Shared/IntentData.cpp: Added.
1609 (WebKit::IntentData::encode):
1610 (WebKit::IntentData::decode):
1611 * Shared/IntentData.h: Added.
1616 * UIProcess/API/C/WKAPICast.h:
1618 * UIProcess/API/C/WKPage.h:
1619 * UIProcess/API/gtk/WebKitLoaderClient.cpp:
1620 (attachLoaderClientToView):
1621 * UIProcess/WebIntentData.cpp: Added.
1623 (WebKit::WebIntentData::WebIntentData):
1624 (WebKit::WebIntentData::data):
1625 * UIProcess/WebIntentData.h: Added.
1628 (WebKit::WebIntentData::create):
1629 (WebKit::WebIntentData::~WebIntentData):
1630 (WebKit::WebIntentData::action):
1631 (WebKit::WebIntentData::payloadType):
1632 (WebKit::WebIntentData::extras):
1633 (WebKit::WebIntentData::suggestions):
1634 (WebKit::WebIntentData::type):
1635 * UIProcess/WebLoaderClient.cpp:
1637 (WebKit::WebLoaderClient::didReceiveIntentForFrame):
1638 * UIProcess/WebLoaderClient.h:
1641 * UIProcess/WebPageProxy.cpp:
1643 (WebKit::WebPageProxy::didReceiveIntentForFrame):
1644 * UIProcess/WebPageProxy.h:
1647 * UIProcess/WebPageProxy.messages.in:
1648 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1649 (WebKit::WebFrameLoaderClient::dispatchIntent):
1651 2012-06-13 Tim Horton <timothy_horton@apple.com>
1653 Rename _swapView:with: to _replaceView:with:
1654 https://bugs.webkit.org/show_bug.cgi?id=89037
1656 Reviewed by Darin Adler.
1658 _swapView:with: is a misnomer - after calling it, the first view is no longer
1659 contained within the view hierarchy. "Replace" is a more accurate term.
1661 * UIProcess/mac/WKFullScreenWindowController.mm:
1662 (-[WKFullScreenWindowController enterFullScreen:]):
1663 (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
1664 (-[WKFullScreenWindowController _replaceView:with:]):
1666 2012-06-13 Martin Robinson <mrobinson@igalia.com>
1668 [GTK] Add an accelerated compositing implementation for WebKit2
1669 https://bugs.webkit.org/show_bug.cgi?id=86037
1671 Reviewed by Alejandro G. Castro.
1673 Add an implementation of LayerTreeHost for GTK+ that uses TextureMapperGL.
1674 Later this implementation will fall back to using the ImageBuffer TextureMapper.
1676 * GNUmakefile.am: Add new files to the compilation.
1677 * Shared/LayerTreeContext.h:
1678 (LayerTreeContext): The GTK+ version of the LayerTreeContext just holds window handle.
1679 * Shared/gtk/LayerTreeContextGtk.cpp: Copied from Source/WebKit2/WebProcess/WebPage/LayerTreeHost.cpp.
1680 * WebProcess/WebPage/gtk/LayerTreeHostGtk.h: Added.
1681 * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: Added.
1682 Add this LayerTreeHost implementation that just creates a GL context from the widget X11 window ID.
1683 Later implementations might find a more cross-platform solution.
1684 * WebProcess/WebPage/gtk/WebPageGtk.cpp:
1685 (WebKit::WebPage::platformInitialize): Initialize the native window handle to be zero.
1686 (WebKit::WebPage::widgetMapped): When mapping the widget, try to get the native window
1687 handle and send it to the WebProcess.
1689 2012-06-13 Andras Becsi <andras.becsi@nokia.com>
1691 [Qt][WK2] ASSERT(m_rawAttributes.initialScale > 0) in QtViewportHandler::initialRect()
1692 https://bugs.webkit.org/show_bug.cgi?id=89026
1694 Reviewed by Csaba Osztrogonác.
1696 Only act on viewport attribute changes if the layout size is valid.
1698 * UIProcess/qt/QtViewportHandler.cpp:
1699 (WebKit::QtViewportHandler::setInitialScaleIfNeeded):
1700 (WebKit::QtViewportHandler::viewportAttributesChanged):
1702 2012-06-13 Brent Fulgham <bfulgham@webkit.org>
1704 [WinCairo] Build fix after Windows export definition file change.
1706 * win/WebKit2CFLite.def: Add missing symbol exports.
1708 2012-06-13 Allan Sandfeld Jensen <allan.jensen@nokia.com>
1710 [Qt] Fixed visible content rect lost during page-load
1711 https://bugs.webkit.org/show_bug.cgi?id=88991
1713 Reviewed by Kenneth Rohde Christiansen.
1715 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1716 (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
1718 2012-06-13 Sheriff Bot <webkit.review.bot@gmail.com>
1720 Unreviewed, rolling out r120209.
1721 http://trac.webkit.org/changeset/120209
1722 https://bugs.webkit.org/show_bug.cgi?id=89007
1724 Broke the WebKit2 mac build. (Requested by andersca on
1728 * GNUmakefile.list.am:
1729 * Shared/API/c/WKBase.h:
1730 * Shared/APIClientTraits.h:
1731 * Shared/APIObject.h:
1732 * Shared/IntentData.cpp: Removed.
1733 * Shared/IntentData.h: Removed.
1735 * UIProcess/API/C/WKAPICast.h:
1737 * UIProcess/API/C/WKPage.h:
1738 * UIProcess/API/gtk/WebKitLoaderClient.cpp:
1739 (attachLoaderClientToView):
1740 * UIProcess/WebIntentData.cpp: Removed.
1741 * UIProcess/WebIntentData.h: Removed.
1742 * UIProcess/WebLoaderClient.cpp:
1743 * UIProcess/WebLoaderClient.h:
1746 * UIProcess/WebPageProxy.cpp:
1747 * UIProcess/WebPageProxy.h:
1750 * UIProcess/WebPageProxy.messages.in:
1751 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1752 (WebKit::WebFrameLoaderClient::dispatchIntent):
1754 2012-06-13 Alexis Menard <alexis.menard@openbossa.org>
1756 Web Inspector: add a way to get the remote inspector url for a given page.
1757 https://bugs.webkit.org/show_bug.cgi?id=88902
1759 Reviewed by Jocelyn Turcotte.
1761 Expose the remote inspector url for a given page in the API. If you want
1762 to create a web view and load directly the inspector for the page you want to inspect,
1763 it helps to get the url as it is impossible to figure it out from the API layer.
1765 * UIProcess/API/qt/qquickwebview.cpp:
1766 (QQuickWebViewExperimental::remoteInspectorUrl):
1767 * UIProcess/API/qt/qquickwebview_p.h:
1768 * UIProcess/InspectorServer/WebInspectorServer.cpp:
1770 (WebKit::WebInspectorServer::inspectorUrlForPageID):
1771 * UIProcess/InspectorServer/WebInspectorServer.h:
1772 (WebInspectorServer):
1773 * UIProcess/InspectorServer/WebSocketServer.cpp:
1774 (WebKit::WebSocketServer::WebSocketServer):
1775 (WebKit::WebSocketServer::listen):
1776 (WebKit::WebSocketServer::close):
1777 * UIProcess/InspectorServer/WebSocketServer.h:
1778 (WebKit::WebSocketServer::bindAddress):
1779 (WebKit::WebSocketServer::port):
1780 (WebKit::WebSocketServer::serverState):
1782 * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
1783 (WebKit::remoteInspectorPagePath):
1785 (WebKit::WebInspectorServer::inspectorUrlForPageID):
1786 (WebKit::WebInspectorServer::buildPageList):
1787 * UIProcess/WebInspectorProxy.h:
1788 (WebKit::WebInspectorProxy::remoteInspectionPageID):
1790 2012-06-13 Christophe Dumez <christophe.dumez@intel.com>
1792 [WK2] Add implementation for dispatchIntent in WebFrameLoaderClient
1793 https://bugs.webkit.org/show_bug.cgi?id=88340
1795 Reviewed by Kenneth Rohde Christiansen.
1797 Add implementation for dispatchIntent() in WebFrameLoaderClient.
1800 * GNUmakefile.list.am:
1801 * Shared/API/c/WKBase.h:
1802 * Shared/APIClientTraits.h:
1803 * Shared/APIObject.h:
1804 * Shared/IntentData.cpp: Added.
1806 (WebKit::IntentData::encode):
1807 (WebKit::IntentData::decode):
1808 * Shared/IntentData.h: Added.
1813 * UIProcess/API/C/WKAPICast.h:
1815 * UIProcess/API/C/WKPage.h:
1816 * UIProcess/API/gtk/WebKitLoaderClient.cpp:
1817 (attachLoaderClientToView):
1818 * UIProcess/WebIntentData.cpp: Added.
1820 (WebKit::WebIntentData::WebIntentData):
1821 (WebKit::WebIntentData::data):
1822 * UIProcess/WebIntentData.h: Added.
1825 (WebKit::WebIntentData::create):
1826 (WebKit::WebIntentData::~WebIntentData):
1827 (WebKit::WebIntentData::action):
1828 (WebKit::WebIntentData::payloadType):
1829 (WebKit::WebIntentData::extras):
1830 (WebKit::WebIntentData::suggestions):
1831 (WebKit::WebIntentData::type):
1832 * UIProcess/WebLoaderClient.cpp:
1834 (WebKit::WebLoaderClient::didReceiveIntentForFrame):
1835 * UIProcess/WebLoaderClient.h:
1838 * UIProcess/WebPageProxy.cpp:
1840 (WebKit::WebPageProxy::didReceiveIntentForFrame):
1841 * UIProcess/WebPageProxy.h:
1844 * UIProcess/WebPageProxy.messages.in:
1845 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1846 (WebKit::WebFrameLoaderClient::dispatchIntent):
1848 2012-06-13 Balazs Kelemen <kbalazs@webkit.org>
1850 [Qt][WK2] Scanning plugins blocks the UI for a long time
1851 https://bugs.webkit.org/show_bug.cgi?id=88535
1853 Reviewed by Simon Hausmann.
1855 Implement a persistent cache for the meta data of plugins.
1856 This way the UI process will not block for too long when
1857 it's time to scan the plugins (except the first time).
1858 The cache is a json file stored in a standard hidden cache
1861 * Shared/qt/QtDefaultDataLocation.cpp: Added.
1863 (WebKit::defaultDataLocation):
1864 * Shared/qt/QtDefaultDataLocation.h: Added.
1866 Added a common helper for the path we use to
1870 * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
1871 (WebKit::cacheFile):
1873 (WebKit::readMetaDataFromCacheFile):
1874 (WebKit::writeToCacheFile):
1875 (WebKit::appendToCacheFile):
1876 (WebKit::tryReadPluginMetaDataFromCacheFile):
1877 (WebKit::PluginProcessProxy::scanPlugin):
1878 * UIProcess/qt/WebContextQt.cpp:
1880 2012-06-13 Kenneth Rohde Christiansen <kenneth@webkit.org>
1882 [Qt] Do not set contents pos to the current position
1883 https://bugs.webkit.org/show_bug.cgi?id=88990
1885 Reviewed by Laszlo Gombos.
1887 This is basically an optimization but it also solves flickering
1890 * UIProcess/API/qt/qquickwebview.cpp:
1891 (QQuickWebView::setContentPos):
1893 2012-06-12 MORITA Hajime <morrita@google.com>
1895 Shadow Pseudo ID should be able to nest to point nested shadow DOM.
1896 https://bugs.webkit.org/show_bug.cgi?id=62218
1898 Reviewed by Dimitri Glazkov.
1901 * win/WebKit2CFLite.def:
1903 2012-06-12 Kenneth Rohde Christiansen <kenneth@webkit.org>
1905 Unreviewed build fix.
1907 * UIProcess/qt/QtViewportHandler.cpp:
1908 (WebKit::QtViewportHandler::initialRect):
1910 2012-06-11 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
1912 Using extrernal ICU library on case unsensitive drives will not work
1913 https://bugs.webkit.org/show_bug.cgi?id=70913
1915 Reviewed by Csaba Osztrogonác.
1917 * WebProcess/WebPage/UpdateAtlas.cpp:
1919 2012-06-12 Kenneth Rohde Christiansen <kenneth@webkit.org>
1921 [Qt] Do not move/scale content while the user is interacting with it
1922 https://bugs.webkit.org/show_bug.cgi?id=88872
1924 Reviewed by Simon Hausmann.
1926 Don't try moving content into valid bounds when the content
1927 size changes and the user is interacting with the content.
1929 Only apply the viewport initial scale after user interaction
1932 * UIProcess/qt/QtViewportHandler.cpp:
1933 (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
1934 (WebKit::QtViewportHandler::setInitialScaleIfNeeded):
1935 (WebKit::QtViewportHandler::viewportAttributesChanged):
1936 (WebKit::QtViewportHandler::pageContentsSizeChanged):
1937 (WebKit::QtViewportHandler::initialRect):
1939 * UIProcess/qt/QtViewportHandler.h:
1940 (QtViewportHandler):
1942 2012-06-11 Kaustubh Atrawalkar <kaustubh@motorola.com>
1944 [DRT] LTC:: counterValueForElementById() could be moved to Internals.
1945 https://bugs.webkit.org/show_bug.cgi?id=84406
1947 Reviewed by Hajime Morita.
1949 Exporting Internals::counterValueForElement symbols for the win build.
1953 2012-06-11 Ryuan Choi <ryuan.choi@samsung.com>
1955 [CMAKE][WK2] Make WebProcess target name more clear.
1956 https://bugs.webkit.org/show_bug.cgi?id=88767
1958 Reviewed by Ryosuke Niwa.
1960 * CMakeLists.txt: Change WebProcess_NAME to WebProcess_EXECUTABLE_NAME.
1962 2012-06-11 Alexis Menard <alexis.menard@openbossa.org>
1964 [CSS3 Backgrounds and Borders] Protect box-decoration-break behind a feature flag.
1965 https://bugs.webkit.org/show_bug.cgi?id=88804
1967 Reviewed by Tony Chang.
1969 Protect box-decoration-break behind a feature flag enabled by default.
1971 * Configurations/FeatureDefines.xcconfig:
1973 2012-06-11 Gyuyoung Kim <gyuyoung.kim@samsung.com>
1975 [CMAKE][EFL] Remove duplicated executable output path
1976 https://bugs.webkit.org/show_bug.cgi?id=88765
1978 Reviewed by Daniel Bates.
1980 CMake files for EFL port have redefined executable output path. However, EFL port doesn't
1981 need to define again because it is already defined in top-level CMake file.
1985 2012-06-11 Anders Carlsson <andersca@apple.com>
1987 Pass the right color space over to the web process so we can set it on our CA context
1988 https://bugs.webkit.org/show_bug.cgi?id=88819
1989 <rdar://problem/11629050>
1991 Reviewed by John Sullivan.
1993 * Platform/mac/LayerHostingContext.h:
1994 (LayerHostingContext):
1995 * Platform/mac/LayerHostingContext.mm:
1996 (WebKit::LayerHostingContext::createForPort):
1997 (WebKit::LayerHostingContext::createForWindowServer):
1998 Use a single constructor and explicitly set up the parameters of the constructed object.
2000 (WebKit::LayerHostingContext::setColorSpace):
2001 (WebKit::LayerHostingContext::colorSpace):
2002 Add getter and setter.
2004 * Scripts/webkit2/messages.py:
2006 WebKit::ColorSpaceData is a struct.
2008 * Shared/WebPageCreationParameters.cpp:
2009 Encode and decode the color space parameter.
2011 * Shared/WebPageCreationParameters.h:
2012 Add the color space.
2014 * Shared/mac/ColorSpaceData.h: Added.
2015 * Shared/mac/ColorSpaceData.mm: Added.
2016 Add a new class that represents a color space that can be sent over the wire.
2018 * UIProcess/API/mac/PageClientImpl.h:
2019 * UIProcess/API/mac/PageClientImpl.mm:
2020 (WebKit::PageClientImpl::colorSpace):
2021 Call through to the WKView.
2023 * UIProcess/API/mac/WKView.mm:
2024 (-[WKView _windowDidChangeBackingProperties:]):
2027 (-[WKView viewDidChangeBackingProperties]):
2028 Check if our new color space is different from the current one and null the current one out if that is the case,
2029 it will be reinitialized by the next call to -[WKView _colorSpace].
2031 (-[WKView _colorSpace:]):
2032 Compute the color space. If we're not in a window we'll get the main screen's color space.
2034 * UIProcess/DrawingAreaProxy.h:
2035 (WebKit::DrawingAreaProxy::colorSpaceDidChange):
2038 * UIProcess/PageClient.h:
2039 Add colorSpace getter.
2041 * UIProcess/WebPageProxy.cpp:
2042 (WebKit::WebPageProxy::creationParameters):
2043 Initialize the color space.
2045 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
2046 * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
2047 (WebKit::TiledCoreAnimationDrawingAreaProxy::colorSpaceDidChange):
2048 Send the new color space over to the web process.
2050 * UIProcess/mac/WebPageProxyMac.mm:
2051 (WebKit::WebPageProxy::colorSpace):
2052 Call through to the page client.
2054 * WebKit2.xcodeproj/project.pbxproj:
2055 Add ColorSpaceData.h and ColorSpaceData.mm.
2057 * WebProcess/WebPage/DrawingArea.h:
2058 * WebProcess/WebPage/DrawingArea.messages.in:
2059 Add SetColorSpace message.
2061 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2062 (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
2063 Set the color space from the creation parameters.
2065 (WebKit::TiledCoreAnimationDrawingArea::setColorSpace):
2066 Set the color space on the layer hosting context.
2068 (WebKit::TiledCoreAnimationDrawingArea::updateLayerHostingContext):
2069 Make sure we apply the color space from the previous layer hosting context if one exists.
2071 2012-06-11 Anders Carlsson <andersca@apple.com>
2073 Crash when a plug-in tries to use the NPRuntime API with JavaScript disabled
2074 https://bugs.webkit.org/show_bug.cgi?id=88797
2075 <rdar://problem/11574844>
2077 Reviewed by Brady Eidson.
2079 * PluginProcess/PluginControllerProxy.cpp:
2080 (WebKit::PluginControllerProxy::initialize):
2081 Handle the windowNPObjectID being 0.
2083 (WebKit::PluginControllerProxy::windowScriptNPObject):
2084 Handle m_windownPObject being null.
2086 * WebProcess/Plugins/PluginView.cpp:
2087 (WebKit::PluginView::windowScriptNPObject):
2088 Return null if JavaScript is disabled.
2090 (WebKit::PluginView::pluginElementNPObject):
2093 2012-06-11 Kenneth Rohde Christiansen <kenneth@webkit.org>
2095 Add QML api for setting device width and height
2096 https://bugs.webkit.org/show_bug.cgi?id=88777
2098 Reviewed by Simon Hausmann.
2100 Add the new API and set the default values to 0 (unset). The
2101 current values were introduced by Qt and only Qt depends on them.
2103 * Shared/WebPreferencesStore.h:
2105 * UIProcess/API/qt/qquickwebview.cpp:
2106 (QQuickWebViewExperimental::deviceWidth):
2107 (QQuickWebViewExperimental::setDeviceWidth):
2108 (QQuickWebViewExperimental::deviceHeight):
2109 (QQuickWebViewExperimental::setDeviceHeight):
2110 * UIProcess/API/qt/qquickwebview_p.h:
2111 * UIProcess/qt/QtViewportHandler.cpp:
2112 (WebKit::QtViewportHandler::viewportItemSizeChanged):
2113 * WebProcess/WebPage/WebPage.cpp:
2114 (WebKit::WebPage::sendViewportAttributesChanged):
2116 2012-06-11 Michael BrĂĽning <michael.bruning@nokia.com>
2118 [Qt][WK2] Compute and set cache capacities using the current CacheModel
2119 https://bugs.webkit.org/show_bug.cgi?id=73918
2121 Reviewed by Kenneth Rohde Christiansen.
2123 Added implementation of cache model for Qt WK 2 port including supporting
2124 functionality such as WebProcess creation parameters and default values
2125 for disk cache directories.
2127 * Shared/WebProcessCreationParameters.cpp:
2128 (WebKit::WebProcessCreationParameters::encode):
2129 (WebKit::WebProcessCreationParameters::decode):
2130 * Shared/WebProcessCreationParameters.h:
2131 (WebProcessCreationParameters):
2132 * UIProcess/qt/WebContextQt.cpp:
2133 (WebKit::defaultDiskCacheDirectory):
2135 (WebKit::WebContext::platformInitializeWebProcess):
2136 * WebProcess/qt/WebProcessQt.cpp:
2137 (WebKit::physicalMemorySizeInBytes):
2138 (WebKit::WebProcess::platformSetCacheModel):
2139 (WebKit::WebProcess::platformInitializeWebProcess):
2141 2012-06-10 Darin Adler <darin@apple.com>
2143 Remove unneeded callRemovedLastRef function from TreeShared refactoring
2144 https://bugs.webkit.org/show_bug.cgi?id=88653
2146 Reviewed by Sam Weinig.
2148 * win/WebKit2.def: Export removedLastRef instead of callRemovedLastRef.
2149 * win/WebKit2CFLite.def: Ditto.
2151 2012-06-10 Ryuan Choi <ryuan.choi@samsung.com>
2153 [EFL][WK2] Add and refactor ewk API in order to support MiniBrowser without WK API.
2154 https://bugs.webkit.org/show_bug.cgi?id=84124
2156 Reviewed by Chang Shu.
2158 Modify ewk_view and add ewk_context to provide a platform-depedent WebKit2
2160 This patch provides the minimum to support MiniBrowser.
2162 * PlatformEfl.cmake: add ewk_context.cpp.
2163 * UIProcess/API/efl/EWebKit2.h: Added.
2164 * UIProcess/API/efl/ewk_context.cpp: Added.
2166 (createDefaultWebContext):
2167 (ewk_context_WKContext_get):
2168 (ewk_context_default_get):
2169 * UIProcess/API/efl/ewk_context.h: Added.
2170 * UIProcess/API/efl/ewk_context_private.h: Added.
2171 * UIProcess/API/efl/ewk_view.cpp:
2172 (_Ewk_View_Private_Data):
2173 (_ewk_view_priv_del):
2174 (ewk_view_base_add):
2175 (ewk_view_add_with_context):
2179 * UIProcess/API/efl/ewk_view.h:
2180 * UIProcess/API/efl/ewk_view_private.h:
2182 2012-06-09 Sukolsak Sakshuwong <sukolsak@google.com>
2184 Add UNDO_MANAGER flag
2185 https://bugs.webkit.org/show_bug.cgi?id=87908
2187 Reviewed by Tony Chang.
2189 * Configurations/FeatureDefines.xcconfig:
2191 2012-06-08 Brent Fulgham <bfulgham@webkit.org>
2192 [WinCairo] Build fix after Windows export definition file change.
2194 * win/WebKit2CFLite.def: This file needs to be kept in sync with
2195 WebKit2.def (aside from the WebKitInterface exports.)
2197 2012-06-08 Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com>
2199 [Qt] [WK2] API tests randomly assert in WebLayerTreeRenderer::assignImageToLayer
2200 https://bugs.webkit.org/show_bug.cgi?id=88667
2202 Reviewed by Noam Rosenthal.
2204 Move deactivation of WebLayerTreeRenderer from LayerTreeHostProxy::purgeBackingStores
2205 to WebLayerTreeRenderer::purgeGLResources. LayerTreeHostProxy::purgeBackingStores is
2206 invoked on main thread after going through call gate and it is too late to deactivate
2207 renderer here, because some update messages are able to go through.
2208 WebLayerTreeRenderer::purgeGLResources is called directly from render node deallocation
2209 and it is right place to deactivate renderer.
2211 * UIProcess/LayerTreeHostProxy.cpp:
2212 (WebKit::LayerTreeHostProxy::purgeBackingStores):
2213 * UIProcess/WebLayerTreeRenderer.cpp:
2214 (WebKit::WebLayerTreeRenderer::purgeGLResources):
2216 2012-06-08 Carlos Garcia Campos <cgarcia@igalia.com>
2218 [GTK] Add API to get the library version to WebKit2 GTK+
2219 https://bugs.webkit.org/show_bug.cgi?id=88426
2221 Reviewed by Martin Robinson.
2224 * GNUmakefile.list.am:
2225 * UIProcess/API/gtk/WebKitVersion.cpp: Added.
2226 (webkit_get_major_version):
2227 (webkit_get_minor_version):
2228 (webkit_get_micro_version):
2229 * UIProcess/API/gtk/WebKitVersion.h.in: Added.
2230 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add new symbols.
2231 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new section
2233 * UIProcess/API/gtk/tests/GNUmakefile.am:
2234 * UIProcess/API/gtk/tests/TestWebKitVersion.cpp: Added.
2235 (testWebKitVersion):
2236 (testWebKitCheckVersion):
2239 * UIProcess/API/gtk/webkit2.h: Include WebKitVersion.h.
2241 2012-06-08 Dan Bernstein <mitz@apple.com>
2243 Tried to fix the Snow Leopard build after r119806.
2247 2012-06-08 Andy Estes <aestes@apple.com>
2249 [WebKit2] Move Mac-specific bits from config.h to WebKit2Prefix.h
2250 https://bugs.webkit.org/show_bug.cgi?id=88625
2252 Reviewed by Dan Bernstein.
2254 Since the Mac supports prefix headers, there is no point in having
2255 Mac-specific code in WebKit2's config.h. Move it to WebKit2Prefix.h.
2260 2012-06-07 Kentaro Hara <haraken@chromium.org>
2262 Reduce Node object size from 72 byte to 64 byte
2263 https://bugs.webkit.org/show_bug.cgi?id=88528
2265 Reviewed by Ryosuke Niwa.
2267 Added a symbol for callRemovedLastRef().
2269 * mac/WebKit2.order:
2271 * win/WebKit2CFLite.def:
2273 2012-06-07 Andy Estes <aestes@apple.com>
2275 [WebKit2] Explicitly include CoreFoundation.h in config.h
2276 https://bugs.webkit.org/show_bug.cgi?id=88619
2278 Reviewed by Dan Bernstein.
2280 WebKit2 relies (probably unintentionally) on CoreFoundation.h being
2281 included by CoreGraphics.h (via CGSession.h), but some versions of
2282 CoreGraphics headers don't include CoreFoundation.h. WebKit2 should
2283 include it explicitly in config.h.
2285 * config.h: Import CoreFoundation.h.
2287 2012-06-07 Andy Estes <aestes@apple.com>
2289 [WebKit2] Only include Cocoa.h on platforms that use AppKit
2290 https://bugs.webkit.org/show_bug.cgi?id=88517
2292 Reviewed by Sam Weinig.
2294 * WebKit2Prefix.h: Include Platform.h to get USE() macros. GTK needs to
2295 include autotoolsconfig.h before including Platform.h, so do that first
2296 if building on GTK. Then, if compiling an Objective-C file, it's safe
2297 to include Foundation.h, but not necessarily Cocoa.h; only include the
2298 latter if USE(APPKIT) is true.
2299 * config.h: There's no need to import Cocoa.h since this is already
2300 imported in the prefix header.
2302 2012-06-07 Anders Carlsson <andersca@apple.com>
2304 Search highlight does not scroll with the content of the page, and find overlay doesn't work, on large-enough window
2305 https://bugs.webkit.org/show_bug.cgi?id=88577
2306 <rdar://problem/11430118>
2308 Reviewed by John Sullivan.
2310 Prevent the page overlay layer from falling into tiled mode.
2312 * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2313 (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
2315 2012-06-07 Alexander Færøy <ahf@0x90.dk>
2317 Add QML API tests for Device Pixel Ratio
2318 https://bugs.webkit.org/show_bug.cgi?id=88531
2320 Reviewed by Kenneth Rohde Christiansen.
2322 This patch adds an initial test case for the QML device pixel ratio
2323 API. The test currently fails and is therefore marked as being
2324 expected to fail. This will be fixed in a separated patch.
2326 * UIProcess/API/qt/tests/qmltests/WebView/tst_devicePixelRatio.qml: Added.
2328 2012-06-07 Christophe Dumez <christophe.dumez@intel.com>
2330 [EFL][WK2] WebKit2-EFL does not link in debug mode
2331 https://bugs.webkit.org/show_bug.cgi?id=88518
2333 Unreviewed. Fix WebKit2-EFL linking error in debug mode.
2337 2012-06-07 Simon Pena <spena@igalia.com>
2339 [GTK] Fix broken build due to missing <SECTION> in GTK-DOC
2340 https://bugs.webkit.org/show_bug.cgi?id=88525
2342 Unreviewed gardening. Added missing <SECTION> tag.
2344 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
2346 2012-06-07 Carlos Garcia Campos <cgarcia@igalia.com>
2348 [GTK] Add API to register custom URI schemes to WebKit2 GTK+ API
2349 https://bugs.webkit.org/show_bug.cgi?id=84133
2351 Reviewed by Martin Robinson.
2353 * GNUmakefile.list.am: Add new files to compilation.
2354 * UIProcess/API/gtk/WebKitPrivate.h:
2355 * UIProcess/API/gtk/WebKitRequestManagerClient.cpp: Added.
2356 (didReceiveURIRequest): Callback emitted by the C API when a
2357 request for a custom URI scheme has been received. Call
2358 webkitWebContextReceivedURIRequest() to handle the request.
2359 (didFailToLoadURIRequest): Callback emitted by the C API when a
2360 request for a custom URI scheme failed to load. Call
2361 webkitWebContextDidFailToLoadURIRequest() to noitfy the web
2363 (attachRequestManagerClientToContext): Initialize the
2364 WKSoupRequestManagerClient.
2365 * UIProcess/API/gtk/WebKitRequestManagerClient.h: Added.
2366 * UIProcess/API/gtk/WebKitURISchemeRequest.cpp: Added.
2367 (webkit_uri_scheme_request_init):
2368 (webkitURISchemeRequestFinalize):
2369 (webkit_uri_scheme_request_class_init):
2370 (webkitURISchemeRequestCreate): Create a new
2371 WebKitURISchemeRequest for the given URI and request identifier.
2372 (webkitURISchemeRequestGetID): Return the request identifier.
2373 (webkitURISchemeRequestCancel): Cancel the request operation.
2374 (webkit_uri_scheme_request_get_scheme): Return the scheme of the
2376 (webkit_uri_scheme_request_get_uri): Return the full URI of the
2378 (webkit_uri_scheme_request_get_path): Return the path of the URI.
2379 (webkitURISchemeRequestReadCallback): Read callback emitted when
2380 reading the contents of the input stream.
2381 (webkit_uri_scheme_request_finish): Finish the request by reading
2382 the contents of the input stream and sending the data to the
2384 * UIProcess/API/gtk/WebKitURISchemeRequest.h: Added.
2385 * UIProcess/API/gtk/WebKitURISchemeRequestPrivate.h: Added.
2386 * UIProcess/API/gtk/WebKitWebContext.cpp:
2387 (WebKitURISchemeHandler::WebKitURISchemeHandler): Helper struct to
2388 save callback and user data of registered URI schemes.
2389 (createDefaultWebContext): Initialize the SoupRequestManager.
2390 (webkit_web_context_register_uri_scheme): Public API to register a
2391 custom URI scheme providing a callback that will be called to
2392 handle requests for that URI scheme.
2393 (webkitWebContextGetRequestManager): Helper private method to
2394 return the SoupRequestManager.
2395 (webkitWebContextReceivedURIRequest): Get the
2396 WebKitURISchemeHandler for the given request identifier and call
2397 the callback. Save the request in the request map.
2398 (webkitWebContextDidFailToLoadURIRequest): Cancel the ongoing
2400 (webkitWebContextDidFinishURIRequest): Remove the request from the
2402 * UIProcess/API/gtk/WebKitWebContext.h:
2403 * UIProcess/API/gtk/WebKitWebContextPrivate.h:
2404 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add
2405 WebKitURISchemeRequest section.
2406 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
2407 * UIProcess/API/gtk/docs/webkit2gtk.types: Add
2408 webkit_uri_scheme_request_get_type.
2409 * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
2410 (testWebContextURIScheme):
2412 * UIProcess/API/gtk/webkit2.h: Include WebKitURISchemeRequest.h.
2414 2012-06-07 Andras Becsi <andras.becsi@nokia.com>
2416 [Qt][WK2] setPageItemRectVisible() is not guarded by ViewportUpdateDeferrer at scaleAnimationValueChanged()
2417 https://bugs.webkit.org/show_bug.cgi?id=87954
2419 Reviewed by Kenneth Rohde Christiansen.
2421 Resetting the end value, the easing curve or the duration of the scale animation triggers
2422 a recalculation of the animation interval. This might change the current value of the
2424 Since guarding of setPageItemRectVisible() relies on animation state change we have to
2425 make sure we only act on animation value changes if the animation is in active state.
2427 * UIProcess/qt/QtViewportHandler.cpp:
2428 (WebKit::QtViewportHandler::QtViewportHandler):
2429 (WebKit::QtViewportHandler::animatePageItemRectVisible):
2430 (WebKit::QtViewportHandler::scaleAnimationValueChanged):
2432 2012-06-06 Carlos Garcia Campos <cgarcia@igalia.com>
2434 [SOUP] WebSoupRequestManager should handle loading errors and zero-length replies
2435 https://bugs.webkit.org/show_bug.cgi?id=88087
2437 Reviewed by Martin Robinson.
2439 * UIProcess/API/C/soup/WKSoupRequestManager.h:
2440 * UIProcess/soup/WebSoupRequestManagerClient.cpp:
2441 (WebKit::WebSoupRequestManagerClient::didFailToLoadURIRequest):
2442 Call didFailToLoadURIRequest in the client if present.
2443 * UIProcess/soup/WebSoupRequestManagerClient.h:
2444 * UIProcess/soup/WebSoupRequestManagerProxy.cpp:
2445 (WebKit::WebSoupRequestManagerProxy::WebSoupRequestManagerProxy):
2446 Initialize m_loadFailed.
2447 (WebKit::WebSoupRequestManagerProxy::didReceiveURIRequestData):
2448 Don't send more data to the web process if the resource failed to
2450 (WebKit::WebSoupRequestManagerProxy::didFailToLoadURIRequest): Set
2451 m_loadFailed and notifiy the client calling didFailToLoadURIRequest.
2452 * UIProcess/soup/WebSoupRequestManagerProxy.h:
2453 * UIProcess/soup/WebSoupRequestManagerProxy.messages.in: Add
2454 DidFailToLoadURIRequest message.
2455 * WebProcess/soup/WebKitSoupRequestGeneric.cpp:
2456 (webkitSoupRequestGenericSendAsync): Pass the cancellable to the
2457 WebSoupRequestManager.
2458 * WebProcess/soup/WebSoupRequestManager.cpp:
2459 (WebKit::WebSoupRequestAsyncData::WebSoupRequestAsyncData): Helper
2460 struct to save requests.
2461 (WebSoupRequestAsyncData): Add a weak pointer to invalidate the
2462 request when it's destroyed before the operation has finished.
2463 (WebKit::WebSoupRequestAsyncData::~WebSoupRequestAsyncData):
2464 Remove the weak pointer.
2465 (WebKit::WebSoupRequestAsyncData::requestFailed): Return whther
2467 (WebKit::WebSoupRequestAsyncData::releaseResult): Return the
2468 result and clear the pointer.
2469 (WebKit::WebSoupRequestManager::didHandleURIRequest): Create and
2470 empty memory stream for zero-length replies instead of creating an
2472 (WebKit::WebSoupRequestManager::didReceiveURIRequestData): If the
2473 request failed and more data expected from the UI process, send a
2474 message to the UI process to notify that the resource load failed.
2475 (WebKit::WebSoupRequestManager::send): Save request information in
2477 * WebProcess/soup/WebSoupRequestManager.h:
2479 2012-06-06 Andy Estes <aestes@apple.com>
2481 Wrap uppercaseWord, lowercaseWord, and capitalizeWord with USE(APPKIT)
2482 https://bugs.webkit.org/show_bug.cgi?id=88504
2484 Reviewed by Dan Bernstein.
2486 uppercaseWord, lowercaseWord, and capitalizeWord are methods declared
2487 by NSResponder that subclasses are expected to implement. WebKit should
2488 only support these implementations on platforms that use AppKit.
2490 * UIProcess/WebPageProxy.h:
2491 * WebProcess/WebCoreSupport/WebEditorClient.h:
2492 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
2493 * WebProcess/WebPage/WebPage.cpp:
2494 * WebProcess/WebPage/WebPage.h:
2495 * WebProcess/WebPage/WebPage.messages.in:
2497 2012-06-06 chandra Shekar Vallala <chandra.vallala@motorola.com>
2499 [WK2-Gtk]Compilation errors with flag CONTEXT_MENUS=0
2500 https://bugs.webkit.org/show_bug.cgi?id=87842
2502 Reviewed by Martin Robinson.
2504 Fix for compilation errors while building webkit2-gtk with CONTEXT_MENUS=0
2506 * UIProcess/gtk/WebContextMenuProxyGtk.cpp: Added code under CONTEXT_MENUS CC
2507 * UIProcess/gtk/WebContextMenuProxyGtk.h: Ditto
2508 * WebProcess/WebCoreSupport/gtk/WebContextMenuClientGtk.cpp: Ditto
2510 2012-06-06 Michael BrĂĽning <michael.bruning@nokia.com>
2512 [Qt][WK2] Add preferredMinimumContentsWidth to the viewport info in MiniBrowser.
2513 https://bugs.webkit.org/show_bug.cgi?id=88327
2515 Reviewed by Kenneth Rohde Christiansen.
2517 * UIProcess/API/qt/qquickwebview.cpp:
2518 (QQuickWebViewExperimental::setPreferredMinimumContentsWidth):
2519 * UIProcess/API/qt/qquickwebview_p.h:
2521 2012-06-06 Tim Horton <timothy_horton@apple.com>
2523 WebPage::windowIsVisible is incorrect during resumePainting
2524 https://bugs.webkit.org/show_bug.cgi?id=88374
2525 <rdar://problem/11587039>
2527 Reviewed by Simon Fraser.
2529 Currently, when changing window visibility, WKView calls viewStateDidChange(ViewIsVisible)
2530 and then _updateWindowVisibility. This means that during viewStateDidChange, the WebPage's
2531 windowIsVisible state is incorrect.
2533 viewStateDidChange(ViewIsVisible) can end up in (one of the DrawingArea implementations)::resumePainting(),
2534 which uses windowIsVisible to determine whether or not to unpause requestAnimationFrame.
2536 This results in a state where, with some configurations, doing the following:
2538 1. requestAnimationFrame()
2539 2. requestFullScreen()
2540 3. requestAnimationFrame()
2541 4. cancelFullScreen()
2542 5. requestAnimationFrame()
2544 Will cause the second and third rAF calls to have no effect. Even after cancelFullScreen() is called,
2545 the fact that we have had unpaired suspend/resumeScriptedAnimations will cause the suspend count
2546 on the ScriptedAnimationController to never return to zero, which will cause us to never
2547 recover rAF functionality.
2549 The fix is very simple: we should _updateWindowVisibility *before* viewStateDidChange, so that it is
2550 always correct for any code called underneath that method.
2552 * UIProcess/API/mac/WKView.mm:
2553 (-[WKView viewDidMoveToWindow]):
2554 (-[WKView _windowDidOrderOffScreen:]):
2555 (-[WKView _windowDidOrderOnScreen:]):
2557 2012-06-05 Dinu Jacob <dinu.jacob@nokia.com>
2559 [Qt][WK2] Use Component.onCompleted in API tests for single and multi file upload tests.
2560 https://bugs.webkit.org/show_bug.cgi?id=88247
2562 Reviewed by Kenneth Rohde Christiansen.
2564 With r116936, Component.onCompleted can be used for callback instead of the
2565 1s timer in single and multi file upload tests.
2567 * UIProcess/API/qt/tests/qmltests/WebView/tst_multiFileUpload.qml:
2568 * UIProcess/API/qt/tests/qmltests/WebView/tst_singleFileUpload.qml:
2570 2012-06-04 Stephanie Lewis <slewis@apple.com>
2572 https://bugs.webkit.org/show_bug.cgi?id=88370
2573 Memory sampler should trigger low memory signal
2575 Reviewed by Geoff Garen.
2577 Send low memory signal when running the memory sampler. We'd
2578 like to test memory that cannot be freed.
2580 * Shared/WebMemorySampler.cpp:
2581 (WebKit::WebMemorySampler::sampleTimerFired):
2582 * Shared/WebMemorySampler.h:
2584 * Shared/mac/WebMemorySampler.mac.mm:
2586 (WebKit::WebMemorySampler::sendMemoryPressureEvent):
2588 2012-06-05 Brady Eidson <beidson@apple.com>
2590 <rdar://problem/11575898> and https://bugs.webkit.org/show_bug.cgi?id=88372
2591 REGRESSION(110494): Can no longer drag-and-drop links into FileMaker Pro 12
2593 - Before r110494 we used to write the NSStringPboardType to the pasteboard.
2594 After r110494 we write NSURLPboardType instead.
2595 That's basically a no-op, but the NSStringPboardType needs to be restored.
2596 - Before r110494 we wrote the link destination URL to the pasteboard.
2597 After r110494 we write the image src URL if the link is an image.
2598 We need to revert to writing the link URL.
2600 Fortunately these changes can be accomplished with a 2-line fix.
2602 Reviewed by Enrica Casucci.
2604 * UIProcess/API/mac/WKView.mm:
2605 (-[WKView _setPromisedData:WebCore::withFileName:withExtension:withTitle:withURL:withVisibleURL:withArchive:WebCore::forPasteboard:]):
2608 2012-06-05 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
2610 [Qt] Implement log channel initialization for WebKit2
2612 Reviewed by Alexis Menard.
2614 * Platform/Logging.cpp:
2616 * Platform/Logging.h:
2618 * Platform/qt/LoggingQt.cpp: Copied from Source/WebKit2/Platform/gtk/LoggingGtk.cpp
2620 (WebKit::initializeLogChannel):
2623 2012-06-05 Jocelyn Turcotte <jocelyn.turcotte@nokia.com>
2625 WebLayerTreeRenderer behaves wrongly when no contentsScale is set.
2626 https://bugs.webkit.org/show_bug.cgi?id=88357
2628 Reviewed by Alexis Menard.
2630 The contentsScale needs to get a default value in case no
2631 value is explicitely set yet.
2632 This fixes the blank-until-resize problem when running MiniBrowser
2635 * UIProcess/WebLayerTreeRenderer.cpp:
2636 (WebKit::WebLayerTreeRenderer::WebLayerTreeRenderer):
2638 2012-06-05 Alexis Menard <alexis.menard@openbossa.org>
2640 [Qt] Don't propagate viewport size changes if the viewport is empty.
2641 https://bugs.webkit.org/show_bug.cgi?id=88336
2643 Reviewed by Tor Arne Vestbø.
2645 Qt Quick sequentially set the x, y, width, height of the view. We really want to
2646 start propagating further when the size of the viewport becomes valid, i.e. both
2647 height and width are defined. In any case lower level classes are discarding an empty
2648 size such as WebPage::sendViewportAttributesChanged() so it was pointless to send the size
2649 through the IPC bus for nothing.
2651 * UIProcess/API/qt/qquickwebview.cpp:
2652 (QQuickWebViewLegacyPrivate::updateViewportSize):
2654 2012-06-05 Carlos Garcia Campos <cgarcia@igalia.com>
2656 [GTK] Add webkit_download_get_received_data_length to WebKit2 GTK+ API
2657 https://bugs.webkit.org/show_bug.cgi?id=88323
2659 Reviewed by Martin Robinson.
2661 * UIProcess/API/gtk/WebKitDownload.cpp:
2662 (webkit_download_get_received_data_length):
2663 * UIProcess/API/gtk/WebKitDownload.h:
2664 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
2665 * UIProcess/API/gtk/tests/TestDownloads.cpp:
2667 2012-06-05 Dongwoo Im <dw.im@samsung.com>
2669 Add 'isProtocolHandlerRegistered' and 'unregisterProtocolHandler'.
2670 https://bugs.webkit.org/show_bug.cgi?id=73176
2672 Reviewed by Adam Barth.
2674 Two more APIs are added in Custom Scheme Handler specification.
2675 http://dev.w3.org/html5/spec/Overview.html#custom-handlers
2676 One is 'isProtocolHandlerRegistered' to query whether the specific URL
2677 is registered or not.
2678 The other is 'unregisterProtocolHandler' to remove the registered URL.
2680 * Configurations/FeatureDefines.xcconfig: Add a macro 'ENABLE_CUSTOM_SCHEME_HANDLER'.
2682 2012-06-05 Christophe Dumez <christophe.dumez@intel.com>
2684 [EFL][WK2] WebKit2-EFL does not link with gold linker
2685 https://bugs.webkit.org/show_bug.cgi?id=88295
2687 Unreviewed. Fix linking when using gold linker.
2689 * PlatformEfl.cmake:
2691 2012-06-05 Mario Sanchez Prada <msanchez@igalia.com>
2693 [GTK][WK2] Implement API for Geolocation permission requests in the GTK port
2694 https://bugs.webkit.org/show_bug.cgi?id=83879
2696 Reviewed by Carlos Garcia Campos.
2698 Added a new kind of permission request for supporting the
2699 Geolocation API in WebKit2GTK+.
2701 New WebKitGeolocationPermissionRequest class, implementing the
2702 WebKitPermissionRequest interface, to enabling client applications
2703 to allow or deny geolocation permission requests.
2705 * GNUmakefile.list.am: Added new files.
2706 * UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp: Added.
2707 (_WebKitGeolocationPermissionRequestPrivate):
2708 (webkitGeolocationPermissionRequestAllow):
2709 (webkitGeolocationPermissionRequestDeny):
2710 (webkit_permission_request_interface_init):
2711 (webkit_geolocation_permission_request_init):
2712 (webkitGeolocationPermissionRequestFinalize):
2713 (webkit_geolocation_permission_request_class_init):
2714 (webkitGeolocationPermissionRequestCreate):
2715 * UIProcess/API/gtk/WebKitGeolocationPermissionRequest.h: Added.
2716 (_WebKitGeolocationPermissionRequest):
2717 (_WebKitGeolocationPermissionRequestClass):
2718 * UIProcess/API/gtk/WebKitGeolocationPermissionRequestPrivate.h: Added.
2720 Include WKGeolocationPermissionRequest.h in WebKitPrivate.h, so we
2721 can use it from the new WebKitGeolocationPermissionRequest class.
2723 * UIProcess/API/gtk/WebKitPrivate.h: Added new include.
2725 Implement geolocation permission requests in the UI client.
2727 * UIProcess/API/gtk/WebKitUIClient.cpp:
2728 (decidePolicyForGeolocationPermissionRequest): Create a new
2729 instance of the WebKitGeolocationPermissionRequest class and call
2730 to webkitWebViewMakePermissionRequest().
2731 (attachUIClientToView): Provide an implementation function for
2732 decidePolicyForGeolocationPermissionRequest.
2733 * UIProcess/API/gtk/WebKitWebView.h: Add new element to
2734 WebKitPermissionRequestType enumeration for geolocation requests.
2735 * UIProcess/API/gtk/webkit2.h: Added header file for
2736 WebKitGeolocationPermissionRequest
2738 New unit tests to test allowing and denying permission requests.
2740 * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
2741 (testWebViewPermissionRequests): New test that loads a simple HTML
2742 with JavaScript code requesting the current location.
2743 (beforeAll): Added new test.
2745 Updated documentation files.
2747 * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml:
2748 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
2750 2012-06-04 Sadrul Habib Chowdhury <sadrul@chromium.org>
2752 [chromium] Fix software rendering for device-scale-factor > 1
2753 https://bugs.webkit.org/show_bug.cgi?id=88136
2755 Reviewed by Darin Fisher.
2757 Export WebCore::Page::setDeviceScaleFactor and WebCore::Settings::setDefaultDeviceScaleFactor.
2760 * win/WebKit2CFLite.def:
2762 2012-06-04 Andy Estes <aestes@apple.com>
2764 Use ENABLE() and USE() macros in a few more places
2765 https://bugs.webkit.org/show_bug.cgi?id=88245
2767 Reviewed by Anders Carlsson.
2769 * UIProcess/API/C/WKPluginSiteDataManager.cpp: Only include npapi.h if
2770 Netscape plug-in API is enabled.
2771 * UIProcess/mac/CorrectionPanel.h: Wrap with USE(AUTOCORRECTION_PANEL)
2772 * WebProcess/Authentication/AuthenticationManager.cpp: Use the stub
2773 version of tryUsePlatformCertificateInfoForChallenge if
2774 Security.framework isn't available.
2775 * WebProcess/WebProcess.messages.in: Only generate two messages if
2776 Security.framework is available.
2777 * WebProcess/mac/KeychainItemShimMethods.mm: Wrap with
2778 USE(SECURITY_FRAMEWORK).
2780 2012-06-04 Andy Estes <aestes@apple.com>
2782 Add stub WebKit2 implementations of PLUGIN_PROXY_FOR_VIDEO methods declared in FrameLoaderClient
2783 https://bugs.webkit.org/show_bug.cgi?id=88244
2785 Reviewed by Anders Carlsson.
2787 * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2788 (WebKit::WebFrameLoaderClient::createMediaPlayerProxyPlugin): Add a stub implementation.
2789 (WebKit::WebFrameLoaderClient::hideMediaPlayerProxyPlugin): Ditto.
2790 (WebKit::WebFrameLoaderClient::showMediaPlayerProxyPlugin): Ditto.
2791 * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
2793 2012-06-04 Mario Sanchez Prada <msanchez@igalia.com>
2795 [GTK][WK2] Implement geolocation provider for the GTK port
2796 https://bugs.webkit.org/show_bug.cgi?id=83877
2798 Reviewed by Carlos Garcia Campos.
2800 Add a new client-based geolocation provider for WebKit2GTK+, relying the
2801 new Geoclue-based geolocation provider available in WebCore.
2804 * GNUmakefile.list.am:
2805 * UIProcess/API/gtk/WebKitGeolocationProvider.cpp: Added.
2806 (toGeolocationProvider):
2807 (startUpdatingCallback):
2808 (stopUpdatingCallback):
2809 (WebKitGeolocationProvider::~WebKitGeolocationProvider):
2810 (WebKitGeolocationProvider::create):
2811 (WebKitGeolocationProvider::WebKitGeolocationProvider):
2812 (WebKitGeolocationProvider::startUpdating):
2813 (WebKitGeolocationProvider::stopUpdating):
2814 (WebKitGeolocationProvider::notifyPositionChanged):
2815 (WebKitGeolocationProvider::notifyErrorOccurred):
2816 * UIProcess/API/gtk/WebKitGeolocationProvider.h: Added.
2817 * UIProcess/API/gtk/WebKitPrivate.h:
2818 * UIProcess/API/gtk/WebKitWebContext.cpp:
2819 (_WebKitWebContextPrivate):
2820 (createDefaultWebContext):
2822 2012-06-04 Zalan Bujtas <zbujtas@gmail.com>
2824 [Qt][WK2] Rename QtViewportInteractionEngine to QtViewportHandler.
2825 https://bugs.webkit.org/show_bug.cgi?id=88226
2827 Reviewed by Kenneth Rohde Christiansen.
2830 * UIProcess/API/qt/qquickwebpage_p_p.h:
2832 * UIProcess/API/qt/qquickwebview.cpp:
2833 (QQuickWebViewFlickablePrivate::~QQuickWebViewFlickablePrivate):
2834 (QQuickWebViewFlickablePrivate::onComponentComplete):
2835 (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
2836 (QQuickWebViewFlickablePrivate::updateViewportSize):
2837 (QQuickWebViewFlickablePrivate::pageDidRequestScroll):
2838 (QQuickWebViewFlickablePrivate::didChangeContentsSize):
2839 * UIProcess/API/qt/qquickwebview_p.h:
2841 * UIProcess/API/qt/qquickwebview_p_p.h:
2843 (QQuickWebViewPrivate::viewportHandler):
2844 (QQuickWebViewFlickablePrivate::viewportHandler):
2845 (QQuickWebViewFlickablePrivate):
2846 * UIProcess/API/qt/qwebkittest.cpp:
2847 (QWebKitTest::contentsScale):
2848 (QWebKitTest::devicePixelRatio):
2849 (QWebKitTest::initialScale):
2850 (QWebKitTest::minimumScale):
2851 (QWebKitTest::maximumScale):
2852 (QWebKitTest::isScalable):
2853 (QWebKitTest::layoutSize):
2854 * UIProcess/qt/QtGestureRecognizer.cpp:
2855 (WebKit::QtGestureRecognizer::viewportHandler):
2856 * UIProcess/qt/QtGestureRecognizer.h:
2858 * UIProcess/qt/QtPanGestureRecognizer.cpp:
2859 (WebKit::QtPanGestureRecognizer::update):
2860 (WebKit::QtPanGestureRecognizer::finish):
2861 (WebKit::QtPanGestureRecognizer::cancel):
2862 * UIProcess/qt/QtPinchGestureRecognizer.cpp:
2863 (WebKit::QtPinchGestureRecognizer::update):
2864 (WebKit::QtPinchGestureRecognizer::finish):
2865 (WebKit::QtPinchGestureRecognizer::cancel):
2866 * UIProcess/qt/QtViewportHandler.cpp: Copied from Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.cpp.
2867 (WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer):
2868 (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
2869 (ViewportUpdateDeferrer):
2870 (WebKit::QtViewportHandler::suspendPageContent):
2871 (WebKit::QtViewportHandler::resumePageContent):
2872 (WebKit::QtViewportHandler::cssScaleFromItem):
2873 (WebKit::QtViewportHandler::itemScaleFromCSS):
2874 (WebKit::QtViewportHandler::itemCoordFromCSS):
2875 (WebKit::QtViewportHandler::itemRectFromCSS):
2876 (WebKit::QtViewportHandler::QtViewportHandler):
2877 (WebKit::QtViewportHandler::~QtViewportHandler):
2878 (WebKit::QtViewportHandler::innerBoundedCSSScale):
2879 (WebKit::QtViewportHandler::outerBoundedCSSScale):
2880 (WebKit::QtViewportHandler::viewportAttributesChanged):
2881 (WebKit::QtViewportHandler::pageContentsSizeChanged):
2882 (WebKit::QtViewportHandler::setPageItemRectVisible):
2883 (WebKit::QtViewportHandler::animatePageItemRectVisible):
2884 (WebKit::QtViewportHandler::flickMoveStarted):
2885 (WebKit::QtViewportHandler::flickMoveEnded):
2886 (WebKit::QtViewportHandler::pageItemPositionChanged):
2887 (WebKit::QtViewportHandler::pageContentPositionRequested):
2888 (WebKit::QtViewportHandler::scaleAnimationStateChanged):
2889 (WebKit::QtViewportHandler::scaleAnimationValueChanged):
2890 (WebKit::QtViewportHandler::touchBegin):
2891 (WebKit::QtViewportHandler::touchEnd):
2892 (WebKit::QtViewportHandler::computePosRangeForPageItemAtScale):
2893 (WebKit::QtViewportHandler::focusEditableArea):
2894 (WebKit::QtViewportHandler::zoomToAreaGestureEnded):
2895 (WebKit::QtViewportHandler::nearestValidBounds):
2896 (WebKit::QtViewportHandler::setCSSScale):
2897 (WebKit::QtViewportHandler::currentCSSScale):
2898 (WebKit::QtViewportHandler::scrollAnimationActive):
2899 (WebKit::QtViewportHandler::panGestureActive):
2900 (WebKit::QtViewportHandler::panGestureStarted):
2901 (WebKit::QtViewportHandler::panGestureRequestUpdate):
2902 (WebKit::QtViewportHandler::panGestureEnded):
2903 (WebKit::QtViewportHandler::panGestureCancelled):
2904 (WebKit::QtViewportHandler::scaleAnimationActive):
2905 (WebKit::QtViewportHandler::cancelScrollAnimation):
2906 (WebKit::QtViewportHandler::interruptScaleAnimation):
2907 (WebKit::QtViewportHandler::pinchGestureActive):
2908 (WebKit::QtViewportHandler::pinchGestureStarted):
2909 (WebKit::QtViewportHandler::pinchGestureRequestUpdate):
2910 (WebKit::QtViewportHandler::pinchGestureEnded):
2911 (WebKit::QtViewportHandler::pinchGestureCancelled):
2912 (WebKit::QtViewportHandler::visibleContentsRect):
2913 (WebKit::QtViewportHandler::informVisibleContentChange):
2914 (WebKit::QtViewportHandler::viewportItemSizeChanged):
2915 (WebKit::QtViewportHandler::scaleContent):
2916 * UIProcess/qt/QtViewportHandler.h: Copied from Source/WebKit2/UIProcess/qt/QtViewportInteractionEngine.h.
2917 (QtViewportHandler):
2918 * UIProcess/qt/QtViewportInteractionEngine.cpp: Removed.
2919 * UIProcess/qt/QtViewportInteractionEngine.h: Removed.
2920 * UIProcess/qt/QtWebPageEventHandler.cpp:
2921 (WebKit::QtWebPageEventHandler::QtWebPageEventHandler):
2922 (WebKit::QtWebPageEventHandler::setViewportHandler):
2923 (WebKit::QtWebPageEventHandler::inputPanelVisibleChanged):
2924 (WebKit::QtWebPageEventHandler::doneWithTouchEvent):
2925 (WebKit::QtWebPageEventHandler::didFindZoomableArea):
2926 * UIProcess/qt/QtWebPageEventHandler.h:
2928 (QtWebPageEventHandler):
2929 (WebKit::QtWebPageEventHandler::viewportHandler):
2931 2012-06-04 David Kilzer <ddkilzer@apple.com>
2933 BUILD FIX: FeatureDefines.xcconfig should match across projects
2935 * Configurations/FeatureDefines.xcconfig:
2936 - Add missing ENABLE_LEGACY_CSS_VENDOR_PREFIXES.
2938 2012-06-04 Allan Sandfeld Jensen <allan.jensen@nokia.com>
2940 [Qt] Tap-to-zoom overshoot animation.
2941 https://bugs.webkit.org/show_bug.cgi?id=87108
2943 Reviewed by Tor Arne Vestbø.
2945 Reverts the change in animation, so the default is more "neutral".
2946 This should be made configurable later.
2948 * UIProcess/qt/QtViewportInteractionEngine.cpp:
2949 (WebKit::QtViewportInteractionEngine::animatePageItemRectVisible):
2951 2012-06-04 Andras Becsi <andras.becsi@nokia.com>
2953 [Qt][WK2] Refactor the tap gesture recognizer
2954 https://bugs.webkit.org/show_bug.cgi?id=88096
2956 Reviewed by Simon Hausmann.
2958 Refactor the tap gesture recognizer so that its internal state machine is
2959 self contained and independent of input event types.
2960 Also change the internal API for tap highlighting to make the code easier
2961 to understand on the caller side.
2963 This patch makes the tap gesture recognizer more robust, consistent with
2964 other gesture recognizers and fixes some issues related to highlighting
2965 and link activation with respect to native touch events.
2967 * UIProcess/qt/QtTapGestureRecognizer.cpp:
2968 (WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
2969 (WebKit::QtTapGestureRecognizer::withinDistance):
2970 (WebKit::QtTapGestureRecognizer::update):
2971 (WebKit::QtTapGestureRecognizer::finish):
2972 (WebKit::QtTapGestureRecognizer::cancel):
2973 (WebKit::QtTapGestureRecognizer::highlightTimeout):
2974 (WebKit::QtTapGestureRecognizer::singleTapTimeout):
2975 (WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
2976 (WebKit::QtTapGestureRecognizer::reset):
2977 * UIProcess/qt/QtTapGestureRecognizer.h:
2978 (QtTapGestureRecognizer):
2979 * UIProcess/qt/QtWebPageEventHandler.cpp:
2980 (WebKit::QtWebPageEventHandler::QtWebPageEventHandler):
2981 (WebKit::QtWebPageEventHandler::activateTapHighlight):
2982 (WebKit::QtWebPageEventHandler::deactivateTapHighlight):
2984 (WebKit::QtWebPageEventHandler::handleSingleTapEvent):
2985 (WebKit::QtWebPageEventHandler::handleDoubleTapEvent):
2986 (WebKit::QtWebPageEventHandler::doneWithTouchEvent):
2987 * UIProcess/qt/QtWebPageEventHandler.h:
2988 (QtWebPageEventHandler):
2990 2012-06-02 Geoffrey Garen <ggaren@apple.com>
2992 Try to fix the Windows build.
2995 * win/WebKit2CFLite.def:
2997 2012-06-02 Andy Estes <aestes@apple.com>
2999 [WebKit2] Use USE(), ENABLE(), and HAVE() macros in more places
3000 https://bugs.webkit.org/show_bug.cgi?id=88182
3002 Reviewed by Sam Weinig.
3005 * Shared/mac/NativeWebKeyboardEventMac.mm:
3006 * Shared/mac/NativeWebMouseEventMac.mm:
3007 * Shared/mac/NativeWebWheelEventMac.mm:
3008 * Shared/mac/WebEventFactory.h:
3009 * UIProcess/API/mac/WKTextInputWindowController.h:
3010 * UIProcess/API/mac/WKTextInputWindowController.mm:
3011 * UIProcess/PageClient.h:
3012 * UIProcess/WebPageProxy.h:
3014 Use ENABLE(NETSCAPE_PLUGIN_API):
3015 * UIProcess/API/C/WKPluginSiteDataManager.cpp:
3016 (WKPluginSiteDataManagerClearSiteData):
3017 (WKPluginSiteDataManagerClearAllSiteData):
3019 Use USE(AUTOCORRECTION_PANEL):
3020 * UIProcess/API/mac/PageClientImpl.h:
3021 * UIProcess/API/mac/PageClientImpl.mm:
3022 (WebKit::PageClientImpl::showCorrectionPanel):
3023 (WebKit::PageClientImpl::dismissCorrectionPanel):
3024 (WebKit::PageClientImpl::dismissCorrectionPanelSoon):
3025 * UIProcess/mac/CorrectionPanel.mm:
3027 Use HAVE(HOSTED_CORE_ANIMATION):
3028 * UIProcess/mac/WebContextMac.mm:
3030 Put ENABLE(FULLSCREEN_API) in the right place:
3031 * UIProcess/mac/WebFullScreenManagerProxyMac.mm:
3033 Remove unnecessary use of USE(APPKIT):
3034 * UIProcess/mac/WebPageProxyMac.mm:
3036 Use USE(SECURITY_FRAMEWORK):
3037 * WebProcess/Authentication/mac/AuthenticationManager.mac.mm:
3039 Use ENABLE(CONTEXT_MENUS):
3040 * WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:
3042 Use USE(SECURITY_FRAMEWORK):
3043 * WebProcess/WebProcess.h:
3045 Remove unnecessary use of USE(SECURITY_FRAMEWORK):
3046 * WebProcess/mac/WebProcessMac.mm:
3048 2012-06-02 Andy Estes <aestes@apple.com>
3050 Remove a duplicate INIT() from WebSystemInterface.mm
3051 https://bugs.webkit.org/show_bug.cgi?id=88181
3053 Reviewed by Anders Carlsson.
3055 * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3056 (InitWebCoreSystemInterface):
3058 2012-06-02 Andy Estes <aestes@apple.com>
3060 Remove unnecessary import of <Cocoa/Cocoa.h>
3061 https://bugs.webkit.org/show_bug.cgi?id=88180
3063 Reviewed by Sam Weinig.
3065 * UIProcess/mac/WKFullKeyboardAccessWatcher.h:
3067 2012-06-02 Andy Estes <aestes@apple.com>
3069 Ensure cpu_type_t is defined by including <mach/machine.h>
3070 https://bugs.webkit.org/show_bug.cgi?id=88178
3072 Reviewed by Anders Carlsson.
3074 * Shared/Plugins/PluginModuleInfo.h:
3076 2012-06-02 Sam Weinig <sam@webkit.org>
3078 InjectedBundles' sandbox extensions don't do what we think they do
3079 https://bugs.webkit.org/show_bug.cgi?id=88177
3081 Reviewed by Anders Carlsson.
3083 This cannot be tested with our current infrastructure (or any modifications of the
3084 infrastructure I can think of) since it relies on the bundle being put outside
3085 the build directory where WebKit is put.
3087 * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
3088 (WebKit::InjectedBundle::load):
3089 Use SandboxExtension::consumePermanently() rather than consume(), otherwise,
3090 nulling out the SandboxExtension a few lines later invalidates the extension
3093 2012-06-02 Dan Bernstein <mitz@apple.com>
3095 Reverted the last change.
3097 * WebKit2.xcodeproj/project.pbxproj:
3099 2012-06-02 Dan Bernstein <mitz@apple.com>
3101 Stop treating two Python scripts as private headers.
3103 * WebKit2.xcodeproj/project.pbxproj: Removed model.py and parser.py from the Copy Headers
3106 2012-06-02 Zeno Albisser <zeno@webkit.org>
3108 Fix and enable WebGL for WebKit2 on Qt.
3109 https://bugs.webkit.org/show_bug.cgi?id=86214
3111 Added glue code to make use of GraphicsSurface
3112 as a backend for the webgl-canvas in case of WK2.
3114 Reviewed by Noam Rosenthal.
3116 * UIProcess/API/qt/qwebpreferences.cpp:
3117 (QWebPreferencesPrivate::testAttribute):
3118 (QWebPreferencesPrivate::setAttribute):
3119 (QWebPreferences::webGLEnabled):
3120 (QWebPreferences::setWebGLEnabled):
3121 * UIProcess/API/qt/qwebpreferences_p.h:
3122 * UIProcess/API/qt/qwebpreferences_p_p.h:
3123 Added WebGLEnabled enum to allow enabling/disabling of
3124 WebGL using QWebPreferences.
3126 * UIProcess/LayerTreeHostProxy.cpp:
3127 (WebKit::LayerTreeHostProxy::syncCanvas):
3128 Dispatch syncCanvas calls to the apropriate
3129 WebLayerTreeRenderer.
3131 * UIProcess/LayerTreeHostProxy.h:
3132 (LayerTreeHostProxy):
3133 * UIProcess/LayerTreeHostProxy.messages.in:
3134 * UIProcess/WebLayerTreeRenderer.h:
3135 (WebLayerTreeRenderer):
3136 * UIProcess/WebLayerTreeRenderer.cpp:
3137 (WebKit::WebLayerTreeRenderer::syncCanvas):
3138 (WebKit::WebLayerTreeRenderer::deleteLayer):
3139 (WebKit::WebLayerTreeRenderer::purgeGLResources):
3140 Create a TextureMapperSurfaceBackingStore for the canvas
3141 if necessary and pass or update the graphicsSurfaceToken
3142 for to be used with the backing store.
3144 * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
3145 (WebCore::WebGraphicsLayer::WebGraphicsLayer):
3147 (WebCore::WebGraphicsLayer::setContentsToCanvas):
3148 (WebCore::WebGraphicsLayer::syncCanvas):
3149 Copy the multisample framebuffer contents onto the GraphicsSurface.
3150 Notify the UIProcess of the availability of a new texture.
3151 (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
3152 Sync the canvas as well.
3154 * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
3155 Added a pure virtual function syncCanvas.
3156 This is guarded by PLATFORM(QT).
3157 (WebGraphicsLayerClient):
3160 * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
3161 (WebKit::LayerTreeHostQt::syncLayerChildren):
3163 (WebKit::LayerTreeHostQt::syncCanvas):
3164 * WebProcess/WebPage/qt/LayerTreeHostQt.h:
3167 2012-06-01 Brady Eidson <beidson@apple.com>
3169 <rdar://problem/11335622> and https://bugs.webkit.org/show_bug.cgi?id=88119
3170 REGRESSION (r99448) Zero-sized plug-ins no longer get an NPP_SetWindow call
3174 Rubber-stamped by Anders Carlsson.
3176 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
3177 (WebKit::NetscapePlugin::callSetWindow): Set the m_hasCalledSetWindow here...
3178 (WebKit::NetscapePlugin::geometryDidChange): ...instead of here.
3180 2012-06-01 Brady Eidson <beidson@apple.com>
3182 <rdar://problem/11335622> and https://bugs.webkit.org/show_bug.cgi?id=88119
3183 REGRESSION (r99448) Zero-sized plug-ins no longer get an NPP_SetWindow call
3185 Reviewed by Oliver Hunt.
3187 Add a flag to NetscapePlugin to track whether or not NPP_SetWindow has ever been called.
3188 Check this flag in geometryDidChange to make sure every plug-in gets the call at least once.
3190 "Everybody gets one. Tell him, Peter."
3191 "Apparently everybody gets one."
3194 * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
3195 (WebKit::NetscapePlugin::NetscapePlugin):
3196 (WebKit::NetscapePlugin::geometryDidChange):
3197 * WebProcess/Plugins/Netscape/NetscapePlugin.h:
3200 2012-06-01 Dinu Jacob <dinu.jacob@nokia.com>
3202 [WK2] WebLayerTreeRenderer::setContentsSize called synchronously
3203 https://bugs.webkit.org/show_bug.cgi?id=88091
3205 Reviewed by Noam Rosenthal.
3207 Do not call WebLayerTreeRenderer::setContentsSize synchronously
3208 from LayerTreeHostProxy.
3210 * UIProcess/LayerTreeHostProxy.cpp:
3211 (WebKit::LayerTreeHostProxy::setContentsSize):
3213 2012-06-01 Dinu Jacob <dinu.jacob@nokia.com>
3215 [Qt][WK2] Set QWebKitTest::isScalable default as false
3216 https://bugs.webkit.org/show_bug.cgi?id=88095
3218 Reviewed by Tor Arne Vestbø.
3220 Set QWebKitTest::isScalable default as false
3222 * UIProcess/API/qt/qwebkittest.cpp:
3223 (QWebKitTest::isScalable):
3225 2012-06-01 Allan Sandfeld Jensen <allan.jensen@nokia.com>
3227 [Qt] Remove QtViewportInteractionEngine::pageItemSizeChanged.
3228 https://bugs.webkit.org/show_bug.cgi?id=88082
3230 Reviewed by Kenneth Rohde Christiansen.
3232 The function was causing flickering, and after testing it was verified
3233 that it was no longer needed either.
3235 * UIProcess/qt/QtViewportInteractionEngine.cpp:
3236 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
3237 * UIProcess/qt/QtViewportInteractionEngine.h:
3238 (QtViewportInteractionEngine):
3240 2012-06-01 Dinu Jacob <dinu.jacob@nokia.com>
3242 [Qt][WK2] Contents not rendered in MiniBrowser for some pages
3243 https://bugs.webkit.org/show_bug.cgi?id=87922
3245 Reviewed by Kenneth Rohde Christiansen.
3247 Set drawing area visible contents rect if new visible contents rect is different from
3250 * UIProcess/qt/QtViewportInteractionEngine.cpp:
3251 (WebKit::QtViewportInteractionEngine::informVisibleContentChange):
3252 * UIProcess/qt/QtViewportInteractionEngine.h:
3253 (QtViewportInteractionEngine):
3255 2012-06-01 Kenneth Rohde Christiansen <kenneth@webkit.org>
3257 [Qt] Move suspension to QtViewportInteractionEngine
3258 https://bugs.webkit.org/show_bug.cgi?id=88078
3260 Reviewed by Simon Hausmann.
3262 Next step is to take care of visibility changes.
3264 * UIProcess/API/qt/qquickwebview.cpp:
3265 (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
3266 (QQuickWebViewFlickablePrivate::onComponentComplete):
3267 * UIProcess/API/qt/qquickwebview_p.h:
3268 * UIProcess/API/qt/qquickwebview_p_p.h:
3269 (QQuickWebViewPrivate):
3270 (QQuickWebViewFlickablePrivate):
3271 * UIProcess/qt/QtViewportInteractionEngine.cpp:
3272 (WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer):
3273 (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
3274 (WebKit::QtViewportInteractionEngine::suspendPageContent):
3276 (WebKit::QtViewportInteractionEngine::resumePageContent):
3277 * UIProcess/qt/QtViewportInteractionEngine.h:
3278 (QtViewportInteractionEngine):
3280 2012-06-01 Dinu Jacob <dinu.jacob@nokia.com>
3282 [Qt][W2] Qml Error in ViewportInfoItem.qml in MiniBrowser
3283 https://bugs.webkit.org/show_bug.cgi?id=87999
3285 Reviewed by Kenneth Rohde Christiansen.
3287 Return default viewport attributes rather than invalid QVariant.
3289 * UIProcess/API/qt/qwebkittest.cpp:
3290 (QWebKitTest::contentsScale):
3291 (QWebKitTest::devicePixelRatio):
3292 (QWebKitTest::initialScale):
3293 (QWebKitTest::minimumScale):
3294 (QWebKitTest::maximumScale):
3295 (QWebKitTest::isScalable):
3296 (QWebKitTest::layoutSize):
3298 2012-05-31 Kenneth Rohde Christiansen <kenneth@webkit.org>
3300 [Qt] Clean up our viewport handling mess
3301 https://bugs.webkit.org/show_bug.cgi?id=87977
3303 Reviewed by Simon Hausmann.
3305 Consolidated functionality from QQuickWebViewPrivate* into
3306 ViewportInteractionEngine that belongs there, in preparation for
3307 renaming ViewportInteractionEngine in the future.
3309 Remove unneeded methods and move others to private.
3311 * UIProcess/API/qt/qquickwebview.cpp:
3312 (QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
3313 (QQuickWebViewFlickablePrivate::onComponentComplete):
3314 (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
3315 (QQuickWebViewFlickablePrivate::updateViewportSize):
3316 (QQuickWebViewFlickablePrivate::_q_resume):
3317 (QQuickWebViewFlickablePrivate::pageDidRequestScroll):
3318 * UIProcess/API/qt/qquickwebview_p.h:
3319 * UIProcess/API/qt/qquickwebview_p_p.h:
3320 (QQuickWebViewPrivate):
3321 (QQuickWebViewFlickablePrivate):
3322 * UIProcess/qt/QtViewportInteractionEngine.cpp:
3323 (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
3324 (WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
3325 (WebKit::QtViewportInteractionEngine::viewportAttributesChanged):
3326 (WebKit::QtViewportInteractionEngine::pageContentsSizeChanged):
3327 (WebKit::QtViewportInteractionEngine::pageItemPositionChanged):
3328 (WebKit::QtViewportInteractionEngine::pageContentPositionRequested):
3329 (WebKit::QtViewportInteractionEngine::visibleContentsRect):
3331 (WebKit::QtViewportInteractionEngine::informVisibleContentChange):
3332 (WebKit::QtViewportInteractionEngine::viewportItemSizeChanged):
3333 * UIProcess/qt/QtViewportInteractionEngine.h:
3335 (QtViewportInteractionEngine):
3337 2012-05-31 Hajime Morrita <morrita@chromium.org>
3339 REGRESSION(r117572): editing/spelling/spellcheck-async-remove-frame.html crashes on Mac
3340 https://bugs.webkit.org/show_bug.cgi?id=86859
3342 Reviewed by Ryosuke Niwa.
3344 * WebProcess/WebCoreSupport/WebEditorClient.cpp:
3345 (WebKit::WebEditorClient::requestCheckingOfString):
3346 * WebProcess/WebCoreSupport/WebEditorClient.h:
3348 2012-05-31 Andy Estes <aestes@apple.com>
3350 [WebKit2] Remove nested #if conditions from messages.in files
3351 https://bugs.webkit.org/show_bug.cgi?id=88039
3353 Reviewed by Filip Pizlo.
3355 The code generator that processes messages.in files can't handle nested
3356 #if conditions. Sadly I added said conditions in r117700 but failed to
3357 verify the generated result. Un-nest the conditions I added.
3359 * UIProcess/WebPageProxy.messages.in:
3360 * WebProcess/WebPage/WebPage.messages.in:
3362 2012-05-31 Andy Estes <aestes@apple.com>
3364 Disentangle code that relies on USE(AUTOMATIC_TEXT_REPLACEMENT) from that which merely relies on PLATFORM(MAC)
3365 https://bugs.webkit.org/show_bug.cgi?id=87933
3367 Reviewed by Dan Bernstein.
3369 * WebProcess/WebCoreSupport/WebEditorClient.h:
3370 * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
3372 2012-05-31 Carlos Garcia Campos <cgarcia@igalia.com>
3374 [GTK] Add webkit_download_get_request to WebKit2 GTK+ API
3375 https://bugs.webkit.org/show_bug.cgi?id=87957
3377 Reviewed by Martin Robinson.
3379 * UIProcess/API/gtk/WebKitDownload.cpp:
3380 (webkit_download_get_request): Return the WebKitURIRequest
3381 representing the request that originated the download.
3382 * UIProcess/API/gtk/WebKitDownload.h:
3383 * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
3384 * UIProcess/API/gtk/tests/TestDownloads.cpp:
3385 (testDownloadLocalFile):
3386 (testDownloadRemoteFile):
3388 2012-05-31 Carlos Garcia Campos <cgarcia@igalia.com>
3390 [SOUP] WebProcess crashes when a download is started from an existing ResourceHandle
3391 https://bugs.webkit.org/show_bug.cgi?id=87953
3393 Reviewed by Martin Robinson.
3395 The output stream to write the downloaded data is created in the
3396 didReceiveResponse callback of the download client. When a
3397 download is created for an existing ResourceHandle (this happens
3398 for example when policy decision is download), the response has
3399 already been received. In this case we should make sure that the
3400 download client is notified about the response, so that when data
3401 actually arrives the output stream has already been created.
3403 * WebProcess/Downloads/soup/DownloadSoup.cpp:
3404 (WebKit::Download::startWithHandle):
3406 2012-05-31 Carlos Garcia Campos <cgarcia@igalia.com>
3408 [GTK] Fix webkit_web_view_can_execute_editing_command() API doc
3409 https://bugs.webkit.org/show_bug.cgi?id=87930
3411 Reviewed by Martin Robinson.
3413 * UIProcess/API/gtk/WebKitWebView.cpp:
3415 2012-05-31 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
3417 [Qt] Simplify QT_VERSION_CHECKS for Qt5 by introducing HAVE(QT5)
3418 https://bugs.webkit.org/show_bug.cgi?id=87955
3420 Reviewed by Simon Hausmann.
3422 * UIProcess/API/qt/tests/publicapi/tst_publicapi.cpp:
3424 2012-05-31 Zalan Bujtas <zbujtas@gmail.com>
3426 [Qt][WK2] Add missing ViewportUpdateDeferrer guarding to setPageItemRectVisible() calls.
3427 https://bugs.webkit.org/show_bug.cgi?id=87936
3429 Reviewed by Kenneth Rohde Christiansen.
3431 * UIProcess/qt/QtViewportInteractionEngine.cpp:
3432 (WebKit::QtViewportInteractionEngine::viewportAttributesChanged):
3433 (WebKit::QtViewportInteractionEngine::pageContentsSizeChanged):
3435 2012-05-31 Keunsoon Lee <keunsoon.lee@samsung.com>
3437 [EFL][WK2] Add WKURLRequestEfl and WKURLResponseEfl
3438 https://bugs.webkit.org/show_bug.cgi?id=70231
3440 Reviewed by Chang Shu.
3442 These codes can be used for WKPageDecidePolicyForResponseCallback on page policy callbacks.
3443 The callback conveys WKURLResponseRef and WKURLRequestRef as parameter.
3445 By the way, EFL browser needs content type from response to decide correct policy.
3446 Another information, cookie, is necessary with similar reason.
3447 But, there is no way to obtain such information on WebKit2 main stream, except for WKURLRequestCopyURL().
3449 So, EFL port created those files to extract necessary information from WKURLResponseRef and WKURLRequestRef,
3450 and not to desturb WebKit2 main stream.
3452 * Shared/API/c/efl/WKURLRequestEfl.cpp: Added.
3453 (WKURLRequestEflCopyCookies): extracting cookie information from WKURLRequestRef.
3454 * Shared/API/c/efl/WKURLRequestEfl.h: Added.
3455 * Shared/API/c/efl/WKURLResponseEfl.cpp: Added.
3456 (WKURLResponseEflCopyContentType): extracting content type (i.e. MIME type) from WKURLResponseRef.
3457 * Shared/API/c/efl/WKURLResponseEfl.h: Added.
3458 * Shared/efl/WebCoreArgumentCodersEfl.cpp: Added.
3460 (CoreIPC::::encode):
3461 (CoreIPC::::decode):
3462 * Shared/efl/WebURLRequestEfl.cpp: Added.
3464 (WebKit::WebURLRequestEfl::WebURLRequestEfl):
3465 (WebKit::WebURLRequestEfl::cookies): obtaining cookie information from ResourceRequest.
3466 * Shared/efl/WebURLRequestEfl.h: Added.
3469 (WebKit::WebURLRequestEfl::create):
3470 * Shared/efl/WebURLResponseEfl.cpp: Added.
3472 (WebKit::WebURLResponseEfl::WebURLResponseEfl):
3473 (WebKit::WebURLResponseEfl::contentType): obtaining content type (i.e. MIME type) from ResourceResponse.
3474 * Shared/efl/WebURLResponseEfl.h: Added.
3476 (WebURLResponseEfl):
3477 (WebKit::WebURLResponseEfl::create):
3479 2012-05-31 Gyuyoung Kim <gyuyoung.kim@samsung.com>
3481 [EFL][WK2] Rename ewk_private.h to ewk_view_private.h
3482 https://bugs.webkit.org/show_bug.cgi?id=87923
3484 Reviewed by Kenneth Rohde Christiansen.
3486 EFL WK1 decided to divide up ewk_private.h into each file's XXX_private.h file in order to maintain
3487 internal functions more easily. EFL WK2 needs to adjust this as well.
3489 * UIProcess/API/efl/PageClientImpl.cpp: