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