Always enable ENABLE(XPATH)
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2011-10-18  Adam Barth  <abarth@webkit.org>
2
3         Always enable ENABLE(XPATH)
4         https://bugs.webkit.org/show_bug.cgi?id=70217
5
6         Reviewed by Eric Seidel.
7
8         * Configurations/FeatureDefines.xcconfig:
9
10 2011-10-18  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
11
12         [Qt] Merge QML plugin for WebKit2 with the original WebKit1 plugin
13
14         We don't need a separate plugin, as we no longer expose the WK2
15         APIs under QtWebKit.experimental, but now use QtWebKit. The version
16         was also changed to 3.0 instead of 5.0, as the original plugin was
17         versioned 1.0, and bumping to 3.0 fits the scheme used by QtWebKit releases.
18
19         Reviewed by Andreas Kling.
20
21         * UIProcess/API/qt/qmlplugin/plugin.cpp: Removed.
22         * UIProcess/API/qt/qmlplugin/qmldir: Removed.
23         * UIProcess/API/qt/qmlplugin/qmlplugin.pro: Removed.
24         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml:
25         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadFail.qml:
26         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgress.qml:
27         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadProgressSignal.qml:
28         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_navigationPolicyForUrl.qml:
29         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml:
30         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_properties.qml:
31         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_load.qml:
32         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadFail.qml:
33         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadNegativeSizeView.qml:
34         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgress.qml:
35         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadProgressSignal.qml:
36         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_loadZeroSizeView.qml:
37         * UIProcess/API/qt/tests/qmltests/TouchWebView/tst_properties.qml:
38
39 2011-10-18  Dinu Jacob  <dinu.jacob@nokia.com>
40
41         [Qt][WK2] ASSERT when displaying context menu in input field
42         https://bugs.webkit.org/show_bug.cgi?id=69859
43
44         Reviewed by Simon Hausmann.
45
46         When creating a submenu in the context menu, the submenu of type
47         QWidget is statically cast to QObject before calling setParent on
48         it. QObject::setParent asserts if the object is a QWidget. So, call
49         setParent of QWidget itself.
50
51         * UIProcess/qt/WebContextMenuProxyQt.cpp:
52         (WebKit::WebContextMenuProxyQt::createContextMenu):
53
54 2011-10-18  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
55
56         [Qt] Fix linkHoveredDoesntEmitRepeated test in the bot
57         https://bugs.webkit.org/show_bug.cgi?id=70329
58
59         Reviewed by Andreas Kling.
60
61         Use LoadSpy::wait() instead of the TestCase::tryCompare(). They should be equivalent,
62         but I'm getting strange results with tryCompare(). This commit also adds an extra check
63         to make sure the hovered link is the correct one.
64
65         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_linkHovered.qml:
66
67 2011-10-18  Alexis Menard  <alexis.menard@openbossa.org>
68
69         [Qt][WK2] Some QML tests were accidentally committed.
70         https://bugs.webkit.org/show_bug.cgi?id=70321
71
72         Reviewed by Andreas Kling.
73
74         These tests were committed by accident. They should not be there.
75
76         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml:
77
78 2011-10-18  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
79
80         [Qt] Send mouse move events when we handle HoverEnter/Leave in QDesktopWebView
81         https://bugs.webkit.org/show_bug.cgi?id=70297
82
83         Reviewed by Simon Hausmann.
84
85         Qt treat the first and last hover movements as special HoverMove and HoverLeave events, but
86         WebKit doesn't make the difference, so we need to create move events for them.
87
88         While HoverEnter is in practice equivalent to HoverMove, the HoverLeave event is a bit
89         different because we want to emulate that the mouse is not only leaving the current node, but
90         completely leaving the whole document. The way to do this is to manufacture a move event with
91         a very far position, and was inspired by WebView::handleMouseEvent() in
92         Source/WebKit/win/WebView.cpp.
93
94         This patch fixes DesktopWebViewLinkHovered QML tests.
95
96         * UIProcess/qt/qdesktopwebpageproxy.cpp:
97         (QDesktopWebPageProxy::handleEvent):
98         (QDesktopWebPageProxy::handleHoverLeaveEvent):
99         * UIProcess/qt/qdesktopwebpageproxy.h:
100
101 2011-10-18  Alexis Menard  <alexis.menard@openbossa.org>
102
103         [Qt][WK2] WebPreferences are impossible to use in QML.
104         https://bugs.webkit.org/show_bug.cgi?id=70141
105
106         Reviewed by Kenneth Rohde Christiansen.
107
108         Make it possible to use qwkpreferences in QML. Renamed it
109         to follow our new style regarding class names. This class is 
110         now a QObject that is exposed as a property of the view.
111         The tests give an idea of the usage.
112
113         * UIProcess/API/qt/WKView.h:
114         * UIProcess/API/qt/qdesktopwebview.cpp:
115         (QDesktopWebView::preferences):
116         * UIProcess/API/qt/qdesktopwebview.h:
117         * UIProcess/API/qt/qmlplugin/plugin.cpp:
118         (WebKit2QmlPlugin::registerTypes):
119         * UIProcess/API/qt/qtouchwebpage.cpp:
120         (QTouchWebPage::preferences):
121         * UIProcess/API/qt/qtouchwebpage.h:
122         * UIProcess/API/qt/qwebpreferences.cpp: Added.
123         (QWebPreferencesPrivate::createPreferences):
124         (QWebPreferencesPrivate::testAttribute):
125         (QWebPreferencesPrivate::setAttribute):
126         (QWebPreferencesPrivate::setFontFamily):
127         (QWebPreferencesPrivate::fontFamily):
128         (QWebPreferencesPrivate::setFontSize):
129         (QWebPreferencesPrivate::fontSize):
130         (QWebPreferences::QWebPreferences):
131         (QWebPreferences::~QWebPreferences):
132         (QWebPreferences::autoLoadImages):
133         (QWebPreferences::setAutoLoadImages):
134         (QWebPreferences::javascriptEnabled):
135         (QWebPreferences::setJavascriptEnabled):
136         (QWebPreferences::pluginsEnabled):
137         (QWebPreferences::setPluginsEnabled):
138         (QWebPreferences::offlineWebApplicationCacheEnabled):
139         (QWebPreferences::setOfflineWebApplicationCacheEnabled):
140         (QWebPreferences::localStorageEnabled):
141         (QWebPreferences::setLocalStorageEnabled):
142         (QWebPreferences::XSSAuditingEnabled):
143         (QWebPreferences::setXSSAuditingEnabled):
144         (QWebPreferences::privateBrowsingEnabled):
145         (QWebPreferences::setPrivateBrowsingEnabled):
146         (QWebPreferences::dnsPrefetchEnabled):
147         (QWebPreferences::setDnsPrefetchEnabled):
148         (QWebPreferences::standardFontFamily):
149         (QWebPreferences::setStandardFontFamily):
150         (QWebPreferences::fixedFontFamily):
151         (QWebPreferences::setFixedFontFamily):
152         (QWebPreferences::serifFontFamily):
153         (QWebPreferences::setSerifFontFamily):
154         (QWebPreferences::sansSerifFontFamily):
155         (QWebPreferences::setSansSerifFontFamily):
156         (QWebPreferences::cursiveFontFamily):
157         (QWebPreferences::setCursiveFontFamily):
158         (QWebPreferences::fantasyFontFamily):
159         (QWebPreferences::setFantasyFontFamily):
160         (QWebPreferences::minimumFontSize):
161         (QWebPreferences::setMinimumFontSize):
162         (QWebPreferences::defaultFontSize):
163         (QWebPreferences::setDefaultFontSize):
164         (QWebPreferences::defaultFixedFontSize):
165         (QWebPreferences::setDefaultFixedFontSize):
166         * UIProcess/API/qt/qwebpreferences.h: Added.
167         * UIProcess/API/qt/qwebpreferences_p.h: Added.
168         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_preferences.qml: Added.
169         * UIProcess/API/qt/tests/qmltests/common/javascript.html: Added.
170         * UIProcess/API/qt/tests/qmltests/common/localStorage.html: Added.
171         * UIProcess/qt/QtWebPageProxy.cpp:
172         (QtWebPageProxy::preferences):
173         * UIProcess/qt/QtWebPageProxy.h:
174         * UIProcess/qt/qwkpreferences.cpp: Removed.
175         * UIProcess/qt/qwkpreferences.h: Removed.
176         * UIProcess/qt/qwkpreferences_p.h: Removed.
177         * WebKit2.pro:
178         * WebKit2API.pri:
179
180 2011-10-18  Tomasz Morawski  <t.morawski@samsung.com>
181
182         [EFL][WK2] Fix compilation error by include WebErrors.h file.
183         https://bugs.webkit.org/show_bug.cgi?id=70309
184
185         Unreviewed build fix
186
187         Added a header file to fix compilation error.
188
189         * WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:
190
191 2011-10-18  Adenilson Cavalcanti  <adenilson.silva@openbossa.org>
192
193         [Qt][WK2] Implement geolocation provider for qt port
194         https://bugs.webkit.org/show_bug.cgi?id=59199
195
196         Reviewed by Simon Hausmann.
197
198         Based on patch by Kenneth Christiansen <kenneth.r.christiansen@nokia.com>
199
200         Implements default location provider for WK2 QtWebKit (WebGeolocationProviderQt),
201         allowing QtWebKit clients to implement or override their own provider using WK2 APIs.
202
203         * UIProcess/API/C/WKGeolocationManager.h:
204         * UIProcess/qt/WebContextQt.cpp:
205         (WebKit::WebContext::platformInitializeWebProcess):
206         * UIProcess/qt/WebGeolocationProviderQt.cpp: Added.
207         (toLocationProvider):
208         (locationStartUpdating):
209         (locationStopUpdating):
210         (WebGeolocationProviderQt::create):
211         (WebGeolocationProviderQt::provider):
212         (WebGeolocationProviderQt::WebGeolocationProviderQt):
213         (WebGeolocationProviderQt::~WebGeolocationProviderQt):
214         (WebGeolocationProviderQt::updateTimeout):
215         (WebGeolocationProviderQt::positionUpdated):
216         (WebGeolocationProviderQt::startUpdating):
217         (WebGeolocationProviderQt::stopUpdating):
218         * UIProcess/qt/WebGeolocationProviderQt.h: Added.
219         * WebKit2.pro:
220
221 2011-10-18  Carlos Garcia Campos  <cgarcia@igalia.com>
222
223         [UNIX] Use SOCK_SEQPACKET when available
224         https://bugs.webkit.org/show_bug.cgi?id=61287
225
226         Reviewed by Darin Adler.
227
228         Sockets of type SEQPACKET are actually DGRAM sockets but that
229         notifies the other end when the connection is closed. When
230         SEQPACKET sockets are not available GTK+ port uses STREAM sockets
231         while Qt port uses DGRAM sockets.
232
233         * PluginProcess/PluginProcess.cpp: Use SOCK_SEQPACKET if possible.
234         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
235         (WebKit::ProcessLauncher::launchProcess): Ditto.
236         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
237         (WebKit::ProcessLauncher::launchProcess): Ditto.
238
239 2011-10-17  Jon Lee  <jonlee@apple.com>
240
241         Filtering of URLs when serializing back forward list saves bad current index value
242         https://bugs.webkit.org/show_bug.cgi?id=70282
243         <rdar://problem/10057763>
244
245         Reviewed by Sam Weinig.
246
247         When reading the serialized b-f list, perform a sanity check on the current index.
248         If it is invalid, we set it to NoCurrentItemIndex to prevent further corruption of
249         the list.
250
251         When serializing the b-f list, currentIndex can be negative in the case where the list
252         has one item only, and that item gets filtered out. In this instance currentIndex should
253         just be -1. A crashing case showed an index that was more negative, a situation that I
254         could not replicate. Since this value will get cleaned up when the b-f list is restored,
255         I just strengthened the assertion to check for a more negative index in case we run into it again.
256
257         * UIProcess/cf/WebBackForwardListCF.cpp:
258         (WebKit::WebBackForwardList::createCFDictionaryRepresentation): Update the assertion
259         in case we go beyond NoCurrentItemIndex (which, as an int, is -1).
260         (WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation):
261
262 2011-10-14  Chris Marrin  <cmarrin@apple.com>
263
264         Throttle rate of requestAnimationFrame when page is not visible
265         https://bugs.webkit.org/show_bug.cgi?id=67873
266
267         Reviewed by Anders Carlsson.
268
269         Plumb through notification when the window is hidden/shown or
270         minimized/unminimized
271
272         * WebProcess/WebPage/DrawingAreaImpl.cpp:
273         (WebKit::DrawingAreaImpl::suspendPainting):
274         (WebKit::DrawingAreaImpl::resumePainting):
275
276 2011-10-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
277
278         [Qt][WK2] Synchronize tiling with accelerated compositing
279         https://bugs.webkit.org/show_bug.cgi?id=69151
280
281         Reviewed by Simon Hausmann.
282
283         Make the tiled "non-composited" content and the composited layers go through the same
284         code path on WebKit2. Instead of having a "drawing area" that handles the non-composited
285         content and a seperate layer tree, we put everything in a layer tree, with the non-
286         composited content being a layer in the tree.
287
288         This allows fixing several issues with websites that have large content areas that are
289         composited or overlap with composited layers.
290
291         Layer-tree synchronization is done by passing WebKit2 messages between a LayerTreeHost
292         on the WebProcess and a LayerTreeHostProxy on the UI process. Every layer in the tree has
293         its own tiled backing store, and uses the LayerTreeHost communication channel to pass
294         content up to the UI process. The UI process will later creates its own GraphicsLayer tree,
295         based on TextureMapper, which can be painted directly with OpenGL.
296
297         Several optimizations are available for the non-composited layer as well, e.g. specifying
298         a trajectory and updating the visible rect together with the content scale.
299
300         This code is currently disabled, a separate patch will enable it and glue it to
301         QTouchWebPage.
302
303         * DerivedSources.pro:
304         * Platform/CoreIPC/MessageID.h:
305         * Scripts/webkit2/messages.py:
306         * Shared/LayerTreeContext.h:
307         * Shared/WebLayerTreeInfo.cpp:
308         (WebKit::WebLayerInfo::encode):
309         (WebKit::WebLayerInfo::decode):
310         * Shared/WebLayerTreeInfo.h:
311         * Shared/qt/LayerTreeContextQt.cpp:
312         (WebKit::LayerTreeContext::LayerTreeContext):
313         (WebKit::LayerTreeContext::~LayerTreeContext):
314         (WebKit::LayerTreeContext::encode):
315         (WebKit::LayerTreeContext::decode):
316         (WebKit::LayerTreeContext::isEmpty):
317         (WebKit::operator==):
318         * UIProcess/DrawingAreaProxy.cpp:
319         (WebKit::DrawingAreaProxy::updateWebView):
320         (WebKit::DrawingAreaProxy::contentsRect):
321         * UIProcess/DrawingAreaProxy.h:
322         (WebKit::DrawingAreaProxy::viewportVisibleRect):
323         (WebKit::DrawingAreaProxy::isBackingStoreReady):
324         (WebKit::DrawingAreaProxy::paintToCurrentGLContext):
325         (WebKit::DrawingAreaProxy::setVisibleContentsRectAndScale):
326         (WebKit::DrawingAreaProxy::setVisibleContentRectTrajectoryVector):
327         (WebKit::DrawingAreaProxy::createTileForLayer):
328         (WebKit::DrawingAreaProxy::updateTileForLayer):
329         (WebKit::DrawingAreaProxy::removeTileForLayer):
330         (WebKit::DrawingAreaProxy::didReceiveLayerTreeHostProxyMessage):
331         (WebKit::DrawingAreaProxy::page):
332         * UIProcess/DrawingAreaProxyImpl.cpp:
333         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
334         (WebKit::DrawingAreaProxyImpl::didReceiveLayerTreeHostProxyMessage):
335         (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectAndScale):
336         (WebKit::DrawingAreaProxyImpl::setVisibleContentRectTrajectoryVector):
337         (WebKit::DrawingAreaProxyImpl::paintToCurrentGLContext):
338         * UIProcess/DrawingAreaProxyImpl.h:
339         * UIProcess/LayerTreeHostProxy.h: Added.
340         (WebKit::LayerTreeHostProxy::layerByID):
341         (WebKit::LayerTreeHostProxy::rootLayer):
342         (WebKit::LayerTreeHostProxy::notifyAnimationStarted):
343         (WebKit::LayerTreeHostProxy::notifySyncRequired):
344         (WebKit::LayerTreeHostProxy::showDebugBorders):
345         (WebKit::LayerTreeHostProxy::showRepaintCounter):
346         (WebKit::LayerTreeHostProxy::paintContents):
347         * UIProcess/LayerTreeHostProxy.messages.in: Added.
348         * UIProcess/WebPageProxy.cpp:
349         (WebKit::WebPageProxy::didReceiveMessage):
350         * UIProcess/qt/LayerTreeHostProxyQt.cpp: Added.
351         * WebKit2.pro:
352         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
353         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
354         (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
355         (WebCore::WebGraphicsLayer::setChildren):
356         (WebCore::WebGraphicsLayer::addChild):
357         (WebCore::WebGraphicsLayer::addChildAtIndex):
358         (WebCore::WebGraphicsLayer::addChildAbove):
359         (WebCore::WebGraphicsLayer::addChildBelow):
360         (WebCore::WebGraphicsLayer::replaceChild):
361         (WebCore::WebGraphicsLayer::removeFromParent):
362         (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
363         (WebCore::WebGraphicsLayer::setContentsToImage):
364         (WebCore::WebGraphicsLayer::setNeedsDisplay):
365         (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
366         (WebCore::WebGraphicsLayer::syncCompositingState):
367         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
368         (WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin):
369         (WebCore::WebGraphicsLayer::setContentsScale):
370         (WebCore::WebGraphicsLayer::setRootLayer):
371         (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
372         (WebCore::WebGraphicsLayer::setVisibleContentRect):
373         (WebCore::WebGraphicsLayer::tiledBackingStorePaint):
374         (WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd):
375         (WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed):
376         (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
377         (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
378         (WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor):
379         (WebCore::WebGraphicsLayer::createTile):
380         (WebCore::WebGraphicsLayer::updateTile):
381         (WebCore::WebGraphicsLayer::removeTile):
382         (WebCore::WebGraphicsLayer::updateTileBuffersRecursively):
383         (WebCore::WebGraphicsLayer::layerTreeTileClient):
384         (WebCore::WebGraphicsLayer::updateContentBuffers):
385         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
386         (WebCore::WebGraphicsLayer::setLayerTreeTileClient):
387         * WebProcess/WebPage/DrawingArea.h:
388         * WebProcess/WebPage/DrawingAreaImpl.cpp:
389         (WebKit::DrawingAreaImpl::didReceiveLayerTreeHostMessage):
390         * WebProcess/WebPage/DrawingAreaImpl.h:
391         * WebProcess/WebPage/LayerTreeHost.cpp:
392         (WebKit::LayerTreeHost::create):
393         * WebProcess/WebPage/LayerTreeHost.h:
394         (WebKit::LayerTreeHost::setVisibleContentRectAndScale):
395         (WebKit::LayerTreeHost::setVisibleContentRectTrajectoryVector):
396         (WebKit::LayerTreeHost::setVisibleContentRectForLayer):
397         (WebKit::LayerTreeHost::renderNextFrame):
398         * WebProcess/WebPage/LayerTreeHost.messages.in: Added.
399         * WebProcess/WebPage/TiledDrawingArea.cpp:
400         (WebKit::TiledDrawingArea::didReceiveLayerTreeHostMessage):
401         * WebProcess/WebPage/TiledDrawingArea.h:
402         * WebProcess/WebPage/WebPage.cpp:
403         (WebKit::WebPage::didReceiveMessage):
404         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
405         (WebKit::LayerTreeHostQt::create):
406         (WebKit::LayerTreeHostQt::~LayerTreeHostQt):
407         (WebKit::LayerTreeHostQt::LayerTreeHostQt):
408         (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled):
409         (WebKit::LayerTreeHostQt::scheduleLayerFlush):
410         (WebKit::LayerTreeHostQt::cancelPendingLayerFlush):
411         (WebKit::LayerTreeHostQt::setShouldNotifyAfterNextScheduledLayerFlush):
412         (WebKit::LayerTreeHostQt::setRootCompositingLayer):
413         (WebKit::LayerTreeHostQt::invalidate):
414         (WebKit::LayerTreeHostQt::setNonCompositedContentsNeedDisplay):
415         (WebKit::LayerTreeHostQt::scrollNonCompositedContents):
416         (WebKit::LayerTreeHostQt::forceRepaint):
417         (WebKit::LayerTreeHostQt::sizeDidChange):
418         (WebKit::LayerTreeHostQt::didInstallPageOverlay):
419         (WebKit::LayerTreeHostQt::didUninstallPageOverlay):
420         (WebKit::LayerTreeHostQt::setPageOverlayNeedsDisplay):
421         (WebKit::LayerTreeHostQt::flushPendingLayerChanges):
422         (WebKit::LayerTreeHostQt::didSyncCompositingStateForLayer):
423         (WebKit::LayerTreeHostQt::didDeleteLayer):
424         (WebKit::LayerTreeHostQt::performScheduledLayerFlush):
425         (WebKit::LayerTreeHostQt::layerFlushTimerFired):
426         (WebKit::LayerTreeHostQt::createPageOverlayLayer):
427         (WebKit::LayerTreeHostQt::destroyPageOverlayLayer):
428         (WebKit::LayerTreeHostQt::adoptImageBackingStore):
429         (WebKit::LayerTreeHostQt::releaseImageBackingStore):
430         (WebKit::LayerTreeHostQt::notifyAnimationStarted):
431         (WebKit::LayerTreeHostQt::notifySyncRequired):
432         (WebKit::LayerTreeHostQt::paintContents):
433         (WebKit::LayerTreeHostQt::showDebugBorders):
434         (WebKit::LayerTreeHostQt::showRepaintCounter):
435         (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
436         (WebKit::LayerTreeHostQt::createTile):
437         (WebKit::LayerTreeHostQt::updateTile):
438         (WebKit::LayerTreeHostQt::removeTile):
439         (WebKit::LayerTreeHostQt::setVisibleContentRectForLayer):
440         (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
441         (WebKit::LayerTreeHostQt::setVisibleContentRectTrajectoryVector):
442         (WebKit::LayerTreeHostQt::renderNextFrame):
443         (WebKit::LayerTreeHostQt::layerTreeTileUpdatesAllowed):
444 +
445
446 2011-10-17  Ada Chan  <adachan@apple.com>
447
448         Calling WKPageLoadAlternateHTMLString() where baseURL does not point to a directory causes an invalid message to be returned from WebProcess
449         https://bugs.webkit.org/show_bug.cgi?id=70168
450
451         Reviewed by Alexey Proskuryakov.
452
453         * UIProcess/WebProcessProxy.cpp:
454         (WebKit::WebProcessProxy::assumeReadAccessToBaseURL): Add the file path of url's base URL to m_localPathsWithAssumedReadAccess,
455         since url may not point to a directory.
456
457 2011-10-17  Carlos Garcia Campos  <cgarcia@igalia.com>
458
459         [GTK] Add methods to get/set a custom text enconding to WebKit2 GTK+ API
460         https://bugs.webkit.org/show_bug.cgi?id=69524
461
462         Reviewed by Martin Robinson.
463
464         * UIProcess/API/gtk/WebKitWebView.cpp:
465         (webkit_web_view_get_custom_charset):
466         (webkit_web_view_set_custom_charset):
467         * UIProcess/API/gtk/WebKitWebView.h:
468         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
469         (testWebViewCustomCharset):
470         (beforeAll):
471
472 2011-10-14  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
473
474         [Qt][WK2] Implement decidePolicyForResponse in our PolicyClient
475         https://bugs.webkit.org/show_bug.cgi?id=69832
476
477         Reviewed by Kenneth Rohde Christiansen.
478
479         We implement decidePolicyForResponse in our PolicyClient in order to
480         decide whether a given ResourceResponse should be downloaded or loaded.
481
482         * Shared/qt/WebCoreArgumentCodersQt.cpp:
483         (CoreIPC::::encode):
484         (CoreIPC::::decode):
485         Implement serialization of ResourceResponse.
486
487         * UIProcess/qt/ClientImpl.cpp:
488         (qt_wk_decidePolicyForResponse):
489         * UIProcess/qt/ClientImpl.h:
490         * UIProcess/qt/QtWebPageProxy.cpp:
491         (QtWebPageProxy::init):
492
493 2011-10-17  Nayan Kumar K  <nayankk@motorola.com>
494
495         [WebKit2][gtk] Rename WEBKIT_POLICY_ERROR_CANNOT_SHOW_URL to WEBKIT_POLICY_ERROR_CANNOT_SHOW_URI
496         https://bugs.webkit.org/show_bug.cgi?id=70040
497
498         Reviewed by Martin Robinson.
499
500         * UIProcess/API/gtk/WebKitError.cpp:
501         * UIProcess/API/gtk/WebKitError.h:
502
503 2011-10-16  Adam Barth  <abarth@webkit.org>
504
505         Always enable ENABLE(DOM_STORAGE)
506         https://bugs.webkit.org/show_bug.cgi?id=70189
507
508         Reviewed by Eric Seidel.
509
510         * Configurations/FeatureDefines.xcconfig:
511         * WebProcess/WebPage/WebPage.cpp:
512         (WebKit::WebPage::updatePreferences):
513         * WebProcess/WebProcess.cpp:
514         (WebKit::WebProcess::initializeWebProcess):
515
516 2011-10-15  Adam Barth  <abarth@webkit.org>
517
518         Rename ENABLE(TILED_BACKING_STORE) to USE(TILED_BACKING_STORE)
519         https://bugs.webkit.org/show_bug.cgi?id=70194
520
521         Reviewed by Daniel Bates.
522
523         * Shared/DrawingAreaInfo.h:
524         * UIProcess/DrawingAreaProxy.h:
525         * UIProcess/DrawingAreaProxy.messages.in:
526         * UIProcess/PageClient.h:
527         * UIProcess/TiledDrawingAreaProxy.cpp:
528         * UIProcess/TiledDrawingAreaProxy.h:
529         * UIProcess/WebPageProxy.cpp:
530         * UIProcess/WebPageProxy.h:
531         * UIProcess/WebPageProxy.messages.in:
532         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
533         (WebKit::WebChromeClient::contentsSizeChanged):
534         * WebProcess/WebCoreSupport/WebChromeClient.h:
535         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
536         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
537         * WebProcess/WebPage/DrawingArea.cpp:
538         (WebKit::DrawingArea::create):
539         * WebProcess/WebPage/DrawingArea.h:
540         * WebProcess/WebPage/DrawingArea.messages.in:
541         * WebProcess/WebPage/TiledBackingStoreRemoteTile.cpp:
542         * WebProcess/WebPage/TiledBackingStoreRemoteTile.h:
543         * WebProcess/WebPage/TiledDrawingArea.cpp:
544         * WebProcess/WebPage/TiledDrawingArea.h:
545         * WebProcess/WebPage/WebPage.cpp:
546         (WebKit::WebPage::setSize):
547         * WebProcess/WebPage/WebPage.h:
548         * WebProcess/WebPage/WebPage.messages.in:
549
550 2011-10-15  Sheriff Bot  <webkit.review.bot@gmail.com>
551
552         Unreviewed, rolling out r97559.
553         http://trac.webkit.org/changeset/97559
554         https://bugs.webkit.org/show_bug.cgi?id=70176
555
556         Broke build on Mac (Requested by noamr_ on #webkit).
557
558         * DerivedSources.pro:
559         * Platform/CoreIPC/MessageID.h:
560         * Scripts/webkit2/messages.py:
561         * Shared/LayerTreeContext.h:
562         * Shared/WebLayerTreeInfo.cpp:
563         (WebKit::WebLayerInfo::encode):
564         (WebKit::WebLayerInfo::decode):
565         * Shared/WebLayerTreeInfo.h:
566         * Shared/qt/LayerTreeContextQt.cpp:
567         (WebKit::LayerTreeContext::LayerTreeContext):
568         (WebKit::LayerTreeContext::~LayerTreeContext):
569         (WebKit::LayerTreeContext::encode):
570         (WebKit::LayerTreeContext::decode):
571         (WebKit::LayerTreeContext::isEmpty):
572         (WebKit::operator==):
573         * UIProcess/DrawingAreaProxy.cpp:
574         * UIProcess/DrawingAreaProxy.h:
575         * UIProcess/DrawingAreaProxyImpl.cpp:
576         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
577         * UIProcess/DrawingAreaProxyImpl.h:
578         * UIProcess/LayerTreeHostProxy.h: Removed.
579         * UIProcess/LayerTreeHostProxy.messages.in: Removed.
580         * UIProcess/WebPageProxy.cpp:
581         (WebKit::WebPageProxy::didReceiveMessage):
582         * UIProcess/qt/LayerTreeHostProxyQt.cpp: Removed.
583         * WebKit2.pro:
584         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
585         (WebCore::deletedLayerIDs):
586         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
587         (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
588         (WebCore::WebGraphicsLayer::setChildren):
589         (WebCore::WebGraphicsLayer::addChild):
590         (WebCore::WebGraphicsLayer::addChildAtIndex):
591         (WebCore::WebGraphicsLayer::addChildAbove):
592         (WebCore::WebGraphicsLayer::addChildBelow):
593         (WebCore::WebGraphicsLayer::replaceChild):
594         (WebCore::WebGraphicsLayer::removeFromParent):
595         (WebCore::WebGraphicsLayer::setContentsRect):
596         (WebCore::WebGraphicsLayer::setContentsToImage):
597         (WebCore::WebGraphicsLayer::setNeedsDisplay):
598         (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
599         (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
600         (WebCore::WebGraphicsLayer::didSynchronize):
601         (WebCore::WebGraphicsLayer::layerInfo):
602         (WebCore::WebGraphicsLayer::syncCompositingState):
603         (WebCore::WebGraphicsLayer::needsDisplayRect):
604         (WebCore::WebGraphicsLayer::takeLayersToDelete):
605         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
606         (WebCore::divideIntoTiles):
607         (WebCore::collectCompositingInfoForThisLayer):
608         (WebCore::collectCompositingInfoRecursively):
609         (WebCore::WebGraphicsLayer::sendLayersToUIProcess):
610         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
611         * WebProcess/WebPage/DrawingArea.h:
612         * WebProcess/WebPage/DrawingAreaImpl.cpp:
613         * WebProcess/WebPage/DrawingAreaImpl.h:
614         * WebProcess/WebPage/LayerTreeHost.cpp:
615         (WebKit::LayerTreeHost::create):
616         * WebProcess/WebPage/LayerTreeHost.h:
617         * WebProcess/WebPage/LayerTreeHost.messages.in: Removed.
618         * WebProcess/WebPage/TiledDrawingArea.cpp:
619         * WebProcess/WebPage/TiledDrawingArea.h:
620         * WebProcess/WebPage/WebPage.cpp:
621         (WebKit::WebPage::didReceiveMessage):
622         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
623         * WebProcess/WebPage/qt/LayerTreeHostQt.h: Removed.
624
625 2011-10-15  No'am Rosenthal  <noam.rosenthal@nokia.com>
626
627         [Qt][WK2] Synchronize tiling with accelerated compositing
628         https://bugs.webkit.org/show_bug.cgi?id=69151
629
630         Reviewed by Simon Hausmann.
631
632         Make the tiled "non-composited" content and the composited layers go through the same
633         code path on WebKit2. Instead of having a "drawing area" that handles the non-composited
634         content and a seperate layer tree, we put everything in a layer tree, with the non-
635         composited content being a layer in the tree.
636
637         This allows fixing several issues with websites that have large content areas that are
638         composited or overlap with composited layers.
639
640         Layer-tree synchronization is done by passing WebKit2 messages between a LayerTreeHost
641         on the WebProcess and a LayerTreeHostProxy on the UI process. Every layer in the tree has
642         its own tiled backing store, and uses the LayerTreeHost communication channel to pass
643         content up to the UI process. The UI process will later creates its own GraphicsLayer tree,
644         based on TextureMapper, which can be painted directly with OpenGL.
645
646         Several optimizations are available for the non-composited layer as well, e.g. specifying
647         a trajectory and updating the visible rect together with the content scale.
648
649         This code is currently disabled, a separate patch will enable it and glue it to
650         QTouchWebPage.
651
652         * DerivedSources.pro:
653         * Platform/CoreIPC/MessageID.h:
654         * Scripts/webkit2/messages.py:
655         * Shared/LayerTreeContext.h:
656         * Shared/WebLayerTreeInfo.cpp:
657         (WebKit::WebLayerInfo::encode):
658         (WebKit::WebLayerInfo::decode):
659         * Shared/WebLayerTreeInfo.h:
660         * Shared/qt/LayerTreeContextQt.cpp:
661         (WebKit::LayerTreeContext::LayerTreeContext):
662         (WebKit::LayerTreeContext::~LayerTreeContext):
663         (WebKit::LayerTreeContext::encode):
664         (WebKit::LayerTreeContext::decode):
665         (WebKit::LayerTreeContext::isEmpty):
666         (WebKit::operator==):
667         * UIProcess/DrawingAreaProxy.cpp:
668         (WebKit::DrawingAreaProxy::updateWebView):
669         (WebKit::DrawingAreaProxy::contentsRect):
670         * UIProcess/DrawingAreaProxy.h:
671         (WebKit::DrawingAreaProxy::viewportVisibleRect):
672         (WebKit::DrawingAreaProxy::isBackingStoreReady):
673         (WebKit::DrawingAreaProxy::paintToCurrentGLContext):
674         (WebKit::DrawingAreaProxy::setVisibleContentsRectAndScale):
675         (WebKit::DrawingAreaProxy::setVisibleContentRectTrajectoryVector):
676         (WebKit::DrawingAreaProxy::createTileForLayer):
677         (WebKit::DrawingAreaProxy::updateTileForLayer):
678         (WebKit::DrawingAreaProxy::removeTileForLayer):
679         (WebKit::DrawingAreaProxy::didReceiveLayerTreeHostProxyMessage):
680         (WebKit::DrawingAreaProxy::page):
681         * UIProcess/DrawingAreaProxyImpl.cpp:
682         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
683         (WebKit::DrawingAreaProxyImpl::didReceiveLayerTreeHostProxyMessage):
684         (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectAndScale):
685         (WebKit::DrawingAreaProxyImpl::setVisibleContentRectTrajectoryVector):
686         (WebKit::DrawingAreaProxyImpl::paintToCurrentGLContext):
687         * UIProcess/DrawingAreaProxyImpl.h:
688         * UIProcess/LayerTreeHostProxy.h: Added.
689         (WebKit::LayerTreeHostProxy::layerByID):
690         (WebKit::LayerTreeHostProxy::rootLayer):
691         (WebKit::LayerTreeHostProxy::notifyAnimationStarted):
692         (WebKit::LayerTreeHostProxy::notifySyncRequired):
693         (WebKit::LayerTreeHostProxy::showDebugBorders):
694         (WebKit::LayerTreeHostProxy::showRepaintCounter):
695         (WebKit::LayerTreeHostProxy::paintContents):
696         * UIProcess/LayerTreeHostProxy.messages.in: Added.
697         * UIProcess/WebPageProxy.cpp:
698         (WebKit::WebPageProxy::didReceiveMessage):
699         * UIProcess/qt/LayerTreeHostProxyQt.cpp: Added.
700         * WebKit2.pro:
701         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
702         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
703         (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
704         (WebCore::WebGraphicsLayer::setChildren):
705         (WebCore::WebGraphicsLayer::addChild):
706         (WebCore::WebGraphicsLayer::addChildAtIndex):
707         (WebCore::WebGraphicsLayer::addChildAbove):
708         (WebCore::WebGraphicsLayer::addChildBelow):
709         (WebCore::WebGraphicsLayer::replaceChild):
710         (WebCore::WebGraphicsLayer::removeFromParent):
711         (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
712         (WebCore::WebGraphicsLayer::setContentsToImage):
713         (WebCore::WebGraphicsLayer::setNeedsDisplay):
714         (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
715         (WebCore::WebGraphicsLayer::syncCompositingState):
716         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
717         (WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin):
718         (WebCore::WebGraphicsLayer::setContentsScale):
719         (WebCore::WebGraphicsLayer::setRootLayer):
720         (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
721         (WebCore::WebGraphicsLayer::setVisibleContentRect):
722         (WebCore::WebGraphicsLayer::tiledBackingStorePaint):
723         (WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd):
724         (WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed):
725         (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
726         (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
727         (WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor):
728         (WebCore::WebGraphicsLayer::createTile):
729         (WebCore::WebGraphicsLayer::updateTile):
730         (WebCore::WebGraphicsLayer::removeTile):
731         (WebCore::WebGraphicsLayer::updateTileBuffersRecursively):
732         (WebCore::WebGraphicsLayer::layerTreeTileClient):
733         (WebCore::WebGraphicsLayer::updateContentBuffers):
734         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
735         (WebCore::WebGraphicsLayer::setLayerTreeTileClient):
736         * WebProcess/WebPage/DrawingArea.h:
737         * WebProcess/WebPage/DrawingAreaImpl.cpp:
738         (WebKit::DrawingAreaImpl::didReceiveLayerTreeHostMessage):
739         * WebProcess/WebPage/DrawingAreaImpl.h:
740         * WebProcess/WebPage/LayerTreeHost.cpp:
741         (WebKit::LayerTreeHost::create):
742         * WebProcess/WebPage/LayerTreeHost.h:
743         (WebKit::LayerTreeHost::setVisibleContentRectAndScale):
744         (WebKit::LayerTreeHost::setVisibleContentRectTrajectoryVector):
745         (WebKit::LayerTreeHost::setVisibleContentRectForLayer):
746         (WebKit::LayerTreeHost::renderNextFrame):
747         * WebProcess/WebPage/LayerTreeHost.messages.in: Added.
748         * WebProcess/WebPage/TiledDrawingArea.cpp:
749         (WebKit::TiledDrawingArea::didReceiveLayerTreeHostMessage):
750         * WebProcess/WebPage/TiledDrawingArea.h:
751         * WebProcess/WebPage/WebPage.cpp:
752         (WebKit::WebPage::didReceiveMessage):
753         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
754         (WebKit::LayerTreeHostQt::create):
755         (WebKit::LayerTreeHostQt::~LayerTreeHostQt):
756         (WebKit::LayerTreeHostQt::LayerTreeHostQt):
757         (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled):
758         (WebKit::LayerTreeHostQt::scheduleLayerFlush):
759         (WebKit::LayerTreeHostQt::cancelPendingLayerFlush):
760         (WebKit::LayerTreeHostQt::setShouldNotifyAfterNextScheduledLayerFlush):
761         (WebKit::LayerTreeHostQt::setRootCompositingLayer):
762         (WebKit::LayerTreeHostQt::invalidate):
763         (WebKit::LayerTreeHostQt::setNonCompositedContentsNeedDisplay):
764         (WebKit::LayerTreeHostQt::scrollNonCompositedContents):
765         (WebKit::LayerTreeHostQt::forceRepaint):
766         (WebKit::LayerTreeHostQt::sizeDidChange):
767         (WebKit::LayerTreeHostQt::didInstallPageOverlay):
768         (WebKit::LayerTreeHostQt::didUninstallPageOverlay):
769         (WebKit::LayerTreeHostQt::setPageOverlayNeedsDisplay):
770         (WebKit::LayerTreeHostQt::flushPendingLayerChanges):
771         (WebKit::LayerTreeHostQt::didSyncCompositingStateForLayer):
772         (WebKit::LayerTreeHostQt::didDeleteLayer):
773         (WebKit::LayerTreeHostQt::performScheduledLayerFlush):
774         (WebKit::LayerTreeHostQt::layerFlushTimerFired):
775         (WebKit::LayerTreeHostQt::createPageOverlayLayer):
776         (WebKit::LayerTreeHostQt::destroyPageOverlayLayer):
777         (WebKit::LayerTreeHostQt::adoptImageBackingStore):
778         (WebKit::LayerTreeHostQt::releaseImageBackingStore):
779         (WebKit::LayerTreeHostQt::notifyAnimationStarted):
780         (WebKit::LayerTreeHostQt::notifySyncRequired):
781         (WebKit::LayerTreeHostQt::paintContents):
782         (WebKit::LayerTreeHostQt::showDebugBorders):
783         (WebKit::LayerTreeHostQt::showRepaintCounter):
784         (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
785         (WebKit::LayerTreeHostQt::createTile):
786         (WebKit::LayerTreeHostQt::updateTile):
787         (WebKit::LayerTreeHostQt::removeTile):
788         (WebKit::LayerTreeHostQt::setVisibleContentRectForLayer):
789         (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
790         (WebKit::LayerTreeHostQt::setVisibleContentRectTrajectoryVector):
791         (WebKit::LayerTreeHostQt::renderNextFrame):
792         (WebKit::LayerTreeHostQt::layerTreeTileUpdatesAllowed):
793
794 2011-10-15  Sheriff Bot  <webkit.review.bot@gmail.com>
795
796         Unreviewed, rolling out r97549.
797         http://trac.webkit.org/changeset/97549
798         https://bugs.webkit.org/show_bug.cgi?id=70174
799
800         It broke the SL build (Requested by Ossy_weekend on #webkit).
801
802         * DerivedSources.pro:
803         * Platform/CoreIPC/MessageID.h:
804         * Scripts/webkit2/messages.py:
805         * Shared/LayerTreeContext.h:
806         * Shared/WebLayerTreeInfo.cpp:
807         (WebKit::WebLayerInfo::encode):
808         (WebKit::WebLayerInfo::decode):
809         * Shared/WebLayerTreeInfo.h:
810         * Shared/qt/LayerTreeContextQt.cpp:
811         (WebKit::LayerTreeContext::LayerTreeContext):
812         (WebKit::LayerTreeContext::~LayerTreeContext):
813         (WebKit::LayerTreeContext::encode):
814         (WebKit::LayerTreeContext::decode):
815         (WebKit::LayerTreeContext::isEmpty):
816         (WebKit::operator==):
817         * UIProcess/DrawingAreaProxy.cpp:
818         * UIProcess/DrawingAreaProxy.h:
819         * UIProcess/DrawingAreaProxyImpl.cpp:
820         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
821         * UIProcess/DrawingAreaProxyImpl.h:
822         * UIProcess/LayerTreeHostProxy.h: Removed.
823         * UIProcess/LayerTreeHostProxy.messages.in: Removed.
824         * UIProcess/WebPageProxy.cpp:
825         (WebKit::WebPageProxy::didReceiveMessage):
826         * UIProcess/qt/LayerTreeHostProxyQt.cpp: Removed.
827         * WebKit2.pro:
828         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
829         (WebCore::deletedLayerIDs):
830         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
831         (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
832         (WebCore::WebGraphicsLayer::setChildren):
833         (WebCore::WebGraphicsLayer::addChild):
834         (WebCore::WebGraphicsLayer::addChildAtIndex):
835         (WebCore::WebGraphicsLayer::addChildAbove):
836         (WebCore::WebGraphicsLayer::addChildBelow):
837         (WebCore::WebGraphicsLayer::replaceChild):
838         (WebCore::WebGraphicsLayer::removeFromParent):
839         (WebCore::WebGraphicsLayer::setContentsRect):
840         (WebCore::WebGraphicsLayer::setContentsToImage):
841         (WebCore::WebGraphicsLayer::setNeedsDisplay):
842         (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
843         (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
844         (WebCore::WebGraphicsLayer::didSynchronize):
845         (WebCore::WebGraphicsLayer::layerInfo):
846         (WebCore::WebGraphicsLayer::syncCompositingState):
847         (WebCore::WebGraphicsLayer::needsDisplayRect):
848         (WebCore::WebGraphicsLayer::takeLayersToDelete):
849         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
850         (WebCore::divideIntoTiles):
851         (WebCore::collectCompositingInfoForThisLayer):
852         (WebCore::collectCompositingInfoRecursively):
853         (WebCore::WebGraphicsLayer::sendLayersToUIProcess):
854         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
855         * WebProcess/WebPage/DrawingArea.h:
856         * WebProcess/WebPage/DrawingAreaImpl.cpp:
857         * WebProcess/WebPage/DrawingAreaImpl.h:
858         * WebProcess/WebPage/LayerTreeHost.cpp:
859         (WebKit::LayerTreeHost::create):
860         * WebProcess/WebPage/LayerTreeHost.h:
861         * WebProcess/WebPage/LayerTreeHost.messages.in: Removed.
862         * WebProcess/WebPage/TiledDrawingArea.cpp:
863         * WebProcess/WebPage/TiledDrawingArea.h:
864         * WebProcess/WebPage/WebPage.cpp:
865         (WebKit::WebPage::didReceiveMessage):
866         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
867         * WebProcess/WebPage/qt/LayerTreeHostQt.h: Removed.
868
869 2011-10-15  No'am Rosenthal  <noam.rosenthal@nokia.com>
870
871         [Qt][WK2] Synchronize tiling with accelerated compositing
872         https://bugs.webkit.org/show_bug.cgi?id=69151
873
874         Reviewed by Simon Hausmann.
875
876         Make the tiled "non-composited" content and the composited layers go through the same
877         code path on WebKit2. Instead of having a "drawing area" that handles the non-composited
878         content and a seperate layer tree, we put everything in a layer tree, with the non-
879         composited content being a layer in the tree.
880
881         This allows fixing several issues with websites that have large content areas that are
882         composited or overlap with composited layers.
883
884         Layer-tree synchronization is done by passing WebKit2 messages between a LayerTreeHost
885         on the WebProcess and a LayerTreeHostProxy on the UI process. Every layer in the tree has
886         its own tiled backing store, and uses the LayerTreeHost communication channel to pass
887         content up to the UI process. The UI process will later creates its own GraphicsLayer tree,
888         based on TextureMapper, which can be painted directly with OpenGL.
889
890         Several optimizations are available for the non-composited layer as well, e.g. specifying
891         a trajectory and updating the visible rect together with the content scale.
892
893         This code is currently disabled, a separate patch will enable it and glue it to
894         QTouchWebPage.
895
896         * DerivedSources.pro:
897         * Platform/CoreIPC/MessageID.h:
898         * Scripts/webkit2/messages.py:
899         * Shared/LayerTreeContext.h:
900         * Shared/WebLayerTreeInfo.cpp:
901         (WebKit::WebLayerInfo::encode):
902         (WebKit::WebLayerInfo::decode):
903         * Shared/WebLayerTreeInfo.h:
904         * Shared/qt/LayerTreeContextQt.cpp:
905         (WebKit::LayerTreeContext::LayerTreeContext):
906         (WebKit::LayerTreeContext::~LayerTreeContext):
907         (WebKit::LayerTreeContext::encode):
908         (WebKit::LayerTreeContext::decode):
909         (WebKit::LayerTreeContext::isEmpty):
910         (WebKit::operator==):
911         * UIProcess/DrawingAreaProxy.cpp:
912         (WebKit::DrawingAreaProxy::updateWebView):
913         (WebKit::DrawingAreaProxy::contentsRect):
914         * UIProcess/DrawingAreaProxy.h:
915         (WebKit::DrawingAreaProxy::viewportVisibleRect):
916         (WebKit::DrawingAreaProxy::isBackingStoreReady):
917         (WebKit::DrawingAreaProxy::paintToCurrentGLContext):
918         (WebKit::DrawingAreaProxy::setVisibleContentsRectAndScale):
919         (WebKit::DrawingAreaProxy::setVisibleContentRectTrajectoryVector):
920         (WebKit::DrawingAreaProxy::createTileForLayer):
921         (WebKit::DrawingAreaProxy::updateTileForLayer):
922         (WebKit::DrawingAreaProxy::removeTileForLayer):
923         (WebKit::DrawingAreaProxy::didReceiveLayerTreeHostProxyMessage):
924         (WebKit::DrawingAreaProxy::page):
925         * UIProcess/DrawingAreaProxyImpl.cpp:
926         (WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
927         (WebKit::DrawingAreaProxyImpl::didReceiveLayerTreeHostProxyMessage):
928         (WebKit::DrawingAreaProxyImpl::setVisibleContentsRectAndScale):
929         (WebKit::DrawingAreaProxyImpl::setVisibleContentRectTrajectoryVector):
930         (WebKit::DrawingAreaProxyImpl::paintToCurrentGLContext):
931         * UIProcess/DrawingAreaProxyImpl.h:
932         * UIProcess/LayerTreeHostProxy.h: Added.
933         (WebKit::LayerTreeHostProxy::layerByID):
934         (WebKit::LayerTreeHostProxy::rootLayer):
935         (WebKit::LayerTreeHostProxy::notifyAnimationStarted):
936         (WebKit::LayerTreeHostProxy::notifySyncRequired):
937         (WebKit::LayerTreeHostProxy::showDebugBorders):
938         (WebKit::LayerTreeHostProxy::showRepaintCounter):
939         (WebKit::LayerTreeHostProxy::paintContents):
940         * UIProcess/LayerTreeHostProxy.messages.in: Added.
941         * UIProcess/WebPageProxy.cpp:
942         (WebKit::WebPageProxy::didReceiveMessage):
943         * UIProcess/qt/LayerTreeHostProxyQt.cpp: Added.
944         * WebKit2.pro:
945         * WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
946         (WebCore::WebGraphicsLayer::WebGraphicsLayer):
947         (WebCore::WebGraphicsLayer::~WebGraphicsLayer):
948         (WebCore::WebGraphicsLayer::setChildren):
949         (WebCore::WebGraphicsLayer::addChild):
950         (WebCore::WebGraphicsLayer::addChildAtIndex):
951         (WebCore::WebGraphicsLayer::addChildAbove):
952         (WebCore::WebGraphicsLayer::addChildBelow):
953         (WebCore::WebGraphicsLayer::replaceChild):
954         (WebCore::WebGraphicsLayer::removeFromParent):
955         (WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
956         (WebCore::WebGraphicsLayer::setContentsToImage):
957         (WebCore::WebGraphicsLayer::setNeedsDisplay):
958         (WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
959         (WebCore::WebGraphicsLayer::syncCompositingState):
960         (WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
961         (WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin):
962         (WebCore::WebGraphicsLayer::setContentsScale):
963         (WebCore::WebGraphicsLayer::setRootLayer):
964         (WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
965         (WebCore::WebGraphicsLayer::setVisibleContentRect):
966         (WebCore::WebGraphicsLayer::tiledBackingStorePaint):
967         (WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd):
968         (WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed):
969         (WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
970         (WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
971         (WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor):
972         (WebCore::WebGraphicsLayer::createTile):
973         (WebCore::WebGraphicsLayer::updateTile):
974         (WebCore::WebGraphicsLayer::removeTile):
975         (WebCore::WebGraphicsLayer::updateTileBuffersRecursively):
976         (WebCore::WebGraphicsLayer::layerTreeTileClient):
977         (WebCore::WebGraphicsLayer::updateContentBuffers):
978         * WebProcess/WebCoreSupport/WebGraphicsLayer.h:
979         (WebCore::WebGraphicsLayer::setLayerTreeTileClient):
980         * WebProcess/WebPage/DrawingArea.h:
981         * WebProcess/WebPage/DrawingAreaImpl.cpp:
982         (WebKit::DrawingAreaImpl::didReceiveLayerTreeHostMessage):
983         * WebProcess/WebPage/DrawingAreaImpl.h:
984         * WebProcess/WebPage/LayerTreeHost.cpp:
985         (WebKit::LayerTreeHost::create):
986         * WebProcess/WebPage/LayerTreeHost.h:
987         (WebKit::LayerTreeHost::setVisibleContentRectAndScale):
988         (WebKit::LayerTreeHost::setVisibleContentRectTrajectoryVector):
989         (WebKit::LayerTreeHost::setVisibleContentRectForLayer):
990         (WebKit::LayerTreeHost::renderNextFrame):
991         * WebProcess/WebPage/LayerTreeHost.messages.in: Added.
992         * WebProcess/WebPage/TiledDrawingArea.cpp:
993         (WebKit::TiledDrawingArea::didReceiveLayerTreeHostMessage):
994         * WebProcess/WebPage/TiledDrawingArea.h:
995         * WebProcess/WebPage/WebPage.cpp:
996         (WebKit::WebPage::didReceiveMessage):
997         * WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
998         (WebKit::LayerTreeHostQt::create):
999         (WebKit::LayerTreeHostQt::~LayerTreeHostQt):
1000         (WebKit::LayerTreeHostQt::LayerTreeHostQt):
1001         (WebKit::LayerTreeHostQt::setLayerFlushSchedulingEnabled):
1002         (WebKit::LayerTreeHostQt::scheduleLayerFlush):
1003         (WebKit::LayerTreeHostQt::cancelPendingLayerFlush):
1004         (WebKit::LayerTreeHostQt::setShouldNotifyAfterNextScheduledLayerFlush):
1005         (WebKit::LayerTreeHostQt::setRootCompositingLayer):
1006         (WebKit::LayerTreeHostQt::invalidate):
1007         (WebKit::LayerTreeHostQt::setNonCompositedContentsNeedDisplay):
1008         (WebKit::LayerTreeHostQt::scrollNonCompositedContents):
1009         (WebKit::LayerTreeHostQt::forceRepaint):
1010         (WebKit::LayerTreeHostQt::sizeDidChange):
1011         (WebKit::LayerTreeHostQt::didInstallPageOverlay):
1012         (WebKit::LayerTreeHostQt::didUninstallPageOverlay):
1013         (WebKit::LayerTreeHostQt::setPageOverlayNeedsDisplay):
1014         (WebKit::LayerTreeHostQt::flushPendingLayerChanges):
1015         (WebKit::LayerTreeHostQt::didSyncCompositingStateForLayer):
1016         (WebKit::LayerTreeHostQt::didDeleteLayer):
1017         (WebKit::LayerTreeHostQt::performScheduledLayerFlush):
1018         (WebKit::LayerTreeHostQt::layerFlushTimerFired):
1019         (WebKit::LayerTreeHostQt::createPageOverlayLayer):
1020         (WebKit::LayerTreeHostQt::destroyPageOverlayLayer):
1021         (WebKit::LayerTreeHostQt::adoptImageBackingStore):
1022         (WebKit::LayerTreeHostQt::releaseImageBackingStore):
1023         (WebKit::LayerTreeHostQt::notifyAnimationStarted):
1024         (WebKit::LayerTreeHostQt::notifySyncRequired):
1025         (WebKit::LayerTreeHostQt::paintContents):
1026         (WebKit::LayerTreeHostQt::showDebugBorders):
1027         (WebKit::LayerTreeHostQt::showRepaintCounter):
1028         (WebKit::LayerTreeHost::supportsAcceleratedCompositing):
1029         (WebKit::LayerTreeHostQt::createTile):
1030         (WebKit::LayerTreeHostQt::updateTile):
1031         (WebKit::LayerTreeHostQt::removeTile):
1032         (WebKit::LayerTreeHostQt::setVisibleContentRectForLayer):
1033         (WebKit::LayerTreeHostQt::setVisibleContentRectAndScale):
1034         (WebKit::LayerTreeHostQt::setVisibleContentRectTrajectoryVector):
1035         (WebKit::LayerTreeHostQt::renderNextFrame):
1036         (WebKit::LayerTreeHostQt::layerTreeTileUpdatesAllowed):
1037
1038 2011-10-14  Mark Hahnenberg  <mhahnenberg@apple.com>
1039
1040         Rename getOwnPropertySlot to getOwnPropertySlotVirtual
1041         https://bugs.webkit.org/show_bug.cgi?id=69810
1042
1043         Reviewed by Geoffrey Garen.
1044
1045         Renamed the virtual version of getOwnPropertySlot to getOwnPropertySlotVirtual
1046         in preparation for when we add the static getOwnPropertySlot to the MethodTable 
1047         in ClassInfo.
1048
1049         Also added a few static getOwnPropertySlot functions where they had been overlooked 
1050         before (especially in CodeGeneratorJS.pm).
1051
1052         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1053         (WebKit::JSNPObject::getOwnPropertySlotVirtual):
1054         * WebProcess/Plugins/Netscape/JSNPObject.h:
1055
1056 2011-10-14  Mark Hahnenberg  <mhahnenberg@apple.com>
1057
1058         Rename virtual put to putVirtual
1059         https://bugs.webkit.org/show_bug.cgi?id=69851
1060
1061         Reviewed by Darin Adler.
1062
1063         Renamed virtual versions of put to putVirtual in prepration for 
1064         adding the static put to the MethodTable in ClassInfo since the 
1065         compiler gets mad if the virtual and static versions have the same 
1066         name.
1067
1068         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1069         (WebKit::JSNPObject::putVirtual):
1070         (WebKit::JSNPObject::put):
1071         * WebProcess/Plugins/Netscape/JSNPObject.h:
1072         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
1073         (WebKit::NPJSObject::setProperty):
1074
1075 2011-10-14  Jeff Miller  <jeffm@apple.com>
1076
1077         InjectedBundleHitTestResult::imageRect() should return rect in WKView coordinates
1078         https://bugs.webkit.org/show_bug.cgi?id=69963
1079         
1080         WebKit2 clients only have knowledge of the WKView's coordinate system, they have no way to
1081         convert from subframe view coordinates , so any rect that we expose through WK2 APIs should
1082         be in WKView coordinates.
1083         
1084         Reviewed by Simon Fraser.
1085
1086         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
1087         (WebKit::InjectedBundleHitTestResult::imageRect): Use WebCore::FrameView::contentsToRootView() to convert the image rect to WKView coordinates.
1088
1089 2011-10-14  Mark Hahnenberg  <mhahnenberg@apple.com>
1090
1091         Rename virtual deleteProperty to deletePropertyVirtual
1092         https://bugs.webkit.org/show_bug.cgi?id=69884
1093
1094         Reviewed by Darin Adler.
1095
1096         Renamed virtual versions of deleteProperty to deletePropertyVirtual in prepration for 
1097         adding the static deleteProperty to the MethodTable in ClassInfo since the 
1098         compiler gets mad if the virtual and static versions have the same name.
1099
1100         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1101         (WebKit::JSNPObject::deletePropertyVirtual):
1102         (WebKit::JSNPObject::deleteProperty):
1103         * WebProcess/Plugins/Netscape/JSNPObject.h:
1104         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
1105         (WebKit::NPJSObject::removeProperty):
1106
1107 2011-10-14  Nayan Kumar K  <nayankk@motorola.com>
1108
1109         [WebKit2][gtk] Add documentation for WebKitPluginError and WebKitPolicyError.
1110         https://bugs.webkit.org/show_bug.cgi?id=70016
1111
1112         Reviewed by Martin Robinson.
1113
1114         * UIProcess/API/gtk/WebKitError.h:
1115
1116 2011-10-14  Nayan Kumar K  <nayankk@motorola.com>
1117
1118         [WebKit2][gtk] Skip TestWebKitSettings test.
1119         https://bugs.webkit.org/show_bug.cgi?id=70129
1120
1121         Reviewed by Martin Robinson.
1122
1123         Skip running TestWebKitSettings test till a bug
1124         https://bugs.webkit.org/show_bug.cgi?id=70127 gets fixed.
1125
1126         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
1127         (testWebKitSettings): Skip TestWebKitSettings test.
1128
1129 2011-10-14  Sheriff Bot  <webkit.review.bot@gmail.com>
1130
1131         Unreviewed, rolling out r97375.
1132         http://trac.webkit.org/changeset/97375
1133         https://bugs.webkit.org/show_bug.cgi?id=70115
1134
1135         It breaks loading of webpages in QtWebKit2 (Requested by jeez_
1136         on #webkit).
1137
1138         * UIProcess/qt/ClientImpl.cpp:
1139         (qt_wk_decidePolicyForNavigationAction):
1140         * UIProcess/qt/ClientImpl.h:
1141         * UIProcess/qt/QtWebPageProxy.cpp:
1142         (QtWebPageProxy::init):
1143
1144 2011-10-12  Ryosuke Niwa  <rniwa@webkit.org>
1145
1146         Make the interface of locationAndLengthFromRange and rangeFromLocationAndLength consistent
1147         https://bugs.webkit.org/show_bug.cgi?id=69964
1148
1149         Reviewed by Enrica Casucci.
1150
1151         * WebProcess/WebPage/mac/WebPageMac.mm:
1152         (WebKit::WebPage::getMarkedRange):
1153         (WebKit::WebPage::getSelectedRange):
1154         (WebKit::WebPage::characterIndexForPoint):
1155         (WebKit::convertToRange):
1156
1157 2011-10-14  Nayan Kumar K  <nayankk@motorola.com>
1158
1159         [GTK] r97438: Inconsistent use of flattening vs flattering in function names/comments
1160         https://bugs.webkit.org/show_bug.cgi?id=70092
1161
1162         Reviewed by Martin Robinson.
1163
1164         Fixes the miss-spelling of 'PROP_ENABLE_FRAME_FLATTENING' as 'PROP_ENABLE_FRAME_FLATTERING'
1165         introduced with change set r97438.
1166
1167         * UIProcess/API/gtk/WebKitSettings.cpp:
1168         (webKitSettingsSetProperty): Property name correction.
1169         (webKitSettingsGetProperty): Property name correction.
1170         (webkit_settings_class_init): Property name correction.
1171         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp:
1172         (testWebKitSettings): Spelling correction.
1173
1174 2011-10-14  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
1175
1176         [Qt] enable qmltests for qt5
1177         https://bugs.webkit.org/show_bug.cgi?id=70037
1178
1179         Reviewed by Chang Shu.
1180
1181         Qml tests seem to be disabled for some reason. This patch enables the tests by including qmltests to SUBDIRS.
1182
1183         * UIProcess/API/qt/tests/tests.pro:
1184
1185 2011-10-14  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1186
1187         Do not cache m_resizesToContentsLayoutSize on WebKit2's WebPage
1188         https://bugs.webkit.org/show_bug.cgi?id=66134
1189
1190         Unreviewed build fix after r97462.
1191
1192         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1193         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
1194
1195 2011-10-14  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1196
1197         Do not cache m_resizesToContentsLayoutSize on WebKit2's WebPage
1198         https://bugs.webkit.org/show_bug.cgi?id=66134
1199
1200         Reviewed by Simon Hausmann.
1201
1202         Do the resize to contents on the web process side.
1203
1204         Based on patch by Zalan Bujtas.
1205
1206         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1207         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
1208         * WebProcess/WebPage/WebPage.cpp:
1209         (WebKit::WebPage::setSize):
1210         (WebKit::WebPage::setResizesToContentsUsingLayoutSize):
1211         (WebKit::WebPage::resizeToContentsIfNeeded):
1212         * WebProcess/WebPage/WebPage.h:
1213
1214 2011-10-14  Carlos Garcia Campos  <cgarcia@igalia.com>
1215
1216         [GTK] Build is broken with new ld
1217         https://bugs.webkit.org/show_bug.cgi?id=70097
1218
1219         Reviewed by Philippe Normand.
1220
1221         * UIProcess/API/gtk/tests/GNUmakefile.am:
1222
1223 2011-10-12  Simon Hausmann  <simon.hausmann@nokia.com>
1224
1225         [Qt][WK2] Fix build after QSGItem API changes
1226         https://bugs.webkit.org/show_bug.cgi?id=69926
1227
1228         Reviewed by Kenneth Rohde Christiansen.
1229
1230         Commit c825865cdd88445aa1db94cdf0da89426919acdb in qtdeclarative changed the
1231         signatures of the Drag & Drop event handlers in QSGItem. The SG specific events
1232         were replaced with the plain QDrag* events, which are now used for widgets as well
1233         as the Qt scene graph.
1234
1235         This patch adapts the desktop webview as well as the page proxy to handle these
1236         kind of events.
1237
1238         * UIProcess/API/qt/qdesktopwebview.cpp:
1239         (QDesktopWebView::dragMoveEvent):
1240         (QDesktopWebView::dragEnterEvent):
1241         (QDesktopWebView::dragLeaveEvent):
1242         (QDesktopWebView::dropEvent):
1243         * UIProcess/API/qt/qdesktopwebview.h:
1244         * UIProcess/qt/qdesktopwebpageproxy.cpp:
1245         (QDesktopWebPageProxy::handleEvent):
1246         (QDesktopWebPageProxy::handleDragEnterEvent):
1247         (QDesktopWebPageProxy::handleDragLeaveEvent):
1248         (QDesktopWebPageProxy::handleDragMoveEvent):
1249         (QDesktopWebPageProxy::handleDropEvent):
1250         * UIProcess/qt/qdesktopwebpageproxy.h:
1251
1252 2011-10-13  Nayan Kumar K  <nayankk@motorola.com>
1253
1254         [GTK][WEBKIT2] Add WebKitSettings GTK+ API.
1255         https://bugs.webkit.org/show_bug.cgi?id=68371
1256
1257         Reviewed by Martin Robinson.
1258
1259         WebKitSettings GTK+ object is created and first set of
1260         API's are written to get or set the properties of WebKitSettings.
1261
1262         * GNUmakefile.am: Added new files for compilation.
1263         * UIProcess/API/gtk/WebKitSettings.cpp: Added.
1264         (_WebKitSettingsPrivate::_WebKitSettingsPrivate): Constructor.
1265         (webKitSettingsSetProperty): Set property function.
1266         (webKitSettingsGetProperty): Get property function.
1267         (webKitSettingsFinalize): Class finalize function.
1268         (webkit_settings_class_init): Class init function.
1269         (webkit_settings_init): Instance init function.
1270         (webkit_settings_new): Creates WebKitSettings GObject.
1271         (webkit_settings_get_enable_javascript): Function to get 'enable-javascript' property.
1272         (webkit_settings_set_enable_javascript): Function to set 'enable-javascript' property.
1273         (webkit_settings_get_auto_load_images): Get the 'auto-load-images' property.
1274         (webkit_settings_set_auto_load_images): Set the 'auto-load-images' property.
1275         (webkit_settings_get_load_icons_ignoring_image_load_setting): Function to get
1276         'load-icons-ignoring-image-load-setting' property.
1277         (webkit_settings_set_load_icons_ignoring_image_load_setting): Function to set
1278         'load-icons-ignoring-image-load-setting' property.
1279         (webkit_settings_get_enable_offline_web_application_cache): Function to get
1280         'enable-offline-web-application-cache' property.
1281         (webkit_settings_set_enable_offline_web_application_cache): Function to set
1282         'enable-offline-web-application-cache' property.
1283         (webkit_settings_get_enable_html5_local_storage): Get the property 'enable-html5-local-storage'.
1284         (webkit_settings_set_enable_html5_local_storage): Set the property 'enable-html5-local-storage'.
1285         (webkit_settings_get_enable_html5_database): Get the property 'enable-html5-database'.
1286         (webkit_settings_set_enable_html5_database): Set the property 'enable-html5-database'.
1287         (webkit_settings_get_enable_xss_auditor): Get property 'enable-xss-editor'.
1288         (webkit_settings_set_enable_xss_auditor): Set property 'enable-xss-editor'.
1289         (webkit_settings_get_enable_frame_flattening): Get the property 'enable-frame-flattening'.
1290         (webkit_settings_set_enable_frame_flattening): Set the property 'enable-frame-flattening'.
1291         (webkit_settings_get_enable_plugins): Get the property 'enable-plugins'.
1292         (webkit_settings_set_enable_plugins): Set the property 'enable-plugins'.
1293         (webkit_settings_get_enable_java): Function to get 'enable-java' property.
1294         (webkit_settings_set_enable_java): Function to set 'enable-java' property.
1295         (webkit_settings_get_javascript_can_open_windows_automatically): Get the property
1296         'javascript-can-open-windows-automatically'.
1297         (webkit_settings_set_javascript_can_open_windows_automatically): Set the property
1298         'javascript-can-open-windows-automatically'.
1299         (webkit_settings_get_enable_hyperlink_auditing): Get 'enable-hyperlink-auditing' property.
1300         (webkit_settings_set_enable_hyperlink_auditing): Set 'enable-hyperlink-auditing' property.
1301         * UIProcess/API/gtk/WebKitSettings.h: Added. Public API's.
1302         * UIProcess/API/gtk/tests/GNUmakefile.am: Added new test.
1303         * UIProcess/API/gtk/tests/TestWebKitSettings.cpp: Added.
1304         (testWebKitSettings): Add WebKitSetting unit test.
1305         (beforeAll): Pre-test function.
1306         (afterAll): Post-test function.
1307         * UIProcess/API/gtk/webkit2.h: Add WebKitSettings.h to exposed API list.
1308
1309 2011-10-13  Mark Hahnenberg  <mhahnenberg@apple.com>
1310
1311         Rename virtual getConstructData to getConstructDataVirtual
1312         https://bugs.webkit.org/show_bug.cgi?id=69872
1313
1314         Reviewed by Geoffrey Garen.
1315
1316         Renamed virtual getConstructData functions to getConstructDataVirtual to 
1317         avoid conflicts when we add static getConstructData to the MethodTable.
1318
1319         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1320         (WebKit::JSNPObject::getConstructDataVirtual):
1321         * WebProcess/Plugins/Netscape/JSNPObject.h:
1322
1323 2011-10-13  Sam Weinig  <sam@webkit.org>
1324
1325         Another SnowLeopard build fix.
1326
1327         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
1328         (WebKit::cachedImage):
1329         (WebKit::WebDragClient::declareAndWriteDragImage):
1330         (-[WKPasteboardOwner initWithImage:WebCore::]):
1331
1332 2011-10-13  Sam Weinig  <sam@webkit.org>
1333
1334         Fix SnowLeopard build.
1335
1336         * UIProcess/WebPageProxy.cpp:
1337         (WebKit::WebPageProxy::setCursor):
1338         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
1339
1340 2011-10-13  Alexey Proskuryakov  <ap@apple.com>
1341
1342         [Mac] PDF Documents at epo.org look very blurry
1343         https://bugs.webkit.org/show_bug.cgi?id=70072
1344
1345         Reviewed by Dan Bernstein.
1346
1347         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: (WebKit::BuiltInPDFView::paintContent):
1348         Ensure integral coordinates. <rdar://problem/10283382> tracks lifting this limitation.
1349
1350 2011-10-13  Alexey Proskuryakov  <ap@apple.com>
1351
1352         [Mac] Wheel event handler counter is incorrect with PDF views
1353         https://bugs.webkit.org/show_bug.cgi?id=70062
1354
1355         Reviewed by Dan Bernstein.
1356
1357         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
1358         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
1359         (WebKit::BuiltInPDFView::didAddVerticalScrollbar): Added forgotten override for vertical case.
1360         (WebKit::BuiltInPDFView::willRemoveVerticalScrollbar): Ditto.
1361         (WebKit::BuiltInPDFView::createScrollbar): Notify self, do not make a shortcut to ScrollAnimator.
1362         (WebKit::BuiltInPDFView::destroyScrollbar): Ditto.
1363         (WebKit::BuiltInPDFView::destroy): Actually destroy the scrollbars.
1364
1365 2011-10-12  Chris Marrin  <cmarrin@apple.com>
1366
1367         Sync requestAnimationFrame callback to CVDisplayLink on Mac
1368         https://bugs.webkit.org/show_bug.cgi?id=68911
1369
1370         Reviewed by Simon Fraser.
1371
1372         Add windowDidChangeScreen function which listens for the window changing
1373         screens and passes the new displayID along to WebCore::Page. It also sends
1374         one on windowDidBecomeKey, so the Page has a fresh displayID after it's
1375         created. Event is generated in the UIProcess and then sent over to the
1376         WebProcess, which actually sends it to WebCore::Page.
1377
1378         * UIProcess/API/mac/WKView.mm:
1379         (-[WKView addWindowObserversForWindow:]):
1380         (-[WKView removeWindowObservers]):
1381         (-[WKView _windowDidChangeScreen:]):
1382         (-[WKView _windowDidBecomeKey:]):
1383         * UIProcess/WebPageProxy.cpp:
1384         (WebKit::WebPageProxy::windowScreenDidChange):
1385         * UIProcess/WebPageProxy.h:
1386         * WebProcess/WebPage/WebPage.cpp:
1387         (WebKit::WebPage::windowScreenDidChange):
1388         * WebProcess/WebPage/WebPage.h:
1389         * WebProcess/WebPage/WebPage.messages.in:
1390
1391 2011-10-13  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1392
1393         [Qt][WK2] WebErrorsQt.cpp duplicates code from WKError.h and WebError.h
1394         https://bugs.webkit.org/show_bug.cgi?id=70053
1395
1396         Reviewed by Kenneth Rohde Christiansen.
1397
1398         Now we will be aligned with WKError.h and WebError.h by using the shared
1399         and pre-defined enum for error codes and WebError::webkitErrorDomain().
1400
1401         * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp:
1402         (WebKit::blockedError):
1403         (WebKit::cannotShowURLError):
1404         (WebKit::interruptedForPolicyChangeError):
1405         (WebKit::cannotShowMIMETypeError):
1406         (WebKit::pluginWillHandleLoadError):
1407
1408 2011-10-13  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1409
1410         [Qt][WK2] WebViews are emitting loadFailed for "private" error codes
1411         https://bugs.webkit.org/show_bug.cgi?id=70047
1412
1413         Reviewed by Kenneth Rohde Christiansen.
1414
1415         Both QDesktopWebView and QTouchWebView are emitting loadFailed for private errors
1416         like the ones defined in Source/WebKit2/WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp.
1417
1418         We now filter these by not emitting this signal for FrameLoadInterruptedByPolicyChange,
1419         PlugInWillHandleLoad and Cancellation, following previous decisions from WebKit 1.
1420
1421         * UIProcess/qt/ClientImpl.cpp:
1422         (dispatchLoadFailed):
1423
1424 2011-10-13  Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
1425
1426         Implement TextChecker for WebKit2 GTK+
1427         https://bugs.webkit.org/show_bug.cgi?id=68548
1428
1429         Reviewed by Anders Carlsson.
1430
1431         Added implementation for all functions in TextCheckerGtk.cpp removing earlier stubbed implementations.
1432         Moved couple of API earlier specific to win port to common section and added stubbed implementation
1433         of the same for remaining ports of Qt, Efl and Mac.
1434
1435         * GNUmakefile.am: Added TextChecker implementation files.
1436         * UIProcess/TextChecker.h: Moved spellCheckingEnabled and grammarCheckingEnabled API outside of win port.
1437         * UIProcess/efl/TextCheckerEfl.cpp: Stubbed implementation of API which was moved outside win port.
1438         * UIProcess/gtk/TextCheckerGtk.cpp: Implementation of all TextChecker API.
1439         (WebKit::TextChecker::state):
1440         (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
1441         (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
1442         (WebKit::TextChecker::setGrammarCheckingEnabled):
1443         (WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
1444         (WebKit::TextChecker::grammarCheckingEnabledStateChanged):
1445         (WebKit::TextChecker::uniqueSpellDocumentTag):
1446         (WebKit::TextChecker::closeSpellDocumentWithTag):
1447         (WebKit::TextChecker::checkSpellingOfString):
1448         (WebKit::TextChecker::checkGrammarOfString):
1449         (WebKit::TextChecker::spellingUIIsShowing):
1450         (WebKit::TextChecker::toggleSpellingUIIsShowing):
1451         (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
1452         (WebKit::TextChecker::updateSpellingUIWithGrammarString):
1453         (WebKit::TextChecker::getGuessesForWord):
1454         (WebKit::TextChecker::learnWord):
1455         (WebKit::TextChecker::ignoreWord):
1456         * UIProcess/mac/TextCheckerMac.mm: Implementation of API which was moved outside win port.
1457         * UIProcess/qt/TextCheckerQt.cpp: Stubbed implementation of API which was moved outside win port.
1458
1459 2011-10-13  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1460
1461         [Qt][WK2] Implement decidePolicyForResponse in our PolicyClient
1462         https://bugs.webkit.org/show_bug.cgi?id=69832
1463
1464         Reviewed by Kenneth Rohde Christiansen.
1465
1466         We implement decidePolicyForResponse in our PolicyClient in order to
1467         decide whether a given ResourceResponse should be downloaded or loaded.
1468
1469         * UIProcess/qt/ClientImpl.cpp:
1470         (qt_wk_decidePolicyForResponse):
1471         * UIProcess/qt/ClientImpl.h:
1472         * UIProcess/qt/QtWebPageProxy.cpp:
1473         (QtWebPageProxy::init):
1474
1475 2011-10-13  Carlos Garcia Campos  <cgarcia@igalia.com>
1476
1477         [GTK] Add WebKitTestServer class to WebKit2 GTK+ unit tests library
1478         https://bugs.webkit.org/show_bug.cgi?id=70010
1479
1480         Reviewed by Martin Robinson.
1481
1482         With this class tests using a soup server only need to implement
1483         the soup server callback.
1484
1485         * UIProcess/API/gtk/tests/GNUmakefile.am: Add new files to compilation.
1486         * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp: Use WebKitTestServer.
1487         (testLoadingStatus):
1488         (testLoadingError):
1489         (testLoadAlternateContent):
1490         (testWebViewReload):
1491         (testLoadProgress):
1492         (beforeAll):
1493         (afterAll):
1494         * UIProcess/API/gtk/tests/WebKitTestServer.cpp: Added.
1495         (WebKitTestServer::WebKitTestServer):
1496         (WebKitTestServer::~WebKitTestServer):
1497         (WebKitTestServer::run): Run the soup server and adds the given
1498         soup server callback to handle requests.
1499         (WebKitTestServer::getURIForPath): Returns the server absolute URI
1500         for the given relative path.
1501         * UIProcess/API/gtk/tests/WebKitTestServer.h: Added.
1502         (WebKitTestServer::baseURI):
1503
1504 2011-10-13  Nayan Kumar K  <nayankk@motorola.com>
1505
1506         [WebKit2][gtk] Fix warnings while generating WebKit2-GTK+ documentation.
1507         https://bugs.webkit.org/show_bug.cgi?id=69928
1508
1509         Reviewed by Philippe Normand.
1510
1511         Patch fixes the warnings reported by gtk-doc while generating
1512         WebKit2-GTK+ documentation.
1513
1514         * UIProcess/API/gtk/WebKitWebContext.h: Correct the documentation comment.
1515         * UIProcess/API/gtk/WebKitWebView.cpp: Parameter name correction.
1516
1517 2011-10-12  Joseph Pecoraro  <joepeck@webkit.org>
1518
1519         Pass Parsed Accept Attribute MIME Types to WebKit Clients
1520         https://bugs.webkit.org/show_bug.cgi?id=69598
1521
1522         Reviewed by David Kilzer.
1523
1524         * Shared/WebCoreArgumentCoders.cpp:
1525         (CoreIPC::::encode):
1526         (CoreIPC::::decode):
1527
1528 2011-10-12  Joseph Pecoraro  <joepeck@webkit.org>
1529
1530         Pass Parsed Accept Attribute MIME Types to WebKit Clients
1531         https://bugs.webkit.org/show_bug.cgi?id=69598
1532
1533         Reviewed by Anders Carlsson.
1534
1535         The WebOpenPanelParameters::Data struct was a mirror of
1536         the already existing WebCore::FileChooserSettings struct.
1537         So eliminate the excess struct and generate default
1538         WebCore coders for the WebCore::FileChooserSettings struct.
1539
1540         * Scripts/webkit2/messages.py:
1541         Switch to the new type. FileChooserSetting's header needs
1542         to be special cased to FileChooser.h.
1543
1544         * Shared/WebCoreArgumentCoders.h:
1545         * Shared/WebCoreArgumentCoders.cpp:
1546         (CoreIPC::::encode):
1547         (CoreIPC::::decode):
1548         Encode and decode all, non-deprecated, values. So we
1549         ignore deprecatedAcceptTypes. A follow-up patch will add it.
1550
1551         * Shared/WebOpenPanelParameters.cpp:
1552         (WebKit::WebOpenPanelParameters::create):
1553         (WebKit::WebOpenPanelParameters::WebOpenPanelParameters):
1554         Switch to the new type.
1555
1556         * Shared/WebOpenPanelParameters.h:
1557         (WebKit::WebOpenPanelParameters::allowMultipleFiles):
1558         (WebKit::WebOpenPanelParameters::selectedFileNames):
1559         FileChooserSettings had different property names.
1560
1561         * UIProcess/WebPageProxy.cpp:
1562         (WebKit::WebPageProxy::runOpenPanel):
1563         Generate the WebOpenPanelParameters object here, before
1564         passing into the WebUIClient. This seems to be the convention
1565         to not have WebCore types in WebUIClient.
1566
1567         * UIProcess/WebPageProxy.h:
1568         * UIProcess/WebPageProxy.messages.in:
1569         * UIProcess/WebUIClient.cpp:
1570         (WebKit::WebUIClient::runOpenPanel):
1571         * UIProcess/WebUIClient.h:
1572         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1573         (WebKit::WebChromeClient::runOpenPanel):
1574         Switch to the new type.
1575
1576 2011-10-12  Joseph Pecoraro  <joepeck@webkit.org>
1577
1578         Pass Parsed Accept Attribute MIME Types to WebKit Clients
1579         https://bugs.webkit.org/show_bug.cgi?id=69598
1580
1581         Reviewed by Kent Tamura.
1582
1583         Switch to deprecated for now, but the next patches will
1584         remove the deprecated version from the WebKit2 path.
1585
1586         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1587         (WebKit::WebChromeClient::runOpenPanel):
1588
1589 2011-10-12  Adam Barth  <abarth@webkit.org>
1590
1591         Remove ENABLE(XHTMLMP) and associated code
1592         https://bugs.webkit.org/show_bug.cgi?id=69729
1593
1594         Reviewed by David Levin.
1595
1596         * Configurations/FeatureDefines.xcconfig:
1597
1598 2011-10-12  Dan Bernstein  <mitz@apple.com>
1599
1600         Hang beneath PluginProcessProxy::createPropertyListFile() when using a thin build
1601         https://bugs.webkit.org/show_bug.cgi?id=69960
1602
1603         Reviewed by Adam Roben.
1604
1605         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
1606         (WebKit::PluginProcessProxy::createPropertyListFile): Check for any non-zero return value
1607         from posix_spawn() rather than for a negative return value. The old, incorrect check, caused
1608         this function to hang in waitpid() after failing to spawn a plug-in process for a 32-bit plug-in
1609         when WebKit2 was built for 64-bit only.
1610
1611 2011-10-12  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
1612
1613         [Qt][WK2] Move qweberror* out of API/qt
1614         https://bugs.webkit.org/show_bug.cgi?id=69875
1615
1616         Reviewed by Andreas Kling.
1617
1618         Moving QWebError outside API/qt in order to keep our API folder (layer) aligned.
1619
1620         * UIProcess/qt/qweberror.cpp: Renamed from Source/WebKit2/UIProcess/API/qt/qweberror.cpp.
1621         (QWebError::QWebError):
1622         (QWebErrorPrivate::createQWebError):
1623         (QWebErrorPrivate::QWebErrorPrivate):
1624         (QWebErrorPrivate::~QWebErrorPrivate):
1625         (QWebError::type):
1626         (QWebError::errorCode):
1627         (QWebError::url):
1628         * UIProcess/qt/qweberror.h: Renamed from Source/WebKit2/UIProcess/API/qt/qweberror.h.
1629         (QWebError::errorCodeAsHttpStatusCode):
1630         (QWebError::errorCodeAsNetworkError):
1631         * UIProcess/qt/qweberror_p.h: Renamed from Source/WebKit2/UIProcess/API/qt/qweberror_p.h.
1632         * WebKit2.pro:
1633         * WebKit2API.pri:
1634
1635 2011-10-12  Nayan Kumar K  <nayankk@motorola.com>
1636
1637         [WebKit2][gtk] Add few more API's to gtk-doc section file.
1638         https://bugs.webkit.org/show_bug.cgi?id=69921
1639
1640         Reviewed by Gustavo Noronha Silva.
1641
1642         Generate documentation for existing WebKit2-GTK+ API's,
1643         which are not yet the part of gtk-doc documentation.
1644
1645         * UIProcess/API/gtk/docs/GNUmakefile.am: List ignore files.
1646         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: API's addition.
1647
1648 2011-10-11  Simon Fraser  <simon.fraser@apple.com>
1649
1650         Make custom scrollbar theme for use in DRT, to reduce pixel diffs between platforms
1651         https://bugs.webkit.org/show_bug.cgi?id=68134
1652
1653         Reviewed by Darin Adler.
1654
1655         Use ScrollbarThemeMock when the setting to use mock scrollbars is enabled.
1656         
1657         Make ScrollbarTheme::nativeTheme() private, and add a new static theme() method
1658         that reads the setting, and returns the mock theme if set. All callers now use
1659         theme() rther than nativeTheme(). Add the new ScrollbarTheme.cpp file to the build.
1660
1661         * UIProcess/win/WebPopupMenuProxyWin.cpp:
1662         (WebKit::WebPopupMenuProxyWin::calculatePositionAndSize):
1663         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
1664         (WebKit::BuiltInPDFView::paintControls):
1665         * WebProcess/WebPage/PageOverlay.cpp:
1666         (WebKit::PageOverlay::bounds):
1667
1668 2011-10-11  Simon Fraser  <simon.fraser@apple.com>
1669
1670         Make custom scrollbar theme for use in DRT, to reduce pixel diffs between platforms
1671         https://bugs.webkit.org/show_bug.cgi?id=68134
1672
1673         Reviewed by Darin Adler.
1674
1675         ScrollbarTheme::nativeTheme() renamed to theme().
1676
1677         * WebProcess/WebPage/PageOverlay.cpp:
1678         (WebKit::PageOverlay::bounds):
1679
1680 2011-10-10  Martin Robinson  <mrobinson@igalia.com>
1681
1682         [GTK] [WebKit2] Make adding another unit test easier
1683         https://bugs.webkit.org/show_bug.cgi?id=69409
1684
1685         Reviewed by Gustavo Noronha Silva.
1686
1687         * GNUmakefile.am: Add the new WebKit2 API tests.
1688         * UIProcess/API/gtk/tests/GNUmakefile.am: Added.
1689         * UIProcess/API/gtk/tests/LoadTrackingTest.cpp: Added. A fixture for creating load tracking tests.
1690         * UIProcess/API/gtk/tests/LoadTrackingTest.h: Added.
1691         * UIProcess/API/gtk/tests/TestMain.cpp: Copied from Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c.
1692         (main):
1693         * UIProcess/API/gtk/tests/TestMain.h: Added.
1694         * UIProcess/API/gtk/tests/TestWebKitWebContext.cpp: Copied from Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c.
1695         * UIProcess/API/gtk/tests/TestWebKitWebLoaderClient.cpp: Added.
1696         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp: Renamed from Source/WebKit2/UIProcess/API/gtk/tests/testwebview.c.
1697         * UIProcess/API/gtk/tests/WebViewTest.cpp: Added. A fixture for generic WebView tests.
1698         * UIProcess/API/gtk/tests/WebViewTest.h: Added.
1699         * UIProcess/API/gtk/tests/testloading.c: Removed.
1700         * UIProcess/API/gtk/tests/testwebcontext.c: Removed.
1701
1702 2011-10-11  Alexey Proskuryakov  <ap@apple.com>
1703
1704         [Mac] Crash when opening an embedded PDF in a background tab
1705         https://bugs.webkit.org/show_bug.cgi?id=69880
1706
1707         Reviewed by Darin Adler.
1708
1709         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
1710         (WebKit::BuiltInPDFView::BuiltInPDFView):
1711         (WebKit::BuiltInPDFView::~BuiltInPDFView):
1712         (WebKit::BuiltInPDFView::initialize):
1713         (WebKit::BuiltInPDFView::destroy):
1714         Moved initialization and destruction code from C++ constructor and destructor to designated
1715         functions. Not part of the fix, but seems related enough to fix.
1716
1717 2011-10-11  Alexey Proskuryakov  <ap@apple.com>
1718
1719         [Mac] Crash when opening an embedded PDF in a background tab
1720         https://bugs.webkit.org/show_bug.cgi?id=69880
1721
1722         Reviewed by Darin Adler.
1723
1724         * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::paint): Don't call plug-in that
1725         doesn't even have a controller yet.
1726
1727 2011-10-11  Beth Dakin  <bdakin@apple.com>
1728
1729         https://bugs.webkit.org/show_bug.cgi?id=69874
1730         WebKit2 snapshot APIs should take the device scale factor into account 
1731         -and corresponding-
1732         <rdar://problem/10269112>
1733
1734         Reviewed by Darin Adler.
1735
1736         Add the deviceScaleFactor as a scale on the snapshot's context to create a 
1737         snapshot of the appropriate resolution. This matches the manner in which we scale 
1738         the context in DrawingAreaImpl::display().
1739         * WebProcess/WebPage/WebPage.cpp:
1740         (WebKit::WebPage::snapshotInViewCoordinates):
1741         (WebKit::WebPage::scaledSnapshotInDocumentCoordinates):
1742
1743 2011-10-11  W. James MacLean  <wjmaclean@chromium.org>
1744
1745         Loss of precision when converting from double to int and double to float in FrameView::zoomAnimatorTransformChanged()
1746         https://bugs.webkit.org/show_bug.cgi?id=69739
1747
1748         Change 'double' parameters to 'float' to match changes in FrameView.
1749
1750         Reviewed by Simon Fraser.
1751
1752         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
1753         (WebKit::BuiltInPDFView::zoomAnimatorTransformChanged):
1754
1755 2011-10-11  Alexey Proskuryakov  <ap@apple.com>
1756
1757         [Mac] Small embedded PDFs are not fully repainted when scrolling
1758         https://bugs.webkit.org/show_bug.cgi?id=69861
1759
1760         Reviewed by Anders Carlsson.
1761
1762         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: (WebKit::BuiltInPDFView::paintContent):
1763         Account for vertical centering when deciding which pages to paint.
1764
1765 2011-10-11  Alexey Proskuryakov  <ap@apple.com>
1766
1767         Embedding of PDF's with <object> or <embed> fails when there is no MIME type specified
1768         https://bugs.webkit.org/show_bug.cgi?id=64934
1769
1770         Reviewed by Dan Bernstein.
1771
1772         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::createPlugin): Check URL extension, too,
1773         like GetPluginPath does in UI process. One difference is that UI process additionally tries
1774         platform specific extension to MIME type mapping, but that doesn't matter for PDF, which
1775         does not have other standard extensions.
1776
1777 2011-10-11  Alexey Proskuryakov  <ap@apple.com>
1778
1779         [Mac] Should be able to display multi-page PDFs in subframes
1780         https://bugs.webkit.org/show_bug.cgi?id=69804
1781
1782         Reviewed by Anders Carlsson.
1783
1784         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
1785         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
1786         (WebKit::BuiltInPDFView::updateScrollbars): Page step should be exactly one page, so that
1787         one could step over the document page by page. It certainly shouldn't be a portion of the
1788         whole document.
1789         (WebKit::BuiltInPDFView::pdfDocumentDidLoad): Moved duplicated code from load callbacks here.
1790         (WebKit::BuiltInPDFView::calculateSizes): Calculate document size including gutters, and
1791         remember page boxes.
1792         (WebKit::BuiltInPDFView::paint): Split into separate functions.
1793         (WebKit::BuiltInPDFView::paintBackground): Just paint gray background for the whole dirty rect.
1794         (WebKit::BuiltInPDFView::paintContent): Paint pages and shadow under them. This code is still
1795         fairly naive, as it doesn't understand annotations or page rotation.
1796         Constants for shadows roughly match PDFView, but not quite, since it draws entirely custom
1797         shadows.
1798         (WebKit::BuiltInPDFView::paintControls): Moved scrollbar and scroll corner painting here.
1799         (WebKit::BuiltInPDFView::streamDidFinishLoading): Moved common code into pdfDocumentDidLoad().
1800         (WebKit::BuiltInPDFView::manualStreamDidFinishLoading): Ditto.
1801
1802 2011-10-11  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
1803
1804         [Qt] WebProcess using proxy settings for localhost as well
1805         https://bugs.webkit.org/show_bug.cgi?id=69611
1806
1807         Reviewed by Chang Shu.
1808
1809         Implemented checks in queryProxy to return QNetworkProxy::NoProxy for localhost and 127.0.0.1
1810
1811         * WebProcess/qt/WebProcessMainQt.cpp:
1812         (WebKit::EnvHttpProxyFactory::queryProxy):
1813
1814 2011-10-11  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1815
1816         [Qt] Remove all references to QTDIR_build and standalone_package
1817
1818         Qt is now modularized, which means we no longer import WebKit into
1819         the Qt source tree. Instead we use git submodules, and building
1820         QtWebKit as "part of Qt" is really building QtWebKit as from trunk.
1821
1822         To decrease the number of buildsystem configurations we also remove
1823         the standalone_package code-path used when we were providing tarballs
1824         with the derived sources pre-generated.
1825
1826         Reviewed by Simon Hausmann.
1827
1828         * DerivedSources.pro:
1829         * UIProcess/API/qt/qmlplugin/qmlplugin.pro:
1830         * UIProcess/API/qt/tests/tests.pri:
1831         * WebKit2.pri:
1832         * WebProcess.pro:
1833
1834 2011-10-10  Nate Chapin  <japhet@chromium.org>
1835
1836         Use a CachedImageClient instead of CachedResourceClient
1837         in WebDragClientMac.
1838         https://bugs.webkit.org/show_bug.cgi?id=69790
1839
1840         Reviewed by Adam Barth.
1841
1842         * WebProcess/WebCoreSupport/mac/WebDragClientMac.mm:
1843         (promisedDataClient):
1844
1845 2011-10-10  Mark Hahnenberg  <mhahnenberg@apple.com>
1846
1847         Remove getCallDataVirtual methods
1848         https://bugs.webkit.org/show_bug.cgi?id=69186
1849
1850         Reviewed by Geoffrey Garen.
1851
1852         Removed all getCallDataVirtual methods and replaced their call sites 
1853         with an explicit lookup in the MethodTable.
1854
1855         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
1856         * WebProcess/Plugins/Netscape/JSNPMethod.h:
1857         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1858         * WebProcess/Plugins/Netscape/JSNPObject.h:
1859
1860 2011-10-10  Simon Hausmann  <simon.hausmann@nokia.com>
1861
1862         [Qt] Fix build with qreal == float on MeeGo 1.2 Harmattan
1863
1864         Reviewed by Andreas Kling.
1865
1866         Explicitly choose the qreal variant of qMin, since QPointF is using qreal.
1867
1868         * UIProcess/qt/ViewportInteractionEngine.cpp:
1869         (WebKit::ViewportInteractionEngine::animateContentPositionIntoBoundariesIfNeeded):
1870
1871 2011-10-10  Carlos Garcia Campos  <cgarcia@igalia.com>
1872
1873         [GTK] Add methods to reload the view to WebKit2 GTK+ API
1874         https://bugs.webkit.org/show_bug.cgi?id=69613
1875
1876         Reviewed by Martin Robinson.
1877
1878         * UIProcess/API/gtk/WebKitWebView.cpp:
1879         (webkit_web_view_reload):
1880         (webkit_web_view_reload_bypass_cache):
1881         * UIProcess/API/gtk/WebKitWebView.h:
1882         * UIProcess/API/gtk/tests/testloading.c:
1883         (loadReloadProvisionalLoadStarted):
1884         (loadReloadLoadFinished):
1885         (testLoadTimeoutFinishLoop):
1886         (testLoadReload):
1887         (main):
1888
1889 2011-10-09  Luke Macpherson   <macpherson@chromium.org>
1890
1891         Fix Lion, Leopard and Snow Leopard builds after changeset 97034 <http://trac.webkit.org/changeset/97034>
1892         (https://bugs.webkit.org/show_bug.cgi?id=68035)
1893         https://bugs.webkit.org/show_bug.cgi?id=69735
1894
1895         Reviewed by Daniel Bates.
1896
1897         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
1898         Add symbols that are now required by ScrollableArea.
1899         (WebKit::BuiltInPDFView::zoomAnimatorTransformChanged):
1900
1901 2011-10-08  Mark Hahnenberg  <mhahnenberg@apple.com>
1902
1903         Add static version of JSCell::getConstructData
1904         https://bugs.webkit.org/show_bug.cgi?id=69673
1905
1906         Reviewed by Geoffrey Garen.
1907
1908         Added static version of getConstructData to all classes that 
1909         override it and changed the virtual versions to call the static 
1910         versions.  This is the first step in de-virtualizing JSCell::getConstructData.
1911
1912         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1913         (WebKit::JSNPObject::getConstructData):
1914         * WebProcess/Plugins/Netscape/JSNPObject.h:
1915
1916 2011-10-08  Mark Hahnenberg  <mhahnenberg@apple.com>
1917
1918         Add static version of JSCell::getOwnPropertySlot
1919         https://bugs.webkit.org/show_bug.cgi?id=69593
1920
1921         Reviewed by Geoffrey Garen.
1922
1923         Added static version of getOwnPropertySlot to every class that overrides
1924         JSCell::getOwnPropertySlot.  The virtual versions now call the static versions.
1925         This is the first step in de-virtualizing JSCell::getOwnPropertySlot.
1926
1927         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
1928         (WebKit::JSNPObject::getOwnPropertySlot):
1929         * WebProcess/Plugins/Netscape/JSNPObject.h:
1930
1931 2011-10-03  Carlos Garcia Campos  <cgarcia@igalia.com> and Martin Robinson  <mrobinson@igalia.com>
1932
1933         [GTK] Implement drag and drop support in WebKit2
1934         https://bugs.webkit.org/show_bug.cgi?id=63706
1935
1936         Reviewed by Philippe Normand.
1937
1938         * GNUmakefile.am: Add new files to compilation.
1939         * Shared/gtk/ArgumentCodersGtk.cpp: Added.
1940         (CoreIPC::encodeImage): Encode a GdkPixbuf.
1941         (CoreIPC::decodeImage): Decode a GdkPixbuf.
1942         (CoreIPC::encodeDataObject): Encode a DataObjectGtk.
1943         (CoreIPC::decodeDataObject): Decode a DataObjectGtk.
1944         (CoreIPC::::encode): Encode DragData.
1945         (CoreIPC::::decode): Decode DragData.
1946         * Shared/gtk/ArgumentCodersGtk.h:
1947         * UIProcess/API/gtk/PageClientImpl.cpp:
1948         (WebKit::PageClientImpl::startDrag):
1949         * UIProcess/API/gtk/PageClientImpl.h:
1950         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1951         (webkit_web_view_base_init): Set the view as a potential drop destination.
1952         (webkitWebViewBaseDragDataGet): Added, delegate to GtkDragAndDropHelper.
1953         (webkitWebViewBaseDragEnd): Ditto.
1954         (webkitWebViewBaseDragDataReceived): Ditto.
1955         (webkitWebViewBaseDragEnter): Ditto.
1956         (webkitWebViewBaseDragMotion): Ditto.
1957         (doDragLeaveLater): Ditto.
1958         (webkitWebViewBaseDragLeave): Ditto.
1959         (webkitWebViewBaseDragDrop): Ditto.
1960         (webkit_web_view_base_class_init): Override GtkWidget drag and drop methods.
1961         (webkitWebViewBaseStartDrag): Calls gtk_drag_begin() to start a drag operation.
1962         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h: Add webkitWebViewBaseStartDrag().
1963         * UIProcess/PageClient.h: Add startDrag().
1964         * UIProcess/WebPageProxy.cpp:
1965         (WebKit::WebPageProxy::performDragControllerAction): Share the Qt version.
1966         * UIProcess/WebPageProxy.h:
1967         * UIProcess/WebPageProxy.messages.in:
1968         * WebProcess/WebCoreSupport/WebDragClient.cpp:
1969         * WebProcess/WebCoreSupport/gtk/WebDragClientGtk.cpp: Added.
1970         * WebProcess/WebPage/WebPage.cpp: Add drag support for GTK+.
1971         * WebProcess/WebPage/WebPage.h: Ditto.
1972         * WebProcess/WebPage/WebPage.messages.in: Ditto.
1973
1974 2011-10-08  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
1975
1976         [Qt] [WK2] Wrong handling of visibility in QTouchWebPage
1977         https://bugs.webkit.org/show_bug.cgi?id=69670
1978
1979         Reviewed by Andreas Kling.
1980
1981         Replace QTouchWebPage visibility handling by Show/Hide events with use of 
1982         QSGItem::visibleChanged signal.
1983
1984         * UIProcess/API/qt/qtouchwebpage.cpp:
1985         (QTouchWebPage::QTouchWebPage):
1986         (QTouchWebPage::event):
1987         (QTouchWebPage::onVisibleChanged):
1988         * UIProcess/API/qt/qtouchwebpage.h:
1989
1990 2011-10-08  Sheriff Bot  <webkit.review.bot@gmail.com>
1991
1992         Unreviewed, rolling out r96996.
1993         http://trac.webkit.org/changeset/96996
1994         https://bugs.webkit.org/show_bug.cgi?id=69697
1995
1996         It broke all tests on the Qt bot (Requested by Ossy_night on
1997         #webkit).
1998
1999         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
2000         (WebKit::JSNPMethod::getCallDataVirtual):
2001         * WebProcess/Plugins/Netscape/JSNPMethod.h:
2002         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2003         (WebKit::JSNPObject::getCallDataVirtual):
2004         * WebProcess/Plugins/Netscape/JSNPObject.h:
2005
2006 2011-10-07  Jeff Miller  <jeffm@apple.com>
2007
2008         Add WKPageContextMenuClient callback when context menu is dismissed
2009         https://bugs.webkit.org/show_bug.cgi?id=69553
2010
2011         Add contextMenuDismissed callback to WKPageContextMenuClient, and bump the API
2012         version of this client to 1 so we continue to work with old clients.
2013
2014         * Shared/APIClientTraits.cpp: Added array of interface sizes for WKPageContextMenuClient.
2015         * Shared/APIClientTraits.h: Added APIClientTraits for WKPageContextMenuClient.
2016
2017         * UIProcess/API/C/WKPage.h: Added contextMenuDismissed callback to WKPageContextMenuClient and bumped kWKPageContextMenuClientCurrentVersion.
2018
2019         * UIProcess/WebPageContextMenuClient.cpp:
2020         (WebKit::WebPageContextMenuClient::contextMenuDismissed): Added.
2021
2022         * UIProcess/WebPageContextMenuClient.h: Added WebPageContextMenuClient::contextMenuDismissed().
2023
2024         * UIProcess/WebPageProxy.cpp:
2025         (WebKit::WebPageProxy::internalShowContextMenu): Notify client when context menu is dismissed.
2026
2027 2011-10-07  Mark Hahnenberg  <mhahnenberg@apple.com>
2028
2029         Remove getCallDataVirtual methods
2030         https://bugs.webkit.org/show_bug.cgi?id=69186
2031
2032         Reviewed by Geoffrey Garen.
2033
2034         Removed all getCallDataVirtual methods and replaced their call sites 
2035         with an explicit lookup in the MethodTable.
2036
2037         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
2038         * WebProcess/Plugins/Netscape/JSNPMethod.h:
2039         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
2040         * WebProcess/Plugins/Netscape/JSNPObject.h:
2041
2042 2011-10-07  Alexey Proskuryakov  <ap@apple.com>
2043
2044         [Mac] Scrollbars in embedded PDFs should update when system preferences change
2045         https://bugs.webkit.org/show_bug.cgi?id=69654
2046
2047         Reviewed by Simon Fraser.
2048
2049         * WebProcess/Plugins/PDF/BuiltInPDFView.h: Added an scrollbarStyleChanged() override.
2050         ScrollAnimatorMac sets scrollbar frame to a bogus (0, 0, thickness, thickness) one when style
2051         changes, and expects clients to move them back in place.
2052
2053         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
2054         (WebKit::BuiltInPDFView::isOnActivePage): Fixed a typo that prevented ScrollAnimatorMac from
2055         updating style of PDF view scrollbars.
2056         (WebKit::BuiltInPDFView::scrollbarStyleChanged): Reposition scrollbars and content after
2057         style change. The behavior is not perfect in edge cases, but roughly matches ScrollView.
2058
2059 2011-10-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2060
2061         Unreviewed, rolling out r96938.
2062         http://trac.webkit.org/changeset/96938
2063         https://bugs.webkit.org/show_bug.cgi?id=69653
2064
2065         It broke zillion tests and make testing so slow (Requested by
2066         ossy_ on #webkit).
2067
2068         * UIProcess/WebContext.cpp:
2069         * UIProcess/WebContext.h:
2070         * UIProcess/efl/WebContextEfl.cpp:
2071         (WebKit::WebContext::applicationCacheDirectory):
2072         * UIProcess/gtk/WebContextGtk.cpp:
2073         (WebKit::WebContext::applicationCacheDirectory):
2074         * UIProcess/mac/WebContextMac.mm:
2075         (WebKit::WebContext::applicationCacheDirectory):
2076         * UIProcess/qt/WebContextQt.cpp:
2077         (WebKit::WebContext::applicationCacheDirectory):
2078         * UIProcess/win/WebContextWin.cpp:
2079         (WebKit::WebContext::applicationCacheDirectory):
2080
2081 2011-10-07  Qi Zhang  <qi.2.zhang@nokia.com>
2082
2083         [Qt][WK2] ApplicationCache LayoutTests failed
2084         https://bugs.webkit.org/show_bug.cgi?id=69541
2085
2086         Reviewed by Chang Shu.
2087
2088         1. Moved applicationCacheDirectory to common code.
2089         2. Added interface setApplicationCacheDirectory to allow UI client overriding.
2090         3. Renamed all platform-dependent implementations of applicationCacheDirectory to platformDefaultApplicationCacheDirectory.
2091         4. On Qt, set the platformDefaultApplicationCacheDirectory to the default data location.
2092
2093
2094         * UIProcess/WebContext.cpp:
2095         (WebKit::WebContext::applicationCacheDirectory):
2096         * UIProcess/WebContext.h:
2097         (WebKit::WebContext::setApplicationCacheDirectory):
2098         * UIProcess/efl/WebContextEfl.cpp:
2099         (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
2100         * UIProcess/gtk/WebContextGtk.cpp:
2101         (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
2102         * UIProcess/mac/WebContextMac.mm:
2103         (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
2104         * UIProcess/qt/WebContextQt.cpp:
2105         (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
2106         * UIProcess/win/WebContextWin.cpp:
2107         (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
2108
2109 2011-10-06  Brent Fulgham  <bfulgham@webkit.org>
2110
2111         [WinCairo] Correct improper identification of WKQC extensions.
2112         https://bugs.webkit.org/show_bug.cgi?id=69600
2113
2114         * DerivedSources.make: Make sure we are not building the
2115         WinCairo variant.
2116
2117 2011-10-06  Anders Carlsson  <andersca@apple.com>
2118
2119         When building with clang, enable -Wglobal-constructors and -Wexit-time-destructors
2120         https://bugs.webkit.org/show_bug.cgi?id=69586
2121
2122         Reviewed by Darin Adler.
2123
2124         * Configurations/Base.xcconfig:
2125         Add -Wglobal-constructors and -Wexit-time-destructors when building with clang.
2126
2127         * WebKit2.xcodeproj/project.pbxproj:
2128         When building with clang, we don't need to run the check-for-global-initializers and
2129         check-for-exit-time-destructors anymore.
2130
2131 2011-10-06  Anders Carlsson  <andersca@apple.com>
2132
2133         Add DEFINE_DEBUG_ONLY_GLOBAL for globals that should be defined in debug builds
2134         https://bugs.webkit.org/show_bug.cgi?id=69584
2135
2136         Reviewed by Darin Adler.
2137
2138         Adopt the DEFINE_DEBUG_ONLY_GLOBAL macro.
2139
2140         * UIProcess/WebContext.cpp:
2141         * UIProcess/WebPageProxy.cpp:
2142         * WebProcess/WebPage/WebFrame.cpp:
2143         * WebProcess/WebPage/WebPage.cpp:
2144
2145 2011-10-06  Alexey Proskuryakov  <ap@apple.com>
2146
2147         [Mac] Should be able to scroll embedded PDFs using mouse
2148         https://bugs.webkit.org/show_bug.cgi?id=69579
2149
2150         Reviewed by Darin Adler.
2151
2152         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
2153         (WebKit::BuiltInPDFView::handleMouseEvent): No longer need to hardcode mouseDown handling,
2154         ScrollableArea does everything now.
2155         (WebKit::BuiltInPDFView::horizontalScrollbar): Added plumbing to access scrollbars from
2156         WebCore hit testing code.
2157         (WebKit::BuiltInPDFView::verticalScrollbar): Ditto.
2158         (WebKit::BuiltInPDFView::visibleHeight): ScrollableArea now wants this.
2159         (WebKit::BuiltInPDFView::visibleWidth): Ditto.
2160
2161         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2162         (WebKit::NetscapePlugin::horizontalScrollbar):
2163         (WebKit::NetscapePlugin::verticalScrollbar):
2164         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2165         * WebProcess/Plugins/PDF/BuiltInPDFView.h:
2166         * WebProcess/Plugins/Plugin.h:
2167         * WebProcess/Plugins/PluginProxy.cpp:
2168         (WebKit::PluginProxy::horizontalScrollbar):
2169         (WebKit::PluginProxy::verticalScrollbar):
2170         * WebProcess/Plugins/PluginProxy.h:
2171         * WebProcess/Plugins/PluginView.cpp:
2172         (WebKit::PluginView::horizontalScrollbar):
2173         (WebKit::PluginView::verticalScrollbar):
2174         * WebProcess/Plugins/PluginView.h:
2175         Added plumbing to access scrollbars from WebCore hit testing code.
2176
2177 2011-10-06  Alexis Menard  <alexis.menard@openbossa.org>
2178
2179         [Qt][WK2] WebIconDatabase expects a file path not a directory.
2180         https://bugs.webkit.org/show_bug.cgi?id=69557
2181
2182         Reviewed by Andreas Kling.
2183
2184         WebIconDatabase::setDatabasePath expects a file path not a directory.
2185         I used the same name as the Mac port.
2186
2187         * UIProcess/qt/WebContextQt.cpp:
2188         (WebKit::WebContext::platformDefaultIconDatabasePath):
2189
2190 2011-10-06  Anders Carlsson  <andersca@apple.com>
2191
2192         In background window, page flashes white if it enters and then immediately leaves compositing mode
2193         https://bugs.webkit.org/show_bug.cgi?id=69566
2194         <rdar://problem/9521192>
2195
2196         Reviewed by Dan Bernstein.
2197
2198         Don't update the backing store state if we're just about to exit accelerated compositing mode. Otherwise
2199         the UI process will try to render an empty layer tree for a short period of time, leading to a white flash.
2200
2201         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2202         (WebKit::DrawingAreaImpl::layerHostDidFlushLayers):
2203
2204 2011-10-06  Fady Samuel  <fsamuel@chromium.org>
2205
2206         Code clean-up: Make RenderObject::absoluteBoundingBoxRect and associated methods const and make its parameter useTransforms no longer default to false
2207         https://bugs.webkit.org/show_bug.cgi?id=69009
2208
2209         Reviewed by Simon Fraser.
2210
2211         * win/WebKit2.def:
2212         * win/WebKit2CFLite.def:
2213
2214 2011-10-06  Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
2215
2216         Move windows specific TextChecker implementation common to all ports.
2217         https://bugs.webkit.org/show_bug.cgi?id=68532
2218
2219         Reviewed by Anders Carlsson.
2220
2221         All the TextChecker feature implementation files are moved outside of win port since they are
2222         platform independent and can be moved across all ports. Only the implementation of TextChecker
2223         class is platform dependent now and has been retained across all ports. Rest all files has been
2224         moved for all ports usage.
2225
2226         * Shared/API/c/WKBase.h: Add WKGrammarDetailRef & WKTextCheckerRef types.
2227         * Shared/API/c/win/WKBaseWin.h: Remove WKGrammarDetailRef & WKTextCheckerRef types.
2228         * Shared/APIObject.h: Moved TypeGrammarDetail & TypeTextChecker from platform specific section to UIProcess types.
2229         * UIProcess/API/C/WKAPICast.h: Added mapping for WKTextCheckerRef & WKGrammarDetailRef.
2230         * UIProcess/API/C/WKGrammarDetail.cpp: Renamed from Source/WebKit2/UIProcess/API/C/win/WKGrammarDetail.cpp.
2231         * UIProcess/API/C/WKGrammarDetail.h: Renamed from Source/WebKit2/UIProcess/API/C/win/WKGrammarDetail.h.
2232         * UIProcess/API/C/WKTextChecker.cpp: Renamed from Source/WebKit2/UIProcess/API/C/win/WKTextChecker.cpp.
2233         * UIProcess/API/C/WKTextChecker.h: Renamed from Source/WebKit2/UIProcess/API/C/win/WKTextChecker.h.
2234         * UIProcess/API/C/win/WKAPICastWin.h: Removed mapping for WKTextCheckerRef & WKGrammarDetailRef.
2235         * UIProcess/WebGrammarDetail.cpp: Renamed from Source/WebKit2/UIProcess/win/WebGrammarDetail.cpp.
2236         * UIProcess/WebGrammarDetail.h: Renamed from Source/WebKit2/UIProcess/win/WebGrammarDetail.h.
2237         * UIProcess/WebTextChecker.cpp: Renamed from Source/WebKit2/UIProcess/win/WebTextChecker.cpp.
2238         * UIProcess/WebTextChecker.h: Renamed from Source/WebKit2/UIProcess/win/WebTextChecker.h.
2239         * UIProcess/WebTextCheckerClient.cpp: Renamed from Source/WebKit2/UIProcess/win/WebTextCheckerClient.cpp.
2240         * UIProcess/WebTextCheckerClient.h: Renamed from Source/WebKit2/UIProcess/win/WebTextCheckerClient.h.
2241         * win/WebKit2.vcproj: Corrected paths for renamed files.
2242         * win/WebKit2Generated.make: Corrected paths for renamed files.
2243
2244 2011-10-06  Anders Carlsson  <andersca@apple.com>
2245
2246         Crash when PluginProxy object is destroyed inside PluginProxy::pluginScriptableNPObject
2247         https://bugs.webkit.org/show_bug.cgi?id=69559
2248         <rdar://problem/9704066>
2249
2250         Reviewed by Maciej Stachowiak.
2251
2252         Protect the plug-in itself in the call to pluginScriptableNPObject. In some cases, sending
2253         the synchronous message to the plug-in process can end up causing the web process to handle
2254         an incoming message that will destroy t he plug-in.
2255
2256         Unfortunately, this is highly timing-dependent and can't be tested reliably.
2257
2258         * WebProcess/Plugins/PluginProxy.cpp:
2259         (WebKit::PluginProxy::pluginScriptableNPObject):
2260
2261 2011-10-06  Carlos Garcia Campos  <cgarcia@igalia.com>
2262
2263         [GTK] Add estimated-progress property to WebKitWebLoaderClient
2264         https://bugs.webkit.org/show_bug.cgi?id=69509
2265
2266         Reviewed by Martin Robinson.
2267
2268         It allows to monitor the estimated progress of a lof operation by
2269         connecting to the notify signal.
2270
2271         * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
2272         (didChangeProgress): Update estimated-progress property and notify when
2273         it changes.
2274         (webkitWebLoaderClientConstructed): Add implementations for
2275         didStartProgress, didChangeProgress and didFinishProgress.
2276         (webkitWebLoaderClientGetProperty):
2277         (webkit_web_loader_client_class_init): Add estimated-progress property.
2278         (webkit_web_loader_client_get_estimated_progress): Returns the
2279         value of estimated-progress property.
2280         * UIProcess/API/gtk/WebKitWebLoaderClient.h:
2281         * UIProcess/API/gtk/tests/testloading.c:
2282         (webLoadingFixtureSetup):
2283         (loadProgressEstimatedProgressChanged):
2284         (loadProgressLoadFinished):
2285         (testLoadProgress):
2286         (main):
2287
2288 2011-10-06  Carlos Garcia Campos  <cgarcia@igalia.com>
2289
2290         [GTK] Implement cache model for WebKit2
2291         https://bugs.webkit.org/show_bug.cgi?id=68434
2292
2293         Reviewed by Martin Robinson.
2294
2295         * UIProcess/API/gtk/WebKitWebContext.cpp:
2296         (webkit_web_context_set_cache_model):
2297         (webkit_web_context_get_cache_model):
2298         * UIProcess/API/gtk/WebKitWebContext.h:
2299         * UIProcess/API/gtk/tests/testwebcontext.c:
2300         (testWebContextCacheModel):
2301         (main):
2302         * WebProcess/gtk/WebProcessGtk.cpp:
2303         (WebKit::getCacheDiskFreeSize): Helper function to get free space
2304         of the file system where the cache directory is on.
2305         (WebKit::getMemorySize): Helper function to get the total memory
2306         of the system in MB.
2307         (WebKit::WebProcess::platformSetCacheModel): Implement
2308         platformSetCacheModel for Gtk port using calculateCacheSizes().
2309
2310 2011-10-05  Alexey Proskuryakov  <ap@apple.com>
2311
2312         https://bugs.webkit.org/show_bug.cgi?id=69492
2313         [Mac] Should be able to scroll embedded PDFs from keyboard
2314
2315         Reviewed by Darin Adler.
2316
2317         * WebProcess/Plugins/Plugin.h:
2318         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
2319         (WebKit::NetscapePlugin::handleScroll):
2320         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
2321         * WebProcess/Plugins/PluginProxy.cpp:
2322         (WebKit::PluginProxy::handleScroll):
2323         * WebProcess/Plugins/PluginProxy.h:
2324         Added a handleScroll method. A plug-in gets it if it doesn't handle a keyboard event, and
2325         WebCore decides that this is an event for scrolling. A plug-in can decide whether it scrolls
2326         main content, or some scrollable subview of its own.
2327
2328         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp:
2329         (WebKit::BuiltInPDFView::handleMouseEvent): Added a comment explaining returned value.
2330         (WebKit::BuiltInPDFView::handleScroll): Just call ScrollableArea, it will do everything.
2331
2332         * WebProcess/Plugins/PDF/BuiltInPDFView.h: Added a handleScroll override.
2333
2334         * WebProcess/Plugins/PluginView.cpp:
2335         (WebKit::PluginView::scroll): Pass a PluginViewBase scroll to plug-in to handle.
2336         (WebKit::PluginView::handleEvent): Added a FIXME.
2337         * WebProcess/Plugins/PluginView.h:
2338
2339 2011-10-06  Carlos Garcia Campos  <cgarcia@igalia.com>
2340
2341         [GTK] Do not use C API in GTK+ API public headers
2342         https://bugs.webkit.org/show_bug.cgi?id=69506
2343
2344         Reviewed by Martin Robinson.
2345
2346         * GNUmakefile.am: Add new files to compilation.
2347         * UIProcess/API/gtk/WebKitDefines.h: Added.
2348         * UIProcess/API/gtk/WebKitError.h: Use WEBKIT_API instead of WK_EXPORT.
2349         * UIProcess/API/gtk/WebKitWebContext.h: Ditto.
2350         * UIProcess/API/gtk/WebKitWebLoaderClient.h: Ditto.
2351         * UIProcess/API/gtk/WebKitWebView.h: Ditto.
2352         * UIProcess/API/gtk/WebKitWebViewBase.h: Ditto.
2353         * UIProcess/API/gtk/docs/GNUmakefile.am: Ignore WEBKIT_API
2354         decorator in docs.
2355         * UIProcess/API/gtk/webkit2.h: Include <webkit2/WebKitDefines.h>
2356
2357 2011-10-06  Alexis Menard  <alexis.menard@openbossa.org>
2358
2359         [Qt][WK2] Cursor should change when hovering links or input fields.
2360         https://bugs.webkit.org/show_bug.cgi?id=69519
2361
2362         Reviewed by Simon Hausmann.
2363
2364         This is a temporary fix until Qt5 brings support for changing cursor
2365         per item. This patch enforce the change of the cursor at application
2366         level.
2367
2368         * UIProcess/API/qt/qdesktopwebview.cpp:
2369         (QDesktopWebViewPrivate::didChangeCursor):
2370
2371 2011-10-06  Zeno Albisser  <zeno.albisser@nokia.com>
2372
2373         [Qt][WK2][Mac] QtWebProcess should not show up in the Dock.
2374         https://bugs.webkit.org/show_bug.cgi?id=69432
2375
2376         We can set the environment variable QT_MAC_DISABLE_FOREGROUND_APPLICATION_TRANSFORM
2377         in the WebProcess stub to disable the automatic foreground transformation.
2378
2379         Reviewed by Andreas Kling.
2380
2381         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
2382         (WebKit::QtWebProcess::setupChildProcess):
2383
2384 2011-10-03  Andy Estes  <aestes@apple.com>
2385
2386         Add an option to suppress rendering until the document's load event fires.
2387         https://bugs.webkit.org/show_bug.cgi?id=69298
2388
2389         Reviewed by Simon Fraser.
2390         
2391         Add a new WKPreference.
2392
2393         * Shared/WebPreferencesStore.h:
2394         * UIProcess/API/C/WKPreferences.cpp:
2395         (WKPreferencesSetSuppressRenderingWhileInitiallyLoading):
2396         (WKPreferencesGetSuppressRenderingWhileInitiallyLoading):
2397         * UIProcess/API/C/WKPreferences.h:
2398         * WebProcess/WebPage/WebPage.cpp:
2399         (WebKit::WebPage::updatePreferences):
2400
2401 2011-10-05  Simon Fraser  <simon.fraser@apple.com>
2402
2403         r96770 broke binary compatibility with Safari
2404         https://bugs.webkit.org/show_bug.cgi?id=69496
2405
2406         Reviewed by Dan Bernstein.
2407         
2408         Fix binary compatibility issue by declaring the deprecated methods inside a extern "C" block.
2409
2410         * UIProcess/API/C/WKContext.cpp:
2411
2412 2011-10-05  Jer Noble  <jer.noble@apple.com>
2413
2414         Enable WEB_AUDIO by default in the WebKit/mac port.
2415         https://bugs.webkit.org/show_bug.cgi?id=68587
2416
2417         Reviewed by Simon Fraser.
2418
2419         * Configurations/FeatureDefines.xcconfig:
2420
2421 2011-10-05  Simon Fraser  <simon.fraser@apple.com>
2422
2423         In WebKitTestRunner, text has font smoothing in pixel snapshots
2424         https://bugs.webkit.org/show_bug.cgi?id=69396
2425
2426         Reviewed by Darin Adler.
2427         
2428         Plumb through a method on WKContext that controls whether font smoothing
2429         is enabled. Since this is a global setting, such a method is more appropriate
2430         than a preference.
2431         
2432         Remove leading underscores on some WKContext functions, but keep
2433         exported versions of same for binary compatibility.
2434
2435         * Shared/WebProcessCreationParameters.cpp:
2436         (WebKit::WebProcessCreationParameters::WebProcessCreationParameters):
2437         (WebKit::WebProcessCreationParameters::encode):
2438         (WebKit::WebProcessCreationParameters::decode):
2439         * Shared/WebProcessCreationParameters.h:
2440         * UIProcess/API/C/WKContext.cpp:
2441         (WKContextSetAlwaysUsesComplexTextCodePath):
2442         (WKContextSetShouldUseFontSmoothing):
2443         (WKContextSetAdditionalPluginsDirectory):
2444         (WKContextRegisterURLSchemeAsEmptyDocument):
2445         (WKContextSetHTTPPipeliningEnabled):
2446         (_WKContextSetAdditionalPluginsDirectory):
2447         (_WKContextRegisterURLSchemeAsEmptyDocument):
2448         (_WKContextSetAlwaysUsesComplexTextCodePath):
2449         (_WKContextSetHTTPPipeliningEnabled):
2450         * UIProcess/API/C/WKContextPrivate.h:
2451         * UIProcess/WebContext.cpp:
2452         (WebKit::WebContext::WebContext):
2453         (WebKit::WebContext::ensureWebProcess):
2454         (WebKit::WebContext::setShouldUseFontSmoothing):
2455         (WebKit::WebContext::httpPipeliningEnabled):
2456         * UIProcess/WebContext.h:
2457         * WebProcess/WebProcess.cpp:
2458         (WebKit::WebProcess::initializeWebProcess):
2459         (WebKit::WebProcess::setShouldUseFontSmoothing):
2460         * WebProcess/WebProcess.h:
2461         * WebProcess/WebProcess.messages.in:
2462
2463 2011-10-05  Anders Carlsson  <andersca@apple.com>
2464
2465         Flash of white when unminimizing windows
2466         https://bugs.webkit.org/show_bug.cgi?id=69476
2467         <rdar://problem/10202680>
2468
2469         Reviewed by Simon Fraser.
2470
2471         Whenever the UI process requests an immediate backing store update, make sure to resume
2472         painting if it's suspended.
2473
2474         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2475         (WebKit::DrawingAreaImpl::updateBackingStoreState):
2476
2477 2011-10-05  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2478
2479         [Qt] [WK2] Support JS alert/confirm/prompt in QDesktopWebView
2480         https://bugs.webkit.org/show_bug.cgi?id=69274
2481
2482         Reviewed by Andreas Kling.
2483
2484         Use currently existing QtWidgets to provide an implementation of
2485         window.alert(), window.confirm() and window.prompt().
2486
2487         * Shared/WebString.h:
2488         (WebKit::WebString::createNull):
2489         (WebKit::WebString::WebString):
2490         Add a way to create a Null WebString. RunJavaScriptPrompt will differentiate
2491         between empty and null strings.
2492
2493         * UIProcess/API/qt/qdesktopwebview.cpp:
2494         (QDesktopWebViewPrivate::enableMouseEvents):
2495         (QDesktopWebViewPrivate::disableMouseEvents):
2496         Create helper functions to enable and disable mouse events. This is useful for
2497         disabling mouse events in the WebView when we show QtWidget dialogs to avoid
2498         unwanted interaction with the page.
2499
2500         (QDesktopWebViewPrivate::runJavaScriptAlert):
2501         (QDesktopWebViewPrivate::runJavaScriptConfirm):
2502         (QDesktopWebViewPrivate::runJavaScriptPrompt):
2503         (QDesktopWebView::init):
2504         * UIProcess/API/qt/qdesktopwebview_p.h:
2505         * UIProcess/qt/ClientImpl.cpp:
2506         (qt_wk_runJavaScriptAlert):
2507         (qt_wk_runJavaScriptConfirm):
2508         (createNullWKString):
2509         (qt_wk_runJavaScriptPrompt):
2510         * UIProcess/qt/ClientImpl.h:
2511         * UIProcess/qt/QtWebPageProxy.cpp:
2512         (QtWebPageProxy::init):
2513         * UIProcess/qt/TouchViewInterface.cpp:
2514         (WebKit::TouchViewInterface::runJavaScriptAlert):
2515         (WebKit::TouchViewInterface::runJavaScriptConfirm):
2516         (WebKit::TouchViewInterface::runJavaScriptPrompt):
2517         * UIProcess/qt/TouchViewInterface.h:
2518         * UIProcess/qt/ViewInterface.h:
2519
2520 2011-10-05  Chang Shu  <cshu@webkit.org>
2521
2522         [WK2] Support setMarkedText/hasMarkedText/unmarkText/insertText for WTR TextInputController
2523         https://bugs.webkit.org/show_bug.cgi?id=68924
2524
2525         Implemented WKBundlePage private APIs to support the above functions.
2526
2527         Reviewed by Darin Adler.
2528
2529         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
2530         (WKBundlePageSetComposition):
2531         (WKBundlePageHasComposition):
2532         (WKBundlePageConfirmComposition):
2533         (WKBundlePageConfirmCompositionWithText):
2534         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
2535         * WebProcess/WebPage/WebPage.cpp:
2536         (WebKit::WebPage::setCompositionForTesting):
2537         (WebKit::WebPage::hasCompositionForTesting):
2538         (WebKit::WebPage::confirmCompositionForTesting):
2539         * WebProcess/WebPage/WebPage.h:
2540
2541 2011-10-05  Alexey Proskuryakov  <ap@apple.com>
2542
2543         [Mac] Make built-in PDF description localizable
2544         https://bugs.webkit.org/show_bug.cgi?id=69442
2545
2546         Reviewed by Dan Bernstein.
2547
2548         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: Use a localized string instead of a literal one.
2549
2550 2011-10-05  Chang Shu  <cshu@webkit.org>
2551
2552         [WK2] WebKitTestRunner needs LayoutTestController.dumpConfigurationForViewport
2553         https://bugs.webkit.org/show_bug.cgi?id=69365
2554
2555         Reviewed by Darin Adler.
2556
2557         Implement retrieving viewport configuration as text in WebProcess.
2558
2559         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
2560         (WKBundlePageViewportConfigurationAsText):
2561         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
2562         * WebProcess/WebPage/WebPage.cpp:
2563         (WebKit::WebPage::viewportConfigurationAsText):
2564         * WebProcess/WebPage/WebPage.h:
2565
2566 2011-10-05  Alexis Menard  <alexis.menard@openbossa.org>
2567
2568         [Qt][WK2] Default directories and paths are missing for LocalStorage, Database and IconDatabase.
2569         https://bugs.webkit.org/show_bug.cgi?id=69111
2570
2571         Reviewed by Kenneth Rohde Christiansen.
2572
2573         Provide default path for LocalStorage, Database and IconDatabase using QDesktopServices.
2574
2575         * UIProcess/qt/WebContextQt.cpp:
2576         (WebKit::defaultDataLocation):
2577         (WebKit::WebContext::platformInitializeWebProcess):
2578         (WebKit::WebContext::platformDefaultDatabaseDirectory):
2579         (WebKit::WebContext::platformDefaultIconDatabasePath):
2580         (WebKit::WebContext::platformDefaultLocalStorageDirectory):
2581
2582 2011-10-05  Carlos Garcia Campos  <cgarcia@igalia.com>
2583
2584         [GTK] Use WKRetainPtr for WK types in WebKit2 GTK+
2585         https://bugs.webkit.org/show_bug.cgi?id=69404
2586
2587         Reviewed by Martin Robinson.
2588
2589         * UIProcess/API/gtk/WebKitWebContext.cpp:
2590         (webkitWebContextFinalize):
2591         (createDefaultWebContext):
2592         (webkitWebContextGetWKContext):
2593         * UIProcess/API/gtk/WebKitWebView.cpp:
2594         (webkit_web_view_load_uri):
2595         (webkit_web_view_load_alternate_html):
2596
2597 2011-10-04  Kent Tamura  <tkent@chromium.org>
2598
2599         Introduce feature flags for incomplete input types
2600         https://bugs.webkit.org/show_bug.cgi?id=68971
2601
2602         Reviewed by Hajime Morita.
2603
2604         * Configurations/FeatureDefines.xcconfig:
2605         Add ENABLE_INPUT_TYPE_* flags. They are enabled only for iOS.
2606
2607 2011-10-04  Scott Graham  <scottmg@chromium.org>
2608
2609         Add GAMEPAD feature flag
2610         https://bugs.webkit.org/show_bug.cgi?id=66859
2611
2612         Reviewed by Darin Fisher.
2613
2614         * Configurations/FeatureDefines.xcconfig:
2615
2616 2011-10-04  Ada Chan  <adachan@apple.com>
2617
2618         toURLRef() in WKSharedAPICast.h should return null for a null string
2619         https://bugs.webkit.org/show_bug.cgi?id=69380
2620
2621         Reviewed by Jon Honeycutt.
2622
2623         * Shared/API/c/WKSharedAPICast.h:
2624         (WebKit::toURLRef): Add the missing "return" for the null string case.
2625
2626 2011-10-04  Alexey Proskuryakov  <ap@apple.com>
2627
2628         https://bugs.webkit.org/show_bug.cgi?id=67774
2629         PDF in a frameset is not displayed, always downloads
2630
2631         Reviewed by Darin Adler.
2632
2633         * WebKit2.xcodeproj/project.pbxproj:
2634         * WebProcess/Plugins/PDF: Added.
2635         Added BuiltInPDFView class. It implements ScrollableArea and Plugin, working with iframes,
2636         objects and embeds. The implementation targets Mac port only, fixing a WebKit2 regression.
2637
2638         * UIProcess/WebContext.cpp: (WebKit::WebContext::getPlugins): Tell WebCore that there is a
2639         plug-in for PDF, so that it instantiates it in a regular fashion.
2640
2641         * UIProcess/WebFrameProxy.cpp: (WebKit::WebFrameProxy::canShowMIMEType): We can now show
2642         PDF not only in main frame.
2643
2644         * WebProcess/Plugins/PDF/BuiltInPDFView.cpp: Added. This is largely an implementation of
2645         ScrollableArea now, which can render the first page of a PDF. Further improvements to come.
2646
2647         * WebProcess/Plugins/PDF/BuiltInPDFView.h: Added.
2648
2649         * WebProcess/Plugins/Plugin.cpp: (WebKit::Plugin::updateControlTints): Give Plugin a chance
2650         to invalidate its tintable controls - it's necessary for PDF because scrollbars are tintable. 
2651
2652         * WebProcess/Plugins/Plugin.h: (WebKit::Plugin::controller): Added a const version, since
2653         some ScrollableArea methods are const.
2654
2655         * WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::paint): Call updateControlTints
2656         at updatingControlTints phase.
2657
2658         * WebProcess/Plugins/PluginView.h: PDF plug-in needs to tinker with embedding FrameView to
2659         use Scrollbar class, so it needs to cast its PluginController up to PluginView. It's unfortunate
2660         that PluginView has so much NPAPI specific code, but that's how it is now.
2661
2662         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::createPlugin): If there is no real plug-in
2663         installed for PDF, instantiate built-in one.
2664
2665 2011-10-04  Jon Lee  <jonlee@apple.com>
2666
2667         REGRESSION (WK2): (Shift-)option-tabbing skips over elements when transitioning from chrome to webview
2668         https://bugs.webkit.org/show_bug.cgi?id=68412
2669         <rdar://problem/9988252>
2670
2671         Reviewed by Darin Adler.
2672
2673         In WK1 setInitialFocus() is called on FocusController with the key event that
2674         caused the web view to become first responder. In WK2 no event is sent. So if
2675         the key stroke that caused the change in first responder status contains the
2676         option modifier key, FocusController did not know that it had to switch behavior.
2677
2678         Because there are multiple ways that the WKView can becomeFirstResponder, I changed
2679         the signature to setInitialFocus to express whether the key event parameter is an
2680         actual key event.
2681
2682         * UIProcess/API/C/win/WKView.cpp:
2683         (WKViewSetInitialFocus):
2684         * UIProcess/API/mac/WKView.mm:
2685         (-[WKView becomeFirstResponder]): Take the NSApp currentEvent and pass it along if
2686         the event is a keyboard event, otherwise pass an empty event.
2687         * UIProcess/WebPageProxy.cpp:
2688         (WebKit::WebPageProxy::setInitialFocus): Change in function signature to confirm that
2689         the event that caused the initial focus was a keyboard event, and provide the keyboard
2690         event itself.
2691         * UIProcess/WebPageProxy.h:
2692         * UIProcess/win/WebView.cpp:
2693         (WebKit::WebView::setInitialFocus):
2694         * UIProcess/win/WebView.h:
2695         * WebProcess/WebPage/WebPage.cpp:
2696         (WebKit::WebPage::setInitialFocus): If we know that the cause of this was a keyboard
2697         event, we pass that event to the FocusController. Otherwise we fall back to the original
2698         behavior, which is to pass no event at all.
2699         * WebProcess/WebPage/WebPage.h:
2700         * WebProcess/WebPage/WebPage.messages.in:
2701
2702 2011-10-04  Jeff Miller  <jeffm@apple.com>
2703
2704         WKPreferences should allow control of application chrome mode
2705         https://bugs.webkit.org/show_bug.cgi?id=69344
2706
2707         Reviewed by Dan Bernstein.
2708
2709         * Shared/WebPreferencesStore.h: Add application chrome mode setting to FOR_EACH_WEBKIT_BOOL_PREFERENCE().
2710
2711         * UIProcess/API/C/WKPreferences.cpp:
2712         (WKPreferencesSetApplicationChromeModeEnabled): Added.
2713         (WKPreferencesGetApplicationChromeModeEnabled): Added.
2714
2715         * UIProcess/API/C/WKPreferencesPrivate.h: Added WKPreferencesSetApplicationChromeModeEnabled() and WKPreferencesGetApplicationChromeModeEnabled().
2716
2717         * WebProcess/WebPage/WebPage.cpp:
2718         (WebKit::WebPage::updatePreferences): Set application chrome mode setting.
2719
2720 2011-10-04  Carlos Garcia Campos  <cgarcia@igalia.com>
2721
2722         [GTK] Implement default error pages in WebKit2 GTK+ API
2723         https://bugs.webkit.org/show_bug.cgi?id=69255
2724
2725         Reviewed by Martin Robinson.
2726
2727         * UIProcess/API/gtk/WebKitError.cpp:
2728         (webkit_policy_error_quark): Add quark for policy errors.
2729         (webkit_plugin_error_quark): Add quark for plugin errors.
2730         * UIProcess/API/gtk/WebKitError.h: Add policy and plugin errors.
2731         * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
2732         (webkitWebLoaderClientLoadFailed): Load a custom error page when
2733         load failed and signal has not been handled.
2734         (webkit_web_loader_client_class_init): Add default implementation
2735         for provisional_load_failed and load_failed virtual methods.
2736
2737 2011-10-04  Carlos Garcia Campos  <cgarcia@igalia.com>
2738
2739         [GTK] Add webkit_web_view_load_alternate_html() to WebKit2 GTK+ API
2740         https://bugs.webkit.org/show_bug.cgi?id=69254
2741
2742         Reviewed by Martin Robinson.
2743
2744         * UIProcess/API/gtk/WebKitWebView.cpp:
2745         (webkit_web_view_load_alternate_html):
2746         * UIProcess/API/gtk/WebKitWebView.h:
2747         * UIProcess/API/gtk/tests/testloading.c:
2748         (loadAlternateContentLoadFinished):
2749         (loadAlternateContentLoadFailed):
2750         (testLoadAlternateContent):
2751         (main):
2752
2753 2011-10-03  Jon Lee  <jonlee@apple.com>
2754
2755         Extend DOM WheelEvent to differentiate between physical and logical scroll directions
2756         https://bugs.webkit.org/show_bug.cgi?id=68959
2757         <rdar://problem/10036688>
2758
2759         Reviewed by Sam Weinig.
2760
2761         * Shared/WebEvent.h:
2762         (WebKit::WebWheelEvent::directionInvertedFromDevice):
2763         * Shared/WebEventConversion.cpp:
2764         (WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
2765         * Shared/WebWheelEvent.cpp:
2766         (WebKit::WebWheelEvent::WebWheelEvent):
2767         (WebKit::WebWheelEvent::encode):
2768         (WebKit::WebWheelEvent::decode):
2769         * Shared/mac/WebEventFactory.mm:
2770         (WebKit::WebEventFactory::createWebWheelEvent): get the flag from the NSEvent.
2771         * UIProcess/WebPageProxy.cpp:
2772         (WebKit::coalesce):
2773
2774 2011-10-04  Nayan Kumar K  <nayankk@motorola.com>
2775
2776         [WebKit2][gtk] Generate gtk-doc for WebKit2-GTK.
2777         https://bugs.webkit.org/show_bug.cgi?id=69325
2778
2779         Reviewed by Gustavo Noronha Silva.
2780
2781         Documentation generation for WebKit2-GTK+ APIs
2782         using gtk-doc.
2783
2784         * GNUmakefile.am: Added doc generation files to EXTRA_DIST.
2785         * UIProcess/API/gtk/docs/GNUmakefile.am: Makefile for doc generation.
2786         * UIProcess/API/gtk/docs/version.xml.in: Version information.
2787         * UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Document template.
2788         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Document sections added.
2789         * UIProcess/API/gtk/docs/webkit2gtk.types: Added GObjects types.
2790
2791 2011-10-04  Nayan Kumar K  <nayankk@motorola.com>
2792
2793         [WebKit2][gtk] Fix warnings while generating documentation using gtk-doc.
2794         https://bugs.webkit.org/show_bug.cgi?id=69329
2795
2796         Reviewed by Martin Robinson.
2797
2798         Added documentation for WebKitNetworkError enum and corrected few other
2799         minor issues in WebKit2-GTK+ API documentation.
2800
2801         * UIProcess/API/gtk/WebKitError.h: Added documentation for WebKitNetworkError.
2802         * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
2803         (webkit_web_loader_client_class_init): Corrected parameter name.
2804         * UIProcess/API/gtk/WebKitWebView.cpp: Corrected annotation.
2805
2806 2011-10-04  Vsevolod Vlasov  <vsevik@chromium.org>
2807
2808         Web Inspector: Remove http/tests/inspector/network/disabled-cache-crash.html.
2809         https://bugs.webkit.org/show_bug.cgi?id=69332
2810
2811         Reviewed by Pavel Feldman.
2812
2813         * win/WebKit2.def:
2814         * win/WebKit2CFLite.def:
2815
2816 2011-10-03  Anders Carlsson  <andersca@apple.com>
2817
2818         Content area does not return to the correct position after rubberbanding
2819         https://bugs.webkit.org/show_bug.cgi?id=69302
2820         <rdar://problem/10102886>
2821
2822         Reviewed by Sam Weinig.
2823
2824         Make sure to schedule a display after adding to the dirty region.
2825
2826         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2827         (WebKit::DrawingAreaImpl::scroll):
2828
2829 2011-10-03  Anders Carlsson  <andersca@apple.com>
2830
2831         Remove custom scrollbar painting hooks
2832         https://bugs.webkit.org/show_bug.cgi?id=69163
2833
2834         Remove overridden ChromeClient member functions.
2835
2836         Reviewed by Alexey Proskuryakov.
2837
2838         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2839         * WebProcess/WebCoreSupport/WebChromeClient.h:
2840
2841 2011-10-03  Jer Noble  <jer.noble@apple.com>
2842
2843         Unreviewed, rolling out r96526.
2844         http://trac.webkit.org/changeset/96526
2845         https://bugs.webkit.org/show_bug.cgi?id=68587
2846
2847         WEB_AUDIO has numerous 64->32 bit casting warnings, causing
2848         build breakages where -Wall is enabled.
2849
2850         * Configurations/FeatureDefines.xcconfig:
2851
2852 2011-10-03  Jer Noble  <jer.noble@apple.com>
2853
2854         Enable WEB_AUDIO by default in the WebKit/mac port.
2855         https://bugs.webkit.org/show_bug.cgi?id=68587
2856
2857         Reviewed by Simon Fraser.
2858
2859         * Configurations/FeatureDefines.xcconfig:
2860
2861 2011-10-03  Carlos Garcia Campos  <cgarcia@igalia.com>
2862
2863         [GTK] Add failing uri parameter to provisional-load-failed and load-failed signals
2864         https://bugs.webkit.org/show_bug.cgi?id=69252
2865
2866         Reviewed by Martin Robinson.
2867
2868         * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
2869         (didFailProvisionalLoadWithErrorForFrame): Pass failing URL to
2870         signal handler.
2871         (didFailLoadWithErrorForFrame): Ditto.
2872         (webkit_web_loader_client_class_init): Add failing URL parameter
2873         to provisional-load-failed and load-failed signals.
2874         * UIProcess/API/gtk/WebKitWebLoaderClient.h:
2875         * UIProcess/API/gtk/tests/testloading.c:
2876         (loadStatusProvisionalLoadFailed): Update to API changes.
2877         (loadStatusLoadFailed): Ditto.
2878         (loadErrorProvisionalLoadFailed): Ditto.
2879         * UIProcess/API/gtk/webkit2marshal.list:
2880
2881 2011-10-03  Carlos Garcia Campos  <cgarcia@igalia.com>
2882
2883         [GTK] Fix memory leak when loading url
2884         https://bugs.webkit.org/show_bug.cgi?id=69247
2885
2886         Reviewed by Martin Robinson.
2887
2888         Release URL created with WKURLCreateWithUTF8CString().
2889
2890         * UIProcess/API/gtk/WebKitWebView.cpp:
2891         (webkit_web_view_load_uri):
2892
2893 2011-10-03  Carlos Garcia Campos  <cgarcia@igalia.com>
2894
2895         [UNIX] Rename NetscapePluginModule::pluginInfo to NetscapePluginModule::getPluginInfoForLoadedPlugin()
2896         https://bugs.webkit.org/show_bug.cgi?id=69147
2897
2898         Reviewed by Martin Robinson.
2899
2900         * Shared/Plugins/Netscape/NetscapePluginModule.h:
2901         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
2902         (WebKit::NetscapePluginModule::getPluginInfoForLoadedPlugin):
2903         (WebKit::NetscapePluginModule::getPluginInfo):
2904
2905 2011-10-03  Zeno Albisser  <zeno.albisser@nokia.com>
2906
2907         [Qt][WebKit2][Mac] WebProcess should exit automatically when UIProcess dies.
2908         https://bugs.webkit.org/show_bug.cgi?id=68439
2909
2910         We use a dispatch queue and a dispatch source in the WebProcess
2911         to receive a notification when the UI Process dies.
2912         The WebProcess then commits suicide.
2913
2914         Reviewed by Andreas Kling.
2915
2916         * WebProcess/qt/WebProcessQt.cpp:
2917         (WebKit::parentProcessDiedCallback):
2918         (WebKit::WebProcess::platformInitializeWebProcess):
2919
2920 2011-10-02  Zeno Albisser  <zeno.albisser@nokia.com>
2921
2922         [Qt][WK2][Mac] WebKit2 does not build on mac after merge of Qt5 refactor branch.
2923         https://bugs.webkit.org/show_bug.cgi?id=69223
2924
2925         After the merge of the Qt5 refactor branch, networking stuff has been
2926         extracted into a separate library. The qmlplugin needs to link to that
2927         library to get QNetworkReply defined.
2928
2929         Reviewed by Noam Rosenthal.
2930
2931         * UIProcess/API/qt/qmlplugin/qmlplugin.pro:
2932
2933 2011-10-01  Geoffrey Garen  <ggaren@apple.com>
2934
2935         Removed redundant helper functions for allocating Strong handles
2936         https://bugs.webkit.org/show_bug.cgi?id=69218
2937
2938         Reviewed by Sam Weinig.
2939
2940         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
2941         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
2942
2943 2011-09-30  Sam Weinig  <sam@webkit.org>
2944
2945         Add support for eventSender.mouseScrollBy in WTR
2946         https://bugs.webkit.org/show_bug.cgi?id=69189
2947
2948         Reviewed by Simon Fraser.
2949
2950         * UIProcess/WebPageProxy.cpp:
2951         (WebKit::WebPageProxy::handleWheelEvent):
2952         * WebProcess/WebPage/WebPage.cpp:
2953         (WebKit::WebPage::wheelEventSyncForTesting):
2954         * WebProcess/WebPage/WebPage.h:
2955         * WebProcess/WebPage/WebPage.messages.in:
2956         Add sync version of wheel event handling for use in testing.
2957
2958 2011-09-30  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2959
2960         [Qt] Add missing include for QMimeData
2961         https://bugs.webkit.org/show_bug.cgi?id=69178
2962
2963         Reviewed by Tor Arne Vestbø.
2964
2965         This was implicitly included by other headers, but due to changes in
2966         Qt5 we need to include explicitly.
2967
2968         * UIProcess/qt/QtWebPageProxy.cpp:
2969         * WebProcess/WebPage/WebPage.cpp:
2970
2971 2011-09-30  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2972
2973         [Qt] Prevent qDebug() output from DRT and WTR unless --verbose
2974
2975         For DRT we didn't install the message handler early enough to
2976         catch output while constructing the QApplication. For WTR we
2977         didn't even install a message handler.
2978
2979         Since the UI process will forward any output from the web process
2980         we set an environment variable QT_WEBKIT_SUPPRESS_WEB_PROCESS_OUTPUT
2981         in WTR before the web process is started. This is picked up by the
2982         web process which installs its own message handler.
2983
2984         The environment variable can be overriden on the command line if you
2985         want to see output from the web process, or you can pass --verbose to
2986         WTR to see output from both processes.
2987
2988         https://bugs.webkit.org/show_bug.cgi?id=69132
2989
2990         Reviewed by Andreas Kling.
2991
2992         * WebProcess/qt/WebProcessMainQt.cpp:
2993
2994 2011-09-30  Anders Carlsson  <andersca@apple.com>
2995
2996         Remove didCompleteRubberBandForMainFrame UIClient callback
2997         https://bugs.webkit.org/show_bug.cgi?id=69161
2998
2999         Reviewed by Adam Roben.
3000
3001         * UIProcess/API/C/WKPage.h:
3002         * UIProcess/WebPageProxy.cpp:
3003         * UIProcess/WebPageProxy.h:
3004         * UIProcess/WebPageProxy.messages.in:
3005         * UIProcess/WebUIClient.cpp:
3006         * UIProcess/WebUIClient.h:
3007         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3008         (WebKit::WebChromeClient::didCompleteRubberBandForFrame):
3009
3010 2011-09-30  Qi Zhang  <qi.2.zhang@nokia.com>
3011
3012         WebKitTestRunner needs layoutTestController.setAppCacheMaximumSize
3013         https://bugs.webkit.org/show_bug.cgi?id=42698
3014
3015         Reviewed by Andreas Kling.
3016
3017         Implemented layoutTestController.setAppCacheMaximumSize and layoutTestController.clearApplicationCache,
3018         and call clearApplicationCache when layoutTest start up.
3019
3020         * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
3021         (WebKit::WebApplicationCacheManager::setAppCacheMaximumSize):
3022         * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
3023         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
3024         (WKBundleClearApplicationCache):
3025         (WKBundleSetAppCacheMaximumSize):
3026         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
3027         * WebProcess/InjectedBundle/InjectedBundle.cpp:
3028         (WebKit::InjectedBundle::clearApplicationCache):
3029         (WebKit::InjectedBundle::setAppCacheMaximumSize):
3030         * WebProcess/InjectedBundle/InjectedBundle.h:
3031
3032 2011-09-30  Carlos Garcia Campos  <cgarcia@igalia.com>
3033
3034         [UNIX] Add a method to get information for an already loaded plugin module
3035         https://bugs.webkit.org/show_bug.cgi?id=69139
3036
3037         Reviewed by Martin Robinson.
3038
3039         * Shared/Plugins/Netscape/NetscapePluginModule.h: Add pluginInfo().
3040         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
3041         (WebKit::NetscapePluginModule::pluginInfo): Private method to get
3042         the plugin information from the module, it must be called when the
3043         module has been already initialized.
3044         (WebKit::NetscapePluginModule::getPluginInfo): Use pluginInfo() to
3045         get information of the plugin module for the given path.
3046
3047 2011-09-30  Zeno Albisser  <zeno.albisser@nokia.com>
3048
3049         [Qt][WK2] Event delivery in QDesktopWebView is broken after merge of Qt5 refactor
3050         https://bugs.webkit.org/show_bug.cgi?id=69105
3051
3052         This changes QDesktopWebView and QDesktopWebPageProxy to use QMouseEvent instead
3053         of QGraphicsSceneMouseEvent.
3054         Further it removes an endless loop introduced by the QSGItem::event() function
3055         delivering inputMethodEvents but no other events.
3056
3057         Reviewed by Andreas Kling.
3058
3059         * Shared/NativeWebMouseEvent.h:
3060         (WebKit::NativeWebMouseEvent::nativeEvent):
3061         * Shared/NativeWebWheelEvent.h:
3062         (WebKit::NativeWebWheelEvent::nativeEvent):
3063         * Shared/qt/NativeWebMouseEventQt.cpp:
3064         (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
3065         * Shared/qt/NativeWebWheelEventQt.cpp:
3066         (WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
3067         * Shared/qt/WebEventFactoryQt.cpp:
3068         (WebKit::mouseButtonForEvent):
3069         (WebKit::webEventTypeForEvent):
3070         (WebKit::WebEventFactory::createWebMouseEvent):
3071         (WebKit::WebEventFactory::createWebWheelEvent):
3072         * Shared/qt/WebEventFactoryQt.h:
3073         * UIProcess/API/qt/qdesktopwebview.cpp:
3074         (QDesktopWebView::mousePressEvent):
3075         (QDesktopWebView::mouseMoveEvent):
3076         (QDesktopWebView::mouseReleaseEvent):
3077         (QDesktopWebView::mouseDoubleClickEvent):
3078         (QDesktopWebView::wheelEvent):
3079         (QDesktopWebView::event):
3080         * UIProcess/API/qt/qdesktopwebview.h:
3081         * UIProcess/qt/qdesktopwebpageproxy.cpp:
3082         (QDesktopWebPageProxy::handleEvent):
3083         (QDesktopWebPageProxy::handleMouseMoveEvent):
3084         (QDesktopWebPageProxy::handleMousePressEvent):
3085         (QDesktopWebPageProxy::handleMouseReleaseEvent):
3086         (QDesktopWebPageProxy::handleMouseDoubleClickEvent):
3087         (QDesktopWebPageProxy::handleWheelEvent):
3088         (QDesktopWebPageProxy::handleHoverMoveEvent):
3089         * UIProcess/qt/qdesktopwebpageproxy.h:
3090
3091 2011-09-29  Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com>
3092
3093         Initial implementation of WebInspector for WebKit2 GTK port.
3094         https://bugs.webkit.org/show_bug.cgi?id=68235
3095
3096         Reviewed by Martin Robinson.
3097
3098         * UIProcess/WebInspectorProxy.cpp:
3099         (WebKit::WebInspectorProxy::WebInspectorProxy): Initialize the native window handles of GTK.
3100         * UIProcess/WebInspectorProxy.h: Add native window handle for inspector window.
3101         * UIProcess/gtk/WebInspectorGtk.cpp:
3102         (WebKit::inspectorFilesBasePath): Base folder for inspector resources.
3103         (WebKit::inspectorWindowDestroyed): Invoked when inspector window is closed by user.
3104         (WebKit::WebInspectorProxy::windowDestroyed): Resets the native handles to 0 when user closes the window.
3105         (WebKit::WebInspectorProxy::platformCreateInspectorPage): Create the WebView for inspector.
3106         (WebKit::WebInspectorProxy::platformOpen): Create the window for inspector.
3107         (WebKit::WebInspectorProxy::platformDidClose): Close both WebView & window of inspector.
3108         (WebKit::WebInspectorProxy::platformInspectedURLChanged): Update the title of inspector window.
3109         (WebKit::WebInspectorProxy::inspectorPageURL): Return the absolute URL of inspector.html.
3110         (WebKit::WebInspectorProxy::inspectorBaseURL): Return the location where inspector resources are present.
3111         WebProcess is given read access to this folder only for loading file URLs by sandboxed extension.
3112
3113 2011-09-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3114
3115         [Qt] Fix build against Qt5 after refactor of widgets out of QtGUi
3116
3117         QWidget and friends now live in the QtWidgets library. We update
3118         includes in implementation files and private headers to us the
3119         non-module-prefixed path, and leave the lookup for the include
3120         path. For public headers we have to ifdef the includes as the
3121         user might now have the modules we need in his QT config.
3122
3123         Finally, QSGCanvas is no longer a QWidget but a QWindow, so we
3124         have to update our code and use windowHandle() for setting the
3125         parent relationships.
3126
3127         https://bugs.webkit.org/show_bug.cgi?id=68687
3128
3129         Reviewed by Andreas Kling.
3130
3131         * UIProcess/API/qt/qdesktopwebview.cpp:
3132         * UIProcess/API/qt/qdesktopwebview.h:
3133         * UIProcess/API/qt/tests/tests.pro:
3134         * UIProcess/qt/ViewInterface.h:
3135         * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
3136
3137 2011-09-29  Carlos Garcia Campos  <cgarcia@igalia.com>
3138
3139         [GTK] Force single header include in WebKit2 GTK+ API
3140         https://bugs.webkit.org/show_bug.cgi?id=69084
3141
3142         Reviewed by Martin Robinson.
3143
3144         Only <webkit2/webkit2.h> will be allowed for API users.
3145
3146         * GNUmakefile.am:
3147         * UIProcess/API/gtk/WebKitError.h:
3148         * UIProcess/API/gtk/WebKitWebContext.h:
3149         * UIProcess/API/gtk/WebKitWebLoaderClient.h:
3150         * UIProcess/API/gtk/WebKitWebView.h:
3151         * UIProcess/API/gtk/WebKitWebViewBase.h:
3152         * UIProcess/API/gtk/webkit2.h:
3153
3154 2011-09-29  Carlos Garcia Campos  <cgarcia@igalia.com>
3155
3156         [GTK] Explicitly call destructors for objects initialized with placement new syntax
3157         https://bugs.webkit.org/show_bug.cgi?id=69079
3158
3159         Reviewed by Xan Lopez.
3160
3161         * UIProcess/API/gtk/WebKitWebContext.cpp:
3162         (webkitWebContextFinalize): Call ~WebKitWebContextPrivate().
3163         * UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
3164         (webkitWebLoaderClientFinalize): Call ~WebKitWebLoaderClient().
3165         (webkit_web_loader_client_class_init):
3166         * UIProcess/API/gtk/WebKitWebView.cpp:
3167         (webkitWebViewFinalize): Call ~WebKitWebViewPrivate().
3168         (webkit_web_view_class_init):
3169
3170 2011-09-28  Martin Robinson  <mrobinson@igalia.com>
3171
3172         Fix the WebGL build on WebKit2 GTK+.
3173
3174         * GNUmakefile.am: Add OPENGL_LIBS to WebKit2 targets.
3175
3176 2011-09-28  Brent Fulgham  <bfulgham@webkit.org>
3177
3178         WinCairo build fix.
3179
3180         * WebProcess/WebPage/WebFrame.h: Add include of <wtc/RetainPtr.h>
3181
3182 2011-09-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
3183
3184         One more shot at fixing GTK+, this seems to make the dependencies
3185         work.
3186
3187         * GNUmakefile.am:
3188
3189 2011-09-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
3190
3191         GTK+ build fix 3 - the return of the marshal.
3192
3193         * GNUmakefile.am:
3194
3195 2011-09-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
3196
3197         Second try at fixing the GTK+ build.
3198
3199         * GNUmakefile.am:
3200
3201 2011-09-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.com>
3202
3203         Try to fix GTK+ build.
3204
3205         * GNUmakefile.am:
3206
3207 2011-09-28  Carlos Garcia Campos  <cgarcia@igalia.com>
3208
3209         [GTK] Fix webkit2 unit tests in debug builds
3210         https://bugs.webkit.org/show_bug.cgi?id=69006
3211
3212         Reviewed by Martin Robinson.
3213
3214         We are currently using the WorQueue name as thread name which in
3215         this moment can be com.apple.WebKit.ProcessLauncher or
3216         com.apple.CoreIPC.ReceiveQueue. Both names are longer than 31
3217         characters which is the limit of Visual Studio for thread
3218         names. When log is enabled createThread() will assert instead of
3219         truncate the name, so we need to make sure we don't use a name
3220         longer than 31 characters.
3221
3222         * Platform/gtk/WorkQueueGtk.cpp:
3223         (WorkQueue::platformInitialize):
3224
3225 2011-09-28  Carlos Garcia Campos  <cgarcia@igalia.com>
3226
3227         [GTK] Loader client implementation for WebKit2 GTK+ API
3228         https://bugs.webkit.org/show_bug.cgi?id=68085
3229
3230         Reviewed by Martin Robinson.
3231
3232         Adds a new object, WebKitWebLoaderClient, that emits signals for
3233         every page loader callback.
3234
3235         * GNUmakefile.am: Add new files to compilation.
3236         * UIProcess/API/gtk/WebKitWebLoaderClient.cpp: Added.
3237         (didStartProvisionalLoadForFrame):
3238         (didReceiveServerRedirectForProvisionalLoadForFrame):
3239         (didFailProvisionalLoadWithErrorForFrame):
3240         (didCommitLoadForFrame):
3241         (didFinishLoadForFrame):
3242         (didFailLoadWithErrorForFrame):
3243         (webkitWebLoaderClientConstructed):
3244         (webkitWebLoaderClientSetProperty):
3245         (webkitWebLoaderClientGetProperty):
3246         (webkit_web_loader_client_init):
3247         (webkit_web_loader_client_class_init):
3248         * UIProcess/API/gtk/WebKitWebLoaderClient.h: Added.
3249         * UIProcess/API/gtk/WebKitWebView.cpp:
3250         (webkitWebViewConstructed): Create the loader client for the view.
3251         (webkit_web_view_init):
3252         (webkit_web_view_get_loader_client): Get the current loader client.
3253         (webkit_web_view_set_loader_client): Set a new loader client.
3254         * UIProcess/API/gtk/WebKitWebView.h:
3255         * UIProcess/API/gtk/tests/testloading.c: Added.
3256         (serverCallback):
3257         (webLoadingFixtureSetup):
3258         (webLoadingFixtureTeardown):
3259         (getURIForPath):
3260         (loadStatusProvisionalLoadStarted):
3261         (loadStatusProvisionalLoadReceivedServerRedirect):
3262         (loadStatusProvisionalLoadFailed):
3263         (loadStatusLoadCommitted):
3264         (loadStatusLoadFinished):
3265         (loadStatusLoadFailed):
3266         (testLoadingStatus):
3267         (loadErrorProvisionalLoadStarted):
3268         (loadErrorProvisionalLoadFailed):
3269         (loadErrorLoadFinished):
3270         (testLoadingError):
3271         (main):
3272         * UIProcess/API/gtk/webkit2marshal.list: Added.
3273
3274 2011-09-28  Carlos Garcia Campos  <cgarcia@igalia.com>
3275
3276         [GTK] Add WebKitError to GTK+ WebKit2 API
3277         https://bugs.webkit.org/show_bug.cgi?id=68508
3278
3279         Reviewed by Martin Robinson.
3280
3281         Add WebKitNetworkError enum to define network errors.
3282
3283         * GNUmakefile.am: Add new files to compilation.
3284         * UIProcess/API/gtk/WebKitError.cpp: Added.
3285         (webkit_network_error_quark):
3286         * UIProcess/API/gtk/WebKitError.h:
3287         * UIProcess/API/gtk/WebKitPrivate.h: Add
3288         COMPILE_ASSERT_MATCHING_ENUM macro.
3289         * UIProcess/API/gtk/webkit2.h: Add WebKitError.h and
3290         WebKitEnumTypes.h
3291
3292 2011-09-28  Carlos Garcia Campos  <cgarcia@igalia.com>
3293
3294         [GTK] Fix Programs/unittests/webkit2/testwebview
3295         https://bugs.webkit.org/show_bug.cgi?id=68993
3296
3297         Reviewed by Philippe Normand.
3298
3299         * GNUmakefile.am: Add -DWEBKIT_EXEC_PATH.
3300         * UIProcess/API/gtk/tests/testwebview.c:
3301         (main): Get WebProcess path from WEBKIT_EXEC_PATH environment
3302         variable.
3303
3304 2011-09-27  Mark Hahnenberg  <mhahnenberg@apple.com>
3305
3306         Add static version of JSCell::getCallData
3307         https://bugs.webkit.org/show_bug.cgi?id=68741
3308
3309         Reviewed by Darin Adler.
3310
3311         In this patch we just extract the bodies of the virtual getCallData methods
3312         throughout the JSCell inheritance hierarchy out into static methods, which are 
3313         now called from the virtual methods.  This is an intermediate step in trying to 
3314         move the virtual-ness of getCallData into our own method table stored in 
3315         ClassInfo.  We need to convert the methods to static methods because static methods 
3316         can be represented as function pointers rather than pointers to member functions, and
3317         function pointers are smaller and faster to call than pointers to member functions.
3318
3319         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
3320         (WebKit::JSNPMethod::getCallDataVirtual):
3321         (WebKit::JSNPMethod::getCallData):
3322         * WebProcess/Plugins/Netscape/JSNPMethod.h:
3323         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
3324         (WebKit::JSNPObject::getCallDataVirtual):
3325         (WebKit::JSNPObject::getCallData):
3326         * WebProcess/Plugins/Netscape/JSNPObject.h:
3327
3328 2011-09-27  Gopal Raghavan  <gopal.1.raghavan@nokia.com>
3329
3330         [Qt] QDesktopWebView load zero size view test missing
3331         https://bugs.webkit.org/show_bug.cgi?id=68655
3332
3333         Reviewed by Chang Shu.
3334
3335         Added test case to check load behavior with zero size view.
3336
3337         * UIProcess/API/qt/tests/qmltests/DesktopWebView/tst_loadZeroSizeView.qml: Added.
3338         * UIProcess/API/qt/tests/qmltests/qmltests.pro:
3339
3340 2011-09-27  Carlos Garcia Campos  <cgarcia@igalia.com>
3341
3342         [GTK] Use WebKitWebContext in WebKitWebView
3343         https://bugs.webkit.org/show_bug.cgi?id=67990
3344
3345         Reviewed by Martin Robinson.
3346
3347         Use webkit_web_context_get_default() instead of
3348         WKContextGetSharedProcessContext() and add API to create a view
3349         with a given web context and to return the current context
3350         associated to the view.
3351
3352         * GNUmakefile.am: Add new files to compilation.
3353         * UIProcess/API/gtk/WebKitPrivate.h: Added.
3354         * UIProcess/API/gtk/WebKitWebContext.cpp:
3355         (webkitWebContextGetWKContext): Private API to get the WKContext
3356         wrapped by the WebKitWebContext.
3357         * UIProcess/API/gtk/WebKitWebContextPrivate.h: Added.
3358         * UIProcess/API/gtk/WebKitWebView.cpp:
3359         (webkitWebViewConstructed): Create the webpage using the web
3360         context of the view.
3361         (webkitWebViewSetProperty):
3362         (webkitWebViewGetProperty):
3363         (webkit_web_view_init):
3364         (webkit_web_view_class_init):
3365         (webkit_web_view_new): Create a new view with the default context.
3366         (webkit_web_view_new_with_context): Create a new view with the
3367         given context.
3368         (webkit_web_view_get_context): Return the context.
3369         * UIProcess/API/gtk/WebKitWebView.h:
3370         * UIProcess/API/gtk/tests/testwebview.c: Added.
3371         (testWebViewDefaultContext):
3372         (main):
3373
3374 2011-09-27  Carlos Garcia Campos  <cgarcia@igalia.com>
3375
3376
3377         [GTK] Add WebKitWebContext to GTK API
3378         https://bugs.webkit.org/show_bug.cgi?id=67931
3379
3380         Reviewed by Philippe Normand.
3381
3382         Initial implementation of WebKitWebContext for WebKit2 GTK API.
3383
3384         * GNUmakefile.am: Add new files to compilation.
3385         * UIProcess/API/gtk/WebKitWebContext.cpp: Added.
3386         (webkitWebContextFinalize):
3387         (webkit_web_context_init):
3388         (webkit_web_context_class_init):
3389         (createDefaultWebContext):
3390         (webkit_web_context_get_default):
3391         * UIProcess/API/gtk/WebKitWebContext.h: Added.
3392         * UIProcess/API/gtk/tests/testwebcontext.c:
3393         (testWebContextDefault):
3394         (main):
3395         * UIProcess/API/gtk/webkit2.h: Add <webkit2/WebKitWebContext.h>.
3396
3397 2011-09-27  Sheriff Bot  <webkit.review.bot@gmail.com>
3398
3399         Unreviewed, rolling out r96108, r96111, r96113, and r96116.
3400         http://trac.webkit.org/changeset/96108
3401         http://trac.webkit.org/changeset/96111
3402         http://trac.webkit.org/changeset/96113
3403         http://trac.webkit.org/changeset/96116
3404         https://bugs.webkit.org/show_bug.cgi?id=68913
3405
3406         Wait for working Qt5 (Requested by ossy on #webkit).
3407
3408         * UIProcess/API/qt/qdesktopwebview.cpp:
3409         (QDesktopWebViewPrivate::startDrag):
3410         (QDesktopWebViewPrivate::didChangeToolTip):
3411         (QDesktopWebViewPrivate::didChangeCursor):
3412         (QDesktopWebViewPrivate::showContextMenu):
3413         (QDesktopWebViewPrivate::chooseFiles):
3414         * UIProcess/API/qt/qdesktopwebview.h:
3415         * UIProcess/API/qt/tests/tests.pri:
3416         * UIProcess/API/qt/tests/tests.pro:
3417         * UIProcess/qt/ViewInterface.h:
3418         * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
3419         (WebKit::WebPopupMenuProxyQtDesktop::WebPopupMenuProxyQtDesktop):
3420
3421 2011-09-27  Carlos Garcia Campos  <cgarcia@igalia.com>
3422
3423         [GTK] Rename WebKit2 GTK+ API main header as webkit2.h
3424         https://bugs.webkit.org/show_bug.cgi?id=65178
3425
3426         Reviewed by Martin Robinson.
3427
3428         * GNUmakefile.am: Add webkit2.h.
3429         * UIProcess/API/gtk/WebKitWebView.h:
3430         * UIProcess/API/gtk/webkit2.h: Renamed from Source/WebKit2/UIProcess/API/gtk/webkit/webkit.h.
3431         * webkit2gtk.pc.in: Use webkitgtk-<api-version> as include dir.
3432
3433 2011-09-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3434
3435         [Qt] Fix build of WebKit2 unit-tests after r96108
3436
3437         Reviewed by Andreas Kling.
3438
3439         * UIProcess/API/qt/tests/tests.pri:
3440
3441 2011-09-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3442
3443         [Qt] Fix build against Qt5 after refactor of widgets out of QtGUi
3444
3445         QWidget and friends now live in the QtWidgets library. We update
3446         includes in implementation files and private headers to us the
3447         non-module-prefixed path, and leave the lookup for the include
3448         path. For public headers we have to ifdef the includes as the
3449         user might now have the modules we need in his QT config.
3450
3451         Finally, QSGCanvas is no longer a QWidget but a QWindow, so we
3452         have to update our code and use windowHandle() for setting the
3453         parent relationships.
3454
3455         https://bugs.webkit.org/show_bug.cgi?id=68687
3456
3457         Reviewed by Andreas Kling.
3458
3459         * UIProcess/API/qt/qdesktopwebview.cpp:
3460         * UIProcess/API/qt/qdesktopwebview.h:
3461         * UIProcess/API/qt/tests/tests.pro:
3462         * UIProcess/qt/ViewInterface.h:
3463         * UIProcess/qt/WebPopupMenuProxyQtDesktop.cpp:
3464
3465 2011-09-26  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
3466
3467         [Qt][WK2] Add support for hover API in Qt WebKit2
3468         https://bugs.webkit.org/show_bug.cgi?id=68369
3469
3470         Reviewed by Andreas Kling.
3471
3472         Based on the patch from Igor Oliveira in the same bug.
3473
3474         Expose a linkHovered() signal in QDesktopWebView, that passes the QUrl and the
3475         QString corresponding to the link title. I left textContent out because was
3476         unsure of its use case.
3477
3478         In QDesktopWebView we store the last URL and title emitted to make sure we send
3479         the signal only if either value changes. Tests were added to the QML element to
3480         check: if values are correctly emitted and if we don't emit more signa