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