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