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